@solidev/data 0.3.0 → 0.4.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.
Files changed (92) hide show
  1. package/esm2022/lib/auth/auth-interceptor.service.mjs +4 -4
  2. package/esm2022/lib/auth/auth.service.mjs +1 -1
  3. package/esm2022/lib/auth/jwt.mjs +1 -1
  4. package/esm2022/lib/data/data-backend.mjs +41 -14
  5. package/esm2022/lib/data/data-collection.mjs +1 -1
  6. package/esm2022/lib/data/data-collection.mock.mjs +1 -1
  7. package/esm2022/lib/data/data-model.mjs +1 -1
  8. package/esm2022/lib/data/data-query.mjs +1 -1
  9. package/esm2022/lib/data/fields/base.mjs +1 -1
  10. package/esm2022/lib/data/fields/boolean.mjs +1 -1
  11. package/esm2022/lib/data/fields/datetime.mjs +1 -1
  12. package/esm2022/lib/data/fields/numbers.mjs +1 -1
  13. package/esm2022/lib/data/fields/relations.mjs +1 -1
  14. package/esm2022/lib/data/fields/stringfields.mjs +1 -1
  15. package/esm2022/lib/dispedit/choice.pipe.mjs +7 -7
  16. package/esm2022/lib/dispedit/dispedit/dispedit.component.mjs +4 -4
  17. package/esm2022/lib/dispedit/factor.pipe.mjs +7 -7
  18. package/esm2022/lib/dispedit/factorc.pipe.mjs +7 -7
  19. package/esm2022/lib/dispedit/fkselect/fkselect.component.mjs +10 -13
  20. package/esm2022/lib/dispedit/flags/flags.component.mjs +9 -12
  21. package/esm2022/lib/dispedit/m2mselect/m2mselect.component.mjs +10 -16
  22. package/esm2022/lib/dispedit/richedit/richedit.component.mjs +4 -4
  23. package/esm2022/lib/dispedit/sdelete/sdelete.component.mjs +4 -4
  24. package/esm2022/lib/messages/message-zone/message-zone.component.mjs +8 -12
  25. package/esm2022/lib/messages/message.service.mjs +4 -4
  26. package/esm2022/lib/modellist/model-list-fields/model-list-field-header/model-list-field-header.component.mjs +8 -12
  27. package/esm2022/lib/modellist/model-list-fields/model-list-fields-selector/model-list-fields-selector.component.mjs +4 -4
  28. package/esm2022/lib/modellist/model-list-fields/model-list-fields.mjs +1 -1
  29. package/esm2022/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.component.mjs +9 -12
  30. package/esm2022/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.mjs +1 -1
  31. package/esm2022/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.component.mjs +3 -3
  32. package/esm2022/lib/modellist/model-list-filters/filters/model-list-date-filter/model-list-date-filter.component.mjs +4 -4
  33. package/esm2022/lib/modellist/model-list-filters/filters/model-list-date-filter/model-list-date-filter.mjs +1 -1
  34. package/esm2022/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.component.mjs +4 -4
  35. package/esm2022/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.mjs +1 -1
  36. package/esm2022/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetime-range-filter.component.mjs +3 -3
  37. package/esm2022/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetimerange-filter.mjs +1 -1
  38. package/esm2022/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.component.mjs +4 -4
  39. package/esm2022/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.mjs +1 -1
  40. package/esm2022/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/adapters/ban.mjs +1 -1
  41. package/esm2022/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.component.mjs +4 -4
  42. package/esm2022/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.mjs +1 -1
  43. package/esm2022/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.component.mjs +4 -4
  44. package/esm2022/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.mjs +1 -1
  45. package/esm2022/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.component.mjs +4 -4
  46. package/esm2022/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.mjs +1 -1
  47. package/esm2022/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.component.mjs +4 -4
  48. package/esm2022/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.mjs +1 -1
  49. package/esm2022/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.component.mjs +4 -4
  50. package/esm2022/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.mjs +1 -1
  51. package/esm2022/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.component.mjs +4 -4
  52. package/esm2022/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.mjs +1 -1
  53. package/esm2022/lib/modellist/model-list-filters/model-list-filter-group.mjs +19 -0
  54. package/esm2022/lib/modellist/model-list-filters/model-list-filter.mjs +9 -1
  55. package/esm2022/lib/modellist/model-list-filters/model-list-filters/model-list-filters.component.mjs +5 -5
  56. package/esm2022/lib/modellist/model-list-filters/model-list-filters-select/model-list-filters-select.component.mjs +27 -6
  57. package/esm2022/lib/modellist/model-list-filters/model-list-filters.mjs +70 -16
  58. package/esm2022/lib/modellist/model-list-paginator/model-list-paginator/model-list-paginator.component.mjs +13 -14
  59. package/esm2022/lib/modellist/model-list-paginator/model-list-paginator.mjs +1 -1
  60. package/esm2022/lib/modellist/model-list-sorter/model-list-sorter/model-list-sorter.component.mjs +4 -4
  61. package/esm2022/lib/modellist/model-list-sorter/model-list-sorter.mjs +1 -1
  62. package/esm2022/lib/modellist/model-list.service.mjs +4 -4
  63. package/esm2022/lib/routing/breadcrumb/breadcrumb.component.mjs +8 -12
  64. package/esm2022/lib/routing/routing.mjs +1 -1
  65. package/esm2022/lib/updates/update/update.component.mjs +3 -3
  66. package/esm2022/lib/updates/update.service.mjs +4 -4
  67. package/esm2022/lib/uploader/ng-file-drop.directive.mjs +4 -4
  68. package/esm2022/lib/uploader/ng-file-select.directive.mjs +4 -4
  69. package/esm2022/lib/uploader/ngx-uploader.class.mjs +1 -1
  70. package/esm2022/lib/uploader/ngx-uploader.module.mjs +4 -4
  71. package/esm2022/lib/utils/slugify.mjs +1 -1
  72. package/esm2022/lib/utils/tab-memory.service.mjs +4 -4
  73. package/esm2022/lib/utils/template.mjs +1 -1
  74. package/esm2022/public-api.mjs +3 -1
  75. package/fesm2022/solidev-data.mjs +446 -353
  76. package/fesm2022/solidev-data.mjs.map +1 -1
  77. package/lib/data/data-backend.d.ts +10 -0
  78. package/lib/dispedit/fkselect/fkselect.component.d.ts +3 -4
  79. package/lib/dispedit/flags/flags.component.d.ts +3 -4
  80. package/lib/dispedit/m2mselect/m2mselect.component.d.ts +3 -7
  81. package/lib/messages/message-zone/message-zone.component.d.ts +3 -4
  82. package/lib/modellist/model-list-fields/model-list-field-header/model-list-field-header.component.d.ts +3 -4
  83. package/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.component.d.ts +3 -4
  84. package/lib/modellist/model-list-filters/model-list-filter-group.d.ts +11 -0
  85. package/lib/modellist/model-list-filters/model-list-filter.d.ts +4 -0
  86. package/lib/modellist/model-list-filters/model-list-filters-select/model-list-filters-select.component.d.ts +8 -2
  87. package/lib/modellist/model-list-filters/model-list-filters.d.ts +11 -5
  88. package/lib/modellist/model-list-paginator/model-list-paginator/model-list-paginator.component.d.ts +3 -5
  89. package/lib/modellist/model-list.service.d.ts +2 -1
  90. package/lib/routing/breadcrumb/breadcrumb.component.d.ts +3 -4
  91. package/package.json +1 -1
  92. package/public-api.d.ts +2 -0
@@ -14,16 +14,16 @@ import { ModelListNumberFilterComponent } from '../filters/model-list-number-fil
14
14
  import { ModelListDateFilterComponent } from '../filters/model-list-date-filter/model-list-date-filter.component';
15
15
  import * as i0 from "@angular/core";
16
16
  import * as i1 from "@angular/common";
