cmat 0.0.31 → 0.0.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/speed-dial/index.d.ts +2 -2
- package/components/upload/index.d.ts +1 -1
- package/fesm2022/cmat-animations.mjs.map +1 -1
- package/fesm2022/cmat-components-adapter.mjs +9 -9
- package/fesm2022/cmat-components-adapter.mjs.map +1 -1
- package/fesm2022/cmat-components-breadcrumb.mjs +10 -10
- package/fesm2022/cmat-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/cmat-components-card.mjs +3 -3
- package/fesm2022/cmat-components-card.mjs.map +1 -1
- package/fesm2022/cmat-components-carousel.mjs +13 -13
- package/fesm2022/cmat-components-carousel.mjs.map +1 -1
- package/fesm2022/cmat-components-cascade.mjs +11 -11
- package/fesm2022/cmat-components-cascade.mjs.map +1 -1
- package/fesm2022/cmat-components-chip-input.mjs +4 -4
- package/fesm2022/cmat-components-chip-input.mjs.map +1 -1
- package/fesm2022/cmat-components-custom-formly.mjs +92 -92
- package/fesm2022/cmat-components-custom-formly.mjs.map +1 -1
- package/fesm2022/cmat-components-date-range.mjs +5 -5
- package/fesm2022/cmat-components-date-range.mjs.map +1 -1
- package/fesm2022/cmat-components-drawer.mjs +6 -6
- package/fesm2022/cmat-components-drawer.mjs.map +1 -1
- package/fesm2022/cmat-components-fullscreen.mjs +4 -4
- package/fesm2022/cmat-components-fullscreen.mjs.map +1 -1
- package/fesm2022/cmat-components-highlight.mjs +6 -6
- package/fesm2022/cmat-components-highlight.mjs.map +1 -1
- package/fesm2022/cmat-components-image-viewer.mjs +4 -4
- package/fesm2022/cmat-components-image-viewer.mjs.map +1 -1
- package/fesm2022/cmat-components-json-editor.mjs +3 -3
- package/fesm2022/cmat-components-json-editor.mjs.map +1 -1
- package/fesm2022/cmat-components-knob-input.mjs +3 -3
- package/fesm2022/cmat-components-knob-input.mjs.map +1 -1
- package/fesm2022/cmat-components-masonry.mjs +3 -3
- package/fesm2022/cmat-components-masonry.mjs.map +1 -1
- package/fesm2022/cmat-components-material-color-picker.mjs +4 -4
- package/fesm2022/cmat-components-material-color-picker.mjs.map +1 -1
- package/fesm2022/cmat-components-material-datetimepicker.mjs +45 -45
- package/fesm2022/cmat-components-material-datetimepicker.mjs.map +1 -1
- package/fesm2022/cmat-components-navigation.mjs +39 -39
- package/fesm2022/cmat-components-navigation.mjs.map +1 -1
- package/fesm2022/cmat-components-opt-input.mjs +3 -3
- package/fesm2022/cmat-components-opt-input.mjs.map +1 -1
- package/fesm2022/cmat-components-org-chart.mjs +10 -10
- package/fesm2022/cmat-components-org-chart.mjs.map +1 -1
- package/fesm2022/cmat-components-pagination.mjs +13 -13
- package/fesm2022/cmat-components-pagination.mjs.map +1 -1
- package/fesm2022/cmat-components-password-strength.mjs +10 -10
- package/fesm2022/cmat-components-password-strength.mjs.map +1 -1
- package/fesm2022/cmat-components-popover.mjs +9 -9
- package/fesm2022/cmat-components-popover.mjs.map +1 -1
- package/fesm2022/cmat-components-progress-bar.mjs +3 -3
- package/fesm2022/cmat-components-progress-bar.mjs.map +1 -1
- package/fesm2022/cmat-components-rating.mjs +3 -3
- package/fesm2022/cmat-components-rating.mjs.map +1 -1
- package/fesm2022/cmat-components-select-search.mjs +11 -11
- package/fesm2022/cmat-components-select-search.mjs.map +1 -1
- package/fesm2022/cmat-components-select-table.mjs +4 -4
- package/fesm2022/cmat-components-select-table.mjs.map +1 -1
- package/fesm2022/cmat-components-select-tree.mjs +4 -4
- package/fesm2022/cmat-components-select-tree.mjs.map +1 -1
- package/fesm2022/cmat-components-speed-dial.mjs +12 -12
- package/fesm2022/cmat-components-speed-dial.mjs.map +1 -1
- package/fesm2022/cmat-components-timeline.mjs +12 -12
- package/fesm2022/cmat-components-timeline.mjs.map +1 -1
- package/fesm2022/cmat-components-toast.mjs +9 -9
- package/fesm2022/cmat-components-toast.mjs.map +1 -1
- package/fesm2022/cmat-components-transfer-picker.mjs +23 -23
- package/fesm2022/cmat-components-transfer-picker.mjs.map +1 -1
- package/fesm2022/cmat-components-treetable.mjs +7 -7
- package/fesm2022/cmat-components-treetable.mjs.map +1 -1
- package/fesm2022/cmat-components-upload.mjs +14 -20
- package/fesm2022/cmat-components-upload.mjs.map +1 -1
- package/fesm2022/cmat-components-x6-angular-shape.mjs.map +1 -1
- package/fesm2022/cmat-directives-animate-on-scroll.mjs +6 -6
- package/fesm2022/cmat-directives-arrow-cursor.mjs +3 -3
- package/fesm2022/cmat-directives-arrow-cursor.mjs.map +1 -1
- package/fesm2022/cmat-directives-autofocus.mjs +3 -3
- package/fesm2022/cmat-directives-data-exporter.mjs +21 -21
- package/fesm2022/cmat-directives-data-exporter.mjs.map +1 -1
- package/fesm2022/cmat-directives-debounce.mjs +9 -9
- package/fesm2022/cmat-directives-digit-only.mjs +6 -6
- package/fesm2022/cmat-directives-digit-only.mjs.map +1 -1
- package/fesm2022/cmat-directives-equal-validator.mjs +3 -3
- package/fesm2022/cmat-directives-equal-validator.mjs.map +1 -1
- package/fesm2022/cmat-lib-mock-api.mjs +6 -6
- package/fesm2022/cmat-lib-mock-api.mjs.map +1 -1
- package/fesm2022/cmat-pipes-bytes.mjs +3 -3
- package/fesm2022/cmat-pipes-date-format.mjs +3 -3
- package/fesm2022/cmat-pipes-find-by-key.mjs +3 -3
- package/fesm2022/cmat-pipes-group-by.mjs +3 -3
- package/fesm2022/cmat-pipes-keys.mjs +3 -3
- package/fesm2022/cmat-pipes-secure.mjs +3 -3
- package/fesm2022/cmat-pipes-secure.mjs.map +1 -1
- package/fesm2022/cmat-pipes-uppercase.mjs +3 -3
- package/fesm2022/cmat-services-alert.mjs +3 -3
- package/fesm2022/cmat-services-alert.mjs.map +1 -1
- package/fesm2022/cmat-services-config.mjs +6 -6
- package/fesm2022/cmat-services-config.mjs.map +1 -1
- package/fesm2022/cmat-services-confirmation.mjs +7 -7
- package/fesm2022/cmat-services-confirmation.mjs.map +1 -1
- package/fesm2022/cmat-services-data.mjs +3 -3
- package/fesm2022/cmat-services-data.mjs.map +1 -1
- package/fesm2022/cmat-services-export-as.mjs +3 -3
- package/fesm2022/cmat-services-export-as.mjs.map +1 -1
- package/fesm2022/cmat-services-loading.mjs +6 -6
- package/fesm2022/cmat-services-local-storage.mjs +3 -3
- package/fesm2022/cmat-services-media-watcher.mjs +3 -3
- package/fesm2022/cmat-services-media-watcher.mjs.map +1 -1
- package/fesm2022/cmat-services-platform.mjs +3 -3
- package/fesm2022/cmat-services-platform.mjs.map +1 -1
- package/fesm2022/cmat-services-splash-screen.mjs +3 -3
- package/fesm2022/cmat-services-title.mjs +3 -3
- package/fesm2022/cmat-services-translation.mjs +3 -3
- package/fesm2022/cmat-services-translation.mjs.map +1 -1
- package/fesm2022/cmat-services-utils.mjs +3 -3
- package/fesm2022/cmat-services-utils.mjs.map +1 -1
- package/fesm2022/cmat-version.mjs.map +1 -1
- package/package.json +21 -21
- package/styles/components/bundle.scss +5 -3
- package/styles/components/input.scss +0 -1
- package/styles/overrides/angular-material.scss +2 -4
- package/styles/themes.scss +2029 -162
- package/tailwind/plugins/theming.js +2 -20
- package/tailwind/plugins/utilities.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmat-services-data.mjs","sources":["../../../projects/cmat/services/data/data.service.ts","../../../projects/cmat/services/data/cmat-services-data.ts"],"sourcesContent":["import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable, OnDestroy, inject } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { catchError, map, retry, takeUntil, tap } from 'rxjs/operators';\r\nimport { CmatUrlStateConfigService, IUrlStateConfig } from 'cmat/services/config';\r\nimport { CmatUtilsService } from 'cmat/services/utils';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatDataService implements OnDestroy {\r\n private _http = inject(HttpClient);\r\n private _urlStateConfigService = inject(CmatUrlStateConfigService);\r\n\r\n private _enableDataProtect: boolean = false;\r\n private _unsubscribeAll: Subject<void> = new Subject<void>();\r\n\r\n \r\n\r\n constructor() {\r\n this._urlStateConfigService.config$\r\n .pipe(takeUntil(this._unsubscribeAll))\r\n .subscribe((config: IUrlStateConfig) => {\r\n this._enableDataProtect = config.enableDataProtect;\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unsubscribeAll.next(void 0);\r\n this._unsubscribeAll.complete();\r\n }\r\n\r\n get<T>(url: string, params = {}, auth: boolean = true): Observable<T> {\r\n const httpParams = new HttpParams();\r\n const headers = auth ? CmatUtilsService.getRequestHeaders() : CmatUtilsService.getRequestCryptoHeaders('');\r\n\r\n if (Object.keys(params).length !== 0) {\r\n\r\n if (this._enableDataProtect) {\r\n httpParams.appendAll(\r\n {\r\n params:\r\n CmatUtilsService.getEncryptData(JSON.stringify({ params: params }))\r\n });\r\n } else {\r\n httpParams.appendAll(params);\r\n }\r\n }\r\n const options = { params: httpParams };\r\n\r\n if (this._enableDataProtect) {\r\n return this._http.get<string>(url, { ...options, headers: headers })\r\n .pipe(\r\n retry({ count: 3, delay: 1000 }),\r\n map((res: string) => {\r\n if (res) {\r\n return JSON.parse(CmatUtilsService.getDecryptData(res));\r\n }\r\n return res;\r\n }),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n } else {\r\n return this._http.get<T>(url, { ...options, headers: headers })\r\n .pipe(\r\n retry({ count: 3, delay: 1000 }),\r\n tap((res: T) => res),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n }\r\n\r\n }\r\n\r\n post<T>(url: string, data: any, params = {}, auth: boolean = true, idempotent: boolean = false): Observable<T> {\r\n const httpParams = new HttpParams();\r\n const headers = auth ? (idempotent ? CmatUtilsService.getRequestIdempotentBypassHeaders() : CmatUtilsService.getRequestBypassHeaders()) : (idempotent ? CmatUtilsService.getRequestCryptoIdempotentBypassHeaders('') : CmatUtilsService.getRequestCryptoBypassHeaders(''));\r\n\r\n if (Object.keys(params).length !== 0) {\r\n\r\n if (this._enableDataProtect) {\r\n httpParams.appendAll(\r\n {\r\n params:\r\n CmatUtilsService.getEncryptData(JSON.stringify(params))\r\n });\r\n } else {\r\n httpParams.appendAll(params);\r\n }\r\n }\r\n const options = { params: httpParams };\r\n\r\n if (this._enableDataProtect) {\r\n data = CmatUtilsService.getEncryptData(JSON.stringify(data));\r\n\r\n return this._http.post<string>(url, data, { ...options, headers: headers })\r\n .pipe(\r\n map((res: string) => {\r\n if (res) {\r\n return JSON.parse(CmatUtilsService.getDecryptData(res));\r\n }\r\n return res;\r\n }),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n } else {\r\n return this._http.post<T>(url, data, { ...options, headers: headers })\r\n .pipe(\r\n tap((res: T) => res),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n }\r\n }\r\n\r\n put<T>(url: string, data: any, params = {}, auth: boolean = true): Observable<T> {\r\n const httpParams = new HttpParams();\r\n const headers = auth ? CmatUtilsService.getRequestBypassHeaders() : CmatUtilsService.getRequestCryptoBypassHeaders('');\r\n\r\n if (Object.keys(params).length !== 0) {\r\n\r\n if (this._enableDataProtect) {\r\n httpParams.appendAll(\r\n {\r\n params:\r\n CmatUtilsService.getEncryptData(JSON.stringify(params))\r\n });\r\n } else {\r\n httpParams.appendAll(params);\r\n }\r\n }\r\n const options = { params: httpParams };\r\n\r\n if (this._enableDataProtect) {\r\n data = CmatUtilsService.getEncryptData(JSON.stringify(data));\r\n\r\n return this._http.put<string>(url, data, { ...options, headers: headers })\r\n .pipe(\r\n map((res: string) => {\r\n if (res) {\r\n return JSON.parse(CmatUtilsService.getDecryptData(res));\r\n }\r\n return res;\r\n }),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n } else {\r\n return this._http.put<T>(url, data, { ...options, headers: headers })\r\n .pipe(\r\n tap((res: T) => res),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n }\r\n }\r\n\r\n delete<T>(url: string, params = {}, auth: boolean = true): Observable<T> {\r\n const httpParams = new HttpParams();\r\n const headers = auth ? CmatUtilsService.getRequestBypassHeaders() : CmatUtilsService.getRequestCryptoBypassHeaders('');\r\n\r\n if (Object.keys(params).length !== 0) {\r\n\r\n if (this._enableDataProtect) {\r\n httpParams.appendAll(\r\n {\r\n params:\r\n CmatUtilsService.getEncryptData(JSON.stringify(params))\r\n });\r\n } else {\r\n httpParams.appendAll(params);\r\n }\r\n }\r\n\r\n const options = { params: httpParams };\r\n\r\n return this._http.delete<T>(url, {\r\n ...options,\r\n headers: headers\r\n })\r\n .pipe(\r\n tap((res: T) => res),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n }\r\n\r\n patch<T>(url: string, data: any, params = {}, auth: boolean = true): Observable<T> {\r\n const httpParams = new HttpParams();\r\n const headers = auth ? CmatUtilsService.getRequestBypassHeaders() : CmatUtilsService.getRequestCryptoBypassHeaders('');\r\n\r\n if (Object.keys(params).length !== 0) {\r\n\r\n if (this._enableDataProtect) {\r\n httpParams.appendAll(\r\n {\r\n params:\r\n CmatUtilsService.getEncryptData(JSON.stringify(params))\r\n });\r\n } else {\r\n httpParams.appendAll(params);\r\n }\r\n }\r\n\r\n const options = { params: httpParams };\r\n\r\n if (this._enableDataProtect) {\r\n data = CmatUtilsService.getEncryptData(JSON.stringify(data));\r\n\r\n return this._http.patch<string>(url, data, { ...options, headers: headers })\r\n .pipe(\r\n map((res: string) => {\r\n if (res) {\r\n return JSON.parse(CmatUtilsService.getDecryptData(res));\r\n }\r\n return res;\r\n }),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n } else {\r\n return this._http.patch<T>(url, data, { ...options, headers: headers })\r\n .pipe(\r\n tap((res: T) => res),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n }\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cmat-services-data.mjs","sources":["../../../projects/cmat/services/data/data.service.ts","../../../projects/cmat/services/data/cmat-services-data.ts"],"sourcesContent":["import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable, OnDestroy, inject } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { catchError, map, retry, takeUntil, tap } from 'rxjs/operators';\r\nimport { CmatUrlStateConfigService, IUrlStateConfig } from 'cmat/services/config';\r\nimport { CmatUtilsService } from 'cmat/services/utils';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatDataService implements OnDestroy {\r\n private _http = inject(HttpClient);\r\n private _urlStateConfigService = inject(CmatUrlStateConfigService);\r\n\r\n private _enableDataProtect: boolean = false;\r\n private _unsubscribeAll: Subject<void> = new Subject<void>();\r\n\r\n \r\n\r\n constructor() {\r\n this._urlStateConfigService.config$\r\n .pipe(takeUntil(this._unsubscribeAll))\r\n .subscribe((config: IUrlStateConfig) => {\r\n this._enableDataProtect = config.enableDataProtect;\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unsubscribeAll.next(void 0);\r\n this._unsubscribeAll.complete();\r\n }\r\n\r\n get<T>(url: string, params = {}, auth: boolean = true): Observable<T> {\r\n const httpParams = new HttpParams();\r\n const headers = auth ? CmatUtilsService.getRequestHeaders() : CmatUtilsService.getRequestCryptoHeaders('');\r\n\r\n if (Object.keys(params).length !== 0) {\r\n\r\n if (this._enableDataProtect) {\r\n httpParams.appendAll(\r\n {\r\n params:\r\n CmatUtilsService.getEncryptData(JSON.stringify({ params: params }))\r\n });\r\n } else {\r\n httpParams.appendAll(params);\r\n }\r\n }\r\n const options = { params: httpParams };\r\n\r\n if (this._enableDataProtect) {\r\n return this._http.get<string>(url, { ...options, headers: headers })\r\n .pipe(\r\n retry({ count: 3, delay: 1000 }),\r\n map((res: string) => {\r\n if (res) {\r\n return JSON.parse(CmatUtilsService.getDecryptData(res));\r\n }\r\n return res;\r\n }),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n } else {\r\n return this._http.get<T>(url, { ...options, headers: headers })\r\n .pipe(\r\n retry({ count: 3, delay: 1000 }),\r\n tap((res: T) => res),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n }\r\n\r\n }\r\n\r\n post<T>(url: string, data: any, params = {}, auth: boolean = true, idempotent: boolean = false): Observable<T> {\r\n const httpParams = new HttpParams();\r\n const headers = auth ? (idempotent ? CmatUtilsService.getRequestIdempotentBypassHeaders() : CmatUtilsService.getRequestBypassHeaders()) : (idempotent ? CmatUtilsService.getRequestCryptoIdempotentBypassHeaders('') : CmatUtilsService.getRequestCryptoBypassHeaders(''));\r\n\r\n if (Object.keys(params).length !== 0) {\r\n\r\n if (this._enableDataProtect) {\r\n httpParams.appendAll(\r\n {\r\n params:\r\n CmatUtilsService.getEncryptData(JSON.stringify(params))\r\n });\r\n } else {\r\n httpParams.appendAll(params);\r\n }\r\n }\r\n const options = { params: httpParams };\r\n\r\n if (this._enableDataProtect) {\r\n data = CmatUtilsService.getEncryptData(JSON.stringify(data));\r\n\r\n return this._http.post<string>(url, data, { ...options, headers: headers })\r\n .pipe(\r\n map((res: string) => {\r\n if (res) {\r\n return JSON.parse(CmatUtilsService.getDecryptData(res));\r\n }\r\n return res;\r\n }),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n } else {\r\n return this._http.post<T>(url, data, { ...options, headers: headers })\r\n .pipe(\r\n tap((res: T) => res),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n }\r\n }\r\n\r\n put<T>(url: string, data: any, params = {}, auth: boolean = true): Observable<T> {\r\n const httpParams = new HttpParams();\r\n const headers = auth ? CmatUtilsService.getRequestBypassHeaders() : CmatUtilsService.getRequestCryptoBypassHeaders('');\r\n\r\n if (Object.keys(params).length !== 0) {\r\n\r\n if (this._enableDataProtect) {\r\n httpParams.appendAll(\r\n {\r\n params:\r\n CmatUtilsService.getEncryptData(JSON.stringify(params))\r\n });\r\n } else {\r\n httpParams.appendAll(params);\r\n }\r\n }\r\n const options = { params: httpParams };\r\n\r\n if (this._enableDataProtect) {\r\n data = CmatUtilsService.getEncryptData(JSON.stringify(data));\r\n\r\n return this._http.put<string>(url, data, { ...options, headers: headers })\r\n .pipe(\r\n map((res: string) => {\r\n if (res) {\r\n return JSON.parse(CmatUtilsService.getDecryptData(res));\r\n }\r\n return res;\r\n }),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n } else {\r\n return this._http.put<T>(url, data, { ...options, headers: headers })\r\n .pipe(\r\n tap((res: T) => res),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n }\r\n }\r\n\r\n delete<T>(url: string, params = {}, auth: boolean = true): Observable<T> {\r\n const httpParams = new HttpParams();\r\n const headers = auth ? CmatUtilsService.getRequestBypassHeaders() : CmatUtilsService.getRequestCryptoBypassHeaders('');\r\n\r\n if (Object.keys(params).length !== 0) {\r\n\r\n if (this._enableDataProtect) {\r\n httpParams.appendAll(\r\n {\r\n params:\r\n CmatUtilsService.getEncryptData(JSON.stringify(params))\r\n });\r\n } else {\r\n httpParams.appendAll(params);\r\n }\r\n }\r\n\r\n const options = { params: httpParams };\r\n\r\n return this._http.delete<T>(url, {\r\n ...options,\r\n headers: headers\r\n })\r\n .pipe(\r\n tap((res: T) => res),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n }\r\n\r\n patch<T>(url: string, data: any, params = {}, auth: boolean = true): Observable<T> {\r\n const httpParams = new HttpParams();\r\n const headers = auth ? CmatUtilsService.getRequestBypassHeaders() : CmatUtilsService.getRequestCryptoBypassHeaders('');\r\n\r\n if (Object.keys(params).length !== 0) {\r\n\r\n if (this._enableDataProtect) {\r\n httpParams.appendAll(\r\n {\r\n params:\r\n CmatUtilsService.getEncryptData(JSON.stringify(params))\r\n });\r\n } else {\r\n httpParams.appendAll(params);\r\n }\r\n }\r\n\r\n const options = { params: httpParams };\r\n\r\n if (this._enableDataProtect) {\r\n data = CmatUtilsService.getEncryptData(JSON.stringify(data));\r\n\r\n return this._http.patch<string>(url, data, { ...options, headers: headers })\r\n .pipe(\r\n map((res: string) => {\r\n if (res) {\r\n return JSON.parse(CmatUtilsService.getDecryptData(res));\r\n }\r\n return res;\r\n }),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n } else {\r\n return this._http.patch<T>(url, data, { ...options, headers: headers })\r\n .pipe(\r\n tap((res: T) => res),\r\n catchError((err: any) => CmatUtilsService.handleError(err))\r\n );\r\n }\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -193,10 +193,10 @@ class CmatExportAsService {
|
|
|
193
193
|
_btoa(content) {
|
|
194
194
|
return Buffer.from(content.toString(), 'utf-8').toString('base64');
|
|
195
195
|
}
|
|
196
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
197
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
196
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatExportAsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
197
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatExportAsService, providedIn: 'root' }); }
|
|
198
198
|
}
|
|
199
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
199
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatExportAsService, decorators: [{
|
|
200
200
|
type: Injectable,
|
|
201
201
|
args: [{
|
|
202
202
|
providedIn: 'root'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmat-services-export-as.mjs","sources":["../../../projects/cmat/services/export-as/export-as.service.ts","../../../projects/cmat/services/export-as/cmat-services-export-as.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport * as FileSaver from 'file-saver-es';\r\nimport { Observable } from 'rxjs';\r\nimport * as XLSX from 'xlsx';\r\nimport { ExportAsConfig } from './export-as-config.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatExportAsService {\r\n /**\r\n * Main base64 get method, it will return the file as base64 string\r\n * @param config your config\r\n */\r\n get(config: ExportAsConfig): Observable<any> {\r\n switch (config.type.toUpperCase()) {\r\n case 'CSV':\r\n return this._getCSV(config);\r\n case 'TXT':\r\n return this._getTXT(config);\r\n case 'XLS':\r\n return this._getXLS(config);\r\n case 'XLSX':\r\n return this._getXLSX(config);\r\n case 'JSON':\r\n return this._getJSON(config);\r\n case 'XML':\r\n return this._getXML(config);\r\n default:\r\n return new Observable((observer) => { observer.error('导出格式不支持.'); });\r\n }\r\n }\r\n\r\n /**\r\n * Save exported file in old javascript way\r\n * @param config your custom config\r\n * @param fileName Name of the file to be saved as\r\n */\r\n save(config: ExportAsConfig, fileName: string): Observable<string | null> {\r\n // set download\r\n config.download = true;\r\n // get file name with type\r\n config.fileName = fileName + '.' + config.type;\r\n return this.get(config);\r\n }\r\n\r\n /**\r\n * Converts content string to blob object\r\n * @param content string to be converted\r\n */\r\n contentToBlob(content: string): Observable<Blob> {\r\n return new Observable((observer) => {\r\n // get content string and extract mime type\r\n const arr = content.split(','), mime = (/:(.*?);/.exec(arr[0]))?.[1],\r\n bstr = atob(arr[1]);\r\n let n = bstr.length;\r\n const u8arr = new Uint8Array(n);\r\n while (n--) {\r\n u8arr[n] = bstr.charCodeAt(n);\r\n }\r\n observer.next(new Blob([u8arr], { type: mime }));\r\n observer.complete();\r\n });\r\n }\r\n\r\n /**\r\n * Removes base64 file type from a string like \"data:text/csv;base64,\"\r\n * @param fileContent the base64 string to remove the type from\r\n */\r\n removeFileTypeFromBase64(fileContent: string): string {\r\n const re = /^data:[^]*;base64,/g;\r\n const newContent: string = re[Symbol.replace](fileContent, '');\r\n return newContent;\r\n }\r\n\r\n /**\r\n * Structure the base64 file content with the file type string\r\n * @param fileContent file content\r\n * @param fileMime file mime type \"text/csv\"\r\n */\r\n addFileTypeToBase64(fileContent: string, fileMime: string): string {\r\n return `data:${fileMime};base64,${fileContent}`;\r\n }\r\n\r\n downloadFromDataURL(fileName: string, dataURL: string): void {\r\n // create blob\r\n this.contentToBlob(dataURL).subscribe((blob) => {\r\n // download the blob\r\n this.downloadFromBlob(blob, fileName);\r\n });\r\n }\r\n\r\n downloadFromBlob(blob: Blob, fileName: string): void {\r\n FileSaver.saveAs(blob, fileName);\r\n }\r\n\r\n private _getCSV(config: ExportAsConfig): Observable<string | null> {\r\n return new Observable((observer) => {\r\n const element: HTMLElement | null = document.getElementById(config.elementIdOrContent);\r\n let csv: string[] = [];\r\n const rows: any = element?.querySelectorAll('table tr');\r\n rows.forEach((rowElement: { querySelectorAll: (arg0: string) => any; }) => {\r\n let row: string[] = [];\r\n const cols = rowElement.querySelectorAll('td, th');\r\n\r\n cols.array.forEach((col: { innerText: string; }) => {\r\n row.push('\"' + col.innerText + '\"');\r\n });\r\n csv.push(row.join(','));\r\n });\r\n\r\n const csvContent = 'data:text/csv;base64,' + this._btoa(csv.join('\\n'));\r\n if (config.download) {\r\n this.downloadFromDataURL(config.fileName, csvContent);\r\n observer.next(null);\r\n } else {\r\n observer.next(csvContent);\r\n }\r\n observer.complete();\r\n });\r\n }\r\n\r\n private _getTXT(config: ExportAsConfig): Observable<string | null> {\r\n const nameFrags = config.fileName?.split('.');\r\n config.fileName = `${nameFrags?.[0]}.txt`;\r\n return this._getCSV(config);\r\n }\r\n\r\n private _getXLS(config: ExportAsConfig): Observable<string | null> {\r\n return new Observable((observer) => {\r\n const element: HTMLElement | null = document.getElementById(config.elementIdOrContent);\r\n const ws3 = XLSX.utils.table_to_sheet(element, config.options);\r\n const wb = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(wb, ws3, config.fileName);\r\n const out = XLSX.write(wb, { type: 'base64' });\r\n const xlsContent = 'data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,' + out;\r\n if (config.download) {\r\n this.downloadFromDataURL(config.fileName, xlsContent);\r\n observer.next(null);\r\n } else {\r\n observer.next(xlsContent);\r\n }\r\n observer.complete();\r\n });\r\n }\r\n\r\n private _getXLSX(config: ExportAsConfig): Observable<string | null> {\r\n return this._getXLS(config);\r\n }\r\n\r\n\r\n private _getJSON(config: ExportAsConfig): Observable<any[] | null> {\r\n return new Observable((observer) => {\r\n const data = []; // first row needs fto be headers\r\n const headers = [];\r\n const table = document.getElementById(config.elementIdOrContent) as HTMLTableElement;\r\n for (let index = 0; index < table.rows[0].cells.length; index++) {\r\n headers[index] = table.rows[0].cells[index].innerHTML.toLowerCase().replace(/ /gi, '');\r\n }\r\n // go through cells\r\n for (let i = 1; i < table.rows.length; i++) {\r\n const tableRow = table.rows[i];\r\n let rowData: Record<string, string> = {};\r\n for (let j = 0; j < tableRow.cells.length; j++) {\r\n rowData[headers[j]] = tableRow.cells[j].innerHTML;\r\n }\r\n data.push(rowData);\r\n }\r\n const jsonString = JSON.stringify(data);\r\n const jsonBase64 = this._btoa(jsonString);\r\n const dataStr = 'data:text/json;base64,' + jsonBase64;\r\n if (config.download) {\r\n this.downloadFromDataURL(config.fileName, dataStr);\r\n observer.next(null);\r\n } else {\r\n observer.next(data);\r\n }\r\n observer.complete();\r\n });\r\n }\r\n\r\n private _getXML(config: ExportAsConfig): Observable<string | null> {\r\n return new Observable((observer) => {\r\n let xml = '<?xml version=\"1.0\" encoding=\"UTF-8\"?><Root><Classes>';\r\n const tritem = document.getElementById(config.elementIdOrContent)?.getElementsByTagName('tr');\r\n\r\n if (tritem) {\r\n Array.from(tritem).forEach((celldata) => {\r\n if (celldata.cells.length > 0) {\r\n xml += '<Class name=\"' + celldata.cells[0].textContent + '\">\\n';\r\n for (let m = 1; m < celldata.cells.length; ++m) {\r\n xml += '\\t<data>' + celldata.cells[m].textContent + '</data>\\n';\r\n }\r\n xml += '</Class>\\n';\r\n }\r\n });\r\n\r\n }\r\n\r\n xml += '</Classes></Root>';\r\n const base64 = 'data:text/xml;base64,' + this._btoa(xml);\r\n if (config.download) {\r\n this.downloadFromDataURL(config.fileName, base64);\r\n observer.next(null);\r\n } else {\r\n observer.next(base64);\r\n }\r\n observer.complete();\r\n });\r\n }\r\n\r\n private _btoa(content: string): string {\r\n return Buffer.from(content.toString(), 'utf-8').toString('base64')\r\n }\r\n\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cmat-services-export-as.mjs","sources":["../../../projects/cmat/services/export-as/export-as.service.ts","../../../projects/cmat/services/export-as/cmat-services-export-as.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport * as FileSaver from 'file-saver-es';\r\nimport { Observable } from 'rxjs';\r\nimport * as XLSX from 'xlsx';\r\nimport { ExportAsConfig } from './export-as-config.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatExportAsService {\r\n /**\r\n * Main base64 get method, it will return the file as base64 string\r\n * @param config your config\r\n */\r\n get(config: ExportAsConfig): Observable<any> {\r\n switch (config.type.toUpperCase()) {\r\n case 'CSV':\r\n return this._getCSV(config);\r\n case 'TXT':\r\n return this._getTXT(config);\r\n case 'XLS':\r\n return this._getXLS(config);\r\n case 'XLSX':\r\n return this._getXLSX(config);\r\n case 'JSON':\r\n return this._getJSON(config);\r\n case 'XML':\r\n return this._getXML(config);\r\n default:\r\n return new Observable((observer) => { observer.error('导出格式不支持.'); });\r\n }\r\n }\r\n\r\n /**\r\n * Save exported file in old javascript way\r\n * @param config your custom config\r\n * @param fileName Name of the file to be saved as\r\n */\r\n save(config: ExportAsConfig, fileName: string): Observable<string | null> {\r\n // set download\r\n config.download = true;\r\n // get file name with type\r\n config.fileName = fileName + '.' + config.type;\r\n return this.get(config);\r\n }\r\n\r\n /**\r\n * Converts content string to blob object\r\n * @param content string to be converted\r\n */\r\n contentToBlob(content: string): Observable<Blob> {\r\n return new Observable((observer) => {\r\n // get content string and extract mime type\r\n const arr = content.split(','), mime = (/:(.*?);/.exec(arr[0]))?.[1],\r\n bstr = atob(arr[1]);\r\n let n = bstr.length;\r\n const u8arr = new Uint8Array(n);\r\n while (n--) {\r\n u8arr[n] = bstr.charCodeAt(n);\r\n }\r\n observer.next(new Blob([u8arr], { type: mime }));\r\n observer.complete();\r\n });\r\n }\r\n\r\n /**\r\n * Removes base64 file type from a string like \"data:text/csv;base64,\"\r\n * @param fileContent the base64 string to remove the type from\r\n */\r\n removeFileTypeFromBase64(fileContent: string): string {\r\n const re = /^data:[^]*;base64,/g;\r\n const newContent: string = re[Symbol.replace](fileContent, '');\r\n return newContent;\r\n }\r\n\r\n /**\r\n * Structure the base64 file content with the file type string\r\n * @param fileContent file content\r\n * @param fileMime file mime type \"text/csv\"\r\n */\r\n addFileTypeToBase64(fileContent: string, fileMime: string): string {\r\n return `data:${fileMime};base64,${fileContent}`;\r\n }\r\n\r\n downloadFromDataURL(fileName: string, dataURL: string): void {\r\n // create blob\r\n this.contentToBlob(dataURL).subscribe((blob) => {\r\n // download the blob\r\n this.downloadFromBlob(blob, fileName);\r\n });\r\n }\r\n\r\n downloadFromBlob(blob: Blob, fileName: string): void {\r\n FileSaver.saveAs(blob, fileName);\r\n }\r\n\r\n private _getCSV(config: ExportAsConfig): Observable<string | null> {\r\n return new Observable((observer) => {\r\n const element: HTMLElement | null = document.getElementById(config.elementIdOrContent);\r\n let csv: string[] = [];\r\n const rows: any = element?.querySelectorAll('table tr');\r\n rows.forEach((rowElement: { querySelectorAll: (arg0: string) => any; }) => {\r\n let row: string[] = [];\r\n const cols = rowElement.querySelectorAll('td, th');\r\n\r\n cols.array.forEach((col: { innerText: string; }) => {\r\n row.push('\"' + col.innerText + '\"');\r\n });\r\n csv.push(row.join(','));\r\n });\r\n\r\n const csvContent = 'data:text/csv;base64,' + this._btoa(csv.join('\\n'));\r\n if (config.download) {\r\n this.downloadFromDataURL(config.fileName, csvContent);\r\n observer.next(null);\r\n } else {\r\n observer.next(csvContent);\r\n }\r\n observer.complete();\r\n });\r\n }\r\n\r\n private _getTXT(config: ExportAsConfig): Observable<string | null> {\r\n const nameFrags = config.fileName?.split('.');\r\n config.fileName = `${nameFrags?.[0]}.txt`;\r\n return this._getCSV(config);\r\n }\r\n\r\n private _getXLS(config: ExportAsConfig): Observable<string | null> {\r\n return new Observable((observer) => {\r\n const element: HTMLElement | null = document.getElementById(config.elementIdOrContent);\r\n const ws3 = XLSX.utils.table_to_sheet(element, config.options);\r\n const wb = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(wb, ws3, config.fileName);\r\n const out = XLSX.write(wb, { type: 'base64' });\r\n const xlsContent = 'data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,' + out;\r\n if (config.download) {\r\n this.downloadFromDataURL(config.fileName, xlsContent);\r\n observer.next(null);\r\n } else {\r\n observer.next(xlsContent);\r\n }\r\n observer.complete();\r\n });\r\n }\r\n\r\n private _getXLSX(config: ExportAsConfig): Observable<string | null> {\r\n return this._getXLS(config);\r\n }\r\n\r\n\r\n private _getJSON(config: ExportAsConfig): Observable<any[] | null> {\r\n return new Observable((observer) => {\r\n const data = []; // first row needs fto be headers\r\n const headers = [];\r\n const table = document.getElementById(config.elementIdOrContent) as HTMLTableElement;\r\n for (let index = 0; index < table.rows[0].cells.length; index++) {\r\n headers[index] = table.rows[0].cells[index].innerHTML.toLowerCase().replace(/ /gi, '');\r\n }\r\n // go through cells\r\n for (let i = 1; i < table.rows.length; i++) {\r\n const tableRow = table.rows[i];\r\n let rowData: Record<string, string> = {};\r\n for (let j = 0; j < tableRow.cells.length; j++) {\r\n rowData[headers[j]] = tableRow.cells[j].innerHTML;\r\n }\r\n data.push(rowData);\r\n }\r\n const jsonString = JSON.stringify(data);\r\n const jsonBase64 = this._btoa(jsonString);\r\n const dataStr = 'data:text/json;base64,' + jsonBase64;\r\n if (config.download) {\r\n this.downloadFromDataURL(config.fileName, dataStr);\r\n observer.next(null);\r\n } else {\r\n observer.next(data);\r\n }\r\n observer.complete();\r\n });\r\n }\r\n\r\n private _getXML(config: ExportAsConfig): Observable<string | null> {\r\n return new Observable((observer) => {\r\n let xml = '<?xml version=\"1.0\" encoding=\"UTF-8\"?><Root><Classes>';\r\n const tritem = document.getElementById(config.elementIdOrContent)?.getElementsByTagName('tr');\r\n\r\n if (tritem) {\r\n Array.from(tritem).forEach((celldata) => {\r\n if (celldata.cells.length > 0) {\r\n xml += '<Class name=\"' + celldata.cells[0].textContent + '\">\\n';\r\n for (let m = 1; m < celldata.cells.length; ++m) {\r\n xml += '\\t<data>' + celldata.cells[m].textContent + '</data>\\n';\r\n }\r\n xml += '</Class>\\n';\r\n }\r\n });\r\n\r\n }\r\n\r\n xml += '</Classes></Root>';\r\n const base64 = 'data:text/xml;base64,' + this._btoa(xml);\r\n if (config.download) {\r\n this.downloadFromDataURL(config.fileName, base64);\r\n observer.next(null);\r\n } else {\r\n observer.next(base64);\r\n }\r\n observer.complete();\r\n });\r\n }\r\n\r\n private _btoa(content: string): string {\r\n return Buffer.from(content.toString(), 'utf-8').toString('base64')\r\n }\r\n\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -61,10 +61,10 @@ class CmatLoadingService {
|
|
|
61
61
|
this._show$.next(false);
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
65
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
64
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatLoadingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
65
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatLoadingService, providedIn: 'root' }); }
|
|
66
66
|
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatLoadingService, decorators: [{
|
|
68
68
|
type: Injectable,
|
|
69
69
|
args: [{
|
|
70
70
|
providedIn: 'root'
|
|
@@ -89,10 +89,10 @@ class CmatLoadingInterceptor {
|
|
|
89
89
|
this._cmatLoadingService.setLoadingStatus(false, req.url);
|
|
90
90
|
}));
|
|
91
91
|
}
|
|
92
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
93
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
92
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatLoadingInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
93
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatLoadingInterceptor }); }
|
|
94
94
|
}
|
|
95
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatLoadingInterceptor, decorators: [{
|
|
96
96
|
type: Injectable
|
|
97
97
|
}], ctorParameters: () => [] });
|
|
98
98
|
|
|
@@ -11,10 +11,10 @@ class CmatLocalStorageService {
|
|
|
11
11
|
removeItem(key) {
|
|
12
12
|
localStorage.removeItem(key);
|
|
13
13
|
}
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
15
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatLocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
15
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatLocalStorageService, providedIn: 'root' }); }
|
|
16
16
|
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatLocalStorageService, decorators: [{
|
|
18
18
|
type: Injectable,
|
|
19
19
|
args: [{
|
|
20
20
|
providedIn: 'root'
|
|
@@ -44,10 +44,10 @@ class CmatMediaWatcherService {
|
|
|
44
44
|
onMediaQueryChange$(query) {
|
|
45
45
|
return this._breakpointObserver.observe(query);
|
|
46
46
|
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
48
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
47
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatMediaWatcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
48
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatMediaWatcherService, providedIn: 'root' }); }
|
|
49
49
|
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatMediaWatcherService, decorators: [{
|
|
51
51
|
type: Injectable,
|
|
52
52
|
args: [{
|
|
53
53
|
providedIn: 'root'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmat-services-media-watcher.mjs","sources":["../../../projects/cmat/services/media-watcher/media-watcher.service.ts","../../../projects/cmat/services/media-watcher/cmat-services-media-watcher.ts"],"sourcesContent":["import { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\r\nimport { Injectable, OnDestroy, inject } from '@angular/core';\r\nimport { fromPairs } from 'lodash-es';\r\nimport { Observable, ReplaySubject, Subject } from 'rxjs';\r\nimport { map, switchMap, takeUntil } from 'rxjs/operators';\r\nimport { CmatConfigService } from 'cmat/services/config';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatMediaWatcherService implements OnDestroy {\r\n private _breakpointObserver = inject(BreakpointObserver);\r\n private _cmatConfigService = inject(CmatConfigService);\r\n\r\n private _onMediaChange: ReplaySubject<{ matchingAliases: string[]; matchingQueries: any }> = new ReplaySubject<{ matchingAliases: string[]; matchingQueries: any }>(1);\r\n private _unsubscribeAll: Subject<void> = new Subject<void>();\r\n\r\n \r\n\r\n constructor() {\r\n this._cmatConfigService.config$.pipe(\r\n takeUntil(this._unsubscribeAll),\r\n map(config => fromPairs(Object.entries(config.screens).map(([alias, screen]) => ([alias, `(min-width: ${screen as string})`])))),\r\n switchMap(screens => this._breakpointObserver.observe(Object.values(screens)).pipe(\r\n map((state) => {\r\n // Prepare the observable values and set their defaults\r\n const matchingAliases: string[] = [];\r\n const matchingQueries: any = {};\r\n\r\n // Get the matching breakpoints and use them to fill the subject\r\n const matchingBreakpoints = Object.entries(state.breakpoints).filter(([, matches]) => matches) ?? [];\r\n for (const [query] of matchingBreakpoints) {\r\n // Find the alias of the matching query\r\n const matchingAlias = Object.entries(screens).find(([, q]) => q === query)?.[0];\r\n\r\n // Add the matching query to the observable values\r\n if (matchingAlias) {\r\n matchingAliases.push(matchingAlias);\r\n matchingQueries[matchingAlias] = query;\r\n }\r\n }\r\n\r\n // Execute the observable\r\n this._onMediaChange.next({\r\n matchingAliases,\r\n matchingQueries\r\n });\r\n })\r\n ))\r\n ).subscribe();\r\n }\r\n\r\n get onMediaChange$(): Observable<{ matchingAliases: string[]; matchingQueries: any }> {\r\n return this._onMediaChange.asObservable();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unsubscribeAll.next(void 0);\r\n this._unsubscribeAll.complete();\r\n }\r\n\r\n onMediaQueryChange$(query: string | string[]): Observable<BreakpointState> {\r\n return this._breakpointObserver.observe(query);\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;MAUa,uBAAuB,CAAA;AAShC,IAAA,WAAA,GAAA;AARQ,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAChD,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAE9C,QAAA,IAAA,CAAA,cAAc,GAAuE,IAAI,aAAa,CAAsD,CAAC,CAAC;AAC9J,QAAA,IAAA,CAAA,eAAe,GAAkB,IAAI,OAAO,EAAQ;AAKxD,QAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAChC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,EAC/B,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"cmat-services-media-watcher.mjs","sources":["../../../projects/cmat/services/media-watcher/media-watcher.service.ts","../../../projects/cmat/services/media-watcher/cmat-services-media-watcher.ts"],"sourcesContent":["import { BreakpointObserver, BreakpointState } from '@angular/cdk/layout';\r\nimport { Injectable, OnDestroy, inject } from '@angular/core';\r\nimport { fromPairs } from 'lodash-es';\r\nimport { Observable, ReplaySubject, Subject } from 'rxjs';\r\nimport { map, switchMap, takeUntil } from 'rxjs/operators';\r\nimport { CmatConfigService } from 'cmat/services/config';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatMediaWatcherService implements OnDestroy {\r\n private _breakpointObserver = inject(BreakpointObserver);\r\n private _cmatConfigService = inject(CmatConfigService);\r\n\r\n private _onMediaChange: ReplaySubject<{ matchingAliases: string[]; matchingQueries: any }> = new ReplaySubject<{ matchingAliases: string[]; matchingQueries: any }>(1);\r\n private _unsubscribeAll: Subject<void> = new Subject<void>();\r\n\r\n \r\n\r\n constructor() {\r\n this._cmatConfigService.config$.pipe(\r\n takeUntil(this._unsubscribeAll),\r\n map(config => fromPairs(Object.entries(config.screens).map(([alias, screen]) => ([alias, `(min-width: ${screen as string})`])))),\r\n switchMap(screens => this._breakpointObserver.observe(Object.values(screens)).pipe(\r\n map((state) => {\r\n // Prepare the observable values and set their defaults\r\n const matchingAliases: string[] = [];\r\n const matchingQueries: any = {};\r\n\r\n // Get the matching breakpoints and use them to fill the subject\r\n const matchingBreakpoints = Object.entries(state.breakpoints).filter(([, matches]) => matches) ?? [];\r\n for (const [query] of matchingBreakpoints) {\r\n // Find the alias of the matching query\r\n const matchingAlias = Object.entries(screens).find(([, q]) => q === query)?.[0];\r\n\r\n // Add the matching query to the observable values\r\n if (matchingAlias) {\r\n matchingAliases.push(matchingAlias);\r\n matchingQueries[matchingAlias] = query;\r\n }\r\n }\r\n\r\n // Execute the observable\r\n this._onMediaChange.next({\r\n matchingAliases,\r\n matchingQueries\r\n });\r\n })\r\n ))\r\n ).subscribe();\r\n }\r\n\r\n get onMediaChange$(): Observable<{ matchingAliases: string[]; matchingQueries: any }> {\r\n return this._onMediaChange.asObservable();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unsubscribeAll.next(void 0);\r\n this._unsubscribeAll.complete();\r\n }\r\n\r\n onMediaQueryChange$(query: string | string[]): Observable<BreakpointState> {\r\n return this._breakpointObserver.observe(query);\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;MAUa,uBAAuB,CAAA;AAShC,IAAA,WAAA,GAAA;AARQ,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAChD,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAE9C,QAAA,IAAA,CAAA,cAAc,GAAuE,IAAI,aAAa,CAAsD,CAAC,CAAC;AAC9J,QAAA,IAAA,CAAA,eAAe,GAAkB,IAAI,OAAO,EAAQ;AAKxD,QAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAChC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,EAC/B,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA,YAAA,EAAe,MAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAChI,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAC9E,GAAG,CAAC,CAAC,KAAK,KAAI;;YAEV,MAAM,eAAe,GAAa,EAAE;YACpC,MAAM,eAAe,GAAQ,EAAE;;YAG/B,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,EAAE;AACpG,YAAA,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,mBAAmB,EAAE;;gBAEvC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC;;gBAG/E,IAAI,aAAa,EAAE;AACf,oBAAA,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC;AACnC,oBAAA,eAAe,CAAC,aAAa,CAAC,GAAG,KAAK;;;;AAK9C,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;gBACrB,eAAe;gBACf;AACH,aAAA,CAAC;AACN,SAAC,CAAC,CACL,CAAC,CACL,CAAC,SAAS,EAAE;;AAGjB,IAAA,IAAI,cAAc,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;;IAG7C,WAAW,GAAA;QACP,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE;;AAGnC,IAAA,mBAAmB,CAAC,KAAwB,EAAA;QACxC,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC;;8GApDzC,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFpB,MAAM,EAAA,CAAA,CAAA;;2FAET,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACTD;;AAEG;;;;"}
|
|
@@ -35,10 +35,10 @@ class CmatPlatformService {
|
|
|
35
35
|
this.osName = 'os-android';
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
39
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatPlatformService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
39
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatPlatformService, providedIn: 'root' }); }
|
|
40
40
|
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatPlatformService, decorators: [{
|
|
42
42
|
type: Injectable,
|
|
43
43
|
args: [{
|
|
44
44
|
providedIn: 'root'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmat-services-platform.mjs","sources":["../../../projects/cmat/services/platform/platform.service.ts","../../../projects/cmat/services/platform/cmat-services-platform.ts"],"sourcesContent":["import { Platform } from '@angular/cdk/platform';\r\nimport { Injectable, inject } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatPlatformService {\r\n\r\n osName = 'os-unknown';\r\n\r\n private _platform = inject(Platform);\r\n constructor() {\r\n // If the platform is not a browser, return immediately\r\n if (!this._platform.isBrowser) {\r\n return;\r\n }\r\n\r\n // Windows\r\n if (navigator.userAgent.includes('Win')) {\r\n this.osName = 'os-windows';\r\n }\r\n\r\n // Mac OS\r\n if (navigator.userAgent.includes('Mac')) {\r\n this.osName = 'os-mac';\r\n }\r\n\r\n // Unix\r\n if (navigator.userAgent.includes('X11')) {\r\n this.osName = 'os-unix';\r\n }\r\n\r\n // Linux\r\n if (navigator.userAgent.includes('Linux')) {\r\n this.osName = 'os-linux';\r\n }\r\n\r\n // iOS\r\n if (this._platform.IOS) {\r\n this.osName = 'os-ios';\r\n }\r\n\r\n // Android\r\n if (this._platform.ANDROID) {\r\n this.osName = 'os-android';\r\n }\r\n }\r\n\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAMa,mBAAmB,CAAA;AAK5B,IAAA,WAAA,GAAA;QAHA,
|
|
1
|
+
{"version":3,"file":"cmat-services-platform.mjs","sources":["../../../projects/cmat/services/platform/platform.service.ts","../../../projects/cmat/services/platform/cmat-services-platform.ts"],"sourcesContent":["import { Platform } from '@angular/cdk/platform';\r\nimport { Injectable, inject } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatPlatformService {\r\n\r\n osName = 'os-unknown';\r\n\r\n private _platform = inject(Platform);\r\n constructor() {\r\n // If the platform is not a browser, return immediately\r\n if (!this._platform.isBrowser) {\r\n return;\r\n }\r\n\r\n // Windows\r\n if (navigator.userAgent.includes('Win')) {\r\n this.osName = 'os-windows';\r\n }\r\n\r\n // Mac OS\r\n if (navigator.userAgent.includes('Mac')) {\r\n this.osName = 'os-mac';\r\n }\r\n\r\n // Unix\r\n if (navigator.userAgent.includes('X11')) {\r\n this.osName = 'os-unix';\r\n }\r\n\r\n // Linux\r\n if (navigator.userAgent.includes('Linux')) {\r\n this.osName = 'os-linux';\r\n }\r\n\r\n // iOS\r\n if (this._platform.IOS) {\r\n this.osName = 'os-ios';\r\n }\r\n\r\n // Android\r\n if (this._platform.ANDROID) {\r\n this.osName = 'os-android';\r\n }\r\n }\r\n\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAMa,mBAAmB,CAAA;AAK5B,IAAA,WAAA,GAAA;QAHA,IAAA,CAAA,MAAM,GAAG,YAAY;AAEb,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;;AAGhC,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;YAC3B;;;QAIJ,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACrC,YAAA,IAAI,CAAC,MAAM,GAAG,YAAY;;;QAI9B,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACrC,YAAA,IAAI,CAAC,MAAM,GAAG,QAAQ;;;QAI1B,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACrC,YAAA,IAAI,CAAC,MAAM,GAAG,SAAS;;;QAI3B,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AACvC,YAAA,IAAI,CAAC,MAAM,GAAG,UAAU;;;AAI5B,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;AACpB,YAAA,IAAI,CAAC,MAAM,GAAG,QAAQ;;;AAI1B,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;AACxB,YAAA,IAAI,CAAC,MAAM,GAAG,YAAY;;;8GAtCzB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFhB,MAAM,EAAA,CAAA,CAAA;;2FAET,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACLD;;AAEG;;;;"}
|
|
@@ -26,10 +26,10 @@ class CmatSplashScreenService {
|
|
|
26
26
|
hide() {
|
|
27
27
|
this._document.body.classList.add('cmat-splash-screen-hidden');
|
|
28
28
|
}
|
|
29
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
30
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatSplashScreenService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
30
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatSplashScreenService, providedIn: 'root' }); }
|
|
31
31
|
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatSplashScreenService, decorators: [{
|
|
33
33
|
type: Injectable,
|
|
34
34
|
args: [{
|
|
35
35
|
providedIn: 'root'
|
|
@@ -34,10 +34,10 @@ class CmatTitleService {
|
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
38
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatTitleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
38
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatTitleService, providedIn: 'root' }); }
|
|
39
39
|
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatTitleService, decorators: [{
|
|
41
41
|
type: Injectable,
|
|
42
42
|
args: [{
|
|
43
43
|
providedIn: 'root'
|
|
@@ -51,10 +51,10 @@ class CmatTranslationService {
|
|
|
51
51
|
getTranslationAsync(key, interpolateParams) {
|
|
52
52
|
return this._translate.get(key, interpolateParams);
|
|
53
53
|
}
|
|
54
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
55
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
54
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatTranslationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
55
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatTranslationService, providedIn: 'root' }); }
|
|
56
56
|
}
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatTranslationService, decorators: [{
|
|
58
58
|
type: Injectable,
|
|
59
59
|
args: [{
|
|
60
60
|
providedIn: 'root'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmat-services-translation.mjs","sources":["../../../projects/cmat/services/translation/translation.service.ts","../../../projects/cmat/services/translation/cmat-services-translation.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatTranslationService {\r\n private _translate = inject(TranslateService);\r\n\r\n\r\n private readonly _defaultLanguage = 'zh';\r\n\r\n private _onLanguageChanged = new Subject<string>();\r\n\r\n \r\n\r\n constructor() {\r\n this.setDefaultLanguage(this._defaultLanguage);\r\n }\r\n\r\n get languageChanged$(): Observable<string> {\r\n return this._onLanguageChanged.asObservable();\r\n }\r\n\r\n addLanguages(lang: string[]): void {\r\n this._translate.addLangs(lang);\r\n }\r\n\r\n\r\n setDefaultLanguage(lang: string): void {\r\n this._translate.setDefaultLang(lang);\r\n }\r\n\r\n getDefaultLanguage(): string {\r\n return this._translate.defaultLang;\r\n }\r\n\r\n getBrowserLanguage(): string | void {\r\n return this._translate.getBrowserLang();\r\n }\r\n\r\n\r\n useBrowserLanguage(): string | void {\r\n const browserLang = this.getBrowserLanguage();\r\n\r\n if (browserLang && (/en|zh/.exec(browserLang))) {\r\n this.changeLanguage(browserLang);\r\n return browserLang;\r\n }\r\n return browserLang;\r\n }\r\n\r\n changeLanguage(language: string = 'zh'): string {\r\n if (!language) {\r\n language = this._translate.defaultLang;\r\n }\r\n\r\n if (language !== this._translate.currentLang) {\r\n setTimeout(() => {\r\n this._translate.use(language);\r\n this._onLanguageChanged.next(language);\r\n });\r\n }\r\n return language;\r\n }\r\n\r\n\r\n getTranslation(key: string | string[], interpolateParams?: object): any {\r\n return this._translate.instant(key, interpolateParams);\r\n }\r\n\r\n\r\n getTranslationAsync(key: string | string[], interpolateParams?: object): Observable<any> {\r\n return this._translate.get(key, interpolateParams);\r\n }\r\n}\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAOa,sBAAsB,CAAA;AAU/B,IAAA,WAAA,GAAA;AATQ,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAG5B,
|
|
1
|
+
{"version":3,"file":"cmat-services-translation.mjs","sources":["../../../projects/cmat/services/translation/translation.service.ts","../../../projects/cmat/services/translation/cmat-services-translation.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatTranslationService {\r\n private _translate = inject(TranslateService);\r\n\r\n\r\n private readonly _defaultLanguage = 'zh';\r\n\r\n private _onLanguageChanged = new Subject<string>();\r\n\r\n \r\n\r\n constructor() {\r\n this.setDefaultLanguage(this._defaultLanguage);\r\n }\r\n\r\n get languageChanged$(): Observable<string> {\r\n return this._onLanguageChanged.asObservable();\r\n }\r\n\r\n addLanguages(lang: string[]): void {\r\n this._translate.addLangs(lang);\r\n }\r\n\r\n\r\n setDefaultLanguage(lang: string): void {\r\n this._translate.setDefaultLang(lang);\r\n }\r\n\r\n getDefaultLanguage(): string {\r\n return this._translate.defaultLang;\r\n }\r\n\r\n getBrowserLanguage(): string | void {\r\n return this._translate.getBrowserLang();\r\n }\r\n\r\n\r\n useBrowserLanguage(): string | void {\r\n const browserLang = this.getBrowserLanguage();\r\n\r\n if (browserLang && (/en|zh/.exec(browserLang))) {\r\n this.changeLanguage(browserLang);\r\n return browserLang;\r\n }\r\n return browserLang;\r\n }\r\n\r\n changeLanguage(language: string = 'zh'): string {\r\n if (!language) {\r\n language = this._translate.defaultLang;\r\n }\r\n\r\n if (language !== this._translate.currentLang) {\r\n setTimeout(() => {\r\n this._translate.use(language);\r\n this._onLanguageChanged.next(language);\r\n });\r\n }\r\n return language;\r\n }\r\n\r\n\r\n getTranslation(key: string | string[], interpolateParams?: object): any {\r\n return this._translate.instant(key, interpolateParams);\r\n }\r\n\r\n\r\n getTranslationAsync(key: string | string[], interpolateParams?: object): Observable<any> {\r\n return this._translate.get(key, interpolateParams);\r\n }\r\n}\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAOa,sBAAsB,CAAA;AAU/B,IAAA,WAAA,GAAA;AATQ,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAG5B,IAAA,CAAA,gBAAgB,GAAG,IAAI;AAEhC,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,OAAO,EAAU;AAK9C,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC;;AAGlD,IAAA,IAAI,gBAAgB,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;;AAGjD,IAAA,YAAY,CAAC,IAAc,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;;AAIlC,IAAA,kBAAkB,CAAC,IAAY,EAAA;AAC3B,QAAA,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC;;IAGxC,kBAAkB,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW;;IAGtC,kBAAkB,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE;;IAI3C,kBAAkB,GAAA;AACd,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE;QAE7C,IAAI,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE;AAC5C,YAAA,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;AAChC,YAAA,OAAO,WAAW;;AAEtB,QAAA,OAAO,WAAW;;IAGtB,cAAc,CAAC,WAAmB,IAAI,EAAA;QAClC,IAAI,CAAC,QAAQ,EAAE;AACX,YAAA,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW;;QAG1C,IAAI,QAAQ,KAAK,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;YAC1C,UAAU,CAAC,MAAK;AACZ,gBAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC7B,gBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC1C,aAAC,CAAC;;AAEN,QAAA,OAAO,QAAQ;;IAInB,cAAc,CAAC,GAAsB,EAAE,iBAA0B,EAAA;QAC7D,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC;;IAI1D,mBAAmB,CAAC,GAAsB,EAAE,iBAA0B,EAAA;QAClE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,CAAC;;8GAnE7C,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFnB,MAAM,EAAA,CAAA,CAAA;;2FAET,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACND;;AAEG;;;;"}
|
|
@@ -456,10 +456,10 @@ class CmatUtilsService {
|
|
|
456
456
|
}
|
|
457
457
|
return id;
|
|
458
458
|
}
|
|
459
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
460
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
459
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatUtilsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
460
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatUtilsService, providedIn: 'root' }); }
|
|
461
461
|
}
|
|
462
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
462
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: CmatUtilsService, decorators: [{
|
|
463
463
|
type: Injectable,
|
|
464
464
|
args: [{
|
|
465
465
|
providedIn: 'root'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmat-services-utils.mjs","sources":["../../../projects/cmat/services/utils/utils.service.ts","../../../projects/cmat/services/utils/cmat-services-utils.ts"],"sourcesContent":["import { HttpErrorResponse, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IsActiveMatchOptions } from '@angular/router';\r\nimport AES from 'crypto-js/aes';\r\nimport CryptoJSCore from 'crypto-js/core';\r\nimport Base64 from 'crypto-js/enc-base64';\r\nimport Hex from 'crypto-js/enc-hex';\r\nimport UTF8 from 'crypto-js/enc-utf8';\r\nimport Pkcs7 from 'crypto-js/pad-pkcs7';\r\nimport { isUndefined } from 'lodash-es';\r\nimport { throwError, Observable } from 'rxjs';\r\nimport { CMAT_VERSION } from 'cmat/version';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatUtilsService {\r\n public static readonly captionAndMessageSeparator = ':';\r\n public static readonly noNetworkMessageCaption = '无网络';\r\n public static readonly noNetworkMessageDetail = '无法连接服务器';\r\n public static readonly accessDeniedMessageCaption = '拒绝访问!';\r\n public static readonly accessDeniedMessageDetail = '';\r\n private static readonly key = UTF8.parse('14789632236987411478963223698741');//32位\r\n private static readonly iv = UTF8.parse('1478963223698741');//16位\r\n\r\n get exactMatchOptions(): IsActiveMatchOptions {\r\n return {\r\n paths: 'exact',\r\n fragment: 'ignored',\r\n matrixParams: 'ignored',\r\n queryParams: 'exact'\r\n };\r\n }\r\n\r\n get subsetMatchOptions(): IsActiveMatchOptions {\r\n return {\r\n paths: 'subset',\r\n fragment: 'ignored',\r\n matrixParams: 'ignored',\r\n queryParams: 'subset'\r\n };\r\n }\r\n\r\n public static getRequestHeaders(): HttpHeaders {\r\n return new HttpHeaders()\r\n .append('Access-Control-Allow-Origin', '*')\r\n .append('Content-Type', 'application/json')\r\n .append('Accept', `application/vnd.iman.v${CMAT_VERSION}+json, application/json, text/plain, */*`)\r\n .append('App-Version', CMAT_VERSION);\r\n }\r\n\r\n public static getRequestIdempotentHeaders(): HttpHeaders {\r\n return new HttpHeaders()\r\n .append('Access-Control-Allow-Origin', '*')\r\n .append('Content-Type', 'application/json')\r\n .append('X-Request-ID', CmatUtilsService.newGuid())\r\n .append('Accept', `application/vnd.iman.v${CMAT_VERSION}+json, application/json, text/plain, */*`)\r\n .append('App-Version', CMAT_VERSION);\r\n }\r\n\r\n public static getRequestBypassHeaders(): HttpHeaders {\r\n return new HttpHeaders()\r\n .append('Access-Control-Allow-Origin', '*')\r\n .append('Content-Type', 'application/json')\r\n .append('bypass', 'true')\r\n .append('Accept', `application/vnd.iman.v${CMAT_VERSION}+json, application/json, text/plain, */*`)\r\n .append('App-Version', CMAT_VERSION);\r\n }\r\n\r\n public static getRequestIdempotentBypassHeaders(): HttpHeaders {\r\n return new HttpHeaders()\r\n .append('Access-Control-Allow-Origin', '*')\r\n .append('Content-Type', 'application/json')\r\n .append('X-Request-ID', CmatUtilsService.newGuid())\r\n .append('bypass', 'true')\r\n .append('Accept', `application/vnd.iman.v${CMAT_VERSION}+json, application/json, text/plain, */*`)\r\n .append('App-Version', CMAT_VERSION);\r\n }\r\n\r\n public static getRequestCryptoHeaders(params: string): HttpHeaders {\r\n return new HttpHeaders()\r\n .append('Access-Control-Allow-Origin', '*')\r\n .append('Accept', `application/vnd.iman.v${CMAT_VERSION}+json, application/json, text/plain, */*`)\r\n .append('App-Version', this.getEncryptData('partymanageApi' + params).toString());\r\n }\r\n\r\n public static getRequestCryptoBypassHeaders(params: string): HttpHeaders {\r\n return new HttpHeaders()\r\n .append('Access-Control-Allow-Origin', '*')\r\n .append('Accept', `application/vnd.iman.v${CMAT_VERSION}+json, application/json, text/plain, */*`)\r\n .append('bypass', 'true')\r\n .append('App-Version', this.getEncryptData('partymanageApi' + params).toString());\r\n }\r\n\r\n public static getRequestCryptoIdempotentHeaders(params: string): HttpHeaders {\r\n return new HttpHeaders()\r\n .append('Access-Control-Allow-Origin', '*')\r\n .append('X-Request-ID', CmatUtilsService.newGuid())\r\n .append('Accept', `application/vnd.iman.v${CMAT_VERSION}+json, application/json, text/plain, */*`)\r\n .append('App-Version', this.getEncryptData('partymanageApi' + params).toString());\r\n }\r\n\r\n public static getRequestCryptoIdempotentBypassHeaders(params: string): HttpHeaders {\r\n return new HttpHeaders()\r\n .append('Access-Control-Allow-Origin', '*')\r\n .append('X-Request-ID', CmatUtilsService.newGuid())\r\n .append('Accept', `application/vnd.iman.v${CMAT_VERSION}+json, application/json, text/plain, */*`)\r\n .append('bypass', 'true')\r\n .append('App-Version', this.getEncryptData('partymanageApi' + params).toString());\r\n }\r\n\r\n public static getEncryptData(data: string): string {\r\n const src = UTF8.parse(data);\r\n\r\n return AES.encrypt(src, this.key, {\r\n iv: this.iv,\r\n mode: CryptoJSCore.mode.CBC,\r\n padding: Pkcs7\r\n }).ciphertext.toString();\r\n }\r\n\r\n public static getDecryptData(data: string): string {\r\n const encryptedHexStr = Hex.parse(data);\r\n return AES.decrypt(Base64.stringify(encryptedHexStr), this.key, {\r\n iv: this.iv,\r\n mode: CryptoJSCore.mode.CBC,\r\n padding: Pkcs7\r\n }).toString(UTF8).toString();\r\n }\r\n\r\n public static handleError(error: any): Observable<never> {\r\n if (error.error instanceof ErrorEvent) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n console.error('Client side network error occurred:', error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n console.error('Backend - ' +\r\n `status: ${error.status}, ` +\r\n `statusText: ${error.statusText}, ` +\r\n `message: ${error.message}`);\r\n }\r\n\r\n // return an observable with a user-facing error message\r\n return throwError(() => error ?? 'server error');\r\n }\r\n\r\n public static getHttpResponseMessage(data: any): string[] {\r\n\r\n const responses: string[] = [];\r\n\r\n if (data instanceof HttpResponseBase) {\r\n if (this.checkNoNetwork(data)) {\r\n responses.push(`${this.noNetworkMessageCaption}${this.captionAndMessageSeparator} ${this.noNetworkMessageDetail}`);\r\n } else {\r\n const responseObject = this.getResponseBody(data);\r\n\r\n if (responseObject && (typeof responseObject === 'object' || responseObject instanceof Object)) {\r\n\r\n for (const key in responseObject) {\r\n if (Object.prototype.hasOwnProperty.call(responseObject, key)) {\r\n if (key) {\r\n responses.push(`${key}${this.captionAndMessageSeparator} ${responseObject[key]}`);\r\n } else if (responseObject[key]) {\r\n responses.push(responseObject[key].toString());\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (!responses.length && this.getResponseBody(data)) {\r\n responses.push(`${this.getResponseBody(data).toString()}`);\r\n }\r\n }\r\n\r\n if (!responses.length) {\r\n responses.push(data.toString());\r\n }\r\n\r\n if (this.checkAccessDenied(data)) {\r\n responses.splice(0, 0, `${this.accessDeniedMessageCaption}${this.captionAndMessageSeparator} ${this.accessDeniedMessageDetail}`);\r\n }\r\n\r\n return responses;\r\n }\r\n\r\n\r\n public static findHttpResponseMessage(messageToFind: string, data: any, seachInCaptionOnly = true, includeCaptionInResult = false): string | null {\r\n const searchString = messageToFind.toLowerCase();\r\n const httpMessages = this.getHttpResponseMessage(data);\r\n\r\n for (const message of httpMessages) {\r\n const fullMessage = CmatUtilsService.splitInTwo(message, this.captionAndMessageSeparator);\r\n\r\n if (fullMessage.firstPart?.toLowerCase().includes(searchString)) {\r\n return includeCaptionInResult ? message : fullMessage.secondPart ?? fullMessage.firstPart;\r\n }\r\n }\r\n\r\n if (!seachInCaptionOnly) {\r\n for (const message of httpMessages) {\r\n\r\n if (message.toLowerCase().includes(searchString)) {\r\n if (includeCaptionInResult) {\r\n return message;\r\n } else {\r\n const fullMessage = CmatUtilsService.splitInTwo(message, this.captionAndMessageSeparator);\r\n return fullMessage.secondPart ?? fullMessage.firstPart;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public static getResponseBody(response: HttpResponseBase): any {\r\n if (response instanceof HttpResponse) {\r\n return response.body;\r\n }\r\n\r\n if (response instanceof HttpErrorResponse) {\r\n return response.error ?? response.message ?? response.statusText;\r\n }\r\n return response;\r\n }\r\n\r\n\r\n public static checkNoNetwork(response: HttpResponseBase): boolean {\r\n if (response instanceof HttpResponseBase) {\r\n return response.status === 0;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static checkAccessDenied(response: HttpResponseBase): boolean {\r\n if (response instanceof HttpResponseBase) {\r\n return response.status === 403;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static checkNotFound(response: HttpResponseBase): boolean {\r\n if (response instanceof HttpResponseBase) {\r\n return response.status === 404;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static checkIsLocalHost(url: string, base?: string): boolean {\r\n if (url) {\r\n const location = new URL(url, base);\r\n return location.hostname === 'localhost' || location.hostname === '127.0.0.1';\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static getQueryParamsFromString(paramString: string): Record<string, string | null> | null {\r\n if (!paramString) {\r\n return null;\r\n }\r\n\r\n const params: Record<string, string | null> = {};\r\n\r\n for (const param of paramString.split('&')) {\r\n const keyValue = CmatUtilsService.splitInTwo(param, '=');\r\n params[keyValue.firstPart] = keyValue.secondPart;\r\n }\r\n\r\n return params;\r\n }\r\n\r\n public static splitInTwo(text: string, separator?: string): { firstPart: string; secondPart: string | null } {\r\n const separatorIndex = separator ? text.indexOf(separator) : -1;\r\n\r\n if (separatorIndex === -1) {\r\n return { firstPart: text, secondPart: null };\r\n }\r\n\r\n const part1 = text.substring(0, separatorIndex).trim();\r\n const part2 = text.substring(separatorIndex + 1).trim();\r\n\r\n return { firstPart: part1, secondPart: part2 };\r\n }\r\n\r\n public static safeStringify(object: any): string {\r\n let result: string;\r\n\r\n try {\r\n result = JSON.stringify(object);\r\n return result;\r\n } catch { /* empty */ }\r\n\r\n const simpleObject: any = {};\r\n\r\n for (const prop in object) {\r\n if (!Object.prototype.hasOwnProperty.call(object, prop)) {\r\n continue;\r\n }\r\n if (typeof (object[prop]) == 'object') {\r\n continue;\r\n }\r\n if (typeof (object[prop]) == 'function') {\r\n continue;\r\n }\r\n simpleObject[prop] = object[prop];\r\n }\r\n\r\n result = '[***Sanitized Object***]: ' + JSON.stringify(simpleObject);\r\n\r\n return result;\r\n }\r\n\r\n public static jsonTryParse(value: string): string | void {\r\n try {\r\n return JSON.parse(value);\r\n } catch {\r\n if (isUndefined(value)) {\r\n return void 0;\r\n }\r\n\r\n return value;\r\n }\r\n }\r\n\r\n public static capitalizeFirstLetter(text: string): string {\r\n if (text) {\r\n return text.charAt(0).toUpperCase() + text.slice(1);\r\n } else {\r\n return text;\r\n }\r\n }\r\n\r\n\r\n public static toTitleCase(text: string): string {\r\n return text.replace(/\\w\\S*/g, subString => subString.charAt(0).toUpperCase() + subString.substring(1).toLowerCase());\r\n }\r\n\r\n public static toLowerCase(items: any): string | string[] | void {\r\n if (items instanceof Array) {\r\n const loweredRoles: string[] = [];\r\n\r\n for (let i = 0; i < items.length; i++) {\r\n loweredRoles[i] = items[i].toLowerCase();\r\n }\r\n\r\n return loweredRoles;\r\n } else if (typeof items === 'string' || items instanceof String) {\r\n return items.toLowerCase();\r\n }\r\n\r\n return void 0;\r\n }\r\n\r\n public static uniqueId(): string {\r\n return this.randomNumber(1000000, 9000000).toString();\r\n }\r\n\r\n public static randomNumber(min: number, max: number): number {\r\n return Math.floor(Math.random() * (max - min + 1) + min);\r\n }\r\n\r\n public static baseUrl(): string {\r\n let base: string;\r\n\r\n if (window.location.origin) {\r\n base = window.location.origin;\r\n } else {\r\n base = window.location.protocol + '//' + window.location.hostname + (window.location.port ? ':' + window.location.port : '');\r\n }\r\n\r\n return base.replace(/\\/$/, '');\r\n }\r\n\r\n public static newGuid(): string {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\r\n\r\n const r = (Math.random() * 16) | 0;\r\n\r\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n });\r\n }\r\n\r\n public static testIsAbsoluteUrl(url: string): boolean {\r\n const r = new RegExp('^(?:[a-z]+:)?//', 'i');\r\n return r.test(url);\r\n }\r\n\r\n public static convertToAbsoluteUrl(url: string): string {\r\n return CmatUtilsService.testIsAbsoluteUrl(url) ? url : '//' + url;\r\n }\r\n\r\n public static urlBase64Decode(str: string): string {\r\n let output = str.replace(/-/g, '+').replace(/_/g, '/');\r\n switch (output.length % 4) {\r\n case 0: {\r\n break;\r\n }\r\n case 2: {\r\n output += '==';\r\n break;\r\n }\r\n case 3: {\r\n output += '=';\r\n break;\r\n }\r\n }\r\n return this._base64DecodeUnicode(output);\r\n }\r\n\r\n public static decodeToken(token: string): any {\r\n const parts = token.split('.');\r\n\r\n if (parts.length !== 3) {\r\n throw new Error('JWT must have 3 parts');\r\n }\r\n\r\n const decoded = this.urlBase64Decode(parts[1]);\r\n if (!decoded) {\r\n throw new Error('Cannot decode the token');\r\n }\r\n\r\n return JSON.parse(decoded);\r\n }\r\n\r\n public static getTokenExpirationDate(token: string): Date | null {\r\n const decoded = this.decodeToken(token);\r\n\r\n if (!Object.prototype.hasOwnProperty.call(decoded, 'exp')) {\r\n return null;\r\n }\r\n\r\n const date = new Date(0); // The 0 here is the key, which sets the date to the epoch\r\n date.setUTCSeconds(decoded.exp);\r\n\r\n return date;\r\n }\r\n\r\n public static isTokenExpired(token: string, offsetSeconds?: number): boolean {\r\n const date = this.getTokenExpirationDate(token);\r\n offsetSeconds = offsetSeconds ?? 0;\r\n\r\n if (date == null) {\r\n return false;\r\n }\r\n\r\n // Token expired?\r\n return !(date.valueOf() > (new Date().valueOf() + (offsetSeconds * 1000)));\r\n }\r\n\r\n public static readAsDataURL(file: File): Promise<any> {\r\n // Return a new promise\r\n return new Promise((resolve, reject) => {\r\n\r\n // Create a new reader\r\n const reader = new FileReader();\r\n\r\n // Resolve the promise on success\r\n reader.onload = (): void => {\r\n resolve(reader.result);\r\n };\r\n\r\n // Reject the promise on error\r\n reader.onerror = (e): void => {\r\n // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\r\n reject(e);\r\n };\r\n\r\n // Read the file as the\r\n reader.readAsDataURL(file);\r\n });\r\n }\r\n\r\n public static dataURIToBlob(dataURI: string): Blob {\r\n const splitDataURI = dataURI.split(',');\r\n\r\n const byteString = splitDataURI[0].includes('base64') ? atob(splitDataURI[1]) : decodeURI(splitDataURI[1]);\r\n const mimeString = splitDataURI[0].split(':')[1].split(';')[0];\r\n\r\n const ia = new Uint8Array(byteString.length);\r\n for (let i = 0; i < byteString.length; i++) {\r\n ia[i] = byteString.charCodeAt(i);\r\n }\r\n\r\n return new Blob([ia], { type: mimeString });\r\n }\r\n\r\n public static getFileType(accept: string): 'csv' | 'gif' | 'word' | 'excel' | 'jpg' | 'outlook' | 'pdf' | 'png' | 'ppt' | 'file' | 'text' | 'video' | 'zip' {\r\n let fileType = 'file';\r\n switch (accept) {\r\n case 'image/jpeg':\r\n case 'image/jpg':\r\n fileType = 'jpg';\r\n break;\r\n case 'image/png':\r\n fileType = 'png';\r\n break;\r\n case 'text/csv':\r\n fileType = 'csv';\r\n break;\r\n case 'image/gif':\r\n fileType = 'gif';\r\n break;\r\n case 'application/msword':\r\n case 'application/vnd.openxmlformats-officedocument.wordprocessingml.document':\r\n fileType = 'word';\r\n break;\r\n case 'application/vnd.ms-excel':\r\n case 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet':\r\n fileType = 'word';\r\n break;\r\n case 'application/pdf':\r\n fileType = 'pdf';\r\n break;\r\n case 'application/vnd.openxmlformats-officedocument.presentationml.presentation':\r\n case 'application/vnd.ms-powerpoint':\r\n fileType = 'ppt';\r\n break;\r\n case 'text/plain':\r\n fileType = 'text';\r\n break;\r\n case 'video/mpeg':\r\n case 'video/mp4':\r\n case 'audio/mp4':\r\n fileType = 'video';\r\n break;\r\n case 'aplication/zip':\r\n fileType = 'zip';\r\n break;\r\n }\r\n\r\n return fileType as 'csv' | 'gif' | 'word' | 'excel' | 'jpg' | 'outlook' | 'pdf' | 'png' | 'ppt' | 'file' | 'text' | 'video' | 'zip';\r\n }\r\n\r\n private static _base64DecodeUnicode(str: any): string {\r\n return decodeURIComponent(Array.prototype.map.call(atob(str), (c: any) => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)).join(''));\r\n }\r\n\r\n randomId(stringLength: number = 10): string {\r\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\r\n let id = '';\r\n\r\n for (let i = 0; i < stringLength; i++) {\r\n id += chars.charAt(Math.floor(Math.random() * chars.length));\r\n }\r\n\r\n return id;\r\n }\r\n}\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cmat-services-utils.mjs","sources":["../../../projects/cmat/services/utils/utils.service.ts","../../../projects/cmat/services/utils/cmat-services-utils.ts"],"sourcesContent":["import { HttpErrorResponse, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IsActiveMatchOptions } from '@angular/router';\r\nimport AES from 'crypto-js/aes';\r\nimport CryptoJSCore from 'crypto-js/core';\r\nimport Base64 from 'crypto-js/enc-base64';\r\nimport Hex from 'crypto-js/enc-hex';\r\nimport UTF8 from 'crypto-js/enc-utf8';\r\nimport Pkcs7 from 'crypto-js/pad-pkcs7';\r\nimport { isUndefined } from 'lodash-es';\r\nimport { throwError, Observable } from 'rxjs';\r\nimport { CMAT_VERSION } from 'cmat/version';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatUtilsService {\r\n public static readonly captionAndMessageSeparator = ':';\r\n public static readonly noNetworkMessageCaption = '无网络';\r\n public static readonly noNetworkMessageDetail = '无法连接服务器';\r\n public static readonly accessDeniedMessageCaption = '拒绝访问!';\r\n public static readonly accessDeniedMessageDetail = '';\r\n private static readonly key = UTF8.parse('14789632236987411478963223698741');//32位\r\n private static readonly iv = UTF8.parse('1478963223698741');//16位\r\n\r\n get exactMatchOptions(): IsActiveMatchOptions {\r\n return {\r\n paths: 'exact',\r\n fragment: 'ignored',\r\n matrixParams: 'ignored',\r\n queryParams: 'exact'\r\n };\r\n }\r\n\r\n get subsetMatchOptions(): IsActiveMatchOptions {\r\n return {\r\n paths: 'subset',\r\n fragment: 'ignored',\r\n matrixParams: 'ignored',\r\n queryParams: 'subset'\r\n };\r\n }\r\n\r\n public static getRequestHeaders(): HttpHeaders {\r\n return new HttpHeaders()\r\n .append('Access-Control-Allow-Origin', '*')\r\n .append('Content-Type', 'application/json')\r\n .append('Accept', `application/vnd.iman.v${CMAT_VERSION}+json, application/json, text/plain, */*`)\r\n .append('App-Version', CMAT_VERSION);\r\n }\r\n\r\n public static getRequestIdempotentHeaders(): HttpHeaders {\r\n return new HttpHeaders()\r\n .append('Access-Control-Allow-Origin', '*')\r\n .append('Content-Type', 'application/json')\r\n .append('X-Request-ID', CmatUtilsService.newGuid())\r\n .append('Accept', `application/vnd.iman.v${CMAT_VERSION}+json, application/json, text/plain, */*`)\r\n .append('App-Version', CMAT_VERSION);\r\n }\r\n\r\n public static getRequestBypassHeaders(): HttpHeaders {\r\n return new HttpHeaders()\r\n .append('Access-Control-Allow-Origin', '*')\r\n .append('Content-Type', 'application/json')\r\n .append('bypass', 'true')\r\n .append('Accept', `application/vnd.iman.v${CMAT_VERSION}+json, application/json, text/plain, */*`)\r\n .append('App-Version', CMAT_VERSION);\r\n }\r\n\r\n public static getRequestIdempotentBypassHeaders(): HttpHeaders {\r\n return new HttpHeaders()\r\n .append('Access-Control-Allow-Origin', '*')\r\n .append('Content-Type', 'application/json')\r\n .append('X-Request-ID', CmatUtilsService.newGuid())\r\n .append('bypass', 'true')\r\n .append('Accept', `application/vnd.iman.v${CMAT_VERSION}+json, application/json, text/plain, */*`)\r\n .append('App-Version', CMAT_VERSION);\r\n }\r\n\r\n public static getRequestCryptoHeaders(params: string): HttpHeaders {\r\n return new HttpHeaders()\r\n .append('Access-Control-Allow-Origin', '*')\r\n .append('Accept', `application/vnd.iman.v${CMAT_VERSION}+json, application/json, text/plain, */*`)\r\n .append('App-Version', this.getEncryptData('partymanageApi' + params).toString());\r\n }\r\n\r\n public static getRequestCryptoBypassHeaders(params: string): HttpHeaders {\r\n return new HttpHeaders()\r\n .append('Access-Control-Allow-Origin', '*')\r\n .append('Accept', `application/vnd.iman.v${CMAT_VERSION}+json, application/json, text/plain, */*`)\r\n .append('bypass', 'true')\r\n .append('App-Version', this.getEncryptData('partymanageApi' + params).toString());\r\n }\r\n\r\n public static getRequestCryptoIdempotentHeaders(params: string): HttpHeaders {\r\n return new HttpHeaders()\r\n .append('Access-Control-Allow-Origin', '*')\r\n .append('X-Request-ID', CmatUtilsService.newGuid())\r\n .append('Accept', `application/vnd.iman.v${CMAT_VERSION}+json, application/json, text/plain, */*`)\r\n .append('App-Version', this.getEncryptData('partymanageApi' + params).toString());\r\n }\r\n\r\n public static getRequestCryptoIdempotentBypassHeaders(params: string): HttpHeaders {\r\n return new HttpHeaders()\r\n .append('Access-Control-Allow-Origin', '*')\r\n .append('X-Request-ID', CmatUtilsService.newGuid())\r\n .append('Accept', `application/vnd.iman.v${CMAT_VERSION}+json, application/json, text/plain, */*`)\r\n .append('bypass', 'true')\r\n .append('App-Version', this.getEncryptData('partymanageApi' + params).toString());\r\n }\r\n\r\n public static getEncryptData(data: string): string {\r\n const src = UTF8.parse(data);\r\n\r\n return AES.encrypt(src, this.key, {\r\n iv: this.iv,\r\n mode: CryptoJSCore.mode.CBC,\r\n padding: Pkcs7\r\n }).ciphertext.toString();\r\n }\r\n\r\n public static getDecryptData(data: string): string {\r\n const encryptedHexStr = Hex.parse(data);\r\n return AES.decrypt(Base64.stringify(encryptedHexStr), this.key, {\r\n iv: this.iv,\r\n mode: CryptoJSCore.mode.CBC,\r\n padding: Pkcs7\r\n }).toString(UTF8).toString();\r\n }\r\n\r\n public static handleError(error: any): Observable<never> {\r\n if (error.error instanceof ErrorEvent) {\r\n // A client-side or network error occurred. Handle it accordingly.\r\n console.error('Client side network error occurred:', error.message);\r\n } else {\r\n // The backend returned an unsuccessful response code.\r\n // The response body may contain clues as to what went wrong,\r\n console.error('Backend - ' +\r\n `status: ${error.status}, ` +\r\n `statusText: ${error.statusText}, ` +\r\n `message: ${error.message}`);\r\n }\r\n\r\n // return an observable with a user-facing error message\r\n return throwError(() => error ?? 'server error');\r\n }\r\n\r\n public static getHttpResponseMessage(data: any): string[] {\r\n\r\n const responses: string[] = [];\r\n\r\n if (data instanceof HttpResponseBase) {\r\n if (this.checkNoNetwork(data)) {\r\n responses.push(`${this.noNetworkMessageCaption}${this.captionAndMessageSeparator} ${this.noNetworkMessageDetail}`);\r\n } else {\r\n const responseObject = this.getResponseBody(data);\r\n\r\n if (responseObject && (typeof responseObject === 'object' || responseObject instanceof Object)) {\r\n\r\n for (const key in responseObject) {\r\n if (Object.prototype.hasOwnProperty.call(responseObject, key)) {\r\n if (key) {\r\n responses.push(`${key}${this.captionAndMessageSeparator} ${responseObject[key]}`);\r\n } else if (responseObject[key]) {\r\n responses.push(responseObject[key].toString());\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (!responses.length && this.getResponseBody(data)) {\r\n responses.push(`${this.getResponseBody(data).toString()}`);\r\n }\r\n }\r\n\r\n if (!responses.length) {\r\n responses.push(data.toString());\r\n }\r\n\r\n if (this.checkAccessDenied(data)) {\r\n responses.splice(0, 0, `${this.accessDeniedMessageCaption}${this.captionAndMessageSeparator} ${this.accessDeniedMessageDetail}`);\r\n }\r\n\r\n return responses;\r\n }\r\n\r\n\r\n public static findHttpResponseMessage(messageToFind: string, data: any, seachInCaptionOnly = true, includeCaptionInResult = false): string | null {\r\n const searchString = messageToFind.toLowerCase();\r\n const httpMessages = this.getHttpResponseMessage(data);\r\n\r\n for (const message of httpMessages) {\r\n const fullMessage = CmatUtilsService.splitInTwo(message, this.captionAndMessageSeparator);\r\n\r\n if (fullMessage.firstPart?.toLowerCase().includes(searchString)) {\r\n return includeCaptionInResult ? message : fullMessage.secondPart ?? fullMessage.firstPart;\r\n }\r\n }\r\n\r\n if (!seachInCaptionOnly) {\r\n for (const message of httpMessages) {\r\n\r\n if (message.toLowerCase().includes(searchString)) {\r\n if (includeCaptionInResult) {\r\n return message;\r\n } else {\r\n const fullMessage = CmatUtilsService.splitInTwo(message, this.captionAndMessageSeparator);\r\n return fullMessage.secondPart ?? fullMessage.firstPart;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public static getResponseBody(response: HttpResponseBase): any {\r\n if (response instanceof HttpResponse) {\r\n return response.body;\r\n }\r\n\r\n if (response instanceof HttpErrorResponse) {\r\n return response.error ?? response.message ?? response.statusText;\r\n }\r\n return response;\r\n }\r\n\r\n\r\n public static checkNoNetwork(response: HttpResponseBase): boolean {\r\n if (response instanceof HttpResponseBase) {\r\n return response.status === 0;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static checkAccessDenied(response: HttpResponseBase): boolean {\r\n if (response instanceof HttpResponseBase) {\r\n return response.status === 403;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static checkNotFound(response: HttpResponseBase): boolean {\r\n if (response instanceof HttpResponseBase) {\r\n return response.status === 404;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static checkIsLocalHost(url: string, base?: string): boolean {\r\n if (url) {\r\n const location = new URL(url, base);\r\n return location.hostname === 'localhost' || location.hostname === '127.0.0.1';\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static getQueryParamsFromString(paramString: string): Record<string, string | null> | null {\r\n if (!paramString) {\r\n return null;\r\n }\r\n\r\n const params: Record<string, string | null> = {};\r\n\r\n for (const param of paramString.split('&')) {\r\n const keyValue = CmatUtilsService.splitInTwo(param, '=');\r\n params[keyValue.firstPart] = keyValue.secondPart;\r\n }\r\n\r\n return params;\r\n }\r\n\r\n public static splitInTwo(text: string, separator?: string): { firstPart: string; secondPart: string | null } {\r\n const separatorIndex = separator ? text.indexOf(separator) : -1;\r\n\r\n if (separatorIndex === -1) {\r\n return { firstPart: text, secondPart: null };\r\n }\r\n\r\n const part1 = text.substring(0, separatorIndex).trim();\r\n const part2 = text.substring(separatorIndex + 1).trim();\r\n\r\n return { firstPart: part1, secondPart: part2 };\r\n }\r\n\r\n public static safeStringify(object: any): string {\r\n let result: string;\r\n\r\n try {\r\n result = JSON.stringify(object);\r\n return result;\r\n } catch { /* empty */ }\r\n\r\n const simpleObject: any = {};\r\n\r\n for (const prop in object) {\r\n if (!Object.prototype.hasOwnProperty.call(object, prop)) {\r\n continue;\r\n }\r\n if (typeof (object[prop]) == 'object') {\r\n continue;\r\n }\r\n if (typeof (object[prop]) == 'function') {\r\n continue;\r\n }\r\n simpleObject[prop] = object[prop];\r\n }\r\n\r\n result = '[***Sanitized Object***]: ' + JSON.stringify(simpleObject);\r\n\r\n return result;\r\n }\r\n\r\n public static jsonTryParse(value: string): string | void {\r\n try {\r\n return JSON.parse(value);\r\n } catch {\r\n if (isUndefined(value)) {\r\n return void 0;\r\n }\r\n\r\n return value;\r\n }\r\n }\r\n\r\n public static capitalizeFirstLetter(text: string): string {\r\n if (text) {\r\n return text.charAt(0).toUpperCase() + text.slice(1);\r\n } else {\r\n return text;\r\n }\r\n }\r\n\r\n\r\n public static toTitleCase(text: string): string {\r\n return text.replace(/\\w\\S*/g, subString => subString.charAt(0).toUpperCase() + subString.substring(1).toLowerCase());\r\n }\r\n\r\n public static toLowerCase(items: any): string | string[] | void {\r\n if (items instanceof Array) {\r\n const loweredRoles: string[] = [];\r\n\r\n for (let i = 0; i < items.length; i++) {\r\n loweredRoles[i] = items[i].toLowerCase();\r\n }\r\n\r\n return loweredRoles;\r\n } else if (typeof items === 'string' || items instanceof String) {\r\n return items.toLowerCase();\r\n }\r\n\r\n return void 0;\r\n }\r\n\r\n public static uniqueId(): string {\r\n return this.randomNumber(1000000, 9000000).toString();\r\n }\r\n\r\n public static randomNumber(min: number, max: number): number {\r\n return Math.floor(Math.random() * (max - min + 1) + min);\r\n }\r\n\r\n public static baseUrl(): string {\r\n let base: string;\r\n\r\n if (window.location.origin) {\r\n base = window.location.origin;\r\n } else {\r\n base = window.location.protocol + '//' + window.location.hostname + (window.location.port ? ':' + window.location.port : '');\r\n }\r\n\r\n return base.replace(/\\/$/, '');\r\n }\r\n\r\n public static newGuid(): string {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\r\n\r\n const r = (Math.random() * 16) | 0;\r\n\r\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n });\r\n }\r\n\r\n public static testIsAbsoluteUrl(url: string): boolean {\r\n const r = new RegExp('^(?:[a-z]+:)?//', 'i');\r\n return r.test(url);\r\n }\r\n\r\n public static convertToAbsoluteUrl(url: string): string {\r\n return CmatUtilsService.testIsAbsoluteUrl(url) ? url : '//' + url;\r\n }\r\n\r\n public static urlBase64Decode(str: string): string {\r\n let output = str.replace(/-/g, '+').replace(/_/g, '/');\r\n switch (output.length % 4) {\r\n case 0: {\r\n break;\r\n }\r\n case 2: {\r\n output += '==';\r\n break;\r\n }\r\n case 3: {\r\n output += '=';\r\n break;\r\n }\r\n }\r\n return this._base64DecodeUnicode(output);\r\n }\r\n\r\n public static decodeToken(token: string): any {\r\n const parts = token.split('.');\r\n\r\n if (parts.length !== 3) {\r\n throw new Error('JWT must have 3 parts');\r\n }\r\n\r\n const decoded = this.urlBase64Decode(parts[1]);\r\n if (!decoded) {\r\n throw new Error('Cannot decode the token');\r\n }\r\n\r\n return JSON.parse(decoded);\r\n }\r\n\r\n public static getTokenExpirationDate(token: string): Date | null {\r\n const decoded = this.decodeToken(token);\r\n\r\n if (!Object.prototype.hasOwnProperty.call(decoded, 'exp')) {\r\n return null;\r\n }\r\n\r\n const date = new Date(0); // The 0 here is the key, which sets the date to the epoch\r\n date.setUTCSeconds(decoded.exp);\r\n\r\n return date;\r\n }\r\n\r\n public static isTokenExpired(token: string, offsetSeconds?: number): boolean {\r\n const date = this.getTokenExpirationDate(token);\r\n offsetSeconds = offsetSeconds ?? 0;\r\n\r\n if (date == null) {\r\n return false;\r\n }\r\n\r\n // Token expired?\r\n return !(date.valueOf() > (new Date().valueOf() + (offsetSeconds * 1000)));\r\n }\r\n\r\n public static readAsDataURL(file: File): Promise<any> {\r\n // Return a new promise\r\n return new Promise((resolve, reject) => {\r\n\r\n // Create a new reader\r\n const reader = new FileReader();\r\n\r\n // Resolve the promise on success\r\n reader.onload = (): void => {\r\n resolve(reader.result);\r\n };\r\n\r\n // Reject the promise on error\r\n reader.onerror = (e): void => {\r\n // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\r\n reject(e);\r\n };\r\n\r\n // Read the file as the\r\n reader.readAsDataURL(file);\r\n });\r\n }\r\n\r\n public static dataURIToBlob(dataURI: string): Blob {\r\n const splitDataURI = dataURI.split(',');\r\n\r\n const byteString = splitDataURI[0].includes('base64') ? atob(splitDataURI[1]) : decodeURI(splitDataURI[1]);\r\n const mimeString = splitDataURI[0].split(':')[1].split(';')[0];\r\n\r\n const ia = new Uint8Array(byteString.length);\r\n for (let i = 0; i < byteString.length; i++) {\r\n ia[i] = byteString.charCodeAt(i);\r\n }\r\n\r\n return new Blob([ia], { type: mimeString });\r\n }\r\n\r\n public static getFileType(accept: string): 'csv' | 'gif' | 'word' | 'excel' | 'jpg' | 'outlook' | 'pdf' | 'png' | 'ppt' | 'file' | 'text' | 'video' | 'zip' {\r\n let fileType = 'file';\r\n switch (accept) {\r\n case 'image/jpeg':\r\n case 'image/jpg':\r\n fileType = 'jpg';\r\n break;\r\n case 'image/png':\r\n fileType = 'png';\r\n break;\r\n case 'text/csv':\r\n fileType = 'csv';\r\n break;\r\n case 'image/gif':\r\n fileType = 'gif';\r\n break;\r\n case 'application/msword':\r\n case 'application/vnd.openxmlformats-officedocument.wordprocessingml.document':\r\n fileType = 'word';\r\n break;\r\n case 'application/vnd.ms-excel':\r\n case 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet':\r\n fileType = 'word';\r\n break;\r\n case 'application/pdf':\r\n fileType = 'pdf';\r\n break;\r\n case 'application/vnd.openxmlformats-officedocument.presentationml.presentation':\r\n case 'application/vnd.ms-powerpoint':\r\n fileType = 'ppt';\r\n break;\r\n case 'text/plain':\r\n fileType = 'text';\r\n break;\r\n case 'video/mpeg':\r\n case 'video/mp4':\r\n case 'audio/mp4':\r\n fileType = 'video';\r\n break;\r\n case 'aplication/zip':\r\n fileType = 'zip';\r\n break;\r\n }\r\n\r\n return fileType as 'csv' | 'gif' | 'word' | 'excel' | 'jpg' | 'outlook' | 'pdf' | 'png' | 'ppt' | 'file' | 'text' | 'video' | 'zip';\r\n }\r\n\r\n private static _base64DecodeUnicode(str: any): string {\r\n return decodeURIComponent(Array.prototype.map.call(atob(str), (c: any) => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)).join(''));\r\n }\r\n\r\n randomId(stringLength: number = 10): string {\r\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\r\n let id = '';\r\n\r\n for (let i = 0; i < stringLength; i++) {\r\n id += chars.charAt(Math.floor(Math.random() * chars.length));\r\n }\r\n\r\n return id;\r\n }\r\n}\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;MAgBa,gBAAgB,CAAA;aACF,IAAA,CAAA,0BAA0B,GAAG,GAAH,CAAO;aACjC,IAAA,CAAA,uBAAuB,GAAG,KAAH,CAAS;aAChC,IAAA,CAAA,sBAAsB,GAAG,SAAH,CAAa;aACnC,IAAA,CAAA,0BAA0B,GAAG,OAAH,CAAW;aACrC,IAAA,CAAA,yBAAyB,GAAG,EAAH,CAAM;aAC9B,IAAA,CAAA,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAhD,CAAkD,EAAA;aACrD,IAAA,CAAA,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAhC,CAAkC,EAAA;AAE5D,IAAA,IAAI,iBAAiB,GAAA;QACjB,OAAO;AACH,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,SAAS;AACnB,YAAA,YAAY,EAAE,SAAS;AACvB,YAAA,WAAW,EAAE;SAChB;;AAGL,IAAA,IAAI,kBAAkB,GAAA;QAClB,OAAO;AACH,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,QAAQ,EAAE,SAAS;AACnB,YAAA,YAAY,EAAE,SAAS;AACvB,YAAA,WAAW,EAAE;SAChB;;AAGE,IAAA,OAAO,iBAAiB,GAAA;QAC3B,OAAO,IAAI,WAAW;AACjB,aAAA,MAAM,CAAC,6BAA6B,EAAE,GAAG;AACzC,aAAA,MAAM,CAAC,cAAc,EAAE,kBAAkB;AACzC,aAAA,MAAM,CAAC,QAAQ,EAAE,CAAA,sBAAA,EAAyB,YAAY,0CAA0C;AAChG,aAAA,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC;;AAGrC,IAAA,OAAO,2BAA2B,GAAA;QACrC,OAAO,IAAI,WAAW;AACjB,aAAA,MAAM,CAAC,6BAA6B,EAAE,GAAG;AACzC,aAAA,MAAM,CAAC,cAAc,EAAE,kBAAkB;AACzC,aAAA,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,OAAO,EAAE;AACjD,aAAA,MAAM,CAAC,QAAQ,EAAE,CAAA,sBAAA,EAAyB,YAAY,0CAA0C;AAChG,aAAA,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC;;AAGrC,IAAA,OAAO,uBAAuB,GAAA;QACjC,OAAO,IAAI,WAAW;AACjB,aAAA,MAAM,CAAC,6BAA6B,EAAE,GAAG;AACzC,aAAA,MAAM,CAAC,cAAc,EAAE,kBAAkB;AACzC,aAAA,MAAM,CAAC,QAAQ,EAAE,MAAM;AACvB,aAAA,MAAM,CAAC,QAAQ,EAAE,CAAA,sBAAA,EAAyB,YAAY,0CAA0C;AAChG,aAAA,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC;;AAGrC,IAAA,OAAO,iCAAiC,GAAA;QAC3C,OAAO,IAAI,WAAW;AACjB,aAAA,MAAM,CAAC,6BAA6B,EAAE,GAAG;AACzC,aAAA,MAAM,CAAC,cAAc,EAAE,kBAAkB;AACzC,aAAA,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,OAAO,EAAE;AACjD,aAAA,MAAM,CAAC,QAAQ,EAAE,MAAM;AACvB,aAAA,MAAM,CAAC,QAAQ,EAAE,CAAA,sBAAA,EAAyB,YAAY,0CAA0C;AAChG,aAAA,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC;;IAGrC,OAAO,uBAAuB,CAAC,MAAc,EAAA;QAChD,OAAO,IAAI,WAAW;AACjB,aAAA,MAAM,CAAC,6BAA6B,EAAE,GAAG;AACzC,aAAA,MAAM,CAAC,QAAQ,EAAE,CAAA,sBAAA,EAAyB,YAAY,0CAA0C;AAChG,aAAA,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,gBAAgB,GAAG,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;;IAGlF,OAAO,6BAA6B,CAAC,MAAc,EAAA;QACtD,OAAO,IAAI,WAAW;AACjB,aAAA,MAAM,CAAC,6BAA6B,EAAE,GAAG;AACzC,aAAA,MAAM,CAAC,QAAQ,EAAE,CAAA,sBAAA,EAAyB,YAAY,0CAA0C;AAChG,aAAA,MAAM,CAAC,QAAQ,EAAE,MAAM;AACvB,aAAA,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,gBAAgB,GAAG,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;;IAGlF,OAAO,iCAAiC,CAAC,MAAc,EAAA;QAC1D,OAAO,IAAI,WAAW;AACjB,aAAA,MAAM,CAAC,6BAA6B,EAAE,GAAG;AACzC,aAAA,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,OAAO,EAAE;AACjD,aAAA,MAAM,CAAC,QAAQ,EAAE,CAAA,sBAAA,EAAyB,YAAY,0CAA0C;AAChG,aAAA,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,gBAAgB,GAAG,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;;IAGlF,OAAO,uCAAuC,CAAC,MAAc,EAAA;QAChE,OAAO,IAAI,WAAW;AACjB,aAAA,MAAM,CAAC,6BAA6B,EAAE,GAAG;AACzC,aAAA,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,OAAO,EAAE;AACjD,aAAA,MAAM,CAAC,QAAQ,EAAE,CAAA,sBAAA,EAAyB,YAAY,0CAA0C;AAChG,aAAA,MAAM,CAAC,QAAQ,EAAE,MAAM;AACvB,aAAA,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,gBAAgB,GAAG,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;;IAGlF,OAAO,cAAc,CAAC,IAAY,EAAA;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAE5B,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;YAC9B,EAAE,EAAE,IAAI,CAAC,EAAE;AACX,YAAA,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG;AAC3B,YAAA,OAAO,EAAE;AACZ,SAAA,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE;;IAGrB,OAAO,cAAc,CAAC,IAAY,EAAA;QACrC,MAAM,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;AACvC,QAAA,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE;YAC5D,EAAE,EAAE,IAAI,CAAC,EAAE;AACX,YAAA,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG;AAC3B,YAAA,OAAO,EAAE;SACZ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;;IAGzB,OAAO,WAAW,CAAC,KAAU,EAAA;AAChC,QAAA,IAAI,KAAK,CAAC,KAAK,YAAY,UAAU,EAAE;;YAEnC,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,OAAO,CAAC;;aAChE;;;YAGH,OAAO,CAAC,KAAK,CAAC,YAAY;gBACtB,CAAA,QAAA,EAAW,KAAK,CAAC,MAAM,CAAA,EAAA,CAAI;gBAC3B,CAAA,YAAA,EAAe,KAAK,CAAC,UAAU,CAAA,EAAA,CAAI;AACnC,gBAAA,CAAA,SAAA,EAAY,KAAK,CAAC,OAAO,CAAA,CAAE,CAAC;;;QAIpC,OAAO,UAAU,CAAC,MAAM,KAAK,IAAI,cAAc,CAAC;;IAG7C,OAAO,sBAAsB,CAAC,IAAS,EAAA;QAE1C,MAAM,SAAS,GAAa,EAAE;AAE9B,QAAA,IAAI,IAAI,YAAY,gBAAgB,EAAE;AAClC,YAAA,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;AAC3B,gBAAA,SAAS,CAAC,IAAI,CAAC,CAAA,EAAG,IAAI,CAAC,uBAAuB,CAAA,EAAG,IAAI,CAAC,0BAA0B,CAAA,CAAA,EAAI,IAAI,CAAC,sBAAsB,CAAA,CAAE,CAAC;;iBAC/G;gBACH,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;AAEjD,gBAAA,IAAI,cAAc,KAAK,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,YAAY,MAAM,CAAC,EAAE;AAE5F,oBAAA,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE;AAC9B,wBAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE;4BAC3D,IAAI,GAAG,EAAE;AACL,gCAAA,SAAS,CAAC,IAAI,CAAC,CAAA,EAAG,GAAG,GAAG,IAAI,CAAC,0BAA0B,CAAA,CAAA,EAAI,cAAc,CAAC,GAAG,CAAC,CAAA,CAAE,CAAC;;AAC9E,iCAAA,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE;gCAC5B,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;;;;;;AAOlE,YAAA,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;AACjD,gBAAA,SAAS,CAAC,IAAI,CAAC,CAAA,EAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAA,CAAE,CAAC;;;AAIlE,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACnB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;;AAGnC,QAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;YAC9B,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,0BAA0B,CAAA,EAAG,IAAI,CAAC,0BAA0B,CAAA,CAAA,EAAI,IAAI,CAAC,yBAAyB,CAAA,CAAE,CAAC;;AAGpI,QAAA,OAAO,SAAS;;AAIb,IAAA,OAAO,uBAAuB,CAAC,aAAqB,EAAE,IAAS,EAAE,kBAAkB,GAAG,IAAI,EAAE,sBAAsB,GAAG,KAAK,EAAA;AAC7H,QAAA,MAAM,YAAY,GAAG,aAAa,CAAC,WAAW,EAAE;QAChD,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;AAEtD,QAAA,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE;AAChC,YAAA,MAAM,WAAW,GAAG,gBAAgB,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,0BAA0B,CAAC;AAEzF,YAAA,IAAI,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;AAC7D,gBAAA,OAAO,sBAAsB,GAAG,OAAO,GAAG,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,SAAS;;;QAIjG,IAAI,CAAC,kBAAkB,EAAE;AACrB,YAAA,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE;gBAEhC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;oBAC9C,IAAI,sBAAsB,EAAE;AACxB,wBAAA,OAAO,OAAO;;yBACX;AACH,wBAAA,MAAM,WAAW,GAAG,gBAAgB,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,0BAA0B,CAAC;AACzF,wBAAA,OAAO,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,SAAS;;;;;AAMtE,QAAA,OAAO,IAAI;;IAGR,OAAO,eAAe,CAAC,QAA0B,EAAA;AACpD,QAAA,IAAI,QAAQ,YAAY,YAAY,EAAE;YAClC,OAAO,QAAQ,CAAC,IAAI;;AAGxB,QAAA,IAAI,QAAQ,YAAY,iBAAiB,EAAE;YACvC,OAAO,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,UAAU;;AAEpE,QAAA,OAAO,QAAQ;;IAIZ,OAAO,cAAc,CAAC,QAA0B,EAAA;AACnD,QAAA,IAAI,QAAQ,YAAY,gBAAgB,EAAE;AACtC,YAAA,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC;;AAGhC,QAAA,OAAO,KAAK;;IAGT,OAAO,iBAAiB,CAAC,QAA0B,EAAA;AACtD,QAAA,IAAI,QAAQ,YAAY,gBAAgB,EAAE;AACtC,YAAA,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG;;AAGlC,QAAA,OAAO,KAAK;;IAGT,OAAO,aAAa,CAAC,QAA0B,EAAA;AAClD,QAAA,IAAI,QAAQ,YAAY,gBAAgB,EAAE;AACtC,YAAA,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG;;AAGlC,QAAA,OAAO,KAAK;;AAGT,IAAA,OAAO,gBAAgB,CAAC,GAAW,EAAE,IAAa,EAAA;QACrD,IAAI,GAAG,EAAE;YACL,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC;YACnC,OAAO,QAAQ,CAAC,QAAQ,KAAK,WAAW,IAAI,QAAQ,CAAC,QAAQ,KAAK,WAAW;;AAGjF,QAAA,OAAO,KAAK;;IAGT,OAAO,wBAAwB,CAAC,WAAmB,EAAA;QACtD,IAAI,CAAC,WAAW,EAAE;AACd,YAAA,OAAO,IAAI;;QAGf,MAAM,MAAM,GAAkC,EAAE;QAEhD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACxC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC;YACxD,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,UAAU;;AAGpD,QAAA,OAAO,MAAM;;AAGV,IAAA,OAAO,UAAU,CAAC,IAAY,EAAE,SAAkB,EAAA;AACrD,QAAA,MAAM,cAAc,GAAG,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAE/D,QAAA,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE;YACvB,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;;AAGhD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,IAAI,EAAE;AACtD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;QAEvD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;;IAG3C,OAAO,aAAa,CAAC,MAAW,EAAA;AACnC,QAAA,IAAI,MAAc;AAElB,QAAA,IAAI;AACA,YAAA,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;AAC/B,YAAA,OAAO,MAAM;;AACf,QAAA,MAAM;QAER,MAAM,YAAY,GAAQ,EAAE;AAE5B,QAAA,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE;AACvB,YAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;gBACrD;;YAEJ,IAAI,QAAQ,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,EAAE;gBACnC;;YAEJ,IAAI,QAAQ,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,UAAU,EAAE;gBACrC;;YAEJ,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;;QAGrC,MAAM,GAAG,4BAA4B,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;AAEpE,QAAA,OAAO,MAAM;;IAGV,OAAO,YAAY,CAAC,KAAa,EAAA;AACpC,QAAA,IAAI;AACA,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;;AAC1B,QAAA,MAAM;AACJ,YAAA,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE;gBACpB,OAAO,KAAK,CAAC;;AAGjB,YAAA,OAAO,KAAK;;;IAIb,OAAO,qBAAqB,CAAC,IAAY,EAAA;QAC5C,IAAI,IAAI,EAAE;AACN,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;;aAChD;AACH,YAAA,OAAO,IAAI;;;IAKZ,OAAO,WAAW,CAAC,IAAY,EAAA;AAClC,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;;IAGjH,OAAO,WAAW,CAAC,KAAU,EAAA;AAChC,QAAA,IAAI,KAAK,YAAY,KAAK,EAAE;YACxB,MAAM,YAAY,GAAa,EAAE;AAEjC,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;;AAG5C,YAAA,OAAO,YAAY;;aAChB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,EAAE;AAC7D,YAAA,OAAO,KAAK,CAAC,WAAW,EAAE;;QAG9B,OAAO,KAAK,CAAC;;AAGV,IAAA,OAAO,QAAQ,GAAA;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE;;AAGlD,IAAA,OAAO,YAAY,CAAC,GAAW,EAAE,GAAW,EAAA;AAC/C,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;;AAGrD,IAAA,OAAO,OAAO,GAAA;AACjB,QAAA,IAAI,IAAY;AAEhB,QAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;AACxB,YAAA,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM;;aAC1B;AACH,YAAA,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;;QAGhI,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;;AAG3B,IAAA,OAAO,OAAO,GAAA;QACjB,OAAO,sCAAsC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,KAAI;AAEjE,YAAA,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC;AAElC,YAAA,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG;AACzC,YAAA,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;AACzB,SAAC,CAAC;;IAGC,OAAO,iBAAiB,CAAC,GAAW,EAAA;QACvC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC;AAC5C,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;;IAGf,OAAO,oBAAoB,CAAC,GAAW,EAAA;AAC1C,QAAA,OAAO,gBAAgB,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG;;IAG9D,OAAO,eAAe,CAAC,GAAW,EAAA;AACrC,QAAA,IAAI,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;AACtD,QAAA,QAAQ,MAAM,CAAC,MAAM,GAAG,CAAC;YACrB,KAAK,CAAC,EAAE;gBACJ;;YAEJ,KAAK,CAAC,EAAE;gBACJ,MAAM,IAAI,IAAI;gBACd;;YAEJ,KAAK,CAAC,EAAE;gBACJ,MAAM,IAAI,GAAG;gBACb;;;AAGR,QAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;;IAGrC,OAAO,WAAW,CAAC,KAAa,EAAA;QACnC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;AAE9B,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AACpB,YAAA,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC;;QAG5C,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,EAAE;AACV,YAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC;;AAG9C,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;;IAGvB,OAAO,sBAAsB,CAAC,KAAa,EAAA;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AAEvC,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;AACvD,YAAA,OAAO,IAAI;;QAGf,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC;AAE/B,QAAA,OAAO,IAAI;;AAGR,IAAA,OAAO,cAAc,CAAC,KAAa,EAAE,aAAsB,EAAA;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;AAC/C,QAAA,aAAa,GAAG,aAAa,IAAI,CAAC;AAElC,QAAA,IAAI,IAAI,IAAI,IAAI,EAAE;AACd,YAAA,OAAO,KAAK;;;QAIhB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC;;IAGvE,OAAO,aAAa,CAAC,IAAU,EAAA;;QAElC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;;AAGnC,YAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE;;AAG/B,YAAA,MAAM,CAAC,MAAM,GAAG,MAAW;AACvB,gBAAA,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;AAC1B,aAAC;;AAGD,YAAA,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,KAAU;;gBAEzB,MAAM,CAAC,CAAC,CAAC;AACb,aAAC;;AAGD,YAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;AAC9B,SAAC,CAAC;;IAGC,OAAO,aAAa,CAAC,OAAe,EAAA;QACvC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;AAEvC,QAAA,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC1G,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAE9D,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;AAC5C,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;;AAGpC,QAAA,OAAO,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;;IAGxC,OAAO,WAAW,CAAC,MAAc,EAAA;QACpC,IAAI,QAAQ,GAAG,MAAM;QACrB,QAAQ,MAAM;AACV,YAAA,KAAK,YAAY;AACjB,YAAA,KAAK,WAAW;gBACZ,QAAQ,GAAG,KAAK;gBAChB;AACJ,YAAA,KAAK,WAAW;gBACZ,QAAQ,GAAG,KAAK;gBAChB;AACJ,YAAA,KAAK,UAAU;gBACX,QAAQ,GAAG,KAAK;gBAChB;AACJ,YAAA,KAAK,WAAW;gBACZ,QAAQ,GAAG,KAAK;gBAChB;AACJ,YAAA,KAAK,oBAAoB;AACzB,YAAA,KAAK,yEAAyE;gBAC1E,QAAQ,GAAG,MAAM;gBACjB;AACJ,YAAA,KAAK,0BAA0B;AAC/B,YAAA,KAAK,mEAAmE;gBACpE,QAAQ,GAAG,MAAM;gBACjB;AACJ,YAAA,KAAK,iBAAiB;gBAClB,QAAQ,GAAG,KAAK;gBAChB;AACJ,YAAA,KAAK,2EAA2E;AAChF,YAAA,KAAK,+BAA+B;gBAChC,QAAQ,GAAG,KAAK;gBAChB;AACJ,YAAA,KAAK,YAAY;gBACb,QAAQ,GAAG,MAAM;gBACjB;AACJ,YAAA,KAAK,YAAY;AACjB,YAAA,KAAK,WAAW;AAChB,YAAA,KAAK,WAAW;gBACZ,QAAQ,GAAG,OAAO;gBAClB;AACJ,YAAA,KAAK,gBAAgB;gBACjB,QAAQ,GAAG,KAAK;gBAChB;;AAGR,QAAA,OAAO,QAA4H;;IAG/H,OAAO,oBAAoB,CAAC,GAAQ,EAAA;QACxC,OAAO,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAM,KAAK,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;IAG9I,QAAQ,CAAC,eAAuB,EAAE,EAAA;QAC9B,MAAM,KAAK,GAAG,gEAAgE;QAC9E,IAAI,EAAE,GAAG,EAAE;AAEX,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;AACnC,YAAA,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;;AAGhE,QAAA,OAAO,EAAE;;8GAxhBJ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFb,MAAM,EAAA,CAAA,CAAA;;2FAET,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACfD;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmat-version.mjs","sources":["../../../projects/cmat/version/version.ts","../../../projects/cmat/version/cmat-version.ts"],"sourcesContent":["export class Version\r\n{\r\n public readonly full: string;\r\n public readonly major: string;\r\n public readonly minor: string;\r\n public readonly patch: string;\r\n\r\n constructor(public version: string)\r\n {\r\n this.full = version;\r\n this.major = version.split('.')[0];\r\n this.minor = version.split('.')[1];\r\n this.patch = version.split('.').slice(2).join('.');\r\n }\r\n}\r\n\r\nexport const CMAT_VERSION = new Version('1.0.0').full;\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"MAAa,OAAO,CAAA;AAOhB,IAAA,WAAA,CAAmB,OAAe,EAAA;QAAf,
|
|
1
|
+
{"version":3,"file":"cmat-version.mjs","sources":["../../../projects/cmat/version/version.ts","../../../projects/cmat/version/cmat-version.ts"],"sourcesContent":["export class Version\r\n{\r\n public readonly full: string;\r\n public readonly major: string;\r\n public readonly minor: string;\r\n public readonly patch: string;\r\n\r\n constructor(public version: string)\r\n {\r\n this.full = version;\r\n this.major = version.split('.')[0];\r\n this.minor = version.split('.')[1];\r\n this.patch = version.split('.').slice(2).join('.');\r\n }\r\n}\r\n\r\nexport const CMAT_VERSION = new Version('1.0.0').full;\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"MAAa,OAAO,CAAA;AAOhB,IAAA,WAAA,CAAmB,OAAe,EAAA;QAAf,IAAA,CAAA,OAAO,GAAP,OAAO;AAEtB,QAAA,IAAI,CAAC,IAAI,GAAG,OAAO;AACnB,QAAA,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;;AAEzD;AAEM,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;;AChBjD;;AAEG;;;;"}
|