cmat 0.0.87 → 0.0.88
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/fesm2022/cmat-components-adapter.mjs +9 -9
- package/fesm2022/cmat-components-adapter.mjs.map +1 -1
- package/fesm2022/cmat-components-breadcrumb.mjs +98 -80
- package/fesm2022/cmat-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/cmat-components-card.mjs +26 -34
- package/fesm2022/cmat-components-card.mjs.map +1 -1
- package/fesm2022/cmat-components-carousel.mjs +467 -556
- package/fesm2022/cmat-components-carousel.mjs.map +1 -1
- package/fesm2022/cmat-components-cascade.mjs +270 -259
- package/fesm2022/cmat-components-cascade.mjs.map +1 -1
- package/fesm2022/cmat-components-chip-input.mjs +200 -116
- package/fesm2022/cmat-components-chip-input.mjs.map +1 -1
- package/fesm2022/cmat-components-code-editor.mjs +85 -38
- package/fesm2022/cmat-components-code-editor.mjs.map +1 -1
- package/fesm2022/cmat-components-color-picker.mjs +841 -0
- package/fesm2022/cmat-components-color-picker.mjs.map +1 -0
- package/fesm2022/cmat-components-custom-formly.mjs +1395 -838
- package/fesm2022/cmat-components-custom-formly.mjs.map +1 -1
- package/fesm2022/cmat-components-data-picker.mjs +996 -0
- package/fesm2022/cmat-components-data-picker.mjs.map +1 -0
- package/fesm2022/cmat-components-date-range.mjs +310 -264
- package/fesm2022/cmat-components-date-range.mjs.map +1 -1
- package/fesm2022/cmat-components-date-time-display.mjs +16 -20
- package/fesm2022/cmat-components-date-time-display.mjs.map +1 -1
- package/fesm2022/cmat-components-drawer.mjs +120 -137
- package/fesm2022/cmat-components-drawer.mjs.map +1 -1
- package/fesm2022/cmat-components-empty-state.mjs +17 -24
- package/fesm2022/cmat-components-empty-state.mjs.map +1 -1
- package/fesm2022/cmat-components-file-preview.mjs +18 -24
- package/fesm2022/cmat-components-file-preview.mjs.map +1 -1
- package/fesm2022/cmat-components-filter-toolbar.mjs +30 -39
- package/fesm2022/cmat-components-filter-toolbar.mjs.map +1 -1
- package/fesm2022/cmat-components-form-actions.mjs +12 -12
- package/fesm2022/cmat-components-form-actions.mjs.map +1 -1
- package/fesm2022/cmat-components-fullscreen.mjs +10 -10
- package/fesm2022/cmat-components-fullscreen.mjs.map +1 -1
- package/fesm2022/cmat-components-highlight.mjs +48 -41
- package/fesm2022/cmat-components-highlight.mjs.map +1 -1
- package/fesm2022/cmat-components-image-viewer.mjs +104 -107
- package/fesm2022/cmat-components-image-viewer.mjs.map +1 -1
- package/fesm2022/cmat-components-inline-loading.mjs +12 -15
- package/fesm2022/cmat-components-inline-loading.mjs.map +1 -1
- package/fesm2022/cmat-components-json-editor.mjs +118 -75
- package/fesm2022/cmat-components-json-editor.mjs.map +1 -1
- package/fesm2022/cmat-components-knob-input.mjs +196 -178
- package/fesm2022/cmat-components-knob-input.mjs.map +1 -1
- package/fesm2022/cmat-components-masonry.mjs +26 -41
- package/fesm2022/cmat-components-masonry.mjs.map +1 -1
- package/fesm2022/cmat-components-material-color-picker.mjs +81 -80
- package/fesm2022/cmat-components-material-color-picker.mjs.map +1 -1
- package/fesm2022/cmat-components-material-datetimepicker.mjs +1212 -1287
- package/fesm2022/cmat-components-material-datetimepicker.mjs.map +1 -1
- package/fesm2022/cmat-components-navigation.mjs +467 -450
- package/fesm2022/cmat-components-navigation.mjs.map +1 -1
- package/fesm2022/cmat-components-opt-input.mjs +143 -132
- package/fesm2022/cmat-components-opt-input.mjs.map +1 -1
- package/fesm2022/cmat-components-org-chart.mjs +68 -83
- package/fesm2022/cmat-components-org-chart.mjs.map +1 -1
- package/fesm2022/cmat-components-page-header.mjs +18 -24
- package/fesm2022/cmat-components-page-header.mjs.map +1 -1
- package/fesm2022/cmat-components-pagination.mjs +220 -136
- package/fesm2022/cmat-components-pagination.mjs.map +1 -1
- package/fesm2022/cmat-components-password-strength.mjs +262 -215
- package/fesm2022/cmat-components-password-strength.mjs.map +1 -1
- package/fesm2022/cmat-components-popover.mjs +227 -195
- package/fesm2022/cmat-components-popover.mjs.map +1 -1
- package/fesm2022/cmat-components-progress-bar.mjs +15 -34
- package/fesm2022/cmat-components-progress-bar.mjs.map +1 -1
- package/fesm2022/cmat-components-qrcode.mjs +95 -88
- package/fesm2022/cmat-components-qrcode.mjs.map +1 -1
- package/fesm2022/cmat-components-rating.mjs +70 -67
- package/fesm2022/cmat-components-rating.mjs.map +1 -1
- package/fesm2022/cmat-components-rich-text-editor.mjs +23 -26
- package/fesm2022/cmat-components-rich-text-editor.mjs.map +1 -1
- package/fesm2022/cmat-components-select-search.mjs +190 -159
- package/fesm2022/cmat-components-select-search.mjs.map +1 -1
- package/fesm2022/cmat-components-select-table.mjs +276 -213
- package/fesm2022/cmat-components-select-table.mjs.map +1 -1
- package/fesm2022/cmat-components-select-tree.mjs +178 -128
- package/fesm2022/cmat-components-select-tree.mjs.map +1 -1
- package/fesm2022/cmat-components-skeleton.mjs +44 -28
- package/fesm2022/cmat-components-skeleton.mjs.map +1 -1
- package/fesm2022/cmat-components-speed-dial.mjs +107 -163
- package/fesm2022/cmat-components-speed-dial.mjs.map +1 -1
- package/fesm2022/cmat-components-status-tag.mjs +29 -36
- package/fesm2022/cmat-components-status-tag.mjs.map +1 -1
- package/fesm2022/cmat-components-table-toolbar.mjs +14 -18
- package/fesm2022/cmat-components-table-toolbar.mjs.map +1 -1
- package/fesm2022/cmat-components-timeline.mjs +111 -118
- package/fesm2022/cmat-components-timeline.mjs.map +1 -1
- package/fesm2022/cmat-components-toast.mjs +65 -66
- package/fesm2022/cmat-components-toast.mjs.map +1 -1
- package/fesm2022/cmat-components-transfer-picker.mjs +130 -160
- package/fesm2022/cmat-components-transfer-picker.mjs.map +1 -1
- package/fesm2022/cmat-components-treetable.mjs +32 -39
- package/fesm2022/cmat-components-treetable.mjs.map +1 -1
- package/fesm2022/cmat-components-upload.mjs +186 -176
- package/fesm2022/cmat-components-upload.mjs.map +1 -1
- package/fesm2022/cmat-directives-animate-on-scroll.mjs +25 -28
- package/fesm2022/cmat-directives-animate-on-scroll.mjs.map +1 -1
- package/fesm2022/cmat-directives-arrow-cursor.mjs +85 -92
- package/fesm2022/cmat-directives-arrow-cursor.mjs.map +1 -1
- package/fesm2022/cmat-directives-autofocus.mjs +3 -3
- package/fesm2022/cmat-directives-autofocus.mjs.map +1 -1
- package/fesm2022/cmat-directives-data-exporter.mjs +49 -50
- package/fesm2022/cmat-directives-data-exporter.mjs.map +1 -1
- package/fesm2022/cmat-directives-debounce.mjs +16 -19
- package/fesm2022/cmat-directives-debounce.mjs.map +1 -1
- package/fesm2022/cmat-directives-digit-only.mjs +60 -69
- 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-directives-seamless-auto-scroll.mjs +31 -30
- package/fesm2022/cmat-directives-seamless-auto-scroll.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-bytes.mjs.map +1 -1
- package/fesm2022/cmat-pipes-date-format.mjs +3 -3
- package/fesm2022/cmat-pipes-date-format.mjs.map +1 -1
- package/fesm2022/cmat-pipes-find-by-key.mjs +3 -3
- package/fesm2022/cmat-pipes-find-by-key.mjs.map +1 -1
- package/fesm2022/cmat-pipes-group-by.mjs +3 -3
- package/fesm2022/cmat-pipes-group-by.mjs.map +1 -1
- package/fesm2022/cmat-pipes-keys.mjs +3 -3
- package/fesm2022/cmat-pipes-keys.mjs.map +1 -1
- package/fesm2022/cmat-pipes-secure.mjs +7 -13
- package/fesm2022/cmat-pipes-secure.mjs.map +1 -1
- package/fesm2022/cmat-pipes-uppercase.mjs +3 -3
- package/fesm2022/cmat-pipes-uppercase.mjs.map +1 -1
- package/fesm2022/cmat-services-alert.mjs +26 -27
- package/fesm2022/cmat-services-alert.mjs.map +1 -1
- package/fesm2022/cmat-services-config.mjs +14 -23
- package/fesm2022/cmat-services-config.mjs.map +1 -1
- package/fesm2022/cmat-services-confirmation.mjs +8 -8
- package/fesm2022/cmat-services-confirmation.mjs.map +1 -1
- package/fesm2022/cmat-services-data.mjs +6 -10
- 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 +30 -47
- package/fesm2022/cmat-services-loading.mjs.map +1 -1
- package/fesm2022/cmat-services-local-storage.mjs +3 -3
- package/fesm2022/cmat-services-local-storage.mjs.map +1 -1
- package/fesm2022/cmat-services-media-watcher.mjs +43 -34
- 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-splash-screen.mjs.map +1 -1
- package/fesm2022/cmat-services-title.mjs +3 -3
- package/fesm2022/cmat-services-title.mjs.map +1 -1
- package/fesm2022/cmat-services-translation.mjs +11 -11
- 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.mjs +9228 -7507
- package/fesm2022/cmat.mjs.map +1 -1
- package/icons/material-icons/heroicons-outline.svg +3 -0
- package/icons/material-icons/heroicons-solid.svg +3 -0
- package/package.json +10 -1
- package/styles/components/bundle.scss +21 -0
- package/styles/overrides/angular-material.scss +22 -1
- package/tailwind/plugins/theming.js +183 -183
- package/types/cmat-components-breadcrumb.d.ts +40 -37
- package/types/cmat-components-card.d.ts +11 -13
- package/types/cmat-components-carousel.d.ts +87 -113
- package/types/cmat-components-cascade.d.ts +84 -65
- package/types/cmat-components-chip-input.d.ts +29 -24
- package/types/cmat-components-code-editor.d.ts +28 -12
- package/types/cmat-components-color-picker.d.ts +236 -0
- package/types/cmat-components-custom-formly.d.ts +316 -184
- package/types/cmat-components-data-picker.d.ts +372 -0
- package/types/cmat-components-date-range.d.ts +31 -36
- package/types/cmat-components-date-time-display.d.ts +8 -8
- package/types/cmat-components-drawer.d.ts +30 -32
- package/types/cmat-components-empty-state.d.ts +9 -10
- package/types/cmat-components-file-preview.d.ts +9 -9
- package/types/cmat-components-filter-toolbar.d.ts +15 -15
- package/types/cmat-components-form-actions.d.ts +5 -5
- package/types/cmat-components-fullscreen.d.ts +5 -5
- package/types/cmat-components-highlight.d.ts +13 -14
- package/types/cmat-components-image-viewer.d.ts +29 -33
- package/types/cmat-components-inline-loading.d.ts +6 -6
- package/types/cmat-components-json-editor.d.ts +15 -17
- package/types/cmat-components-knob-input.d.ts +58 -55
- package/types/cmat-components-masonry.d.ts +9 -12
- package/types/cmat-components-material-color-picker.d.ts +16 -21
- package/types/cmat-components-material-datetimepicker.d.ts +174 -216
- package/types/cmat-components-navigation.d.ts +34 -39
- package/types/cmat-components-opt-input.d.ts +35 -33
- package/types/cmat-components-org-chart.d.ts +8 -9
- package/types/cmat-components-page-header.d.ts +9 -9
- package/types/cmat-components-pagination.d.ts +36 -40
- package/types/cmat-components-password-strength.d.ts +58 -64
- package/types/cmat-components-popover.d.ts +22 -32
- package/types/cmat-components-progress-bar.d.ts +7 -10
- package/types/cmat-components-qrcode.d.ts +22 -22
- package/types/cmat-components-rating.d.ts +17 -19
- package/types/cmat-components-rich-text-editor.d.ts +11 -12
- package/types/cmat-components-select-search.d.ts +48 -36
- package/types/cmat-components-select-table.d.ts +38 -34
- package/types/cmat-components-select-tree.d.ts +17 -15
- package/types/cmat-components-skeleton.d.ts +27 -10
- package/types/cmat-components-speed-dial.d.ts +24 -33
- package/types/cmat-components-status-tag.d.ts +19 -9
- package/types/cmat-components-table-toolbar.d.ts +7 -7
- package/types/cmat-components-timeline.d.ts +33 -34
- package/types/cmat-components-toast.d.ts +26 -30
- package/types/cmat-components-transfer-picker.d.ts +51 -56
- package/types/cmat-components-treetable.d.ts +12 -13
- package/types/cmat-components-upload.d.ts +33 -38
- package/types/cmat-components-x6-angular-shape.d.ts +1 -1
- package/types/cmat-directives-animate-on-scroll.d.ts +7 -7
- package/types/cmat-directives-arrow-cursor.d.ts +18 -20
- package/types/cmat-directives-data-exporter.d.ts +10 -10
- package/types/cmat-directives-debounce.d.ts +5 -5
- package/types/cmat-directives-digit-only.d.ts +13 -13
- package/types/cmat-directives-seamless-auto-scroll.d.ts +7 -7
- package/types/cmat-pipes-secure.d.ts +1 -3
- package/types/cmat-services-alert.d.ts +11 -12
- package/types/cmat-services-config.d.ts +2 -7
- package/types/cmat-services-confirmation.d.ts +2 -2
- package/types/cmat-services-data.d.ts +0 -1
- package/types/cmat-services-loading.d.ts +14 -22
- package/types/cmat-services-media-watcher.d.ts +5 -5
- package/types/cmat-services-translation.d.ts +4 -5
- package/types/cmat.d.ts +2167 -1746
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmat-pipes-keys.mjs","sources":["../../../projects/cmat/pipes/keys/keys.pipe.ts","../../../projects/cmat/pipes/keys/cmat-pipes-keys.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'cmatKeys'\r\n})\r\nexport class CmatKeysPipe implements PipeTransform {\r\n transform(value: Record<string, unknown>): { key: string; value: unknown }[] {\r\n const keys: { key: string; value: unknown }[] = [];\r\n\r\n for (const key in value) {\r\n if (Object.prototype.hasOwnProperty.call(value, key)) {\r\n keys.push({\r\n key: key,\r\n value: value[key]\r\n });\r\n }\r\n }\r\n\r\n return keys;\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAKa,YAAY,CAAA;AACrB,IAAA,SAAS,CAAC,KAA8B,EAAA;QACpC,MAAM,IAAI,GAAsC,EAAE;AAElD,QAAA,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AACrB,YAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;gBAClD,IAAI,CAAC,IAAI,CAAC;AACN,oBAAA,GAAG,EAAE,GAAG;AACR,oBAAA,KAAK,EAAE,KAAK,CAAC,GAAG;AACnB,iBAAA,CAAC;YACN;QACJ;AAEA,QAAA,OAAO,IAAI;IACf
|
|
1
|
+
{"version":3,"file":"cmat-pipes-keys.mjs","sources":["../../../projects/cmat/pipes/keys/keys.pipe.ts","../../../projects/cmat/pipes/keys/cmat-pipes-keys.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'cmatKeys'\r\n})\r\nexport class CmatKeysPipe implements PipeTransform {\r\n transform(value: Record<string, unknown>): { key: string; value: unknown }[] {\r\n const keys: { key: string; value: unknown }[] = [];\r\n\r\n for (const key in value) {\r\n if (Object.prototype.hasOwnProperty.call(value, key)) {\r\n keys.push({\r\n key: key,\r\n value: value[key]\r\n });\r\n }\r\n }\r\n\r\n return keys;\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAKa,YAAY,CAAA;AACrB,IAAA,SAAS,CAAC,KAA8B,EAAA;QACpC,MAAM,IAAI,GAAsC,EAAE;AAElD,QAAA,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AACrB,YAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;gBAClD,IAAI,CAAC,IAAI,CAAC;AACN,oBAAA,GAAG,EAAE,GAAG;AACR,oBAAA,KAAK,EAAE,KAAK,CAAC,GAAG;AACnB,iBAAA,CAAC;YACN;QACJ;AAEA,QAAA,OAAO,IAAI;IACf;8GAdS,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,CAAA;;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE;AACT,iBAAA;;;ACJD;;AAEG;;;;"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { HttpClient } from '@angular/common/http';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { inject,
|
|
4
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
|
+
import { inject, Pipe } from '@angular/core';
|
|
5
4
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
6
5
|
import { CmatUrlStateConfigService } from 'cmat/services/config';
|
|
7
6
|
import { CmatUtilsService } from 'cmat/services/utils';
|
|
@@ -12,17 +11,12 @@ class CmatSecurePipe {
|
|
|
12
11
|
this._http = inject(HttpClient);
|
|
13
12
|
this._sanitizer = inject(DomSanitizer);
|
|
14
13
|
this._urlStateConfigService = inject(CmatUrlStateConfigService);
|
|
15
|
-
this.
|
|
14
|
+
this._config = this._urlStateConfigService.config;
|
|
16
15
|
this._previousObjectUrl = null;
|
|
17
|
-
this._urlStateConfigService.config$
|
|
18
|
-
.pipe(takeUntilDestroyed(this._destroyRef))
|
|
19
|
-
.subscribe((config) => {
|
|
20
|
-
this._config = config;
|
|
21
|
-
});
|
|
22
16
|
}
|
|
23
17
|
transform(fileId) {
|
|
24
18
|
return this._http
|
|
25
|
-
.get(`${this._config.fileUrl}/download/${fileId}`, {
|
|
19
|
+
.get(`${this._config().fileUrl}/download/${fileId}`, {
|
|
26
20
|
headers: CmatUtilsService.getRequestCryptoHeaders(fileId.toString()),
|
|
27
21
|
responseType: 'blob',
|
|
28
22
|
params: {
|
|
@@ -38,15 +32,15 @@ class CmatSecurePipe {
|
|
|
38
32
|
return this._sanitizer.bypassSecurityTrustUrl(objectUrl);
|
|
39
33
|
}));
|
|
40
34
|
}
|
|
41
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
42
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: CmatSecurePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
36
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.2", ngImport: i0, type: CmatSecurePipe, isStandalone: true, name: "cmatSecure" }); }
|
|
43
37
|
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: CmatSecurePipe, decorators: [{
|
|
45
39
|
type: Pipe,
|
|
46
40
|
args: [{
|
|
47
41
|
name: 'cmatSecure'
|
|
48
42
|
}]
|
|
49
|
-
}]
|
|
43
|
+
}] });
|
|
50
44
|
|
|
51
45
|
/**
|
|
52
46
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmat-pipes-secure.mjs","sources":["../../../projects/cmat/pipes/secure/secure-pipe.ts","../../../projects/cmat/pipes/secure/cmat-pipes-secure.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport {
|
|
1
|
+
{"version":3,"file":"cmat-pipes-secure.mjs","sources":["../../../projects/cmat/pipes/secure/secure-pipe.ts","../../../projects/cmat/pipes/secure/cmat-pipes-secure.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { Pipe, PipeTransform, inject } from '@angular/core';\r\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\r\nimport { CmatUrlStateConfigService } from 'cmat/services/config';\r\nimport { CmatUtilsService } from 'cmat/services/utils';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n\r\n@Pipe({\r\n name: 'cmatSecure'\r\n})\r\nexport class CmatSecurePipe implements PipeTransform {\r\n private _http = inject(HttpClient);\r\n private _sanitizer = inject(DomSanitizer);\r\n private _urlStateConfigService = inject(CmatUrlStateConfigService);\r\n\r\n private readonly _config=this._urlStateConfigService.config;\r\n private _previousObjectUrl: string | null = null;\r\n\r\n\r\n transform(fileId: string): Observable<SafeUrl> {\r\n return this._http\r\n .get(`${this._config().fileUrl}/download/${fileId}`, {\r\n headers: CmatUtilsService.getRequestCryptoHeaders(fileId.toString()),\r\n responseType: 'blob',\r\n params: {\r\n isStream: false\r\n }\r\n })\r\n .pipe(map((val: Blob | MediaSource) => {\r\n if (this._previousObjectUrl) {\r\n URL.revokeObjectURL(this._previousObjectUrl);\r\n }\r\n const objectUrl = URL.createObjectURL(val);\r\n this._previousObjectUrl = objectUrl;\r\n return this._sanitizer.bypassSecurityTrustUrl(objectUrl);\r\n }));\r\n }\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;MAYa,cAAc,CAAA;AAH3B,IAAA,WAAA,GAAA;AAIY,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;AAC1B,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC;AACjC,QAAA,IAAA,CAAA,sBAAsB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AAEjD,QAAA,IAAA,CAAA,OAAO,GAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM;QACnD,IAAA,CAAA,kBAAkB,GAAkB,IAAI;AAqBnD,IAAA;AAlBG,IAAA,SAAS,CAAC,MAAc,EAAA;QACpB,OAAO,IAAI,CAAC;aACP,GAAG,CAAC,CAAA,EAAG,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAA,UAAA,EAAa,MAAM,CAAA,CAAE,EAAE;YACjD,OAAO,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;AACpE,YAAA,YAAY,EAAE,MAAM;AACpB,YAAA,MAAM,EAAE;AACJ,gBAAA,QAAQ,EAAE;AACb;SACJ;AACA,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,GAAuB,KAAI;AAClC,YAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACzB,gBAAA,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAChD;YACA,MAAM,SAAS,GAAG,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC;AAC1C,YAAA,IAAI,CAAC,kBAAkB,GAAG,SAAS;YACnC,OAAO,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,SAAS,CAAC;QAC5D,CAAC,CAAC,CAAC;IACX;8GA1BS,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE;AACT,iBAAA;;;ACXD;;AAEG;;;;"}
|
|
@@ -5,10 +5,10 @@ class CmatUppercasePipe {
|
|
|
5
5
|
transform(value) {
|
|
6
6
|
return value.toUpperCase();
|
|
7
7
|
}
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: CmatUppercasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
9
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.2", ngImport: i0, type: CmatUppercasePipe, isStandalone: true, name: "cmatUppercase" }); }
|
|
10
10
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: CmatUppercasePipe, decorators: [{
|
|
12
12
|
type: Pipe,
|
|
13
13
|
args: [{
|
|
14
14
|
name: 'cmatUppercase'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmat-pipes-uppercase.mjs","sources":["../../../projects/cmat/pipes/uppercase/uppercase.pipe.ts","../../../projects/cmat/pipes/uppercase/cmat-pipes-uppercase.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'cmatUppercase'\r\n})\r\nexport class CmatUppercasePipe implements PipeTransform {\r\n transform(value: string): string {\r\n return value.toUpperCase();\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAKa,iBAAiB,CAAA;AAC1B,IAAA,SAAS,CAAC,KAAa,EAAA;AACnB,QAAA,OAAO,KAAK,CAAC,WAAW,EAAE;IAC9B
|
|
1
|
+
{"version":3,"file":"cmat-pipes-uppercase.mjs","sources":["../../../projects/cmat/pipes/uppercase/uppercase.pipe.ts","../../../projects/cmat/pipes/uppercase/cmat-pipes-uppercase.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'cmatUppercase'\r\n})\r\nexport class CmatUppercasePipe implements PipeTransform {\r\n transform(value: string): string {\r\n return value.toUpperCase();\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAKa,iBAAiB,CAAA;AAC1B,IAAA,SAAS,CAAC,KAAa,EAAA;AACnB,QAAA,OAAO,KAAK,CAAC,WAAW,EAAE;IAC9B;8GAHS,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,eAAA,EAAA,CAAA,CAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE;AACT,iBAAA;;;ACJD;;AAEG;;;;"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { HttpResponseBase } from '@angular/common/http';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { Injectable } from '@angular/core';
|
|
3
|
+
import { signal, Injectable } from '@angular/core';
|
|
4
4
|
import { CmatUtilsService } from 'cmat/services/utils';
|
|
5
|
-
import { Subject } from 'rxjs';
|
|
6
5
|
|
|
7
6
|
class CmatAlertDialog {
|
|
8
7
|
constructor(message, type, okCallback, cancelCallback, defaultValue, okLabel, cancelLabel) {
|
|
@@ -42,27 +41,27 @@ var CmatMessageSeverity;
|
|
|
42
41
|
|
|
43
42
|
class CmatAlertService {
|
|
44
43
|
constructor() {
|
|
45
|
-
this._messages =
|
|
46
|
-
|
|
47
|
-
this.
|
|
48
|
-
|
|
44
|
+
this._messages = signal(null, /* @ts-ignore */
|
|
45
|
+
...(ngDevMode ? [{ debugName: "_messages" }] : /* istanbul ignore next */ []));
|
|
46
|
+
this._stickyMessages = signal(undefined, /* @ts-ignore */
|
|
47
|
+
...(ngDevMode ? [{ debugName: "_stickyMessages" }] : /* istanbul ignore next */ []));
|
|
48
|
+
this._dialogs = signal(null, /* @ts-ignore */
|
|
49
|
+
...(ngDevMode ? [{ debugName: "_dialogs" }] : /* istanbul ignore next */ []));
|
|
50
|
+
this._isLoading = signal(false, /* @ts-ignore */
|
|
51
|
+
...(ngDevMode ? [{ debugName: "_isLoading" }] : /* istanbul ignore next */ []));
|
|
52
|
+
// eslint-disable-next-line @typescript-eslint/member-ordering
|
|
53
|
+
this.messages = this._messages.asReadonly();
|
|
54
|
+
// eslint-disable-next-line @typescript-eslint/member-ordering
|
|
55
|
+
this.stickyMessages = this._stickyMessages.asReadonly();
|
|
56
|
+
// eslint-disable-next-line @typescript-eslint/member-ordering
|
|
57
|
+
this.dialogs = this._dialogs.asReadonly();
|
|
58
|
+
// eslint-disable-next-line @typescript-eslint/member-ordering
|
|
59
|
+
this.isLoading = this._isLoading.asReadonly();
|
|
49
60
|
this._loadingMessageId = null;
|
|
50
61
|
}
|
|
51
|
-
get dialogEvent$() {
|
|
52
|
-
return this._dialogs.asObservable();
|
|
53
|
-
}
|
|
54
|
-
get messageEvent$() {
|
|
55
|
-
return this._messages.asObservable();
|
|
56
|
-
}
|
|
57
|
-
get stickyMessageEvent$() {
|
|
58
|
-
return this._stickyMessages.asObservable();
|
|
59
|
-
}
|
|
60
|
-
get isLoadingInProgress$() {
|
|
61
|
-
return this._isLoading.asObservable();
|
|
62
|
-
}
|
|
63
62
|
showDialog(message, type, okCallback, cancelCallback, okLabel, cancelLabel, defaultValue) {
|
|
64
63
|
type ??= CmatDialogType.alert;
|
|
65
|
-
this._dialogs.
|
|
64
|
+
this._dialogs.set({
|
|
66
65
|
message: message,
|
|
67
66
|
type: type,
|
|
68
67
|
okCallback: okCallback,
|
|
@@ -146,14 +145,14 @@ class CmatAlertService {
|
|
|
146
145
|
}
|
|
147
146
|
}
|
|
148
147
|
startLoadingMessage(message = '载入中...', caption = '') {
|
|
149
|
-
this._isLoading.
|
|
148
|
+
this._isLoading.set(true);
|
|
150
149
|
this._clearLoadingMessageTimer();
|
|
151
150
|
this._loadingMessageId = setTimeout(() => {
|
|
152
151
|
this.showStickyMessage(caption, message, CmatMessageSeverity.wait);
|
|
153
152
|
}, 1000);
|
|
154
153
|
}
|
|
155
154
|
stopLoadingMessage() {
|
|
156
|
-
this._isLoading.
|
|
155
|
+
this._isLoading.set(false);
|
|
157
156
|
this._clearLoadingMessageTimer();
|
|
158
157
|
this.resetStickyMessage();
|
|
159
158
|
}
|
|
@@ -176,14 +175,14 @@ class CmatAlertService {
|
|
|
176
175
|
console.warn(msg);
|
|
177
176
|
}
|
|
178
177
|
resetStickyMessage() {
|
|
179
|
-
this._stickyMessages.
|
|
178
|
+
this._stickyMessages.set(undefined);
|
|
180
179
|
}
|
|
181
180
|
_showMessageHelper(summary, detail, severity, isSticky, isPostionBottom = false) {
|
|
182
181
|
if (isSticky) {
|
|
183
|
-
this._stickyMessages.
|
|
182
|
+
this._stickyMessages.set({ severity: severity, summary: summary, detail: detail, isPostionBottom: isPostionBottom });
|
|
184
183
|
}
|
|
185
184
|
else {
|
|
186
|
-
this._messages.
|
|
185
|
+
this._messages.set({ severity: severity, summary: summary, detail: detail, isPostionBottom: isPostionBottom });
|
|
187
186
|
}
|
|
188
187
|
}
|
|
189
188
|
isApiResult(obj) {
|
|
@@ -199,10 +198,10 @@ class CmatAlertService {
|
|
|
199
198
|
this._loadingMessageId = null;
|
|
200
199
|
}
|
|
201
200
|
}
|
|
202
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
203
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
201
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: CmatAlertService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
202
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: CmatAlertService, providedIn: 'root' }); }
|
|
204
203
|
}
|
|
205
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
204
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: CmatAlertService, decorators: [{
|
|
206
205
|
type: Injectable,
|
|
207
206
|
args: [{
|
|
208
207
|
providedIn: 'root'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmat-services-alert.mjs","sources":["../../../projects/cmat/services/alert/alert.dialog.ts","../../../projects/cmat/services/alert/alert.message.ts","../../../projects/cmat/services/alert/enum.ts","../../../projects/cmat/services/alert/alert.service.ts","../../../projects/cmat/services/alert/cmat-services-alert.ts"],"sourcesContent":["import { CmatDialogType } from './enum';\r\n\r\nexport class CmatAlertDialog {\r\n constructor(public message: string, public type: CmatDialogType, public okCallback?: (val?: unknown) => void, public cancelCallback?: () => void,\r\n public defaultValue?: string, public okLabel?: string, public cancelLabel?: string) {\r\n\r\n }\r\n}","import { CmatMessageSeverity } from './enum';\r\n\r\nexport class CmatAlertMessage {\r\n constructor(public severity: CmatMessageSeverity, public summary: string, public detail: string, public isPostionBottom: boolean = false) { }\r\n}\r\n","export enum CmatDialogType {\r\n alert,\r\n confirm,\r\n prompt\r\n}\r\n\r\nexport enum CmatMessageSeverity {\r\n info = 'info',\r\n success = 'success',\r\n error = 'error',\r\n warning = 'warning',\r\n wait = 'wait'\r\n}\r\n\r\nexport interface ApiResult {\r\n success: boolean;\r\n msg: string;\r\n type: number;\r\n data?: unknown;\r\n dataExt?: unknown;\r\n}","import { HttpResponseBase } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { CmatUtilsService } from 'cmat/services/utils';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { CmatAlertDialog } from './alert.dialog';\r\nimport { CmatAlertMessage } from './alert.message';\r\nimport { ApiResult, CmatDialogType, CmatMessageSeverity } from './enum';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatAlertService {\r\n private _messages = new Subject<CmatAlertMessage>();\r\n private _stickyMessages = new Subject<CmatAlertMessage | void>();\r\n private _dialogs = new Subject<CmatAlertDialog>();\r\n\r\n private _isLoading = new Subject<boolean>();\r\n private _loadingMessageId: ReturnType<typeof setTimeout> | null = null;\r\n\r\n get dialogEvent$(): Observable<CmatAlertDialog> {\r\n return this._dialogs.asObservable();\r\n }\r\n\r\n\r\n get messageEvent$(): Observable<CmatAlertMessage> {\r\n return this._messages.asObservable();\r\n }\r\n\r\n get stickyMessageEvent$(): Observable<CmatAlertMessage | void> {\r\n return this._stickyMessages.asObservable();\r\n }\r\n\r\n get isLoadingInProgress$(): Observable<boolean> {\r\n return this._isLoading.asObservable();\r\n }\r\n\r\n showDialog(message: string, type?: CmatDialogType, okCallback?: (val?: unknown) => void, cancelCallback?: () => void,\r\n okLabel?: string, cancelLabel?: string, defaultValue?: string): void {\r\n\r\n type ??= CmatDialogType.alert;\r\n\r\n this._dialogs.next({\r\n message: message,\r\n type: type,\r\n okCallback: okCallback,\r\n cancelCallback: cancelCallback,\r\n okLabel: okLabel,\r\n cancelLabel: cancelLabel,\r\n defaultValue: defaultValue\r\n });\r\n }\r\n\r\n showMessage(summary: string): void;\r\n showMessage(detail: string | string[] | HttpResponseBase, params: string, severity: CmatMessageSeverity): void;\r\n showMessage(data: string | string[] | HttpResponseBase, separatorOrDetail?: string, severity?: CmatMessageSeverity): void {\r\n severity ??= CmatMessageSeverity.info;\r\n\r\n if (data instanceof HttpResponseBase) {\r\n data = CmatUtilsService.getHttpResponseMessage(data);\r\n separatorOrDetail = CmatUtilsService.captionAndMessageSeparator;\r\n }\r\n\r\n if (data instanceof Array) {\r\n for (const message of data) {\r\n const msgObject = CmatUtilsService.splitInTwo(message, separatorOrDetail);\r\n\r\n this._showMessageHelper(msgObject.firstPart, msgObject.secondPart ?? '', severity, false);\r\n }\r\n } else {\r\n this._showMessageHelper(data, separatorOrDetail ?? '', severity, false);\r\n }\r\n }\r\n\r\n showBottomMessage(summary: string): void;\r\n showBottomMessage(summary: string, detail: string, severity: CmatMessageSeverity): void;\r\n showBottomMessage(data: string | string[] | HttpResponseBase, separatorOrDetail?: string, severity?: CmatMessageSeverity): void {\r\n severity ??= CmatMessageSeverity.info;\r\n\r\n if (data instanceof HttpResponseBase) {\r\n data = CmatUtilsService.getHttpResponseMessage(data);\r\n separatorOrDetail = CmatUtilsService.captionAndMessageSeparator;\r\n }\r\n\r\n if (data instanceof Array) {\r\n for (const message of data) {\r\n const msgObject = CmatUtilsService.splitInTwo(message, separatorOrDetail);\r\n\r\n this._showMessageHelper(msgObject.firstPart, msgObject.secondPart ?? '', severity, true, true);\r\n }\r\n } else {\r\n this._showMessageHelper(data, separatorOrDetail ?? '', severity, true, true);\r\n }\r\n }\r\n\r\n\r\n showStickyMessage(summary: string): void;\r\n showStickyMessage(summary: string, detail: string, severity: CmatMessageSeverity, error?: unknown): void;\r\n showStickyMessage(detail: string[] | HttpResponseBase, params: string, severity: CmatMessageSeverity): void;\r\n showStickyMessage(data: string | string[] | HttpResponseBase, separatorOrDetail?: string, severity?: CmatMessageSeverity, error?: unknown): void {\r\n\r\n severity ??= CmatMessageSeverity.info;\r\n\r\n if (data instanceof HttpResponseBase) {\r\n data = CmatUtilsService.getHttpResponseMessage(data);\r\n separatorOrDetail = CmatUtilsService.captionAndMessageSeparator;\r\n }\r\n\r\n\r\n if (data instanceof Array) {\r\n for (const message of data) {\r\n const msgObject = CmatUtilsService.splitInTwo(message, separatorOrDetail); this._showMessageHelper(msgObject.firstPart, msgObject.secondPart ?? '', severity, true);\r\n }\r\n } else {\r\n if (error) {\r\n if (this.isApiResult(error)) {\r\n separatorOrDetail += error.msg;\r\n }\r\n\r\n const serializedError = CmatUtilsService.safeStringify(error as Record<string, unknown>);\r\n const msg = `Message.Severity: \"${CmatMessageSeverity[severity]}\", Message.Summary: \"${data}\", \r\n Message.Detail: \"${separatorOrDetail}\", Message.Error: \"${serializedError}\"`;\r\n\r\n switch (severity) {\r\n case CmatMessageSeverity.info:\r\n this.logInfo(msg);\r\n break;\r\n case CmatMessageSeverity.success:\r\n this.logMessage(msg);\r\n break;\r\n case CmatMessageSeverity.error:\r\n this.logError(msg);\r\n break;\r\n case CmatMessageSeverity.warning:\r\n this.logWarning(msg);\r\n break;\r\n case CmatMessageSeverity.wait:\r\n this.logTrace(msg);\r\n break;\r\n }\r\n }\r\n\r\n this._showMessageHelper(data, separatorOrDetail ?? '', severity, true);\r\n }\r\n }\r\n\r\n startLoadingMessage(message = '载入中...', caption = ''): void {\r\n this._isLoading.next(true);\r\n this._clearLoadingMessageTimer();\r\n\r\n this._loadingMessageId = setTimeout((): void => {\r\n this.showStickyMessage(caption, message, CmatMessageSeverity.wait);\r\n }, 1000);\r\n }\r\n\r\n stopLoadingMessage(): void {\r\n this._isLoading.next(false);\r\n this._clearLoadingMessageTimer();\r\n this.resetStickyMessage();\r\n }\r\n\r\n\r\n logDebug(msg: unknown): void {\r\n console.debug(msg);\r\n }\r\n\r\n logError(msg: unknown): void {\r\n console.error(msg);\r\n }\r\n\r\n logInfo(msg: unknown): void {\r\n console.info(msg);\r\n }\r\n\r\n logMessage(msg: unknown): void {\r\n console.log(msg);\r\n }\r\n\r\n logTrace(msg: unknown): void {\r\n console.trace(msg);\r\n }\r\n\r\n logWarning(msg: unknown): void {\r\n console.warn(msg);\r\n }\r\n\r\n resetStickyMessage(): void {\r\n this._stickyMessages.next(void 0);\r\n }\r\n\r\n private _showMessageHelper(summary: string, detail: string, severity: CmatMessageSeverity, isSticky: boolean, isPostionBottom: boolean = false): void {\r\n\r\n if (isSticky) {\r\n this._stickyMessages.next({ severity: severity, summary: summary, detail: detail, isPostionBottom: isPostionBottom });\r\n } else {\r\n this._messages.next({ severity: severity, summary: summary, detail: detail, isPostionBottom: isPostionBottom });\r\n }\r\n }\r\n\r\n private isApiResult(obj: unknown): obj is ApiResult {\r\n const result = obj as Partial<ApiResult> | null;\r\n\r\n return typeof result === 'object' && result !== null\r\n && typeof result.success === 'boolean'\r\n && typeof result.msg === 'string'\r\n && typeof result.type === 'number';\r\n }\r\n\r\n private _clearLoadingMessageTimer(): void {\r\n if (this._loadingMessageId !== null) {\r\n clearTimeout(this._loadingMessageId);\r\n this._loadingMessageId = null;\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-alert.mjs","sources":["../../../projects/cmat/services/alert/alert.dialog.ts","../../../projects/cmat/services/alert/alert.message.ts","../../../projects/cmat/services/alert/enum.ts","../../../projects/cmat/services/alert/alert.service.ts","../../../projects/cmat/services/alert/cmat-services-alert.ts"],"sourcesContent":["import { CmatDialogType } from './enum';\r\n\r\nexport class CmatAlertDialog {\r\n constructor(public message: string, public type: CmatDialogType, public okCallback?: (val?: unknown) => void, public cancelCallback?: () => void,\r\n public defaultValue?: string, public okLabel?: string, public cancelLabel?: string) {\r\n\r\n }\r\n}","import { CmatMessageSeverity } from './enum';\r\n\r\nexport class CmatAlertMessage {\r\n constructor(public severity: CmatMessageSeverity, public summary: string, public detail: string, public isPostionBottom: boolean = false) { }\r\n}\r\n","export enum CmatDialogType {\r\n alert,\r\n confirm,\r\n prompt\r\n}\r\n\r\nexport enum CmatMessageSeverity {\r\n info = 'info',\r\n success = 'success',\r\n error = 'error',\r\n warning = 'warning',\r\n wait = 'wait'\r\n}\r\n\r\nexport interface ApiResult {\r\n success: boolean;\r\n msg: string;\r\n type: number;\r\n data?: unknown;\r\n dataExt?: unknown;\r\n}","import { HttpResponseBase } from '@angular/common/http';\r\nimport { Injectable, signal } from '@angular/core';\r\nimport { CmatUtilsService } from 'cmat/services/utils';\r\nimport { CmatAlertDialog } from './alert.dialog';\r\nimport { CmatAlertMessage } from './alert.message';\r\nimport { ApiResult, CmatDialogType, CmatMessageSeverity } from './enum';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatAlertService {\r\n private readonly _messages = signal<CmatAlertMessage | null>(null);\r\n private readonly _stickyMessages = signal<CmatAlertMessage | void>(undefined);\r\n private readonly _dialogs = signal<CmatAlertDialog | null>(null);\r\n private readonly _isLoading = signal<boolean>(false);\r\n \r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n readonly messages = this._messages.asReadonly();\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n readonly stickyMessages = this._stickyMessages.asReadonly();\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n readonly dialogs = this._dialogs.asReadonly();\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n readonly isLoading = this._isLoading.asReadonly();\r\n\r\n private _loadingMessageId: ReturnType<typeof setTimeout> | null = null;\r\n\r\n\r\n showDialog(message: string, type?: CmatDialogType, okCallback?: (val?: unknown) => void, cancelCallback?: () => void,\r\n okLabel?: string, cancelLabel?: string, defaultValue?: string): void {\r\n\r\n type ??= CmatDialogType.alert;\r\n\r\n this._dialogs.set({\r\n message: message,\r\n type: type,\r\n okCallback: okCallback,\r\n cancelCallback: cancelCallback,\r\n okLabel: okLabel,\r\n cancelLabel: cancelLabel,\r\n defaultValue: defaultValue\r\n });\r\n }\r\n\r\n showMessage(summary: string): void;\r\n showMessage(detail: string | string[] | HttpResponseBase, params: string, severity: CmatMessageSeverity): void;\r\n showMessage(data: string | string[] | HttpResponseBase, separatorOrDetail?: string, severity?: CmatMessageSeverity): void {\r\n severity ??= CmatMessageSeverity.info;\r\n\r\n if (data instanceof HttpResponseBase) {\r\n data = CmatUtilsService.getHttpResponseMessage(data);\r\n separatorOrDetail = CmatUtilsService.captionAndMessageSeparator;\r\n }\r\n\r\n if (data instanceof Array) {\r\n for (const message of data) {\r\n const msgObject = CmatUtilsService.splitInTwo(message, separatorOrDetail);\r\n\r\n this._showMessageHelper(msgObject.firstPart, msgObject.secondPart ?? '', severity, false);\r\n }\r\n } else {\r\n this._showMessageHelper(data, separatorOrDetail ?? '', severity, false);\r\n }\r\n }\r\n\r\n showBottomMessage(summary: string): void;\r\n showBottomMessage(summary: string, detail: string, severity: CmatMessageSeverity): void;\r\n showBottomMessage(data: string | string[] | HttpResponseBase, separatorOrDetail?: string, severity?: CmatMessageSeverity): void {\r\n severity ??= CmatMessageSeverity.info;\r\n\r\n if (data instanceof HttpResponseBase) {\r\n data = CmatUtilsService.getHttpResponseMessage(data);\r\n separatorOrDetail = CmatUtilsService.captionAndMessageSeparator;\r\n }\r\n\r\n if (data instanceof Array) {\r\n for (const message of data) {\r\n const msgObject = CmatUtilsService.splitInTwo(message, separatorOrDetail);\r\n\r\n this._showMessageHelper(msgObject.firstPart, msgObject.secondPart ?? '', severity, true, true);\r\n }\r\n } else {\r\n this._showMessageHelper(data, separatorOrDetail ?? '', severity, true, true);\r\n }\r\n }\r\n\r\n\r\n showStickyMessage(summary: string): void;\r\n showStickyMessage(summary: string, detail: string, severity: CmatMessageSeverity, error?: unknown): void;\r\n showStickyMessage(detail: string[] | HttpResponseBase, params: string, severity: CmatMessageSeverity): void;\r\n showStickyMessage(data: string | string[] | HttpResponseBase, separatorOrDetail?: string, severity?: CmatMessageSeverity, error?: unknown): void {\r\n\r\n severity ??= CmatMessageSeverity.info;\r\n\r\n if (data instanceof HttpResponseBase) {\r\n data = CmatUtilsService.getHttpResponseMessage(data);\r\n separatorOrDetail = CmatUtilsService.captionAndMessageSeparator;\r\n }\r\n\r\n\r\n if (data instanceof Array) {\r\n for (const message of data) {\r\n const msgObject = CmatUtilsService.splitInTwo(message, separatorOrDetail); this._showMessageHelper(msgObject.firstPart, msgObject.secondPart ?? '', severity, true);\r\n }\r\n } else {\r\n if (error) {\r\n if (this.isApiResult(error)) {\r\n separatorOrDetail += error.msg;\r\n }\r\n\r\n const serializedError = CmatUtilsService.safeStringify(error as Record<string, unknown>);\r\n const msg = `Message.Severity: \"${CmatMessageSeverity[severity]}\", Message.Summary: \"${data}\", \r\n Message.Detail: \"${separatorOrDetail}\", Message.Error: \"${serializedError}\"`;\r\n\r\n switch (severity) {\r\n case CmatMessageSeverity.info:\r\n this.logInfo(msg);\r\n break;\r\n case CmatMessageSeverity.success:\r\n this.logMessage(msg);\r\n break;\r\n case CmatMessageSeverity.error:\r\n this.logError(msg);\r\n break;\r\n case CmatMessageSeverity.warning:\r\n this.logWarning(msg);\r\n break;\r\n case CmatMessageSeverity.wait:\r\n this.logTrace(msg);\r\n break;\r\n }\r\n }\r\n\r\n this._showMessageHelper(data, separatorOrDetail ?? '', severity, true);\r\n }\r\n }\r\n\r\n startLoadingMessage(message = '载入中...', caption = ''): void {\r\n this._isLoading.set(true);\r\n this._clearLoadingMessageTimer();\r\n\r\n this._loadingMessageId = setTimeout((): void => {\r\n this.showStickyMessage(caption, message, CmatMessageSeverity.wait);\r\n }, 1000);\r\n }\r\n\r\n stopLoadingMessage(): void {\r\n this._isLoading.set(false);\r\n this._clearLoadingMessageTimer();\r\n this.resetStickyMessage();\r\n }\r\n\r\n\r\n logDebug(msg: unknown): void {\r\n console.debug(msg);\r\n }\r\n\r\n logError(msg: unknown): void {\r\n console.error(msg);\r\n }\r\n\r\n logInfo(msg: unknown): void {\r\n console.info(msg);\r\n }\r\n\r\n logMessage(msg: unknown): void {\r\n console.log(msg);\r\n }\r\n\r\n logTrace(msg: unknown): void {\r\n console.trace(msg);\r\n }\r\n\r\n logWarning(msg: unknown): void {\r\n console.warn(msg);\r\n }\r\n\r\n resetStickyMessage(): void {\r\n this._stickyMessages.set(undefined);\r\n }\r\n\r\n private _showMessageHelper(summary: string, detail: string, severity: CmatMessageSeverity, isSticky: boolean, isPostionBottom: boolean = false): void {\r\n\r\n if (isSticky) {\r\n this._stickyMessages.set({ severity: severity, summary: summary, detail: detail, isPostionBottom: isPostionBottom });\r\n } else {\r\n this._messages.set({ severity: severity, summary: summary, detail: detail, isPostionBottom: isPostionBottom });\r\n }\r\n }\r\n\r\n private isApiResult(obj: unknown): obj is ApiResult {\r\n const result = obj as Partial<ApiResult> | null;\r\n\r\n return typeof result === 'object' && result !== null\r\n && typeof result.success === 'boolean'\r\n && typeof result.msg === 'string'\r\n && typeof result.type === 'number';\r\n }\r\n\r\n private _clearLoadingMessageTimer(): void {\r\n if (this._loadingMessageId !== null) {\r\n clearTimeout(this._loadingMessageId);\r\n this._loadingMessageId = null;\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,20 +1,15 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { InjectionToken, inject, signal, Injectable } from '@angular/core';
|
|
3
|
-
import { toObservable } from '@angular/core/rxjs-interop';
|
|
4
3
|
|
|
5
4
|
const CMAT_APP_CONFIG = new InjectionToken('CMAT_APP_CONFIG');
|
|
6
5
|
|
|
7
6
|
class CmatConfigService {
|
|
8
7
|
constructor() {
|
|
9
8
|
this._defaultConfig = structuredClone(inject(CMAT_APP_CONFIG));
|
|
10
|
-
this._config = signal(structuredClone(this._defaultConfig),
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
return this._config$;
|
|
15
|
-
}
|
|
16
|
-
set config(value) {
|
|
17
|
-
this.updateConfig(value);
|
|
9
|
+
this._config = signal(structuredClone(this._defaultConfig), /* @ts-ignore */
|
|
10
|
+
...(ngDevMode ? [{ debugName: "_config" }] : /* istanbul ignore next */ []));
|
|
11
|
+
// eslint-disable-next-line @typescript-eslint/member-ordering
|
|
12
|
+
this.config = this._config.asReadonly();
|
|
18
13
|
}
|
|
19
14
|
updateConfig(value) {
|
|
20
15
|
const config = this._mergeConfig(this._config(), value);
|
|
@@ -41,10 +36,10 @@ class CmatConfigService {
|
|
|
41
36
|
_isRecord(value) {
|
|
42
37
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
43
38
|
}
|
|
44
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
45
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: CmatConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
40
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: CmatConfigService, providedIn: 'root' }); }
|
|
46
41
|
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: CmatConfigService, decorators: [{
|
|
48
43
|
type: Injectable,
|
|
49
44
|
args: [{
|
|
50
45
|
providedIn: 'root'
|
|
@@ -57,14 +52,10 @@ class CmatUrlStateConfigService {
|
|
|
57
52
|
fileUrl: '',
|
|
58
53
|
enableDataProtect: false
|
|
59
54
|
};
|
|
60
|
-
this._config = signal({ ...this._defaultConfig },
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
return this._config$;
|
|
65
|
-
}
|
|
66
|
-
config(value) {
|
|
67
|
-
this.updateConfig(value);
|
|
55
|
+
this._config = signal({ ...this._defaultConfig }, /* @ts-ignore */
|
|
56
|
+
...(ngDevMode ? [{ debugName: "_config" }] : /* istanbul ignore next */ []));
|
|
57
|
+
// eslint-disable-next-line @typescript-eslint/member-ordering
|
|
58
|
+
this.config = this._config.asReadonly();
|
|
68
59
|
}
|
|
69
60
|
updateConfig(value) {
|
|
70
61
|
const config = {
|
|
@@ -73,10 +64,10 @@ class CmatUrlStateConfigService {
|
|
|
73
64
|
};
|
|
74
65
|
this._config.set(config);
|
|
75
66
|
}
|
|
76
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
77
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
67
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: CmatUrlStateConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
68
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: CmatUrlStateConfigService, providedIn: 'root' }); }
|
|
78
69
|
}
|
|
79
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: CmatUrlStateConfigService, decorators: [{
|
|
80
71
|
type: Injectable,
|
|
81
72
|
args: [{
|
|
82
73
|
providedIn: 'root'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmat-services-config.mjs","sources":["../../../projects/cmat/services/config/config.constants.ts","../../../projects/cmat/services/config/config.service.ts","../../../projects/cmat/services/config/urlStateConfig.service.ts","../../../projects/cmat/services/config/cmat-services-config.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\n\r\nexport type CmatScheme = 'auto' | 'dark' | 'light';\r\n\r\nexport type CmatTheme = string;\r\n\r\nexport type CmatScreens = Record<string, string>;\r\n\r\nexport type CmatThemeOption<TExtra extends Record<string, unknown> = Record<string, unknown>> = {\r\n id: string;\r\n name: string;\r\n} & TExtra;\r\n\r\nexport interface CmatAppConfigBase {\r\n layout: string;\r\n scheme: CmatScheme;\r\n screens: CmatScreens;\r\n theme: CmatTheme;\r\n themes: CmatThemeOption[];\r\n}\r\n\r\nexport type CmatAppConfig<TExtra extends Record<string, unknown> = Record<string, unknown>> = CmatAppConfigBase & TExtra;\r\n\r\nexport const CMAT_APP_CONFIG = new InjectionToken<CmatAppConfig>('CMAT_APP_CONFIG');\r\n\r\nexport interface IUrlStateConfig {\r\n fileUrl: string;\r\n enableDataProtect: boolean;\r\n}\r\n","import { Injectable, inject, signal } from '@angular/core';\r\nimport {
|
|
1
|
+
{"version":3,"file":"cmat-services-config.mjs","sources":["../../../projects/cmat/services/config/config.constants.ts","../../../projects/cmat/services/config/config.service.ts","../../../projects/cmat/services/config/urlStateConfig.service.ts","../../../projects/cmat/services/config/cmat-services-config.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\n\r\nexport type CmatScheme = 'auto' | 'dark' | 'light';\r\n\r\nexport type CmatTheme = string;\r\n\r\nexport type CmatScreens = Record<string, string>;\r\n\r\nexport type CmatThemeOption<TExtra extends Record<string, unknown> = Record<string, unknown>> = {\r\n id: string;\r\n name: string;\r\n} & TExtra;\r\n\r\nexport interface CmatAppConfigBase {\r\n layout: string;\r\n scheme: CmatScheme;\r\n screens: CmatScreens;\r\n theme: CmatTheme;\r\n themes: CmatThemeOption[];\r\n}\r\n\r\nexport type CmatAppConfig<TExtra extends Record<string, unknown> = Record<string, unknown>> = CmatAppConfigBase & TExtra;\r\n\r\nexport const CMAT_APP_CONFIG = new InjectionToken<CmatAppConfig>('CMAT_APP_CONFIG');\r\n\r\nexport interface IUrlStateConfig {\r\n fileUrl: string;\r\n enableDataProtect: boolean;\r\n}\r\n","import { Injectable, inject, signal } from '@angular/core';\r\nimport { CMAT_APP_CONFIG, CmatAppConfig } from './config.constants';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatConfigService {\r\n private readonly _defaultConfig = structuredClone(inject(CMAT_APP_CONFIG));\r\n private readonly _config = signal<CmatAppConfig>(structuredClone(this._defaultConfig));\r\n \r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n readonly config = this._config.asReadonly();\r\n\r\n updateConfig(value: Partial<CmatAppConfig>): void {\r\n const config = this._mergeConfig(this._config(), value);\r\n\r\n this._config.set(config);\r\n }\r\n\r\n reset(): void {\r\n this._config.set(structuredClone(this._defaultConfig));\r\n }\r\n\r\n private _mergeConfig<T extends Record<string, unknown>>(target: T, source: Partial<T>): T {\r\n const result = structuredClone(target) as Record<string, unknown>;\r\n\r\n for (const [key, value] of Object.entries(source)) {\r\n if (value === undefined) {\r\n continue;\r\n }\r\n\r\n const resultValue = result[key];\r\n if (this._isRecord(resultValue) && this._isRecord(value)) {\r\n result[key] = this._mergeConfig(resultValue, value);\r\n continue;\r\n }\r\n\r\n result[key] = structuredClone(value);\r\n }\r\n\r\n return result as T;\r\n }\r\n\r\n private _isRecord(value: unknown): value is Record<string, unknown> {\r\n return typeof value === 'object' && value !== null && !Array.isArray(value);\r\n }\r\n}\r\n","import { Injectable, signal } from '@angular/core';\r\nimport { IUrlStateConfig } from './config.constants';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatUrlStateConfigService {\r\n private readonly _defaultConfig: IUrlStateConfig = {\r\n fileUrl: '',\r\n enableDataProtect: false\r\n };\r\n private readonly _config = signal<IUrlStateConfig>({ ...this._defaultConfig });\r\n\r\n // eslint-disable-next-line @typescript-eslint/member-ordering\r\n readonly config = this._config.asReadonly();\r\n\r\n updateConfig(value: Partial<IUrlStateConfig>): void {\r\n const config: IUrlStateConfig = {\r\n ...this._config(),\r\n ...value\r\n };\r\n\r\n this._config.set(config);\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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"}
|
|
@@ -14,12 +14,12 @@ class CmatConfirmationDialogComponent {
|
|
|
14
14
|
this.data = inject(MAT_DIALOG_DATA);
|
|
15
15
|
this.matDialogRef = inject(MatDialogRef);
|
|
16
16
|
}
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
18
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: CmatConfirmationDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
18
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.2", type: CmatConfirmationDialogComponent, isStandalone: true, selector: "cmat-confirmation-dialog", ngImport: i0, template: "<div class=\"relative flex flex-col w-full h-full\">\r\n\r\n \r\n @if (data.dismissible) {\r\n <div class=\"absolute top-0 right-0 pt-4 pr-4\">\r\n <button type=\"button\" matIconButton [matDialogClose]=\"undefined\">\r\n <mat-icon class=\"text-secondary\" [svgIcon]=\"'heroicons_outline:x-mark'\"></mat-icon>\r\n </button>\r\n </div>\r\n }\r\n\r\n \r\n <div class=\"flex flex-col md:flex-row items-center md:items-start p-8 pb-6 md:pb-8\">\r\n\r\n \r\n @if (data.icon?.show) {\r\n <div class=\"flex flex-none items-center justify-center w-10 h-10 md:mr-4 rounded-full\" [ngClass]=\"{'text-primary-600 bg-primary-100 dark:text-primary-50 dark:bg-primary-600': data.icon.color === 'primary',\r\n 'text-accent-600 bg-accent-100 dark:text-accent-50 dark:bg-accent-600': data.icon.color === 'accent',\r\n 'text-warn-600 bg-warn-100 dark:text-warn-50 dark:bg-warn-600': data.icon.color === 'warn',\r\n 'text-slate-600 bg-slate-100 dark:text-slate-50 dark:bg-slate-600': data.icon.color === 'basic',\r\n 'text-blue-600 bg-blue-100 dark:text-blue-50 dark:bg-blue-600': data.icon.color === 'info',\r\n 'text-emerald-500 bg-emerald-100 dark:text-emerald-50 dark:bg-emerald-500': data.icon.color === 'success',\r\n 'text-amber-500 bg-amber-100 dark:text-amber-50 dark:bg-amber-500': data.icon.color === 'warning',\r\n 'text-red-600 bg-red-100 dark:text-red-50 dark:bg-red-600': data.icon.color === 'error'\r\n }\">\r\n @if (data.icon.name) {\r\n <mat-icon class=\"text-current\" [svgIcon]=\"data.icon.name||''\"></mat-icon>\r\n }\r\n </div>\r\n }\r\n\r\n @if (data.title || data.message) {\r\n <div\r\n class=\"flex flex-col items-center md:items-start mt-4 md:mt-0 md:pr-8 gap-1 text-center md:text-left\">\r\n \r\n @if (data.title) {\r\n <div class=\"text-xl leading-6 font-medium\" [innerHTML]=\"data.title\"></div>\r\n }\r\n \r\n @if (data.message) {\r\n <div class=\"text-secondary\" [innerHTML]=\"data.message\"></div>\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n\r\n \r\n @if (data.actions.confirm?.show || data.actions.cancel?.show) {\r\n <div\r\n class=\"flex items-center justify-center md:justify-end px-6 py-4 flex-row gap-3 bg-slate-50 dark:bg-black/10\">\r\n \r\n @if (data.actions.confirm?.show) {\r\n <button type=\"button\" matButton=\"filled\" [color]=\"data.actions.confirm.color\"\r\n [matDialogClose]=\"'confirmed'\">\r\n {{data.actions.confirm.label}}\r\n </button>\r\n }\r\n \r\n @if (data.actions.cancel?.show) {\r\n <button type=\"button\" matButton=\"outlined\" [matDialogClose]=\"'cancelled'\">\r\n {{data.actions.cancel.label}}\r\n </button>\r\n }\r\n </div>\r\n }\r\n\r\n</div>", styles: [".cmat-confirmation-dialog-panel .mat-mdc-dialog-container{padding:0!important}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
19
19
|
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: CmatConfirmationDialogComponent, decorators: [{
|
|
21
21
|
type: Component,
|
|
22
|
-
args: [{ selector: 'cmat-confirmation-dialog', encapsulation: ViewEncapsulation.None, imports: [MatButtonModule, MatDialogModule, MatIconModule, NgClass], template: "<div class=\"relative flex flex-col w-full h-full\">\r\n\r\n \r\n @if (data.dismissible) {\r\n <div class=\"absolute top-0 right-0 pt-4 pr-4\">\r\n <button type=\"button\" matIconButton [matDialogClose]=\"undefined\">\r\n <mat-icon class=\"text-secondary\" [svgIcon]=\"'heroicons_outline:x-mark'\"></mat-icon>\r\n </button>\r\n </div>\r\n }\r\n\r\n \r\n <div class=\"flex flex-col
|
|
22
|
+
args: [{ selector: 'cmat-confirmation-dialog', encapsulation: ViewEncapsulation.None, imports: [MatButtonModule, MatDialogModule, MatIconModule, NgClass], template: "<div class=\"relative flex flex-col w-full h-full\">\r\n\r\n \r\n @if (data.dismissible) {\r\n <div class=\"absolute top-0 right-0 pt-4 pr-4\">\r\n <button type=\"button\" matIconButton [matDialogClose]=\"undefined\">\r\n <mat-icon class=\"text-secondary\" [svgIcon]=\"'heroicons_outline:x-mark'\"></mat-icon>\r\n </button>\r\n </div>\r\n }\r\n\r\n \r\n <div class=\"flex flex-col md:flex-row items-center md:items-start p-8 pb-6 md:pb-8\">\r\n\r\n \r\n @if (data.icon?.show) {\r\n <div class=\"flex flex-none items-center justify-center w-10 h-10 md:mr-4 rounded-full\" [ngClass]=\"{'text-primary-600 bg-primary-100 dark:text-primary-50 dark:bg-primary-600': data.icon.color === 'primary',\r\n 'text-accent-600 bg-accent-100 dark:text-accent-50 dark:bg-accent-600': data.icon.color === 'accent',\r\n 'text-warn-600 bg-warn-100 dark:text-warn-50 dark:bg-warn-600': data.icon.color === 'warn',\r\n 'text-slate-600 bg-slate-100 dark:text-slate-50 dark:bg-slate-600': data.icon.color === 'basic',\r\n 'text-blue-600 bg-blue-100 dark:text-blue-50 dark:bg-blue-600': data.icon.color === 'info',\r\n 'text-emerald-500 bg-emerald-100 dark:text-emerald-50 dark:bg-emerald-500': data.icon.color === 'success',\r\n 'text-amber-500 bg-amber-100 dark:text-amber-50 dark:bg-amber-500': data.icon.color === 'warning',\r\n 'text-red-600 bg-red-100 dark:text-red-50 dark:bg-red-600': data.icon.color === 'error'\r\n }\">\r\n @if (data.icon.name) {\r\n <mat-icon class=\"text-current\" [svgIcon]=\"data.icon.name||''\"></mat-icon>\r\n }\r\n </div>\r\n }\r\n\r\n @if (data.title || data.message) {\r\n <div\r\n class=\"flex flex-col items-center md:items-start mt-4 md:mt-0 md:pr-8 gap-1 text-center md:text-left\">\r\n \r\n @if (data.title) {\r\n <div class=\"text-xl leading-6 font-medium\" [innerHTML]=\"data.title\"></div>\r\n }\r\n \r\n @if (data.message) {\r\n <div class=\"text-secondary\" [innerHTML]=\"data.message\"></div>\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n\r\n \r\n @if (data.actions.confirm?.show || data.actions.cancel?.show) {\r\n <div\r\n class=\"flex items-center justify-center md:justify-end px-6 py-4 flex-row gap-3 bg-slate-50 dark:bg-black/10\">\r\n \r\n @if (data.actions.confirm?.show) {\r\n <button type=\"button\" matButton=\"filled\" [color]=\"data.actions.confirm.color\"\r\n [matDialogClose]=\"'confirmed'\">\r\n {{data.actions.confirm.label}}\r\n </button>\r\n }\r\n \r\n @if (data.actions.cancel?.show) {\r\n <button type=\"button\" matButton=\"outlined\" [matDialogClose]=\"'cancelled'\">\r\n {{data.actions.cancel.label}}\r\n </button>\r\n }\r\n </div>\r\n }\r\n\r\n</div>", styles: [".cmat-confirmation-dialog-panel .mat-mdc-dialog-container{padding:0!important}\n"] }]
|
|
23
23
|
}] });
|
|
24
24
|
|
|
25
25
|
class CmatConfirmationService {
|
|
@@ -47,7 +47,7 @@ class CmatConfirmationService {
|
|
|
47
47
|
dismissible: false
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
|
-
open(config
|
|
50
|
+
open(config) {
|
|
51
51
|
const userConfig = merge({}, this._defaultConfig, config);
|
|
52
52
|
return this._matDialog.open(CmatConfirmationDialogComponent, {
|
|
53
53
|
autoFocus: false,
|
|
@@ -56,10 +56,10 @@ class CmatConfirmationService {
|
|
|
56
56
|
panelClass: 'cmat-confirmation-dialog-panel'
|
|
57
57
|
});
|
|
58
58
|
}
|
|
59
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
60
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
59
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: CmatConfirmationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
60
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: CmatConfirmationService, providedIn: 'root' }); }
|
|
61
61
|
}
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: CmatConfirmationService, decorators: [{
|
|
63
63
|
type: Injectable,
|
|
64
64
|
args: [{
|
|
65
65
|
providedIn: 'root'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmat-services-confirmation.mjs","sources":["../../../projects/cmat/services/confirmation/dialog/dialog.component.ts","../../../projects/cmat/services/confirmation/dialog/dialog.component.html","../../../projects/cmat/services/confirmation/confirmation.service.ts","../../../projects/cmat/services/confirmation/cmat-services-confirmation.ts"],"sourcesContent":["import { NgClass } from '@angular/common';\r\nimport { Component, ViewEncapsulation, inject } from '@angular/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialogModule } from '@angular/material/dialog';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { CmatConfirmationConfig } from '../confirmation.types';\r\n\r\n@Component({\r\n selector: 'cmat-confirmation-dialog',\r\n templateUrl: './dialog.component.html',\r\n styles: [\r\n /* language=SCSS */\r\n `\r\n .cmat-confirmation-dialog-panel {\r\n .mat-mdc-dialog-container {\r\n padding: 0 !important;\r\n }\r\n }\r\n `\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n imports: [MatButtonModule, MatDialogModule, MatIconModule, NgClass]\r\n})\r\nexport class CmatConfirmationDialogComponent {\r\n data = inject<CmatConfirmationConfig>(MAT_DIALOG_DATA);\r\n matDialogRef = inject<MatDialogRef<CmatConfirmationDialogComponent>>(MatDialogRef);\r\n}\r\n","<div class=\"relative flex flex-col w-full h-full\">\r\n\r\n \r\n @if (data.dismissible) {\r\n <div class=\"absolute top-0 right-0 pt-4 pr-4\">\r\n <button type=\"button\" matIconButton [matDialogClose]=\"undefined\">\r\n <mat-icon class=\"text-secondary\" [svgIcon]=\"'heroicons_outline:x-mark'\"></mat-icon>\r\n </button>\r\n </div>\r\n }\r\n\r\n \r\n <div class=\"flex flex-col
|
|
1
|
+
{"version":3,"file":"cmat-services-confirmation.mjs","sources":["../../../projects/cmat/services/confirmation/dialog/dialog.component.ts","../../../projects/cmat/services/confirmation/dialog/dialog.component.html","../../../projects/cmat/services/confirmation/confirmation.service.ts","../../../projects/cmat/services/confirmation/cmat-services-confirmation.ts"],"sourcesContent":["import { NgClass } from '@angular/common';\r\nimport { Component, ViewEncapsulation, inject } from '@angular/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialogModule } from '@angular/material/dialog';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { CmatConfirmationConfig } from '../confirmation.types';\r\n\r\n@Component({\r\n selector: 'cmat-confirmation-dialog',\r\n templateUrl: './dialog.component.html',\r\n styles: [\r\n /* language=SCSS */\r\n `\r\n .cmat-confirmation-dialog-panel {\r\n .mat-mdc-dialog-container {\r\n padding: 0 !important;\r\n }\r\n }\r\n `\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n imports: [MatButtonModule, MatDialogModule, MatIconModule, NgClass]\r\n})\r\nexport class CmatConfirmationDialogComponent {\r\n data = inject<CmatConfirmationConfig>(MAT_DIALOG_DATA);\r\n matDialogRef = inject<MatDialogRef<CmatConfirmationDialogComponent>>(MatDialogRef);\r\n}\r\n","<div class=\"relative flex flex-col w-full h-full\">\r\n\r\n \r\n @if (data.dismissible) {\r\n <div class=\"absolute top-0 right-0 pt-4 pr-4\">\r\n <button type=\"button\" matIconButton [matDialogClose]=\"undefined\">\r\n <mat-icon class=\"text-secondary\" [svgIcon]=\"'heroicons_outline:x-mark'\"></mat-icon>\r\n </button>\r\n </div>\r\n }\r\n\r\n \r\n <div class=\"flex flex-col md:flex-row items-center md:items-start p-8 pb-6 md:pb-8\">\r\n\r\n \r\n @if (data.icon?.show) {\r\n <div class=\"flex flex-none items-center justify-center w-10 h-10 md:mr-4 rounded-full\" [ngClass]=\"{'text-primary-600 bg-primary-100 dark:text-primary-50 dark:bg-primary-600': data.icon.color === 'primary',\r\n 'text-accent-600 bg-accent-100 dark:text-accent-50 dark:bg-accent-600': data.icon.color === 'accent',\r\n 'text-warn-600 bg-warn-100 dark:text-warn-50 dark:bg-warn-600': data.icon.color === 'warn',\r\n 'text-slate-600 bg-slate-100 dark:text-slate-50 dark:bg-slate-600': data.icon.color === 'basic',\r\n 'text-blue-600 bg-blue-100 dark:text-blue-50 dark:bg-blue-600': data.icon.color === 'info',\r\n 'text-emerald-500 bg-emerald-100 dark:text-emerald-50 dark:bg-emerald-500': data.icon.color === 'success',\r\n 'text-amber-500 bg-amber-100 dark:text-amber-50 dark:bg-amber-500': data.icon.color === 'warning',\r\n 'text-red-600 bg-red-100 dark:text-red-50 dark:bg-red-600': data.icon.color === 'error'\r\n }\">\r\n @if (data.icon.name) {\r\n <mat-icon class=\"text-current\" [svgIcon]=\"data.icon.name||''\"></mat-icon>\r\n }\r\n </div>\r\n }\r\n\r\n @if (data.title || data.message) {\r\n <div\r\n class=\"flex flex-col items-center md:items-start mt-4 md:mt-0 md:pr-8 gap-1 text-center md:text-left\">\r\n \r\n @if (data.title) {\r\n <div class=\"text-xl leading-6 font-medium\" [innerHTML]=\"data.title\"></div>\r\n }\r\n \r\n @if (data.message) {\r\n <div class=\"text-secondary\" [innerHTML]=\"data.message\"></div>\r\n }\r\n </div>\r\n }\r\n\r\n </div>\r\n\r\n \r\n @if (data.actions.confirm?.show || data.actions.cancel?.show) {\r\n <div\r\n class=\"flex items-center justify-center md:justify-end px-6 py-4 flex-row gap-3 bg-slate-50 dark:bg-black/10\">\r\n \r\n @if (data.actions.confirm?.show) {\r\n <button type=\"button\" matButton=\"filled\" [color]=\"data.actions.confirm.color\"\r\n [matDialogClose]=\"'confirmed'\">\r\n {{data.actions.confirm.label}}\r\n </button>\r\n }\r\n \r\n @if (data.actions.cancel?.show) {\r\n <button type=\"button\" matButton=\"outlined\" [matDialogClose]=\"'cancelled'\">\r\n {{data.actions.cancel.label}}\r\n </button>\r\n }\r\n </div>\r\n }\r\n\r\n</div>","import { Injectable, inject } from '@angular/core';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { merge } from 'lodash-es';\r\nimport { CmatConfirmationConfig } from './confirmation.types';\r\nimport { CmatConfirmationDialogComponent } from './dialog/dialog.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CmatConfirmationService {\r\n private _matDialog = inject(MatDialog);\r\n\r\n private _defaultConfig: CmatConfirmationConfig = {\r\n title: '确认操作',\r\n message: '确认此操作吗?',\r\n icon: {\r\n show: true,\r\n name: 'heroicons_outline:exclamation-triangle',\r\n color: 'warn'\r\n },\r\n actions: {\r\n confirm: {\r\n show: true,\r\n label: '确认',\r\n color: 'warn'\r\n },\r\n cancel: {\r\n show: true,\r\n label: '取消'\r\n }\r\n },\r\n dismissible: false\r\n };\r\n\r\n open(config: CmatConfirmationConfig): MatDialogRef<CmatConfirmationDialogComponent> {\r\n const userConfig = merge({}, this._defaultConfig, config);\r\n return this._matDialog.open(CmatConfirmationDialogComponent, {\r\n autoFocus: false,\r\n disableClose: !userConfig.dismissible,\r\n data: userConfig,\r\n panelClass: 'cmat-confirmation-dialog-panel'\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,7 +1,6 @@
|
|
|
1
1
|
import { HttpClient, HttpParams } from '@angular/common/http';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { inject,
|
|
4
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
|
+
import { inject, effect, Injectable } from '@angular/core';
|
|
5
4
|
import { CmatUrlStateConfigService } from 'cmat/services/config';
|
|
6
5
|
import { CmatUtilsService } from 'cmat/services/utils';
|
|
7
6
|
import { retry, map, catchError } from 'rxjs/operators';
|
|
@@ -10,12 +9,9 @@ class CmatDataService {
|
|
|
10
9
|
constructor() {
|
|
11
10
|
this._http = inject(HttpClient);
|
|
12
11
|
this._urlStateConfigService = inject(CmatUrlStateConfigService);
|
|
13
|
-
this._destroyRef = inject(DestroyRef);
|
|
14
12
|
this._enableDataProtect = false;
|
|
15
|
-
|
|
16
|
-
.
|
|
17
|
-
.subscribe((config) => {
|
|
18
|
-
this._enableDataProtect = config.enableDataProtect;
|
|
13
|
+
effect(() => {
|
|
14
|
+
this._enableDataProtect = this._urlStateConfigService.config().enableDataProtect;
|
|
19
15
|
});
|
|
20
16
|
}
|
|
21
17
|
get(url, params = {}, auth = true) {
|
|
@@ -112,10 +108,10 @@ class CmatDataService {
|
|
|
112
108
|
}
|
|
113
109
|
return JSON.stringify(value);
|
|
114
110
|
}
|
|
115
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
116
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
111
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: CmatDataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
112
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: CmatDataService, providedIn: 'root' }); }
|
|
117
113
|
}
|
|
118
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.2", ngImport: i0, type: CmatDataService, decorators: [{
|
|
119
115
|
type: Injectable,
|
|
120
116
|
args: [{
|
|
121
117
|
providedIn: 'root'
|