{"version":3,"sources":["webpack:///$_lazy_route_resources|lazy|groupOptions: {}|namespace object","webpack:///src/app/Nweebaa-Update/confirmation-dialog/confirmation-dialog.component.ts","webpack:///src/app/Nweebaa-Update/image-dialog/image-dialog.component.ts","webpack:///src/app/Nweebaa-Update/table.service.ts","webpack:///src/app/Nweebaa-Update/table/table.component.ts","webpack:///src/app/Nweebaa-Update/upload-dialog/upload-dialog.component.ts","webpack:///src/app/Nweebaa-Update/upload.service.ts","webpack:///src/app/Nweebaa-Update/view-files-dialog/view-files-dialog.component.ts","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.module.ts","webpack:///src/app/core/api-handler.ts","webpack:///src/app/core/auth/auth-guard.service.ts","webpack:///src/app/core/auth/auth-interceptor.ts","webpack:///src/app/core/auth/auth.service.ts","webpack:///src/app/core/components/footer/footer.component.ts","webpack:///src/app/core/components/header/header.component.ts","webpack:///src/app/core/components/login/login.component.ts","webpack:///src/app/core/components/main/main.component.ts","webpack:///src/app/core/components/recover-password/recover-password.component.ts","webpack:///src/app/core/components/sidenav/sidenav.component.ts","webpack:///src/app/core/models/enums/account-type.ts","webpack:///src/app/core/models/enums/blood-group.ts","webpack:///src/app/core/models/enums/config-object.ts","webpack:///src/app/core/models/enums/document-type.ts","webpack:///src/app/core/models/enums/end-point.ts","webpack:///src/app/core/models/enums/gender.ts","webpack:///src/app/core/models/enums/language.ts","webpack:///src/app/core/models/enums/license-permit-class.ts","webpack:///src/app/core/models/enums/print-object.ts","webpack:///src/app/core/models/enums/role.ts","webpack:///src/app/core/models/enums/system-object.ts","webpack:///src/app/core/models/enums/transaction-type.ts","webpack:///src/app/core/models/enums/triptik-claim-status.ts","webpack:///src/app/core/models/validation.ts","webpack:///src/app/core/services/sidenav.service.ts","webpack:///src/app/core/url-serializer.service.ts","webpack:///src/app/features/accounts/containers/accounts/accounts.component.ts","webpack:///src/app/features/accounts/containers/manage-account/manage-account.component.ts","webpack:///src/app/features/accounts/containers/user-profile/user-profile.component.ts","webpack:///src/app/features/accounts/containers/view-account/view-account.component.ts","webpack:///src/app/features/accounts/services/accounts.service.ts","webpack:///src/app/features/issuing/_shared/containers/documents-revoke-requests/documents-revoke-requests.component.ts","webpack:///src/app/features/issuing/_shared/containers/expired-documents-query/expired-documents-query.component.ts","webpack:///src/app/features/issuing/_shared/containers/issued-documents-query/issued-documents-query.component.ts","webpack:///src/app/features/issuing/_shared/containers/verification/verification.component.ts","webpack:///src/app/features/issuing/_shared/services/documents-revoke-requests.datasource.ts","webpack:///src/app/features/issuing/_shared/services/issuing.service.ts","webpack:///src/app/features/issuing/int-licenses/components/commitment-print/commitment-print.component.ts","webpack:///src/app/features/issuing/int-licenses/components/int-license-print/int-license-print.component.ts","webpack:///src/app/features/issuing/int-licenses/containers/int-licenses/int-licenses.component.ts","webpack:///src/app/features/issuing/int-licenses/containers/manage-int-license/manage-int-license.component.ts","webpack:///src/app/features/issuing/int-licenses/containers/view-int-license/view-int-license.component.ts","webpack:///src/app/features/issuing/int-licenses/models/int-license.ts","webpack:///src/app/features/issuing/int-licenses/services/int-licenses.datasource.ts","webpack:///src/app/features/issuing/int-licenses/services/int-licenses.service.ts","webpack:///src/app/features/issuing/trip-tik/components/receipt-print/receipt-print.component.ts","webpack:///src/app/features/issuing/trip-tik/components/trip-tik-print/trip-tik-print.component.ts","webpack:///src/app/features/issuing/trip-tik/containers/manage-trip-tik/manage-trip-tik.component.ts","webpack:///src/app/features/issuing/trip-tik/containers/trip-tiks/trip-tiks.component.ts","webpack:///src/app/features/issuing/trip-tik/containers/view-trip-tik/view-trip-tik.component.ts","webpack:///src/app/features/issuing/trip-tik/models/create.cmd.ts","webpack:///src/app/features/issuing/trip-tik/models/trip-tik.ts","webpack:///src/app/features/issuing/trip-tik/services/trip-tiks.datasource.ts","webpack:///src/app/features/issuing/trip-tik/services/trip-tiks.service.ts","webpack:///src/app/features/lookups/containers/account-statuses/account-statuses.component.ts","webpack:///src/app/features/lookups/containers/account-types/account-types.component.ts","webpack:///src/app/features/lookups/containers/cities/cities.component.ts","webpack:///src/app/features/lookups/containers/countries/countries.component.ts","webpack:///src/app/features/lookups/containers/currencies/currencies.component.ts","webpack:///src/app/features/lookups/containers/customs-ports/customs-ports.component.ts","webpack:///src/app/features/lookups/containers/pursuing-zones/pursuing-zones.component.ts","webpack:///src/app/features/lookups/containers/stock-types/stock-types.component.ts","webpack:///src/app/features/lookups/containers/vehicle-colors/vehicle-colors.component.ts","webpack:///src/app/features/lookups/containers/vehicle-makes/vehicle-makes.component.ts","webpack:///src/app/features/lookups/containers/vehicle-models/vehicle-models.component.ts","webpack:///src/app/features/lookups/containers/vehicle-types/vehicle-types.component.ts","webpack:///src/app/features/lookups/services/account-statuses.ts","webpack:///src/app/features/lookups/services/account-types.ts","webpack:///src/app/features/lookups/services/cities.ts","webpack:///src/app/features/lookups/services/config.ts","webpack:///src/app/features/lookups/services/countries.ts","webpack:///src/app/features/lookups/services/currencies.ts","webpack:///src/app/features/lookups/services/customs-ports.service.ts","webpack:///src/app/features/lookups/services/pursuing-zones.ts","webpack:///src/app/features/lookups/services/stock-types.ts","webpack:///src/app/features/lookups/services/trip-tik-claims-statuses.service.ts","webpack:///src/app/features/lookups/services/vehicle-colors.ts","webpack:///src/app/features/lookups/services/vehicle-makes.ts","webpack:///src/app/features/lookups/services/vehicle-models.ts","webpack:///src/app/features/lookups/services/vehicle-types.ts","webpack:///src/app/features/security/containers/account-users/account-users.component.ts","webpack:///src/app/features/security/containers/manage-user/manage-user.component.ts","webpack:///src/app/features/security/containers/security-groups/security-groups.component.ts","webpack:///src/app/features/security/containers/users-groups/users-groups.component.ts","webpack:///src/app/features/security/models/security-groups.model.ts","webpack:///src/app/features/security/services/security.service.ts","webpack:///src/app/features/security/services/users-datasource.ts","webpack:///src/app/features/security/services/users.service.ts","webpack:///src/app/features/statistics/containers/dashboard/dashboard.component.ts","webpack:///src/app/features/statistics/services/statistics.service.ts","webpack:///src/app/features/stock/components/lic-transactions-print/lic-transactions-print.component.ts","webpack:///src/app/features/stock/components/stock-slider/stock-slider.component.ts","webpack:///src/app/features/stock/components/transaction-details-label/transaction-details-label.component.ts","webpack:///src/app/features/stock/components/trp-transactions-print/trp-transactions-print.component.ts","webpack:///src/app/features/stock/containers/populate/populate.component.ts","webpack:///src/app/features/stock/containers/stocks-available/stocks-available.component.ts","webpack:///src/app/features/stock/containers/stocks-totals/stocks-totals.component.ts","webpack:///src/app/features/stock/containers/transact/transact.component.ts","webpack:///src/app/features/stock/containers/transactions/transactions.component.ts","webpack:///src/app/features/stock/containers/undo-requests/undo-requests.component.ts","webpack:///src/app/features/stock/containers/undo-try/undo-try.component.ts","webpack:///src/app/features/stock/helpers/stocks-totals-datasource.ts","webpack:///src/app/features/stock/helpers/transactions-datasource.ts","webpack:///src/app/features/stock/helpers/undo-requests-datasource.ts","webpack:///src/app/features/stock/models/available-stocks.ts","webpack:///src/app/features/stock/models/transaction-type.enum.ts","webpack:///src/app/features/stock/models/undo-requests.ts","webpack:///src/app/features/stock/services/stocks.service.ts","webpack:///src/app/features/trip-tiks-claims/containers/manage-trip-tik-claim/manage-trip-tik-claim.component.ts","webpack:///src/app/features/trip-tiks-claims/containers/trip-tik-claim-attachments/trip-tik-claim-attachments.component.ts","webpack:///src/app/features/trip-tiks-claims/containers/trip-tiks-claims-logs/trip-tiks-claims-logs.component.ts","webpack:///src/app/features/trip-tiks-claims/containers/trip-tiks-claims/trip-tiks-claims.component.ts","webpack:///src/app/features/trip-tiks-claims/containers/update-status-trip-tik-claim/update-status-trip-tik-claim.component.ts","webpack:///src/app/features/trip-tiks-claims/containers/view-trip-tik-claim/view-trip-tik-claim.component.ts","webpack:///src/app/features/trip-tiks-claims/models/trip-tik-claim.model.ts","webpack:///src/app/features/trip-tiks-claims/services/trip-tiks-claims-logs.datasource.ts","webpack:///src/app/features/trip-tiks-claims/services/trip-tiks-claims.datasource.ts","webpack:///src/app/features/trip-tiks-claims/services/trip-tiks-claims.service.ts","webpack:///src/app/shared/components/alert/alert.component.ts","webpack:///src/app/shared/components/body-loader/body-loader.component.ts","webpack:///src/app/shared/components/breadcrumb/breadcrumb.component.ts","webpack:///src/app/shared/components/dialog/dialog.component.ts","webpack:///src/app/shared/components/modal/modal.component.ts","webpack:///src/app/shared/components/not-found/not-found.component.ts","webpack:///src/app/shared/components/under-construction/under-construction.component.ts","webpack:///src/app/shared/components/validation-error/validation-error.component.ts","webpack:///src/app/shared/directives/drag.directive.ts","webpack:///src/app/shared/directives/modal.directive.ts","webpack:///src/app/shared/helpers/config.resolver.ts","webpack:///src/app/shared/helpers/custom-date-adapter.ts","webpack:///src/app/shared/helpers/export-to-excel.ts","webpack:///src/app/shared/helpers/lang-paginator-intl.ts","webpack:///src/app/shared/helpers/populate-accounts-select.ts","webpack:///src/app/shared/helpers/translation.resolver.ts","webpack:///src/app/shared/models/default-alert-action.ts","webpack:///src/app/shared/models/modal.ts","webpack:///src/app/shared/pipes/array-map.pipe.ts","webpack:///src/app/shared/pipes/params-translate.pipe.ts","webpack:///src/app/shared/pipes/string-join.pipe.ts","webpack:///src/app/shared/services/alert.service.ts","webpack:///src/app/shared/services/breadcrumb.service.ts","webpack:///src/app/shared/services/custom-validators.ts","webpack:///src/app/shared/services/file-loader.service.ts","webpack:///src/app/shared/services/loading.ts","webpack:///src/app/shared/services/modal.service.ts","webpack:///src/app/shared/services/utils.ts","webpack:///src/app/shared/services/validation.service.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts","webpack:///node_modules/moment/locale|sync|/^/.*$","webpack:///src/app/Nweebaa-Update/image-dialog/image-dialog.component.ts?96bd","webpack:///src/app/Nweebaa-Update/table/table.component.scss","webpack:///src/app/Nweebaa-Update/upload-dialog/upload-dialog.component.scss","webpack:///src/app/Nweebaa-Update/view-files-dialog/view-files-dialog.component.scss","webpack:///src/app/app.component.scss","webpack:///src/app/core/components/footer/footer.component.scss","webpack:///src/app/core/components/header/header.component.scss","webpack:///src/app/core/components/login/login.component.scss","webpack:///src/app/core/components/main/main.component.scss","webpack:///src/app/core/components/recover-password/recover-password.component.scss","webpack:///src/app/core/components/sidenav/sidenav.component.scss","webpack:///src/app/features/accounts/containers/accounts/accounts.component.scss","webpack:///src/app/features/accounts/containers/manage-account/manage-account.component.scss","webpack:///src/app/features/accounts/containers/user-profile/user-profile.component.scss","webpack:///src/app/features/accounts/containers/view-account/view-account.component.scss","webpack:///src/app/features/issuing/_shared/containers/documents-revoke-requests/documents-revoke-requests.component.scss","webpack:///src/app/features/issuing/_shared/containers/expired-documents-query/expired-documents-query.component.scss","webpack:///src/app/features/issuing/_shared/containers/issued-documents-query/issued-documents-query.component.scss","webpack:///src/app/features/issuing/_shared/containers/verification/verification.component.scss","webpack:///src/app/features/issuing/int-licenses/components/commitment-print/commitment-print.component.scss","webpack:///src/app/features/issuing/int-licenses/components/int-license-print/int-license-print.component.scss","webpack:///src/app/features/issuing/int-licenses/containers/int-licenses/int-licenses.component.scss","webpack:///src/app/features/issuing/int-licenses/containers/manage-int-license/manage-int-license.component.scss","webpack:///src/app/features/issuing/int-licenses/containers/view-int-license/view-int-license.component.scss","webpack:///src/app/features/issuing/trip-tik/components/receipt-print/receipt-print.component.scss","webpack:///src/app/features/issuing/trip-tik/components/trip-tik-print/trip-tik-print.component.scss","webpack:///src/app/features/issuing/trip-tik/containers/manage-trip-tik/manage-trip-tik.component.scss","webpack:///src/app/features/issuing/trip-tik/containers/trip-tiks/trip-tiks.component.scss","webpack:///src/app/features/issuing/trip-tik/containers/view-trip-tik/view-trip-tik.component.scss","webpack:///src/app/features/lookups/containers/account-statuses/account-statuses.component.scss","webpack:///src/app/features/lookups/containers/account-types/account-types.component.scss","webpack:///src/app/features/lookups/containers/cities/cities.component.scss","webpack:///src/app/features/lookups/containers/countries/countries.component.scss","webpack:///src/app/features/lookups/containers/currencies/currencies.component.scss","webpack:///src/app/features/lookups/containers/customs-ports/customs-ports.component.scss","webpack:///src/app/features/lookups/containers/pursuing-zones/pursuing-zones.component.scss","webpack:///src/app/features/lookups/containers/stock-types/stock-types.component.scss","webpack:///src/app/features/lookups/containers/vehicle-colors/vehicle-colors.component.scss","webpack:///src/app/features/lookups/containers/vehicle-makes/vehicle-makes.component.scss","webpack:///src/app/features/lookups/containers/vehicle-models/vehicle-models.component.scss","webpack:///src/app/features/lookups/containers/vehicle-types/vehicle-types.component.scss","webpack:///src/app/features/security/containers/account-users/account-users.component.scss","webpack:///src/app/features/security/containers/manage-user/manage-user.component.scss","webpack:///src/app/features/security/containers/security-groups/security-groups.component.scss","webpack:///src/app/features/security/containers/users-groups/users-groups.component.scss","webpack:///src/app/features/statistics/containers/dashboard/dashboard.component.scss","webpack:///src/app/features/stock/components/lic-transactions-print/lic-transactions-print.component.scss","webpack:///src/app/features/stock/components/stock-slider/stock-slider.component.scss","webpack:///src/app/features/stock/components/transaction-details-label/transaction-details-label.component.scss","webpack:///src/app/features/stock/components/trp-transactions-print/trp-transactions-print.component.scss","webpack:///src/app/features/stock/containers/populate/populate.component.scss","webpack:///src/app/features/stock/containers/stocks-available/stocks-available.component.scss","webpack:///src/app/features/stock/containers/stocks-totals/stocks-totals.component.scss","webpack:///src/app/features/stock/containers/transact/transact.component.scss","webpack:///src/app/features/stock/containers/transactions/transactions.component.scss","webpack:///src/app/features/stock/containers/undo-requests/undo-requests.component.scss","webpack:///src/app/features/stock/containers/undo-try/undo-try.component.scss","webpack:///src/app/features/trip-tiks-claims/containers/manage-trip-tik-claim/manage-trip-tik-claim.component.scss","webpack:///src/app/features/trip-tiks-claims/containers/trip-tik-claim-attachments/trip-tik-claim-attachments.component.scss","webpack:///src/app/features/trip-tiks-claims/containers/trip-tiks-claims-logs/trip-tiks-claims-logs.component.scss","webpack:///src/app/features/trip-tiks-claims/containers/trip-tiks-claims/trip-tiks-claims.component.scss","webpack:///src/app/features/trip-tiks-claims/containers/update-status-trip-tik-claim/update-status-trip-tik-claim.component.scss","webpack:///src/app/features/trip-tiks-claims/containers/view-trip-tik-claim/view-trip-tik-claim.component.scss","webpack:///src/app/shared/components/alert/alert.component.scss","webpack:///src/app/shared/components/body-loader/body-loader.component.scss","webpack:///src/app/shared/components/breadcrumb/breadcrumb.component.scss","webpack:///src/app/shared/components/dialog/dialog.component.scss","webpack:///src/app/shared/components/not-found/not-found.component.scss","webpack:///src/app/shared/components/under-construction/under-construction.component.scss","webpack:///src/app/shared/components/validation-error/validation-error.component.scss","webpack:///src/app/Nweebaa-Update/table/table.component.html","webpack:///src/app/Nweebaa-Update/upload-dialog/upload-dialog.component.html","webpack:///src/app/Nweebaa-Update/view-files-dialog/view-files-dialog.component.html","webpack:///src/app/app.component.html","webpack:///src/app/core/components/footer/footer.component.html","webpack:///src/app/core/components/header/header.component.html","webpack:///src/app/core/components/login/login.component.html","webpack:///src/app/core/components/main/main.component.html","webpack:///src/app/core/components/recover-password/recover-password.component.html","webpack:///src/app/core/components/sidenav/sidenav.component.html","webpack:///src/app/features/accounts/containers/accounts/accounts.component.html","webpack:///src/app/features/accounts/containers/manage-account/manage-account.component.html","webpack:///src/app/features/accounts/containers/user-profile/user-profile.component.html","webpack:///src/app/features/accounts/containers/view-account/view-account.component.html","webpack:///src/app/features/issuing/_shared/containers/documents-revoke-requests/documents-revoke-requests.component.html","webpack:///src/app/features/issuing/_shared/containers/expired-documents-query/expired-documents-query.component.html","webpack:///src/app/features/issuing/_shared/containers/issued-documents-query/issued-documents-query.component.html","webpack:///src/app/features/issuing/_shared/containers/verification/verification.component.html","webpack:///src/app/features/issuing/int-licenses/components/commitment-print/commitment-print.component.html","webpack:///src/app/features/issuing/int-licenses/components/int-license-print/int-license-print.component.html","webpack:///src/app/features/issuing/int-licenses/containers/int-licenses/int-licenses.component.html","webpack:///src/app/features/issuing/int-licenses/containers/manage-int-license/manage-int-license.component.html","webpack:///src/app/features/issuing/int-licenses/containers/view-int-license/view-int-license.component.html","webpack:///src/app/features/issuing/trip-tik/components/receipt-print/receipt-print.component.html","webpack:///src/app/features/issuing/trip-tik/components/trip-tik-print/trip-tik-print.component.html","webpack:///src/app/features/issuing/trip-tik/containers/manage-trip-tik/manage-trip-tik.component.html","webpack:///src/app/features/issuing/trip-tik/containers/trip-tiks/trip-tiks.component.html","webpack:///src/app/features/issuing/trip-tik/containers/view-trip-tik/view-trip-tik.component.html","webpack:///src/app/features/lookups/containers/account-statuses/account-statuses.component.html","webpack:///src/app/features/lookups/containers/account-types/account-types.component.html","webpack:///src/app/features/lookups/containers/cities/cities.component.html","webpack:///src/app/features/lookups/containers/countries/countries.component.html","webpack:///src/app/features/lookups/containers/currencies/currencies.component.html","webpack:///src/app/features/lookups/containers/customs-ports/customs-ports.component.html","webpack:///src/app/features/lookups/containers/pursuing-zones/pursuing-zones.component.html","webpack:///src/app/features/lookups/containers/stock-types/stock-types.component.html","webpack:///src/app/features/lookups/containers/vehicle-colors/vehicle-colors.component.html","webpack:///src/app/features/lookups/containers/vehicle-makes/vehicle-makes.component.html","webpack:///src/app/features/lookups/containers/vehicle-models/vehicle-models.component.html","webpack:///src/app/features/lookups/containers/vehicle-types/vehicle-types.component.html","webpack:///src/app/features/security/containers/account-users/account-users.component.html","webpack:///src/app/features/security/containers/manage-user/manage-user.component.html","webpack:///src/app/features/security/containers/security-groups/security-groups.component.html","webpack:///src/app/features/security/containers/users-groups/users-groups.component.html","webpack:///src/app/features/statistics/containers/dashboard/dashboard.component.html","webpack:///src/app/features/stock/components/lic-transactions-print/lic-transactions-print.component.html","webpack:///src/app/features/stock/components/stock-slider/stock-slider.component.html","webpack:///src/app/features/stock/components/transaction-details-label/transaction-details-label.component.html","webpack:///src/app/features/stock/components/trp-transactions-print/trp-transactions-print.component.html","webpack:///src/app/features/stock/containers/populate/populate.component.html","webpack:///src/app/features/stock/containers/stocks-available/stocks-available.component.html","webpack:///src/app/features/stock/containers/stocks-totals/stocks-totals.component.html","webpack:///src/app/features/stock/containers/transact/transact.component.html","webpack:///src/app/features/stock/containers/transactions/transactions.component.html","webpack:///src/app/features/stock/containers/undo-requests/undo-requests.component.html","webpack:///src/app/features/stock/containers/undo-try/undo-try.component.html","webpack:///src/app/features/trip-tiks-claims/containers/manage-trip-tik-claim/manage-trip-tik-claim.component.html","webpack:///src/app/features/trip-tiks-claims/containers/trip-tik-claim-attachments/trip-tik-claim-attachments.component.html","webpack:///src/app/features/trip-tiks-claims/containers/trip-tiks-claims-logs/trip-tiks-claims-logs.component.html","webpack:///src/app/features/trip-tiks-claims/containers/trip-tiks-claims/trip-tiks-claims.component.html","webpack:///src/app/features/trip-tiks-claims/containers/update-status-trip-tik-claim/update-status-trip-tik-claim.component.html","webpack:///src/app/features/trip-tiks-claims/containers/view-trip-tik-claim/view-trip-tik-claim.component.html","webpack:///src/app/shared/components/alert/alert.component.html","webpack:///src/app/shared/components/body-loader/body-loader.component.html","webpack:///src/app/shared/components/breadcrumb/breadcrumb.component.html","webpack:///src/app/shared/components/dialog/dialog.component.html","webpack:///src/app/shared/components/modal/modal.component.html","webpack:///src/app/shared/components/not-found/not-found.component.html","webpack:///src/app/shared/components/under-construction/under-construction.component.html","webpack:///src/app/shared/components/validation-error/validation-error.component.html","webpack:///ignored|F:\\Mac Source Codes\\Offline System FULL\\Offline Frontend License\\mac-sys-wfe\\node_modules\\xlsx|crypto","webpack:///ignored|F:\\Mac Source Codes\\Offline System FULL\\Offline Frontend License\\mac-sys-wfe\\node_modules\\xlsx|fs","webpack:///ignored|F:\\Mac Source Codes\\Offline System FULL\\Offline Frontend License\\mac-sys-wfe\\node_modules\\xlsx|stream"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","id","module","exports","ConfirmationDialogComponent","dialogRef","data","close","MatDialogRef","Inject","MAT_DIALOG_DATA","Component","selector","template","ImageDialogComponent","TableService","http","apiUrl","apiUrl2","get","pipe","map","response","$values","responseType","tripTikDocumentId","HttpClient","Injectable","providedIn","TableComponent","fb","tableService","dialog","auth","translate","loader","displayedColumns","editingRowId","langIndex","Role","currentLang","Language","onLangChange","subscribe","t","lang","load","LoaderType","formInit","console","log","loadData","getData","dataSource","MatTableDataSource","paginator","sort","event","filterValue","target","value","filter","trim","toLowerCase","firstPage","generateNweeba","printImage","generateImage","imageData","imageName","url","URL","createObjectURL","img","Image","src","onload","w","window","open","document","write","type","filename","blob","Blob","a","createElement","href","download","click","revokeObjectURL","checkFiles","exists","width","message","afterClosed","result","UploadDialogComponent","ViewFilesDialogComponent","files","form","group","serial","created","createdBy","FormBuilder","MatDialog","AuthService","TranslateService","LoadingService","ViewChild","MatPaginator","MatSort","uploadService","snackBar","$event","prepareFilesList","item","push","uploadFiles","duration","error","index","splice","UploadService","MatSnackBar","formData","FormData","forEach","file","append","name","post","filePath","fileName","split","pop","encodeURIComponent","imageSrc","generateDownloadLink","routes","path","title","component","VerificationComponent","redirectTo","LoginComponent","x","TranslationResolver","runGuardsAndResolvers","RecoverPasswordComponent","pathMatch","canActivate","MainComponent","z","ConfigResolver","children","DashboardComponent","securityRoles","CountriesComponent","CitiesComponent","AccountStatusesComponent","StockTypesComponent","VehicleColorsComponent","VehicleMakesComponent","VehicleTypesComponent","VehicleModelsComponent","CurrenciesComponent","CustomsPortsComponent","PursuingZonesComponent","StocksTotalsComponent","StocksAvailableComponent","mode","TransactionsComponent","TransactComponent","PopulateComponent","UndoTryComponent","UndoRequestsComponent","AccountsComponent","ViewAccountComponent","ManageAccountComponent","SecurityGroupsComponent","AccountUsersComponent","ManageUserComponent","UsersGroupsComponent","IssuedDocumentsQueryComponent","DocumentsRevokeRequestsComponent","IntLicensesComponent","ViewIntLicenseComponent","ManageIntLicenseComponent","TripTiksComponent","ViewTripTikComponent","ManageTripTikComponent","TripTiksClaimsComponent","ViewTripTikClaimComponent","TripTikClaimAttachmentsComponent","UpdateStatusTripTikClaimComponent","ManageTripTikClaimComponent","TripTiksClaimsLogsComponent","UserProfileComponent","NotFoundComponent","AppRoutingModule","NgModule","imports","RouterModule","onSameUrlNavigation","AppComponent","titleService","breadcrumbService","route","router","loading","styleLoading","setDefaultLang","loggedin","status","navLoading","Title","BreadcrumbService","ActivatedRoute","Router","providers","StaticConfig","HttpLoaderFactory","TranslateHttpLoader","environment","appInitializerFactory","injector","locationInitialized","LOCATION_INITIALIZED","langToSet","use","err","AppModule","declarations","HeaderComponent","SidenavComponent","FooterComponent","BreadcrumbComponent","AccountTypesComponent","DialogComponent","UnderConstructionComponent","ConfirmTemplateDirective","ConfirmModalComponent","BodyLoaderComponent","StockSliderComponent","ValidationErrorComponent","AlertComponent","ParamsTranslatePipe","LicTransactionsPrintComponent","TrpTransactionsPrintComponent","DragDirective","IntLicensePrintComponent","CommitmentPrintComponent","TripTikPrintComponent","ReceiptPrintComponent","StringJoinPipe","ArrayMapPipe","ExpiredDocumentsQueryComponent","TransactionDetailsLabelComponent","BrowserModule","BrowserAnimationsModule","NgbModule","HttpClientModule","A11yModule","CdkStepperModule","MatDialogModule","CdkTableModule","CdkTreeModule","DragDropModule","MatAutocompleteModule","MatBadgeModule","MatBottomSheetModule","MatButtonModule","MatButtonToggleModule","MatCardModule","MatCheckboxModule","MatChipsModule","MatStepperModule","MatDatepickerModule","MomentDateModule","MatDividerModule","MatExpansionModule","MatGridListModule","MatIconModule","MatInputModule","MatListModule","MatMenuModule","MatNativeDateModule","MatPaginatorModule","MatProgressBarModule","MatProgressSpinnerModule","MatRadioModule","MatRippleModule","MatSelectModule","MatSidenavModule","MatSliderModule","MatSlideToggleModule","MatSnackBarModule","MatSortModule","MatTableModule","MatTabsModule","MatToolbarModule","MatTooltipModule","MatTreeModule","PortalModule","ScrollingModule","FormsModule","ReactiveFormsModule","LightboxModule","ChartsModule","LoggerModule","serverLoggingUrl","level","NgxLoggerLevel","serverLogLevel","TranslateModule","provide","TranslateLoader","useFactory","deps","defaultLanguage","NgxPrintModule","NgxKjuaModule","NgSelectModule","ColorPickerModule","ApiHandler","httpInterceptorProviders","UrlSerializer","useClass","UrlSerializerService","MAT_SNACK_BAR_DEFAULT_OPTIONS","useValue","MAT_MOMENT_DATE_ADAPTER_OPTIONS","useUtc","MAT_DATE_LOCALE","MAT_DATE_FORMATS","parse","dateInput","display","monthYearLabel","dateA11yLabel","monthYearA11yLabel","DateAdapter","CustomDateAdapter","AuthGuardService","SidenavService","MatPaginatorIntl","LangMatPaginatorIntl","ValidationService","ConfirmService","ConfirmState","AlertService","bootstrap","httpOptions","headers","HttpHeaders","body","observe","withCredentials","reportProgress","params","HttpOptions","alert","_apiBaseUrl","store","_lang","set","username","password","EndPoint","errorMessage","ErrorEvent","messages","key","_error","location","throwError","dto","_url","JSON","stringify","Boolean","catchError","handleError","bind","queryParams","localized","undefined","Array","isArray","p","Object","entries","Number","indexOf","tap","object","args","length","put","_route","state","isAuthenticated","role","currentUser","isInRole","navigate","returnUrl","AuthInterceptor","next","idToken","localStorage","getItem","isTokenExpired","cloned","clone","handle","HTTP_INTERCEPTORS","multi","login","res","setSession","shareReplay","toPromise","recoverPassword","resetPassword","authResult","expiresAt","expiry","setItem","token","valueOf","authActivity","dToken","userId","isSystemAccount","isAdministrator","userTitles","accountId","parentAccountId","accountTitles","accountTypeId","claimsCountries","r","intLicenseAllowedValidity","accountTypeTitles","roles","AccountType","isInAnyOfRoles","some","includes","isBefore","getExpiration","expiration","removeItem","complete","Subject","userMeta","year","format","zone","authService","switchLangEnabled","authenticated","join","initialNavigation","NgZone","head","getElementsByTagName","setAttribute","styleFileName","themeLink","getElementById","style","rel","prepend","l","loadStyle","setTimeout","valid","Utils","disable","snapshot","queryParamMap","navigateByUrl","enable","HttpErrorResponse","Validators","rememberMe","Document","DOCUMENT","renderer","elm","sidenavService","opened","mobileView","ua","navigator","userAgent","test","paramMap","prefix","events","NavigationEnd","_titles","_titlesLinks","child","_path","instant","firstChild","getAccountType","root","setLinks","ttl","setTitle","bodyLoading","sidenav","toggle","content","getElementRef","nativeElement","classList","removeClass","addClass","Renderer2","ElementRef","view","email","pass","passwordConfirm","validator","comparePasswords","forgotPassword","success","failure","replace","service","userService","defaultAvatar","user","avatar","u","getUserMeta","_avatar","o","slib","querySelectorAll","element","contains","links","link","addEventListener","linkClick","querySelector","UsersService","BloodGroup","ConfigObject","_DocumentType","Gender","IntLicensePermitClass","PrintObject","SystemObject","TransactionType","TripTikClaimStatus","ValidationDto","defaultSerializer","DefaultUrlSerializer","lastSlashIndex","lastIndexOf","equalSignIndex","keyValArr","substr","urlTree","segments","segment","tree","serialize","confirmService","tooltipInfo","accountTypes","badgeClasses","accountUsersCount","usersCount","getLevel","node","isExpandable","expandable","hasChild","_","_nodeData","hasChildren","currentAccountId","treeControl","FlatTreeControl","DynamicDataSource","remove","updateAllowed","deleteAllowed","createAllowed","usersDisplay","initialData","find","d","stockTypes","drivingLicense","triptikDocument","from","Set","documentType","checked","isActiveChange","i","modal","confirm","DeleteModal","confirmQuestion","titles","toString","note","dangerNote","m","deleteAccount","dataChange","DefaultAlertAction","row","active","_data","UpdateModal","action","submitText","findIndex","n","updateStatus","isActive","parentId","_updateNodeStatus","updateAccountStatus","dataMap","clear","filterText","AccountsService","AccountTypesService","constructor","countriesService","citiesService","stockTypesService","accountTypeService","usersService","fileLoader","_stockTypes","uroStockTypes","_parentAccounts","users","accountForm","ngOnInit","_this","_asyncToGenerator","getURO","list","getAccountUsers","countries","at","getAllowed","getAccount","account","documentTypes","onlyUnique","parentAccounts","patchValue","countryId","city","cityId","phoneNumber","isSMSEnabled","cities","attachments","_ref","att","loadAsync","_x","_x2","apply","arguments","fetchStockTypes","accountType","setValue","self","getBadgeClass","fetchCities","reset","_this2","isUnifiedRelease","y","onSubmit","setErrors","cmd","createAccount","updateAccount","array","nonEnglishCharactersValidator","nonArabicCharactersValidator","phoneNumberValidator","adminAccount","control","usernameValidator","validateUsernameNotTaken","attachmentFormInit","addAttachment","removeAttachment","removeAt","preview","tgt","srcElement","FileReader","fr","readAsDataURL","fileDropped","CountriesService","CitiesService","StockTypesService","FileLoaderService","__decorate","__NG_CLI_RESOURCE__0","profileForm","fetchUserProfile","getUserProfile","imageURL","cashedProfileData","names","changingPassword","updateMode","newPassword","newPasswordConfirm","profile","updateUserProfile","canvas","getContext","drawImage","toDataURL","disabled","numbersOnlyValidator","newPass","reverse","slice","DynamicFlatNode","isLoading","_treeControl","_database","BehaviorSubject","dataNodes","connect","collectionViewer","expansionModel","changed","change","added","removed","handleTreeControl","merge","viewChange","disconnect","toggleNode","expand","getChildren","nodes","_node","count","api","Map","rootLevelNodes","getChildrenAccounts","accounts","has","values","getAccounts","getPossibleParentAccounts","getChildrenAccountsLookup","isActiveOnly","create","update","issuingService","moment","undoRequestStatusLocale","UndoRequestStatus","direction","pageSize","DocumentsRevokeRequestsDataSource","loadDocumentsRevokeRequests","counter$","page","sortChange","fromEvent","filterBtn","stockType","valueChange","pageIndex","dir","approve","requestedBy","submitClass","isDamaged","inputNote","resolveRequest","all","getDocumentsRevokeRequests","exportToExcel","revokeRequests","unsubscribe","resolveTryRevokeDocument","revokeRequestsSubject","undoRequestStatus","resolvedBy","resolveNote","wscols","autofilter","ref","rows","requestReason","resolved","IssuingService","MatSelect","stockTypeId","passportIDorIdentityID","isPosted","isCloneAvailable","clearValidators","setValidators","vPlateID","vChassisID","updateValueAndValidity","query","searchForIssuedDocument","isValid","verify","countSubject","asObservable","pagination","of","finalize","attachment","changingThisBreaksApplicationSecurity","request","accountParentAccounts","populateAccountsSelect","recordsCount","elRef","print","issueDate","issued","Date","printHtmlContent","innerHTML","v","h","rh","printObject","qRCodeUrl","hashedSerial","intLicensesService","accountsService","Math","searchForm","advancedSearchMode","activeFilters","emit","fromDate","toDate","gender","nationalityId","passportID","permitClass","isIssued","isNaN","parseInt","fetchData","ngAfterViewInit","loadIntLicenses","relativeTo","replaceUrl","IntLicensesDataSource","toggleAdvancedSearch","filterList","printObjectsCount","cancel","_cancel","delete","_this3","_ref2","_delete","tryRevoke","_this4","revokeRequestId","requestType","_ref3","_tryRevoke","_cancelTryRevoke","_x3","objectId","attributes","reason","tryRevokeDocument","IntLicensesSubject","cancelTryRevokeDocument","cancelDocument","onExportToExcel","param","printLogs","_temp","resetSearch","IntLicensesService","static","stocksService","intLicenseService","IntLicenseDetailsDto","_loadingGif","dateFormat","videoConstraints","video","facingMode","ideal","height","videoWidth","videoHeight","keyword","_validityYears","zeroPad","num","places","String","padStart","availableSerials","getByHashedSerial","intLicense","onSelectStockType","unshift","tockTypeId","controls","ctrl","checkValidityYears","validityYears","getAvailableStocks","stockTypesAvailableStocks","availableStock","markAsUntouched","removeImage","markAsTouched","startCamera","mediaDevices","getUserMedia","stream","camStream","attachVideo","isCamStreaming","capture","setProperty","videoElement","_stopCamera","stopCamera","pause","removeAttribute","getTracks","track","stop","listen","isExpired","expiryDate","now","toISODate","date","getFullYear","getMonth","getDate","dateOfBirth","dataAccuracyAcknowledgment","englishAndSpacesValidator","passportIdOrIdentityIdValidator","bloodGroup","accordingToId","permitClasses","spreadRanges","ranges","s","_start","_end","StocksService","defaultImage","maxPrintLimit","intLicenseId","qRCodeImg","documentTemplateVersion","displayPreview","getTranslatedTemplateVersion","version","isPrintable","comPrintElm","_print","hash","add","subtract","printElm","_issueDate","_expiryDate","canvas1","ctx","lic","textAlign","font","fillText","nationalityTitles","countryTitles","accordingToTitles","abs","photo","radius","save","beginPath","moveTo","lineTo","quadraticCurveTo","closePath","clip","restore","qr","ptt","globalAlpha","ptrn","createPattern","fillStyle","fillRect","canvas1Thumb","thumbCtx","canvas2","stk","rect","canvas2Thumb","stringJoin","_colors","_makeModel","_options","empty","vOptions","vehicle","options","opt","colors","transform","model","make","drivers","customer","cOwnerInfo","owner","address","item1","item2","upholsteryType","vUpholsteryType","tripTiksService","currenciesService","vehicleColorsService","vehicleMakesService","vehicleModelsService","vehicleTypesService","vehicleRegistrationCountries","currencies","vehicleColors","vehicleModels","vehicleMakes","vehicleTypes","vehicleUpholsteryTypes","vehicleSpareTiresCountOptions","vehicleCylindersCountRange","vehicleManufactureYearRange","vehicleSeatsCountRange","vehicleOptions","TripTikDetailsDto","steps","step1","step2","step3","startYearConfig","getUTCFullYear","FormControl","vCurrency","stepper","_stepHeader","_getHostElement","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","vehicleRegistration","c","addDriver","removeDriver","fetchModels","vModel","abbreviation","vRegistrationCountry","selectedIndex","selected","stepControl","grp","_attachments","PostTripTikCmd","addressValidator","vehicleSeatsCountRangeValidator","vehicleManufactureYearRangeValidator","vehicleWeightInKGRangeValidator","vehicleCylindersCountRangeValidator","vehicleHorsePowerRangeValidator","vehicleValueRangeValidator","_passportIdOrIdentityIdValidator","cPassportID","cIdentityID","authorization","TripTiksService","CurrenciesService","VehicleColorsService","VehicleMakesService","VehicleModelsService","VehicleTypesService","MatStepper","cResidenceCountryId","cIdentityOrPassportID","cPhoneNumber","vTypeId","vMakeId","vModelId","vManufactureYear","cName","vRegistrationCountryId","_vRegistrationCountryId","onSelectVehicleMake","TripTiksDataSource","obj","arr","TripTiksSubject","initForm","tripTikId","fetchAttachments","issueDatePicker","expireDatePicker","isMigratedData","onDateChange","onDateChangeExpiry","receiptPrintElm","_title","parent","_i","isoDate","payload","_ref4","_x4","_this5","fcCanvas","fcImage","registrationCountryTitles","fcCanvasThumb","bcThumbCtx","ipCanvas","ipImage","makeModel","bcCanvasThumb","bcCanvas","bcImage","cNationalityId","cLocalAddress","cLocalPhoneNumber","cIntPhoneNumber","cIntAddress","cDrivers","cAttachments","vSeatsCount","vSpareTiresCount","vEquipments","vValue","vCurrencyId","vWeightInKG","vHorsePower","vColors","vCylindersCount","vEngineID","vExtras","TripTikCustomerDto","TripTikVehicleDto","TripTikOwnerDto","residenceCountryTitles","makeTitles","deletingRowId","shift","edit","as","standardLocalizedControlValidators","AccountStatusesService","HostListener","maxId","parentTitles","countryServie","validators","_countries","newDto","submitted","logger","dialingCode","englishOnlyValidator","NGXLogger","CustomsPortsService","PursuingZonesService","rangeMin","rangeMax","hexColor","vehicleMakeService","makes","_makes","toggleUpdateMode","config","configObj","keyValuePairs","pair","keyValuePair","transactAllowedOnly","TripTikClaimsStatusesService","UsersDataSource","loadUsers","filterWithAccount","tryDelete","tryUpdateStatus","UsersSubject","deleteUser","updateUserStatus","Location","activatedRoute","securityService","customsPortsService","groups","_claimsCountries","claimsSystemGroupId","userForm","getAccountGroupsLookup","customsPorts","getUserData","isClaimsApplicable","cashedUserData","securityGroups","onGroupSelectionChange","isClaimsGroupSelected","changePassword","warn","updateUserData","createUser","SecurityService","securityActions","SecurityRolesVm","selections","formEnabled","navigation","getCurrentNavigation","objectsCol","securityGroupForm","getAccountRoles","getAccountGroups","groupId","onSelectGroup","_group","SecurityGroupDto","availableActions","objectsActions","isSystemGroup","addCheckboxes","clearSelections","matrixIndex","formArray","objAct","actions","actionId","securityObject","cellToggle","selectedGroup","g","SelectionModel","replaceState","isColSelected","getActionIndex","numSelected","numRows","isRowSelected","isSelected","colToggle","colSelected","select","deselect","totalSelected","total","exit","oa","deleteAccountGroup","groupIndex","mapCheckboxes","_form","createAccountGroup","navigationExtras","isDelete","updateAccountGroup","formArr","_actions","val","_action","undo","getUsersSecurityGroups","vm","cashedVm","usersGroups","availableGroups","getGroupIndex","usersGroupsForm","updateUsersSecurityGroups","UsersSecurityGroupsVm","ug","descriptions","SecurityGroupsVm","SecurityGroupsLookupVm","UserSecurityGroupsDto","UserDto","SecurityGroupLookupDto","ObjectActionDto","validateGroupTitle","language","ParentsSubject","getUsers","duplicatedUsername","objectType","validate","statisticsService","lineChartData","lineChartLabels","lineChartOptions","responsive","annotation","lineChartColors","borderColor","backgroundColor","lineChartLegend","lineChartType","lineChartPlugins","parentElement","StatisticsService","transaction","transactionLevel","fromAccountId","toAccountId","receiptTemplate","Range","transactionDetails","startRange","countMin","_range","_rangeCount","slider","start","tooltips","animate","animationDuration","step","range","noUiSlider","on","fromRange","toRange","updateOptions","_rangeEnable","selectedStock","countMax","resetSlider","Input","confirmation","documentTemplateVersions","reasons","populate","alertClass","operation","DisplayModal","availableStockHTML","quantity","loadSystemAvailableStock","customReason","isPermanentDelete","_populate","getSystemAvailableStocks","renderAvailableStockAsHTML","singles","html","systemView","availableStocks","sumAvailableStocks","sumAvailableStocksFilter","serialStatus","onSerialStatusChange","checkBoxChange","available","tabGroup","stockTypeData","_row","StockTotalsDataSource","loadStockTotals","getStockTotals","accountsStocksTotals","stockTypesStocksTotals","received","transfered","returned","transferedUndone","remainingStocks","fromAccounts","defaultStock","onSelectFromAccount","toAccounts","func","_accounts","onSelectToAccount","toAccount","loadAvailableStock","stock","renderAvailableStock","onSelectRange","fromAccount","sourceId","targetId","transact","AvailableStock","transactionTypeLocale","transactionTypes","reduce","b","transactionType","TransactionsDataSource","loadTransactions","licPrintElm","trpPrintElm","stockTransactions","fromAccountTitles","toAccountTitles","UndoRequestsDataSource","loadUndoRequests","transactionId","getUndoRequests","undoRequests","resolveUndo","undoRequestsSubject","_reason","_customReason","tryUndo","StockTotalsSubject","accountStocksTotals","TransactionsSubject","systemAccountLabel","fromAccountParentAccounts","toAccountParentAccounts","AvailableStocksVm","StockTypeAvailableStocksDto","UndoRequestsVm","UndoRequestDto","_key","Rejected","New","Approved","Removed","gaps","threshold","pursuingZonesService","triptiksClaimsService","pursuingZones","_customsPorts","fetchCustomsPorts","customsPort","entranceID","entranceDate","customsPortId","pursuingZoneId","holderName","triptikNameValidator","holderAddress","holderPhone","TripTiksClaimsService","tripTiksClaimsService","tripTikClaimId","getClaimAttachments","tripTikClaimEntranceID","tripTikClaimsStatusesService","statuses","vehiclePlateID","latestStatusId","loadTripTiksClaimsLogs","TripTiksClaimsLogsDataSource","baseStatuses","nodeStatuses","statusId","fromEntranceDate","toEntranceDate","baseStatusId","_stockTypeId","_countryId","_customsPortId","onSelectCountry","filterWithStatusId","filterWithPursuingZoneId","TripTiksClaimsDataSource","TripTiksClaimsSubject","onSelectStatus","country","pursuingZone","latestStatus","TripTikClaimDto","baseStatus","payment","paymentFormInit","addControl","onSelectNestedStatus","removeControl","TripTikClaimDetailsDto","logs","TripTiksClaimsLogsSubject","MAT_SNACK_BAR_DATA","invalid","dismiss","readerEvt","validation","isOpen","animationState","propertyName","errors","hasOwnProperty","touched","getValidatorErrorMessage","animations","trigger","transition","keyframes","offset","sanitizer","EventEmitter","background","border","evt","preventDefault","currentTarget","dataTransfer","_name","container","DomSanitizer","Output","HostBinding","Directive","TemplateRef","PICK_FORMATS","month","day","str","timestamp","displayFormat","UTC","getHours","getMinutes","getSeconds","getMilliseconds","assign","timeZone","dtf","Intl","DateTimeFormat","locale","NativeDateAdapter","rtl","ws","wb","Workbook","Views","RTL","getRangeLabel","max","startIndex","endIndex","min","getAndInitTranslations","translation","itemsPerPageLabel","nextPageLabel","previousPageLabel","firstPageLabel","lastPageLabel","changes","property","cancelText","input","Pipe","newObject","first","_snackBar","part","_message","panelClass","verticalPosition","openFromComponent","_links","NON_ENGLISH_REGEX","NON_ARABIC_REGEX","ENGLISH_ONLY_REGEX","ENGLISH_AND_SPACES_REGEX","NUMBERS_ONLY_REGEX","USERNAME_REGEX","RangeValidation","vehicleWeightInKG","vehicleHorsePower","vehicleCylindersCount","vehicleManufactureYear","vehicleSeatsCount","vehicleSpareTiresCount","vehicleValue","ADDRESS_REGEX","PASSPORT_ID_OR_IDENTITY_ID_REGEX","EMAIL_REGEX","PHONE_NO_REGEX","TRIPTIK_NAME_REGEX","invalidVehicleWeightInKGRange","invalidVehicleHorsePowerRange","invalidVehicleCylindersCountRange","invalidVehicleManufactureYearRange","invalidVehicleSeatsCountRange","vehicleSpareTiresCountRangeValidator","invalidVehicleSpareTiresCountRange","invalidVehicleValueRange","nonEnglishOnly","nonArabicOnly","englishOnly","englishAndSpacesOnly","invalidNumbersOnly","invalidPhoneNumber","emailValidator","invalidEmail","invalidUsername","invalidPassportIdOrIdentityId","ctrl1","ctrl2","_invalidPassportIdOrIdentityId","invalidAddress","invalidTriptikName","confirmPassword","passwordMismatch","unavailableFile","sanitize","bypassSecurityTrustUrl","convertToByteArray","reject","Nav","Body","modalService","NgbModal","formGroup","FormArray","field","onlySelf","FormGroup","validateAllFormFields","frame1","position","top","appendChild","frameDoc","contentWindow","contentDocument","frames","focus","removeChild","_printHTML","end","setHours","toISOString","px","mm","origin","output","validatorName","validatorValue","required","arabicOnly","minlength","requiredLength","maxlength","invalidCreditCard","invalidEmailAddress","invalidPassword","production","apiBaseUrl","enableProdMode","platformBrowserDynamic","bootstrapModule","webpackContext","webpackContextResolve","__webpack_require__","webpackContextKeys"],"mappings":"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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAzDkB,CA0DlB;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gFAzEkB,CA2ElB;AACA;AACD,OA7ED,EAAYA,SAAQ,KAARA,SAAQ,MAApB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA,UAAY6L,OAAZ;;AAAA,iBAAYA,MAAZ,EAAkB;AACd;AACA;AACH,OAHD,EAAYA,OAAM,KAANA,OAAM,MAAlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA,UAAYvgB,SAAZ;;AAAA,iBAAYA,QAAZ,EAAoB;AAChB;AACA;AACH,OAHD,EAAYA,SAAQ,KAARA,SAAQ,MAApB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA,UAAYwgB,sBAAZ;;AAAA,iBAAYA,qBAAZ,EAAiC;AAC7B;AACA;AACA;AACA;AACA;AACH,OAND,EAAYA,sBAAqB,KAArBA,sBAAqB,MAAjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA,UAAYC,YAAZ;;AAAA,iBAAYA,WAAZ,EAAuB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACH,OARD,EAAYA,YAAW,KAAXA,YAAW,MAAvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UCAA;AACA;AACA;AACA;AACA;AACA;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,UAAY3gB,KAAZ;;AAAA,iBAAYA,IAAZ,EAAgB;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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","file":"main-es5.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) */"]}