@coolon/angular-ui-powerups 16.1.0-aplpha.152 → 16.1.0-aplpha.153
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/esm2022/lib/components/tables/renderer/table-action-column/menu-builder.mjs +1 -1
- package/esm2022/lib/components/tables/renderer/table-action-column/table-action-column.component.mjs +67 -35
- package/fesm2022/coolon-angular-ui-powerups.mjs +64 -33
- package/fesm2022/coolon-angular-ui-powerups.mjs.map +1 -1
- package/lib/components/tables/renderer/table-action-column/menu-builder.d.ts +2 -0
- package/lib/components/tables/renderer/table-action-column/table-action-column.component.d.ts +16 -5
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvcmVuZGVyZXIvdGFibGUtYWN0aW9uLWNvbHVtbi9tZW51LWJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1hbmQsIENvbW1hbmRGYWNlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgRmlsZURvd25sb2FkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZmlsZS9maWxlLWRvd25sb2FkL2ZpbGUtZG93bmxvYWQuY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBNZW51QnVpbGRlcjxSb3cgZXh0ZW5kcyBvYmplY3Q+IHtcbiAgYWRkQ29tbWFuZChmYWN0b3J5OiBDb21tYW5kLkZhY3Rvcnk8Um93PiwgZmFjZTogQ29tbWFuZEZhY2UpOnZvaWQ7XG4gIGFkZERvd25sb2FkKGNhbGxiYWNrOiAocm93OlJvdykgPT4gRmlsZURvd25sb2FkQ29tcG9uZW50LkRvd25sb2FkSW5mbyk6dm9pZDtcbiAgYWRkU2VwYXJhdG9yKCk6dm9pZDtcbn1cbiJdfQ==
|
package/esm2022/lib/components/tables/renderer/table-action-column/table-action-column.component.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
2
|
import { MatMenuTrigger } from '@angular/material/menu';
|
|
3
|
-
import { Dsl } from '@coolon/pectin';
|
|
4
3
|
import { DisposableComponent } from '../../../disposable-component';
|
|
4
|
+
import { Track } from '../../../track';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "@angular/common";
|
|
7
7
|
import * as i2 from "../../../commands/group/tool-bar/tool-bar.component";
|
|
@@ -9,7 +9,9 @@ import * as i3 from "../../../commands/command/command.component";
|
|
|
9
9
|
import * as i4 from "../../../commands/group/popup-menu/more-menu.component";
|
|
10
10
|
import * as i5 from "../../../commands/separator.component";
|
|
11
11
|
import * as i6 from "../../../commands/flex.component";
|
|
12
|
-
|
|
12
|
+
import * as i7 from "../../../file/file-download/file-download.component";
|
|
13
|
+
// TODO: This performs poorly, lots of factory calls initial rendering and on mouse movements
|
|
14
|
+
class CommandData {
|
|
13
15
|
factory;
|
|
14
16
|
face;
|
|
15
17
|
constructor(factory, face) {
|
|
@@ -17,6 +19,15 @@ class MenuItemData {
|
|
|
17
19
|
this.face = face;
|
|
18
20
|
}
|
|
19
21
|
}
|
|
22
|
+
class DownloadData {
|
|
23
|
+
createInfo;
|
|
24
|
+
constructor(createInfo) {
|
|
25
|
+
this.createInfo = createInfo;
|
|
26
|
+
}
|
|
27
|
+
createDownloadInfo(value) {
|
|
28
|
+
return this.createInfo(value);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
20
31
|
/**
|
|
21
32
|
*
|
|
22
33
|
*/
|
|
@@ -25,83 +36,104 @@ export class TableActionColumnComponent extends DisposableComponent {
|
|
|
25
36
|
menu;
|
|
26
37
|
actions = [];
|
|
27
38
|
moreActions = [];
|
|
39
|
+
trackByIndex = Track.byIndex;
|
|
40
|
+
constructor() {
|
|
41
|
+
super();
|
|
42
|
+
this.onInit(() => console.log("table action column init"));
|
|
43
|
+
}
|
|
28
44
|
addCommand(commandFactory, properties) {
|
|
29
|
-
this.actions.push(new
|
|
45
|
+
this.actions.push(new CommandData(commandFactory, properties));
|
|
30
46
|
}
|
|
31
47
|
addSeparator() {
|
|
32
48
|
this.actions.push(null);
|
|
33
49
|
}
|
|
50
|
+
addDownload(factory) {
|
|
51
|
+
this.actions.push(new DownloadData(factory));
|
|
52
|
+
}
|
|
34
53
|
addMoreMenu(builder) {
|
|
35
54
|
const self = this;
|
|
36
55
|
builder({
|
|
37
56
|
addCommand(factory, face) {
|
|
38
|
-
self.moreActions.push(new
|
|
57
|
+
self.moreActions.push(new CommandData(factory, face));
|
|
39
58
|
},
|
|
40
59
|
addSeparator() {
|
|
41
60
|
self.moreActions.push(null);
|
|
61
|
+
},
|
|
62
|
+
addDownload(factory) {
|
|
63
|
+
self.moreActions.push(new DownloadData(factory));
|
|
42
64
|
}
|
|
43
65
|
});
|
|
44
66
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
});
|
|
54
|
-
return command;
|
|
55
|
-
}
|
|
67
|
+
// createMoreMenuCommand(item: CommandData<T>, value: T): Command<void> {
|
|
68
|
+
// const { when } = Dsl.disposeWith(this);
|
|
69
|
+
// const command = item.factory.create(value, { disposedWith: this });
|
|
70
|
+
// when(command.busy$).becomesFalsey(() => {
|
|
71
|
+
// this.closeMoreMenu();
|
|
72
|
+
// });
|
|
73
|
+
// return command;
|
|
74
|
+
// }
|
|
56
75
|
closeMoreMenu() {
|
|
57
76
|
this.menu.closeMenu();
|
|
58
77
|
}
|
|
78
|
+
isCommand(item) {
|
|
79
|
+
return item instanceof CommandData;
|
|
80
|
+
}
|
|
81
|
+
isDownload(item) {
|
|
82
|
+
return item instanceof DownloadData;
|
|
83
|
+
}
|
|
84
|
+
isSeparator(item) {
|
|
85
|
+
return !item;
|
|
86
|
+
}
|
|
59
87
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableActionColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
60
88
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TableActionColumnComponent, selector: "aup-table-action-column", inputs: { value: "value" }, viewQueries: [{ propertyName: "menu", first: true, predicate: MatMenuTrigger, descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
61
89
|
<aup-tool-bar>
|
|
62
|
-
<ng-container *ngFor="let action of actions">
|
|
63
|
-
<aup-command *ngIf="action"
|
|
90
|
+
<ng-container *ngFor="let action of actions;trackBy: trackByIndex">
|
|
91
|
+
<aup-command *ngIf="isCommand(action)"
|
|
64
92
|
#comp
|
|
65
93
|
[command]="action.factory.create(value, {disposedWith: comp})"
|
|
66
|
-
[face]="action.face"
|
|
67
|
-
<aup-
|
|
94
|
+
[face]="action.face" />
|
|
95
|
+
<aup-file-download *ngIf="isDownload(action)" [download]="action.createDownloadInfo(value)" />
|
|
96
|
+
<aup-separator *ngIf="isSeparator(action)" />
|
|
68
97
|
</ng-container>
|
|
69
98
|
</aup-tool-bar>
|
|
70
99
|
<ng-container *ngIf="moreActions.length > 0">
|
|
71
|
-
<aup-flex class="flex"/>
|
|
100
|
+
<aup-flex class="flex" />
|
|
72
101
|
<aup-more-menu>
|
|
73
|
-
<ng-container *ngFor="let action of moreActions">
|
|
74
|
-
<aup-command *ngIf="action"
|
|
102
|
+
<ng-container *ngFor="let action of moreActions; trackBy: trackByIndex">
|
|
103
|
+
<aup-command *ngIf="isCommand(action)"
|
|
75
104
|
#comp
|
|
76
105
|
[command]="action.factory.create(value, {disposedWith: comp})"
|
|
77
|
-
[face]="action.face"
|
|
78
|
-
<aup-
|
|
106
|
+
[face]="action.face" />
|
|
107
|
+
<aup-file-download *ngIf="isDownload(action)" [download]="action.createDownloadInfo(value)" />
|
|
108
|
+
<aup-separator *ngIf="isSeparator(action)" />
|
|
79
109
|
</ng-container>
|
|
80
110
|
</aup-more-menu>
|
|
81
111
|
</ng-container>
|
|
82
|
-
`, isInline: true, styles: [":host{display:inline-flex;flex-direction:row;align-items:center}:host:last-child{padding-right:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ToolBarComponent, selector: "aup-tool-bar" }, { kind: "component", type: i3.CommandComponent, selector: "aup-command", inputs: ["command", "face$", "face", "busyFace$", "busyFace", "alignFace"] }, { kind: "component", type: i4.MoreMenuComponent, selector: "aup-more-menu", inputs: ["tooltip"] }, { kind: "component", type: i5.SeparatorComponent, selector: "aup-separator" }, { kind: "component", type: i6.FlexComponent, selector: "aup-flex" }] });
|
|
112
|
+
`, isInline: true, styles: [":host{display:inline-flex;flex-direction:row;align-items:center}:host:last-child{padding-right:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ToolBarComponent, selector: "aup-tool-bar" }, { kind: "component", type: i3.CommandComponent, selector: "aup-command", inputs: ["command", "face$", "face", "busyFace$", "busyFace", "alignFace"] }, { kind: "component", type: i4.MoreMenuComponent, selector: "aup-more-menu", inputs: ["tooltip"] }, { kind: "component", type: i5.SeparatorComponent, selector: "aup-separator" }, { kind: "component", type: i6.FlexComponent, selector: "aup-flex" }, { kind: "component", type: i7.FileDownloadComponent, selector: "aup-file-download", inputs: ["download$", "download", "alignFace"] }] });
|
|
83
113
|
}
|
|
84
114
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableActionColumnComponent, decorators: [{
|
|
85
115
|
type: Component,
|
|
86
116
|
args: [{ selector: 'aup-table-action-column', template: `
|
|
87
117
|
<aup-tool-bar>
|
|
88
|
-
<ng-container *ngFor="let action of actions">
|
|
89
|
-
<aup-command *ngIf="action"
|
|
118
|
+
<ng-container *ngFor="let action of actions;trackBy: trackByIndex">
|
|
119
|
+
<aup-command *ngIf="isCommand(action)"
|
|
90
120
|
#comp
|
|
91
121
|
[command]="action.factory.create(value, {disposedWith: comp})"
|
|
92
|
-
[face]="action.face"
|
|
93
|
-
<aup-
|
|
122
|
+
[face]="action.face" />
|
|
123
|
+
<aup-file-download *ngIf="isDownload(action)" [download]="action.createDownloadInfo(value)" />
|
|
124
|
+
<aup-separator *ngIf="isSeparator(action)" />
|
|
94
125
|
</ng-container>
|
|
95
126
|
</aup-tool-bar>
|
|
96
127
|
<ng-container *ngIf="moreActions.length > 0">
|
|
97
|
-
<aup-flex class="flex"/>
|
|
128
|
+
<aup-flex class="flex" />
|
|
98
129
|
<aup-more-menu>
|
|
99
|
-
<ng-container *ngFor="let action of moreActions">
|
|
100
|
-
<aup-command *ngIf="action"
|
|
130
|
+
<ng-container *ngFor="let action of moreActions; trackBy: trackByIndex">
|
|
131
|
+
<aup-command *ngIf="isCommand(action)"
|
|
101
132
|
#comp
|
|
102
133
|
[command]="action.factory.create(value, {disposedWith: comp})"
|
|
103
|
-
[face]="action.face"
|
|
104
|
-
<aup-
|
|
134
|
+
[face]="action.face" />
|
|
135
|
+
<aup-file-download *ngIf="isDownload(action)" [download]="action.createDownloadInfo(value)" />
|
|
136
|
+
<aup-separator *ngIf="isSeparator(action)" />
|
|
105
137
|
</ng-container>
|
|
106
138
|
</aup-more-menu>
|
|
107
139
|
</ng-container>
|
|
@@ -112,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
|
|
|
112
144
|
type: ViewChild,
|
|
113
145
|
args: [MatMenuTrigger]
|
|
114
146
|
}] } });
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYWN0aW9uLWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9yZW5kZXJlci90YWJsZS1hY3Rpb24tY29sdW1uL3RhYmxlLWFjdGlvbi1jb2x1bW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFJeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFcEUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFLdkMsNkZBQTZGO0FBRTdGLE1BQU0sV0FBVztJQUNNO0lBQTRDO0lBQWpFLFlBQXFCLE9BQWlDLEVBQVcsSUFBaUI7UUFBN0QsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7UUFBVyxTQUFJLEdBQUosSUFBSSxDQUFhO0lBQ2xGLENBQUM7Q0FDRjtBQUVELE1BQU0sWUFBWTtJQUNJO0lBQXBCLFlBQW9CLFVBQTREO1FBQTVELGVBQVUsR0FBVixVQUFVLENBQWtEO0lBQ2hGLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFRO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0NBQ0Y7QUFLRDs7R0FFRztBQXNDSCxNQUFNLE9BQU8sMEJBQTZDLFNBQVEsbUJBQW1CO0lBR25GLEtBQUssQ0FBSTtJQUdULElBQUksQ0FBaUI7SUFFWixPQUFPLEdBQWtCLEVBQUUsQ0FBQztJQUM1QixXQUFXLEdBQWtCLEVBQUUsQ0FBQztJQUVoQyxZQUFZLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQTtJQUVyQztRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsVUFBVSxDQUFDLGNBQXdDLEVBQUUsVUFBdUI7UUFDMUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxXQUFXLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXVEO1FBQ2pFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUF1QztRQUNqRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEIsT0FBTyxDQUFDO1lBQ04sVUFBVSxDQUFDLE9BQTJCLEVBQUUsSUFBaUI7Z0JBQ3ZELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3hELENBQUM7WUFDRCxZQUFZO2dCQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzlCLENBQUM7WUFDRCxXQUFXLENBQUMsT0FBdUQ7Z0JBQ2pFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDbkQsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCx5RUFBeUU7SUFDekUsNENBQTRDO0lBQzVDLHdFQUF3RTtJQUN4RSw4Q0FBOEM7SUFDOUMsNEJBQTRCO0lBQzVCLFFBQVE7SUFDUixvQkFBb0I7SUFDcEIsSUFBSTtJQUVJLGFBQWE7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsU0FBUyxDQUFDLElBQWlCO1FBQ3pCLE9BQU8sSUFBSSxZQUFZLFdBQVcsQ0FBQztJQUNyQyxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQWlCO1FBQzFCLE9BQU8sSUFBSSxZQUFZLFlBQVksQ0FBQztJQUN0QyxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQWlCO1FBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDZixDQUFDO3VHQXBFVSwwQkFBMEI7MkZBQTFCLDBCQUEwQixpSUFLMUIsY0FBYyx1RUF4Q2Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCVDs7MkZBV1UsMEJBQTBCO2tCQXJDdEMsU0FBUzsrQkFDRSx5QkFBeUIsWUFDekI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCVDswRUFjRCxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdE1lbnVUcmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5cbmltcG9ydCB7IENvbW1hbmQsIERzbCwgVHJhY2UgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBDb21tYW5kRmFjZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1hbmRzL2NvbW1hbmQtZmFjZSc7XG5pbXBvcnQgeyBEaXNwb3NhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZURvd25sb2FkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZmlsZS9maWxlLWRvd25sb2FkL2ZpbGUtZG93bmxvYWQuY29tcG9uZW50JztcbmltcG9ydCB7IFRyYWNrIH0gZnJvbSAnLi4vLi4vLi4vdHJhY2snO1xuaW1wb3J0IHsgQ2VsbFJlbmRlcmVyIH0gZnJvbSAnLi4vY2VsbC1yZW5kZXJlcic7XG5pbXBvcnQgeyBNZW51QnVpbGRlciB9IGZyb20gJy4vbWVudS1idWlsZGVyJztcblxuXG4vLyBUT0RPOiBUaGlzIHBlcmZvcm1zIHBvb3JseSwgbG90cyBvZiBmYWN0b3J5IGNhbGxzIGluaXRpYWwgcmVuZGVyaW5nIGFuZCBvbiBtb3VzZSBtb3ZlbWVudHNcblxuY2xhc3MgQ29tbWFuZERhdGE8VCBleHRlbmRzIG9iamVjdD4ge1xuICBjb25zdHJ1Y3RvcihyZWFkb25seSBmYWN0b3J5OiBDb21tYW5kLkZhY3Rvcnk8VCwgdm9pZD4sIHJlYWRvbmx5IGZhY2U6IENvbW1hbmRGYWNlKSB7XG4gIH1cbn1cblxuY2xhc3MgRG93bmxvYWREYXRhPFQgZXh0ZW5kcyBvYmplY3Q+IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjcmVhdGVJbmZvOiAodmFsdWU6IFQpID0+IEZpbGVEb3dubG9hZENvbXBvbmVudC5Eb3dubG9hZEluZm8pIHtcbiAgfVxuXG4gIGNyZWF0ZURvd25sb2FkSW5mbyh2YWx1ZTogVCk6IEZpbGVEb3dubG9hZENvbXBvbmVudC5Eb3dubG9hZEluZm8ge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZUluZm8odmFsdWUpO1xuICB9XG59XG5cbnR5cGUgTWVudUl0ZW08VCBleHRlbmRzIG9iamVjdD4gPSBDb21tYW5kRGF0YTxUPiB8IERvd25sb2FkRGF0YTxUPiB8IG51bGw7XG5cblxuLyoqXG4gKlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtdGFibGUtYWN0aW9uLWNvbHVtbicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGF1cC10b29sLWJhcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBhY3Rpb25zO3RyYWNrQnk6IHRyYWNrQnlJbmRleFwiPlxuICAgICAgICA8YXVwLWNvbW1hbmQgKm5nSWY9XCJpc0NvbW1hbmQoYWN0aW9uKVwiXG4gICAgICAgICAgICAgICAgICAgICAjY29tcFxuICAgICAgICAgICAgICAgICAgICAgW2NvbW1hbmRdPVwiYWN0aW9uLmZhY3RvcnkuY3JlYXRlKHZhbHVlLCB7ZGlzcG9zZWRXaXRoOiBjb21wfSlcIlxuICAgICAgICAgICAgICAgICAgICAgW2ZhY2VdPVwiYWN0aW9uLmZhY2VcIiAvPlxuICAgICAgICA8YXVwLWZpbGUtZG93bmxvYWQgKm5nSWY9XCJpc0Rvd25sb2FkKGFjdGlvbilcIiBbZG93bmxvYWRdPVwiYWN0aW9uLmNyZWF0ZURvd25sb2FkSW5mbyh2YWx1ZSlcIiAvPlxuICAgICAgICA8YXVwLXNlcGFyYXRvciAqbmdJZj1cImlzU2VwYXJhdG9yKGFjdGlvbilcIiAvPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9hdXAtdG9vbC1iYXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vcmVBY3Rpb25zLmxlbmd0aCA+IDBcIj5cbiAgICAgIDxhdXAtZmxleCBjbGFzcz1cImZsZXhcIiAvPlxuICAgICAgPGF1cC1tb3JlLW1lbnU+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBtb3JlQWN0aW9uczsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCI+XG4gICAgICAgICAgPGF1cC1jb21tYW5kICpuZ0lmPVwiaXNDb21tYW5kKGFjdGlvbilcIlxuICAgICAgICAgICAgICAgICAgICAgICAjY29tcFxuICAgICAgICAgICAgICAgICAgICAgICBbY29tbWFuZF09XCJhY3Rpb24uZmFjdG9yeS5jcmVhdGUodmFsdWUsIHtkaXNwb3NlZFdpdGg6IGNvbXB9KVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtmYWNlXT1cImFjdGlvbi5mYWNlXCIgLz5cbiAgICAgICAgICA8YXVwLWZpbGUtZG93bmxvYWQgKm5nSWY9XCJpc0Rvd25sb2FkKGFjdGlvbilcIiBbZG93bmxvYWRdPVwiYWN0aW9uLmNyZWF0ZURvd25sb2FkSW5mbyh2YWx1ZSlcIiAvPlxuICAgICAgICAgIDxhdXAtc2VwYXJhdG9yICpuZ0lmPVwiaXNTZXBhcmF0b3IoYWN0aW9uKVwiIC8+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9hdXAtbW9yZS1tZW51PlxuICAgIDwvbmctY29udGFpbmVyPlxuICBgLFxuICBzdHlsZXM6IFtgOmhvc3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfWBdXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQWN0aW9uQ29sdW1uQ29tcG9uZW50PFQgZXh0ZW5kcyBvYmplY3Q+IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIENlbGxSZW5kZXJlcjxUPiwgTWVudUJ1aWxkZXI8VD4ge1xuXG4gIEBJbnB1dCgpXG4gIHZhbHVlOiBUO1xuXG4gIEBWaWV3Q2hpbGQoTWF0TWVudVRyaWdnZXIpXG4gIG1lbnU6IE1hdE1lbnVUcmlnZ2VyO1xuXG4gIHJlYWRvbmx5IGFjdGlvbnM6IE1lbnVJdGVtPFQ+W10gPSBbXTtcbiAgcmVhZG9ubHkgbW9yZUFjdGlvbnM6IE1lbnVJdGVtPFQ+W10gPSBbXTtcblxuICByZWFkb25seSB0cmFja0J5SW5kZXggPSBUcmFjay5ieUluZGV4XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLm9uSW5pdCgoKSA9PiBjb25zb2xlLmxvZyhcInRhYmxlIGFjdGlvbiBjb2x1bW4gaW5pdFwiKSk7XG4gIH1cblxuICBhZGRDb21tYW5kKGNvbW1hbmRGYWN0b3J5OiBDb21tYW5kLkZhY3Rvcnk8VCwgdm9pZD4sIHByb3BlcnRpZXM6IENvbW1hbmRGYWNlKSB7XG4gICAgdGhpcy5hY3Rpb25zLnB1c2gobmV3IENvbW1hbmREYXRhKGNvbW1hbmRGYWN0b3J5LCBwcm9wZXJ0aWVzKSk7XG4gIH1cblxuICBhZGRTZXBhcmF0b3IoKSB7XG4gICAgdGhpcy5hY3Rpb25zLnB1c2gobnVsbCk7XG4gIH1cblxuICBhZGREb3dubG9hZChmYWN0b3J5OiAocm93OiBUKSA9PiBGaWxlRG93bmxvYWRDb21wb25lbnQuRG93bmxvYWRJbmZvKSB7XG4gICAgdGhpcy5hY3Rpb25zLnB1c2gobmV3IERvd25sb2FkRGF0YShmYWN0b3J5KSk7XG4gIH1cblxuICBhZGRNb3JlTWVudShidWlsZGVyOiAobWVudTogTWVudUJ1aWxkZXI8VD4pID0+IHZvaWQpIHtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICBidWlsZGVyKHtcbiAgICAgIGFkZENvbW1hbmQoZmFjdG9yeTogQ29tbWFuZC5GYWN0b3J5PFQ+LCBmYWNlOiBDb21tYW5kRmFjZSkge1xuICAgICAgICBzZWxmLm1vcmVBY3Rpb25zLnB1c2gobmV3IENvbW1hbmREYXRhKGZhY3RvcnksIGZhY2UpKTtcbiAgICAgIH0sXG4gICAgICBhZGRTZXBhcmF0b3IoKSB7XG4gICAgICAgIHNlbGYubW9yZUFjdGlvbnMucHVzaChudWxsKTtcbiAgICAgIH0sXG4gICAgICBhZGREb3dubG9hZChmYWN0b3J5OiAocm93OiBUKSA9PiBGaWxlRG93bmxvYWRDb21wb25lbnQuRG93bmxvYWRJbmZvKSB7XG4gICAgICAgIHNlbGYubW9yZUFjdGlvbnMucHVzaChuZXcgRG93bmxvYWREYXRhKGZhY3RvcnkpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8vIGNyZWF0ZU1vcmVNZW51Q29tbWFuZChpdGVtOiBDb21tYW5kRGF0YTxUPiwgdmFsdWU6IFQpOiBDb21tYW5kPHZvaWQ+IHtcbiAgLy8gICBjb25zdCB7IHdoZW4gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgLy8gICBjb25zdCBjb21tYW5kID0gaXRlbS5mYWN0b3J5LmNyZWF0ZSh2YWx1ZSwgeyBkaXNwb3NlZFdpdGg6IHRoaXMgfSk7XG4gIC8vICAgd2hlbihjb21tYW5kLmJ1c3kkKS5iZWNvbWVzRmFsc2V5KCgpID0+IHtcbiAgLy8gICAgIHRoaXMuY2xvc2VNb3JlTWVudSgpO1xuICAvLyAgIH0pO1xuICAvLyAgIHJldHVybiBjb21tYW5kO1xuICAvLyB9XG5cbiAgcHJpdmF0ZSBjbG9zZU1vcmVNZW51KCkge1xuICAgIHRoaXMubWVudS5jbG9zZU1lbnUoKTtcbiAgfVxuXG4gIGlzQ29tbWFuZChpdGVtOiBNZW51SXRlbTxUPik6IGl0ZW0gaXMgQ29tbWFuZERhdGE8VD4ge1xuICAgIHJldHVybiBpdGVtIGluc3RhbmNlb2YgQ29tbWFuZERhdGE7XG4gIH1cblxuICBpc0Rvd25sb2FkKGl0ZW06IE1lbnVJdGVtPFQ+KTogaXRlbSBpcyBEb3dubG9hZERhdGE8VD4ge1xuICAgIHJldHVybiBpdGVtIGluc3RhbmNlb2YgRG93bmxvYWREYXRhO1xuICB9XG5cbiAgaXNTZXBhcmF0b3IoaXRlbTogTWVudUl0ZW08VD4pIHtcbiAgICByZXR1cm4gIWl0ZW07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -4366,7 +4366,8 @@ class FooterRowModel {
|
|
|
4366
4366
|
})(FooterRowModel || (FooterRowModel = {}));
|
|
4367
4367
|
ProxyRegistry.registerOneTimeBinding(FooterRowModel);
|
|
4368
4368
|
|
|
4369
|
-
|
|
4369
|
+
// TODO: This performs poorly, lots of factory calls initial rendering and on mouse movements
|
|
4370
|
+
class CommandData {
|
|
4370
4371
|
factory;
|
|
4371
4372
|
face;
|
|
4372
4373
|
constructor(factory, face) {
|
|
@@ -4374,6 +4375,15 @@ class MenuItemData {
|
|
|
4374
4375
|
this.face = face;
|
|
4375
4376
|
}
|
|
4376
4377
|
}
|
|
4378
|
+
class DownloadData {
|
|
4379
|
+
createInfo;
|
|
4380
|
+
constructor(createInfo) {
|
|
4381
|
+
this.createInfo = createInfo;
|
|
4382
|
+
}
|
|
4383
|
+
createDownloadInfo(value) {
|
|
4384
|
+
return this.createInfo(value);
|
|
4385
|
+
}
|
|
4386
|
+
}
|
|
4377
4387
|
/**
|
|
4378
4388
|
*
|
|
4379
4389
|
*/
|
|
@@ -4382,83 +4392,104 @@ class TableActionColumnComponent extends DisposableComponent {
|
|
|
4382
4392
|
menu;
|
|
4383
4393
|
actions = [];
|
|
4384
4394
|
moreActions = [];
|
|
4395
|
+
trackByIndex = Track.byIndex;
|
|
4396
|
+
constructor() {
|
|
4397
|
+
super();
|
|
4398
|
+
this.onInit(() => console.log("table action column init"));
|
|
4399
|
+
}
|
|
4385
4400
|
addCommand(commandFactory, properties) {
|
|
4386
|
-
this.actions.push(new
|
|
4401
|
+
this.actions.push(new CommandData(commandFactory, properties));
|
|
4387
4402
|
}
|
|
4388
4403
|
addSeparator() {
|
|
4389
4404
|
this.actions.push(null);
|
|
4390
4405
|
}
|
|
4406
|
+
addDownload(factory) {
|
|
4407
|
+
this.actions.push(new DownloadData(factory));
|
|
4408
|
+
}
|
|
4391
4409
|
addMoreMenu(builder) {
|
|
4392
4410
|
const self = this;
|
|
4393
4411
|
builder({
|
|
4394
4412
|
addCommand(factory, face) {
|
|
4395
|
-
self.moreActions.push(new
|
|
4413
|
+
self.moreActions.push(new CommandData(factory, face));
|
|
4396
4414
|
},
|
|
4397
4415
|
addSeparator() {
|
|
4398
4416
|
self.moreActions.push(null);
|
|
4417
|
+
},
|
|
4418
|
+
addDownload(factory) {
|
|
4419
|
+
self.moreActions.push(new DownloadData(factory));
|
|
4399
4420
|
}
|
|
4400
4421
|
});
|
|
4401
4422
|
}
|
|
4402
|
-
|
|
4403
|
-
|
|
4404
|
-
}
|
|
4405
|
-
|
|
4406
|
-
|
|
4407
|
-
|
|
4408
|
-
|
|
4409
|
-
|
|
4410
|
-
});
|
|
4411
|
-
return command;
|
|
4412
|
-
}
|
|
4423
|
+
// createMoreMenuCommand(item: CommandData<T>, value: T): Command<void> {
|
|
4424
|
+
// const { when } = Dsl.disposeWith(this);
|
|
4425
|
+
// const command = item.factory.create(value, { disposedWith: this });
|
|
4426
|
+
// when(command.busy$).becomesFalsey(() => {
|
|
4427
|
+
// this.closeMoreMenu();
|
|
4428
|
+
// });
|
|
4429
|
+
// return command;
|
|
4430
|
+
// }
|
|
4413
4431
|
closeMoreMenu() {
|
|
4414
4432
|
this.menu.closeMenu();
|
|
4415
4433
|
}
|
|
4434
|
+
isCommand(item) {
|
|
4435
|
+
return item instanceof CommandData;
|
|
4436
|
+
}
|
|
4437
|
+
isDownload(item) {
|
|
4438
|
+
return item instanceof DownloadData;
|
|
4439
|
+
}
|
|
4440
|
+
isSeparator(item) {
|
|
4441
|
+
return !item;
|
|
4442
|
+
}
|
|
4416
4443
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableActionColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4417
4444
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TableActionColumnComponent, selector: "aup-table-action-column", inputs: { value: "value" }, viewQueries: [{ propertyName: "menu", first: true, predicate: MatMenuTrigger, descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
4418
4445
|
<aup-tool-bar>
|
|
4419
|
-
<ng-container *ngFor="let action of actions">
|
|
4420
|
-
<aup-command *ngIf="action"
|
|
4446
|
+
<ng-container *ngFor="let action of actions;trackBy: trackByIndex">
|
|
4447
|
+
<aup-command *ngIf="isCommand(action)"
|
|
4421
4448
|
#comp
|
|
4422
4449
|
[command]="action.factory.create(value, {disposedWith: comp})"
|
|
4423
|
-
[face]="action.face"
|
|
4424
|
-
<aup-
|
|
4450
|
+
[face]="action.face" />
|
|
4451
|
+
<aup-file-download *ngIf="isDownload(action)" [download]="action.createDownloadInfo(value)" />
|
|
4452
|
+
<aup-separator *ngIf="isSeparator(action)" />
|
|
4425
4453
|
</ng-container>
|
|
4426
4454
|
</aup-tool-bar>
|
|
4427
4455
|
<ng-container *ngIf="moreActions.length > 0">
|
|
4428
|
-
<aup-flex class="flex"/>
|
|
4456
|
+
<aup-flex class="flex" />
|
|
4429
4457
|
<aup-more-menu>
|
|
4430
|
-
<ng-container *ngFor="let action of moreActions">
|
|
4431
|
-
<aup-command *ngIf="action"
|
|
4458
|
+
<ng-container *ngFor="let action of moreActions; trackBy: trackByIndex">
|
|
4459
|
+
<aup-command *ngIf="isCommand(action)"
|
|
4432
4460
|
#comp
|
|
4433
4461
|
[command]="action.factory.create(value, {disposedWith: comp})"
|
|
4434
|
-
[face]="action.face"
|
|
4435
|
-
<aup-
|
|
4462
|
+
[face]="action.face" />
|
|
4463
|
+
<aup-file-download *ngIf="isDownload(action)" [download]="action.createDownloadInfo(value)" />
|
|
4464
|
+
<aup-separator *ngIf="isSeparator(action)" />
|
|
4436
4465
|
</ng-container>
|
|
4437
4466
|
</aup-more-menu>
|
|
4438
4467
|
</ng-container>
|
|
4439
|
-
`, isInline: true, styles: [":host{display:inline-flex;flex-direction:row;align-items:center}:host:last-child{padding-right:0}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ToolBarComponent, selector: "aup-tool-bar" }, { kind: "component", type: CommandComponent, selector: "aup-command", inputs: ["command", "face$", "face", "busyFace$", "busyFace", "alignFace"] }, { kind: "component", type: MoreMenuComponent, selector: "aup-more-menu", inputs: ["tooltip"] }, { kind: "component", type: SeparatorComponent, selector: "aup-separator" }, { kind: "component", type: FlexComponent, selector: "aup-flex" }] });
|
|
4468
|
+
`, isInline: true, styles: [":host{display:inline-flex;flex-direction:row;align-items:center}:host:last-child{padding-right:0}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ToolBarComponent, selector: "aup-tool-bar" }, { kind: "component", type: CommandComponent, selector: "aup-command", inputs: ["command", "face$", "face", "busyFace$", "busyFace", "alignFace"] }, { kind: "component", type: MoreMenuComponent, selector: "aup-more-menu", inputs: ["tooltip"] }, { kind: "component", type: SeparatorComponent, selector: "aup-separator" }, { kind: "component", type: FlexComponent, selector: "aup-flex" }, { kind: "component", type: FileDownloadComponent, selector: "aup-file-download", inputs: ["download$", "download", "alignFace"] }] });
|
|
4440
4469
|
}
|
|
4441
4470
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableActionColumnComponent, decorators: [{
|
|
4442
4471
|
type: Component,
|
|
4443
4472
|
args: [{ selector: 'aup-table-action-column', template: `
|
|
4444
4473
|
<aup-tool-bar>
|
|
4445
|
-
<ng-container *ngFor="let action of actions">
|
|
4446
|
-
<aup-command *ngIf="action"
|
|
4474
|
+
<ng-container *ngFor="let action of actions;trackBy: trackByIndex">
|
|
4475
|
+
<aup-command *ngIf="isCommand(action)"
|
|
4447
4476
|
#comp
|
|
4448
4477
|
[command]="action.factory.create(value, {disposedWith: comp})"
|
|
4449
|
-
[face]="action.face"
|
|
4450
|
-
<aup-
|
|
4478
|
+
[face]="action.face" />
|
|
4479
|
+
<aup-file-download *ngIf="isDownload(action)" [download]="action.createDownloadInfo(value)" />
|
|
4480
|
+
<aup-separator *ngIf="isSeparator(action)" />
|
|
4451
4481
|
</ng-container>
|
|
4452
4482
|
</aup-tool-bar>
|
|
4453
4483
|
<ng-container *ngIf="moreActions.length > 0">
|
|
4454
|
-
<aup-flex class="flex"/>
|
|
4484
|
+
<aup-flex class="flex" />
|
|
4455
4485
|
<aup-more-menu>
|
|
4456
|
-
<ng-container *ngFor="let action of moreActions">
|
|
4457
|
-
<aup-command *ngIf="action"
|
|
4486
|
+
<ng-container *ngFor="let action of moreActions; trackBy: trackByIndex">
|
|
4487
|
+
<aup-command *ngIf="isCommand(action)"
|
|
4458
4488
|
#comp
|
|
4459
4489
|
[command]="action.factory.create(value, {disposedWith: comp})"
|
|
4460
|
-
[face]="action.face"
|
|
4461
|
-
<aup-
|
|
4490
|
+
[face]="action.face" />
|
|
4491
|
+
<aup-file-download *ngIf="isDownload(action)" [download]="action.createDownloadInfo(value)" />
|
|
4492
|
+
<aup-separator *ngIf="isSeparator(action)" />
|
|
4462
4493
|
</ng-container>
|
|
4463
4494
|
</aup-more-menu>
|
|
4464
4495
|
</ng-container>
|