@wavemaker/app-ng-runtime 12.0.0-next.141140 → 12.0.0-next.141144
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- app-ng-runtime/build-task/bundles/index.umd.js +2 -2
- app-ng-runtime/build-task/esm2022/data/form/form-field/form-field.build.mjs +3 -3
- app-ng-runtime/build-task/fesm2022/index.mjs +2 -2
- app-ng-runtime/build-task/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/base/bundles/index.umd.js +7 -0
- app-ng-runtime/components/base/esm2022/widgets/common/base/dataset-aware-nav.component.mjs +8 -1
- app-ng-runtime/components/base/fesm2022/index.mjs +7 -0
- app-ng-runtime/components/base/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/base/widgets/common/base/dataset-aware-nav.component.d.ts +2 -0
- app-ng-runtime/components/chart/bundles/index.umd.js +2 -1
- app-ng-runtime/components/chart/esm2022/chart.utils.mjs +3 -2
- app-ng-runtime/components/chart/fesm2022/index.mjs +2 -1
- app-ng-runtime/components/chart/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/list/bundles/index.umd.js +8 -0
- app-ng-runtime/components/data/list/esm2022/list-item.directive.mjs +10 -1
- app-ng-runtime/components/data/list/fesm2022/index.mjs +9 -1
- app-ng-runtime/components/data/list/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/pagination/bundles/index.umd.js +2 -2
- app-ng-runtime/components/data/pagination/esm2022/pagination.component.mjs +3 -3
- app-ng-runtime/components/data/pagination/fesm2022/index.mjs +2 -2
- app-ng-runtime/components/data/pagination/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/chips/bundles/index.umd.js +19 -5
- app-ng-runtime/components/input/chips/esm2022/chips.component.mjs +20 -6
- app-ng-runtime/components/input/chips/fesm2022/index.mjs +19 -5
- app-ng-runtime/components/input/chips/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/base-form.component.d.ts +1 -0
- app-ng-runtime/components/input/default/bundles/index.umd.js +33 -9
- app-ng-runtime/components/input/default/esm2022/base-form.component.mjs +6 -3
- app-ng-runtime/components/input/default/esm2022/number/number.component.mjs +4 -4
- app-ng-runtime/components/input/default/esm2022/text/locale/number-locale.mjs +26 -5
- app-ng-runtime/components/input/default/fesm2022/index.mjs +33 -9
- app-ng-runtime/components/input/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/text/locale/number-locale.d.ts +1 -0
- app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +1 -0
- app-ng-runtime/components/input/epoch/bundles/index.umd.js +4 -0
- app-ng-runtime/components/input/epoch/esm2022/base-date-time.component.mjs +4 -1
- app-ng-runtime/components/input/epoch/esm2022/date/date.props.mjs +2 -1
- app-ng-runtime/components/input/epoch/fesm2022/index.mjs +4 -0
- app-ng-runtime/components/input/epoch/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/menu/bundles/index.umd.js +3 -2
- app-ng-runtime/components/navigation/menu/esm2022/nav/nav.component.mjs +3 -3
- app-ng-runtime/components/navigation/menu/esm2022/nav/nav.props.mjs +2 -1
- app-ng-runtime/components/navigation/menu/fesm2022/index.mjs +3 -2
- app-ng-runtime/components/navigation/menu/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/package.json +1 -1
- app-ng-runtime/scripts/datatable/datatable.js +3 -0
|
@@ -4473,6 +4473,7 @@
|
|
|
4473
4473
|
this._resetNodes = lodashEs.debounce(this.resetNodes, 50);
|
|
4474
4474
|
this.securityService = this.inj.get(security.SecurityService);
|
|
4475
4475
|
this.binditemlabel = this.nativeElement.getAttribute('itemlabel.bind');
|
|
4476
|
+
this.binditemhint = this.nativeElement.getAttribute('itemhint.bind');
|
|
4476
4477
|
this.binditemicon = this.nativeElement.getAttribute('itemicon.bind');
|
|
4477
4478
|
this.binditemaction = this.nativeElement.getAttribute('itemaction.bind');
|
|
4478
4479
|
this.binditembadge = this.nativeElement.getAttribute('itembadge.bind');
|
|
@@ -4518,6 +4519,10 @@
|
|
|
4518
4519
|
field: this.itemlabel,
|
|
4519
4520
|
bindExpression: this.binditemlabel
|
|
4520
4521
|
}, context) || lodashEs.get(node, fields.labelField),
|
|
4522
|
+
hint: getEvaluatedData(node, {
|
|
4523
|
+
field: this.itemhint,
|
|
4524
|
+
bindExpression: this.binditemhint
|
|
4525
|
+
}, context) || lodashEs.get(node, fields.hintField),
|
|
4521
4526
|
link: getValidLink(getEvaluatedData(node, {
|
|
4522
4527
|
field: this.itemlink,
|
|
4523
4528
|
bindExpression: this.binditemlink
|
|
@@ -4543,6 +4548,7 @@
|
|
|
4543
4548
|
idField: this.itemid || 'itemid',
|
|
4544
4549
|
iconField: this.itemicon || 'icon',
|
|
4545
4550
|
labelField: this.itemlabel || 'label',
|
|
4551
|
+
hintField: this.itemhint || 'hint',
|
|
4546
4552
|
linkField: this.itemlink || 'link',
|
|
4547
4553
|
targetField: this.itemtarget || 'target',
|
|
4548
4554
|
badgeField: this.itembadge || 'badge',
|
|
@@ -4603,6 +4609,7 @@
|
|
|
4603
4609
|
case 'dataset':
|
|
4604
4610
|
case 'itemicon':
|
|
4605
4611
|
case 'itemlabel':
|
|
4612
|
+
case 'itemhint':
|
|
4606
4613
|
case 'itemlink':
|
|
4607
4614
|
case 'itemtarget':
|
|
4608
4615
|
case 'itemclass':
|
|
@@ -30,6 +30,7 @@ let DatasetAwareNavComponent = class DatasetAwareNavComponent extends StylableCo
|
|
|
30
30
|
this._resetNodes = debounce(this.resetNodes, 50);
|
|
31
31
|
this.securityService = this.inj.get(SecurityService);
|
|
32
32
|
this.binditemlabel = this.nativeElement.getAttribute('itemlabel.bind');
|
|
33
|
+
this.binditemhint = this.nativeElement.getAttribute('itemhint.bind');
|
|
33
34
|
this.binditemicon = this.nativeElement.getAttribute('itemicon.bind');
|
|
34
35
|
this.binditemaction = this.nativeElement.getAttribute('itemaction.bind');
|
|
35
36
|
this.binditembadge = this.nativeElement.getAttribute('itembadge.bind');
|
|
@@ -75,6 +76,10 @@ let DatasetAwareNavComponent = class DatasetAwareNavComponent extends StylableCo
|
|
|
75
76
|
field: this.itemlabel,
|
|
76
77
|
bindExpression: this.binditemlabel
|
|
77
78
|
}, context) || get(node, fields.labelField),
|
|
79
|
+
hint: getEvaluatedData(node, {
|
|
80
|
+
field: this.itemhint,
|
|
81
|
+
bindExpression: this.binditemhint
|
|
82
|
+
}, context) || get(node, fields.hintField),
|
|
78
83
|
link: getValidLink(getEvaluatedData(node, {
|
|
79
84
|
field: this.itemlink,
|
|
80
85
|
bindExpression: this.binditemlink
|
|
@@ -100,6 +105,7 @@ let DatasetAwareNavComponent = class DatasetAwareNavComponent extends StylableCo
|
|
|
100
105
|
idField: this.itemid || 'itemid',
|
|
101
106
|
iconField: this.itemicon || 'icon',
|
|
102
107
|
labelField: this.itemlabel || 'label',
|
|
108
|
+
hintField: this.itemhint || 'hint',
|
|
103
109
|
linkField: this.itemlink || 'link',
|
|
104
110
|
targetField: this.itemtarget || 'target',
|
|
105
111
|
badgeField: this.itembadge || 'badge',
|
|
@@ -160,6 +166,7 @@ let DatasetAwareNavComponent = class DatasetAwareNavComponent extends StylableCo
|
|
|
160
166
|
case 'dataset':
|
|
161
167
|
case 'itemicon':
|
|
162
168
|
case 'itemlabel':
|
|
169
|
+
case 'itemhint':
|
|
163
170
|
case 'itemlink':
|
|
164
171
|
case 'itemtarget':
|
|
165
172
|
case 'itemclass':
|
|
@@ -179,4 +186,4 @@ DatasetAwareNavComponent = __decorate([
|
|
|
179
186
|
__metadata("design:paramtypes", [Injector, Object, Object])
|
|
180
187
|
], DatasetAwareNavComponent);
|
|
181
188
|
export { DatasetAwareNavComponent };
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNldC1hd2FyZS1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9iYXNlL3NyYy93aWRnZXRzL2NvbW1vbi9iYXNlL2RhdGFzZXQtYXdhcmUtbmF2LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFhLG1CQUFtQixFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUVoRixNQUFNLFlBQVksR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFO0lBQzFCLE1BQU0sU0FBUyxHQUFHLHFCQUFxQixDQUFDO0lBQ3hDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDUCxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN2QixJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENB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QixLQUFLLFlBQVksQ0FBQztZQUNsQixLQUFLLFdBQVcsQ0FBQztZQUNqQixLQUFLLGNBQWMsQ0FBQztZQUNwQixLQUFLLFVBQVUsQ0FBQztZQUNoQixLQUFLLFNBQVM7Z0JBQ1YsNkVBQTZFO2dCQUM3RSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ25CLE1BQU07UUFDZCxDQUFDO1FBQ0QsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDeEMsQ0FBQztDQUNKLENBQUE7QUFoTVksd0JBQXdCO0lBa0NVLFdBQUEsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUE7SUFBRSxXQUFBLFFBQVEsRUFBRSxDQUFBO3FDQUFoRSxRQUFRO0dBbENoQix3QkFBd0IsQ0FnTXBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIEluamVjdG9yLCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHskYXBwRGlnZXN0LCBmaW5kVmFsdWVPZiwgaXNPYmplY3QsIGlzRGVmaW5lZCwgdmFsaWRhdGVBY2Nlc3NSb2xlc30gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgU2VjdXJpdHlTZXJ2aWNlIH0gZnJvbSAnQHdtL3NlY3VyaXR5JztcblxuaW1wb3J0IHsgY3JlYXRlQXJyYXlGcm9tIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvZGF0YS11dGlscyc7XG5pbXBvcnQgeyBnZXRFdmFsdWF0ZWREYXRhIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvd2lkZ2V0LXV0aWxzJztcbmltcG9ydCB7IGdldE9yZGVyZWREYXRhc2V0IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvZm9ybS11dGlscyc7XG5pbXBvcnQgeyBTdHlsYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vc3R5bGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7ZGVib3VuY2UsIGZpcnN0LCBnZXQsIGlzVW5kZWZpbmVkLCBvbWl0QnksIHN0YXJ0c1dpdGh9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuY29uc3QgZ2V0VmFsaWRMaW5rID0gKGxpbmspID0+IHtcbiAgICBjb25zdCByb3V0UmVnZXggPSAvXihcXC98I1xcL3wjKSg/IVxcVykuKi87XG4gICAgaWYgKGxpbmspIHtcbiAgICAgICAgaWYgKHJvdXRSZWdleC50ZXN0KGxpbmspKSB7XG4gICAgICAgICAgICBsaW5rID0gZmlyc3QobGluay5tYXRjaCgvW1xcd10rLiovZykpIHx8ICcnO1xuICAgICAgICAgICAgcmV0dXJuIGAjLyR7bGlua31gO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGFydHNXaXRoKGxpbmssICd3d3cuJykpIHtcbiAgICAgICAgICAgIHJldHVybiBgLy8ke2xpbmt9YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbGluaztcbiAgICB9XG59O1xuXG5leHBvcnQgY2xhc3MgRGF0YXNldEF3YXJlTmF2Q29tcG9uZW50IGV4dGVuZHMgU3R5bGFibGVDb21wb25lbnQge1xuXG4gICAgcHVibGljIG5vZGVzOiBBcnJheTxOYXZOb2RlPiA9IFtdO1xuICAgIHB1YmxpYyBkYXRhc2V0OiBhbnk7XG4gICAgcHVibGljIGl0ZW1pY29uOiBzdHJpbmc7XG4gICAgcHVibGljIGl0ZW1sYWJlbDogc3RyaW5nO1xuICAgIHB1YmxpYyBpdGVtbGluazogc3RyaW5nO1xuICAgIHB1YmxpYyBpdGVtdGFyZ2V0OiBzdHJpbmc7XG4gICAgcHVibGljIGl0ZW1iYWRnZTogc3RyaW5nO1xuICAgIHB1YmxpYyBpdGVtY2hpbGRyZW46IHN0cmluZztcbiAgICBwdWJsaWMgaXRlbWFjdGlvbjogc3RyaW5nO1xuICAgIHB1YmxpYyBpdGVtY2xhc3M6IHN0cmluZztcbiAgICBwdWJsaWMgaXRlbWlkOiBzdHJpbmc7XG4gICAgcHVibGljIGlzYWN0aXZlOiBzdHJpbmc7XG4gICAgcHVibGljIHVzZXJyb2xlOiBzdHJpbmc7XG4gICAgcHVibGljIG9yZGVyYnk6IHN0cmluZztcbiAgICBwdWJsaWMgZGF0YWZpZWxkOiBzdHJpbmc7XG4gICAgcHVibGljIGRpc3BsYXlmaWVsZDogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBfaXRlbUZpZWxkTWFwO1xuICAgIHByaXZhdGUgYmluZGl0ZW1sYWJlbDogc3RyaW5nIHwgbnVsbDtcbiAgICBwcml2YXRlIGJpbmRpdGVtaWNvbjogc3RyaW5nIHwgbnVsbDtcbiAgICBwcml2YXRlIGJpbmRpdGVtYWN0aW9uOiBzdHJpbmcgfCBudWxsO1xuICAgIHByaXZhdGUgYmluZGl0ZW1iYWRnZTogc3RyaW5nIHwgbnVsbDtcbiAgICBwcml2YXRlIGJpbmRpdGVtY2hpbGRyZW46IHN0cmluZyB8IG51bGw7XG4gICAgcHJpdmF0ZSBiaW5kaXRlbWxpbms6IHN0cmluZyB8IG51bGw7XG4gICAgcHJpdmF0ZSBiaW5kaXRlbXRhcmdldDogc3RyaW5nIHwgbnVsbDtcbiAgICBwcml2YXRlIGJpbmR1c2Vycm9sZTogc3RyaW5nIHwgbnVsbDtcbiAgICBwcml2YXRlIGJpbmRpc2FjdGl2ZTogc3RyaW5nIHwgbnVsbDtcbiAgICBwcml2YXRlIHNlY3VyaXR5U2VydmljZTogYW55O1xuXG4gICAgcHJvdGVjdGVkIGJpbmRpdGVtaWQ6IHN0cmluZyB8IG51bGw7XG4gICAgcHJvdGVjdGVkIG5vZGVzJCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihpbmo6IEluamVjdG9yLCBXSURHRVRfQ09ORklHLCBASW5qZWN0KCdFWFBMSUNJVF9DT05URVhUJykgQE9wdGlvbmFsKCkgZXhwbGljaXRDb250ZXh0OiBhbnkpIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHLCBleHBsaWNpdENvbnRleHQpO1xuICAgICAgICB0aGlzLnNlY3VyaXR5U2VydmljZSA9IHRoaXMuaW5qLmdldChTZWN1cml0eVNlcnZpY2UpO1xuICAgICAgICB0aGlzLmJpbmRpdGVtbGFiZWwgPSB0aGlzLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdpdGVtbGFiZWwuYmluZCcpO1xuICAgICAgICB0aGlzLmJpbmRpdGVtaWNvbiA9IHRoaXMubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2l0ZW1pY29uLmJpbmQnKTtcbiAgICAgICAgdGhpcy5iaW5kaXRlbWFjdGlvbiA9IHRoaXMubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2l0ZW1hY3Rpb24uYmluZCcpO1xuICAgICAgICB0aGlzLmJpbmRpdGVtYmFkZ2UgPSB0aGlzLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdpdGVtYmFkZ2UuYmluZCcpO1xuICAgICAgICB0aGlzLmJpbmRpdGVtY2hpbGRyZW4gPSB0aGlzLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdpdGVtY2hpbGRyZW4uYmluZCcpO1xuICAgICAgICB0aGlzLmJpbmRpdGVtaWQgPSB0aGlzLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdpdGVtaWQuYmluZCcpO1xuICAgICAgICB0aGlzLmJpbmRpdGVtbGluayA9IHRoaXMubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2l0ZW1saW5rLmJpbmQnKTtcbiAgICAgICAgdGhpcy5iaW5kaXRlbXRhcmdldCA9IHRoaXMubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2l0ZW10YXJnZXQuYmluZCcpO1xuICAgICAgICB0aGlzLmJpbmR1c2Vycm9sZSA9IHRoaXMubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3VzZXJyb2xlLmJpbmQnKTtcbiAgICAgICAgdGhpcy5iaW5kaXNhY3RpdmUgPSB0aGlzLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdpc2FjdGl2ZS5iaW5kJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY29uc3RydWN0cyBpbmRpdmlkdWFsIG5vZGUgZm9yIHRoZSB3aWRnZXQgbW9kZWwuXG4gICAgICogQHBhcmFtIGZpZWxkc1xuICAgICAqIEBwYXJhbSBub2RlXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXROb2RlKGZpZWxkcywgbm9kZSk6IE5hdk5vZGUge1xuICAgICAgICBjb25zdCBjb250ZXh0ID0gdGhpcy52aWV3UGFyZW50LnBhZ2VTY29wZSB8fCB0aGlzLnZpZXdQYXJlbnQ7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gZ2V0RXZhbHVhdGVkRGF0YShub2RlLCB7XG4gICAgICAgICAgICBmaWVsZDogdGhpcy5pdGVtY2hpbGRyZW4sXG4gICAgICAgICAgICBiaW5kRXhwcmVzc2lvbjogdGhpcy5iaW5kaXRlbWNoaWxkcmVuXG4gICAgICAgIH0sIGNvbnRleHQpIHx8IGdldChub2RlLCBmaWVsZHMuY2hpbGRyZW5GaWVsZCk7XG4gICAgICAgIGNvbnN0IG5hdk5vZGUgPSB7XG4gICAgICAgICAgICBhY3Rpb246IGdldEV2YWx1YXRlZERhdGEobm9kZSwge1xuICAgICAgICAgICAgICAgIGZpZWxkOiB0aGlzLml0ZW1hY3Rpb24sXG4gICAgICAgICAgICAgICAgYmluZEV4cHJlc3Npb246IHRoaXMuYmluZGl0ZW1hY3Rpb25cbiAgICAgICAgICAgIH0sIGNvbnRleHQpIHx8IGdldChub2RlLCBmaWVsZHMuYWN0aW9uRmllbGQpLFxuICAgICAgICAgICAgYmFkZ2U6IGdldEV2YWx1YXRlZERhdGEobm9kZSwge1xuICAgICAgICAgICAgICAgIGZpZWxkOiB0aGlzLml0ZW1iYWRnZSxcbiAgICAgICAgICAgICAgICBiaW5kRXhwcmVzc2lvbjogdGhpcy5iaW5kaXRlbWJhZGdlXG4gICAgICAgICAgICB9LCBjb250ZXh0KSB8fCBnZXQobm9kZSwgZmllbGRzLmJhZGdlRmllbGQpLFxuICAgICAgICAgICAgY2hpbGRyZW46IEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pID8gdGhpcy5nZXROb2RlcyhjaGlsZHJlbikgOiBbXSxcbiAgICAgICAgICAgIGNsYXNzOiBnZXQobm9kZSwgZmllbGRzLmNsYXNzRmllbGQpLFxuICAgICAgICAgICAgZGlzYWJsZWQ6IG5vZGUuZGlzYWJsZWQsXG4gICAgICAgICAgICBpY29uOiBnZXRFdmFsdWF0ZWREYXRhKG5vZGUsIHtcbiAgICAgICAgICAgICAgICBmaWVsZDogdGhpcy5pdGVtaWNvbixcbiAgICAgICAgICAgICAgICBiaW5kRXhwcmVzc2lvbjogdGhpcy5iaW5kaXRlbWljb25cbiAgICAgICAgICAgIH0sIGNvbnRleHQpIHx8IGdldChub2RlLCBmaWVsZHMuaWNvbkZpZWxkKSxcbiAgICAgICAgICAgIGlkOiBnZXRFdmFsdWF0ZWREYXRhKG5vZGUsIHtcbiAgICAgICAgICAgICAgICBmaWVsZDogdGhpcy5pdGVtaWQsXG4gICAgICAgICAgICAgICAgYmluZEV4cHJlc3Npb246IHRoaXMuYmluZGl0ZW1pZFxuICAgICAgICAgICAgfSwgY29udGV4dCkgfHwgZ2V0KG5vZGUsIGZpZWxkcy5pZEZpZWxkKSxcbiAgICAgICAgICAgIGxhYmVsOiBnZXRFdmFsdWF0ZWREYXRhKG5vZGUsIHtcbiAgICAgICAgICAgICAgICBmaWVsZDogdGhpcy5pdGVtbGFiZWwsXG4gICAgICAgICAgICAgICAgYmluZEV4cHJlc3Npb246IHRoaXMuYmluZGl0ZW1sYWJlbFxuICAgICAgICAgICAgfSwgY29udGV4dCkgfHwgZ2V0KG5vZGUsIGZpZWxkcy5sYWJlbEZpZWxkKSxcbiAgICAgICAgICAgIGxpbms6IGdldFZhbGlkTGluayhnZXRFdmFsdWF0ZWREYXRhKG5vZGUsIHtcbiAgICAgICAgICAgICAgICBmaWVsZDogdGhpcy5pdGVtbGluayxcbiAgICAgICAgICAgICAgICBiaW5kRXhwcmVzc2lvbjogdGhpcy5iaW5kaXRlbWxpbmtcbiAgICAgICAgICAgIH0sIGNvbnRleHQpIHx8IGdldChub2RlLCBmaWVsZHMubGlua0ZpZWxkKSksXG4gICAgICAgICAgICB0YXJnZXQ6IGdldFZhbGlkTGluayhnZXRFdmFsdWF0ZWREYXRhKG5vZGUsIHtcbiAgICAgICAgICAgICAgICBmaWVsZDogdGhpcy5pdGVtdGFyZ2V0LFxuICAgICAgICAgICAgICAgIGJpbmRFeHByZXNzaW9uOiB0aGlzLmJpbmRpdGVtdGFyZ2V0XG4gICAgICAgICAgICB9LCBjb250ZXh0KSB8fCBnZXQobm9kZSwgZmllbGRzLnRhcmdldEZpZWxkKSksXG4gICAgICAgICAgICByb2xlOiBnZXRFdmFsdWF0ZWREYXRhKG5vZGUsIHtmaWVsZDogdGhpcy51c2Vycm9sZSwgYmluZEV4cHJlc3Npb246IHRoaXMuYmluZHVzZXJyb2xlfSwgY29udGV4dCksXG4gICAgICAgICAgICBpc2FjdGl2ZTogZ2V0RXZhbHVhdGVkRGF0YShub2RlLCB7ZmllbGQ6IHRoaXMuaXNhY3RpdmUsIGJpbmRFeHByZXNzaW9uOiB0aGlzLmJpbmRpc2FjdGl2ZX0sIGNvbnRleHQpLFxuICAgICAgICAgICAgLy8gb2xkZXIgcHJvamVjdHMgaGF2ZSBkaXNwbGF5IGZpZWxkICYgZGF0YSBmaWVsZCBwcm9wZXJ0eSBmb3IgbWVudS5cbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLmRhdGFmaWVsZCA/ICh0aGlzLmRhdGFmaWVsZCA9PT0gJ0FsbCBGaWVsZHMnID8gbm9kZSA6IGZpbmRWYWx1ZU9mKG5vZGUsIHRoaXMuZGF0YWZpZWxkKSkgOiBub2RlXG4gICAgICAgIH07XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgcmV0dXJuIG9taXRCeShuYXZOb2RlLCBpc1VuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcmVzZXRJdGVtRmllbGRNYXAoKSB7XG4gICAgICAgIHRoaXMuX2l0ZW1GaWVsZE1hcCA9IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0SXRlbUZpZWxkc01hcCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9pdGVtRmllbGRNYXApIHtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1GaWVsZE1hcCA9IHtcbiAgICAgICAgICAgICAgICBpZEZpZWxkOiB0aGlzLml0ZW1pZCB8fCAnaXRlbWlkJyxcbiAgICAgICAgICAgICAgICBpY29uRmllbGQ6IHRoaXMuaXRlbWljb24gfHwgJ2ljb24nLFxuICAgICAgICAgICAgICAgIGxhYmVsRmllbGQ6IHRoaXMuaXRlbWxhYmVsIHx8ICdsYWJlbCcsXG4gICAgICAgICAgICAgICAgbGlua0ZpZWxkOiB0aGlzLml0ZW1saW5rIHx8ICdsaW5rJyxcbiAgICAgICAgICAgICAgICB0YXJnZXRGaWVsZDogdGhpcy5pdGVtdGFyZ2V0IHx8ICd0YXJnZXQnLFxuICAgICAgICAgICAgICAgIGJhZGdlRmllbGQ6IHRoaXMuaXRlbWJhZGdlIHx8ICdiYWRnZScsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW5GaWVsZDogdGhpcy5pdGVtY2hpbGRyZW4gfHwgJ2NoaWxkcmVuJyxcbiAgICAgICAgICAgICAgICBjbGFzc0ZpZWxkOiB0aGlzLml0ZW1jbGFzcyB8fCAnY2xhc3MnLFxuICAgICAgICAgICAgICAgIGFjdGlvbkZpZWxkOiB0aGlzLml0ZW1hY3Rpb24gfHwgJ2FjdGlvbicsXG4gICAgICAgICAgICAgICAgaXNhY3RpdmVGaWVsZDogdGhpcy5pc2FjdGl2ZSB8fCAnaXNhY3RpdmUnXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9pdGVtRmllbGRNYXA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmV0dXJucyBhcnJheSBmb3IgdGhlIHZhbHVlIHBhc3NlZCBhcyBudi5cbiAgICAgKiBudjogJ2EsYicgPT4gW3tsYWJlbDphLCB2YWx1ZTphfSwge2xhYmVsOmIsIHZhbHVlOmJ9XVxuICAgICAqIG52OiBbMSwyXSA9PiBbe2xhYmVsOjEsIHZhbHVlOjF9LCB7bGFiZWw6MiwgdmFsdWU6Mn1dXG4gICAgICogbnY6IFt7b2JqfSwge29ian1dID0+IFt7b2JqfSwge29ian1dXG4gICAgICogQHBhcmFtIG52XG4gICAgICovXG4gICAgcHJpdmF0ZSBwcmVwYXJlTm9kZURhdGFTZXQobnYpIHtcbiAgICAgICAgbnYgPSAgY3JlYXRlQXJyYXlGcm9tKG52KTtcbiAgICAgICAgcmV0dXJuIG52Lm1hcCgodmFsKSA9PiB7XG4gICAgICAgICAgIGlmICghaXNPYmplY3QodmFsKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB2YWwsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiB2YWxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICB9XG4gICAgICAgICAgIHJldHVybiB2YWw7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNvbnN0cnVjdHMgZGF0YXNldCBmb3JtIHRoZSBuYXYgZWxlbWVudHMuXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXROb2RlcyhudiA9IHRoaXMuZGF0YXNldCB8fCB7fSk6IEFycmF5PE5hdk5vZGU+IHtcbiAgICAgICAgbGV0IG5vZGVzOiBBcnJheTxhbnk+ID0gZ2V0T3JkZXJlZERhdGFzZXQodGhpcy5wcmVwYXJlTm9kZURhdGFTZXQobnYpLCB0aGlzLm9yZGVyYnkpIHx8IFtdO1xuXG4gICAgICAgIGlmIChub2Rlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IHVzZXJSb2xlID0gdGhpcy51c2Vycm9sZTtcbiAgICAgICAgICAgIGNvbnN0IG5vZGVGaWVsZHMgPSB0aGlzLmdldEl0ZW1GaWVsZHNNYXAoKTtcblxuICAgICAgICAgICAgbm9kZXMgPSBub2Rlcy5yZWR1Y2UoKHJlc3VsdCwgbm9kZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh2YWxpZGF0ZUFjY2Vzc1JvbGVzKG5vZGVbdXNlclJvbGVdLCB0aGlzLnNlY3VyaXR5U2VydmljZS5sb2dnZWRJblVzZXIpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHRoaXMuZ2V0Tm9kZShub2RlRmllbGRzLCBub2RlKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9LCBbXSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5vZGVzO1xuICAgIH1cblxuICAgIC8vIGVuYWJsZSB0aGUgaW5oZXJpdGVkIGNsYXNzIHRvIGV4dGVuZCB0aGlzIG1ldGhvZC5cbiAgICBwcm90ZWN0ZWQgcmVzZXROb2RlcygpIHtcbiAgICAgICAgdGhpcy5yZXNldEl0ZW1GaWVsZE1hcCgpO1xuICAgICAgICB0aGlzLm5vZGVzID0gdGhpcy5nZXROb2RlcygpO1xuICAgICAgICAkYXBwRGlnZXN0KCk7XG4gICAgICAgIC8vIG5vdGlmeSB0aGUgbm9kZSBsaXN0ZW5lcnNcbiAgICAgICAgdGhpcy5ub2RlcyQubmV4dChudWxsKTtcbiAgICB9XG5cbiAgICAvLyBkZWJvdW5jZSBmdW5jdGlvbiBmb3IgcmVzZXQgbm9kZXMgZnVuY3Rpb25zLlxuICAgIHByaXZhdGUgX3Jlc2V0Tm9kZXMgPSBkZWJvdW5jZSh0aGlzLnJlc2V0Tm9kZXMsIDUwKTtcblxuICAgIG9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3YpIHtcbiAgICAgICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgICAgIGNhc2UgJ2RhdGFzZXQnOlxuICAgICAgICAgICAgY2FzZSAnaXRlbWljb24nOlxuICAgICAgICAgICAgY2FzZSAnaXRlbWxhYmVsJzpcbiAgICAgICAgICAgIGNhc2UgJ2l0ZW1saW5rJzpcbiAgICAgICAgICAgIGNhc2UgJ2l0ZW10YXJnZXQnOlxuICAgICAgICAgICAgY2FzZSAnaXRlbWNsYXNzJzpcbiAgICAgICAgICAgIGNhc2UgJ2l0ZW1jaGlsZHJlbic6XG4gICAgICAgICAgICBjYXNlICdpc2FjdGl2ZSc6XG4gICAgICAgICAgICBjYXNlICdvcmRlcmJ5JzpcbiAgICAgICAgICAgICAgICAvLyBjYWxscyByZXNldG5vZGVzIG1ldGhvZCBhZnRlciA1MG1zLiBhbnkgY2FsbHMgd2l0aGluIDUwbXMgd2lsbCBiZSBpZ25vcmVkLlxuICAgICAgICAgICAgICAgIHRoaXMuX3Jlc2V0Tm9kZXMoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBzdXBlci5vblByb3BlcnR5Q2hhbmdlKGtleSwgbnYsIG92KTtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2Tm9kZSB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBhY3Rpb24/OiBhbnk7XG4gICAgYmFkZ2U/OiBzdHJpbmc7XG4gICAgY2hpbGRyZW4/OiBBcnJheTxOYXZOb2RlPjtcbiAgICBjbGFzcz86IHN0cmluZztcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XG4gICAgaWNvbj86IHN0cmluZztcbiAgICBpZD86IHN0cmluZztcbiAgICBsaW5rPzogc3RyaW5nO1xuICAgIHJvbGU/OiBzdHJpbmc7XG4gICAgdmFsdWU/OiBhbnk7XG59XG4iXX0=
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNldC1hd2FyZS1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9iYXNlL3NyYy93aWRnZXRzL2NvbW1vbi9iYXNlL2RhdGFzZXQtYXdhcmUtbmF2LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFhLG1CQUFtQixFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUVoRixNQUFNLFlBQVksR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFO0lBQzFCLE1BQU0sU0FBUyxHQUFHLHFCQUFxQixDQUFDO0lBQ3hDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDUCxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN2QixJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENB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SyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3QixVQUFVLEVBQUUsQ0FBQztRQUNiLDRCQUE0QjtRQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBS0QsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFO1FBQ3hCLFFBQVEsR0FBRyxFQUFFLENBQUM7WUFDVixLQUFLLFNBQVMsQ0FBQztZQUNmLEtBQUssVUFBVSxDQUFDO1lBQ2hCLEtBQUssV0FBVyxDQUFDO1lBQ2pCLEtBQUssVUFBVSxDQUFDO1lBQ2hCLEtBQUssVUFBVSxDQUFDO1lBQ2hCLEtBQUssWUFBWSxDQUFDO1lBQ2xCLEtBQUssV0FBVyxDQUFDO1lBQ2pCLEtBQUssY0FBYyxDQUFDO1lBQ3BCLEtBQUssVUFBVSxDQUFDO1lBQ2hCLEtBQUssU0FBUztnQkFDViw2RUFBNkU7Z0JBQzdFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbkIsTUFBTTtRQUNkLENBQUM7UUFDRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0NBQ0osQ0FBQTtBQXpNWSx3QkFBd0I7SUFvQ1UsV0FBQSxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtJQUFFLFdBQUEsUUFBUSxFQUFFLENBQUE7cUNBQWhFLFFBQVE7R0FwQ2hCLHdCQUF3QixDQXlNcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0b3IsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyRhcHBEaWdlc3QsIGZpbmRWYWx1ZU9mLCBpc09iamVjdCwgaXNEZWZpbmVkLCB2YWxpZGF0ZUFjY2Vzc1JvbGVzfSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQgeyBTZWN1cml0eVNlcnZpY2UgfSBmcm9tICdAd20vc2VjdXJpdHknO1xuXG5pbXBvcnQgeyBjcmVhdGVBcnJheUZyb20gfSBmcm9tICcuLi8uLi8uLi91dGlscy9kYXRhLXV0aWxzJztcbmltcG9ydCB7IGdldEV2YWx1YXRlZERhdGEgfSBmcm9tICcuLi8uLi8uLi91dGlscy93aWRnZXQtdXRpbHMnO1xuaW1wb3J0IHsgZ2V0T3JkZXJlZERhdGFzZXQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9mb3JtLXV0aWxzJztcbmltcG9ydCB7IFN0eWxhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9zdHlsYWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHtkZWJvdW5jZSwgZmlyc3QsIGdldCwgaXNVbmRlZmluZWQsIG9taXRCeSwgc3RhcnRzV2l0aH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5jb25zdCBnZXRWYWxpZExpbmsgPSAobGluaykgPT4ge1xuICAgIGNvbnN0IHJvdXRSZWdleCA9IC9eKFxcL3wjXFwvfCMpKD8hXFxXKS4qLztcbiAgICBpZiAobGluaykge1xuICAgICAgICBpZiAocm91dFJlZ2V4LnRlc3QobGluaykpIHtcbiAgICAgICAgICAgIGxpbmsgPSBmaXJzdChsaW5rLm1hdGNoKC9bXFx3XSsuKi9nKSkgfHwgJyc7XG4gICAgICAgICAgICByZXR1cm4gYCMvJHtsaW5rfWA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0YXJ0c1dpdGgobGluaywgJ3d3dy4nKSkge1xuICAgICAgICAgICAgcmV0dXJuIGAvLyR7bGlua31gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBsaW5rO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjbGFzcyBEYXRhc2V0QXdhcmVOYXZDb21wb25lbnQgZXh0ZW5kcyBTdHlsYWJsZUNvbXBvbmVudCB7XG5cbiAgICBwdWJsaWMgbm9kZXM6IEFycmF5PE5hdk5vZGU+ID0gW107XG4gICAgcHVibGljIGRhdGFzZXQ6IGFueTtcbiAgICBwdWJsaWMgaXRlbWljb246IHN0cmluZztcbiAgICBwdWJsaWMgaXRlbWxhYmVsOiBzdHJpbmc7XG4gICAgcHVibGljIGl0ZW1oaW50OiBzdHJpbmc7XG4gICAgcHVibGljIGl0ZW1saW5rOiBzdHJpbmc7XG4gICAgcHVibGljIGl0ZW10YXJnZXQ6IHN0cmluZztcbiAgICBwdWJsaWMgaXRlbWJhZGdlOiBzdHJpbmc7XG4gICAgcHVibGljIGl0ZW1jaGlsZHJlbjogc3RyaW5nO1xuICAgIHB1YmxpYyBpdGVtYWN0aW9uOiBzdHJpbmc7XG4gICAgcHVibGljIGl0ZW1jbGFzczogc3RyaW5nO1xuICAgIHB1YmxpYyBpdGVtaWQ6IHN0cmluZztcbiAgICBwdWJsaWMgaXNhY3RpdmU6IHN0cmluZztcbiAgICBwdWJsaWMgdXNlcnJvbGU6IHN0cmluZztcbiAgICBwdWJsaWMgb3JkZXJieTogc3RyaW5nO1xuICAgIHB1YmxpYyBkYXRhZmllbGQ6IHN0cmluZztcbiAgICBwdWJsaWMgZGlzcGxheWZpZWxkOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIF9pdGVtRmllbGRNYXA7XG4gICAgcHJpdmF0ZSBiaW5kaXRlbWxhYmVsOiBzdHJpbmcgfCBudWxsO1xuICAgIHByaXZhdGUgYmluZGl0ZW1oaW50OiBzdHJpbmcgfCBudWxsO1xuICAgIHByaXZhdGUgYmluZGl0ZW1pY29uOiBzdHJpbmcgfCBudWxsO1xuICAgIHByaXZhdGUgYmluZGl0ZW1hY3Rpb246IHN0cmluZyB8IG51bGw7XG4gICAgcHJpdmF0ZSBiaW5kaXRlbWJhZGdlOiBzdHJpbmcgfCBudWxsO1xuICAgIHByaXZhdGUgYmluZGl0ZW1jaGlsZHJlbjogc3RyaW5nIHwgbnVsbDtcbiAgICBwcml2YXRlIGJpbmRpdGVtbGluazogc3RyaW5nIHwgbnVsbDtcbiAgICBwcml2YXRlIGJpbmRpdGVtdGFyZ2V0OiBzdHJpbmcgfCBudWxsO1xuICAgIHByaXZhdGUgYmluZHVzZXJyb2xlOiBzdHJpbmcgfCBudWxsO1xuICAgIHByaXZhdGUgYmluZGlzYWN0aXZlOiBzdHJpbmcgfCBudWxsO1xuICAgIHByaXZhdGUgc2VjdXJpdHlTZXJ2aWNlOiBhbnk7XG5cbiAgICBwcm90ZWN0ZWQgYmluZGl0ZW1pZDogc3RyaW5nIHwgbnVsbDtcbiAgICBwcm90ZWN0ZWQgbm9kZXMkID0gbmV3IFN1YmplY3QoKTtcblxuICAgIGNvbnN0cnVjdG9yKGluajogSW5qZWN0b3IsIFdJREdFVF9DT05GSUcsIEBJbmplY3QoJ0VYUExJQ0lUX0NPTlRFWFQnKSBAT3B0aW9uYWwoKSBleHBsaWNpdENvbnRleHQ6IGFueSkge1xuICAgICAgICBzdXBlcihpbmosIFdJREdFVF9DT05GSUcsIGV4cGxpY2l0Q29udGV4dCk7XG4gICAgICAgIHRoaXMuc2VjdXJpdHlTZXJ2aWNlID0gdGhpcy5pbmouZ2V0KFNlY3VyaXR5U2VydmljZSk7XG4gICAgICAgIHRoaXMuYmluZGl0ZW1sYWJlbCA9IHRoaXMubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2l0ZW1sYWJlbC5iaW5kJyk7XG4gICAgICAgIHRoaXMuYmluZGl0ZW1oaW50ID0gdGhpcy5uYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgnaXRlbWhpbnQuYmluZCcpO1xuICAgICAgICB0aGlzLmJpbmRpdGVtaWNvbiA9IHRoaXMubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2l0ZW1pY29uLmJpbmQnKTtcbiAgICAgICAgdGhpcy5iaW5kaXRlbWFjdGlvbiA9IHRoaXMubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2l0ZW1hY3Rpb24uYmluZCcpO1xuICAgICAgICB0aGlzLmJpbmRpdGVtYmFkZ2UgPSB0aGlzLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdpdGVtYmFkZ2UuYmluZCcpO1xuICAgICAgICB0aGlzLmJpbmRpdGVtY2hpbGRyZW4gPSB0aGlzLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdpdGVtY2hpbGRyZW4uYmluZCcpO1xuICAgICAgICB0aGlzLmJpbmRpdGVtaWQgPSB0aGlzLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdpdGVtaWQuYmluZCcpO1xuICAgICAgICB0aGlzLmJpbmRpdGVtbGluayA9IHRoaXMubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2l0ZW1saW5rLmJpbmQnKTtcbiAgICAgICAgdGhpcy5iaW5kaXRlbXRhcmdldCA9IHRoaXMubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2l0ZW10YXJnZXQuYmluZCcpO1xuICAgICAgICB0aGlzLmJpbmR1c2Vycm9sZSA9IHRoaXMubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3VzZXJyb2xlLmJpbmQnKTtcbiAgICAgICAgdGhpcy5iaW5kaXNhY3RpdmUgPSB0aGlzLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdpc2FjdGl2ZS5iaW5kJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY29uc3RydWN0cyBpbmRpdmlkdWFsIG5vZGUgZm9yIHRoZSB3aWRnZXQgbW9kZWwuXG4gICAgICogQHBhcmFtIGZpZWxkc1xuICAgICAqIEBwYXJhbSBub2RlXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXROb2RlKGZpZWxkcywgbm9kZSk6IE5hdk5vZGUge1xuICAgICAgICBjb25zdCBjb250ZXh0ID0gdGhpcy52aWV3UGFyZW50LnBhZ2VTY29wZSB8fCB0aGlzLnZpZXdQYXJlbnQ7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gZ2V0RXZhbHVhdGVkRGF0YShub2RlLCB7XG4gICAgICAgICAgICBmaWVsZDogdGhpcy5pdGVtY2hpbGRyZW4sXG4gICAgICAgICAgICBiaW5kRXhwcmVzc2lvbjogdGhpcy5iaW5kaXRlbWNoaWxkcmVuXG4gICAgICAgIH0sIGNvbnRleHQpIHx8IGdldChub2RlLCBmaWVsZHMuY2hpbGRyZW5GaWVsZCk7XG4gICAgICAgIGNvbnN0IG5hdk5vZGUgPSB7XG4gICAgICAgICAgICBhY3Rpb246IGdldEV2YWx1YXRlZERhdGEobm9kZSwge1xuICAgICAgICAgICAgICAgIGZpZWxkOiB0aGlzLml0ZW1hY3Rpb24sXG4gICAgICAgICAgICAgICAgYmluZEV4cHJlc3Npb246IHRoaXMuYmluZGl0ZW1hY3Rpb25cbiAgICAgICAgICAgIH0sIGNvbnRleHQpIHx8IGdldChub2RlLCBmaWVsZHMuYWN0aW9uRmllbGQpLFxuICAgICAgICAgICAgYmFkZ2U6IGdldEV2YWx1YXRlZERhdGEobm9kZSwge1xuICAgICAgICAgICAgICAgIGZpZWxkOiB0aGlzLml0ZW1iYWRnZSxcbiAgICAgICAgICAgICAgICBiaW5kRXhwcmVzc2lvbjogdGhpcy5iaW5kaXRlbWJhZGdlXG4gICAgICAgICAgICB9LCBjb250ZXh0KSB8fCBnZXQobm9kZSwgZmllbGRzLmJhZGdlRmllbGQpLFxuICAgICAgICAgICAgY2hpbGRyZW46IEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pID8gdGhpcy5nZXROb2RlcyhjaGlsZHJlbikgOiBbXSxcbiAgICAgICAgICAgIGNsYXNzOiBnZXQobm9kZSwgZmllbGRzLmNsYXNzRmllbGQpLFxuICAgICAgICAgICAgZGlzYWJsZWQ6IG5vZGUuZGlzYWJsZWQsXG4gICAgICAgICAgICBpY29uOiBnZXRFdmFsdWF0ZWREYXRhKG5vZGUsIHtcbiAgICAgICAgICAgICAgICBmaWVsZDogdGhpcy5pdGVtaWNvbixcbiAgICAgICAgICAgICAgICBiaW5kRXhwcmVzc2lvbjogdGhpcy5iaW5kaXRlbWljb25cbiAgICAgICAgICAgIH0sIGNvbnRleHQpIHx8IGdldChub2RlLCBmaWVsZHMuaWNvbkZpZWxkKSxcbiAgICAgICAgICAgIGlkOiBnZXRFdmFsdWF0ZWREYXRhKG5vZGUsIHtcbiAgICAgICAgICAgICAgICBmaWVsZDogdGhpcy5pdGVtaWQsXG4gICAgICAgICAgICAgICAgYmluZEV4cHJlc3Npb246IHRoaXMuYmluZGl0ZW1pZFxuICAgICAgICAgICAgfSwgY29udGV4dCkgfHwgZ2V0KG5vZGUsIGZpZWxkcy5pZEZpZWxkKSxcbiAgICAgICAgICAgIGxhYmVsOiBnZXRFdmFsdWF0ZWREYXRhKG5vZGUsIHtcbiAgICAgICAgICAgICAgICBmaWVsZDogdGhpcy5pdGVtbGFiZWwsXG4gICAgICAgICAgICAgICAgYmluZEV4cHJlc3Npb246IHRoaXMuYmluZGl0ZW1sYWJlbFxuICAgICAgICAgICAgfSwgY29udGV4dCkgfHwgZ2V0KG5vZGUsIGZpZWxkcy5sYWJlbEZpZWxkKSxcbiAgICAgICAgICAgIGhpbnQ6IGdldEV2YWx1YXRlZERhdGEobm9kZSwge1xuICAgICAgICAgICAgICAgIGZpZWxkOiB0aGlzLml0ZW1oaW50LFxuICAgICAgICAgICAgICAgIGJpbmRFeHByZXNzaW9uOiB0aGlzLmJpbmRpdGVtaGludFxuICAgICAgICAgICAgfSwgY29udGV4dCkgfHwgZ2V0KG5vZGUsIGZpZWxkcy5oaW50RmllbGQpLFxuICAgICAgICAgICAgbGluazogZ2V0VmFsaWRMaW5rKGdldEV2YWx1YXRlZERhdGEobm9kZSwge1xuICAgICAgICAgICAgICAgIGZpZWxkOiB0aGlzLml0ZW1saW5rLFxuICAgICAgICAgICAgICAgIGJpbmRFeHByZXNzaW9uOiB0aGlzLmJpbmRpdGVtbGlua1xuICAgICAgICAgICAgfSwgY29udGV4dCkgfHwgZ2V0KG5vZGUsIGZpZWxkcy5saW5rRmllbGQpKSxcbiAgICAgICAgICAgIHRhcmdldDogZ2V0VmFsaWRMaW5rKGdldEV2YWx1YXRlZERhdGEobm9kZSwge1xuICAgICAgICAgICAgICAgIGZpZWxkOiB0aGlzLml0ZW10YXJnZXQsXG4gICAgICAgICAgICAgICAgYmluZEV4cHJlc3Npb246IHRoaXMuYmluZGl0ZW10YXJnZXRcbiAgICAgICAgICAgIH0sIGNvbnRleHQpIHx8IGdldChub2RlLCBmaWVsZHMudGFyZ2V0RmllbGQpKSxcbiAgICAgICAgICAgIHJvbGU6IGdldEV2YWx1YXRlZERhdGEobm9kZSwge2ZpZWxkOiB0aGlzLnVzZXJyb2xlLCBiaW5kRXhwcmVzc2lvbjogdGhpcy5iaW5kdXNlcnJvbGV9LCBjb250ZXh0KSxcbiAgICAgICAgICAgIGlzYWN0aXZlOiBnZXRFdmFsdWF0ZWREYXRhKG5vZGUsIHtmaWVsZDogdGhpcy5pc2FjdGl2ZSwgYmluZEV4cHJlc3Npb246IHRoaXMuYmluZGlzYWN0aXZlfSwgY29udGV4dCksXG4gICAgICAgICAgICAvLyBvbGRlciBwcm9qZWN0cyBoYXZlIGRpc3BsYXkgZmllbGQgJiBkYXRhIGZpZWxkIHByb3BlcnR5IGZvciBtZW51LlxuICAgICAgICAgICAgdmFsdWU6IHRoaXMuZGF0YWZpZWxkID8gKHRoaXMuZGF0YWZpZWxkID09PSAnQWxsIEZpZWxkcycgPyBub2RlIDogZmluZFZhbHVlT2Yobm9kZSwgdGhpcy5kYXRhZmllbGQpKSA6IG5vZGVcbiAgICAgICAgfTtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICByZXR1cm4gb21pdEJ5KG5hdk5vZGUsIGlzVW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICByZXNldEl0ZW1GaWVsZE1hcCgpIHtcbiAgICAgICAgdGhpcy5faXRlbUZpZWxkTWFwID0gbnVsbDtcbiAgICB9XG5cbiAgICBnZXRJdGVtRmllbGRzTWFwKCkge1xuICAgICAgICBpZiAoIXRoaXMuX2l0ZW1GaWVsZE1hcCkge1xuICAgICAgICAgICAgdGhpcy5faXRlbUZpZWxkTWFwID0ge1xuICAgICAgICAgICAgICAgIGlkRmllbGQ6IHRoaXMuaXRlbWlkIHx8ICdpdGVtaWQnLFxuICAgICAgICAgICAgICAgIGljb25GaWVsZDogdGhpcy5pdGVtaWNvbiB8fCAnaWNvbicsXG4gICAgICAgICAgICAgICAgbGFiZWxGaWVsZDogdGhpcy5pdGVtbGFiZWwgfHwgJ2xhYmVsJyxcbiAgICAgICAgICAgICAgICBoaW50RmllbGQ6IHRoaXMuaXRlbWhpbnQgfHwgJ2hpbnQnLFxuICAgICAgICAgICAgICAgIGxpbmtGaWVsZDogdGhpcy5pdGVtbGluayB8fCAnbGluaycsXG4gICAgICAgICAgICAgICAgdGFyZ2V0RmllbGQ6IHRoaXMuaXRlbXRhcmdldCB8fCAndGFyZ2V0JyxcbiAgICAgICAgICAgICAgICBiYWRnZUZpZWxkOiB0aGlzLml0ZW1iYWRnZSB8fCAnYmFkZ2UnLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuRmllbGQ6IHRoaXMuaXRlbWNoaWxkcmVuIHx8ICdjaGlsZHJlbicsXG4gICAgICAgICAgICAgICAgY2xhc3NGaWVsZDogdGhpcy5pdGVtY2xhc3MgfHwgJ2NsYXNzJyxcbiAgICAgICAgICAgICAgICBhY3Rpb25GaWVsZDogdGhpcy5pdGVtYWN0aW9uIHx8ICdhY3Rpb24nLFxuICAgICAgICAgICAgICAgIGlzYWN0aXZlRmllbGQ6IHRoaXMuaXNhY3RpdmUgfHwgJ2lzYWN0aXZlJ1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5faXRlbUZpZWxkTWFwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJldHVybnMgYXJyYXkgZm9yIHRoZSB2YWx1ZSBwYXNzZWQgYXMgbnYuXG4gICAgICogbnY6ICdhLGInID0+IFt7bGFiZWw6YSwgdmFsdWU6YX0sIHtsYWJlbDpiLCB2YWx1ZTpifV1cbiAgICAgKiBudjogWzEsMl0gPT4gW3tsYWJlbDoxLCB2YWx1ZToxfSwge2xhYmVsOjIsIHZhbHVlOjJ9XVxuICAgICAqIG52OiBbe29ian0sIHtvYmp9XSA9PiBbe29ian0sIHtvYmp9XVxuICAgICAqIEBwYXJhbSBudlxuICAgICAqL1xuICAgIHByaXZhdGUgcHJlcGFyZU5vZGVEYXRhU2V0KG52KSB7XG4gICAgICAgIG52ID0gIGNyZWF0ZUFycmF5RnJvbShudik7XG4gICAgICAgIHJldHVybiBudi5tYXAoKHZhbCkgPT4ge1xuICAgICAgICAgICBpZiAoIWlzT2JqZWN0KHZhbCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDogdmFsLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdmFsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgfVxuICAgICAgICAgICByZXR1cm4gdmFsO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjb25zdHJ1Y3RzIGRhdGFzZXQgZm9ybSB0aGUgbmF2IGVsZW1lbnRzLlxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0Tm9kZXMobnYgPSB0aGlzLmRhdGFzZXQgfHwge30pOiBBcnJheTxOYXZOb2RlPiB7XG4gICAgICAgIGxldCBub2RlczogQXJyYXk8YW55PiA9IGdldE9yZGVyZWREYXRhc2V0KHRoaXMucHJlcGFyZU5vZGVEYXRhU2V0KG52KSwgdGhpcy5vcmRlcmJ5KSB8fCBbXTtcblxuICAgICAgICBpZiAobm9kZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCB1c2VyUm9sZSA9IHRoaXMudXNlcnJvbGU7XG4gICAgICAgICAgICBjb25zdCBub2RlRmllbGRzID0gdGhpcy5nZXRJdGVtRmllbGRzTWFwKCk7XG5cbiAgICAgICAgICAgIG5vZGVzID0gbm9kZXMucmVkdWNlKChyZXN1bHQsIG5vZGUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodmFsaWRhdGVBY2Nlc3NSb2xlcyhub2RlW3VzZXJSb2xlXSwgdGhpcy5zZWN1cml0eVNlcnZpY2UubG9nZ2VkSW5Vc2VyKSkge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh0aGlzLmdldE5vZGUobm9kZUZpZWxkcywgbm9kZSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfSwgW10pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBub2RlcztcbiAgICB9XG5cbiAgICAvLyBlbmFibGUgdGhlIGluaGVyaXRlZCBjbGFzcyB0byBleHRlbmQgdGhpcyBtZXRob2QuXG4gICAgcHJvdGVjdGVkIHJlc2V0Tm9kZXMoKSB7XG4gICAgICAgIHRoaXMucmVzZXRJdGVtRmllbGRNYXAoKTtcbiAgICAgICAgdGhpcy5ub2RlcyA9IHRoaXMuZ2V0Tm9kZXMoKTtcbiAgICAgICAgJGFwcERpZ2VzdCgpO1xuICAgICAgICAvLyBub3RpZnkgdGhlIG5vZGUgbGlzdGVuZXJzXG4gICAgICAgIHRoaXMubm9kZXMkLm5leHQobnVsbCk7XG4gICAgfVxuXG4gICAgLy8gZGVib3VuY2UgZnVuY3Rpb24gZm9yIHJlc2V0IG5vZGVzIGZ1bmN0aW9ucy5cbiAgICBwcml2YXRlIF9yZXNldE5vZGVzID0gZGVib3VuY2UodGhpcy5yZXNldE5vZGVzLCA1MCk7XG5cbiAgICBvblByb3BlcnR5Q2hhbmdlKGtleSwgbnYsIG92KSB7XG4gICAgICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICAgICAgICBjYXNlICdkYXRhc2V0JzpcbiAgICAgICAgICAgIGNhc2UgJ2l0ZW1pY29uJzpcbiAgICAgICAgICAgIGNhc2UgJ2l0ZW1sYWJlbCc6XG4gICAgICAgICAgICBjYXNlICdpdGVtaGludCc6XG4gICAgICAgICAgICBjYXNlICdpdGVtbGluayc6XG4gICAgICAgICAgICBjYXNlICdpdGVtdGFyZ2V0JzpcbiAgICAgICAgICAgIGNhc2UgJ2l0ZW1jbGFzcyc6XG4gICAgICAgICAgICBjYXNlICdpdGVtY2hpbGRyZW4nOlxuICAgICAgICAgICAgY2FzZSAnaXNhY3RpdmUnOlxuICAgICAgICAgICAgY2FzZSAnb3JkZXJieSc6XG4gICAgICAgICAgICAgICAgLy8gY2FsbHMgcmVzZXRub2RlcyBtZXRob2QgYWZ0ZXIgNTBtcy4gYW55IGNhbGxzIHdpdGhpbiA1MG1zIHdpbGwgYmUgaWdub3JlZC5cbiAgICAgICAgICAgICAgICB0aGlzLl9yZXNldE5vZGVzKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIub25Qcm9wZXJ0eUNoYW5nZShrZXksIG52LCBvdik7XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hdk5vZGUge1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgYWN0aW9uPzogYW55O1xuICAgIGJhZGdlPzogc3RyaW5nO1xuICAgIGNoaWxkcmVuPzogQXJyYXk8TmF2Tm9kZT47XG4gICAgY2xhc3M/OiBzdHJpbmc7XG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgbGluaz86IHN0cmluZztcbiAgICByb2xlPzogc3RyaW5nO1xuICAgIHZhbHVlPzogYW55O1xufVxuIl19
|
|
@@ -4469,6 +4469,7 @@ let DatasetAwareNavComponent = class DatasetAwareNavComponent extends StylableCo
|
|
|
4469
4469
|
this._resetNodes = debounce(this.resetNodes, 50);
|
|
4470
4470
|
this.securityService = this.inj.get(SecurityService);
|
|
4471
4471
|
this.binditemlabel = this.nativeElement.getAttribute('itemlabel.bind');
|
|
4472
|
+
this.binditemhint = this.nativeElement.getAttribute('itemhint.bind');
|
|
4472
4473
|
this.binditemicon = this.nativeElement.getAttribute('itemicon.bind');
|
|
4473
4474
|
this.binditemaction = this.nativeElement.getAttribute('itemaction.bind');
|
|
4474
4475
|
this.binditembadge = this.nativeElement.getAttribute('itembadge.bind');
|
|
@@ -4514,6 +4515,10 @@ let DatasetAwareNavComponent = class DatasetAwareNavComponent extends StylableCo
|
|
|
4514
4515
|
field: this.itemlabel,
|
|
4515
4516
|
bindExpression: this.binditemlabel
|
|
4516
4517
|
}, context) || get(node, fields.labelField),
|
|
4518
|
+
hint: getEvaluatedData(node, {
|
|
4519
|
+
field: this.itemhint,
|
|
4520
|
+
bindExpression: this.binditemhint
|
|
4521
|
+
}, context) || get(node, fields.hintField),
|
|
4517
4522
|
link: getValidLink(getEvaluatedData(node, {
|
|
4518
4523
|
field: this.itemlink,
|
|
4519
4524
|
bindExpression: this.binditemlink
|
|
@@ -4539,6 +4544,7 @@ let DatasetAwareNavComponent = class DatasetAwareNavComponent extends StylableCo
|
|
|
4539
4544
|
idField: this.itemid || 'itemid',
|
|
4540
4545
|
iconField: this.itemicon || 'icon',
|
|
4541
4546
|
labelField: this.itemlabel || 'label',
|
|
4547
|
+
hintField: this.itemhint || 'hint',
|
|
4542
4548
|
linkField: this.itemlink || 'link',
|
|
4543
4549
|
targetField: this.itemtarget || 'target',
|
|
4544
4550
|
badgeField: this.itembadge || 'badge',
|
|
@@ -4599,6 +4605,7 @@ let DatasetAwareNavComponent = class DatasetAwareNavComponent extends StylableCo
|
|
|
4599
4605
|
case 'dataset':
|
|
4600
4606
|
case 'itemicon':
|
|
4601
4607
|
case 'itemlabel':
|
|
4608
|
+
case 'itemhint':
|
|
4602
4609
|
case 'itemlink':
|
|
4603
4610
|
case 'itemtarget':
|
|
4604
4611
|
case 'itemclass':
|