nuxeo-development-framework 5.5.6 → 5.5.8

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.
Files changed (27) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +307 -134
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/ndf-config-editor/containers/config-preview/config-preview.component.js +1 -1
  4. package/esm2015/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.js +2 -2
  5. package/esm2015/lib/components/tables/dynamic-table/dynamic-table/dynamic-table.component.js +2 -2
  6. package/esm2015/lib/components/tables/ndf-table/components/table-columns-toggler/table-columns-toggler.component.js +2 -2
  7. package/esm2015/lib/components/tables/ndf-table/components/text-search/text-search.component.js +4 -4
  8. package/esm2015/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.js +38 -23
  9. package/esm2015/lib/components/tables/table/dynamic-column/dynamic-column.component.js +10 -5
  10. package/esm2015/lib/components/tables/table/dynamic-component.js +10 -5
  11. package/esm2015/lib/components/tables/table/page-sizes-list/page-sizes-list.component.js +2 -2
  12. package/esm2015/lib/core/services/column-renderer/column-renderer-registry.service.js +102 -0
  13. package/esm2015/lib/core/services/column-renderer/index.js +2 -0
  14. package/esm2015/lib/core/services/extension/extension.service.js +35 -4
  15. package/esm2015/lib/core/services/index.js +2 -1
  16. package/esm2015/lib/shared/services/base/base-editor-config.service.js +34 -19
  17. package/fesm2015/nuxeo-development-framework.js +300 -131
  18. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  19. package/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.d.ts +2 -1
  20. package/lib/components/tables/table/dynamic-column/dynamic-column.component.d.ts +3 -1
  21. package/lib/components/tables/table/dynamic-component.d.ts +3 -1
  22. package/lib/core/services/column-renderer/column-renderer-registry.service.d.ts +61 -0
  23. package/lib/core/services/column-renderer/index.d.ts +1 -0
  24. package/lib/core/services/extension/extension.service.d.ts +33 -0
  25. package/lib/core/services/index.d.ts +1 -0
  26. package/lib/shared/services/base/base-editor-config.service.d.ts +2 -1
  27. package/package.json +1 -1