17
- // FIXME: register filter components and load them dynamically to allow user defined filters
17
+ // SEE: register filter components and load them dynamically to allow user defined filters
18
18
  export class ModelListFiltersComponent {
19
19
  constructor() {
20
20
  this.containerClasses = '';
21
21
  this.itemClasses = '';
22
22
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ModelListFiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: ModelListFiltersComponent, isStandalone: true, selector: "data-model-list-filters", inputs: { list: "list", containerClasses: "containerClasses", itemClasses: "itemClasses" }, ngImport: i0, template: "\n<div [ngClass]=\"containerClasses\">\n <ng-container *ngFor=\"let f of list.filters.enabled|async\">\n <ng-container [ngSwitch]=\"f.type\">\n <data-model-list-autocomplete-filter *ngSwitchCase=\"'autocomplete'\" [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-autocomplete-filter>\n <data-model-list-autocomplete-multi-filter *ngSwitchCase=\"'autocompletemulti'\" [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-autocomplete-multi-filter>\n <data-model-list-datetime-filter *ngSwitchCase=\"'datetime'\" [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-datetime-filter>\n <data-model-list-date-filter *ngSwitchCase=\"'date'\" [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-date-filter>\n <data-model-list-datetime-range-filter *ngSwitchCase=\"'datetimerange'\" [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-datetime-range-filter>\n <data-model-list-flags-filter *ngSwitchCase=\"'flags'\" [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-flags-filter>\n <data-model-list-geodistance-filter *ngSwitchCase=\"'geodistance'\" [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-geodistance-filter>\n <data-model-list-number-filter *ngSwitchCase=\"'number'\" [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-number-filter>\n <data-model-list-select-filter *ngSwitchCase=\"'select'\" [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-select-filter>\n <data-model-list-select-multi-filter *ngSwitchCase=\"'selectmulti'\" [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-select-multi-filter>\n <data-model-list-text-filter *ngSwitchCase=\"'text'\" [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-text-filter>\n <data-model-list-tree-filter *ngSwitchCase=\"'tree'\" [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-tree-filter>\n </ng-container>\n </ng-container>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: ModelListTextFilterComponent, selector: "data-model-list-text-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListNumberFilterComponent, selector: "data-model-list-number-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListAutocompleteFilterComponent, selector: "data-model-list-autocomplete-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListAutocompleteMultiFilterComponent, selector: "data-model-list-autocomplete-multi-filter", inputs: ["filter"] }, { kind: "component", type: ModelListDatetimeFilterComponent, selector: "data-model-list-datetime-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListDateFilterComponent, selector: "data-model-list-date-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListDatetimeRangeFilterComponent, selector: "data-model-list-datetime-range-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListFlagsFilterComponent, selector: "data-model-list-flags-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListGeodistanceFilterComponent, selector: "data-model-list-geodistance-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListSelectFilterComponent, selector: "data-model-list-select-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListSelectMultiFilterComponent, selector: "data-model-list-select-multi-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListTreeFilterComponent, selector: "data-model-list-tree-filter", inputs: ["list", "filter", "classes"] }] }); }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ModelListFiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ModelListFiltersComponent, isStandalone: true, selector: "data-model-list-filters", inputs: { list: "list", containerClasses: "containerClasses", itemClasses: "itemClasses" }, ngImport: i0, template: "\n<div [ngClass]=\"containerClasses\">\n <ng-container *ngFor=\"let f of list.filters.enabled|async\">\n <ng-container [ngSwitch]=\"f.type\">\n <data-model-list-autocomplete-filter *ngSwitchCase=\"'autocomplete'\" [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-autocomplete-filter>\n <data-model-list-autocomplete-multi-filter *ngSwitchCase=\"'autocompletemulti'\" [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-autocomplete-multi-filter>\n <data-model-list-datetime-filter *ngSwitchCase=\"'datetime'\" [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-datetime-filter>\n <data-model-list-date-filter *ngSwitchCase=\"'date'\" [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-date-filter>\n <data-model-list-datetime-range-filter *ngSwitchCase=\"'datetimerange'\" [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-datetime-range-filter>\n <data-model-list-flags-filter *ngSwitchCase=\"'flags'\" [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-flags-filter>\n <data-model-list-geodistance-filter *ngSwitchCase=\"'geodistance'\" [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-geodistance-filter>\n <data-model-list-number-filter *ngSwitchCase=\"'number'\" [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-number-filter>\n <data-model-list-select-filter *ngSwitchCase=\"'select'\" [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-select-filter>\n <data-model-list-select-multi-filter *ngSwitchCase=\"'selectmulti'\" [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-select-multi-filter>\n <data-model-list-text-filter *ngSwitchCase=\"'text'\" [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-text-filter>\n <data-model-list-tree-filter *ngSwitchCase=\"'tree'\" [filter]=\"$any(f)\" [list]=\"list\" [ngClass]=\"itemClasses\"></data-model-list-tree-filter>\n </ng-container>\n </ng-container>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: ModelListTextFilterComponent, selector: "data-model-list-text-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListNumberFilterComponent, selector: "data-model-list-number-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListAutocompleteFilterComponent, selector: "data-model-list-autocomplete-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListAutocompleteMultiFilterComponent, selector: "data-model-list-autocomplete-multi-filter", inputs: ["filter"] }, { kind: "component", type: ModelListDatetimeFilterComponent, selector: "data-model-list-datetime-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListDateFilterComponent, selector: "data-model-list-date-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListDatetimeRangeFilterComponent, selector: "data-model-list-datetime-range-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListFlagsFilterComponent, selector: "data-model-list-flags-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListGeodistanceFilterComponent, selector: "data-model-list-geodistance-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListSelectFilterComponent, selector: "data-model-list-select-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListSelectMultiFilterComponent, selector: "data-model-list-select-multi-filter", inputs: ["list", "filter", "classes"] }, { kind: "component", type: ModelListTreeFilterComponent, selector: "data-model-list-tree-filter", inputs: ["list", "filter", "classes"] }] }); }
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ModelListFiltersComponent, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ModelListFiltersComponent, decorators: [{
27
27
  type: Component,
28
28
  args: [{ selector: 'data-model-list-filters', standalone: true, imports: [
29
29
  CommonModule,
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
47
47
  }], itemClasses: [{
48
48
  type: Input
49
49
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1maWx0ZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9tb2RlbGxpc3QvbW9kZWwtbGlzdC1maWx0ZXJzL21vZGVsLWxpc3QtZmlsdGVycy9tb2RlbC1saXN0LWZpbHRlcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL21vZGVsbGlzdC9tb2RlbC1saXN0LWZpbHRlcnMvbW9kZWwtbGlzdC1maWx0ZXJzL21vZGVsLWxpc3QtZmlsdGVycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUvQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sb0VBQW9FLENBQUM7QUFDaEgsT0FBTyxFQUNMLG9DQUFvQyxFQUNyQyxNQUFNLG9GQUFvRixDQUFDO0FBQzVGLE9BQU8sRUFDTCx5Q0FBeUMsRUFDMUMsTUFBTSxnR0FBZ0csQ0FBQztBQUN4RyxPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2pDLE1BQU0sNEVBQTRFLENBQUM7QUFDcEYsT0FBTyxFQUNMLHFDQUFxQyxFQUN0QyxNQUFNLHVGQUF1RixDQUFDO0FBQy9GLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLHNFQUFzRSxDQUFDO0FBQ25ILE9BQU8sRUFDTCxtQ0FBbUMsRUFDcEMsTUFBTSxrRkFBa0YsQ0FBQztBQUMxRixPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSx3RUFBd0UsQ0FBQztBQUN0SCxPQUFPLEVBQ0wsbUNBQW1DLEVBQ3BDLE1BQU0sb0ZBQW9GLENBQUM7QUFDNUYsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sb0VBQW9FLENBQUM7QUFDaEgsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFDdEgsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sb0VBQW9FLENBQUM7OztBQUVoSCw0RkFBNEY7QUF1QjVGLE1BQU0sT0FBTyx5QkFBeUI7SUFyQnRDO1FBdUJrQixxQkFBZ0IsR0FBc0IsRUFBRSxDQUFDO1FBQ3pDLGdCQUFXLEdBQXNCLEVBQUUsQ0FBQztLQUNyRDs4R0FKWSx5QkFBeUI7a0dBQXpCLHlCQUF5QiwrS0NuRHRDLDRxRUFrQk0seUREa0JGLFlBQVksMmVBQ1osNEJBQTRCLCtHQUM1Qiw4QkFBOEIsaUhBQzlCLG9DQUFvQyx1SEFDcEMseUNBQXlDLDBHQUN6QyxnQ0FBZ0MsbUhBQ2hDLDRCQUE0QiwrR0FDNUIscUNBQXFDLHlIQUNyQyw2QkFBNkIsZ0hBQzdCLG1DQUFtQyxzSEFDbkMsOEJBQThCLGlIQUM5QixtQ0FBbUMsdUhBQ25DLDRCQUE0Qjs7MkZBR25CLHlCQUF5QjtrQkFyQnJDLFNBQVM7K0JBQ0UseUJBQXlCLGNBR3ZCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLDRCQUE0Qjt3QkFDNUIsOEJBQThCO3dCQUM5QixvQ0FBb0M7d0JBQ3BDLHlDQUF5Qzt3QkFDekMsZ0NBQWdDO3dCQUNoQyw0QkFBNEI7d0JBQzVCLHFDQUFxQzt3QkFDckMsNkJBQTZCO3dCQUM3QixtQ0FBbUM7d0JBQ25DLDhCQUE4Qjt3QkFDOUIsbUNBQW1DO3dCQUNuQyw0QkFBNEI7cUJBQzdCOzhCQUdlLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsZ0JBQWdCO3NCQUEvQixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNb2RlbExpc3R9IGZyb20gJy4uLy4uL21vZGVsLWxpc3Quc2VydmljZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TW9kZWxMaXN0VGV4dEZpbHRlckNvbXBvbmVudH0gZnJvbSAnLi4vZmlsdGVycy9tb2RlbC1saXN0LXRleHQtZmlsdGVyL21vZGVsLWxpc3QtdGV4dC1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIE1vZGVsTGlzdEF1dG9jb21wbGV0ZUZpbHRlckNvbXBvbmVudFxufSBmcm9tICcuLi9maWx0ZXJzL21vZGVsLWxpc3QtYXV0b2NvbXBsZXRlLWZpbHRlci9tb2RlbC1saXN0LWF1dG9jb21wbGV0ZS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIE1vZGVsTGlzdEF1dG9jb21wbGV0ZU11bHRpRmlsdGVyQ29tcG9uZW50XG59IGZyb20gJy4uL2ZpbHRlcnMvbW9kZWwtbGlzdC1hdXRvY29tcGxldGUtbXVsdGktZmlsdGVyL21vZGVsLWxpc3QtYXV0b2NvbXBsZXRlLW11bHRpLWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgTW9kZWxMaXN0RGF0ZXRpbWVGaWx0ZXJDb21wb25lbnRcbn0gZnJvbSAnLi4vZmlsdGVycy9tb2RlbC1saXN0LWRhdGV0aW1lLWZpbHRlci9tb2RlbC1saXN0LWRhdGV0aW1lLWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgTW9kZWxMaXN0RGF0ZXRpbWVSYW5nZUZpbHRlckNvbXBvbmVudFxufSBmcm9tICcuLi9maWx0ZXJzL21vZGVsLWxpc3QtZGF0ZXRpbWVyYW5nZS1maWx0ZXIvbW9kZWwtbGlzdC1kYXRldGltZS1yYW5nZS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7TW9kZWxMaXN0RmxhZ3NGaWx0ZXJDb21wb25lbnR9IGZyb20gJy4uL2ZpbHRlcnMvbW9kZWwtbGlzdC1mbGFncy1maWx0ZXIvbW9kZWwtbGlzdC1mbGFncy1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIE1vZGVsTGlzdEdlb2Rpc3RhbmNlRmlsdGVyQ29tcG9uZW50XG59IGZyb20gJy4uL2ZpbHRlcnMvbW9kZWwtbGlzdC1nZW9kaXN0YW5jZS1maWx0ZXIvbW9kZWwtbGlzdC1nZW9kaXN0YW5jZS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7TW9kZWxMaXN0U2VsZWN0RmlsdGVyQ29tcG9uZW50fSBmcm9tICcuLi9maWx0ZXJzL21vZGVsLWxpc3Qtc2VsZWN0LWZpbHRlci9tb2RlbC1saXN0LXNlbGVjdC1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIE1vZGVsTGlzdFNlbGVjdE11bHRpRmlsdGVyQ29tcG9uZW50XG59IGZyb20gJy4uL2ZpbHRlcnMvbW9kZWwtbGlzdC1zZWxlY3QtbXVsdGktZmlsdGVyL21vZGVsLWxpc3Qtc2VsZWN0LW11bHRpLWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtNb2RlbExpc3RUcmVlRmlsdGVyQ29tcG9uZW50fSBmcm9tICcuLi9maWx0ZXJzL21vZGVsLWxpc3QtdHJlZS1maWx0ZXIvbW9kZWwtbGlzdC10cmVlLWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtNb2RlbExpc3ROdW1iZXJGaWx0ZXJDb21wb25lbnR9IGZyb20gJy4uL2ZpbHRlcnMvbW9kZWwtbGlzdC1udW1iZXItZmlsdGVyL21vZGVsLWxpc3QtbnVtYmVyLWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtNb2RlbExpc3REYXRlRmlsdGVyQ29tcG9uZW50fSBmcm9tICcuLi9maWx0ZXJzL21vZGVsLWxpc3QtZGF0ZS1maWx0ZXIvbW9kZWwtbGlzdC1kYXRlLWZpbHRlci5jb21wb25lbnQnO1xuXG4vLyBGSVhNRTogcmVnaXN0ZXIgZmlsdGVyIGNvbXBvbmVudHMgYW5kIGxvYWQgdGhlbSBkeW5hbWljYWxseSB0byBhbGxvdyB1c2VyIGRlZmluZWQgZmlsdGVyc1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYXRhLW1vZGVsLWxpc3QtZmlsdGVycycsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RlbC1saXN0LWZpbHRlcnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RlbC1saXN0LWZpbHRlcnMuY29tcG9uZW50LnNhc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNb2RlbExpc3RUZXh0RmlsdGVyQ29tcG9uZW50LFxuICAgIE1vZGVsTGlzdE51bWJlckZpbHRlckNvbXBvbmVudCxcbiAgICBNb2RlbExpc3RBdXRvY29tcGxldGVGaWx0ZXJDb21wb25lbnQsXG4gICAgTW9kZWxMaXN0QXV0b2NvbXBsZXRlTXVsdGlGaWx0ZXJDb21wb25lbnQsXG4gICAgTW9kZWxMaXN0RGF0ZXRpbWVGaWx0ZXJDb21wb25lbnQsXG4gICAgTW9kZWxMaXN0RGF0ZUZpbHRlckNvbXBvbmVudCxcbiAgICBNb2RlbExpc3REYXRldGltZVJhbmdlRmlsdGVyQ29tcG9uZW50LFxuICAgIE1vZGVsTGlzdEZsYWdzRmlsdGVyQ29tcG9uZW50LFxuICAgIE1vZGVsTGlzdEdlb2Rpc3RhbmNlRmlsdGVyQ29tcG9uZW50LFxuICAgIE1vZGVsTGlzdFNlbGVjdEZpbHRlckNvbXBvbmVudCxcbiAgICBNb2RlbExpc3RTZWxlY3RNdWx0aUZpbHRlckNvbXBvbmVudCxcbiAgICBNb2RlbExpc3RUcmVlRmlsdGVyQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNb2RlbExpc3RGaWx0ZXJzQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHVibGljIGxpc3QhOiBNb2RlbExpc3Q8YW55PjtcbiAgQElucHV0KCkgcHVibGljIGNvbnRhaW5lckNsYXNzZXM6IHN0cmluZ1tdIHwgc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpdGVtQ2xhc3Nlczogc3RyaW5nW10gfCBzdHJpbmcgPSAnJztcbn1cbiIsIlxuPGRpdiBbbmdDbGFzc109XCJjb250YWluZXJDbGFzc2VzXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGYgb2YgbGlzdC5maWx0ZXJzLmVuYWJsZWR8YXN5bmNcIj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJmLnR5cGVcIj5cbiAgICAgIDxkYXRhLW1vZGVsLWxpc3QtYXV0b2NvbXBsZXRlLWZpbHRlciAqbmdTd2l0Y2hDYXNlPVwiJ2F1dG9jb21wbGV0ZSdcIiBbZmlsdGVyXT1cIiRhbnkoZilcIiBbbGlzdF09XCJsaXN0XCIgW25nQ2xhc3NdPVwiaXRlbUNsYXNzZXNcIj48L2RhdGEtbW9kZWwtbGlzdC1hdXRvY29tcGxldGUtZmlsdGVyPlxuICAgICAgPGRhdGEtbW9kZWwtbGlzdC1hdXRvY29tcGxldGUtbXVsdGktZmlsdGVyICpuZ1N3aXRjaENhc2U9XCInYXV0b2NvbXBsZXRlbXVsdGknXCIgW2ZpbHRlcl09XCIkYW55KGYpXCIgW2xpc3RdPVwibGlzdFwiIFtuZ0NsYXNzXT1cIml0ZW1DbGFzc2VzXCI+PC9kYXRhLW1vZGVsLWxpc3QtYXV0b2NvbXBsZXRlLW11bHRpLWZpbHRlcj5cbiAgICAgIDxkYXRhLW1vZGVsLWxpc3QtZGF0ZXRpbWUtZmlsdGVyICpuZ1N3aXRjaENhc2U9XCInZGF0ZXRpbWUnXCIgW2ZpbHRlcl09XCIkYW55KGYpXCIgW2xpc3RdPVwibGlzdFwiIFtuZ0NsYXNzXT1cIml0ZW1DbGFzc2VzXCI+PC9kYXRhLW1vZGVsLWxpc3QtZGF0ZXRpbWUtZmlsdGVyPlxuICAgICAgPGRhdGEtbW9kZWwtbGlzdC1kYXRlLWZpbHRlciAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUnXCIgW2ZpbHRlcl09XCIkYW55KGYpXCIgW2xpc3RdPVwibGlzdFwiIFtuZ0NsYXNzXT1cIml0ZW1DbGFzc2VzXCI+PC9kYXRhLW1vZGVsLWxpc3QtZGF0ZS1maWx0ZXI+XG4gICAgICA8ZGF0YS1tb2RlbC1saXN0LWRhdGV0aW1lLXJhbmdlLWZpbHRlciAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGV0aW1lcmFuZ2UnXCIgW2ZpbHRlcl09XCIkYW55KGYpXCIgW2xpc3RdPVwibGlzdFwiIFtuZ0NsYXNzXT1cIml0ZW1DbGFzc2VzXCI+PC9kYXRhLW1vZGVsLWxpc3QtZGF0ZXRpbWUtcmFuZ2UtZmlsdGVyPlxuICAgICAgPGRhdGEtbW9kZWwtbGlzdC1mbGFncy1maWx0ZXIgKm5nU3dpdGNoQ2FzZT1cIidmbGFncydcIiBbZmlsdGVyXT1cIiRhbnkoZilcIiBbbGlzdF09XCJsaXN0XCIgW25nQ2xhc3NdPVwiaXRlbUNsYXNzZXNcIj48L2RhdGEtbW9kZWwtbGlzdC1mbGFncy1maWx0ZXI+XG4gICAgICA8ZGF0YS1tb2RlbC1saXN0LWdlb2Rpc3RhbmNlLWZpbHRlciAqbmdTd2l0Y2hDYXNlPVwiJ2dlb2Rpc3RhbmNlJ1wiIFtmaWx0ZXJdPVwiJGFueShmKVwiIFtsaXN0XT1cImxpc3RcIiBbbmdDbGFzc109XCJpdGVtQ2xhc3Nlc1wiPjwvZGF0YS1tb2RlbC1saXN0LWdlb2Rpc3RhbmNlLWZpbHRlcj5cbiAgICAgIDxkYXRhLW1vZGVsLWxpc3QtbnVtYmVyLWZpbHRlciAqbmdTd2l0Y2hDYXNlPVwiJ251bWJlcidcIiBbZmlsdGVyXT1cIiRhbnkoZilcIiBbbGlzdF09XCJsaXN0XCIgW25nQ2xhc3NdPVwiaXRlbUNsYXNzZXNcIj48L2RhdGEtbW9kZWwtbGlzdC1udW1iZXItZmlsdGVyPlxuICAgICAgPGRhdGEtbW9kZWwtbGlzdC1zZWxlY3QtZmlsdGVyICpuZ1N3aXRjaENhc2U9XCInc2VsZWN0J1wiIFtmaWx0ZXJdPVwiJGFueShmKVwiIFtsaXN0XT1cImxpc3RcIiBbbmdDbGFzc109XCJpdGVtQ2xhc3Nlc1wiPjwvZGF0YS1tb2RlbC1saXN0LXNlbGVjdC1maWx0ZXI+XG4gICAgICA8ZGF0YS1tb2RlbC1saXN0LXNlbGVjdC1tdWx0aS1maWx0ZXIgKm5nU3dpdGNoQ2FzZT1cIidzZWxlY3RtdWx0aSdcIiBbZmlsdGVyXT1cIiRhbnkoZilcIiBbbGlzdF09XCJsaXN0XCIgW25nQ2xhc3NdPVwiaXRlbUNsYXNzZXNcIj48L2RhdGEtbW9kZWwtbGlzdC1zZWxlY3QtbXVsdGktZmlsdGVyPlxuICAgICAgPGRhdGEtbW9kZWwtbGlzdC10ZXh0LWZpbHRlciAqbmdTd2l0Y2hDYXNlPVwiJ3RleHQnXCIgW2ZpbHRlcl09XCIkYW55KGYpXCIgW2xpc3RdPVwibGlzdFwiIFtuZ0NsYXNzXT1cIml0ZW1DbGFzc2VzXCI+PC9kYXRhLW1vZGVsLWxpc3QtdGV4dC1maWx0ZXI+XG4gICAgICA8ZGF0YS1tb2RlbC1saXN0LXRyZWUtZmlsdGVyICpuZ1N3aXRjaENhc2U9XCIndHJlZSdcIiBbZmlsdGVyXT1cIiRhbnkoZilcIiBbbGlzdF09XCJsaXN0XCIgW25nQ2xhc3NdPVwiaXRlbUNsYXNzZXNcIj48L2RhdGEtbW9kZWwtbGlzdC10cmVlLWZpbHRlcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj4iXX0=
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1maWx0ZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9tb2RlbGxpc3QvbW9kZWwtbGlzdC1maWx0ZXJzL21vZGVsLWxpc3QtZmlsdGVycy9tb2RlbC1saXN0LWZpbHRlcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL21vZGVsbGlzdC9tb2RlbC1saXN0LWZpbHRlcnMvbW9kZWwtbGlzdC1maWx0ZXJzL21vZGVsLWxpc3QtZmlsdGVycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDbEgsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sb0ZBQW9GLENBQUM7QUFDMUksT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sZ0dBQWdHLENBQUM7QUFDM0osT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sNEVBQTRFLENBQUM7QUFDOUgsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sdUZBQXVGLENBQUM7QUFDOUksT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFDckgsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sa0ZBQWtGLENBQUM7QUFDdkksT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDeEgsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sb0ZBQW9GLENBQUM7QUFDekksT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDbEgsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDeEgsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7OztBQUVsSCwwRkFBMEY7QUF1QjFGLE1BQU0sT0FBTyx5QkFBeUI7SUFyQnRDO1FBdUJrQixxQkFBZ0IsR0FBc0IsRUFBRSxDQUFDO1FBQ3pDLGdCQUFXLEdBQXNCLEVBQUUsQ0FBQztLQUNyRDs4R0FKWSx5QkFBeUI7a0dBQXpCLHlCQUF5QiwrS0N2Q3RDLDRxRUFrQk0seURETUYsWUFBWSwyZUFDWiw0QkFBNEIsK0dBQzVCLDhCQUE4QixpSEFDOUIsb0NBQW9DLHVIQUNwQyx5Q0FBeUMsMEdBQ3pDLGdDQUFnQyxtSEFDaEMsNEJBQTRCLCtHQUM1QixxQ0FBcUMseUhBQ3JDLDZCQUE2QixnSEFDN0IsbUNBQW1DLHNIQUNuQyw4QkFBOEIsaUhBQzlCLG1DQUFtQyx1SEFDbkMsNEJBQTRCOzsyRkFHbkIseUJBQXlCO2tCQXJCckMsU0FBUzsrQkFDRSx5QkFBeUIsY0FHdkIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osNEJBQTRCO3dCQUM1Qiw4QkFBOEI7d0JBQzlCLG9DQUFvQzt3QkFDcEMseUNBQXlDO3dCQUN6QyxnQ0FBZ0M7d0JBQ2hDLDRCQUE0Qjt3QkFDNUIscUNBQXFDO3dCQUNyQyw2QkFBNkI7d0JBQzdCLG1DQUFtQzt3QkFDbkMsOEJBQThCO3dCQUM5QixtQ0FBbUM7d0JBQ25DLDRCQUE0QjtxQkFDN0I7OEJBR2UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vZGVsTGlzdCB9IGZyb20gJy4uLy4uL21vZGVsLWxpc3Quc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTW9kZWxMaXN0VGV4dEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uL2ZpbHRlcnMvbW9kZWwtbGlzdC10ZXh0LWZpbHRlci9tb2RlbC1saXN0LXRleHQtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2RlbExpc3RBdXRvY29tcGxldGVGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi9maWx0ZXJzL21vZGVsLWxpc3QtYXV0b2NvbXBsZXRlLWZpbHRlci9tb2RlbC1saXN0LWF1dG9jb21wbGV0ZS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZGVsTGlzdEF1dG9jb21wbGV0ZU11bHRpRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZmlsdGVycy9tb2RlbC1saXN0LWF1dG9jb21wbGV0ZS1tdWx0aS1maWx0ZXIvbW9kZWwtbGlzdC1hdXRvY29tcGxldGUtbXVsdGktZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2RlbExpc3REYXRldGltZUZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uL2ZpbHRlcnMvbW9kZWwtbGlzdC1kYXRldGltZS1maWx0ZXIvbW9kZWwtbGlzdC1kYXRldGltZS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZGVsTGlzdERhdGV0aW1lUmFuZ2VGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi9maWx0ZXJzL21vZGVsLWxpc3QtZGF0ZXRpbWVyYW5nZS1maWx0ZXIvbW9kZWwtbGlzdC1kYXRldGltZS1yYW5nZS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZGVsTGlzdEZsYWdzRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZmlsdGVycy9tb2RlbC1saXN0LWZsYWdzLWZpbHRlci9tb2RlbC1saXN0LWZsYWdzLWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9kZWxMaXN0R2VvZGlzdGFuY2VGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi9maWx0ZXJzL21vZGVsLWxpc3QtZ2VvZGlzdGFuY2UtZmlsdGVyL21vZGVsLWxpc3QtZ2VvZGlzdGFuY2UtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2RlbExpc3RTZWxlY3RGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi9maWx0ZXJzL21vZGVsLWxpc3Qtc2VsZWN0LWZpbHRlci9tb2RlbC1saXN0LXNlbGVjdC1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZGVsTGlzdFNlbGVjdE11bHRpRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZmlsdGVycy9tb2RlbC1saXN0LXNlbGVjdC1tdWx0aS1maWx0ZXIvbW9kZWwtbGlzdC1zZWxlY3QtbXVsdGktZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2RlbExpc3RUcmVlRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZmlsdGVycy9tb2RlbC1saXN0LXRyZWUtZmlsdGVyL21vZGVsLWxpc3QtdHJlZS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZGVsTGlzdE51bWJlckZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uL2ZpbHRlcnMvbW9kZWwtbGlzdC1udW1iZXItZmlsdGVyL21vZGVsLWxpc3QtbnVtYmVyLWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9kZWxMaXN0RGF0ZUZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uL2ZpbHRlcnMvbW9kZWwtbGlzdC1kYXRlLWZpbHRlci9tb2RlbC1saXN0LWRhdGUtZmlsdGVyLmNvbXBvbmVudCc7XG5cbi8vIFNFRTogcmVnaXN0ZXIgZmlsdGVyIGNvbXBvbmVudHMgYW5kIGxvYWQgdGhlbSBkeW5hbWljYWxseSB0byBhbGxvdyB1c2VyIGRlZmluZWQgZmlsdGVyc1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYXRhLW1vZGVsLWxpc3QtZmlsdGVycycsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RlbC1saXN0LWZpbHRlcnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RlbC1saXN0LWZpbHRlcnMuY29tcG9uZW50LnNhc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNb2RlbExpc3RUZXh0RmlsdGVyQ29tcG9uZW50LFxuICAgIE1vZGVsTGlzdE51bWJlckZpbHRlckNvbXBvbmVudCxcbiAgICBNb2RlbExpc3RBdXRvY29tcGxldGVGaWx0ZXJDb21wb25lbnQsXG4gICAgTW9kZWxMaXN0QXV0b2NvbXBsZXRlTXVsdGlGaWx0ZXJDb21wb25lbnQsXG4gICAgTW9kZWxMaXN0RGF0ZXRpbWVGaWx0ZXJDb21wb25lbnQsXG4gICAgTW9kZWxMaXN0RGF0ZUZpbHRlckNvbXBvbmVudCxcbiAgICBNb2RlbExpc3REYXRldGltZVJhbmdlRmlsdGVyQ29tcG9uZW50LFxuICAgIE1vZGVsTGlzdEZsYWdzRmlsdGVyQ29tcG9uZW50LFxuICAgIE1vZGVsTGlzdEdlb2Rpc3RhbmNlRmlsdGVyQ29tcG9uZW50LFxuICAgIE1vZGVsTGlzdFNlbGVjdEZpbHRlckNvbXBvbmVudCxcbiAgICBNb2RlbExpc3RTZWxlY3RNdWx0aUZpbHRlckNvbXBvbmVudCxcbiAgICBNb2RlbExpc3RUcmVlRmlsdGVyQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNb2RlbExpc3RGaWx0ZXJzQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHVibGljIGxpc3QhOiBNb2RlbExpc3Q8YW55PjtcbiAgQElucHV0KCkgcHVibGljIGNvbnRhaW5lckNsYXNzZXM6IHN0cmluZ1tdIHwgc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpdGVtQ2xhc3Nlczogc3RyaW5nW10gfCBzdHJpbmcgPSAnJztcbn1cbiIsIlxuPGRpdiBbbmdDbGFzc109XCJjb250YWluZXJDbGFzc2VzXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGYgb2YgbGlzdC5maWx0ZXJzLmVuYWJsZWR8YXN5bmNcIj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJmLnR5cGVcIj5cbiAgICAgIDxkYXRhLW1vZGVsLWxpc3QtYXV0b2NvbXBsZXRlLWZpbHRlciAqbmdTd2l0Y2hDYXNlPVwiJ2F1dG9jb21wbGV0ZSdcIiBbZmlsdGVyXT1cIiRhbnkoZilcIiBbbGlzdF09XCJsaXN0XCIgW25nQ2xhc3NdPVwiaXRlbUNsYXNzZXNcIj48L2RhdGEtbW9kZWwtbGlzdC1hdXRvY29tcGxldGUtZmlsdGVyPlxuICAgICAgPGRhdGEtbW9kZWwtbGlzdC1hdXRvY29tcGxldGUtbXVsdGktZmlsdGVyICpuZ1N3aXRjaENhc2U9XCInYXV0b2NvbXBsZXRlbXVsdGknXCIgW2ZpbHRlcl09XCIkYW55KGYpXCIgW2xpc3RdPVwibGlzdFwiIFtuZ0NsYXNzXT1cIml0ZW1DbGFzc2VzXCI+PC9kYXRhLW1vZGVsLWxpc3QtYXV0b2NvbXBsZXRlLW11bHRpLWZpbHRlcj5cbiAgICAgIDxkYXRhLW1vZGVsLWxpc3QtZGF0ZXRpbWUtZmlsdGVyICpuZ1N3aXRjaENhc2U9XCInZGF0ZXRpbWUnXCIgW2ZpbHRlcl09XCIkYW55KGYpXCIgW2xpc3RdPVwibGlzdFwiIFtuZ0NsYXNzXT1cIml0ZW1DbGFzc2VzXCI+PC9kYXRhLW1vZGVsLWxpc3QtZGF0ZXRpbWUtZmlsdGVyPlxuICAgICAgPGRhdGEtbW9kZWwtbGlzdC1kYXRlLWZpbHRlciAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUnXCIgW2ZpbHRlcl09XCIkYW55KGYpXCIgW2xpc3RdPVwibGlzdFwiIFtuZ0NsYXNzXT1cIml0ZW1DbGFzc2VzXCI+PC9kYXRhLW1vZGVsLWxpc3QtZGF0ZS1maWx0ZXI+XG4gICAgICA8ZGF0YS1tb2RlbC1saXN0LWRhdGV0aW1lLXJhbmdlLWZpbHRlciAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGV0aW1lcmFuZ2UnXCIgW2ZpbHRlcl09XCIkYW55KGYpXCIgW2xpc3RdPVwibGlzdFwiIFtuZ0NsYXNzXT1cIml0ZW1DbGFzc2VzXCI+PC9kYXRhLW1vZGVsLWxpc3QtZGF0ZXRpbWUtcmFuZ2UtZmlsdGVyPlxuICAgICAgPGRhdGEtbW9kZWwtbGlzdC1mbGFncy1maWx0ZXIgKm5nU3dpdGNoQ2FzZT1cIidmbGFncydcIiBbZmlsdGVyXT1cIiRhbnkoZilcIiBbbGlzdF09XCJsaXN0XCIgW25nQ2xhc3NdPVwiaXRlbUNsYXNzZXNcIj48L2RhdGEtbW9kZWwtbGlzdC1mbGFncy1maWx0ZXI+XG4gICAgICA8ZGF0YS1tb2RlbC1saXN0LWdlb2Rpc3RhbmNlLWZpbHRlciAqbmdTd2l0Y2hDYXNlPVwiJ2dlb2Rpc3RhbmNlJ1wiIFtmaWx0ZXJdPVwiJGFueShmKVwiIFtsaXN0XT1cImxpc3RcIiBbbmdDbGFzc109XCJpdGVtQ2xhc3Nlc1wiPjwvZGF0YS1tb2RlbC1saXN0LWdlb2Rpc3RhbmNlLWZpbHRlcj5cbiAgICAgIDxkYXRhLW1vZGVsLWxpc3QtbnVtYmVyLWZpbHRlciAqbmdTd2l0Y2hDYXNlPVwiJ251bWJlcidcIiBbZmlsdGVyXT1cIiRhbnkoZilcIiBbbGlzdF09XCJsaXN0XCIgW25nQ2xhc3NdPVwiaXRlbUNsYXNzZXNcIj48L2RhdGEtbW9kZWwtbGlzdC1udW1iZXItZmlsdGVyPlxuICAgICAgPGRhdGEtbW9kZWwtbGlzdC1zZWxlY3QtZmlsdGVyICpuZ1N3aXRjaENhc2U9XCInc2VsZWN0J1wiIFtmaWx0ZXJdPVwiJGFueShmKVwiIFtsaXN0XT1cImxpc3RcIiBbbmdDbGFzc109XCJpdGVtQ2xhc3Nlc1wiPjwvZGF0YS1tb2RlbC1saXN0LXNlbGVjdC1maWx0ZXI+XG4gICAgICA8ZGF0YS1tb2RlbC1saXN0LXNlbGVjdC1tdWx0aS1maWx0ZXIgKm5nU3dpdGNoQ2FzZT1cIidzZWxlY3RtdWx0aSdcIiBbZmlsdGVyXT1cIiRhbnkoZilcIiBbbGlzdF09XCJsaXN0XCIgW25nQ2xhc3NdPVwiaXRlbUNsYXNzZXNcIj48L2RhdGEtbW9kZWwtbGlzdC1zZWxlY3QtbXVsdGktZmlsdGVyPlxuICAgICAgPGRhdGEtbW9kZWwtbGlzdC10ZXh0LWZpbHRlciAqbmdTd2l0Y2hDYXNlPVwiJ3RleHQnXCIgW2ZpbHRlcl09XCIkYW55KGYpXCIgW2xpc3RdPVwibGlzdFwiIFtuZ0NsYXNzXT1cIml0ZW1DbGFzc2VzXCI+PC9kYXRhLW1vZGVsLWxpc3QtdGV4dC1maWx0ZXI+XG4gICAgICA8ZGF0YS1tb2RlbC1saXN0LXRyZWUtZmlsdGVyICpuZ1N3aXRjaENhc2U9XCIndHJlZSdcIiBbZmlsdGVyXT1cIiRhbnkoZilcIiBbbGlzdF09XCJsaXN0XCIgW25nQ2xhc3NdPVwiaXRlbUNsYXNzZXNcIj48L2RhdGEtbW9kZWwtbGlzdC10cmVlLWZpbHRlcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj4iXX0=
@@ -1,23 +1,42 @@
1
- import { Component, Input } from '@angular/core';
1
+ import { Component, DestroyRef, inject, Input } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
+ import { FormControl, ReactiveFormsModule } from '@angular/forms';
4
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
5
  import * as i0 from "@angular/core";
4
6
  import * as i1 from "@angular/common";
7
+ import * as i2 from "@angular/forms";
5
8
  export class ModelListFiltersSelectComponent {
6
9
  constructor() {
7
10
  this.containerClasses = '';
8
11
  this.itemActiveClasses = 'badge bg-success mx-1';
9
12
  this.itemInactiveClasses = 'badge bg-secondary mx-1';
13
+ this.mode = 'badge';
14
+ this.selectForm = new FormControl(null);
15
+ this.destroy$ = inject(DestroyRef);
10
16
  }
11
17
  toggle(f) {
12
18
  f.enabled = !f.enabled;
13
19
  this.list.filters.update();
14
20
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ModelListFiltersSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: ModelListFiltersSelectComponent, isStandalone: true, selector: "data-model-list-filters-select", inputs: { list: "list", containerClasses: "containerClasses", itemActiveClasses: "itemActiveClasses", itemInactiveClasses: "itemInactiveClasses" }, ngImport: i0, template: "<span *ngFor=\"let f of list.filters.available|async\" (click)=\"toggle(f)\" [ngClass]=\"containerClasses\"><span *ngIf=\"f.enabled\" role=\"button\" [ngClass]=\"itemActiveClasses\" [title]=\"f.desc\"><i class=\"bi bi-check2-square me-2\"></i><span>{{f.label}}</span></span><span *ngIf=\"!f.enabled\" role=\"button\" [ngClass]=\"itemInactiveClasses\" [title]=\"f.desc\"><i class=\"bi bi-square me-2\"></i><span>{{f.label}}</span></span></span>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
21
+ ngOnInit() {
22
+ if (this.mode === 'select') {
23
+ this.selectForm.valueChanges
24
+ .pipe(takeUntilDestroyed(this.destroy$))
25
+ .subscribe((f) => {
26
+ if (f) {
27
+ f.enabled = !f.enabled;
28
+ this.list.filters.update();
29
+ this.selectForm.setValue(null, { emitEvent: false });
30
+ }
31
+ });
32
+ }
33
+ }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ModelListFiltersSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ModelListFiltersSelectComponent, isStandalone: true, selector: "data-model-list-filters-select", inputs: { list: "list", containerClasses: "containerClasses", itemActiveClasses: "itemActiveClasses", itemInactiveClasses: "itemInactiveClasses", mode: "mode" }, ngImport: i0, template: "\n<ng-container *ngIf=\"mode==='badge'\"><span *ngFor=\"let f of list.filters.available|async\" (click)=\"toggle(f)\" [ngClass]=\"containerClasses\"><span *ngIf=\"f.enabled\" role=\"button\" [ngClass]=\"itemActiveClasses\" [title]=\"f.desc\"><i class=\"bi bi-check2-square me-2\"></i><span>{{f.label}}</span></span><span *ngIf=\"!f.enabled\" role=\"button\" [ngClass]=\"itemInactiveClasses\" [title]=\"f.desc\"><i class=\"bi bi-square me-2\"></i><span>{{f.label}}</span></span></span></ng-container>\n<ng-container *ngIf=\"mode==='badge_summary'\"><span *ngFor=\"let f of list.filters.available|async\" (click)=\"toggle(f)\" [ngClass]=\"containerClasses\"><span *ngIf=\"f.enabled\" role=\"button\" [ngClass]=\"itemActiveClasses\" [title]=\"f.desc\"><i class=\"bi bi-check2-square me-2\"></i><span>{{f.label}} : {{f.summary||'...'}}</span></span></span></ng-container>\n<ng-container *ngIf=\"mode==='select'\">\n <select class=\"form-select\" [formControl]=\"selectForm\">\n <option [ngValue]=\"null\">-- Ajouter un filtre --</option>\n <ng-container *ngFor=\"let f of list.filters.available|async\">\n <ng-container *ngIf=\"!f.enabled &amp;&amp; !f.group\">\n <option [ngValue]=\"f\">{{f.label}}</option>\n </ng-container>\n </ng-container>\n <ng-container *ngFor=\"let g of list.filters.groups|async\">\n <optgroup [label]=\"g.label\">\n <ng-container *ngFor=\"let f of g.filters\">\n <ng-container *ngIf=\"!f.enabled &amp;&amp; f.allowed\">\n <option [ngValue]=\"f\">{{f.label}}</option>\n </ng-container>\n </ng-container>\n </optgroup>\n </ng-container>\n </select>\n</ng-container>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
17
36
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ModelListFiltersSelectComponent, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ModelListFiltersSelectComponent, decorators: [{
19
38
  type: Component,
20
- args: [{ selector: 'data-model-list-filters-select', standalone: true, imports: [CommonModule], template: "<span *ngFor=\"let f of list.filters.available|async\" (click)=\"toggle(f)\" [ngClass]=\"containerClasses\"><span *ngIf=\"f.enabled\" role=\"button\" [ngClass]=\"itemActiveClasses\" [title]=\"f.desc\"><i class=\"bi bi-check2-square me-2\"></i><span>{{f.label}}</span></span><span *ngIf=\"!f.enabled\" role=\"button\" [ngClass]=\"itemInactiveClasses\" [title]=\"f.desc\"><i class=\"bi bi-square me-2\"></i><span>{{f.label}}</span></span></span>" }]
39
+ args: [{ selector: 'data-model-list-filters-select', standalone: true, imports: [CommonModule, ReactiveFormsModule], template: "\n<ng-container *ngIf=\"mode==='badge'\"><span *ngFor=\"let f of list.filters.available|async\" (click)=\"toggle(f)\" [ngClass]=\"containerClasses\"><span *ngIf=\"f.enabled\" role=\"button\" [ngClass]=\"itemActiveClasses\" [title]=\"f.desc\"><i class=\"bi bi-check2-square me-2\"></i><span>{{f.label}}</span></span><span *ngIf=\"!f.enabled\" role=\"button\" [ngClass]=\"itemInactiveClasses\" [title]=\"f.desc\"><i class=\"bi bi-square me-2\"></i><span>{{f.label}}</span></span></span></ng-container>\n<ng-container *ngIf=\"mode==='badge_summary'\"><span *ngFor=\"let f of list.filters.available|async\" (click)=\"toggle(f)\" [ngClass]=\"containerClasses\"><span *ngIf=\"f.enabled\" role=\"button\" [ngClass]=\"itemActiveClasses\" [title]=\"f.desc\"><i class=\"bi bi-check2-square me-2\"></i><span>{{f.label}} : {{f.summary||'...'}}</span></span></span></ng-container>\n<ng-container *ngIf=\"mode==='select'\">\n <select class=\"form-select\" [formControl]=\"selectForm\">\n <option [ngValue]=\"null\">-- Ajouter un filtre --</option>\n <ng-container *ngFor=\"let f of list.filters.available|async\">\n <ng-container *ngIf=\"!f.enabled &amp;&amp; !f.group\">\n <option [ngValue]=\"f\">{{f.label}}</option>\n </ng-container>\n </ng-container>\n <ng-container *ngFor=\"let g of list.filters.groups|async\">\n <optgroup [label]=\"g.label\">\n <ng-container *ngFor=\"let f of g.filters\">\n <ng-container *ngIf=\"!f.enabled &amp;&amp; f.allowed\">\n <option [ngValue]=\"f\">{{f.label}}</option>\n </ng-container>\n </ng-container>\n </optgroup>\n </ng-container>\n </select>\n</ng-container>" }]
21
40
  }], ctorParameters: () => [], propDecorators: { list: [{
22
41
  type: Input
23
42
  }], containerClasses: [{
@@ -26,5 +45,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
26
45
  type: Input
27
46
  }], itemInactiveClasses: [{
28
47
  type: Input
48
+ }], mode: [{
49
+ type: Input
29
50
  }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1maWx0ZXJzLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmlsdGVycy9tb2RlbC1saXN0LWZpbHRlcnMtc2VsZWN0L21vZGVsLWxpc3QtZmlsdGVycy1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL21vZGVsbGlzdC9tb2RlbC1saXN0LWZpbHRlcnMvbW9kZWwtbGlzdC1maWx0ZXJzLXNlbGVjdC9tb2RlbC1saXN0LWZpbHRlcnMtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBUy9DLE1BQU0sT0FBTywrQkFBK0I7SUFRMUM7UUFOZ0IscUJBQWdCLEdBQXNCLEVBQUUsQ0FBQztRQUN6QyxzQkFBaUIsR0FDL0IsdUJBQXVCLENBQUM7UUFDVix3QkFBbUIsR0FDakMseUJBQXlCLENBQUM7SUFFYixDQUFDO0lBRVQsTUFBTSxDQUFDLENBQWtCO1FBQzlCLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7OEdBYlUsK0JBQStCO2tHQUEvQiwrQkFBK0IsOE9DWjVDLDZiQUFpYSx5RERVclosWUFBWTs7MkZBRVgsK0JBQStCO2tCQVAzQyxTQUFTOytCQUNFLGdDQUFnQyxjQUc5QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7d0RBR1AsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBQ1UsaUJBQWlCO3NCQUFoQyxLQUFLO2dCQUVVLG1CQUFtQjtzQkFBbEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vZGVsTGlzdCB9IGZyb20gJy4uLy4uL21vZGVsLWxpc3Quc2VydmljZSc7XG5pbXBvcnQgeyBNb2RlbExpc3RGaWx0ZXIgfSBmcm9tICcuLi9tb2RlbC1saXN0LWZpbHRlcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYXRhLW1vZGVsLWxpc3QtZmlsdGVycy1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kZWwtbGlzdC1maWx0ZXJzLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vZGVsLWxpc3QtZmlsdGVycy1zZWxlY3QuY29tcG9uZW50LnNhc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIE1vZGVsTGlzdEZpbHRlcnNTZWxlY3RDb21wb25lbnQge1xuICBASW5wdXQoKSBwdWJsaWMgbGlzdCE6IE1vZGVsTGlzdDxhbnk+O1xuICBASW5wdXQoKSBwdWJsaWMgY29udGFpbmVyQ2xhc3Nlczogc3RyaW5nW10gfCBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGl0ZW1BY3RpdmVDbGFzc2VzOiBzdHJpbmdbXSB8IHN0cmluZyA9XG4gICAgJ2JhZGdlIGJnLXN1Y2Nlc3MgbXgtMSc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpdGVtSW5hY3RpdmVDbGFzc2VzOiBzdHJpbmdbXSB8IHN0cmluZyA9XG4gICAgJ2JhZGdlIGJnLXNlY29uZGFyeSBteC0xJztcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIHRvZ2dsZShmOiBNb2RlbExpc3RGaWx0ZXIpIHtcbiAgICBmLmVuYWJsZWQgPSAhZi5lbmFibGVkO1xuICAgIHRoaXMubGlzdC5maWx0ZXJzLnVwZGF0ZSgpO1xuICB9XG59XG4iLCI8c3BhbiAqbmdGb3I9XCJsZXQgZiBvZiBsaXN0LmZpbHRlcnMuYXZhaWxhYmxlfGFzeW5jXCIgKGNsaWNrKT1cInRvZ2dsZShmKVwiIFtuZ0NsYXNzXT1cImNvbnRhaW5lckNsYXNzZXNcIj48c3BhbiAqbmdJZj1cImYuZW5hYmxlZFwiIHJvbGU9XCJidXR0b25cIiBbbmdDbGFzc109XCJpdGVtQWN0aXZlQ2xhc3Nlc1wiIFt0aXRsZV09XCJmLmRlc2NcIj48aSBjbGFzcz1cImJpIGJpLWNoZWNrMi1zcXVhcmUgbWUtMlwiPjwvaT48c3Bhbj57e2YubGFiZWx9fTwvc3Bhbj48L3NwYW4+PHNwYW4gKm5nSWY9XCIhZi5lbmFibGVkXCIgcm9sZT1cImJ1dHRvblwiIFtuZ0NsYXNzXT1cIml0ZW1JbmFjdGl2ZUNsYXNzZXNcIiBbdGl0bGVdPVwiZi5kZXNjXCI+PGkgY2xhc3M9XCJiaSBiaS1zcXVhcmUgbWUtMlwiPjwvaT48c3Bhbj57e2YubGFiZWx9fTwvc3Bhbj48L3NwYW4+PC9zcGFuPiJdfQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1maWx0ZXJzLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmlsdGVycy9tb2RlbC1saXN0LWZpbHRlcnMtc2VsZWN0L21vZGVsLWxpc3QtZmlsdGVycy1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL21vZGVsbGlzdC9tb2RlbC1saXN0LWZpbHRlcnMvbW9kZWwtbGlzdC1maWx0ZXJzLXNlbGVjdC9tb2RlbC1saXN0LWZpbHRlcnMtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQVNoRSxNQUFNLE9BQU8sK0JBQStCO0lBWTFDO1FBVmdCLHFCQUFnQixHQUFzQixFQUFFLENBQUM7UUFDekMsc0JBQWlCLEdBQy9CLHVCQUF1QixDQUFDO1FBQ1Ysd0JBQW1CLEdBQ2pDLHlCQUF5QixDQUFDO1FBQ1osU0FBSSxHQUF5QyxPQUFPLENBQUM7UUFFOUQsZUFBVSxHQUFHLElBQUksV0FBVyxDQUF5QixJQUFJLENBQUMsQ0FBQztRQUMxRCxhQUFRLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXZCLENBQUM7SUFFVCxNQUFNLENBQUMsQ0FBa0I7UUFDOUIsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZO2lCQUN6QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUN2QyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDZixJQUFJLENBQUMsRUFBRSxDQUFDO29CQUNOLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO29CQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBQ3ZELENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDSCxDQUFDOzhHQS9CVSwrQkFBK0I7a0dBQS9CLCtCQUErQiw0UENkNUMsMm9EQXFCZSx5RERUSCxZQUFZLGtaQUFFLG1CQUFtQjs7MkZBRWhDLCtCQUErQjtrQkFQM0MsU0FBUzsrQkFDRSxnQ0FBZ0MsY0FHOUIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixDQUFDO3dEQUc1QixJQUFJO3NCQUFuQixLQUFLO2dCQUNVLGdCQUFnQjtzQkFBL0IsS0FBSztnQkFDVSxpQkFBaUI7c0JBQWhDLEtBQUs7Z0JBRVUsbUJBQW1CO3NCQUFsQyxLQUFLO2dCQUVVLElBQUk7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIERlc3Ryb3lSZWYsIGluamVjdCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kZWxMaXN0IH0gZnJvbSAnLi4vLi4vbW9kZWwtbGlzdC5zZXJ2aWNlJztcbmltcG9ydCB7IE1vZGVsTGlzdEZpbHRlciB9IGZyb20gJy4uL21vZGVsLWxpc3QtZmlsdGVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGF0YS1tb2RlbC1saXN0LWZpbHRlcnMtc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGVsLWxpc3QtZmlsdGVycy1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RlbC1saXN0LWZpbHRlcnMtc2VsZWN0LmNvbXBvbmVudC5zYXNzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBNb2RlbExpc3RGaWx0ZXJzU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIGxpc3QhOiBNb2RlbExpc3Q8YW55PjtcbiAgQElucHV0KCkgcHVibGljIGNvbnRhaW5lckNsYXNzZXM6IHN0cmluZ1tdIHwgc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpdGVtQWN0aXZlQ2xhc3Nlczogc3RyaW5nW10gfCBzdHJpbmcgPVxuICAgICdiYWRnZSBiZy1zdWNjZXNzIG14LTEnO1xuICBASW5wdXQoKSBwdWJsaWMgaXRlbUluYWN0aXZlQ2xhc3Nlczogc3RyaW5nW10gfCBzdHJpbmcgPVxuICAgICdiYWRnZSBiZy1zZWNvbmRhcnkgbXgtMSc7XG4gIEBJbnB1dCgpIHB1YmxpYyBtb2RlOiAnc2VsZWN0JyB8ICdiYWRnZScgfCAnYmFkZ2Vfc3VtbWFyeScgPSAnYmFkZ2UnO1xuXG4gIHB1YmxpYyBzZWxlY3RGb3JtID0gbmV3IEZvcm1Db250cm9sPE1vZGVsTGlzdEZpbHRlciB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIGRlc3Ryb3kkID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwdWJsaWMgdG9nZ2xlKGY6IE1vZGVsTGlzdEZpbHRlcikge1xuICAgIGYuZW5hYmxlZCA9ICFmLmVuYWJsZWQ7XG4gICAgdGhpcy5saXN0LmZpbHRlcnMudXBkYXRlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ3NlbGVjdCcpIHtcbiAgICAgIHRoaXMuc2VsZWN0Rm9ybS52YWx1ZUNoYW5nZXNcbiAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAuc3Vic2NyaWJlKChmKSA9PiB7XG4gICAgICAgICAgaWYgKGYpIHtcbiAgICAgICAgICAgIGYuZW5hYmxlZCA9ICFmLmVuYWJsZWQ7XG4gICAgICAgICAgICB0aGlzLmxpc3QuZmlsdGVycy51cGRhdGUoKTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0Rm9ybS5zZXRWYWx1ZShudWxsLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGU9PT0nYmFkZ2UnXCI+PHNwYW4gKm5nRm9yPVwibGV0IGYgb2YgbGlzdC5maWx0ZXJzLmF2YWlsYWJsZXxhc3luY1wiIChjbGljayk9XCJ0b2dnbGUoZilcIiBbbmdDbGFzc109XCJjb250YWluZXJDbGFzc2VzXCI+PHNwYW4gKm5nSWY9XCJmLmVuYWJsZWRcIiByb2xlPVwiYnV0dG9uXCIgW25nQ2xhc3NdPVwiaXRlbUFjdGl2ZUNsYXNzZXNcIiBbdGl0bGVdPVwiZi5kZXNjXCI+PGkgY2xhc3M9XCJiaSBiaS1jaGVjazItc3F1YXJlIG1lLTJcIj48L2k+PHNwYW4+e3tmLmxhYmVsfX08L3NwYW4+PC9zcGFuPjxzcGFuICpuZ0lmPVwiIWYuZW5hYmxlZFwiIHJvbGU9XCJidXR0b25cIiBbbmdDbGFzc109XCJpdGVtSW5hY3RpdmVDbGFzc2VzXCIgW3RpdGxlXT1cImYuZGVzY1wiPjxpIGNsYXNzPVwiYmkgYmktc3F1YXJlIG1lLTJcIj48L2k+PHNwYW4+e3tmLmxhYmVsfX08L3NwYW4+PC9zcGFuPjwvc3Bhbj48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlPT09J2JhZGdlX3N1bW1hcnknXCI+PHNwYW4gKm5nRm9yPVwibGV0IGYgb2YgbGlzdC5maWx0ZXJzLmF2YWlsYWJsZXxhc3luY1wiIChjbGljayk9XCJ0b2dnbGUoZilcIiBbbmdDbGFzc109XCJjb250YWluZXJDbGFzc2VzXCI+PHNwYW4gKm5nSWY9XCJmLmVuYWJsZWRcIiByb2xlPVwiYnV0dG9uXCIgW25nQ2xhc3NdPVwiaXRlbUFjdGl2ZUNsYXNzZXNcIiBbdGl0bGVdPVwiZi5kZXNjXCI+PGkgY2xhc3M9XCJiaSBiaS1jaGVjazItc3F1YXJlIG1lLTJcIj48L2k+PHNwYW4+e3tmLmxhYmVsfX0gOiB7e2Yuc3VtbWFyeXx8Jy4uLid9fTwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGU9PT0nc2VsZWN0J1wiPlxuICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBbZm9ybUNvbnRyb2xdPVwic2VsZWN0Rm9ybVwiPlxuICAgIDxvcHRpb24gW25nVmFsdWVdPVwibnVsbFwiPi0tIEFqb3V0ZXIgdW4gZmlsdHJlIC0tPC9vcHRpb24+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZiBvZiBsaXN0LmZpbHRlcnMuYXZhaWxhYmxlfGFzeW5jXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWYuZW5hYmxlZCAmYW1wOyZhbXA7ICFmLmdyb3VwXCI+XG4gICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwiZlwiPnt7Zi5sYWJlbH19PC9vcHRpb24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBnIG9mIGxpc3QuZmlsdGVycy5ncm91cHN8YXN5bmNcIj5cbiAgICAgIDxvcHRncm91cCBbbGFiZWxdPVwiZy5sYWJlbFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmIG9mIGcuZmlsdGVyc1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZi5lbmFibGVkICZhbXA7JmFtcDsgZi5hbGxvd2VkXCI+XG4gICAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cImZcIj57e2YubGFiZWx9fTwvb3B0aW9uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvb3B0Z3JvdXA+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvc2VsZWN0PlxuPC9uZy1jb250YWluZXI+Il19
@@ -1,10 +1,31 @@
1
1
  import { ReplaySubject } from 'rxjs';
2
+ import { ModelListFilter } from './model-list-filter';
2
3
  export class ModelListFilters {
3
4
  constructor(params) {
4
- this._output = new ReplaySubject(1);
5
- this._enabled = new ReplaySubject(1);
6
- this._available = new ReplaySubject(1);
7
- const tmp = Array.from(params?.filters || []);
5
+ this._enabled$ = new ReplaySubject(1);
6
+ this._filters = [];
7
+ this._output$ = new ReplaySubject(1);
8
+ this._available$ = new ReplaySubject(1);
9
+ this._groups$ = new ReplaySubject(1);
10
+ this._groups = [];
11
+ this._enabled = [];
12
+ this._available = [];
13
+ const fwgroups = Array.from(params?.filters || []);
14
+ // Ungroup filters, keeping groups
15
+ const tmp = [];
16
+ const groups = [];
17
+ for (const f of fwgroups) {
18
+ if (f instanceof ModelListFilter) {
19
+ tmp.push(f);
20
+ }
21
+ else {
22
+ groups.push(f);
23
+ for (const ff of f.filters) {
24
+ tmp.push(ff);
25
+ ff.group = f;
26
+ }
27
+ }
28
+ }
8
29
  // Prepare allowed filters (all filters if not set or empty)
9
30
  let allowed = [];
10
31
  if (params?.allowed === undefined || params?.allowed.length === 0) {
@@ -48,33 +69,66 @@ export class ModelListFilters {
48
69
  }
49
70
  }
50
71
  this._filters = tmp;
72
+ this._groups = groups;
51
73
  this.update();
52
74
  }
53
- get output() {
54
- return this._output.asObservable();
75
+ get groups() {
76
+ return this._groups$.asObservable();
55
77
  }
56
78
  get enabled() {
57
- return this._enabled.asObservable();
79
+ return this._enabled$.asObservable();
58
80
  }
59
81
  get available() {
60
- return this._available.asObservable();
82
+ return this._available$.asObservable();
83
+ }
84
+ get output() {
85
+ return this._output$.asObservable();
61
86
  }
62
87
  update() {
63
88
  const filter = {};
64
- const enabled = [];
65
- const available = [];
66
89
  for (const f of this._filters) {
67
90
  if (f.enabled) {
68
91
  f.updateFilter(filter);
69
- enabled.push(f);
92
+ if (this._enabled.indexOf(f) === -1) {
93
+ this._enabled.push(f);
94
+ }
95
+ }
96
+ else {
97
+ const i = this._enabled.indexOf(f);
98
+ if (i !== -1) {
99
+ this._enabled.splice(i, 1);
100
+ }
70
101
  }
71
102
  if (f.allowed) {
72
- available.push(f);
103
+ if (this._available.indexOf(f) === -1) {
104
+ this._available.push(f);
105
+ }
106
+ }
107
+ else {
108
+ const i = this._available.indexOf(f);
109
+ if (i !== -1) {
110
+ this._available.splice(i, 1);
111
+ }
112
+ }
113
+ }
114
+ for (const g of this._groups) {
115
+ g.enabled = false;
116
+ g.allowed = false;
117
+ for (const f of g.filters) {
118
+ if (!f.enabled && f.allowed) {
119
+ g.enabled = true;
120
+ }
121
+ if (f.allowed) {
122
+ g.allowed = true;
123
+ }
73
124
  }
74
125
  }
75
- this._output.next(filter);
76
- this._enabled.next(enabled);
77
- this._available.next(available);
126
+ this._output$.next(filter);
127
+ this._enabled$.next(this._enabled);
128
+ this._available$.next(this._available);
129
+ this._groups$.next(this._groups
130
+ .filter((g) => g.allowed && g.enabled)
131
+ .sort((a, b) => a.position - b.position));
78
132
  }
79
133
  }
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1maWx0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL21vZGVsbGlzdC9tb2RlbC1saXN0LWZpbHRlcnMvbW9kZWwtbGlzdC1maWx0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJakQsTUFBTSxPQUFPLGdCQUFnQjtJQUczQixZQUFZLE1BQXNCO1FBaUQxQixZQUFPLEdBQUcsSUFBSSxhQUFhLENBQWEsQ0FBQyxDQUFDLENBQUM7UUFLNUMsYUFBUSxHQUFHLElBQUksYUFBYSxDQUFvQixDQUFDLENBQUMsQ0FBQztRQUtuRCxlQUFVLEdBQUcsSUFBSSxhQUFhLENBQW9CLENBQUMsQ0FBQyxDQUFDO1FBMUQxRCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7UUFDOUMsNERBQTREO1FBQzVELElBQUksT0FBTyxHQUFhLEVBQUUsQ0FBQztRQUMzQixJQUFJLE1BQU0sRUFBRSxPQUFPLEtBQUssU0FBUyxJQUFJLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNqRSxLQUFLLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRTtnQkFDbkIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDdEI7U0FDRjthQUFNO1lBQ0wsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7U0FDMUI7UUFDRCwyQkFBMkI7UUFDM0IsTUFBTSxRQUFRLEdBQWEsTUFBTSxFQUFFLFFBQVEsSUFBSSxFQUFFLENBQUM7UUFFbEQsMEJBQTBCO1FBQzFCLDhDQUE4QztRQUM5QyxNQUFNLFFBQVEsR0FBYSxNQUFNLEVBQUUsUUFBUSxJQUFJLE9BQU8sQ0FBQztRQUV2RCx5QkFBeUI7UUFDekIsY0FBYztRQUNkLEtBQUssTUFBTSxFQUFFLElBQUksT0FBTyxFQUFFO1lBQ3hCLEtBQUssTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFO2dCQUNuQixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssRUFBRSxFQUFFO29CQUNqQixDQUFDLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztpQkFDbEI7YUFDRjtTQUNGO1FBQ0QsZUFBZTtRQUNmLEtBQUssTUFBTSxFQUFFLElBQUksUUFBUSxFQUFFO1lBQ3pCLEtBQUssTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFO2dCQUNuQixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssRUFBRSxFQUFFO29CQUNqQixDQUFDLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztvQkFDakIsQ0FBQyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7aUJBQ2xCO2FBQ0Y7U0FDRjtRQUNELGtCQUFrQjtRQUNsQixLQUFLLE1BQU0sRUFBRSxJQUFJLFFBQVEsRUFBRTtZQUN6QixLQUFLLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLEVBQUUsRUFBRTtvQkFDakIsQ0FBQyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBQ2xCLENBQUMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2lCQUNuQjthQUNGO1NBQ0Y7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztRQUNwQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUdELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBR0QsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBR0QsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRU0sTUFBTTtRQUNYLE1BQU0sTUFBTSxHQUFlLEVBQUUsQ0FBQztRQUM5QixNQUFNLE9BQU8sR0FBc0IsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sU0FBUyxHQUFzQixFQUFFLENBQUM7UUFDeEMsS0FBSyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzdCLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRTtnQkFDYixDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN2QixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2pCO1lBQ0QsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFO2dCQUNiLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDbkI7U0FDRjtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbHRlckRhdGEgfSBmcm9tICcuLi8uLi9kYXRhL2RhdGEtcXVlcnknO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmlsdGVyc1BhcmFtcyB9IGZyb20gJy4uL21vZGVsLWxpc3Quc2VydmljZSc7XG5pbXBvcnQgeyBNb2RlbExpc3RGaWx0ZXIgfSBmcm9tICcuL21vZGVsLWxpc3QtZmlsdGVyJztcblxuZXhwb3J0IGNsYXNzIE1vZGVsTGlzdEZpbHRlcnMge1xuICBwcml2YXRlIF9maWx0ZXJzOiBNb2RlbExpc3RGaWx0ZXJbXTtcblxuICBjb25zdHJ1Y3RvcihwYXJhbXM/OiBGaWx0ZXJzUGFyYW1zKSB7XG4gICAgY29uc3QgdG1wID0gQXJyYXkuZnJvbShwYXJhbXM/LmZpbHRlcnMgfHwgW10pO1xuICAgIC8vIFByZXBhcmUgYWxsb3dlZCBmaWx0ZXJzIChhbGwgZmlsdGVycyBpZiBub3Qgc2V0IG9yIGVtcHR5KVxuICAgIGxldCBhbGxvd2VkOiBzdHJpbmdbXSA9IFtdO1xuICAgIGlmIChwYXJhbXM/LmFsbG93ZWQgPT09IHVuZGVmaW5lZCB8fCBwYXJhbXM/LmFsbG93ZWQubGVuZ3RoID09PSAwKSB7XG4gICAgICBmb3IgKGNvbnN0IGYgb2YgdG1wKSB7XG4gICAgICAgIGFsbG93ZWQucHVzaChmLm5hbWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBhbGxvd2VkID0gcGFyYW1zLmFsbG93ZWQ7XG4gICAgfVxuICAgIC8vIFByZXBhcmUgZXhjbHVkZWQgZmlsdGVyc1xuICAgIGNvbnN0IGV4Y2x1ZGVkOiBzdHJpbmdbXSA9IHBhcmFtcz8uZXhjbHVkZWQgfHwgW107XG5cbiAgICAvLyBQcm9jZXNzIGRlZmF1bHQgZmlsdGVyc1xuICAgIC8vIFVzZSBhbGwgYWxsb3dlZCBmaWx0ZXJzIGlmIGVtcHR5IG9mIG5vdCBzZXRcbiAgICBjb25zdCBkZWZhdWx0czogc3RyaW5nW10gPSBwYXJhbXM/LmRlZmF1bHRzIHx8IGFsbG93ZWQ7XG5cbiAgICAvLyBQcmVwYXJlIGZpbHRlcnMgc3RhdHVzXG4gICAgLy8gU2V0IGFsbG93ZWRcbiAgICBmb3IgKGNvbnN0IGZlIG9mIGFsbG93ZWQpIHtcbiAgICAgIGZvciAoY29uc3QgZiBvZiB0bXApIHtcbiAgICAgICAgaWYgKGYubmFtZSA9PT0gZmUpIHtcbiAgICAgICAgICBmLmFsbG93ZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8vIFNldCBkZWZhdWx0c1xuICAgIGZvciAoY29uc3QgZmUgb2YgZGVmYXVsdHMpIHtcbiAgICAgIGZvciAoY29uc3QgZiBvZiB0bXApIHtcbiAgICAgICAgaWYgKGYubmFtZSA9PT0gZmUpIHtcbiAgICAgICAgICBmLmVuYWJsZWQgPSB0cnVlO1xuICAgICAgICAgIGYuYWxsb3dlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8gcmVtb3ZlIGV4Y2x1ZGVkXG4gICAgZm9yIChjb25zdCBmZSBvZiBleGNsdWRlZCkge1xuICAgICAgZm9yIChjb25zdCBmIG9mIHRtcCkge1xuICAgICAgICBpZiAoZi5uYW1lID09PSBmZSkge1xuICAgICAgICAgIGYuZW5hYmxlZCA9IGZhbHNlO1xuICAgICAgICAgIGYuYWxsb3dlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuX2ZpbHRlcnMgPSB0bXA7XG4gICAgdGhpcy51cGRhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX291dHB1dCA9IG5ldyBSZXBsYXlTdWJqZWN0PEZpbHRlckRhdGE+KDEpO1xuICBwdWJsaWMgZ2V0IG91dHB1dCgpOiBPYnNlcnZhYmxlPEZpbHRlckRhdGE+IHtcbiAgICByZXR1cm4gdGhpcy5fb3V0cHV0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIF9lbmFibGVkID0gbmV3IFJlcGxheVN1YmplY3Q8TW9kZWxMaXN0RmlsdGVyW10+KDEpO1xuICBwdWJsaWMgZ2V0IGVuYWJsZWQoKTogT2JzZXJ2YWJsZTxNb2RlbExpc3RGaWx0ZXJbXT4ge1xuICAgIHJldHVybiB0aGlzLl9lbmFibGVkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIF9hdmFpbGFibGUgPSBuZXcgUmVwbGF5U3ViamVjdDxNb2RlbExpc3RGaWx0ZXJbXT4oMSk7XG4gIHB1YmxpYyBnZXQgYXZhaWxhYmxlKCk6IE9ic2VydmFibGU8TW9kZWxMaXN0RmlsdGVyW10+IHtcbiAgICByZXR1cm4gdGhpcy5fYXZhaWxhYmxlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZSgpIHtcbiAgICBjb25zdCBmaWx0ZXI6IEZpbHRlckRhdGEgPSB7fTtcbiAgICBjb25zdCBlbmFibGVkOiBNb2RlbExpc3RGaWx0ZXJbXSA9IFtdO1xuICAgIGNvbnN0IGF2YWlsYWJsZTogTW9kZWxMaXN0RmlsdGVyW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGYgb2YgdGhpcy5fZmlsdGVycykge1xuICAgICAgaWYgKGYuZW5hYmxlZCkge1xuICAgICAgICBmLnVwZGF0ZUZpbHRlcihmaWx0ZXIpO1xuICAgICAgICBlbmFibGVkLnB1c2goZik7XG4gICAgICB9XG4gICAgICBpZiAoZi5hbGxvd2VkKSB7XG4gICAgICAgIGF2YWlsYWJsZS5wdXNoKGYpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLl9vdXRwdXQubmV4dChmaWx0ZXIpO1xuICAgIHRoaXMuX2VuYWJsZWQubmV4dChlbmFibGVkKTtcbiAgICB0aGlzLl9hdmFpbGFibGUubmV4dChhdmFpbGFibGUpO1xuICB9XG59XG4iXX0=
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1maWx0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL21vZGVsbGlzdC9tb2RlbC1saXN0LWZpbHRlcnMvbW9kZWwtbGlzdC1maWx0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR3RELE1BQU0sT0FBTyxnQkFBZ0I7SUFPM0IsWUFBWSxNQUFzQjtRQU4xQixjQUFTLEdBQUcsSUFBSSxhQUFhLENBQW9CLENBQUMsQ0FBQyxDQUFDO1FBQ3BELGFBQVEsR0FBc0IsRUFBRSxDQUFDO1FBQ2pDLGFBQVEsR0FBRyxJQUFJLGFBQWEsQ0FBYSxDQUFDLENBQUMsQ0FBQztRQUM1QyxnQkFBVyxHQUFHLElBQUksYUFBYSxDQUFvQixDQUFDLENBQUMsQ0FBQztRQUN0RCxhQUFRLEdBQUcsSUFBSSxhQUFhLENBQXlCLENBQUMsQ0FBQyxDQUFDO1FBbUV4RCxZQUFPLEdBQTJCLEVBQUUsQ0FBQztRQU1yQyxhQUFRLEdBQXNCLEVBQUUsQ0FBQztRQU1qQyxlQUFVLEdBQXNCLEVBQUUsQ0FBQztRQTVFekMsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELGtDQUFrQztRQUNsQyxNQUFNLEdBQUcsR0FBc0IsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sTUFBTSxHQUEyQixFQUFFLENBQUM7UUFDMUMsS0FBSyxNQUFNLENBQUMsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsWUFBWSxlQUFlLEVBQUUsQ0FBQztnQkFDakMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNkLENBQUM7aUJBQU0sQ0FB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LENBQUMsT0FBTyxFQUFFLENBQUM7WUFDN0IsQ0FBQyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDbEIsQ0FBQyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDbEIsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDNUIsQ0FBQyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBQ25CLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ2QsQ0FBQyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBQ25CLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLElBQUksQ0FBQyxPQUFPO2FBQ1QsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUM7YUFDckMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQzNDLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXJEYXRhIH0gZnJvbSAnLi4vLi4vZGF0YS9kYXRhLXF1ZXJ5JztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZpbHRlcnNQYXJhbXMgfSBmcm9tICcuLi9tb2RlbC1saXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9kZWxMaXN0RmlsdGVyIH0gZnJvbSAnLi9tb2RlbC1saXN0LWZpbHRlcic7XG5pbXBvcnQgeyBNb2RlbExpc3RGaWx0ZXJHcm91cCB9IGZyb20gJy4vbW9kZWwtbGlzdC1maWx0ZXItZ3JvdXAnO1xuXG5leHBvcnQgY2xhc3MgTW9kZWxMaXN0RmlsdGVycyB7XG4gIHByaXZhdGUgX2VuYWJsZWQkID0gbmV3IFJlcGxheVN1YmplY3Q8TW9kZWxMaXN0RmlsdGVyW10+KDEpO1xuICBwcml2YXRlIF9maWx0ZXJzOiBNb2RlbExpc3RGaWx0ZXJbXSA9IFtdO1xuICBwcml2YXRlIF9vdXRwdXQkID0gbmV3IFJlcGxheVN1YmplY3Q8RmlsdGVyRGF0YT4oMSk7XG4gIHByaXZhdGUgX2F2YWlsYWJsZSQgPSBuZXcgUmVwbGF5U3ViamVjdDxNb2RlbExpc3RGaWx0ZXJbXT4oMSk7XG4gIHByaXZhdGUgX2dyb3VwcyQgPSBuZXcgUmVwbGF5U3ViamVjdDxNb2RlbExpc3RGaWx0ZXJHcm91cFtdPigxKTtcblxuICBjb25zdHJ1Y3RvcihwYXJhbXM/OiBGaWx0ZXJzUGFyYW1zKSB7XG4gICAgY29uc3QgZndncm91cHMgPSBBcnJheS5mcm9tKHBhcmFtcz8uZmlsdGVycyB8fCBbXSk7XG4gICAgLy8gVW5ncm91cCBmaWx0ZXJzLCBrZWVwaW5nIGdyb3Vwc1xuICAgIGNvbnN0IHRtcDogTW9kZWxMaXN0RmlsdGVyW10gPSBbXTtcbiAgICBjb25zdCBncm91cHM6IE1vZGVsTGlzdEZpbHRlckdyb3VwW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGYgb2YgZndncm91cHMpIHtcbiAgICAgIGlmIChmIGluc3RhbmNlb2YgTW9kZWxMaXN0RmlsdGVyKSB7XG4gICAgICAgIHRtcC5wdXNoKGYpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZ3JvdXBzLnB1c2goZik7XG4gICAgICAgIGZvciAoY29uc3QgZmYgb2YgZi5maWx0ZXJzKSB7XG4gICAgICAgICAgdG1wLnB1c2goZmYpO1xuICAgICAgICAgIGZmLmdyb3VwID0gZjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByZXBhcmUgYWxsb3dlZCBmaWx0ZXJzIChhbGwgZmlsdGVycyBpZiBub3Qgc2V0IG9yIGVtcHR5KVxuICAgIGxldCBhbGxvd2VkOiBzdHJpbmdbXSA9IFtdO1xuICAgIGlmIChwYXJhbXM/LmFsbG93ZWQgPT09IHVuZGVmaW5lZCB8fCBwYXJhbXM/LmFsbG93ZWQubGVuZ3RoID09PSAwKSB7XG4gICAgICBmb3IgKGNvbnN0IGYgb2YgdG1wKSB7XG4gICAgICAgIGFsbG93ZWQucHVzaChmLm5hbWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBhbGxvd2VkID0gcGFyYW1zLmFsbG93ZWQ7XG4gICAgfVxuICAgIC8vIFByZXBhcmUgZXhjbHVkZWQgZmlsdGVyc1xuICAgIGNvbnN0IGV4Y2x1ZGVkOiBzdHJpbmdbXSA9IHBhcmFtcz8uZXhjbHVkZWQgfHwgW107XG5cbiAgICAvLyBQcm9jZXNzIGRlZmF1bHQgZmlsdGVyc1xuICAgIC8vIFVzZSBhbGwgYWxsb3dlZCBmaWx0ZXJzIGlmIGVtcHR5IG9mIG5vdCBzZXRcbiAgICBjb25zdCBkZWZhdWx0czogc3RyaW5nW10gPSBwYXJhbXM/LmRlZmF1bHRzIHx8IGFsbG93ZWQ7XG5cbiAgICAvLyBQcmVwYXJlIGZpbHRlcnMgc3RhdHVzXG4gICAgLy8gU2V0IGFsbG93ZWRcbiAgICBmb3IgKGNvbnN0IGZlIG9mIGFsbG93ZWQpIHtcbiAgICAgIGZvciAoY29uc3QgZiBvZiB0bXApIHtcbiAgICAgICAgaWYgKGYubmFtZSA9PT0gZmUpIHtcbiAgICAgICAgICBmLmFsbG93ZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8vIFNldCBkZWZhdWx0c1xuICAgIGZvciAoY29uc3QgZmUgb2YgZGVmYXVsdHMpIHtcbiAgICAgIGZvciAoY29uc3QgZiBvZiB0bXApIHtcbiAgICAgICAgaWYgKGYubmFtZSA9PT0gZmUpIHtcbiAgICAgICAgICBmLmVuYWJsZWQgPSB0cnVlO1xuICAgICAgICAgIGYuYWxsb3dlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8gcmVtb3ZlIGV4Y2x1ZGVkXG4gICAgZm9yIChjb25zdCBmZSBvZiBleGNsdWRlZCkge1xuICAgICAgZm9yIChjb25zdCBmIG9mIHRtcCkge1xuICAgICAgICBpZiAoZi5uYW1lID09PSBmZSkge1xuICAgICAgICAgIGYuZW5hYmxlZCA9IGZhbHNlO1xuICAgICAgICAgIGYuYWxsb3dlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuX2ZpbHRlcnMgPSB0bXA7XG4gICAgdGhpcy5fZ3JvdXBzID0gZ3JvdXBzO1xuICAgIHRoaXMudXBkYXRlKCk7XG4gIH1cblxuICBwcml2YXRlIF9ncm91cHM6IE1vZGVsTGlzdEZpbHRlckdyb3VwW10gPSBbXTtcblxuICBwdWJsaWMgZ2V0IGdyb3VwcygpOiBPYnNlcnZhYmxlPE1vZGVsTGlzdEZpbHRlckdyb3VwW10+IHtcbiAgICByZXR1cm4gdGhpcy5fZ3JvdXBzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2VuYWJsZWQ6IE1vZGVsTGlzdEZpbHRlcltdID0gW107XG5cbiAgcHVibGljIGdldCBlbmFibGVkKCk6IE9ic2VydmFibGU8TW9kZWxMaXN0RmlsdGVyW10+IHtcbiAgICByZXR1cm4gdGhpcy5fZW5hYmxlZCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIF9hdmFpbGFibGU6IE1vZGVsTGlzdEZpbHRlcltdID0gW107XG5cbiAgcHVibGljIGdldCBhdmFpbGFibGUoKTogT2JzZXJ2YWJsZTxNb2RlbExpc3RGaWx0ZXJbXT4ge1xuICAgIHJldHVybiB0aGlzLl9hdmFpbGFibGUkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBvdXRwdXQoKTogT2JzZXJ2YWJsZTxGaWx0ZXJEYXRhPiB7XG4gICAgcmV0dXJuIHRoaXMuX291dHB1dCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlKCkge1xuICAgIGNvbnN0IGZpbHRlcjogRmlsdGVyRGF0YSA9IHt9O1xuICAgIGZvciAoY29uc3QgZiBvZiB0aGlzLl9maWx0ZXJzKSB7XG4gICAgICBpZiAoZi5lbmFibGVkKSB7XG4gICAgICAgIGYudXBkYXRlRmlsdGVyKGZpbHRlcik7XG4gICAgICAgIGlmICh0aGlzLl9lbmFibGVkLmluZGV4T2YoZikgPT09IC0xKSB7XG4gICAgICAgICAgdGhpcy5fZW5hYmxlZC5wdXNoKGYpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBpID0gdGhpcy5fZW5hYmxlZC5pbmRleE9mKGYpO1xuICAgICAgICBpZiAoaSAhPT0gLTEpIHtcbiAgICAgICAgICB0aGlzLl9lbmFibGVkLnNwbGljZShpLCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGYuYWxsb3dlZCkge1xuICAgICAgICBpZiAodGhpcy5fYXZhaWxhYmxlLmluZGV4T2YoZikgPT09IC0xKSB7XG4gICAgICAgICAgdGhpcy5fYXZhaWxhYmxlLnB1c2goZik7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGkgPSB0aGlzLl9hdmFpbGFibGUuaW5kZXhPZihmKTtcbiAgICAgICAgaWYgKGkgIT09IC0xKSB7XG4gICAgICAgICAgdGhpcy5fYXZhaWxhYmxlLnNwbGljZShpLCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgZyBvZiB0aGlzLl9ncm91cHMpIHtcbiAgICAgIGcuZW5hYmxlZCA9IGZhbHNlO1xuICAgICAgZy5hbGxvd2VkID0gZmFsc2U7XG4gICAgICBmb3IgKGNvbnN0IGYgb2YgZy5maWx0ZXJzKSB7XG4gICAgICAgIGlmICghZi5lbmFibGVkICYmIGYuYWxsb3dlZCkge1xuICAgICAgICAgIGcuZW5hYmxlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGYuYWxsb3dlZCkge1xuICAgICAgICAgIGcuYWxsb3dlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLl9vdXRwdXQkLm5leHQoZmlsdGVyKTtcbiAgICB0aGlzLl9lbmFibGVkJC5uZXh0KHRoaXMuX2VuYWJsZWQpO1xuICAgIHRoaXMuX2F2YWlsYWJsZSQubmV4dCh0aGlzLl9hdmFpbGFibGUpO1xuICAgIHRoaXMuX2dyb3VwcyQubmV4dChcbiAgICAgIHRoaXMuX2dyb3Vwc1xuICAgICAgICAuZmlsdGVyKChnKSA9PiBnLmFsbG93ZWQgJiYgZy5lbmFibGVkKVxuICAgICAgICAuc29ydCgoYSwgYikgPT4gYS5wb3NpdGlvbiAtIGIucG9zaXRpb24pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,8 +1,9 @@
1
- import { Component, Input } from '@angular/core';
1
+ import { Component, DestroyRef, inject, Input } from '@angular/core';
2
2
  import { FormControl, ReactiveFormsModule } from '@angular/forms';
3
- import { debounceTime, Subject, takeUntil } from 'rxjs';
3
+ import { debounceTime } from 'rxjs';
4
4
  import { NgbPaginationModule } from '@ng-bootstrap/ng-bootstrap';
5
5
  import { CommonModule } from '@angular/common';
6
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "@angular/common";
8
9
  import * as i2 from "@angular/forms";
@@ -15,7 +16,7 @@ export class ModelListPaginatorComponent {
15
16
  this.showDirectAccess = false;
16
17
  this.directAccess = new FormControl(0);
17
18
  this.curPage = 1;
18
- this._unsubscribe = new Subject();
19
+ this.destroy$ = inject(DestroyRef);
19
20
  }
20
21
  onPageChange(page) {
21
22
  if (!page) {
@@ -23,16 +24,14 @@ export class ModelListPaginatorComponent {
23
24
  }
24
25
  this.list.paginator.setPage(page);
25
26
  }
26
- ngOnDestroy() {
27
- this._unsubscribe.next();
28
- this._unsubscribe.complete();
29
- }
30
27
  ngOnChanges() {
31
28
  if (this.list) {
32
29
  this.perPageControl.setValue(this.list.paginator.getPageSize(), {
33
30
  emitEvent: false,
34
31
  });
35
- this.list.meta.pipe(takeUntil(this._unsubscribe)).subscribe((meta) => {
32
+ this.list.meta
33
+ .pipe(takeUntilDestroyed(this.destroy$))
34
+ .subscribe((meta) => {
36
35
  if (meta.nav) {
37
36
  this.list.paginator.updatePage(meta.nav.page || 1);
38
37
  this.curPage = meta.nav.page || 1;
@@ -43,21 +42,21 @@ export class ModelListPaginatorComponent {
43
42
  }
44
43
  });
45
44
  this.perPageControl.valueChanges
46
- .pipe(takeUntil(this._unsubscribe))
45
+ .pipe(takeUntilDestroyed(this.destroy$))
47
46
  .subscribe((count) => {
48
47
  this.list.paginator.setPageSize(count);
49
48
  });
50
49
  this.directAccess.valueChanges
51
- .pipe(takeUntil(this._unsubscribe), debounceTime(400))
50
+ .pipe(takeUntilDestroyed(this.destroy$), debounceTime(400))
52
51
  .subscribe((count) => {
53
52
  this.list.paginator.setPage(+count);
54
53
  });
55
54
  }
56
55
  }
57
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ModelListPaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
58
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: ModelListPaginatorComponent, isStandalone: true, selector: "data-model-list-paginator", inputs: { list: "list", maxPages: "maxPages", hide: "hide" }, usesOnChanges: true, ngImport: i0, template: "\n<div class=\"row\" *ngIf=\"!hide\">\n <div class=\"col-sm-4\">\n <select class=\"form-select perpage\" [formControl]=\"perPageControl\">\n <option value=\"10\" *ngIf=\"maxPages&gt;=10\">10 / page</option>\n <option value=\"20\" *ngIf=\"maxPages&gt;=20\">20 / page</option>\n <option value=\"50\" *ngIf=\"maxPages&gt;=50\">50 / page</option>\n <option value=\"100\" *ngIf=\"maxPages&gt;=100\">100 / page</option>\n <option value=\"200\" *ngIf=\"maxPages&gt;=200\">200 / page</option>\n <option value=\"500\" *ngIf=\"maxPages&gt;=500\">500 / page</option>\n <option value=\"1000\" *ngIf=\"maxPages&gt;=1000\">1000 / page</option>\n <option value=\"2000\" *ngIf=\"maxPages&gt;=2000\">2000 / page</option>\n <option value=\"5000\" *ngIf=\"maxPages&gt;=5000\">5000 / page</option>\n <option value=\"10000\" *ngIf=\"maxPages&gt;=10000\">10000 / page</option>\n </select>\n </div>\n <div class=\"col-sm-5 pagination\" *ngIf=\"list\">\n <div class=\"text-xs-center\">\n <ngb-pagination [pageSize]=\"pageSize\" [collectionSize]=\"curCount\" [page]=\"curPage\" (pageChange)=\"onPageChange($event)\" [maxSize]=\"5\" [rotate]=\"true\"></ngb-pagination>\n </div>\n </div>\n <div class=\"col-sm-3 results\">\n <div>{{curCount}} r\u00E9sultats -<span (click)=\"showDirectAccess=!showDirectAccess\" role=\"button\">acces direct</span></div>\n <div *ngIf=\"showDirectAccess\">\n <input class=\"form-control\" [formControl]=\"directAccess\" type=\"number\" placeholder=\"Aller \u00E0 la page\">\n </div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: NgbPaginationModule }, { kind: "component", type: i3.NgbPagination, selector: "ngb-pagination", inputs: ["disabled", "boundaryLinks", "directionLinks", "ellipses", "rotate", "collectionSize", "maxSize", "page", "pageSize", "size"], outputs: ["pageChange"] }] }); }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ModelListPaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
57
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ModelListPaginatorComponent, isStandalone: true, selector: "data-model-list-paginator", inputs: { list: "list", maxPages: "maxPages", hide: "hide" }, usesOnChanges: true, ngImport: i0, template: "\n<div class=\"row\" *ngIf=\"!hide\">\n <div class=\"col-sm-4\">\n <select class=\"form-select perpage\" [formControl]=\"perPageControl\">\n <option value=\"10\" *ngIf=\"maxPages&gt;=10\">10 / page</option>\n <option value=\"20\" *ngIf=\"maxPages&gt;=20\">20 / page</option>\n <option value=\"50\" *ngIf=\"maxPages&gt;=50\">50 / page</option>\n <option value=\"100\" *ngIf=\"maxPages&gt;=100\">100 / page</option>\n <option value=\"200\" *ngIf=\"maxPages&gt;=200\">200 / page</option>\n <option value=\"500\" *ngIf=\"maxPages&gt;=500\">500 / page</option>\n <option value=\"1000\" *ngIf=\"maxPages&gt;=1000\">1000 / page</option>\n <option value=\"2000\" *ngIf=\"maxPages&gt;=2000\">2000 / page</option>\n <option value=\"5000\" *ngIf=\"maxPages&gt;=5000\">5000 / page</option>\n <option value=\"10000\" *ngIf=\"maxPages&gt;=10000\">10000 / page</option>\n </select>\n </div>\n <div class=\"col-sm-5 pagination\" *ngIf=\"list\">\n <div class=\"text-xs-center\">\n <ngb-pagination [pageSize]=\"pageSize\" [collectionSize]=\"curCount\" [page]=\"curPage\" (pageChange)=\"onPageChange($event)\" [maxSize]=\"5\" [rotate]=\"true\"></ngb-pagination>\n </div>\n </div>\n <div class=\"col-sm-3 results\">\n <div>{{curCount}} r\u00E9sultats -<span (click)=\"showDirectAccess=!showDirectAccess\" role=\"button\">acces direct</span></div>\n <div *ngIf=\"showDirectAccess\">\n <input class=\"form-control\" [formControl]=\"directAccess\" type=\"number\" placeholder=\"Aller \u00E0 la page\">\n </div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: NgbPaginationModule }, { kind: "component", type: i3.NgbPagination, selector: "ngb-pagination", inputs: ["disabled", "boundaryLinks", "directionLinks", "ellipses", "rotate", "collectionSize", "maxSize", "page", "pageSize", "size"], outputs: ["pageChange"] }] }); }
59
58
  }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ModelListPaginatorComponent, decorators: [{
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ModelListPaginatorComponent, decorators: [{
61
60
  type: Component,
62
61
  args: [{ selector: 'data-model-list-paginator', standalone: true, imports: [CommonModule, ReactiveFormsModule, NgbPaginationModule], template: "\n<div class=\"row\" *ngIf=\"!hide\">\n <div class=\"col-sm-4\">\n <select class=\"form-select perpage\" [formControl]=\"perPageControl\">\n <option value=\"10\" *ngIf=\"maxPages&gt;=10\">10 / page</option>\n <option value=\"20\" *ngIf=\"maxPages&gt;=20\">20 / page</option>\n <option value=\"50\" *ngIf=\"maxPages&gt;=50\">50 / page</option>\n <option value=\"100\" *ngIf=\"maxPages&gt;=100\">100 / page</option>\n <option value=\"200\" *ngIf=\"maxPages&gt;=200\">200 / page</option>\n <option value=\"500\" *ngIf=\"maxPages&gt;=500\">500 / page</option>\n <option value=\"1000\" *ngIf=\"maxPages&gt;=1000\">1000 / page</option>\n <option value=\"2000\" *ngIf=\"maxPages&gt;=2000\">2000 / page</option>\n <option value=\"5000\" *ngIf=\"maxPages&gt;=5000\">5000 / page</option>\n <option value=\"10000\" *ngIf=\"maxPages&gt;=10000\">10000 / page</option>\n </select>\n </div>\n <div class=\"col-sm-5 pagination\" *ngIf=\"list\">\n <div class=\"text-xs-center\">\n <ngb-pagination [pageSize]=\"pageSize\" [collectionSize]=\"curCount\" [page]=\"curPage\" (pageChange)=\"onPageChange($event)\" [maxSize]=\"5\" [rotate]=\"true\"></ngb-pagination>\n </div>\n </div>\n <div class=\"col-sm-3 results\">\n <div>{{curCount}} r\u00E9sultats -<span (click)=\"showDirectAccess=!showDirectAccess\" role=\"button\">acces direct</span></div>\n <div *ngIf=\"showDirectAccess\">\n <input class=\"form-control\" [formControl]=\"directAccess\" type=\"number\" placeholder=\"Aller \u00E0 la page\">\n </div>\n </div>\n</div>" }]
63
62
  }], propDecorators: { list: [{
@@ -67,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
67
66
  }], hide: [{
68
67
  type: Input
69
68
  }] } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1wYWdpbmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL21vZGVsbGlzdC9tb2RlbC1saXN0LXBhZ2luYXRvci9tb2RlbC1saXN0LXBhZ2luYXRvci9tb2RlbC1saXN0LXBhZ2luYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtcGFnaW5hdG9yL21vZGVsLWxpc3QtcGFnaW5hdG9yL21vZGVsLWxpc3QtcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF3QixNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFVL0MsTUFBTSxPQUFPLDJCQUEyQjtJQVB4QztRQVdrQixhQUFRLEdBQUcsR0FBRyxDQUFDO1FBQ2YsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUV0QixtQkFBYyxHQUFnQixJQUFJLFdBQVcsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUMxRCxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDekIsaUJBQVksR0FBZ0IsSUFBSSxXQUFXLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDdkQsWUFBTyxHQUFHLENBQUMsQ0FBQztRQUdaLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztLQTJDM0M7SUF6Q1EsWUFBWSxDQUFDLElBQVk7UUFDOUIsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLEVBQUU7Z0JBQzlELFNBQVMsRUFBRSxLQUFLO2FBQ2pCLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ25FLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtvQkFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7b0JBQ25ELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO29CQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO29CQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDbEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2lCQUNuRTtZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZO2lCQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztpQkFDbEMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QyxDQUFDLENBQUMsQ0FBQztZQUVMLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWTtpQkFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUNyRCxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEMsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNILENBQUM7OEdBdkRVLDJCQUEyQjtrR0FBM0IsMkJBQTJCLHdLQ2Z4Qyx5akRBMkJNLHlERGRNLFlBQVksa0lBQUUsbUJBQW1CLHNvQ0FBRSxtQkFBbUI7OzJGQUVyRCwyQkFBMkI7a0JBUHZDLFNBQVM7K0JBQ0UsMkJBQTJCLGNBR3pCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsQ0FBQzs4QkFLakQsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kZWxMaXN0IH0gZnJvbSAnLi4vLi4vbW9kZWwtbGlzdC5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5nYlBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGF0YU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vZGF0YS9kYXRhLW1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGF0YS1tb2RlbC1saXN0LXBhZ2luYXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RlbC1saXN0LXBhZ2luYXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vZGVsLWxpc3QtcGFnaW5hdG9yLmNvbXBvbmVudC5zYXNzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIE5nYlBhZ2luYXRpb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBNb2RlbExpc3RQYWdpbmF0b3JDb21wb25lbnQ8VCBleHRlbmRzIERhdGFNb2RlbD5cbiAgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uQ2hhbmdlc1xue1xuICBASW5wdXQoKSBwdWJsaWMgbGlzdCE6IE1vZGVsTGlzdDxUPjtcbiAgQElucHV0KCkgcHVibGljIG1heFBhZ2VzID0gMjAwO1xuICBASW5wdXQoKSBwdWJsaWMgaGlkZSA9IGZhbHNlO1xuXG4gIHB1YmxpYyBwZXJQYWdlQ29udHJvbDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8bnVtYmVyPigxMCk7XG4gIHB1YmxpYyBzaG93RGlyZWN0QWNjZXNzID0gZmFsc2U7XG4gIHB1YmxpYyBkaXJlY3RBY2Nlc3M6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sPG51bWJlcj4oMCk7XG4gIHB1YmxpYyBjdXJQYWdlID0gMTtcbiAgcHVibGljIGN1ckNvdW50ITogbnVtYmVyO1xuICBwdWJsaWMgcGFnZVNpemUhOiBudW1iZXI7XG4gIHB1YmxpYyBfdW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHB1YmxpYyBvblBhZ2VDaGFuZ2UocGFnZTogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKCFwYWdlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMubGlzdC5wYWdpbmF0b3Iuc2V0UGFnZShwYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl91bnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy5fdW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5saXN0KSB7XG4gICAgICB0aGlzLnBlclBhZ2VDb250cm9sLnNldFZhbHVlKHRoaXMubGlzdC5wYWdpbmF0b3IuZ2V0UGFnZVNpemUoKSwge1xuICAgICAgICBlbWl0RXZlbnQ6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgICB0aGlzLmxpc3QubWV0YS5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSkpLnN1YnNjcmliZSgobWV0YSkgPT4ge1xuICAgICAgICBpZiAobWV0YS5uYXYpIHtcbiAgICAgICAgICB0aGlzLmxpc3QucGFnaW5hdG9yLnVwZGF0ZVBhZ2UobWV0YS5uYXYucGFnZSB8fCAxKTtcbiAgICAgICAgICB0aGlzLmN1clBhZ2UgPSBtZXRhLm5hdi5wYWdlIHx8IDE7XG4gICAgICAgICAgdGhpcy5jdXJDb3VudCA9IG1ldGEubmF2LmNvdW50O1xuICAgICAgICAgIHRoaXMubGlzdC5wYWdpbmF0b3IudXBkYXRlUGFnZVNpemUobWV0YS5uYXYuc2l6ZSk7XG4gICAgICAgICAgdGhpcy5wYWdlU2l6ZSA9IHRoaXMubGlzdC5wYWdpbmF0b3IuZ2V0UGFnZVNpemUoKTtcbiAgICAgICAgICB0aGlzLnBlclBhZ2VDb250cm9sLnNldFZhbHVlKHRoaXMucGFnZVNpemUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMucGVyUGFnZUNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGNvdW50KSA9PiB7XG4gICAgICAgICAgdGhpcy5saXN0LnBhZ2luYXRvci5zZXRQYWdlU2l6ZShjb3VudCk7XG4gICAgICAgIH0pO1xuXG4gICAgICB0aGlzLmRpcmVjdEFjY2Vzcy52YWx1ZUNoYW5nZXNcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlKSwgZGVib3VuY2VUaW1lKDQwMCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGNvdW50KSA9PiB7XG4gICAgICAgICAgdGhpcy5saXN0LnBhZ2luYXRvci5zZXRQYWdlKCtjb3VudCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiXG48ZGl2IGNsYXNzPVwicm93XCIgKm5nSWY9XCIhaGlkZVwiPlxuICA8ZGl2IGNsYXNzPVwiY29sLXNtLTRcIj5cbiAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3QgcGVycGFnZVwiIFtmb3JtQ29udHJvbF09XCJwZXJQYWdlQ29udHJvbFwiPlxuICAgICAgPG9wdGlvbiB2YWx1ZT1cIjEwXCIgKm5nSWY9XCJtYXhQYWdlcyZndDs9MTBcIj4xMCAvIHBhZ2U8L29wdGlvbj5cbiAgICAgIDxvcHRpb24gdmFsdWU9XCIyMFwiICpuZ0lmPVwibWF4UGFnZXMmZ3Q7PTIwXCI+MjAgLyBwYWdlPC9vcHRpb24+XG4gICAgICA8b3B0aW9uIHZhbHVlPVwiNTBcIiAqbmdJZj1cIm1heFBhZ2VzJmd0Oz01MFwiPjUwIC8gcGFnZTwvb3B0aW9uPlxuICAgICAgPG9wdGlvbiB2YWx1ZT1cIjEwMFwiICpuZ0lmPVwibWF4UGFnZXMmZ3Q7PTEwMFwiPjEwMCAvIHBhZ2U8L29wdGlvbj5cbiAgICAgIDxvcHRpb24gdmFsdWU9XCIyMDBcIiAqbmdJZj1cIm1heFBhZ2VzJmd0Oz0yMDBcIj4yMDAgLyBwYWdlPC9vcHRpb24+XG4gICAgICA8b3B0aW9uIHZhbHVlPVwiNTAwXCIgKm5nSWY9XCJtYXhQYWdlcyZndDs9NTAwXCI+NTAwIC8gcGFnZTwvb3B0aW9uPlxuICAgICAgPG9wdGlvbiB2YWx1ZT1cIjEwMDBcIiAqbmdJZj1cIm1heFBhZ2VzJmd0Oz0xMDAwXCI+MTAwMCAvIHBhZ2U8L29wdGlvbj5cbiAgICAgIDxvcHRpb24gdmFsdWU9XCIyMDAwXCIgKm5nSWY9XCJtYXhQYWdlcyZndDs9MjAwMFwiPjIwMDAgLyBwYWdlPC9vcHRpb24+XG4gICAgICA8b3B0aW9uIHZhbHVlPVwiNTAwMFwiICpuZ0lmPVwibWF4UGFnZXMmZ3Q7PTUwMDBcIj41MDAwIC8gcGFnZTwvb3B0aW9uPlxuICAgICAgPG9wdGlvbiB2YWx1ZT1cIjEwMDAwXCIgKm5nSWY9XCJtYXhQYWdlcyZndDs9MTAwMDBcIj4xMDAwMCAvIHBhZ2U8L29wdGlvbj5cbiAgICA8L3NlbGVjdD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjb2wtc20tNSBwYWdpbmF0aW9uXCIgKm5nSWY9XCJsaXN0XCI+XG4gICAgPGRpdiBjbGFzcz1cInRleHQteHMtY2VudGVyXCI+XG4gICAgICA8bmdiLXBhZ2luYXRpb24gW3BhZ2VTaXplXT1cInBhZ2VTaXplXCIgW2NvbGxlY3Rpb25TaXplXT1cImN1ckNvdW50XCIgW3BhZ2VdPVwiY3VyUGFnZVwiIChwYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZSgkZXZlbnQpXCIgW21heFNpemVdPVwiNVwiIFtyb3RhdGVdPVwidHJ1ZVwiPjwvbmdiLXBhZ2luYXRpb24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY29sLXNtLTMgcmVzdWx0c1wiPlxuICAgIDxkaXY+e3tjdXJDb3VudH19IHLDqXN1bHRhdHMgLTxzcGFuIChjbGljayk9XCJzaG93RGlyZWN0QWNjZXNzPSFzaG93RGlyZWN0QWNjZXNzXCIgcm9sZT1cImJ1dHRvblwiPmFjY2VzIGRpcmVjdDwvc3Bhbj48L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwic2hvd0RpcmVjdEFjY2Vzc1wiPlxuICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW2Zvcm1Db250cm9sXT1cImRpcmVjdEFjY2Vzc1wiIHR5cGU9XCJudW1iZXJcIiBwbGFjZWhvbGRlcj1cIkFsbGVyIMOgIGxhIHBhZ2VcIj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1wYWdpbmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL21vZGVsbGlzdC9tb2RlbC1saXN0LXBhZ2luYXRvci9tb2RlbC1saXN0LXBhZ2luYXRvci9tb2RlbC1saXN0LXBhZ2luYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtcGFnaW5hdG9yL21vZGVsLWxpc3QtcGFnaW5hdG9yL21vZGVsLWxpc3QtcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7OztBQVNoRSxNQUFNLE9BQU8sMkJBQTJCO0lBUHhDO1FBV2tCLGFBQVEsR0FBRyxHQUFHLENBQUM7UUFDZixTQUFJLEdBQUcsS0FBSyxDQUFDO1FBRXRCLG1CQUFjLEdBQWdCLElBQUksV0FBVyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzFELHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixpQkFBWSxHQUFnQixJQUFJLFdBQVcsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUN2RCxZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBR1gsYUFBUSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQXdDdkM7SUF0Q1EsWUFBWSxDQUFDLElBQVk7UUFDOUIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtnQkFDOUQsU0FBUyxFQUFFLEtBQUs7YUFDakIsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO2lCQUNYLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQ3ZDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNsQixJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztvQkFDYixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7b0JBQ25ELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO29CQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO29CQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDbEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUNwRSxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFTCxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVk7aUJBQzdCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQ3ZDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekMsQ0FBQyxDQUFDLENBQUM7WUFFTCxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVk7aUJBQzNCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUMxRCxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEMsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0gsQ0FBQzs4R0FwRFUsMkJBQTJCO2tHQUEzQiwyQkFBMkIsd0tDaEJ4Qyx5akRBMkJNLHlERGJNLFlBQVksa0lBQUUsbUJBQW1CLHNvQ0FBRSxtQkFBbUI7OzJGQUVyRCwyQkFBMkI7a0JBUHZDLFNBQVM7K0JBQ0UsMkJBQTJCLGNBR3pCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsQ0FBQzs4QkFLakQsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIERlc3Ryb3lSZWYsIGluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kZWxMaXN0IH0gZnJvbSAnLi4vLi4vbW9kZWwtbGlzdC5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOZ2JQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERhdGFNb2RlbCB9IGZyb20gJy4uLy4uLy4uL2RhdGEvZGF0YS1tb2RlbCc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RhdGEtbW9kZWwtbGlzdC1wYWdpbmF0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kZWwtbGlzdC1wYWdpbmF0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RlbC1saXN0LXBhZ2luYXRvci5jb21wb25lbnQuc2FzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBOZ2JQYWdpbmF0aW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgTW9kZWxMaXN0UGFnaW5hdG9yQ29tcG9uZW50PFQgZXh0ZW5kcyBEYXRhTW9kZWw+XG4gIGltcGxlbWVudHMgT25DaGFuZ2VzXG57XG4gIEBJbnB1dCgpIHB1YmxpYyBsaXN0ITogTW9kZWxMaXN0PFQ+O1xuICBASW5wdXQoKSBwdWJsaWMgbWF4UGFnZXMgPSAyMDA7XG4gIEBJbnB1dCgpIHB1YmxpYyBoaWRlID0gZmFsc2U7XG5cbiAgcHVibGljIHBlclBhZ2VDb250cm9sOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxudW1iZXI+KDEwKTtcbiAgcHVibGljIHNob3dEaXJlY3RBY2Nlc3MgPSBmYWxzZTtcbiAgcHVibGljIGRpcmVjdEFjY2VzczogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8bnVtYmVyPigwKTtcbiAgcHVibGljIGN1clBhZ2UgPSAxO1xuICBwdWJsaWMgY3VyQ291bnQhOiBudW1iZXI7XG4gIHB1YmxpYyBwYWdlU2l6ZSE6IG51bWJlcjtcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICBwdWJsaWMgb25QYWdlQ2hhbmdlKHBhZ2U6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICghcGFnZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmxpc3QucGFnaW5hdG9yLnNldFBhZ2UocGFnZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGlzdCkge1xuICAgICAgdGhpcy5wZXJQYWdlQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmxpc3QucGFnaW5hdG9yLmdldFBhZ2VTaXplKCksIHtcbiAgICAgICAgZW1pdEV2ZW50OiBmYWxzZSxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5saXN0Lm1ldGFcbiAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAuc3Vic2NyaWJlKChtZXRhKSA9PiB7XG4gICAgICAgICAgaWYgKG1ldGEubmF2KSB7XG4gICAgICAgICAgICB0aGlzLmxpc3QucGFnaW5hdG9yLnVwZGF0ZVBhZ2UobWV0YS5uYXYucGFnZSB8fCAxKTtcbiAgICAgICAgICAgIHRoaXMuY3VyUGFnZSA9IG1ldGEubmF2LnBhZ2UgfHwgMTtcbiAgICAgICAgICAgIHRoaXMuY3VyQ291bnQgPSBtZXRhLm5hdi5jb3VudDtcbiAgICAgICAgICAgIHRoaXMubGlzdC5wYWdpbmF0b3IudXBkYXRlUGFnZVNpemUobWV0YS5uYXYuc2l6ZSk7XG4gICAgICAgICAgICB0aGlzLnBhZ2VTaXplID0gdGhpcy5saXN0LnBhZ2luYXRvci5nZXRQYWdlU2l6ZSgpO1xuICAgICAgICAgICAgdGhpcy5wZXJQYWdlQ29udHJvbC5zZXRWYWx1ZSh0aGlzLnBhZ2VTaXplLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgdGhpcy5wZXJQYWdlQ29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAuc3Vic2NyaWJlKChjb3VudCkgPT4ge1xuICAgICAgICAgIHRoaXMubGlzdC5wYWdpbmF0b3Iuc2V0UGFnZVNpemUoY291bnQpO1xuICAgICAgICB9KTtcblxuICAgICAgdGhpcy5kaXJlY3RBY2Nlc3MudmFsdWVDaGFuZ2VzXG4gICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3kkKSwgZGVib3VuY2VUaW1lKDQwMCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGNvdW50KSA9PiB7XG4gICAgICAgICAgdGhpcy5saXN0LnBhZ2luYXRvci5zZXRQYWdlKCtjb3VudCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiXG48ZGl2IGNsYXNzPVwicm93XCIgKm5nSWY9XCIhaGlkZVwiPlxuICA8ZGl2IGNsYXNzPVwiY29sLXNtLTRcIj5cbiAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3QgcGVycGFnZVwiIFtmb3JtQ29udHJvbF09XCJwZXJQYWdlQ29udHJvbFwiPlxuICAgICAgPG9wdGlvbiB2YWx1ZT1cIjEwXCIgKm5nSWY9XCJtYXhQYWdlcyZndDs9MTBcIj4xMCAvIHBhZ2U8L29wdGlvbj5cbiAgICAgIDxvcHRpb24gdmFsdWU9XCIyMFwiICpuZ0lmPVwibWF4UGFnZXMmZ3Q7PTIwXCI+MjAgLyBwYWdlPC9vcHRpb24+XG4gICAgICA8b3B0aW9uIHZhbHVlPVwiNTBcIiAqbmdJZj1cIm1heFBhZ2VzJmd0Oz01MFwiPjUwIC8gcGFnZTwvb3B0aW9uPlxuICAgICAgPG9wdGlvbiB2YWx1ZT1cIjEwMFwiICpuZ0lmPVwibWF4UGFnZXMmZ3Q7PTEwMFwiPjEwMCAvIHBhZ2U8L29wdGlvbj5cbiAgICAgIDxvcHRpb24gdmFsdWU9XCIyMDBcIiAqbmdJZj1cIm1heFBhZ2VzJmd0Oz0yMDBcIj4yMDAgLyBwYWdlPC9vcHRpb24+XG4gICAgICA8b3B0aW9uIHZhbHVlPVwiNTAwXCIgKm5nSWY9XCJtYXhQYWdlcyZndDs9NTAwXCI+NTAwIC8gcGFnZTwvb3B0aW9uPlxuICAgICAgPG9wdGlvbiB2YWx1ZT1cIjEwMDBcIiAqbmdJZj1cIm1heFBhZ2VzJmd0Oz0xMDAwXCI+MTAwMCAvIHBhZ2U8L29wdGlvbj5cbiAgICAgIDxvcHRpb24gdmFsdWU9XCIyMDAwXCIgKm5nSWY9XCJtYXhQYWdlcyZndDs9MjAwMFwiPjIwMDAgLyBwYWdlPC9vcHRpb24+XG4gICAgICA8b3B0aW9uIHZhbHVlPVwiNTAwMFwiICpuZ0lmPVwibWF4UGFnZXMmZ3Q7PTUwMDBcIj41MDAwIC8gcGFnZTwvb3B0aW9uPlxuICAgICAgPG9wdGlvbiB2YWx1ZT1cIjEwMDAwXCIgKm5nSWY9XCJtYXhQYWdlcyZndDs9MTAwMDBcIj4xMDAwMCAvIHBhZ2U8L29wdGlvbj5cbiAgICA8L3NlbGVjdD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjb2wtc20tNSBwYWdpbmF0aW9uXCIgKm5nSWY9XCJsaXN0XCI+XG4gICAgPGRpdiBjbGFzcz1cInRleHQteHMtY2VudGVyXCI+XG4gICAgICA8bmdiLXBhZ2luYXRpb24gW3BhZ2VTaXplXT1cInBhZ2VTaXplXCIgW2NvbGxlY3Rpb25TaXplXT1cImN1ckNvdW50XCIgW3BhZ2VdPVwiY3VyUGFnZVwiIChwYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZSgkZXZlbnQpXCIgW21heFNpemVdPVwiNVwiIFtyb3RhdGVdPVwidHJ1ZVwiPjwvbmdiLXBhZ2luYXRpb24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY29sLXNtLTMgcmVzdWx0c1wiPlxuICAgIDxkaXY+e3tjdXJDb3VudH19IHLDqXN1bHRhdHMgLTxzcGFuIChjbGljayk9XCJzaG93RGlyZWN0QWNjZXNzPSFzaG93RGlyZWN0QWNjZXNzXCIgcm9sZT1cImJ1dHRvblwiPmFjY2VzIGRpcmVjdDwvc3Bhbj48L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwic2hvd0RpcmVjdEFjY2Vzc1wiPlxuICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW2Zvcm1Db250cm9sXT1cImRpcmVjdEFjY2Vzc1wiIHR5cGU9XCJudW1iZXJcIiBwbGFjZWhvbGRlcj1cIkFsbGVyIMOgIGxhIHBhZ2VcIj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
@@ -44,4 +44,4 @@ export class ModelListPaginator {
44
44
  this._output.next({ page: this._page, page_size: this._page_size });
45
45
  }
46
46
  }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1wYWdpbmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtcGFnaW5hdG9yL21vZGVsLWxpc3QtcGFnaW5hdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakQsTUFBTSxPQUFPLGtCQUFrQjtJQUk3QixZQUFZLFFBQW9CO1FBU3hCLFlBQU8sR0FBRyxJQUFJLGFBQWEsQ0FBWSxDQUFDLENBQUMsQ0FBQztRQVJoRCxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsUUFBUSxHQUFHLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7U0FDdkM7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBSUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFTSxPQUFPLENBQUMsSUFBWTtRQUN6QixJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRU0sVUFBVSxDQUFDLElBQVk7UUFDNUIsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRTtZQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztTQUNuQjtJQUNILENBQUM7SUFFTSxXQUFXLENBQUMsSUFBWTtRQUM3QixJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDbkM7SUFDSCxDQUFDO0lBRU0sY0FBYyxDQUFDLElBQVk7UUFDaEMsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRU0sT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRU8sYUFBYSxDQUFDLE9BQWUsRUFBRTtRQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUXVlcnlOYXYgfSBmcm9tICcuLi8uLi9kYXRhL2RhdGEtcXVlcnknO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY2xhc3MgTW9kZWxMaXN0UGFnaW5hdG9yIHtcbiAgcHJpdmF0ZSBfcGFnZV9zaXplITogbnVtYmVyO1xuICBwcml2YXRlIF9wYWdlITogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKGRlZmF1bHRzPzogSVF1ZXJ5TmF2KSB7XG4gICAgaWYgKCFkZWZhdWx0cykge1xuICAgICAgZGVmYXVsdHMgPSB7IHBhZ2Vfc2l6ZTogMjAsIHBhZ2U6IDEgfTtcbiAgICB9XG4gICAgdGhpcy5fcGFnZV9zaXplID0gZGVmYXVsdHMucGFnZV9zaXplIHx8IDIwO1xuICAgIHRoaXMuX3BhZ2UgPSBkZWZhdWx0cy5wYWdlIHx8IDE7XG4gICAgdGhpcy5fdXBkYXRlT3V0cHV0KCdjb25zdHJ1Y3RvcicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb3V0cHV0ID0gbmV3IFJlcGxheVN1YmplY3Q8SVF1ZXJ5TmF2PigxKTtcblxuICBwdWJsaWMgZ2V0IG91dHB1dCgpOiBPYnNlcnZhYmxlPElRdWVyeU5hdj4ge1xuICAgIHJldHVybiB0aGlzLl9vdXRwdXQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0UGFnZShwYWdlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAocGFnZSAhPT0gdGhpcy5fcGFnZSkge1xuICAgICAgdGhpcy5fcGFnZSA9IHBhZ2U7XG4gICAgICB0aGlzLl91cGRhdGVPdXRwdXQoJ3NldFBhZ2UnKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlUGFnZShwYWdlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAocGFnZSAhPT0gdGhpcy5fcGFnZSkge1xuICAgICAgdGhpcy5fcGFnZSA9IHBhZ2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldFBhZ2VTaXplKHNpemU6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChzaXplICE9PSB0aGlzLl9wYWdlX3NpemUpIHtcbiAgICAgIHRoaXMuX3BhZ2Vfc2l6ZSA9IHNpemU7XG4gICAgICB0aGlzLl91cGRhdGVPdXRwdXQoJ3NldFBhZ2VTaXplJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHVwZGF0ZVBhZ2VTaXplKHNpemU6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChzaXplICE9PSB0aGlzLl9wYWdlX3NpemUpIHtcbiAgICAgIHRoaXMuX3BhZ2Vfc2l6ZSA9IHNpemU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFBhZ2VTaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZ2Vfc2l6ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQYWdlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZ2U7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVPdXRwdXQoZnJvbTogc3RyaW5nID0gJycpOiB2b2lkIHtcbiAgICB0aGlzLl9vdXRwdXQubmV4dCh7IHBhZ2U6IHRoaXMuX3BhZ2UsIHBhZ2Vfc2l6ZTogdGhpcy5fcGFnZV9zaXplIH0pO1xuICB9XG59XG4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1wYWdpbmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtcGFnaW5hdG9yL21vZGVsLWxpc3QtcGFnaW5hdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakQsTUFBTSxPQUFPLGtCQUFrQjtJQUk3QixZQUFZLFFBQW9CO1FBU3hCLFlBQU8sR0FBRyxJQUFJLGFBQWEsQ0FBWSxDQUFDLENBQUMsQ0FBQztRQVJoRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDZCxRQUFRLEdBQUcsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUN4QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUMzQyxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUlELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU0sT0FBTyxDQUFDLElBQVk7UUFDekIsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFTSxVQUFVLENBQUMsSUFBWTtRQUM1QixJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFTSxXQUFXLENBQUMsSUFBWTtRQUM3QixJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVNLGNBQWMsQ0FBQyxJQUFZO1FBQ2hDLElBQUksSUFBSSxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxPQUFPO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFTyxhQUFhLENBQUMsT0FBZSxFQUFFO1FBQ3JDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElRdWVyeU5hdiB9IGZyb20gJy4uLy4uL2RhdGEvZGF0YS1xdWVyeSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjbGFzcyBNb2RlbExpc3RQYWdpbmF0b3Ige1xuICBwcml2YXRlIF9wYWdlX3NpemUhOiBudW1iZXI7XG4gIHByaXZhdGUgX3BhZ2UhOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoZGVmYXVsdHM/OiBJUXVlcnlOYXYpIHtcbiAgICBpZiAoIWRlZmF1bHRzKSB7XG4gICAgICBkZWZhdWx0cyA9IHsgcGFnZV9zaXplOiAyMCwgcGFnZTogMSB9O1xuICAgIH1cbiAgICB0aGlzLl9wYWdlX3NpemUgPSBkZWZhdWx0cy5wYWdlX3NpemUgfHwgMjA7XG4gICAgdGhpcy5fcGFnZSA9IGRlZmF1bHRzLnBhZ2UgfHwgMTtcbiAgICB0aGlzLl91cGRhdGVPdXRwdXQoJ2NvbnN0cnVjdG9yJyk7XG4gIH1cblxuICBwcml2YXRlIF9vdXRwdXQgPSBuZXcgUmVwbGF5U3ViamVjdDxJUXVlcnlOYXY+KDEpO1xuXG4gIHB1YmxpYyBnZXQgb3V0cHV0KCk6IE9ic2VydmFibGU8SVF1ZXJ5TmF2PiB7XG4gICAgcmV0dXJuIHRoaXMuX291dHB1dC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRQYWdlKHBhZ2U6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChwYWdlICE9PSB0aGlzLl9wYWdlKSB7XG4gICAgICB0aGlzLl9wYWdlID0gcGFnZTtcbiAgICAgIHRoaXMuX3VwZGF0ZU91dHB1dCgnc2V0UGFnZScpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVQYWdlKHBhZ2U6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChwYWdlICE9PSB0aGlzLl9wYWdlKSB7XG4gICAgICB0aGlzLl9wYWdlID0gcGFnZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0UGFnZVNpemUoc2l6ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHNpemUgIT09IHRoaXMuX3BhZ2Vfc2l6ZSkge1xuICAgICAgdGhpcy5fcGFnZV9zaXplID0gc2l6ZTtcbiAgICAgIHRoaXMuX3VwZGF0ZU91dHB1dCgnc2V0UGFnZVNpemUnKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlUGFnZVNpemUoc2l6ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHNpemUgIT09IHRoaXMuX3BhZ2Vfc2l6ZSkge1xuICAgICAgdGhpcy5fcGFnZV9zaXplID0gc2l6ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0UGFnZVNpemUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fcGFnZV9zaXplO1xuICB9XG5cbiAgcHVibGljIGdldFBhZ2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fcGFnZTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZU91dHB1dChmcm9tOiBzdHJpbmcgPSAnJyk6IHZvaWQge1xuICAgIHRoaXMuX291dHB1dC5uZXh0KHsgcGFnZTogdGhpcy5fcGFnZSwgcGFnZV9zaXplOiB0aGlzLl9wYWdlX3NpemUgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -35,10 +35,10 @@ export class ModelListSorterComponent {
35
35
  cancel() {
36
36
  this.list.sorter.unset(this.field);
37
37
  }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ModelListSorterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
39
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: ModelListSorterComponent, isStandalone: true, selector: "data-model-list-sorter", inputs: { list: "list", field: "field" }, ngImport: i0, template: "<span class=\"dirs\"><span *ngIf=\"getOrder()&gt;=0 || getCount()&gt;1\" (click)=\"cancel()\" role=\"button\"><span class=\"count\" *ngIf=\"getCount()&gt;1\"> {{getOrder()}}</span><span class=\"bi bi-x\"></span></span><span class=\"bi bi-sort-down-alt\" (click)=\"setUp()\" [class.active]=\"isUp()\" role=\"button\"></span><span class=\"bi bi-sort-down\" (click)=\"setDown()\" [class.active]=\"isDown()\" role=\"button\"></span>&nbsp;</span>\n<ng-content></ng-content>", styles: [".dirs{color:#d3d3d3}.dirs .count{font-size:.7rem;margin-right:-.1rem;vertical-align:super}.active{color:#000}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ModelListSorterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ModelListSorterComponent, isStandalone: true, selector: "data-model-list-sorter", inputs: { list: "list", field: "field" }, ngImport: i0, template: "<span class=\"dirs\"><span *ngIf=\"getOrder()&gt;=0 || getCount()&gt;1\" (click)=\"cancel()\" role=\"button\"><span class=\"count\" *ngIf=\"getCount()&gt;1\"> {{getOrder()}}</span><span class=\"bi bi-x\"></span></span><span class=\"bi bi-sort-down-alt\" (click)=\"setUp()\" [class.active]=\"isUp()\" role=\"button\"></span><span class=\"bi bi-sort-down\" (click)=\"setDown()\" [class.active]=\"isDown()\" role=\"button\"></span>&nbsp;</span>\n<ng-content></ng-content>", styles: [".dirs{color:#d3d3d3}.dirs .count{font-size:.7rem;margin-right:-.1rem;vertical-align:super}.active{color:#000}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
40
40
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ModelListSorterComponent, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ModelListSorterComponent, decorators: [{
42
42
  type: Component,
43
43
  args: [{ selector: 'data-model-list-sorter', standalone: true, imports: [CommonModule], template: "<span class=\"dirs\"><span *ngIf=\"getOrder()&gt;=0 || getCount()&gt;1\" (click)=\"cancel()\" role=\"button\"><span class=\"count\" *ngIf=\"getCount()&gt;1\"> {{getOrder()}}</span><span class=\"bi bi-x\"></span></span><span class=\"bi bi-sort-down-alt\" (click)=\"setUp()\" [class.active]=\"isUp()\" role=\"button\"></span><span class=\"bi bi-sort-down\" (click)=\"setDown()\" [class.active]=\"isDown()\" role=\"button\"></span>&nbsp;</span>\n<ng-content></ng-content>", styles: [".dirs{color:#d3d3d3}.dirs .count{font-size:.7rem;margin-right:-.1rem;vertical-align:super}.active{color:#000}\n"] }]
44
44
  }], ctorParameters: () => [], propDecorators: { list: [{
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
46
46
  }], field: [{
47
47
  type: Input
48
48
  }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1zb3J0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL21vZGVsbGlzdC9tb2RlbC1saXN0LXNvcnRlci9tb2RlbC1saXN0LXNvcnRlci9tb2RlbC1saXN0LXNvcnRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3Qtc29ydGVyL21vZGVsLWxpc3Qtc29ydGVyL21vZGVsLWxpc3Qtc29ydGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBUy9DLE1BQU0sT0FBTyx3QkFBd0I7SUFVbkMsZ0JBQWUsQ0FBQztJQUVULElBQUk7UUFDVCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxFQUFFO1lBQ0wsT0FBTyxDQUFDLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQztTQUM5QjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLE1BQU07UUFDWCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxFQUFFO1lBQ0wsT0FBTyxDQUFDLENBQUMsU0FBUyxLQUFLLE1BQU0sQ0FBQztTQUMvQjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNyQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTTtZQUNsQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7OEdBaERVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDRIQ1hyQyxzZEFDeUIsd0tEUWIsWUFBWTs7MkZBRVgsd0JBQXdCO2tCQVBwQyxTQUFTOytCQUNFLHdCQUF3QixjQUd0QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7d0RBTVAsSUFBSTtzQkFBbkIsS0FBSztnQkFJVSxLQUFLO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kZWxMaXN0IH0gZnJvbSAnLi4vLi4vbW9kZWwtbGlzdC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RhdGEtbW9kZWwtbGlzdC1zb3J0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kZWwtbGlzdC1zb3J0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RlbC1saXN0LXNvcnRlci5jb21wb25lbnQuc2FzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgTW9kZWxMaXN0U29ydGVyQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIE1vZGVsTGlzdCByZWZlcmVuY2UuXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgbGlzdCE6IE1vZGVsTGlzdDxhbnk+O1xuICAvKipcbiAgICogU29ydCBmaWVsZCBuYW1lLlxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGZpZWxkITogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwdWJsaWMgaXNVcCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBmID0gdGhpcy5saXN0LnNvcnRlci5nZXQodGhpcy5maWVsZCk7XG4gICAgaWYgKGYpIHtcbiAgICAgIHJldHVybiBmLmRpcmVjdGlvbiA9PT0gJ2FzYyc7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBpc0Rvd24oKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZiA9IHRoaXMubGlzdC5zb3J0ZXIuZ2V0KHRoaXMuZmllbGQpO1xuICAgIGlmIChmKSB7XG4gICAgICByZXR1cm4gZi5kaXJlY3Rpb24gPT09ICdkZXNjJztcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHNldFVwKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdC5zb3J0ZXIuc2V0KHRoaXMuZmllbGQsICdhc2MnKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXREb3duKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdC5zb3J0ZXIuc2V0KHRoaXMuZmllbGQsICdkZXNjJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q291bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5saXN0LnNvcnRlci5nZXQodGhpcy5maWVsZClcbiAgICAgID8gdGhpcy5saXN0LnNvcnRlci5nZXRBbGwoKS5sZW5ndGhcbiAgICAgIDogMDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRPcmRlcigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmxpc3Quc29ydGVyLmdldE9yZGVyKHRoaXMuZmllbGQpO1xuICB9XG5cbiAgcHVibGljIGNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3Quc29ydGVyLnVuc2V0KHRoaXMuZmllbGQpO1xuICB9XG59XG4iLCI8c3BhbiBjbGFzcz1cImRpcnNcIj48c3BhbiAqbmdJZj1cImdldE9yZGVyKCkmZ3Q7PTAgfHwgZ2V0Q291bnQoKSZndDsxXCIgKGNsaWNrKT1cImNhbmNlbCgpXCIgcm9sZT1cImJ1dHRvblwiPjxzcGFuIGNsYXNzPVwiY291bnRcIiAqbmdJZj1cImdldENvdW50KCkmZ3Q7MVwiPiB7e2dldE9yZGVyKCl9fTwvc3Bhbj48c3BhbiBjbGFzcz1cImJpIGJpLXhcIj48L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPVwiYmkgYmktc29ydC1kb3duLWFsdFwiIChjbGljayk9XCJzZXRVcCgpXCIgW2NsYXNzLmFjdGl2ZV09XCJpc1VwKClcIiByb2xlPVwiYnV0dG9uXCI+PC9zcGFuPjxzcGFuIGNsYXNzPVwiYmkgYmktc29ydC1kb3duXCIgKGNsaWNrKT1cInNldERvd24oKVwiIFtjbGFzcy5hY3RpdmVdPVwiaXNEb3duKClcIiByb2xlPVwiYnV0dG9uXCI+PC9zcGFuPiZuYnNwOzwvc3Bhbj5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD4iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1zb3J0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL21vZGVsbGlzdC9tb2RlbC1saXN0LXNvcnRlci9tb2RlbC1saXN0LXNvcnRlci9tb2RlbC1saXN0LXNvcnRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3Qtc29ydGVyL21vZGVsLWxpc3Qtc29ydGVyL21vZGVsLWxpc3Qtc29ydGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBUy9DLE1BQU0sT0FBTyx3QkFBd0I7SUFVbkMsZ0JBQWUsQ0FBQztJQUVULElBQUk7UUFDVCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDTixPQUFPLENBQUMsQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDO1FBQy9CLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTSxNQUFNO1FBQ1gsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ04sT0FBTyxDQUFDLENBQUMsU0FBUyxLQUFLLE1BQU0sQ0FBQztRQUNoQyxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNO1lBQ2xDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRU0sUUFBUTtRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQzs4R0FoRFUsd0JBQXdCO2tHQUF4Qix3QkFBd0IsNEhDWHJDLHNkQUN5Qix3S0RRYixZQUFZOzsyRkFFWCx3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0Usd0JBQXdCLGNBR3RCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQzt3REFNUCxJQUFJO3NCQUFuQixLQUFLO2dCQUlVLEtBQUs7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNb2RlbExpc3QgfSBmcm9tICcuLi8uLi9tb2RlbC1saXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGF0YS1tb2RlbC1saXN0LXNvcnRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RlbC1saXN0LXNvcnRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vZGVsLWxpc3Qtc29ydGVyLmNvbXBvbmVudC5zYXNzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBNb2RlbExpc3RTb3J0ZXJDb21wb25lbnQge1xuICAvKipcbiAgICogTW9kZWxMaXN0IHJlZmVyZW5jZS5cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBsaXN0ITogTW9kZWxMaXN0PGFueT47XG4gIC8qKlxuICAgKiBTb3J0IGZpZWxkIG5hbWUuXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgZmllbGQhOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHB1YmxpYyBpc1VwKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGYgPSB0aGlzLmxpc3Quc29ydGVyLmdldCh0aGlzLmZpZWxkKTtcbiAgICBpZiAoZikge1xuICAgICAgcmV0dXJuIGYuZGlyZWN0aW9uID09PSAnYXNjJztcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGlzRG93bigpOiBib29sZWFuIHtcbiAgICBjb25zdCBmID0gdGhpcy5saXN0LnNvcnRlci5nZXQodGhpcy5maWVsZCk7XG4gICAgaWYgKGYpIHtcbiAgICAgIHJldHVybiBmLmRpcmVjdGlvbiA9PT0gJ2Rlc2MnO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgc2V0VXAoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0LnNvcnRlci5zZXQodGhpcy5maWVsZCwgJ2FzYycpO1xuICB9XG5cbiAgcHVibGljIHNldERvd24oKTogdm9pZCB7XG4gICAgdGhpcy5saXN0LnNvcnRlci5zZXQodGhpcy5maWVsZCwgJ2Rlc2MnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmxpc3Quc29ydGVyLmdldCh0aGlzLmZpZWxkKVxuICAgICAgPyB0aGlzLmxpc3Quc29ydGVyLmdldEFsbCgpLmxlbmd0aFxuICAgICAgOiAwO1xuICB9XG5cbiAgcHVibGljIGdldE9yZGVyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubGlzdC5zb3J0ZXIuZ2V0T3JkZXIodGhpcy5maWVsZCk7XG4gIH1cblxuICBwdWJsaWMgY2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdC5zb3J0ZXIudW5zZXQodGhpcy5maWVsZCk7XG4gIH1cbn1cbiIsIjxzcGFuIGNsYXNzPVwiZGlyc1wiPjxzcGFuICpuZ0lmPVwiZ2V0T3JkZXIoKSZndDs9MCB8fCBnZXRDb3VudCgpJmd0OzFcIiAoY2xpY2spPVwiY2FuY2VsKClcIiByb2xlPVwiYnV0dG9uXCI+PHNwYW4gY2xhc3M9XCJjb3VudFwiICpuZ0lmPVwiZ2V0Q291bnQoKSZndDsxXCI+IHt7Z2V0T3JkZXIoKX19PC9zcGFuPjxzcGFuIGNsYXNzPVwiYmkgYmkteFwiPjwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9XCJiaSBiaS1zb3J0LWRvd24tYWx0XCIgKGNsaWNrKT1cInNldFVwKClcIiBbY2xhc3MuYWN0aXZlXT1cImlzVXAoKVwiIHJvbGU9XCJidXR0b25cIj48L3NwYW4+PHNwYW4gY2xhc3M9XCJiaSBiaS1zb3J0LWRvd25cIiAoY2xpY2spPVwic2V0RG93bigpXCIgW2NsYXNzLmFjdGl2ZV09XCJpc0Rvd24oKVwiIHJvbGU9XCJidXR0b25cIj48L3NwYW4+Jm5ic3A7PC9zcGFuPlxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PiJdfQ==
@@ -113,4 +113,4 @@ export class ModelListSorter {
113
113
  this._output.next(out);
114
114
  }
115
115
  }
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1zb3J0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3Qtc29ydGVyL21vZGVsLWxpc3Qtc29ydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFhakQsTUFBTSxPQUFPLGVBQWU7SUFHMUI7OztPQUdHO0lBQ0gsWUFBWSxXQUEyQixFQUFFO1FBTnhCLFlBQU8sR0FBZSxFQUFFLENBQUM7UUFPeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNsQixLQUFLLE1BQU0sQ0FBQyxJQUFJLFFBQVEsRUFBRTtZQUN4QixJQUFJLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNoQixTQUFTO2FBQ1Y7WUFDRCxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQzthQUNoRTtpQkFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7YUFDakU7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2FBQ25EO1NBQ0Y7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFJRDs7O09BR0c7SUFDSCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksR0FBRyxDQUFDLElBQVksRUFBRSxTQUF3QjtRQUMvQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDNUIsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksRUFBRTtnQkFDcEIsQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDckIsT0FBTyxJQUFJLENBQUM7YUFDYjtTQUNGO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLEtBQUssQ0FBQyxJQUFZO1FBQ3ZCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUM1QyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksRUFBRTtnQkFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMxQixNQUFNO2FBQ1A7U0FDRjtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksR0FBRyxDQUFDLEtBQWE7UUFDdEIsS0FBSyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQzVCLElBQUksQ0FBQyxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7Z0JBQ3JCLE9BQU8sQ0FBQyxDQUFDO2FBQ1Y7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNO1FBQ1gsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLFFBQVEsQ0FBQyxLQUFhO1FBQzNCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUM1QyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEtBQUssRUFBRTtnQkFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2Q7U0FDRjtRQUNELE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDWixDQUFDO0lBRU8sYUFBYSxDQUFDLFFBQWdCLEVBQUU7UUFDdEMsSUFBSSxHQUFHLEdBQWEsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUM1QixHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQzNEO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU29ydGVyRGVmYXVsdHMgfSBmcm9tICcuLi9tb2RlbC1saXN0LnNlcnZpY2UnO1xuXG4vLyBUT0RPOiBhZGQgYW4gb3B0aW9uIHRvIGxpbWl0IHRoZSBudW1iZXIgb2Ygb3JkZXJpbmcgZmllbGRzIChlZy4gZm9yIHRyZWUgcXVlcmllcylcbmV4cG9ydCB0eXBlIFNvcnREaXJlY3Rpb24gPSAnYXNjJyB8ICdkZXNjJztcblxuZXhwb3J0IGludGVyZmFjZSBGaWVsZFNvcnREYXRhIHtcbiAgZmllbGQ6IHN0cmluZztcbiAgZGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uO1xufVxuXG5leHBvcnQgdHlwZSBTb3J0ZXJEYXRhID0gRmllbGRTb3J0RGF0YVtdO1xuXG5leHBvcnQgY2xhc3MgTW9kZWxMaXN0U29ydGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfdmFsdWVzOiBTb3J0ZXJEYXRhID0gW107XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBNb2RlbExpc3RTb3J0ZXIgaW5zdGFuY2UsIHVzaW5nIGRlZmF1bHRzLlxuICAgKiBAcGFyYW0gZGVmYXVsdHMgZGVmYXVsdHMgc29ydCB2YWx1ZXMsIGFzIGEgbGlzdCBvZiBzdHJpbmdzICgrZmllbGQsIC1maWVsZCwgZmllbGQpXG4gICAqL1xuICBjb25zdHJ1Y3RvcihkZWZhdWx0czogU29ydGVyRGVmYXVsdHMgPSBbXSkge1xuICAgIHRoaXMuX291dHB1dCA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xuICAgIHRoaXMuX3ZhbHVlcyA9IFtdO1xuICAgIGZvciAoY29uc3QgZCBvZiBkZWZhdWx0cykge1xuICAgICAgaWYgKGQubGVuZ3RoIDwgMSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmIChkWzBdID09ICcrJykge1xuICAgICAgICB0aGlzLl92YWx1ZXMucHVzaCh7IGZpZWxkOiBkLnN1YnN0cmluZygxKSwgZGlyZWN0aW9uOiAnYXNjJyB9KTtcbiAgICAgIH0gZWxzZSBpZiAoZFswXSA9PSAnLScpIHtcbiAgICAgICAgdGhpcy5fdmFsdWVzLnB1c2goeyBmaWVsZDogZC5zdWJzdHJpbmcoMSksIGRpcmVjdGlvbjogJ2Rlc2MnIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fdmFsdWVzLnB1c2goeyBmaWVsZDogZCwgZGlyZWN0aW9uOiAnYXNjJyB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fdXBkYXRlT3V0cHV0KCdjb25zdHJ1Y3RvcicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb3V0cHV0OiBSZXBsYXlTdWJqZWN0PHN0cmluZ1tdPjtcblxuICAvKipcbiAgICogUmV0dXJucyBhIGxpc3Qgb2YgXCIrLy1maWVsZFwiIHNvcnQgc3RyaW5ncyBvYnNlcnZhYmxlLlxuICAgKiBAcmV0dXJucyBzb3J0IHN0cmluZ3Mgb2JzZXJ2YWJsZVxuICAgKi9cbiAgcHVibGljIGdldCBvdXRwdXQoKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9vdXRwdXQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHNvcnRpbmcgZm9yIGBuYW1lYCBrZXksIGluIGRpcmVjdGlvbiBgZGlyZWN0aW9uYC5cbiAgICogSWYgc29ydGluZyBpcyBhbHJlYWR5IHNldCBmb3IgYG5hbWVgIGtleSwgdXBkYXRlcyBkaXJlY3Rpb24gd2l0aG91dCBjaGFuZ2luZyBvcmRlci5cbiAgICogSWYgc29ydGluZyBpc24ndCBzZXQgZm9yIGBuYW1lYCBrZXksIGFkZHMgaXQgYXQgdGhlIGVuZCBvZiBzb3J0aW5nIGRpcmVjdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIGZpZWxkIG5hbWVcbiAgICogQHBhcmFtIGRpcmVjdGlvbiBzb3J0IGRpcmVjdGlvblxuICAgKiBAcmV0dXJucyBtb2RlbCBsaXN0IHNvcnRlclxuICAgKi9cbiAgcHVibGljIHNldChuYW1lOiBzdHJpbmcsIGRpcmVjdGlvbjogU29ydERpcmVjdGlvbik6IE1vZGVsTGlzdFNvcnRlciB7XG4gICAgZm9yIChjb25zdCB2IG9mIHRoaXMuX3ZhbHVlcykge1xuICAgICAgaWYgKHYuZmllbGQgPT09IG5hbWUpIHtcbiAgICAgICAgdi5kaXJlY3Rpb24gPSBkaXJlY3Rpb247XG4gICAgICAgIHRoaXMuX3VwZGF0ZU91dHB1dCgpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fdmFsdWVzLnB1c2goeyBmaWVsZDogbmFtZSwgZGlyZWN0aW9uIH0pO1xuICAgIHRoaXMuX3VwZGF0ZU91dHB1dCgnc2V0Jyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBgbmFtZWAgc29ydGluZyBrZXkgZnJvbSBjdXJyZW50IGtleXMuXG4gICAqXG4gICAqIEBwYXJhbSAgbmFtZSBzb3J0IGtleSB0byBiZSByZW1vdmVkXG4gICAqIEByZXR1cm5zIG1vZGVsIGxpc3Qgc29ydGVyXG4gICAqL1xuICBwdWJsaWMgdW5zZXQobmFtZTogc3RyaW5nKTogTW9kZWxMaXN0U29ydGVyIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuX3ZhbHVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKHRoaXMuX3ZhbHVlc1tpXS5maWVsZCA9PT0gbmFtZSkge1xuICAgICAgICB0aGlzLl92YWx1ZXMuc3BsaWNlKGksIDEpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fdXBkYXRlT3V0cHV0KCd1bnNldCcpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBzb3J0aW5nIHN0YXR1cyBmb3IgYGZpZWxkYCBhcmd1bWVudC5cbiAgICogSWYgYGZpZWxkYCBpcyBub3QgZm91bmQsIHJldHVybnMgbnVsbC5cbiAgICpcbiAgICogQHBhcmFtICBmaWVsZCBmaWVsZCBuYW1lXG4gICAqIEByZXR1cm5zIG9yZGVyaW5nIGRpcmVjdGlvbiAvIG51bGxcbiAgICovXG4gIHB1YmxpYyBnZXQoZmllbGQ6IHN0cmluZyk6IEZpZWxkU29ydERhdGEgfCBudWxsIHtcbiAgICBmb3IgKGNvbnN0IHYgb2YgdGhpcy5fdmFsdWVzKSB7XG4gICAgICBpZiAodi5maWVsZCA9PT0gZmllbGQpIHtcbiAgICAgICAgcmV0dXJuIHY7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbGwgc29ydGVyIGRhdGEgdmFsdWVzLlxuICAgKlxuICAgKiBAcmV0dXJucyBhbGwgc29ydGVyIGRhdGEgdmFsdWVzLlxuICAgKi9cbiAgcHVibGljIGdldEFsbCgpOiBTb3J0ZXJEYXRhIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgb3JkZXJpbmcgcG9zaXRpb24gZm9yIGBmaWVsZGAgYXJndW1lbnQuIElmIG5vdCBmb3VuZCwgcmV0dXJucyAtMS5cbiAgICpcbiAgICogQHBhcmFtICBmaWVsZCBmaWVsZCBuYW1lXG4gICAqIEByZXR1cm5zIG9yZGVyaW5nIHBvc2l0aW9uIGZvciBmaWVsZFxuICAgKi9cbiAgcHVibGljIGdldE9yZGVyKGZpZWxkOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5fdmFsdWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAodGhpcy5fdmFsdWVzW2ldLmZpZWxkID09PSBmaWVsZCkge1xuICAgICAgICByZXR1cm4gaSArIDE7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiAtMTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZU91dHB1dChfZnJvbTogc3RyaW5nID0gJycpOiB2b2lkIHtcbiAgICBsZXQgb3V0OiBzdHJpbmdbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgdiBvZiB0aGlzLl92YWx1ZXMpIHtcbiAgICAgIG91dC5wdXNoKGAke3YuZGlyZWN0aW9uID09PSAnYXNjJyA/ICcnIDogJy0nfSR7di5maWVsZH1gKTtcbiAgICB9XG4gICAgdGhpcy5fb3V0cHV0Lm5leHQob3V0KTtcbiAgfVxufVxuIl19
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1zb3J0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3Qtc29ydGVyL21vZGVsLWxpc3Qtc29ydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFhakQsTUFBTSxPQUFPLGVBQWU7SUFHMUI7OztPQUdHO0lBQ0gsWUFBWSxXQUEyQixFQUFFO1FBTnhCLFlBQU8sR0FBZSxFQUFFLENBQUM7UUFPeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNsQixLQUFLLE1BQU0sQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDakIsU0FBUztZQUNYLENBQUM7WUFDRCxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztnQkFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNqRSxDQUFDO2lCQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ2xFLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsT0FBTyxDQUFD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O1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU29ydGVyRGVmYXVsdHMgfSBmcm9tICcuLi9tb2RlbC1saXN0LnNlcnZpY2UnO1xuXG4vLyBUT0RPOiBhZGQgYW4gb3B0aW9uIHRvIGxpbWl0IHRoZSBudW1iZXIgb2Ygb3JkZXJpbmcgZmllbGRzIChlZy4gZm9yIHRyZWUgcXVlcmllcylcbmV4cG9ydCB0eXBlIFNvcnREaXJlY3Rpb24gPSAnYXNjJyB8ICdkZXNjJztcblxuZXhwb3J0IGludGVyZmFjZSBGaWVsZFNvcnREYXRhIHtcbiAgZmllbGQ6IHN0cmluZztcbiAgZGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uO1xufVxuXG5leHBvcnQgdHlwZSBTb3J0ZXJEYXRhID0gRmllbGRTb3J0RGF0YVtdO1xuXG5leHBvcnQgY2xhc3MgTW9kZWxMaXN0U29ydGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfdmFsdWVzOiBTb3J0ZXJEYXRhID0gW107XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBNb2RlbExpc3RTb3J0ZXIgaW5zdGFuY2UsIHVzaW5nIGRlZmF1bHRzLlxuICAgKiBAcGFyYW0gZGVmYXVsdHMgZGVmYXVsdHMgc29ydCB2YWx1ZXMsIGFzIGEgbGlzdCBvZiBzdHJpbmdzICgrZmllbGQsIC1maWVsZCwgZmllbGQpXG4gICAqL1xuICBjb25zdHJ1Y3RvcihkZWZhdWx0czogU29ydGVyRGVmYXVsdHMgPSBbXSkge1xuICAgIHRoaXMuX291dHB1dCA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xuICAgIHRoaXMuX3ZhbHVlcyA9IFtdO1xuICAgIGZvciAoY29uc3QgZCBvZiBkZWZhdWx0cykge1xuICAgICAgaWYgKGQubGVuZ3RoIDwgMSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmIChkWzBdID09ICcrJykge1xuICAgICAgICB0aGlzLl92YWx1ZXMucHVzaCh7IGZpZWxkOiBkLnN1YnN0cmluZygxKSwgZGlyZWN0aW9uOiAnYXNjJyB9KTtcbiAgICAgIH0gZWxzZSBpZiAoZFswXSA9PSAnLScpIHtcbiAgICAgICAgdGhpcy5fdmFsdWVzLnB1c2goeyBmaWVsZDogZC5zdWJzdHJpbmcoMSksIGRpcmVjdGlvbjogJ2Rlc2MnIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fdmFsdWVzLnB1c2goeyBmaWVsZDogZCwgZGlyZWN0aW9uOiAnYXNjJyB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fdXBkYXRlT3V0cHV0KCdjb25zdHJ1Y3RvcicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb3V0cHV0OiBSZXBsYXlTdWJqZWN0PHN0cmluZ1tdPjtcblxuICAvKipcbiAgICogUmV0dXJucyBhIGxpc3Qgb2YgXCIrLy1maWVsZFwiIHNvcnQgc3RyaW5ncyBvYnNlcnZhYmxlLlxuICAgKiBAcmV0dXJucyBzb3J0IHN0cmluZ3Mgb2JzZXJ2YWJsZVxuICAgKi9cbiAgcHVibGljIGdldCBvdXRwdXQoKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9vdXRwdXQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHNvcnRpbmcgZm9yIGBuYW1lYCBrZXksIGluIGRpcmVjdGlvbiBgZGlyZWN0aW9uYC5cbiAgICogSWYgc29ydGluZyBpcyBhbHJlYWR5IHNldCBmb3IgYG5hbWVgIGtleSwgdXBkYXRlcyBkaXJlY3Rpb24gd2l0aG91dCBjaGFuZ2luZyBvcmRlci5cbiAgICogSWYgc29ydGluZyBpc24ndCBzZXQgZm9yIGBuYW1lYCBrZXksIGFkZHMgaXQgYXQgdGhlIGVuZCBvZiBzb3J0aW5nIGRpcmVjdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIGZpZWxkIG5hbWVcbiAgICogQHBhcmFtIGRpcmVjdGlvbiBzb3J0IGRpcmVjdGlvblxuICAgKiBAcmV0dXJucyBtb2RlbCBsaXN0IHNvcnRlclxuICAgKi9cbiAgcHVibGljIHNldChuYW1lOiBzdHJpbmcsIGRpcmVjdGlvbjogU29ydERpcmVjdGlvbik6IE1vZGVsTGlzdFNvcnRlciB7XG4gICAgZm9yIChjb25zdCB2IG9mIHRoaXMuX3ZhbHVlcykge1xuICAgICAgaWYgKHYuZmllbGQgPT09IG5hbWUpIHtcbiAgICAgICAgdi5kaXJlY3Rpb24gPSBkaXJlY3Rpb247XG4gICAgICAgIHRoaXMuX3VwZGF0ZU91dHB1dCgpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fdmFsdWVzLnB1c2goeyBmaWVsZDogbmFtZSwgZGlyZWN0aW9uIH0pO1xuICAgIHRoaXMuX3VwZGF0ZU91dHB1dCgnc2V0Jyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBgbmFtZWAgc29ydGluZyBrZXkgZnJvbSBjdXJyZW50IGtleXMuXG4gICAqXG4gICAqIEBwYXJhbSAgbmFtZSBzb3J0IGtleSB0byBiZSByZW1vdmVkXG4gICAqIEByZXR1cm5zIG1vZGVsIGxpc3Qgc29ydGVyXG4gICAqL1xuICBwdWJsaWMgdW5zZXQobmFtZTogc3RyaW5nKTogTW9kZWxMaXN0U29ydGVyIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuX3ZhbHVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKHRoaXMuX3ZhbHVlc1tpXS5maWVsZCA9PT0gbmFtZSkge1xuICAgICAgICB0aGlzLl92YWx1ZXMuc3BsaWNlKGksIDEpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fdXBkYXRlT3V0cHV0KCd1bnNldCcpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBzb3J0aW5nIHN0YXR1cyBmb3IgYGZpZWxkYCBhcmd1bWVudC5cbiAgICogSWYgYGZpZWxkYCBpcyBub3QgZm91bmQsIHJldHVybnMgbnVsbC5cbiAgICpcbiAgICogQHBhcmFtICBmaWVsZCBmaWVsZCBuYW1lXG4gICAqIEByZXR1cm5zIG9yZGVyaW5nIGRpcmVjdGlvbiAvIG51bGxcbiAgICovXG4gIHB1YmxpYyBnZXQoZmllbGQ6IHN0cmluZyk6IEZpZWxkU29ydERhdGEgfCBudWxsIHtcbiAgICBmb3IgKGNvbnN0IHYgb2YgdGhpcy5fdmFsdWVzKSB7XG4gICAgICBpZiAodi5maWVsZCA9PT0gZmllbGQpIHtcbiAgICAgICAgcmV0dXJuIHY7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbGwgc29ydGVyIGRhdGEgdmFsdWVzLlxuICAgKlxuICAgKiBAcmV0dXJucyBhbGwgc29ydGVyIGRhdGEgdmFsdWVzLlxuICAgKi9cbiAgcHVibGljIGdldEFsbCgpOiBTb3J0ZXJEYXRhIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgb3JkZXJpbmcgcG9zaXRpb24gZm9yIGBmaWVsZGAgYXJndW1lbnQuIElmIG5vdCBmb3VuZCwgcmV0dXJucyAtMS5cbiAgICpcbiAgICogQHBhcmFtICBmaWVsZCBmaWVsZCBuYW1lXG4gICAqIEByZXR1cm5zIG9yZGVyaW5nIHBvc2l0aW9uIGZvciBmaWVsZFxuICAgKi9cbiAgcHVibGljIGdldE9yZGVyKGZpZWxkOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5fdmFsdWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAodGhpcy5fdmFsdWVzW2ldLmZpZWxkID09PSBmaWVsZCkge1xuICAgICAgICByZXR1cm4gaSArIDE7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiAtMTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZU91dHB1dChfZnJvbTogc3RyaW5nID0gJycpOiB2b2lkIHtcbiAgICBsZXQgb3V0OiBzdHJpbmdbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgdiBvZiB0aGlzLl92YWx1ZXMpIHtcbiAgICAgIG91dC5wdXNoKGAke3YuZGlyZWN0aW9uID09PSAnYXNjJyA/ICcnIDogJy0nfSR7di5maWVsZH1gKTtcbiAgICB9XG4gICAgdGhpcy5fb3V0cHV0Lm5leHQob3V0KTtcbiAgfVxufVxuIl19