mis-crystal-design-system 17.0.3 → 17.0.4
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/analytics/analytics.service.d.ts +1 -1
- package/esm2022/analytics/analytics.service.mjs +3 -3
- package/esm2022/filter/filter-panel/filter-panel.component.mjs +19 -19
- package/esm2022/slider/slider.component.mjs +2 -2
- package/esm2022/table/actions-cell/actions-cell.component.mjs +389 -0
- package/esm2022/table/public_api.mjs +5 -3
- package/esm2022/table/sort-icons.directive.mjs +139 -0
- package/esm2022/table/table.component.mjs +286 -109
- package/esm2022/table/table.module.mjs +41 -6
- package/esm2022/toast/public_api.mjs +3 -1
- package/esm2022/toast/toast.component.mjs +73 -16
- package/esm2022/toast/toast.constants.mjs +7 -0
- package/esm2022/toast/toast.data.service.mjs +1 -1
- package/esm2022/toast/toast.interface.mjs +2 -0
- package/esm2022/toast/toast.service.mjs +14 -7
- package/fesm2022/mis-crystal-design-system-action-list.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-analytics.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-analytics.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-button.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-checkbox.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-chip.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-drawer.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-fab.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-filter.mjs +18 -18
- package/fesm2022/mis-crystal-design-system-filter.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-input-stepper.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-input.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-loader.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-menu.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-mobile-filter.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-modal.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-phone-input.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-radio-button.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-ske-loader.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-slider.mjs +2 -2
- package/fesm2022/mis-crystal-design-system-slider.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-snackbar.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-star-rating.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-switch.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-table.mjs +1143 -411
- package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-timepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-timerangepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-toast.mjs +93 -22
- package/fesm2022/mis-crystal-design-system-toast.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-tooltip.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-widgets.mjs.map +1 -1
- package/filter/filter-panel/filter-panel.component.d.ts +4 -3
- package/package.json +35 -35
- package/table/actions-cell/actions-cell.component.d.ts +45 -0
- package/table/filter/filter.component.d.ts +1 -1
- package/table/public_api.d.ts +4 -2
- package/table/sort-icons.directive.d.ts +36 -0
- package/table/table.component.d.ts +56 -10
- package/table/table.module.d.ts +8 -4
- package/toast/public_api.d.ts +2 -0
- package/toast/toast.component.d.ts +13 -1
- package/toast/toast.constants.d.ts +5 -0
- package/toast/toast.data.service.d.ts +3 -2
- package/toast/toast.interface.d.ts +6 -0
- package/toast/toast.service.d.ts +2 -1
|
@@ -6,22 +6,57 @@ import { CommonModule } from "@angular/common";
|
|
|
6
6
|
import { TableFilterComponent } from "./filter/filter.component";
|
|
7
7
|
import { CheckboxModule } from "mis-crystal-design-system/checkbox";
|
|
8
8
|
import { ScrollingModule } from "@angular/cdk/scrolling";
|
|
9
|
+
import { OverlayModule } from "@angular/cdk/overlay";
|
|
10
|
+
import { PortalModule } from "@angular/cdk/portal";
|
|
11
|
+
import { SortIconsDirective } from "./sort-icons.directive";
|
|
12
|
+
import { ActionsCellComponent } from "./actions-cell/actions-cell.component";
|
|
9
13
|
import * as i0 from "@angular/core";
|
|
14
|
+
import * as i1 from "@angular/common";
|
|
15
|
+
import * as i2 from "mis-crystal-design-system/checkbox";
|
|
10
16
|
export class TableModule {
|
|
11
17
|
static forRoot() {
|
|
12
18
|
return { ngModule: TableModule, providers: [] };
|
|
13
19
|
}
|
|
14
20
|
static { this.ɵfac = function TableModule_Factory(t) { return new (t || TableModule)(); }; }
|
|
15
21
|
static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: TableModule }); }
|
|
16
|
-
static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, CheckboxModule, ScrollingModule] }); }
|
|
22
|
+
static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, CheckboxModule, ScrollingModule, OverlayModule, PortalModule] }); }
|
|
17
23
|
}
|
|
18
24
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableModule, [{
|
|
19
25
|
type: NgModule,
|
|
20
26
|
args: [{
|
|
21
|
-
declarations: [
|
|
22
|
-
|
|
23
|
-
|
|
27
|
+
declarations: [
|
|
28
|
+
TableComponent,
|
|
29
|
+
SubTableComponent,
|
|
30
|
+
TableFilterComponent,
|
|
31
|
+
CustomTableCellDirective,
|
|
32
|
+
SortIconsDirective,
|
|
33
|
+
ActionsCellComponent
|
|
34
|
+
],
|
|
35
|
+
imports: [CommonModule, CheckboxModule, ScrollingModule, OverlayModule, PortalModule],
|
|
36
|
+
exports: [
|
|
37
|
+
TableComponent,
|
|
38
|
+
SubTableComponent,
|
|
39
|
+
TableFilterComponent,
|
|
40
|
+
CustomTableCellDirective,
|
|
41
|
+
SortIconsDirective,
|
|
42
|
+
ActionsCellComponent
|
|
43
|
+
]
|
|
24
44
|
}]
|
|
25
45
|
}], null, null); })();
|
|
26
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(TableModule, { declarations: [TableComponent,
|
|
27
|
-
|
|
46
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(TableModule, { declarations: [TableComponent,
|
|
47
|
+
SubTableComponent,
|
|
48
|
+
TableFilterComponent,
|
|
49
|
+
CustomTableCellDirective,
|
|
50
|
+
SortIconsDirective,
|
|
51
|
+
ActionsCellComponent], imports: [CommonModule, CheckboxModule, ScrollingModule, OverlayModule, PortalModule], exports: [TableComponent,
|
|
52
|
+
SubTableComponent,
|
|
53
|
+
TableFilterComponent,
|
|
54
|
+
CustomTableCellDirective,
|
|
55
|
+
SortIconsDirective,
|
|
56
|
+
ActionsCellComponent] }); })();
|
|
57
|
+
i0.ɵɵsetComponentScope(TableComponent, [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgStyle, i2.CheckboxComponent, SubTableComponent,
|
|
58
|
+
TableFilterComponent,
|
|
59
|
+
CustomTableCellDirective,
|
|
60
|
+
SortIconsDirective,
|
|
61
|
+
ActionsCellComponent], []);
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdGFibGUvdGFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7O0FBcUI3RSxNQUFNLE9BQU8sV0FBVztJQUN0QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUNsRCxDQUFDOzRFQUhVLFdBQVc7bUVBQVgsV0FBVzt1RUFWWixZQUFZLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsWUFBWTs7aUZBVXpFLFdBQVc7Y0FuQnZCLFFBQVE7ZUFBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osY0FBYztvQkFDZCxpQkFBaUI7b0JBQ2pCLG9CQUFvQjtvQkFDcEIsd0JBQXdCO29CQUN4QixrQkFBa0I7b0JBQ2xCLG9CQUFvQjtpQkFDckI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQztnQkFDckYsT0FBTyxFQUFFO29CQUNQLGNBQWM7b0JBQ2QsaUJBQWlCO29CQUNqQixvQkFBb0I7b0JBQ3BCLHdCQUF3QjtvQkFDeEIsa0JBQWtCO29CQUNsQixvQkFBb0I7aUJBQ3JCO2FBQ0Y7O3dGQUNZLFdBQVcsbUJBakJwQixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLG9CQUFvQjtRQUNwQix3QkFBd0I7UUFDeEIsa0JBQWtCO1FBQ2xCLG9CQUFvQixhQUVaLFlBQVksRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxZQUFZLGFBRWxGLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsb0JBQW9CO1FBQ3BCLHdCQUF3QjtRQUN4QixrQkFBa0I7UUFDbEIsb0JBQW9CO3VCQWRwQixjQUFjLHNFQUNkLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsd0JBQXdCO0lBQ3hCLGtCQUFrQjtJQUNsQixvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBUYWJsZUNvbXBvbmVudCB9IGZyb20gXCIuL3RhYmxlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ3VzdG9tVGFibGVDZWxsRGlyZWN0aXZlIH0gZnJvbSBcIi4vY3VzdG9tLXRhYmxlLWNlbGwuZGlyZWN0aXZlXCI7XG5pbXBvcnQgeyBTdWJUYWJsZUNvbXBvbmVudCB9IGZyb20gXCIuL3N1Yi10YWJsZS9zdWItdGFibGUuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBUYWJsZUZpbHRlckNvbXBvbmVudCB9IGZyb20gXCIuL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDaGVja2JveE1vZHVsZSB9IGZyb20gXCJtaXMtY3J5c3RhbC1kZXNpZ24tc3lzdGVtL2NoZWNrYm94XCI7XG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3Njcm9sbGluZ1wiO1xuaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgUG9ydGFsTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcbmltcG9ydCB7IFNvcnRJY29uc0RpcmVjdGl2ZSB9IGZyb20gXCIuL3NvcnQtaWNvbnMuZGlyZWN0aXZlXCI7XG5pbXBvcnQgeyBBY3Rpb25zQ2VsbENvbXBvbmVudCB9IGZyb20gXCIuL2FjdGlvbnMtY2VsbC9hY3Rpb25zLWNlbGwuY29tcG9uZW50XCI7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFRhYmxlQ29tcG9uZW50LCBcbiAgICBTdWJUYWJsZUNvbXBvbmVudCwgXG4gICAgVGFibGVGaWx0ZXJDb21wb25lbnQsIFxuICAgIEN1c3RvbVRhYmxlQ2VsbERpcmVjdGl2ZSxcbiAgICBTb3J0SWNvbnNEaXJlY3RpdmUsXG4gICAgQWN0aW9uc0NlbGxDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ2hlY2tib3hNb2R1bGUsIFNjcm9sbGluZ01vZHVsZSwgT3ZlcmxheU1vZHVsZSwgUG9ydGFsTW9kdWxlXSxcbiAgZXhwb3J0czogW1xuICAgIFRhYmxlQ29tcG9uZW50LCBcbiAgICBTdWJUYWJsZUNvbXBvbmVudCwgXG4gICAgVGFibGVGaWx0ZXJDb21wb25lbnQsIFxuICAgIEN1c3RvbVRhYmxlQ2VsbERpcmVjdGl2ZSxcbiAgICBTb3J0SWNvbnNEaXJlY3RpdmUsXG4gICAgQWN0aW9uc0NlbGxDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZU1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8VGFibGVNb2R1bGU+IHtcbiAgICByZXR1cm4geyBuZ01vZHVsZTogVGFibGVNb2R1bGUsIHByb3ZpZGVyczogW10gfTtcbiAgfVxufVxuIl19
|
|
@@ -2,4 +2,6 @@ export * from "./toast.service";
|
|
|
2
2
|
export * from "./toast.module";
|
|
3
3
|
export * from "./toast.data.service";
|
|
4
4
|
export { ToastComponent } from "./toast.component";
|
|
5
|
-
|
|
5
|
+
export * from "./toast.interface";
|
|
6
|
+
export * from "./toast.constants";
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL3RvYXN0L3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL3RvYXN0LnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RvYXN0Lm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdG9hc3QuZGF0YS5zZXJ2aWNlXCI7XG5leHBvcnQgeyBUb2FzdENvbXBvbmVudCB9IGZyb20gXCIuL3RvYXN0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdG9hc3QuaW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90b2FzdC5jb25zdGFudHNcIjtcbiJdfQ==
|
|
@@ -2,36 +2,91 @@ import { animate, style, transition, trigger } from "@angular/animations";
|
|
|
2
2
|
import { Component } from "@angular/core";
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "./toast.data.service";
|
|
5
|
-
import * as i2 from "@angular/
|
|
5
|
+
import * as i2 from "@angular/platform-browser";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
function ToastComponent_div_1_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
8
|
+
i0.ɵɵelement(0, "div", 5);
|
|
9
|
+
} if (rf & 2) {
|
|
10
|
+
const toast_r1 = i0.ɵɵnextContext().$implicit;
|
|
11
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
12
|
+
i0.ɵɵproperty("innerHTML", ctx_r1.getStateIcon(toast_r1 == null ? null : toast_r1.state), i0.ɵɵsanitizeHtml);
|
|
13
|
+
} }
|
|
6
14
|
function ToastComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
7
|
-
i0.ɵɵelementStart(0, "div")(1, "div", 2)
|
|
8
|
-
i0.ɵɵ
|
|
15
|
+
i0.ɵɵelementStart(0, "div")(1, "div", 2);
|
|
16
|
+
i0.ɵɵtemplate(2, ToastComponent_div_1_div_2_Template, 1, 1, "div", 3);
|
|
17
|
+
i0.ɵɵelementStart(3, "div", 4);
|
|
18
|
+
i0.ɵɵtext(4);
|
|
9
19
|
i0.ɵɵelementEnd()()();
|
|
10
20
|
} if (rf & 2) {
|
|
11
|
-
const
|
|
21
|
+
const toast_r1 = ctx.$implicit;
|
|
22
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
12
23
|
i0.ɵɵproperty("@fadeInOut", undefined);
|
|
13
|
-
i0.ɵɵadvance(
|
|
14
|
-
i0.ɵɵ
|
|
24
|
+
i0.ɵɵadvance();
|
|
25
|
+
i0.ɵɵproperty("ngClass", toast_r1 == null ? null : toast_r1.state);
|
|
26
|
+
i0.ɵɵadvance();
|
|
27
|
+
i0.ɵɵproperty("ngIf", toast_r1 == null ? null : toast_r1.state);
|
|
28
|
+
i0.ɵɵadvance(2);
|
|
29
|
+
i0.ɵɵtextInterpolate(ctx_r1.getMessage(toast_r1));
|
|
15
30
|
} }
|
|
16
31
|
export class ToastComponent {
|
|
17
|
-
constructor(data) {
|
|
32
|
+
constructor(data, sanitizer) {
|
|
18
33
|
this.data = data;
|
|
34
|
+
this.sanitizer = sanitizer;
|
|
35
|
+
console.log("Data:", data);
|
|
36
|
+
}
|
|
37
|
+
getMessage(toast) {
|
|
38
|
+
return typeof toast === "string" ? toast : toast.text;
|
|
39
|
+
}
|
|
40
|
+
shouldShowIcon(toast) {
|
|
41
|
+
return !this.isStringToast(toast) && !!toast.state;
|
|
19
42
|
}
|
|
20
|
-
|
|
21
|
-
|
|
43
|
+
getStateIcon(state) {
|
|
44
|
+
if (!state)
|
|
45
|
+
return "";
|
|
46
|
+
const icons = {
|
|
47
|
+
success: `
|
|
48
|
+
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
49
|
+
<circle cx="10" cy="10" r="10" fill="#4CAF50"/>
|
|
50
|
+
<path d="M8.6 13.4L5.2 10L4 11.2L8.6 15.8L16.6 7.8L15.4 6.6L8.6 13.4Z" fill="white"/>
|
|
51
|
+
</svg>
|
|
52
|
+
`,
|
|
53
|
+
warning: `
|
|
54
|
+
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
55
|
+
<path d="M10 0L20 17.3205H0L10 0Z" fill="#FF9800"/>
|
|
56
|
+
<path d="M9 6H11V12H9V6Z" fill="white"/>
|
|
57
|
+
<path d="M9 13H11V15H9V13Z" fill="white"/>
|
|
58
|
+
</svg>
|
|
59
|
+
`,
|
|
60
|
+
error: `
|
|
61
|
+
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
62
|
+
<circle cx="10" cy="10" r="10" fill="#D32F2F"/>
|
|
63
|
+
<path d="M9 5H11V11H9V5Z" fill="white"/>
|
|
64
|
+
<path d="M9 13H11V15H9V13Z" fill="white"/>
|
|
65
|
+
</svg>
|
|
66
|
+
`
|
|
67
|
+
};
|
|
68
|
+
return this.sanitizer.bypassSecurityTrustHtml(icons[state] || "");
|
|
69
|
+
}
|
|
70
|
+
isStringToast(toast) {
|
|
71
|
+
return typeof toast === "string";
|
|
72
|
+
}
|
|
73
|
+
static { this.ɵfac = function ToastComponent_Factory(t) { return new (t || ToastComponent)(i0.ɵɵdirectiveInject(i1.ToastDataService), i0.ɵɵdirectiveInject(i2.DomSanitizer)); }; }
|
|
74
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ToastComponent, selectors: [["mis-teams-toast"]], decls: 2, vars: 1, consts: [[1, "toast-container"], [4, "ngFor", "ngForOf"], [1, "toast-wrapper", 3, "ngClass"], ["class", "icon", 3, "innerHTML", 4, "ngIf"], [1, "msg"], [1, "icon", 3, "innerHTML"]], template: function ToastComponent_Template(rf, ctx) { if (rf & 1) {
|
|
22
75
|
i0.ɵɵelementStart(0, "div", 0);
|
|
23
|
-
i0.ɵɵtemplate(1, ToastComponent_div_1_Template,
|
|
76
|
+
i0.ɵɵtemplate(1, ToastComponent_div_1_Template, 5, 4, "div", 1);
|
|
24
77
|
i0.ɵɵelementEnd();
|
|
25
78
|
} if (rf & 2) {
|
|
26
79
|
i0.ɵɵadvance();
|
|
27
80
|
i0.ɵɵproperty("ngForOf", ctx.data.messages);
|
|
28
|
-
} }, dependencies: [
|
|
81
|
+
} }, dependencies: [i3.NgClass, i3.NgForOf, i3.NgIf], styles: [".toast-container[_ngcontent-%COMP%]{transition:max-height .3s ease-in}.toast-container[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{position:relative;display:flex;justify-content:center}.toast-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;gap:16px;padding:14px 12px;background:#181f33;box-shadow:0 12px 17px #00000024,0 5px 22px #0000001f,0 7px 8px #0003;border-radius:4px;transition:all .3s ease-in;min-height:44px;transform-origin:top}.toast-wrapper[_ngcontent-%COMP%] .msg[_ngcontent-%COMP%]{color:#fff;max-width:314px;flex:1 1 314px;font-size:14px;line-height:20px;letter-spacing:.2px}@media screen and (max-width: 360px){.toast-wrapper[_ngcontent-%COMP%] .msg[_ngcontent-%COMP%]{max-width:90vw;flex:1 1 90vw}}.toast-wrapper[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}"], data: { animation: [
|
|
29
82
|
trigger("fadeInOut", [
|
|
30
83
|
transition(":enter", [
|
|
31
84
|
style({ opacity: "0", transform: "translateY(-50%)", height: "0" }),
|
|
32
85
|
animate("300ms ease-in", style({ opacity: "1", transform: "translateY(0)", height: "*" }))
|
|
33
86
|
]),
|
|
34
|
-
transition(":leave", [
|
|
87
|
+
transition(":leave", [
|
|
88
|
+
animate("300ms ease-in", style({ opacity: "0", transform: "translateY(50%)" }))
|
|
89
|
+
])
|
|
35
90
|
])
|
|
36
91
|
] } }); }
|
|
37
92
|
}
|
|
@@ -43,9 +98,11 @@ export class ToastComponent {
|
|
|
43
98
|
style({ opacity: "0", transform: "translateY(-50%)", height: "0" }),
|
|
44
99
|
animate("300ms ease-in", style({ opacity: "1", transform: "translateY(0)", height: "*" }))
|
|
45
100
|
]),
|
|
46
|
-
transition(":leave", [
|
|
101
|
+
transition(":leave", [
|
|
102
|
+
animate("300ms ease-in", style({ opacity: "0", transform: "translateY(50%)" }))
|
|
103
|
+
])
|
|
47
104
|
])
|
|
48
|
-
], template: "<div class=\"toast-container\">\n <div *ngFor=\"let
|
|
49
|
-
}], () => [{ type: i1.ToastDataService }], null); })();
|
|
105
|
+
], template: "<div class=\"toast-container\">\n <div *ngFor=\"let toast of data.messages\" @fadeInOut>\n <div class=\"toast-wrapper\" [ngClass]=\"toast?.state\">\n <div class=\"icon\" *ngIf=\"toast?.state\" [innerHTML]=\"getStateIcon(toast?.state)\"></div>\n <div class=\"msg\">{{ getMessage(toast) }}</div>\n </div>\n </div>\n</div>\n", styles: [".toast-container{transition:max-height .3s ease-in}.toast-container>div{position:relative;display:flex;justify-content:center}.toast-wrapper{display:flex;flex-direction:row;align-items:center;gap:16px;padding:14px 12px;background:#181f33;box-shadow:0 12px 17px #00000024,0 5px 22px #0000001f,0 7px 8px #0003;border-radius:4px;transition:all .3s ease-in;min-height:44px;transform-origin:top}.toast-wrapper .msg{color:#fff;max-width:314px;flex:1 1 314px;font-size:14px;line-height:20px;letter-spacing:.2px}@media screen and (max-width: 360px){.toast-wrapper .msg{max-width:90vw;flex:1 1 90vw}}.toast-wrapper .icon{display:flex;justify-content:center;align-items:center}\n"] }]
|
|
106
|
+
}], () => [{ type: i1.ToastDataService }, { type: i2.DomSanitizer }], null); })();
|
|
50
107
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ToastComponent, { className: "ToastComponent" }); })();
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztJQ0VwQyx5QkFBc0Y7Ozs7SUFBL0MsNEdBQXdDOzs7SUFEakYsQUFERiwyQkFBb0QsYUFDRTtJQUNsRCxxRUFBZ0Y7SUFDaEYsOEJBQWlCO0lBQUEsWUFBdUI7SUFFNUMsQUFERSxBQUQwQyxpQkFBTSxFQUMxQyxFQUNGOzs7O0lBTG1DLHNDQUFVO0lBQ3RCLGNBQXdCO0lBQXhCLGtFQUF3QjtJQUM5QixjQUFrQjtJQUFsQiwrREFBa0I7SUFDcEIsZUFBdUI7SUFBdkIsaURBQXVCOztBRG9COUMsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFDUyxJQUFzQixFQUNyQixTQUF1QjtRQUR4QixTQUFJLEdBQUosSUFBSSxDQUFrQjtRQUNyQixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBRS9CLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBWTtRQUNyQixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ3hELENBQUM7SUFFRCxjQUFjLENBQUMsS0FBWTtRQUN6QixPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUNyRCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWtCO1FBQzdCLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFdEIsTUFBTSxLQUFLLEdBQStCO1lBQ3hDLE9BQU8sRUFBRTs7Ozs7T0FLUjtZQUNELE9BQU8sRUFBRTs7Ozs7O09BTVI7WUFDRCxLQUFLLEVBQUU7Ozs7OztPQU1OO1NBQ0YsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVPLGFBQWEsQ0FBQyxLQUFZO1FBQ2hDLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDO0lBQ25DLENBQUM7K0VBL0NVLGNBQWM7b0VBQWQsY0FBYztZQ3hCM0IsOEJBQTZCO1lBQzNCLCtEQUFvRDtZQU10RCxpQkFBTTs7WUFObUIsY0FBZ0I7WUFBaEIsMkNBQWdCO2c4QkRXM0I7Z0JBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTtvQkFDbkIsVUFBVSxDQUFDLFFBQVEsRUFBRTt3QkFDbkIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO3dCQUNuRSxPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztxQkFDM0YsQ0FBQztvQkFDRixVQUFVLENBQUMsUUFBUSxFQUFFO3dCQUNuQixPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztxQkFDaEYsQ0FBQztpQkFDSCxDQUFDO2FBQ0g7O2lGQUVVLGNBQWM7Y0FoQjFCLFNBQVM7MkJBQ0UsaUJBQWlCLGNBR2Y7b0JBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTt3QkFDbkIsVUFBVSxDQUFDLFFBQVEsRUFBRTs0QkFDbkIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDOzRCQUNuRSxPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQzt5QkFDM0YsQ0FBQzt3QkFDRixVQUFVLENBQUMsUUFBUSxFQUFFOzRCQUNuQixPQUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQzt5QkFDaEYsQ0FBQztxQkFDSCxDQUFDO2lCQUNIOztrRkFFVSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xuaW1wb3J0IHsgVG9hc3REYXRhU2VydmljZSB9IGZyb20gXCIuL3RvYXN0LmRhdGEuc2VydmljZVwiO1xuaW1wb3J0IHsgVG9hc3RTdGF0ZSB9IGZyb20gXCIuL3RvYXN0LmludGVyZmFjZVwiO1xuXG50eXBlIFRvYXN0ID0gc3RyaW5nIHwgeyB0ZXh0OiBzdHJpbmc7IHN0YXRlPzogVG9hc3RTdGF0ZSB9O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWlzLXRlYW1zLXRvYXN0XCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vdG9hc3QuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3RvYXN0LmNvbXBvbmVudC5zY3NzXCJdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcihcImZhZGVJbk91dFwiLCBbXG4gICAgICB0cmFuc2l0aW9uKFwiOmVudGVyXCIsIFtcbiAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiBcIjBcIiwgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVkoLTUwJSlcIiwgaGVpZ2h0OiBcIjBcIiB9KSxcbiAgICAgICAgYW5pbWF0ZShcIjMwMG1zIGVhc2UtaW5cIiwgc3R5bGUoeyBvcGFjaXR5OiBcIjFcIiwgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVkoMClcIiwgaGVpZ2h0OiBcIipcIiB9KSlcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbihcIjpsZWF2ZVwiLCBbXG4gICAgICAgIGFuaW1hdGUoXCIzMDBtcyBlYXNlLWluXCIsIHN0eWxlKHsgb3BhY2l0eTogXCIwXCIsIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGVZKDUwJSlcIiB9KSlcbiAgICAgIF0pXG4gICAgXSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkYXRhOiBUb2FzdERhdGFTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXJcbiAgKSB7XG4gICAgY29uc29sZS5sb2coXCJEYXRhOlwiLGRhdGEpO1xuICB9XG5cbiAgZ2V0TWVzc2FnZSh0b2FzdDogVG9hc3QpOiBzdHJpbmcge1xuICAgIHJldHVybiB0eXBlb2YgdG9hc3QgPT09IFwic3RyaW5nXCIgPyB0b2FzdCA6IHRvYXN0LnRleHQ7XG4gIH1cblxuICBzaG91bGRTaG93SWNvbih0b2FzdDogVG9hc3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaXNTdHJpbmdUb2FzdCh0b2FzdCkgJiYgISF0b2FzdC5zdGF0ZTtcbiAgfVxuXG4gIGdldFN0YXRlSWNvbihzdGF0ZT86IFRvYXN0U3RhdGUpOiBTYWZlSHRtbCB7XG4gICAgaWYgKCFzdGF0ZSkgcmV0dXJuIFwiXCI7XG5cbiAgICBjb25zdCBpY29uczogUmVjb3JkPFRvYXN0U3RhdGUsIHN0cmluZz4gPSB7XG4gICAgICBzdWNjZXNzOiBgXG4gICAgICAgIDxzdmcgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgIDxjaXJjbGUgY3g9XCIxMFwiIGN5PVwiMTBcIiByPVwiMTBcIiBmaWxsPVwiIzRDQUY1MFwiLz5cbiAgICAgICAgICA8cGF0aCBkPVwiTTguNiAxMy40TDUuMiAxMEw0IDExLjJMOC42IDE1LjhMMTYuNiA3LjhMMTUuNCA2LjZMOC42IDEzLjRaXCIgZmlsbD1cIndoaXRlXCIvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIGAsXG4gICAgICB3YXJuaW5nOiBgXG4gICAgICAgIDxzdmcgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMTAgMEwyMCAxNy4zMjA1SDBMMTAgMFpcIiBmaWxsPVwiI0ZGOTgwMFwiLz5cbiAgICAgICAgICA8cGF0aCBkPVwiTTkgNkgxMVYxMkg5VjZaXCIgZmlsbD1cIndoaXRlXCIvPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNOSAxM0gxMVYxNUg5VjEzWlwiIGZpbGw9XCJ3aGl0ZVwiLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICBgLFxuICAgICAgZXJyb3I6IGBcbiAgICAgICAgPHN2ZyB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgPGNpcmNsZSBjeD1cIjEwXCIgY3k9XCIxMFwiIHI9XCIxMFwiIGZpbGw9XCIjRDMyRjJGXCIvPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNOSA1SDExVjExSDlWNVpcIiBmaWxsPVwid2hpdGVcIi8+XG4gICAgICAgICAgPHBhdGggZD1cIk05IDEzSDExVjE1SDlWMTNaXCIgZmlsbD1cIndoaXRlXCIvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIGBcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGljb25zW3N0YXRlXSB8fCBcIlwiKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNTdHJpbmdUb2FzdCh0b2FzdDogVG9hc3QpOiB0b2FzdCBpcyBzdHJpbmcge1xuICAgIHJldHVybiB0eXBlb2YgdG9hc3QgPT09IFwic3RyaW5nXCI7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0b2FzdC1jb250YWluZXJcIj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgdG9hc3Qgb2YgZGF0YS5tZXNzYWdlc1wiIEBmYWRlSW5PdXQ+XG4gICAgPGRpdiBjbGFzcz1cInRvYXN0LXdyYXBwZXJcIiBbbmdDbGFzc109XCJ0b2FzdD8uc3RhdGVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpY29uXCIgKm5nSWY9XCJ0b2FzdD8uc3RhdGVcIiBbaW5uZXJIVE1MXT1cImdldFN0YXRlSWNvbih0b2FzdD8uc3RhdGUpXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibXNnXCI+e3sgZ2V0TWVzc2FnZSh0b2FzdCkgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// toast.constants.ts
|
|
2
|
+
export const TOAST_STATES = {
|
|
3
|
+
SUCCESS: 'success',
|
|
4
|
+
WARNING: 'warning',
|
|
5
|
+
ERROR: 'error',
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFCQUFxQjtBQUNyQixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUc7SUFDMUIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsS0FBSyxFQUFFLE9BQU87Q0FDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdG9hc3QuY29uc3RhbnRzLnRzXG5leHBvcnQgY29uc3QgVE9BU1RfU1RBVEVTID0ge1xuICBTVUNDRVNTOiAnc3VjY2VzcycsXG4gIFdBUk5JTkc6ICd3YXJuaW5nJyxcbiAgRVJST1I6ICdlcnJvcicsXG59IGFzIGNvbnN0O1xuIl19
|
|
@@ -27,4 +27,4 @@ export class ToastDataService {
|
|
|
27
27
|
providedIn: "root"
|
|
28
28
|
}]
|
|
29
29
|
}], () => [], null); })();
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QuZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0IsSUFBSSxRQUFRO1FBQ1YsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7UUFOUSxlQUFVLEdBQXVDLElBQUksR0FBRyxFQUFFLENBQUM7SUFNcEQsQ0FBQztJQUVoQixhQUFhLENBQUMsR0FBMEI7UUFDdEMsTUFBTSxFQUFFLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDN0IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsYUFBYSxDQUFDLEVBQVU7UUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNsQyxDQUFDO2lGQXJCVSxnQkFBZ0I7dUVBQWhCLGdCQUFnQixXQUFoQixnQkFBZ0IsbUJBRmYsTUFBTTs7aUZBRVAsZ0JBQWdCO2NBSDVCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVG9hc3RNZXNzYWdlIH0gZnJvbSBcIi4vdG9hc3QuaW50ZXJmYWNlXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcbn0pXG5leHBvcnQgY2xhc3MgVG9hc3REYXRhU2VydmljZSB7XG4gIHByaXZhdGUgbWVzc2FnZU1hcDogTWFwPG51bWJlciwgVG9hc3RNZXNzYWdlIHwgc3RyaW5nPiA9IG5ldyBNYXAoKTtcbiAgXG4gIGdldCBtZXNzYWdlcygpOiAoVG9hc3RNZXNzYWdlIHwgc3RyaW5nKVtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLm1lc3NhZ2VNYXAudmFsdWVzKCkpLnJldmVyc2UoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICB1cGRhdGVNZXNzYWdlKG1zZzogVG9hc3RNZXNzYWdlIHwgc3RyaW5nKTogbnVtYmVyIHtcbiAgICBjb25zdCBpZCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgIHRoaXMubWVzc2FnZU1hcC5zZXQoaWQsIG1zZyk7XG4gICAgcmV0dXJuIGlkO1xuICB9XG5cbiAgcmVtb3ZlTWVzc2FnZShpZDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5tZXNzYWdlTWFwLmRlbGV0ZShpZCk7XG4gIH1cblxuICBoYXNNZXNzYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1lc3NhZ2VNYXAuc2l6ZSA+IDA7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvdG9hc3QvdG9hc3QuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBUb2FzdFN0YXRlID0gJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2Vycm9yJztcblxuZXhwb3J0IGludGVyZmFjZSBUb2FzdE1lc3NhZ2Uge1xuICB0ZXh0OiBzdHJpbmc7XG4gIHN0YXRlPzogVG9hc3RTdGF0ZTtcbiAgdGltZW91dD86IG51bWJlcjtcbn0gIl19
|
|
@@ -43,7 +43,17 @@ export class ToastService {
|
|
|
43
43
|
};
|
|
44
44
|
this.userProfilePortal = new ComponentPortal(ToastComponent);
|
|
45
45
|
}
|
|
46
|
-
displayMsg(
|
|
46
|
+
displayMsg(message, timeout = 3000, state) {
|
|
47
|
+
let finalMessage;
|
|
48
|
+
// Handle different parameter combinations
|
|
49
|
+
if (state) {
|
|
50
|
+
// New format with state
|
|
51
|
+
finalMessage = { text: message, state };
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
// Basic format: just message
|
|
55
|
+
finalMessage = message;
|
|
56
|
+
}
|
|
47
57
|
const positionStrategy = this.overlay.position().global().centerHorizontally();
|
|
48
58
|
if (window?.innerWidth < 600) {
|
|
49
59
|
positionStrategy.bottom("48px");
|
|
@@ -59,24 +69,21 @@ export class ToastService {
|
|
|
59
69
|
this.toastWrapperRef = this.overlay.create(config);
|
|
60
70
|
this.toastWrapperRef.attach(this.userProfilePortal);
|
|
61
71
|
}
|
|
62
|
-
const messageId = this.data.updateMessage(
|
|
63
|
-
this.messagePromises.push(new Promise((resolve
|
|
72
|
+
const messageId = this.data.updateMessage(finalMessage);
|
|
73
|
+
this.messagePromises.push(new Promise((resolve) => {
|
|
64
74
|
setTimeout(() => {
|
|
65
75
|
resolve(this.data.removeMessage(messageId));
|
|
66
76
|
if (!this.data.hasMessage()) {
|
|
67
77
|
this.closeToastOverlay();
|
|
68
78
|
}
|
|
69
|
-
// adding 300ms for entry animation
|
|
70
79
|
}, timeout + 300);
|
|
71
80
|
}));
|
|
72
81
|
Promise.race(this.messagePromises).then(() => { });
|
|
73
82
|
}
|
|
74
|
-
// tslint:disable-next-line
|
|
75
83
|
closeToastOverlay() {
|
|
76
84
|
return setTimeout(() => {
|
|
77
85
|
this.messagePromises = [];
|
|
78
86
|
this.toastWrapperRef?.detach();
|
|
79
|
-
// adding 300ms for exit animation
|
|
80
87
|
}, 300);
|
|
81
88
|
}
|
|
82
89
|
static { this.ɵfac = function ToastService_Factory(t) { return new (t || ToastService)(i0.ɵɵinject(i1.Overlay), i0.ɵɵinject(i2.ToastDataService)); }; }
|
|
@@ -88,4 +95,4 @@ export class ToastService {
|
|
|
88
95
|
providedIn: "root"
|
|
89
96
|
}]
|
|
90
97
|
}], () => [{ type: i1.Overlay }, { type: i2.ToastDataService }], null); })();
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL3RvYXN0L3RvYXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFXLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQVNuRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUFvQixPQUFnQixFQUFVLElBQXNCO1FBQWhELFlBQU8sR0FBUCxPQUFPLENBQVM7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFrQjtRQUk1RCxvQkFBZSxHQUFvQixFQUFFLENBQUM7UUFHOUMsbUJBQWMsR0FBRztZQUNmLEtBQUssRUFBRTtnQkFDTCxNQUFNLEVBQUUsK0NBQStDO2dCQUN2RCxHQUFHLEVBQUUsMENBQTBDO2dCQUMvQyxHQUFHLEVBQUUsY0FBYztnQkFDbkIsR0FBRyxFQUFFLHFHQUFxRztnQkFDMUcsR0FBRyxFQUFFLGlEQUFpRDthQUN2RDtZQUNELElBQUksRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFO2dCQUNyQixPQUFPO29CQUNMLE1BQU0sRUFBRSxDQUFDLE1BQWtCLFNBQVMsRUFBRSxFQUFFO3dCQUN0QyxNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsR0FBRyxJQUFJLElBQUksR0FBRyxDQUFDO3dCQUMvQyxNQUFNLE9BQU8sR0FBRyxhQUFhLEdBQUcsSUFBSSxJQUFJLEdBQUcsQ0FBQzt3QkFDNUMsT0FBTzs0QkFDTCxPQUFPOzRCQUNQLE9BQU87eUJBQ1IsQ0FBQztvQkFDSixDQUFDO2lCQUNGLENBQUM7WUFDSixDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsTUFBa0IsU0FBUyxFQUFFLEVBQUU7Z0JBQ3JDLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztnQkFDdkMsTUFBTSxPQUFPLEdBQUcsYUFBYSxHQUFHLEdBQUcsQ0FBQztnQkFDcEMsT0FBTztvQkFDTCxPQUFPO29CQUNQLE9BQU87aUJBQ1IsQ0FBQztZQUNKLENBQUM7WUFDRCxNQUFNLEVBQUUsQ0FBQyxHQUFHLElBQWMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDN0MsUUFBUSxFQUFFLE9BQU87U0FDbEIsQ0FBQztRQXBDQSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQXFDRCxVQUFVLENBQUMsT0FBZSxFQUFFLE9BQU8sR0FBRyxJQUFJLEVBQUUsS0FBa0I7UUFDNUQsSUFBSSxZQUEyRCxDQUFDO1FBRWhFLDBDQUEwQztRQUMxQyxJQUFJLEtBQUssRUFBRTtZQUNULHdCQUF3QjtZQUN4QixZQUFZLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO1NBQ3pDO2FBQU07WUFDTCw2QkFBNkI7WUFDN0IsWUFBWSxHQUFHLE9BQU8sQ0FBQztTQUN4QjtRQUVELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRS9FLElBQUksTUFBTSxFQUFFLFVBQVUsR0FBRyxHQUFHLEVBQUU7WUFDNUIsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2pDO2FBQU07WUFDTCxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUI7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLGFBQWEsQ0FBQztZQUMvQixXQUFXLEVBQUUsS0FBSztZQUNsQixnQkFBZ0I7U0FDakIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLEVBQUU7WUFDeEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUNyRDtRQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUN2QixJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3RCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFO29CQUMzQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztpQkFDMUI7WUFDSCxDQUFDLEVBQUUsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDRixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDckIsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNqQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDOzZFQXpGVSxZQUFZO3VFQUFaLFlBQVksV0FBWixZQUFZLG1CQUZYLE1BQU07O2lGQUVQLFlBQVk7Y0FIeEIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVG9hc3RDb21wb25lbnQgfSBmcm9tIFwiLi90b2FzdC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRvYXN0RGF0YVNlcnZpY2UgfSBmcm9tIFwiLi90b2FzdC5kYXRhLnNlcnZpY2VcIjtcbmltcG9ydCB7IFRvYXN0U3RhdGUgfSBmcm9tIFwiLi90b2FzdC5pbnRlcmZhY2VcIjtcblxudHlwZSBPcGVyYXRpb25zID0gXCJjcmVhdGVkXCIgfCBcInVwZGF0ZWRcIiB8IFwiZGVsZXRlZFwiIHwgXCJjcmVhdGVcIiB8IFwidXBkYXRlXCIgfCBcImRlbGV0ZVwiO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSwgcHJpdmF0ZSBkYXRhOiBUb2FzdERhdGFTZXJ2aWNlKSB7XG4gICAgdGhpcy51c2VyUHJvZmlsZVBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoVG9hc3RDb21wb25lbnQpO1xuICB9XG4gIHByaXZhdGUgdG9hc3RXcmFwcGVyUmVmOiBPdmVybGF5UmVmO1xuICBwcml2YXRlIG1lc3NhZ2VQcm9taXNlczogUHJvbWlzZTx2b2lkPltdID0gW107XG4gIHByaXZhdGUgdXNlclByb2ZpbGVQb3J0YWw6IENvbXBvbmVudFBvcnRhbDxUb2FzdENvbXBvbmVudD47XG5cbiAgbWVzc2FnZUJ1aWxkZXIgPSB7XG4gICAgZXJyb3I6IHtcbiAgICAgIHNpbXBsZTogXCJTb21ldGhpbmcgd2VudCB3cm9uZy4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci5cIixcbiAgICAgIDQwMDogXCJCYWQgUmVxdWVzdCEgV2UgYXJlIHdvcmtpbmcgdG8gZml4IHRoaXMuXCIsXG4gICAgICA0MDE6IFwiVU5BVVRIT1JJU0VEXCIsXG4gICAgICA0MDM6IFwiU29ycnkgZm9yIHRoZSBpbnRlcnJ1cHRpb24gYnV0IHNlZW1zIGxpa2UgeW91ciBzZXNzaW9uIGhhcyBleHBpcmVkLiBQbGVhc2UgbG9naW4gYWdhaW4gYW5kIGNvbnRpbnVlXCIsXG4gICAgICA0MDQ6IFwiVW5hYmxlIHRvIGZpbmQgcmVzb3VyY2UuIFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXJcIlxuICAgIH0sXG4gICAgaXRlbTogKGl0ZW06IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYWN0aW9uOiAoYWN0OiBPcGVyYXRpb25zID0gXCJ1cGRhdGVkXCIpID0+IHtcbiAgICAgICAgICBjb25zdCBzdWNjZXNzID0gYFN1Y2Nlc3NmdWxseSAke2FjdH0gJHtpdGVtfS5gO1xuICAgICAgICAgIGNvbnN0IGZhaWx1cmUgPSBgRmFpbGVkIHRvICR7YWN0fSAke2l0ZW19LmA7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHN1Y2Nlc3MsXG4gICAgICAgICAgICBmYWlsdXJlXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9LFxuICAgIHNob3J0OiAoYWN0OiBPcGVyYXRpb25zID0gXCJ1cGRhdGVkXCIpID0+IHtcbiAgICAgIGNvbnN0IHN1Y2Nlc3MgPSBgU3VjY2Vzc2Z1bGx5ICR7YWN0fS5gO1xuICAgICAgY29uc3QgZmFpbHVyZSA9IGBGYWlsZWQgdG8gJHthY3R9LmA7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzLFxuICAgICAgICBmYWlsdXJlXG4gICAgICB9O1xuICAgIH0sXG4gICAgc2ltcGxlOiAoLi4uYXJnczogc3RyaW5nW10pID0+IGFyZ3Muam9pbihcIiBcIiksXG4gICAgc2ltcGxlc3Q6IFwiRG9uZSFcIlxuICB9O1xuXG4gIGRpc3BsYXlNc2cobWVzc2FnZTogc3RyaW5nLCB0aW1lb3V0ID0gMzAwMCwgc3RhdGU/OiBUb2FzdFN0YXRlKTogdm9pZCB7XG4gICAgbGV0IGZpbmFsTWVzc2FnZTogc3RyaW5nIHwgeyB0ZXh0OiBzdHJpbmc7IHN0YXRlPzogVG9hc3RTdGF0ZSB9O1xuICAgIFxuICAgIC8vIEhhbmRsZSBkaWZmZXJlbnQgcGFyYW1ldGVyIGNvbWJpbmF0aW9uc1xuICAgIGlmIChzdGF0ZSkge1xuICAgICAgLy8gTmV3IGZvcm1hdCB3aXRoIHN0YXRlXG4gICAgICBmaW5hbE1lc3NhZ2UgPSB7IHRleHQ6IG1lc3NhZ2UsIHN0YXRlIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEJhc2ljIGZvcm1hdDoganVzdCBtZXNzYWdlXG4gICAgICBmaW5hbE1lc3NhZ2UgPSBtZXNzYWdlO1xuICAgIH1cblxuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS5jZW50ZXJIb3Jpem9udGFsbHkoKTtcblxuICAgIGlmICh3aW5kb3c/LmlubmVyV2lkdGggPCA2MDApIHtcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3kuYm90dG9tKFwiNDhweFwiKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcG9zaXRpb25TdHJhdGVneS50b3AoXCI4MHB4XCIpO1xuICAgIH1cbiAgICBcbiAgICBjb25zdCBjb25maWcgPSBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5XG4gICAgfSk7XG5cbiAgICBpZiAoIXRoaXMudG9hc3RXcmFwcGVyUmVmPy5oYXNBdHRhY2hlZCgpKSB7XG4gICAgICB0aGlzLnRvYXN0V3JhcHBlclJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoY29uZmlnKTtcbiAgICAgIHRoaXMudG9hc3RXcmFwcGVyUmVmLmF0dGFjaCh0aGlzLnVzZXJQcm9maWxlUG9ydGFsKTtcbiAgICB9XG5cbiAgICBjb25zdCBtZXNzYWdlSWQgPSB0aGlzLmRhdGEudXBkYXRlTWVzc2FnZShmaW5hbE1lc3NhZ2UpO1xuICAgIHRoaXMubWVzc2FnZVByb21pc2VzLnB1c2goXG4gICAgICBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICByZXNvbHZlKHRoaXMuZGF0YS5yZW1vdmVNZXNzYWdlKG1lc3NhZ2VJZCkpO1xuICAgICAgICAgIGlmICghdGhpcy5kYXRhLmhhc01lc3NhZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZVRvYXN0T3ZlcmxheSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgdGltZW91dCArIDMwMCk7XG4gICAgICB9KVxuICAgICk7XG4gICAgUHJvbWlzZS5yYWNlKHRoaXMubWVzc2FnZVByb21pc2VzKS50aGVuKCgpID0+IHt9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2xvc2VUb2FzdE92ZXJsYXkoKTogYW55IHtcbiAgICByZXR1cm4gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm1lc3NhZ2VQcm9taXNlcyA9IFtdO1xuICAgICAgdGhpcy50b2FzdFdyYXBwZXJSZWY/LmRldGFjaCgpO1xuICAgIH0sIDMwMCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mis-crystal-design-system-action-list.mjs","sources":["../../../projects/mis-components/action-list/action-list.component.html","../../../projects/mis-components/action-list/action-list.component.ts","../../../projects/mis-components/action-list/action-list.module.ts","../../../projects/mis-components/action-list/mis-crystal-design-system-action-list.ts"],"sourcesContent":["<div\n class=\"main-container\"\n [ngStyle]=\"{\n height: height.length > 0 ? height : '',\n width: width.length > 0 ? width : ''\n }\"\n>\n <div\n class=\"dropdown\"\n #select\n tabindex=\"0\"\n (keyup.enter)=\"toggleDropdown()\"\n (click)=\"toggleDropdown()\"\n [ngStyle]=\"{ background: isOpen ? '#E6EBF7' : '' }\"\n >\n <div class=\"label\">\n <p class=\"text\">\n {{ label }}\n </p>\n <p *ngIf=\"selectedItems?.length > 1\" class=\"count\">+{{ selectedItems?.length - 1 }}</p>\n </div>\n <svg\n class=\"handle\"\n [ngStyle]=\"{ transform: isOpen ? 'rotate(180deg)' : 'rotate(0deg)' }\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z\"\n fill=\"#181F33\"\n />\n </svg>\n </div>\n</div>\n\n<ng-template #popupContainer>\n <div\n class=\"popup-container\"\n [ngStyle]=\"{\n height: dropdownListHeight,\n width: dropdownListWidth\n }\"\n >\n <div class=\"items\">\n <div\n #singleItem\n class=\"item\"\n tabindex=\"0\"\n [ngClass]=\"{ 'item-disabled': item?.disabled }\"\n (mouseenter)=\"onHover(item, true, singleItem)\"\n *ngFor=\"let item of data\"\n >\n <div class=\"label\" [ngStyle]=\"{ width: item?.icon ? '90%' : '100%' }\">\n <span>{{ item?.label }}</span>\n </div>\n <div class=\"icon-container\" *ngIf=\"item?.icon\">\n <img class=\"icon\" [src]=\"item.icon\" alt=\"no img\" />\n </div>\n </div>\n <div class=\"noData\" *ngIf=\"data.length === 0\">\n {{ noDataMessage || \"No results\" }}\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #subPopupContainer>\n <div\n class=\"popup-container\"\n [ngStyle]=\"{\n height: dropdownListHeight,\n width: dropdownListWidth\n }\"\n >\n <div class=\"items\">\n <div\n class=\"item\"\n tabindex=\"0\"\n [ngClass]=\"{ 'item-disabled': item.disabled }\"\n (click)=\"!item.disabled && selectItem(item)\"\n *ngFor=\"let item of subItems\"\n >\n <div class=\"checkbox-container\" *ngIf=\"item.type === 'MULTIPLE'\">\n <mis-checkbox [disabled]=\"item.disabled\" [checked]=\"item.checked\"></mis-checkbox>\n </div>\n <div class=\"label\" [ngStyle]=\"{ width: item.icon ? '90%' : '100%' }\">\n <span>{{ item.label }}</span>\n </div>\n <div class=\"icon-container\" *ngIf=\"item.icon || item.checked\">\n <img *ngIf=\"!item.checked\" class=\"icon\" [src]=\"item.icon\" alt=\"no img\" />\n <ng-container *ngIf=\"item.type === 'SINGLE' && item.checked\">\n <ng-container *ngTemplateOutlet=\"tickIcon\"></ng-container>\n </ng-container>\n </div>\n </div>\n <div class=\"noData\" *ngIf=\"data.length === 0\">\n {{ noDataMessage || \"No results\" }}\n </div>\n </div>\n </div>\n</ng-template>\n<ng-template #tickIcon>\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.47697 14.8237L3.49922 10.5519C3.2776 10.3169 3.2776 9.93437 3.49922 9.69684L4.30273 8.84298C4.52434 8.60795 4.88462 8.60795 5.10623 8.84298L7.87929 11.8334L14.0607 5.17627C14.2823 4.94124 14.6426 4.94124 14.8642 5.17627L15.6677 6.03138C15.8894 6.26641 15.8894 6.65021 15.6677 6.88399L8.28048 14.8237C8.05886 15.0588 7.69859 15.0588 7.47697 14.8237Z\"\n fill=\"#181F33\"\n />\n </svg>\n</ng-template>\n","import { ConnectionPositionPair, Overlay, OverlayConfig, OverlayRef } from \"@angular/cdk/overlay\";\nimport { TemplatePortal } from \"@angular/cdk/portal\";\nimport { Component, ElementRef, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild, ViewContainerRef } from \"@angular/core\";\n\n@Component({\n selector: \"mis-action-list\",\n templateUrl: \"./action-list.component.html\",\n styleUrls: [\"./action-list.component.scss\"]\n})\nexport class ActionListComponent implements OnInit {\n isOpen = false;\n\n subItems: ActionItem[] = [];\n\n @Input() data: ActionItems[] = [];\n @Input() height: string = \"\";\n @Input() width: string = \"\";\n @Input() label: string = \"Select\";\n\n @Input() dropdownListHeight: string = \"\";\n @Input() dropdownListWidth: string = \"\";\n @Input() dropdownListPosition: \"Left\" | \"Right\" = \"Left\";\n\n @Input() searchEnabled: boolean = true;\n @Input() noDataMessage: string = \"No Data\";\n selectedItems: ActionItem[] = [];\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @ViewChild(\"select\", { static: false }) selectElement: ElementRef;\n @ViewChild(\"popupContainer\", { static: false }) popupContainer: TemplateRef<Element>;\n @ViewChild(\"subPopupContainer\", { static: false }) subPopupContainer: TemplateRef<Element>;\n private overlayRef: OverlayRef;\n private subOverlayRef: OverlayRef;\n\n constructor(private eRef: ElementRef, private overlay: Overlay, private viewContainerRef: ViewContainerRef) {}\n ngOnInit() {\n console.log(\"this.dat\", this.data);\n \n this.selectedItems = [];\n this.data?.forEach(q =>\n q?.children.forEach(w => {\n if (w.checked) this.selectedItems.push(w);\n })\n );\n this.label = this.selectedItems[0]?.label || this.label;\n }\n\n filterByValue(array: ActionItem[], string: string) {\n return array.filter(o => o.label.toLowerCase().includes(string.toLowerCase()));\n }\n toggleDropdown() {\n this.isOpen = !this.isOpen;\n if (this.isOpen) this.openDropdown(this.popupContainer, this.selectElement.nativeElement, false);\n else this.onCancel();\n }\n private openDropdown(template: TemplateRef<Element>, origin: HTMLElement, openRight: boolean): void {\n const positionsBottom = [\n new ConnectionPositionPair({ originX: \"start\", originY: \"bottom\" }, { overlayX: \"start\", overlayY: \"top\" }, 0, 4),\n new ConnectionPositionPair({ originX: \"end\", originY: \"bottom\" }, { overlayX: \"end\", overlayY: \"top\" }, 0, 4)\n ];\n const positionsTop = [\n new ConnectionPositionPair({ originX: \"start\", originY: \"top\" }, { overlayX: \"start\", overlayY: \"bottom\" }, 0, -4),\n new ConnectionPositionPair({ originX: \"end\", originY: \"top\" }, { overlayX: \"end\", overlayY: \"bottom\" }, 0, -4)\n ];\n const positions = [\n ...(this.dropdownListPosition === \"Right\" ? positionsBottom.reverse() : positionsBottom),\n ...(this.dropdownListPosition === \"Right\" ? positionsTop.reverse() : positionsTop)\n ];\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(origin)\n .withPositions(\n openRight ? [new ConnectionPositionPair({ originX: \"end\", originY: \"top\" }, { overlayX: \"start\", overlayY: \"top\" }, 8)] : positions\n )\n .withPush(true);\n const configs = new OverlayConfig({\n hasBackdrop: !openRight,\n backdropClass: \"cdk-overlay-transparent-backdrop\",\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n positionStrategy,\n width: origin.clientWidth || 140\n });\n if (openRight) {\n this.subOverlayRef = this.overlay.create(configs);\n if (this.dropdownListWidth) this.subOverlayRef.updateSize({ width: this.dropdownListWidth });\n if (this.dropdownListHeight) this.subOverlayRef.updateSize({ height: this.dropdownListHeight });\n this.subOverlayRef.attach(new TemplatePortal(template, this.viewContainerRef));\n this.subOverlayRef.backdropClick().subscribe(() => {\n this.onCancel();\n });\n return;\n }\n this.overlayRef = this.overlay.create(configs);\n if (this.dropdownListWidth) this.overlayRef.updateSize({ width: this.dropdownListWidth });\n if (this.dropdownListHeight) this.overlayRef.updateSize({ height: this.dropdownListHeight });\n this.overlayRef.attach(new TemplatePortal(template, this.viewContainerRef));\n this.overlayRef.backdropClick().subscribe(() => {\n this.onCancel();\n });\n }\n selectItem(item: ActionItem) {\n if (this.data.some(q => q.children.some(w => w.value === item.value && w.checked))) {\n if (item.type === \"MULTIPLE\") this.selectedItems = this.selectedItems.filter(q => q.value !== item.value);\n this.data = this.data.map(q => ({\n ...q,\n children: q?.children?.map(e => ({\n ...e,\n checked: e.checked && e.value !== item.value\n }))\n }));\n } else {\n this.data = this.data.map(q => ({\n ...q,\n children: q?.children?.map(e => ({\n ...e,\n checked: (e.type === \"MULTIPLE\" && (e.checked || e.value === item.value)) || (e.type === \"SINGLE\" && e.value === item.value)\n }))\n }));\n if (item.type === \"MULTIPLE\") this.selectedItems.push({ ...item, checked: true });\n }\n this.label =\n item.type === \"MULTIPLE\" ? (this.selectedItems.length > 0 ? this.selectedItems[0]?.label : \"Select\") : item.checked ? \"Select\" : item.label;\n this.subItems = this.data.find(q => q.children?.some(w => w.value === item.value))?.children || [];\n this.onChange.emit(this.data);\n if (item.type === \"SINGLE\") this.toggleDropdown();\n }\n onHover(item: ActionItem, isHovered, element?: any) {\n if (isHovered) {\n this.subItems.length > 0 && this.subOverlayRef?.detach();\n this.subItems = this.data.find(q => q?.children?.some(w => w?.parentValue === item?.value))?.children || [];\n this.subItems.length > 0 && this.openDropdown(this.subPopupContainer, element?.nativeElement || element, true);\n } else {\n this.subItems = [];\n this.subOverlayRef?.detach();\n }\n }\n onCancel() {\n this.isOpen = false;\n this.overlayRef?.detach();\n this.subOverlayRef?.detach();\n }\n}\n\nexport interface ActionItems {\n label: ActionItemLabel | string;\n value: string;\n icon?: string;\n disabled?: boolean;\n children?: ActionItem[];\n}\n\nexport interface ActionItemLabel {\n primaryText ?: string;\n secondaryText ?: string;\n}\n\nexport interface ActionItem {\n type: \"SINGLE\" | \"MULTIPLE\";\n label: string;\n value: string;\n parentValue: string;\n icon?: string;\n checked: boolean;\n disabled?: boolean;\n}\n","import { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { ActionListComponent } from \"./action-list.component\";\nimport { CheckboxModule } from \"mis-crystal-design-system/checkbox\";\nimport { OverlayModule } from \"@angular/cdk/overlay\";\n\n@NgModule({\n declarations: [ActionListComponent],\n imports: [CommonModule, FormsModule, OverlayModule, CheckboxModule],\n exports: [ActionListComponent]\n})\nexport class ActionListModule {\n static forRoot(): ModuleWithProviders<ActionListModule> {\n return { ngModule: ActionListModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mis-crystal-design-system-action-list.mjs","sources":["../../../projects/mis-components/action-list/action-list.component.html","../../../projects/mis-components/action-list/action-list.component.ts","../../../projects/mis-components/action-list/action-list.module.ts","../../../projects/mis-components/action-list/mis-crystal-design-system-action-list.ts"],"sourcesContent":["<div\n class=\"main-container\"\n [ngStyle]=\"{\n height: height.length > 0 ? height : '',\n width: width.length > 0 ? width : ''\n }\"\n>\n <div\n class=\"dropdown\"\n #select\n tabindex=\"0\"\n (keyup.enter)=\"toggleDropdown()\"\n (click)=\"toggleDropdown()\"\n [ngStyle]=\"{ background: isOpen ? '#E6EBF7' : '' }\"\n >\n <div class=\"label\">\n <p class=\"text\">\n {{ label }}\n </p>\n <p *ngIf=\"selectedItems?.length > 1\" class=\"count\">+{{ selectedItems?.length - 1 }}</p>\n </div>\n <svg\n class=\"handle\"\n [ngStyle]=\"{ transform: isOpen ? 'rotate(180deg)' : 'rotate(0deg)' }\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13.825 7.15845L10 10.9751L6.175 7.15845L5 8.33345L10 13.3334L15 8.33345L13.825 7.15845Z\"\n fill=\"#181F33\"\n />\n </svg>\n </div>\n</div>\n\n<ng-template #popupContainer>\n <div\n class=\"popup-container\"\n [ngStyle]=\"{\n height: dropdownListHeight,\n width: dropdownListWidth\n }\"\n >\n <div class=\"items\">\n <div\n #singleItem\n class=\"item\"\n tabindex=\"0\"\n [ngClass]=\"{ 'item-disabled': item?.disabled }\"\n (mouseenter)=\"onHover(item, true, singleItem)\"\n *ngFor=\"let item of data\"\n >\n <div class=\"label\" [ngStyle]=\"{ width: item?.icon ? '90%' : '100%' }\">\n <span>{{ item?.label }}</span>\n </div>\n <div class=\"icon-container\" *ngIf=\"item?.icon\">\n <img class=\"icon\" [src]=\"item.icon\" alt=\"no img\" />\n </div>\n </div>\n <div class=\"noData\" *ngIf=\"data.length === 0\">\n {{ noDataMessage || \"No results\" }}\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #subPopupContainer>\n <div\n class=\"popup-container\"\n [ngStyle]=\"{\n height: dropdownListHeight,\n width: dropdownListWidth\n }\"\n >\n <div class=\"items\">\n <div\n class=\"item\"\n tabindex=\"0\"\n [ngClass]=\"{ 'item-disabled': item.disabled }\"\n (click)=\"!item.disabled && selectItem(item)\"\n *ngFor=\"let item of subItems\"\n >\n <div class=\"checkbox-container\" *ngIf=\"item.type === 'MULTIPLE'\">\n <mis-checkbox [disabled]=\"item.disabled\" [checked]=\"item.checked\"></mis-checkbox>\n </div>\n <div class=\"label\" [ngStyle]=\"{ width: item.icon ? '90%' : '100%' }\">\n <span>{{ item.label }}</span>\n </div>\n <div class=\"icon-container\" *ngIf=\"item.icon || item.checked\">\n <img *ngIf=\"!item.checked\" class=\"icon\" [src]=\"item.icon\" alt=\"no img\" />\n <ng-container *ngIf=\"item.type === 'SINGLE' && item.checked\">\n <ng-container *ngTemplateOutlet=\"tickIcon\"></ng-container>\n </ng-container>\n </div>\n </div>\n <div class=\"noData\" *ngIf=\"data.length === 0\">\n {{ noDataMessage || \"No results\" }}\n </div>\n </div>\n </div>\n</ng-template>\n<ng-template #tickIcon>\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.47697 14.8237L3.49922 10.5519C3.2776 10.3169 3.2776 9.93437 3.49922 9.69684L4.30273 8.84298C4.52434 8.60795 4.88462 8.60795 5.10623 8.84298L7.87929 11.8334L14.0607 5.17627C14.2823 4.94124 14.6426 4.94124 14.8642 5.17627L15.6677 6.03138C15.8894 6.26641 15.8894 6.65021 15.6677 6.88399L8.28048 14.8237C8.05886 15.0588 7.69859 15.0588 7.47697 14.8237Z\"\n fill=\"#181F33\"\n />\n </svg>\n</ng-template>\n","import { ConnectionPositionPair, Overlay, OverlayConfig, OverlayRef } from \"@angular/cdk/overlay\";\nimport { TemplatePortal } from \"@angular/cdk/portal\";\nimport { Component, ElementRef, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild, ViewContainerRef } from \"@angular/core\";\n\n@Component({\n selector: \"mis-action-list\",\n templateUrl: \"./action-list.component.html\",\n styleUrls: [\"./action-list.component.scss\"]\n})\nexport class ActionListComponent implements OnInit {\n isOpen = false;\n\n subItems: ActionItem[] = [];\n\n @Input() data: ActionItems[] = [];\n @Input() height: string = \"\";\n @Input() width: string = \"\";\n @Input() label: string = \"Select\";\n\n @Input() dropdownListHeight: string = \"\";\n @Input() dropdownListWidth: string = \"\";\n @Input() dropdownListPosition: \"Left\" | \"Right\" = \"Left\";\n\n @Input() searchEnabled: boolean = true;\n @Input() noDataMessage: string = \"No Data\";\n selectedItems: ActionItem[] = [];\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @ViewChild(\"select\", { static: false }) selectElement: ElementRef;\n @ViewChild(\"popupContainer\", { static: false }) popupContainer: TemplateRef<Element>;\n @ViewChild(\"subPopupContainer\", { static: false }) subPopupContainer: TemplateRef<Element>;\n private overlayRef: OverlayRef;\n private subOverlayRef: OverlayRef;\n\n constructor(private eRef: ElementRef, private overlay: Overlay, private viewContainerRef: ViewContainerRef) {}\n ngOnInit() {\n console.log(\"this.dat\", this.data);\n \n this.selectedItems = [];\n this.data?.forEach(q =>\n q?.children.forEach(w => {\n if (w.checked) this.selectedItems.push(w);\n })\n );\n this.label = this.selectedItems[0]?.label || this.label;\n }\n\n filterByValue(array: ActionItem[], string: string) {\n return array.filter(o => o.label.toLowerCase().includes(string.toLowerCase()));\n }\n toggleDropdown() {\n this.isOpen = !this.isOpen;\n if (this.isOpen) this.openDropdown(this.popupContainer, this.selectElement.nativeElement, false);\n else this.onCancel();\n }\n private openDropdown(template: TemplateRef<Element>, origin: HTMLElement, openRight: boolean): void {\n const positionsBottom = [\n new ConnectionPositionPair({ originX: \"start\", originY: \"bottom\" }, { overlayX: \"start\", overlayY: \"top\" }, 0, 4),\n new ConnectionPositionPair({ originX: \"end\", originY: \"bottom\" }, { overlayX: \"end\", overlayY: \"top\" }, 0, 4)\n ];\n const positionsTop = [\n new ConnectionPositionPair({ originX: \"start\", originY: \"top\" }, { overlayX: \"start\", overlayY: \"bottom\" }, 0, -4),\n new ConnectionPositionPair({ originX: \"end\", originY: \"top\" }, { overlayX: \"end\", overlayY: \"bottom\" }, 0, -4)\n ];\n const positions = [\n ...(this.dropdownListPosition === \"Right\" ? positionsBottom.reverse() : positionsBottom),\n ...(this.dropdownListPosition === \"Right\" ? positionsTop.reverse() : positionsTop)\n ];\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(origin)\n .withPositions(\n openRight ? [new ConnectionPositionPair({ originX: \"end\", originY: \"top\" }, { overlayX: \"start\", overlayY: \"top\" }, 8)] : positions\n )\n .withPush(true);\n const configs = new OverlayConfig({\n hasBackdrop: !openRight,\n backdropClass: \"cdk-overlay-transparent-backdrop\",\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n positionStrategy,\n width: origin.clientWidth || 140\n });\n if (openRight) {\n this.subOverlayRef = this.overlay.create(configs);\n if (this.dropdownListWidth) this.subOverlayRef.updateSize({ width: this.dropdownListWidth });\n if (this.dropdownListHeight) this.subOverlayRef.updateSize({ height: this.dropdownListHeight });\n this.subOverlayRef.attach(new TemplatePortal(template, this.viewContainerRef));\n this.subOverlayRef.backdropClick().subscribe(() => {\n this.onCancel();\n });\n return;\n }\n this.overlayRef = this.overlay.create(configs);\n if (this.dropdownListWidth) this.overlayRef.updateSize({ width: this.dropdownListWidth });\n if (this.dropdownListHeight) this.overlayRef.updateSize({ height: this.dropdownListHeight });\n this.overlayRef.attach(new TemplatePortal(template, this.viewContainerRef));\n this.overlayRef.backdropClick().subscribe(() => {\n this.onCancel();\n });\n }\n selectItem(item: ActionItem) {\n if (this.data.some(q => q.children.some(w => w.value === item.value && w.checked))) {\n if (item.type === \"MULTIPLE\") this.selectedItems = this.selectedItems.filter(q => q.value !== item.value);\n this.data = this.data.map(q => ({\n ...q,\n children: q?.children?.map(e => ({\n ...e,\n checked: e.checked && e.value !== item.value\n }))\n }));\n } else {\n this.data = this.data.map(q => ({\n ...q,\n children: q?.children?.map(e => ({\n ...e,\n checked: (e.type === \"MULTIPLE\" && (e.checked || e.value === item.value)) || (e.type === \"SINGLE\" && e.value === item.value)\n }))\n }));\n if (item.type === \"MULTIPLE\") this.selectedItems.push({ ...item, checked: true });\n }\n this.label =\n item.type === \"MULTIPLE\" ? (this.selectedItems.length > 0 ? this.selectedItems[0]?.label : \"Select\") : item.checked ? \"Select\" : item.label;\n this.subItems = this.data.find(q => q.children?.some(w => w.value === item.value))?.children || [];\n this.onChange.emit(this.data);\n if (item.type === \"SINGLE\") this.toggleDropdown();\n }\n onHover(item: ActionItem, isHovered, element?: any) {\n if (isHovered) {\n this.subItems.length > 0 && this.subOverlayRef?.detach();\n this.subItems = this.data.find(q => q?.children?.some(w => w?.parentValue === item?.value))?.children || [];\n this.subItems.length > 0 && this.openDropdown(this.subPopupContainer, element?.nativeElement || element, true);\n } else {\n this.subItems = [];\n this.subOverlayRef?.detach();\n }\n }\n onCancel() {\n this.isOpen = false;\n this.overlayRef?.detach();\n this.subOverlayRef?.detach();\n }\n}\n\nexport interface ActionItems {\n label: ActionItemLabel | string;\n value: string;\n icon?: string;\n disabled?: boolean;\n children?: ActionItem[];\n}\n\nexport interface ActionItemLabel {\n primaryText ?: string;\n secondaryText ?: string;\n}\n\nexport interface ActionItem {\n type: \"SINGLE\" | \"MULTIPLE\";\n label: string;\n value: string;\n parentValue: string;\n icon?: string;\n checked: boolean;\n disabled?: boolean;\n}\n","import { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { ActionListComponent } from \"./action-list.component\";\nimport { CheckboxModule } from \"mis-crystal-design-system/checkbox\";\nimport { OverlayModule } from \"@angular/cdk/overlay\";\n\n@NgModule({\n declarations: [ActionListComponent],\n imports: [CommonModule, FormsModule, OverlayModule, CheckboxModule],\n exports: [ActionListComponent]\n})\nexport class ActionListModule {\n static forRoot(): ModuleWithProviders<ActionListModule> {\n return { ngModule: ActionListModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -8,12 +8,12 @@ class AnalyticsService {
|
|
|
8
8
|
this.scriptLoaded = false;
|
|
9
9
|
this.pendingEvents = [];
|
|
10
10
|
}
|
|
11
|
-
insertScript(measurementId, renderer) {
|
|
11
|
+
insertScript(measurementId, renderer, config = {}) {
|
|
12
12
|
const loadScript = renderer.createElement("script");
|
|
13
13
|
loadScript.setAttribute("async", true);
|
|
14
14
|
loadScript.setAttribute("src", `https://www.googletagmanager.com/gtag/js?id=${measurementId}`);
|
|
15
15
|
const initScript = renderer.createElement("script");
|
|
16
|
-
initScript.innerText = `window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag(\'js\', new Date());gtag(\'config\', \'${measurementId}\');`;
|
|
16
|
+
initScript.innerText = `window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag(\'js\', new Date());gtag(\'config\', \'${measurementId}\', ${JSON.stringify(config)});`;
|
|
17
17
|
renderer.appendChild(this.document.head, loadScript);
|
|
18
18
|
renderer.appendChild(this.document.head, initScript);
|
|
19
19
|
this.handlePendingEvents(loadScript);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mis-crystal-design-system-analytics.mjs","sources":["../../../projects/mis-components/analytics/analytics.service.ts","../../../projects/mis-components/analytics/analytics.module.ts","../../../projects/mis-components/analytics/mis-crystal-design-system-analytics.ts"],"sourcesContent":["import { DOCUMENT } from \"@angular/common\";\nimport { Inject, Injectable, Renderer2 } from \"@angular/core\";\ndeclare const gtag: Function;\ntype TCustomParameters = { [key: string]: string | number | boolean };\ntype TPendingEvents = ([\"event\", string, string, string?, string?, TCustomParameters?] | [\"set\", string])[];\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class AnalyticsService {\n private scriptLoaded = false;\n private pendingEvents: TPendingEvents = [];\n\n constructor(@Inject(DOCUMENT) private document: any) {}\n\n insertScript(measurementId: string, renderer: Renderer2): void {\n const loadScript = renderer.createElement(\"script\");\n loadScript.setAttribute(\"async\", true);\n loadScript.setAttribute(\"src\", `https://www.googletagmanager.com/gtag/js?id=${measurementId}`);\n\n const initScript = renderer.createElement(\"script\");\n initScript.innerText = `window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag(\\'js\\', new Date());gtag(\\'config\\', \\'${measurementId}\\');`;\n renderer.appendChild(this.document.head, loadScript);\n renderer.appendChild(this.document.head, initScript);\n this.handlePendingEvents(loadScript);\n }\n\n private handlePendingEvents(script: HTMLScriptElement): void {\n script.addEventListener(\"load\", () => {\n this.scriptLoaded = true;\n for (const eventDetails of this.pendingEvents) {\n if (eventDetails[0] === \"event\") {\n this.send(eventDetails[1], eventDetails[2], eventDetails[3], eventDetails[4]);\n } else if (eventDetails[0] === \"set\") {\n this.setIdentity(eventDetails[1]);\n }\n }\n });\n }\n\n send(\n eventAction: string, \n event_category: string, \n event_label?: string, \n event_value?: string, \n force = false, \n customParameters?: TCustomParameters\n ): void {\n if (!this.scriptLoaded && !force) {\n this.pendingEvents.push([\"event\", eventAction, event_category, event_label, event_value, customParameters]);\n return;\n }\n gtag?.(\"event\", eventAction, {\n event_category: event_category,\n event_label: event_label,\n event_value: event_value,\n ...customParameters\n });\n }\n\n setIdentity(identifier: string): void {\n if (!this.scriptLoaded) {\n this.pendingEvents.push([\"set\", identifier]);\n return;\n }\n gtag?.(\"set\", { user_id: identifier });\n }\n}\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { AnalyticsService } from \"./analytics.service\";\n\n@NgModule()\nexport class AnalyticsModule {\n static forRoot(): ModuleWithProviders<AnalyticsModule> {\n return {\n ngModule: AnalyticsModule,\n providers: [AnalyticsService]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MASa,gBAAgB,CAAA;AAI3B,IAAA,WAAA,CAAsC,QAAa,EAAA;QAAb,
|
|
1
|
+
{"version":3,"file":"mis-crystal-design-system-analytics.mjs","sources":["../../../projects/mis-components/analytics/analytics.service.ts","../../../projects/mis-components/analytics/analytics.module.ts","../../../projects/mis-components/analytics/mis-crystal-design-system-analytics.ts"],"sourcesContent":["import { DOCUMENT } from \"@angular/common\";\nimport { Inject, Injectable, Renderer2 } from \"@angular/core\";\ndeclare const gtag: Function;\ntype TCustomParameters = { [key: string]: string | number | boolean };\ntype TPendingEvents = ([\"event\", string, string, string?, string?, TCustomParameters?] | [\"set\", string])[];\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class AnalyticsService {\n private scriptLoaded = false;\n private pendingEvents: TPendingEvents = [];\n\n constructor(@Inject(DOCUMENT) private document: any) {}\n\n insertScript(measurementId: string, renderer: Renderer2, config = {}): void {\n const loadScript = renderer.createElement(\"script\");\n loadScript.setAttribute(\"async\", true);\n loadScript.setAttribute(\"src\", `https://www.googletagmanager.com/gtag/js?id=${measurementId}`);\n\n const initScript = renderer.createElement(\"script\");\n initScript.innerText = `window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag(\\'js\\', new Date());gtag(\\'config\\', \\'${measurementId}\\', ${JSON.stringify(config)});`;\n\n renderer.appendChild(this.document.head, loadScript);\n renderer.appendChild(this.document.head, initScript);\n this.handlePendingEvents(loadScript);\n }\n\n private handlePendingEvents(script: HTMLScriptElement): void {\n script.addEventListener(\"load\", () => {\n this.scriptLoaded = true;\n for (const eventDetails of this.pendingEvents) {\n if (eventDetails[0] === \"event\") {\n this.send(eventDetails[1], eventDetails[2], eventDetails[3], eventDetails[4]);\n } else if (eventDetails[0] === \"set\") {\n this.setIdentity(eventDetails[1]);\n }\n }\n });\n }\n\n send(\n eventAction: string, \n event_category: string, \n event_label?: string, \n event_value?: string, \n force = false, \n customParameters?: TCustomParameters\n ): void {\n if (!this.scriptLoaded && !force) {\n this.pendingEvents.push([\"event\", eventAction, event_category, event_label, event_value, customParameters]);\n return;\n }\n gtag?.(\"event\", eventAction, {\n event_category: event_category,\n event_label: event_label,\n event_value: event_value,\n ...customParameters\n });\n }\n\n setIdentity(identifier: string): void {\n if (!this.scriptLoaded) {\n this.pendingEvents.push([\"set\", identifier]);\n return;\n }\n gtag?.(\"set\", { user_id: identifier });\n }\n}\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { AnalyticsService } from \"./analytics.service\";\n\n@NgModule()\nexport class AnalyticsModule {\n static forRoot(): ModuleWithProviders<AnalyticsModule> {\n return {\n ngModule: AnalyticsModule,\n providers: [AnalyticsService]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|