@elderbyte/ngx-starter 13.7.7 → 13.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/common/data/data-context/data-context-builder.mjs +4 -3
- package/esm2020/lib/common/templates/template-slot-manager.mjs +34 -6
- package/esm2020/lib/common/utils/filter-util.mjs +11 -2
- package/esm2020/lib/components/navigation/toolbar/elder-toolbar.service.mjs +5 -3
- package/esm2020/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +17 -13
- package/esm2020/lib/components/navigation/toolbar/toolbar-column-position.mjs +1 -1
- package/esm2020/lib/components/select/elder-select/elder-select.component.mjs +2 -17
- package/esm2020/lib/components/select/elder-select-base.mjs +2 -1
- package/esm2020/lib/components/select/multi/elder-multi-select-base.mjs +13 -4
- package/esm2020/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +3 -3
- package/esm2020/lib/components/shell/shell/elder-shell.component.mjs +1 -1
- package/fesm2015/elderbyte-ngx-starter.mjs +122 -83
- package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -1
- package/fesm2020/elderbyte-ngx-starter.mjs +121 -83
- package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/templates/template-slot-manager.d.ts +13 -1
- package/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.d.ts +13 -10
- package/lib/components/navigation/toolbar/toolbar-column-position.d.ts +9 -1
- package/lib/components/select/elder-select/elder-select.component.d.ts +0 -11
- package/lib/components/select/multi/elder-multi-select-base.d.ts +6 -0
- package/lib/components/shell/shell/elder-shell.component.d.ts +3 -2
- package/package.json +1 -1
|
@@ -169,4 +169,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImpor
|
|
|
169
169
|
type: ViewChild,
|
|
170
170
|
args: ['rightSideDetail', { static: true }]
|
|
171
171
|
}] } });
|
|
172
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2hlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9zaGVsbC9zaGVsbC9lbGRlci1zaGVsbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NoZWxsL3NoZWxsL2VsZGVyLXNoZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEVBQ1QsS0FBSyxFQUdMLFdBQVcsRUFDWCxTQUFTLEVBRVYsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBR25ELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBSW5DLE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsWUFDUyxXQUE2QixFQUM3QixhQUErQjtRQUQvQixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO0lBQUksQ0FBQzs7d0hBSGxDLDJCQUEyQjs0R0FBM0IsMkJBQTJCOzJGQUEzQiwyQkFBMkI7a0JBRHZDLFNBQVM7bUJBQUMsRUFBQyxRQUFRLEVBQUUsMENBQTBDLEVBQUM7O0FBUWpFLE1BQU0sT0FBTyw0QkFBNEI7SUFDdkMsWUFDUyxXQUE2QixFQUM3QixhQUErQjtRQUQvQixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO0lBQUksQ0FBQzs7eUhBSGxDLDRCQUE0Qjs2R0FBNUIsNEJBQTRCOzJGQUE1Qiw0QkFBNEI7a0JBRHhDLFNBQVM7bUJBQUMsRUFBQyxRQUFRLEVBQUUsNENBQTRDLEVBQUM7O0FBUW5FLE1BQU0sT0FBTyx5QkFBeUI7SUFDcEMsWUFDUyxXQUE2QixFQUM3QixhQUErQjtRQUQvQixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO0lBQUksQ0FBQzs7c0hBSGxDLHlCQUF5QjswR0FBekIseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBRHJDLFNBQVM7bUJBQUMsRUFBQyxRQUFRLEVBQUUsc0NBQXNDLEVBQUM7O0FBYTdELE1BQU0sT0FBTyxtQkFBbUI7SUFpRDlCOzs7O2dGQUk0RTtJQUU1RSxZQUNVLFlBQStCLEVBQy9CLG1CQUFrRCxFQUNsRCxpQkFBb0M7UUFGcEMsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBQy9CLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBK0I7UUFDbEQsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQXhEOUM7Ozs7b0ZBSTRFO1FBRTNELFdBQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFekUsd0VBQXdFO1FBRWpFLHlCQUFvQixHQUFHLElBQUksQ0FBQztRQUc1QixVQUFLLEdBQUcsU0FBUyxDQUFDO1FBR2xCLGNBQVMsR0FBRyxRQUFRLENBQUM7UUFHckIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBRzFCLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQWMzQix3QkFBbUIsR0FBRyxNQUFNLENBQUM7UUFzQmxDLElBQUksQ0FBQyxlQUFlLEdBQUcsWUFBWSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FDbkUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUM1QixDQUFDO1FBQ0YsSUFBSSxDQUFDLGVBQWUsR0FBRyxZQUFZLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUNuRSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQzVCLENBQUM7UUFDRixJQUFJLENBQUMsZUFBZSxHQUFHLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQ25FLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsUUFBUTtRQUNiLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxvQkFBb0IsQ0FDM0MsSUFBSSxDQUFDLG1CQUFtQixFQUN4QixJQUFJLENBQUMsZUFBZSxDQUNyQixDQUFDO1FBRUYsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUNuRSxNQUFNLENBQUMsRUFBRSxDQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FDakQsQ0FBQztRQUVGLElBQUksQ0FBQyxvQkFBb0IsR0FBSSxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDO0lBQ3RFLENBQUM7SUFFTSxXQUFXO0lBRWxCLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsb0JBQW9CO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVNLGFBQWE7UUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU0sZUFBZSxDQUFDLEtBQVU7UUFDL0IsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEtBQVk7UUFDbkMsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQXFCLENBQUM7UUFDM0MsSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUseUJBQXlCLENBQUMsRUFBRTtZQUNqRSwrREFBK0Q7WUFDL0QsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQzthQUN0QztTQUNGO0lBQ0gsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVwRSxXQUFXLENBQUMsS0FBa0IsRUFBRSxFQUFVO1FBRWhELElBQUksS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDbkIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNuQixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZCxJQUFJLElBQUksR0FBRyxLQUFLLENBQUMsVUFBeUIsQ0FBQztRQUMzQyxPQUFPLElBQUksRUFBRTtZQUNYLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ2xCLE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFDRCxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQXlCLENBQUM7WUFDdEMsSUFBSSxRQUFRLElBQUksRUFBRSxLQUFLLEVBQUU7Z0JBQUUsTUFBTTthQUFFO1NBQ3BDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sU0FBUztRQUNmLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQzs7Z0hBeEpVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLCtSQTBCaEIsMkJBQTJCLDJCQUFVLFdBQVcsOEVBR2hELDRCQUE0QiwyQkFBVSxXQUFXLDJFQUdqRCx5QkFBeUIsMkJBQVUsV0FBVyw2S0NoRjlELGd5RkF1RkE7MkZEdkNhLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDRSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU07b0xBY3hDLG9CQUFvQjtzQkFEMUIsS0FBSztnQkFJQyxLQUFLO3NCQURYLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLGlCQUFpQjtzQkFEdkIsS0FBSztnQkFJQyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBSUMsZUFBZTtzQkFEckIsWUFBWTt1QkFBQywyQkFBMkIsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJdkUsZ0JBQWdCO3NCQUR0QixZQUFZO3VCQUFDLDRCQUE0QixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUl4RSxhQUFhO3NCQURuQixZQUFZO3VCQUFDLHlCQUF5QixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUlyRSxlQUFlO3NCQURyQixTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIERpcmVjdGl2ZSxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFbGRlclNoZWxsU2VydmljZX0gZnJvbSAnLi4vZWxkZXItc2hlbGwuc2VydmljZSc7XG5pbXBvcnQgeyBNYXRTaWRlbmF2IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XG5pbXBvcnQge0VsZGVyUm91dGVPdXRsZXREcmF3ZXJTZXJ2aWNlfSBmcm9tICcuLi9kcmF3ZXJzL2VsZGVyLXJvdXRlLW91dGxldC1kcmF3ZXIuc2VydmljZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7U2hlbGxDb250ZW50U2xvdH0gZnJvbSAnLi4vc2hlbGwtY29udGVudC1zbG90JztcbmltcG9ydCB7dGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cblxuQERpcmVjdGl2ZSh7c2VsZWN0b3I6ICdbZWxkZXJTaGVsbFNpZGVMZWZ0XSwgW2Vic1NoZWxsU2lkZUxlZnRdJ30pXG5leHBvcnQgY2xhc3MgRWxkZXJTaGVsbFNpZGVMZWZ0RGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHB1YmxpYyB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmKSB7IH1cbn1cblxuQERpcmVjdGl2ZSh7c2VsZWN0b3I6ICdbZWxkZXJTaGVsbFNpZGVSaWdodF0sIFtlYnNTaGVsbFNpZGVSaWdodF0nfSlcbmV4cG9ydCBjbGFzcyBFbGRlclNoZWxsU2lkZVJpZ2h0RGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHB1YmxpYyB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmKSB7IH1cbn1cblxuQERpcmVjdGl2ZSh7c2VsZWN0b3I6ICdbZWxkZXJTaGVsbENlbnRlcl0sIFtlYnNTaGVsbENlbnRlcl0nfSlcbmV4cG9ydCBjbGFzcyBFbGRlclNoZWxsQ2VudGVyRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHB1YmxpYyB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmKSB7IH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItc2hlbGwsIGVicy1zaGVsbCcsIC8vIGVicy0qIHByZWZpeCBpcyBkZXByZWNhdGVkIVxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItc2hlbGwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbGRlci1zaGVsbC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlclNoZWxsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIoJ0VsZGVyU2hlbGxDb21wb25lbnQnKTtcblxuICAvKiogQ29udHJvbHMgaWYgdGhlIFNpZGVOYXYgdG9nZ2xlIHNob3VsZCBiZSBkaXNwbGF5ZWQuIERlZmF1bHQ6IHRydWUgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNpZGVOYXZUb2dnbGVFbmFibGVkID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY29sb3IgPSAncHJpbWFyeSc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG1lbnVDb2xvciA9ICdhY2NlbnQnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsZWZ0U2lkZUF1dG9Gb2N1cyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByaWdodFNpZGVBdXRvRm9jdXMgPSBmYWxzZTtcblxuICBAQ29udGVudENoaWxkKEVsZGVyU2hlbGxTaWRlTGVmdERpcmVjdGl2ZSwgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBzaWRlQ29udGVudExlZnQ6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQENvbnRlbnRDaGlsZChFbGRlclNoZWxsU2lkZVJpZ2h0RGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIHNpZGVDb250ZW50UmlnaHQ6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQENvbnRlbnRDaGlsZChFbGRlclNoZWxsQ2VudGVyRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGNlbnRlckNvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQFZpZXdDaGlsZCgncmlnaHRTaWRlRGV0YWlsJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIHJpZ2h0U2lkZURyYXdlcjogTWF0U2lkZW5hdjtcblxuICBwdWJsaWMgcmlnaHRTaWRlT3V0bGV0TmFtZSA9ICdzaWRlJztcblxuICBwdWJsaWMgbGVmdFNpZGVDb250ZW50T3BlbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cblxuICBwdWJsaWMgcmVhZG9ubHkgaGVhZGVyVGVtcGxhdGUkOiBPYnNlcnZhYmxlPFRlbXBsYXRlUmVmPGFueT4+O1xuICBwdWJsaWMgcmVhZG9ubHkgY2VudGVyVGVtcGxhdGUkOiBPYnNlcnZhYmxlPFRlbXBsYXRlUmVmPGFueT4+O1xuICBwdWJsaWMgcmVhZG9ubHkgZm9vdGVyVGVtcGxhdGUkOiBPYnNlcnZhYmxlPFRlbXBsYXRlUmVmPGFueT4+O1xuXG4gIHByaXZhdGUgX3N1YjogU3Vic2NyaXB0aW9uO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2hlbGxTZXJ2aWNlOiBFbGRlclNoZWxsU2VydmljZSxcbiAgICBwcml2YXRlIG91dGxldERyYXdlclNlcnZpY2U6IEVsZGVyUm91dGVPdXRsZXREcmF3ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHRoaXMuaGVhZGVyVGVtcGxhdGUkID0gc2hlbGxTZXJ2aWNlLmFjdGl2ZVNsb3RUZW1wbGF0ZSgnaGVhZGVyJykucGlwZShcbiAgICAgIHRhcCgoKSA9PiB0aGlzLmNoZWNrU29vbigpKVxuICAgICk7XG4gICAgdGhpcy5jZW50ZXJUZW1wbGF0ZSQgPSBzaGVsbFNlcnZpY2UuYWN0aXZlU2xvdFRlbXBsYXRlKCdjZW50ZXInKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHRoaXMuY2hlY2tTb29uKCkpXG4gICAgKTtcbiAgICB0aGlzLmZvb3RlclRlbXBsYXRlJCA9IHNoZWxsU2VydmljZS5hY3RpdmVTbG90VGVtcGxhdGUoJ2Zvb3RlcicpLnBpcGUoXG4gICAgICB0YXAoKCkgPT4gdGhpcy5jaGVja1Nvb24oKSlcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3V0bGV0RHJhd2VyU2VydmljZS5yZWdpc3Rlck91dGxldERyYXdlcihcbiAgICAgIHRoaXMucmlnaHRTaWRlT3V0bGV0TmFtZSxcbiAgICAgIHRoaXMucmlnaHRTaWRlRHJhd2VyXG4gICAgKTtcblxuICAgIHRoaXMuX3N1YiA9IHRoaXMub3V0bGV0RHJhd2VyU2VydmljZS5kcmF3ZXJWaXNpYmlsaXR5Q2hhbmdlLnN1YnNjcmliZShcbiAgICAgIGRyYXdlciA9PiAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKVxuICAgICk7XG5cbiAgICB0aGlzLmxlZnRTaWRlQ29udGVudE9wZW4kID0gIHRoaXMuc2hlbGxTZXJ2aWNlLm5hdmlnYXRpb25PcGVuQ2hhbmdlO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgY2xvc2VMZWZ0U2lkZUNvbnRlbnQoKSB7XG4gICAgdGhpcy5zaGVsbFNlcnZpY2UuY2xvc2VTaWRlTmF2KCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlU2lkZU5hdigpOiB2b2lkIHtcbiAgICB0aGlzLnNoZWxsU2VydmljZS50b2dnbGVTaWRlbmF2KCk7XG4gIH1cblxuICBwdWJsaWMgb25CYWNrZHJvcENsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zaGVsbFNlcnZpY2UuaXNTaWRlQ29udGVudEFjdGl2ZSgpKSB7XG4gICAgICB0aGlzLnNoZWxsU2VydmljZS5jbG9zZVNpZGVDb250ZW50KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uRXNjYXBlUmlnaHRTaWRlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAodGFyZ2V0ICYmIHRoaXMuaXNDb250YWluZWQodGFyZ2V0LCAnZWxkZXItcmlnaHQtc2lkZS1kZXRhaWwnKSkge1xuICAgICAgLy8gRW5zdXJlIHdlIG9ubHkgcmVhY3QgdG8gRXNjIEV2ZW50cyB0YXJnZXRlZCBhdCBvdXIgc2lkZSBuYXYhXG4gICAgICBpZiAodGhpcy5zaGVsbFNlcnZpY2UuaXNTaWRlQ29udGVudEFjdGl2ZSgpKSB7XG4gICAgICAgIHRoaXMuc2hlbGxTZXJ2aWNlLmNsb3NlU2lkZUNvbnRlbnQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGlzQ29udGFpbmVkKGNoaWxkOiBIVE1MRWxlbWVudCwgaWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuXG4gICAgaWYgKGNoaWxkLmlkID09PSBpZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IG1heERlcHRoID0gMTtcbiAgICBsZXQgZGVwdGggPSAwO1xuICAgIGxldCBub2RlID0gY2hpbGQucGFyZW50Tm9kZSBhcyBIVE1MRWxlbWVudDtcbiAgICB3aGlsZSAobm9kZSkge1xuICAgICAgaWYgKG5vZGUuaWQgPT09IGlkKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgbm9kZSA9IG5vZGUucGFyZW50Tm9kZSBhcyBIVE1MRWxlbWVudDtcbiAgICAgIGlmIChtYXhEZXB0aCA+PSArK2RlcHRoKSB7IGJyZWFrOyB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tTb29uKCk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9LCA1KTtcbiAgfVxufVxuIiwiXG48bWF0LXNpZGVuYXYtY29udGFpbmVyIHN0eWxlPVwiaGVpZ2h0OjEwMCU7IHdpZHRoOiAxMDAlXCIgKGJhY2tkcm9wQ2xpY2spPVwib25CYWNrZHJvcENsaWNrKCRldmVudClcIj5cblxuICA8IS0tIExlZnQgU2lkZSBOYXYgLS0+XG4gIDxtYXQtc2lkZW5hdiBwb3NpdGlvbj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgIG1vZGU9XCJvdmVyXCJcbiAgICAgICAgICAgICAgIFtmaXhlZEluVmlld3BvcnRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICBbYXV0b0ZvY3VzXT1cImxlZnRTaWRlQXV0b0ZvY3VzXCJcbiAgICAgICAgICAgICAgIFtvcGVuZWRdPVwibGVmdFNpZGVDb250ZW50T3BlbiQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAoY2xvc2VkKT1cImNsb3NlTGVmdFNpZGVDb250ZW50KClcIj5cbiAgICA8ZGl2IGZ4RmlsbCBmeExheW91dD1cImNvbHVtblwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNpZGVDb250ZW50TGVmdCB8fCBmYWxsYmFja1NpZGVDb250ZW50TGVmdDtcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtc2lkZW5hdj5cblxuICA8IS0tIE1haW4gQ29udGVudCAtLT5cbiAgPG1hdC1zaWRlbmF2LWNvbnRlbnQ+XG4gICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4RmlsbD5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjZW50ZXJDb250ZW50IHx8IGZhbGxiYWNrQ2VudGVyQ29udGVudDtcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtc2lkZW5hdi1jb250ZW50PlxuXG4gIDwhLS0gUmlnaHQgU2lkZSBEZXRhaWwgLS0+XG4gIDxtYXQtc2lkZW5hdiBtb2RlPVwib3ZlclwiICNyaWdodFNpZGVEZXRhaWwgaWQ9XCJlbGRlci1yaWdodC1zaWRlLWRldGFpbFwiXG4gICAgICAgICAgICAgICBwb3NpdGlvbj1cImVuZFwiXG4gICAgICAgICAgICAgICBbZml4ZWRJblZpZXdwb3J0XT1cInRydWVcIlxuICAgICAgICAgICAgICAgW2F1dG9Gb2N1c109XCJyaWdodFNpZGVBdXRvRm9jdXNcIlxuICAgICAgICAgICAgICAgW2Rpc2FibGVDbG9zZV09XCJ0cnVlXCIgKGtleWRvd24uZXNjYXBlKT1cIm9uRXNjYXBlUmlnaHRTaWRlKCRldmVudClcIj5cbiAgICA8ZGl2IGZ4RmlsbCBmeExheW91dD1cImNvbHVtblwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNpZGVDb250ZW50UmlnaHQgfHwgZmFsbGJhY2tTaWRlQ29udGVudFJpZ2h0O1wiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L21hdC1zaWRlbmF2PlxuXG48L21hdC1zaWRlbmF2LWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNmYWxsYmFja1NpZGVDb250ZW50TGVmdD5cbiAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4RmxleD5cbiAgICA8cCBjbGFzcz1cIm5vc2VsZWN0XCI+Tm8gTGVmdCBTaWRlIENvbnRlbnQgRGVmaW5lZCE8L3A+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNmYWxsYmFja1NpZGVDb250ZW50UmlnaHQ+XG4gIDxyb3V0ZXItb3V0bGV0IG5hbWU9XCJzaWRlXCIgY2xhc3M9XCJyb3V0ZXItZmxleFwiPjwvcm91dGVyLW91dGxldD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZmFsbGJhY2tDZW50ZXJDb250ZW50PlxuICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhGaWxsPlxuXG4gICAgPCEtLSBIZWFkZXIgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIihoZWFkZXJUZW1wbGF0ZSQgfCBhc3luYykgfHwgZGVmYXVsdEhlYWRlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIENlbnRlciAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiKGNlbnRlclRlbXBsYXRlJCB8IGFzeW5jKSB8fCBkZWZhdWx0Q2VudGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gRm9vdGVyIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCIoZm9vdGVyVGVtcGxhdGUkIHwgYXN5bmMpIHx8IGRlZmF1bHRGb290ZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuXG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRIZWFkZXJUZW1wbGF0ZT5cblxuICA8ZWxkZXItdG9vbGJhciBbY29sb3JdPVwiY29sb3JcIj5cblxuICAgIDwhLS0gVG9vbGJhciBQcmVmaXg6IFNpZGVuYXYgVG9nZ2xlIC0tPlxuICAgIDxtYXQtdG9vbGJhciAqbmdJZj1cInNpZGVOYXZUb2dnbGVFbmFibGVkXCIgZnhGbGV4PVwiMFwiXG4gICAgICAgICAgICAgICAgIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIlxuICAgICAgICAgICAgICAgICBbY29sb3JdPVwibWVudUNvbG9yXCI+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZVNpZGVOYXYoKVwiPlxuICAgICAgICA8bWF0LWljb24+bWVudTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L21hdC10b29sYmFyPlxuICA8L2VsZGVyLXRvb2xiYXI+XG5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdENlbnRlclRlbXBsYXRlPlxuXG4gIDwhLS0gUHJpbWFyeSBSb3V0ZXIgT3V0bGV0IC0tPlxuICA8cm91dGVyLW91dGxldCBjbGFzcz1cInJvdXRlci1mbGV4XCI+PC9yb3V0ZXItb3V0bGV0PlxuXG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRGb290ZXJUZW1wbGF0ZT5cbiAgPCEtLSBEZWZhdWx0IEZvb3RlciBpcyBlbXB0eSAtLT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2hlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9zaGVsbC9zaGVsbC9lbGRlci1zaGVsbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3NoZWxsL3NoZWxsL2VsZGVyLXNoZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEVBQ1QsS0FBSyxFQUdMLFdBQVcsRUFDWCxTQUFTLEVBRVYsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBR25ELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBS25DLE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsWUFDUyxXQUE2QixFQUM3QixhQUErQjtRQUQvQixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO0lBQUksQ0FBQzs7d0hBSGxDLDJCQUEyQjs0R0FBM0IsMkJBQTJCOzJGQUEzQiwyQkFBMkI7a0JBRHZDLFNBQVM7bUJBQUMsRUFBQyxRQUFRLEVBQUUsMENBQTBDLEVBQUM7O0FBUWpFLE1BQU0sT0FBTyw0QkFBNEI7SUFDdkMsWUFDUyxXQUE2QixFQUM3QixhQUErQjtRQUQvQixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO0lBQUksQ0FBQzs7eUhBSGxDLDRCQUE0Qjs2R0FBNUIsNEJBQTRCOzJGQUE1Qiw0QkFBNEI7a0JBRHhD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QixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsaUJBQWlCO3NCQUR2QixLQUFLO2dCQUlDLGtCQUFrQjtzQkFEeEIsS0FBSztnQkFJQyxlQUFlO3NCQURyQixZQUFZO3VCQUFDLDJCQUEyQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUl2RSxnQkFBZ0I7c0JBRHRCLFlBQVk7dUJBQUMsNEJBQTRCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSXhFLGFBQWE7c0JBRG5CLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSXJFLGVBQWU7c0JBRHJCLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRGlyZWN0aXZlLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VsZGVyU2hlbGxTZXJ2aWNlfSBmcm9tICcuLi9lbGRlci1zaGVsbC5zZXJ2aWNlJztcbmltcG9ydCB7IE1hdFNpZGVuYXYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7RWxkZXJSb3V0ZU91dGxldERyYXdlclNlcnZpY2V9IGZyb20gJy4uL2RyYXdlcnMvZWxkZXItcm91dGUtb3V0bGV0LWRyYXdlci5zZXJ2aWNlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtTaGVsbENvbnRlbnRTbG90fSBmcm9tICcuLi9zaGVsbC1jb250ZW50LXNsb3QnO1xuaW1wb3J0IHt0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7VGhlbWVQYWxldHRlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlL2NvbW1vbi1iZWhhdmlvcnMvY29sb3InO1xuXG5cbkBEaXJlY3RpdmUoe3NlbGVjdG9yOiAnW2VsZGVyU2hlbGxTaWRlTGVmdF0sIFtlYnNTaGVsbFNpZGVMZWZ0XSd9KVxuZXhwb3J0IGNsYXNzIEVsZGVyU2hlbGxTaWRlTGVmdERpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICBwdWJsaWMgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZikgeyB9XG59XG5cbkBEaXJlY3RpdmUoe3NlbGVjdG9yOiAnW2VsZGVyU2hlbGxTaWRlUmlnaHRdLCBbZWJzU2hlbGxTaWRlUmlnaHRdJ30pXG5leHBvcnQgY2xhc3MgRWxkZXJTaGVsbFNpZGVSaWdodERpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICBwdWJsaWMgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZikgeyB9XG59XG5cbkBEaXJlY3RpdmUoe3NlbGVjdG9yOiAnW2VsZGVyU2hlbGxDZW50ZXJdLCBbZWJzU2hlbGxDZW50ZXJdJ30pXG5leHBvcnQgY2xhc3MgRWxkZXJTaGVsbENlbnRlckRpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICBwdWJsaWMgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZikgeyB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLXNoZWxsLCBlYnMtc2hlbGwnLCAvLyBlYnMtKiBwcmVmaXggaXMgZGVwcmVjYXRlZCFcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLXNoZWxsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItc2hlbGwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJTaGVsbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKCdFbGRlclNoZWxsQ29tcG9uZW50Jyk7XG5cbiAgLyoqIENvbnRyb2xzIGlmIHRoZSBTaWRlTmF2IHRvZ2dsZSBzaG91bGQgYmUgZGlzcGxheWVkLiBEZWZhdWx0OiB0cnVlICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaWRlTmF2VG9nZ2xlRW5hYmxlZCA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbG9yOiBUaGVtZVBhbGV0dGUgPSAncHJpbWFyeSc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG1lbnVDb2xvcjogVGhlbWVQYWxldHRlID0gJ2FjY2VudCc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGxlZnRTaWRlQXV0b0ZvY3VzID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJpZ2h0U2lkZUF1dG9Gb2N1cyA9IGZhbHNlO1xuXG4gIEBDb250ZW50Q2hpbGQoRWxkZXJTaGVsbFNpZGVMZWZ0RGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIHNpZGVDb250ZW50TGVmdDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKEVsZGVyU2hlbGxTaWRlUmlnaHREaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgc2lkZUNvbnRlbnRSaWdodDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKEVsZGVyU2hlbGxDZW50ZXJEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgY2VudGVyQ29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAVmlld0NoaWxkKCdyaWdodFNpZGVEZXRhaWwnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgcmlnaHRTaWRlRHJhd2VyOiBNYXRTaWRlbmF2O1xuXG4gIHB1YmxpYyByaWdodFNpZGVPdXRsZXROYW1lID0gJ3NpZGUnO1xuXG4gIHB1YmxpYyBsZWZ0U2lkZUNvbnRlbnRPcGVuJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuXG4gIHB1YmxpYyByZWFkb25seSBoZWFkZXJUZW1wbGF0ZSQ6IE9ic2VydmFibGU8VGVtcGxhdGVSZWY8YW55Pj47XG4gIHB1YmxpYyByZWFkb25seSBjZW50ZXJUZW1wbGF0ZSQ6IE9ic2VydmFibGU8VGVtcGxhdGVSZWY8YW55Pj47XG4gIHB1YmxpYyByZWFkb25seSBmb290ZXJUZW1wbGF0ZSQ6IE9ic2VydmFibGU8VGVtcGxhdGVSZWY8YW55Pj47XG5cbiAgcHJpdmF0ZSBfc3ViOiBTdWJzY3JpcHRpb247XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzaGVsbFNlcnZpY2U6IEVsZGVyU2hlbGxTZXJ2aWNlLFxuICAgIHByaXZhdGUgb3V0bGV0RHJhd2VyU2VydmljZTogRWxkZXJSb3V0ZU91dGxldERyYXdlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgdGhpcy5oZWFkZXJUZW1wbGF0ZSQgPSBzaGVsbFNlcnZpY2UuYWN0aXZlU2xvdFRlbXBsYXRlKCdoZWFkZXInKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHRoaXMuY2hlY2tTb29uKCkpXG4gICAgKTtcbiAgICB0aGlzLmNlbnRlclRlbXBsYXRlJCA9IHNoZWxsU2VydmljZS5hY3RpdmVTbG90VGVtcGxhdGUoJ2NlbnRlcicpLnBpcGUoXG4gICAgICB0YXAoKCkgPT4gdGhpcy5jaGVja1Nvb24oKSlcbiAgICApO1xuICAgIHRoaXMuZm9vdGVyVGVtcGxhdGUkID0gc2hlbGxTZXJ2aWNlLmFjdGl2ZVNsb3RUZW1wbGF0ZSgnZm9vdGVyJykucGlwZShcbiAgICAgIHRhcCgoKSA9PiB0aGlzLmNoZWNrU29vbigpKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vdXRsZXREcmF3ZXJTZXJ2aWNlLnJlZ2lzdGVyT3V0bGV0RHJhd2VyKFxuICAgICAgdGhpcy5yaWdodFNpZGVPdXRsZXROYW1lLFxuICAgICAgdGhpcy5yaWdodFNpZGVEcmF3ZXJcbiAgICApO1xuXG4gICAgdGhpcy5fc3ViID0gdGhpcy5vdXRsZXREcmF3ZXJTZXJ2aWNlLmRyYXdlclZpc2liaWxpdHlDaGFuZ2Uuc3Vic2NyaWJlKFxuICAgICAgZHJhd2VyID0+ICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpXG4gICAgKTtcblxuICAgIHRoaXMubGVmdFNpZGVDb250ZW50T3BlbiQgPSAgdGhpcy5zaGVsbFNlcnZpY2UubmF2aWdhdGlvbk9wZW5DaGFuZ2U7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBjbG9zZUxlZnRTaWRlQ29udGVudCgpIHtcbiAgICB0aGlzLnNoZWxsU2VydmljZS5jbG9zZVNpZGVOYXYoKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVTaWRlTmF2KCk6IHZvaWQge1xuICAgIHRoaXMuc2hlbGxTZXJ2aWNlLnRvZ2dsZVNpZGVuYXYoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkJhY2tkcm9wQ2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNoZWxsU2VydmljZS5pc1NpZGVDb250ZW50QWN0aXZlKCkpIHtcbiAgICAgIHRoaXMuc2hlbGxTZXJ2aWNlLmNsb3NlU2lkZUNvbnRlbnQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25Fc2NhcGVSaWdodFNpZGUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgIGlmICh0YXJnZXQgJiYgdGhpcy5pc0NvbnRhaW5lZCh0YXJnZXQsICdlbGRlci1yaWdodC1zaWRlLWRldGFpbCcpKSB7XG4gICAgICAvLyBFbnN1cmUgd2Ugb25seSByZWFjdCB0byBFc2MgRXZlbnRzIHRhcmdldGVkIGF0IG91ciBzaWRlIG5hdiFcbiAgICAgIGlmICh0aGlzLnNoZWxsU2VydmljZS5pc1NpZGVDb250ZW50QWN0aXZlKCkpIHtcbiAgICAgICAgdGhpcy5zaGVsbFNlcnZpY2UuY2xvc2VTaWRlQ29udGVudCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgaXNDb250YWluZWQoY2hpbGQ6IEhUTUxFbGVtZW50LCBpZDogc3RyaW5nKTogYm9vbGVhbiB7XG5cbiAgICBpZiAoY2hpbGQuaWQgPT09IGlkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgbWF4RGVwdGggPSAxO1xuICAgIGxldCBkZXB0aCA9IDA7XG4gICAgbGV0IG5vZGUgPSBjaGlsZC5wYXJlbnROb2RlIGFzIEhUTUxFbGVtZW50O1xuICAgIHdoaWxlIChub2RlKSB7XG4gICAgICBpZiAobm9kZS5pZCA9PT0gaWQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBub2RlID0gbm9kZS5wYXJlbnROb2RlIGFzIEhUTUxFbGVtZW50O1xuICAgICAgaWYgKG1heERlcHRoID49ICsrZGVwdGgpIHsgYnJlYWs7IH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja1Nvb24oKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH0sIDUpO1xuICB9XG59XG4iLCJcbjxtYXQtc2lkZW5hdi1jb250YWluZXIgc3R5bGU9XCJoZWlnaHQ6MTAwJTsgd2lkdGg6IDEwMCVcIiAoYmFja2Ryb3BDbGljayk9XCJvbkJhY2tkcm9wQ2xpY2soJGV2ZW50KVwiPlxuXG4gIDwhLS0gTGVmdCBTaWRlIE5hdiAtLT5cbiAgPG1hdC1zaWRlbmF2IHBvc2l0aW9uPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgbW9kZT1cIm92ZXJcIlxuICAgICAgICAgICAgICAgW2ZpeGVkSW5WaWV3cG9ydF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgIFthdXRvRm9jdXNdPVwibGVmdFNpZGVBdXRvRm9jdXNcIlxuICAgICAgICAgICAgICAgW29wZW5lZF09XCJsZWZ0U2lkZUNvbnRlbnRPcGVuJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgIChjbG9zZWQpPVwiY2xvc2VMZWZ0U2lkZUNvbnRlbnQoKVwiPlxuICAgIDxkaXYgZnhGaWxsIGZ4TGF5b3V0PVwiY29sdW1uXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2lkZUNvbnRlbnRMZWZ0IHx8IGZhbGxiYWNrU2lkZUNvbnRlbnRMZWZ0O1wiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L21hdC1zaWRlbmF2PlxuXG4gIDwhLS0gTWFpbiBDb250ZW50IC0tPlxuICA8bWF0LXNpZGVuYXYtY29udGVudD5cbiAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhGaWxsPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNlbnRlckNvbnRlbnQgfHwgZmFsbGJhY2tDZW50ZXJDb250ZW50O1wiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L21hdC1zaWRlbmF2LWNvbnRlbnQ+XG5cbiAgPCEtLSBSaWdodCBTaWRlIERldGFpbCAtLT5cbiAgPG1hdC1zaWRlbmF2IG1vZGU9XCJvdmVyXCIgI3JpZ2h0U2lkZURldGFpbCBpZD1cImVsZGVyLXJpZ2h0LXNpZGUtZGV0YWlsXCJcbiAgICAgICAgICAgICAgIHBvc2l0aW9uPVwiZW5kXCJcbiAgICAgICAgICAgICAgIFtmaXhlZEluVmlld3BvcnRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICBbYXV0b0ZvY3VzXT1cInJpZ2h0U2lkZUF1dG9Gb2N1c1wiXG4gICAgICAgICAgICAgICBbZGlzYWJsZUNsb3NlXT1cInRydWVcIiAoa2V5ZG93bi5lc2NhcGUpPVwib25Fc2NhcGVSaWdodFNpZGUoJGV2ZW50KVwiPlxuICAgIDxkaXYgZnhGaWxsIGZ4TGF5b3V0PVwiY29sdW1uXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2lkZUNvbnRlbnRSaWdodCB8fCBmYWxsYmFja1NpZGVDb250ZW50UmlnaHQ7XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvbWF0LXNpZGVuYXY+XG5cbjwvbWF0LXNpZGVuYXYtY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2ZhbGxiYWNrU2lkZUNvbnRlbnRMZWZ0PlxuICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhGbGV4PlxuICAgIDxwIGNsYXNzPVwibm9zZWxlY3RcIj5ObyBMZWZ0IFNpZGUgQ29udGVudCBEZWZpbmVkITwvcD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2ZhbGxiYWNrU2lkZUNvbnRlbnRSaWdodD5cbiAgPHJvdXRlci1vdXRsZXQgbmFtZT1cInNpZGVcIiBjbGFzcz1cInJvdXRlci1mbGV4XCI+PC9yb3V0ZXItb3V0bGV0PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNmYWxsYmFja0NlbnRlckNvbnRlbnQ+XG4gIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeEZpbGw+XG5cbiAgICA8IS0tIEhlYWRlciAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiKGhlYWRlclRlbXBsYXRlJCB8IGFzeW5jKSB8fCBkZWZhdWx0SGVhZGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gQ2VudGVyIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCIoY2VudGVyVGVtcGxhdGUkIHwgYXN5bmMpIHx8IGRlZmF1bHRDZW50ZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSBGb290ZXIgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIihmb290ZXJUZW1wbGF0ZSQgfCBhc3luYykgfHwgZGVmYXVsdEZvb3RlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEhlYWRlclRlbXBsYXRlPlxuXG4gIDxlbGRlci10b29sYmFyIFtjb2xvcl09XCJjb2xvclwiPlxuXG4gICAgPCEtLSBUb29sYmFyIFByZWZpeDogU2lkZW5hdiBUb2dnbGUgLS0+XG4gICAgPG1hdC10b29sYmFyICpuZ0lmPVwic2lkZU5hdlRvZ2dsZUVuYWJsZWRcIiBmeEZsZXg9XCIwXCJcbiAgICAgICAgICAgICAgICAgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiXG4gICAgICAgICAgICAgICAgIFtjb2xvcl09XCJtZW51Q29sb3JcIj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwidG9nZ2xlU2lkZU5hdigpXCI+XG4gICAgICAgIDxtYXQtaWNvbj5tZW51PC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LXRvb2xiYXI+XG4gIDwvZWxkZXItdG9vbGJhcj5cblxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0Q2VudGVyVGVtcGxhdGU+XG5cbiAgPCEtLSBQcmltYXJ5IFJvdXRlciBPdXRsZXQgLS0+XG4gIDxyb3V0ZXItb3V0bGV0IGNsYXNzPVwicm91dGVyLWZsZXhcIj48L3JvdXRlci1vdXRsZXQ+XG5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEZvb3RlclRlbXBsYXRlPlxuICA8IS0tIERlZmF1bHQgRm9vdGVyIGlzIGVtcHR5IC0tPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -4417,6 +4417,57 @@ class DelegateContinuableDataSource extends DelegateDataSource {
|
|
|
4417
4417
|
}
|
|
4418
4418
|
}
|
|
4419
4419
|
|
|
4420
|
+
class FilterUtil {
|
|
4421
|
+
static filterData(data, filters) {
|
|
4422
|
+
FilterUtil.logger.debug('Filtering data with ' + data.length + ' items.', filters);
|
|
4423
|
+
if (filters && filters.length > 0) {
|
|
4424
|
+
for (const filter of filters) {
|
|
4425
|
+
data = data.filter(e => FilterUtil.matches(e, filter));
|
|
4426
|
+
}
|
|
4427
|
+
}
|
|
4428
|
+
return data;
|
|
4429
|
+
}
|
|
4430
|
+
static matches(entity, filter) {
|
|
4431
|
+
if (filter.value === null || filter.value === undefined) {
|
|
4432
|
+
return true;
|
|
4433
|
+
}
|
|
4434
|
+
let value;
|
|
4435
|
+
if (entity === null || entity === undefined) {
|
|
4436
|
+
value = null;
|
|
4437
|
+
}
|
|
4438
|
+
else if (typeof entity === 'object') {
|
|
4439
|
+
value = entity[filter.key];
|
|
4440
|
+
}
|
|
4441
|
+
else {
|
|
4442
|
+
value = String(entity); // Support filtering primitive values
|
|
4443
|
+
}
|
|
4444
|
+
if (Array.isArray(filter.value)) {
|
|
4445
|
+
for (const val of filter.value) {
|
|
4446
|
+
if (FilterUtil.matchesValue(value, val)) {
|
|
4447
|
+
return true;
|
|
4448
|
+
}
|
|
4449
|
+
}
|
|
4450
|
+
return false;
|
|
4451
|
+
}
|
|
4452
|
+
else {
|
|
4453
|
+
return FilterUtil.matchesValue(value, filter.value);
|
|
4454
|
+
}
|
|
4455
|
+
}
|
|
4456
|
+
static matchesValue(haystack, needle) {
|
|
4457
|
+
if (haystack === needle) {
|
|
4458
|
+
return true;
|
|
4459
|
+
}
|
|
4460
|
+
if (haystack === null || haystack === undefined) {
|
|
4461
|
+
return false;
|
|
4462
|
+
}
|
|
4463
|
+
const str = String(haystack);
|
|
4464
|
+
const match = str.toLowerCase().startsWith(needle.toLowerCase());
|
|
4465
|
+
// FilterUtil.logger.debug('Haystack: ' + str + ' starts with needle: ' + needle + ' --> ' + match);
|
|
4466
|
+
return match;
|
|
4467
|
+
}
|
|
4468
|
+
}
|
|
4469
|
+
FilterUtil.logger = LoggerFactory.getLogger(FilterUtil.constructor.name);
|
|
4470
|
+
|
|
4420
4471
|
/**
|
|
4421
4472
|
* Provides the ability to build a IDataContext<T>.
|
|
4422
4473
|
*/
|
|
@@ -4542,12 +4593,12 @@ class DataContextBuilder {
|
|
|
4542
4593
|
* *
|
|
4543
4594
|
**************************************************************************/
|
|
4544
4595
|
buildLocal(items, idProperty) {
|
|
4545
|
-
return this.build(LocalListDataSource.from(items, idProperty));
|
|
4596
|
+
return this.build(LocalListDataSource.from(items, idProperty, this._localSort, FilterUtil.filterData));
|
|
4546
4597
|
}
|
|
4547
4598
|
buildLocalActivePaged(data, idProperty) {
|
|
4548
4599
|
this._skipLocalSort = true;
|
|
4549
4600
|
this.activePaged();
|
|
4550
|
-
return this.build(LocalPagedDataSource.from(data, idProperty, this._localSort));
|
|
4601
|
+
return this.build(LocalPagedDataSource.from(data, idProperty, this._localSort, FilterUtil.filterData));
|
|
4551
4602
|
}
|
|
4552
4603
|
/***************************************************************************
|
|
4553
4604
|
* *
|
|
@@ -6107,48 +6158,6 @@ class PropertyPathUtil {
|
|
|
6107
6158
|
}
|
|
6108
6159
|
}
|
|
6109
6160
|
|
|
6110
|
-
class FilterUtil {
|
|
6111
|
-
static filterData(data, filters) {
|
|
6112
|
-
FilterUtil.logger.debug('Filtering data with ' + data.length + ' items.', filters);
|
|
6113
|
-
if (filters && filters.length > 0) {
|
|
6114
|
-
for (const filter of filters) {
|
|
6115
|
-
data = data.filter(e => FilterUtil.matches(e, filter));
|
|
6116
|
-
}
|
|
6117
|
-
}
|
|
6118
|
-
return data;
|
|
6119
|
-
}
|
|
6120
|
-
static matches(entity, filter) {
|
|
6121
|
-
if (filter.value === null || filter.value === undefined) {
|
|
6122
|
-
return true;
|
|
6123
|
-
}
|
|
6124
|
-
const value = entity[filter.key];
|
|
6125
|
-
if (Array.isArray(filter.value)) {
|
|
6126
|
-
for (const val of filter.value) {
|
|
6127
|
-
if (FilterUtil.matchesValue(value, val)) {
|
|
6128
|
-
return true;
|
|
6129
|
-
}
|
|
6130
|
-
}
|
|
6131
|
-
return false;
|
|
6132
|
-
}
|
|
6133
|
-
else {
|
|
6134
|
-
return FilterUtil.matchesValue(value, filter.value);
|
|
6135
|
-
}
|
|
6136
|
-
}
|
|
6137
|
-
static matchesValue(haystack, needle) {
|
|
6138
|
-
if (haystack === needle) {
|
|
6139
|
-
return true;
|
|
6140
|
-
}
|
|
6141
|
-
if (haystack === null || haystack === undefined) {
|
|
6142
|
-
return false;
|
|
6143
|
-
}
|
|
6144
|
-
const str = String(haystack);
|
|
6145
|
-
const match = str.toLowerCase().startsWith(needle.toLowerCase());
|
|
6146
|
-
// FilterUtil.logger.debug('Haystack: ' + str + ' starts with needle: ' + needle + ' --> ' + match);
|
|
6147
|
-
return match;
|
|
6148
|
-
}
|
|
6149
|
-
}
|
|
6150
|
-
FilterUtil.logger = LoggerFactory.getLogger(FilterUtil.constructor.name);
|
|
6151
|
-
|
|
6152
6161
|
class NextNumberUtil {
|
|
6153
6162
|
/***************************************************************************
|
|
6154
6163
|
* *
|
|
@@ -14677,7 +14686,11 @@ class TemplateSlotManager {
|
|
|
14677
14686
|
* Constructors *
|
|
14678
14687
|
* *
|
|
14679
14688
|
**************************************************************************/
|
|
14680
|
-
|
|
14689
|
+
/**
|
|
14690
|
+
* Create a new Template Slot Manager.
|
|
14691
|
+
* @param slotDefinitions Slot definitions, supporting synonyms
|
|
14692
|
+
*/
|
|
14693
|
+
constructor(slotDefinitions) {
|
|
14681
14694
|
/***************************************************************************
|
|
14682
14695
|
* *
|
|
14683
14696
|
* Fields *
|
|
@@ -14687,10 +14700,15 @@ class TemplateSlotManager {
|
|
|
14687
14700
|
/** Default templates (App Level) */
|
|
14688
14701
|
this._defaultSlotTemplates = new Map();
|
|
14689
14702
|
/** Custom templates (Component Level) */
|
|
14690
|
-
this._slotTemplates = new Map();
|
|
14703
|
+
this._slotTemplates = new Map();
|
|
14691
14704
|
this._activeSlotTemplates = new Map();
|
|
14692
|
-
|
|
14693
|
-
|
|
14705
|
+
/**
|
|
14706
|
+
* Key: A synonym slot name
|
|
14707
|
+
* Value: The primary slot the synonym is resolving to
|
|
14708
|
+
*/
|
|
14709
|
+
this._slotSynonyms = new Map();
|
|
14710
|
+
for (const slotDefinition of slotDefinitions) {
|
|
14711
|
+
this.initSlot(slotDefinition);
|
|
14694
14712
|
}
|
|
14695
14713
|
}
|
|
14696
14714
|
/***************************************************************************
|
|
@@ -14703,6 +14721,7 @@ class TemplateSlotManager {
|
|
|
14703
14721
|
* over time.
|
|
14704
14722
|
*/
|
|
14705
14723
|
activeSlotTemplate(slot) {
|
|
14724
|
+
slot = this.resolveSlot(slot);
|
|
14706
14725
|
const activeColumn = this._activeSlotTemplates.get(slot);
|
|
14707
14726
|
if (activeColumn) {
|
|
14708
14727
|
return activeColumn.asObservable();
|
|
@@ -14719,7 +14738,7 @@ class TemplateSlotManager {
|
|
|
14719
14738
|
* @param isDefault if the given template should be used as global default
|
|
14720
14739
|
*/
|
|
14721
14740
|
registerSlotTemplate(slot, template, isDefault = false) {
|
|
14722
|
-
|
|
14741
|
+
slot = this.resolveSlot(slot);
|
|
14723
14742
|
if (isDefault) {
|
|
14724
14743
|
this._defaultSlotTemplates.set(slot, template);
|
|
14725
14744
|
}
|
|
@@ -14736,6 +14755,7 @@ class TemplateSlotManager {
|
|
|
14736
14755
|
*/
|
|
14737
14756
|
deregisterSlotTemplate(template, slot) {
|
|
14738
14757
|
if (slot) {
|
|
14758
|
+
slot = this.resolveSlot(slot);
|
|
14739
14759
|
if (this._slotTemplates.get(slot) === template) {
|
|
14740
14760
|
this.removeSlotTemplate(slot);
|
|
14741
14761
|
}
|
|
@@ -14753,6 +14773,24 @@ class TemplateSlotManager {
|
|
|
14753
14773
|
* Private methods *
|
|
14754
14774
|
* *
|
|
14755
14775
|
**************************************************************************/
|
|
14776
|
+
initSlot(slotDefinition) {
|
|
14777
|
+
let slot;
|
|
14778
|
+
if (slotDefinition instanceof Array) {
|
|
14779
|
+
slot = slotDefinition.shift();
|
|
14780
|
+
this.registerSlotSynonyms(slot, slotDefinition);
|
|
14781
|
+
}
|
|
14782
|
+
else {
|
|
14783
|
+
slot = slotDefinition;
|
|
14784
|
+
}
|
|
14785
|
+
this._activeSlotTemplates.set(slot, new BehaviorSubject(null));
|
|
14786
|
+
}
|
|
14787
|
+
registerSlotSynonyms(primarySlot, synonyms) {
|
|
14788
|
+
synonyms.forEach(synonym => this._slotSynonyms.set(synonym, primarySlot));
|
|
14789
|
+
}
|
|
14790
|
+
resolveSlot(slot) {
|
|
14791
|
+
var _a;
|
|
14792
|
+
return (_a = this._slotSynonyms.get(slot)) !== null && _a !== void 0 ? _a : slot;
|
|
14793
|
+
}
|
|
14756
14794
|
removeSlotTemplate(slot) {
|
|
14757
14795
|
this.logger.trace('Deregistering template slot at ', slot);
|
|
14758
14796
|
this._slotTemplates.delete(slot);
|
|
@@ -14787,10 +14825,12 @@ class ElderToolbarService {
|
|
|
14787
14825
|
this.logger = LoggerFactory.getLogger(this.constructor.name);
|
|
14788
14826
|
this.slotManager = new TemplateSlotManager([
|
|
14789
14827
|
'left',
|
|
14828
|
+
'left.begin',
|
|
14829
|
+
['left.end', 'left.actions'],
|
|
14790
14830
|
'center',
|
|
14791
14831
|
'right',
|
|
14792
|
-
'
|
|
14793
|
-
'right.
|
|
14832
|
+
['right.begin', 'right.actions'],
|
|
14833
|
+
'right.end',
|
|
14794
14834
|
]);
|
|
14795
14835
|
}
|
|
14796
14836
|
/***************************************************************************
|
|
@@ -15113,10 +15153,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImpor
|
|
|
15113
15153
|
|
|
15114
15154
|
class ElderToolbarComponent {
|
|
15115
15155
|
/***************************************************************************
|
|
15116
|
-
|
|
15117
|
-
|
|
15118
|
-
|
|
15119
|
-
|
|
15156
|
+
* *
|
|
15157
|
+
* Constructor *
|
|
15158
|
+
* *
|
|
15159
|
+
**************************************************************************/
|
|
15120
15160
|
constructor(toolbarService) {
|
|
15121
15161
|
this.toolbarService = toolbarService;
|
|
15122
15162
|
/***************************************************************************
|
|
@@ -15125,24 +15165,28 @@ class ElderToolbarComponent {
|
|
|
15125
15165
|
* *
|
|
15126
15166
|
**************************************************************************/
|
|
15127
15167
|
this.logger = LoggerFactory.getLogger(this.constructor.name);
|
|
15128
|
-
this.leftColumnTemplate$ = toolbarService.activeColumnTemplate('left');
|
|
15129
|
-
this.centerColumnTemplate$ = toolbarService.activeColumnTemplate('center');
|
|
15130
|
-
this.rightColumnTemplate$ = toolbarService.activeColumnTemplate('right');
|
|
15131
|
-
this.leftActionsColumnTemplate$ = toolbarService.activeColumnTemplate('left.actions');
|
|
15132
|
-
this.rightActionsColumnTemplate$ = toolbarService.activeColumnTemplate('right.actions');
|
|
15133
15168
|
}
|
|
15134
15169
|
/***************************************************************************
|
|
15135
15170
|
* *
|
|
15136
15171
|
* Life Cycle *
|
|
15137
15172
|
* *
|
|
15138
15173
|
**************************************************************************/
|
|
15139
|
-
ngOnInit() {
|
|
15174
|
+
ngOnInit() {
|
|
15175
|
+
}
|
|
15176
|
+
/***************************************************************************
|
|
15177
|
+
* *
|
|
15178
|
+
* Public API *
|
|
15179
|
+
* *
|
|
15180
|
+
**************************************************************************/
|
|
15181
|
+
slotTemplate$(slot) {
|
|
15182
|
+
return this.toolbarService.activeColumnTemplate(slot);
|
|
15183
|
+
}
|
|
15140
15184
|
}
|
|
15141
15185
|
ElderToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ElderToolbarComponent, deps: [{ token: ElderToolbarService }], target: i0.ɵɵFactoryTarget.Component });
|
|
15142
|
-
ElderToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: ElderToolbarComponent, selector: "elder-toolbar, ebs-toolbar", inputs: { color: "color" }, ngImport: i0, template: "\n\n<div fxLayout=\"row\">\n\n <ng-content></ng-content>\n\n <mat-toolbar fxLayout=\"row\" fxLayoutAlign=\"start center\"\n [color]=\"color ? color : 'primary'\">\n\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <ng-container *ngTemplateOutlet=\"(
|
|
15186
|
+
ElderToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: ElderToolbarComponent, selector: "elder-toolbar, ebs-toolbar", inputs: { color: "color" }, ngImport: i0, template: "\n\n<div fxLayout=\"row\">\n\n <ng-content></ng-content>\n\n <mat-toolbar fxLayout=\"row\" fxLayoutAlign=\"start center\"\n [color]=\"color ? color : 'primary'\">\n\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <ng-container *ngTemplateOutlet=\"(slotTemplate$('left.begin') | async)\"></ng-container>\n <ng-container *ngTemplateOutlet=\"(slotTemplate$('left') | async) || defaultLeftColumnTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"(slotTemplate$('left.end') | async) || defaultEmptyTemplate\"></ng-container>\n </div>\n\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxFlex>\n <ng-container *ngTemplateOutlet=\"(slotTemplate$('center') | async) || defaultCenterColumnTemplate\"></ng-container>\n </div>\n\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\">\n <ng-container *ngTemplateOutlet=\"(slotTemplate$('right.begin') | async) || defaultEmptyTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"(slotTemplate$('right') | async) || defaultRightColumnTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"(slotTemplate$('right.end') | async)\"></ng-container>\n </div>\n\n\n <!-- Default Templates -->\n\n <ng-template #defaultLeftColumnTemplate>\n\n <elder-toolbar-title></elder-toolbar-title>\n\n </ng-template>\n\n\n <ng-template #defaultCenterColumnTemplate></ng-template>\n\n <ng-template #defaultEmptyTemplate></ng-template>\n\n\n <ng-template #defaultRightColumnTemplate>\n\n <elder-language-switcher [slimMode]=\"true\"></elder-language-switcher>\n\n </ng-template>\n\n </mat-toolbar>\n\n</div>\n\n", styles: [""], components: [{ type: i2$3.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: ElderToolbarTitleComponent, selector: "elder-toolbar-title, ebs-toolbar-title" }, { type: ElderLanguageSwitcherComponent, selector: "elder-language-switcher, ebs-language-switcher", inputs: ["slimMode"] }], directives: [{ type: i5.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i5.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i3$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }], pipes: { "async": i3$1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
15143
15187
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ElderToolbarComponent, decorators: [{
|
|
15144
15188
|
type: Component,
|
|
15145
|
-
args: [{ selector: 'elder-toolbar, ebs-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n\n<div fxLayout=\"row\">\n\n <ng-content></ng-content>\n\n <mat-toolbar fxLayout=\"row\" fxLayoutAlign=\"start center\"\n [color]=\"color ? color : 'primary'\">\n\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <ng-container *ngTemplateOutlet=\"(
|
|
15189
|
+
args: [{ selector: 'elder-toolbar, ebs-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n\n<div fxLayout=\"row\">\n\n <ng-content></ng-content>\n\n <mat-toolbar fxLayout=\"row\" fxLayoutAlign=\"start center\"\n [color]=\"color ? color : 'primary'\">\n\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <ng-container *ngTemplateOutlet=\"(slotTemplate$('left.begin') | async)\"></ng-container>\n <ng-container *ngTemplateOutlet=\"(slotTemplate$('left') | async) || defaultLeftColumnTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"(slotTemplate$('left.end') | async) || defaultEmptyTemplate\"></ng-container>\n </div>\n\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxFlex>\n <ng-container *ngTemplateOutlet=\"(slotTemplate$('center') | async) || defaultCenterColumnTemplate\"></ng-container>\n </div>\n\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\">\n <ng-container *ngTemplateOutlet=\"(slotTemplate$('right.begin') | async) || defaultEmptyTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"(slotTemplate$('right') | async) || defaultRightColumnTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"(slotTemplate$('right.end') | async)\"></ng-container>\n </div>\n\n\n <!-- Default Templates -->\n\n <ng-template #defaultLeftColumnTemplate>\n\n <elder-toolbar-title></elder-toolbar-title>\n\n </ng-template>\n\n\n <ng-template #defaultCenterColumnTemplate></ng-template>\n\n <ng-template #defaultEmptyTemplate></ng-template>\n\n\n <ng-template #defaultRightColumnTemplate>\n\n <elder-language-switcher [slimMode]=\"true\"></elder-language-switcher>\n\n </ng-template>\n\n </mat-toolbar>\n\n</div>\n\n", styles: [""] }]
|
|
15146
15190
|
}], ctorParameters: function () { return [{ type: ElderToolbarService }]; }, propDecorators: { color: [{
|
|
15147
15191
|
type: Input
|
|
15148
15192
|
}] } });
|
|
@@ -20379,6 +20423,7 @@ class ElderSelectBase extends FormFieldBaseComponent {
|
|
|
20379
20423
|
this.autoCleanUp();
|
|
20380
20424
|
if (data instanceof Array) {
|
|
20381
20425
|
this.suggestionsDc = DataContextBuilder.start()
|
|
20426
|
+
.localSort()
|
|
20382
20427
|
.buildLocal(data); // Memory leak
|
|
20383
20428
|
this.suggestionsDc.start();
|
|
20384
20429
|
}
|
|
@@ -21146,6 +21191,7 @@ class ElderSelectComponent extends ElderSelectBase {
|
|
|
21146
21191
|
ElderSelectFirstUtil.trySelectFirst(this);
|
|
21147
21192
|
}
|
|
21148
21193
|
updateValueByEntity(entity) {
|
|
21194
|
+
this._entity$.next(entity);
|
|
21149
21195
|
this.updateValue(this.entityToValue(entity));
|
|
21150
21196
|
}
|
|
21151
21197
|
/***************************************************************************
|
|
@@ -21257,22 +21303,6 @@ class ElderSelectComponent extends ElderSelectBase {
|
|
|
21257
21303
|
}
|
|
21258
21304
|
super.writeToControl(value);
|
|
21259
21305
|
}
|
|
21260
|
-
/**
|
|
21261
|
-
* @description
|
|
21262
|
-
* Writes a new value to the element.
|
|
21263
|
-
*
|
|
21264
|
-
* This method is called by the forms API to write to the view when programmatic
|
|
21265
|
-
* changes from model to view are requested.
|
|
21266
|
-
*
|
|
21267
|
-
* @param value The new value for the element
|
|
21268
|
-
*/
|
|
21269
|
-
writeValue(value) {
|
|
21270
|
-
// this.logger.debug('ElderSelectBase.writeValue(): Current value-id ' + this._valueId + ', new value: ', value);
|
|
21271
|
-
super.writeValue(value);
|
|
21272
|
-
}
|
|
21273
|
-
isNullOrEmpty(value) {
|
|
21274
|
-
return (value == null || value === '');
|
|
21275
|
-
}
|
|
21276
21306
|
}
|
|
21277
21307
|
ElderSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ElderSelectComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
21278
21308
|
ElderSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: ElderSelectComponent, selector: "elder-select", inputs: { nullDisplay: "nullDisplay", autocomplete: "autocomplete", allowNull: "allowNull", entity: "entity", entityId: "entityId", hintProperty: "hintProperty", hintPropertyResolver: "hintPropertyResolver" }, outputs: { entityIdChange: "entityIdChange", entityIdUpdated: "entityIdUpdated", entityChange: "entityChange", entityUpdated: "entityUpdated" }, providers: [
|
|
@@ -21383,13 +21413,22 @@ class ElderMultiSelectBase extends ElderSelectBase {
|
|
|
21383
21413
|
this.entities$ = new BehaviorSubject([]);
|
|
21384
21414
|
this.entityIdsChange = this.valueChange.pipe(map(values => this.entityIdsFromValues(values)));
|
|
21385
21415
|
this.entityIdsUpdated = this.valueUpdated.pipe(map(values => this.entityIdsFromValues(values)));
|
|
21386
|
-
this.entitiesUpdated = this.entityIdsUpdated.pipe(switchMap(
|
|
21416
|
+
this.entitiesUpdated = this.entityIdsUpdated.pipe(tap(entityIds => this.logger.debug('Awaiting entities with ids', entityIds)), switchMap(entityIds => this.awaitEntitiesWithId(entityIds, this.timeoutAfterMs)), catchError(err => {
|
|
21387
21417
|
this.logger.warn(`awaitEntitiesWithId -> timed out after: ${this.timeoutAfterMs}`, err);
|
|
21388
21418
|
return EMPTY;
|
|
21389
21419
|
}));
|
|
21390
21420
|
}
|
|
21391
21421
|
awaitEntitiesWithId(entityIds, timeoutMs) {
|
|
21392
|
-
return this.entities$.pipe(filter(entities => this.equalIds(this.getEntityIds(entities), entityIds)), take(1), timeout(timeoutMs));
|
|
21422
|
+
return this.entities$.pipe(tap(entities => this.logger.debug('Got entities for ids' + entityIds, entities)), filter(entities => this.equalIds(this.getEntityIds(entities), entityIds)), take(1), timeout(timeoutMs));
|
|
21423
|
+
}
|
|
21424
|
+
/***************************************************************************
|
|
21425
|
+
* *
|
|
21426
|
+
* Properties *
|
|
21427
|
+
* *
|
|
21428
|
+
**************************************************************************/
|
|
21429
|
+
updateValueByEntities(entities) {
|
|
21430
|
+
this.entities$.next(entities);
|
|
21431
|
+
this.updateValue(this.entitiesToValues(entities));
|
|
21393
21432
|
}
|
|
21394
21433
|
/***************************************************************************
|
|
21395
21434
|
* *
|
|
@@ -21681,7 +21720,7 @@ class ElderMultiSelectChipsComponent extends ElderMultiSelectBase {
|
|
|
21681
21720
|
}
|
|
21682
21721
|
addLabels(labels) {
|
|
21683
21722
|
const current = this.entities ? this.entities : [];
|
|
21684
|
-
this.
|
|
21723
|
+
this.updateValueByEntities([...current, ...labels]);
|
|
21685
21724
|
}
|
|
21686
21725
|
addLabel(label) {
|
|
21687
21726
|
this.addLabels([label]);
|
|
@@ -21689,7 +21728,7 @@ class ElderMultiSelectChipsComponent extends ElderMultiSelectBase {
|
|
|
21689
21728
|
removeLabel(toRemove) {
|
|
21690
21729
|
const remaining = this.entities
|
|
21691
21730
|
.filter(l => !this.isEqual(l, toRemove));
|
|
21692
|
-
this.
|
|
21731
|
+
this.updateValueByEntities(remaining);
|
|
21693
21732
|
}
|
|
21694
21733
|
/***************************************************************************
|
|
21695
21734
|
* *
|