@ai-table/grid 0.0.4 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- package/components/cell-editors/cell-editor.scss +20 -0
- package/components/cell-editors/number/number-editor.component.d.ts.map +1 -1
- package/components/cell-editors/progress/progress-editor.component.d.ts +22 -0
- package/components/cell-editors/progress/progress-editor.component.d.ts.map +1 -0
- package/components/cell-editors/progress/progress-editor.component.scss +21 -0
- package/components/cell-editors/rating/rating-editor.component.d.ts.map +1 -1
- package/components/cell-editors/text/text-editor.component.d.ts +9 -1
- package/components/cell-editors/text/text-editor.component.d.ts.map +1 -1
- package/components/field-property-editor/field-property-editor.component.d.ts.map +1 -1
- package/components/index.d.ts +6 -0
- package/components/index.d.ts.map +1 -1
- package/constants/editor.d.ts.map +1 -1
- package/constants/field.d.ts +3 -3
- package/constants/grid.d.ts +1 -0
- package/constants/grid.d.ts.map +1 -1
- package/core/constants/field.d.ts.map +1 -1
- package/core/types/core.d.ts +14 -8
- package/core/types/core.d.ts.map +1 -1
- package/core/utils/field.d.ts +3 -3
- package/core/utils/field.d.ts.map +1 -1
- package/esm2022/components/cell-editors/abstract-cell-editor.component.mjs +2 -2
- package/esm2022/components/cell-editors/number/number-editor.component.mjs +7 -6
- package/esm2022/components/cell-editors/progress/progress-editor.component.mjs +75 -0
- package/esm2022/components/cell-editors/rating/rating-editor.component.mjs +7 -6
- package/esm2022/components/cell-editors/select/select-editor.component.mjs +3 -3
- package/esm2022/components/cell-editors/text/text-editor.component.mjs +54 -21
- package/esm2022/components/field-menu/field-menu.component.mjs +3 -3
- package/esm2022/components/field-property-editor/field-property-editor.component.mjs +5 -5
- package/esm2022/components/index.mjs +7 -1
- package/esm2022/constants/editor.mjs +6 -8
- package/esm2022/constants/field.mjs +4 -4
- package/esm2022/constants/grid.mjs +4 -2
- package/esm2022/core/action/general.mjs +4 -4
- package/esm2022/core/constants/field.mjs +43 -3
- package/esm2022/core/types/core.mjs +6 -2
- package/esm2022/core/utils/field.mjs +6 -3
- package/esm2022/core/utils/queries.mjs +2 -2
- package/esm2022/core/utils/record.mjs +3 -3
- package/esm2022/grid.component.mjs +94 -50
- package/esm2022/pipes/grid.pipe.mjs +31 -0
- package/esm2022/pipes/index.mjs +2 -2
- package/esm2022/services/event.service.mjs +37 -24
- package/esm2022/services/selection.service.mjs +72 -0
- package/esm2022/types/field.mjs +1 -1
- package/esm2022/types/grid.mjs +2 -8
- package/esm2022/utils/build.mjs +35 -13
- package/esm2022/utils/cell.mjs +3 -3
- package/fesm2022/ai-table-grid.mjs +649 -397
- package/fesm2022/ai-table-grid.mjs.map +1 -1
- package/grid.component.d.ts +19 -16
- package/grid.component.d.ts.map +1 -1
- package/package.json +1 -1
- package/pipes/grid.pipe.d.ts +15 -0
- package/pipes/grid.pipe.d.ts.map +1 -0
- package/pipes/index.d.ts +1 -1
- package/pipes/index.d.ts.map +1 -1
- package/services/event.service.d.ts +7 -6
- package/services/event.service.d.ts.map +1 -1
- package/services/{selection.servive.d.ts → selection.service.d.ts} +1 -1
- package/services/{selection.servive.d.ts.map → selection.service.d.ts.map} +1 -1
- package/styles/styles.scss +6 -10
- package/types/field.d.ts +1 -1
- package/types/field.d.ts.map +1 -1
- package/types/grid.d.ts +8 -6
- package/types/grid.d.ts.map +1 -1
- package/utils/build.d.ts +3 -2
- package/utils/build.d.ts.map +1 -1
- package/utils/cell.d.ts +1 -1
- package/utils/cell.d.ts.map +1 -1
- package/esm2022/pipes/grid.mjs +0 -17
- package/esm2022/services/selection.servive.mjs +0 -64
- package/pipes/grid.d.ts +0 -9
- package/pipes/grid.d.ts.map +0 -1
@@ -6,10 +6,14 @@ export var AITableFieldType;
|
|
6
6
|
AITableFieldType["number"] = "number";
|
7
7
|
AITableFieldType["date"] = "date";
|
8
8
|
AITableFieldType["member"] = "member";
|
9
|
-
// cascadeSelect =
|
9
|
+
// cascadeSelect = 'cascade_select', // 包含单选和多选,参数复杂后续再进行设计
|
10
10
|
AITableFieldType["progress"] = "progress";
|
11
11
|
AITableFieldType["rate"] = "rate";
|
12
12
|
AITableFieldType["link"] = "link";
|
13
|
+
AITableFieldType["createdAt"] = "created_at";
|
14
|
+
AITableFieldType["updatedAt"] = "updated_at";
|
15
|
+
AITableFieldType["createdBy"] = "created_by";
|
16
|
+
AITableFieldType["updatedBy"] = "updated_by";
|
13
17
|
})(AITableFieldType || (AITableFieldType = {}));
|
14
18
|
export var AITableStatType;
|
15
19
|
(function (AITableStatType) {
|
@@ -32,4 +36,4 @@ export var AITableStatType;
|
|
32
36
|
AITableStatType[AITableStatType["PercentChecked"] = 16] = "PercentChecked";
|
33
37
|
AITableStatType[AITableStatType["PercentUnChecked"] = 17] = "PercentUnChecked";
|
34
38
|
})(AITableStatType || (AITableStatType = {}));
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL2NvcmUvdHlwZXMvY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLENBQU4sSUFBWSxnQkFlWDtBQWZELFdBQVksZ0JBQWdCO0lBQ3hCLGlDQUFhLENBQUE7SUFDYiwwQ0FBc0IsQ0FBQTtJQUN0QixxQ0FBaUIsQ0FBQTtJQUNqQixxQ0FBaUIsQ0FBQTtJQUNqQixpQ0FBYSxDQUFBO0lBQ2IscUNBQWlCLENBQUE7SUFDakIsMkRBQTJEO0lBQzNELHlDQUFxQixDQUFBO0lBQ3JCLGlDQUFhLENBQUE7SUFDYixpQ0FBYSxDQUFBO0lBQ2IsNENBQXdCLENBQUE7SUFDeEIsNENBQXdCLENBQUE7SUFDeEIsNENBQXdCLENBQUE7SUFDeEIsNENBQXdCLENBQUE7QUFDNUIsQ0FBQyxFQWZXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFlM0I7QUFFRCxNQUFNLENBQU4sSUFBWSxlQW1CWDtBQW5CRCxXQUFZLGVBQWU7SUFDdkIscURBQVEsQ0FBQTtJQUNSLDZEQUFZLENBQUE7SUFDWix1REFBUyxDQUFBO0lBQ1QseURBQVUsQ0FBQTtJQUNWLHlEQUFVLENBQUE7SUFDVixxRUFBZ0IsQ0FBQTtJQUNoQix1RUFBaUIsQ0FBQTtJQUNqQix1RUFBaUIsQ0FBQTtJQUNqQixtREFBTyxDQUFBO0lBQ1AsMkRBQVcsQ0FBQTtJQUNYLG9EQUFRLENBQUE7SUFDUixvREFBUSxDQUFBO0lBQ1IsNEVBQW9CLENBQUE7SUFDcEIsZ0ZBQXNCLENBQUE7SUFDdEIsNERBQVksQ0FBQTtJQUNaLGdFQUFjLENBQUE7SUFDZCwwRUFBbUIsQ0FBQTtJQUNuQiw4RUFBcUIsQ0FBQTtBQUN6QixDQUFDLEVBbkJXLGVBQWUsS0FBZixlQUFlLFFBbUIxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJZCB9IGZyb20gJ25neC10ZXRoeXMvdHlwZXMnO1xuaW1wb3J0IHsgQUlUYWJsZVNlbGVjdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEFJVGFibGVBY3Rpb24gfSBmcm9tICcuL2FjdGlvbic7XG5cbmV4cG9ydCBlbnVtIEFJVGFibGVGaWVsZFR5cGUge1xuICAgIHRleHQgPSAndGV4dCcsIC8vIOWMheWQq+WkmuihjOaWh+acrFxuICAgIHJpY2hUZXh0ID0gJ3JpY2hfdGV4dCcsIC8vIOWMheWQq+WkmuihjOaWh+acrFxuICAgIHNlbGVjdCA9ICdzZWxlY3QnLCAvLyDljIXlkKvljZXpgInlkozlpJrpgIlcbiAgICBudW1iZXIgPSAnbnVtYmVyJyxcbiAgICBkYXRlID0gJ2RhdGUnLFxuICAgIG1lbWJlciA9ICdtZW1iZXInLCAvLyDljIXlkKvljZXkuKrlkozlpJrkuKpcbiAgICAvLyBjYXNjYWRlU2VsZWN0ID0gJ2Nhc2NhZGVfc2VsZWN0JywgLy8g5YyF5ZCr5Y2V6YCJ5ZKM5aSa6YCJ77yM5Y+C5pWw5aSN5p2C5ZCO57ut5YaN6L+b6KGM6K6+6K6hXG4gICAgcHJvZ3Jlc3MgPSAncHJvZ3Jlc3MnLFxuICAgIHJhdGUgPSAncmF0ZScsXG4gICAgbGluayA9ICdsaW5rJyxcbiAgICBjcmVhdGVkQXQgPSAnY3JlYXRlZF9hdCcsXG4gICAgdXBkYXRlZEF0ID0gJ3VwZGF0ZWRfYXQnLFxuICAgIGNyZWF0ZWRCeSA9ICdjcmVhdGVkX2J5JyxcbiAgICB1cGRhdGVkQnkgPSAndXBkYXRlZF9ieSdcbn1cblxuZXhwb3J0IGVudW0gQUlUYWJsZVN0YXRUeXBlIHtcbiAgICBOb25lID0gMCxcbiAgICBDb3VudEFsbCA9IDEsXG4gICAgRW1wdHkgPSAyLFxuICAgIEZpbGxlZCA9IDMsXG4gICAgVW5pcXVlID0gNCxcbiAgICBQZXJjZW50RW1wdHkgPSA1LFxuICAgIFBlcmNlbnRGaWxsZWQgPSA2LFxuICAgIFBlcmNlbnRVbmlxdWUgPSA3LFxuICAgIFN1bSA9IDgsXG4gICAgQXZlcmFnZSA9IDksXG4gICAgTWF4ID0gMTAsXG4gICAgTWluID0gMTEsXG4gICAgRGF0ZVJhbmdlT2ZEYXlzID0gMTIsXG4gICAgRGF0ZVJhbmdlT2ZNb250aHMgPSAxMyxcbiAgICBDaGVja2VkID0gMTQsXG4gICAgVW5DaGVja2VkID0gMTUsXG4gICAgUGVyY2VudENoZWNrZWQgPSAxNixcbiAgICBQZXJjZW50VW5DaGVja2VkID0gMTdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlU2VsZWN0T3B0aW9uIHtcbiAgICBfaWQ6IHN0cmluZztcbiAgICB0ZXh0OiBzdHJpbmc7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgYmdfY29sb3I/OiBzdHJpbmc7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVGaWVsZDxUID0gdW5rbm93bj4ge1xuICAgIF9pZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB0eXBlOiBBSVRhYmxlRmllbGRUeXBlO1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgd2lkdGg/OiBudW1iZXI7XG4gICAgaGlkZGVuPzogYm9vbGVhbjtcbiAgICBmcm96ZW4/OiBib29sZWFuO1xuICAgIHN0YXRUeXBlPzogQUlUYWJsZVN0YXRUeXBlO1xuICAgIHJlYWRvbmx5PzogYm9vbGVhbjtcbiAgICBpc011bHRpcGxlPzogYm9vbGVhbjtcbiAgICBba2V5OiBzdHJpbmddOiBUIHwgYW55O1xufVxuXG5leHBvcnQgdHlwZSBUZXh0RmllbGRWYWx1ZSA9IHN0cmluZztcblxuZXhwb3J0IHR5cGUgU2VsZWN0RmllbGRWYWx1ZSA9IElkW107IC8vIOaVsOWtl1xuXG5leHBvcnQgdHlwZSBOdW1iZXJGaWVsZFZhbHVlID0gbnVtYmVyO1xuXG5leHBvcnQgdHlwZSBEYXRlRmllbGRWYWx1ZSA9IHsgdGltZXN0YW1wOiBudW1iZXIgfTsgLy8g5pe26Ze05oizXG5cbmV4cG9ydCB0eXBlIE1lbWJlckZpZWxkVmFsdWUgPSBJZFtdO1xuXG5leHBvcnQgdHlwZSBQcm9ncmVzc0ZpZWxkVmFsdWUgPSBudW1iZXI7IC8vIFswLDFdXG5cbmV4cG9ydCB0eXBlIFJhdGVGaWVsZFZhbHVlID0gMSB8IDIgfCAzIHwgNCB8IDU7XG5cbmV4cG9ydCB0eXBlIEZpZWxkVmFsdWUgPVxuICAgIHwgVGV4dEZpZWxkVmFsdWVcbiAgICB8IFNlbGVjdEZpZWxkVmFsdWVcbiAgICB8IE51bWJlckZpZWxkVmFsdWVcbiAgICB8IERhdGVGaWVsZFZhbHVlXG4gICAgfCBNZW1iZXJGaWVsZFZhbHVlXG4gICAgfCBQcm9ncmVzc0ZpZWxkVmFsdWVcbiAgICB8IFJhdGVGaWVsZFZhbHVlXG4gICAgfCBhbnk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZVJlY29yZCB7XG4gICAgX2lkOiBzdHJpbmc7XG4gICAgdmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBGaWVsZFZhbHVlPjtcbn1cblxuZXhwb3J0IHR5cGUgQUlUYWJsZVJlY29yZHMgPSBBSVRhYmxlUmVjb3JkW107XG5cbmV4cG9ydCB0eXBlIEFJVGFibGVGaWVsZHMgPSBBSVRhYmxlRmllbGRbXTtcblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlVmFsdWUge1xuICAgIHJlY29yZHM6IEFJVGFibGVSZWNvcmRzO1xuICAgIGZpZWxkczogQUlUYWJsZUZpZWxkcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlIHtcbiAgICByZWNvcmRzOiBXcml0YWJsZVNpZ25hbDxBSVRhYmxlUmVjb3Jkcz47XG4gICAgZmllbGRzOiBXcml0YWJsZVNpZ25hbDxBSVRhYmxlRmllbGRzPjtcbiAgICBhY3Rpb25zOiBBSVRhYmxlQWN0aW9uW107XG4gICAgc2VsZWN0aW9uOiBXcml0YWJsZVNpZ25hbDxBSVRhYmxlU2VsZWN0aW9uPjtcbiAgICBvbkNoYW5nZTogKCkgPT4gdm9pZDtcbiAgICBhcHBseTogKGFjdGlvbjogQUlUYWJsZUFjdGlvbikgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlQ2hhbmdlT3B0aW9ucyB7XG4gICAgcmVjb3JkczogQUlUYWJsZVJlY29yZFtdO1xuICAgIGZpZWxkczogQUlUYWJsZUZpZWxkW107XG4gICAgYWN0aW9uczogQUlUYWJsZUFjdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVGaWVsZEluZm8ge1xuICAgIHR5cGU6IEFJVGFibGVGaWVsZFR5cGU7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGljb246IHN0cmluZztcbiAgICB3aWR0aDogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBBSVBsdWdpbiA9IChhaVRhYmxlOiBBSVRhYmxlKSA9PiBBSVRhYmxlO1xuIl19
|
@@ -1,7 +1,10 @@
|
|
1
1
|
import { FieldsMap } from '../constants/field';
|
2
2
|
import { AITableFieldType } from '../types';
|
3
3
|
import { idCreator } from './id-creator';
|
4
|
-
export function getDefaultFieldValue(
|
4
|
+
export function getDefaultFieldValue(field) {
|
5
|
+
if ([AITableFieldType.member, AITableFieldType.createdBy, AITableFieldType.updatedBy].includes(field.type)) {
|
6
|
+
return [];
|
7
|
+
}
|
5
8
|
return '';
|
6
9
|
}
|
7
10
|
export function createDefaultFieldName(aiTable, type = AITableFieldType.text) {
|
@@ -10,6 +13,6 @@ export function createDefaultFieldName(aiTable, type = AITableFieldType.text) {
|
|
10
13
|
return count === 0 ? FieldsMap[type].name : FieldsMap[type].name + count;
|
11
14
|
}
|
12
15
|
export function createDefaultField(aiTable, type = AITableFieldType.text) {
|
13
|
-
return {
|
16
|
+
return { _id: idCreator(), type, name: createDefaultFieldName(aiTable, type) };
|
14
17
|
}
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb3JlL3V0aWxzL2ZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQXlCLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekMsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEtBQW1CO0lBQ3BELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN6RyxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDRCxPQUFPLEVBQUUsQ0FBQztBQUNkLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsT0FBZ0IsRUFBRSxPQUF5QixnQkFBZ0IsQ0FBQyxJQUFJO0lBQ25HLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNqRSxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0FBQzdFLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsT0FBZ0IsRUFBRSxPQUF5QixnQkFBZ0IsQ0FBQyxJQUFJO0lBQy9GLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztBQUNuRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmllbGRzTWFwIH0gZnJvbSAnLi4vY29uc3RhbnRzL2ZpZWxkJztcbmltcG9ydCB7IEFJVGFibGUsIEFJVGFibGVGaWVsZCwgQUlUYWJsZUZpZWxkVHlwZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGlkQ3JlYXRvciB9IGZyb20gJy4vaWQtY3JlYXRvcic7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWZhdWx0RmllbGRWYWx1ZShmaWVsZDogQUlUYWJsZUZpZWxkKSB7XG4gICAgaWYgKFtBSVRhYmxlRmllbGRUeXBlLm1lbWJlciwgQUlUYWJsZUZpZWxkVHlwZS5jcmVhdGVkQnksIEFJVGFibGVGaWVsZFR5cGUudXBkYXRlZEJ5XS5pbmNsdWRlcyhmaWVsZC50eXBlKSkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIHJldHVybiAnJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURlZmF1bHRGaWVsZE5hbWUoYWlUYWJsZTogQUlUYWJsZSwgdHlwZTogQUlUYWJsZUZpZWxkVHlwZSA9IEFJVGFibGVGaWVsZFR5cGUudGV4dCkge1xuICAgIGNvbnN0IGZpZWxkcyA9IGFpVGFibGUuZmllbGRzKCk7XG4gICAgY29uc3QgY291bnQgPSBmaWVsZHMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnR5cGUgPT09IHR5cGUpLmxlbmd0aDtcbiAgICByZXR1cm4gY291bnQgPT09IDAgPyBGaWVsZHNNYXBbdHlwZV0ubmFtZSA6IEZpZWxkc01hcFt0eXBlXS5uYW1lICsgY291bnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVEZWZhdWx0RmllbGQoYWlUYWJsZTogQUlUYWJsZSwgdHlwZTogQUlUYWJsZUZpZWxkVHlwZSA9IEFJVGFibGVGaWVsZFR5cGUudGV4dCkge1xuICAgIHJldHVybiB7IF9pZDogaWRDcmVhdG9yKCksIHR5cGUsIG5hbWU6IGNyZWF0ZURlZmF1bHRGaWVsZE5hbWUoYWlUYWJsZSwgdHlwZSkgfTtcbn1cbiJdfQ==
|
@@ -31,7 +31,7 @@ export const AITableQueries = {
|
|
31
31
|
if (!field) {
|
32
32
|
throw new Error(`can not find field at path [${path}]`);
|
33
33
|
}
|
34
|
-
return aiTable.records()[path[0]].values[field.
|
34
|
+
return aiTable.records()[path[0]].values[field._id];
|
35
35
|
},
|
36
36
|
getField(aiTable, path) {
|
37
37
|
if (!aiTable) {
|
@@ -52,4 +52,4 @@ export const AITableQueries = {
|
|
52
52
|
return aiTable.records()[path[0]];
|
53
53
|
}
|
54
54
|
};
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL2NvcmUvdXRpbHMvcXVlcmllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdwRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDMUIsUUFBUSxDQUFDLE9BQWdCLEVBQUUsS0FBb0IsRUFBRSxNQUFzQjtRQUNuRSxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoRSxNQUFNLFVBQVUsR0FBRyxLQUFLLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDM0csT0FBTyxDQUFDLFdBQVksRUFBRSxVQUFXLENBQXFCLENBQUM7UUFDM0QsQ0FBQztRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN0RCxPQUFPLENBQUMsV0FBVyxDQUFpQixDQUFDO1FBQ3pDLENBQUM7UUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDcEQsT0FBTyxDQUFDLFVBQVUsQ0FBZ0IsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pHLENBQUM7SUFDRCxhQUFhLENBQUMsT0FBZ0IsRUFBRSxJQUFzQjtRQUNsRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDVCxNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQzVELENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxRQUFRLENBQUMsT0FBZ0IsRUFBRSxJQUFpQjtRQUN4QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBZ0IsRUFBRSxJQUFrQjtRQUMxQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNVbmRlZmluZWRPck51bGwgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgUGF0aCwgQUlUYWJsZSwgQUlUYWJsZUZpZWxkLCBBSVRhYmxlUmVjb3JkLCBBSUZpZWxkVmFsdWVQYXRoLCBBSVJlY29yZFBhdGgsIEFJRmllbGRQYXRoIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQUlUYWJsZVF1ZXJpZXMgPSB7XG4gICAgZmluZFBhdGgoYWlUYWJsZTogQUlUYWJsZSwgZmllbGQ/OiBBSVRhYmxlRmllbGQsIHJlY29yZD86IEFJVGFibGVSZWNvcmQpOiBQYXRoIHtcbiAgICAgICAgY29uc3QgcmVjb3JkSW5kZXggPSByZWNvcmQgJiYgYWlUYWJsZS5yZWNvcmRzKCkuaW5kZXhPZihyZWNvcmQpO1xuICAgICAgICBjb25zdCBmaWVsZEluZGV4ID0gZmllbGQgJiYgYWlUYWJsZS5maWVsZHMoKS5pbmRleE9mKGZpZWxkKTtcbiAgICAgICAgaWYgKCFpc1VuZGVmaW5lZE9yTnVsbChyZWNvcmRJbmRleCkgJiYgcmVjb3JkSW5kZXggPiAtMSAmJiAhaXNVbmRlZmluZWRPck51bGwoZmllbGRJbmRleCkgJiYgZmllbGRJbmRleCA+IC0xKSB7XG4gICAgICAgICAgICByZXR1cm4gW3JlY29yZEluZGV4ISwgZmllbGRJbmRleCFdIGFzIEFJRmllbGRWYWx1ZVBhdGg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc1VuZGVmaW5lZE9yTnVsbChyZWNvcmRJbmRleCkgJiYgcmVjb3JkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgcmV0dXJuIFtyZWNvcmRJbmRleF0gYXMgQUlSZWNvcmRQYXRoO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNVbmRlZmluZWRPck51bGwoZmllbGRJbmRleCkgJiYgZmllbGRJbmRleCA+IC0xKSB7XG4gICAgICAgICAgICByZXR1cm4gW2ZpZWxkSW5kZXhdIGFzIEFJRmllbGRQYXRoO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgY2FuIG5vdCBmaW5kIHRoZSBwYXRoOiAke0pTT04uc3RyaW5naWZ5KHsgLi4uKGZpZWxkIHx8IHt9KSwgLi4uKHJlY29yZCB8fCB7fSkgfSl9YCk7XG4gICAgfSxcbiAgICBnZXRGaWVsZFZhbHVlKGFpVGFibGU6IEFJVGFibGUsIHBhdGg6IFtudW1iZXIsIG51bWJlcl0pOiBhbnkge1xuICAgICAgICBpZiAoIWFpVGFibGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgYWlUYWJsZSBkb2VzIG5vdCBleGlzdGApO1xuICAgICAgICB9XG4gICAgICAgIGlmICghYWlUYWJsZS5yZWNvcmRzKCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgYWlUYWJsZSBoYXMgbm8gcmVjb3Jkc2ApO1xuICAgICAgICB9XG4gICAgICAgIGlmICghYWlUYWJsZS5maWVsZHMoKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBhaVRhYmxlIGhhcyBubyBmaWVsZHNgKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXBhdGgpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgcGF0aCBkb2VzIG5vdCBleGlzdCBhcyBwYXRoIFske3BhdGh9XWApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZmllbGQgPSBhaVRhYmxlLmZpZWxkcygpW3BhdGhbMV1dO1xuICAgICAgICBpZiAoIWZpZWxkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGNhbiBub3QgZmluZCBmaWVsZCBhdCBwYXRoIFske3BhdGh9XWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhaVRhYmxlLnJlY29yZHMoKVtwYXRoWzBdXS52YWx1ZXNbZmllbGQuX2lkXTtcbiAgICB9LFxuXG4gICAgZ2V0RmllbGQoYWlUYWJsZTogQUlUYWJsZSwgcGF0aDogQUlGaWVsZFBhdGgpOiBBSVRhYmxlRmllbGQge1xuICAgICAgICBpZiAoIWFpVGFibGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgYWlUYWJsZSBkb2VzIG5vdCBleGlzdGApO1xuICAgICAgICB9XG4gICAgICAgIGlmICghcGF0aCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBwYXRoIGRvZXMgbm90IGV4aXN0IGFzIHBhdGggWyR7cGF0aH1dYCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFpVGFibGUuZmllbGRzKClbcGF0aFswXV07XG4gICAgfSxcblxuICAgIGdldFJlY29yZChhaVRhYmxlOiBBSVRhYmxlLCBwYXRoOiBBSVJlY29yZFBhdGgpOiBBSVRhYmxlUmVjb3JkIHtcbiAgICAgICAgaWYgKCFhaVRhYmxlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGFpVGFibGUgZG9lcyBub3QgZXhpc3RgKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXBhdGgpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgcGF0aCBkb2VzIG5vdCBleGlzdCBhcyBwYXRoIFske3BhdGh9XWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhaVRhYmxlLnJlY29yZHMoKVtwYXRoWzBdXTtcbiAgICB9XG59O1xuIl19
|
@@ -2,12 +2,12 @@ import { getDefaultFieldValue } from './field';
|
|
2
2
|
import { idCreator } from './id-creator';
|
3
3
|
export function getDefaultRecord(fields) {
|
4
4
|
const newRow = {
|
5
|
-
|
5
|
+
_id: idCreator(),
|
6
6
|
values: {}
|
7
7
|
};
|
8
8
|
fields.map((item) => {
|
9
|
-
newRow.values[item.
|
9
|
+
newRow.values[item._id] = getDefaultFieldValue(item);
|
10
10
|
});
|
11
11
|
return newRow;
|
12
12
|
}
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvY29yZS91dGlscy9yZWNvcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekMsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE1BQXFCO0lBQ2xELE1BQU0sTUFBTSxHQUFrQjtRQUMxQixHQUFHLEVBQUUsU0FBUyxFQUFFO1FBQ2hCLE1BQU0sRUFBRSxFQUFFO0tBQ2IsQ0FBQztJQUNGLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUNoQixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVRhYmxlRmllbGRzLCBBSVRhYmxlUmVjb3JkIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0RGVmYXVsdEZpZWxkVmFsdWUgfSBmcm9tICcuL2ZpZWxkJztcbmltcG9ydCB7IGlkQ3JlYXRvciB9IGZyb20gJy4vaWQtY3JlYXRvcic7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWZhdWx0UmVjb3JkKGZpZWxkczogQUlUYWJsZUZpZWxkcykge1xuICAgIGNvbnN0IG5ld1JvdzogQUlUYWJsZVJlY29yZCA9IHtcbiAgICAgICAgX2lkOiBpZENyZWF0b3IoKSxcbiAgICAgICAgdmFsdWVzOiB7fVxuICAgIH07XG4gICAgZmllbGRzLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICBuZXdSb3cudmFsdWVzW2l0ZW0uX2lkXSA9IGdldERlZmF1bHRGaWVsZFZhbHVlKGl0ZW0pO1xuICAgIH0pO1xuICAgIHJldHVybiBuZXdSb3c7XG59XG4iXX0=
|
@@ -1,69 +1,64 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
import { SelectOptionPipe } from './pipes/grid';
|
4
|
-
import { ThyTag } from 'ngx-tethys/tag';
|
5
|
-
import { ThyPopoverModule } from 'ngx-tethys/popover';
|
1
|
+
import { CommonModule, NgClass, NgComponentOutlet, NgForOf, NgTemplateOutlet } from '@angular/common';
|
2
|
+
import { ChangeDetectionStrategy, Component, computed, DestroyRef, ElementRef, inject, input, model, NgZone, output, signal } from '@angular/core';
|
6
3
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
7
|
-
import { buildGridData } from './utils';
|
8
|
-
import { Actions, createAITable, getDefaultRecord, AITableFieldType, createDefaultField } from './core';
|
9
|
-
import { ThyIcon } from 'ngx-tethys/icon';
|
10
|
-
import { AITableGridEventService } from './services/event.service';
|
11
|
-
import { AITableFieldPropertyEditor } from './components/field-property-editor/field-property-editor.component';
|
12
|
-
import { ThyDatePickerFormatPipe } from 'ngx-tethys/date-picker';
|
13
|
-
import { ThyRate } from 'ngx-tethys/rate';
|
14
4
|
import { FormsModule } from '@angular/forms';
|
15
|
-
import {
|
16
|
-
import { ThyTooltipModule, ThyTooltipService } from 'ngx-tethys/tooltip';
|
5
|
+
import { ThyAction } from 'ngx-tethys/action';
|
17
6
|
import { ThyCheckboxModule } from 'ngx-tethys/checkbox';
|
7
|
+
import { ThyDatePickerFormatPipe } from 'ngx-tethys/date-picker';
|
8
|
+
import { ThyDropdownDirective, ThyDropdownMenuComponent } from 'ngx-tethys/dropdown';
|
9
|
+
import { ThyFlexibleText } from 'ngx-tethys/flexible-text';
|
10
|
+
import { ThyIcon } from 'ngx-tethys/icon';
|
11
|
+
import { ThyPopoverModule } from 'ngx-tethys/popover';
|
12
|
+
import { ThyProgress } from 'ngx-tethys/progress';
|
13
|
+
import { ThyRate } from 'ngx-tethys/rate';
|
18
14
|
import { ThyStopPropagationDirective } from 'ngx-tethys/shared';
|
15
|
+
import { ThyTag } from 'ngx-tethys/tag';
|
16
|
+
import { mergeWith } from 'rxjs/operators';
|
17
|
+
import { ProgressEditorComponent } from './components';
|
19
18
|
import { FieldMenu } from './components/field-menu/field-menu.component';
|
20
|
-
import {
|
21
|
-
import {
|
22
|
-
import {
|
19
|
+
import { AITableFieldPropertyEditor } from './components/field-property-editor/field-property-editor.component';
|
20
|
+
import { DBL_CLICK_EDIT_TYPE, DefaultFieldMenus, MOUSEOVER_EDIT_TYPE } from './constants';
|
21
|
+
import { Actions, AITableFieldType, createAITable, createDefaultField, getDefaultRecord } from './core';
|
22
|
+
import { IsSelectRecordPipe, SelectOptionPipe } from './pipes/grid.pipe';
|
23
|
+
import { AITableGridEventService } from './services/event.service';
|
23
24
|
import { AI_TABLE_GRID_FIELD_SERVICE_MAP, AITableGridFieldService } from './services/field.service';
|
24
|
-
import { AITableGridSelectionService } from './services/selection.
|
25
|
+
import { AITableGridSelectionService } from './services/selection.service';
|
26
|
+
import { buildGridData } from './utils';
|
27
|
+
import { ThyAvatarModule } from 'ngx-tethys/avatar';
|
25
28
|
import * as i0 from "@angular/core";
|
26
|
-
import * as i1 from "
|
27
|
-
import * as i2 from "
|
28
|
-
import * as i3 from "
|
29
|
-
import * as i4 from "
|
30
|
-
import * as i5 from "@angular/forms";
|
31
|
-
import * as i6 from "ngx-tethys/checkbox";
|
29
|
+
import * as i1 from "@angular/common";
|
30
|
+
import * as i2 from "@angular/forms";
|
31
|
+
import * as i3 from "ngx-tethys/checkbox";
|
32
|
+
import * as i4 from "ngx-tethys/avatar";
|
32
33
|
export class AITableGrid {
|
33
|
-
|
34
|
-
return this.aiTable.selection().selectedRecords.size === this.aiRecords().length;
|
35
|
-
}
|
36
|
-
constructor(elementRef, aiTableGridEventService, aiTableGridSelectionService, aiTableGridFieldService, ngZone) {
|
37
|
-
this.elementRef = elementRef;
|
38
|
-
this.aiTableGridEventService = aiTableGridEventService;
|
39
|
-
this.aiTableGridSelectionService = aiTableGridSelectionService;
|
40
|
-
this.aiTableGridFieldService = aiTableGridFieldService;
|
41
|
-
this.ngZone = ngZone;
|
34
|
+
constructor() {
|
42
35
|
this.aiRecords = model.required();
|
43
36
|
this.aiFields = model.required();
|
44
|
-
this.aiRowHeight = input();
|
45
37
|
this.aiFieldConfig = input();
|
46
38
|
this.aiReadonly = input();
|
47
39
|
this.aiPlugins = input();
|
40
|
+
this.aiReferences = input();
|
48
41
|
this.AITableFieldType = AITableFieldType;
|
49
|
-
this.
|
42
|
+
this.isSelectedAll = computed(() => {
|
43
|
+
return this.aiTable.selection().selectedRecords.size === this.aiRecords().length;
|
44
|
+
});
|
50
45
|
this.onChange = output();
|
51
46
|
this.aiTableInitialized = output();
|
52
47
|
this.gridData = computed(() => {
|
53
|
-
return buildGridData(this.aiRecords(), this.aiFields(), this.
|
48
|
+
return buildGridData(this.aiRecords(), this.aiFields(), this.aiReferences());
|
54
49
|
});
|
50
|
+
this.ngZone = inject(NgZone);
|
51
|
+
this.elementRef = inject(ElementRef);
|
52
|
+
this.destroyRef = inject(DestroyRef);
|
53
|
+
this.aiTableGridFieldService = inject(AITableGridFieldService);
|
54
|
+
this.aiTableGridEventService = inject(AITableGridEventService);
|
55
|
+
this.aiTableGridSelectionService = inject(AITableGridSelectionService);
|
55
56
|
}
|
56
57
|
ngOnInit() {
|
57
58
|
this.initAITable();
|
58
59
|
this.initService();
|
59
60
|
this.buildFieldMenus();
|
60
|
-
this.
|
61
|
-
this.aiTableGridEventService.mousedownEvent$.pipe(this.takeUntilDestroyed).subscribe((event) => {
|
62
|
-
if (event?.target) {
|
63
|
-
this.aiTableGridSelectionService.updateSelect(event);
|
64
|
-
}
|
65
|
-
});
|
66
|
-
});
|
61
|
+
this.subscribeEvents();
|
67
62
|
}
|
68
63
|
initAITable() {
|
69
64
|
this.aiTable = createAITable(this.aiRecords, this.aiFields);
|
@@ -102,8 +97,53 @@ export class AITableGrid {
|
|
102
97
|
const field = signal(createDefaultField(this.aiTable, AITableFieldType.text));
|
103
98
|
this.aiTableGridFieldService.editFieldProperty(gridColumnBlank, this.aiTable, field, false);
|
104
99
|
}
|
105
|
-
|
106
|
-
|
100
|
+
subscribeEvents() {
|
101
|
+
this.ngZone.runOutsideAngular(() => {
|
102
|
+
this.aiTableGridEventService.dblClickEvent$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {
|
103
|
+
this.dblClick(event);
|
104
|
+
});
|
105
|
+
this.aiTableGridEventService.mousedownEvent$
|
106
|
+
.pipe(mergeWith(this.aiTableGridEventService.globalMousedownEvent$), takeUntilDestroyed(this.destroyRef))
|
107
|
+
.subscribe((event) => {
|
108
|
+
this.aiTableGridSelectionService.updateSelect(event);
|
109
|
+
});
|
110
|
+
this.aiTableGridEventService.mouseoverEvent$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {
|
111
|
+
this.mouseoverHandle(event);
|
112
|
+
});
|
113
|
+
this.aiTableGridEventService.globalMouseoverEvent$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {
|
114
|
+
this.closeHoverCellEditor(event);
|
115
|
+
});
|
116
|
+
});
|
117
|
+
}
|
118
|
+
dblClick(event) {
|
119
|
+
const cellDom = event.target.closest('.grid-cell');
|
120
|
+
const type = cellDom && cellDom.getAttribute('type');
|
121
|
+
const readonly = cellDom && cellDom.getAttribute('readonly');
|
122
|
+
if (type && !readonly && DBL_CLICK_EDIT_TYPE.includes(type)) {
|
123
|
+
this.aiTableGridEventService.openEdit(cellDom);
|
124
|
+
}
|
125
|
+
}
|
126
|
+
mouseoverHandle(event) {
|
127
|
+
if (this.mouseoverRef) {
|
128
|
+
this.mouseoverRef?.close();
|
129
|
+
}
|
130
|
+
const cellDom = event.target.closest('.grid-cell');
|
131
|
+
const type = cellDom && cellDom.getAttribute('type');
|
132
|
+
if (type && MOUSEOVER_EDIT_TYPE.includes(type)) {
|
133
|
+
this.mouseoverRef = this.aiTableGridEventService.openEdit(cellDom);
|
134
|
+
}
|
135
|
+
}
|
136
|
+
closeHoverCellEditor(e) {
|
137
|
+
if (this.mouseoverRef) {
|
138
|
+
const hasGrid = e.target && e.target.closest('.ai-table-grid');
|
139
|
+
const hasCellEditor = e.target && e.target.closest('.grid-cell-editor');
|
140
|
+
if (!hasGrid && !hasCellEditor) {
|
141
|
+
this.mouseoverRef.close();
|
142
|
+
}
|
143
|
+
}
|
144
|
+
}
|
145
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AITableGrid, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
146
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: AITableGrid, isStandalone: true, selector: "ai-table-grid", inputs: { aiRecords: { classPropertyName: "aiRecords", publicName: "aiRecords", isSignal: true, isRequired: true, transformFunction: null }, aiFields: { classPropertyName: "aiFields", publicName: "aiFields", isSignal: true, isRequired: true, transformFunction: null }, aiFieldConfig: { classPropertyName: "aiFieldConfig", publicName: "aiFieldConfig", isSignal: true, isRequired: false, transformFunction: null }, aiReadonly: { classPropertyName: "aiReadonly", publicName: "aiReadonly", isSignal: true, isRequired: false, transformFunction: null }, aiPlugins: { classPropertyName: "aiPlugins", publicName: "aiPlugins", isSignal: true, isRequired: false, transformFunction: null }, aiReferences: { classPropertyName: "aiReferences", publicName: "aiReferences", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { aiRecords: "aiRecordsChange", aiFields: "aiFieldsChange", onChange: "onChange", aiTableInitialized: "aiTableInitialized" }, host: { classAttribute: "ai-table-grid" }, providers: [AITableGridEventService, AITableGridFieldService, AITableGridSelectionService], ngImport: i0, template: "<div class=\"grid-header d-flex\">\n <div class=\"grid-column-checkbox grid-cell grid-checkbox\">\n <label thyCheckbox thyLabelText=\"\" [ngModel]=\"isSelectedAll()\" (ngModelChange)=\"toggleSelectAll($event)\"></label>\n </div>\n @for (field of gridData().fields; track field._id) {\n <div\n class=\"grid-cell grid-field\"\n #fieldAction\n [attr.fieldId]=\"field._id\"\n [ngClass]=\"{ highlight: aiTable.selection().selectedFields.has(field._id) }\"\n [ngStyle]=\"{ width: field.width + 'px' }\"\n >\n <span class=\"text-truncate\">\n <thy-icon [thyIconName]=\"field.icon!\" class=\"mr-2 text-muted\"></thy-icon>\n <span>{{ field.name }}</span>\n </span>\n <a\n class=\"grid-field-action\"\n thyAction\n thyActiveClass=\"active\"\n thyIcon=\"more-vertical\"\n [thyDropdown]=\"fieldMenu\"\n href=\"javascript:;\"\n >\n <thy-dropdown-menu #fieldMenu>\n <field-menu [origin]=\"fieldAction\" [fieldId]=\"field._id\" [aiTable]=\"aiTable\" [fieldMenus]=\"fieldMenus\"></field-menu>\n </thy-dropdown-menu>\n </a>\n </div>\n }\n <div class=\"grid-column-blank cursor-pointer\" #gridColumnBlank (click)=\"addField(gridColumnBlank)\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n </div>\n</div>\n<div class=\"grid-body d-flex\">\n @for (record of gridData().records; track record._id; let index = $index) {\n <div class=\"grid-row d-flex\" [ngClass]=\"{ highlight: (record._id | isSelectRecord: aiTable.selection()) }\">\n <div class=\"grid-row-index grid-checkbox\">\n <label\n [ngClass]=\"(record._id | isSelectRecord: aiTable.selection()) ? 'checked-box' : 'unchecked-box'\"\n thyCheckbox\n thyLabelText=\"\"\n [ngModel]=\"record._id | isSelectRecord: aiTable.selection()\"\n (ngModelChange)=\"selectRecord(record._id)\"\n ></label>\n <span [ngClass]=\"(record._id | isSelectRecord: aiTable.selection()) ? 'grid-row-no-number' : 'grid-row-number'\">\n {{ index + 1 }}\n </span>\n </div>\n @for (field of gridData().fields; track field._id) {\n <div\n #cell\n class=\"grid-cell\"\n [ngClass]=\"{\n highlight: aiTable.selection().selectedCells.has(record._id) || aiTable.selection().selectedFields.has(field._id),\n selected: aiTable.selection().selectedCells.get(record._id)?.hasOwnProperty(field._id)\n }\"\n [attr.type]=\"[field.type]\"\n [attr.fieldId]=\"[field._id]\"\n [attr.readonly]=\"[field?.readonly]\"\n [attr.recordId]=\"[record._id]\"\n [ngStyle]=\"{ width: field.width + 'px' }\"\n >\n @switch (field.type) {\n @case (AITableFieldType.select) {\n @if (!field.isMultiple && record.values[field._id] | selectOption: field['options']; as selectedOption) {\n <thy-tag [thyColor]=\"selectedOption!.color! || selectedOption!.bg_color! || 'default'\">{{\n selectedOption.text\n }}</thy-tag>\n }\n }\n @case (AITableFieldType.date) {\n {{ record.values[field._id] | thyDatePickerFormat }}\n }\n @case (AITableFieldType.updatedAt) {\n <div class=\"d-block user-select-none\">\n <span class=\"text-truncate\">\n {{ record.values[field._id] | thyDatePickerFormat: 'yyyy-MM-dd HH:mm' }}\n </span>\n </div>\n }\n @case (AITableFieldType.createdAt) {\n <div class=\"d-block user-select-none\">\n <span class=\"text-truncate\">\n {{ record.values[field._id] | thyDatePickerFormat: 'yyyy-MM-dd HH:mm' }}\n </span>\n </div>\n }\n @case (AITableFieldType.rate) {\n <thy-rate [ngModel]=\"record.values[field._id]\"></thy-rate>\n }\n @case (AITableFieldType.link) {\n <a\n class=\"d-block\"\n target=\"_blank\"\n [href]=\"record.values[field._id]?.url\"\n thyStopPropagation\n thyFlexibleText\n [thyTooltipContent]=\"record.values[field._id]?.text\"\n >\n {{ record.values[field._id]?.text }}\n </a>\n }\n @case (AITableFieldType.progress) {\n <thy-progress\n class=\"w-100\"\n [thyValue]=\"record.values[field._id]\"\n [thySize]=\"record.values[field._id]?.config?.size || 'md'\"\n [thyMax]=\"record.values[field._id]?.config?.max || 100\"\n [thyType]=\"record.values[field._id]?.config?.progressType || 'success'\"\n >\n <span> {{ record.values[field._id] }}{{ record.values[field._id]?.config?.suffix || '%' }} </span>\n </thy-progress>\n }\n @case (AITableFieldType.member) {\n @if (!field.isMultiple) {\n @if (record.values[field._id][0]; as recordValue) {\n <thy-avatar\n [thyName]=\"recordValue.display_name\"\n [thySrc]=\"recordValue.avatar\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n } @else {\n <thy-avatar-list thyAvatarSize=\"xs\">\n @for (item of record.values[field._id]; track $index) {\n <thy-avatar [thyName]=\"item.display_name\" [thySrc]=\"item.avatar\"></thy-avatar>\n }\n </thy-avatar-list>\n }\n }\n @case (AITableFieldType.createdBy) {\n @if (record.values[field._id][0]; as recordValue) {\n <thy-avatar\n [thyName]=\"recordValue.display_name\"\n [thySrc]=\"recordValue.avatar\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n }\n @case (AITableFieldType.updatedBy) {\n @if (record.values[field._id][0]; as recordValue) {\n <thy-avatar\n [thyName]=\"recordValue.display_name\"\n [thySrc]=\"recordValue.avatar\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n }\n @default {\n <span class=\"text-truncate\"> {{ record.values[field._id] }}</span>\n }\n }\n <div class=\"autofill-container\"></div>\n </div>\n }\n <div class=\"grid-column-blank\"></div>\n </div>\n }\n <div class=\"grid-row-insert grid-row cursor-pointer\" (click)=\"addRecord()\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n </div>\n</div>\n\n<div #activeBorder class=\"active-border\"></div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: SelectOptionPipe, name: "selectOption" }, { kind: "component", type: ThyTag, selector: "thy-tag,[thyTag]", inputs: ["thyTag", "thyShape", "thyColor", "thyTheme", "thySize", "thyHoverable"] }, { kind: "ngmodule", type: ThyPopoverModule }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyRate, selector: "thy-rate", inputs: ["thyCount", "thyDisabled", "thyAllowHalf", "thyAllowClear", "thyTooltips", "thyIconTemplate"], outputs: ["thyItemHoverChange"] }, { kind: "component", type: ThyProgress, selector: "thy-progress", inputs: ["thyType", "thySize", "thyValue", "thyMax", "thyTips", "thyShape", "thyGapDegree", "thyGapPosition", "thyStrokeWidth"] }, { kind: "pipe", type: ThyDatePickerFormatPipe, name: "thyDatePickerFormat" }, { kind: "component", type: ThyFlexibleText, selector: "thy-flexible-text,[thyFlexibleText]", inputs: ["thyTooltipTrigger", "thyContainerClass", "thyTooltipContent", "thyTooltipPlacement", "thyTooltipOffset"], exportAs: ["thyFlexibleText"] }, { kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "component", type: FieldMenu, selector: "field-menu", inputs: ["fieldId", "aiTable", "fieldMenus", "origin"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "directive", type: ThyDropdownDirective, selector: "[thyDropdown]", inputs: ["thyDropdownMenu", "thyDropdown", "thyTrigger", "thyShowDelay", "thyHideDelay", "thyActiveClass", "thyPopoverOptions", "thyPlacement", "thyMenuInsideClosable", "thyPanelClass"], outputs: ["thyActiveChange"] }, { kind: "component", type: ThyDropdownMenuComponent, selector: "thy-dropdown-menu", inputs: ["thyWidth", "thyImmediateRender"] }, { kind: "ngmodule", type: ThyCheckboxModule }, { kind: "component", type: i3.ThyCheckbox, selector: "thy-checkbox,[thy-checkbox],[thyCheckbox]", inputs: ["thyIndeterminate"] }, { kind: "ngmodule", type: ThyAvatarModule }, { kind: "component", type: i4.ThyAvatar, selector: "thy-avatar", inputs: ["thyShowName", "thySrc", "thyName", "thySize", "thyShowRemove", "thyRemovable", "thyImgClass", "thyDisabled", "thyLoading", "thyFetchPriority"], outputs: ["thyOnRemove", "thyRemove", "thyError"] }, { kind: "component", type: i4.ThyAvatarList, selector: "thy-avatar-list", inputs: ["thyMode", "thyAvatarSize"] }, { kind: "pipe", type: IsSelectRecordPipe, name: "isSelectRecord" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
107
147
|
}
|
108
148
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AITableGrid, decorators: [{
|
109
149
|
type: Component,
|
@@ -120,16 +160,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
|
|
120
160
|
ThyPopoverModule,
|
121
161
|
ThyIcon,
|
122
162
|
ThyRate,
|
163
|
+
ThyProgress,
|
123
164
|
AITableFieldPropertyEditor,
|
124
165
|
ThyDatePickerFormatPipe,
|
125
|
-
ThyTooltipModule,
|
126
166
|
ThyFlexibleText,
|
127
167
|
ThyStopPropagationDirective,
|
128
168
|
FieldMenu,
|
129
169
|
ThyAction,
|
130
170
|
ThyDropdownDirective,
|
131
171
|
ThyDropdownMenuComponent,
|
132
|
-
ThyCheckboxModule
|
133
|
-
|
134
|
-
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9ncmlkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL2dyaWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQWMsS0FBSyxFQUFFLEtBQUssRUFBa0IsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2SSxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFeEMsT0FBTyxFQUNILE9BQU8sRUFDUCxhQUFhLEVBQ2IsZ0JBQWdCLEVBSWhCLGdCQUFnQixFQUVoQixrQkFBa0IsRUFFckIsTUFBTSxRQUFRLENBQUM7QUFDaEIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQ2hILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxP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REFDdkIsZ0JBQWdCLCtCQUNoQixlQUFlLG1PQUNmLDJCQUEyQixpR0FDM0IsU0FBUywrR0FDVCxTQUFTLGdNQUNULG9CQUFvQixtUkFDcEIsd0JBQXdCLHlHQUN4QixpQkFBaUI7OzJGQUlaLFdBQVc7a0JBaEN2QixTQUFTOytCQUNJLGVBQWUsY0FFYixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsS0FBSyxFQUFFLGVBQWU7cUJBQ3pCLFdBQ1E7d0JBQ0wsT0FBTzt3QkFDUCxPQUFPO3dCQUNQLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsTUFBTTt3QkFDTixnQkFBZ0I7d0JBQ2hCLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCwwQkFBMEI7d0JBQzFCLHVCQUF1Qjt3QkFDdkIsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLDJCQUEyQjt3QkFDM0IsU0FBUzt3QkFDVCxTQUFTO3dCQUNULG9CQUFvQjt3QkFDcEIsd0JBQXdCO3dCQUN4QixpQkFBaUI7cUJBQ3BCLGFBQ1UsQ0FBQyxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUIsRUFBRSwyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBFbGVtZW50UmVmLCBpbnB1dCwgbW9kZWwsIE5nWm9uZSwgT25Jbml0LCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBOZ0NsYXNzLCBOZ0NvbXBvbmVudE91dGxldCwgTmdGb3JPZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTZWxlY3RPcHRpb25QaXBlIH0gZnJvbSAnLi9waXBlcy9ncmlkJztcbmltcG9ydCB7IFRoeVRhZyB9IGZyb20gJ25neC10ZXRoeXMvdGFnJztcbmltcG9ydCB7IFRoeVBvcG92ZXJNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgYnVpbGRHcmlkRGF0YSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgQUlGaWVsZENvbmZpZywgQUlUYWJsZUZpZWxkTWVudUl0ZW0sIEFJVGFibGVSb3dIZWlnaHQgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7XG4gICAgQWN0aW9ucyxcbiAgICBjcmVhdGVBSVRhYmxlLFxuICAgIGdldERlZmF1bHRSZWNvcmQsXG4gICAgQUlUYWJsZSxcbiAgICBBSVRhYmxlQ2hhbmdlT3B0aW9ucyxcbiAgICBBSVRhYmxlRmllbGRzLFxuICAgIEFJVGFibGVGaWVsZFR5cGUsXG4gICAgQUlUYWJsZVJlY29yZHMsXG4gICAgY3JlYXRlRGVmYXVsdEZpZWxkLFxuICAgIEFJUGx1Z2luXG59IGZyb20gJy4vY29yZSc7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IEFJVGFibGVHcmlkRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEFJVGFibGVGaWVsZFByb3BlcnR5RWRpdG9yIH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpZWxkLXByb3BlcnR5LWVkaXRvci9maWVsZC1wcm9wZXJ0eS1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFRoeURhdGVQaWNrZXJGb3JtYXRQaXBlIH0gZnJvbSAnbmd4LXRldGh5cy9kYXRlLXBpY2tlcic7XG5pbXBvcnQgeyBUaHlSYXRlIH0gZnJvbSAnbmd4LXRldGh5cy9yYXRlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVGh5RmxleGlibGVUZXh0IH0gZnJvbSAnbmd4LXRldGh5cy9mbGV4aWJsZS10ZXh0JztcbmltcG9ydCB7IFRoeVRvb2x0aXBNb2R1bGUsIFRoeVRvb2x0aXBTZXJ2aWNlIH0gZnJvbSAnbmd4LXRldGh5cy90b29sdGlwJztcbmltcG9ydCB7IFRoeUNoZWNrYm94TW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9jaGVja2JveCc7XG5pbXBvcnQgeyBUaHlTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUgfSBmcm9tICduZ3gtdGV0aHlzL3NoYXJlZCc7XG5pbXBvcnQgeyBGaWVsZE1lbnUgfSBmcm9tICcuL2NvbXBvbmVudHMvZmllbGQtbWVudS9maWVsZC1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaHlBY3Rpb24gfSBmcm9tICduZ3gtdGV0aHlzL2FjdGlvbic7XG5pbXBvcnQgeyBUaHlEcm9wZG93bkRpcmVjdGl2ZSwgVGh5RHJvcGRvd25NZW51Q29tcG9uZW50IH0gZnJvbSAnbmd4LXRldGh5cy9kcm9wZG93bic7XG5pbXBvcnQgeyBEZWZhdWx0RmllbGRNZW51cyB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IEFJX1RBQkxFX0dSSURfRklFTERfU0VSVklDRV9NQVAsIEFJVGFibGVHcmlkRmllbGRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9maWVsZC5zZXJ2aWNlJztcbmltcG9ydCB7IEFJVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvc2VsZWN0aW9uLnNlcnZpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FpLXRhYmxlLWdyaWQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ncmlkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdhaS10YWJsZS1ncmlkJ1xuICAgIH0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0Zvck9mLFxuICAgICAgICBOZ0NsYXNzLFxuICAgICAgICBOZ0NvbXBvbmVudE91dGxldCxcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgU2VsZWN0T3B0aW9uUGlwZSxcbiAgICAgICAgVGh5VGFnLFxuICAgICAgICBUaHlQb3BvdmVyTW9kdWxlLFxuICAgICAgICBUaHlJY29uLFxuICAgICAgICBUaHlSYXRlLFxuICAgICAgICBBSVRhYmxlRmllbGRQcm9wZXJ0eUVkaXRvcixcbiAgICAgICAgVGh5RGF0ZVBpY2tlckZvcm1hdFBpcGUsXG4gICAgICAgIFRoeVRvb2x0aXBNb2R1bGUsXG4gICAgICAgIFRoeUZsZXhpYmxlVGV4dCxcbiAgICAgICAgVGh5U3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlLFxuICAgICAgICBGaWVsZE1lbnUsXG4gICAgICAgIFRoeUFjdGlvbixcbiAgICAgICAgVGh5RHJvcGRvd25EaXJlY3RpdmUsXG4gICAgICAgIFRoeURyb3Bkb3duTWVudUNvbXBvbmVudCxcbiAgICAgICAgVGh5Q2hlY2tib3hNb2R1bGVcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1RoeVRvb2x0aXBTZXJ2aWNlLCBBSVRhYmxlR3JpZEV2ZW50U2VydmljZSwgQUlUYWJsZUdyaWRGaWVsZFNlcnZpY2UsIEFJVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgQUlUYWJsZUdyaWQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGFpUmVjb3JkcyA9IG1vZGVsLnJlcXVpcmVkPEFJVGFibGVSZWNvcmRzPigpO1xuXG4gICAgYWlGaWVsZHMgPSBtb2RlbC5yZXF1aXJlZDxBSVRhYmxlRmllbGRzPigpO1xuXG4gICAgYWlSb3dIZWlnaHQgPSBpbnB1dDxBSVRhYmxlUm93SGVpZ2h0PigpO1xuXG4gICAgYWlGaWVsZENvbmZpZyA9IGlucHV0PEFJRmllbGRDb25maWc+KCk7XG5cbiAgICBhaVJlYWRvbmx5ID0gaW5wdXQ8Ym9vbGVhbj4oKTtcblxuICAgIGFpUGx1Z2lucyA9IGlucHV0PEFJUGx1Z2luW10+KCk7XG5cbiAgICBBSVRhYmxlRmllbGRUeXBlID0gQUlUYWJsZUZpZWxkVHlwZTtcblxuICAgIHRha2VVbnRpbERlc3Ryb3llZCA9IHRha2VVbnRpbERlc3Ryb3llZCgpO1xuXG4gICAgYWlUYWJsZSE6IEFJVGFibGU7XG5cbiAgICBnZXQgaXNTZWxlY3RlZEFsbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWlUYWJsZS5zZWxlY3Rpb24oKS5zZWxlY3RlZFJlY29yZHMuc2l6ZSA9PT0gdGhpcy5haVJlY29yZHMoKS5sZW5ndGg7XG4gICAgfVxuXG4gICAgb25DaGFuZ2UgPSBvdXRwdXQ8QUlUYWJsZUNoYW5nZU9wdGlvbnM+KCk7XG5cbiAgICBhaVRhYmxlSW5pdGlhbGl6ZWQgPSBvdXRwdXQ8QUlUYWJsZT4oKTtcblxuICAgIGZpZWxkTWVudXMhOiBBSVRhYmxlRmllbGRNZW51SXRlbVtdO1xuXG4gICAgZ3JpZERhdGEgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiBidWlsZEdyaWREYXRhKHRoaXMuYWlSZWNvcmRzKCksIHRoaXMuYWlGaWVsZHMoKSwgdGhpcy5haVRhYmxlLnNlbGVjdGlvbigpKTtcbiAgICB9KTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgYWlUYWJsZUdyaWRFdmVudFNlcnZpY2U6IEFJVGFibGVHcmlkRXZlbnRTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgYWlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlOiBBSVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgYWlUYWJsZUdyaWRGaWVsZFNlcnZpY2U6IEFJVGFibGVHcmlkRmllbGRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5pdEFJVGFibGUoKTtcbiAgICAgICAgdGhpcy5pbml0U2VydmljZSgpO1xuICAgICAgICB0aGlzLmJ1aWxkRmllbGRNZW51cygpO1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFpVGFibGVHcmlkRXZlbnRTZXJ2aWNlLm1vdXNlZG93bkV2ZW50JC5waXBlKHRoaXMudGFrZVVudGlsRGVzdHJveWVkKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKChldmVudCBhcyBNb3VzZUV2ZW50KT8udGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlLnVwZGF0ZVNlbGVjdChldmVudCBhcyBNb3VzZUV2ZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaW5pdEFJVGFibGUoKSB7XG4gICAgICAgIHRoaXMuYWlUYWJsZSA9IGNyZWF0ZUFJVGFibGUodGhpcy5haVJlY29yZHMsIHRoaXMuYWlGaWVsZHMpO1xuICAgICAgICB0aGlzLmFpUGx1Z2lucygpPy5mb3JFYWNoKChwbHVnaW4pID0+IHtcbiAgICAgICAgICAgIHRoaXMuYWlUYWJsZSA9IHBsdWdpbih0aGlzLmFpVGFibGUpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5haVRhYmxlSW5pdGlhbGl6ZWQuZW1pdCh0aGlzLmFpVGFibGUpO1xuICAgICAgICB0aGlzLmFpVGFibGUub25DaGFuZ2UgPSAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoe1xuICAgICAgICAgICAgICAgIHJlY29yZHM6IHRoaXMuYWlSZWNvcmRzKCksXG4gICAgICAgICAgICAgICAgZmllbGRzOiB0aGlzLmFpRmllbGRzKCksXG4gICAgICAgICAgICAgICAgYWN0aW9uczogdGhpcy5haVRhYmxlLmFjdGlvbnNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGluaXRTZXJ2aWNlKCkge1xuICAgICAgICB0aGlzLmFpVGFibGVHcmlkRXZlbnRTZXJ2aWNlLmluaXRpYWxpemUodGhpcy5haVRhYmxlLCB0aGlzLmFpRmllbGRDb25maWcoKT8uZmllbGRQcm9wZXJ0eUVkaXRvcik7XG4gICAgICAgIHRoaXMuYWlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlLmluaXRpYWxpemUodGhpcy5haVRhYmxlKTtcbiAgICAgICAgdGhpcy5haVRhYmxlR3JpZEV2ZW50U2VydmljZS5yZWdpc3RlckV2ZW50cyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIHRoaXMuYWlUYWJsZUdyaWRGaWVsZFNlcnZpY2UuaW5pdEFJRmllbGRDb25maWcodGhpcy5haUZpZWxkQ29uZmlnKCkpO1xuICAgICAgICBBSV9UQUJMRV9HUklEX0ZJRUxEX1NFUlZJQ0VfTUFQLnNldCh0aGlzLmFpVGFibGUsIHRoaXMuYWlUYWJsZUdyaWRGaWVsZFNlcnZpY2UpO1xuICAgIH1cblxuICAgIGJ1aWxkRmllbGRNZW51cygpIHtcbiAgICAgICAgdGhpcy5maWVsZE1lbnVzID0gdGhpcy5haUZpZWxkQ29uZmlnKCk/LmZpZWxkTWVudXMgPz8gRGVmYXVsdEZpZWxkTWVudXM7XG4gICAgfVxuXG4gICAgYWRkUmVjb3JkKCkge1xuICAgICAgICBBY3Rpb25zLmFkZFJlY29yZCh0aGlzLmFpVGFibGUsIGdldERlZmF1bHRSZWNvcmQodGhpcy5haUZpZWxkcygpKSwgW3RoaXMuYWlSZWNvcmRzKCkubGVuZ3RoXSk7XG4gICAgfVxuXG4gICAgc2VsZWN0UmVjb3JkKHJlY29yZElkOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5haVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2Uuc2VsZWN0UmVjb3JkKHJlY29yZElkKTtcbiAgICB9XG5cbiAgICB0b2dnbGVTZWxlY3RBbGwoY2hlY2tlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmFpVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZS50b2dnbGVTZWxlY3RBbGwoY2hlY2tlZCk7XG4gICAgfVxuXG4gICAgYWRkRmllbGQoZ3JpZENvbHVtbkJsYW5rOiBIVE1MRWxlbWVudCkge1xuICAgICAgICBjb25zdCBmaWVsZCA9IHNpZ25hbChjcmVhdGVEZWZhdWx0RmllbGQodGhpcy5haVRhYmxlLCBBSVRhYmxlRmllbGRUeXBlLnRleHQpKTtcbiAgICAgICAgdGhpcy5haVRhYmxlR3JpZEZpZWxkU2VydmljZS5lZGl0RmllbGRQcm9wZXJ0eShncmlkQ29sdW1uQmxhbmssIHRoaXMuYWlUYWJsZSwgZmllbGQsIGZhbHNlKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ3JpZC1oZWFkZXIgZC1mbGV4XCI+XG4gICAgPGRpdiBjbGFzcz1cImdyaWQtY29sdW1uLWNoZWNrYm94IGdyaWQtY2VsbFwiPlxuICAgICAgICA8bGFiZWwgdGh5Q2hlY2tib3ggdGh5TGFiZWxUZXh0PVwiXCIgW25nTW9kZWxdPVwiaXNTZWxlY3RlZEFsbFwiIChuZ01vZGVsQ2hhbmdlKT1cInRvZ2dsZVNlbGVjdEFsbCgkZXZlbnQpXCI+PC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgICBAZm9yIChmaWVsZCBvZiBncmlkRGF0YSgpLmZpZWxkczsgdHJhY2sgZmllbGQuaWQpIHtcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJncmlkLWNlbGwgZ3JpZC1maWVsZFwiXG4gICAgICAgICAgICAjZmllbGRBY3Rpb25cbiAgICAgICAgICAgIFthdHRyLmZpZWxkSWRdPVwiZmllbGQuaWRcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyBoaWdobGlnaHQ6IGFpVGFibGUuc2VsZWN0aW9uKCkuc2VsZWN0ZWRGaWVsZHMuaGFzKGZpZWxkLmlkKSB9XCJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgd2lkdGg6IGZpZWxkLndpZHRoICsgJ3B4JyB9XCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXRydW5jYXRlXCI+XG4gICAgICAgICAgICAgICAgPHRoeS1pY29uIFt0aHlJY29uTmFtZV09XCJmaWVsZC5pY29uIVwiIGNsYXNzPVwibXItMiB0ZXh0LW11dGVkXCI+PC90aHktaWNvbj5cbiAgICAgICAgICAgICAgICA8c3Bhbj57eyBmaWVsZC5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBjbGFzcz1cImdyaWQtZmllbGQtYWN0aW9uXCJcbiAgICAgICAgICAgICAgICB0aHlBY3Rpb25cbiAgICAgICAgICAgICAgICB0aHlBY3RpdmVDbGFzcz1cImFjdGl2ZVwiXG4gICAgICAgICAgICAgICAgdGh5SWNvbj1cIm1vcmUtdmVydGljYWxcIlxuICAgICAgICAgICAgICAgIFt0aHlEcm9wZG93bl09XCJmaWVsZE1lbnVcIlxuICAgICAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OjtcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0aHktZHJvcGRvd24tbWVudSAjZmllbGRNZW51PlxuICAgICAgICAgICAgICAgICAgICA8ZmllbGQtbWVudSBbb3JpZ2luXT1cImZpZWxkQWN0aW9uXCIgW2ZpZWxkSWRdPVwiZmllbGQuaWRcIiBbYWlUYWJsZV09XCJhaVRhYmxlXCIgW2ZpZWxkTWVudXNdPVwiZmllbGRNZW51c1wiPjwvZmllbGQtbWVudT5cbiAgICAgICAgICAgICAgICA8L3RoeS1kcm9wZG93bi1tZW51PlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG4gICAgPGRpdiBjbGFzcz1cImdyaWQtY29sdW1uLWJsYW5rIGN1cnNvci1wb2ludGVyXCIgI2dyaWRDb2x1bW5CbGFuayAoY2xpY2spPVwiYWRkRmllbGQoZ3JpZENvbHVtbkJsYW5rKVwiPlxuICAgICAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJwbHVzXCI+PC90aHktaWNvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImdyaWQtYm9keSBkLWZsZXhcIj5cbiAgICBAZm9yIChyZWNvcmQgb2YgZ3JpZERhdGEoKS5yZWNvcmRzOyB0cmFjayByZWNvcmQuaWQ7IGxldCBpbmRleCA9ICRpbmRleCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZC1yb3cgZC1mbGV4XCIgW25nQ2xhc3NdPVwieyBoaWdobGlnaHQ6IGFpVGFibGUuc2VsZWN0aW9uKCkuc2VsZWN0ZWRSZWNvcmRzLmhhcyhyZWNvcmQuaWQpIH1cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLXJvdy1pbmRleFwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJyZWNvcmQuY2hlY2tlZCA/ICdjaGVja2VkLWJveCcgOiAndW5jaGVja2VkLWJveCdcIlxuICAgICAgICAgICAgICAgICAgICB0aHlDaGVja2JveFxuICAgICAgICAgICAgICAgICAgICB0aHlMYWJlbFRleHQ9XCJcIlxuICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJyZWNvcmQuY2hlY2tlZFwiXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjdFJlY29yZChyZWNvcmQuaWQpXCJcbiAgICAgICAgICAgICAgICA+PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJyZWNvcmQuY2hlY2tlZCA/ICdncmlkLXJvdy1uby1udW1iZXInIDogJ2dyaWQtcm93LW51bWJlcidcIj4ge3sgaW5kZXggKyAxIH19IDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgQGZvciAoZmllbGQgb2YgZ3JpZERhdGEoKS5maWVsZHM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJncmlkLWNlbGxcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICBoaWdobGlnaHQ6IGFpVGFibGUuc2VsZWN0aW9uKCkuc2VsZWN0ZWRDZWxscy5oYXMocmVjb3JkLmlkKSB8fCBhaVRhYmxlLnNlbGVjdGlvbigpLnNlbGVjdGVkRmllbGRzLmhhcyhmaWVsZC5pZCksXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZDogYWlUYWJsZS5zZWxlY3Rpb24oKS5zZWxlY3RlZENlbGxzLmdldChyZWNvcmQuaWQpPy5oYXNPd25Qcm9wZXJ0eShmaWVsZC5pZClcbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLnR5cGVdPVwiW2ZpZWxkLnR5cGVdXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZmllbGRJZF09XCJbZmllbGQuaWRdXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIucmVjb3JkSWRdPVwiW3JlY29yZC5pZF1cIlxuICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7IHdpZHRoOiBmaWVsZC53aWR0aCArICdweCcgfVwiXG4gICAgICAgICAgICAgICAgICAgICNjZWxsXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBAc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAY2FzZSAoQUlUYWJsZUZpZWxkVHlwZS5zZWxlY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCFmaWVsZC5pc011bHRpcGxlICYmIHJlY29yZC52YWx1ZXNbZmllbGQuaWRdIHwgc2VsZWN0T3B0aW9uOiBmaWVsZFsnb3B0aW9ucyddOyBhcyBzZWxlY3RlZE9wdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGh5LXRhZyBbdGh5Q29sb3JdPVwic2VsZWN0ZWRPcHRpb24hLmNvbG9yIVwiPnt7IHNlbGVjdGVkT3B0aW9uLm5hbWUgfX08L3RoeS10YWc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQGNhc2UgKEFJVGFibGVGaWVsZFR5cGUuZGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHJlY29yZC52YWx1ZXNbZmllbGQuaWRdIHwgdGh5RGF0ZVBpY2tlckZvcm1hdCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQGNhc2UgKEFJVGFibGVGaWVsZFR5cGUucmF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aHktcmF0ZSBbKG5nTW9kZWwpXT1cInJlY29yZC52YWx1ZXNbZmllbGQuaWRdXCI+PC90aHktcmF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEBjYXNlIChBSVRhYmxlRmllbGRUeXBlLmxpbmspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImQtYmxvY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHlTdG9wUHJvcGFnYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGh5RmxleGlibGVUZXh0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aHlUb29sdGlwQ29udGVudF09XCJyZWNvcmQudmFsdWVzW2ZpZWxkLmlkXT8udGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cInJlY29yZC52YWx1ZXNbZmllbGQuaWRdPy51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgcmVjb3JkLnZhbHVlc1tmaWVsZC5pZF0/LnRleHQgfX08L2FcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBAZGVmYXVsdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXRydW5jYXRlXCI+IHt7IHJlY29yZC52YWx1ZXNbZmllbGQuaWRdIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdXRvZmlsbC1jb250YWluZXJcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLWNvbHVtbi1ibGFua1wiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG4gICAgPGRpdiBjbGFzcz1cImdyaWQtcm93LWluc2VydCBncmlkLXJvdyBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJhZGRSZWNvcmQoKVwiPlxuICAgICAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJwbHVzXCI+PC90aHktaWNvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2ICNhY3RpdmVCb3JkZXIgY2xhc3M9XCJhY3RpdmUtYm9yZGVyXCI+PC9kaXY+XG4iXX0=
|
172
|
+
ThyCheckboxModule,
|
173
|
+
ProgressEditorComponent,
|
174
|
+
ThyAvatarModule,
|
175
|
+
NgTemplateOutlet,
|
176
|
+
IsSelectRecordPipe
|
177
|
+
], providers: [AITableGridEventService, AITableGridFieldService, AITableGridSelectionService], template: "<div class=\"grid-header d-flex\">\n <div class=\"grid-column-checkbox grid-cell grid-checkbox\">\n <label thyCheckbox thyLabelText=\"\" [ngModel]=\"isSelectedAll()\" (ngModelChange)=\"toggleSelectAll($event)\"></label>\n </div>\n @for (field of gridData().fields; track field._id) {\n <div\n class=\"grid-cell grid-field\"\n #fieldAction\n [attr.fieldId]=\"field._id\"\n [ngClass]=\"{ highlight: aiTable.selection().selectedFields.has(field._id) }\"\n [ngStyle]=\"{ width: field.width + 'px' }\"\n >\n <span class=\"text-truncate\">\n <thy-icon [thyIconName]=\"field.icon!\" class=\"mr-2 text-muted\"></thy-icon>\n <span>{{ field.name }}</span>\n </span>\n <a\n class=\"grid-field-action\"\n thyAction\n thyActiveClass=\"active\"\n thyIcon=\"more-vertical\"\n [thyDropdown]=\"fieldMenu\"\n href=\"javascript:;\"\n >\n <thy-dropdown-menu #fieldMenu>\n <field-menu [origin]=\"fieldAction\" [fieldId]=\"field._id\" [aiTable]=\"aiTable\" [fieldMenus]=\"fieldMenus\"></field-menu>\n </thy-dropdown-menu>\n </a>\n </div>\n }\n <div class=\"grid-column-blank cursor-pointer\" #gridColumnBlank (click)=\"addField(gridColumnBlank)\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n </div>\n</div>\n<div class=\"grid-body d-flex\">\n @for (record of gridData().records; track record._id; let index = $index) {\n <div class=\"grid-row d-flex\" [ngClass]=\"{ highlight: (record._id | isSelectRecord: aiTable.selection()) }\">\n <div class=\"grid-row-index grid-checkbox\">\n <label\n [ngClass]=\"(record._id | isSelectRecord: aiTable.selection()) ? 'checked-box' : 'unchecked-box'\"\n thyCheckbox\n thyLabelText=\"\"\n [ngModel]=\"record._id | isSelectRecord: aiTable.selection()\"\n (ngModelChange)=\"selectRecord(record._id)\"\n ></label>\n <span [ngClass]=\"(record._id | isSelectRecord: aiTable.selection()) ? 'grid-row-no-number' : 'grid-row-number'\">\n {{ index + 1 }}\n </span>\n </div>\n @for (field of gridData().fields; track field._id) {\n <div\n #cell\n class=\"grid-cell\"\n [ngClass]=\"{\n highlight: aiTable.selection().selectedCells.has(record._id) || aiTable.selection().selectedFields.has(field._id),\n selected: aiTable.selection().selectedCells.get(record._id)?.hasOwnProperty(field._id)\n }\"\n [attr.type]=\"[field.type]\"\n [attr.fieldId]=\"[field._id]\"\n [attr.readonly]=\"[field?.readonly]\"\n [attr.recordId]=\"[record._id]\"\n [ngStyle]=\"{ width: field.width + 'px' }\"\n >\n @switch (field.type) {\n @case (AITableFieldType.select) {\n @if (!field.isMultiple && record.values[field._id] | selectOption: field['options']; as selectedOption) {\n <thy-tag [thyColor]=\"selectedOption!.color! || selectedOption!.bg_color! || 'default'\">{{\n selectedOption.text\n }}</thy-tag>\n }\n }\n @case (AITableFieldType.date) {\n {{ record.values[field._id] | thyDatePickerFormat }}\n }\n @case (AITableFieldType.updatedAt) {\n <div class=\"d-block user-select-none\">\n <span class=\"text-truncate\">\n {{ record.values[field._id] | thyDatePickerFormat: 'yyyy-MM-dd HH:mm' }}\n </span>\n </div>\n }\n @case (AITableFieldType.createdAt) {\n <div class=\"d-block user-select-none\">\n <span class=\"text-truncate\">\n {{ record.values[field._id] | thyDatePickerFormat: 'yyyy-MM-dd HH:mm' }}\n </span>\n </div>\n }\n @case (AITableFieldType.rate) {\n <thy-rate [ngModel]=\"record.values[field._id]\"></thy-rate>\n }\n @case (AITableFieldType.link) {\n <a\n class=\"d-block\"\n target=\"_blank\"\n [href]=\"record.values[field._id]?.url\"\n thyStopPropagation\n thyFlexibleText\n [thyTooltipContent]=\"record.values[field._id]?.text\"\n >\n {{ record.values[field._id]?.text }}\n </a>\n }\n @case (AITableFieldType.progress) {\n <thy-progress\n class=\"w-100\"\n [thyValue]=\"record.values[field._id]\"\n [thySize]=\"record.values[field._id]?.config?.size || 'md'\"\n [thyMax]=\"record.values[field._id]?.config?.max || 100\"\n [thyType]=\"record.values[field._id]?.config?.progressType || 'success'\"\n >\n <span> {{ record.values[field._id] }}{{ record.values[field._id]?.config?.suffix || '%' }} </span>\n </thy-progress>\n }\n @case (AITableFieldType.member) {\n @if (!field.isMultiple) {\n @if (record.values[field._id][0]; as recordValue) {\n <thy-avatar\n [thyName]=\"recordValue.display_name\"\n [thySrc]=\"recordValue.avatar\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n } @else {\n <thy-avatar-list thyAvatarSize=\"xs\">\n @for (item of record.values[field._id]; track $index) {\n <thy-avatar [thyName]=\"item.display_name\" [thySrc]=\"item.avatar\"></thy-avatar>\n }\n </thy-avatar-list>\n }\n }\n @case (AITableFieldType.createdBy) {\n @if (record.values[field._id][0]; as recordValue) {\n <thy-avatar\n [thyName]=\"recordValue.display_name\"\n [thySrc]=\"recordValue.avatar\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n }\n @case (AITableFieldType.updatedBy) {\n @if (record.values[field._id][0]; as recordValue) {\n <thy-avatar\n [thyName]=\"recordValue.display_name\"\n [thySrc]=\"recordValue.avatar\"\n thySize=\"xs\"\n thyShowName=\"true\"\n ></thy-avatar>\n }\n }\n @default {\n <span class=\"text-truncate\"> {{ record.values[field._id] }}</span>\n }\n }\n <div class=\"autofill-container\"></div>\n </div>\n }\n <div class=\"grid-column-blank\"></div>\n </div>\n }\n <div class=\"grid-row-insert grid-row cursor-pointer\" (click)=\"addRecord()\">\n <thy-icon thyIconName=\"plus\"></thy-icon>\n </div>\n</div>\n\n<div #activeBorder class=\"active-border\"></div>\n" }]
|
178
|
+
}] });
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9ncmlkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL2dyaWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEcsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUVOLE1BQU0sRUFDTixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBaUIsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFN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LHFpQ0FGVCxDQUFDLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLDJCQUEyQixDQUFDLDBCQ3ZGOUYsb3lSQXdLQSw0Q0R6R1EsT0FBTyxtRkFFUCxZQUFZLG1IQUNaLFdBQVcsMFZBQ1gsZ0JBQWdCLHFEQUNoQixNQUFNLCtJQUNOLGdCQUFnQiwrQkFDaEIsT0FBTyxzTUFDUCxPQUFPLDhMQUNQLFdBQVcscUxBRVgsdUJBQXVCLDREQUN2QixlQUFlLG1PQUNmLDJCQUEyQixpR0FDM0IsU0FBUywrR0FDVCxTQUFTLGdNQUNULG9CQUFvQixtUkFDcEIsd0JBQXdCLHlHQUN4QixpQkFBaUIsZ0tBRWpCLGVBQWUsNFpBRWYsa0JBQWtCOzsyRkFJYixXQUFXO2tCQXBDdkIsU0FBUzsrQkFDSSxlQUFlLGNBRWIsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLEtBQUssRUFBRSxlQUFlO3FCQUN6QixXQUNRO3dCQUNMLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxpQkFBaUI7d0JBQ2pCLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLE1BQU07d0JBQ04sZ0JBQWdCO3dCQUNoQixPQUFPO3dCQUNQLE9BQU87d0JBQ1AsV0FBVzt3QkFDWCwwQkFBMEI7d0JBQzFCLHVCQUF1Qjt3QkFDdkIsZUFBZTt3QkFDZiwyQkFBMkI7d0JBQzNCLFNBQVM7d0JBQ1QsU0FBUzt3QkFDVCxvQkFBb0I7d0JBQ3BCLHdCQUF3Qjt3QkFDeEIsaUJBQWlCO3dCQUNqQix1QkFBdUI7d0JBQ3ZCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixrQkFBa0I7cUJBQ3JCLGFBQ1UsQ0FBQyx1QkFBdUIsRUFBRSx1QkFBdUIsRUFBRSwyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSwgTmdDbGFzcywgTmdDb21wb25lbnRPdXRsZXQsIE5nRm9yT2YsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgRGVzdHJveVJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBpbnB1dCxcbiAgICBtb2RlbCxcbiAgICBOZ1pvbmUsXG4gICAgT25Jbml0LFxuICAgIG91dHB1dCxcbiAgICBzaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRoeUFjdGlvbiB9IGZyb20gJ25neC10ZXRoeXMvYWN0aW9uJztcbmltcG9ydCB7IFRoeUNoZWNrYm94TW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9jaGVja2JveCc7XG5pbXBvcnQgeyBUaHlEYXRlUGlja2VyRm9ybWF0UGlwZSB9IGZyb20gJ25neC10ZXRoeXMvZGF0ZS1waWNrZXInO1xuaW1wb3J0IHsgVGh5RHJvcGRvd25EaXJlY3RpdmUsIFRoeURyb3Bkb3duTWVudUNvbXBvbmVudCB9IGZyb20gJ25neC10ZXRoeXMvZHJvcGRvd24nO1xuaW1wb3J0IHsgVGh5RmxleGlibGVUZXh0IH0gZnJvbSAnbmd4LXRldGh5cy9mbGV4aWJsZS10ZXh0JztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgVGh5UG9wb3Zlck1vZHVsZSwgVGh5UG9wb3ZlclJlZiB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBUaHlQcm9ncmVzcyB9IGZyb20gJ25neC10ZXRoeXMvcHJvZ3Jlc3MnO1xuaW1wb3J0IHsgVGh5UmF0ZSB9IGZyb20gJ25neC10ZXRoeXMvcmF0ZSc7XG5pbXBvcnQgeyBUaHlTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUgfSBmcm9tICduZ3gtdGV0aHlzL3NoYXJlZCc7XG5pbXBvcnQgeyBUaHlUYWcgfSBmcm9tICduZ3gtdGV0aHlzL3RhZyc7XG5pbXBvcnQgeyBtZXJnZVdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQcm9ncmVzc0VkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBGaWVsZE1lbnUgfSBmcm9tICcuL2NvbXBvbmVudHMvZmllbGQtbWVudS9maWVsZC1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBSVRhYmxlRmllbGRQcm9wZXJ0eUVkaXRvciB9IGZyb20gJy4vY29tcG9uZW50cy9maWVsZC1wcm9wZXJ0eS1lZGl0b3IvZmllbGQtcHJvcGVydHktZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEQkxfQ0xJQ0tfRURJVF9UWVBFLCBEZWZhdWx0RmllbGRNZW51cywgTU9VU0VPVkVSX0VESVRfVFlQRSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7XG4gICAgQWN0aW9ucyxcbiAgICBBSVBsdWdpbixcbiAgICBBSVRhYmxlLFxuICAgIEFJVGFibGVDaGFuZ2VPcHRpb25zLFxuICAgIEFJVGFibGVGaWVsZHMsXG4gICAgQUlUYWJsZUZpZWxkVHlwZSxcbiAgICBBSVRhYmxlUmVjb3JkcyxcbiAgICBjcmVhdGVBSVRhYmxlLFxuICAgIGNyZWF0ZURlZmF1bHRGaWVsZCxcbiAgICBnZXREZWZhdWx0UmVjb3JkXG59IGZyb20gJy4vY29yZSc7XG5pbXBvcnQgeyBJc1NlbGVjdFJlY29yZFBpcGUsIFNlbGVjdE9wdGlvblBpcGUgfSBmcm9tICcuL3BpcGVzL2dyaWQucGlwZSc7XG5pbXBvcnQgeyBBSVRhYmxlR3JpZEV2ZW50U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBBSV9UQUJMRV9HUklEX0ZJRUxEX1NFUlZJQ0VfTUFQLCBBSVRhYmxlR3JpZEZpZWxkU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZmllbGQuc2VydmljZSc7XG5pbXBvcnQgeyBBSVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3NlbGVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEFJRmllbGRDb25maWcsIEFJVGFibGVGaWVsZE1lbnVJdGVtLCBBSVRhYmxlUmVmZXJlbmNlcyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgYnVpbGRHcmlkRGF0YSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgVGh5QXZhdGFyTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9hdmF0YXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FpLXRhYmxlLWdyaWQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ncmlkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdhaS10YWJsZS1ncmlkJ1xuICAgIH0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0Zvck9mLFxuICAgICAgICBOZ0NsYXNzLFxuICAgICAgICBOZ0NvbXBvbmVudE91dGxldCxcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgU2VsZWN0T3B0aW9uUGlwZSxcbiAgICAgICAgVGh5VGFnLFxuICAgICAgICBUaHlQb3BvdmVyTW9kdWxlLFxuICAgICAgICBUaHlJY29uLFxuICAgICAgICBUaHlSYXRlLFxuICAgICAgICBUaHlQcm9ncmVzcyxcbiAgICAgICAgQUlUYWJsZUZpZWxkUHJvcGVydHlFZGl0b3IsXG4gICAgICAgIFRoeURhdGVQaWNrZXJGb3JtYXRQaXBlLFxuICAgICAgICBUaHlGbGV4aWJsZVRleHQsXG4gICAgICAgIFRoeVN0b3BQcm9wYWdhdGlvbkRpcmVjdGl2ZSxcbiAgICAgICAgRmllbGRNZW51LFxuICAgICAgICBUaHlBY3Rpb24sXG4gICAgICAgIFRoeURyb3Bkb3duRGlyZWN0aXZlLFxuICAgICAgICBUaHlEcm9wZG93bk1lbnVDb21wb25lbnQsXG4gICAgICAgIFRoeUNoZWNrYm94TW9kdWxlLFxuICAgICAgICBQcm9ncmVzc0VkaXRvckNvbXBvbmVudCxcbiAgICAgICAgVGh5QXZhdGFyTW9kdWxlLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBJc1NlbGVjdFJlY29yZFBpcGVcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW0FJVGFibGVHcmlkRXZlbnRTZXJ2aWNlLCBBSVRhYmxlR3JpZEZpZWxkU2VydmljZSwgQUlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBBSVRhYmxlR3JpZCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgYWlSZWNvcmRzID0gbW9kZWwucmVxdWlyZWQ8QUlUYWJsZVJlY29yZHM+KCk7XG5cbiAgICBhaUZpZWxkcyA9IG1vZGVsLnJlcXVpcmVkPEFJVGFibGVGaWVsZHM+KCk7XG5cbiAgICBhaUZpZWxkQ29uZmlnID0gaW5wdXQ8QUlGaWVsZENvbmZpZz4oKTtcblxuICAgIGFpUmVhZG9ubHkgPSBpbnB1dDxib29sZWFuPigpO1xuXG4gICAgYWlQbHVnaW5zID0gaW5wdXQ8QUlQbHVnaW5bXT4oKTtcblxuICAgIGFpUmVmZXJlbmNlcyA9IGlucHV0PEFJVGFibGVSZWZlcmVuY2VzPigpO1xuXG4gICAgQUlUYWJsZUZpZWxkVHlwZSA9IEFJVGFibGVGaWVsZFR5cGU7XG5cbiAgICBhaVRhYmxlITogQUlUYWJsZTtcblxuICAgIGlzU2VsZWN0ZWRBbGwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFpVGFibGUuc2VsZWN0aW9uKCkuc2VsZWN0ZWRSZWNvcmRzLnNpemUgPT09IHRoaXMuYWlSZWNvcmRzKCkubGVuZ3RoO1xuICAgIH0pO1xuXG4gICAgb25DaGFuZ2UgPSBvdXRwdXQ8QUlUYWJsZUNoYW5nZU9wdGlvbnM+KCk7XG5cbiAgICBhaVRhYmxlSW5pdGlhbGl6ZWQgPSBvdXRwdXQ8QUlUYWJsZT4oKTtcblxuICAgIGZpZWxkTWVudXMhOiBBSVRhYmxlRmllbGRNZW51SXRlbVtdO1xuXG4gICAgbW91c2VvdmVyUmVmITogVGh5UG9wb3ZlclJlZjxhbnk+O1xuXG4gICAgZ3JpZERhdGEgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiBidWlsZEdyaWREYXRhKHRoaXMuYWlSZWNvcmRzKCksIHRoaXMuYWlGaWVsZHMoKSwgdGhpcy5haVJlZmVyZW5jZXMoKSk7XG4gICAgfSk7XG5cbiAgICBwcml2YXRlIG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuICAgIHByaXZhdGUgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgICBwcml2YXRlIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICAgcHJpdmF0ZSBhaVRhYmxlR3JpZEZpZWxkU2VydmljZSA9IGluamVjdChBSVRhYmxlR3JpZEZpZWxkU2VydmljZSk7XG4gICAgcHJpdmF0ZSBhaVRhYmxlR3JpZEV2ZW50U2VydmljZSA9IGluamVjdChBSVRhYmxlR3JpZEV2ZW50U2VydmljZSk7XG4gICAgcHVibGljIGFpVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZSA9IGluamVjdChBSVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2UpO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5pdEFJVGFibGUoKTtcbiAgICAgICAgdGhpcy5pbml0U2VydmljZSgpO1xuICAgICAgICB0aGlzLmJ1aWxkRmllbGRNZW51cygpO1xuICAgICAgICB0aGlzLnN1YnNjcmliZUV2ZW50cygpO1xuICAgIH1cblxuICAgIGluaXRBSVRhYmxlKCkge1xuICAgICAgICB0aGlzLmFpVGFibGUgPSBjcmVhdGVBSVRhYmxlKHRoaXMuYWlSZWNvcmRzLCB0aGlzLmFpRmllbGRzKTtcbiAgICAgICAgdGhpcy5haVBsdWdpbnMoKT8uZm9yRWFjaCgocGx1Z2luKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFpVGFibGUgPSBwbHVnaW4odGhpcy5haVRhYmxlKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYWlUYWJsZUluaXRpYWxpemVkLmVtaXQodGhpcy5haVRhYmxlKTtcbiAgICAgICAgdGhpcy5haVRhYmxlLm9uQ2hhbmdlID0gKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KHtcbiAgICAgICAgICAgICAgICByZWNvcmRzOiB0aGlzLmFpUmVjb3JkcygpLFxuICAgICAgICAgICAgICAgIGZpZWxkczogdGhpcy5haUZpZWxkcygpLFxuICAgICAgICAgICAgICAgIGFjdGlvbnM6IHRoaXMuYWlUYWJsZS5hY3Rpb25zXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBpbml0U2VydmljZSgpIHtcbiAgICAgICAgdGhpcy5haVRhYmxlR3JpZEV2ZW50U2VydmljZS5pbml0aWFsaXplKHRoaXMuYWlUYWJsZSwgdGhpcy5haUZpZWxkQ29uZmlnKCk/LmZpZWxkUHJvcGVydHlFZGl0b3IpO1xuICAgICAgICB0aGlzLmFpVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZS5pbml0aWFsaXplKHRoaXMuYWlUYWJsZSk7XG4gICAgICAgIHRoaXMuYWlUYWJsZUdyaWRFdmVudFNlcnZpY2UucmVnaXN0ZXJFdmVudHModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB0aGlzLmFpVGFibGVHcmlkRmllbGRTZXJ2aWNlLmluaXRBSUZpZWxkQ29uZmlnKHRoaXMuYWlGaWVsZENvbmZpZygpKTtcbiAgICAgICAgQUlfVEFCTEVfR1JJRF9GSUVMRF9TRVJWSUNFX01BUC5zZXQodGhpcy5haVRhYmxlLCB0aGlzLmFpVGFibGVHcmlkRmllbGRTZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBidWlsZEZpZWxkTWVudXMoKSB7XG4gICAgICAgIHRoaXMuZmllbGRNZW51cyA9IHRoaXMuYWlGaWVsZENvbmZpZygpPy5maWVsZE1lbnVzID8/IERlZmF1bHRGaWVsZE1lbnVzO1xuICAgIH1cblxuICAgIGFkZFJlY29yZCgpIHtcbiAgICAgICAgQWN0aW9ucy5hZGRSZWNvcmQodGhpcy5haVRhYmxlLCBnZXREZWZhdWx0UmVjb3JkKHRoaXMuYWlGaWVsZHMoKSksIFt0aGlzLmFpUmVjb3JkcygpLmxlbmd0aF0pO1xuICAgIH1cblxuICAgIHNlbGVjdFJlY29yZChyZWNvcmRJZDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuYWlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlLnNlbGVjdFJlY29yZChyZWNvcmRJZCk7XG4gICAgfVxuXG4gICAgdG9nZ2xlU2VsZWN0QWxsKGNoZWNrZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5haVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2UudG9nZ2xlU2VsZWN0QWxsKGNoZWNrZWQpO1xuICAgIH1cblxuICAgIGFkZEZpZWxkKGdyaWRDb2x1bW5CbGFuazogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgZmllbGQgPSBzaWduYWwoY3JlYXRlRGVmYXVsdEZpZWxkKHRoaXMuYWlUYWJsZSwgQUlUYWJsZUZpZWxkVHlwZS50ZXh0KSk7XG4gICAgICAgIHRoaXMuYWlUYWJsZUdyaWRGaWVsZFNlcnZpY2UuZWRpdEZpZWxkUHJvcGVydHkoZ3JpZENvbHVtbkJsYW5rLCB0aGlzLmFpVGFibGUsIGZpZWxkLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdWJzY3JpYmVFdmVudHMoKSB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYWlUYWJsZUdyaWRFdmVudFNlcnZpY2UuZGJsQ2xpY2tFdmVudCQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGJsQ2xpY2soZXZlbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmFpVGFibGVHcmlkRXZlbnRTZXJ2aWNlLm1vdXNlZG93bkV2ZW50JFxuICAgICAgICAgICAgICAgIC5waXBlKG1lcmdlV2l0aCh0aGlzLmFpVGFibGVHcmlkRXZlbnRTZXJ2aWNlLmdsb2JhbE1vdXNlZG93bkV2ZW50JCksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlLnVwZGF0ZVNlbGVjdChldmVudCk7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuYWlUYWJsZUdyaWRFdmVudFNlcnZpY2UubW91c2VvdmVyRXZlbnQkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm1vdXNlb3ZlckhhbmRsZShldmVudCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuYWlUYWJsZUdyaWRFdmVudFNlcnZpY2UuZ2xvYmFsTW91c2VvdmVyRXZlbnQkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlSG92ZXJDZWxsRWRpdG9yKGV2ZW50KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRibENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGNlbGxEb20gPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbG9zZXN0KCcuZ3JpZC1jZWxsJykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHR5cGUgPSBjZWxsRG9tICYmIChjZWxsRG9tLmdldEF0dHJpYnV0ZSgndHlwZScpISBhcyBBSVRhYmxlRmllbGRUeXBlKTtcbiAgICAgICAgY29uc3QgcmVhZG9ubHkgPSBjZWxsRG9tICYmIGNlbGxEb20uZ2V0QXR0cmlidXRlKCdyZWFkb25seScpITtcbiAgICAgICAgaWYgKHR5cGUgJiYgIXJlYWRvbmx5ICYmIERCTF9DTElDS19FRElUX1RZUEUuaW5jbHVkZXModHlwZSkpIHtcbiAgICAgICAgICAgIHRoaXMuYWlUYWJsZUdyaWRFdmVudFNlcnZpY2Uub3BlbkVkaXQoY2VsbERvbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG1vdXNlb3ZlckhhbmRsZShldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5tb3VzZW92ZXJSZWYpIHtcbiAgICAgICAgICAgIHRoaXMubW91c2VvdmVyUmVmPy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNlbGxEb20gPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbG9zZXN0KCcuZ3JpZC1jZWxsJykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHR5cGUgPSBjZWxsRG9tICYmIChjZWxsRG9tLmdldEF0dHJpYnV0ZSgndHlwZScpISBhcyBBSVRhYmxlRmllbGRUeXBlKTtcbiAgICAgICAgaWYgKHR5cGUgJiYgTU9VU0VPVkVSX0VESVRfVFlQRS5pbmNsdWRlcyh0eXBlKSkge1xuICAgICAgICAgICAgdGhpcy5tb3VzZW92ZXJSZWYgPSB0aGlzLmFpVGFibGVHcmlkRXZlbnRTZXJ2aWNlLm9wZW5FZGl0KGNlbGxEb20pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZUhvdmVyQ2VsbEVkaXRvcihlOiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLm1vdXNlb3ZlclJlZikge1xuICAgICAgICAgICAgY29uc3QgaGFzR3JpZCA9IGUudGFyZ2V0ICYmIChlLnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xvc2VzdCgnLmFpLXRhYmxlLWdyaWQnKTtcbiAgICAgICAgICAgIGNvbnN0IGhhc0NlbGxFZGl0b3IgPSBlLnRhcmdldCAmJiAoZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsb3Nlc3QoJy5ncmlkLWNlbGwtZWRpdG9yJyk7XG4gICAgICAgICAgICBpZiAoIWhhc0dyaWQgJiYgIWhhc0NlbGxFZGl0b3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1vdXNlb3ZlclJlZi5jbG9zZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdyaWQtaGVhZGVyIGQtZmxleFwiPlxuICAgIDxkaXYgY2xhc3M9XCJncmlkLWNvbHVtbi1jaGVja2JveCBncmlkLWNlbGwgZ3JpZC1jaGVja2JveFwiPlxuICAgICAgICA8bGFiZWwgdGh5Q2hlY2tib3ggdGh5TGFiZWxUZXh0PVwiXCIgW25nTW9kZWxdPVwiaXNTZWxlY3RlZEFsbCgpXCIgKG5nTW9kZWxDaGFuZ2UpPVwidG9nZ2xlU2VsZWN0QWxsKCRldmVudClcIj48L2xhYmVsPlxuICAgIDwvZGl2PlxuICAgIEBmb3IgKGZpZWxkIG9mIGdyaWREYXRhKCkuZmllbGRzOyB0cmFjayBmaWVsZC5faWQpIHtcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJncmlkLWNlbGwgZ3JpZC1maWVsZFwiXG4gICAgICAgICAgICAjZmllbGRBY3Rpb25cbiAgICAgICAgICAgIFthdHRyLmZpZWxkSWRdPVwiZmllbGQuX2lkXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgaGlnaGxpZ2h0OiBhaVRhYmxlLnNlbGVjdGlvbigpLnNlbGVjdGVkRmllbGRzLmhhcyhmaWVsZC5faWQpIH1cIlxuICAgICAgICAgICAgW25nU3R5bGVdPVwieyB3aWR0aDogZmllbGQud2lkdGggKyAncHgnIH1cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdHJ1bmNhdGVcIj5cbiAgICAgICAgICAgICAgICA8dGh5LWljb24gW3RoeUljb25OYW1lXT1cImZpZWxkLmljb24hXCIgY2xhc3M9XCJtci0yIHRleHQtbXV0ZWRcIj48L3RoeS1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7IGZpZWxkLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZ3JpZC1maWVsZC1hY3Rpb25cIlxuICAgICAgICAgICAgICAgIHRoeUFjdGlvblxuICAgICAgICAgICAgICAgIHRoeUFjdGl2ZUNsYXNzPVwiYWN0aXZlXCJcbiAgICAgICAgICAgICAgICB0aHlJY29uPVwibW9yZS12ZXJ0aWNhbFwiXG4gICAgICAgICAgICAgICAgW3RoeURyb3Bkb3duXT1cImZpZWxkTWVudVwiXG4gICAgICAgICAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6O1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRoeS1kcm9wZG93bi1tZW51ICNmaWVsZE1lbnU+XG4gICAgICAgICAgICAgICAgICAgIDxmaWVsZC1tZW51IFtvcmlnaW5dPVwiZmllbGRBY3Rpb25cIiBbZmllbGRJZF09XCJmaWVsZC5faWRcIiBbYWlUYWJsZV09XCJhaVRhYmxlXCIgW2ZpZWxkTWVudXNdPVwiZmllbGRNZW51c1wiPjwvZmllbGQtbWVudT5cbiAgICAgICAgICAgICAgICA8L3RoeS1kcm9wZG93bi1tZW51PlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG4gICAgPGRpdiBjbGFzcz1cImdyaWQtY29sdW1uLWJsYW5rIGN1cnNvci1wb2ludGVyXCIgI2dyaWRDb2x1bW5CbGFuayAoY2xpY2spPVwiYWRkRmllbGQoZ3JpZENvbHVtbkJsYW5rKVwiPlxuICAgICAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJwbHVzXCI+PC90aHktaWNvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImdyaWQtYm9keSBkLWZsZXhcIj5cbiAgICBAZm9yIChyZWNvcmQgb2YgZ3JpZERhdGEoKS5yZWNvcmRzOyB0cmFjayByZWNvcmQuX2lkOyBsZXQgaW5kZXggPSAkaW5kZXgpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQtcm93IGQtZmxleFwiIFtuZ0NsYXNzXT1cInsgaGlnaGxpZ2h0OiAocmVjb3JkLl9pZCB8IGlzU2VsZWN0UmVjb3JkOiBhaVRhYmxlLnNlbGVjdGlvbigpKSB9XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZC1yb3ctaW5kZXggZ3JpZC1jaGVja2JveFwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCIocmVjb3JkLl9pZCB8IGlzU2VsZWN0UmVjb3JkOiBhaVRhYmxlLnNlbGVjdGlvbigpKSA/ICdjaGVja2VkLWJveCcgOiAndW5jaGVja2VkLWJveCdcIlxuICAgICAgICAgICAgICAgICAgICB0aHlDaGVja2JveFxuICAgICAgICAgICAgICAgICAgICB0aHlMYWJlbFRleHQ9XCJcIlxuICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJyZWNvcmQuX2lkIHwgaXNTZWxlY3RSZWNvcmQ6IGFpVGFibGUuc2VsZWN0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWxlY3RSZWNvcmQocmVjb3JkLl9pZClcIlxuICAgICAgICAgICAgICAgID48L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cIihyZWNvcmQuX2lkIHwgaXNTZWxlY3RSZWNvcmQ6IGFpVGFibGUuc2VsZWN0aW9uKCkpID8gJ2dyaWQtcm93LW5vLW51bWJlcicgOiAnZ3JpZC1yb3ctbnVtYmVyJ1wiPlxuICAgICAgICAgICAgICAgICAgICB7eyBpbmRleCArIDEgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIEBmb3IgKGZpZWxkIG9mIGdyaWREYXRhKCkuZmllbGRzOyB0cmFjayBmaWVsZC5faWQpIHtcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICNjZWxsXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZ3JpZC1jZWxsXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgaGlnaGxpZ2h0OiBhaVRhYmxlLnNlbGVjdGlvbigpLnNlbGVjdGVkQ2VsbHMuaGFzKHJlY29yZC5faWQpIHx8IGFpVGFibGUuc2VsZWN0aW9uKCkuc2VsZWN0ZWRGaWVsZHMuaGFzKGZpZWxkLl9pZCksXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZDogYWlUYWJsZS5zZWxlY3Rpb24oKS5zZWxlY3RlZENlbGxzLmdldChyZWNvcmQuX2lkKT8uaGFzT3duUHJvcGVydHkoZmllbGQuX2lkKVxuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIudHlwZV09XCJbZmllbGQudHlwZV1cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5maWVsZElkXT1cIltmaWVsZC5faWRdXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIucmVhZG9ubHldPVwiW2ZpZWxkPy5yZWFkb25seV1cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5yZWNvcmRJZF09XCJbcmVjb3JkLl9pZF1cIlxuICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7IHdpZHRoOiBmaWVsZC53aWR0aCArICdweCcgfVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBAc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAY2FzZSAoQUlUYWJsZUZpZWxkVHlwZS5zZWxlY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCFmaWVsZC5pc011bHRpcGxlICYmIHJlY29yZC52YWx1ZXNbZmllbGQuX2lkXSB8IHNlbGVjdE9wdGlvbjogZmllbGRbJ29wdGlvbnMnXTsgYXMgc2VsZWN0ZWRPcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoeS10YWcgW3RoeUNvbG9yXT1cInNlbGVjdGVkT3B0aW9uIS5jb2xvciEgfHwgc2VsZWN0ZWRPcHRpb24hLmJnX2NvbG9yISB8fCAnZGVmYXVsdCdcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRPcHRpb24udGV4dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvdGh5LXRhZz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBAY2FzZSAoQUlUYWJsZUZpZWxkVHlwZS5kYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgcmVjb3JkLnZhbHVlc1tmaWVsZC5faWRdIHwgdGh5RGF0ZVBpY2tlckZvcm1hdCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQGNhc2UgKEFJVGFibGVGaWVsZFR5cGUudXBkYXRlZEF0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtYmxvY2sgdXNlci1zZWxlY3Qtbm9uZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdHJ1bmNhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHJlY29yZC52YWx1ZXNbZmllbGQuX2lkXSB8IHRoeURhdGVQaWNrZXJGb3JtYXQ6ICd5eXl5LU1NLWRkIEhIOm1tJyB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBAY2FzZSAoQUlUYWJsZUZpZWxkVHlwZS5jcmVhdGVkQXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1ibG9jayB1c2VyLXNlbGVjdC1ub25lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC10cnVuY2F0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgcmVjb3JkLnZhbHVlc1tmaWVsZC5faWRdIHwgdGh5RGF0ZVBpY2tlckZvcm1hdDogJ3l5eXktTU0tZGQgSEg6bW0nIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEBjYXNlIChBSVRhYmxlRmllbGRUeXBlLnJhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGh5LXJhdGUgW25nTW9kZWxdPVwicmVjb3JkLnZhbHVlc1tmaWVsZC5faWRdXCI+PC90aHktcmF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEBjYXNlIChBSVRhYmxlRmllbGRUeXBlLmxpbmspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImQtYmxvY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJyZWNvcmQudmFsdWVzW2ZpZWxkLl9pZF0/LnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoeVN0b3BQcm9wYWdhdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHlGbGV4aWJsZVRleHRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RoeVRvb2x0aXBDb250ZW50XT1cInJlY29yZC52YWx1ZXNbZmllbGQuX2lkXT8udGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyByZWNvcmQudmFsdWVzW2ZpZWxkLl9pZF0/LnRleHQgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBAY2FzZSAoQUlUYWJsZUZpZWxkVHlwZS5wcm9ncmVzcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aHktcHJvZ3Jlc3NcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LTEwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aHlWYWx1ZV09XCJyZWNvcmQudmFsdWVzW2ZpZWxkLl9pZF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGh5U2l6ZV09XCJyZWNvcmQudmFsdWVzW2ZpZWxkLl9pZF0/LmNvbmZpZz8uc2l6ZSB8fCAnbWQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RoeU1heF09XCJyZWNvcmQudmFsdWVzW2ZpZWxkLl9pZF0/LmNvbmZpZz8ubWF4IHx8IDEwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aHlUeXBlXT1cInJlY29yZC52YWx1ZXNbZmllbGQuX2lkXT8uY29uZmlnPy5wcm9ncmVzc1R5cGUgfHwgJ3N1Y2Nlc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPiB7eyByZWNvcmQudmFsdWVzW2ZpZWxkLl9pZF0gfX17eyByZWNvcmQudmFsdWVzW2ZpZWxkLl9pZF0/LmNvbmZpZz8uc3VmZml4IHx8ICclJyB9fSA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aHktcHJvZ3Jlc3M+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBAY2FzZSAoQUlUYWJsZUZpZWxkVHlwZS5tZW1iZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCFmaWVsZC5pc011bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAocmVjb3JkLnZhbHVlc1tmaWVsZC5faWRdWzBdOyBhcyByZWNvcmRWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoeS1hdmF0YXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGh5TmFtZV09XCJyZWNvcmRWYWx1ZS5kaXNwbGF5X25hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aHlTcmNdPVwicmVjb3JkVmFsdWUuYXZhdGFyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHlTaXplPVwieHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoeVNob3dOYW1lPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC90aHktYXZhdGFyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aHktYXZhdGFyLWxpc3QgdGh5QXZhdGFyU2l6ZT1cInhzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIHJlY29yZC52YWx1ZXNbZmllbGQuX2lkXTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoeS1hdmF0YXIgW3RoeU5hbWVdPVwiaXRlbS5kaXNwbGF5X25hbWVcIiBbdGh5U3JjXT1cIml0ZW0uYXZhdGFyXCI+PC90aHktYXZhdGFyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoeS1hdmF0YXItbGlzdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBAY2FzZSAoQUlUYWJsZUZpZWxkVHlwZS5jcmVhdGVkQnkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHJlY29yZC52YWx1ZXNbZmllbGQuX2lkXVswXTsgYXMgcmVjb3JkVmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoeS1hdmF0YXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aHlOYW1lXT1cInJlY29yZFZhbHVlLmRpc3BsYXlfbmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGh5U3JjXT1cInJlY29yZFZhbHVlLmF2YXRhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHlTaXplPVwieHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGh5U2hvd05hbWU9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdGh5LWF2YXRhcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBAY2FzZSAoQUlUYWJsZUZpZWxkVHlwZS51cGRhdGVkQnkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHJlY29yZC52YWx1ZXNbZmllbGQuX2lkXVswXTsgYXMgcmVjb3JkVmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoeS1hdmF0YXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aHlOYW1lXT1cInJlY29yZFZhbHVlLmRpc3BsYXlfbmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGh5U3JjXT1cInJlY29yZFZhbHVlLmF2YXRhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHlTaXplPVwieHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGh5U2hvd05hbWU9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdGh5LWF2YXRhcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBAZGVmYXVsdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXRydW5jYXRlXCI+IHt7IHJlY29yZC52YWx1ZXNbZmllbGQuX2lkXSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXV0b2ZpbGwtY29udGFpbmVyXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZC1jb2x1bW4tYmxhbmtcIj48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9XCJncmlkLXJvdy1pbnNlcnQgZ3JpZC1yb3cgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwiYWRkUmVjb3JkKClcIj5cbiAgICAgICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwicGx1c1wiPjwvdGh5LWljb24+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiAjYWN0aXZlQm9yZGVyIGNsYXNzPVwiYWN0aXZlLWJvcmRlclwiPjwvZGl2PlxuIl19
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import { Pipe } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export class SelectOptionPipe {
|
4
|
+
transform(_id, options) {
|
5
|
+
return options.find((item) => item._id === _id);
|
6
|
+
}
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: SelectOptionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
8
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: SelectOptionPipe, isStandalone: true, name: "selectOption" }); }
|
9
|
+
}
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: SelectOptionPipe, decorators: [{
|
11
|
+
type: Pipe,
|
12
|
+
args: [{
|
13
|
+
name: 'selectOption',
|
14
|
+
standalone: true
|
15
|
+
}]
|
16
|
+
}] });
|
17
|
+
export class IsSelectRecordPipe {
|
18
|
+
transform(recordId, selection) {
|
19
|
+
return selection.selectedRecords.has(recordId);
|
20
|
+
}
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: IsSelectRecordPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
22
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: IsSelectRecordPipe, isStandalone: true, name: "isSelectRecord" }); }
|
23
|
+
}
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: IsSelectRecordPipe, decorators: [{
|
25
|
+
type: Pipe,
|
26
|
+
args: [{
|
27
|
+
name: 'isSelectRecord',
|
28
|
+
standalone: true
|
29
|
+
}]
|
30
|
+
}] });
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvcGlwZXMvZ3JpZC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQVFwRCxNQUFNLE9BQU8sZ0JBQWdCO0lBQ3pCLFNBQVMsQ0FBQyxHQUFXLEVBQUUsT0FBOEI7UUFDakQsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ3BELENBQUM7OEdBSFEsZ0JBQWdCOzRHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBSjVCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGNBQWM7b0JBQ3BCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7QUFXRCxNQUFNLE9BQU8sa0JBQWtCO0lBQzNCLFNBQVMsQ0FBQyxRQUFnQixFQUFFLFNBQTJCO1FBQ25ELE9BQU8sU0FBUyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbkQsQ0FBQzs4R0FIUSxrQkFBa0I7NEdBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFKOUIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBSVRhYmxlU2VsZWN0T3B0aW9uIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyBBSVRhYmxlU2VsZWN0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ3NlbGVjdE9wdGlvbicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RPcHRpb25QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKF9pZDogc3RyaW5nLCBvcHRpb25zOiBBSVRhYmxlU2VsZWN0T3B0aW9uW10pIHtcbiAgICAgICAgcmV0dXJuIG9wdGlvbnMuZmluZCgoaXRlbSkgPT4gaXRlbS5faWQgPT09IF9pZCk7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgbmFtZTogJ2lzU2VsZWN0UmVjb3JkJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIElzU2VsZWN0UmVjb3JkUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShyZWNvcmRJZDogc3RyaW5nLCBzZWxlY3Rpb246IEFJVGFibGVTZWxlY3Rpb24pIHtcbiAgICAgICAgcmV0dXJuIHNlbGVjdGlvbi5zZWxlY3RlZFJlY29yZHMuaGFzKHJlY29yZElkKTtcbiAgICB9XG59XG4iXX0=
|
package/esm2022/pipes/index.mjs
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export * from './grid';
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
1
|
+
export * from './grid.pipe';
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9waXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZ3JpZC5waXBlJztcbiJdfQ==
|