@@ -1,13 +1,18 @@
1
1
  import { Component, Input, ViewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "../../../core/services/extension/extension.service";
4
+ import * as i2 from "../../../core/services";
4
5
  export class DynamicCustomComponent {
5
- constructor(_extensions, _factoryResolver) {
6
+ constructor(_extensions, _columnRegister, _factoryResolver) {
6
7
  this._extensions = _extensions;
8
+ this._columnRegister = _columnRegister;
7
9
  this._factoryResolver = _factoryResolver;
8
10
  }
9
11
  ngOnInit() {
10
- const componentType = this._extensions.getComponentById(this.componentName);
12
+ const isInRenderer = this._columnRegister.has(this.componentName);
13
+ const componentType = isInRenderer
14
+ ? this._columnRegister.getComponent(this.componentName)
15
+ : this._extensions.getComponentById(this.componentName);
11
16
  if (componentType) {
12
17
  const factory = this._factoryResolver.resolveComponentFactory(componentType);
13
18
  if (factory) {
@@ -34,7 +39,7 @@ export class DynamicCustomComponent {
34
39
  }
35
40
  }
36
41
  }
37
- DynamicCustomComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicCustomComponent, deps: [{ token: i1.ExtensionService }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
42
+ DynamicCustomComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicCustomComponent, deps: [{ token: i1.ExtensionService }, { token: i2.ColumnRendererRegistryService }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
38
43
  DynamicCustomComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicCustomComponent, selector: "app-dynamic-component", inputs: { componentName: "componentName", row: "row", rowAction: "rowAction", onClick: "onClick" }, host: { classAttribute: "dynamic-component" }, viewQueries: [{ propertyName: "_vcr", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: ` <ng-container #container></ng-container> `, isInline: true, encapsulation: i0.ViewEncapsulation.None });
39
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicCustomComponent, decorators: [{
40
45
  type: Component,
@@ -44,7 +49,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
44
49
  encapsulation: ViewEncapsulation.None,
45
50
  host: { class: 'dynamic-component' }
46
51
  }]
47
- }], ctorParameters: function () { return [{ type: i1.ExtensionService }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { _vcr: [{
52
+ }], ctorParameters: function () { return [{ type: i1.ExtensionService }, { type: i2.ColumnRendererRegistryService }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { _vcr: [{
48
53
  type: ViewChild,
49
54
  args: ['container', { read: ViewContainerRef, static: true }]
50
55
  }], componentName: [{
@@ -56,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
56
61
  }], onClick: [{
57
62
  type: Input
58
63
  }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy90YWJsZS9keW5hbWljLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUlULEtBQUssRUFLTCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixNQUFNLGVBQWUsQ0FBQzs7O0FBU3ZCLE1BQU0sT0FBTyxzQkFBc0I7SUFhbEMsWUFDUyxXQUE2QixFQUM3QixnQkFBMEM7UUFEMUMsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBMEI7SUFDaEQsQ0FBQztJQUVKLFFBQVE7UUFDUCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM1RSxJQUFJLGFBQWEsRUFBRTtZQUNsQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsdUJBQXVCLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDN0UsSUFBSSxPQUFPLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzNELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUN0QjtTQUNEO0lBQ0YsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFzQjtRQUNqQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVPLGNBQWM7O1FBQ3JCLElBQUksTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxRQUFRLEVBQUU7WUFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDM0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDdEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDbkQ7SUFDRixDQUFDO0lBRUQsV0FBVztRQUNWLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQzFCO0lBQ0YsQ0FBQzs7b0hBN0NXLHNCQUFzQjt3R0FBdEIsc0JBQXNCLDhSQUNGLGdCQUFnQixnRUFMdEMsNENBQTRDOzRGQUkxQyxzQkFBc0I7a0JBTmxDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFLDRDQUE0QztvQkFDdEQsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRTtpQkFDcEM7OElBR1EsSUFBSTtzQkFEWCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUd2RCxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLEdBQUc7c0JBQVgsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcblx0Q29tcG9uZW50LFxyXG5cdENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuXHRDb21wb25lbnRSZWYsXHJcblx0RXZlbnRFbWl0dGVyLFxyXG5cdElucHV0LFxyXG5cdE9uQ2hhbmdlcyxcclxuXHRPbkRlc3Ryb3ksXHJcblx0T25Jbml0LFxyXG5cdFNpbXBsZUNoYW5nZXMsXHJcblx0Vmlld0NoaWxkLFxyXG5cdFZpZXdDb250YWluZXJSZWYsXHJcblx0Vmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRXh0ZW5zaW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvZXh0ZW5zaW9uL2V4dGVuc2lvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXBwLWR5bmFtaWMtY29tcG9uZW50JyxcclxuXHR0ZW1wbGF0ZTogYCA8bmctY29udGFpbmVyICNjb250YWluZXI+PC9uZy1jb250YWluZXI+IGAsXHJcblx0ZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuXHRob3N0OiB7IGNsYXNzOiAnZHluYW1pYy1jb21wb25lbnQnIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNDdXN0b21Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuXHRAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KVxyXG5cdHByaXZhdGUgX3ZjcjogVmlld0NvbnRhaW5lclJlZjtcclxuXHJcblx0QElucHV0KCkgY29tcG9uZW50TmFtZTogc3RyaW5nO1xyXG5cclxuXHRASW5wdXQoKSByb3c6IFJlY29yZDxzdHJpbmcsIGFueT47XHJcblxyXG5cdEBJbnB1dCgpIHJvd0FjdGlvbjogRXZlbnRFbWl0dGVyPGFueT47XHJcblx0QElucHV0KCkgb25DbGljazogRXZlbnRFbWl0dGVyPGFueT47XHJcblxyXG5cdHByaXZhdGUgX2NvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT47XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBfZXh0ZW5zaW9uczogRXh0ZW5zaW9uU2VydmljZSxcclxuXHRcdHByaXZhdGUgX2ZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyXHJcblx0KSB7fVxyXG5cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdGNvbnN0IGNvbXBvbmVudFR5cGUgPSB0aGlzLl9leHRlbnNpb25zLmdldENvbXBvbmVudEJ5SWQodGhpcy5jb21wb25lbnROYW1lKTtcclxuXHRcdGlmIChjb21wb25lbnRUeXBlKSB7XHJcblx0XHRcdGNvbnN0IGZhY3RvcnkgPSB0aGlzLl9mYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50VHlwZSk7XHJcblx0XHRcdGlmIChmYWN0b3J5KSB7XHJcblx0XHRcdFx0dGhpcy5fY29tcG9uZW50UmVmID0gdGhpcy5fdmNyLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5LCAwKTtcclxuXHRcdFx0XHR0aGlzLnVwZGF0ZUluc3RhbmNlKCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0bmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG5cdFx0dGhpcy51cGRhdGVJbnN0YW5jZSgpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSB1cGRhdGVJbnN0YW5jZSgpIHtcclxuXHRcdGlmICh0aGlzLl9jb21wb25lbnRSZWY/Lmluc3RhbmNlKSB7XHJcblx0XHRcdHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5yb3cgPSB0aGlzLnJvdztcclxuXHRcdFx0dGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLm9uQWN0aW9uID0gdGhpcy5yb3dBY3Rpb247XHJcblx0XHRcdHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5vbkNsaWNrID0gdGhpcy5vbkNsaWNrO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKSB7XHJcblx0XHRpZiAodGhpcy5fY29tcG9uZW50UmVmKSB7XHJcblx0XHRcdHRoaXMuX2NvbXBvbmVudFJlZi5kZXN0cm95KCk7XHJcblx0XHRcdHRoaXMuX2NvbXBvbmVudFJlZiA9IG51bGw7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiJdfQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy90YWJsZS9keW5hbWljLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUlULEtBQUssRUFLTCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixNQUFNLGVBQWUsQ0FBQzs7OztBQVV2QixNQUFNLE9BQU8sc0JBQXNCO0lBYWxDLFlBQ1MsV0FBNkIsRUFDN0IsZUFBOEMsRUFDOUMsZ0JBQTBDO1FBRjFDLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3QixvQkFBZSxHQUFmLGVBQWUsQ0FBK0I7UUFDOUMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUEwQjtJQUNoRCxDQUFDO0lBRUosUUFBUTtRQUNQLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVsRSxNQUFNLGFBQWEsR0FBRyxZQUFZO1lBQ2pDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3ZELENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV6RCxJQUFJLGFBQWEsRUFBRTtZQUNsQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsdUJBQXVCLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDN0UsSUFBSSxPQUFPLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQzNELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUN0QjtTQUNEO0lBQ0YsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFzQjtRQUNqQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVPLGNBQWM7O1FBQ3JCLElBQUksTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxRQUFRLEVBQUU7WUFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDM0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDdEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDbkQ7SUFDRixDQUFDO0lBRUQsV0FBVztRQUNWLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQzFCO0lBQ0YsQ0FBQzs7b0hBbkRXLHNCQUFzQjt3R0FBdEIsc0JBQXNCLDhSQUNGLGdCQUFnQixnRUFMdEMsNENBQTRDOzRGQUkxQyxzQkFBc0I7a0JBTmxDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFLDRDQUE0QztvQkFDdEQsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRTtpQkFDcEM7MExBR1EsSUFBSTtzQkFEWCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUd2RCxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLEdBQUc7c0JBQVgsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcblx0Q29tcG9uZW50LFxyXG5cdENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuXHRDb21wb25lbnRSZWYsXHJcblx0RXZlbnRFbWl0dGVyLFxyXG5cdElucHV0LFxyXG5cdE9uQ2hhbmdlcyxcclxuXHRPbkRlc3Ryb3ksXHJcblx0T25Jbml0LFxyXG5cdFNpbXBsZUNoYW5nZXMsXHJcblx0Vmlld0NoaWxkLFxyXG5cdFZpZXdDb250YWluZXJSZWYsXHJcblx0Vmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRXh0ZW5zaW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvZXh0ZW5zaW9uL2V4dGVuc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29sdW1uUmVuZGVyZXJSZWdpc3RyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXBwLWR5bmFtaWMtY29tcG9uZW50JyxcclxuXHR0ZW1wbGF0ZTogYCA8bmctY29udGFpbmVyICNjb250YWluZXI+PC9uZy1jb250YWluZXI+IGAsXHJcblx0ZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuXHRob3N0OiB7IGNsYXNzOiAnZHluYW1pYy1jb21wb25lbnQnIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNDdXN0b21Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuXHRAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KVxyXG5cdHByaXZhdGUgX3ZjcjogVmlld0NvbnRhaW5lclJlZjtcclxuXHJcblx0QElucHV0KCkgY29tcG9uZW50TmFtZTogc3RyaW5nO1xyXG5cclxuXHRASW5wdXQoKSByb3c6IFJlY29yZDxzdHJpbmcsIGFueT47XHJcblxyXG5cdEBJbnB1dCgpIHJvd0FjdGlvbjogRXZlbnRFbWl0dGVyPGFueT47XHJcblx0QElucHV0KCkgb25DbGljazogRXZlbnRFbWl0dGVyPGFueT47XHJcblxyXG5cdHByaXZhdGUgX2NvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT47XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBfZXh0ZW5zaW9uczogRXh0ZW5zaW9uU2VydmljZSxcclxuXHRcdHByaXZhdGUgX2NvbHVtblJlZ2lzdGVyOiBDb2x1bW5SZW5kZXJlclJlZ2lzdHJ5U2VydmljZSxcclxuXHRcdHByaXZhdGUgX2ZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyXHJcblx0KSB7fVxyXG5cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdGNvbnN0IGlzSW5SZW5kZXJlciA9IHRoaXMuX2NvbHVtblJlZ2lzdGVyLmhhcyh0aGlzLmNvbXBvbmVudE5hbWUpO1xyXG5cclxuXHRcdGNvbnN0IGNvbXBvbmVudFR5cGUgPSBpc0luUmVuZGVyZXJcclxuXHRcdFx0PyB0aGlzLl9jb2x1bW5SZWdpc3Rlci5nZXRDb21wb25lbnQodGhpcy5jb21wb25lbnROYW1lKVxyXG5cdFx0XHQ6IHRoaXMuX2V4dGVuc2lvbnMuZ2V0Q29tcG9uZW50QnlJZCh0aGlzLmNvbXBvbmVudE5hbWUpO1xyXG5cclxuXHRcdGlmIChjb21wb25lbnRUeXBlKSB7XHJcblx0XHRcdGNvbnN0IGZhY3RvcnkgPSB0aGlzLl9mYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50VHlwZSk7XHJcblx0XHRcdGlmIChmYWN0b3J5KSB7XHJcblx0XHRcdFx0dGhpcy5fY29tcG9uZW50UmVmID0gdGhpcy5fdmNyLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5LCAwKTtcclxuXHRcdFx0XHR0aGlzLnVwZGF0ZUluc3RhbmNlKCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0bmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG5cdFx0dGhpcy51cGRhdGVJbnN0YW5jZSgpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSB1cGRhdGVJbnN0YW5jZSgpIHtcclxuXHRcdGlmICh0aGlzLl9jb21wb25lbnRSZWY/Lmluc3RhbmNlKSB7XHJcblx0XHRcdHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5yb3cgPSB0aGlzLnJvdztcclxuXHRcdFx0dGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLm9uQWN0aW9uID0gdGhpcy5yb3dBY3Rpb247XHJcblx0XHRcdHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5vbkNsaWNrID0gdGhpcy5vbkNsaWNrO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKSB7XHJcblx0XHRpZiAodGhpcy5fY29tcG9uZW50UmVmKSB7XHJcblx0XHRcdHRoaXMuX2NvbXBvbmVudFJlZi5kZXN0cm95KCk7XHJcblx0XHRcdHRoaXMuX2NvbXBvbmVudFJlZiA9IG51bGw7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -49,7 +49,7 @@ export class PageSizesListComponent {
49
49
  }
50
50
  }
51
51
  PageSizesListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PageSizesListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
52
- PageSizesListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PageSizesListComponent, selector: "ndf-page-sizes-list", inputs: { pageSizes: "pageSizes", selectedPageSize: "selectedPageSize" }, outputs: { onChangePageSize: "onChangePageSize" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"tablePageSizesWrapper\" *ngIf=\"pageSizes?.length\">\r\n\t<span class=\"tablePageSizeLabel\">\r\n\t\t{{ 'tablePageSizes' | translate }}\r\n\t</span>\r\n\t<ng-select\r\n\t\tclass=\"tablePageSizesList\"\r\n\t\t[dropdownPosition]=\"'top'\"\r\n\t\t[items]=\"pageSizes\"\r\n\t\tbindValue=\"size\"\r\n\t\tbindLabel=\"label\"\r\n\t\t[(ngModel)]=\"selectedPageSize\"\r\n\t\t(change)=\"changePageSize()\"\r\n\t>\r\n\t</ng-select>\r\n</div>\r\n", styles: [".tablePageSizesWrapper{display:flex;grid-column-gap:12px;column-gap:12px;align-items:center}.tablePageSizesWrapper .tablePageSizesList{width:100px}\n"], components: [{ type: i1.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "translate": i4.TranslatePipe } });
52
+ PageSizesListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PageSizesListComponent, selector: "ndf-page-sizes-list", inputs: { pageSizes: "pageSizes", selectedPageSize: "selectedPageSize" }, outputs: { onChangePageSize: "onChangePageSize" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"tablePageSizesWrapper\" *ngIf=\"pageSizes?.length\">\r\n\t<span class=\"tablePageSizeLabel\">\r\n\t\t{{ 'tablePageSizes' | translate }}\r\n\t</span>\r\n <pre>{{selectedPageSize}}</pre>\r\n\t<ng-select\r\n\t\tclass=\"tablePageSizesList\"\r\n\t\t[dropdownPosition]=\"'top'\"\r\n\t\t[items]=\"pageSizes\"\r\n\t\tbindValue=\"size\"\r\n\t\tbindLabel=\"label\"\r\n\t\t[(ngModel)]=\"selectedPageSize\"\r\n\t\t(change)=\"changePageSize()\"\r\n [searchable]=\"false\"\r\n\t>\r\n\t</ng-select>\r\n\r\n</div>\r\n", styles: [".tablePageSizesWrapper{display:flex;grid-column-gap:12px;column-gap:12px;align-items:center}.tablePageSizesWrapper .tablePageSizesList{width:100px}.tablePageSizesWrapper .ng-select-container .ng-value-container .ng-value{color:var(--ng-select-color, inherit)}\n"], components: [{ type: i1.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "translate": i4.TranslatePipe } });
53
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PageSizesListComponent, decorators: [{
54
54
  type: Component,
55
55
  args: [{
@@ -64,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
64
64
  }], onChangePageSize: [{
65
65
  type: Output
66
66
  }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1zaXplcy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL3RhYmxlL3BhZ2Utc2l6ZXMtbGlzdC9wYWdlLXNpemVzLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvdGFibGUvcGFnZS1zaXplcy1saXN0L3BhZ2Utc2l6ZXMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBQ2pHLE1BQU0sU0FBUyxHQUFzQztJQUNwRDtRQUNDLEtBQUssRUFBRSxHQUFHO1FBQ1YsSUFBSSxFQUFFLENBQUM7S0FDUDtJQUNEO1FBQ0MsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsRUFBRTtLQUNSO0lBQ0Q7UUFDQyxLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxFQUFFO0tBQ1I7SUFDRDtRQUNDLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLEVBQUU7S0FDUjtJQUNEO1FBQ0MsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsRUFBRTtLQUNSO0NBQ0QsQ0FBQztBQU9GLE1BQU0sT0FBTyxzQkFBc0I7SUFZbEM7UUFYUyxjQUFTLEdBQTJDLFNBQVMsQ0FBQztRQUMvRCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBU1QscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUN6QyxDQUFDO0lBVGhCLElBQWEsZ0JBQWdCLENBQUMsS0FBYTtRQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ25CLENBQUM7SUFLRCxXQUFXLENBQUMsT0FBc0I7O1FBQ2pDLElBQUksQ0FBQSxNQUFBLE9BQU8sQ0FBQyxTQUFTLDBDQUFFLFlBQVksTUFBSSxNQUFBLE9BQU8sQ0FBQyxnQkFBZ0IsMENBQUUsWUFBWSxDQUFBLEVBQUU7WUFDOUUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixLQUFJLE1BQUEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsMENBQUUsSUFBSSxDQUFBLElBQUksRUFBRSxDQUFDO1NBQ2hGO0lBQ0YsQ0FBQztJQUNELGNBQWM7UUFDYixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ25ELENBQUM7O29IQXJCVyxzQkFBc0I7d0dBQXRCLHNCQUFzQiw2TUM3Qm5DLGljQWVBOzRGRGNhLHNCQUFzQjtrQkFMbEMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUscUJBQXFCO29CQUMvQixXQUFXLEVBQUUsa0NBQWtDO29CQUMvQyxTQUFTLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztpQkFDL0M7MEVBRVMsU0FBUztzQkFBakIsS0FBSztnQkFFTyxnQkFBZ0I7c0JBQTVCLEtBQUs7Z0JBUUksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5jb25zdCBQQUdFX1NJWkU6IHsgbGFiZWw6IHN0cmluZzsgc2l6ZTogbnVtYmVyIH1bXSA9IFtcclxuXHR7XHJcblx0XHRsYWJlbDogJzUnLFxyXG5cdFx0c2l6ZTogNVxyXG5cdH0sXHJcblx0e1xyXG5cdFx0bGFiZWw6ICcxMCcsXHJcblx0XHRzaXplOiAxMFxyXG5cdH0sXHJcblx0e1xyXG5cdFx0bGFiZWw6ICcxNScsXHJcblx0XHRzaXplOiAxNVxyXG5cdH0sXHJcblx0e1xyXG5cdFx0bGFiZWw6ICcyNScsXHJcblx0XHRzaXplOiAyNVxyXG5cdH0sXHJcblx0e1xyXG5cdFx0bGFiZWw6ICc1MCcsXHJcblx0XHRzaXplOiA1MFxyXG5cdH1cclxuXTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnbmRmLXBhZ2Utc2l6ZXMtbGlzdCcsXHJcblx0dGVtcGxhdGVVcmw6ICcuL3BhZ2Utc2l6ZXMtbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vcGFnZS1zaXplcy1saXN0LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFBhZ2VTaXplc0xpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cdEBJbnB1dCgpIHBhZ2VTaXplczogQXJyYXk8eyBsYWJlbDogc3RyaW5nOyBzaXplOiBudW1iZXIgfT4gPSBQQUdFX1NJWkU7XHJcblx0cHJpdmF0ZSBfc2l6ZSA9IDEwO1xyXG5cdEBJbnB1dCgpIHNldCBzZWxlY3RlZFBhZ2VTaXplKHZhbHVlOiBudW1iZXIpIHtcclxuXHRcdHRoaXMuX3NpemUgPSBOdW1iZXIodmFsdWUpO1xyXG5cdH1cclxuXHJcblx0Z2V0IHNlbGVjdGVkUGFnZVNpemUoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fc2l6ZTtcclxuXHR9XHJcblxyXG5cdEBPdXRwdXQoKSBvbkNoYW5nZVBhZ2VTaXplID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblx0Y29uc3RydWN0b3IoKSB7fVxyXG5cclxuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcblx0XHRpZiAoY2hhbmdlcy5wYWdlU2l6ZXM/LmN1cnJlbnRWYWx1ZSB8fCBjaGFuZ2VzLnNlbGVjdGVkUGFnZVNpemU/LmN1cnJlbnRWYWx1ZSkge1xyXG5cdFx0XHR0aGlzLnNlbGVjdGVkUGFnZVNpemUgPSArdGhpcy5zZWxlY3RlZFBhZ2VTaXplIHx8IHRoaXMucGFnZVNpemVzWzBdPy5zaXplIHx8IDEwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRjaGFuZ2VQYWdlU2l6ZSgpIHtcclxuXHRcdHRoaXMub25DaGFuZ2VQYWdlU2l6ZS5lbWl0KHRoaXMuc2VsZWN0ZWRQYWdlU2l6ZSk7XHJcblx0fVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ0YWJsZVBhZ2VTaXplc1dyYXBwZXJcIiAqbmdJZj1cInBhZ2VTaXplcz8ubGVuZ3RoXCI+XHJcblx0PHNwYW4gY2xhc3M9XCJ0YWJsZVBhZ2VTaXplTGFiZWxcIj5cclxuXHRcdHt7ICd0YWJsZVBhZ2VTaXplcycgfCB0cmFuc2xhdGUgfX1cclxuXHQ8L3NwYW4+XHJcblx0PG5nLXNlbGVjdFxyXG5cdFx0Y2xhc3M9XCJ0YWJsZVBhZ2VTaXplc0xpc3RcIlxyXG5cdFx0W2Ryb3Bkb3duUG9zaXRpb25dPVwiJ3RvcCdcIlxyXG5cdFx0W2l0ZW1zXT1cInBhZ2VTaXplc1wiXHJcblx0XHRiaW5kVmFsdWU9XCJzaXplXCJcclxuXHRcdGJpbmRMYWJlbD1cImxhYmVsXCJcclxuXHRcdFsobmdNb2RlbCldPVwic2VsZWN0ZWRQYWdlU2l6ZVwiXHJcblx0XHQoY2hhbmdlKT1cImNoYW5nZVBhZ2VTaXplKClcIlxyXG5cdD5cclxuXHQ8L25nLXNlbGVjdD5cclxuPC9kaXY+XHJcbiJdfQ==
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1zaXplcy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL3RhYmxlL3BhZ2Utc2l6ZXMtbGlzdC9wYWdlLXNpemVzLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvdGFibGUvcGFnZS1zaXplcy1saXN0L3BhZ2Utc2l6ZXMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBQ2pHLE1BQU0sU0FBUyxHQUFzQztJQUNwRDtRQUNDLEtBQUssRUFBRSxHQUFHO1FBQ1YsSUFBSSxFQUFFLENBQUM7S0FDUDtJQUNEO1FBQ0MsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsRUFBRTtLQUNSO0lBQ0Q7UUFDQyxLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxFQUFFO0tBQ1I7SUFDRDtRQUNDLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLEVBQUU7S0FDUjtJQUNEO1FBQ0MsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsRUFBRTtLQUNSO0NBQ0QsQ0FBQztBQU9GLE1BQU0sT0FBTyxzQkFBc0I7SUFjbEM7UUFiUyxjQUFTLEdBQTJDLFNBQVMsQ0FBQztRQUcvRCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBU1QscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUN6QyxDQUFDO0lBVGhCLElBQWEsZ0JBQWdCLENBQUMsS0FBYTtRQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ25CLENBQUM7SUFLRCxXQUFXLENBQUMsT0FBc0I7O1FBQ2pDLElBQUksQ0FBQSxNQUFBLE9BQU8sQ0FBQyxTQUFTLDBDQUFFLFlBQVksTUFBSSxNQUFBLE9BQU8sQ0FBQyxnQkFBZ0IsMENBQUUsWUFBWSxDQUFBLEVBQUU7WUFDOUUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixLQUFJLE1BQUEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsMENBQUUsSUFBSSxDQUFBLElBQUksRUFBRSxDQUFDO1NBQ2hGO0lBQ0YsQ0FBQztJQUNELGNBQWM7UUFDYixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ25ELENBQUM7O29IQXZCVyxzQkFBc0I7d0dBQXRCLHNCQUFzQiw2TUM3Qm5DLHdnQkFrQkE7NEZEV2Esc0JBQXNCO2tCQUxsQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFdBQVcsRUFBRSxrQ0FBa0M7b0JBQy9DLFNBQVMsRUFBRSxDQUFDLGtDQUFrQyxDQUFDO2lCQUMvQzswRUFFUyxTQUFTO3NCQUFqQixLQUFLO2dCQUlPLGdCQUFnQjtzQkFBNUIsS0FBSztnQkFRSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmNvbnN0IFBBR0VfU0laRTogeyBsYWJlbDogc3RyaW5nOyBzaXplOiBudW1iZXIgfVtdID0gW1xyXG5cdHtcclxuXHRcdGxhYmVsOiAnNScsXHJcblx0XHRzaXplOiA1XHJcblx0fSxcclxuXHR7XHJcblx0XHRsYWJlbDogJzEwJyxcclxuXHRcdHNpemU6IDEwXHJcblx0fSxcclxuXHR7XHJcblx0XHRsYWJlbDogJzE1JyxcclxuXHRcdHNpemU6IDE1XHJcblx0fSxcclxuXHR7XHJcblx0XHRsYWJlbDogJzI1JyxcclxuXHRcdHNpemU6IDI1XHJcblx0fSxcclxuXHR7XHJcblx0XHRsYWJlbDogJzUwJyxcclxuXHRcdHNpemU6IDUwXHJcblx0fVxyXG5dO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICduZGYtcGFnZS1zaXplcy1saXN0JyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vcGFnZS1zaXplcy1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9wYWdlLXNpemVzLWxpc3QuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnZVNpemVzTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcblx0QElucHV0KCkgcGFnZVNpemVzOiBBcnJheTx7IGxhYmVsOiBzdHJpbmc7IHNpemU6IG51bWJlciB9PiA9IFBBR0VfU0laRTtcclxuXHJcblxyXG5cdHByaXZhdGUgX3NpemUgPSAxMDtcclxuXHRASW5wdXQoKSBzZXQgc2VsZWN0ZWRQYWdlU2l6ZSh2YWx1ZTogbnVtYmVyKSB7XHJcblx0XHR0aGlzLl9zaXplID0gTnVtYmVyKHZhbHVlKTtcclxuXHR9XHJcblxyXG5cdGdldCBzZWxlY3RlZFBhZ2VTaXplKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX3NpemU7XHJcblx0fVxyXG5cclxuXHRAT3V0cHV0KCkgb25DaGFuZ2VQYWdlU2l6ZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cdGNvbnN0cnVjdG9yKCkge31cclxuXHJcblx0bmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG5cdFx0aWYgKGNoYW5nZXMucGFnZVNpemVzPy5jdXJyZW50VmFsdWUgfHwgY2hhbmdlcy5zZWxlY3RlZFBhZ2VTaXplPy5jdXJyZW50VmFsdWUpIHtcclxuXHRcdFx0dGhpcy5zZWxlY3RlZFBhZ2VTaXplID0gK3RoaXMuc2VsZWN0ZWRQYWdlU2l6ZSB8fCB0aGlzLnBhZ2VTaXplc1swXT8uc2l6ZSB8fCAxMDtcclxuXHRcdH1cclxuXHR9XHJcblx0Y2hhbmdlUGFnZVNpemUoKSB7XHJcblx0XHR0aGlzLm9uQ2hhbmdlUGFnZVNpemUuZW1pdCh0aGlzLnNlbGVjdGVkUGFnZVNpemUpO1xyXG5cdH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidGFibGVQYWdlU2l6ZXNXcmFwcGVyXCIgKm5nSWY9XCJwYWdlU2l6ZXM/Lmxlbmd0aFwiPlxyXG5cdDxzcGFuIGNsYXNzPVwidGFibGVQYWdlU2l6ZUxhYmVsXCI+XHJcblx0XHR7eyAndGFibGVQYWdlU2l6ZXMnIHwgdHJhbnNsYXRlIH19XHJcblx0PC9zcGFuPlxyXG4gIDxwcmU+e3tzZWxlY3RlZFBhZ2VTaXplfX08L3ByZT5cclxuXHQ8bmctc2VsZWN0XHJcblx0XHRjbGFzcz1cInRhYmxlUGFnZVNpemVzTGlzdFwiXHJcblx0XHRbZHJvcGRvd25Qb3NpdGlvbl09XCIndG9wJ1wiXHJcblx0XHRbaXRlbXNdPVwicGFnZVNpemVzXCJcclxuXHRcdGJpbmRWYWx1ZT1cInNpemVcIlxyXG5cdFx0YmluZExhYmVsPVwibGFiZWxcIlxyXG5cdFx0WyhuZ01vZGVsKV09XCJzZWxlY3RlZFBhZ2VTaXplXCJcclxuXHRcdChjaGFuZ2UpPVwiY2hhbmdlUGFnZVNpemUoKVwiXHJcbiAgICBbc2VhcmNoYWJsZV09XCJmYWxzZVwiXHJcblx0PlxyXG5cdDwvbmctc2VsZWN0PlxyXG5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -0,0 +1,102 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ColumnRendererRegistryService {
4
+ constructor() {
5
+ this.registry = new Map();
6
+ }
7
+ register(columns) {
8
+ if (Array.isArray(columns)) {
9
+ columns.forEach((def) => this._set(def));
10
+ }
11
+ else {
12
+ this._set(columns);
13
+ }
14
+ }
15
+ /**
16
+ * Retrieves a column type definition by its unique type key.
17
+ * @param type The column type identifier
18
+ */
19
+ get(type) {
20
+ return this.registry.get(type);
21
+ }
22
+ /**
23
+ * Returns all registered column type definitions.
24
+ */
25
+ getAll() {
26
+ return Array.from(this.registry.values());
27
+ }
28
+ /**
29
+ * Gets column types filtered by app
30
+ */
31
+ getByApp(app) {
32
+ return this.getAll().filter((def) => (def === null || def === void 0 ? void 0 : def.app) === app);
33
+ }
34
+ /**
35
+ * Returns only the component associated with a column type.
36
+ * @param type The column type identifier
37
+ */
38
+ getComponent(type) {
39
+ var _a;
40
+ return (_a = this.registry.get(type)) === null || _a === void 0 ? void 0 : _a.component;
41
+ }
42
+ /**
43
+ * Gets all column types filtered by category
44
+ */
45
+ getByCategory(category) {
46
+ return Array.from(this.registry.values()).filter((def) => def.category === category);
47
+ }
48
+ /**
49
+ * Returns all unique categories
50
+ */
51
+ getCategories() {
52
+ const categories = Array.from(this.registry.values()).map((def) => def.category);
53
+ return [...new Set(categories)].sort();
54
+ }
55
+ /**
56
+ * Returns column types grouped by category
57
+ */
58
+ getGroupedByCategory() {
59
+ const grouped = {};
60
+ this.registry.forEach((definition) => {
61
+ if (!grouped[definition.category]) {
62
+ grouped[definition.category] = [];
63
+ }
64
+ grouped[definition.category].push(definition);
65
+ });
66
+ return grouped;
67
+ }
68
+ /**
69
+ * Gets column types filtered by multiple categories
70
+ */
71
+ getByCategories(categories) {
72
+ return Array.from(this.registry.values()).filter((def) => categories.includes(def.category));
73
+ }
74
+ /**
75
+ * Checks if a column type exists
76
+ */
77
+ has(type) {
78
+ return this.registry.has(type);
79
+ }
80
+ /**
81
+ * Clears all registered column types (mainly for testing or hot reload scenarios).
82
+ */
83
+ clear() {
84
+ this.registry.clear();
85
+ }
86
+ _set(definition) {
87
+ if (!definition.type || !definition.name) {
88
+ throw new Error('[ColumnRendererRegistry] Type and name are required fields');
89
+ }
90
+ if (this.registry.has(definition.type)) {
91
+ console.warn(`[ColumnRendererRegistry] Type '${definition.type}' is already registered. Overwriting...`);
92
+ }
93
+ this.registry.set(definition.type, definition);
94
+ }
95
+ }
96
+ ColumnRendererRegistryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ColumnRendererRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
97
+ ColumnRendererRegistryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ColumnRendererRegistryService, providedIn: 'root' });
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ColumnRendererRegistryService, decorators: [{
99
+ type: Injectable,
100
+ args: [{ providedIn: 'root' }]
101
+ }] });
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXJlbmRlcmVyLXJlZ2lzdHJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2NvbHVtbi1yZW5kZXJlci9jb2x1bW4tcmVuZGVyZXItcmVnaXN0cnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFRLE1BQU0sZUFBZSxDQUFDOztBQWVqRCxNQUFNLE9BQU8sNkJBQTZCO0lBRDFDO1FBRVUsYUFBUSxHQUFHLElBQUksR0FBRyxFQUFnQyxDQUFDO0tBaUg1RDtJQTlHQyxRQUFRLENBQUMsT0FBc0Q7UUFDN0QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzFCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMxQzthQUFNO1lBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxHQUFHLENBQUMsSUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTTtRQUNKLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUSxDQUFDLEdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFBLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxHQUFHLE1BQUssR0FBRyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVksQ0FBQyxJQUFZOztRQUN2QixPQUFPLE1BQUEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLDBDQUFFLFNBQVMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxhQUFhLENBQUMsUUFBZ0I7UUFDNUIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQzlDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FDbkMsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWE7UUFDWCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQ3ZELENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUN0QixDQUFDO1FBQ0YsT0FBTyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxvQkFBb0I7UUFDbEIsTUFBTSxPQUFPLEdBQTJDLEVBQUUsQ0FBQztRQUUzRCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUNqQyxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQzthQUNuQztZQUNELE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZUFBZSxDQUFDLFVBQW9CO1FBQ2xDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDdkQsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQ2xDLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHLENBQUMsSUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSztRQUNILElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLElBQUksQ0FBQyxVQUFnQztRQUMzQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUU7WUFDeEMsTUFBTSxJQUFJLEtBQUssQ0FDYiw0REFBNEQsQ0FDN0QsQ0FBQztTQUNIO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdEMsT0FBTyxDQUFDLElBQUksQ0FDVixrQ0FBa0MsVUFBVSxDQUFDLElBQUkseUNBQXlDLENBQzNGLENBQUM7U0FDSDtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDakQsQ0FBQzs7MkhBakhVLDZCQUE2QjsrSEFBN0IsNkJBQTZCLGNBRGhCLE1BQU07NEZBQ25CLDZCQUE2QjtrQkFEekMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgdHlwZSBDYXRlZ29yeVR5cGUgPSAnY29tbW9uJyB8ICdjdXN0b20nO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5UeXBlRGVmaW5pdGlvbiB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHR5cGU6IHN0cmluZztcclxuICBhcHA/OiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbiAgaWNvbj86IHN0cmluZztcclxuICBjb21wb25lbnQ6IFR5cGU8YW55PjtcclxuICBjYXRlZ29yeTogQ2F0ZWdvcnlUeXBlO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgQ29sdW1uUmVuZGVyZXJSZWdpc3RyeVNlcnZpY2Uge1xyXG4gIHByaXZhdGUgcmVnaXN0cnkgPSBuZXcgTWFwPHN0cmluZywgQ29sdW1uVHlwZURlZmluaXRpb24+KCk7XHJcblxyXG4gIHJlZ2lzdGVyKGNvbHVtbnM6IENvbHVtblR5cGVEZWZpbml0aW9uIHwgQ29sdW1uVHlwZURlZmluaXRpb25bXSk6IHZvaWQ7XHJcbiAgcmVnaXN0ZXIoY29sdW1uczogQ29sdW1uVHlwZURlZmluaXRpb24gfCBDb2x1bW5UeXBlRGVmaW5pdGlvbltdKTogdm9pZCB7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjb2x1bW5zKSkge1xyXG4gICAgICBjb2x1bW5zLmZvckVhY2goKGRlZikgPT4gdGhpcy5fc2V0KGRlZikpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fc2V0KGNvbHVtbnMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGEgY29sdW1uIHR5cGUgZGVmaW5pdGlvbiBieSBpdHMgdW5pcXVlIHR5cGUga2V5LlxyXG4gICAqIEBwYXJhbSB0eXBlIFRoZSBjb2x1bW4gdHlwZSBpZGVudGlmaWVyXHJcbiAgICovXHJcbiAgZ2V0KHR5cGU6IHN0cmluZyk6IENvbHVtblR5cGVEZWZpbml0aW9uIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLnJlZ2lzdHJ5LmdldCh0eXBlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgYWxsIHJlZ2lzdGVyZWQgY29sdW1uIHR5cGUgZGVmaW5pdGlvbnMuXHJcbiAgICovXHJcbiAgZ2V0QWxsKCk6IENvbHVtblR5cGVEZWZpbml0aW9uW10ge1xyXG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5yZWdpc3RyeS52YWx1ZXMoKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXRzIGNvbHVtbiB0eXBlcyBmaWx0ZXJlZCBieSBhcHBcclxuICAgKi9cclxuICBnZXRCeUFwcChhcHA6IHN0cmluZyk6IENvbHVtblR5cGVEZWZpbml0aW9uW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsKCkuZmlsdGVyKChkZWYpID0+IGRlZj8uYXBwID09PSBhcHApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyBvbmx5IHRoZSBjb21wb25lbnQgYXNzb2NpYXRlZCB3aXRoIGEgY29sdW1uIHR5cGUuXHJcbiAgICogQHBhcmFtIHR5cGUgVGhlIGNvbHVtbiB0eXBlIGlkZW50aWZpZXJcclxuICAgKi9cclxuICBnZXRDb21wb25lbnQodHlwZTogc3RyaW5nKTogVHlwZTx1bmtub3duPiB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5yZWdpc3RyeS5nZXQodHlwZSk/LmNvbXBvbmVudDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgYWxsIGNvbHVtbiB0eXBlcyBmaWx0ZXJlZCBieSBjYXRlZ29yeVxyXG4gICAqL1xyXG4gIGdldEJ5Q2F0ZWdvcnkoY2F0ZWdvcnk6IHN0cmluZyk6IENvbHVtblR5cGVEZWZpbml0aW9uW10ge1xyXG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5yZWdpc3RyeS52YWx1ZXMoKSkuZmlsdGVyKFxyXG4gICAgICAoZGVmKSA9PiBkZWYuY2F0ZWdvcnkgPT09IGNhdGVnb3J5LFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgYWxsIHVuaXF1ZSBjYXRlZ29yaWVzXHJcbiAgICovXHJcbiAgZ2V0Q2F0ZWdvcmllcygpOiBzdHJpbmdbXSB7XHJcbiAgICBjb25zdCBjYXRlZ29yaWVzID0gQXJyYXkuZnJvbSh0aGlzLnJlZ2lzdHJ5LnZhbHVlcygpKS5tYXAoXHJcbiAgICAgIChkZWYpID0+IGRlZi5jYXRlZ29yeSxcclxuICAgICk7XHJcbiAgICByZXR1cm4gWy4uLm5ldyBTZXQoY2F0ZWdvcmllcyldLnNvcnQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgY29sdW1uIHR5cGVzIGdyb3VwZWQgYnkgY2F0ZWdvcnlcclxuICAgKi9cclxuICBnZXRHcm91cGVkQnlDYXRlZ29yeSgpOiBSZWNvcmQ8c3RyaW5nLCBDb2x1bW5UeXBlRGVmaW5pdGlvbltdPiB7XHJcbiAgICBjb25zdCBncm91cGVkOiBSZWNvcmQ8c3RyaW5nLCBDb2x1bW5UeXBlRGVmaW5pdGlvbltdPiA9IHt9O1xyXG5cclxuICAgIHRoaXMucmVnaXN0cnkuZm9yRWFjaCgoZGVmaW5pdGlvbikgPT4ge1xyXG4gICAgICBpZiAoIWdyb3VwZWRbZGVmaW5pdGlvbi5jYXRlZ29yeV0pIHtcclxuICAgICAgICBncm91cGVkW2RlZmluaXRpb24uY2F0ZWdvcnldID0gW107XHJcbiAgICAgIH1cclxuICAgICAgZ3JvdXBlZFtkZWZpbml0aW9uLmNhdGVnb3J5XS5wdXNoKGRlZmluaXRpb24pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIGdyb3VwZWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXRzIGNvbHVtbiB0eXBlcyBmaWx0ZXJlZCBieSBtdWx0aXBsZSBjYXRlZ29yaWVzXHJcbiAgICovXHJcbiAgZ2V0QnlDYXRlZ29yaWVzKGNhdGVnb3JpZXM6IHN0cmluZ1tdKTogQ29sdW1uVHlwZURlZmluaXRpb25bXSB7XHJcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnJlZ2lzdHJ5LnZhbHVlcygpKS5maWx0ZXIoKGRlZikgPT5cclxuICAgICAgY2F0ZWdvcmllcy5pbmNsdWRlcyhkZWYuY2F0ZWdvcnkpLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrcyBpZiBhIGNvbHVtbiB0eXBlIGV4aXN0c1xyXG4gICAqL1xyXG4gIGhhcyh0eXBlOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnJlZ2lzdHJ5Lmhhcyh0eXBlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsZWFycyBhbGwgcmVnaXN0ZXJlZCBjb2x1bW4gdHlwZXMgKG1haW5seSBmb3IgdGVzdGluZyBvciBob3QgcmVsb2FkIHNjZW5hcmlvcykuXHJcbiAgICovXHJcbiAgY2xlYXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlZ2lzdHJ5LmNsZWFyKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXQoZGVmaW5pdGlvbjogQ29sdW1uVHlwZURlZmluaXRpb24pOiB2b2lkIHtcclxuICAgIGlmICghZGVmaW5pdGlvbi50eXBlIHx8ICFkZWZpbml0aW9uLm5hbWUpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICdbQ29sdW1uUmVuZGVyZXJSZWdpc3RyeV0gVHlwZSBhbmQgbmFtZSBhcmUgcmVxdWlyZWQgZmllbGRzJyxcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5yZWdpc3RyeS5oYXMoZGVmaW5pdGlvbi50eXBlKSkge1xyXG4gICAgICBjb25zb2xlLndhcm4oXHJcbiAgICAgICAgYFtDb2x1bW5SZW5kZXJlclJlZ2lzdHJ5XSBUeXBlICcke2RlZmluaXRpb24udHlwZX0nIGlzIGFscmVhZHkgcmVnaXN0ZXJlZC4gT3ZlcndyaXRpbmcuLi5gLFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZWdpc3RyeS5zZXQoZGVmaW5pdGlvbi50eXBlLCBkZWZpbml0aW9uKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './column-renderer-registry.service';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2NvbHVtbi1yZW5kZXJlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9DQUFvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb2x1bW4tcmVuZGVyZXItcmVnaXN0cnkuc2VydmljZSc7XHJcbiJdfQ==
@@ -54,6 +54,39 @@ export class ExtensionService {
54
54
  /**
55
55
  * Adds one or more new components to the existing set.
56
56
  * @param values The new components to add
57
+ * @deprecated This method is deprecated for column components and will be removed in a future version.
58
+ * Use `ColumnRendererRegistryService.register()` instead for registering column components.
59
+ *
60
+ * @example
61
+ * // For columns (deprecated)
62
+ * this.setComponents({ 'common.components.text': TextComponent, 'number': NumberComponent });
63
+ *
64
+ * // For columns (recommended - single)
65
+ * this.columnRegistry.register({
66
+ * name: 'Text Column',
67
+ * type: 'common.text',
68
+ * category: 'basic',
69
+ * component: TextComponent
70
+ * });
71
+ *
72
+ * // For columns (recommended - multiple)
73
+ * this.columnRegistry.register([
74
+ * {
75
+ * name: 'Text Column',
76
+ * type: 'common.text',
77
+ * category: 'basic',
78
+ * component: TextComponent
79
+ * },
80
+ * {
81
+ * name: 'Number Column',
82
+ * type: 'common.number',
83
+ * category: 'basic',
84
+ * component: NumberComponent
85
+ * }
86
+ * ]);
87
+ *
88
+ * // For viewer components (still supported)
89
+ * this.setComponents({ 'viewer.components.pdf': PdfViewerComponent });
57
90
  */
58
91
  setComponents(values) {
59
92
  this.componentRegister.setComponents(values);
@@ -64,9 +97,7 @@ export class ExtensionService {
64
97
  * @returns Array of auth guards or empty array if none were found
65
98
  */
66
99
  getAuthGuards(ids) {
67
- return (ids || [])
68
- .map((id) => this.authGuards[id])
69
- .filter((guard) => guard);
100
+ return (ids || []).map((id) => this.authGuards[id]).filter((guard) => guard);
70
101
  }
71
102
  /**
72
103
  * Retrieves a registered extension component using its ID value.
@@ -117,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
117
148
  type: Inject,
118
149
  args: [EXTENSION_JSONS]
119
150
  }] }]; } });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2V4dGVuc2lvbi9leHRlbnNpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFRLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQUl2QyxNQUFNLFVBQVUscUJBQXFCO0lBQ2pDLE9BQU8sRUFBRSxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBYSxpQkFBaUIsRUFBRTtJQUM3RSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUscUJBQXFCO0NBQ2pDLENBQUMsQ0FBQztBQUVILE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxLQUFlO0lBQ2xELE9BQU87UUFDSCxPQUFPLEVBQUUsZUFBZTtRQUN4QixRQUFRLEVBQUUsS0FBSztRQUNmLEtBQUssRUFBRSxJQUFJO0tBQ2QsQ0FBQztBQUNOLENBQUM7QUFLRCxNQUFNLE9BQU8sZ0JBQWdCO0lBWXpCLFlBQ2MsTUFBOEIsRUFDOUIsaUJBQTJDLEVBQ2xCLGNBQXdCO1FBRmpELFdBQU0sR0FBTixNQUFNLENBQXdCO1FBQzlCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBMEI7UUFDbEIsbUJBQWMsR0FBZCxjQUFjLENBQVU7UUFickQsV0FBTSxHQUFHLElBQUksQ0FBQztRQUV4QixlQUFVLEdBQUcsNEJBQTRCLENBQUM7UUFDMUMsZ0JBQVcsR0FBRyxnQkFBZ0IsQ0FBQztRQUMvQixhQUFRLEdBQWUsRUFBRSxDQUFDO1FBQzFCLGVBQVUsR0FBZ0MsRUFBRSxDQUFDO1FBRW5DLGFB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QUM7WUFDOUIsTUFBTSxFQUFFLEdBQUcsSUFBSSxRQUFRLENBQUMsU0FBUyxFQUFFLFVBQVUsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUMzRCxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFM0IsT0FBTyxNQUFNLENBQUM7U0FDakI7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOzs4R0E5R1EsZ0JBQWdCLGdHQWViLGVBQWU7a0hBZmxCLGdCQUFnQixjQUZiLE1BQU07NEZBRVQsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBZ0JRLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFR5cGUsIEluamVjdGlvblRva2VuLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbXBvbmVudFJlZ2lzdGVyU2VydmljZSB9IGZyb20gJy4vY29tcG9uZW50LXJlZ2lzdGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFeHRlbnNpb25Mb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi9leHRlbnNpb24tbG9hZGVyLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGV4dGVuc2lvbkpzb25zRmFjdG9yeSgpIHtcclxuICAgIHJldHVybiBbXTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IEVYVEVOU0lPTl9KU09OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmdbXVtdPignZXh0ZW5zaW9uLWpzb25zJywge1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG4gICAgZmFjdG9yeTogZXh0ZW5zaW9uSnNvbnNGYWN0b3J5XHJcbn0pO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVFeHRlbnNpb25Db25maWcoanNvbnM6IHN0cmluZ1tdKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIHByb3ZpZGU6IEVYVEVOU0lPTl9KU09OUyxcclxuICAgICAgICB1c2VWYWx1ZToganNvbnMsXHJcbiAgICAgICAgbXVsdGk6IHRydWVcclxuICAgIH07XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRXh0ZW5zaW9uU2VydmljZSB7XHJcblxyXG4gICAgcHJvdGVjdGVkIGNvbmZpZyA9IG51bGw7XHJcblxyXG4gICAgY29uZmlnUGF0aCA9ICdhc3NldHMvYXBwLmV4dGVuc2lvbnMuanNvbic7XHJcbiAgICBwbHVnaW5zUGF0aCA9ICdhc3NldHMvcGx1Z2lucyc7XHJcbiAgICBmZWF0dXJlczogQXJyYXk8YW55PiA9IFtdO1xyXG4gICAgYXV0aEd1YXJkczogeyBba2V5OiBzdHJpbmddOiBUeXBlPHt9PiB9ID0ge307XHJcblxyXG4gICAgcHJvdGVjdGVkIG9uU2V0dXAkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHRoaXMuY29uZmlnKTtcclxuICAgIHNldHVwJCA9IHRoaXMub25TZXR1cCQuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJvdGVjdGVkIGxvYWRlcjogRXh0ZW5zaW9uTG9hZGVyU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgY29tcG9uZW50UmVnaXN0ZXI6IENvbXBvbmVudFJlZ2lzdGVyU2VydmljZSxcclxuICAgICAgICBASW5qZWN0KEVYVEVOU0lPTl9KU09OUykgcHJvdGVjdGVkIGV4dGVuc2lvbkpzb25zOiBzdHJpbmdbXVxyXG4gICAgKSB7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIGZlYXR1cmVzIGJ5IGtleS5cclxuICAgICAqIEBwYXJhbSBrZXkgS2V5IHN0cmluZywgdXNpbmcgZG90IG5vdGF0aW9uXHJcbiAgICAgKiBAcmV0dXJucyBGZWF0dXJlcyBhcnJheSBmb3VuZCBieSBrZXlcclxuICAgICAqL1xyXG4gICAgZ2V0RmVhdHVyZShrZXk6IHN0cmluZyk6IGFueVtdIHtcclxuICAgICAgICBjb25zdCBwcm9wZXJ0aWVzOiBzdHJpbmdbXSA9IEFycmF5LmlzQXJyYXkoa2V5KSA/IFtrZXldIDoga2V5LnNwbGl0KCcuJyk7XHJcbiAgICAgICAgcmV0dXJuIHByb3BlcnRpZXMucmVkdWNlKChwcmV2LCBjdXJyKSA9PiBwcmV2ICYmIHByZXZbY3Vycl0sIHRoaXMuZmVhdHVyZXMpIHx8IFtdO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEVsZW1lbnRzKGtleTogc3RyaW5nLCBmYWxsYmFjazogQXJyYXk8YW55PiA9IFtdKTogQXJyYXk8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubG9hZGVyLmdldEVsZW1lbnRzKHRoaXMuY29uZmlnLCBrZXksIGZhbGxiYWNrKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFkZHMgb25lIG9yIG1vcmUgbmV3IGF1dGggZ3VhcmRzIHRvIHRoZSBleGlzdGluZyBzZXQuXHJcbiAgICAgKiBAcGFyYW0gdmFsdWVzIFRoZSBuZXcgYXV0aCBndWFyZHMgdG8gYWRkXHJcbiAgICAgKi9cclxuICAgIHNldEF1dGhHdWFyZHModmFsdWVzOiB7IFtrZXk6IHN0cmluZ106IFR5cGU8e30+IH0pIHtcclxuICAgICAgICBpZiAodmFsdWVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXV0aEd1YXJkcyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuYXV0aEd1YXJkcywgdmFsdWVzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBZGRzIG9uZSBvciBtb3JlIG5ldyBjb21wb25lbnRzIHRvIHRoZSBleGlzdGluZyBzZXQuXHJcbiAgICAgKiBAcGFyYW0gdmFsdWVzIFRoZSBuZXcgY29tcG9uZW50cyB0byBhZGRcclxuICAgICAqL1xyXG4gICAgc2V0Q29tcG9uZW50cyh2YWx1ZXM6IHsgW2tleTogc3RyaW5nXTogVHlwZTx7fT4gfSkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVnaXN0ZXIuc2V0Q29tcG9uZW50cyh2YWx1ZXMpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHJpZXZlcyBvbmUgb3IgbW9yZSBhdXRoIGd1YXJkcyB1c2luZyBhbiBhcnJheSBvZiBJRCB2YWx1ZXMuXHJcbiAgICAgKiBAcGFyYW0gaWRzIEFycmF5IG9mIElEIHZhbHVlIHRvIGxvb2sgZm9yXHJcbiAgICAgKiBAcmV0dXJucyBBcnJheSBvZiBhdXRoIGd1YXJkcyBvciBlbXB0eSBhcnJheSBpZiBub25lIHdlcmUgZm91bmRcclxuICAgICAqL1xyXG4gICAgZ2V0QXV0aEd1YXJkcyhpZHM6IHN0cmluZ1tdKTogQXJyYXk8VHlwZTx7fT4+IHtcclxuICAgICAgICByZXR1cm4gKGlkcyB8fCBbXSlcclxuICAgICAgICAgICAgLm1hcCgoaWQpID0+IHRoaXMuYXV0aEd1YXJkc1tpZF0pXHJcbiAgICAgICAgICAgIC5maWx0ZXIoKGd1YXJkKSA9PiBndWFyZCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIFxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHJpZXZlcyBhIHJlZ2lzdGVyZWQgZXh0ZW5zaW9uIGNvbXBvbmVudCB1c2luZyBpdHMgSUQgdmFsdWUuXHJcbiAgICAgKiBAcGFyYW0gaWQgVGhlIElEIHZhbHVlIHRvIGxvb2sgZm9yXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50IG9yIG51bGwgaWYgbm90IGZvdW5kXHJcbiAgICAgKi9cclxuICAgIGdldENvbXBvbmVudEJ5SWQ8VD4oaWQ6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBvbmVudFJlZ2lzdGVyLmdldENvbXBvbmVudEJ5SWQ8VD4oaWQpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJ1bnMgYSBsaWdodHdlaWdodCBleHByZXNzaW9uIHN0b3JlZCBpbiBhIHN0cmluZy5cclxuICAgICAqIEBwYXJhbSB2YWx1ZSBTdHJpbmcgY29udGFpbmluZyB0aGUgZXhwcmVzc2lvbiBvciBsaXRlcmFsIHZhbHVlXHJcbiAgICAgKiBAcGFyYW0gY29udGV4dCBQYXJhbWV0ZXIgb2JqZWN0IGZvciB0aGUgZXhwcmVzc2lvbiB3aXRoIGRldGFpbHMgb2YgYXBwIHN0YXRlXHJcbiAgICAgKiBAcmV0dXJucyBSZXN1bHQgb2YgZXZhbHVhdGVkIGV4cHJlc3Npb24sIGlmIGZvdW5kLCBvciB0aGUgbGl0ZXJhbCB2YWx1ZSBvdGhlcndpc2VcclxuICAgICAqL1xyXG4gICAgcnVuRXhwcmVzc2lvbih2YWx1ZTogc3RyaW5nIHwge30gLCBjb250ZXh0PzogYW55KSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmV2YWx1YXRlRXhwcmVzc2lvbih2YWx1ZSwgY29udGV4dCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgZHVwbGljYXRlID0gT2JqZWN0LmFzc2lnbih7fSwgdmFsdWUpO1xyXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhkdXBsaWNhdGUpLmZvckVhY2goIChrZXkpID0+IHtcclxuICAgICAgICAgICAgICAgIGR1cGxpY2F0ZVtrZXldID0gdGhpcy5ldmFsdWF0ZUV4cHJlc3Npb24oZHVwbGljYXRlW2tleV0sIGNvbnRleHQpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgcmV0dXJuIGR1cGxpY2F0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBldmFsdWF0ZUV4cHJlc3Npb24odmFsdWU6IHN0cmluZywgY29udGV4dD86IGFueSk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QgcGF0dGVybiA9IG5ldyBSZWdFeHAoL1xcJFxcKCguKlxcKT8pXFwpL2cpO1xyXG4gICAgICAgIGNvbnN0IG1hdGNoZXMgPSBwYXR0ZXJuLmV4ZWModmFsdWUpO1xyXG5cclxuICAgICAgICBpZiAobWF0Y2hlcyAmJiBtYXRjaGVzLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAgICAgY29uc3QgZXhwcmVzc2lvbiA9IG1hdGNoZXNbMV07XHJcbiAgICAgICAgICAgIGNvbnN0IGZuID0gbmV3IEZ1bmN0aW9uKCdjb250ZXh0JywgYHJldHVybiAke2V4cHJlc3Npb259YCk7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGZuKGNvbnRleHQpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2V4dGVuc2lvbi9leHRlbnNpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFRLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQUl2QyxNQUFNLFVBQVUscUJBQXFCO0lBQ3BDLE9BQU8sRUFBRSxDQUFDO0FBQ1gsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBYSxpQkFBaUIsRUFBRTtJQUNoRixVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUscUJBQXFCO0NBQzlCLENBQUMsQ0FBQztBQUVILE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxLQUFlO0lBQ3JELE9BQU87UUFDTixPQUFPLEVBQUUsZUFBZTtRQUN4QixRQUFRLEVBQUUsS0FBSztRQUNmLEtBQUssRUFBRSxJQUFJO0tBQ1gsQ0FBQztBQUNILENBQUM7QUFLRCxNQUFNLE9BQU8sZ0JBQWdCO0lBVzVCLFlBQ1csTUFBOEIsRUFDOUIsaUJBQTJDLEVBQ2xCLGNBQXdCO1FBRmpELFdBQU0sR0FBTixNQUFNLENBQXdCO1FBQzlCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBMEI7UUFDbEIsbUJBQWMsR0FBZCxjQUFjLENBQVU7UUFibEQsV0FBTSxHQUFHLElBQUksQ0FBQztRQUV4QixlQUFVLEdBQUcsNEJBQTRCLENBQUM7UUFDMUMsZ0JBQVcsR0FBRyxnQkFBZ0IsQ0FBQztRQUMvQixhQUFRLEdBQWUsRUFBRSxDQUFDO1FBQzFCLGVBQVUsR0FBZ0MsRUFBRSxDQUFDO1FBRW5DLGFB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LFVBQVUsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUIsTUFBTSxFQUFFLEdBQUcsSUFBSSxRQUFRLENBQUMsU0FBUyxFQUFFLFVBQVUsVUFBVSxFQUFFLENBQUMsQ0FBQztZQUMzRCxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFM0IsT0FBTyxNQUFNLENBQUM7U0FDZDtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2QsQ0FBQzs7OEdBbElXLGdCQUFnQixnR0FjbkIsZUFBZTtrSEFkWixnQkFBZ0IsY0FGaEIsTUFBTTs0RkFFTixnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCOzswQkFlRSxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBUeXBlLCBJbmplY3Rpb25Ub2tlbiwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRSZWdpc3RlclNlcnZpY2UgfSBmcm9tICcuL2NvbXBvbmVudC1yZWdpc3Rlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRXh0ZW5zaW9uTG9hZGVyU2VydmljZSB9IGZyb20gJy4vZXh0ZW5zaW9uLWxvYWRlci5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBleHRlbnNpb25Kc29uc0ZhY3RvcnkoKSB7XHJcblx0cmV0dXJuIFtdO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgRVhURU5TSU9OX0pTT05TID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZ1tdW10+KCdleHRlbnNpb24tanNvbnMnLCB7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG5cdGZhY3Rvcnk6IGV4dGVuc2lvbkpzb25zRmFjdG9yeVxyXG59KTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRXh0ZW5zaW9uQ29uZmlnKGpzb25zOiBzdHJpbmdbXSkge1xyXG5cdHJldHVybiB7XHJcblx0XHRwcm92aWRlOiBFWFRFTlNJT05fSlNPTlMsXHJcblx0XHR1c2VWYWx1ZToganNvbnMsXHJcblx0XHRtdWx0aTogdHJ1ZVxyXG5cdH07XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEV4dGVuc2lvblNlcnZpY2Uge1xyXG5cdHByb3RlY3RlZCBjb25maWcgPSBudWxsO1xyXG5cclxuXHRjb25maWdQYXRoID0gJ2Fzc2V0cy9hcHAuZXh0ZW5zaW9ucy5qc29uJztcclxuXHRwbHVnaW5zUGF0aCA9ICdhc3NldHMvcGx1Z2lucyc7XHJcblx0ZmVhdHVyZXM6IEFycmF5PGFueT4gPSBbXTtcclxuXHRhdXRoR3VhcmRzOiB7IFtrZXk6IHN0cmluZ106IFR5cGU8e30+IH0gPSB7fTtcclxuXHJcblx0cHJvdGVjdGVkIG9uU2V0dXAkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHRoaXMuY29uZmlnKTtcclxuXHRzZXR1cCQgPSB0aGlzLm9uU2V0dXAkLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByb3RlY3RlZCBsb2FkZXI6IEV4dGVuc2lvbkxvYWRlclNlcnZpY2UsXHJcblx0XHRwcm90ZWN0ZWQgY29tcG9uZW50UmVnaXN0ZXI6IENvbXBvbmVudFJlZ2lzdGVyU2VydmljZSxcclxuXHRcdEBJbmplY3QoRVhURU5TSU9OX0pTT05TKSBwcm90ZWN0ZWQgZXh0ZW5zaW9uSnNvbnM6IHN0cmluZ1tdXHJcblx0KSB7fVxyXG5cclxuXHQvKipcclxuXHQgKiBHZXRzIGZlYXR1cmVzIGJ5IGtleS5cclxuXHQgKiBAcGFyYW0ga2V5IEtleSBzdHJpbmcsIHVzaW5nIGRvdCBub3RhdGlvblxyXG5cdCAqIEByZXR1cm5zIEZlYXR1cmVzIGFycmF5IGZvdW5kIGJ5IGtleVxyXG5cdCAqL1xyXG5cdGdldEZlYXR1cmUoa2V5OiBzdHJpbmcpOiBhbnlbXSB7XHJcblx0XHRjb25zdCBwcm9wZXJ0aWVzOiBzdHJpbmdbXSA9IEFycmF5LmlzQXJyYXkoa2V5KSA/IFtrZXldIDoga2V5LnNwbGl0KCcuJyk7XHJcblx0XHRyZXR1cm4gcHJvcGVydGllcy5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IHByZXYgJiYgcHJldltjdXJyXSwgdGhpcy5mZWF0dXJlcykgfHwgW107XHJcblx0fVxyXG5cclxuXHRnZXRFbGVtZW50cyhrZXk6IHN0cmluZywgZmFsbGJhY2s6IEFycmF5PGFueT4gPSBbXSk6IEFycmF5PGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMubG9hZGVyLmdldEVsZW1lbnRzKHRoaXMuY29uZmlnLCBrZXksIGZhbGxiYWNrKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEFkZHMgb25lIG9yIG1vcmUgbmV3IGF1dGggZ3VhcmRzIHRvIHRoZSBleGlzdGluZyBzZXQuXHJcblx0ICogQHBhcmFtIHZhbHVlcyBUaGUgbmV3IGF1dGggZ3VhcmRzIHRvIGFkZFxyXG5cdCAqL1xyXG5cdHNldEF1dGhHdWFyZHModmFsdWVzOiB7IFtrZXk6IHN0cmluZ106IFR5cGU8e30+IH0pIHtcclxuXHRcdGlmICh2YWx1ZXMpIHtcclxuXHRcdFx0dGhpcy5hdXRoR3VhcmRzID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5hdXRoR3VhcmRzLCB2YWx1ZXMpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQWRkcyBvbmUgb3IgbW9yZSBuZXcgY29tcG9uZW50cyB0byB0aGUgZXhpc3Rpbmcgc2V0LlxyXG5cdCAqIEBwYXJhbSB2YWx1ZXMgVGhlIG5ldyBjb21wb25lbnRzIHRvIGFkZFxyXG5cdCAqIEBkZXByZWNhdGVkIFRoaXMgbWV0aG9kIGlzIGRlcHJlY2F0ZWQgZm9yIGNvbHVtbiBjb21wb25lbnRzIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbi5cclxuXHQgKiBVc2UgYENvbHVtblJlbmRlcmVyUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyKClgIGluc3RlYWQgZm9yIHJlZ2lzdGVyaW5nIGNvbHVtbiBjb21wb25lbnRzLlxyXG5cdCAqXHJcblx0ICogQGV4YW1wbGVcclxuXHQgKiAvLyBGb3IgY29sdW1ucyAoZGVwcmVjYXRlZClcclxuXHQgKiB0aGlzLnNldENvbXBvbmVudHMoeyAnY29tbW9uLmNvbXBvbmVudHMudGV4dCc6IFRleHRDb21wb25lbnQsICdudW1iZXInOiBOdW1iZXJDb21wb25lbnQgfSk7XHJcblx0ICpcclxuXHQgKiAvLyBGb3IgY29sdW1ucyAocmVjb21tZW5kZWQgLSBzaW5nbGUpXHJcblx0ICogdGhpcy5jb2x1bW5SZWdpc3RyeS5yZWdpc3Rlcih7XHJcblx0ICogICBuYW1lOiAnVGV4dCBDb2x1bW4nLFxyXG5cdCAqICAgdHlwZTogJ2NvbW1vbi50ZXh0JyxcclxuXHQgKiAgIGNhdGVnb3J5OiAnYmFzaWMnLFxyXG5cdCAqICAgY29tcG9uZW50OiBUZXh0Q29tcG9uZW50XHJcblx0ICogfSk7XHJcblx0ICpcclxuXHQgKiAvLyBGb3IgY29sdW1ucyAocmVjb21tZW5kZWQgLSBtdWx0aXBsZSlcclxuXHQgKiB0aGlzLmNvbHVtblJlZ2lzdHJ5LnJlZ2lzdGVyKFtcclxuXHQgKiAgIHtcclxuXHQgKiAgICAgbmFtZTogJ1RleHQgQ29sdW1uJyxcclxuXHQgKiAgICAgdHlwZTogJ2NvbW1vbi50ZXh0JyxcclxuXHQgKiAgICAgY2F0ZWdvcnk6ICdiYXNpYycsXHJcblx0ICogICAgIGNvbXBvbmVudDogVGV4dENvbXBvbmVudFxyXG5cdCAqICAgfSxcclxuXHQgKiAgIHtcclxuXHQgKiAgICAgbmFtZTogJ051bWJlciBDb2x1bW4nLFxyXG5cdCAqICAgICB0eXBlOiAnY29tbW9uLm51bWJlcicsXHJcblx0ICogICAgIGNhdGVnb3J5OiAnYmFzaWMnLFxyXG5cdCAqICAgICBjb21wb25lbnQ6IE51bWJlckNvbXBvbmVudFxyXG5cdCAqICAgfVxyXG5cdCAqIF0pO1xyXG5cdCAqXHJcblx0ICogLy8gRm9yIHZpZXdlciBjb21wb25lbnRzIChzdGlsbCBzdXBwb3J0ZWQpXHJcblx0ICogdGhpcy5zZXRDb21wb25lbnRzKHsgJ3ZpZXdlci5jb21wb25lbnRzLnBkZic6IFBkZlZpZXdlckNvbXBvbmVudCB9KTtcclxuXHQgKi9cclxuXHRzZXRDb21wb25lbnRzKHZhbHVlczogeyBba2V5OiBzdHJpbmddOiBUeXBlPHt9PiB9KSB7XHJcblx0XHR0aGlzLmNvbXBvbmVudFJlZ2lzdGVyLnNldENvbXBvbmVudHModmFsdWVzKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFJldHJpZXZlcyBvbmUgb3IgbW9yZSBhdXRoIGd1YXJkcyB1c2luZyBhbiBhcnJheSBvZiBJRCB2YWx1ZXMuXHJcblx0ICogQHBhcmFtIGlkcyBBcnJheSBvZiBJRCB2YWx1ZSB0byBsb29rIGZvclxyXG5cdCAqIEByZXR1cm5zIEFycmF5IG9mIGF1dGggZ3VhcmRzIG9yIGVtcHR5IGFycmF5IGlmIG5vbmUgd2VyZSBmb3VuZFxyXG5cdCAqL1xyXG5cdGdldEF1dGhHdWFyZHMoaWRzOiBzdHJpbmdbXSk6IEFycmF5PFR5cGU8e30+PiB7XHJcblx0XHRyZXR1cm4gKGlkcyB8fCBbXSkubWFwKChpZCkgPT4gdGhpcy5hdXRoR3VhcmRzW2lkXSkuZmlsdGVyKChndWFyZCkgPT4gZ3VhcmQpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogUmV0cmlldmVzIGEgcmVnaXN0ZXJlZCBleHRlbnNpb24gY29tcG9uZW50IHVzaW5nIGl0cyBJRCB2YWx1ZS5cclxuXHQgKiBAcGFyYW0gaWQgVGhlIElEIHZhbHVlIHRvIGxvb2sgZm9yXHJcblx0ICogQHJldHVybnMgVGhlIGNvbXBvbmVudCBvciBudWxsIGlmIG5vdCBmb3VuZFxyXG5cdCAqL1xyXG5cdGdldENvbXBvbmVudEJ5SWQ8VD4oaWQ6IHN0cmluZykge1xyXG5cdFx0cmV0dXJuIHRoaXMuY29tcG9uZW50UmVnaXN0ZXIuZ2V0Q29tcG9uZW50QnlJZDxUPihpZCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBSdW5zIGEgbGlnaHR3ZWlnaHQgZXhwcmVzc2lvbiBzdG9yZWQgaW4gYSBzdHJpbmcuXHJcblx0ICogQHBhcmFtIHZhbHVlIFN0cmluZyBjb250YWluaW5nIHRoZSBleHByZXNzaW9uIG9yIGxpdGVyYWwgdmFsdWVcclxuXHQgKiBAcGFyYW0gY29udGV4dCBQYXJhbWV0ZXIgb2JqZWN0IGZvciB0aGUgZXhwcmVzc2lvbiB3aXRoIGRldGFpbHMgb2YgYXBwIHN0YXRlXHJcblx0ICogQHJldHVybnMgUmVzdWx0IG9mIGV2YWx1YXRlZCBleHByZXNzaW9uLCBpZiBmb3VuZCwgb3IgdGhlIGxpdGVyYWwgdmFsdWUgb3RoZXJ3aXNlXHJcblx0ICovXHJcblx0cnVuRXhwcmVzc2lvbih2YWx1ZTogc3RyaW5nIHwge30sIGNvbnRleHQ/OiBhbnkpIHtcclxuXHRcdGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLmV2YWx1YXRlRXhwcmVzc2lvbih2YWx1ZSwgY29udGV4dCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRjb25zdCBkdXBsaWNhdGUgPSBPYmplY3QuYXNzaWduKHt9LCB2YWx1ZSk7XHJcblx0XHRcdE9iamVjdC5rZXlzKGR1cGxpY2F0ZSkuZm9yRWFjaCgoa2V5KSA9PiB7XHJcblx0XHRcdFx0ZHVwbGljYXRlW2tleV0gPSB0aGlzLmV2YWx1YXRlRXhwcmVzc2lvbihkdXBsaWNhdGVba2V5XSwgY29udGV4dCk7XHJcblx0XHRcdH0pO1xyXG5cdFx0XHRyZXR1cm4gZHVwbGljYXRlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBldmFsdWF0ZUV4cHJlc3Npb24odmFsdWU6IHN0cmluZywgY29udGV4dD86IGFueSk6IHN0cmluZyB7XHJcblx0XHRjb25zdCBwYXR0ZXJuID0gbmV3IFJlZ0V4cCgvXFwkXFwoKC4qXFwpPylcXCkvZyk7XHJcblx0XHRjb25zdCBtYXRjaGVzID0gcGF0dGVybi5leGVjKHZhbHVlKTtcclxuXHJcblx0XHRpZiAobWF0Y2hlcyAmJiBtYXRjaGVzLmxlbmd0aCA+IDEpIHtcclxuXHRcdFx0Y29uc3QgZXhwcmVzc2lvbiA9IG1hdGNoZXNbMV07XHJcblx0XHRcdGNvbnN0IGZuID0gbmV3IEZ1bmN0aW9uKCdjb250ZXh0JywgYHJldHVybiAke2V4cHJlc3Npb259YCk7XHJcblx0XHRcdGNvbnN0IHJlc3VsdCA9IGZuKGNvbnRleHQpO1xyXG5cclxuXHRcdFx0cmV0dXJuIHJlc3VsdDtcclxuXHRcdH1cclxuXHRcdHJldHVybiB2YWx1ZTtcclxuXHR9XHJcbn1cclxuIl19
@@ -1,4 +1,5 @@
1
1
  export * from './ndf-transform.service';
2
2
  export * from './nuxeo/nuxeo.service';
3
3
  export * from './roles/roles.service';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9uZGYtdHJhbnNmb3JtLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL251eGVvL251eGVvLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3JvbGVzL3JvbGVzLnNlcnZpY2UnO1xyXG4iXX0=
4
+ export * from './column-renderer';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL25kZi10cmFuc2Zvcm0uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbnV4ZW8vbnV4ZW8uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcm9sZXMvcm9sZXMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29sdW1uLXJlbmRlcmVyJztcclxuIl19
@@ -1,6 +1,6 @@
1
1
  import { BaseService } from './base.service';
2
2
  import { AppConfigService } from '../../../configuration/app-config.service';
3
- import { map, switchMap } from 'rxjs/operators';
3
+ import { catchError, map, switchMap } from 'rxjs/operators';
4
4
  import { of } from 'rxjs';
5
5
  import _, { cloneDeep } from 'lodash';
6
6
  import { Injectable } from '@angular/core';
@@ -11,15 +11,22 @@ export class BaseEditorConfigService extends BaseService {
11
11
  this.injector = injector;
12
12
  this.appConfigService = this.injector.get(AppConfigService);
13
13
  }
14
- fetchData({ key, type, app, localPath }) {
14
+ fetchData({ key, type, app, localPath, }) {
15
15
  return this.request({
16
16
  type: 'get',
17
17
  endpoint: `/search/pp/PP_NDF_UI_Configurations/execute`,
18
18
  queryParams: Object.assign({ ndfuiconfig_type: type, ndfuiconfig_key: key }, (app ? { ndfuiconfig_app: app } : {})),
19
19
  headers: {
20
- properties: 'ndfuiconfig,note'
21
- }
22
- }).pipe(map((response) => { var _a; return (_a = response.entries) === null || _a === void 0 ? void 0 : _a[0]; }), switchMap((entry) => {
20
+ properties: 'ndfuiconfig,note',
21
+ },
22
+ }).pipe(map((response) => { var _a; return (_a = response.entries) === null || _a === void 0 ? void 0 : _a[0]; }), catchError((error) => {
23
+ return this._getDataFromLocal({
24
+ key,
25
+ type,
26
+ app,
27
+ localPath,
28
+ });
29
+ }), switchMap((entry) => {
23
30
  var _a;
24
31
  const content = this._parseData((_a = entry === null || entry === void 0 ? void 0 : entry.properties) === null || _a === void 0 ? void 0 : _a['note:note']);
25
32
  if (content) {
@@ -30,24 +37,32 @@ export class BaseEditorConfigService extends BaseService {
30
37
  key: key,
31
38
  type: type,
32
39
  app: entry.properties['ndfuiconfig:app'],
33
- config: content
34
- }
40
+ config: content,
41
+ },
35
42
  });
36
43
  }
37
- const config = this.appConfigService.myConfiguration || {};
38
- const base = localPath ? _.get(config, localPath) : config;
39
- const data = cloneDeep(_.get(base, key));
40
- return of({
41
- submitted: false,
42
- data: {
43
- key: key,
44
- type: type,
45
- app: app,
46
- config: data
47
- }
44
+ return this._getDataFromLocal({
45
+ key,
46
+ type,
47
+ app,
48
+ localPath,
48
49
  });
49
50
  }));
50
51
  }
52
+ _getDataFromLocal({ key, type, app, localPath }) {
53
+ const config = this.appConfigService.myConfiguration || {};
54
+ const base = localPath ? _.get(config, localPath) : config;
55
+ const data = cloneDeep(_.get(base, key));
56
+ return of({
57
+ submitted: false,
58
+ data: {
59
+ key: key,
60
+ type: type,
61
+ app: app,
62
+ config: data,
63
+ },
64
+ });
65
+ }
51
66
  _parseData(data) {
52
67
  if (!data) {
53
68
  return null;
@@ -67,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
67
82
  type: Injectable,
68
83
  args: [{ providedIn: 'root' }]
69
84
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1lZGl0b3ItY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvYmFzZS9iYXNlLWVkaXRvci1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFN0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFCLE9BQU8sQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRXRDLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7O0FBd0JyRCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsV0FBVztJQUV2RCxZQUFtQixRQUFrQjtRQUNwQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFERSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRDNCLHFCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFHakUsQ0FBQztJQUVELFNBQVMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBc0I7UUFDMUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUF3QjtZQUMxQyxJQUFJLEVBQUUsS0FBSztZQUNYLFFBQVEsRUFBRSw2Q0FBNkM7WUFDdkQsV0FBVyxrQkFBSSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEdBQUcsSUFBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFFO1lBQ3ZHLE9BQU8sRUFBRTtnQkFDUixVQUFVLEVBQUUsa0JBQWtCO2FBQzlCO1NBQ0QsQ0FBQyxDQUFDLElBQUksQ0FDTixHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxXQUFDLE9BQUEsTUFBQSxRQUFRLENBQUMsT0FBTywwQ0FBRyxDQUFDLENBQUMsQ0FBQSxFQUFBLENBQUMsRUFDeEMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7O1lBQ25CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsVUFBVSwwQ0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBRWxFLElBQUksT0FBTyxFQUFFO2dCQUNaLE9BQU8sRUFBRSxDQUFDO29CQUNULFNBQVMsRUFBRSxJQUFJO29CQUNmLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztvQkFDZCxJQUFJLEVBQUU7d0JBQ0wsR0FBRyxFQUFFLEdBQUc7d0JBQ1IsSUFBSSxFQUFFLElBQUk7d0JBQ1YsR0FBRyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUM7d0JBQ3hDLE1BQU0sRUFBRSxPQUFPO3FCQUNmO2lCQUNELENBQUMsQ0FBQzthQUNIO1lBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUM7WUFDM0QsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQzNELE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBRXpDLE9BQU8sRUFBRSxDQUFDO2dCQUNULFNBQVMsRUFBRSxLQUFLO2dCQUNoQixJQUFJLEVBQUU7b0JBQ0wsR0FBRyxFQUFFLEdBQUc7b0JBQ1IsSUFBSSxFQUFFLElBQUk7b0JBQ1YsR0FBRyxFQUFFLEdBQUc7b0JBQ1IsTUFBTSxFQUFFLElBQUk7aUJBQ1o7YUFDRCxDQUFDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDRixDQUFDO0lBQ0gsQ0FBQztJQUVPLFVBQVUsQ0FBQyxJQUFZO1FBQzlCLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVixPQUFPLElBQUksQ0FBQztTQUNaO1FBQ0QsSUFBSTtZQUNILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN4QjtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2YsT0FBTyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMzQyxPQUFPLElBQUksQ0FBQztTQUNaO0lBQ0YsQ0FBQzs7cUhBM0RXLHVCQUF1Qjt5SEFBdkIsdUJBQXVCLGNBRFYsTUFBTTs0RkFDbkIsdUJBQXVCO2tCQURuQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi9iYXNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29uZmlndXJhdGlvbi9hcHAtY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcGlSZXNwb25zZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IF8sIHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOREZfRURJVE9SX1RZUEUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xyXG5cclxuZXhwb3J0IHR5cGUgQ29uZmlnVHlwZSA9ICh0eXBlb2YgTkRGX0VESVRPUl9UWVBFKVtrZXlvZiB0eXBlb2YgTkRGX0VESVRPUl9UWVBFXTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnUmVzcG9uc2VNb2RlbCB7XHJcblx0c3VibWl0dGVkOiBib29sZWFuO1xyXG5cdHVpZD86IHN0cmluZztcclxuXHRkYXRhOiB7XHJcblx0XHRrZXk6IHN0cmluZztcclxuXHRcdHR5cGU6IHN0cmluZztcclxuXHRcdGFwcD86IHN0cmluZztcclxuXHRcdGNvbmZpZzogUmVjb3JkPHN0cmluZywgYW55PjtcclxuXHR9O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ1JlcXVlc3RNb2RlbCB7XHJcblx0a2V5OiBzdHJpbmc7XHJcblx0dHlwZTogQ29uZmlnVHlwZTtcclxuXHRhcHA/OiBzdHJpbmc7XHJcblx0bG9jYWxQYXRoPzogc3RyaW5nO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgQmFzZUVkaXRvckNvbmZpZ1NlcnZpY2UgZXh0ZW5kcyBCYXNlU2VydmljZSB7XHJcblx0cHJvdGVjdGVkIGFwcENvbmZpZ1NlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChBcHBDb25maWdTZXJ2aWNlKTtcclxuXHRjb25zdHJ1Y3RvcihwdWJsaWMgaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcblx0XHRzdXBlcihpbmplY3Rvcik7XHJcblx0fVxyXG5cclxuXHRmZXRjaERhdGEoeyBrZXksIHR5cGUsIGFwcCwgbG9jYWxQYXRoIH06IENvbmZpZ1JlcXVlc3RNb2RlbCk6IE9ic2VydmFibGU8Q29uZmlnUmVzcG9uc2VNb2RlbD4ge1xyXG5cdFx0cmV0dXJuIHRoaXMucmVxdWVzdDxBcGlSZXNwb25zZU1vZGVsPGFueT4+KHtcclxuXHRcdFx0dHlwZTogJ2dldCcsXHJcblx0XHRcdGVuZHBvaW50OiBgL3NlYXJjaC9wcC9QUF9OREZfVUlfQ29uZmlndXJhdGlvbnMvZXhlY3V0ZWAsXHJcblx0XHRcdHF1ZXJ5UGFyYW1zOiB7IG5kZnVpY29uZmlnX3R5cGU6IHR5cGUsIG5kZnVpY29uZmlnX2tleToga2V5LCAuLi4oYXBwID8geyBuZGZ1aWNvbmZpZ19hcHA6IGFwcCB9IDoge30pIH0sXHJcblx0XHRcdGhlYWRlcnM6IHtcclxuXHRcdFx0XHRwcm9wZXJ0aWVzOiAnbmRmdWljb25maWcsbm90ZSdcclxuXHRcdFx0fVxyXG5cdFx0fSkucGlwZShcclxuXHRcdFx0bWFwKChyZXNwb25zZSkgPT4gcmVzcG9uc2UuZW50cmllcz8uWzBdKSxcclxuXHRcdFx0c3dpdGNoTWFwKChlbnRyeSkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IGNvbnRlbnQgPSB0aGlzLl9wYXJzZURhdGEoZW50cnk/LnByb3BlcnRpZXM/Llsnbm90ZTpub3RlJ10pO1xyXG5cclxuXHRcdFx0XHRpZiAoY29udGVudCkge1xyXG5cdFx0XHRcdFx0cmV0dXJuIG9mKHtcclxuXHRcdFx0XHRcdFx0c3VibWl0dGVkOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHR1aWQ6IGVudHJ5LnVpZCxcclxuXHRcdFx0XHRcdFx0ZGF0YToge1xyXG5cdFx0XHRcdFx0XHRcdGtleToga2V5LFxyXG5cdFx0XHRcdFx0XHRcdHR5cGU6IHR5cGUsXHJcblx0XHRcdFx0XHRcdFx0YXBwOiBlbnRyeS5wcm9wZXJ0aWVzWyduZGZ1aWNvbmZpZzphcHAnXSxcclxuXHRcdFx0XHRcdFx0XHRjb25maWc6IGNvbnRlbnRcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRjb25zdCBjb25maWcgPSB0aGlzLmFwcENvbmZpZ1NlcnZpY2UubXlDb25maWd1cmF0aW9uIHx8IHt9O1xyXG5cdFx0XHRcdGNvbnN0IGJhc2UgPSBsb2NhbFBhdGggPyBfLmdldChjb25maWcsIGxvY2FsUGF0aCkgOiBjb25maWc7XHJcblx0XHRcdFx0Y29uc3QgZGF0YSA9IGNsb25lRGVlcChfLmdldChiYXNlLCBrZXkpKTtcclxuXHJcblx0XHRcdFx0cmV0dXJuIG9mKHtcclxuXHRcdFx0XHRcdHN1Ym1pdHRlZDogZmFsc2UsXHJcblx0XHRcdFx0XHRkYXRhOiB7XHJcblx0XHRcdFx0XHRcdGtleToga2V5LFxyXG5cdFx0XHRcdFx0XHR0eXBlOiB0eXBlLFxyXG5cdFx0XHRcdFx0XHRhcHA6IGFwcCxcclxuXHRcdFx0XHRcdFx0Y29uZmlnOiBkYXRhXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0pXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfcGFyc2VEYXRhKGRhdGE6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xyXG5cdFx0aWYgKCFkYXRhKSB7XHJcblx0XHRcdHJldHVybiBudWxsO1xyXG5cdFx0fVxyXG5cdFx0dHJ5IHtcclxuXHRcdFx0cmV0dXJuIEpTT04ucGFyc2UoZGF0YSk7XHJcblx0XHR9IGNhdGNoIChlcnJvcikge1xyXG5cdFx0XHRjb25zb2xlLndhcm4oJ0Vycm9yIHBhcnNpbmcgZGF0YTonLCBlcnJvcik7XHJcblx0XHRcdHJldHVybiBudWxsO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iXX0=
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1lZGl0b3ItY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvYmFzZS9iYXNlLWVkaXRvci1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFN0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUV0QyxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDOztBQXdCckQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLFdBQVc7SUFFdEQsWUFBbUIsUUFBa0I7UUFDbkMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBREMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUQzQixxQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBR2pFLENBQUM7SUFFRCxTQUFTLENBQUMsRUFDUixHQUFHLEVBQ0gsSUFBSSxFQUNKLEdBQUcsRUFDSCxTQUFTLEdBQ1U7UUFDbkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUF3QjtZQUN6QyxJQUFJLEVBQUUsS0FBSztZQUNYLFFBQVEsRUFBRSw2Q0FBNkM7WUFDdkQsV0FBVyxrQkFDVCxnQkFBZ0IsRUFBRSxJQUFJLEVBQ3RCLGVBQWUsRUFBRSxHQUFHLElBQ2pCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLGVBQWUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQ3pDO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLFVBQVUsRUFBRSxrQkFBa0I7YUFDL0I7U0FDRixDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLFdBQUMsT0FBQSxNQUFBLFFBQVEsQ0FBQyxPQUFPLDBDQUFHLENBQUMsQ0FBQyxDQUFBLEVBQUEsQ0FBQyxFQUN4QyxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztnQkFDNUIsR0FBRztnQkFDSCxJQUFJO2dCQUNKLEdBQUc7Z0JBQ0gsU0FBUzthQUNWLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFOztZQUNsQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFVBQVUsMENBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUVsRSxJQUFJLE9BQU8sRUFBRTtnQkFDWCxPQUFPLEVBQUUsQ0FBQztvQkFDUixTQUFTLEVBQUUsSUFBSTtvQkFDZixHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7b0JBQ2QsSUFBSSxFQUFFO3dCQUNKLEdBQUcsRUFBRSxHQUFHO3dCQUNSLElBQUksRUFBRSxJQUFJO3dCQUNWLEdBQUcsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDO3dCQUN4QyxNQUFNLEVBQUUsT0FBTztxQkFDaEI7aUJBQ0YsQ0FBQyxDQUFDO2FBQ0o7WUFFRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztnQkFDNUIsR0FBRztnQkFDSCxJQUFJO2dCQUNKLEdBQUc7Z0JBQ0gsU0FBUzthQUNWLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8saUJBQWlCLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQXNCO1FBQ3pFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDO1FBQzNELE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUMzRCxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN6QyxPQUFPLEVBQUUsQ0FBQztZQUNSLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLElBQUksRUFBRTtnQkFDSixHQUFHLEVBQUUsR0FBRztnQkFDUixJQUFJLEVBQUUsSUFBSTtnQkFDVixHQUFHLEVBQUUsR0FBRztnQkFDUixNQUFNLEVBQUUsSUFBSTthQUNiO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFVBQVUsQ0FBQyxJQUFZO1FBQzdCLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVCxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsSUFBSTtZQUNGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN6QjtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMzQyxPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQzs7cUhBcEZVLHVCQUF1Qjt5SEFBdkIsdUJBQXVCLGNBRFYsTUFBTTs0RkFDbkIsdUJBQXVCO2tCQURuQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi9iYXNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29uZmlndXJhdGlvbi9hcHAtY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcGlSZXNwb25zZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IF8sIHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOREZfRURJVE9SX1RZUEUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xyXG5cclxuZXhwb3J0IHR5cGUgQ29uZmlnVHlwZSA9ICh0eXBlb2YgTkRGX0VESVRPUl9UWVBFKVtrZXlvZiB0eXBlb2YgTkRGX0VESVRPUl9UWVBFXTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnUmVzcG9uc2VNb2RlbCB7XHJcbiAgc3VibWl0dGVkOiBib29sZWFuO1xyXG4gIHVpZD86IHN0cmluZztcclxuICBkYXRhOiB7XHJcbiAgICBrZXk6IHN0cmluZztcclxuICAgIHR5cGU6IHN0cmluZztcclxuICAgIGFwcD86IHN0cmluZztcclxuICAgIGNvbmZpZzogUmVjb3JkPHN0cmluZywgYW55PjtcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ1JlcXVlc3RNb2RlbCB7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdHlwZTogQ29uZmlnVHlwZTtcclxuICBhcHA/OiBzdHJpbmc7XHJcbiAgbG9jYWxQYXRoPzogc3RyaW5nO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgQmFzZUVkaXRvckNvbmZpZ1NlcnZpY2UgZXh0ZW5kcyBCYXNlU2VydmljZSB7XHJcbiAgcHJvdGVjdGVkIGFwcENvbmZpZ1NlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChBcHBDb25maWdTZXJ2aWNlKTtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgfVxyXG5cclxuICBmZXRjaERhdGEoe1xyXG4gICAga2V5LFxyXG4gICAgdHlwZSxcclxuICAgIGFwcCxcclxuICAgIGxvY2FsUGF0aCxcclxuICB9OiBDb25maWdSZXF1ZXN0TW9kZWwpOiBPYnNlcnZhYmxlPENvbmZpZ1Jlc3BvbnNlTW9kZWw+IHtcclxuICAgIHJldHVybiB0aGlzLnJlcXVlc3Q8QXBpUmVzcG9uc2VNb2RlbDxhbnk+Pih7XHJcbiAgICAgIHR5cGU6ICdnZXQnLFxyXG4gICAgICBlbmRwb2ludDogYC9zZWFyY2gvcHAvUFBfTkRGX1VJX0NvbmZpZ3VyYXRpb25zL2V4ZWN1dGVgLFxyXG4gICAgICBxdWVyeVBhcmFtczoge1xyXG4gICAgICAgIG5kZnVpY29uZmlnX3R5cGU6IHR5cGUsXHJcbiAgICAgICAgbmRmdWljb25maWdfa2V5OiBrZXksXHJcbiAgICAgICAgLi4uKGFwcCA/IHsgbmRmdWljb25maWdfYXBwOiBhcHAgfSA6IHt9KSxcclxuICAgICAgfSxcclxuICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgIHByb3BlcnRpZXM6ICduZGZ1aWNvbmZpZyxub3RlJyxcclxuICAgICAgfSxcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2UpID0+IHJlc3BvbnNlLmVudHJpZXM/LlswXSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldERhdGFGcm9tTG9jYWwoe1xyXG4gICAgICAgICAga2V5LFxyXG4gICAgICAgICAgdHlwZSxcclxuICAgICAgICAgIGFwcCxcclxuICAgICAgICAgIGxvY2FsUGF0aCxcclxuICAgICAgICB9KTtcclxuICAgICAgfSksXHJcbiAgICAgIHN3aXRjaE1hcCgoZW50cnkpID0+IHtcclxuICAgICAgICBjb25zdCBjb250ZW50ID0gdGhpcy5fcGFyc2VEYXRhKGVudHJ5Py5wcm9wZXJ0aWVzPy5bJ25vdGU6bm90ZSddKTtcclxuXHJcbiAgICAgICAgaWYgKGNvbnRlbnQpIHtcclxuICAgICAgICAgIHJldHVybiBvZih7XHJcbiAgICAgICAgICAgIHN1Ym1pdHRlZDogdHJ1ZSxcclxuICAgICAgICAgICAgdWlkOiBlbnRyeS51aWQsXHJcbiAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICBrZXk6IGtleSxcclxuICAgICAgICAgICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICAgICAgICAgIGFwcDogZW50cnkucHJvcGVydGllc1snbmRmdWljb25maWc6YXBwJ10sXHJcbiAgICAgICAgICAgICAgY29uZmlnOiBjb250ZW50LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0RGF0YUZyb21Mb2NhbCh7XHJcbiAgICAgICAgICBrZXksXHJcbiAgICAgICAgICB0eXBlLFxyXG4gICAgICAgICAgYXBwLFxyXG4gICAgICAgICAgbG9jYWxQYXRoLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXREYXRhRnJvbUxvY2FsKHsga2V5LCB0eXBlLCBhcHAsIGxvY2FsUGF0aCB9OiBDb25maWdSZXF1ZXN0TW9kZWwpIHtcclxuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuYXBwQ29uZmlnU2VydmljZS5teUNvbmZpZ3VyYXRpb24gfHwge307XHJcbiAgICBjb25zdCBiYXNlID0gbG9jYWxQYXRoID8gXy5nZXQoY29uZmlnLCBsb2NhbFBhdGgpIDogY29uZmlnO1xyXG4gICAgY29uc3QgZGF0YSA9IGNsb25lRGVlcChfLmdldChiYXNlLCBrZXkpKTtcclxuICAgIHJldHVybiBvZih7XHJcbiAgICAgIHN1Ym1pdHRlZDogZmFsc2UsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBrZXk6IGtleSxcclxuICAgICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICAgIGFwcDogYXBwLFxyXG4gICAgICAgIGNvbmZpZzogZGF0YSxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcGFyc2VEYXRhKGRhdGE6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xyXG4gICAgaWYgKCFkYXRhKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgdHJ5IHtcclxuICAgICAgcmV0dXJuIEpTT04ucGFyc2UoZGF0YSk7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICBjb25zb2xlLndhcm4oJ0Vycm9yIHBhcnNpbmcgZGF0YTonLCBlcnJvcik7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=