@igo2/common 17.0.0 → 17.0.1-next.2
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/action/actionbar/actionbar-item.component.d.ts +1 -3
- package/action/shared/action.interfaces.d.ts +1 -3
- package/action/src/actionbar/actionbar-item.theming.scss +3 -3
- package/backdrop/backdrop.component.d.ts +0 -1
- package/clone/clone.pipe.d.ts +1 -1
- package/context-menu/long-press.directive.d.ts +0 -1
- package/custom-html/custom-html.component.d.ts +0 -1
- package/drag-drop/drag-drop.directive.d.ts +1 -1
- package/dynamic-component/dynamic-outlet/dynamic-outlet.component.d.ts +2 -6
- package/dynamic-component/shared/dynamic-component.d.ts +2 -6
- package/entity/entity-table/entity-table.component.d.ts +10 -22
- package/entity/shared/entity.interfaces.d.ts +6 -16
- package/entity/shared/transaction.d.ts +4 -12
- package/entity/src/entity-selector/entity-selector.theming.scss +1 -1
- package/entity/src/entity-table/entity-table.theming.scss +4 -4
- package/esm2022/action/action.module.mjs +4 -4
- package/esm2022/action/actionbar/actionbar-item.component.mjs +4 -4
- package/esm2022/action/actionbar/actionbar.component.mjs +3 -3
- package/esm2022/action/actionbar/actionbar.module.mjs +4 -4
- package/esm2022/action/shared/action.interfaces.mjs +1 -1
- package/esm2022/backdrop/backdrop.component.mjs +5 -6
- package/esm2022/backdrop/backdrop.module.mjs +4 -4
- package/esm2022/badge/badge-icon.directive.mjs +3 -3
- package/esm2022/badge/badge-icon.module.mjs +4 -4
- package/esm2022/clickout/clickout.directive.mjs +3 -3
- package/esm2022/clickout/clickout.module.mjs +4 -4
- package/esm2022/clone/clone.module.mjs +4 -4
- package/esm2022/clone/clone.pipe.mjs +5 -5
- package/esm2022/collapsible/collapse.directive.mjs +4 -4
- package/esm2022/collapsible/collapsible.component.mjs +4 -4
- package/esm2022/collapsible/collapsible.module.mjs +4 -4
- package/esm2022/color/color-picker-form-field/color-picker-form-field.component.mjs +6 -6
- package/esm2022/color/color-picker-form-field/color-picker-form-field.module.mjs +4 -4
- package/esm2022/confirm-dialog/confirm-dialog.component.mjs +4 -4
- package/esm2022/confirm-dialog/confirm-dialog.module.mjs +4 -4
- package/esm2022/confirm-dialog/confirm-dialog.service.mjs +3 -3
- package/esm2022/context-menu/context-menu.directive.mjs +3 -3
- package/esm2022/context-menu/context-menu.module.mjs +4 -4
- package/esm2022/context-menu/long-press.directive.mjs +5 -6
- package/esm2022/custom-html/custom-html.component.mjs +5 -6
- package/esm2022/custom-html/custom-html.module.mjs +4 -4
- package/esm2022/custom-html/custom-html.pipe.mjs +3 -3
- package/esm2022/dom/dom.module.mjs +4 -4
- package/esm2022/dom/dom.service.mjs +3 -3
- package/esm2022/drag-drop/drag-drop.directive.mjs +4 -4
- package/esm2022/drag-drop/drag-drop.module.mjs +4 -4
- package/esm2022/dynamic-component/dynamic-component.module.mjs +4 -4
- package/esm2022/dynamic-component/dynamic-outlet/dynamic-outlet.component.mjs +4 -4
- package/esm2022/dynamic-component/dynamic-outlet/dynamic-outlet.module.mjs +4 -4
- package/esm2022/dynamic-component/shared/dynamic-component.mjs +3 -3
- package/esm2022/dynamic-component/shared/dynamic-component.service.mjs +3 -3
- package/esm2022/entity/entity-selector/entity-selector.component.mjs +4 -4
- package/esm2022/entity/entity-selector/entity-selector.module.mjs +4 -4
- package/esm2022/entity/entity-table/entity-table-row.directive.mjs +4 -4
- package/esm2022/entity/entity-table/entity-table.component.mjs +8 -8
- package/esm2022/entity/entity-table/entity-table.module.mjs +4 -4
- package/esm2022/entity/entity-table-paginator/entity-table-paginator.component.mjs +4 -4
- package/esm2022/entity/entity-table-paginator/entity-table-paginator.module.mjs +4 -4
- package/esm2022/entity/entity.module.mjs +4 -4
- package/esm2022/entity/shared/entity.interfaces.mjs +1 -1
- package/esm2022/entity/shared/state.mjs +1 -1
- package/esm2022/entity/shared/store.mjs +1 -1
- package/esm2022/entity/shared/strategies/filter-custom-function.mjs +1 -1
- package/esm2022/entity/shared/strategies/filter-selection.mjs +1 -1
- package/esm2022/entity/shared/strategies/strategy.mjs +7 -3
- package/esm2022/entity/shared/transaction.mjs +3 -3
- package/esm2022/entity/shared/view.mjs +1 -1
- package/esm2022/entity/shared/watcher.mjs +3 -3
- package/esm2022/flexible/flexible.component.mjs +10 -8
- package/esm2022/flexible/flexible.module.mjs +4 -4
- package/esm2022/form/form/form.component.mjs +5 -6
- package/esm2022/form/form/form.module.mjs +4 -4
- package/esm2022/form/form-dialog/form-dialog.component.mjs +6 -6
- package/esm2022/form/form-dialog/form-dialog.interface.mjs +1 -1
- package/esm2022/form/form-dialog/form-dialog.module.mjs +4 -4
- package/esm2022/form/form-dialog/form-dialog.service.mjs +4 -4
- package/esm2022/form/form-field/form-field-select.component.mjs +4 -4
- package/esm2022/form/form-field/form-field-text.component.mjs +4 -4
- package/esm2022/form/form-field/form-field-textarea.component.mjs +4 -4
- package/esm2022/form/form-field/form-field.component.mjs +3 -3
- package/esm2022/form/form-field/form-field.module.mjs +4 -4
- package/esm2022/form/form-group/form-group.component.mjs +5 -6
- package/esm2022/form/form-group/form-group.module.mjs +4 -4
- package/esm2022/form/form.module.mjs +4 -4
- package/esm2022/form/shared/form-field.service.mjs +5 -6
- package/esm2022/form/shared/form.interfaces.mjs +1 -1
- package/esm2022/form/shared/form.service.mjs +3 -3
- package/esm2022/form/shared/form.utils.mjs +1 -1
- package/esm2022/home-button/home-button.component.mjs +5 -6
- package/esm2022/home-button/home-button.module.mjs +4 -4
- package/esm2022/icon/icon/icon.component.mjs +3 -3
- package/esm2022/icon/shared/icon.service.mjs +3 -3
- package/esm2022/image/image-error.directive.mjs +4 -4
- package/esm2022/image/image.module.mjs +4 -4
- package/esm2022/image/secure-image.pipe.mjs +3 -3
- package/esm2022/interactive-tour/interactive-tour.component.mjs +6 -8
- package/esm2022/interactive-tour/interactive-tour.loader.mjs +5 -5
- package/esm2022/interactive-tour/interactive-tour.module.mjs +4 -4
- package/esm2022/interactive-tour/interactive-tour.service.mjs +5 -5
- package/esm2022/json-dialog/json-dialog.component.mjs +3 -3
- package/esm2022/json-dialog/json-dialog.module.mjs +4 -4
- package/esm2022/json-dialog/json-dialog.service.mjs +3 -3
- package/esm2022/keyvalue/keyvalue.module.mjs +4 -4
- package/esm2022/keyvalue/keyvalue.pipe.mjs +5 -5
- package/esm2022/list/list-item.directive.mjs +3 -3
- package/esm2022/list/list.component.mjs +5 -5
- package/esm2022/list/list.module.mjs +4 -4
- package/esm2022/panel/panel.component.mjs +4 -4
- package/esm2022/panel/panel.module.mjs +4 -4
- package/esm2022/select-value-dialog/select-value-check-radio-dialog.component.mjs +4 -4
- package/esm2022/select-value-dialog/select-value-dialog.module.mjs +4 -4
- package/esm2022/select-value-dialog/select-value-dialog.service.mjs +3 -3
- package/esm2022/sidenav/sidenav-shim.directive.mjs +3 -3
- package/esm2022/sidenav/sidenav.module.mjs +4 -4
- package/esm2022/spinner/spinner-activity.directive.mjs +3 -3
- package/esm2022/spinner/spinner.component.mjs +5 -6
- package/esm2022/spinner/spinner.module.mjs +4 -4
- package/esm2022/stop-propagation/stop-drop-propagation.directive.mjs +3 -3
- package/esm2022/stop-propagation/stop-propagation.directive.mjs +3 -3
- package/esm2022/stop-propagation/stop-propagation.module.mjs +4 -4
- package/esm2022/table/table-datasource.mjs +4 -2
- package/esm2022/table/table-model.interface.mjs +1 -1
- package/esm2022/table/table.component.mjs +4 -4
- package/esm2022/table/table.module.mjs +4 -4
- package/esm2022/tool/shared/tool.interface.mjs +1 -1
- package/esm2022/tool/shared/tool.service.mjs +4 -4
- package/esm2022/tool/shared/toolbox.mjs +2 -2
- package/esm2022/tool/tool.module.mjs +4 -4
- package/esm2022/tool/toolbox/toolbox.component.mjs +5 -5
- package/esm2022/tool/toolbox/toolbox.module.mjs +4 -4
- package/esm2022/widget/shared/widget.service.mjs +3 -3
- package/esm2022/widget/widget-outlet/widget-outlet.component.mjs +5 -6
- package/esm2022/widget/widget-outlet/widget-outlet.module.mjs +4 -4
- package/esm2022/widget/widget.module.mjs +4 -4
- package/esm2022/workspace/shared/store.mjs +1 -1
- package/esm2022/workspace/shared/workspace.interfaces.mjs +1 -1
- package/esm2022/workspace/shared/workspace.mjs +1 -1
- package/esm2022/workspace/workspace-selector/workspace-selector.component.mjs +3 -3
- package/esm2022/workspace/workspace-selector/workspace-selector.module.mjs +4 -4
- package/esm2022/workspace/workspace-widget-outlet/workspace-widget-outlet.component.mjs +5 -6
- package/esm2022/workspace/workspace-widget-outlet/workspace-widget-outlet.module.mjs +4 -4
- package/esm2022/workspace/workspace.module.mjs +4 -4
- package/fesm2022/igo2-common-action.mjs +14 -14
- package/fesm2022/igo2-common-action.mjs.map +1 -1
- package/fesm2022/igo2-common-backdrop.mjs +8 -9
- package/fesm2022/igo2-common-backdrop.mjs.map +1 -1
- package/fesm2022/igo2-common-badge.mjs +7 -7
- package/fesm2022/igo2-common-clickout.mjs +7 -7
- package/fesm2022/igo2-common-clone.mjs +8 -8
- package/fesm2022/igo2-common-clone.mjs.map +1 -1
- package/fesm2022/igo2-common-collapsible.mjs +10 -10
- package/fesm2022/igo2-common-collapsible.mjs.map +1 -1
- package/fesm2022/igo2-common-color.mjs +9 -9
- package/fesm2022/igo2-common-color.mjs.map +1 -1
- package/fesm2022/igo2-common-confirm-dialog.mjs +10 -10
- package/fesm2022/igo2-common-confirm-dialog.mjs.map +1 -1
- package/fesm2022/igo2-common-context-menu.mjs +11 -12
- package/fesm2022/igo2-common-context-menu.mjs.map +1 -1
- package/fesm2022/igo2-common-custom-html.mjs +11 -12
- package/fesm2022/igo2-common-custom-html.mjs.map +1 -1
- package/fesm2022/igo2-common-dom.mjs +7 -7
- package/fesm2022/igo2-common-drag-drop.mjs +7 -7
- package/fesm2022/igo2-common-drag-drop.mjs.map +1 -1
- package/fesm2022/igo2-common-dynamic-component.mjs +16 -16
- package/fesm2022/igo2-common-dynamic-component.mjs.map +1 -1
- package/fesm2022/igo2-common-entity.mjs +42 -38
- package/fesm2022/igo2-common-entity.mjs.map +1 -1
- package/fesm2022/igo2-common-flexible.mjs +12 -10
- package/fesm2022/igo2-common-flexible.mjs.map +1 -1
- package/fesm2022/igo2-common-form.mjs +55 -58
- package/fesm2022/igo2-common-form.mjs.map +1 -1
- package/fesm2022/igo2-common-home-button.mjs +8 -9
- package/fesm2022/igo2-common-home-button.mjs.map +1 -1
- package/fesm2022/igo2-common-icon.mjs +6 -6
- package/fesm2022/igo2-common-image.mjs +10 -10
- package/fesm2022/igo2-common-image.mjs.map +1 -1
- package/fesm2022/igo2-common-interactive-tour.mjs +17 -19
- package/fesm2022/igo2-common-interactive-tour.mjs.map +1 -1
- package/fesm2022/igo2-common-json-dialog.mjs +10 -10
- package/fesm2022/igo2-common-keyvalue.mjs +8 -8
- package/fesm2022/igo2-common-keyvalue.mjs.map +1 -1
- package/fesm2022/igo2-common-list.mjs +11 -11
- package/fesm2022/igo2-common-list.mjs.map +1 -1
- package/fesm2022/igo2-common-panel.mjs +7 -7
- package/fesm2022/igo2-common-panel.mjs.map +1 -1
- package/fesm2022/igo2-common-select-value-dialog.mjs +10 -10
- package/fesm2022/igo2-common-select-value-dialog.mjs.map +1 -1
- package/fesm2022/igo2-common-sidenav.mjs +7 -7
- package/fesm2022/igo2-common-spinner.mjs +11 -12
- package/fesm2022/igo2-common-spinner.mjs.map +1 -1
- package/fesm2022/igo2-common-stop-propagation.mjs +10 -10
- package/fesm2022/igo2-common-table.mjs +10 -8
- package/fesm2022/igo2-common-table.mjs.map +1 -1
- package/fesm2022/igo2-common-tool.mjs +16 -16
- package/fesm2022/igo2-common-tool.mjs.map +1 -1
- package/fesm2022/igo2-common-widget.mjs +15 -16
- package/fesm2022/igo2-common-widget.mjs.map +1 -1
- package/fesm2022/igo2-common-workspace.mjs +19 -20
- package/fesm2022/igo2-common-workspace.mjs.map +1 -1
- package/flexible/flexible.component.d.ts +3 -2
- package/form/form/form.component.d.ts +3 -10
- package/form/form-dialog/form-dialog.component.d.ts +2 -6
- package/form/form-dialog/form-dialog.interface.d.ts +1 -3
- package/form/form-dialog/form-dialog.service.d.ts +1 -3
- package/form/form-field/form-field-select.component.d.ts +1 -3
- package/form/form-field/form-field-text.component.d.ts +1 -3
- package/form/form-field/form-field-textarea.component.d.ts +1 -3
- package/form/form-group/form-group.component.d.ts +2 -7
- package/form/shared/form-field.service.d.ts +1 -4
- package/form/shared/form.interfaces.d.ts +3 -9
- package/form/shared/form.utils.d.ts +2 -6
- package/home-button/home-button.component.d.ts +0 -1
- package/home-button/src/home-button.theming.scss +3 -3
- package/interactive-tour/src/interactive-tour.theming.scss +3 -3
- package/keyvalue/keyvalue.pipe.d.ts +1 -1
- package/list/src/list.theming.scss +9 -9
- package/package.json +10 -10
- package/panel/src/panel.theming.scss +3 -3
- package/spinner/spinner.component.d.ts +0 -1
- package/table/table-model.interface.d.ts +2 -6
- package/tool/shared/tool.interface.d.ts +1 -3
- package/tool/shared/tool.service.d.ts +1 -3
- package/tool/shared/toolbox.d.ts +1 -3
- package/tool/src/toolbox/toolbox.theming.scss +7 -7
- package/tool/toolbox/toolbox.component.d.ts +1 -3
- package/widget/widget-outlet/widget-outlet.component.d.ts +3 -10
- package/workspace/shared/store.d.ts +1 -1
- package/workspace/shared/workspace.d.ts +4 -14
- package/workspace/shared/workspace.interfaces.d.ts +1 -3
- package/workspace/workspace-widget-outlet/workspace-widget-outlet.component.d.ts +2 -7
|
@@ -16,10 +16,10 @@ class ConfirmDialogComponent {
|
|
|
16
16
|
constructor(dialogRef) {
|
|
17
17
|
this.dialogRef = dialogRef;
|
|
18
18
|
}
|
|
19
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
20
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
19
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ConfirmDialogComponent, deps: [{ token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: ConfirmDialogComponent, isStandalone: true, selector: "igo-confirm-dialog", ngImport: i0, template: "<h2 mat-dialog-title class=\"mat-typography\">\n {{ titleKey | translate }}\n</h2>\n<div mat-dialog-content class=\"mat-typography\">\n {{ confirmMessage | translate }}\n</div>\n<div mat-dialog-actions>\n <button mat-raised-button color=\"primary\" (click)=\"dialogRef.close(true)\">\n {{ proccessKey | translate }}\n </button>\n <button mat-flat-button (click)=\"dialogRef.close(false)\">\n {{ cancelKey | translate }}\n </button>\n</div>\n", styles: ["h2{margin:5px 0 10px}div[mat-dialog-content]{max-width:200px}div[mat-dialog-actions]{margin:10px 0 0}\n"], dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
|
|
21
21
|
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
|
|
23
23
|
type: Component,
|
|
24
24
|
args: [{ selector: 'igo-confirm-dialog', standalone: true, imports: [
|
|
25
25
|
MatDialogTitle,
|
|
@@ -52,10 +52,10 @@ class ConfirmDialogService {
|
|
|
52
52
|
}
|
|
53
53
|
return dialogRef.afterClosed();
|
|
54
54
|
}
|
|
55
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
56
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
55
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ConfirmDialogService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
56
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ConfirmDialogService, providedIn: 'root' });
|
|
57
57
|
}
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ConfirmDialogService, decorators: [{
|
|
59
59
|
type: Injectable,
|
|
60
60
|
args: [{ providedIn: 'root' }]
|
|
61
61
|
}], ctorParameters: () => [{ type: i1.MatDialog }] });
|
|
@@ -70,11 +70,11 @@ class IgoConfirmDialogModule {
|
|
|
70
70
|
providers: []
|
|
71
71
|
};
|
|
72
72
|
}
|
|
73
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
74
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
75
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
73
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoConfirmDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
74
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: IgoConfirmDialogModule, imports: [ConfirmDialogComponent], exports: [ConfirmDialogComponent] });
|
|
75
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoConfirmDialogModule, providers: [ConfirmDialogService], imports: [ConfirmDialogComponent] });
|
|
76
76
|
}
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoConfirmDialogModule, decorators: [{
|
|
78
78
|
type: NgModule,
|
|
79
79
|
args: [{
|
|
80
80
|
imports: [ConfirmDialogComponent],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-common-confirm-dialog.mjs","sources":["../../../packages/common/confirm-dialog/src/confirm-dialog.component.ts","../../../packages/common/confirm-dialog/src/confirm-dialog.component.html","../../../packages/common/confirm-dialog/src/confirm-dialog.service.ts","../../../packages/common/confirm-dialog/src/confirm-dialog.module.ts","../../../packages/common/confirm-dialog/src/igo2-common-confirm-dialog.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport {\n MatDialogActions,\n MatDialogContent,\n MatDialogRef,\n MatDialogTitle\n} from '@angular/material/dialog';\n\nimport { IgoLanguageModule } from '@igo2/core/language';\n\n@Component({\n selector: 'igo-confirm-dialog',\n templateUrl: './confirm-dialog.component.html',\n styleUrls: ['./confirm-dialog.component.scss'],\n standalone: true,\n imports: [\n MatDialogTitle,\n MatDialogContent,\n MatDialogActions,\n MatButtonModule,\n IgoLanguageModule\n ]\n})\nexport class ConfirmDialogComponent {\n public confirmMessage: string;\n public titleKey
|
|
1
|
+
{"version":3,"file":"igo2-common-confirm-dialog.mjs","sources":["../../../packages/common/confirm-dialog/src/confirm-dialog.component.ts","../../../packages/common/confirm-dialog/src/confirm-dialog.component.html","../../../packages/common/confirm-dialog/src/confirm-dialog.service.ts","../../../packages/common/confirm-dialog/src/confirm-dialog.module.ts","../../../packages/common/confirm-dialog/src/igo2-common-confirm-dialog.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport {\n MatDialogActions,\n MatDialogContent,\n MatDialogRef,\n MatDialogTitle\n} from '@angular/material/dialog';\n\nimport { IgoLanguageModule } from '@igo2/core/language';\n\n@Component({\n selector: 'igo-confirm-dialog',\n templateUrl: './confirm-dialog.component.html',\n styleUrls: ['./confirm-dialog.component.scss'],\n standalone: true,\n imports: [\n MatDialogTitle,\n MatDialogContent,\n MatDialogActions,\n MatButtonModule,\n IgoLanguageModule\n ]\n})\nexport class ConfirmDialogComponent {\n public confirmMessage: string;\n public titleKey = 'igo.common.confirmDialog.title';\n public proccessKey = 'igo.common.confirmDialog.confirmBtn';\n public cancelKey = 'igo.common.confirmDialog.cancelBtn';\n\n constructor(public dialogRef: MatDialogRef<ConfirmDialogComponent>) {}\n}\n","<h2 mat-dialog-title class=\"mat-typography\">\n {{ titleKey | translate }}\n</h2>\n<div mat-dialog-content class=\"mat-typography\">\n {{ confirmMessage | translate }}\n</div>\n<div mat-dialog-actions>\n <button mat-raised-button color=\"primary\" (click)=\"dialogRef.close(true)\">\n {{ proccessKey | translate }}\n </button>\n <button mat-flat-button (click)=\"dialogRef.close(false)\">\n {{ cancelKey | translate }}\n </button>\n</div>\n","import { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\n\nimport { Observable } from 'rxjs';\n\nimport { ConfirmDialogComponent } from './confirm-dialog.component';\nimport { ConfirmDialogOptions } from './confirm-dialog.interface';\n\n@Injectable({ providedIn: 'root' })\nexport class ConfirmDialogService {\n constructor(private dialog: MatDialog) {}\n\n public open(\n message: string,\n options?: ConfirmDialogOptions\n ): Observable<boolean> {\n const _options: ConfirmDialogOptions = {\n title: 'igo.common.confirmDialog.title',\n modeYesNo: false,\n ...options\n };\n const dialogRef = this.dialog.open(ConfirmDialogComponent, {\n disableClose: false\n });\n dialogRef.componentInstance.confirmMessage = message;\n dialogRef.componentInstance.titleKey = _options.title;\n if (_options.modeYesNo) {\n dialogRef.componentInstance.proccessKey = 'igo.common.confirmDialog.yes';\n dialogRef.componentInstance.cancelKey = 'igo.common.confirmDialog.no';\n }\n return dialogRef.afterClosed();\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { ConfirmDialogComponent } from './confirm-dialog.component';\nimport { ConfirmDialogService } from './confirm-dialog.service';\n\n@NgModule({\n imports: [ConfirmDialogComponent],\n exports: [ConfirmDialogComponent],\n providers: [ConfirmDialogService]\n})\nexport class IgoConfirmDialogModule {\n /**\n * @deprecated this has no effect\n */\n static forRoot(): ModuleWithProviders<IgoConfirmDialogModule> {\n return {\n ngModule: IgoConfirmDialogModule,\n providers: []\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -86,10 +86,10 @@ class ContextMenuDirective {
|
|
|
86
86
|
this.sub.unsubscribe();
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
90
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
89
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ContextMenuDirective, deps: [{ token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
90
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: ContextMenuDirective, isStandalone: true, selector: "[igoContextMenu]", inputs: { menuContext: ["igoContextMenu", "menuContext"] }, outputs: { menuPosition: "menuPosition" }, host: { listeners: { "longpress": "onContextMenu($event)", "contextmenu": "onContextMenu($event)" } }, ngImport: i0 });
|
|
91
91
|
}
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ContextMenuDirective, decorators: [{
|
|
93
93
|
type: Directive,
|
|
94
94
|
args: [{
|
|
95
95
|
selector: '[igoContextMenu]',
|
|
@@ -119,7 +119,6 @@ class LongPressDirective {
|
|
|
119
119
|
touchDuration = 400;
|
|
120
120
|
onlyIOS = true;
|
|
121
121
|
longpress = new EventEmitter();
|
|
122
|
-
constructor() { }
|
|
123
122
|
touchstart(e) {
|
|
124
123
|
if (e.touches.length > 1) {
|
|
125
124
|
this.touchEnd();
|
|
@@ -142,16 +141,16 @@ class LongPressDirective {
|
|
|
142
141
|
touchEnd() {
|
|
143
142
|
clearTimeout(this.touchTimeout);
|
|
144
143
|
}
|
|
145
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
146
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
144
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: LongPressDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
145
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: LongPressDirective, isStandalone: true, selector: "[igoLongPress]", inputs: { touchDuration: "touchDuration", onlyIOS: "onlyIOS" }, outputs: { longpress: "longpress" }, host: { listeners: { "touchstart": "touchstart($event)", "touchmove": "touchend()", "touchcancel": "touchend()", "touchend": "touchend()" } }, ngImport: i0 });
|
|
147
146
|
}
|
|
148
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
147
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: LongPressDirective, decorators: [{
|
|
149
148
|
type: Directive,
|
|
150
149
|
args: [{
|
|
151
150
|
selector: '[igoLongPress]',
|
|
152
151
|
standalone: true
|
|
153
152
|
}]
|
|
154
|
-
}],
|
|
153
|
+
}], propDecorators: { touchDuration: [{
|
|
155
154
|
type: Input
|
|
156
155
|
}], onlyIOS: [{
|
|
157
156
|
type: Input
|
|
@@ -181,11 +180,11 @@ class IgoContextMenuModule {
|
|
|
181
180
|
providers: []
|
|
182
181
|
};
|
|
183
182
|
}
|
|
184
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
185
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
186
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
183
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoContextMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
184
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: IgoContextMenuModule, imports: [ContextMenuDirective, LongPressDirective], exports: [ContextMenuDirective, LongPressDirective] });
|
|
185
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoContextMenuModule });
|
|
187
186
|
}
|
|
188
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
187
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoContextMenuModule, decorators: [{
|
|
189
188
|
type: NgModule,
|
|
190
189
|
args: [{
|
|
191
190
|
imports: [ContextMenuDirective, LongPressDirective],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-common-context-menu.mjs","sources":["../../../packages/common/context-menu/src/context-menu.directive.ts","../../../packages/common/context-menu/src/long-press.directive.ts","../../../packages/common/context-menu/src/context-menu.module.ts","../../../packages/common/context-menu/src/public_api.ts","../../../packages/common/context-menu/src/igo2-common-context-menu.ts"],"sourcesContent":["import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n Output,\n ViewContainerRef\n} from '@angular/core';\nimport type { TemplateRef } from '@angular/core';\n\nimport { Subscription, fromEvent } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\n\n@Directive({\n selector: '[igoContextMenu]',\n standalone: true\n})\nexport class ContextMenuDirective {\n private overlayRef: OverlayRef | null;\n private sub: Subscription;\n\n @Input('igoContextMenu') menuContext: TemplateRef<any>;\n @Output() menuPosition = new EventEmitter<{ x: number; y: number }>();\n\n constructor(\n public overlay: Overlay,\n public viewContainerRef: ViewContainerRef,\n private elementRef: ElementRef\n ) {}\n\n @HostListener('longpress', ['$event'])\n @HostListener('contextmenu', ['$event'])\n public onContextMenu(e: MouseEvent | TouchEvent): void {\n let x;\n let y;\n if (e instanceof MouseEvent) {\n x = e.x;\n y = e.y;\n } else if (e instanceof TouchEvent) {\n x = e.touches[0].pageX;\n y = e.touches[0].pageY;\n }\n if (!x || !y) {\n return;\n }\n\n this.close();\n e.preventDefault();\n this.menuPosition.emit({ x, y });\n this.overlayRef = null;\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo({ x, y })\n .withPositions([\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top'\n }\n ]);\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.close()\n });\n this.overlayRef.attach(\n new TemplatePortal(this.menuContext, this.viewContainerRef, {\n $implicit: undefined\n })\n );\n\n this.sub = fromEvent<MouseEvent>(document, 'click')\n .pipe(\n filter((event) => {\n const clickTarget = event.target as HTMLElement;\n this.close();\n return (\n !!this.overlayRef &&\n !this.overlayRef.overlayElement.contains(clickTarget)\n );\n }),\n take(1)\n )\n .subscribe(() => this.close());\n\n this.sub = fromEvent<MouseEvent>(document, 'contextmenu')\n .pipe(\n filter((event) => {\n const clickTarget = event.target as HTMLElement;\n if (\n clickTarget &&\n !this.elementRef.nativeElement.contains(clickTarget) &&\n !this.overlayRef.overlayElement.contains(clickTarget)\n ) {\n return true;\n } else {\n event.preventDefault();\n }\n }),\n take(1)\n )\n .subscribe(() => this.close());\n }\n\n close() {\n if (this.overlayRef) {\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n if (this.sub) {\n this.sub.unsubscribe();\n }\n }\n}\n","import {\n Directive,\n EventEmitter,\n HostListener,\n Input,\n Output\n} from '@angular/core';\n\nimport { userAgent } from '@igo2/utils';\n\n/**\n * IgoLongPress trigger longpress event after a define duration.\n * This directive exist to patch the unavailable contextmenu event on iOS.\n * @param touchDuration touch duration in ms, default value is 400ms\n * @param iOSOnly define if longpress is triggered only for iOS, default value = true\n */\n@Directive({\n selector: '[igoLongPress]',\n standalone: true\n})\nexport class LongPressDirective {\n private touchTimeout: any;\n @Input() touchDuration: number = 400;\n @Input() onlyIOS: boolean = true;\n @Output() longpress = new EventEmitter();\n\n constructor() {}\n\n @HostListener('touchstart', ['$event'])\n public touchstart(e: TouchEvent) {\n if (e.touches.length > 1) {\n this.touchEnd();\n return;\n }\n this.touchTimeout = setTimeout(() => {\n if (this.onlyIOS) {\n if (userAgent.getOSName() === 'iOS') {\n this.longpress.emit(e);\n }\n } else {\n this.longpress.emit(e);\n }\n }, this.touchDuration);\n }\n @HostListener('touchmove')\n @HostListener('touchcancel')\n @HostListener('touchend')\n public touchend() {\n this.touchEnd();\n }\n\n private touchEnd() {\n clearTimeout(this.touchTimeout);\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { ContextMenuDirective } from './context-menu.directive';\nimport { LongPressDirective } from './long-press.directive';\n\n/**\n * @deprecated import the components/directives directly or CONTEXT_MENU_DIRECTIVES for the set\n */\n@NgModule({\n imports: [ContextMenuDirective, LongPressDirective],\n exports: [ContextMenuDirective, LongPressDirective]\n})\nexport class IgoContextMenuModule {\n static forRoot(): ModuleWithProviders<IgoContextMenuModule> {\n return {\n ngModule: IgoContextMenuModule,\n providers: []\n };\n }\n}\n","import { ContextMenuDirective } from './context-menu.directive';\nimport { LongPressDirective } from './long-press.directive';\n\nexport * from './context-menu.module';\nexport * from './context-menu.directive';\nexport * from './long-press.directive';\n\nexport const CONTEXT_MENU_DIRECTIVES = [\n ContextMenuDirective,\n LongPressDirective\n] as const;\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":"igo2-common-context-menu.mjs","sources":["../../../packages/common/context-menu/src/context-menu.directive.ts","../../../packages/common/context-menu/src/long-press.directive.ts","../../../packages/common/context-menu/src/context-menu.module.ts","../../../packages/common/context-menu/src/public_api.ts","../../../packages/common/context-menu/src/igo2-common-context-menu.ts"],"sourcesContent":["import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n Output,\n ViewContainerRef\n} from '@angular/core';\nimport type { TemplateRef } from '@angular/core';\n\nimport { Subscription, fromEvent } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\n\n@Directive({\n selector: '[igoContextMenu]',\n standalone: true\n})\nexport class ContextMenuDirective {\n private overlayRef: OverlayRef | null;\n private sub: Subscription;\n\n @Input('igoContextMenu') menuContext: TemplateRef<any>;\n @Output() menuPosition = new EventEmitter<{ x: number; y: number }>();\n\n constructor(\n public overlay: Overlay,\n public viewContainerRef: ViewContainerRef,\n private elementRef: ElementRef\n ) {}\n\n @HostListener('longpress', ['$event'])\n @HostListener('contextmenu', ['$event'])\n public onContextMenu(e: MouseEvent | TouchEvent): void {\n let x;\n let y;\n if (e instanceof MouseEvent) {\n x = e.x;\n y = e.y;\n } else if (e instanceof TouchEvent) {\n x = e.touches[0].pageX;\n y = e.touches[0].pageY;\n }\n if (!x || !y) {\n return;\n }\n\n this.close();\n e.preventDefault();\n this.menuPosition.emit({ x, y });\n this.overlayRef = null;\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo({ x, y })\n .withPositions([\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top'\n }\n ]);\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.close()\n });\n this.overlayRef.attach(\n new TemplatePortal(this.menuContext, this.viewContainerRef, {\n $implicit: undefined\n })\n );\n\n this.sub = fromEvent<MouseEvent>(document, 'click')\n .pipe(\n filter((event) => {\n const clickTarget = event.target as HTMLElement;\n this.close();\n return (\n !!this.overlayRef &&\n !this.overlayRef.overlayElement.contains(clickTarget)\n );\n }),\n take(1)\n )\n .subscribe(() => this.close());\n\n this.sub = fromEvent<MouseEvent>(document, 'contextmenu')\n .pipe(\n filter((event) => {\n const clickTarget = event.target as HTMLElement;\n if (\n clickTarget &&\n !this.elementRef.nativeElement.contains(clickTarget) &&\n !this.overlayRef.overlayElement.contains(clickTarget)\n ) {\n return true;\n } else {\n event.preventDefault();\n }\n }),\n take(1)\n )\n .subscribe(() => this.close());\n }\n\n close() {\n if (this.overlayRef) {\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n if (this.sub) {\n this.sub.unsubscribe();\n }\n }\n}\n","import {\n Directive,\n EventEmitter,\n HostListener,\n Input,\n Output\n} from '@angular/core';\n\nimport { userAgent } from '@igo2/utils';\n\n/**\n * IgoLongPress trigger longpress event after a define duration.\n * This directive exist to patch the unavailable contextmenu event on iOS.\n * @param touchDuration touch duration in ms, default value is 400ms\n * @param iOSOnly define if longpress is triggered only for iOS, default value = true\n */\n@Directive({\n selector: '[igoLongPress]',\n standalone: true\n})\nexport class LongPressDirective {\n private touchTimeout: any;\n @Input() touchDuration = 400;\n @Input() onlyIOS = true;\n @Output() longpress = new EventEmitter();\n\n @HostListener('touchstart', ['$event'])\n public touchstart(e: TouchEvent) {\n if (e.touches.length > 1) {\n this.touchEnd();\n return;\n }\n this.touchTimeout = setTimeout(() => {\n if (this.onlyIOS) {\n if (userAgent.getOSName() === 'iOS') {\n this.longpress.emit(e);\n }\n } else {\n this.longpress.emit(e);\n }\n }, this.touchDuration);\n }\n @HostListener('touchmove')\n @HostListener('touchcancel')\n @HostListener('touchend')\n public touchend() {\n this.touchEnd();\n }\n\n private touchEnd() {\n clearTimeout(this.touchTimeout);\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { ContextMenuDirective } from './context-menu.directive';\nimport { LongPressDirective } from './long-press.directive';\n\n/**\n * @deprecated import the components/directives directly or CONTEXT_MENU_DIRECTIVES for the set\n */\n@NgModule({\n imports: [ContextMenuDirective, LongPressDirective],\n exports: [ContextMenuDirective, LongPressDirective]\n})\nexport class IgoContextMenuModule {\n static forRoot(): ModuleWithProviders<IgoContextMenuModule> {\n return {\n ngModule: IgoContextMenuModule,\n providers: []\n };\n }\n}\n","import { ContextMenuDirective } from './context-menu.directive';\nimport { LongPressDirective } from './long-press.directive';\n\nexport * from './context-menu.module';\nexport * from './context-menu.directive';\nexport * from './long-press.directive';\n\nexport const CONTEXT_MENU_DIRECTIVES = [\n ContextMenuDirective,\n LongPressDirective\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -10,10 +10,10 @@ class SanitizeHtmlPipe {
|
|
|
10
10
|
transform(v) {
|
|
11
11
|
return this._sanitizer.bypassSecurityTrustHtml(v);
|
|
12
12
|
}
|
|
13
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
14
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
13
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: SanitizeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
14
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: SanitizeHtmlPipe, isStandalone: true, name: "sanitizeHtml" });
|
|
15
15
|
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: SanitizeHtmlPipe, decorators: [{
|
|
17
17
|
type: Pipe,
|
|
18
18
|
args: [{
|
|
19
19
|
name: 'sanitizeHtml',
|
|
@@ -29,14 +29,13 @@ class CustomHtmlComponent {
|
|
|
29
29
|
this._html = value;
|
|
30
30
|
}
|
|
31
31
|
_html = '';
|
|
32
|
-
|
|
33
|
-
static
|
|
34
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: CustomHtmlComponent, isStandalone: true, selector: "igo-custom-html", inputs: { html: "html" }, ngImport: i0, template: "<div class=\"custom-html\" [innerHTML]=\"html | sanitizeHtml\"></div>\n", styles: [":host .custom-html{padding:20px}\n"], dependencies: [{ kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }] });
|
|
32
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: CustomHtmlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: CustomHtmlComponent, isStandalone: true, selector: "igo-custom-html", inputs: { html: "html" }, ngImport: i0, template: "<div class=\"custom-html\" [innerHTML]=\"html | sanitizeHtml\"></div>\n", styles: [":host .custom-html{padding:20px}\n"], dependencies: [{ kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }] });
|
|
35
34
|
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: CustomHtmlComponent, decorators: [{
|
|
37
36
|
type: Component,
|
|
38
37
|
args: [{ selector: 'igo-custom-html', standalone: true, imports: [SanitizeHtmlPipe], template: "<div class=\"custom-html\" [innerHTML]=\"html | sanitizeHtml\"></div>\n", styles: [":host .custom-html{padding:20px}\n"] }]
|
|
39
|
-
}],
|
|
38
|
+
}], propDecorators: { html: [{
|
|
40
39
|
type: Input
|
|
41
40
|
}] } });
|
|
42
41
|
|
|
@@ -49,11 +48,11 @@ class IgoCustomHtmlModule {
|
|
|
49
48
|
ngModule: IgoCustomHtmlModule
|
|
50
49
|
};
|
|
51
50
|
}
|
|
52
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
53
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
54
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
51
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoCustomHtmlModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
52
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: IgoCustomHtmlModule, imports: [SanitizeHtmlPipe, CustomHtmlComponent], exports: [SanitizeHtmlPipe, CustomHtmlComponent] });
|
|
53
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoCustomHtmlModule });
|
|
55
54
|
}
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoCustomHtmlModule, decorators: [{
|
|
57
56
|
type: NgModule,
|
|
58
57
|
args: [{
|
|
59
58
|
imports: [SanitizeHtmlPipe, CustomHtmlComponent],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-common-custom-html.mjs","sources":["../../../packages/common/custom-html/src/custom-html.pipe.ts","../../../packages/common/custom-html/src/custom-html.component.ts","../../../packages/common/custom-html/src/custom-html.component.html","../../../packages/common/custom-html/src/custom-html.module.ts","../../../packages/common/custom-html/src/public_api.ts","../../../packages/common/custom-html/src/igo2-common-custom-html.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'sanitizeHtml',\n standalone: true\n})\nexport class SanitizeHtmlPipe implements PipeTransform {\n constructor(private _sanitizer: DomSanitizer) {}\n transform(v: string): SafeHtml {\n return this._sanitizer.bypassSecurityTrustHtml(v);\n }\n}\n","import { Component, Input } from '@angular/core';\n\nimport { SanitizeHtmlPipe } from './custom-html.pipe';\n\n@Component({\n selector: 'igo-custom-html',\n templateUrl: './custom-html.component.html',\n styleUrls: ['./custom-html.component.scss'],\n standalone: true,\n imports: [SanitizeHtmlPipe]\n})\nexport class CustomHtmlComponent {\n @Input()\n get html(): string {\n return this._html;\n }\n set html(value: string) {\n this._html = value;\n }\n private _html = '';\n
|
|
1
|
+
{"version":3,"file":"igo2-common-custom-html.mjs","sources":["../../../packages/common/custom-html/src/custom-html.pipe.ts","../../../packages/common/custom-html/src/custom-html.component.ts","../../../packages/common/custom-html/src/custom-html.component.html","../../../packages/common/custom-html/src/custom-html.module.ts","../../../packages/common/custom-html/src/public_api.ts","../../../packages/common/custom-html/src/igo2-common-custom-html.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'sanitizeHtml',\n standalone: true\n})\nexport class SanitizeHtmlPipe implements PipeTransform {\n constructor(private _sanitizer: DomSanitizer) {}\n transform(v: string): SafeHtml {\n return this._sanitizer.bypassSecurityTrustHtml(v);\n }\n}\n","import { Component, Input } from '@angular/core';\n\nimport { SanitizeHtmlPipe } from './custom-html.pipe';\n\n@Component({\n selector: 'igo-custom-html',\n templateUrl: './custom-html.component.html',\n styleUrls: ['./custom-html.component.scss'],\n standalone: true,\n imports: [SanitizeHtmlPipe]\n})\nexport class CustomHtmlComponent {\n @Input()\n get html(): string {\n return this._html;\n }\n set html(value: string) {\n this._html = value;\n }\n private _html = '';\n}\n","<div class=\"custom-html\" [innerHTML]=\"html | sanitizeHtml\"></div>\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { CustomHtmlComponent } from './custom-html.component';\nimport { SanitizeHtmlPipe } from './custom-html.pipe';\n\n/**\n * @deprecated import the components/directives directly or CUSTOM_HTML_DIRECTIVES for the set\n */\n@NgModule({\n imports: [SanitizeHtmlPipe, CustomHtmlComponent],\n exports: [SanitizeHtmlPipe, CustomHtmlComponent]\n})\nexport class IgoCustomHtmlModule {\n static forRoot(): ModuleWithProviders<IgoCustomHtmlModule> {\n return {\n ngModule: IgoCustomHtmlModule\n };\n }\n}\n","import { CustomHtmlComponent } from './custom-html.component';\nimport { SanitizeHtmlPipe } from './custom-html.pipe';\n\nexport * from './custom-html.module';\nexport * from './custom-html.component';\nexport * from './custom-html.pipe';\n\nexport const CUSTOM_HTML_DIRECTIVES = [\n SanitizeHtmlPipe,\n CustomHtmlComponent\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -23,10 +23,10 @@ class DOMService {
|
|
|
23
23
|
.toPromise();
|
|
24
24
|
return result;
|
|
25
25
|
}
|
|
26
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
27
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
26
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DOMService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
27
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DOMService, providedIn: 'root' });
|
|
28
28
|
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DOMService, decorators: [{
|
|
30
30
|
type: Injectable,
|
|
31
31
|
args: [{
|
|
32
32
|
providedIn: 'root'
|
|
@@ -46,11 +46,11 @@ class IgoDOMModule {
|
|
|
46
46
|
providers: [DOMService]
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
50
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
51
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
49
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoDOMModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
50
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: IgoDOMModule });
|
|
51
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoDOMModule, providers: [DOMService] });
|
|
52
52
|
}
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoDOMModule, decorators: [{
|
|
54
54
|
type: NgModule,
|
|
55
55
|
args: [{
|
|
56
56
|
providers: [DOMService]
|
|
@@ -52,10 +52,10 @@ class DragAndDropDirective {
|
|
|
52
52
|
}
|
|
53
53
|
return filesObj;
|
|
54
54
|
}
|
|
55
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
56
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
55
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DragAndDropDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
56
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: DragAndDropDirective, isStandalone: true, selector: "[igoDragAndDrop]", inputs: { allowedExtensions: "allowedExtensions" }, outputs: { filesDropped: "filesDropped", filesInvalid: "filesInvalid" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "onDrop($event)" }, properties: { "style.background": "this.background" } }, ngImport: i0 });
|
|
57
57
|
}
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DragAndDropDirective, decorators: [{
|
|
59
59
|
type: Directive,
|
|
60
60
|
args: [{
|
|
61
61
|
selector: '[igoDragAndDrop]',
|
|
@@ -91,11 +91,11 @@ class IgoDrapDropModule {
|
|
|
91
91
|
providers: []
|
|
92
92
|
};
|
|
93
93
|
}
|
|
94
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
95
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
96
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
94
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoDrapDropModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
95
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: IgoDrapDropModule, imports: [DragAndDropDirective], exports: [DragAndDropDirective] });
|
|
96
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoDrapDropModule });
|
|
97
97
|
}
|
|
98
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoDrapDropModule, decorators: [{
|
|
99
99
|
type: NgModule,
|
|
100
100
|
args: [{
|
|
101
101
|
imports: [DragAndDropDirective],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-common-drag-drop.mjs","sources":["../../../packages/common/drag-drop/src/drag-drop.directive.ts","../../../packages/common/drag-drop/src/drag-drop.module.ts","../../../packages/common/drag-drop/src/igo2-common-drag-drop.ts"],"sourcesContent":["import {\n Directive,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output\n} from '@angular/core';\n\n@Directive({\n selector: '[igoDragAndDrop]',\n standalone: true\n})\nexport class DragAndDropDirective {\n @Input() allowedExtensions:
|
|
1
|
+
{"version":3,"file":"igo2-common-drag-drop.mjs","sources":["../../../packages/common/drag-drop/src/drag-drop.directive.ts","../../../packages/common/drag-drop/src/drag-drop.module.ts","../../../packages/common/drag-drop/src/igo2-common-drag-drop.ts"],"sourcesContent":["import {\n Directive,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output\n} from '@angular/core';\n\n@Directive({\n selector: '[igoDragAndDrop]',\n standalone: true\n})\nexport class DragAndDropDirective {\n @Input() allowedExtensions: string[] = [];\n\n @Output() protected filesDropped = new EventEmitter<File[]>();\n\n @Output() protected filesInvalid = new EventEmitter<File[]>();\n\n @HostBinding('style.background') private background = 'inherit';\n\n @HostListener('dragover', ['$event'])\n public onDragOver(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.background = '#999';\n }\n\n @HostListener('dragleave', ['$event'])\n public onDragLeave(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.background = 'inherit';\n }\n\n @HostListener('drop', ['$event'])\n public onDrop(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n if (evt.alreadyFired) {\n return;\n }\n evt.alreadyFired = true;\n\n this.background = 'inherit';\n const filesObj = this.validExtensions(evt);\n if (filesObj.valid.length) {\n this.filesDropped.emit(filesObj.valid);\n }\n if (filesObj.invalid.length) {\n this.filesInvalid.emit(filesObj.invalid);\n }\n }\n\n private validExtensions(evt) {\n const files = evt.dataTransfer.files;\n const filesObj = {\n valid: [],\n invalid: []\n };\n if (files.length > 0) {\n for (const file of files) {\n const ext = file.name.split('.')[file.name.split('.').length - 1];\n if (\n this.allowedExtensions.length === 0 ||\n (this.allowedExtensions.lastIndexOf(ext) !== -1 && file.size !== 0)\n ) {\n filesObj.valid.push(file);\n } else {\n filesObj.invalid.push(file);\n }\n }\n }\n\n return filesObj;\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { DragAndDropDirective } from './drag-drop.directive';\n\n/**\n * @deprecated import the DragAndDropDirective directly\n */\n@NgModule({\n imports: [DragAndDropDirective],\n exports: [DragAndDropDirective]\n})\nexport class IgoDrapDropModule {\n static forRoot(): ModuleWithProviders<IgoDrapDropModule> {\n return {\n ngModule: IgoDrapDropModule,\n providers: []\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -80,7 +80,7 @@ class DynamicComponent {
|
|
|
80
80
|
const key = value.propName;
|
|
81
81
|
this.unobserveInput(key);
|
|
82
82
|
const inputValue = inputs[key];
|
|
83
|
-
if (
|
|
83
|
+
if (Object.prototype.hasOwnProperty.call(inputs, key)) {
|
|
84
84
|
if (inputValue instanceof Observable) {
|
|
85
85
|
this.observeInput(key, inputValue);
|
|
86
86
|
}
|
|
@@ -126,7 +126,7 @@ class DynamicComponent {
|
|
|
126
126
|
const allowedSubscribers = this.componentFactory.outputs;
|
|
127
127
|
allowedSubscribers.forEach((value) => {
|
|
128
128
|
const key = value.propName;
|
|
129
|
-
if (
|
|
129
|
+
if (Object.prototype.hasOwnProperty.call(subscribers, key)) {
|
|
130
130
|
const emitter = instance[key];
|
|
131
131
|
const subscriber = subscribers[key];
|
|
132
132
|
if (Array.isArray(subscriber)) {
|
|
@@ -202,10 +202,10 @@ class DynamicComponentService {
|
|
|
202
202
|
const factory = this.resolver.resolveComponentFactory(componentCls);
|
|
203
203
|
return new DynamicComponent(factory);
|
|
204
204
|
}
|
|
205
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
206
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
205
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DynamicComponentService, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
206
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DynamicComponentService, providedIn: 'root' });
|
|
207
207
|
}
|
|
208
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
208
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DynamicComponentService, decorators: [{
|
|
209
209
|
type: Injectable,
|
|
210
210
|
args: [{
|
|
211
211
|
providedIn: 'root'
|
|
@@ -318,10 +318,10 @@ class DynamicOutletComponent {
|
|
|
318
318
|
updateSubscribers() {
|
|
319
319
|
this.dynamicComponent.updateSubscribers(this.subscribers);
|
|
320
320
|
}
|
|
321
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
322
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
321
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DynamicOutletComponent, deps: [{ token: DynamicComponentService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
322
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: DynamicOutletComponent, isStandalone: true, selector: "igo-dynamic-outlet", inputs: { component: "component", inputs: "inputs", subscribers: "subscribers" }, viewQueries: [{ propertyName: "target", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #target></ng-template>\n", styles: [":host{display:block;width:100%;height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
323
323
|
}
|
|
324
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
324
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DynamicOutletComponent, decorators: [{
|
|
325
325
|
type: Component,
|
|
326
326
|
args: [{ selector: 'igo-dynamic-outlet', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<ng-template #target></ng-template>\n", styles: [":host{display:block;width:100%;height:100%}\n"] }]
|
|
327
327
|
}], ctorParameters: () => [{ type: DynamicComponentService }, { type: i0.ChangeDetectorRef }], propDecorators: { component: [{
|
|
@@ -339,11 +339,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
|
|
|
339
339
|
* @deprecated import the DynamicOutletComponent directly
|
|
340
340
|
*/
|
|
341
341
|
class IgoDynamicComponentModule {
|
|
342
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
343
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
344
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
342
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoDynamicComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
343
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: IgoDynamicComponentModule, imports: [DynamicOutletComponent], exports: [DynamicOutletComponent] });
|
|
344
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoDynamicComponentModule });
|
|
345
345
|
}
|
|
346
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
346
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoDynamicComponentModule, decorators: [{
|
|
347
347
|
type: NgModule,
|
|
348
348
|
args: [{
|
|
349
349
|
imports: [DynamicOutletComponent],
|
|
@@ -355,11 +355,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
|
|
|
355
355
|
* @deprecated import the DynamicOutletComponent directly
|
|
356
356
|
*/
|
|
357
357
|
class IgoDynamicOutletModule {
|
|
358
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
359
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
360
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
358
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoDynamicOutletModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
359
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: IgoDynamicOutletModule, imports: [DynamicOutletComponent], exports: [DynamicOutletComponent] });
|
|
360
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoDynamicOutletModule });
|
|
361
361
|
}
|
|
362
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
362
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: IgoDynamicOutletModule, decorators: [{
|
|
363
363
|
type: NgModule,
|
|
364
364
|
args: [{
|
|
365
365
|
imports: [DynamicOutletComponent],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-common-dynamic-component.mjs","sources":["../../../packages/common/dynamic-component/src/shared/dynamic-component.ts","../../../packages/common/dynamic-component/src/shared/dynamic-component.service.ts","../../../packages/common/dynamic-component/src/dynamic-outlet/dynamic-outlet.component.ts","../../../packages/common/dynamic-component/src/dynamic-outlet/dynamic-outlet.component.html","../../../packages/common/dynamic-component/src/dynamic-component.module.ts","../../../packages/common/dynamic-component/src/dynamic-outlet/dynamic-outlet.module.ts","../../../packages/common/dynamic-component/src/igo2-common-dynamic-component.ts"],"sourcesContent":["import {\n ComponentFactory,\n ComponentRef,\n ViewContainerRef\n} from '@angular/core';\n\nimport { Observable, Subscription } from 'rxjs';\n\n/**\n * This class is used in the DynamicComponentOutlet component. It holds\n * a reference to a component factory and can render that component\n * in a target element on demand. It's also possible to set inputs\n * and to subscribe to outputs.\n */\nexport class DynamicComponent<C> {\n /**\n * Component reference\n */\n private componentRef: ComponentRef<C>;\n\n /**\n * Subscriptions to the component's outputs. Those need\n * to be unsubscribed when the component is destroyed.\n */\n private subscriptions: Subscription[] = [];\n\n /**\n * Component target element\n */\n private target: ViewContainerRef;\n\n /**\n * Component inputs\n */\n private inputs: { [key: string]: any } = {};\n\n /**\n * Subscriptions to the component's async inputs\n */\n private inputs$$: { [key: string]: Subscription } = {};\n\n /**\n * Subscribers to the component's outputs\n */\n private subscribers: { [key: string]: (event: any) => void } = {};\n\n constructor(private componentFactory: ComponentFactory<C>) {}\n\n /**\n * Render the component to a target element.\n * Set it's inputs and subscribe to it's outputs.\n * @param target Target element\n */\n setTarget(target: ViewContainerRef) {\n this.target = target;\n this.componentRef = target.createComponent(this.componentFactory);\n this.updateInputs(this.inputs);\n this.updateSubscribers(this.subscribers);\n }\n\n /**\n * Destroy this component. That means, removing from it's target\n * element and unsubscribing to it's outputs.\n */\n destroy() {\n if (this.target !== undefined) {\n this.target.clear();\n }\n if (this.componentRef !== undefined) {\n this.componentRef.destroy();\n this.componentRef = undefined;\n }\n this.unobserveAllInputs();\n this.unsubscribeAll();\n }\n\n /**\n * Update the component inputs. This is an update so any\n * key not defined won't be overwritten.\n */\n updateInputs(inputs: { [key: string]: any }) {\n this.inputs = inputs;\n if (this.componentRef === undefined) {\n return;\n }\n\n const instance = this.componentRef.instance;\n const allowedInputs = this.componentFactory.inputs;\n allowedInputs.forEach(\n (value: { propName: string; templateName: string }) => {\n const key = value.propName;\n\n this.unobserveInput(key);\n\n const inputValue = inputs[key];\n if (inputs.hasOwnProperty(key)) {\n if (inputValue instanceof Observable) {\n this.observeInput(key, inputValue);\n } else {\n this.setInputValue(instance, key, inputValue);\n }\n }\n }\n );\n\n if (typeof (instance as any).onUpdateInputs === 'function') {\n (instance as any).onUpdateInputs();\n }\n }\n\n /**\n * Set an instance's input value\n * @param instance Component instance\n * @param key Input key\n * @param value Input value\n */\n private setInputValue(instance: C, key: string, value: any) {\n const currentValue = instance[key];\n if (value === currentValue) {\n return;\n }\n\n const prototype = Object.getPrototypeOf(instance);\n const descriptor = Object.getOwnPropertyDescriptor(prototype, key);\n if (descriptor !== undefined && descriptor.set !== undefined) {\n descriptor.set.call(instance, value);\n } else {\n instance[key] = value;\n }\n }\n\n /**\n * Update the component subscribers. This is an update so any\n * key not defined won't be overwritten.\n */\n updateSubscribers(subscribers: { [key: string]: (event: any) => void }) {\n this.subscribers = subscribers;\n if (this.componentRef === undefined) {\n return;\n }\n\n const instance = this.componentRef.instance;\n const allowedSubscribers = this.componentFactory.outputs;\n allowedSubscribers.forEach(\n (value: { propName: string; templateName: string }) => {\n const key = value.propName;\n if (subscribers.hasOwnProperty(key)) {\n const emitter = instance[key];\n const subscriber = subscribers[key];\n if (Array.isArray(subscriber)) {\n subscriber.forEach((_subscriber) => {\n this.subscriptions.push(emitter.subscribe(_subscriber));\n });\n } else {\n this.subscriptions.push(emitter.subscribe(subscriber));\n }\n }\n }\n );\n }\n\n /**\n * Subscribe to an observable input and update the component's input value\n * accordingly\n * @param key Input key\n * @param observable Observable\n */\n private observeInput(key: string, observable: Observable<any>) {\n this.inputs$$[key] = observable.subscribe((value: any) => {\n const instance = this.componentRef.instance;\n this.setInputValue(instance, key, value);\n\n if (typeof (instance as any).onUpdateInputs === 'function') {\n (instance as any).onUpdateInputs();\n }\n });\n }\n\n /**\n * Unsubscribe to an observable input\n * @param key Input key\n */\n private unobserveInput(key: string) {\n if (this.inputs$$[key] !== undefined) {\n this.inputs$$[key].unsubscribe();\n this.inputs$$[key] = undefined;\n }\n }\n\n /**\n * Unsubscribe to all outputs.\n */\n private unobserveAllInputs() {\n Object.values(this.inputs$$).forEach((s: Subscription | undefined) => {\n if (s !== undefined) {\n s.unsubscribe();\n }\n });\n this.inputs$$ = {};\n }\n\n /**\n * Unsubscribe to all outputs.\n */\n private unsubscribeAll() {\n this.subscriptions.forEach((s: Subscription) => s.unsubscribe());\n this.subscriptions = [];\n }\n}\n","import { ComponentFactoryResolver, Injectable } from '@angular/core';\n\nimport { DynamicComponent } from './dynamic-component';\n\n/**\n * Service to creates DynamicComponent instances from base component classes\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class DynamicComponentService {\n constructor(private resolver: ComponentFactoryResolver) {}\n\n /**\n * Creates a DynamicComponent instance from a base component class\n * @param componentCls The component class\n * @returns DynamicComponent instance\n */\n create(componentCls: any): DynamicComponent<any> {\n const factory = this.resolver.resolveComponentFactory(componentCls as any);\n return new DynamicComponent<typeof componentCls>(factory);\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnChanges,\n OnDestroy,\n SimpleChanges,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\n\nimport { ObjectUtils } from '@igo2/utils';\n\nimport { DynamicComponent } from '../shared/dynamic-component';\nimport { DynamicComponentService } from '../shared/dynamic-component.service';\n\n@Component({\n selector: 'igo-dynamic-outlet',\n templateUrl: 'dynamic-outlet.component.html',\n styleUrls: ['dynamic-outlet.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class DynamicOutletComponent implements OnChanges, OnDestroy {\n /**\n * The dynamic component base class or the dynamic component itself\n */\n @Input() component: DynamicComponent<any> | any;\n\n /**\n * The dynamic component inputs\n */\n @Input() inputs: { [key: string]: any } = {};\n\n /**\n * The subscribers to the dynamic component outputs\n */\n @Input() subscribers: { [key: string]: (event: any) => void } = {};\n\n /**\n * The dynamic component\n */\n private dynamicComponent: DynamicComponent<any>;\n\n /**\n * The view element to render the component to\n * @ignore\n */\n @ViewChild('target', { read: ViewContainerRef, static: true })\n private target: ViewContainerRef;\n\n constructor(\n private dynamicComponentService: DynamicComponentService,\n private cdRef: ChangeDetectorRef\n ) {}\n\n /**\n * If the dynamic component changes, create it.\n * If the inputs or subscribers change, update the current component's\n * inputs or subscribers.\n * @internal\n */\n ngOnChanges(changes: SimpleChanges) {\n const component = changes.component;\n const inputs = changes.inputs;\n const subscribers = changes.subscribers;\n const eq = ObjectUtils.objectsAreEquivalent;\n\n if (!component || !component.currentValue) {\n return;\n }\n\n if (component.currentValue !== component.previousValue) {\n this.createComponent(component.currentValue);\n } else {\n const inputsAreEquivalents =\n inputs && eq(inputs.currentValue || {}, inputs.previousValue || {});\n const subscribersAreEquivalents =\n subscribers &&\n eq(subscribers.currentValue || {}, subscribers.previousValue || {});\n\n if (inputsAreEquivalents === false) {\n this.updateInputs();\n }\n\n if (subscribersAreEquivalents === false) {\n this.updateSubscribers();\n }\n }\n this.cdRef.detectChanges();\n }\n\n /**\n * Destroy the dynamic component and all it's subscribers\n * @internal\n */\n ngOnDestroy() {\n if (this.dynamicComponent) {\n this.dynamicComponent.destroy();\n }\n }\n\n /**\n * Create a DynamicComponent out of the component class and render it.\n * @internal\n */\n private createComponent(component: DynamicComponent<any> | any) {\n if (this.dynamicComponent !== undefined) {\n this.dynamicComponent.destroy();\n }\n this.dynamicComponent =\n component instanceof DynamicComponent\n ? component\n : this.dynamicComponentService.create(component);\n this.renderComponent();\n }\n\n /**\n * Create and render the dynamic component. Set it's inputs and subscribers\n * @internal\n */\n private renderComponent() {\n this.updateInputs();\n this.updateSubscribers();\n this.dynamicComponent.setTarget(this.target);\n }\n\n /**\n * Update the dynamic component inputs. This is an update so any\n * key not defined won't be overwritten.\n * @internal\n */\n private updateInputs() {\n this.dynamicComponent.updateInputs(this.inputs);\n }\n\n /**\n * Update the dynamic component subscribers. This is an update so any\n * key not defined won't be overwritten.\n * @internal\n */\n private updateSubscribers() {\n this.dynamicComponent.updateSubscribers(this.subscribers);\n }\n}\n","<ng-template #target></ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { DynamicOutletComponent } from './dynamic-outlet/dynamic-outlet.component';\n\n/**\n * @deprecated import the DynamicOutletComponent directly\n */\n@NgModule({\n imports: [DynamicOutletComponent],\n exports: [DynamicOutletComponent]\n})\nexport class IgoDynamicComponentModule {}\n","import { NgModule } from '@angular/core';\n\nimport { DynamicOutletComponent } from './dynamic-outlet.component';\n\n/**\n * @deprecated import the DynamicOutletComponent directly\n */\n@NgModule({\n imports: [DynamicOutletComponent],\n exports: [DynamicOutletComponent]\n})\nexport class IgoDynamicOutletModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.DynamicComponentService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"igo2-common-dynamic-component.mjs","sources":["../../../packages/common/dynamic-component/src/shared/dynamic-component.ts","../../../packages/common/dynamic-component/src/shared/dynamic-component.service.ts","../../../packages/common/dynamic-component/src/dynamic-outlet/dynamic-outlet.component.ts","../../../packages/common/dynamic-component/src/dynamic-outlet/dynamic-outlet.component.html","../../../packages/common/dynamic-component/src/dynamic-component.module.ts","../../../packages/common/dynamic-component/src/dynamic-outlet/dynamic-outlet.module.ts","../../../packages/common/dynamic-component/src/igo2-common-dynamic-component.ts"],"sourcesContent":["import {\n ComponentFactory,\n ComponentRef,\n ViewContainerRef\n} from '@angular/core';\n\nimport { Observable, Subscription } from 'rxjs';\n\n/**\n * This class is used in the DynamicComponentOutlet component. It holds\n * a reference to a component factory and can render that component\n * in a target element on demand. It's also possible to set inputs\n * and to subscribe to outputs.\n */\nexport class DynamicComponent<C> {\n /**\n * Component reference\n */\n private componentRef: ComponentRef<C>;\n\n /**\n * Subscriptions to the component's outputs. Those need\n * to be unsubscribed when the component is destroyed.\n */\n private subscriptions: Subscription[] = [];\n\n /**\n * Component target element\n */\n private target: ViewContainerRef;\n\n /**\n * Component inputs\n */\n private inputs: Record<string, any> = {};\n\n /**\n * Subscriptions to the component's async inputs\n */\n private inputs$$: Record<string, Subscription> = {};\n\n /**\n * Subscribers to the component's outputs\n */\n private subscribers: Record<string, (event: any) => void> = {};\n\n constructor(private componentFactory: ComponentFactory<C>) {}\n\n /**\n * Render the component to a target element.\n * Set it's inputs and subscribe to it's outputs.\n * @param target Target element\n */\n setTarget(target: ViewContainerRef) {\n this.target = target;\n this.componentRef = target.createComponent(this.componentFactory);\n this.updateInputs(this.inputs);\n this.updateSubscribers(this.subscribers);\n }\n\n /**\n * Destroy this component. That means, removing from it's target\n * element and unsubscribing to it's outputs.\n */\n destroy() {\n if (this.target !== undefined) {\n this.target.clear();\n }\n if (this.componentRef !== undefined) {\n this.componentRef.destroy();\n this.componentRef = undefined;\n }\n this.unobserveAllInputs();\n this.unsubscribeAll();\n }\n\n /**\n * Update the component inputs. This is an update so any\n * key not defined won't be overwritten.\n */\n updateInputs(inputs: Record<string, any>) {\n this.inputs = inputs;\n if (this.componentRef === undefined) {\n return;\n }\n\n const instance = this.componentRef.instance;\n const allowedInputs = this.componentFactory.inputs;\n allowedInputs.forEach(\n (value: { propName: string; templateName: string }) => {\n const key = value.propName;\n\n this.unobserveInput(key);\n\n const inputValue = inputs[key];\n if (Object.prototype.hasOwnProperty.call(inputs, key)) {\n if (inputValue instanceof Observable) {\n this.observeInput(key, inputValue);\n } else {\n this.setInputValue(instance, key, inputValue);\n }\n }\n }\n );\n\n if (typeof (instance as any).onUpdateInputs === 'function') {\n (instance as any).onUpdateInputs();\n }\n }\n\n /**\n * Set an instance's input value\n * @param instance Component instance\n * @param key Input key\n * @param value Input value\n */\n private setInputValue(instance: C, key: string, value: any) {\n const currentValue = instance[key];\n if (value === currentValue) {\n return;\n }\n\n const prototype = Object.getPrototypeOf(instance);\n const descriptor = Object.getOwnPropertyDescriptor(prototype, key);\n if (descriptor !== undefined && descriptor.set !== undefined) {\n descriptor.set.call(instance, value);\n } else {\n instance[key] = value;\n }\n }\n\n /**\n * Update the component subscribers. This is an update so any\n * key not defined won't be overwritten.\n */\n updateSubscribers(subscribers: Record<string, (event: any) => void>) {\n this.subscribers = subscribers;\n if (this.componentRef === undefined) {\n return;\n }\n\n const instance = this.componentRef.instance;\n const allowedSubscribers = this.componentFactory.outputs;\n allowedSubscribers.forEach(\n (value: { propName: string; templateName: string }) => {\n const key = value.propName;\n if (Object.prototype.hasOwnProperty.call(subscribers, key)) {\n const emitter = instance[key];\n const subscriber = subscribers[key];\n if (Array.isArray(subscriber)) {\n subscriber.forEach((_subscriber) => {\n this.subscriptions.push(emitter.subscribe(_subscriber));\n });\n } else {\n this.subscriptions.push(emitter.subscribe(subscriber));\n }\n }\n }\n );\n }\n\n /**\n * Subscribe to an observable input and update the component's input value\n * accordingly\n * @param key Input key\n * @param observable Observable\n */\n private observeInput(key: string, observable: Observable<any>) {\n this.inputs$$[key] = observable.subscribe((value: any) => {\n const instance = this.componentRef.instance;\n this.setInputValue(instance, key, value);\n\n if (typeof (instance as any).onUpdateInputs === 'function') {\n (instance as any).onUpdateInputs();\n }\n });\n }\n\n /**\n * Unsubscribe to an observable input\n * @param key Input key\n */\n private unobserveInput(key: string) {\n if (this.inputs$$[key] !== undefined) {\n this.inputs$$[key].unsubscribe();\n this.inputs$$[key] = undefined;\n }\n }\n\n /**\n * Unsubscribe to all outputs.\n */\n private unobserveAllInputs() {\n Object.values(this.inputs$$).forEach((s: Subscription | undefined) => {\n if (s !== undefined) {\n s.unsubscribe();\n }\n });\n this.inputs$$ = {};\n }\n\n /**\n * Unsubscribe to all outputs.\n */\n private unsubscribeAll() {\n this.subscriptions.forEach((s: Subscription) => s.unsubscribe());\n this.subscriptions = [];\n }\n}\n","import { ComponentFactoryResolver, Injectable } from '@angular/core';\n\nimport { DynamicComponent } from './dynamic-component';\n\n/**\n * Service to creates DynamicComponent instances from base component classes\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class DynamicComponentService {\n constructor(private resolver: ComponentFactoryResolver) {}\n\n /**\n * Creates a DynamicComponent instance from a base component class\n * @param componentCls The component class\n * @returns DynamicComponent instance\n */\n create(componentCls: any): DynamicComponent<any> {\n const factory = this.resolver.resolveComponentFactory(componentCls as any);\n return new DynamicComponent<typeof componentCls>(factory);\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnChanges,\n OnDestroy,\n SimpleChanges,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\n\nimport { ObjectUtils } from '@igo2/utils';\n\nimport { DynamicComponent } from '../shared/dynamic-component';\nimport { DynamicComponentService } from '../shared/dynamic-component.service';\n\n@Component({\n selector: 'igo-dynamic-outlet',\n templateUrl: 'dynamic-outlet.component.html',\n styleUrls: ['dynamic-outlet.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class DynamicOutletComponent implements OnChanges, OnDestroy {\n /**\n * The dynamic component base class or the dynamic component itself\n */\n @Input() component: DynamicComponent<any> | any;\n\n /**\n * The dynamic component inputs\n */\n @Input() inputs: Record<string, any> = {};\n\n /**\n * The subscribers to the dynamic component outputs\n */\n @Input() subscribers: Record<string, (event: any) => void> = {};\n\n /**\n * The dynamic component\n */\n private dynamicComponent: DynamicComponent<any>;\n\n /**\n * The view element to render the component to\n * @ignore\n */\n @ViewChild('target', { read: ViewContainerRef, static: true })\n private target: ViewContainerRef;\n\n constructor(\n private dynamicComponentService: DynamicComponentService,\n private cdRef: ChangeDetectorRef\n ) {}\n\n /**\n * If the dynamic component changes, create it.\n * If the inputs or subscribers change, update the current component's\n * inputs or subscribers.\n * @internal\n */\n ngOnChanges(changes: SimpleChanges) {\n const component = changes.component;\n const inputs = changes.inputs;\n const subscribers = changes.subscribers;\n const eq = ObjectUtils.objectsAreEquivalent;\n\n if (!component || !component.currentValue) {\n return;\n }\n\n if (component.currentValue !== component.previousValue) {\n this.createComponent(component.currentValue);\n } else {\n const inputsAreEquivalents =\n inputs && eq(inputs.currentValue || {}, inputs.previousValue || {});\n const subscribersAreEquivalents =\n subscribers &&\n eq(subscribers.currentValue || {}, subscribers.previousValue || {});\n\n if (inputsAreEquivalents === false) {\n this.updateInputs();\n }\n\n if (subscribersAreEquivalents === false) {\n this.updateSubscribers();\n }\n }\n this.cdRef.detectChanges();\n }\n\n /**\n * Destroy the dynamic component and all it's subscribers\n * @internal\n */\n ngOnDestroy() {\n if (this.dynamicComponent) {\n this.dynamicComponent.destroy();\n }\n }\n\n /**\n * Create a DynamicComponent out of the component class and render it.\n * @internal\n */\n private createComponent(component: DynamicComponent<any> | any) {\n if (this.dynamicComponent !== undefined) {\n this.dynamicComponent.destroy();\n }\n this.dynamicComponent =\n component instanceof DynamicComponent\n ? component\n : this.dynamicComponentService.create(component);\n this.renderComponent();\n }\n\n /**\n * Create and render the dynamic component. Set it's inputs and subscribers\n * @internal\n */\n private renderComponent() {\n this.updateInputs();\n this.updateSubscribers();\n this.dynamicComponent.setTarget(this.target);\n }\n\n /**\n * Update the dynamic component inputs. This is an update so any\n * key not defined won't be overwritten.\n * @internal\n */\n private updateInputs() {\n this.dynamicComponent.updateInputs(this.inputs);\n }\n\n /**\n * Update the dynamic component subscribers. This is an update so any\n * key not defined won't be overwritten.\n * @internal\n */\n private updateSubscribers() {\n this.dynamicComponent.updateSubscribers(this.subscribers);\n }\n}\n","<ng-template #target></ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { DynamicOutletComponent } from './dynamic-outlet/dynamic-outlet.component';\n\n/**\n * @deprecated import the DynamicOutletComponent directly\n */\n@NgModule({\n imports: [DynamicOutletComponent],\n exports: [DynamicOutletComponent]\n})\nexport class IgoDynamicComponentModule {}\n","import { NgModule } from '@angular/core';\n\nimport { DynamicOutletComponent } from './dynamic-outlet.component';\n\n/**\n * @deprecated import the DynamicOutletComponent directly\n */\n@NgModule({\n imports: [DynamicOutletComponent],\n exports: [DynamicOutletComponent]\n})\nexport class IgoDynamicOutletModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.DynamicComponentService"],"mappings":"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"}
|