@sd-angular/core 1.3.146 → 1.3.147
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/bundles/sd-angular-core-table.umd.js +4004 -0
- package/bundles/sd-angular-core-table.umd.js.map +1 -0
- package/bundles/sd-angular-core-table.umd.min.js +2 -0
- package/bundles/sd-angular-core-table.umd.min.js.map +1 -0
- package/bundles/sd-angular-core.umd.js +6 -4
- package/bundles/sd-angular-core.umd.js.map +1 -1
- package/bundles/sd-angular-core.umd.min.js +1 -1
- package/bundles/sd-angular-core.umd.min.js.map +1 -1
- package/esm2015/lib/core.module.js +4 -1
- package/esm2015/public-api.js +2 -1
- package/esm2015/table/index.js +2 -0
- package/esm2015/table/sd-angular-core-table.js +40 -0
- package/esm2015/table/src/lib/components/column-inline-filter/column-inline-filter.component.js +74 -0
- package/esm2015/table/src/lib/components/desktop-cell/desktop-cell.component.js +25 -0
- package/esm2015/table/src/lib/components/desktop-cell-view/desktop-cell-view.component.js +21 -0
- package/esm2015/table/src/lib/components/desktop-command/desktop-command.component.js +20 -0
- package/esm2015/table/src/lib/components/grid-filter/grid-filter.component.js +99 -0
- package/esm2015/table/src/lib/components/popup-filter/popup-filter.component.js +79 -0
- package/esm2015/table/src/lib/components/popup-grid-configuration/popup-grid-configuration.component.js +96 -0
- package/esm2015/table/src/lib/components/quick-action/quick-action.component.js +24 -0
- package/esm2015/table/src/lib/directives/sd-material-cell-def.directive.js +18 -0
- package/esm2015/table/src/lib/directives/sd-material-empty-data-def.directive.js +15 -0
- package/esm2015/table/src/lib/directives/sd-material-filter-def.directive.js +22 -0
- package/esm2015/table/src/lib/directives/sd-material-footer-def.directive.js +18 -0
- package/esm2015/table/src/lib/directives/sd-material-sub-information-def.directive.js +15 -0
- package/esm2015/table/src/lib/models/grid-cell.model.js +2 -0
- package/esm2015/table/src/lib/models/index.js +4 -0
- package/esm2015/table/src/lib/models/table-column.model.js +39 -0
- package/esm2015/table/src/lib/models/table-command.model.js +2 -0
- package/esm2015/table/src/lib/models/table-configuration.model.js +9 -0
- package/esm2015/table/src/lib/models/table-item.model.js +15 -0
- package/esm2015/table/src/lib/models/table-option-config.model.js +2 -0
- package/esm2015/table/src/lib/models/table-option-expand.model.js +2 -0
- package/esm2015/table/src/lib/models/table-option-export.model.js +2 -0
- package/esm2015/table/src/lib/models/table-option-group.model.js +2 -0
- package/esm2015/table/src/lib/models/table-option-paginate.model.js +2 -0
- package/esm2015/table/src/lib/models/table-option-reload.model.js +2 -0
- package/esm2015/table/src/lib/models/table-option-selector.model.js +2 -0
- package/esm2015/table/src/lib/models/table-option-sort.model.js +2 -0
- package/esm2015/table/src/lib/models/table-option-style.model.js +2 -0
- package/esm2015/table/src/lib/models/table-option.model.js +2 -0
- package/esm2015/table/src/lib/pipes/cell-view.pipe.js +180 -0
- package/esm2015/table/src/lib/pipes/column-badge.pipe.js +43 -0
- package/esm2015/table/src/lib/pipes/column-children-filter.pipe.js +31 -0
- package/esm2015/table/src/lib/pipes/column-html-template.pipe.js +23 -0
- package/esm2015/table/src/lib/pipes/column-tooltip.pipe.js +17 -0
- package/esm2015/table/src/lib/pipes/column-transform.pipe.js +35 -0
- package/esm2015/table/src/lib/pipes/column-values.pipe.js +63 -0
- package/esm2015/table/src/lib/pipes/command-disable.pipe.js +18 -0
- package/esm2015/table/src/lib/pipes/command-filter.pipe.js +79 -0
- package/esm2015/table/src/lib/pipes/command-icon.pipe.js +18 -0
- package/esm2015/table/src/lib/pipes/command-title.pipe.js +18 -0
- package/esm2015/table/src/lib/pipes/filter-column.pipe.js +30 -0
- package/esm2015/table/src/lib/pipes/filter-external.pipe.js +19 -0
- package/esm2015/table/src/lib/pipes/grid-configuration-result.pipe.js +21 -0
- package/esm2015/table/src/lib/pipes/sd-group.pipe.js +45 -0
- package/esm2015/table/src/lib/pipes/selection-action-filter.pipe.js +72 -0
- package/esm2015/table/src/lib/pipes/selection-disable.pipe.js +55 -0
- package/esm2015/table/src/lib/pipes/selection-visible-select-all.pipe.js +34 -0
- package/esm2015/table/src/lib/pipes/selection-visible.pipe.js +82 -0
- package/esm2015/table/src/lib/services/table-configuration.service.js +292 -0
- package/esm2015/table/src/lib/services/table-filter/table-filter.model.js +3 -0
- package/esm2015/table/src/lib/services/table-filter/table-filter.service.js +229 -0
- package/esm2015/table/src/lib/table.component.js +816 -0
- package/esm2015/table/src/lib/table.module.js +175 -0
- package/esm2015/table/src/public-api.js +5 -0
- package/fesm2015/sd-angular-core-table.js +2865 -0
- package/fesm2015/sd-angular-core-table.js.map +1 -0
- package/fesm2015/sd-angular-core.js +3 -0
- package/fesm2015/sd-angular-core.js.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/{sd-angular-core-1.3.146.tgz → sd-angular-core-1.3.147.tgz} +0 -0
- package/sd-angular-core.metadata.json +1 -1
- package/table/index.d.ts +1 -0
- package/table/package.json +12 -0
- package/table/sd-angular-core-table.d.ts +39 -0
- package/table/sd-angular-core-table.metadata.json +1 -0
- package/table/src/lib/components/column-inline-filter/column-inline-filter.component.d.ts +22 -0
- package/table/src/lib/components/desktop-cell/desktop-cell.component.d.ts +17 -0
- package/table/src/lib/components/desktop-cell-view/desktop-cell-view.component.d.ts +11 -0
- package/table/src/lib/components/desktop-command/desktop-command.component.d.ts +7 -0
- package/table/src/lib/components/grid-filter/grid-filter.component.d.ts +35 -0
- package/table/src/lib/components/popup-filter/popup-filter.component.d.ts +27 -0
- package/table/src/lib/components/popup-grid-configuration/popup-grid-configuration.component.d.ts +39 -0
- package/table/src/lib/components/quick-action/quick-action.component.d.ts +9 -0
- package/table/src/lib/directives/sd-material-cell-def.directive.d.ts +6 -0
- package/table/src/lib/directives/sd-material-empty-data-def.directive.d.ts +5 -0
- package/table/src/lib/directives/sd-material-filter-def.directive.d.ts +8 -0
- package/table/src/lib/directives/sd-material-footer-def.directive.d.ts +6 -0
- package/table/src/lib/directives/sd-material-sub-information-def.directive.d.ts +5 -0
- package/table/src/lib/models/grid-cell.model.d.ts +16 -0
- package/table/src/lib/models/index.d.ts +3 -0
- package/table/src/lib/models/table-column.model.d.ts +124 -0
- package/table/src/lib/models/table-command.model.d.ts +19 -0
- package/table/src/lib/models/table-configuration.model.d.ts +13 -0
- package/table/src/lib/models/table-item.model.d.ts +25 -0
- package/table/src/lib/models/table-option-config.model.d.ts +62 -0
- package/table/src/lib/models/table-option-expand.model.d.ts +6 -0
- package/table/src/lib/models/table-option-export.model.d.ts +31 -0
- package/table/src/lib/models/table-option-group.model.d.ts +4 -0
- package/table/src/lib/models/table-option-paginate.model.d.ts +6 -0
- package/table/src/lib/models/table-option-reload.model.d.ts +5 -0
- package/table/src/lib/models/table-option-selector.model.d.ts +32 -0
- package/table/src/lib/models/table-option-sort.model.d.ts +3 -0
- package/table/src/lib/models/table-option-style.model.d.ts +6 -0
- package/table/src/lib/models/table-option.model.d.ts +44 -0
- package/table/src/lib/pipes/cell-view.pipe.d.ts +15 -0
- package/table/src/lib/pipes/column-badge.pipe.d.ts +11 -0
- package/table/src/lib/pipes/column-children-filter.pipe.d.ts +8 -0
- package/table/src/lib/pipes/column-html-template.pipe.d.ts +8 -0
- package/table/src/lib/pipes/column-tooltip.pipe.d.ts +6 -0
- package/table/src/lib/pipes/column-transform.pipe.d.ts +8 -0
- package/table/src/lib/pipes/column-values.pipe.d.ts +6 -0
- package/table/src/lib/pipes/command-disable.pipe.d.ts +5 -0
- package/table/src/lib/pipes/command-filter.pipe.d.ts +6 -0
- package/table/src/lib/pipes/command-icon.pipe.d.ts +5 -0
- package/table/src/lib/pipes/command-title.pipe.d.ts +5 -0
- package/table/src/lib/pipes/filter-column.pipe.d.ts +5 -0
- package/table/src/lib/pipes/filter-external.pipe.d.ts +5 -0
- package/table/src/lib/pipes/grid-configuration-result.pipe.d.ts +10 -0
- package/table/src/lib/pipes/sd-group.pipe.d.ts +6 -0
- package/table/src/lib/pipes/selection-action-filter.pipe.d.ts +7 -0
- package/table/src/lib/pipes/selection-disable.pipe.d.ts +6 -0
- package/table/src/lib/pipes/selection-visible-select-all.pipe.d.ts +6 -0
- package/table/src/lib/pipes/selection-visible.pipe.d.ts +6 -0
- package/table/src/lib/services/table-configuration.service.d.ts +13 -0
- package/table/src/lib/services/table-filter/table-filter.model.d.ts +117 -0
- package/table/src/lib/services/table-filter/table-filter.service.d.ts +15 -0
- package/table/src/lib/table.component.d.ts +87 -0
- package/table/src/lib/table.module.d.ts +11 -0
- package/table/src/public-api.d.ts +5 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Pipe } from '@angular/core';
|
|
3
|
+
export class SdCommandFilterPipe {
|
|
4
|
+
transform(item, commands) {
|
|
5
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
6
|
+
const results = [];
|
|
7
|
+
if (!commands) {
|
|
8
|
+
return results;
|
|
9
|
+
}
|
|
10
|
+
for (const command of commands) {
|
|
11
|
+
let flag = false;
|
|
12
|
+
const { hidden } = command;
|
|
13
|
+
if (hidden === undefined) {
|
|
14
|
+
flag = true;
|
|
15
|
+
}
|
|
16
|
+
else if (typeof (hidden) === 'boolean') {
|
|
17
|
+
if (!hidden) {
|
|
18
|
+
flag = true;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
const isHidden = hidden(item);
|
|
23
|
+
if (isHidden instanceof Promise) {
|
|
24
|
+
if (!(yield isHidden)) {
|
|
25
|
+
flag = true;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
if (!isHidden) {
|
|
30
|
+
flag = true;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (flag) {
|
|
35
|
+
if ('children' in command) {
|
|
36
|
+
const children = [];
|
|
37
|
+
for (const childCommand of command.children) {
|
|
38
|
+
const { hidden } = childCommand;
|
|
39
|
+
if (hidden === undefined) {
|
|
40
|
+
children.push(childCommand);
|
|
41
|
+
}
|
|
42
|
+
else if (typeof (hidden) === 'boolean') {
|
|
43
|
+
if (!hidden) {
|
|
44
|
+
children.push(childCommand);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
const isHidden = hidden(item);
|
|
49
|
+
if (isHidden instanceof Promise) {
|
|
50
|
+
if (!(yield isHidden)) {
|
|
51
|
+
children.push(childCommand);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
if (!isHidden) {
|
|
56
|
+
children.push(childCommand);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (children.length > 0) {
|
|
62
|
+
results.push(Object.assign(Object.assign({}, command), { children }));
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
results.push(command);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return results;
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
SdCommandFilterPipe.decorators = [
|
|
75
|
+
{ type: Pipe, args: [{
|
|
76
|
+
name: 'commandFilter'
|
|
77
|
+
},] }
|
|
78
|
+
];
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1maWx0ZXIucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvdGFibGUvIiwic291cmNlcyI6WyJzcmMvbGliL3BpcGVzL2NvbW1hbmQtZmlsdGVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBTXBELE1BQU0sT0FBTyxtQkFBbUI7SUFDeEIsU0FBUyxDQUFDLElBQWlCLEVBQUUsUUFBMEI7O1lBQzNELE1BQU0sT0FBTyxHQUFxQixFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDYixPQUFPLE9BQU8sQ0FBQzthQUNoQjtZQUNELEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxFQUFFO2dCQUM5QixJQUFJLElBQUksR0FBRyxLQUFLLENBQUM7Z0JBQ2pCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUM7Z0JBQzNCLElBQUksTUFBTSxLQUFLLFNBQVMsRUFBRTtvQkFDeEIsSUFBSSxHQUFHLElBQUksQ0FBQztpQkFDYjtxQkFBTSxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxTQUFTLEVBQUU7b0JBQ3hDLElBQUksQ0FBQyxNQUFNLEVBQUU7d0JBQ1gsSUFBSSxHQUFHLElBQUksQ0FBQztxQkFDYjtpQkFDRjtxQkFBTTtvQkFDTCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzlCLElBQUksUUFBUSxZQUFZLE9BQU8sRUFBRTt3QkFDL0IsSUFBSSxDQUFDLENBQUEsTUFBTSxRQUFRLENBQUEsRUFBRTs0QkFDbkIsSUFBSSxHQUFHLElBQUksQ0FBQzt5QkFDYjtxQkFDRjt5QkFBTTt3QkFDTCxJQUFJLENBQUMsUUFBUSxFQUFFOzRCQUNiLElBQUksR0FBRyxJQUFJLENBQUM7eUJBQ2I7cUJBQ0Y7aUJBQ0Y7Z0JBQ0QsSUFBSSxJQUFJLEVBQUU7b0JBQ1IsSUFBSSxVQUFVLElBQUksT0FBTyxFQUFFO3dCQUN6QixNQUFNLFFBQVEsR0FBMkIsRUFBRSxDQUFDO3dCQUM1QyxLQUFLLE1BQU0sWUFBWSxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUU7NEJBQzNDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxZQUFZLENBQUM7NEJBQ2hDLElBQUksTUFBTSxLQUFLLFNBQVMsRUFBRTtnQ0FDeEIsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzs2QkFDN0I7aUNBQU0sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssU0FBUyxFQUFFO2dDQUN4QyxJQUFJLENBQUMsTUFBTSxFQUFFO29DQUNYLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7aUNBQzdCOzZCQUNGO2lDQUFNO2dDQUNMLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQ0FDOUIsSUFBSSxRQUFRLFlBQVksT0FBTyxFQUFFO29DQUMvQixJQUFJLENBQUMsQ0FBQSxNQUFNLFFBQVEsQ0FBQSxFQUFFO3dDQUNuQixRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO3FDQUM3QjtpQ0FDRjtxQ0FBTTtvQ0FDTCxJQUFJLENBQUMsUUFBUSxFQUFFO3dDQUNiLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7cUNBQzdCO2lDQUNGOzZCQUNGO3lCQUNGO3dCQUNELElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7NEJBQ3ZCLE9BQU8sQ0FBQyxJQUFJLGlDQUFNLE9BQU8sS0FBRSxRQUFRLElBQUcsQ0FBQzt5QkFDeEM7cUJBQ0Y7eUJBQU07d0JBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztxQkFDdkI7aUJBQ0Y7YUFDRjtZQUNELE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7S0FBQTs7O1lBL0RGLElBQUksU0FBQztnQkFDSixJQUFJLEVBQUUsZUFBZTthQUN0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2RUYWJsZUNvbW1hbmQsIFNkVGFibGVDb21tYW5kTm9ybWFsIH0gZnJvbSAnLi4vbW9kZWxzL3RhYmxlLWNvbW1hbmQubW9kZWwnO1xyXG5pbXBvcnQgeyBTZFRhYmxlSXRlbSB9IGZyb20gJy4uL21vZGVscy90YWJsZS1pdGVtLm1vZGVsJztcclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdjb21tYW5kRmlsdGVyJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RDb21tYW5kRmlsdGVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIGFzeW5jIHRyYW5zZm9ybShpdGVtOiBTZFRhYmxlSXRlbSwgY29tbWFuZHM6IFNkVGFibGVDb21tYW5kW10pOiBQcm9taXNlPFNkVGFibGVDb21tYW5kW10+IHtcclxuICAgIGNvbnN0IHJlc3VsdHM6IFNkVGFibGVDb21tYW5kW10gPSBbXTtcclxuICAgIGlmICghY29tbWFuZHMpIHtcclxuICAgICAgcmV0dXJuIHJlc3VsdHM7XHJcbiAgICB9XHJcbiAgICBmb3IgKGNvbnN0IGNvbW1hbmQgb2YgY29tbWFuZHMpIHtcclxuICAgICAgbGV0IGZsYWcgPSBmYWxzZTtcclxuICAgICAgY29uc3QgeyBoaWRkZW4gfSA9IGNvbW1hbmQ7XHJcbiAgICAgIGlmIChoaWRkZW4gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGZsYWcgPSB0cnVlO1xyXG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiAoaGlkZGVuKSA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgaWYgKCFoaWRkZW4pIHtcclxuICAgICAgICAgIGZsYWcgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBpc0hpZGRlbiA9IGhpZGRlbihpdGVtKTtcclxuICAgICAgICBpZiAoaXNIaWRkZW4gaW5zdGFuY2VvZiBQcm9taXNlKSB7XHJcbiAgICAgICAgICBpZiAoIWF3YWl0IGlzSGlkZGVuKSB7XHJcbiAgICAgICAgICAgIGZsYWcgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAoIWlzSGlkZGVuKSB7XHJcbiAgICAgICAgICAgIGZsYWcgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgIGlmICgnY2hpbGRyZW4nIGluIGNvbW1hbmQpIHtcclxuICAgICAgICAgIGNvbnN0IGNoaWxkcmVuOiBTZFRhYmxlQ29tbWFuZE5vcm1hbFtdID0gW107XHJcbiAgICAgICAgICBmb3IgKGNvbnN0IGNoaWxkQ29tbWFuZCBvZiBjb21tYW5kLmNoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgaGlkZGVuIH0gPSBjaGlsZENvbW1hbmQ7XHJcbiAgICAgICAgICAgIGlmIChoaWRkZW4gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgIGNoaWxkcmVuLnB1c2goY2hpbGRDb21tYW5kKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgKGhpZGRlbikgPT09ICdib29sZWFuJykge1xyXG4gICAgICAgICAgICAgIGlmICghaGlkZGVuKSB7XHJcbiAgICAgICAgICAgICAgICBjaGlsZHJlbi5wdXNoKGNoaWxkQ29tbWFuZCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGlzSGlkZGVuID0gaGlkZGVuKGl0ZW0pO1xyXG4gICAgICAgICAgICAgIGlmIChpc0hpZGRlbiBpbnN0YW5jZW9mIFByb21pc2UpIHtcclxuICAgICAgICAgICAgICAgIGlmICghYXdhaXQgaXNIaWRkZW4pIHtcclxuICAgICAgICAgICAgICAgICAgY2hpbGRyZW4ucHVzaChjaGlsZENvbW1hbmQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIWlzSGlkZGVuKSB7XHJcbiAgICAgICAgICAgICAgICAgIGNoaWxkcmVuLnB1c2goY2hpbGRDb21tYW5kKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChjaGlsZHJlbi5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdHMucHVzaCh7IC4uLmNvbW1hbmQsIGNoaWxkcmVuIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXN1bHRzLnB1c2goY29tbWFuZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0cztcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
export class SdCommandIconPipe {
|
|
3
|
+
transform(command, item) {
|
|
4
|
+
if (!(command === null || command === void 0 ? void 0 : command.icon)) {
|
|
5
|
+
return '';
|
|
6
|
+
}
|
|
7
|
+
if (typeof (command.icon) === 'string') {
|
|
8
|
+
return command.icon;
|
|
9
|
+
}
|
|
10
|
+
return command.icon(item);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
SdCommandIconPipe.decorators = [
|
|
14
|
+
{ type: Pipe, args: [{
|
|
15
|
+
name: 'commandIcon'
|
|
16
|
+
},] }
|
|
17
|
+
];
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1pY29uLnBpcGUuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1X29uZW1vdW50L0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL3RhYmxlLyIsInNvdXJjZXMiOlsic3JjL2xpYi9waXBlcy9jb21tYW5kLWljb24ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUtwRCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLFNBQVMsQ0FBQyxPQUF1QixFQUFFLElBQVM7UUFDMUMsSUFBSSxFQUFDLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxJQUFJLENBQUEsRUFBRTtZQUNsQixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBQ0QsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLFFBQVEsRUFBRTtZQUN0QyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUM7U0FDckI7UUFDRCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQzs7O1lBWkYsSUFBSSxTQUFDO2dCQUNKLElBQUksRUFBRSxhQUFhO2FBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTZFRhYmxlQ29tbWFuZCB9IGZyb20gJy4uL21vZGVscy90YWJsZS1jb21tYW5kLm1vZGVsJztcclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdjb21tYW5kSWNvbidcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkQ29tbWFuZEljb25QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKGNvbW1hbmQ6IFNkVGFibGVDb21tYW5kLCBpdGVtOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgaWYgKCFjb21tYW5kPy5pY29uKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICAgIGlmICh0eXBlb2YgKGNvbW1hbmQuaWNvbikgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHJldHVybiBjb21tYW5kLmljb247XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY29tbWFuZC5pY29uKGl0ZW0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
export class SdCommandTitlePipe {
|
|
3
|
+
transform(command, item) {
|
|
4
|
+
if (!(command === null || command === void 0 ? void 0 : command.title)) {
|
|
5
|
+
return '';
|
|
6
|
+
}
|
|
7
|
+
if (typeof (command.title) === 'string') {
|
|
8
|
+
return command.title;
|
|
9
|
+
}
|
|
10
|
+
return command.title(item);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
SdCommandTitlePipe.decorators = [
|
|
14
|
+
{ type: Pipe, args: [{
|
|
15
|
+
name: 'commandTitle'
|
|
16
|
+
},] }
|
|
17
|
+
];
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC10aXRsZS5waXBlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNV9vbmVtb3VudC9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS90YWJsZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvcGlwZXMvY29tbWFuZC10aXRsZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBS3BELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsU0FBUyxDQUFDLE9BQXVCLEVBQUUsSUFBUztRQUMxQyxJQUFJLEVBQUMsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEtBQUssQ0FBQSxFQUFFO1lBQ25CLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssUUFBUSxFQUFFO1lBQ3ZDLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQztTQUN0QjtRQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDOzs7WUFaRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLGNBQWM7YUFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNkVGFibGVDb21tYW5kIH0gZnJvbSAnLi4vbW9kZWxzL3RhYmxlLWNvbW1hbmQubW9kZWwnO1xyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ2NvbW1hbmRUaXRsZSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkQ29tbWFuZFRpdGxlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHRyYW5zZm9ybShjb21tYW5kOiBTZFRhYmxlQ29tbWFuZCwgaXRlbTogYW55KTogc3RyaW5nIHtcclxuICAgIGlmICghY29tbWFuZD8udGl0bGUpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gICAgaWYgKHR5cGVvZiAoY29tbWFuZC50aXRsZSkgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHJldHVybiBjb21tYW5kLnRpdGxlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNvbW1hbmQudGl0bGUoaXRlbSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
export class SdFilterColumnPipe {
|
|
3
|
+
transform(columns, field) {
|
|
4
|
+
var _a, _b;
|
|
5
|
+
const results = [];
|
|
6
|
+
if (!columns) {
|
|
7
|
+
return results;
|
|
8
|
+
}
|
|
9
|
+
for (const column of columns) {
|
|
10
|
+
if (column.type === 'children') {
|
|
11
|
+
for (const columnChildren of column === null || column === void 0 ? void 0 : column.children) {
|
|
12
|
+
if (!((_a = columnChildren.filter) === null || _a === void 0 ? void 0 : _a.disabled)) {
|
|
13
|
+
results.push(columnChildren);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
if (!((_b = column.filter) === null || _b === void 0 ? void 0 : _b.disabled)) {
|
|
19
|
+
results.push(column);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return results.filter(e => !field || e.field === field);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
SdFilterColumnPipe.decorators = [
|
|
26
|
+
{ type: Pipe, args: [{
|
|
27
|
+
name: 'sdFilterColumn'
|
|
28
|
+
},] }
|
|
29
|
+
];
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNvbHVtbi5waXBlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNV9vbmVtb3VudC9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS90YWJsZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvcGlwZXMvZmlsdGVyLWNvbHVtbi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBS3BELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsU0FBUyxDQUFDLE9BQXdCLEVBQUUsS0FBYzs7UUFDaEQsTUFBTSxPQUFPLEdBQW9CLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osT0FBTyxPQUFPLENBQUM7U0FDaEI7UUFDRCxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRTtZQUM1QixJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFO2dCQUM5QixLQUFLLE1BQU0sY0FBYyxJQUFJLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxRQUFRLEVBQUU7b0JBQzdDLElBQUksUUFBQyxjQUFjLENBQUMsTUFBTSwwQ0FBRSxRQUFRLENBQUEsRUFBRTt3QkFDcEMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztxQkFDOUI7aUJBQ0Y7Z0JBQ0QsU0FBUzthQUNWO1lBQ0QsSUFBSSxRQUFDLE1BQU0sQ0FBQyxNQUFNLDBDQUFFLFFBQVEsQ0FBQSxFQUFFO2dCQUM1QixPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3RCO1NBQ0Y7UUFDRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDO0lBQzFELENBQUM7OztZQXZCRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLGdCQUFnQjthQUN2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2RUYWJsZUNvbHVtbiB9IGZyb20gJy4uL21vZGVscy90YWJsZS1jb2x1bW4ubW9kZWwnO1xyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ3NkRmlsdGVyQ29sdW1uJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RGaWx0ZXJDb2x1bW5QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKGNvbHVtbnM6IFNkVGFibGVDb2x1bW5bXSwgZmllbGQ/OiBzdHJpbmcpOiBTZFRhYmxlQ29sdW1uW10ge1xyXG4gICAgY29uc3QgcmVzdWx0czogU2RUYWJsZUNvbHVtbltdID0gW107XHJcbiAgICBpZiAoIWNvbHVtbnMpIHtcclxuICAgICAgcmV0dXJuIHJlc3VsdHM7XHJcbiAgICB9XHJcbiAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiBjb2x1bW5zKSB7XHJcbiAgICAgIGlmIChjb2x1bW4udHlwZSA9PT0gJ2NoaWxkcmVuJykge1xyXG4gICAgICAgIGZvciAoY29uc3QgY29sdW1uQ2hpbGRyZW4gb2YgY29sdW1uPy5jaGlsZHJlbikge1xyXG4gICAgICAgICAgaWYgKCFjb2x1bW5DaGlsZHJlbi5maWx0ZXI/LmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdHMucHVzaChjb2x1bW5DaGlsZHJlbik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghY29sdW1uLmZpbHRlcj8uZGlzYWJsZWQpIHtcclxuICAgICAgICByZXN1bHRzLnB1c2goY29sdW1uKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdHMuZmlsdGVyKGUgPT4gIWZpZWxkIHx8IGUuZmllbGQgPT09IGZpZWxkKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
export class SdFilterExternalPipe {
|
|
3
|
+
transform(externalFilters, field) {
|
|
4
|
+
const results = [];
|
|
5
|
+
if (!externalFilters) {
|
|
6
|
+
return results;
|
|
7
|
+
}
|
|
8
|
+
for (const filter of externalFilters) {
|
|
9
|
+
results.push(filter);
|
|
10
|
+
}
|
|
11
|
+
return results.filter(e => !field || e.field === field);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
SdFilterExternalPipe.decorators = [
|
|
15
|
+
{ type: Pipe, args: [{
|
|
16
|
+
name: 'sdFilterExternal'
|
|
17
|
+
},] }
|
|
18
|
+
];
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWV4dGVybmFsLnBpcGUuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1X29uZW1vdW50L0RvY3VtZW50cy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL3RhYmxlLyIsInNvdXJjZXMiOlsic3JjL2xpYi9waXBlcy9maWx0ZXItZXh0ZXJuYWwucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUtwRCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFNBQVMsQ0FBQyxlQUF3QyxFQUFFLEtBQWM7UUFDaEUsTUFBTSxPQUFPLEdBQTRCLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3BCLE9BQU8sT0FBTyxDQUFDO1NBQ2hCO1FBQ0QsS0FBSyxNQUFNLE1BQU0sSUFBSSxlQUFlLEVBQUU7WUFDcEMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN0QjtRQUNELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQzs7O1lBYkYsSUFBSSxTQUFDO2dCQUNKLElBQUksRUFBRSxrQkFBa0I7YUFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNkVGFibGVFeHRlcm5hbEZpbHRlciB9IGZyb20gJy4uL3NlcnZpY2VzL3RhYmxlLWZpbHRlci90YWJsZS1maWx0ZXIubW9kZWwnO1xyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ3NkRmlsdGVyRXh0ZXJuYWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZEZpbHRlckV4dGVybmFsUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHRyYW5zZm9ybShleHRlcm5hbEZpbHRlcnM6IFNkVGFibGVFeHRlcm5hbEZpbHRlcltdLCBmaWVsZD86IHN0cmluZyk6IFNkVGFibGVFeHRlcm5hbEZpbHRlcltdIHtcclxuICAgIGNvbnN0IHJlc3VsdHM6IFNkVGFibGVFeHRlcm5hbEZpbHRlcltdID0gW107XHJcbiAgICBpZiAoIWV4dGVybmFsRmlsdGVycykge1xyXG4gICAgICByZXR1cm4gcmVzdWx0cztcclxuICAgIH1cclxuICAgIGZvciAoY29uc3QgZmlsdGVyIG9mIGV4dGVybmFsRmlsdGVycykge1xyXG4gICAgICByZXN1bHRzLnB1c2goZmlsdGVyKTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHRzLmZpbHRlcihlID0+ICFmaWVsZCB8fCBlLmZpZWxkID09PSBmaWVsZCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { SdTableConfigurationService } from '../services/table-configuration.service';
|
|
3
|
+
export class SdGridConfigurationResultPipe {
|
|
4
|
+
constructor(gridConfigurationService) {
|
|
5
|
+
this.gridConfigurationService = gridConfigurationService;
|
|
6
|
+
}
|
|
7
|
+
transform(configuration, gridOption, sdSubInformation) {
|
|
8
|
+
const a = this.gridConfigurationService.generateConfigurationResult(configuration, gridOption, sdSubInformation);
|
|
9
|
+
console.log(a);
|
|
10
|
+
return a;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
SdGridConfigurationResultPipe.decorators = [
|
|
14
|
+
{ type: Pipe, args: [{
|
|
15
|
+
name: 'sdGridConfigurationResult'
|
|
16
|
+
},] }
|
|
17
|
+
];
|
|
18
|
+
SdGridConfigurationResultPipe.ctorParameters = () => [
|
|
19
|
+
{ type: SdTableConfigurationService }
|
|
20
|
+
];
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jb25maWd1cmF0aW9uLXJlc3VsdC5waXBlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNV9vbmVtb3VudC9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS90YWJsZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvcGlwZXMvZ3JpZC1jb25maWd1cmF0aW9uLXJlc3VsdC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBR3BELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBTXRGLE1BQU0sT0FBTyw2QkFBNkI7SUFDeEMsWUFBb0Isd0JBQXFEO1FBQXJELDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBNkI7SUFBSSxDQUFDO0lBQzlFLFNBQVMsQ0FBQyxhQUFrQyxFQUFFLFVBQXlCLEVBQUUsZ0JBQXNEO1FBQzdILE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQywyQkFBMkIsQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDakgsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNmLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs7O1lBVEYsSUFBSSxTQUFDO2dCQUNKLElBQUksRUFBRSwyQkFBMkI7YUFDbEM7OztZQUxRLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2RUYWJsZU9wdGlvbiB9IGZyb20gJy4uL21vZGVscy90YWJsZS1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdyaWRDb25maWd1cmF0aW9uLCBTZEdyaWRDb25maWd1cmF0aW9uUmVzdWx0IH0gZnJvbSAnLi4vbW9kZWxzL3RhYmxlLW9wdGlvbi1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBTZFRhYmxlQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy90YWJsZS1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZE1hdGVyaWFsU3ViSW5mb3JtYXRpb25EZWZEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3NkLW1hdGVyaWFsLXN1Yi1pbmZvcm1hdGlvbi1kZWYuZGlyZWN0aXZlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnc2RHcmlkQ29uZmlndXJhdGlvblJlc3VsdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkR3JpZENvbmZpZ3VyYXRpb25SZXN1bHRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBncmlkQ29uZmlndXJhdGlvblNlcnZpY2U6IFNkVGFibGVDb25maWd1cmF0aW9uU2VydmljZSkgeyB9XHJcbiAgdHJhbnNmb3JtKGNvbmZpZ3VyYXRpb246IFNkR3JpZENvbmZpZ3VyYXRpb24sIGdyaWRPcHRpb246IFNkVGFibGVPcHRpb24sIHNkU3ViSW5mb3JtYXRpb246IFNkTWF0ZXJpYWxTdWJJbmZvcm1hdGlvbkRlZkRpcmVjdGl2ZSk6IFNkR3JpZENvbmZpZ3VyYXRpb25SZXN1bHQge1xyXG4gICAgY29uc3QgYSA9IHRoaXMuZ3JpZENvbmZpZ3VyYXRpb25TZXJ2aWNlLmdlbmVyYXRlQ29uZmlndXJhdGlvblJlc3VsdChjb25maWd1cmF0aW9uLCBncmlkT3B0aW9uLCBzZFN1YkluZm9ybWF0aW9uKTtcclxuICAgIGNvbnNvbGUubG9nKGEpO1xyXG4gICAgcmV0dXJuIGE7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import hash from 'object-hash';
|
|
3
|
+
import { MapToSdTableItem } from '../models/table-item.model';
|
|
4
|
+
export class SdGroupPipe {
|
|
5
|
+
transform(items, gridOption) {
|
|
6
|
+
var _a;
|
|
7
|
+
const { group } = gridOption;
|
|
8
|
+
if (!group) {
|
|
9
|
+
return items;
|
|
10
|
+
}
|
|
11
|
+
const { fields, htmlTemplate } = group;
|
|
12
|
+
if (!(fields === null || fields === void 0 ? void 0 : fields.length)) {
|
|
13
|
+
return items;
|
|
14
|
+
}
|
|
15
|
+
const groupItem = {};
|
|
16
|
+
for (const item of items) {
|
|
17
|
+
let obj = {};
|
|
18
|
+
for (const field of fields) {
|
|
19
|
+
obj = Object.assign(Object.assign({}, obj), ((_a = item[field]) !== null && _a !== void 0 ? _a : { [field]: item[field] }));
|
|
20
|
+
}
|
|
21
|
+
const key = hash(obj);
|
|
22
|
+
if (!groupItem[key]) {
|
|
23
|
+
groupItem[key] = [];
|
|
24
|
+
}
|
|
25
|
+
groupItem[key].push(item);
|
|
26
|
+
}
|
|
27
|
+
const results = [];
|
|
28
|
+
for (const key of Object.keys(groupItem)) {
|
|
29
|
+
const result = MapToSdTableItem({});
|
|
30
|
+
result.meta.group.items = groupItem[key];
|
|
31
|
+
result.meta.group.htmlTemplate = htmlTemplate(groupItem[key]);
|
|
32
|
+
results.push(result);
|
|
33
|
+
for (const item of groupItem[key]) {
|
|
34
|
+
results.push(item);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return results;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
SdGroupPipe.decorators = [
|
|
41
|
+
{ type: Pipe, args: [{
|
|
42
|
+
name: 'sdGroup',
|
|
43
|
+
},] }
|
|
44
|
+
];
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2QtZ3JvdXAucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvdGFibGUvIiwic291cmNlcyI6WyJzcmMvbGliL3BpcGVzL3NkLWdyb3VwLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxnQkFBZ0IsRUFBZSxNQUFNLDRCQUE0QixDQUFDO0FBSTNFLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFNBQVMsQ0FBQyxLQUFvQixFQUFFLFVBQXlCOztRQUN2RCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsTUFBTSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDdkMsSUFBSSxFQUFDLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxNQUFNLENBQUEsRUFBRTtZQUNuQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsTUFBTSxTQUFTLEdBRVgsRUFBRSxDQUFDO1FBQ1AsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUU7WUFDeEIsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ2IsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUU7Z0JBQzFCLEdBQUcsbUNBQ0UsR0FBRyxHQUNILE9BQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQ0FBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FDN0MsQ0FBQzthQUNIO1lBQ0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ25CLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7YUFDckI7WUFDRCxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzNCO1FBQ0QsTUFBTSxPQUFPLEdBQWtCLEVBQUUsQ0FBQztRQUNsQyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDeEMsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6QyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzlELE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckIsS0FBSyxNQUFNLElBQUksSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDcEI7U0FDRjtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7OztZQXpDRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLFNBQVM7YUFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBoYXNoIGZyb20gJ29iamVjdC1oYXNoJztcclxuaW1wb3J0IHsgU2RUYWJsZU9wdGlvbiB9IGZyb20gJy4uL21vZGVscy90YWJsZS1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBNYXBUb1NkVGFibGVJdGVtLCBTZFRhYmxlSXRlbSB9IGZyb20gJy4uL21vZGVscy90YWJsZS1pdGVtLm1vZGVsJztcclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdzZEdyb3VwJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkR3JvdXBQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKGl0ZW1zOiBTZFRhYmxlSXRlbVtdLCBncmlkT3B0aW9uOiBTZFRhYmxlT3B0aW9uKTogU2RUYWJsZUl0ZW1bXSB7XHJcbiAgICBjb25zdCB7IGdyb3VwIH0gPSBncmlkT3B0aW9uO1xyXG4gICAgaWYgKCFncm91cCkge1xyXG4gICAgICByZXR1cm4gaXRlbXM7XHJcbiAgICB9XHJcbiAgICBjb25zdCB7IGZpZWxkcywgaHRtbFRlbXBsYXRlIH0gPSBncm91cDtcclxuICAgIGlmICghZmllbGRzPy5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIGl0ZW1zO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZ3JvdXBJdGVtOiB7XHJcbiAgICAgIFtrZXk6IHN0cmluZ106IFNkVGFibGVJdGVtW107XHJcbiAgICB9ID0ge307XHJcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcclxuICAgICAgbGV0IG9iaiA9IHt9O1xyXG4gICAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIGZpZWxkcykge1xyXG4gICAgICAgIG9iaiA9IHtcclxuICAgICAgICAgIC4uLm9iaixcclxuICAgICAgICAgIC4uLihpdGVtW2ZpZWxkXSA/PyB7IFtmaWVsZF06IGl0ZW1bZmllbGRdIH0pLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgY29uc3Qga2V5ID0gaGFzaChvYmopO1xyXG4gICAgICBpZiAoIWdyb3VwSXRlbVtrZXldKSB7XHJcbiAgICAgICAgZ3JvdXBJdGVtW2tleV0gPSBbXTtcclxuICAgICAgfVxyXG4gICAgICBncm91cEl0ZW1ba2V5XS5wdXNoKGl0ZW0pO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcmVzdWx0czogU2RUYWJsZUl0ZW1bXSA9IFtdO1xyXG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoZ3JvdXBJdGVtKSkge1xyXG4gICAgICBjb25zdCByZXN1bHQgPSBNYXBUb1NkVGFibGVJdGVtKHt9KTtcclxuICAgICAgcmVzdWx0Lm1ldGEuZ3JvdXAuaXRlbXMgPSBncm91cEl0ZW1ba2V5XTtcclxuICAgICAgcmVzdWx0Lm1ldGEuZ3JvdXAuaHRtbFRlbXBsYXRlID0gaHRtbFRlbXBsYXRlKGdyb3VwSXRlbVtrZXldKTtcclxuICAgICAgcmVzdWx0cy5wdXNoKHJlc3VsdCk7XHJcbiAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBncm91cEl0ZW1ba2V5XSkge1xyXG4gICAgICAgIHJlc3VsdHMucHVzaChpdGVtKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdHM7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
var _convert;
|
|
2
|
+
import { __classPrivateFieldGet } from "tslib";
|
|
3
|
+
import { Pipe } from '@angular/core';
|
|
4
|
+
import hash from 'object-hash';
|
|
5
|
+
export class SdSelectionActionFilterPipe {
|
|
6
|
+
constructor() {
|
|
7
|
+
_convert.set(this, (action) => {
|
|
8
|
+
if ('children' in action) {
|
|
9
|
+
return {
|
|
10
|
+
title: action.title,
|
|
11
|
+
icon: action.icon,
|
|
12
|
+
fontSet: action.fontSet,
|
|
13
|
+
tooltip: action.tooltip,
|
|
14
|
+
color: action.color,
|
|
15
|
+
type: action.type,
|
|
16
|
+
children: action.children.map(e => ({
|
|
17
|
+
title: e.title,
|
|
18
|
+
icon: e.icon,
|
|
19
|
+
color: action.color,
|
|
20
|
+
type: action.type,
|
|
21
|
+
fontSet: e.fontSet,
|
|
22
|
+
tooltip: e.tooltip,
|
|
23
|
+
click: e.click
|
|
24
|
+
}))
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
title: action.title,
|
|
29
|
+
icon: action.icon,
|
|
30
|
+
color: action.color,
|
|
31
|
+
type: action.type,
|
|
32
|
+
fontSet: action.fontSet,
|
|
33
|
+
tooltip: action.tooltip,
|
|
34
|
+
click: action.click
|
|
35
|
+
};
|
|
36
|
+
});
|
|
37
|
+
this.transform = (selectedItems, actions) => {
|
|
38
|
+
const results = [];
|
|
39
|
+
if (!(actions === null || actions === void 0 ? void 0 : actions.length) || !(selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length)) {
|
|
40
|
+
return [];
|
|
41
|
+
}
|
|
42
|
+
for (const action of actions) {
|
|
43
|
+
if ('children' in action) {
|
|
44
|
+
const children = [];
|
|
45
|
+
for (const childAction of action.children) {
|
|
46
|
+
const key = hash(childAction);
|
|
47
|
+
if (selectedItems.every(e => e.meta.selector.actions.includes(key))) {
|
|
48
|
+
children.push(childAction);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
if (children.length > 0) {
|
|
52
|
+
results.push(Object.assign(Object.assign({}, action), { children }));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
const key = hash(action);
|
|
57
|
+
if (selectedItems.every(e => e.meta.selector.actions.includes(key))) {
|
|
58
|
+
results.push(action);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return results.map(result => __classPrivateFieldGet(this, _convert).call(this, result));
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
_convert = new WeakMap();
|
|
67
|
+
SdSelectionActionFilterPipe.decorators = [
|
|
68
|
+
{ type: Pipe, args: [{
|
|
69
|
+
name: 'selectionActionFilter'
|
|
70
|
+
},] }
|
|
71
|
+
];
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWFjdGlvbi1maWx0ZXIucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvdGFibGUvIiwic291cmNlcyI6WyJzcmMvbGliL3BpcGVzL3NlbGVjdGlvbi1hY3Rpb24tZmlsdGVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFNL0IsTUFBTSxPQUFPLDJCQUEyQjtJQUh4QztRQUlFLG1CQUFXLENBQUMsTUFBcUIsRUFBaUIsRUFBRTtZQUNsRCxJQUFJLFVBQVUsSUFBSSxNQUFNLEVBQUU7Z0JBQ3hCLE9BQU87b0JBQ0wsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO29CQUNuQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7b0JBQ2pCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztvQkFDdkIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO29CQUN2QixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7b0JBQ25CLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtvQkFDakIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDbEMsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO3dCQUNkLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSTt3QkFDWixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7d0JBQ25CLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTt3QkFDakIsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO3dCQUNsQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU87d0JBQ2xCLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSztxQkFDZixDQUFDLENBQUM7aUJBQ0osQ0FBQzthQUNIO1lBQ0QsT0FBTztnQkFDTCxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7Z0JBQ25CLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtnQkFDakIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO2dCQUNuQixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7Z0JBQ2pCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztnQkFDdkIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO2dCQUN2QixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7YUFDcEIsQ0FBQztRQUVKLENBQUMsRUFBQTtRQUNELGNBQVMsR0FBRyxDQUFDLGFBQTRCLEVBQUUsT0FBd0IsRUFBbUIsRUFBRTtZQUN0RixNQUFNLE9BQU8sR0FBb0IsRUFBRSxDQUFDO1lBQ3BDLElBQUksRUFBQyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsTUFBTSxDQUFBLElBQUksRUFBQyxhQUFhLGFBQWIsYUFBYSx1QkFBYixhQUFhLENBQUUsTUFBTSxDQUFBLEVBQUU7Z0JBQzlDLE9BQU8sRUFBRSxDQUFDO2FBQ1g7WUFDRCxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRTtnQkFDNUIsSUFBSSxVQUFVLElBQUksTUFBTSxFQUFFO29CQUN4QixNQUFNLFFBQVEsR0FBMEIsRUFBRSxDQUFDO29CQUMzQyxLQUFLLE1BQU0sV0FBVyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7d0JBQ3pDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzt3QkFDOUIsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFOzRCQUNuRSxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO3lCQUM1QjtxQkFDRjtvQkFDRCxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO3dCQUN2QixPQUFPLENBQUMsSUFBSSxpQ0FBTSxNQUFNLEtBQUUsUUFBUSxJQUFHLENBQUM7cUJBQ3ZDO2lCQUNGO3FCQUFNO29CQUNMLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDekIsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO3dCQUNuRSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO3FCQUN0QjtpQkFDRjthQUNGO1lBQ0QsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsNENBQUEsSUFBSSxFQUFVLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFBO0lBQ0gsQ0FBQzs7OztZQTdEQSxJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLHVCQUF1QjthQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IGhhc2ggZnJvbSAnb2JqZWN0LWhhc2gnO1xyXG5pbXBvcnQgeyBTZFRhYmxlSXRlbSB9IGZyb20gJy4uL21vZGVscy90YWJsZS1pdGVtLm1vZGVsJztcclxuaW1wb3J0IHsgU2RUYWJsZUFjdGlvbiwgU2RUYWJsZUFjdGlvbk5vcm1hbCB9IGZyb20gJy4uL21vZGVscy90YWJsZS1vcHRpb24tc2VsZWN0b3IubW9kZWwnO1xyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ3NlbGVjdGlvbkFjdGlvbkZpbHRlcidcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkU2VsZWN0aW9uQWN0aW9uRmlsdGVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICNjb252ZXJ0ID0gKGFjdGlvbjogU2RUYWJsZUFjdGlvbik6IFNkVGFibGVBY3Rpb24gPT4ge1xyXG4gICAgaWYgKCdjaGlsZHJlbicgaW4gYWN0aW9uKSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgdGl0bGU6IGFjdGlvbi50aXRsZSxcclxuICAgICAgICBpY29uOiBhY3Rpb24uaWNvbixcclxuICAgICAgICBmb250U2V0OiBhY3Rpb24uZm9udFNldCxcclxuICAgICAgICB0b29sdGlwOiBhY3Rpb24udG9vbHRpcCxcclxuICAgICAgICBjb2xvcjogYWN0aW9uLmNvbG9yLFxyXG4gICAgICAgIHR5cGU6IGFjdGlvbi50eXBlLFxyXG4gICAgICAgIGNoaWxkcmVuOiBhY3Rpb24uY2hpbGRyZW4ubWFwKGUgPT4gKHtcclxuICAgICAgICAgIHRpdGxlOiBlLnRpdGxlLFxyXG4gICAgICAgICAgaWNvbjogZS5pY29uLFxyXG4gICAgICAgICAgY29sb3I6IGFjdGlvbi5jb2xvcixcclxuICAgICAgICAgIHR5cGU6IGFjdGlvbi50eXBlLFxyXG4gICAgICAgICAgZm9udFNldDogZS5mb250U2V0LFxyXG4gICAgICAgICAgdG9vbHRpcDogZS50b29sdGlwLFxyXG4gICAgICAgICAgY2xpY2s6IGUuY2xpY2tcclxuICAgICAgICB9KSlcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHJldHVybiB7XHJcbiAgICAgIHRpdGxlOiBhY3Rpb24udGl0bGUsXHJcbiAgICAgIGljb246IGFjdGlvbi5pY29uLFxyXG4gICAgICBjb2xvcjogYWN0aW9uLmNvbG9yLFxyXG4gICAgICB0eXBlOiBhY3Rpb24udHlwZSxcclxuICAgICAgZm9udFNldDogYWN0aW9uLmZvbnRTZXQsXHJcbiAgICAgIHRvb2x0aXA6IGFjdGlvbi50b29sdGlwLFxyXG4gICAgICBjbGljazogYWN0aW9uLmNsaWNrXHJcbiAgICB9O1xyXG5cclxuICB9XHJcbiAgdHJhbnNmb3JtID0gKHNlbGVjdGVkSXRlbXM6IFNkVGFibGVJdGVtW10sIGFjdGlvbnM6IFNkVGFibGVBY3Rpb25bXSk6IFNkVGFibGVBY3Rpb25bXSA9PiB7XHJcbiAgICBjb25zdCByZXN1bHRzOiBTZFRhYmxlQWN0aW9uW10gPSBbXTtcclxuICAgIGlmICghYWN0aW9ucz8ubGVuZ3RoIHx8ICFzZWxlY3RlZEl0ZW1zPy5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gICAgZm9yIChjb25zdCBhY3Rpb24gb2YgYWN0aW9ucykge1xyXG4gICAgICBpZiAoJ2NoaWxkcmVuJyBpbiBhY3Rpb24pIHtcclxuICAgICAgICBjb25zdCBjaGlsZHJlbjogU2RUYWJsZUFjdGlvbk5vcm1hbFtdID0gW107XHJcbiAgICAgICAgZm9yIChjb25zdCBjaGlsZEFjdGlvbiBvZiBhY3Rpb24uY2hpbGRyZW4pIHtcclxuICAgICAgICAgIGNvbnN0IGtleSA9IGhhc2goY2hpbGRBY3Rpb24pO1xyXG4gICAgICAgICAgaWYgKHNlbGVjdGVkSXRlbXMuZXZlcnkoZSA9PiBlLm1ldGEuc2VsZWN0b3IuYWN0aW9ucy5pbmNsdWRlcyhrZXkpKSkge1xyXG4gICAgICAgICAgICBjaGlsZHJlbi5wdXNoKGNoaWxkQWN0aW9uKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGNoaWxkcmVuLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHJlc3VsdHMucHVzaCh7IC4uLmFjdGlvbiwgY2hpbGRyZW4gfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGtleSA9IGhhc2goYWN0aW9uKTtcclxuICAgICAgICBpZiAoc2VsZWN0ZWRJdGVtcy5ldmVyeShlID0+IGUubWV0YS5zZWxlY3Rvci5hY3Rpb25zLmluY2x1ZGVzKGtleSkpKSB7XHJcbiAgICAgICAgICByZXN1bHRzLnB1c2goYWN0aW9uKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHRzLm1hcChyZXN1bHQgPT4gdGhpcy4jY29udmVydChyZXN1bHQpKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import hash from 'object-hash';
|
|
3
|
+
export class SdSelectionDisablePipe {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.transform = (selectedItems, rowData, selection) => {
|
|
6
|
+
const { disabled, actions } = selection;
|
|
7
|
+
if (!(actions === null || actions === void 0 ? void 0 : actions.length)) {
|
|
8
|
+
if (!disabled) {
|
|
9
|
+
rowData.meta.selector.selectable = true;
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
rowData.meta.selector.selectable = !disabled(rowData, selectedItems);
|
|
13
|
+
return !rowData.meta.selector.selectable;
|
|
14
|
+
}
|
|
15
|
+
// Lọc các action theo selectedItems hiện tại
|
|
16
|
+
const availableActions = actions.filter(action => {
|
|
17
|
+
if ('children' in action) {
|
|
18
|
+
for (const childAction of action.children) {
|
|
19
|
+
const key = hash(childAction);
|
|
20
|
+
if (selectedItems.every(e => e.meta.selector.actions.includes(key))) {
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
const key = hash(action);
|
|
28
|
+
return selectedItems.every(e => e.meta.selector.actions.includes(key));
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
// Kiểm tra rowData có action nào thỏa hay ko, nếu ko thì disabled
|
|
32
|
+
for (const action of availableActions) {
|
|
33
|
+
if ('children' in action) {
|
|
34
|
+
for (const childAction of action.children) {
|
|
35
|
+
if (rowData.meta.selector.actions.includes(hash(childAction))) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
if (rowData.meta.selector.actions.includes(hash(action))) {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return true;
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
SdSelectionDisablePipe.decorators = [
|
|
51
|
+
{ type: Pipe, args: [{
|
|
52
|
+
name: 'selectionDisable'
|
|
53
|
+
},] }
|
|
54
|
+
];
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWRpc2FibGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvdGFibGUvIiwic291cmNlcyI6WyJzcmMvbGliL3BpcGVzL3NlbGVjdGlvbi1kaXNhYmxlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBTS9CLE1BQU0sT0FBTyxzQkFBc0I7SUFIbkM7UUFJRSxjQUFTLEdBQUcsQ0FBQyxhQUE0QixFQUFFLE9BQW9CLEVBQUUsU0FBZ0MsRUFBVyxFQUFFO1lBQzVHLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEdBQUcsU0FBUyxDQUFDO1lBQ3hDLElBQUksRUFBQyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsTUFBTSxDQUFBLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxRQUFRLEVBQUU7b0JBQ2IsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztvQkFDeEMsT0FBTyxLQUFLLENBQUM7aUJBQ2Q7Z0JBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztnQkFDckUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQzthQUMxQztZQUNELDZDQUE2QztZQUM3QyxNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQy9DLElBQUksVUFBVSxJQUFJLE1BQU0sRUFBRTtvQkFDeEIsS0FBSyxNQUFNLFdBQVcsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFO3dCQUN6QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7d0JBQzlCLElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTs0QkFDbkUsT0FBTyxJQUFJLENBQUM7eUJBQ2I7cUJBQ0Y7b0JBQ0QsT0FBTyxLQUFLLENBQUM7aUJBQ2Q7cUJBQU07b0JBQ0wsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN6QixPQUFPLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQ3hFO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDSCxrRUFBa0U7WUFDbEUsS0FBSyxNQUFNLE1BQU0sSUFBSSxnQkFBZ0IsRUFBRTtnQkFDckMsSUFBSSxVQUFVLElBQUksTUFBTSxFQUFFO29CQUN4QixLQUFLLE1BQU0sV0FBVyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7d0JBQ3pDLElBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRTs0QkFDNUQsT0FBTyxLQUFLLENBQUM7eUJBQ2Q7cUJBQ0Y7aUJBQ0Y7cUJBQU07b0JBQ0wsSUFBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFO3dCQUN2RCxPQUFPLEtBQUssQ0FBQztxQkFDZDtpQkFDRjthQUNGO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUE7SUFDSCxDQUFDOzs7WUE3Q0EsSUFBSSxTQUFDO2dCQUNKLElBQUksRUFBRSxrQkFBa0I7YUFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBoYXNoIGZyb20gJ29iamVjdC1oYXNoJztcclxuaW1wb3J0IHsgU2RUYWJsZU9wdGlvblNlbGVjdG9yIH0gZnJvbSAnLi4vbW9kZWxzL3RhYmxlLW9wdGlvbi1zZWxlY3Rvci5tb2RlbCc7XHJcbmltcG9ydCB7IFNkVGFibGVJdGVtIH0gZnJvbSAnLi4vbW9kZWxzL3RhYmxlLWl0ZW0ubW9kZWwnO1xyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ3NlbGVjdGlvbkRpc2FibGUnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZFNlbGVjdGlvbkRpc2FibGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtID0gKHNlbGVjdGVkSXRlbXM6IFNkVGFibGVJdGVtW10sIHJvd0RhdGE6IFNkVGFibGVJdGVtLCBzZWxlY3Rpb246IFNkVGFibGVPcHRpb25TZWxlY3Rvcik6IGJvb2xlYW4gPT4ge1xyXG4gICAgY29uc3QgeyBkaXNhYmxlZCwgYWN0aW9ucyB9ID0gc2VsZWN0aW9uO1xyXG4gICAgaWYgKCFhY3Rpb25zPy5sZW5ndGgpIHtcclxuICAgICAgaWYgKCFkaXNhYmxlZCkge1xyXG4gICAgICAgIHJvd0RhdGEubWV0YS5zZWxlY3Rvci5zZWxlY3RhYmxlID0gdHJ1ZTtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgcm93RGF0YS5tZXRhLnNlbGVjdG9yLnNlbGVjdGFibGUgPSAhZGlzYWJsZWQocm93RGF0YSwgc2VsZWN0ZWRJdGVtcyk7XHJcbiAgICAgIHJldHVybiAhcm93RGF0YS5tZXRhLnNlbGVjdG9yLnNlbGVjdGFibGU7XHJcbiAgICB9XHJcbiAgICAvLyBM4buNYyBjw6FjIGFjdGlvbiB0aGVvIHNlbGVjdGVkSXRlbXMgaGnhu4duIHThuqFpXHJcbiAgICBjb25zdCBhdmFpbGFibGVBY3Rpb25zID0gYWN0aW9ucy5maWx0ZXIoYWN0aW9uID0+IHtcclxuICAgICAgaWYgKCdjaGlsZHJlbicgaW4gYWN0aW9uKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBjaGlsZEFjdGlvbiBvZiBhY3Rpb24uY2hpbGRyZW4pIHtcclxuICAgICAgICAgIGNvbnN0IGtleSA9IGhhc2goY2hpbGRBY3Rpb24pO1xyXG4gICAgICAgICAgaWYgKHNlbGVjdGVkSXRlbXMuZXZlcnkoZSA9PiBlLm1ldGEuc2VsZWN0b3IuYWN0aW9ucy5pbmNsdWRlcyhrZXkpKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGtleSA9IGhhc2goYWN0aW9uKTtcclxuICAgICAgICByZXR1cm4gc2VsZWN0ZWRJdGVtcy5ldmVyeShlID0+IGUubWV0YS5zZWxlY3Rvci5hY3Rpb25zLmluY2x1ZGVzKGtleSkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIC8vIEtp4buDbSB0cmEgcm93RGF0YSBjw7MgYWN0aW9uIG7DoG8gdGjhu49hIGhheSBrbywgbuG6v3Uga28gdGjDrCBkaXNhYmxlZFxyXG4gICAgZm9yIChjb25zdCBhY3Rpb24gb2YgYXZhaWxhYmxlQWN0aW9ucykge1xyXG4gICAgICBpZiAoJ2NoaWxkcmVuJyBpbiBhY3Rpb24pIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGNoaWxkQWN0aW9uIG9mIGFjdGlvbi5jaGlsZHJlbikge1xyXG4gICAgICAgICAgaWYocm93RGF0YS5tZXRhLnNlbGVjdG9yLmFjdGlvbnMuaW5jbHVkZXMoaGFzaChjaGlsZEFjdGlvbikpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYocm93RGF0YS5tZXRhLnNlbGVjdG9yLmFjdGlvbnMuaW5jbHVkZXMoaGFzaChhY3Rpb24pKSkge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Pipe } from '@angular/core';
|
|
3
|
+
export class SdSelectionVisibleSelectAllPipe {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.transform = (items, selection) => __awaiter(this, void 0, void 0, function* () {
|
|
6
|
+
const { actions } = selection;
|
|
7
|
+
if (!(actions === null || actions === void 0 ? void 0 : actions.length)) {
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
if (!items.length) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
if (actions.some(e => ('children' in e && e.children.some(e1 => e1.isGrouped)) || e.isGrouped)) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
yield new Promise(resolve => setTimeout(resolve, 500));
|
|
17
|
+
const first = items.find(t => { var _a; return (_a = t.meta.selector.actions) === null || _a === void 0 ? void 0 : _a.length; });
|
|
18
|
+
if (first) {
|
|
19
|
+
for (const action of first.meta.selector.actions) {
|
|
20
|
+
if (items.filter(t => { var _a; return (_a = t.meta.selector.actions) === null || _a === void 0 ? void 0 : _a.length; }).every(e => e.meta.selector.actions.includes(action))) {
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return false;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
SdSelectionVisibleSelectAllPipe.decorators = [
|
|
30
|
+
{ type: Pipe, args: [{
|
|
31
|
+
name: 'selectionVisibleSelectAll'
|
|
32
|
+
},] }
|
|
33
|
+
];
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLXZpc2libGUtc2VsZWN0LWFsbC5waXBlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNV9vbmVtb3VudC9Eb2N1bWVudHMvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS90YWJsZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvcGlwZXMvc2VsZWN0aW9uLXZpc2libGUtc2VsZWN0LWFsbC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQU1wRCxNQUFNLE9BQU8sK0JBQStCO0lBSDVDO1FBSUUsY0FBUyxHQUFHLENBQU8sS0FBb0IsRUFBRSxTQUFnQyxFQUFvQixFQUFFO1lBQzdGLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxTQUFTLENBQUM7WUFDOUIsSUFBSSxFQUFDLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxNQUFNLENBQUEsRUFBRTtnQkFDcEIsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUNELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO2dCQUNqQixPQUFPLEtBQUssQ0FBQzthQUNkO1lBQ0QsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUM5RixPQUFPLEtBQUssQ0FBQzthQUNkO1lBQ0QsTUFBTSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN2RCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLHdCQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sMENBQUUsTUFBTSxHQUFBLENBQUMsQ0FBQztZQUMvRCxJQUFJLEtBQUssRUFBRTtnQkFDVCxLQUFLLE1BQU0sTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtvQkFDaEQsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLHdCQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sMENBQUUsTUFBTSxHQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUU7d0JBQzNHLE9BQU8sSUFBSSxDQUFDO3FCQUNiO2lCQUNGO2FBQ0Y7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQSxDQUFBO0lBQ0gsQ0FBQzs7O1lBMUJBLElBQUksU0FBQztnQkFDSixJQUFJLEVBQUUsMkJBQTJCO2FBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTZFRhYmxlT3B0aW9uU2VsZWN0b3IgfSBmcm9tICcuLi9tb2RlbHMvdGFibGUtb3B0aW9uLXNlbGVjdG9yLm1vZGVsJztcclxuaW1wb3J0IHsgU2RUYWJsZUl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvdGFibGUtaXRlbS5tb2RlbCc7XHJcbkBQaXBlKHtcclxuICBuYW1lOiAnc2VsZWN0aW9uVmlzaWJsZVNlbGVjdEFsbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkU2VsZWN0aW9uVmlzaWJsZVNlbGVjdEFsbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0gPSBhc3luYyAoaXRlbXM6IFNkVGFibGVJdGVtW10sIHNlbGVjdGlvbjogU2RUYWJsZU9wdGlvblNlbGVjdG9yKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XHJcbiAgICBjb25zdCB7IGFjdGlvbnMgfSA9IHNlbGVjdGlvbjtcclxuICAgIGlmICghYWN0aW9ucz8ubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgaWYgKCFpdGVtcy5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKGFjdGlvbnMuc29tZShlID0+ICgnY2hpbGRyZW4nIGluIGUgJiYgZS5jaGlsZHJlbi5zb21lKGUxID0+IGUxLmlzR3JvdXBlZCkpIHx8IGUuaXNHcm91cGVkKSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgNTAwKSk7XHJcbiAgICBjb25zdCBmaXJzdCA9IGl0ZW1zLmZpbmQodCA9PiB0Lm1ldGEuc2VsZWN0b3IuYWN0aW9ucz8ubGVuZ3RoKTtcclxuICAgIGlmIChmaXJzdCkge1xyXG4gICAgICBmb3IgKGNvbnN0IGFjdGlvbiBvZiBmaXJzdC5tZXRhLnNlbGVjdG9yLmFjdGlvbnMpIHtcclxuICAgICAgICBpZiAoaXRlbXMuZmlsdGVyKHQgPT4gdC5tZXRhLnNlbGVjdG9yLmFjdGlvbnM/Lmxlbmd0aCkuZXZlcnkoZSA9PiBlLm1ldGEuc2VsZWN0b3IuYWN0aW9ucy5pbmNsdWRlcyhhY3Rpb24pKSkge1xyXG4gICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import hash from 'object-hash';
|
|
3
|
+
export class SdSelectionVisiblePipe {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.transform = (rowData, selection) => {
|
|
6
|
+
var _a, _b, _c;
|
|
7
|
+
const { actions } = selection;
|
|
8
|
+
const groupedActions = [];
|
|
9
|
+
rowData.meta.selector.actions = rowData.meta.selector.actions || [];
|
|
10
|
+
if (!(actions === null || actions === void 0 ? void 0 : actions.length)) {
|
|
11
|
+
rowData.meta.selector.selectable = true;
|
|
12
|
+
return rowData.meta.selector.selectable;
|
|
13
|
+
}
|
|
14
|
+
for (const action of actions) {
|
|
15
|
+
if ('children' in action) {
|
|
16
|
+
let flag = false;
|
|
17
|
+
let hasGroup = false;
|
|
18
|
+
for (const childAction of action.children) {
|
|
19
|
+
const { hidden, isGrouped } = childAction;
|
|
20
|
+
const key = hash(childAction);
|
|
21
|
+
if (isGrouped) {
|
|
22
|
+
hasGroup = true;
|
|
23
|
+
}
|
|
24
|
+
if (typeof (hidden) === 'function') {
|
|
25
|
+
if (!hidden(rowData)) {
|
|
26
|
+
flag = true;
|
|
27
|
+
rowData.meta.selector.actions.push(key);
|
|
28
|
+
if (isGrouped) {
|
|
29
|
+
groupedActions.push(key);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
else if (!hidden) {
|
|
34
|
+
flag = true;
|
|
35
|
+
rowData.meta.selector.actions.push(key);
|
|
36
|
+
if (isGrouped) {
|
|
37
|
+
groupedActions.push(key);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
if (flag) {
|
|
42
|
+
rowData.meta.selector.actions.push(hash(action));
|
|
43
|
+
if (hasGroup) {
|
|
44
|
+
groupedActions.push(hash(action));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
const { hidden, isGrouped } = action;
|
|
50
|
+
const key = hash(action);
|
|
51
|
+
if (typeof (hidden) === 'function') {
|
|
52
|
+
if (!hidden(rowData)) {
|
|
53
|
+
rowData.meta.selector.actions.push(key);
|
|
54
|
+
if (isGrouped) {
|
|
55
|
+
groupedActions.push(key);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
else if (!hidden) {
|
|
60
|
+
rowData.meta.selector.actions.push(key);
|
|
61
|
+
if (isGrouped) {
|
|
62
|
+
groupedActions.push(key);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
rowData.meta.selector.selectable = !!((_a = rowData.meta.selector.actions) === null || _a === void 0 ? void 0 : _a.length);
|
|
68
|
+
if (!rowData.meta.selector.selectable || !groupedActions.length || ((_c = (_b = rowData === null || rowData === void 0 ? void 0 : rowData.meta.group) === null || _b === void 0 ? void 0 : _b.items) === null || _c === void 0 ? void 0 : _c.length)) {
|
|
69
|
+
return rowData.meta.selector.selectable;
|
|
70
|
+
}
|
|
71
|
+
// Đối với trường hợp grouped, tuy selectable là true nhưng vẫn ẩn đi checkbox
|
|
72
|
+
// nếu các action đều thuộc groupedActions và rowData ko phải là dòng group
|
|
73
|
+
return rowData.meta.selector.actions.some(action => !groupedActions.includes(action));
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
SdSelectionVisiblePipe.decorators = [
|
|
78
|
+
{ type: Pipe, args: [{
|
|
79
|
+
name: 'selectionVisible'
|
|
80
|
+
},] }
|
|
81
|
+
];
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLXZpc2libGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvdGFibGUvIiwic291cmNlcyI6WyJzcmMvbGliL3BpcGVzL3NlbGVjdGlvbi12aXNpYmxlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBTy9CLE1BQU0sT0FBTyxzQkFBc0I7SUFIbkM7UUFJRSxjQUFTLEdBQUcsQ0FBQyxPQUFvQixFQUFFLFNBQWdDLEVBQVcsRUFBRTs7WUFDOUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLFNBQVMsQ0FBQztZQUM5QixNQUFNLGNBQWMsR0FBYSxFQUFFLENBQUM7WUFDcEMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDcEUsSUFBSSxFQUFDLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxNQUFNLENBQUEsRUFBRTtnQkFDcEIsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztnQkFDeEMsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7YUFDekM7WUFDRCxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRTtnQkFDNUIsSUFBSSxVQUFVLElBQUksTUFBTSxFQUFFO29CQUN4QixJQUFJLElBQUksR0FBRyxLQUFLLENBQUM7b0JBQ2pCLElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQztvQkFDckIsS0FBSyxNQUFNLFdBQVcsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFO3dCQUN6QyxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLFdBQVcsQ0FBQzt3QkFDMUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO3dCQUM5QixJQUFJLFNBQVMsRUFBRTs0QkFDYixRQUFRLEdBQUcsSUFBSSxDQUFDO3lCQUNqQjt3QkFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxVQUFVLEVBQUU7NEJBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0NBQ3BCLElBQUksR0FBRyxJQUFJLENBQUM7Z0NBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQ0FDeEMsSUFBSSxTQUFTLEVBQUU7b0NBQ2IsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztpQ0FDMUI7NkJBQ0Y7eUJBQ0Y7NkJBQU0sSUFBSSxDQUFDLE1BQU0sRUFBRTs0QkFDbEIsSUFBSSxHQUFHLElBQUksQ0FBQzs0QkFDWixPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDOzRCQUN4QyxJQUFJLFNBQVMsRUFBRTtnQ0FDYixjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDOzZCQUMxQjt5QkFDRjtxQkFDRjtvQkFDRCxJQUFJLElBQUksRUFBRTt3QkFDUixPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO3dCQUNqRCxJQUFJLFFBQVEsRUFBRTs0QkFDWixjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO3lCQUNuQztxQkFDRjtpQkFDRjtxQkFBTTtvQkFDTCxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sQ0FBQztvQkFDckMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN6QixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxVQUFVLEVBQUU7d0JBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUU7NEJBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7NEJBQ3hDLElBQUksU0FBUyxFQUFFO2dDQUNiLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7NkJBQzFCO3lCQUNGO3FCQUNGO3lCQUFNLElBQUksQ0FBQyxNQUFNLEVBQUU7d0JBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7d0JBQ3hDLElBQUksU0FBUyxFQUFFOzRCQUNiLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7eUJBQzFCO3FCQUNGO2lCQUNGO2FBQ0Y7WUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxRQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sMENBQUUsTUFBTSxDQUFBLENBQUM7WUFDM0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLGlCQUFJLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxJQUFJLENBQUMsS0FBSywwQ0FBRSxLQUFLLDBDQUFFLE1BQU0sQ0FBQSxFQUFFO2dCQUNyRyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQzthQUN6QztZQUNELDhFQUE4RTtZQUM5RSwyRUFBMkU7WUFDM0UsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDeEYsQ0FBQyxDQUFBO0lBQ0gsQ0FBQzs7O1lBdEVBLElBQUksU0FBQztnQkFDSixJQUFJLEVBQUUsa0JBQWtCO2FBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgaGFzaCBmcm9tICdvYmplY3QtaGFzaCc7XHJcbmltcG9ydCB7IFNkVGFibGVPcHRpb25TZWxlY3RvciB9IGZyb20gJy4uL21vZGVscy90YWJsZS1vcHRpb24tc2VsZWN0b3IubW9kZWwnO1xyXG5pbXBvcnQgeyBTZFRhYmxlSXRlbSB9IGZyb20gJy4uL21vZGVscy90YWJsZS1pdGVtLm1vZGVsJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnc2VsZWN0aW9uVmlzaWJsZSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkU2VsZWN0aW9uVmlzaWJsZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0gPSAocm93RGF0YTogU2RUYWJsZUl0ZW0sIHNlbGVjdGlvbjogU2RUYWJsZU9wdGlvblNlbGVjdG9yKTogYm9vbGVhbiA9PiB7XHJcbiAgICBjb25zdCB7IGFjdGlvbnMgfSA9IHNlbGVjdGlvbjtcclxuICAgIGNvbnN0IGdyb3VwZWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgcm93RGF0YS5tZXRhLnNlbGVjdG9yLmFjdGlvbnMgPSByb3dEYXRhLm1ldGEuc2VsZWN0b3IuYWN0aW9ucyB8fCBbXTtcclxuICAgIGlmICghYWN0aW9ucz8ubGVuZ3RoKSB7XHJcbiAgICAgIHJvd0RhdGEubWV0YS5zZWxlY3Rvci5zZWxlY3RhYmxlID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuIHJvd0RhdGEubWV0YS5zZWxlY3Rvci5zZWxlY3RhYmxlO1xyXG4gICAgfVxyXG4gICAgZm9yIChjb25zdCBhY3Rpb24gb2YgYWN0aW9ucykge1xyXG4gICAgICBpZiAoJ2NoaWxkcmVuJyBpbiBhY3Rpb24pIHtcclxuICAgICAgICBsZXQgZmxhZyA9IGZhbHNlO1xyXG4gICAgICAgIGxldCBoYXNHcm91cCA9IGZhbHNlO1xyXG4gICAgICAgIGZvciAoY29uc3QgY2hpbGRBY3Rpb24gb2YgYWN0aW9uLmNoaWxkcmVuKSB7XHJcbiAgICAgICAgICBjb25zdCB7IGhpZGRlbiwgaXNHcm91cGVkIH0gPSBjaGlsZEFjdGlvbjtcclxuICAgICAgICAgIGNvbnN0IGtleSA9IGhhc2goY2hpbGRBY3Rpb24pO1xyXG4gICAgICAgICAgaWYgKGlzR3JvdXBlZCkge1xyXG4gICAgICAgICAgICBoYXNHcm91cCA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodHlwZW9mIChoaWRkZW4pID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIGlmICghaGlkZGVuKHJvd0RhdGEpKSB7XHJcbiAgICAgICAgICAgICAgZmxhZyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgcm93RGF0YS5tZXRhLnNlbGVjdG9yLmFjdGlvbnMucHVzaChrZXkpO1xyXG4gICAgICAgICAgICAgIGlmIChpc0dyb3VwZWQpIHtcclxuICAgICAgICAgICAgICAgIGdyb3VwZWRBY3Rpb25zLnB1c2goa2V5KTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSBpZiAoIWhpZGRlbikge1xyXG4gICAgICAgICAgICBmbGFnID0gdHJ1ZTtcclxuICAgICAgICAgICAgcm93RGF0YS5tZXRhLnNlbGVjdG9yLmFjdGlvbnMucHVzaChrZXkpO1xyXG4gICAgICAgICAgICBpZiAoaXNHcm91cGVkKSB7XHJcbiAgICAgICAgICAgICAgZ3JvdXBlZEFjdGlvbnMucHVzaChrZXkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgICByb3dEYXRhLm1ldGEuc2VsZWN0b3IuYWN0aW9ucy5wdXNoKGhhc2goYWN0aW9uKSk7XHJcbiAgICAgICAgICBpZiAoaGFzR3JvdXApIHtcclxuICAgICAgICAgICAgZ3JvdXBlZEFjdGlvbnMucHVzaChoYXNoKGFjdGlvbikpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCB7IGhpZGRlbiwgaXNHcm91cGVkIH0gPSBhY3Rpb247XHJcbiAgICAgICAgY29uc3Qga2V5ID0gaGFzaChhY3Rpb24pO1xyXG4gICAgICAgIGlmICh0eXBlb2YgKGhpZGRlbikgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgIGlmICghaGlkZGVuKHJvd0RhdGEpKSB7XHJcbiAgICAgICAgICAgIHJvd0RhdGEubWV0YS5zZWxlY3Rvci5hY3Rpb25zLnB1c2goa2V5KTtcclxuICAgICAgICAgICAgaWYgKGlzR3JvdXBlZCkge1xyXG4gICAgICAgICAgICAgIGdyb3VwZWRBY3Rpb25zLnB1c2goa2V5KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSBpZiAoIWhpZGRlbikge1xyXG4gICAgICAgICAgcm93RGF0YS5tZXRhLnNlbGVjdG9yLmFjdGlvbnMucHVzaChrZXkpO1xyXG4gICAgICAgICAgaWYgKGlzR3JvdXBlZCkge1xyXG4gICAgICAgICAgICBncm91cGVkQWN0aW9ucy5wdXNoKGtleSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByb3dEYXRhLm1ldGEuc2VsZWN0b3Iuc2VsZWN0YWJsZSA9ICEhcm93RGF0YS5tZXRhLnNlbGVjdG9yLmFjdGlvbnM/Lmxlbmd0aDtcclxuICAgIGlmICghcm93RGF0YS5tZXRhLnNlbGVjdG9yLnNlbGVjdGFibGUgfHwgIWdyb3VwZWRBY3Rpb25zLmxlbmd0aCB8fCByb3dEYXRhPy5tZXRhLmdyb3VwPy5pdGVtcz8ubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiByb3dEYXRhLm1ldGEuc2VsZWN0b3Iuc2VsZWN0YWJsZTtcclxuICAgIH1cclxuICAgIC8vIMSQ4buRaSB24bubaSB0csaw4budbmcgaOG7o3AgZ3JvdXBlZCwgdHV5IHNlbGVjdGFibGUgbMOgIHRydWUgbmjGsG5nIHbhuqtuIOG6qW4gxJFpIGNoZWNrYm94XHJcbiAgICAvLyBu4bq/dSBjw6FjIGFjdGlvbiDEkeG7gXUgdGh14buZYyBncm91cGVkQWN0aW9ucyB2w6Agcm93RGF0YSBrbyBwaOG6o2kgbMOgIGTDsm5nIGdyb3VwXHJcbiAgICByZXR1cm4gcm93RGF0YS5tZXRhLnNlbGVjdG9yLmFjdGlvbnMuc29tZShhY3Rpb24gPT4gIWdyb3VwZWRBY3Rpb25zLmluY2x1ZGVzKGFjdGlvbikpO1xyXG4gIH1cclxufVxyXG4iXX0=
|