@igo2/common 19.0.0-next.29 → 19.0.0-next.30
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/src/action.theming.scss +5 -1
- package/action/src/actionbar/actionbar-item.theming.scss +1 -13
- package/entity/src/entity-selector/entity-selector.theming.scss +1 -1
- package/entity/src/entity-table/entity-table.theming.scss +1 -17
- package/entity/src/entity.theming.scss +6 -1
- package/fesm2022/igo2-common-action.mjs +4 -4
- package/fesm2022/igo2-common-action.mjs.map +1 -1
- package/fesm2022/igo2-common-confirm-dialog.mjs +2 -2
- package/fesm2022/igo2-common-confirm-dialog.mjs.map +1 -1
- package/fesm2022/igo2-common-custom-html.mjs +2 -2
- package/fesm2022/igo2-common-entity.mjs +2 -2
- package/fesm2022/igo2-common-entity.mjs.map +1 -1
- package/fesm2022/igo2-common-home-button.mjs +2 -2
- package/fesm2022/igo2-common-home-button.mjs.map +1 -1
- package/fesm2022/igo2-common-icon.mjs +2 -2
- package/fesm2022/igo2-common-icon.mjs.map +1 -1
- package/fesm2022/igo2-common-interactive-tour.mjs +6 -12
- package/fesm2022/igo2-common-interactive-tour.mjs.map +1 -1
- package/fesm2022/igo2-common-json-dialog.mjs +2 -2
- package/fesm2022/igo2-common-json-dialog.mjs.map +1 -1
- package/fesm2022/igo2-common-list.mjs +2 -2
- package/fesm2022/igo2-common-list.mjs.map +1 -1
- package/fesm2022/igo2-common-panel.mjs +2 -2
- package/fesm2022/igo2-common-panel.mjs.map +1 -1
- package/fesm2022/igo2-common-resizable-bar.mjs +2 -2
- package/fesm2022/igo2-common-resizable-bar.mjs.map +1 -1
- package/fesm2022/igo2-common-tool.mjs +2 -2
- package/fesm2022/igo2-common-tool.mjs.map +1 -1
- package/interactive-tour/interactive-tour.service.d.ts +0 -1
- package/package.json +4 -4
- package/panel/src/panel.theming.scss +1 -11
- package/src/common.theme.scss +18 -0
- package/src/style/partial/common-utils.scss +2 -0
- package/tool/src/toolbox/toolbox.theming.scss +1 -84
- package/action/src/actionbar/actionbar.theming.scss +0 -22
- package/collapsible/src/collapsible.theming.scss +0 -22
- package/home-button/src/home-button.theming.scss +0 -18
- package/interactive-tour/src/interactive-tour.theming.scss +0 -32
- package/list/src/list.theming.scss +0 -58
- package/resizable-bar/src/resizable-bar.theme.scss +0 -23
- package/src/common-theme.scss +0 -22
|
@@ -3,11 +3,10 @@
|
|
|
3
3
|
|
|
4
4
|
@mixin theme($theme) {
|
|
5
5
|
@include density($theme);
|
|
6
|
-
@include typography($theme);
|
|
7
6
|
}
|
|
8
7
|
|
|
9
8
|
@mixin density($theme) {
|
|
10
|
-
$density: mat.
|
|
9
|
+
$density: mat.get-theme-density($theme);
|
|
11
10
|
$theme: map.merge(
|
|
12
11
|
$theme,
|
|
13
12
|
(
|
|
@@ -16,17 +15,6 @@
|
|
|
16
15
|
);
|
|
17
16
|
|
|
18
17
|
igo-actionbar-item {
|
|
19
|
-
@include mat.icon-button-density($theme);
|
|
20
18
|
@include mat.list-density($theme);
|
|
21
19
|
}
|
|
22
20
|
}
|
|
23
|
-
|
|
24
|
-
@mixin typography($theme) {
|
|
25
|
-
$typography: mat.m2-get-typography-config($theme);
|
|
26
|
-
|
|
27
|
-
igo-actionbar-item {
|
|
28
|
-
mat-checkbox label {
|
|
29
|
-
font-size: mat.m2-font-size($typography, body-1);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
@@ -2,27 +2,11 @@
|
|
|
2
2
|
@use '@angular/material' as mat;
|
|
3
3
|
|
|
4
4
|
@mixin theme($theme) {
|
|
5
|
-
@include color($theme);
|
|
6
5
|
@include density($theme);
|
|
7
6
|
}
|
|
8
7
|
|
|
9
|
-
@mixin color($theme) {
|
|
10
|
-
$primary: map.get($theme, primary);
|
|
11
|
-
$accent: map.get($theme, accent);
|
|
12
|
-
$background: map.get($theme, background);
|
|
13
|
-
igo-entity-table
|
|
14
|
-
table.igo-entity-table-with-selection
|
|
15
|
-
tr.igo-entity-table-row-highlighted {
|
|
16
|
-
background-color: mat.m2-get-color-from-palette($primary, A100);
|
|
17
|
-
color: mat.m2-get-color-from-palette($primary, default-contrast);
|
|
18
|
-
}
|
|
19
|
-
igo-entity-table .mat-mdc-table thead {
|
|
20
|
-
background-color: mat.m2-get-color-from-palette($background, background);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
8
|
@mixin density($theme) {
|
|
25
|
-
$density: mat.
|
|
9
|
+
$density: mat.get-theme-density($theme);
|
|
26
10
|
|
|
27
11
|
$theme: map.merge(
|
|
28
12
|
$theme,
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
@use './entity-table/entity-table.theming' as entity-table;
|
|
2
2
|
@use './entity-selector/entity-selector.theming' as entity-selector;
|
|
3
3
|
|
|
4
|
-
@mixin
|
|
4
|
+
@mixin themes($theme) {
|
|
5
5
|
@include entity-table.theme($theme);
|
|
6
6
|
@include entity-selector.theme($theme);
|
|
7
7
|
}
|
|
8
|
+
|
|
9
|
+
@mixin densities($theme) {
|
|
10
|
+
@include entity-table.density($theme);
|
|
11
|
+
@include entity-selector.density($theme);
|
|
12
|
+
}
|
|
@@ -180,7 +180,7 @@ class ActionbarItemComponent {
|
|
|
180
180
|
this.checkCondition$.next(checkCondition);
|
|
181
181
|
}
|
|
182
182
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ActionbarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
183
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: ActionbarItemComponent, isStandalone: true, selector: "igo-actionbar-item", inputs: { action: "action", color: "color", withTitle: "withTitle", withIcon: "withIcon", withTooltip: "withTooltip", disabled: "disabled", noDisplay: "noDisplay" }, outputs: { trigger: "trigger" }, ngImport: i0, template: "<mat-list-item\n *ngIf=\"!action.checkbox\"\n class=\"actionbar-item\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n (click)=\"onClick()\"\n>\n <button\n *ngIf=\"withIcon\"\n matListItemAvatar\n mat-icon-button\n [color]=\"color\"\n [disabled]=\"disabled$ | async\"\n [disableRipple]=\"true\"\n >\n <igo-icon\n [icon]=\"isObservable(action.icon) ? (action.icon | async) : action.icon\"\n ></igo-icon>\n </button>\n <span *ngIf=\"withTitle\" matLine>{{ title | translate }}</span>\n</mat-list-item>\n\n<mat-list-item\n class=\"item-checkbox\"\n *ngIf=\"action.checkbox\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n>\n <mat-checkbox\n *ngIf=\"withTitle\"\n (change)=\"action.handler()\"\n [checked]=\"checkCondition$ | async\"\n >\n {{ title | translate }}\n </mat-checkbox>\n</mat-list-item>\n", styles: [":host ::ng-deep mat-list-item:hover{cursor:pointer}:host mat-list-item.igo-actionbar-item-disabled{color:#00000042;cursor:default!important}:host mat-list-item.igo-actionbar-item-no-display{display:none}:host mat-list-item ::ng-deep button[matlistitemavatar]{margin-left:
|
|
183
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: ActionbarItemComponent, isStandalone: true, selector: "igo-actionbar-item", inputs: { action: "action", color: "color", withTitle: "withTitle", withIcon: "withIcon", withTooltip: "withTooltip", disabled: "disabled", noDisplay: "noDisplay" }, outputs: { trigger: "trigger" }, ngImport: i0, template: "<mat-list-item\n *ngIf=\"!action.checkbox\"\n class=\"actionbar-item\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n (click)=\"onClick()\"\n>\n <button\n *ngIf=\"withIcon\"\n matListItemAvatar\n mat-icon-button\n [color]=\"color\"\n [disabled]=\"disabled$ | async\"\n [disableRipple]=\"true\"\n >\n <igo-icon\n [icon]=\"isObservable(action.icon) ? (action.icon | async) : action.icon\"\n ></igo-icon>\n </button>\n <span *ngIf=\"withTitle\" matLine>{{ title | translate }}</span>\n</mat-list-item>\n\n<mat-list-item\n class=\"item-checkbox\"\n *ngIf=\"action.checkbox\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n>\n <mat-checkbox\n *ngIf=\"withTitle\"\n (change)=\"action.handler()\"\n [checked]=\"checkCondition$ | async\"\n >\n {{ title | translate }}\n </mat-checkbox>\n</mat-list-item>\n", styles: [":host ::ng-deep mat-list-item:hover{cursor:pointer}:host{--mdc-list-list-item-leading-avatar-size: 48px}:host .mdc-icon-button{--mdc-icon-button-state-layer-size: 48px}:host mat-list-item{padding-right:0}:host mat-list-item.igo-actionbar-item-disabled{color:#00000042;cursor:default!important}:host mat-list-item.igo-actionbar-item-no-display{display:none}:host mat-list-item ::ng-deep button[matlistitemavatar]{margin-left:0;background-color:inherit}:host mat-list-item ::ng-deep button .mat-mdc-button-persistent-ripple{display:none}:host .item-checkbox ::ng-deep mat-checkbox label{margin-left:28px}:host .actionbar-item [matline]{padding-left:16px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1.MatListItemAvatar, selector: "[matListItemAvatar]" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "component", type: IgoIconComponent, selector: "igo-icon", inputs: ["color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
184
184
|
}
|
|
185
185
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ActionbarItemComponent, decorators: [{
|
|
186
186
|
type: Component,
|
|
@@ -195,7 +195,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
195
195
|
AsyncPipe,
|
|
196
196
|
IgoLanguageModule,
|
|
197
197
|
IgoIconComponent
|
|
198
|
-
], template: "<mat-list-item\n *ngIf=\"!action.checkbox\"\n class=\"actionbar-item\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n (click)=\"onClick()\"\n>\n <button\n *ngIf=\"withIcon\"\n matListItemAvatar\n mat-icon-button\n [color]=\"color\"\n [disabled]=\"disabled$ | async\"\n [disableRipple]=\"true\"\n >\n <igo-icon\n [icon]=\"isObservable(action.icon) ? (action.icon | async) : action.icon\"\n ></igo-icon>\n </button>\n <span *ngIf=\"withTitle\" matLine>{{ title | translate }}</span>\n</mat-list-item>\n\n<mat-list-item\n class=\"item-checkbox\"\n *ngIf=\"action.checkbox\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n>\n <mat-checkbox\n *ngIf=\"withTitle\"\n (change)=\"action.handler()\"\n [checked]=\"checkCondition$ | async\"\n >\n {{ title | translate }}\n </mat-checkbox>\n</mat-list-item>\n", styles: [":host ::ng-deep mat-list-item:hover{cursor:pointer}:host mat-list-item.igo-actionbar-item-disabled{color:#00000042;cursor:default!important}:host mat-list-item.igo-actionbar-item-no-display{display:none}:host mat-list-item ::ng-deep button[matlistitemavatar]{margin-left:
|
|
198
|
+
], template: "<mat-list-item\n *ngIf=\"!action.checkbox\"\n class=\"actionbar-item\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n (click)=\"onClick()\"\n>\n <button\n *ngIf=\"withIcon\"\n matListItemAvatar\n mat-icon-button\n [color]=\"color\"\n [disabled]=\"disabled$ | async\"\n [disableRipple]=\"true\"\n >\n <igo-icon\n [icon]=\"isObservable(action.icon) ? (action.icon | async) : action.icon\"\n ></igo-icon>\n </button>\n <span *ngIf=\"withTitle\" matLine>{{ title | translate }}</span>\n</mat-list-item>\n\n<mat-list-item\n class=\"item-checkbox\"\n *ngIf=\"action.checkbox\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n>\n <mat-checkbox\n *ngIf=\"withTitle\"\n (change)=\"action.handler()\"\n [checked]=\"checkCondition$ | async\"\n >\n {{ title | translate }}\n </mat-checkbox>\n</mat-list-item>\n", styles: [":host ::ng-deep mat-list-item:hover{cursor:pointer}:host{--mdc-list-list-item-leading-avatar-size: 48px}:host .mdc-icon-button{--mdc-icon-button-state-layer-size: 48px}:host mat-list-item{padding-right:0}:host mat-list-item.igo-actionbar-item-disabled{color:#00000042;cursor:default!important}:host mat-list-item.igo-actionbar-item-no-display{display:none}:host mat-list-item ::ng-deep button[matlistitemavatar]{margin-left:0;background-color:inherit}:host mat-list-item ::ng-deep button .mat-mdc-button-persistent-ripple{display:none}:host .item-checkbox ::ng-deep mat-checkbox label{margin-left:28px}:host .actionbar-item [matline]{padding-left:16px}\n"] }]
|
|
199
199
|
}], propDecorators: { action: [{
|
|
200
200
|
type: Input
|
|
201
201
|
}], color: [{
|
|
@@ -406,7 +406,7 @@ class ActionbarComponent {
|
|
|
406
406
|
this.elRef.nativeElement.scrollBy(0, -52);
|
|
407
407
|
}
|
|
408
408
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ActionbarComponent, deps: [{ token: i1$1.Overlay }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i2$1.MediaService }], target: i0.ɵɵFactoryTarget.Component });
|
|
409
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: ActionbarComponent, isStandalone: true, selector: "igo-actionbar", inputs: { store: "store", mode: "mode", withToggleButton: "withToggleButton", horizontal: "horizontal", color: "color", iconColor: "iconColor", withTitle: "withTitle", withTooltip: "withTooltip", scrollActive: "scrollActive", withIcon: "withIcon", icon: "icon", xPosition: "xPosition", yPosition: "yPosition", overlayClass: "overlayClass" }, host: { properties: { "class.is-collapsed": "this.isCollapsed", "class.with-title": "this.withTitleClass", "class.with-icon": "this.withIconClass", "class.horizontal": "this.horizontalClass" } }, usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"heightCondition && positionConditionTop && isDesktop\"\n id=\"topChevron\"\n>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollUp' | translate\"\n (click)=\"scrollUp()\"\n >\n <mat-icon>expand_less</mat-icon>\n </button>\n</div>\n<mat-list *ngIf=\"mode === actionbarMode.Dock\" matListItemIcon>\n <igo-actionbar-item\n *ngIf=\"withToggleButton\"\n color=\"accent\"\n [withTitle]=\"false\"\n [withIcon]=\"true\"\n [color]=\"color\"\n [disabled]=\"store.view.empty\"\n [action]=\"toggleCollapseAction\"\n (trigger)=\"onTriggerAction(toggleCollapseAction)\"\n >\n </igo-actionbar-item>\n\n <ng-template\n #buttonContent\n *ngIf=\"!collapsed\"\n ngFor\n let-action\n [ngForOf]=\"store.view.all$() | async\"\n >\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [withTooltip]=\"withTooltip\"\n [color]=\"color\"\n [disabled]=\"store.state.get(action).disabled\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n </ng-template>\n</mat-list>\n\n<div\n *ngIf=\"heightCondition && positionConditionLow && isDesktop\"\n id=\"lowChevron\"\n>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollDown' | translate\"\n (click)=\"scrollDown()\"\n >\n <mat-icon>expand_more</mat-icon>\n </button>\n</div>\n\n<div *ngIf=\"mode === actionbarMode.Overlay\">\n <button\n class=\"buttonOverlay\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.icon' | translate\"\n [matMenuTriggerFor]=\"actionbarMenu\"\n [disabled]=\"store.view.empty\"\n [color]=\"iconColor\"\n >\n <mat-icon>{{ icon }}</mat-icon>\n </button>\n\n <mat-menu\n #actionbarMenu=\"matMenu\"\n class=\"igo-compact-menu igo-no-min-width-menu\"\n overlapTrigger=\"true\"\n [xPosition]=\"xPosition\"\n [yPosition]=\"yPosition\"\n [class]=\"overlayClass\"\n >\n <mat-list>\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [color]=\"color\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n </ng-template>\n </mat-list>\n </mat-menu>\n</div>\n<mat-card\n *ngIf=\"mode === actionbarMode.Context\"\n class=\"context-menu-card mat-elevation-z4\"\n>\n <mat-list>\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [color]=\"color\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n <br />\n </ng-template>\n </mat-list>\n</mat-card>\n", styles: [":host{display:block;height:100%;overflow:auto;position:relative}:host.horizontal{max-width:100%;overflow:unset}:host.horizontal mat-list{width:auto;white-space:nowrap}:host.horizontal igo-actionbar-item{display:inline-block}:host mat-list{padding-top:0}:host .buttonOverlay{margin:0}:host .context-menu-card{padding:8px 3px;margin:10px}:host #topChevron{position:sticky;top:0;background-color:#fff;z-index:3;display:flex;justify-content:center}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){:host #topChevron{position:fixed;top:unset}}@supports (-ms-accelerator: true){:host #topChevron{position:fixed;top:unset}}:host #lowChevron{position:sticky;bottom:0;background-color:#fff;z-index:3;display:flex;justify-content:center}:host .igo-actionbar-overlay{min-width:inherit!important;padding-top:0;padding-bottom:0}:host .igo-actionbar-overlay .mat-mdc-list{padding-top:0}:host .igo-actionbar-overlay .mat-mdc-menu-content:not(:empty){padding-top:0;padding-bottom:0}:host ::ng-deep .mdc-list-item__primary-text{white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:2}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "directive", type: i1.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "component", type: ActionbarItemComponent, selector: "igo-actionbar-item", inputs: ["action", "color", "withTitle", "withIcon", "withTooltip", "disabled", "noDisplay"], outputs: ["trigger"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i7.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i7.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i8.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
409
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: ActionbarComponent, isStandalone: true, selector: "igo-actionbar", inputs: { store: "store", mode: "mode", withToggleButton: "withToggleButton", horizontal: "horizontal", color: "color", iconColor: "iconColor", withTitle: "withTitle", withTooltip: "withTooltip", scrollActive: "scrollActive", withIcon: "withIcon", icon: "icon", xPosition: "xPosition", yPosition: "yPosition", overlayClass: "overlayClass" }, host: { properties: { "class.is-collapsed": "this.isCollapsed", "class.with-title": "this.withTitleClass", "class.with-icon": "this.withIconClass", "class.horizontal": "this.horizontalClass" } }, usesOnChanges: true, ngImport: i0, template: "<div\n *ngIf=\"heightCondition && positionConditionTop && isDesktop\"\n id=\"topChevron\"\n>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollUp' | translate\"\n (click)=\"scrollUp()\"\n >\n <mat-icon>expand_less</mat-icon>\n </button>\n</div>\n<mat-list *ngIf=\"mode === actionbarMode.Dock\" matListItemIcon>\n <igo-actionbar-item\n *ngIf=\"withToggleButton\"\n color=\"accent\"\n [withTitle]=\"false\"\n [withIcon]=\"true\"\n [color]=\"color\"\n [disabled]=\"store.view.empty\"\n [action]=\"toggleCollapseAction\"\n (trigger)=\"onTriggerAction(toggleCollapseAction)\"\n >\n </igo-actionbar-item>\n\n <ng-template\n #buttonContent\n *ngIf=\"!collapsed\"\n ngFor\n let-action\n [ngForOf]=\"store.view.all$() | async\"\n >\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [withTooltip]=\"withTooltip\"\n [color]=\"color\"\n [disabled]=\"store.state.get(action).disabled\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n </ng-template>\n</mat-list>\n\n<div\n *ngIf=\"heightCondition && positionConditionLow && isDesktop\"\n id=\"lowChevron\"\n>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollDown' | translate\"\n (click)=\"scrollDown()\"\n >\n <mat-icon>expand_more</mat-icon>\n </button>\n</div>\n\n<div *ngIf=\"mode === actionbarMode.Overlay\">\n <button\n class=\"buttonOverlay\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.icon' | translate\"\n [matMenuTriggerFor]=\"actionbarMenu\"\n [disabled]=\"store.view.empty\"\n [color]=\"iconColor\"\n >\n <mat-icon>{{ icon }}</mat-icon>\n </button>\n\n <mat-menu\n #actionbarMenu=\"matMenu\"\n class=\"igo-compact-menu igo-no-min-width-menu\"\n overlapTrigger=\"true\"\n [xPosition]=\"xPosition\"\n [yPosition]=\"yPosition\"\n [class]=\"overlayClass\"\n >\n <mat-list>\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [color]=\"color\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n </ng-template>\n </mat-list>\n </mat-menu>\n</div>\n<mat-card\n *ngIf=\"mode === actionbarMode.Context\"\n class=\"context-menu-card mat-elevation-z4\"\n>\n <mat-list>\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [color]=\"color\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n <br />\n </ng-template>\n </mat-list>\n</mat-card>\n", styles: [":host{display:block;height:100%;overflow:auto;position:relative}:host.horizontal{max-width:100%;overflow:unset}:host.horizontal mat-list{width:auto;white-space:nowrap}:host.horizontal igo-actionbar-item{display:inline-block}:host mat-list{padding-top:0}:host .buttonOverlay{margin:0}:host .context-menu-card{padding:8px 3px;margin:10px}:host #topChevron{position:sticky;top:0;background-color:#fff;z-index:3;display:flex;justify-content:center}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){:host #topChevron{position:fixed;top:unset}}@supports (-ms-accelerator: true){:host #topChevron{position:fixed;top:unset}}:host #lowChevron{position:sticky;bottom:0;background-color:#fff;z-index:3;display:flex;justify-content:center}:host .igo-actionbar-overlay{min-width:inherit!important;padding-top:0;padding-bottom:0}:host .igo-actionbar-overlay .mat-mdc-list{padding-top:0}:host .igo-actionbar-overlay .mat-mdc-menu-content:not(:empty){padding-top:0;padding-bottom:0}:host.with-title ::ng-deep .mdc-list-item--with-leading-avatar .mdc-list-item__start{margin-right:0}:host ::ng-deep .mdc-list-item__primary-text{white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:2}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "directive", type: i1.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "component", type: ActionbarItemComponent, selector: "igo-actionbar-item", inputs: ["action", "color", "withTitle", "withIcon", "withTooltip", "disabled", "noDisplay"], outputs: ["trigger"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i7.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i7.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i8.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
410
410
|
}
|
|
411
411
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ActionbarComponent, decorators: [{
|
|
412
412
|
type: Component,
|
|
@@ -422,7 +422,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
422
422
|
MatCardModule,
|
|
423
423
|
AsyncPipe,
|
|
424
424
|
IgoLanguageModule
|
|
425
|
-
], template: "<div\n *ngIf=\"heightCondition && positionConditionTop && isDesktop\"\n id=\"topChevron\"\n>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollUp' | translate\"\n (click)=\"scrollUp()\"\n >\n <mat-icon>expand_less</mat-icon>\n </button>\n</div>\n<mat-list *ngIf=\"mode === actionbarMode.Dock\" matListItemIcon>\n <igo-actionbar-item\n *ngIf=\"withToggleButton\"\n color=\"accent\"\n [withTitle]=\"false\"\n [withIcon]=\"true\"\n [color]=\"color\"\n [disabled]=\"store.view.empty\"\n [action]=\"toggleCollapseAction\"\n (trigger)=\"onTriggerAction(toggleCollapseAction)\"\n >\n </igo-actionbar-item>\n\n <ng-template\n #buttonContent\n *ngIf=\"!collapsed\"\n ngFor\n let-action\n [ngForOf]=\"store.view.all$() | async\"\n >\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [withTooltip]=\"withTooltip\"\n [color]=\"color\"\n [disabled]=\"store.state.get(action).disabled\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n </ng-template>\n</mat-list>\n\n<div\n *ngIf=\"heightCondition && positionConditionLow && isDesktop\"\n id=\"lowChevron\"\n>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollDown' | translate\"\n (click)=\"scrollDown()\"\n >\n <mat-icon>expand_more</mat-icon>\n </button>\n</div>\n\n<div *ngIf=\"mode === actionbarMode.Overlay\">\n <button\n class=\"buttonOverlay\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.icon' | translate\"\n [matMenuTriggerFor]=\"actionbarMenu\"\n [disabled]=\"store.view.empty\"\n [color]=\"iconColor\"\n >\n <mat-icon>{{ icon }}</mat-icon>\n </button>\n\n <mat-menu\n #actionbarMenu=\"matMenu\"\n class=\"igo-compact-menu igo-no-min-width-menu\"\n overlapTrigger=\"true\"\n [xPosition]=\"xPosition\"\n [yPosition]=\"yPosition\"\n [class]=\"overlayClass\"\n >\n <mat-list>\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [color]=\"color\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n </ng-template>\n </mat-list>\n </mat-menu>\n</div>\n<mat-card\n *ngIf=\"mode === actionbarMode.Context\"\n class=\"context-menu-card mat-elevation-z4\"\n>\n <mat-list>\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [color]=\"color\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n <br />\n </ng-template>\n </mat-list>\n</mat-card>\n", styles: [":host{display:block;height:100%;overflow:auto;position:relative}:host.horizontal{max-width:100%;overflow:unset}:host.horizontal mat-list{width:auto;white-space:nowrap}:host.horizontal igo-actionbar-item{display:inline-block}:host mat-list{padding-top:0}:host .buttonOverlay{margin:0}:host .context-menu-card{padding:8px 3px;margin:10px}:host #topChevron{position:sticky;top:0;background-color:#fff;z-index:3;display:flex;justify-content:center}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){:host #topChevron{position:fixed;top:unset}}@supports (-ms-accelerator: true){:host #topChevron{position:fixed;top:unset}}:host #lowChevron{position:sticky;bottom:0;background-color:#fff;z-index:3;display:flex;justify-content:center}:host .igo-actionbar-overlay{min-width:inherit!important;padding-top:0;padding-bottom:0}:host .igo-actionbar-overlay .mat-mdc-list{padding-top:0}:host .igo-actionbar-overlay .mat-mdc-menu-content:not(:empty){padding-top:0;padding-bottom:0}:host ::ng-deep .mdc-list-item__primary-text{white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:2}\n"] }]
|
|
425
|
+
], template: "<div\n *ngIf=\"heightCondition && positionConditionTop && isDesktop\"\n id=\"topChevron\"\n>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollUp' | translate\"\n (click)=\"scrollUp()\"\n >\n <mat-icon>expand_less</mat-icon>\n </button>\n</div>\n<mat-list *ngIf=\"mode === actionbarMode.Dock\" matListItemIcon>\n <igo-actionbar-item\n *ngIf=\"withToggleButton\"\n color=\"accent\"\n [withTitle]=\"false\"\n [withIcon]=\"true\"\n [color]=\"color\"\n [disabled]=\"store.view.empty\"\n [action]=\"toggleCollapseAction\"\n (trigger)=\"onTriggerAction(toggleCollapseAction)\"\n >\n </igo-actionbar-item>\n\n <ng-template\n #buttonContent\n *ngIf=\"!collapsed\"\n ngFor\n let-action\n [ngForOf]=\"store.view.all$() | async\"\n >\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [withTooltip]=\"withTooltip\"\n [color]=\"color\"\n [disabled]=\"store.state.get(action).disabled\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n </ng-template>\n</mat-list>\n\n<div\n *ngIf=\"heightCondition && positionConditionLow && isDesktop\"\n id=\"lowChevron\"\n>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollDown' | translate\"\n (click)=\"scrollDown()\"\n >\n <mat-icon>expand_more</mat-icon>\n </button>\n</div>\n\n<div *ngIf=\"mode === actionbarMode.Overlay\">\n <button\n class=\"buttonOverlay\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.icon' | translate\"\n [matMenuTriggerFor]=\"actionbarMenu\"\n [disabled]=\"store.view.empty\"\n [color]=\"iconColor\"\n >\n <mat-icon>{{ icon }}</mat-icon>\n </button>\n\n <mat-menu\n #actionbarMenu=\"matMenu\"\n class=\"igo-compact-menu igo-no-min-width-menu\"\n overlapTrigger=\"true\"\n [xPosition]=\"xPosition\"\n [yPosition]=\"yPosition\"\n [class]=\"overlayClass\"\n >\n <mat-list>\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [color]=\"color\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n </ng-template>\n </mat-list>\n </mat-menu>\n</div>\n<mat-card\n *ngIf=\"mode === actionbarMode.Context\"\n class=\"context-menu-card mat-elevation-z4\"\n>\n <mat-list>\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [color]=\"color\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n <br />\n </ng-template>\n </mat-list>\n</mat-card>\n", styles: [":host{display:block;height:100%;overflow:auto;position:relative}:host.horizontal{max-width:100%;overflow:unset}:host.horizontal mat-list{width:auto;white-space:nowrap}:host.horizontal igo-actionbar-item{display:inline-block}:host mat-list{padding-top:0}:host .buttonOverlay{margin:0}:host .context-menu-card{padding:8px 3px;margin:10px}:host #topChevron{position:sticky;top:0;background-color:#fff;z-index:3;display:flex;justify-content:center}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){:host #topChevron{position:fixed;top:unset}}@supports (-ms-accelerator: true){:host #topChevron{position:fixed;top:unset}}:host #lowChevron{position:sticky;bottom:0;background-color:#fff;z-index:3;display:flex;justify-content:center}:host .igo-actionbar-overlay{min-width:inherit!important;padding-top:0;padding-bottom:0}:host .igo-actionbar-overlay .mat-mdc-list{padding-top:0}:host .igo-actionbar-overlay .mat-mdc-menu-content:not(:empty){padding-top:0;padding-bottom:0}:host.with-title ::ng-deep .mdc-list-item--with-leading-avatar .mdc-list-item__start{margin-right:0}:host ::ng-deep .mdc-list-item__primary-text{white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:2}\n"] }]
|
|
426
426
|
}], ctorParameters: () => [{ type: i1$1.Overlay }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i2$1.MediaService }], propDecorators: { store: [{
|
|
427
427
|
type: Input
|
|
428
428
|
}], mode: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-common-action.mjs","sources":["../../../packages/common/action/src/shared/action.enums.ts","../../../packages/common/action/src/shared/store.ts","../../../packages/common/action/src/actionbar/actionbar-item.component.ts","../../../packages/common/action/src/actionbar/actionbar-item.component.html","../../../packages/common/action/src/actionbar/actionbar.component.ts","../../../packages/common/action/src/actionbar/actionbar.component.html","../../../packages/common/action/src/action.module.ts","../../../packages/common/action/src/actionbar/actionbar.module.ts","../../../packages/common/action/src/igo2-common-action.ts"],"sourcesContent":["export enum ActionbarMode {\n Dock = 'dock',\n Overlay = 'overlay',\n Context = 'context'\n}\n","import { EntityStore } from '@igo2/common/entity';\n\nimport { Action } from './action.interfaces';\n\n/**\n * The class is a specialized version of an EntityStore that stores\n * actions.\n */\nexport class ActionStore extends EntityStore<Action> {}\n","import { AsyncPipe, NgClass, NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { IgoIconComponent } from '@igo2/common/icon';\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { BehaviorSubject, Subscription, isObservable } from 'rxjs';\n\nimport { Action } from '../shared/action.interfaces';\n\n/**\n * An action button\n */\n@Component({\n selector: 'igo-actionbar-item',\n templateUrl: './actionbar-item.component.html',\n styleUrls: ['./actionbar-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n MatListModule,\n MatTooltipModule,\n NgClass,\n MatButtonModule,\n MatIconModule,\n MatCheckboxModule,\n AsyncPipe,\n IgoLanguageModule,\n IgoIconComponent\n ]\n})\nexport class ActionbarItemComponent implements OnInit, OnDestroy {\n readonly disabled$ = new BehaviorSubject<boolean>(false);\n\n readonly checkCondition$ = new BehaviorSubject<boolean>(undefined);\n\n readonly tooltip$ = new BehaviorSubject<string>(undefined);\n\n readonly noDisplay$ = new BehaviorSubject<boolean>(false);\n\n readonly ngClass$ = new BehaviorSubject<Record<string, boolean>>({});\n\n private ngClass$$: Subscription;\n\n private disabled$$: Subscription;\n\n private availability$$: Subscription;\n\n private checkCondition$$: Subscription;\n\n private tooltip$$: Subscription;\n\n private noDisplay$$: Subscription;\n\n private display$$: Subscription;\n\n isObservable = isObservable;\n\n /**\n * Action\n */\n @Input() action: Action;\n\n /**\n * Color\n */\n @Input() color = 'default';\n\n /**\n * Whether the action title is displayed\n */\n @Input() withTitle = true;\n\n /**\n * Whether the action icon is displayed\n */\n @Input() withIcon = true;\n\n /**\n * Whether a tooltip should be shown\n */\n @Input() withTooltip = true;\n\n /**\n * Whether the action is disabled\n */\n @Input()\n set disabled(value: boolean) {\n this.disabled$.next(value);\n }\n get disabled(): boolean {\n return this.disabled$.value;\n }\n\n /**\n * Whether the action is display or not\n */\n @Input()\n set noDisplay(value: boolean) {\n this.noDisplay$.next(value);\n }\n get noDisplay(): boolean {\n return this.noDisplay$.value;\n }\n\n /**\n * Event emitted when the action button is clicked\n */\n @Output() trigger = new EventEmitter<Action>();\n\n /**\n * @internal\n */\n get title(): string {\n return this.action.title;\n }\n\n ngOnInit() {\n const args = this.action.args || [];\n\n if (this.action.ngClass !== undefined) {\n this.ngClass$$ = this.action\n .ngClass(...args)\n .subscribe((ngClass: Record<string, boolean>) =>\n this.updateNgClass(ngClass)\n );\n }\n\n if (isObservable(this.action.checkCondition)) {\n this.checkCondition$$ = this.action.checkCondition.subscribe(\n (checkCondition: boolean) => this.updateCheckCondition(checkCondition)\n );\n } else {\n this.updateCheckCondition(this.action.checkCondition);\n }\n\n if (isObservable(this.action.tooltip)) {\n this.tooltip$$ = this.action.tooltip.subscribe((tooltip: string) =>\n this.updateTooltip(tooltip)\n );\n } else {\n this.updateTooltip(this.action.tooltip);\n }\n\n if (this.action.availability !== undefined) {\n this.availability$$ = this.action\n .availability(...args)\n .subscribe((available: boolean) => (this.disabled = !available));\n }\n\n this.disabled$$ = this.disabled$.subscribe((disabled: boolean) =>\n this.updateNgClass({ 'igo-actionbar-item-disabled': disabled })\n );\n\n if (this.action.display !== undefined) {\n this.display$$ = this.action\n .display(...args)\n .subscribe((display: boolean) => (this.noDisplay = !display));\n }\n\n this.noDisplay$$ = this.noDisplay$.subscribe((noDisplay: boolean) =>\n this.updateNgClass({ 'igo-actionbar-item-no-display': noDisplay })\n );\n }\n\n ngOnDestroy() {\n if (this.ngClass$$ !== undefined) {\n this.ngClass$$.unsubscribe();\n this.ngClass$$ = undefined;\n }\n\n if (this.availability$$ !== undefined) {\n this.availability$$.unsubscribe();\n this.availability$$ = undefined;\n }\n\n if (this.display$$ !== undefined) {\n this.display$$.unsubscribe();\n this.display$$ = undefined;\n }\n\n if (this.checkCondition$$ !== undefined) {\n this.checkCondition$$.unsubscribe();\n this.checkCondition$$ = undefined;\n }\n\n if (this.tooltip$$ !== undefined) {\n this.tooltip$$.unsubscribe();\n this.tooltip$$ = undefined;\n }\n\n this.disabled$$.unsubscribe();\n this.noDisplay$$.unsubscribe();\n }\n\n /**\n * When the action button is clicked, emit the 'trigger' event but don't\n * invoke the action handler. This is handled by the parent component.\n * @internal\n */\n onClick() {\n if (this.disabled === true) {\n return;\n }\n this.trigger.emit(this.action);\n }\n\n private updateNgClass(ngClass: Record<string, boolean>) {\n this.ngClass$.next(Object.assign({}, this.ngClass$.value, ngClass));\n }\n\n private updateTooltip(tooltip: string) {\n this.tooltip$.next(tooltip);\n }\n\n private updateCheckCondition(checkCondition: boolean) {\n this.checkCondition$.next(checkCondition);\n }\n}\n","<mat-list-item\n *ngIf=\"!action.checkbox\"\n class=\"actionbar-item\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n (click)=\"onClick()\"\n>\n <button\n *ngIf=\"withIcon\"\n matListItemAvatar\n mat-icon-button\n [color]=\"color\"\n [disabled]=\"disabled$ | async\"\n [disableRipple]=\"true\"\n >\n <igo-icon\n [icon]=\"isObservable(action.icon) ? (action.icon | async) : action.icon\"\n ></igo-icon>\n </button>\n <span *ngIf=\"withTitle\" matLine>{{ title | translate }}</span>\n</mat-list-item>\n\n<mat-list-item\n class=\"item-checkbox\"\n *ngIf=\"action.checkbox\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n>\n <mat-checkbox\n *ngIf=\"withTitle\"\n (change)=\"action.handler()\"\n [checked]=\"checkCondition$ | async\"\n >\n {{ title | translate }}\n </mat-checkbox>\n</mat-list-item>\n","import { Overlay } from '@angular/cdk/overlay';\nimport { AsyncPipe, NgFor, NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n SimpleChanges\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport {\n MatMenuModule,\n MenuPositionX,\n MenuPositionY\n} from '@angular/material/menu';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { EntityStoreWatcher } from '@igo2/common/entity';\nimport { IgoLanguageModule } from '@igo2/core/language';\nimport { Media, MediaService } from '@igo2/core/media';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { ActionbarMode } from '../shared/action.enums';\nimport { Action } from '../shared/action.interfaces';\nimport { ActionStore } from '../shared/store';\nimport { ActionbarItemComponent } from './actionbar-item.component';\n\n/**\n * A list of action buttons.\n * This component can be displayed in one of two way: 'dock' or 'overlay'\n */\n@Component({\n selector: 'igo-actionbar',\n templateUrl: './actionbar.component.html',\n styleUrls: ['./actionbar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n MatButtonModule,\n MatTooltipModule,\n MatIconModule,\n MatListModule,\n ActionbarItemComponent,\n NgFor,\n MatMenuModule,\n MatCardModule,\n AsyncPipe,\n IgoLanguageModule\n ]\n})\nexport class ActionbarComponent implements OnDestroy, OnChanges {\n /**\n * Reference to the ActionbarMode enum for use in the template\n * @internal\n */\n actionbarMode = ActionbarMode;\n\n /**\n * Whether the actionbar is collapsed (Dock mode)\n * @internal\n */\n collapsed = false;\n\n /**\n * Toggle collapse action (Dock)\n * @internal\n */\n toggleCollapseAction = {\n id: 'actionbar_toggle',\n icon: 'more_vert',\n handler: () => {\n this.collapsed = !this.collapsed;\n }\n };\n\n /**\n * Action store watcher\n * @internal\n */\n private watcher: EntityStoreWatcher<Action>;\n\n /**\n * Height Condition for scroll button\n */\n heightCondition$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(\n false\n );\n\n /**\n * Position Condition for top scroll button\n */\n positionConditionTop$: BehaviorSubject<boolean> =\n new BehaviorSubject<boolean>(true);\n\n /**\n * Position Condition for low scroll button\n */\n positionConditionLow$: BehaviorSubject<boolean> =\n new BehaviorSubject<boolean>(true);\n\n /**\n * Action store\n */\n @Input() store: ActionStore;\n\n /**\n * Actionbar mode\n */\n @Input() mode: ActionbarMode = ActionbarMode.Dock;\n\n /**\n * Whether a toggle button should be displayed (Dock mode)\n */\n @Input() withToggleButton = false;\n\n /**\n * Whether a the actionbar should display buttons horizontally\n */\n @Input() horizontal = false;\n\n /**\n * Color\n */\n @Input() color = 'default';\n\n /**\n * Color of the button if action mode === overlay\n */\n @Input() iconColor = 'default';\n\n /**\n * Whether action titles are displayed\n */\n @Input() withTitle = true;\n\n /**\n * Whether action tooltips are displayed\n */\n @Input() withTooltip = true;\n\n /**\n * Whether action titles are displayed (condition for scroll button)\n */\n @Input() scrollActive = true;\n\n /**\n * Whether action icons are displayed\n */\n @Input() withIcon = true;\n\n /**\n * Which icon want to be shown\n */\n @Input() icon = 'more_horiz';\n\n /**\n * Overlay X position\n */\n @Input() xPosition: MenuPositionX = 'before';\n\n /**\n * Overlay Y position\n */\n @Input() yPosition: MenuPositionY = 'above';\n\n /**\n * Class to add to the actionbar overlay\n */\n @Input()\n set overlayClass(value: string) {\n this._overlayClass = value;\n }\n get overlayClass(): string {\n return [this._overlayClass, 'igo-actionbar-overlay'].join(' ');\n }\n private _overlayClass = '';\n\n @HostBinding('class.is-collapsed') isCollapsed = this.collapsed;\n\n /**\n * @ignore\n */\n @HostBinding('class.with-title')\n get withTitleClass() {\n return this.withTitle;\n }\n\n /**\n * @ignore\n */\n @HostBinding('class.with-icon')\n get withIconClass() {\n return this.withIcon;\n }\n\n /**\n * @ignore\n */\n @HostBinding('class.horizontal')\n get horizontalClass() {\n return this.horizontal;\n }\n\n get heightCondition(): boolean {\n const el = this.elRef.nativeElement;\n if (this.scrollActive === false) {\n if (el.clientHeight < el.scrollHeight) {\n return true;\n }\n }\n return false;\n }\n\n get positionConditionTop(): boolean {\n if (this.elRef.nativeElement.scrollTop === 0) {\n return false;\n }\n return true;\n }\n\n get positionConditionLow(): boolean {\n const el = this.elRef.nativeElement;\n if (el.scrollTop >= el.scrollHeight - el.clientHeight) {\n return false;\n }\n return true;\n }\n\n get isDesktop(): boolean {\n return this.mediaService.getMedia() === Media.Desktop;\n }\n\n constructor(\n public overlay: Overlay,\n private elRef: ElementRef,\n private cdRef: ChangeDetectorRef,\n public mediaService: MediaService\n ) {}\n\n /**\n * @internal\n */\n ngOnChanges(changes: SimpleChanges) {\n const store = changes.store;\n if (store && store.currentValue !== store.previousValue) {\n if (this.watcher !== undefined) {\n this.watcher.destroy();\n }\n this.watcher = new EntityStoreWatcher(this.store, this.cdRef);\n }\n }\n\n /**\n * @internal\n */\n ngOnDestroy() {\n this.watcher.destroy();\n }\n\n /**\n * Invoke the action handler\n * @internal\n */\n onTriggerAction(action: Action) {\n const args = action.args || [];\n action.handler(...args);\n }\n\n scrollDown() {\n this.elRef.nativeElement.scrollBy(0, 52);\n }\n\n scrollUp() {\n this.elRef.nativeElement.scrollBy(0, -52);\n }\n}\n","<div\n *ngIf=\"heightCondition && positionConditionTop && isDesktop\"\n id=\"topChevron\"\n>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollUp' | translate\"\n (click)=\"scrollUp()\"\n >\n <mat-icon>expand_less</mat-icon>\n </button>\n</div>\n<mat-list *ngIf=\"mode === actionbarMode.Dock\" matListItemIcon>\n <igo-actionbar-item\n *ngIf=\"withToggleButton\"\n color=\"accent\"\n [withTitle]=\"false\"\n [withIcon]=\"true\"\n [color]=\"color\"\n [disabled]=\"store.view.empty\"\n [action]=\"toggleCollapseAction\"\n (trigger)=\"onTriggerAction(toggleCollapseAction)\"\n >\n </igo-actionbar-item>\n\n <ng-template\n #buttonContent\n *ngIf=\"!collapsed\"\n ngFor\n let-action\n [ngForOf]=\"store.view.all$() | async\"\n >\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [withTooltip]=\"withTooltip\"\n [color]=\"color\"\n [disabled]=\"store.state.get(action).disabled\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n </ng-template>\n</mat-list>\n\n<div\n *ngIf=\"heightCondition && positionConditionLow && isDesktop\"\n id=\"lowChevron\"\n>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollDown' | translate\"\n (click)=\"scrollDown()\"\n >\n <mat-icon>expand_more</mat-icon>\n </button>\n</div>\n\n<div *ngIf=\"mode === actionbarMode.Overlay\">\n <button\n class=\"buttonOverlay\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.icon' | translate\"\n [matMenuTriggerFor]=\"actionbarMenu\"\n [disabled]=\"store.view.empty\"\n [color]=\"iconColor\"\n >\n <mat-icon>{{ icon }}</mat-icon>\n </button>\n\n <mat-menu\n #actionbarMenu=\"matMenu\"\n class=\"igo-compact-menu igo-no-min-width-menu\"\n overlapTrigger=\"true\"\n [xPosition]=\"xPosition\"\n [yPosition]=\"yPosition\"\n [class]=\"overlayClass\"\n >\n <mat-list>\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [color]=\"color\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n </ng-template>\n </mat-list>\n </mat-menu>\n</div>\n<mat-card\n *ngIf=\"mode === actionbarMode.Context\"\n class=\"context-menu-card mat-elevation-z4\"\n>\n <mat-list>\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [color]=\"color\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n <br />\n </ng-template>\n </mat-list>\n</mat-card>\n","import { NgModule } from '@angular/core';\n\nimport { ActionbarComponent } from './actionbar/actionbar.component';\n\n/**\n * @deprecated import the ActionbarComponent directly\n */\n@NgModule({\n imports: [ActionbarComponent],\n exports: [ActionbarComponent]\n})\nexport class IgoActionModule {}\n","import { NgModule } from '@angular/core';\n\nimport { ActionbarComponent } from './actionbar.component';\n\n/**\n * @deprecated import the ActionbarComponent directly\n */\n@NgModule({\n imports: [ActionbarComponent],\n exports: [ActionbarComponent]\n})\nexport class IgoActionbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i4","i5","i6","i9"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"igo2-common-action.mjs","sources":["../../../packages/common/action/src/shared/action.enums.ts","../../../packages/common/action/src/shared/store.ts","../../../packages/common/action/src/actionbar/actionbar-item.component.ts","../../../packages/common/action/src/actionbar/actionbar-item.component.html","../../../packages/common/action/src/actionbar/actionbar.component.ts","../../../packages/common/action/src/actionbar/actionbar.component.html","../../../packages/common/action/src/action.module.ts","../../../packages/common/action/src/actionbar/actionbar.module.ts","../../../packages/common/action/src/igo2-common-action.ts"],"sourcesContent":["export enum ActionbarMode {\n Dock = 'dock',\n Overlay = 'overlay',\n Context = 'context'\n}\n","import { EntityStore } from '@igo2/common/entity';\n\nimport { Action } from './action.interfaces';\n\n/**\n * The class is a specialized version of an EntityStore that stores\n * actions.\n */\nexport class ActionStore extends EntityStore<Action> {}\n","import { AsyncPipe, NgClass, NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { IgoIconComponent } from '@igo2/common/icon';\nimport { IgoLanguageModule } from '@igo2/core/language';\n\nimport { BehaviorSubject, Subscription, isObservable } from 'rxjs';\n\nimport { Action } from '../shared/action.interfaces';\n\n/**\n * An action button\n */\n@Component({\n selector: 'igo-actionbar-item',\n templateUrl: './actionbar-item.component.html',\n styleUrls: ['./actionbar-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n MatListModule,\n MatTooltipModule,\n NgClass,\n MatButtonModule,\n MatIconModule,\n MatCheckboxModule,\n AsyncPipe,\n IgoLanguageModule,\n IgoIconComponent\n ]\n})\nexport class ActionbarItemComponent implements OnInit, OnDestroy {\n readonly disabled$ = new BehaviorSubject<boolean>(false);\n\n readonly checkCondition$ = new BehaviorSubject<boolean>(undefined);\n\n readonly tooltip$ = new BehaviorSubject<string>(undefined);\n\n readonly noDisplay$ = new BehaviorSubject<boolean>(false);\n\n readonly ngClass$ = new BehaviorSubject<Record<string, boolean>>({});\n\n private ngClass$$: Subscription;\n\n private disabled$$: Subscription;\n\n private availability$$: Subscription;\n\n private checkCondition$$: Subscription;\n\n private tooltip$$: Subscription;\n\n private noDisplay$$: Subscription;\n\n private display$$: Subscription;\n\n isObservable = isObservable;\n\n /**\n * Action\n */\n @Input() action: Action;\n\n /**\n * Color\n */\n @Input() color = 'default';\n\n /**\n * Whether the action title is displayed\n */\n @Input() withTitle = true;\n\n /**\n * Whether the action icon is displayed\n */\n @Input() withIcon = true;\n\n /**\n * Whether a tooltip should be shown\n */\n @Input() withTooltip = true;\n\n /**\n * Whether the action is disabled\n */\n @Input()\n set disabled(value: boolean) {\n this.disabled$.next(value);\n }\n get disabled(): boolean {\n return this.disabled$.value;\n }\n\n /**\n * Whether the action is display or not\n */\n @Input()\n set noDisplay(value: boolean) {\n this.noDisplay$.next(value);\n }\n get noDisplay(): boolean {\n return this.noDisplay$.value;\n }\n\n /**\n * Event emitted when the action button is clicked\n */\n @Output() trigger = new EventEmitter<Action>();\n\n /**\n * @internal\n */\n get title(): string {\n return this.action.title;\n }\n\n ngOnInit() {\n const args = this.action.args || [];\n\n if (this.action.ngClass !== undefined) {\n this.ngClass$$ = this.action\n .ngClass(...args)\n .subscribe((ngClass: Record<string, boolean>) =>\n this.updateNgClass(ngClass)\n );\n }\n\n if (isObservable(this.action.checkCondition)) {\n this.checkCondition$$ = this.action.checkCondition.subscribe(\n (checkCondition: boolean) => this.updateCheckCondition(checkCondition)\n );\n } else {\n this.updateCheckCondition(this.action.checkCondition);\n }\n\n if (isObservable(this.action.tooltip)) {\n this.tooltip$$ = this.action.tooltip.subscribe((tooltip: string) =>\n this.updateTooltip(tooltip)\n );\n } else {\n this.updateTooltip(this.action.tooltip);\n }\n\n if (this.action.availability !== undefined) {\n this.availability$$ = this.action\n .availability(...args)\n .subscribe((available: boolean) => (this.disabled = !available));\n }\n\n this.disabled$$ = this.disabled$.subscribe((disabled: boolean) =>\n this.updateNgClass({ 'igo-actionbar-item-disabled': disabled })\n );\n\n if (this.action.display !== undefined) {\n this.display$$ = this.action\n .display(...args)\n .subscribe((display: boolean) => (this.noDisplay = !display));\n }\n\n this.noDisplay$$ = this.noDisplay$.subscribe((noDisplay: boolean) =>\n this.updateNgClass({ 'igo-actionbar-item-no-display': noDisplay })\n );\n }\n\n ngOnDestroy() {\n if (this.ngClass$$ !== undefined) {\n this.ngClass$$.unsubscribe();\n this.ngClass$$ = undefined;\n }\n\n if (this.availability$$ !== undefined) {\n this.availability$$.unsubscribe();\n this.availability$$ = undefined;\n }\n\n if (this.display$$ !== undefined) {\n this.display$$.unsubscribe();\n this.display$$ = undefined;\n }\n\n if (this.checkCondition$$ !== undefined) {\n this.checkCondition$$.unsubscribe();\n this.checkCondition$$ = undefined;\n }\n\n if (this.tooltip$$ !== undefined) {\n this.tooltip$$.unsubscribe();\n this.tooltip$$ = undefined;\n }\n\n this.disabled$$.unsubscribe();\n this.noDisplay$$.unsubscribe();\n }\n\n /**\n * When the action button is clicked, emit the 'trigger' event but don't\n * invoke the action handler. This is handled by the parent component.\n * @internal\n */\n onClick() {\n if (this.disabled === true) {\n return;\n }\n this.trigger.emit(this.action);\n }\n\n private updateNgClass(ngClass: Record<string, boolean>) {\n this.ngClass$.next(Object.assign({}, this.ngClass$.value, ngClass));\n }\n\n private updateTooltip(tooltip: string) {\n this.tooltip$.next(tooltip);\n }\n\n private updateCheckCondition(checkCondition: boolean) {\n this.checkCondition$.next(checkCondition);\n }\n}\n","<mat-list-item\n *ngIf=\"!action.checkbox\"\n class=\"actionbar-item\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n (click)=\"onClick()\"\n>\n <button\n *ngIf=\"withIcon\"\n matListItemAvatar\n mat-icon-button\n [color]=\"color\"\n [disabled]=\"disabled$ | async\"\n [disableRipple]=\"true\"\n >\n <igo-icon\n [icon]=\"isObservable(action.icon) ? (action.icon | async) : action.icon\"\n ></igo-icon>\n </button>\n <span *ngIf=\"withTitle\" matLine>{{ title | translate }}</span>\n</mat-list-item>\n\n<mat-list-item\n class=\"item-checkbox\"\n *ngIf=\"action.checkbox\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n>\n <mat-checkbox\n *ngIf=\"withTitle\"\n (change)=\"action.handler()\"\n [checked]=\"checkCondition$ | async\"\n >\n {{ title | translate }}\n </mat-checkbox>\n</mat-list-item>\n","import { Overlay } from '@angular/cdk/overlay';\nimport { AsyncPipe, NgFor, NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n SimpleChanges\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport {\n MatMenuModule,\n MenuPositionX,\n MenuPositionY\n} from '@angular/material/menu';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { EntityStoreWatcher } from '@igo2/common/entity';\nimport { IgoLanguageModule } from '@igo2/core/language';\nimport { Media, MediaService } from '@igo2/core/media';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { ActionbarMode } from '../shared/action.enums';\nimport { Action } from '../shared/action.interfaces';\nimport { ActionStore } from '../shared/store';\nimport { ActionbarItemComponent } from './actionbar-item.component';\n\n/**\n * A list of action buttons.\n * This component can be displayed in one of two way: 'dock' or 'overlay'\n */\n@Component({\n selector: 'igo-actionbar',\n templateUrl: './actionbar.component.html',\n styleUrls: ['./actionbar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n MatButtonModule,\n MatTooltipModule,\n MatIconModule,\n MatListModule,\n ActionbarItemComponent,\n NgFor,\n MatMenuModule,\n MatCardModule,\n AsyncPipe,\n IgoLanguageModule\n ]\n})\nexport class ActionbarComponent implements OnDestroy, OnChanges {\n /**\n * Reference to the ActionbarMode enum for use in the template\n * @internal\n */\n actionbarMode = ActionbarMode;\n\n /**\n * Whether the actionbar is collapsed (Dock mode)\n * @internal\n */\n collapsed = false;\n\n /**\n * Toggle collapse action (Dock)\n * @internal\n */\n toggleCollapseAction = {\n id: 'actionbar_toggle',\n icon: 'more_vert',\n handler: () => {\n this.collapsed = !this.collapsed;\n }\n };\n\n /**\n * Action store watcher\n * @internal\n */\n private watcher: EntityStoreWatcher<Action>;\n\n /**\n * Height Condition for scroll button\n */\n heightCondition$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(\n false\n );\n\n /**\n * Position Condition for top scroll button\n */\n positionConditionTop$: BehaviorSubject<boolean> =\n new BehaviorSubject<boolean>(true);\n\n /**\n * Position Condition for low scroll button\n */\n positionConditionLow$: BehaviorSubject<boolean> =\n new BehaviorSubject<boolean>(true);\n\n /**\n * Action store\n */\n @Input() store: ActionStore;\n\n /**\n * Actionbar mode\n */\n @Input() mode: ActionbarMode = ActionbarMode.Dock;\n\n /**\n * Whether a toggle button should be displayed (Dock mode)\n */\n @Input() withToggleButton = false;\n\n /**\n * Whether a the actionbar should display buttons horizontally\n */\n @Input() horizontal = false;\n\n /**\n * Color\n */\n @Input() color = 'default';\n\n /**\n * Color of the button if action mode === overlay\n */\n @Input() iconColor = 'default';\n\n /**\n * Whether action titles are displayed\n */\n @Input() withTitle = true;\n\n /**\n * Whether action tooltips are displayed\n */\n @Input() withTooltip = true;\n\n /**\n * Whether action titles are displayed (condition for scroll button)\n */\n @Input() scrollActive = true;\n\n /**\n * Whether action icons are displayed\n */\n @Input() withIcon = true;\n\n /**\n * Which icon want to be shown\n */\n @Input() icon = 'more_horiz';\n\n /**\n * Overlay X position\n */\n @Input() xPosition: MenuPositionX = 'before';\n\n /**\n * Overlay Y position\n */\n @Input() yPosition: MenuPositionY = 'above';\n\n /**\n * Class to add to the actionbar overlay\n */\n @Input()\n set overlayClass(value: string) {\n this._overlayClass = value;\n }\n get overlayClass(): string {\n return [this._overlayClass, 'igo-actionbar-overlay'].join(' ');\n }\n private _overlayClass = '';\n\n @HostBinding('class.is-collapsed') isCollapsed = this.collapsed;\n\n /**\n * @ignore\n */\n @HostBinding('class.with-title')\n get withTitleClass() {\n return this.withTitle;\n }\n\n /**\n * @ignore\n */\n @HostBinding('class.with-icon')\n get withIconClass() {\n return this.withIcon;\n }\n\n /**\n * @ignore\n */\n @HostBinding('class.horizontal')\n get horizontalClass() {\n return this.horizontal;\n }\n\n get heightCondition(): boolean {\n const el = this.elRef.nativeElement;\n if (this.scrollActive === false) {\n if (el.clientHeight < el.scrollHeight) {\n return true;\n }\n }\n return false;\n }\n\n get positionConditionTop(): boolean {\n if (this.elRef.nativeElement.scrollTop === 0) {\n return false;\n }\n return true;\n }\n\n get positionConditionLow(): boolean {\n const el = this.elRef.nativeElement;\n if (el.scrollTop >= el.scrollHeight - el.clientHeight) {\n return false;\n }\n return true;\n }\n\n get isDesktop(): boolean {\n return this.mediaService.getMedia() === Media.Desktop;\n }\n\n constructor(\n public overlay: Overlay,\n private elRef: ElementRef,\n private cdRef: ChangeDetectorRef,\n public mediaService: MediaService\n ) {}\n\n /**\n * @internal\n */\n ngOnChanges(changes: SimpleChanges) {\n const store = changes.store;\n if (store && store.currentValue !== store.previousValue) {\n if (this.watcher !== undefined) {\n this.watcher.destroy();\n }\n this.watcher = new EntityStoreWatcher(this.store, this.cdRef);\n }\n }\n\n /**\n * @internal\n */\n ngOnDestroy() {\n this.watcher.destroy();\n }\n\n /**\n * Invoke the action handler\n * @internal\n */\n onTriggerAction(action: Action) {\n const args = action.args || [];\n action.handler(...args);\n }\n\n scrollDown() {\n this.elRef.nativeElement.scrollBy(0, 52);\n }\n\n scrollUp() {\n this.elRef.nativeElement.scrollBy(0, -52);\n }\n}\n","<div\n *ngIf=\"heightCondition && positionConditionTop && isDesktop\"\n id=\"topChevron\"\n>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollUp' | translate\"\n (click)=\"scrollUp()\"\n >\n <mat-icon>expand_less</mat-icon>\n </button>\n</div>\n<mat-list *ngIf=\"mode === actionbarMode.Dock\" matListItemIcon>\n <igo-actionbar-item\n *ngIf=\"withToggleButton\"\n color=\"accent\"\n [withTitle]=\"false\"\n [withIcon]=\"true\"\n [color]=\"color\"\n [disabled]=\"store.view.empty\"\n [action]=\"toggleCollapseAction\"\n (trigger)=\"onTriggerAction(toggleCollapseAction)\"\n >\n </igo-actionbar-item>\n\n <ng-template\n #buttonContent\n *ngIf=\"!collapsed\"\n ngFor\n let-action\n [ngForOf]=\"store.view.all$() | async\"\n >\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [withTooltip]=\"withTooltip\"\n [color]=\"color\"\n [disabled]=\"store.state.get(action).disabled\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n </ng-template>\n</mat-list>\n\n<div\n *ngIf=\"heightCondition && positionConditionLow && isDesktop\"\n id=\"lowChevron\"\n>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollDown' | translate\"\n (click)=\"scrollDown()\"\n >\n <mat-icon>expand_more</mat-icon>\n </button>\n</div>\n\n<div *ngIf=\"mode === actionbarMode.Overlay\">\n <button\n class=\"buttonOverlay\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.icon' | translate\"\n [matMenuTriggerFor]=\"actionbarMenu\"\n [disabled]=\"store.view.empty\"\n [color]=\"iconColor\"\n >\n <mat-icon>{{ icon }}</mat-icon>\n </button>\n\n <mat-menu\n #actionbarMenu=\"matMenu\"\n class=\"igo-compact-menu igo-no-min-width-menu\"\n overlapTrigger=\"true\"\n [xPosition]=\"xPosition\"\n [yPosition]=\"yPosition\"\n [class]=\"overlayClass\"\n >\n <mat-list>\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [color]=\"color\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n </ng-template>\n </mat-list>\n </mat-menu>\n</div>\n<mat-card\n *ngIf=\"mode === actionbarMode.Context\"\n class=\"context-menu-card mat-elevation-z4\"\n>\n <mat-list>\n <ng-template ngFor let-action [ngForOf]=\"store.view.all$() | async\">\n <igo-actionbar-item\n color=\"accent\"\n [withTitle]=\"withTitle\"\n [withIcon]=\"withIcon\"\n [color]=\"color\"\n [action]=\"action\"\n (trigger)=\"onTriggerAction(action)\"\n >\n </igo-actionbar-item>\n <br />\n </ng-template>\n </mat-list>\n</mat-card>\n","import { NgModule } from '@angular/core';\n\nimport { ActionbarComponent } from './actionbar/actionbar.component';\n\n/**\n * @deprecated import the ActionbarComponent directly\n */\n@NgModule({\n imports: [ActionbarComponent],\n exports: [ActionbarComponent]\n})\nexport class IgoActionModule {}\n","import { NgModule } from '@angular/core';\n\nimport { ActionbarComponent } from './actionbar.component';\n\n/**\n * @deprecated import the ActionbarComponent directly\n */\n@NgModule({\n imports: [ActionbarComponent],\n exports: [ActionbarComponent]\n})\nexport class IgoActionbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i4","i5","i6","i9"],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ class ConfirmDialogComponent {
|
|
|
17
17
|
this.dialogRef = dialogRef;
|
|
18
18
|
}
|
|
19
19
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ConfirmDialogComponent, deps: [{ token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: ConfirmDialogComponent, isStandalone: true, selector: "igo-confirm-dialog", ngImport: i0, template: "<h2 mat-dialog-title
|
|
20
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: ConfirmDialogComponent, isStandalone: true, selector: "igo-confirm-dialog", ngImport: i0, template: "<h2 mat-dialog-title>\n {{ titleKey | translate }}\n</h2>\n<div mat-dialog-content>\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
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
|
|
23
23
|
type: Component,
|
|
@@ -27,7 +27,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
27
27
|
MatDialogActions,
|
|
28
28
|
MatButtonModule,
|
|
29
29
|
IgoLanguageModule
|
|
30
|
-
], template: "<h2 mat-dialog-title
|
|
30
|
+
], template: "<h2 mat-dialog-title>\n {{ titleKey | translate }}\n</h2>\n<div mat-dialog-content>\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"] }]
|
|
31
31
|
}], ctorParameters: () => [{ type: i1.MatDialogRef }] });
|
|
32
32
|
|
|
33
33
|
class ConfirmDialogService {
|
|
@@ -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 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
|
|
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 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>\n {{ titleKey | translate }}\n</h2>\n<div mat-dialog-content>\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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"}
|
|
@@ -30,11 +30,11 @@ class CustomHtmlComponent {
|
|
|
30
30
|
}
|
|
31
31
|
_html = '';
|
|
32
32
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: CustomHtmlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", 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:
|
|
33
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", 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:16px}\n"], dependencies: [{ kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }] });
|
|
34
34
|
}
|
|
35
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: CustomHtmlComponent, decorators: [{
|
|
36
36
|
type: Component,
|
|
37
|
-
args: [{ selector: 'igo-custom-html', imports: [SanitizeHtmlPipe], template: "<div class=\"custom-html\" [innerHTML]=\"html | sanitizeHtml\"></div>\n", styles: [":host .custom-html{padding:
|
|
37
|
+
args: [{ selector: 'igo-custom-html', imports: [SanitizeHtmlPipe], template: "<div class=\"custom-html\" [innerHTML]=\"html | sanitizeHtml\"></div>\n", styles: [":host .custom-html{padding:16px}\n"] }]
|
|
38
38
|
}], propDecorators: { html: [{
|
|
39
39
|
type: Input
|
|
40
40
|
}] } });
|