@igo2/common 21.0.0-next.1 → 21.0.0-next.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/igo2-common-action.mjs +34 -49
- package/fesm2022/igo2-common-action.mjs.map +1 -1
- package/fesm2022/igo2-common-backdrop.mjs +5 -13
- package/fesm2022/igo2-common-backdrop.mjs.map +1 -1
- package/fesm2022/igo2-common-badge.mjs.map +1 -1
- package/fesm2022/igo2-common-collapsible.mjs +6 -14
- package/fesm2022/igo2-common-collapsible.mjs.map +1 -1
- package/fesm2022/igo2-common-color.mjs.map +1 -1
- package/fesm2022/igo2-common-confirm-dialog.mjs +2 -1
- package/fesm2022/igo2-common-confirm-dialog.mjs.map +1 -1
- package/fesm2022/igo2-common-context-menu.mjs +6 -4
- package/fesm2022/igo2-common-context-menu.mjs.map +1 -1
- package/fesm2022/igo2-common-datepicker.mjs +21 -15
- package/fesm2022/igo2-common-datepicker.mjs.map +1 -1
- package/fesm2022/igo2-common-dom.mjs +3 -1
- package/fesm2022/igo2-common-dom.mjs.map +1 -1
- package/fesm2022/igo2-common-drag-drop.mjs +59 -27
- package/fesm2022/igo2-common-drag-drop.mjs.map +1 -1
- package/fesm2022/igo2-common-dynamic-component.mjs +9 -3
- package/fesm2022/igo2-common-dynamic-component.mjs.map +1 -1
- package/fesm2022/igo2-common-entity.mjs +134 -99
- package/fesm2022/igo2-common-entity.mjs.map +1 -1
- package/fesm2022/igo2-common-flexible.mjs +19 -71
- package/fesm2022/igo2-common-flexible.mjs.map +1 -1
- package/fesm2022/igo2-common-form.mjs +46 -45
- package/fesm2022/igo2-common-form.mjs.map +1 -1
- package/fesm2022/igo2-common-icon.mjs +1 -1
- package/fesm2022/igo2-common-icon.mjs.map +1 -1
- package/fesm2022/igo2-common-image.mjs.map +1 -1
- package/fesm2022/igo2-common-interactive-tour.mjs +40 -17
- 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-keyvalue.mjs +3 -1
- package/fesm2022/igo2-common-keyvalue.mjs.map +1 -1
- package/fesm2022/igo2-common-list.mjs +11 -6
- package/fesm2022/igo2-common-list.mjs.map +1 -1
- package/fesm2022/igo2-common-panel.mjs +1 -1
- package/fesm2022/igo2-common-panel.mjs.map +1 -1
- package/fesm2022/igo2-common-resizable-bar.mjs +2 -4
- package/fesm2022/igo2-common-resizable-bar.mjs.map +1 -1
- package/fesm2022/igo2-common-select-value-dialog.mjs +14 -4
- package/fesm2022/igo2-common-select-value-dialog.mjs.map +1 -1
- package/fesm2022/igo2-common-sidenav.mjs.map +1 -1
- package/fesm2022/igo2-common-spinner.mjs +1 -1
- package/fesm2022/igo2-common-spinner.mjs.map +1 -1
- package/fesm2022/igo2-common-table.mjs +53 -60
- package/fesm2022/igo2-common-table.mjs.map +1 -1
- package/fesm2022/igo2-common-timepicker.mjs +8 -9
- package/fesm2022/igo2-common-timepicker.mjs.map +1 -1
- package/fesm2022/igo2-common-tool.mjs +19 -16
- package/fesm2022/igo2-common-tool.mjs.map +1 -1
- package/fesm2022/igo2-common-widget.mjs +4 -4
- package/fesm2022/igo2-common-widget.mjs.map +1 -1
- package/fesm2022/igo2-common-workspace.mjs +12 -16
- package/fesm2022/igo2-common-workspace.mjs.map +1 -1
- package/package.json +3 -3
- package/types/igo2-common-action.d.ts +2 -5
- package/types/igo2-common-backdrop.d.ts +2 -4
- package/types/igo2-common-badge.d.ts +4 -4
- package/types/igo2-common-collapsible.d.ts +2 -4
- package/types/igo2-common-confirm-dialog.d.ts +1 -1
- package/types/igo2-common-context-menu.d.ts +2 -2
- package/types/igo2-common-datepicker.d.ts +9 -9
- package/types/igo2-common-drag-drop.d.ts +14 -12
- package/types/igo2-common-dynamic-component.d.ts +3 -3
- package/types/igo2-common-entity.d.ts +61 -57
- package/types/igo2-common-flexible.d.ts +14 -28
- package/types/igo2-common-form.d.ts +24 -24
- package/types/igo2-common-icon.d.ts +1 -1
- package/types/igo2-common-interactive-tour.d.ts +6 -6
- package/types/igo2-common-json-dialog.d.ts +4 -4
- package/types/igo2-common-keyvalue.d.ts +4 -1
- package/types/igo2-common-list.d.ts +7 -7
- package/types/igo2-common-panel.d.ts +1 -1
- package/types/igo2-common-resizable-bar.d.ts +4 -5
- package/types/igo2-common-select-value-dialog.d.ts +2 -2
- package/types/igo2-common-sidenav.d.ts +2 -2
- package/types/igo2-common-spinner.d.ts +1 -1
- package/types/igo2-common-table.d.ts +17 -18
- package/types/igo2-common-timepicker.d.ts +3 -3
- package/types/igo2-common-tool.d.ts +7 -8
- package/types/igo2-common-widget.d.ts +7 -7
- package/types/igo2-common-workspace.d.ts +12 -12
|
@@ -42,7 +42,7 @@ class ActionStore extends EntityStore {
|
|
|
42
42
|
*/
|
|
43
43
|
class ActionbarItemComponent {
|
|
44
44
|
disabled$ = new BehaviorSubject(false);
|
|
45
|
-
checkCondition$ = new BehaviorSubject(
|
|
45
|
+
checkCondition$ = new BehaviorSubject(false);
|
|
46
46
|
tooltip$ = new BehaviorSubject(undefined);
|
|
47
47
|
noDisplay$ = new BehaviorSubject(false);
|
|
48
48
|
ngClass$ = new BehaviorSubject({});
|
|
@@ -57,7 +57,7 @@ class ActionbarItemComponent {
|
|
|
57
57
|
/**
|
|
58
58
|
* Action
|
|
59
59
|
*/
|
|
60
|
-
action = input(
|
|
60
|
+
action = input.required(...(ngDevMode ? [{ debugName: "action" }] : /* istanbul ignore next */ []));
|
|
61
61
|
/**
|
|
62
62
|
* Color
|
|
63
63
|
*/
|
|
@@ -100,64 +100,49 @@ class ActionbarItemComponent {
|
|
|
100
100
|
* @internal
|
|
101
101
|
*/
|
|
102
102
|
get title() {
|
|
103
|
-
return this.action()
|
|
103
|
+
return this.action()?.title;
|
|
104
104
|
}
|
|
105
105
|
ngOnInit() {
|
|
106
|
-
const args = this.action().args || [];
|
|
107
106
|
const action = this.action();
|
|
108
|
-
|
|
107
|
+
const args = action?.args || [];
|
|
108
|
+
if (action?.ngClass !== undefined) {
|
|
109
109
|
this.ngClass$$ = action
|
|
110
110
|
.ngClass(...args)
|
|
111
111
|
.subscribe((ngClass) => this.updateNgClass(ngClass));
|
|
112
112
|
}
|
|
113
|
-
if (isObservable(action
|
|
114
|
-
this.checkCondition$$ = action
|
|
113
|
+
if (isObservable(action?.checkCondition)) {
|
|
114
|
+
this.checkCondition$$ = action?.checkCondition.subscribe((checkCondition) => this.updateCheckCondition(checkCondition));
|
|
115
115
|
}
|
|
116
116
|
else {
|
|
117
|
-
this.updateCheckCondition(action
|
|
117
|
+
this.updateCheckCondition(action?.checkCondition);
|
|
118
118
|
}
|
|
119
|
-
if (isObservable(action
|
|
120
|
-
this.tooltip$$ = action
|
|
119
|
+
if (isObservable(action?.tooltip)) {
|
|
120
|
+
this.tooltip$$ = action?.tooltip.subscribe((tooltip) => this.updateTooltip(tooltip));
|
|
121
121
|
}
|
|
122
122
|
else {
|
|
123
|
-
this.updateTooltip(action
|
|
123
|
+
this.updateTooltip(action?.tooltip);
|
|
124
124
|
}
|
|
125
|
-
if (action
|
|
125
|
+
if (action?.availability !== undefined) {
|
|
126
126
|
this.availability$$ = action
|
|
127
|
-
|
|
127
|
+
?.availability(...args)
|
|
128
128
|
.subscribe((available) => (this.disabled = !available));
|
|
129
129
|
}
|
|
130
130
|
this.disabled$$ = this.disabled$.subscribe((disabled) => this.updateNgClass({ 'igo-actionbar-item-disabled': disabled }));
|
|
131
|
-
if (action
|
|
131
|
+
if (action?.display !== undefined) {
|
|
132
132
|
this.display$$ = action
|
|
133
|
-
|
|
133
|
+
?.display(...args)
|
|
134
134
|
.subscribe((display) => (this.noDisplay = !display));
|
|
135
135
|
}
|
|
136
136
|
this.noDisplay$$ = this.noDisplay$.subscribe((noDisplay) => this.updateNgClass({ 'igo-actionbar-item-no-display': noDisplay }));
|
|
137
137
|
}
|
|
138
138
|
ngOnDestroy() {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
}
|
|
147
|
-
if (this.display$$ !== undefined) {
|
|
148
|
-
this.display$$.unsubscribe();
|
|
149
|
-
this.display$$ = undefined;
|
|
150
|
-
}
|
|
151
|
-
if (this.checkCondition$$ !== undefined) {
|
|
152
|
-
this.checkCondition$$.unsubscribe();
|
|
153
|
-
this.checkCondition$$ = undefined;
|
|
154
|
-
}
|
|
155
|
-
if (this.tooltip$$ !== undefined) {
|
|
156
|
-
this.tooltip$$.unsubscribe();
|
|
157
|
-
this.tooltip$$ = undefined;
|
|
158
|
-
}
|
|
159
|
-
this.disabled$$.unsubscribe();
|
|
160
|
-
this.noDisplay$$.unsubscribe();
|
|
139
|
+
this.ngClass$$?.unsubscribe();
|
|
140
|
+
this.availability$$?.unsubscribe();
|
|
141
|
+
this.display$$?.unsubscribe();
|
|
142
|
+
this.checkCondition$$?.unsubscribe();
|
|
143
|
+
this.tooltip$$?.unsubscribe();
|
|
144
|
+
this.disabled$$?.unsubscribe();
|
|
145
|
+
this.noDisplay$$?.unsubscribe();
|
|
161
146
|
}
|
|
162
147
|
/**
|
|
163
148
|
* When the action button is clicked, emit the 'trigger' event but don't
|
|
@@ -177,10 +162,10 @@ class ActionbarItemComponent {
|
|
|
177
162
|
this.tooltip$.next(tooltip);
|
|
178
163
|
}
|
|
179
164
|
updateCheckCondition(checkCondition) {
|
|
180
|
-
this.checkCondition$.next(checkCondition);
|
|
165
|
+
this.checkCondition$.next(checkCondition ?? false);
|
|
181
166
|
}
|
|
182
167
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ActionbarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
183
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: ActionbarItemComponent, isStandalone: true, selector: "igo-actionbar-item", inputs: { action: { classPropertyName: "action", publicName: "action", isSignal: true, isRequired:
|
|
168
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: ActionbarItemComponent, isStandalone: true, selector: "igo-actionbar-item", inputs: { action: { classPropertyName: "action", publicName: "action", isSignal: true, isRequired: true, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, withTitle: { classPropertyName: "withTitle", publicName: "withTitle", isSignal: true, isRequired: false, transformFunction: null }, withIcon: { classPropertyName: "withIcon", publicName: "withIcon", isSignal: true, isRequired: false, transformFunction: null }, withTooltip: { classPropertyName: "withTooltip", publicName: "withTooltip", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, noDisplay: { classPropertyName: "noDisplay", publicName: "noDisplay", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { trigger: "trigger" }, ngImport: i0, template: "@if (!action().checkbox) {\n <mat-list-item\n class=\"actionbar-item\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n withTooltip() ? ((tooltip$ | async) || title | translate) : ''\n \"\n [ngClass]=\"ngClass$ | async\"\n (click)=\"onClick()\"\n >\n @if (withIcon()) {\n <button\n matListItemAvatar\n matIconButton\n [color]=\"color()\"\n [disabled]=\"disabled$ | async\"\n [disableRipple]=\"true\"\n >\n @let icon = action().icon!;\n <igo-icon [icon]=\"(isObservable(icon) ? (icon | async) : icon)!\" />\n </button>\n }\n @if (withTitle()) {\n <span matLine>{{ title | translate }}</span>\n }\n </mat-list-item>\n}\n\n@if (action().checkbox) {\n <mat-list-item\n class=\"item-checkbox\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n withTooltip() ? ((tooltip$ | async) || title | translate) : ''\n \"\n [ngClass]=\"ngClass$ | async\"\n >\n @if (withTitle()) {\n <mat-checkbox\n (change)=\"action().handler()\"\n [checked]=\"checkCondition$ | async\"\n >\n {{ title | translate }}\n </mat-checkbox>\n }\n </mat-list-item>\n}\n", styles: [":host ::ng-deep mat-list-item:hover{cursor:pointer}:host{--mat-list-list-item-leading-avatar-size: 48px}:host .mdc-icon-button{--mat-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: "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], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { 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: "ngmodule", type: IgoLanguageModule }, { kind: "component", type: IgoIconComponent, selector: "igo-icon", inputs: ["color", "icon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
184
169
|
}
|
|
185
170
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ActionbarItemComponent, decorators: [{
|
|
186
171
|
type: Component,
|
|
@@ -195,8 +180,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
195
180
|
IgoLanguageModule,
|
|
196
181
|
IgoIconComponent,
|
|
197
182
|
MatButtonModule
|
|
198
|
-
], template: "@if (!action().checkbox) {\n <mat-list-item\n class=\"actionbar-item\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n withTooltip() ? ((tooltip$ | async) || title | translate) : ''\n \"\n [ngClass]=\"ngClass$ | async\"\n (click)=\"onClick()\"\n >\n @if (withIcon()) {\n <button\n matListItemAvatar\n matIconButton\n [color]=\"color()\"\n [disabled]=\"disabled$ | async\"\n [disableRipple]=\"true\"\n >\n @let icon = action().icon
|
|
199
|
-
}], propDecorators: { action: [{ type: i0.Input, args: [{ isSignal: true, alias: "action", required:
|
|
183
|
+
], template: "@if (!action().checkbox) {\n <mat-list-item\n class=\"actionbar-item\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n withTooltip() ? ((tooltip$ | async) || title | translate) : ''\n \"\n [ngClass]=\"ngClass$ | async\"\n (click)=\"onClick()\"\n >\n @if (withIcon()) {\n <button\n matListItemAvatar\n matIconButton\n [color]=\"color()\"\n [disabled]=\"disabled$ | async\"\n [disableRipple]=\"true\"\n >\n @let icon = action().icon!;\n <igo-icon [icon]=\"(isObservable(icon) ? (icon | async) : icon)!\" />\n </button>\n }\n @if (withTitle()) {\n <span matLine>{{ title | translate }}</span>\n }\n </mat-list-item>\n}\n\n@if (action().checkbox) {\n <mat-list-item\n class=\"item-checkbox\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n withTooltip() ? ((tooltip$ | async) || title | translate) : ''\n \"\n [ngClass]=\"ngClass$ | async\"\n >\n @if (withTitle()) {\n <mat-checkbox\n (change)=\"action().handler()\"\n [checked]=\"checkCondition$ | async\"\n >\n {{ title | translate }}\n </mat-checkbox>\n }\n </mat-list-item>\n}\n", styles: [":host ::ng-deep mat-list-item:hover{cursor:pointer}:host{--mat-list-list-item-leading-avatar-size: 48px}:host .mdc-icon-button{--mat-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"] }]
|
|
184
|
+
}], propDecorators: { action: [{ type: i0.Input, args: [{ isSignal: true, alias: "action", required: true }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], withTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "withTitle", required: false }] }], withIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "withIcon", required: false }] }], withTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "withTooltip", required: false }] }], disabled: [{
|
|
200
185
|
type: Input
|
|
201
186
|
}], noDisplay: [{
|
|
202
187
|
type: Input
|
|
@@ -252,7 +237,7 @@ class ActionbarComponent {
|
|
|
252
237
|
/**
|
|
253
238
|
* Action store
|
|
254
239
|
*/
|
|
255
|
-
store = input(
|
|
240
|
+
store = input.required(...(ngDevMode ? [{ debugName: "store" }] : /* istanbul ignore next */ []));
|
|
256
241
|
/**
|
|
257
242
|
* Actionbar mode
|
|
258
243
|
*/
|
|
@@ -355,14 +340,14 @@ class ActionbarComponent {
|
|
|
355
340
|
if (this.watcher !== undefined) {
|
|
356
341
|
this.watcher.destroy();
|
|
357
342
|
}
|
|
358
|
-
|
|
343
|
+
const storeValue = this.store();
|
|
344
|
+
if (storeValue) {
|
|
345
|
+
this.watcher = new EntityStoreWatcher(storeValue, this.cdRef);
|
|
346
|
+
}
|
|
359
347
|
}
|
|
360
348
|
}
|
|
361
|
-
/**
|
|
362
|
-
* @internal
|
|
363
|
-
*/
|
|
364
349
|
ngOnDestroy() {
|
|
365
|
-
this.watcher
|
|
350
|
+
this.watcher?.destroy();
|
|
366
351
|
}
|
|
367
352
|
/**
|
|
368
353
|
* Invoke the action handler
|
|
@@ -379,7 +364,7 @@ class ActionbarComponent {
|
|
|
379
364
|
this.elRef.nativeElement.scrollBy(0, -52);
|
|
380
365
|
}
|
|
381
366
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ActionbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
382
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: ActionbarComponent, isStandalone: true, selector: "igo-actionbar", inputs: { store: { classPropertyName: "store", publicName: "store", isSignal: true, isRequired:
|
|
367
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.10", type: ActionbarComponent, isStandalone: true, selector: "igo-actionbar", inputs: { store: { classPropertyName: "store", publicName: "store", isSignal: true, isRequired: true, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, withToggleButton: { classPropertyName: "withToggleButton", publicName: "withToggleButton", isSignal: true, isRequired: false, transformFunction: null }, horizontal: { classPropertyName: "horizontal", publicName: "horizontal", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, iconColor: { classPropertyName: "iconColor", publicName: "iconColor", isSignal: true, isRequired: false, transformFunction: null }, withTitle: { classPropertyName: "withTitle", publicName: "withTitle", isSignal: true, isRequired: false, transformFunction: null }, withTooltip: { classPropertyName: "withTooltip", publicName: "withTooltip", isSignal: true, isRequired: false, transformFunction: null }, scrollActive: { classPropertyName: "scrollActive", publicName: "scrollActive", isSignal: true, isRequired: false, transformFunction: null }, withIcon: { classPropertyName: "withIcon", publicName: "withIcon", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, xPosition: { classPropertyName: "xPosition", publicName: "xPosition", isSignal: true, isRequired: false, transformFunction: null }, yPosition: { classPropertyName: "yPosition", publicName: "yPosition", isSignal: true, isRequired: false, transformFunction: null }, overlayClass: { classPropertyName: "overlayClass", publicName: "overlayClass", isSignal: false, isRequired: false, transformFunction: null } }, 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: "@let actions = store().view.all$() | async;\n\n@if (heightCondition && positionConditionTop && isDesktop) {\n <div id=\"topChevron\">\n <button\n matIconButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollUp' | translate\"\n (click)=\"scrollUp()\"\n >\n <mat-icon>keyboard_arrow_up</mat-icon>\n </button>\n </div>\n}\n@if (mode() === actionbarMode.Dock) {\n <mat-list matListItemIcon>\n @if (withToggleButton()) {\n <igo-actionbar-item\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 }\n @if (!collapsed) {\n @for (action of actions; track action) {\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 }\n }\n </mat-list>\n}\n\n@if (heightCondition && positionConditionLow && isDesktop) {\n <div id=\"lowChevron\">\n <button\n matIconButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollDown' | translate\"\n (click)=\"scrollDown()\"\n >\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n </div>\n}\n\n@if (mode() === actionbarMode.Overlay) {\n <div>\n <button\n class=\"buttonOverlay\"\n matIconButton\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 <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 @for (action of actions; track action) {\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 }\n </mat-list>\n </mat-menu>\n </div>\n}\n@if (mode() === actionbarMode.Context) {\n <mat-card class=\"context-menu-card mat-elevation-z4\">\n <mat-list>\n @for (action of actions; track action) {\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 <br />\n }\n </mat-list>\n </mat-card>\n}\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:var(--mat-sys-on-primary-container);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:var(--mat-sys-on-primary-container);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: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { 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: i3$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: "ngmodule", type: MatMenuModule }, { kind: "component", type: i5$1.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: i5$1.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: i6.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
383
368
|
}
|
|
384
369
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ActionbarComponent, decorators: [{
|
|
385
370
|
type: Component,
|
|
@@ -394,7 +379,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImpo
|
|
|
394
379
|
AsyncPipe,
|
|
395
380
|
IgoLanguageModule
|
|
396
381
|
], template: "@let actions = store().view.all$() | async;\n\n@if (heightCondition && positionConditionTop && isDesktop) {\n <div id=\"topChevron\">\n <button\n matIconButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollUp' | translate\"\n (click)=\"scrollUp()\"\n >\n <mat-icon>keyboard_arrow_up</mat-icon>\n </button>\n </div>\n}\n@if (mode() === actionbarMode.Dock) {\n <mat-list matListItemIcon>\n @if (withToggleButton()) {\n <igo-actionbar-item\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 }\n @if (!collapsed) {\n @for (action of actions; track action) {\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 }\n }\n </mat-list>\n}\n\n@if (heightCondition && positionConditionLow && isDesktop) {\n <div id=\"lowChevron\">\n <button\n matIconButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollDown' | translate\"\n (click)=\"scrollDown()\"\n >\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n </div>\n}\n\n@if (mode() === actionbarMode.Overlay) {\n <div>\n <button\n class=\"buttonOverlay\"\n matIconButton\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 <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 @for (action of actions; track action) {\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 }\n </mat-list>\n </mat-menu>\n </div>\n}\n@if (mode() === actionbarMode.Context) {\n <mat-card class=\"context-menu-card mat-elevation-z4\">\n <mat-list>\n @for (action of actions; track action) {\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 <br />\n }\n </mat-list>\n </mat-card>\n}\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:var(--mat-sys-on-primary-container);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:var(--mat-sys-on-primary-container);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"] }]
|
|
397
|
-
}], propDecorators: { store: [{ type: i0.Input, args: [{ isSignal: true, alias: "store", required:
|
|
382
|
+
}], propDecorators: { store: [{ type: i0.Input, args: [{ isSignal: true, alias: "store", required: true }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], withToggleButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "withToggleButton", required: false }] }], horizontal: [{ type: i0.Input, args: [{ isSignal: true, alias: "horizontal", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], iconColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconColor", required: false }] }], withTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "withTitle", required: false }] }], withTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "withTooltip", required: false }] }], scrollActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollActive", required: false }] }], withIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "withIcon", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], xPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "xPosition", required: false }] }], yPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "yPosition", required: false }] }], overlayClass: [{
|
|
398
383
|
type: Input
|
|
399
384
|
}], isCollapsed: [{
|
|
400
385
|
type: HostBinding,
|
|
@@ -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 } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnDestroy,\n OnInit,\n input,\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 MatListModule,\n MatTooltipModule,\n NgClass,\n MatButtonModule,\n MatIconModule,\n MatCheckboxModule,\n AsyncPipe,\n IgoLanguageModule,\n IgoIconComponent,\n MatButtonModule\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 readonly action = input<Action>(undefined);\n\n /**\n * Color\n */\n readonly color = input('default');\n\n /**\n * Whether the action title is displayed\n */\n readonly withTitle = input(true);\n\n /**\n * Whether the action icon is displayed\n */\n readonly withIcon = input(true);\n\n /**\n * Whether a tooltip should be shown\n */\n readonly withTooltip = input(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 readonly trigger = output<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 const action = this.action();\n if (action.ngClass !== undefined) {\n this.ngClass$$ = action\n .ngClass(...args)\n .subscribe((ngClass: Record<string, boolean>) =>\n this.updateNgClass(ngClass)\n );\n }\n\n if (isObservable(action.checkCondition)) {\n this.checkCondition$$ = action.checkCondition.subscribe(\n (checkCondition) => this.updateCheckCondition(checkCondition)\n );\n } else {\n this.updateCheckCondition(action.checkCondition);\n }\n\n if (isObservable(action.tooltip)) {\n this.tooltip$$ = action.tooltip.subscribe((tooltip) =>\n this.updateTooltip(tooltip)\n );\n } else {\n this.updateTooltip(action.tooltip);\n }\n\n if (action.availability !== undefined) {\n this.availability$$ = action\n .availability(...args)\n .subscribe((available) => (this.disabled = !available));\n }\n\n this.disabled$$ = this.disabled$.subscribe((disabled) =>\n this.updateNgClass({ 'igo-actionbar-item-disabled': disabled })\n );\n\n if (action.display !== undefined) {\n this.display$$ = action\n .display(...args)\n .subscribe((display) => (this.noDisplay = !display));\n }\n\n this.noDisplay$$ = this.noDisplay$.subscribe((noDisplay) =>\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) {\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","@if (!action().checkbox) {\n <mat-list-item\n class=\"actionbar-item\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n withTooltip() ? ((tooltip$ | async) || title | translate) : ''\n \"\n [ngClass]=\"ngClass$ | async\"\n (click)=\"onClick()\"\n >\n @if (withIcon()) {\n <button\n matListItemAvatar\n matIconButton\n [color]=\"color()\"\n [disabled]=\"disabled$ | async\"\n [disableRipple]=\"true\"\n >\n @let icon = action().icon;\n <igo-icon [icon]=\"isObservable(icon) ? (icon | async) : icon\" />\n </button>\n }\n @if (withTitle()) {\n <span matLine>{{ title | translate }}</span>\n }\n </mat-list-item>\n}\n\n@if (action().checkbox) {\n <mat-list-item\n class=\"item-checkbox\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n withTooltip() ? ((tooltip$ | async) || title | translate) : ''\n \"\n [ngClass]=\"ngClass$ | async\"\n >\n @if (withTitle()) {\n <mat-checkbox\n (change)=\"action().handler()\"\n [checked]=\"checkCondition$ | async\"\n >\n {{ title | translate }}\n </mat-checkbox>\n }\n </mat-list-item>\n}\n","import { Overlay } from '@angular/cdk/overlay';\nimport { AsyncPipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n SimpleChanges,\n inject,\n input\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 { 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 MatButtonModule,\n MatTooltipModule,\n MatIconModule,\n MatListModule,\n ActionbarItemComponent,\n MatMenuModule,\n MatCardModule,\n AsyncPipe,\n IgoLanguageModule\n ]\n})\nexport class ActionbarComponent implements OnDestroy, OnChanges {\n overlay = inject(Overlay);\n private elRef = inject(ElementRef);\n private cdRef = inject(ChangeDetectorRef);\n mediaService = inject(MediaService);\n\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$ = new BehaviorSubject<boolean>(false);\n\n /**\n * Position Condition for top scroll button\n */\n positionConditionTop$ = new BehaviorSubject<boolean>(true);\n\n /**\n * Position Condition for low scroll button\n */\n positionConditionLow$ = new BehaviorSubject<boolean>(true);\n\n /**\n * Action store\n */\n readonly store = input<ActionStore>(undefined);\n\n /**\n * Actionbar mode\n */\n readonly mode = input<ActionbarMode>(ActionbarMode.Dock);\n\n /**\n * Whether a toggle button should be displayed (Dock mode)\n */\n readonly withToggleButton = input(false);\n\n /**\n * Whether a the actionbar should display buttons horizontally\n */\n readonly horizontal = input(false);\n\n /**\n * Color\n */\n readonly color = input('default');\n\n /**\n * Color of the button if action mode === overlay\n */\n readonly iconColor = input('default');\n\n /**\n * Whether action titles are displayed\n */\n readonly withTitle = input(true);\n\n /**\n * Whether action tooltips are displayed\n */\n readonly withTooltip = input(true);\n\n /**\n * Whether action titles are displayed (condition for scroll button)\n */\n readonly scrollActive = input(true);\n\n /**\n * Whether action icons are displayed\n */\n readonly withIcon = input(true);\n\n /**\n * Which icon want to be shown\n */\n readonly icon = input('more_horiz');\n\n /**\n * Overlay X position\n */\n readonly xPosition = input<MenuPositionX>('before');\n\n /**\n * Overlay Y position\n */\n readonly yPosition = input<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 return !this.scrollActive() && el.clientHeight < el.scrollHeight\n ? true\n : false;\n }\n\n get positionConditionTop(): boolean {\n return this.elRef.nativeElement.scrollTop === 0 ? false : true;\n }\n\n get positionConditionLow(): boolean {\n const el = this.elRef.nativeElement;\n return el.scrollTop >= el.scrollHeight - el.clientHeight ? false : true;\n }\n\n get isDesktop(): boolean {\n return this.mediaService.isDesktop() || this.mediaService.isTablet();\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","@let actions = store().view.all$() | async;\n\n@if (heightCondition && positionConditionTop && isDesktop) {\n <div id=\"topChevron\">\n <button\n matIconButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollUp' | translate\"\n (click)=\"scrollUp()\"\n >\n <mat-icon>keyboard_arrow_up</mat-icon>\n </button>\n </div>\n}\n@if (mode() === actionbarMode.Dock) {\n <mat-list matListItemIcon>\n @if (withToggleButton()) {\n <igo-actionbar-item\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 }\n @if (!collapsed) {\n @for (action of actions; track action) {\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 }\n }\n </mat-list>\n}\n\n@if (heightCondition && positionConditionLow && isDesktop) {\n <div id=\"lowChevron\">\n <button\n matIconButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollDown' | translate\"\n (click)=\"scrollDown()\"\n >\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n </div>\n}\n\n@if (mode() === actionbarMode.Overlay) {\n <div>\n <button\n class=\"buttonOverlay\"\n matIconButton\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 <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 @for (action of actions; track action) {\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 }\n </mat-list>\n </mat-menu>\n </div>\n}\n@if (mode() === actionbarMode.Context) {\n <mat-card class=\"context-menu-card mat-elevation-z4\">\n <mat-list>\n @for (action of actions; track action) {\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 <br />\n }\n </mat-list>\n </mat-card>\n}\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","i3","i4","i5","i7"],"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 } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnDestroy,\n OnInit,\n input,\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 MatListModule,\n MatTooltipModule,\n NgClass,\n MatButtonModule,\n MatIconModule,\n MatCheckboxModule,\n AsyncPipe,\n IgoLanguageModule,\n IgoIconComponent,\n MatButtonModule\n ]\n})\nexport class ActionbarItemComponent implements OnInit, OnDestroy {\n readonly disabled$ = new BehaviorSubject(false);\n\n readonly checkCondition$ = new BehaviorSubject(false);\n\n readonly tooltip$ = new BehaviorSubject<string | undefined>(undefined);\n\n readonly noDisplay$ = new BehaviorSubject(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 readonly action = input.required<Action>();\n\n /**\n * Color\n */\n readonly color = input('default');\n\n /**\n * Whether the action title is displayed\n */\n readonly withTitle = input(true);\n\n /**\n * Whether the action icon is displayed\n */\n readonly withIcon = input(true);\n\n /**\n * Whether a tooltip should be shown\n */\n readonly withTooltip = input(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 readonly trigger = output<Action>();\n\n /**\n * @internal\n */\n get title(): string | undefined {\n return this.action()?.title;\n }\n\n ngOnInit() {\n const action = this.action();\n const args = action?.args || [];\n\n if (action?.ngClass !== undefined) {\n this.ngClass$$ = action\n .ngClass(...args)\n .subscribe((ngClass: Record<string, boolean>) =>\n this.updateNgClass(ngClass)\n );\n }\n\n if (isObservable(action?.checkCondition)) {\n this.checkCondition$$ = action?.checkCondition.subscribe(\n (checkCondition) => this.updateCheckCondition(checkCondition)\n );\n } else {\n this.updateCheckCondition(action?.checkCondition);\n }\n\n if (isObservable(action?.tooltip)) {\n this.tooltip$$ = action?.tooltip.subscribe((tooltip) =>\n this.updateTooltip(tooltip)\n );\n } else {\n this.updateTooltip(action?.tooltip);\n }\n\n if (action?.availability !== undefined) {\n this.availability$$ = action\n ?.availability(...args)\n .subscribe((available) => (this.disabled = !available));\n }\n\n this.disabled$$ = this.disabled$.subscribe((disabled) =>\n this.updateNgClass({ 'igo-actionbar-item-disabled': disabled })\n );\n\n if (action?.display !== undefined) {\n this.display$$ = action\n ?.display(...args)\n .subscribe((display) => (this.noDisplay = !display));\n }\n\n this.noDisplay$$ = this.noDisplay$.subscribe((noDisplay) =>\n this.updateNgClass({ 'igo-actionbar-item-no-display': noDisplay })\n );\n }\n\n ngOnDestroy() {\n this.ngClass$$?.unsubscribe();\n this.availability$$?.unsubscribe();\n this.display$$?.unsubscribe();\n this.checkCondition$$?.unsubscribe();\n this.tooltip$$?.unsubscribe();\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) {\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 | undefined) {\n this.tooltip$.next(tooltip);\n }\n\n private updateCheckCondition(checkCondition: boolean | undefined) {\n this.checkCondition$.next(checkCondition ?? false);\n }\n}\n","@if (!action().checkbox) {\n <mat-list-item\n class=\"actionbar-item\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n withTooltip() ? ((tooltip$ | async) || title | translate) : ''\n \"\n [ngClass]=\"ngClass$ | async\"\n (click)=\"onClick()\"\n >\n @if (withIcon()) {\n <button\n matListItemAvatar\n matIconButton\n [color]=\"color()\"\n [disabled]=\"disabled$ | async\"\n [disableRipple]=\"true\"\n >\n @let icon = action().icon!;\n <igo-icon [icon]=\"(isObservable(icon) ? (icon | async) : icon)!\" />\n </button>\n }\n @if (withTitle()) {\n <span matLine>{{ title | translate }}</span>\n }\n </mat-list-item>\n}\n\n@if (action().checkbox) {\n <mat-list-item\n class=\"item-checkbox\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"\n withTooltip() ? ((tooltip$ | async) || title | translate) : ''\n \"\n [ngClass]=\"ngClass$ | async\"\n >\n @if (withTitle()) {\n <mat-checkbox\n (change)=\"action().handler()\"\n [checked]=\"checkCondition$ | async\"\n >\n {{ title | translate }}\n </mat-checkbox>\n }\n </mat-list-item>\n}\n","import { Overlay } from '@angular/cdk/overlay';\nimport { AsyncPipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n SimpleChanges,\n inject,\n input\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 { 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 MatButtonModule,\n MatTooltipModule,\n MatIconModule,\n MatListModule,\n ActionbarItemComponent,\n MatMenuModule,\n MatCardModule,\n AsyncPipe,\n IgoLanguageModule\n ]\n})\nexport class ActionbarComponent implements OnDestroy, OnChanges {\n overlay = inject(Overlay);\n private elRef = inject(ElementRef);\n private cdRef = inject(ChangeDetectorRef);\n mediaService = inject(MediaService);\n\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$ = new BehaviorSubject<boolean>(false);\n\n /**\n * Position Condition for top scroll button\n */\n positionConditionTop$ = new BehaviorSubject<boolean>(true);\n\n /**\n * Position Condition for low scroll button\n */\n positionConditionLow$ = new BehaviorSubject<boolean>(true);\n\n /**\n * Action store\n */\n readonly store = input.required<ActionStore>();\n\n /**\n * Actionbar mode\n */\n readonly mode = input<ActionbarMode>(ActionbarMode.Dock);\n\n /**\n * Whether a toggle button should be displayed (Dock mode)\n */\n readonly withToggleButton = input(false);\n\n /**\n * Whether a the actionbar should display buttons horizontally\n */\n readonly horizontal = input(false);\n\n /**\n * Color\n */\n readonly color = input('default');\n\n /**\n * Color of the button if action mode === overlay\n */\n readonly iconColor = input('default');\n\n /**\n * Whether action titles are displayed\n */\n readonly withTitle = input(true);\n\n /**\n * Whether action tooltips are displayed\n */\n readonly withTooltip = input(true);\n\n /**\n * Whether action titles are displayed (condition for scroll button)\n */\n readonly scrollActive = input(true);\n\n /**\n * Whether action icons are displayed\n */\n readonly withIcon = input(true);\n\n /**\n * Which icon want to be shown\n */\n readonly icon = input('more_horiz');\n\n /**\n * Overlay X position\n */\n readonly xPosition = input<MenuPositionX>('before');\n\n /**\n * Overlay Y position\n */\n readonly yPosition = input<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 return !this.scrollActive() && el.clientHeight < el.scrollHeight\n ? true\n : false;\n }\n\n get positionConditionTop(): boolean {\n return this.elRef.nativeElement.scrollTop === 0 ? false : true;\n }\n\n get positionConditionLow(): boolean {\n const el = this.elRef.nativeElement;\n return el.scrollTop >= el.scrollHeight - el.clientHeight ? false : true;\n }\n\n get isDesktop(): boolean {\n return this.mediaService.isDesktop() || this.mediaService.isTablet();\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 const storeValue = this.store();\n if (storeValue) {\n this.watcher = new EntityStoreWatcher(storeValue, this.cdRef);\n }\n }\n }\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","@let actions = store().view.all$() | async;\n\n@if (heightCondition && positionConditionTop && isDesktop) {\n <div id=\"topChevron\">\n <button\n matIconButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollUp' | translate\"\n (click)=\"scrollUp()\"\n >\n <mat-icon>keyboard_arrow_up</mat-icon>\n </button>\n </div>\n}\n@if (mode() === actionbarMode.Dock) {\n <mat-list matListItemIcon>\n @if (withToggleButton()) {\n <igo-actionbar-item\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 }\n @if (!collapsed) {\n @for (action of actions; track action) {\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 }\n }\n </mat-list>\n}\n\n@if (heightCondition && positionConditionLow && isDesktop) {\n <div id=\"lowChevron\">\n <button\n matIconButton\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.common.actionbar.scrollDown' | translate\"\n (click)=\"scrollDown()\"\n >\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n </div>\n}\n\n@if (mode() === actionbarMode.Overlay) {\n <div>\n <button\n class=\"buttonOverlay\"\n matIconButton\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 <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 @for (action of actions; track action) {\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 }\n </mat-list>\n </mat-menu>\n </div>\n}\n@if (mode() === actionbarMode.Context) {\n <mat-card class=\"context-menu-card mat-elevation-z4\">\n <mat-list>\n @for (action of actions; track action) {\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 <br />\n }\n </mat-list>\n </mat-card>\n}\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","i3","i4","i5","i7"],"mappings":"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"}
|
|
@@ -1,23 +1,15 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { input, Component, NgModule } from '@angular/core';
|
|
3
3
|
|
|
4
4
|
class BackdropComponent {
|
|
5
|
-
|
|
6
|
-
return this._shown;
|
|
7
|
-
}
|
|
8
|
-
set shown(value) {
|
|
9
|
-
this._shown = value;
|
|
10
|
-
}
|
|
11
|
-
_shown;
|
|
5
|
+
shown = input(false, ...(ngDevMode ? [{ debugName: "shown" }] : /* istanbul ignore next */ []));
|
|
12
6
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: BackdropComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
13
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
7
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.10", type: BackdropComponent, isStandalone: true, selector: "igo-backdrop", inputs: { shown: { classPropertyName: "shown", publicName: "shown", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div [class.igo-backdrop-shown]=\"shown()\"></div>\n", styles: [":host>div{position:absolute;inset:0;background-color:#64646480;z-index:2;display:none}:host>div.igo-backdrop-shown{display:block}\n"] });
|
|
14
8
|
}
|
|
15
9
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: BackdropComponent, decorators: [{
|
|
16
10
|
type: Component,
|
|
17
|
-
args: [{ selector: 'igo-backdrop', template: "<div [class.igo-backdrop-shown]=\"shown\"></div>\n", styles: [":host>div{position:absolute;inset:0;background-color:#64646480;z-index:2;display:none}:host>div.igo-backdrop-shown{display:block}\n"] }]
|
|
18
|
-
}], propDecorators: { shown: [{
|
|
19
|
-
type: Input
|
|
20
|
-
}] } });
|
|
11
|
+
args: [{ selector: 'igo-backdrop', template: "<div [class.igo-backdrop-shown]=\"shown()\"></div>\n", styles: [":host>div{position:absolute;inset:0;background-color:#64646480;z-index:2;display:none}:host>div.igo-backdrop-shown{display:block}\n"] }]
|
|
12
|
+
}], propDecorators: { shown: [{ type: i0.Input, args: [{ isSignal: true, alias: "shown", required: false }] }] } });
|
|
21
13
|
|
|
22
14
|
/**
|
|
23
15
|
* @deprecated import the BackdropComponent directly
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-common-backdrop.mjs","sources":["../../../packages/common/backdrop/src/backdrop.component.ts","../../../packages/common/backdrop/src/backdrop.component.html","../../../packages/common/backdrop/src/backdrop.module.ts","../../../packages/common/backdrop/src/igo2-common-backdrop.ts"],"sourcesContent":["import { Component,
|
|
1
|
+
{"version":3,"file":"igo2-common-backdrop.mjs","sources":["../../../packages/common/backdrop/src/backdrop.component.ts","../../../packages/common/backdrop/src/backdrop.component.html","../../../packages/common/backdrop/src/backdrop.module.ts","../../../packages/common/backdrop/src/igo2-common-backdrop.ts"],"sourcesContent":["import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'igo-backdrop',\n templateUrl: './backdrop.component.html',\n styleUrls: ['./backdrop.component.scss']\n})\nexport class BackdropComponent {\n shown = input(false);\n}\n","<div [class.igo-backdrop-shown]=\"shown()\"></div>\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { BackdropComponent } from './backdrop.component';\n\n/**\n * @deprecated import the BackdropComponent directly\n */\n@NgModule({\n imports: [BackdropComponent],\n exports: [BackdropComponent]\n})\nexport class IgoBackdropModule {\n static forRoot(): ModuleWithProviders<IgoBackdropModule> {\n return {\n ngModule: IgoBackdropModule,\n providers: []\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;MAOa,iBAAiB,CAAA;AAC5B,IAAA,KAAK,GAAG,KAAK,CAAC,KAAK,4EAAC;wGADT,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,4MCP9B,sDACA,EAAA,MAAA,EAAA,CAAA,qIAAA,CAAA,EAAA,CAAA;;4FDMa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;+BACE,cAAc,EAAA,QAAA,EAAA,sDAAA,EAAA,MAAA,EAAA,CAAA,qIAAA,CAAA,EAAA;;;AEC1B;;AAEG;MAKU,iBAAiB,CAAA;AAC5B,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,iBAAiB;AAC3B,YAAA,SAAS,EAAE;SACZ;IACH;wGANW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;yGAAjB,iBAAiB,EAAA,OAAA,EAAA,CAHlB,iBAAiB,CAAA,EAAA,OAAA,EAAA,CACjB,iBAAiB,CAAA,EAAA,CAAA;yGAEhB,iBAAiB,EAAA,CAAA;;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,iBAAiB,CAAC;oBAC5B,OAAO,EAAE,CAAC,iBAAiB;AAC5B,iBAAA;;;ACVD;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igo2-common-badge.mjs","sources":["../../../packages/common/badge/src/badge-icon.directive.ts","../../../packages/common/badge/src/badge-icon.module.ts","../../../packages/common/badge/src/igo2-common-badge.ts"],"sourcesContent":["import { Directive, ElementRef, Input, OnInit, inject } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\n\n/**\n * This directive allow to add an icon inside a matBadge.\n * A value must be set into the matBadge directive ex: matBadge=\"icon\".\n * The badge content will be overrided by this current directive.\n */\n@Directive({\n selector: '[igoMatBadgeIcon]',\n providers: [MatIconModule]\n})\nexport class IgoBadgeIconDirective implements OnInit {\n private el = inject(ElementRef);\n\n @Input()\n set igoMatBadgeIcon(value: string) {\n this.html = `\n <mat-icon class=\"mat-icon material-symbols-outlined\" style=\"height: 16px; width: 16px; font-size: 16px;\">${value}</mat-icon>\n `;\n this.updateHtml();\n }\n private html
|
|
1
|
+
{"version":3,"file":"igo2-common-badge.mjs","sources":["../../../packages/common/badge/src/badge-icon.directive.ts","../../../packages/common/badge/src/badge-icon.module.ts","../../../packages/common/badge/src/igo2-common-badge.ts"],"sourcesContent":["import { Directive, ElementRef, Input, OnInit, inject } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\n\n/**\n * This directive allow to add an icon inside a matBadge.\n * A value must be set into the matBadge directive ex: matBadge=\"icon\".\n * The badge content will be overrided by this current directive.\n */\n@Directive({\n selector: '[igoMatBadgeIcon]',\n providers: [MatIconModule]\n})\nexport class IgoBadgeIconDirective implements OnInit {\n private el = inject(ElementRef);\n\n @Input()\n set igoMatBadgeIcon(value: string) {\n this.html = `\n <mat-icon class=\"mat-icon material-symbols-outlined\" style=\"height: 16px; width: 16px; font-size: 16px;\">${value}</mat-icon>\n `;\n this.updateHtml();\n }\n private html?: string;\n\n @Input()\n set matBadgeHidden(value: boolean) {\n this.hidden = value;\n this.updateHidden();\n }\n private hidden = false;\n\n @Input()\n set matBadgeDisabled(value: boolean) {\n this.disabled = value;\n this.updateDisabled();\n }\n private disabled = false;\n\n @Input()\n set igoMatBadgeInverseColor(value: boolean) {\n this.inverseColor = value;\n this.updateColor();\n }\n private inverseColor = false;\n\n @Input()\n set igoMatBadgeInheritColor(value: boolean) {\n this.inheritColor = value;\n this.updateColor();\n }\n private inheritColor = false;\n\n @Input()\n set igoMatBadgeColor(value: string) {\n this.color = value;\n this.updateColor();\n }\n private color?: string;\n\n @Input()\n set igoMatBadgeBackgroundColor(value: string | null) {\n this.backgroundColor = value;\n this.updateColor();\n }\n private backgroundColor?: string | null;\n\n get badge() {\n return this.el.nativeElement.querySelector('.mat-badge-content');\n }\n\n private originalColor?: string;\n\n ngOnInit() {\n this.badge.style.alignItems = 'center';\n this.badge.style.justifyContent = 'center';\n\n this.updateHidden();\n this.updateColor();\n this.updateHtml();\n }\n\n private updateHtml() {\n if (!this.badge) {\n return;\n }\n this.badge.innerHTML = '';\n if (this.html) {\n this.badge.innerHTML = this.html;\n }\n }\n private updateColor() {\n if (!this.badge) {\n return;\n }\n\n if (this.color || this.backgroundColor) {\n this.badge.style.color = this.color ? this.color : '';\n this.badge.style.background = this.backgroundColor\n ? this.backgroundColor\n : '';\n } else if (this.inheritColor) {\n if (this.inverseColor) {\n this.badge.style.color = 'currentColor';\n this.badge.style.background = 'none';\n } else {\n this.badge.style.color = '';\n this.badge.style.background = 'currentColor';\n }\n } else if (!this.inheritColor) {\n if (this.inverseColor) {\n this.badge.style.color = window\n .getComputedStyle(this.badge, null)\n .getPropertyValue('background-color');\n this.badge.style.background = 'none';\n } else {\n this.badge.style.color = '';\n this.badge.style.background = '';\n }\n }\n this.originalColor = this.badge.style.color;\n this.updateDisabled();\n }\n\n private updateHidden() {\n if (!this.badge) {\n return;\n }\n this.badge.style.display = this.hidden ? 'none' : 'flex';\n }\n\n private updateDisabled() {\n if (!this.badge || !this.inverseColor) {\n return;\n }\n if (this.disabled) {\n this.originalColor = this.badge.style.color;\n this.badge.style.color = '#b9b9b9';\n } else {\n this.badge.style.color = this.originalColor;\n }\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { IgoBadgeIconDirective } from './badge-icon.directive';\n\n/**\n * @deprecated import the IgoBadgeIconDirective directly\n */\n@NgModule({\n imports: [IgoBadgeIconDirective],\n exports: [IgoBadgeIconDirective]\n})\nexport class IgoMatBadgeIconModule {\n static forRoot(): ModuleWithProviders<IgoMatBadgeIconModule> {\n return {\n ngModule: IgoMatBadgeIconModule,\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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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, Renderer2, ElementRef, output, HostListener, Input, Directive,
|
|
2
|
+
import { inject, Renderer2, ElementRef, input, output, HostListener, Input, Directive, model, Component, NgModule } from '@angular/core';
|
|
3
3
|
import * as i2 from '@angular/material/icon';
|
|
4
4
|
import { MatIconModule } from '@angular/material/icon';
|
|
5
5
|
import * as i1 from '@angular/material/list';
|
|
@@ -8,13 +8,7 @@ import { MatListModule } from '@angular/material/list';
|
|
|
8
8
|
class CollapseDirective {
|
|
9
9
|
renderer = inject(Renderer2);
|
|
10
10
|
el = inject(ElementRef);
|
|
11
|
-
|
|
12
|
-
return this._target;
|
|
13
|
-
}
|
|
14
|
-
set target(value) {
|
|
15
|
-
this._target = value;
|
|
16
|
-
}
|
|
17
|
-
_target;
|
|
11
|
+
target = input(...(ngDevMode ? [undefined, { debugName: "target" }] : /* istanbul ignore next */ []));
|
|
18
12
|
get collapsed() {
|
|
19
13
|
return this._collapsed;
|
|
20
14
|
}
|
|
@@ -29,24 +23,22 @@ class CollapseDirective {
|
|
|
29
23
|
this.collapsed = !this.collapsed;
|
|
30
24
|
}
|
|
31
25
|
collapseTarget() {
|
|
32
|
-
this.renderer.addClass(this.target, 'igo-collapsed');
|
|
26
|
+
this.renderer.addClass(this.target(), 'igo-collapsed');
|
|
33
27
|
this.renderer.addClass(this.el.nativeElement, 'collapsed');
|
|
34
28
|
}
|
|
35
29
|
expandTarget() {
|
|
36
|
-
this.renderer.removeClass(this.target, 'igo-collapsed');
|
|
30
|
+
this.renderer.removeClass(this.target(), 'igo-collapsed');
|
|
37
31
|
this.renderer.removeClass(this.el.nativeElement, 'collapsed');
|
|
38
32
|
}
|
|
39
33
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: CollapseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
40
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
34
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.10", type: CollapseDirective, isStandalone: true, selector: "[igoCollapse]", inputs: { target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { toggle: "toggle" }, host: { listeners: { "click": "click()" } }, ngImport: i0 });
|
|
41
35
|
}
|
|
42
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: CollapseDirective, decorators: [{
|
|
43
37
|
type: Directive,
|
|
44
38
|
args: [{
|
|
45
39
|
selector: '[igoCollapse]'
|
|
46
40
|
}]
|
|
47
|
-
}], propDecorators: { target: [{
|
|
48
|
-
type: Input
|
|
49
|
-
}], collapsed: [{
|
|
41
|
+
}], propDecorators: { target: [{ type: i0.Input, args: [{ isSignal: true, alias: "target", required: false }] }], collapsed: [{
|
|
50
42
|
type: Input
|
|
51
43
|
}], toggle: [{ type: i0.Output, args: ["toggle"] }], click: [{
|
|
52
44
|
type: HostListener,
|