@coolon/angular-ui-powerups 13.5.2 → 13.6.0

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 (29) hide show
  1. package/esm2020/lib/angular-ui-powerups.module.mjs +8 -4
  2. package/esm2020/lib/components/components.module.mjs +6 -6
  3. package/esm2020/lib/components/exports.mjs +2 -2
  4. package/esm2020/lib/components/tables/abstract-table-model.mjs +10 -5
  5. package/esm2020/lib/components/tables/abstract-table.component.mjs +14 -60
  6. package/esm2020/lib/components/tables/column/list-propery-column-model.mjs +5 -5
  7. package/esm2020/lib/components/tables/column/property-column-model.mjs +2 -2
  8. package/esm2020/lib/components/tables/paginator/paginator.component.mjs +2 -2
  9. package/esm2020/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.mjs +3 -11
  10. package/esm2020/lib/components/tables/renderer/table-body/table-body.component.mjs +112 -0
  11. package/esm2020/lib/components/tables/table/table-model.mjs +20 -1
  12. package/esm2020/lib/components/tables/table/table.component.mjs +29 -16
  13. package/esm2020/lib/components/tables/tree-table/tree-table-component.mjs +9 -12
  14. package/fesm2015/coolon-angular-ui-powerups.mjs +458 -397
  15. package/fesm2015/coolon-angular-ui-powerups.mjs.map +1 -1
  16. package/fesm2020/coolon-angular-ui-powerups.mjs +497 -436
  17. package/fesm2020/coolon-angular-ui-powerups.mjs.map +1 -1
  18. package/lib/angular-ui-powerups.module.d.ts +4 -3
  19. package/lib/components/components.module.d.ts +31 -31
  20. package/lib/components/exports.d.ts +1 -1
  21. package/lib/components/tables/abstract-table-model.d.ts +5 -3
  22. package/lib/components/tables/abstract-table.component.d.ts +7 -13
  23. package/lib/components/tables/renderer/table-body/table-body.component.d.ts +35 -0
  24. package/lib/components/tables/table/table-model.d.ts +6 -1
  25. package/lib/components/tables/table/table.component.d.ts +7 -5
  26. package/lib/components/tables/tree-table/tree-table-component.d.ts +2 -2
  27. package/package.json +2 -2
  28. package/esm2020/lib/components/tables/renderer/default-list-cell-renderer/default-list-cell-renderer.component.mjs +0 -40
  29. package/lib/components/tables/renderer/default-list-cell-renderer/default-list-cell-renderer.component.d.ts +0 -12
@@ -1,8 +1,8 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { Component, ElementRef, HostBinding, Injector, Input, NgZone } from "@angular/core";
2
+ import { Component, HostBinding, Injector, Input } from "@angular/core";
3
3
  import { Dsl, MutableValueModel, StoreInValueModel, TrackExternal, ValueModel } from '@coolon/pectin';
4
4
  import { lang } from '@coolon/typescript-utilities';
5
- import { ResizeAwareComponent } from '../resize-aware.component';
5
+ import { DisposableComponent } from "../disposable-component";
6
6
  import { CustomTemplateColumnModel } from "./column/custom-template-column-model";
7
7
  import * as i0 from "@angular/core";
8
8
  /**
@@ -64,9 +64,9 @@ import * as i0 from "@angular/core";
64
64
  * }
65
65
  * }
66
66
  */
67
- export class AbstractTableComponent extends ResizeAwareComponent {
68
- constructor(elementRef, ngZone, injector) {
69
- super(elementRef, ngZone);
67
+ export class AbstractTableComponent extends DisposableComponent {
68
+ constructor(injector) {
69
+ super();
70
70
  this.injector = injector;
71
71
  /**
72
72
  * Set to true to enable scrolling. Once enabled the table will have 0 implicit height. You will either
@@ -79,33 +79,14 @@ export class AbstractTableComponent extends ResizeAwareComponent {
79
79
  this.rowHeight = new MutableValueModel(48);
80
80
  this.baseCssClass = 'aup-table-component';
81
81
  const { chain, when } = Dsl.disposeWith(this);
82
- const actualHeaderHeight = chain(this.showHeaderModel).map(show => {
83
- return show ? this.headerHeight.value : 0;
84
- }, { dependsOn: this.headerHeight });
85
- this.visibleRowCount = chain(this.boundsModel).map(bounds => {
86
- // TODO: this doesn't take into account any css styling adjustments etc. Will investigate if it's an issue.
87
- const rawRowCount = (bounds.height - actualHeaderHeight.value) / this.rowHeight.value;
88
- return rawRowCount < 1 ? 0 : Math.floor(rawRowCount);
89
- }, {
90
- dependsOn: [actualHeaderHeight, this.rowHeight],
91
- postponeWhile: chain(this.boundsModel).pluckNumeric('height').isLessThan(1)
92
- });
93
- }
94
- get hideHeader() {
95
- return !this.showHeader;
96
- }
97
- getModel() {
98
- return lang.abstractMethod(this.constructor);
99
82
  }
100
83
  ngOnInit() {
101
84
  const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
102
85
  this.getModel().initialise(this.injector);
103
- this.columns = chain(this.getModel().columns);
104
- this.columnIds = chain(this.columns).pluck('columnId');
105
- this.columnsById = chain(this.columns).indexBy('columnId');
86
+ this.columnsById = chain(this.getModel().columns).indexBy('columnId');
106
87
  }
107
- isEditing(row) {
108
- return !!this.getModel().getEditSessionFor(row);
88
+ getModel() {
89
+ return lang.abstractMethod(this.constructor);
109
90
  }
110
91
  registerColumnTemplate(columnId, templateRef, viewContainer, fillCell, padChild) {
111
92
  const column = this.columnsById.get(columnId);
@@ -113,36 +94,15 @@ export class AbstractTableComponent extends ResizeAwareComponent {
113
94
  column.setTemplate(templateRef, viewContainer, fillCell, padChild);
114
95
  }
115
96
  }
116
- notifyCellClicked(columnModel, row) {
117
- this.getModel()._notifyCellClicked(columnModel, row);
118
- }
119
- // @Trace()
120
- isFirstVisibleColumn(columnId) {
121
- return this.getModel().firstVisibleColumn$.query().value?.columnId === columnId;
122
- }
123
- // @Trace()
124
- isLastVisibleColumn(columnId) {
125
- return this.getModel().lastVisibleColumn$.query().value?.columnId === columnId;
126
- }
127
- getColumnClasses(columnId) {
128
- const classes = [`aup-col-${this.columnsById.get(columnId).dasherisedColumnId}`];
129
- if (this.isFirstVisibleColumn(columnId)) {
130
- classes.push('first-visible-column');
131
- }
132
- if (this.isLastVisibleColumn(columnId)) {
133
- classes.push('last-visible-column');
134
- }
135
- return classes;
136
- }
137
97
  }
138
- AbstractTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: AbstractTableComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
139
- AbstractTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: AbstractTableComponent, selector: "aup-abstract-table", inputs: { showHeaderModel: "showHeaderModel", showHeader: "showHeader", enableScrolling: "enableScrolling" }, host: { properties: { "class.enable-scrolling": "this.enableScrolling", "class": "this.baseCssClass", "class.hide-header": "this.hideHeader" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
98
+ AbstractTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: AbstractTableComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
99
+ AbstractTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: AbstractTableComponent, selector: "aup-abstract-table", inputs: { showHeader$: "showHeader$", showHeader: "showHeader", enableScrolling: "enableScrolling" }, host: { properties: { "class": "this.baseCssClass" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
140
100
  __decorate([
141
101
  TrackExternal({ defaultValue: true }),
142
102
  __metadata("design:type", ValueModel)
143
- ], AbstractTableComponent.prototype, "showHeaderModel", void 0);
103
+ ], AbstractTableComponent.prototype, "showHeader$", void 0);
144
104
  __decorate([
145
- StoreInValueModel('showHeaderModel'),
105
+ StoreInValueModel("showHeader$"),
146
106
  __metadata("design:type", Boolean)
147
107
  ], AbstractTableComponent.prototype, "showHeader", void 0);
148
108
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: AbstractTableComponent, decorators: [{
@@ -151,20 +111,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
151
111
  selector: 'aup-abstract-table',
152
112
  template: ''
153
113
  }]
154
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { showHeaderModel: [{
114
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { showHeader$: [{
155
115
  type: Input
156
116
  }], showHeader: [{
157
117
  type: Input
158
118
  }], enableScrolling: [{
159
119
  type: Input
160
- }, {
161
- type: HostBinding,
162
- args: ['class.enable-scrolling']
163
120
  }], baseCssClass: [{
164
121
  type: HostBinding,
165
122
  args: ['class']
166
- }], hideHeader: [{
167
- type: HostBinding,
168
- args: ['class.hide-header']
169
123
  }] } });
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvYWJzdHJhY3QtdGFibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQUUsUUFBUSxFQUNyQixLQUFLLEVBQ0wsTUFBTSxFQUlQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxHQUFHLEVBR0gsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsVUFBVSxFQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR2pFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOztBQUVsRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBERztBQUtILE1BQU0sT0FBTyxzQkFBNEIsU0FBUSxvQkFBb0I7SUFpQ25FLFlBQVksVUFBc0IsRUFBRSxNQUFjLEVBQW1CLFFBQWtCO1FBQ3JGLEtBQUssQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFEeUMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQXZCdkY7Ozs7V0FJRztRQUdILG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBU3hCLGtFQUFrRTtRQUNqRCxpQkFBWSxHQUFHLElBQUksaUJBQWlCLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDakQsY0FBUyxHQUFHLElBQUksaUJBQWlCLENBQVMsRUFBRSxDQUFDLENBQUM7UUFHL0QsaUJBQVksR0FBRyxxQkFB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RUFBRSxFQUFFO2lCQUNiOzZJQUtDLGVBQWU7c0JBRmQsS0FBSztnQkFNTixVQUFVO3NCQUZULEtBQUs7Z0JBV04sZUFBZTtzQkFGZCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLHdCQUF3QjtnQkFlckMsWUFBWTtzQkFEWCxXQUFXO3VCQUFDLE9BQU87Z0JBdUJoQixVQUFVO3NCQURiLFdBQVc7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZywgSW5qZWN0b3IsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uSW5pdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIERzbCwgTGlzdE1vZGVsLFxuICBMaXN0TW9kZWxDaGFpbixcbiAgTWFwTW9kZWxDaGFpbixcbiAgTXV0YWJsZVZhbHVlTW9kZWwsXG4gIFN0b3JlSW5WYWx1ZU1vZGVsLFxuICBUcmFja0V4dGVybmFsLFxuICBWYWx1ZU1vZGVsXG59IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IGxhbmcgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCB7IFJlc2l6ZUF3YXJlQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVzaXplLWF3YXJlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBYnN0cmFjdFRhYmxlTW9kZWwgfSBmcm9tICcuL2Fic3RyYWN0LXRhYmxlLW1vZGVsJztcbmltcG9ydCB7IENvbHVtbk1vZGVsIH0gZnJvbSAnLi9jb2x1bW4vY29sdW1uLW1vZGVsJztcbmltcG9ydCB7IEN1c3RvbVRlbXBsYXRlQ29sdW1uTW9kZWwgfSBmcm9tIFwiLi9jb2x1bW4vY3VzdG9tLXRlbXBsYXRlLWNvbHVtbi1tb2RlbFwiO1xuXG4vKipcbiAqIENyZWF0ZSB5b3VyIG1vZGVsOlxuICogQGV4YW1wbGVcbiAqIHRoaXMuaGVyb1RhYmxlTW9kZWwgPSBuZXcgVGFibGVNb2RlbChoZXJvTGlzdCwgdGFibGUgPT4ge1xuICogICB0YWJsZS5wbHVjayhcImZpcnN0TmFtZVwiKTtcbiAqICAgdGFibGUucGx1Y2soXCJsYXN0TmFtZVwiKTtcbiAqICAgdGFibGUuYWRkQ3VzdG9tQ29sdW1uKFwiZnVsbE5hbWVcIiwgaGVybyA9PiBgJHtoZXJvLmZpcnN0TmFtZX0gJHtoZXJvLmxhc3ROYW1lfWApO1xuICogfSk7XG4gKlxuICogQ3JlYXRlIHlvdXIgdGFibGVcbiAqIEBleGFtcGxlXG4gKiA8YXVwLXRhYmxlIFt0YWJsZU1vZGVsXT1cImhlcm9UYWJsZU1vZGVsXCI+PC9hdXAtdGFibGU+XG4gKlxuICogQ29sdW1uIHRlbXBsYXRlc1xuICogQGV4YW1wbGVcbiAqIHRoaXMuaGVyb1RhYmxlTW9kZWwgPSBuZXcgVGFibGVNb2RlbChoZXJvTGlzdCwgdGFibGUgPT4ge1xuICogICB0YWJsZS5wbHVjayhcImZpcnN0TmFtZVwiKTtcbiAqICAgdGFibGUucGx1Y2soXCJsYXN0TmFtZVwiKTtcbiAqICAgdGFibGUuYWRkVGVtcGxhdGVDb2x1bW4oXCJzcGVjaWFsQ29sdW1uXCIpO1xuICogfSk7XG4gKiA8YXVwLXRhYmxlIFt0YWJsZU1vZGVsXT1cImhlcm9UYWJsZU1vZGVsXCI+XG4gKiAgIDxkaXYgKmF1cENvbHVtblRlbXBsYXRlPVwibGV0IGhlcm87IGNvbHVtbklkOiAnc3BlY2lhbENvbHVtbic7IGZpbGxDZWxsOiB0cnVlOyBwYWRDaGlsZDpmYWxzZVwiPlxuICogICAgIHt7aGVyby5uYW1lfX1cbiAqICAgPC9kaXY+XG4gKiA8L2F1cC10YWJsZT5cbiAqXG4gKiBTdHlsaW5nXG4gKiBAZXhhbXBsZVxuICogIC8vIGdsb2JhbCBzZXR0aW5nc1xuICogOnJvb3Qge1xuICogICAtLWF1cC10YWJsZS1jb2x1bW4tZ2FwOiAxMHB4OyAvLyBkZWZhdWx0cyB0byAyNHB4XG4gKiAgIC0tYXVwLXRhYmxlLXJvdy1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMDUpXG4gKiAgIC0tYXVwLXRhYmxlLXJvdy1zZWxlY3RlZC1iYWNrZ3JvdW5kLWNvbG9yOiByZWJlY2NhcHVycGxlOyAvLyBkZWZhdWx0cyB0byB0cmFuc3BhcmVudFxuICogICAtLWF1cC10YWJsZS1maXJzdC1jb2x1bW4tcGFkZGluZy1sZWZ0OiAxOHB4IC8vIGRlZmF1bHRzIHRvIC0tY29sdW1uLWdhcFxuICogICAtLWF1cC10YWJsZS1sYXN0LWNvbHVtbi1wYWRkaW5nLXJpZ2h0OiAxOHB4IC8vIGRlZmF1bHRzIHRvIC0tY29sdW1uLWdhcFxuICogfVxuICpcbiAqIC8vIHBlciB0YWJsZSBzZXR0aW5ncy5cbiAqIGF1cC10YWJsZSB7XG4gKiAgIC0tY29sdW1uLWdhcDogMTBweDsgLy8gZGVmYXVsdHMgdG8gMjRweFxuICogICAtLXJvdy1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMDUpXG4gKiAgIC0tcm93LXNlbGVjdGVkLWJhY2tncm91bmQtY29sb3I6IHJlYmVjY2FwdXJwbGU7IC8vIGRlZmF1bHRzIHRvIHRyYW5zcGFyZW50XG4gKiAgIC0tZmlyc3QtY29sdW1uLXBhZGRpbmctbGVmdDogMThweCAvLyBkZWZhdWx0cyB0byAtLWNvbHVtbi1nYXBcbiAqICAgLS1sYXN0LWNvbHVtbi1wYWRkaW5nLXJpZ2h0OiAxOHB4IC8vIGRlZmF1bHRzIHRvIC0tY29sdW1uLWdhcFxuICpcbiAqICAgYXVwLXRhYmxlLWhlYWRlci1jZWxsLXJlbmRlcmVyLFxuICogICBhdXAtdGFibGUtY2VsbC1yZW5kZXJlciB7XG4gKiAgICAgJi5hdXAtY29sLW15LWRhc2hlcmlzZWQtY29sdW1uLWlkIHtcbiAqICAgICAgIC8vIGRvIHN0dWZmXG4gKiAgICAgfVxuICogICAgICYuZmlyc3QtdmlzaWJsZS1jb2x1bW4ge1xuICogICAgICAgLy8gZG8gc3R1ZmZcbiAqICAgICB9XG4gKiAgICAgJi5sYXN0LXZpc2libGUtY29sdW1uIHtcbiAqICAgICAgIC8vIGRvIHN0dWZmXG4gKiAgICAgfVxuICogICB9XG4gKiB9XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC1hYnN0cmFjdC10YWJsZScsXG4gIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBjbGFzcyBBYnN0cmFjdFRhYmxlQ29tcG9uZW50PFJvdz4gZXh0ZW5kcyBSZXNpemVBd2FyZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KClcbiAgQFRyYWNrRXh0ZXJuYWwoeyBkZWZhdWx0VmFsdWU6IHRydWUgfSlcbiAgc2hvd0hlYWRlck1vZGVsOiBWYWx1ZU1vZGVsPGJvb2xlYW4+O1xuXG4gIEBJbnB1dCgpXG4gIEBTdG9yZUluVmFsdWVNb2RlbCgnc2hvd0hlYWRlck1vZGVsJylcbiAgc2hvd0hlYWRlcjogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2V0IHRvIHRydWUgdG8gZW5hYmxlIHNjcm9sbGluZy4gIE9uY2UgZW5hYmxlZCB0aGUgdGFibGUgd2lsbCBoYXZlIDAgaW1wbGljaXQgaGVpZ2h0LiAgWW91IHdpbGwgZWl0aGVyXG4gICAqIG5lZWQgdG8gc2V0IGl0IGV4cGxpY2l0bHkgZS5nLiBoZWlnaHQ6IDQwMHB4OyBvciBieSB1c2luZyBmbGV4IG9yIGdyaWQgbGF5b3V0IHRvIG1ha2UgaXQgZmlsbCBpdCdzXG4gICAqIGNvbnRhaW5tZW50IGFyZWEuXG4gICAqL1xuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmVuYWJsZS1zY3JvbGxpbmcnKVxuICBlbmFibGVTY3JvbGxpbmcgPSBmYWxzZTtcblxuICBjb2x1bW5zOiBMaXN0TW9kZWxDaGFpbjxDb2x1bW5Nb2RlbDxSb3c+PjtcbiAgY29sdW1uSWRzOiBMaXN0TW9kZWxDaGFpbjxzdHJpbmc+O1xuICBwcml2YXRlIGNvbHVtbnNCeUlkOiBNYXBNb2RlbENoYWluPHN0cmluZywgQ29sdW1uTW9kZWw8Um93Pj47XG5cbiAgcmVhZG9ubHkgdmlzaWJsZVJvd0NvdW50OiBWYWx1ZU1vZGVsPG51bWJlcj47XG5cblxuICAvLyBUT0RPOiBzdXBwb3J0IHVzZXIgZGVmaW5lZCBoZWFkZXIgYW5kIHJvdyBoZWlnaHRzIHZpYSBjc3MgdmFycy5cbiAgcHJpdmF0ZSByZWFkb25seSBoZWFkZXJIZWlnaHQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8bnVtYmVyPig1Nik7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm93SGVpZ2h0ID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPG51bWJlcj4oNDgpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBiYXNlQ3NzQ2xhc3MgPSAnYXVwLXRhYmxlLWNvbXBvbmVudCc7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgbmdab25lOiBOZ1pvbmUsIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoZWxlbWVudFJlZiwgbmdab25lKTtcbiAgICBjb25zdCB7IGNoYWluLCB3aGVuIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG5cbiAgICBjb25zdCBhY3R1YWxIZWFkZXJIZWlnaHQgPSBjaGFpbih0aGlzLnNob3dIZWFkZXJNb2RlbCkubWFwKHNob3cgPT4ge1xuICAgICAgcmV0dXJuIHNob3cgPyB0aGlzLmhlYWRlckhlaWdodC52YWx1ZSA6IDA7XG4gICAgfSwgeyBkZXBlbmRzT246IHRoaXMuaGVhZGVySGVpZ2h0IH0pO1xuXG4gICAgdGhpcy52aXNpYmxlUm93Q291bnQgPSBjaGFpbih0aGlzLmJvdW5kc01vZGVsKS5tYXAoYm91bmRzID0+IHtcbiAgICAgIC8vIFRPRE86IHRoaXMgZG9lc24ndCB0YWtlIGludG8gYWNjb3VudCBhbnkgY3NzIHN0eWxpbmcgYWRqdXN0bWVudHMgZXRjLiAgV2lsbCBpbnZlc3RpZ2F0ZSBpZiBpdCdzIGFuIGlzc3VlLlxuICAgICAgY29uc3QgcmF3Um93Q291bnQgPSAoYm91bmRzLmhlaWdodCAtIGFjdHVhbEhlYWRlckhlaWdodC52YWx1ZSkgLyB0aGlzLnJvd0hlaWdodC52YWx1ZTtcbiAgICAgIHJldHVybiByYXdSb3dDb3VudCA8IDEgPyAwIDogTWF0aC5mbG9vcihyYXdSb3dDb3VudCk7XG4gICAgfSwge1xuICAgICAgZGVwZW5kc09uOiBbYWN0dWFsSGVhZGVySGVpZ2h0LCB0aGlzLnJvd0hlaWdodF0sXG4gICAgICBwb3N0cG9uZVdoaWxlOiBjaGFpbih0aGlzLmJvdW5kc01vZGVsKS5wbHVja051bWVyaWMoJ2hlaWdodCcpLmlzTGVzc1RoYW4oMSlcbiAgICB9KTtcblxuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oaWRlLWhlYWRlcicpXG4gIGdldCBoaWRlSGVhZGVyKCkge1xuICAgIHJldHVybiAhdGhpcy5zaG93SGVhZGVyO1xuICB9XG5cbiAgZ2V0TW9kZWwoKTogQWJzdHJhY3RUYWJsZU1vZGVsPFJvdz4ge1xuICAgIHJldHVybiBsYW5nLmFic3RyYWN0TWV0aG9kKHRoaXMuY29uc3RydWN0b3IpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgeyBjaGFpbiwgdmFsdWVPZiwgYmVmb3JlLCB3aGVuLCBhZnRlciwgb2JzZXJ2ZSwgc3dpdGNoT24gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLmdldE1vZGVsKCkuaW5pdGlhbGlzZSh0aGlzLmluamVjdG9yKTtcbiAgICB0aGlzLmNvbHVtbnMgPSBjaGFpbih0aGlzLmdldE1vZGVsKCkuY29sdW1ucyk7XG4gICAgdGhpcy5jb2x1bW5JZHMgPSBjaGFpbih0aGlzLmNvbHVtbnMpLnBsdWNrKCdjb2x1bW5JZCcpO1xuICAgIHRoaXMuY29sdW1uc0J5SWQgPSBjaGFpbih0aGlzLmNvbHVtbnMpLmluZGV4QnkoJ2NvbHVtbklkJyk7XG4gIH1cblxuICBpc0VkaXRpbmcocm93OiBSb3cpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmdldE1vZGVsKCkuZ2V0RWRpdFNlc3Npb25Gb3Iocm93KTtcbiAgfVxuXG4gIHJlZ2lzdGVyQ29sdW1uVGVtcGxhdGUoY29sdW1uSWQ6IHN0cmluZywgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsIGZpbGxDZWxsOiBib29sZWFuLCBwYWRDaGlsZDogYm9vbGVhbikge1xuICAgIGNvbnN0IGNvbHVtbiA9IHRoaXMuY29sdW1uc0J5SWQuZ2V0KGNvbHVtbklkKTtcbiAgICBpZiAoY29sdW1uIGluc3RhbmNlb2YgQ3VzdG9tVGVtcGxhdGVDb2x1bW5Nb2RlbCkge1xuICAgICAgY29sdW1uLnNldFRlbXBsYXRlKHRlbXBsYXRlUmVmLCB2aWV3Q29udGFpbmVyLCBmaWxsQ2VsbCwgcGFkQ2hpbGQpO1xuICAgIH1cbiAgfVxuXG4gIG5vdGlmeUNlbGxDbGlja2VkKGNvbHVtbk1vZGVsOiBDb2x1bW5Nb2RlbDxSb3c+LCByb3c6IFJvdykge1xuICAgIHRoaXMuZ2V0TW9kZWwoKS5fbm90aWZ5Q2VsbENsaWNrZWQoY29sdW1uTW9kZWwsIHJvdyk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBpc0ZpcnN0VmlzaWJsZUNvbHVtbihjb2x1bW5JZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TW9kZWwoKS5maXJzdFZpc2libGVDb2x1bW4kLnF1ZXJ5KCkudmFsdWU/LmNvbHVtbklkID09PSBjb2x1bW5JZDtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGlzTGFzdFZpc2libGVDb2x1bW4oY29sdW1uSWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldE1vZGVsKCkubGFzdFZpc2libGVDb2x1bW4kLnF1ZXJ5KCkudmFsdWU/LmNvbHVtbklkID09PSBjb2x1bW5JZDtcbiAgfVxuXG4gIGdldENvbHVtbkNsYXNzZXMoY29sdW1uSWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGNsYXNzZXMgPSBbYGF1cC1jb2wtJHt0aGlzLmNvbHVtbnNCeUlkLmdldChjb2x1bW5JZCkuZGFzaGVyaXNlZENvbHVtbklkfWBdO1xuICAgIGlmICh0aGlzLmlzRmlyc3RWaXNpYmxlQ29sdW1uKGNvbHVtbklkKSkge1xuICAgICAgY2xhc3Nlcy5wdXNoKCdmaXJzdC12aXNpYmxlLWNvbHVtbicpO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0xhc3RWaXNpYmxlQ29sdW1uKGNvbHVtbklkKSkge1xuICAgICAgY2xhc3Nlcy5wdXNoKCdsYXN0LXZpc2libGUtY29sdW1uJyk7XG4gICAgfVxuICAgIHJldHVybiBjbGFzc2VzO1xuICB9XG59XG4iXX0=
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvYWJzdHJhY3QtdGFibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFdBQVcsRUFBRSxRQUFRLEVBQ3JCLEtBQUssRUFLTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsR0FBRyxFQUdILGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsYUFBYSxFQUNiLFVBQVUsRUFDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUk5RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFFbEY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwREc7QUFLSCxNQUFNLE9BQU8sc0JBQTRCLFNBQVEsbUJBQW1CO0lBaUNsRSxZQUE2QixRQUFrQjtRQUM3QyxLQUFLLEVBQUUsQ0FBQztRQURtQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBdkIvQzs7OztXQUlHO1FBRUgsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFVeEIsa0VBQWtFO1FBQ2pELGlCQUFZLEdBQUcsSUFBSSxpQkFBaUIsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUNqRCxjQUFTLEdBQUcsSUFBSSxpQkFBaUIsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUcvRCxpQkFBWSxHQUFHLHFCQUFxQixDQUFDO1FBSW5DLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pGLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVTLFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsc0JBQXNCLENBQUMsUUFBZ0IsRUFBRSxXQUE2QixFQUFFLGFBQStCLEVBQUUsUUFBaUIsRUFBRSxRQUFpQjtRQUMzSSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QyxJQUFJLE1BQU0sWUFBWSx5QkFBeUIsRUFBRTtZQUMvQyxNQUFNLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ3BFO0lBQ0gsQ0FBQzs7bUhBckRVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLCtPQUZ2QixFQUFFO0FBTVo7SUFEQyxhQUFhLENBQUMsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUM7OEJBQ3pCLFVBQVU7MkRBQVU7QUFJakM7SUFEQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUM7OzBEQUNiOzJGQVJULHNCQUFzQjtrQkFKbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsRUFBRTtpQkFDYjsrRkFLQyxXQUFXO3NCQUZWLEtBQUs7Z0JBTU4sVUFBVTtzQkFGVCxLQUFLO2dCQVVOLGVBQWU7c0JBRGQsS0FBSztnQkFnQk4sWUFBWTtzQkFEWCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLCBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25Jbml0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgRHNsLCBMaXN0TW9kZWwsXG4gIExpc3RNb2RlbENoYWluLFxuICBNYXBNb2RlbENoYWluLFxuICBNdXRhYmxlVmFsdWVNb2RlbCxcbiAgU3RvcmVJblZhbHVlTW9kZWwsXG4gIFRyYWNrRXh0ZXJuYWwsXG4gIFZhbHVlTW9kZWxcbn0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgbGFuZyB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gXCIuLi9kaXNwb3NhYmxlLWNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUmVzaXplQXdhcmVDb21wb25lbnQgfSBmcm9tICcuLi9yZXNpemUtYXdhcmUuY29tcG9uZW50JztcbmltcG9ydCB7IEFic3RyYWN0VGFibGVNb2RlbCB9IGZyb20gJy4vYWJzdHJhY3QtdGFibGUtbW9kZWwnO1xuaW1wb3J0IHsgQ29sdW1uTW9kZWwgfSBmcm9tICcuL2NvbHVtbi9jb2x1bW4tbW9kZWwnO1xuaW1wb3J0IHsgQ3VzdG9tVGVtcGxhdGVDb2x1bW5Nb2RlbCB9IGZyb20gXCIuL2NvbHVtbi9jdXN0b20tdGVtcGxhdGUtY29sdW1uLW1vZGVsXCI7XG5cbi8qKlxuICogQ3JlYXRlIHlvdXIgbW9kZWw6XG4gKiBAZXhhbXBsZVxuICogdGhpcy5oZXJvVGFibGVNb2RlbCA9IG5ldyBUYWJsZU1vZGVsKGhlcm9MaXN0LCB0YWJsZSA9PiB7XG4gKiAgIHRhYmxlLnBsdWNrKFwiZmlyc3ROYW1lXCIpO1xuICogICB0YWJsZS5wbHVjayhcImxhc3ROYW1lXCIpO1xuICogICB0YWJsZS5hZGRDdXN0b21Db2x1bW4oXCJmdWxsTmFtZVwiLCBoZXJvID0+IGAke2hlcm8uZmlyc3ROYW1lfSAke2hlcm8ubGFzdE5hbWV9YCk7XG4gKiB9KTtcbiAqXG4gKiBDcmVhdGUgeW91ciB0YWJsZVxuICogQGV4YW1wbGVcbiAqIDxhdXAtdGFibGUgW3RhYmxlTW9kZWxdPVwiaGVyb1RhYmxlTW9kZWxcIj48L2F1cC10YWJsZT5cbiAqXG4gKiBDb2x1bW4gdGVtcGxhdGVzXG4gKiBAZXhhbXBsZVxuICogdGhpcy5oZXJvVGFibGVNb2RlbCA9IG5ldyBUYWJsZU1vZGVsKGhlcm9MaXN0LCB0YWJsZSA9PiB7XG4gKiAgIHRhYmxlLnBsdWNrKFwiZmlyc3ROYW1lXCIpO1xuICogICB0YWJsZS5wbHVjayhcImxhc3ROYW1lXCIpO1xuICogICB0YWJsZS5hZGRUZW1wbGF0ZUNvbHVtbihcInNwZWNpYWxDb2x1bW5cIik7XG4gKiB9KTtcbiAqIDxhdXAtdGFibGUgW3RhYmxlTW9kZWxdPVwiaGVyb1RhYmxlTW9kZWxcIj5cbiAqICAgPGRpdiAqYXVwQ29sdW1uVGVtcGxhdGU9XCJsZXQgaGVybzsgY29sdW1uSWQ6ICdzcGVjaWFsQ29sdW1uJzsgZmlsbENlbGw6IHRydWU7IHBhZENoaWxkOmZhbHNlXCI+XG4gKiAgICAge3toZXJvLm5hbWV9fVxuICogICA8L2Rpdj5cbiAqIDwvYXVwLXRhYmxlPlxuICpcbiAqIFN0eWxpbmdcbiAqIEBleGFtcGxlXG4gKiAgLy8gZ2xvYmFsIHNldHRpbmdzXG4gKiA6cm9vdCB7XG4gKiAgIC0tYXVwLXRhYmxlLWNvbHVtbi1nYXA6IDEwcHg7IC8vIGRlZmF1bHRzIHRvIDI0cHhcbiAqICAgLS1hdXAtdGFibGUtcm93LWhvdmVyLWJhY2tncm91bmQtY29sb3IsIHJnYmEoMCwgMCwgMCwgMC4wNSlcbiAqICAgLS1hdXAtdGFibGUtcm93LXNlbGVjdGVkLWJhY2tncm91bmQtY29sb3I6IHJlYmVjY2FwdXJwbGU7IC8vIGRlZmF1bHRzIHRvIHRyYW5zcGFyZW50XG4gKiAgIC0tYXVwLXRhYmxlLWZpcnN0LWNvbHVtbi1wYWRkaW5nLWxlZnQ6IDE4cHggLy8gZGVmYXVsdHMgdG8gLS1jb2x1bW4tZ2FwXG4gKiAgIC0tYXVwLXRhYmxlLWxhc3QtY29sdW1uLXBhZGRpbmctcmlnaHQ6IDE4cHggLy8gZGVmYXVsdHMgdG8gLS1jb2x1bW4tZ2FwXG4gKiB9XG4gKlxuICogLy8gcGVyIHRhYmxlIHNldHRpbmdzLlxuICogYXVwLXRhYmxlIHtcbiAqICAgLS1jb2x1bW4tZ2FwOiAxMHB4OyAvLyBkZWZhdWx0cyB0byAyNHB4XG4gKiAgIC0tcm93LWhvdmVyLWJhY2tncm91bmQtY29sb3IsIHJnYmEoMCwgMCwgMCwgMC4wNSlcbiAqICAgLS1yb3ctc2VsZWN0ZWQtYmFja2dyb3VuZC1jb2xvcjogcmViZWNjYXB1cnBsZTsgLy8gZGVmYXVsdHMgdG8gdHJhbnNwYXJlbnRcbiAqICAgLS1maXJzdC1jb2x1bW4tcGFkZGluZy1sZWZ0OiAxOHB4IC8vIGRlZmF1bHRzIHRvIC0tY29sdW1uLWdhcFxuICogICAtLWxhc3QtY29sdW1uLXBhZGRpbmctcmlnaHQ6IDE4cHggLy8gZGVmYXVsdHMgdG8gLS1jb2x1bW4tZ2FwXG4gKlxuICogICBhdXAtdGFibGUtaGVhZGVyLWNlbGwtcmVuZGVyZXIsXG4gKiAgIGF1cC10YWJsZS1jZWxsLXJlbmRlcmVyIHtcbiAqICAgICAmLmF1cC1jb2wtbXktZGFzaGVyaXNlZC1jb2x1bW4taWQge1xuICogICAgICAgLy8gZG8gc3R1ZmZcbiAqICAgICB9XG4gKiAgICAgJi5maXJzdC12aXNpYmxlLWNvbHVtbiB7XG4gKiAgICAgICAvLyBkbyBzdHVmZlxuICogICAgIH1cbiAqICAgICAmLmxhc3QtdmlzaWJsZS1jb2x1bW4ge1xuICogICAgICAgLy8gZG8gc3R1ZmZcbiAqICAgICB9XG4gKiAgIH1cbiAqIH1cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLWFic3RyYWN0LXRhYmxlJyxcbiAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGNsYXNzIEFic3RyYWN0VGFibGVDb21wb25lbnQ8Um93PiBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIEBUcmFja0V4dGVybmFsKHsgZGVmYXVsdFZhbHVlOiB0cnVlIH0pXG4gIHNob3dIZWFkZXIkOiBWYWx1ZU1vZGVsPGJvb2xlYW4+O1xuXG4gIEBJbnB1dCgpXG4gIEBTdG9yZUluVmFsdWVNb2RlbChcInNob3dIZWFkZXIkXCIpXG4gIHNob3dIZWFkZXI6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNldCB0byB0cnVlIHRvIGVuYWJsZSBzY3JvbGxpbmcuICBPbmNlIGVuYWJsZWQgdGhlIHRhYmxlIHdpbGwgaGF2ZSAwIGltcGxpY2l0IGhlaWdodC4gIFlvdSB3aWxsIGVpdGhlclxuICAgKiBuZWVkIHRvIHNldCBpdCBleHBsaWNpdGx5IGUuZy4gaGVpZ2h0OiA0MDBweDsgb3IgYnkgdXNpbmcgZmxleCBvciBncmlkIGxheW91dCB0byBtYWtlIGl0IGZpbGwgaXQnc1xuICAgKiBjb250YWlubWVudCBhcmVhLlxuICAgKi9cbiAgQElucHV0KClcbiAgZW5hYmxlU2Nyb2xsaW5nID0gZmFsc2U7XG5cblxuICBjb2x1bW5zOiBMaXN0TW9kZWxDaGFpbjxDb2x1bW5Nb2RlbDxSb3c+PjtcbiAgY29sdW1uSWRzOiBMaXN0TW9kZWxDaGFpbjxzdHJpbmc+O1xuICBwcml2YXRlIGNvbHVtbnNCeUlkOiBNYXBNb2RlbENoYWluPHN0cmluZywgQ29sdW1uTW9kZWw8Um93Pj47XG5cbiAgcmVhZG9ubHkgdmlzaWJsZVJvd0NvdW50OiBWYWx1ZU1vZGVsPG51bWJlcj47XG5cblxuICAvLyBUT0RPOiBzdXBwb3J0IHVzZXIgZGVmaW5lZCBoZWFkZXIgYW5kIHJvdyBoZWlnaHRzIHZpYSBjc3MgdmFycy5cbiAgcHJpdmF0ZSByZWFkb25seSBoZWFkZXJIZWlnaHQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8bnVtYmVyPig1Nik7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm93SGVpZ2h0ID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPG51bWJlcj4oNDgpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBiYXNlQ3NzQ2xhc3MgPSAnYXVwLXRhYmxlLWNvbXBvbmVudCc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4sIHdoZW4gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5nZXRNb2RlbCgpLmluaXRpYWxpc2UodGhpcy5pbmplY3Rvcik7XG4gICAgdGhpcy5jb2x1bW5zQnlJZCA9IGNoYWluKHRoaXMuZ2V0TW9kZWwoKS5jb2x1bW5zKS5pbmRleEJ5KCdjb2x1bW5JZCcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldE1vZGVsKCk6IEFic3RyYWN0VGFibGVNb2RlbDxSb3c+IHtcbiAgICByZXR1cm4gbGFuZy5hYnN0cmFjdE1ldGhvZCh0aGlzLmNvbnN0cnVjdG9yKTtcbiAgfVxuXG4gIHJlZ2lzdGVyQ29sdW1uVGVtcGxhdGUoY29sdW1uSWQ6IHN0cmluZywgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsIGZpbGxDZWxsOiBib29sZWFuLCBwYWRDaGlsZDogYm9vbGVhbikge1xuICAgIGNvbnN0IGNvbHVtbiA9IHRoaXMuY29sdW1uc0J5SWQuZ2V0KGNvbHVtbklkKTtcbiAgICBpZiAoY29sdW1uIGluc3RhbmNlb2YgQ3VzdG9tVGVtcGxhdGVDb2x1bW5Nb2RlbCkge1xuICAgICAgY29sdW1uLnNldFRlbXBsYXRlKHRlbXBsYXRlUmVmLCB2aWV3Q29udGFpbmVyLCBmaWxsQ2VsbCwgcGFkQ2hpbGQpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,7 +1,7 @@
1
1
  import { assert } from "@coolon/typescript-utilities";
2
2
  import { isFunction } from "lodash";
3
3
  import { CellEditorPortalRef, ComponentCellRendererPortalRef } from "../renderer/cell-portal-ref";
4
- import { DefaultListCellRendererComponent } from "../renderer/default-list-cell-renderer/default-list-cell-renderer.component";
4
+ import { DefaultCellRendererComponent } from "../renderer/default-cell-renderer/default-cell-renderer.component";
5
5
  import { ColumnTextSearchFormatter } from "../search/column-text-search-formatter";
6
6
  import { EnableCellTextSearch } from "../search/enable-cell-text-search.decorator";
7
7
  import { ColumnModel } from "./column-model";
@@ -9,11 +9,11 @@ export class ListPropertyColumnModel extends ColumnModel {
9
9
  constructor(id, property, defaults) {
10
10
  super(id, defaults);
11
11
  this.property = property;
12
- this._format = (value) => value.map(v => v?.toString()).join(", ");
13
- this.cellRenderer(DefaultListCellRendererComponent);
12
+ this._format = (value) => value?.map(v => v?.toString()).join(", ");
13
+ this.cellRenderer(DefaultCellRendererComponent);
14
14
  }
15
15
  cellRenderer(componentType) {
16
- this.configureColumnTextSearch(EnableCellTextSearch.getFormatter(componentType, () => new ColumnTextSearchFormatter.DefaultArrayFormatter()), row => row[this.property]);
16
+ this.configureColumnTextSearch(EnableCellTextSearch.getFormatter(componentType, () => ColumnTextSearchFormatter.forFormatter(value => this._format(value))), row => row[this.property]);
17
17
  this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData) => {
18
18
  let rowElement = rowData.row[this.property];
19
19
  // @ts-ignore Started complaining in ts 4.5.. but I think my logic is correct...
@@ -45,4 +45,4 @@ export class ListPropertyColumnModel extends ColumnModel {
45
45
  return this._selectRowOnClick(selectRowOnClick);
46
46
  }
47
47
  }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wcm9wZXJ5LWNvbHVtbi1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL2NvbHVtbi9saXN0LXByb3BlcnktY29sdW1uLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBR3BDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBR2xHLE9BQU8sRUFDTCxnQ0FBZ0MsRUFDakMsTUFBTSw2RUFBNkUsQ0FBQztBQUNyRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsTUFBTSxPQUFPLHVCQUFxRSxTQUFRLFdBQWdCO0lBSXhHLFlBQVksRUFBVSxFQUFXLFFBQVcsRUFBRSxRQUE0QztRQUN4RixLQUFLLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRFcsYUFBUSxHQUFSLFFBQVEsQ0FBRztRQUZwQyxZQUFPLEdBQXFELENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBSXRILElBQUksQ0FBQyxZQUFZLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsWUFBWSxDQUFDLGFBQTRFO1FBQ3ZGLElBQUksQ0FBQyx5QkFBeUIsQ0FDNUIsb0JBQW9CLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLHlCQUF5QixDQUFDLHFCQUFxQixFQUFFLENBQUMsRUFDN0csR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUMxQixDQUFDO1FBQ0YsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksOEJBQThCLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ2xHLElBQUksVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzVDLGdGQUFnRjtZQUNoRixTQUFTLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNKLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUlELFVBQVUsQ0FBb0UsTUFBd0IsRUFBRSx1QkFBa0csRUFBRSxtQkFBNEM7UUFDdFAsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2hHLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUM7UUFFeEcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksbUJBQW1CLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBWSxFQUFFLFdBQTZCLEVBQUUsRUFBRTtZQUN2RyxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDaEUsSUFBSSxVQUFVLEVBQUU7Z0JBQ2QsYUFBYSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN6QztZQUNELFNBQVMsQ0FBQyxTQUFTLEdBQUcsYUFBYSxDQUFDO1lBQ3BDLElBQUksV0FBVyxFQUFFO2dCQUNmLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUN4QjtRQUNILENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDSixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBMkQ7UUFDaEUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxnQkFBeUI7UUFDL0MsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNsRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQgeyBUeXBlcywgVmFsaWRhdG9yIH0gZnJvbSBcIkBjb29sb24vcGVjdGluXCI7XG5pbXBvcnQgeyBhc3NlcnQgfSBmcm9tIFwiQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllc1wiO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gXCJsb2Rhc2hcIjtcbmltcG9ydCB7IEVkaXRTZXNzaW9uIH0gZnJvbSBcIi4uL2VkaXRvci9lZGl0LXNlc3Npb25cIjtcbmltcG9ydCB7IENlbGxMaXN0RWRpdG9yQ29tcG9uZW50IH0gZnJvbSBcIi4uL3JlbmRlcmVyL2NlbGwtZWRpdG9yc1wiO1xuaW1wb3J0IHsgQ2VsbEVkaXRvclBvcnRhbFJlZiwgQ29tcG9uZW50Q2VsbFJlbmRlcmVyUG9ydGFsUmVmIH0gZnJvbSBcIi4uL3JlbmRlcmVyL2NlbGwtcG9ydGFsLXJlZlwiO1xuaW1wb3J0IHsgQ2VsbFJlbmRlcmVyIH0gZnJvbSBcIi4uL3JlbmRlcmVyL2NlbGwtcmVuZGVyZXJcIjtcbmltcG9ydCB7IERlZmF1bHRDZWxsUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vcmVuZGVyZXIvZGVmYXVsdC1jZWxsLXJlbmRlcmVyL2RlZmF1bHQtY2VsbC1yZW5kZXJlci5jb21wb25lbnRcIjtcbmltcG9ydCB7XG4gIERlZmF1bHRMaXN0Q2VsbFJlbmRlcmVyQ29tcG9uZW50XG59IGZyb20gXCIuLi9yZW5kZXJlci9kZWZhdWx0LWxpc3QtY2VsbC1yZW5kZXJlci9kZWZhdWx0LWxpc3QtY2VsbC1yZW5kZXJlci5jb21wb25lbnRcIjtcbmltcG9ydCB7IENvbHVtblRleHRTZWFyY2hGb3JtYXR0ZXIgfSBmcm9tIFwiLi4vc2VhcmNoL2NvbHVtbi10ZXh0LXNlYXJjaC1mb3JtYXR0ZXJcIjtcbmltcG9ydCB7IEVuYWJsZUNlbGxUZXh0U2VhcmNoIH0gZnJvbSBcIi4uL3NlYXJjaC9lbmFibGUtY2VsbC10ZXh0LXNlYXJjaC5kZWNvcmF0b3JcIjtcbmltcG9ydCB7IENvbHVtbk1vZGVsIH0gZnJvbSBcIi4vY29sdW1uLW1vZGVsXCI7XG5cbmV4cG9ydCBjbGFzcyBMaXN0UHJvcGVydHlDb2x1bW5Nb2RlbDxSb3csIFAgZXh0ZW5kcyBUeXBlcy5BcnJheVByb3BlcnRpZXNPZjxSb3c+PiBleHRlbmRzIENvbHVtbk1vZGVsPFJvdz4ge1xuXG4gIHByaXZhdGUgX2Zvcm1hdDogKHZhbHVlOiBUeXBlcy5BcnJheUVsZW1lbnRUeXBlPFJvdywgUD5bXSkgPT4gYW55ID0gKHZhbHVlKSA9PiB2YWx1ZS5tYXAodiA9PiB2Py50b1N0cmluZygpKS5qb2luKFwiLCBcIik7XG5cbiAgY29uc3RydWN0b3IoaWQ6IHN0cmluZywgcmVhZG9ubHkgcHJvcGVydHk6IFAsIGRlZmF1bHRzOiBDb2x1bW5Nb2RlbC5UZXh0UHJvcGVydGllc1Byb3ZpZGVyKSB7XG4gICAgc3VwZXIoaWQsIGRlZmF1bHRzKTtcbiAgICB0aGlzLmNlbGxSZW5kZXJlcihEZWZhdWx0TGlzdENlbGxSZW5kZXJlckNvbXBvbmVudCk7XG4gIH1cblxuICBjZWxsUmVuZGVyZXIoY29tcG9uZW50VHlwZTogQ29tcG9uZW50VHlwZTxDZWxsUmVuZGVyZXI8VHlwZXMuQXJyYXlFbGVtZW50VHlwZTxSb3csIFA+W10+Pik6IHRoaXMge1xuICAgIHRoaXMuY29uZmlndXJlQ29sdW1uVGV4dFNlYXJjaChcbiAgICAgIEVuYWJsZUNlbGxUZXh0U2VhcmNoLmdldEZvcm1hdHRlcihjb21wb25lbnRUeXBlLCAoKSA9PiBuZXcgQ29sdW1uVGV4dFNlYXJjaEZvcm1hdHRlci5EZWZhdWx0QXJyYXlGb3JtYXR0ZXIoKSksXG4gICAgICByb3cgPT4gcm93W3RoaXMucHJvcGVydHldXG4gICAgKTtcbiAgICB0aGlzLmNvbmZpZ3VyZUNlbGxSZW5kZXJlcihuZXcgQ29tcG9uZW50Q2VsbFJlbmRlcmVyUG9ydGFsUmVmKGNvbXBvbmVudFR5cGUsIChjb21wb25lbnQsIHJvd0RhdGEpID0+IHtcbiAgICAgIGxldCByb3dFbGVtZW50ID0gcm93RGF0YS5yb3dbdGhpcy5wcm9wZXJ0eV07XG4gICAgICAvLyBAdHMtaWdub3JlIFN0YXJ0ZWQgY29tcGxhaW5pbmcgaW4gdHMgNC41Li4gYnV0IEkgdGhpbmsgbXkgbG9naWMgaXMgY29ycmVjdC4uLlxuICAgICAgY29tcG9uZW50LnZhbHVlID0gdGhpcy5fZm9ybWF0KHJvd0VsZW1lbnQpO1xuICAgIH0pKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGNlbGxFZGl0b3I8QyBleHRlbmRzIENlbGxMaXN0RWRpdG9yQ29tcG9uZW50PFR5cGVzLkFycmF5RWxlbWVudFR5cGU8Um93LCBQPj4+KGVkaXRvcjogQ29tcG9uZW50VHlwZTxDPiwgdmFsaWRhdG9ycz86IFZhbGlkYXRvcjxUeXBlcy5BcnJheUVsZW1lbnRUeXBlPFJvdywgUD5bXT5bXSwgaW5pdGlhbGlzZUNvbXBvbmVudD86IChjb21wb25lbnQ6IEMpID0+IHZvaWQpOiB0aGlzXG4gIGNlbGxFZGl0b3I8QyBleHRlbmRzIENlbGxMaXN0RWRpdG9yQ29tcG9uZW50PFR5cGVzLkFycmF5RWxlbWVudFR5cGU8Um93LCBQPj4+KGVkaXRvcjogQ29tcG9uZW50VHlwZTxDPiwgaW5pdGlhbGlzZUNvbXBvbmVudD86IChjb21wb25lbnQ6IEMpID0+IHZvaWQpOiB0aGlzXG4gIGNlbGxFZGl0b3I8QyBleHRlbmRzIENlbGxMaXN0RWRpdG9yQ29tcG9uZW50PFR5cGVzLkFycmF5RWxlbWVudFR5cGU8Um93LCBQPj4+KGVkaXRvcjogQ29tcG9uZW50VHlwZTxDPiwgdmFsaWRhdG9yc09ySW5pdGlhbGlzZXI/OiBWYWxpZGF0b3I8VHlwZXMuQXJyYXlFbGVtZW50VHlwZTxSb3csIFA+W10+W10gfCAoKGNvbXBvbmVudDogQykgPT4gdm9pZCksIGluaXRpYWxpc2VDb21wb25lbnQ/OiAoY29tcG9uZW50OiBDKSA9PiB2b2lkKTogdGhpcyB7XG4gICAgY29uc3QgdmFsaWRhdG9ycyA9IEFycmF5LmlzQXJyYXkodmFsaWRhdG9yc09ySW5pdGlhbGlzZXIpID8gdmFsaWRhdG9yc09ySW5pdGlhbGlzZXIgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgaW5pdGlhbGlzZXIgPSBpc0Z1bmN0aW9uKHZhbGlkYXRvcnNPckluaXRpYWxpc2VyKSA/IHZhbGlkYXRvcnNPckluaXRpYWxpc2VyIDogaW5pdGlhbGlzZUNvbXBvbmVudDtcblxuICAgIHRoaXMuY29uZmlndXJlQ2VsbEVkaXRvcihuZXcgQ2VsbEVkaXRvclBvcnRhbFJlZihlZGl0b3IsIChjb21wb25lbnQ6IEMsIGVkaXRTZXNzaW9uOiBFZGl0U2Vzc2lvbjxSb3c+KSA9PiB7XG4gICAgICBjb25zdCBmb3JtTGlzdE1vZGVsID0gZWRpdFNlc3Npb24uZm9ybS5wbHVja0xpc3QodGhpcy5wcm9wZXJ0eSk7XG4gICAgICBpZiAodmFsaWRhdG9ycykge1xuICAgICAgICBmb3JtTGlzdE1vZGVsLnZhbGlkYXRlVXNpbmcodmFsaWRhdG9ycyk7XG4gICAgICB9XG4gICAgICBjb21wb25lbnQubGlzdE1vZGVsID0gZm9ybUxpc3RNb2RlbDtcbiAgICAgIGlmIChpbml0aWFsaXNlcikge1xuICAgICAgICBpbml0aWFsaXNlcihjb21wb25lbnQpO1xuICAgICAgfVxuICAgIH0pKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGZvcm1hdChmb3JtYXR0ZXI6ICh2YWx1ZTogVHlwZXMuQXJyYXlFbGVtZW50VHlwZTxSb3csIFA+W10pID0+IGFueSk6IHRoaXMge1xuICAgIGFzc2VydC5pc0Z1bmN0aW9uKGZvcm1hdHRlcik7XG4gICAgdGhpcy5fZm9ybWF0ID0gZm9ybWF0dGVyO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdFJvd09uQ2xpY2soc2VsZWN0Um93T25DbGljazogYm9vbGVhbik6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RSb3dPbkNsaWNrKHNlbGVjdFJvd09uQ2xpY2spO1xuICB9XG59XG4iXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wcm9wZXJ5LWNvbHVtbi1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL2NvbHVtbi9saXN0LXByb3BlcnktY29sdW1uLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBR3BDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWxHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBQ2pILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxNQUFNLE9BQU8sdUJBQXFFLFNBQVEsV0FBZ0I7SUFJeEcsWUFBWSxFQUFVLEVBQVcsUUFBVyxFQUFFLFFBQTRDO1FBQ3hGLEtBQUssQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFEVyxhQUFRLEdBQVIsUUFBUSxDQUFHO1FBRnBDLFlBQU8sR0FBcUQsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFJdkgsSUFBSSxDQUFDLFlBQVksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxZQUFZLENBQUMsYUFBNEU7UUFDdkYsSUFBSSxDQUFDLHlCQUF5QixDQUM1QixvQkFBb0IsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUM1SCxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQzFCLENBQUM7UUFDRixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSw4QkFBOEIsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDbEcsSUFBSSxVQUFVLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDNUMsZ0ZBQWdGO1lBQ2hGLFNBQVMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ0osT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBSUQsVUFBVSxDQUFvRSxNQUF3QixFQUFFLHVCQUFrRyxFQUFFLG1CQUE0QztRQUN0UCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDaEcsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztRQUV4RyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFZLEVBQUUsV0FBNkIsRUFBRSxFQUFFO1lBQ3ZHLE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoRSxJQUFJLFVBQVUsRUFBRTtnQkFDZCxhQUFhLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3pDO1lBQ0QsU0FBUyxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUM7WUFDcEMsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3hCO1FBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNKLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUEyRDtRQUNoRSxNQUFNLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGdCQUFnQixDQUFDLGdCQUF5QjtRQUMvQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcbmltcG9ydCB7IFR5cGVzLCBWYWxpZGF0b3IgfSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCB7IGFzc2VydCB9IGZyb20gXCJAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzXCI7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSBcImxvZGFzaFwiO1xuaW1wb3J0IHsgRWRpdFNlc3Npb24gfSBmcm9tIFwiLi4vZWRpdG9yL2VkaXQtc2Vzc2lvblwiO1xuaW1wb3J0IHsgQ2VsbExpc3RFZGl0b3JDb21wb25lbnQgfSBmcm9tIFwiLi4vcmVuZGVyZXIvY2VsbC1lZGl0b3JzXCI7XG5pbXBvcnQgeyBDZWxsRWRpdG9yUG9ydGFsUmVmLCBDb21wb25lbnRDZWxsUmVuZGVyZXJQb3J0YWxSZWYgfSBmcm9tIFwiLi4vcmVuZGVyZXIvY2VsbC1wb3J0YWwtcmVmXCI7XG5pbXBvcnQgeyBDZWxsUmVuZGVyZXIgfSBmcm9tIFwiLi4vcmVuZGVyZXIvY2VsbC1yZW5kZXJlclwiO1xuaW1wb3J0IHsgRGVmYXVsdENlbGxSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gXCIuLi9yZW5kZXJlci9kZWZhdWx0LWNlbGwtcmVuZGVyZXIvZGVmYXVsdC1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ29sdW1uVGV4dFNlYXJjaEZvcm1hdHRlciB9IGZyb20gXCIuLi9zZWFyY2gvY29sdW1uLXRleHQtc2VhcmNoLWZvcm1hdHRlclwiO1xuaW1wb3J0IHsgRW5hYmxlQ2VsbFRleHRTZWFyY2ggfSBmcm9tIFwiLi4vc2VhcmNoL2VuYWJsZS1jZWxsLXRleHQtc2VhcmNoLmRlY29yYXRvclwiO1xuaW1wb3J0IHsgQ29sdW1uTW9kZWwgfSBmcm9tIFwiLi9jb2x1bW4tbW9kZWxcIjtcblxuZXhwb3J0IGNsYXNzIExpc3RQcm9wZXJ0eUNvbHVtbk1vZGVsPFJvdywgUCBleHRlbmRzIFR5cGVzLkFycmF5UHJvcGVydGllc09mPFJvdz4+IGV4dGVuZHMgQ29sdW1uTW9kZWw8Um93PiB7XG5cbiAgcHJpdmF0ZSBfZm9ybWF0OiAodmFsdWU6IFR5cGVzLkFycmF5RWxlbWVudFR5cGU8Um93LCBQPltdKSA9PiBhbnkgPSAodmFsdWUpID0+IHZhbHVlPy5tYXAodiA9PiB2Py50b1N0cmluZygpKS5qb2luKFwiLCBcIik7XG5cbiAgY29uc3RydWN0b3IoaWQ6IHN0cmluZywgcmVhZG9ubHkgcHJvcGVydHk6IFAsIGRlZmF1bHRzOiBDb2x1bW5Nb2RlbC5UZXh0UHJvcGVydGllc1Byb3ZpZGVyKSB7XG4gICAgc3VwZXIoaWQsIGRlZmF1bHRzKTtcbiAgICB0aGlzLmNlbGxSZW5kZXJlcihEZWZhdWx0Q2VsbFJlbmRlcmVyQ29tcG9uZW50KTtcbiAgfVxuXG4gIGNlbGxSZW5kZXJlcihjb21wb25lbnRUeXBlOiBDb21wb25lbnRUeXBlPENlbGxSZW5kZXJlcjxUeXBlcy5BcnJheUVsZW1lbnRUeXBlPFJvdywgUD5bXT4+KTogdGhpcyB7XG4gICAgdGhpcy5jb25maWd1cmVDb2x1bW5UZXh0U2VhcmNoKFxuICAgICAgRW5hYmxlQ2VsbFRleHRTZWFyY2guZ2V0Rm9ybWF0dGVyKGNvbXBvbmVudFR5cGUsICgpID0+IENvbHVtblRleHRTZWFyY2hGb3JtYXR0ZXIuZm9yRm9ybWF0dGVyKHZhbHVlID0+IHRoaXMuX2Zvcm1hdCh2YWx1ZSkpKSxcbiAgICAgIHJvdyA9PiByb3dbdGhpcy5wcm9wZXJ0eV1cbiAgICApO1xuICAgIHRoaXMuY29uZmlndXJlQ2VsbFJlbmRlcmVyKG5ldyBDb21wb25lbnRDZWxsUmVuZGVyZXJQb3J0YWxSZWYoY29tcG9uZW50VHlwZSwgKGNvbXBvbmVudCwgcm93RGF0YSkgPT4ge1xuICAgICAgbGV0IHJvd0VsZW1lbnQgPSByb3dEYXRhLnJvd1t0aGlzLnByb3BlcnR5XTtcbiAgICAgIC8vIEB0cy1pZ25vcmUgU3RhcnRlZCBjb21wbGFpbmluZyBpbiB0cyA0LjUuLiBidXQgSSB0aGluayBteSBsb2dpYyBpcyBjb3JyZWN0Li4uXG4gICAgICBjb21wb25lbnQudmFsdWUgPSB0aGlzLl9mb3JtYXQocm93RWxlbWVudCk7XG4gICAgfSkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgY2VsbEVkaXRvcjxDIGV4dGVuZHMgQ2VsbExpc3RFZGl0b3JDb21wb25lbnQ8VHlwZXMuQXJyYXlFbGVtZW50VHlwZTxSb3csIFA+Pj4oZWRpdG9yOiBDb21wb25lbnRUeXBlPEM+LCB2YWxpZGF0b3JzPzogVmFsaWRhdG9yPFR5cGVzLkFycmF5RWxlbWVudFR5cGU8Um93LCBQPltdPltdLCBpbml0aWFsaXNlQ29tcG9uZW50PzogKGNvbXBvbmVudDogQykgPT4gdm9pZCk6IHRoaXNcbiAgY2VsbEVkaXRvcjxDIGV4dGVuZHMgQ2VsbExpc3RFZGl0b3JDb21wb25lbnQ8VHlwZXMuQXJyYXlFbGVtZW50VHlwZTxSb3csIFA+Pj4oZWRpdG9yOiBDb21wb25lbnRUeXBlPEM+LCBpbml0aWFsaXNlQ29tcG9uZW50PzogKGNvbXBvbmVudDogQykgPT4gdm9pZCk6IHRoaXNcbiAgY2VsbEVkaXRvcjxDIGV4dGVuZHMgQ2VsbExpc3RFZGl0b3JDb21wb25lbnQ8VHlwZXMuQXJyYXlFbGVtZW50VHlwZTxSb3csIFA+Pj4oZWRpdG9yOiBDb21wb25lbnRUeXBlPEM+LCB2YWxpZGF0b3JzT3JJbml0aWFsaXNlcj86IFZhbGlkYXRvcjxUeXBlcy5BcnJheUVsZW1lbnRUeXBlPFJvdywgUD5bXT5bXSB8ICgoY29tcG9uZW50OiBDKSA9PiB2b2lkKSwgaW5pdGlhbGlzZUNvbXBvbmVudD86IChjb21wb25lbnQ6IEMpID0+IHZvaWQpOiB0aGlzIHtcbiAgICBjb25zdCB2YWxpZGF0b3JzID0gQXJyYXkuaXNBcnJheSh2YWxpZGF0b3JzT3JJbml0aWFsaXNlcikgPyB2YWxpZGF0b3JzT3JJbml0aWFsaXNlciA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBpbml0aWFsaXNlciA9IGlzRnVuY3Rpb24odmFsaWRhdG9yc09ySW5pdGlhbGlzZXIpID8gdmFsaWRhdG9yc09ySW5pdGlhbGlzZXIgOiBpbml0aWFsaXNlQ29tcG9uZW50O1xuXG4gICAgdGhpcy5jb25maWd1cmVDZWxsRWRpdG9yKG5ldyBDZWxsRWRpdG9yUG9ydGFsUmVmKGVkaXRvciwgKGNvbXBvbmVudDogQywgZWRpdFNlc3Npb246IEVkaXRTZXNzaW9uPFJvdz4pID0+IHtcbiAgICAgIGNvbnN0IGZvcm1MaXN0TW9kZWwgPSBlZGl0U2Vzc2lvbi5mb3JtLnBsdWNrTGlzdCh0aGlzLnByb3BlcnR5KTtcbiAgICAgIGlmICh2YWxpZGF0b3JzKSB7XG4gICAgICAgIGZvcm1MaXN0TW9kZWwudmFsaWRhdGVVc2luZyh2YWxpZGF0b3JzKTtcbiAgICAgIH1cbiAgICAgIGNvbXBvbmVudC5saXN0TW9kZWwgPSBmb3JtTGlzdE1vZGVsO1xuICAgICAgaWYgKGluaXRpYWxpc2VyKSB7XG4gICAgICAgIGluaXRpYWxpc2VyKGNvbXBvbmVudCk7XG4gICAgICB9XG4gICAgfSkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZm9ybWF0KGZvcm1hdHRlcjogKHZhbHVlOiBUeXBlcy5BcnJheUVsZW1lbnRUeXBlPFJvdywgUD5bXSkgPT4gYW55KTogdGhpcyB7XG4gICAgYXNzZXJ0LmlzRnVuY3Rpb24oZm9ybWF0dGVyKTtcbiAgICB0aGlzLl9mb3JtYXQgPSBmb3JtYXR0ZXI7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0Um93T25DbGljayhzZWxlY3RSb3dPbkNsaWNrOiBib29sZWFuKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdFJvd09uQ2xpY2soc2VsZWN0Um93T25DbGljayk7XG4gIH1cbn1cbiJdfQ==
@@ -13,7 +13,7 @@ export class PropertyColumnModel extends ColumnModel {
13
13
  this.cellRenderer(DefaultCellRendererComponent);
14
14
  }
15
15
  cellRenderer(componentType, onComponentInitOrOptions) {
16
- this.configureColumnTextSearch(EnableCellTextSearch.getFormatter(componentType, () => new ColumnTextSearchFormatter.DefaultValueFormatter()), row => row[this.property]);
16
+ this.configureColumnTextSearch(EnableCellTextSearch.getFormatter(componentType, () => ColumnTextSearchFormatter.forFormatter(value => this._format(value))), row => row[this.property]);
17
17
  this.configureCellRenderer(new ComponentCellRendererPortalRef(componentType, (component, rowData, firstTime) => {
18
18
  if (firstTime) {
19
19
  if (isFunction(onComponentInitOrOptions)) {
@@ -89,4 +89,4 @@ export class PropertyColumnModel extends ColumnModel {
89
89
  return this._selectRowOnClick(selectOnRowClick);
90
90
  }
91
91
  }
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktY29sdW1uLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvY29sdW1uL3Byb3BlcnR5LWNvbHVtbi1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUlwQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVsRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUNqSCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNuRixPQUFPLEVBQXVCLFdBQVcsRUFBK0MsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRyxNQUFNLE9BQU8sbUJBQWlFLFNBQVEsV0FBZ0I7SUFJcEcsWUFBWSxFQUFVLEVBQVcsUUFBVyxFQUFFLFFBQTRDO1FBQ3hGLEtBQUssQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFEVyxhQUFRLEdBQVIsUUFBUSxDQUFHO1FBRnBDLFlBQU8sR0FBMkIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUlyRSxJQUFJLENBQUMsWUFBWSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUlELFlBQVksQ0FBaUMsYUFBK0IsRUFBRSx3QkFBMkU7UUFDdkosSUFBSSxDQUFDLHlCQUF5QixDQUM1QixvQkFBb0IsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUks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QyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDO1FBQ3BHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVksRUFBRSxXQUE2QixFQUFFLEVBQUU7WUFDdkcsTUFBTSxjQUFjLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdELElBQUksVUFBVSxFQUFFO2dCQUNkLGNBQWMsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDMUM7WUFDRCxTQUFTLENBQUMsVUFBVSxHQUFHLGNBQWMsQ0FBQztZQUN0QyxJQUFJLFdBQVcsRUFBRTtnQkFDZixXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDeEI7UUFDSCxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ0osT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQWlDO1FBQ3RDLE1BQU0sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsZ0JBQXlCO1FBQy9DLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbEQsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgVHlwZXMsIFZhbGlkYXRvciB9IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSBcIkBjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXNcIjtcbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQgeyBFZGl0U2Vzc2lvbiB9IGZyb20gXCIuLi9lZGl0b3IvZWRpdC1zZXNzaW9uXCI7XG5pbXBvcnQgeyBFZGl0YWJsZUNlbGxSZW5kZXJlciB9IGZyb20gXCIuLi9lZGl0b3IvZWRpdGFibGUtY2VsbC1yZW5kZXJlclwiO1xuaW1wb3J0IHsgQ2VsbEVkaXRvckNvbXBvbmVudCB9IGZyb20gXCIuLi9yZW5kZXJlci9jZWxsLWVkaXRvcnNcIjtcbmltcG9ydCB7IENlbGxFZGl0b3JQb3J0YWxSZWYsIENvbXBvbmVudENlbGxSZW5kZXJlclBvcnRhbFJlZiB9IGZyb20gXCIuLi9yZW5kZXJlci9jZWxsLXBvcnRhbC1yZWZcIjtcbmltcG9ydCB7IENlbGxSZW5kZXJlciB9IGZyb20gXCIuLi9yZW5kZXJlci9jZWxsLXJlbmRlcmVyXCI7XG5pbXBvcnQgeyBEZWZhdWx0Q2VsbFJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSBcIi4uL3JlbmRlcmVyL2RlZmF1bHQtY2VsbC1yZW5kZXJlci9kZWZhdWx0LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDb2x1bW5UZXh0U2VhcmNoRm9ybWF0dGVyIH0gZnJvbSBcIi4uL3NlYXJjaC9jb2x1bW4tdGV4dC1zZWFyY2gtZm9ybWF0dGVyXCI7XG5pbXBvcnQgeyBFbmFibGVDZWxsVGV4dFNlYXJjaCB9IGZyb20gXCIuLi9zZWFyY2gvZW5hYmxlLWNlbGwtdGV4dC1zZWFyY2guZGVjb3JhdG9yXCI7XG5pbXBvcnQgeyBDZWxsUmVuZGVyZXJPcHRpb25zLCBDb2x1bW5Nb2RlbCwgTXV0YWJsZUNlbGxSZW5kZXJlck9wdGlvbnMsIE9uQ29tcG9uZW50SW5pdCB9IGZyb20gXCIuL2NvbHVtbi1tb2RlbFwiO1xuXG5leHBvcnQgY2xhc3MgUHJvcGVydHlDb2x1bW5Nb2RlbDxSb3csIFAgZXh0ZW5kcyBUeXBlcy5WYWx1ZVByb3BlcnRpZXNPZjxSb3c+PiBleHRlbmRzIENvbHVtbk1vZGVsPFJvdz4ge1xuXG4gIHByaXZhdGUgX2Zvcm1hdDogKHZhbHVlOiBSb3dbUF0pID0+IGFueSA9ICh2YWx1ZSkgPT4gdmFsdWU/LnRvU3RyaW5nKCk7XG5cbiAgY29uc3RydWN0b3IoaWQ6IHN0cmluZywgcmVhZG9ubHkgcHJvcGVydHk6IFAsIGRlZmF1bHRzOiBDb2x1bW5Nb2RlbC5UZXh0UHJvcGVydGllc1Byb3ZpZGVyKSB7XG4gICAgc3VwZXIoaWQsIGRlZmF1bHRzKTtcbiAgICB0aGlzLmNlbGxSZW5kZXJlcihEZWZhdWx0Q2VsbFJlbmRlcmVyQ29tcG9uZW50KTtcbiAgfVxuXG4gIGNlbGxSZW5kZXJlcjxFIGV4dGVuZHMgQ2VsbFJlbmRlcmVyPFJvd1tQXT4+KGNvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGU8RT4sIG9wdGlvbnM/OiBDZWxsUmVuZGVyZXJPcHRpb25zPFJvdywgRT4pOiB0aGlzXG4gIGNlbGxSZW5kZXJlcjxFIGV4dGVuZHMgQ2VsbFJlbmRlcmVyPFJvd1tQXT4+KGNvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGU8RT4sIG9uQ29tcG9uZW50SW5pdD86IE9uQ29tcG9uZW50SW5pdDxFPik6IHRoaXNcbiAgY2VsbFJlbmRlcmVyPEUgZXh0ZW5kcyBDZWxsUmVuZGVyZXI8Um93W1BdPj4oY29tcG9uZW50VHlwZTogQ29tcG9uZW50VHlwZTxFPiwgb25Db21wb25lbnRJbml0T3JPcHRpb25zPzogQ2VsbFJlbmRlcmVyT3B0aW9uczxSb3csIEU+IHwgT25Db21wb25lbnRJbml0PEU+KTogdGhpcyB7XG4gICAgdGhpcy5jb25maWd1cmVDb2x1bW5UZXh0U2VhcmNoKFxuICAgICAgRW5hYmxlQ2VsbFRleHRTZWFyY2guZ2V0Rm9ybWF0dGVyKGNvbXBvbmVudFR5cGUsICgpID0+IG5ldyBDb2x1bW5UZXh0U2VhcmNoRm9ybWF0dGVyLkRlZmF1bHRWYWx1ZUZvcm1hdHRlcigpKSxcbiAgICAgIHJvdyA9PiByb3dbdGhpcy5wcm9wZXJ0eV1cbiAgICApO1xuICAgIHRoaXMuY29uZmlndXJlQ2VsbFJlbmRlcmVyKG5ldyBDb21wb25lbnRDZWxsUmVuZGVyZXJQb3J0YWxSZWYoY29tcG9uZW50VHlwZSwgKGNvbXBvbmVudCwgcm93RGF0YSwgZmlyc3RUaW1lKSA9PiB7XG4gICAgICBpZiAoZmlyc3RUaW1lKSB7XG4gICAgICAgIGlmIChpc0Z1bmN0aW9uKG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucykpIHtcbiAgICAgICAgICBvbkNvbXBvbmVudEluaXRPck9wdGlvbnMoY29tcG9uZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoaXNGdW5jdGlvbihvbkNvbXBvbmVudEluaXRPck9wdGlvbnM/Lm9uQ29tcG9uZW50SW5pdCkpIHtcbiAgICAgICAgICAgIG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucy5vbkNvbXBvbmVudEluaXQoY29tcG9uZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbXBvbmVudC52YWx1ZSA9IHRoaXMuX2Zvcm1hdChyb3dEYXRhLnJvd1t0aGlzLnByb3BlcnR5XSk7XG4gICAgfSkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgbGl2ZUVkaXRDZWxsUmVuZGVyZXI8RSBleHRlbmRzIEVkaXRhYmxlQ2VsbFJlbmRlcmVyPFJvd1tQXT4+KGNvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGU8RT4sIG9wdGlvbnM6IE11dGFibGVDZWxsUmVuZGVyZXJPcHRpb25zPFJvdywgRSwgUD4pOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5tdXRhYmxlQ2VsbFJlbmRlcmVyKGNvbXBvbmVudFR5cGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlcHJlY2F0ZWQuICBVc2UgI2xpdmVFZGl0Q2VsbFJlbmRlcmVyIGluc3RlYWQuXG4gICAqIEBwYXJhbSBjb21wb25lbnRUeXBlXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqL1xuICBtdXRhYmxlQ2VsbFJlbmRlcmVyPEUgZXh0ZW5kcyBFZGl0YWJsZUNlbGxSZW5kZXJlcjxSb3dbUF0+Pihjb21wb25lbnRUeXBlOiBDb21wb25lbnRUeXBlPEU+LCBvcHRpb25zOiBNdXRhYmxlQ2VsbFJlbmRlcmVyT3B0aW9uczxSb3csIEUsIFA+KTogdGhpcyB7XG5cbiAgICB0aGlzLmNvbmZpZ3VyZUNlbGxSZW5kZXJlcihuZXcgQ29tcG9uZW50Q2VsbFJlbmRlcmVyUG9ydGFsUmVmKGNvbXBvbmVudFR5cGUsIChjb21wb25lbnQsIHJvd0RhdGEsIGZpcnN0VGltZSkgPT4ge1xuXG4gICAgICAvLyBrZWVwIGEgbG9jYWwgY29weSBtb3N0IHJlY2VudCByb3cgdmFsdWUgc28gaXQncyBhdmFpbGFibGUgdG8gdGVoXG4gICAgICAvLyBlZGl0IGNhbGxiYWNrIHdpdGhvdXQgaGF2aW5nIHRvIGFkZC9yZW1vdmUgc3Vic2NyaWJlcnMgYWxsIHRoZSB0aW1lLlxuICAgICAgY29tcG9uZW50W0NvbHVtbk1vZGVsLkNFTExfUkVOREVSRVJfQ09NUE9ORU5UX1JPV19DQUNIRV0gPSByb3dEYXRhLnJvdztcbiAgICAgIGxldCBkaXNhYmxlRWRpdENhbGxiYWNrID0gZmFsc2U7XG5cbiAgICAgIGlmIChmaXJzdFRpbWUpIHtcbiAgICAgICAgaWYgKGlzRnVuY3Rpb24ob3B0aW9ucz8ub25Db21wb25lbnRJbml0KSkge1xuICAgICAgICAgIG9wdGlvbnMub25Db21wb25lbnRJbml0KGNvbXBvbmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gaW5zdGFsbCBvdXIgZWRpdCBjYWxsYmFja1xuICAgICAgICBjb21wb25lbnQub25WYWx1ZUVkaXRlZCgoaXMsIHdhcykgPT4ge1xuICAgICAgICAgIGlmICghZGlzYWJsZUVkaXRDYWxsYmFjaykge1xuICAgICAgICAgICAgb3B0aW9ucy5vblZhbHVlRWRpdChjb21wb25lbnRbQ29sdW1uTW9kZWwuQ0VMTF9SRU5ERVJFUl9DT01QT05FTlRfUk9XX0NBQ0hFXSwgaXMsIHdhcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgfVxuXG4gICAgICAvLyBub3cgcHVzaCB0aGUgdmFsdWUgdGhlIGNvbXBvbmVudCBhbmQgZGlzYWJsZSB0aGUgY2FsbGJhY2sganVzdCBpbmNhc2UgdGhlIGNvbXBvbmVudCBtaXNiZWhhdmVzXG4gICAgICAvLyBhbmQgZmlyZXMgYSB2YWx1ZSBjaGFuZ2UgZHVyaW5nIHRoZSBvcGVyYXRpb24uXG4gICAgICBkaXNhYmxlRWRpdENhbGxiYWNrID0gdHJ1ZTtcbiAgICAgIGNvbXBvbmVudC52YWx1ZSA9IHJvd0RhdGEucm93W3RoaXMucHJvcGVydHldO1xuICAgICAgZGlzYWJsZUVkaXRDYWxsYmFjayA9IGZhbHNlO1xuXG4gICAgICBpZiAoIWlzRnVuY3Rpb24ob3B0aW9ucykgJiYgaXNGdW5jdGlvbihvcHRpb25zPy5vblJvd1VwZGF0ZSkpIHtcbiAgICAgICAgb3B0aW9ucy5vblJvd1VwZGF0ZShjb21wb25lbnQsIHJvd0RhdGEucm93KTtcbiAgICAgIH1cblxuICAgIH0pKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGNlbGxFZGl0b3I8RSBleHRlbmRzIENlbGxFZGl0b3JDb21wb25lbnQ8Um93W1BdPj4oZWRpdG9yOiBDb21wb25lbnRUeXBlPEU+LCB2YWxpZGF0b3JzPzogVmFsaWRhdG9yPFJvd1tQXT5bXSwgaW5pdGlhbGlzZUNvbXBvbmVudD86IChjb21wb25lbnQ6IEUpID0+IHZvaWQpOiB0aGlzXG4gIGNlbGxFZGl0b3I8RSBleHRlbmRzIENlbGxFZGl0b3JDb21wb25lbnQ8Um93W1BdPj4oZWRpdG9yOiBDb21wb25lbnRUeXBlPEU+LCBpbml0aWFsaXNlQ29tcG9uZW50PzogKGNvbXBvbmVudDogRSkgPT4gdm9pZCk6IHRoaXNcbiAgY2VsbEVkaXRvcjxFIGV4dGVuZHMgQ2VsbEVkaXRvckNvbXBvbmVudDxSb3dbUF0+PihlZGl0b3I6IENvbXBvbmVudFR5cGU8RT4sIHZhbGlkYXRvcnNPckluaXRpYWxpc2VyPzogVmFsaWRhdG9yPFJvd1tQXT5bXSB8ICgoY29tcG9uZW50OiBFKSA9PiB2b2lkKSwgb25Db21wb25lbnRJbml0PzogKGNvbXBvbmVudDogRSkgPT4gdm9pZCk6IHRoaXMge1xuICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBBcnJheS5pc0FycmF5KHZhbGlkYXRvcnNPckluaXRpYWxpc2VyKSA/IHZhbGlkYXRvcnNPckluaXRpYWxpc2VyIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGluaXRpYWxpc2VyID0gaXNGdW5jdGlvbih2YWxpZGF0b3JzT3JJbml0aWFsaXNlcikgPyB2YWxpZGF0b3JzT3JJbml0aWFsaXNlciA6IG9uQ29tcG9uZW50SW5pdDtcbiAgICB0aGlzLmNvbmZpZ3VyZUNlbGxFZGl0b3IobmV3IENlbGxFZGl0b3JQb3J0YWxSZWYoZWRpdG9yLCAoY29tcG9uZW50OiBFLCBlZGl0U2Vzc2lvbjogRWRpdFNlc3Npb248Um93PikgPT4ge1xuICAgICAgY29uc3QgZm9ybVZhbHVlTW9kZWwgPSBlZGl0U2Vzc2lvbi5mb3JtLnBsdWNrKHRoaXMucHJvcGVydHkpO1xuICAgICAgaWYgKHZhbGlkYXRvcnMpIHtcbiAgICAgICAgZm9ybVZhbHVlTW9kZWwudmFsaWRhdGVVc2luZyh2YWxpZGF0b3JzKTtcbiAgICAgIH1cbiAgICAgIGNvbXBvbmVudC52YWx1ZU1vZGVsID0gZm9ybVZhbHVlTW9kZWw7XG4gICAgICBpZiAoaW5pdGlhbGlzZXIpIHtcbiAgICAgICAgaW5pdGlhbGlzZXIoY29tcG9uZW50KTtcbiAgICAgIH1cbiAgICB9KSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBmb3JtYXQoZm9ybWF0dGVyOiAodmFsdWU6IFJvd1tQXSkgPT4gYW55KTogdGhpcyB7XG4gICAgYXNzZXJ0LmlzRnVuY3Rpb24oZm9ybWF0dGVyKTtcbiAgICB0aGlzLl9mb3JtYXQgPSBmb3JtYXR0ZXI7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0Um93T25DbGljayhzZWxlY3RPblJvd0NsaWNrOiBib29sZWFuKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdFJvd09uQ2xpY2soc2VsZWN0T25Sb3dDbGljayk7XG4gIH1cblxufVxuIl19
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktY29sdW1uLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvY29sdW1uL3Byb3BlcnR5LWNvbHVtbi1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUlwQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVsRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUNqSCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNuRixPQUFPLEVBQXVCLFdBQVcsRUFBK0MsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRyxNQUFNLE9BQU8sbUJBQWlFLFNBQVEsV0FBZ0I7SUFJcEcsWUFBWSxFQUFVLEVBQVcsUUFBVyxFQUFFLFFBQTRDO1FBQ3hGLEtBQUssQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFEVyxhQUFRLEdBQVIsUUFBUSxDQUFHO1FBRnBDLFlBQU8sR0FBMkIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUlyRSxJQUFJLENBQUMsWUFBWSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUlELFlBQVksQ0FBaUMsYUFBK0IsRUFBRSx3QkFBMkU7UUFDdkosSUFBSSxDQUFDLHlCQUF5QixDQUM1QixvQkFBb0IsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUM1SCxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQzFCLENBQUM7UUFDRixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSw4QkFBOEIsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxFQUFFO1lBQzdHLElBQUksU0FBUyxFQUFFO2dCQUNiLElBQUksVUFBVSxDQUFDLHdCQUF3QixDQUFDLEVBQUU7b0JBQ3hDLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxDQUFDO2lCQUNyQztxQkFBTTtvQkFDTCxJQUFJLFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSxlQUFlLENBQUMsRUFBRTt3QkFDekQsd0JBQXdCLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO3FCQUNyRDtpQkFDRjthQUNGO1lBQ0QsU0FBUyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDN0QsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNKLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELG9CQUFvQixDQUF5QyxhQUErQixFQUFFLE9BQThDO1FBQzFJLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG1CQUFtQixDQUF5QyxhQUErQixFQUFFLE9BQThDO1FBRXpJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLDhCQUE4QixDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUU7WUFFN0csbUVBQW1FO1lBQ25FLHVFQUF1RTtZQUN2RSxTQUFTLENBQUMsV0FBVyxDQUFDLGlDQUFpQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUN2RSxJQUFJLG1CQUFtQixHQUFHLEtBQUssQ0FBQztZQUVoQyxJQUFJLFNBQVMsRUFBRTtnQkFDYixJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLEVBQUU7b0JBQ3hDLE9BQU8sQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQ3BDO2dCQUNELDRCQUE0QjtnQkFDNUIsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRTtvQkFDbEMsSUFBSSxDQUFDLG1CQUFtQixFQUFFO3dCQUN4QixPQUFPLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsaUNBQWlDLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7cUJBQ3hGO2dCQUNILENBQUMsQ0FBQyxDQUFDO2FBRUo7WUFFRCxpR0FBaUc7WUFDakcsaURBQWlEO1lBQ2pELG1CQUFtQixHQUFHLElBQUksQ0FBQztZQUMzQixTQUFTLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztZQUU1QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLEVBQUU7Z0JBQzVELE9BQU8sQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM3QztRQUVILENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDSixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFJRCxVQUFVLENBQXdDLE1BQXdCLEVBQUUsdUJBQXdFLEVBQUUsZUFBd0M7UUFDNUwsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2hHLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDO1FBQ3BHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVksRUFBRSxXQUE2QixFQUFFLEVBQUU7WUFDdkcsTUFBTSxjQUFjLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdELElBQUksVUFBVSxFQUFFO2dCQUNkLGNBQWMsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDMUM7WUFDRCxTQUFTLENBQUMsVUFBVSxHQUFHLGNBQWMsQ0FBQztZQUN0QyxJQUFJLFdBQVcsRUFBRTtnQkFDZixXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDeEI7UUFDSCxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ0osT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQWlDO1FBQ3RDLE1BQU0sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsZ0JBQXlCO1FBQy9DLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbEQsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgVHlwZXMsIFZhbGlkYXRvciB9IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSBcIkBjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXNcIjtcbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQgeyBFZGl0U2Vzc2lvbiB9IGZyb20gXCIuLi9lZGl0b3IvZWRpdC1zZXNzaW9uXCI7XG5pbXBvcnQgeyBFZGl0YWJsZUNlbGxSZW5kZXJlciB9IGZyb20gXCIuLi9lZGl0b3IvZWRpdGFibGUtY2VsbC1yZW5kZXJlclwiO1xuaW1wb3J0IHsgQ2VsbEVkaXRvckNvbXBvbmVudCB9IGZyb20gXCIuLi9yZW5kZXJlci9jZWxsLWVkaXRvcnNcIjtcbmltcG9ydCB7IENlbGxFZGl0b3JQb3J0YWxSZWYsIENvbXBvbmVudENlbGxSZW5kZXJlclBvcnRhbFJlZiB9IGZyb20gXCIuLi9yZW5kZXJlci9jZWxsLXBvcnRhbC1yZWZcIjtcbmltcG9ydCB7IENlbGxSZW5kZXJlciB9IGZyb20gXCIuLi9yZW5kZXJlci9jZWxsLXJlbmRlcmVyXCI7XG5pbXBvcnQgeyBEZWZhdWx0Q2VsbFJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSBcIi4uL3JlbmRlcmVyL2RlZmF1bHQtY2VsbC1yZW5kZXJlci9kZWZhdWx0LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDb2x1bW5UZXh0U2VhcmNoRm9ybWF0dGVyIH0gZnJvbSBcIi4uL3NlYXJjaC9jb2x1bW4tdGV4dC1zZWFyY2gtZm9ybWF0dGVyXCI7XG5pbXBvcnQgeyBFbmFibGVDZWxsVGV4dFNlYXJjaCB9IGZyb20gXCIuLi9zZWFyY2gvZW5hYmxlLWNlbGwtdGV4dC1zZWFyY2guZGVjb3JhdG9yXCI7XG5pbXBvcnQgeyBDZWxsUmVuZGVyZXJPcHRpb25zLCBDb2x1bW5Nb2RlbCwgTXV0YWJsZUNlbGxSZW5kZXJlck9wdGlvbnMsIE9uQ29tcG9uZW50SW5pdCB9IGZyb20gXCIuL2NvbHVtbi1tb2RlbFwiO1xuXG5leHBvcnQgY2xhc3MgUHJvcGVydHlDb2x1bW5Nb2RlbDxSb3csIFAgZXh0ZW5kcyBUeXBlcy5WYWx1ZVByb3BlcnRpZXNPZjxSb3c+PiBleHRlbmRzIENvbHVtbk1vZGVsPFJvdz4ge1xuXG4gIHByaXZhdGUgX2Zvcm1hdDogKHZhbHVlOiBSb3dbUF0pID0+IGFueSA9ICh2YWx1ZSkgPT4gdmFsdWU/LnRvU3RyaW5nKCk7XG5cbiAgY29uc3RydWN0b3IoaWQ6IHN0cmluZywgcmVhZG9ubHkgcHJvcGVydHk6IFAsIGRlZmF1bHRzOiBDb2x1bW5Nb2RlbC5UZXh0UHJvcGVydGllc1Byb3ZpZGVyKSB7XG4gICAgc3VwZXIoaWQsIGRlZmF1bHRzKTtcbiAgICB0aGlzLmNlbGxSZW5kZXJlcihEZWZhdWx0Q2VsbFJlbmRlcmVyQ29tcG9uZW50KTtcbiAgfVxuXG4gIGNlbGxSZW5kZXJlcjxFIGV4dGVuZHMgQ2VsbFJlbmRlcmVyPFJvd1tQXT4+KGNvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGU8RT4sIG9wdGlvbnM/OiBDZWxsUmVuZGVyZXJPcHRpb25zPFJvdywgRT4pOiB0aGlzXG4gIGNlbGxSZW5kZXJlcjxFIGV4dGVuZHMgQ2VsbFJlbmRlcmVyPFJvd1tQXT4+KGNvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGU8RT4sIG9uQ29tcG9uZW50SW5pdD86IE9uQ29tcG9uZW50SW5pdDxFPik6IHRoaXNcbiAgY2VsbFJlbmRlcmVyPEUgZXh0ZW5kcyBDZWxsUmVuZGVyZXI8Um93W1BdPj4oY29tcG9uZW50VHlwZTogQ29tcG9uZW50VHlwZTxFPiwgb25Db21wb25lbnRJbml0T3JPcHRpb25zPzogQ2VsbFJlbmRlcmVyT3B0aW9uczxSb3csIEU+IHwgT25Db21wb25lbnRJbml0PEU+KTogdGhpcyB7XG4gICAgdGhpcy5jb25maWd1cmVDb2x1bW5UZXh0U2VhcmNoKFxuICAgICAgRW5hYmxlQ2VsbFRleHRTZWFyY2guZ2V0Rm9ybWF0dGVyKGNvbXBvbmVudFR5cGUsICgpID0+IENvbHVtblRleHRTZWFyY2hGb3JtYXR0ZXIuZm9yRm9ybWF0dGVyKHZhbHVlID0+IHRoaXMuX2Zvcm1hdCh2YWx1ZSkpKSxcbiAgICAgIHJvdyA9PiByb3dbdGhpcy5wcm9wZXJ0eV1cbiAgICApO1xuICAgIHRoaXMuY29uZmlndXJlQ2VsbFJlbmRlcmVyKG5ldyBDb21wb25lbnRDZWxsUmVuZGVyZXJQb3J0YWxSZWYoY29tcG9uZW50VHlwZSwgKGNvbXBvbmVudCwgcm93RGF0YSwgZmlyc3RUaW1lKSA9PiB7XG4gICAgICBpZiAoZmlyc3RUaW1lKSB7XG4gICAgICAgIGlmIChpc0Z1bmN0aW9uKG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucykpIHtcbiAgICAgICAgICBvbkNvbXBvbmVudEluaXRPck9wdGlvbnMoY29tcG9uZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoaXNGdW5jdGlvbihvbkNvbXBvbmVudEluaXRPck9wdGlvbnM/Lm9uQ29tcG9uZW50SW5pdCkpIHtcbiAgICAgICAgICAgIG9uQ29tcG9uZW50SW5pdE9yT3B0aW9ucy5vbkNvbXBvbmVudEluaXQoY29tcG9uZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbXBvbmVudC52YWx1ZSA9IHRoaXMuX2Zvcm1hdChyb3dEYXRhLnJvd1t0aGlzLnByb3BlcnR5XSk7XG4gICAgfSkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgbGl2ZUVkaXRDZWxsUmVuZGVyZXI8RSBleHRlbmRzIEVkaXRhYmxlQ2VsbFJlbmRlcmVyPFJvd1tQXT4+KGNvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGU8RT4sIG9wdGlvbnM6IE11dGFibGVDZWxsUmVuZGVyZXJPcHRpb25zPFJvdywgRSwgUD4pOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5tdXRhYmxlQ2VsbFJlbmRlcmVyKGNvbXBvbmVudFR5cGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlcHJlY2F0ZWQuICBVc2UgI2xpdmVFZGl0Q2VsbFJlbmRlcmVyIGluc3RlYWQuXG4gICAqIEBwYXJhbSBjb21wb25lbnRUeXBlXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqL1xuICBtdXRhYmxlQ2VsbFJlbmRlcmVyPEUgZXh0ZW5kcyBFZGl0YWJsZUNlbGxSZW5kZXJlcjxSb3dbUF0+Pihjb21wb25lbnRUeXBlOiBDb21wb25lbnRUeXBlPEU+LCBvcHRpb25zOiBNdXRhYmxlQ2VsbFJlbmRlcmVyT3B0aW9uczxSb3csIEUsIFA+KTogdGhpcyB7XG5cbiAgICB0aGlzLmNvbmZpZ3VyZUNlbGxSZW5kZXJlcihuZXcgQ29tcG9uZW50Q2VsbFJlbmRlcmVyUG9ydGFsUmVmKGNvbXBvbmVudFR5cGUsIChjb21wb25lbnQsIHJvd0RhdGEsIGZpcnN0VGltZSkgPT4ge1xuXG4gICAgICAvLyBrZWVwIGEgbG9jYWwgY29weSBtb3N0IHJlY2VudCByb3cgdmFsdWUgc28gaXQncyBhdmFpbGFibGUgdG8gdGVoXG4gICAgICAvLyBlZGl0IGNhbGxiYWNrIHdpdGhvdXQgaGF2aW5nIHRvIGFkZC9yZW1vdmUgc3Vic2NyaWJlcnMgYWxsIHRoZSB0aW1lLlxuICAgICAgY29tcG9uZW50W0NvbHVtbk1vZGVsLkNFTExfUkVOREVSRVJfQ09NUE9ORU5UX1JPV19DQUNIRV0gPSByb3dEYXRhLnJvdztcbiAgICAgIGxldCBkaXNhYmxlRWRpdENhbGxiYWNrID0gZmFsc2U7XG5cbiAgICAgIGlmIChmaXJzdFRpbWUpIHtcbiAgICAgICAgaWYgKGlzRnVuY3Rpb24ob3B0aW9ucz8ub25Db21wb25lbnRJbml0KSkge1xuICAgICAgICAgIG9wdGlvbnMub25Db21wb25lbnRJbml0KGNvbXBvbmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gaW5zdGFsbCBvdXIgZWRpdCBjYWxsYmFja1xuICAgICAgICBjb21wb25lbnQub25WYWx1ZUVkaXRlZCgoaXMsIHdhcykgPT4ge1xuICAgICAgICAgIGlmICghZGlzYWJsZUVkaXRDYWxsYmFjaykge1xuICAgICAgICAgICAgb3B0aW9ucy5vblZhbHVlRWRpdChjb21wb25lbnRbQ29sdW1uTW9kZWwuQ0VMTF9SRU5ERVJFUl9DT01QT05FTlRfUk9XX0NBQ0hFXSwgaXMsIHdhcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgfVxuXG4gICAgICAvLyBub3cgcHVzaCB0aGUgdmFsdWUgdGhlIGNvbXBvbmVudCBhbmQgZGlzYWJsZSB0aGUgY2FsbGJhY2sganVzdCBpbmNhc2UgdGhlIGNvbXBvbmVudCBtaXNiZWhhdmVzXG4gICAgICAvLyBhbmQgZmlyZXMgYSB2YWx1ZSBjaGFuZ2UgZHVyaW5nIHRoZSBvcGVyYXRpb24uXG4gICAgICBkaXNhYmxlRWRpdENhbGxiYWNrID0gdHJ1ZTtcbiAgICAgIGNvbXBvbmVudC52YWx1ZSA9IHJvd0RhdGEucm93W3RoaXMucHJvcGVydHldO1xuICAgICAgZGlzYWJsZUVkaXRDYWxsYmFjayA9IGZhbHNlO1xuXG4gICAgICBpZiAoIWlzRnVuY3Rpb24ob3B0aW9ucykgJiYgaXNGdW5jdGlvbihvcHRpb25zPy5vblJvd1VwZGF0ZSkpIHtcbiAgICAgICAgb3B0aW9ucy5vblJvd1VwZGF0ZShjb21wb25lbnQsIHJvd0RhdGEucm93KTtcbiAgICAgIH1cblxuICAgIH0pKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGNlbGxFZGl0b3I8RSBleHRlbmRzIENlbGxFZGl0b3JDb21wb25lbnQ8Um93W1BdPj4oZWRpdG9yOiBDb21wb25lbnRUeXBlPEU+LCB2YWxpZGF0b3JzPzogVmFsaWRhdG9yPFJvd1tQXT5bXSwgaW5pdGlhbGlzZUNvbXBvbmVudD86IChjb21wb25lbnQ6IEUpID0+IHZvaWQpOiB0aGlzXG4gIGNlbGxFZGl0b3I8RSBleHRlbmRzIENlbGxFZGl0b3JDb21wb25lbnQ8Um93W1BdPj4oZWRpdG9yOiBDb21wb25lbnRUeXBlPEU+LCBpbml0aWFsaXNlQ29tcG9uZW50PzogKGNvbXBvbmVudDogRSkgPT4gdm9pZCk6IHRoaXNcbiAgY2VsbEVkaXRvcjxFIGV4dGVuZHMgQ2VsbEVkaXRvckNvbXBvbmVudDxSb3dbUF0+PihlZGl0b3I6IENvbXBvbmVudFR5cGU8RT4sIHZhbGlkYXRvcnNPckluaXRpYWxpc2VyPzogVmFsaWRhdG9yPFJvd1tQXT5bXSB8ICgoY29tcG9uZW50OiBFKSA9PiB2b2lkKSwgb25Db21wb25lbnRJbml0PzogKGNvbXBvbmVudDogRSkgPT4gdm9pZCk6IHRoaXMge1xuICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBBcnJheS5pc0FycmF5KHZhbGlkYXRvcnNPckluaXRpYWxpc2VyKSA/IHZhbGlkYXRvcnNPckluaXRpYWxpc2VyIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGluaXRpYWxpc2VyID0gaXNGdW5jdGlvbih2YWxpZGF0b3JzT3JJbml0aWFsaXNlcikgPyB2YWxpZGF0b3JzT3JJbml0aWFsaXNlciA6IG9uQ29tcG9uZW50SW5pdDtcbiAgICB0aGlzLmNvbmZpZ3VyZUNlbGxFZGl0b3IobmV3IENlbGxFZGl0b3JQb3J0YWxSZWYoZWRpdG9yLCAoY29tcG9uZW50OiBFLCBlZGl0U2Vzc2lvbjogRWRpdFNlc3Npb248Um93PikgPT4ge1xuICAgICAgY29uc3QgZm9ybVZhbHVlTW9kZWwgPSBlZGl0U2Vzc2lvbi5mb3JtLnBsdWNrKHRoaXMucHJvcGVydHkpO1xuICAgICAgaWYgKHZhbGlkYXRvcnMpIHtcbiAgICAgICAgZm9ybVZhbHVlTW9kZWwudmFsaWRhdGVVc2luZyh2YWxpZGF0b3JzKTtcbiAgICAgIH1cbiAgICAgIGNvbXBvbmVudC52YWx1ZU1vZGVsID0gZm9ybVZhbHVlTW9kZWw7XG4gICAgICBpZiAoaW5pdGlhbGlzZXIpIHtcbiAgICAgICAgaW5pdGlhbGlzZXIoY29tcG9uZW50KTtcbiAgICAgIH1cbiAgICB9KSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBmb3JtYXQoZm9ybWF0dGVyOiAodmFsdWU6IFJvd1tQXSkgPT4gYW55KTogdGhpcyB7XG4gICAgYXNzZXJ0LmlzRnVuY3Rpb24oZm9ybWF0dGVyKTtcbiAgICB0aGlzLl9mb3JtYXQgPSBmb3JtYXR0ZXI7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0Um93T25DbGljayhzZWxlY3RPblJvd0NsaWNrOiBib29sZWFuKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdFJvd09uQ2xpY2soc2VsZWN0T25Sb3dDbGljayk7XG4gIH1cblxufVxuIl19
@@ -26,14 +26,14 @@ export class PaginatorComponent extends DisposableComponent {
26
26
  }
27
27
  }
28
28
  PaginatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: PaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
- PaginatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: PaginatorComponent, selector: "aup-paginator", inputs: { pageController: "pageController" }, usesInheritance: true, ngImport: i0, template: "<p>Page {{pageNumber}} of {{totalPages}}</p>\n<button mat-icon-button [pectinCommand]=\"previousCommand\"><aup-icon icon=\"mat:keyboard_arrow_left\"></aup-icon></button>\n<button mat-icon-button [pectinCommand]=\"nextCommand\"><aup-icon icon=\"mat:keyboard_arrow_right\"></aup-icon></button>\n\n", styles: [":host{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;font-size:12px;padding:0 8px;color:#0009}:host p{color:inherit;margin-right:8px}:host button.md-button.md-icon-button{padding:0;margin:0;width:30px;height:30px}\n"], components: [{ type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2.IconComponent, selector: "aup-icon", inputs: ["icon"] }], directives: [{ type: i3.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }] });
29
+ PaginatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: PaginatorComponent, selector: "aup-paginator", inputs: { pageController: "pageController" }, usesInheritance: true, ngImport: i0, template: "<p>Page {{pageNumber}} of {{totalPages}}</p>\n<button mat-icon-button [pectinCommand]=\"previousCommand\"><aup-icon icon=\"mat:keyboard_arrow_left\"></aup-icon></button>\n<button mat-icon-button [pectinCommand]=\"nextCommand\"><aup-icon icon=\"mat:keyboard_arrow_right\"></aup-icon></button>\n\n", styles: [":host{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;font-size:12px;padding:0 8px;color:#0009}:host p{color:inherit;margin:0 8px 0 0}:host button.md-button.md-icon-button{padding:0;margin:0;width:30px;height:30px}\n"], components: [{ type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2.IconComponent, selector: "aup-icon", inputs: ["icon"] }], directives: [{ type: i3.CommandDirective, selector: "[pectinCommand]", inputs: ["pectinCommand", "commandParameter"] }] });
30
30
  __decorate([
31
31
  TrackExternal(),
32
32
  __metadata("design:type", PageController)
33
33
  ], PaginatorComponent.prototype, "pageController", void 0);
34
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: PaginatorComponent, decorators: [{
35
35
  type: Component,
36
- args: [{ selector: 'aup-paginator', template: "<p>Page {{pageNumber}} of {{totalPages}}</p>\n<button mat-icon-button [pectinCommand]=\"previousCommand\"><aup-icon icon=\"mat:keyboard_arrow_left\"></aup-icon></button>\n<button mat-icon-button [pectinCommand]=\"nextCommand\"><aup-icon icon=\"mat:keyboard_arrow_right\"></aup-icon></button>\n\n", styles: [":host{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;font-size:12px;padding:0 8px;color:#0009}:host p{color:inherit;margin-right:8px}:host button.md-button.md-icon-button{padding:0;margin:0;width:30px;height:30px}\n"] }]
36
+ args: [{ selector: 'aup-paginator', template: "<p>Page {{pageNumber}} of {{totalPages}}</p>\n<button mat-icon-button [pectinCommand]=\"previousCommand\"><aup-icon icon=\"mat:keyboard_arrow_left\"></aup-icon></button>\n<button mat-icon-button [pectinCommand]=\"nextCommand\"><aup-icon icon=\"mat:keyboard_arrow_right\"></aup-icon></button>\n\n", styles: [":host{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;font-size:12px;padding:0 8px;color:#0009}:host p{color:inherit;margin:0 8px 0 0}:host button.md-button.md-icon-button{padding:0;margin:0;width:30px;height:30px}\n"] }]
37
37
  }], ctorParameters: function () { return []; }, propDecorators: { pageController: [{
38
38
  type: Input
39
39
  }] } });
@@ -1,10 +1,7 @@
1
- import { __decorate, __metadata } from "tslib";
2
1
  import { Component, Input } from "@angular/core";
3
- import { ColumnTextSearchFormatter } from "../../search/column-text-search-formatter";
4
- import { EnableCellTextSearch } from "../../search/enable-cell-text-search.decorator";
5
2
  import * as i0 from "@angular/core";
6
3
  import * as i1 from "../../../../directives/highlight.pipe";
7
- let DefaultCellRendererComponent = class DefaultCellRendererComponent {
4
+ export class DefaultCellRendererComponent {
8
5
  constructor() {
9
6
  }
10
7
  set value(value) {
@@ -13,18 +10,13 @@ let DefaultCellRendererComponent = class DefaultCellRendererComponent {
13
10
  get value() {
14
11
  return this._value;
15
12
  }
16
- };
13
+ }
17
14
  DefaultCellRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DefaultCellRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
15
  DefaultCellRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: DefaultCellRendererComponent, selector: "aup-default-cell-renderer", inputs: { value: "value" }, ngImport: i0, template: "<span [innerHTML]=\"value| aupHighlight\"></span>\n", styles: [""], pipes: { "aupHighlight": i1.HighlightPipe } });
19
- DefaultCellRendererComponent = __decorate([
20
- EnableCellTextSearch({ useClass: ColumnTextSearchFormatter.DefaultValueFormatter }),
21
- __metadata("design:paramtypes", [])
22
- ], DefaultCellRendererComponent);
23
- export { DefaultCellRendererComponent };
24
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DefaultCellRendererComponent, decorators: [{
25
17
  type: Component,
26
18
  args: [{ selector: "aup-default-cell-renderer", template: "<span [innerHTML]=\"value| aupHighlight\"></span>\n", styles: [""] }]
27
19
  }], ctorParameters: function () { return []; }, propDecorators: { value: [{
28
20
  type: Input
29
21
  }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL3JlbmRlcmVyL2RlZmF1bHQtY2VsbC1yZW5kZXJlci9kZWZhdWx0LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvcmVuZGVyZXIvZGVmYXVsdC1jZWxsLXJlbmRlcmVyL2RlZmF1bHQtY2VsbC1yZW5kZXJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7OztJQVV6RSw0QkFBNEIsU0FBNUIsNEJBQTRCO0lBWXZDO0lBQ0EsQ0FBQztJQVZELElBQ0ksS0FBSyxDQUFDLEtBQVE7UUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0NBSUYsQ0FBQTt5SEFkWSw0QkFBNEI7NkdBQTVCLDRCQUE0Qiw2RkNaekMscURBQ0E7QURXYSw0QkFBNEI7SUFEeEMsb0JBQW9CLENBQUMsRUFBRSxRQUFRLEVBQUUseUJBQXlCLENBQUMscUJBQXFCLEVBQUUsQ0FBQzs7R0FDdkUsNEJBQTRCLENBY3hDO1NBZFksNEJBQTRCOzJGQUE1Qiw0QkFBNEI7a0JBTnhDLFNBQVM7K0JBQ0UsMkJBQTJCOzBFQVNqQyxLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbHVtblRleHRTZWFyY2hGb3JtYXR0ZXIgfSBmcm9tIFwiLi4vLi4vc2VhcmNoL2NvbHVtbi10ZXh0LXNlYXJjaC1mb3JtYXR0ZXJcIjtcbmltcG9ydCB7IEVuYWJsZUNlbGxUZXh0U2VhcmNoIH0gZnJvbSBcIi4uLy4uL3NlYXJjaC9lbmFibGUtY2VsbC10ZXh0LXNlYXJjaC5kZWNvcmF0b3JcIjtcbmltcG9ydCB7IENlbGxSZW5kZXJlciB9IGZyb20gXCIuLi9jZWxsLXJlbmRlcmVyXCI7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImF1cC1kZWZhdWx0LWNlbGwtcmVuZGVyZXJcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9kZWZhdWx0LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2RlZmF1bHQtY2VsbC1yZW5kZXJlci5jb21wb25lbnQuc2Nzc1wiXVxufSlcbkBFbmFibGVDZWxsVGV4dFNlYXJjaCh7IHVzZUNsYXNzOiBDb2x1bW5UZXh0U2VhcmNoRm9ybWF0dGVyLkRlZmF1bHRWYWx1ZUZvcm1hdHRlciB9KVxuZXhwb3J0IGNsYXNzIERlZmF1bHRDZWxsUmVuZGVyZXJDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBDZWxsUmVuZGVyZXI8VD4ge1xuICBwcml2YXRlIF92YWx1ZTogVDtcblxuICBASW5wdXQoKVxuICBzZXQgdmFsdWUodmFsdWU6IFQpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCk6IFQge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG59XG4iLCI8c3BhbiBbaW5uZXJIVE1MXT1cInZhbHVlfCBhdXBIaWdobGlnaHRcIj48L3NwYW4+XG4iXX0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL3JlbmRlcmVyL2RlZmF1bHQtY2VsbC1yZW5kZXJlci9kZWZhdWx0LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvcmVuZGVyZXIvZGVmYXVsdC1jZWxsLXJlbmRlcmVyL2RlZmF1bHQtY2VsbC1yZW5kZXJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBV2pELE1BQU0sT0FBTyw0QkFBNEI7SUFZdkM7SUFDQSxDQUFDO0lBVkQsSUFDSSxLQUFLLENBQUMsS0FBUTtRQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7O3lIQVZVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLDZGQ1h6QyxxREFDQTsyRkRVYSw0QkFBNEI7a0JBTHhDLFNBQVM7K0JBQ0UsMkJBQTJCOzBFQVFqQyxLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbHVtblRleHRTZWFyY2hGb3JtYXR0ZXIgfSBmcm9tIFwiLi4vLi4vc2VhcmNoL2NvbHVtbi10ZXh0LXNlYXJjaC1mb3JtYXR0ZXJcIjtcbmltcG9ydCB7IEVuYWJsZUNlbGxUZXh0U2VhcmNoIH0gZnJvbSBcIi4uLy4uL3NlYXJjaC9lbmFibGUtY2VsbC10ZXh0LXNlYXJjaC5kZWNvcmF0b3JcIjtcbmltcG9ydCB7IENlbGxSZW5kZXJlciB9IGZyb20gXCIuLi9jZWxsLXJlbmRlcmVyXCI7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImF1cC1kZWZhdWx0LWNlbGwtcmVuZGVyZXJcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9kZWZhdWx0LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2RlZmF1bHQtY2VsbC1yZW5kZXJlci5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBEZWZhdWx0Q2VsbFJlbmRlcmVyQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgQ2VsbFJlbmRlcmVyPFQ+IHtcbiAgcHJpdmF0ZSBfdmFsdWU6IFQ7XG5cbiAgQElucHV0KClcbiAgc2V0IHZhbHVlKHZhbHVlOiBUKSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCB2YWx1ZSgpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxufVxuIiwiPHNwYW4gW2lubmVySFRNTF09XCJ2YWx1ZXwgYXVwSGlnaGxpZ2h0XCI+PC9zcGFuPlxuIl19
@@ -0,0 +1,112 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Component, ElementRef, EventEmitter, HostBinding, Input, NgZone, Output } from "@angular/core";
3
+ import { Dsl, MutableValueModel, StoreInValueModel, TrackExternal, ValueModel } from "@coolon/pectin";
4
+ import { ResizeAwareComponent } from "../../../resize-aware.component";
5
+ import { AbstractTableModel } from "../../abstract-table-model";
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/material/table";
8
+ import * as i2 from "../table-header-cell/table-header-cell.component";
9
+ import * as i3 from "../table-cell/table-cell.component";
10
+ import * as i4 from "@angular/common";
11
+ export class TableBodyComponent extends ResizeAwareComponent {
12
+ constructor(elementRef, ngZone) {
13
+ super(elementRef, ngZone);
14
+ this.visibleRowCount = new EventEmitter();
15
+ /**
16
+ * Set to true to enable scrolling. Once enabled the table will have 0 implicit height. You will either
17
+ * need to set it explicitly e.g. height: 400px; or by using flex or grid layout to make it fill it's
18
+ * containment area.
19
+ */
20
+ this.enableScrolling = false;
21
+ // TODO: support user defined header and row heights via css vars.
22
+ this.headerHeight = new MutableValueModel(56);
23
+ this.rowHeight = new MutableValueModel(48);
24
+ this.baseCssClass = "aup-table-component";
25
+ const { chain, when } = Dsl.disposeWith(this);
26
+ const actualHeaderHeight = chain(this.showHeader$).map(show => {
27
+ return show ? this.headerHeight.value : 0;
28
+ }, { dependsOn: this.headerHeight });
29
+ this._visibleRowCount = chain(this.boundsModel).map(bounds => {
30
+ // TODO: this doesn't take into account any css styling adjustments etc. Will investigate if it's an issue.
31
+ const rawRowCount = (bounds.height - actualHeaderHeight.value) / this.rowHeight.value;
32
+ return rawRowCount < 1 ? 0 : Math.floor(rawRowCount);
33
+ }, {
34
+ dependsOn: [actualHeaderHeight, this.rowHeight],
35
+ postponeWhile: chain(this.boundsModel).pluckNumeric("height").isLessThan(1)
36
+ });
37
+ when(this._visibleRowCount).changes(visibleRows => {
38
+ this.visibleRowCount.emit(visibleRows);
39
+ }, { initialValue: "triggerChangeUnlessNil" });
40
+ }
41
+ get hideHeader() {
42
+ return !this.showHeader;
43
+ }
44
+ ngOnInit() {
45
+ const { chain } = Dsl.disposeWith(this);
46
+ this.columns = chain(this.tableModel.columns);
47
+ this.columnIds = chain(this.columns).pluck("columnId");
48
+ this.columnsById = chain(this.columns).indexBy('columnId');
49
+ }
50
+ isEditing(row) {
51
+ return !!this.tableModel.getEditSessionFor(row);
52
+ }
53
+ notifyCellClicked(columnModel, row) {
54
+ this.tableModel._notifyCellClicked(columnModel, row);
55
+ }
56
+ // @Trace()
57
+ isFirstVisibleColumn(columnId) {
58
+ return this.tableModel.firstVisibleColumn$.query().value?.columnId === columnId;
59
+ }
60
+ // @Trace()
61
+ isLastVisibleColumn(columnId) {
62
+ return this.tableModel.lastVisibleColumn$.query().value?.columnId === columnId;
63
+ }
64
+ getColumnClasses(columnId) {
65
+ const classes = [`aup-col-${this.columnsById.get(columnId).dasherisedColumnId}`];
66
+ if (this.isFirstVisibleColumn(columnId)) {
67
+ classes.push("first-visible-column");
68
+ }
69
+ if (this.isLastVisibleColumn(columnId)) {
70
+ classes.push("last-visible-column");
71
+ }
72
+ return classes;
73
+ }
74
+ }
75
+ TableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: TableBodyComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
76
+ TableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: TableBodyComponent, selector: "aup-table-body", inputs: { tableModel: "tableModel", showHeader$: "showHeader$", showHeader: "showHeader", enableScrolling: "enableScrolling" }, outputs: { visibleRowCount: "visibleRowCount" }, host: { properties: { "class.enable-scrolling": "this.enableScrolling", "class": "this.baseCssClass", "class.hide-header": "this.hideHeader" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"scroll-container\">\n <table mat-table [dataSource]=\"tableModel.visibleRows$.value\" [trackBy]=\"tableModel.trackBy\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\"\n matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef [class.flex]=\"column.isFlex()\" [class.hide]=\"!column.isVisible()\">\n <aup-table-header-cell [column]=\"column\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class]=\"getColumnClasses(column.columnId)\"\n ></aup-table-header-cell>\n </th>\n <td mat-cell *matCellDef=\"let row\" (click)=\"notifyCellClicked(column, row)\"\n [class.enable-cursor]=\"tableModel.isCursorEnabled(column)\"\n [class.flex]=\"column.isFlex()\"\n [class.hide]=\"!column.isVisible()\"\n >\n <aup-table-cell [column]=\"column\"\n [row]=\"row\"\n [tableModel]=\"tableModel\"\n [editSession]=\"tableModel.getEditSessionFor(row)\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class]=\"getColumnClasses(column.columnId)\"\n ></aup-table-cell>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnIds.value\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds.value; let i = index\"\n [ngClass]=\"tableModel.getRowClasses(row)\" [class.enable-hover]=\"tableModel.isHoverEnabled()\"\n [attr.aup-row-id]=\"tableModel.trackBy(i, row)\"\n ></tr>\n\n </table>\n</div>\n\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{width:100%}:host.enable-scrolling{min-height:0}:host.enable-scrolling .scroll-container{flex:1;flex-basis:0;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch}\n"], components: [{ type: i1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: i2.TableHeaderCellComponent, selector: "aup-table-header-cell", inputs: ["column"] }, { type: i3.TableCellComponent, selector: "aup-table-cell", inputs: ["row", "column", "editSession", "tableModel"] }, { type: i1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i1.MatCellDef, selector: "[matCellDef]" }, { type: i1.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
77
+ __decorate([
78
+ TrackExternal(),
79
+ __metadata("design:type", AbstractTableModel)
80
+ ], TableBodyComponent.prototype, "tableModel", void 0);
81
+ __decorate([
82
+ TrackExternal({ defaultValue: true }),
83
+ __metadata("design:type", ValueModel)
84
+ ], TableBodyComponent.prototype, "showHeader$", void 0);
85
+ __decorate([
86
+ StoreInValueModel("showHeader$"),
87
+ __metadata("design:type", Boolean)
88
+ ], TableBodyComponent.prototype, "showHeader", void 0);
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: TableBodyComponent, decorators: [{
90
+ type: Component,
91
+ args: [{ selector: "aup-table-body", template: "<div class=\"scroll-container\">\n <table mat-table [dataSource]=\"tableModel.visibleRows$.value\" [trackBy]=\"tableModel.trackBy\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\"\n matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef [class.flex]=\"column.isFlex()\" [class.hide]=\"!column.isVisible()\">\n <aup-table-header-cell [column]=\"column\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class]=\"getColumnClasses(column.columnId)\"\n ></aup-table-header-cell>\n </th>\n <td mat-cell *matCellDef=\"let row\" (click)=\"notifyCellClicked(column, row)\"\n [class.enable-cursor]=\"tableModel.isCursorEnabled(column)\"\n [class.flex]=\"column.isFlex()\"\n [class.hide]=\"!column.isVisible()\"\n >\n <aup-table-cell [column]=\"column\"\n [row]=\"row\"\n [tableModel]=\"tableModel\"\n [editSession]=\"tableModel.getEditSessionFor(row)\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class]=\"getColumnClasses(column.columnId)\"\n ></aup-table-cell>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnIds.value\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds.value; let i = index\"\n [ngClass]=\"tableModel.getRowClasses(row)\" [class.enable-hover]=\"tableModel.isHoverEnabled()\"\n [attr.aup-row-id]=\"tableModel.trackBy(i, row)\"\n ></tr>\n\n </table>\n</div>\n\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{width:100%}:host.enable-scrolling{min-height:0}:host.enable-scrolling .scroll-container{flex:1;flex-basis:0;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch}\n"] }]
92
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { tableModel: [{
93
+ type: Input
94
+ }], showHeader$: [{
95
+ type: Input
96
+ }], showHeader: [{
97
+ type: Input
98
+ }], visibleRowCount: [{
99
+ type: Output
100
+ }], enableScrolling: [{
101
+ type: Input
102
+ }, {
103
+ type: HostBinding,
104
+ args: ["class.enable-scrolling"]
105
+ }], baseCssClass: [{
106
+ type: HostBinding,
107
+ args: ["class"]
108
+ }], hideHeader: [{
109
+ type: HostBinding,
110
+ args: ["class.hide-header"]
111
+ }] } });
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYm9keS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9yZW5kZXJlci90YWJsZS1ib2R5L3RhYmxlLWJvZHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvcmVuZGVyZXIvdGFibGUtYm9keS90YWJsZS1ib2R5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFDTCxHQUFHLEVBR0gsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsVUFBVSxFQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7OztBQVFoRSxNQUFNLE9BQU8sa0JBQXdCLFNBQVEsb0JBQW9CO0lBd0MvRCxZQUFZLFVBQXNCLEVBQUUsTUFBYztRQUNoRCxLQUFLLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBMUJuQixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUE7UUFFckQ7Ozs7V0FJRztRQUdILG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBU3hCLGtFQUFrRTtRQUNqRCxpQkFBWSxHQUFHLElBQUksaUJBQWlCLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDakQsY0FBUyxHQUFHLElBQUksaUJB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RWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE5nWm9uZSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgRHNsLFxuICBMaXN0TW9kZWxDaGFpbixcbiAgTWFwTW9kZWxDaGFpbixcbiAgTXV0YWJsZVZhbHVlTW9kZWwsXG4gIFN0b3JlSW5WYWx1ZU1vZGVsLFxuICBUcmFja0V4dGVybmFsLFxuICBWYWx1ZU1vZGVsXG59IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IHsgUmVzaXplQXdhcmVDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vLi4vcmVzaXplLWF3YXJlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQWJzdHJhY3RUYWJsZU1vZGVsIH0gZnJvbSBcIi4uLy4uL2Fic3RyYWN0LXRhYmxlLW1vZGVsXCI7XG5pbXBvcnQgeyBDb2x1bW5Nb2RlbCB9IGZyb20gXCIuLi8uLi9jb2x1bW4vY29sdW1uLW1vZGVsXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJhdXAtdGFibGUtYm9keVwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3RhYmxlLWJvZHkuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3RhYmxlLWJvZHkuY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQm9keUNvbXBvbmVudDxSb3c+IGV4dGVuZHMgUmVzaXplQXdhcmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIEBUcmFja0V4dGVybmFsKClcbiAgdGFibGVNb2RlbDogQWJzdHJhY3RUYWJsZU1vZGVsPFJvdz47XG5cbiAgQElucHV0KClcbiAgQFRyYWNrRXh0ZXJuYWwoeyBkZWZhdWx0VmFsdWU6IHRydWUgfSlcbiAgc2hvd0hlYWRlciQ6IFZhbHVlTW9kZWw8Ym9vbGVhbj47XG5cbiAgQElucHV0KClcbiAgQFN0b3JlSW5WYWx1ZU1vZGVsKFwic2hvd0hlYWRlciRcIilcbiAgc2hvd0hlYWRlcjogYm9vbGVhbjtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgdmlzaWJsZVJvd0NvdW50ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KClcblxuICAvKipcbiAgICogU2V0IHRvIHRydWUgdG8gZW5hYmxlIHNjcm9sbGluZy4gIE9uY2UgZW5hYmxlZCB0aGUgdGFibGUgd2lsbCBoYXZlIDAgaW1wbGljaXQgaGVpZ2h0LiAgWW91IHdpbGwgZWl0aGVyXG4gICAqIG5lZWQgdG8gc2V0IGl0IGV4cGxpY2l0bHkgZS5nLiBoZWlnaHQ6IDQwMHB4OyBvciBieSB1c2luZyBmbGV4IG9yIGdyaWQgbGF5b3V0IHRvIG1ha2UgaXQgZmlsbCBpdCdzXG4gICAqIGNvbnRhaW5tZW50IGFyZWEuXG4gICAqL1xuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5lbmFibGUtc2Nyb2xsaW5nXCIpXG4gIGVuYWJsZVNjcm9sbGluZyA9IGZhbHNlO1xuXG4gIGNvbHVtbnM6IExpc3RNb2RlbENoYWluPENvbHVtbk1vZGVsPFJvdz4+O1xuICBjb2x1bW5JZHM6IExpc3RNb2RlbENoYWluPHN0cmluZz47XG4gIHByaXZhdGUgY29sdW1uc0J5SWQ6IE1hcE1vZGVsQ2hhaW48c3RyaW5nLCBDb2x1bW5Nb2RlbDxSb3c+PjtcblxuICByZWFkb25seSBfdmlzaWJsZVJvd0NvdW50OiBWYWx1ZU1vZGVsPG51bWJlcj47XG5cblxuICAvLyBUT0RPOiBzdXBwb3J0IHVzZXIgZGVmaW5lZCBoZWFkZXIgYW5kIHJvdyBoZWlnaHRzIHZpYSBjc3MgdmFycy5cbiAgcHJpdmF0ZSByZWFkb25seSBoZWFkZXJIZWlnaHQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8bnVtYmVyPig1Nik7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm93SGVpZ2h0ID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPG51bWJlcj4oNDgpO1xuXG4gIEBIb3N0QmluZGluZyhcImNsYXNzXCIpXG4gIGJhc2VDc3NDbGFzcyA9IFwiYXVwLXRhYmxlLWNvbXBvbmVudFwiO1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIG5nWm9uZTogTmdab25lKSB7XG4gICAgc3VwZXIoZWxlbWVudFJlZiwgbmdab25lKTtcbiAgICBjb25zdCB7IGNoYWluLCB3aGVuIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG5cbiAgICBjb25zdCBhY3R1YWxIZWFkZXJIZWlnaHQgPSBjaGFpbih0aGlzLnNob3dIZWFkZXIkKS5tYXAoc2hvdyA9PiB7XG4gICAgICByZXR1cm4gc2hvdyA/IHRoaXMuaGVhZGVySGVpZ2h0LnZhbHVlIDogMDtcbiAgICB9LCB7IGRlcGVuZHNPbjogdGhpcy5oZWFkZXJIZWlnaHQgfSk7XG5cbiAgICB0aGlzLl92aXNpYmxlUm93Q291bnQgPSBjaGFpbih0aGlzLmJvdW5kc01vZGVsKS5tYXAoYm91bmRzID0+IHtcbiAgICAgIC8vIFRPRE86IHRoaXMgZG9lc24ndCB0YWtlIGludG8gYWNjb3VudCBhbnkgY3NzIHN0eWxpbmcgYWRqdXN0bWVudHMgZXRjLiAgV2lsbCBpbnZlc3RpZ2F0ZSBpZiBpdCdzIGFuIGlzc3VlLlxuICAgICAgY29uc3QgcmF3Um93Q291bnQgPSAoYm91bmRzLmhlaWdodCAtIGFjdHVhbEhlYWRlckhlaWdodC52YWx1ZSkgLyB0aGlzLnJvd0hlaWdodC52YWx1ZTtcbiAgICAgIHJldHVybiByYXdSb3dDb3VudCA8IDEgPyAwIDogTWF0aC5mbG9vcihyYXdSb3dDb3VudCk7XG4gICAgfSwge1xuICAgICAgZGVwZW5kc09uOiBbYWN0dWFsSGVhZGVySGVpZ2h0LCB0aGlzLnJvd0hlaWdodF0sXG4gICAgICBwb3N0cG9uZVdoaWxlOiBjaGFpbih0aGlzLmJvdW5kc01vZGVsKS5wbHVja051bWVyaWMoXCJoZWlnaHRcIikuaXNMZXNzVGhhbigxKVxuICAgIH0pO1xuXG4gICAgd2hlbih0aGlzLl92aXNpYmxlUm93Q291bnQpLmNoYW5nZXModmlzaWJsZVJvd3MgPT4ge1xuICAgICAgdGhpcy52aXNpYmxlUm93Q291bnQuZW1pdCh2aXNpYmxlUm93cyk7XG4gICAgfSwge2luaXRpYWxWYWx1ZTogXCJ0cmlnZ2VyQ2hhbmdlVW5sZXNzTmlsXCJ9KTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmhpZGUtaGVhZGVyXCIpXG4gIGdldCBoaWRlSGVhZGVyKCkge1xuICAgIHJldHVybiAhdGhpcy5zaG93SGVhZGVyO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgeyBjaGFpbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIHRoaXMuY29sdW1ucyA9IGNoYWluKHRoaXMudGFibGVNb2RlbC5jb2x1bW5zKTtcbiAgICB0aGlzLmNvbHVtbklkcyA9IGNoYWluKHRoaXMuY29sdW1ucykucGx1Y2soXCJjb2x1bW5JZFwiKTtcbiAgICB0aGlzLmNvbHVtbnNCeUlkID0gY2hhaW4odGhpcy5jb2x1bW5zKS5pbmRleEJ5KCdjb2x1bW5JZCcpO1xuICB9XG5cbiAgaXNFZGl0aW5nKHJvdzogUm93KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy50YWJsZU1vZGVsLmdldEVkaXRTZXNzaW9uRm9yKHJvdyk7XG4gIH1cblxuICBub3RpZnlDZWxsQ2xpY2tlZChjb2x1bW5Nb2RlbDogQ29sdW1uTW9kZWw8Um93Piwgcm93OiBSb3cpIHtcbiAgICB0aGlzLnRhYmxlTW9kZWwuX25vdGlmeUNlbGxDbGlja2VkKGNvbHVtbk1vZGVsLCByb3cpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgaXNGaXJzdFZpc2libGVDb2x1bW4oY29sdW1uSWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRhYmxlTW9kZWwuZmlyc3RWaXNpYmxlQ29sdW1uJC5xdWVyeSgpLnZhbHVlPy5jb2x1bW5JZCA9PT0gY29sdW1uSWQ7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBpc0xhc3RWaXNpYmxlQ29sdW1uKGNvbHVtbklkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50YWJsZU1vZGVsLmxhc3RWaXNpYmxlQ29sdW1uJC5xdWVyeSgpLnZhbHVlPy5jb2x1bW5JZCA9PT0gY29sdW1uSWQ7XG4gIH1cblxuICBnZXRDb2x1bW5DbGFzc2VzKGNvbHVtbklkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBjbGFzc2VzID0gW2BhdXAtY29sLSR7dGhpcy5jb2x1bW5zQnlJZC5nZXQoY29sdW1uSWQpLmRhc2hlcmlzZWRDb2x1bW5JZH1gXTtcbiAgICBpZiAodGhpcy5pc0ZpcnN0VmlzaWJsZUNvbHVtbihjb2x1bW5JZCkpIHtcbiAgICAgIGNsYXNzZXMucHVzaChcImZpcnN0LXZpc2libGUtY29sdW1uXCIpO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0xhc3RWaXNpYmxlQ29sdW1uKGNvbHVtbklkKSkge1xuICAgICAgY2xhc3Nlcy5wdXNoKFwibGFzdC12aXNpYmxlLWNvbHVtblwiKTtcbiAgICB9XG4gICAgcmV0dXJuIGNsYXNzZXM7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzY3JvbGwtY29udGFpbmVyXCI+XG4gIDx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwidGFibGVNb2RlbC52aXNpYmxlUm93cyQudmFsdWVcIiBbdHJhY2tCeV09XCJ0YWJsZU1vZGVsLnRyYWNrQnlcIj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zLnZhbHVlOyBpbmRleCBhcyBpbmRleDsgZmlyc3QgYXMgZmlyc3Q7IGxhc3QgYXMgbGFzdFwiXG4gICAgICAgICAgICAgICAgICBtYXRDb2x1bW5EZWY9XCJ7e2NvbHVtbi5jb2x1bW5JZH19XCI+XG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIFtjbGFzcy5mbGV4XT1cImNvbHVtbi5pc0ZsZXgoKVwiIFtjbGFzcy5oaWRlXT1cIiFjb2x1bW4uaXNWaXNpYmxlKClcIj5cbiAgICAgICAgPGF1cC10YWJsZS1oZWFkZXItY2VsbCBbY29sdW1uXT1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuY29sdW1uLWluZGV4XT1cImluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5jb2x1bW4taWRdPVwiY29sdW1uLmNvbHVtbklkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiZ2V0Q29sdW1uQ2xhc3Nlcyhjb2x1bW4uY29sdW1uSWQpXCJcbiAgICAgICAgPjwvYXVwLXRhYmxlLWhlYWRlci1jZWxsPlxuICAgICAgPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiAoY2xpY2spPVwibm90aWZ5Q2VsbENsaWNrZWQoY29sdW1uLCByb3cpXCJcbiAgICAgICAgICBbY2xhc3MuZW5hYmxlLWN1cnNvcl09XCJ0YWJsZU1vZGVsLmlzQ3Vyc29yRW5hYmxlZChjb2x1bW4pXCJcbiAgICAgICAgICBbY2xhc3MuZmxleF09XCJjb2x1bW4uaXNGbGV4KClcIlxuICAgICAgICAgIFtjbGFzcy5oaWRlXT1cIiFjb2x1bW4uaXNWaXNpYmxlKClcIlxuICAgICAgPlxuICAgICAgICA8YXVwLXRhYmxlLWNlbGwgW2NvbHVtbl09XCJjb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3Jvd109XCJyb3dcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmxlTW9kZWxdPVwidGFibGVNb2RlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZWRpdFNlc3Npb25dPVwidGFibGVNb2RlbC5nZXRFZGl0U2Vzc2lvbkZvcihyb3cpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmNvbHVtbi1pbmRleF09XCJpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5jb2x1bW4taWRdPVwiY29sdW1uLmNvbHVtbklkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJnZXRDb2x1bW5DbGFzc2VzKGNvbHVtbi5jb2x1bW5JZClcIlxuICAgICAgICA+PC9hdXAtdGFibGUtY2VsbD5cbiAgICAgIDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImNvbHVtbklkcy52YWx1ZVwiPjwvdHI+XG4gICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGNvbHVtbklkcy52YWx1ZTsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInRhYmxlTW9kZWwuZ2V0Um93Q2xhc3Nlcyhyb3cpXCIgW2NsYXNzLmVuYWJsZS1ob3Zlcl09XCJ0YWJsZU1vZGVsLmlzSG92ZXJFbmFibGVkKClcIlxuICAgICAgICBbYXR0ci5hdXAtcm93LWlkXT1cInRhYmxlTW9kZWwudHJhY2tCeShpLCByb3cpXCJcbiAgICA+PC90cj5cblxuICA8L3RhYmxlPlxuPC9kaXY+XG5cbiJdfQ==
@@ -1,3 +1,5 @@
1
+ import { MutableValueModel, PagedListModel, TransactionObserver } from "@coolon/pectin";
2
+ import { isNil } from "lodash-es";
1
3
  import { AbstractTableModel } from "../abstract-table-model";
2
4
  /**
3
5
  * Example:
@@ -81,13 +83,30 @@ import { AbstractTableModel } from "../abstract-table-model";
81
83
  export class TableModel extends AbstractTableModel {
82
84
  constructor(sourceOfTruth, builder) {
83
85
  super();
86
+ this._pageSize = new MutableValueModel();
84
87
  if (builder) {
85
88
  builder(this);
86
89
  }
87
90
  this.setDataSource(sourceOfTruth);
91
+ const txo = new TransactionObserver({ verbose: true }).onEvent(e => console.log(e.name, e.payload));
92
+ txo.observe("this.visibleRows$", this.visibleRows$);
93
+ }
94
+ get pageController() {
95
+ return this._pageController;
96
+ }
97
+ enablePaging() {
98
+ if (isNil(this.pageController)) {
99
+ const pagedListModel = this.registerDisposable(PagedListModel.wrap(this._visibleRows$.getDelegate()));
100
+ this._visibleRows$.setDelegate(pagedListModel);
101
+ this._pageController = pagedListModel.pageController;
102
+ this._pageController.setPageSize(this._pageSize);
103
+ }
88
104
  }
89
105
  addSelectionColumn(selectionModel, showSelectionColumn) {
90
106
  return this._addSelectionColumn(selectionModel, showSelectionColumn);
91
107
  }
108
+ updatePageSize(count) {
109
+ this._pageSize.value = count;
110
+ }
92
111
  }
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy90YWJsZS90YWJsZS1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUc3RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEVHO0FBQ0gsTUFBTSxPQUFPLFVBQWdCLFNBQVEsa0JBQXVCO0lBRTFELFlBQVksYUFBNkIsRUFBRSxPQUEwQztRQUNuRixLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksT0FBTyxFQUFFO1lBQ1gsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2Y7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxjQUFvQyxFQUFFLG1CQUFtRDtRQUMxRyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUN2RSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaXN0TW9kZWwsIFNlbGVjdGlvbk1vZGVsLCBWYWx1ZU1vZGVsIH0gZnJvbSBcIkBjb29sb24vcGVjdGluXCI7XG5pbXBvcnQgeyBBYnN0cmFjdFRhYmxlTW9kZWwgfSBmcm9tIFwiLi4vYWJzdHJhY3QtdGFibGUtbW9kZWxcIjtcbmltcG9ydCB7IFNlbGVjdGlvbkNvbHVtbk1vZGVsIH0gZnJvbSBcIi4uL2NvbHVtbi9zZWxlY3Rpb24tY29sdW1uLW1vZGVsXCI7XG5cbi8qKlxuICogRXhhbXBsZTpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBtb2RlbCA9IG5ldyBUYWJsZU1vZGVsKGhlcm9MaXN0LCB0YWJsZSA9PiB7XG4gKiAgIHRhYmxlLnBsdWNrKFwiZmlyc3ROYW1lXCIpO1xuICogICB0YWJsZS5wbHVjayhcImxhc3ROYW1lXCIpO1xuICogICB0YWJsZS5hZGRDdXN0b21Db2x1bW4oXCJmdWxsTmFtZVwiLCBoZXJvID0+IGAke2hlcm8uZmlyc3ROYW1lfSAke2hlcm8ubGFzdE5hbWV9YCk7XG4gKiB9KTtcbiAqXG4gKiBFZGl0YWJsZSB0YWJsZXNcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBzYXZlQ29tbWFuZCA9IFVuYXJ5Q29tbWFuZC5jcmVhdGUoKGZvcm06IEZvcm08SGVybz4pID0+IHtcbiAqICAgaWYgKGZvcm0udmFsaWRhdGUoKSkge1xuICogICAgIC8vIG5vcm1hbCBmb3JtIHNhdmUgc3R1ZmZcbiAqICAgICByZXR1cm4gdHJ1ZTsgLy8gZmluaXNoIGVkaXRpbmdcbiAqICAgfVxuICogICByZXR1cm4gZmFsc2U7IC8vIGNvbnRpbnVlIGVkaXRpaW5nXG4gKiB9XG4gKiBjb25zdCBjb2xvcnNOYW1lczogTGlzdE1vZGVsPHN0cmluZz4gPSAuLi47XG4gKiBjb25zdCBtb2RlbCA9IFRhYmxlTW9kZWwuZnJvbUxpc3QoaGVyb0xpc3QsIHRhYmxlID0+IHtcbiAqICAgdGFibGUucGx1Y2soXCJmaXJzdE5hbWVcIikuY2VsbEVkaXRvcihTdHJpbmdJbnB1dENvbXBvbmVudCk7IDwtLSBpbnRlcmZhY2UgQ2VsbEVkaXRvciB7IHZhbHVlTW9kZWw6ICBEaXJ0eVRyYWNraW5nRm9ybS5WYWx1ZU1vZGVsPHN0cmluZz4gfCBWYWx1ZU1vZGVsPHN0cmluZz47IH1cbiAqICAgdGFibGUucGx1Y2soXCJsYXN0TmFtZVwiKS5jZWxsRWRpdG9yKFN0cmluZ0lucHV0Q29tcG9uZW50LCB7XG4gKiAgICAgdmFsaWRhdG9yczogW1ZhbGlkYXRvci5wcmVzZW50KFwiV2UgbmVlZCBhIGxhc3QgbmFtZVwiKV1cbiAqICAgfSk7XG4gKiAgIHRhYmxlLnBsdWNrKFwiYWdlXCIpLmNlbGxFZGl0b3IoTnVtYmVySW5wdXRDb21wb25lbnQpO1xuICogICB0YWJsZS5wbHVjayhcImZhdm9yaXRlQ29sb3JcIikuY2VsbEVkaXRvcihTZWxlY3RJbnB1dENvbXBvbmVudCwge1xuICogICAgIGluaXRpYWxpc2VDb21wb25lbnQoY29tcG9uZW50OiBTZWxlY3RJbnB1dENvbXBvbmVudCkge1xuICogICAgICAgc2VsZWN0SW5wdXQub3B0aW9uc01vZGVsID0gY29sb3JzTmFtZXM7IC8vIDwtIGluaXRpYWxpc2Ugb3VyIGNvbXBvbmVudFxuICogICAgIH1cbiAqICAgfSk7XG4gKiAgIHRhYmxlLmFkZEVkaXRDb250cm9scyhzYXZlQ29tbWFuZCk7IC8vIDwtIHJlcXVpcmVkIHRvIGVuYWJsZSBlZGl0aW5nXG4gKiB9KTtcbiAqXG4gKiBTZWxlY3Rpb24gbW9kZWxzXG4gKiBAZXhhbXBsZVxuICogY29uc3QgbW9kZWwgPSBuZXcgVGFibGVNb2RlbChoZXJvTGlzdCwgdGFibGUgPT4ge1xuICogICB0YWJsZS5hZGRTZWxlY3Rpb25Db2x1bW4oc2VsZWN0aW9uTW9kZWwpOyAvLyA8LSBjYW4gYmUgc2luZ2xlIG9yIG11bHRpcGxlIHNlbGVjdGlvbiBtb2RlbFxuICogICB0YWJsZS5wbHVjayhcImZpcnN0TmFtZVwiKTtcbiAqICAgdGFibGUucGx1Y2soXCJsYXN0TmFtZVwiKTtcbiAqIH0pO1xuICpcbiAqIEN1c3RvbSBjZWxsIHJlbmRlcmVycyBhbmQgZWRpdG9yc1xuICogQGV4YW1wbGVcbiAqIGNvbnN0IG1vZGVsID0gbmV3IFRhYmxlTW9kZWwoaGVyb0xpc3QsIHRhYmxlID0+IHtcbiAqICAgdGFibGUucGx1Y2soXCJmYXZvcml0ZUNvbG9yXCIpXG4gKiAgICAgIC5jZWxsSGVhZGVyUmVuZGVyZXIoQ2VsbEhlYWRlclJlbmRlcmVyQ29tcG9uZW50LCAoY29tcG9uZW50LCBjb2x1bW4pID0+IHtcbiAqICAgICAgICAvLyBjb25maWd1cmUgeW91ciBjb21wb25lbnQgd2l0aCB3aGF0IGV2ZXIgeW91IG5lZWQuXG4gKiAgICAgIH0pO1xuICogICAgICAuY2VsbFJlbmRlcmVyKENlbGxSZW5kZXJlckNvbXBvbmVudCkgLy8gPC0tIGludGVyZmFjZSBDZWxsRWRpdG9yIHsgdmFsdWU6IHN0cmluZzsgfVxuICogICAgICAuY2VsbEVkaXRvcihDZWxsRWRpdG9yQ29tcG9uZW50Lik7IC8vIDwtLSBpbnRlcmZhY2UgQ2VsbEVkaXRvciB7IHZhbHVlTW9kZWw6ICBEaXJ0eVRyYWNraW5nRm9ybS5WYWx1ZU1vZGVsPHN0cmluZz4gfCBWYWx1ZU1vZGVsPHN0cmluZz47IH1cbiAqICAgdGFibGUuYWRkQ3VzdG9tQ29sdW1uKFwiZnVsbE5hbWVcIiwgaGVybyA9PiBgJHtoZXJvLmZpcnN0TmFtZX0gJHtoZXJvLmxhc3ROYW1lfWApO1xuICogfSk7XG4gKlxuICogVGVtcGxhdGUgY29sdW1uc1xuICogQGV4YW1wbGVcbiAqIGNvbnN0IG1vZGVsID0gbmV3IFRhYmxlTW9kZWwoaGVyb0xpc3QsIHRhYmxlID0+IHtcbiAqICAgdGFibGUuYWRkU2VsZWN0aW9uQ29sdW1uKHNlbGVjdGlvbk1vZGVsKTsgLy8gPC0gY2FuIGJlIHNpbmdsZSBvciBtdWx0aXBsZSBzZWxlY3Rpb24gbW9kZWxcbiAqICAgdGFibGUuYWRkVGVtcGxhdGVDb2x1bW4oXCJteVRlbXBsYXRlXCIpO1xuICogfSk7XG4gKlxuICogPGRpdiAqYXVwQ29sdW1uVGVtcGxhdGU9XCJsZXQgaGVybzsgY29sdW1uSWQ6ICdteVRlbXBsYXRlJ1wiPnt7aGVyby5hZ2V9fTwvZGl2PlxuICpcbiAqIEkxOG5cbiAqIEBleGFtcGxlXG4gKiBbdGFibGUueW1sXVxuICogdGFibGU6XG4gKiAgIGNvbHVtbnMoQ29sdW1uVGV4dFByb3BlcnRpZXNbXSk6XG4gKiAgICAgIGZpcnN0TmFtZTpcbiAqICAgICAgICAgaGVhZGVyVGV4dDogXCJGaXJzdCBOYW1lXCJcbiAqICAgICAgZnVsbE5hbWU6XG4gKiAgICAgICAgIGhlYWRlclRleHQ6IFwiRnVsbCBOYW1lXCJcbiAqXG4gKiBjb25zdCBtb2RlbCA9IG5ldyBUYWJsZU1vZGVsKGhlcm9MaXN0LCB0YWJsZSA9PiB7XG4gKiAgIHRhYmxlLnBsdWNrKFwiZmF2b3JpdGVDb2xvclwiKS5jZWxsUmVuZGVyZXIoLi4uKS5jZWxsRWRpdG9yKC4uLik7XG4gKiAgIHRhYmxlLmFkZEN1c3RvbUNvbHVtbihcImZ1bGxOYW1lXCIsIGhlcm8gPT4gYCR7aGVyby5maXJzdE5hbWV9ICR7aGVyby5sYXN0TmFtZX1gKTtcbiAqXG4gKiAgIHRhYmxlLmNvbHVtblRleHRQcm9wZXJ0aWVzKEkxOG4udGFibGUuY29sdW1ucyk7IC8vIDwtIGNvbmZpZ3VyZXMgYWxsIGNvbHVtbnNcbiAqIH0pO1xuICovXG5leHBvcnQgY2xhc3MgVGFibGVNb2RlbDxSb3c+IGV4dGVuZHMgQWJzdHJhY3RUYWJsZU1vZGVsPFJvdz4ge1xuXG4gIGNvbnN0cnVjdG9yKHNvdXJjZU9mVHJ1dGg6IExpc3RNb2RlbDxSb3c+LCBidWlsZGVyPzogKHRhYmxlOiBUYWJsZU1vZGVsPFJvdz4pID0+IHZvaWQpIHtcbiAgICBzdXBlcigpO1xuICAgIGlmIChidWlsZGVyKSB7XG4gICAgICBidWlsZGVyKHRoaXMpO1xuICAgIH1cbiAgICB0aGlzLnNldERhdGFTb3VyY2Uoc291cmNlT2ZUcnV0aCk7XG4gIH1cblxuICBhZGRTZWxlY3Rpb25Db2x1bW4oc2VsZWN0aW9uTW9kZWw/OiBTZWxlY3Rpb25Nb2RlbDxSb3c+LCBzaG93U2VsZWN0aW9uQ29sdW1uPzogVmFsdWVNb2RlbDxib29sZWFuPiB8IGJvb2xlYW4pOiBTZWxlY3Rpb25Db2x1bW5Nb2RlbDxSb3c+IHtcbiAgICByZXR1cm4gdGhpcy5fYWRkU2VsZWN0aW9uQ29sdW1uKHNlbGVjdGlvbk1vZGVsLCBzaG93U2VsZWN0aW9uQ29sdW1uKTtcbiAgfVxufVxuIl19
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy90YWJsZS90YWJsZS1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBRWpCLGNBQWMsRUFDRSxtQkFBbUIsRUFFcEMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRzdEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4RUc7QUFDSCxNQUFNLE9BQU8sVUFBZ0IsU0FBUSxrQkFBdUI7SUFNMUQsWUFBWSxhQUE2QixFQUFFLE9BQTBDO1FBQ25GLEtBQUssRUFBRSxDQUFDO1FBSEYsY0FBUyxHQUFHLElBQUksaUJBQWlCLEVBQVUsQ0FBQztRQUlsRCxJQUFJLE9BQU8sRUFBRTtZQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNmO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNsQyxNQUFNLEdBQUcsR0FBRyxJQUFJLG1CQUFtQixDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3BHLEdBQUcsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQzlCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3RHLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDLGNBQWMsQ0FBQztZQUNyRCxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDbEQ7SUFDSCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsY0FBb0MsRUFBRSxtQkFBbUQ7UUFDMUcsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBMaXN0TW9kZWwsXG4gIE11dGFibGVWYWx1ZU1vZGVsLFxuICBQYWdlQ29udHJvbGxlcixcbiAgUGFnZWRMaXN0TW9kZWwsXG4gIFNlbGVjdGlvbk1vZGVsLCBUcmFuc2FjdGlvbk9ic2VydmVyLFxuICBWYWx1ZU1vZGVsXG59IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IHsgaXNOaWwgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgeyBBYnN0cmFjdFRhYmxlTW9kZWwgfSBmcm9tIFwiLi4vYWJzdHJhY3QtdGFibGUtbW9kZWxcIjtcbmltcG9ydCB7IFNlbGVjdGlvbkNvbHVtbk1vZGVsIH0gZnJvbSBcIi4uL2NvbHVtbi9zZWxlY3Rpb24tY29sdW1uLW1vZGVsXCI7XG5cbi8qKlxuICogRXhhbXBsZTpcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBtb2RlbCA9IG5ldyBUYWJsZU1vZGVsKGhlcm9MaXN0LCB0YWJsZSA9PiB7XG4gKiAgIHRhYmxlLnBsdWNrKFwiZmlyc3ROYW1lXCIpO1xuICogICB0YWJsZS5wbHVjayhcImxhc3ROYW1lXCIpO1xuICogICB0YWJsZS5hZGRDdXN0b21Db2x1bW4oXCJmdWxsTmFtZVwiLCBoZXJvID0+IGAke2hlcm8uZmlyc3ROYW1lfSAke2hlcm8ubGFzdE5hbWV9YCk7XG4gKiB9KTtcbiAqXG4gKiBFZGl0YWJsZSB0YWJsZXNcbiAqIEBleGFtcGxlXG4gKiBjb25zdCBzYXZlQ29tbWFuZCA9IFVuYXJ5Q29tbWFuZC5jcmVhdGUoKGZvcm06IEZvcm08SGVybz4pID0+IHtcbiAqICAgaWYgKGZvcm0udmFsaWRhdGUoKSkge1xuICogICAgIC8vIG5vcm1hbCBmb3JtIHNhdmUgc3R1ZmZcbiAqICAgICByZXR1cm4gdHJ1ZTsgLy8gZmluaXNoIGVkaXRpbmdcbiAqICAgfVxuICogICByZXR1cm4gZmFsc2U7IC8vIGNvbnRpbnVlIGVkaXRpaW5nXG4gKiB9XG4gKiBjb25zdCBjb2xvcnNOYW1lczogTGlzdE1vZGVsPHN0cmluZz4gPSAuLi47XG4gKiBjb25zdCBtb2RlbCA9IFRhYmxlTW9kZWwuZnJvbUxpc3QoaGVyb0xpc3QsIHRhYmxlID0+IHtcbiAqICAgdGFibGUucGx1Y2soXCJmaXJzdE5hbWVcIikuY2VsbEVkaXRvcihTdHJpbmdJbnB1dENvbXBvbmVudCk7IDwtLSBpbnRlcmZhY2UgQ2VsbEVkaXRvciB7IHZhbHVlTW9kZWw6ICBEaXJ0eVRyYWNraW5nRm9ybS5WYWx1ZU1vZGVsPHN0cmluZz4gfCBWYWx1ZU1vZGVsPHN0cmluZz47IH1cbiAqICAgdGFibGUucGx1Y2soXCJsYXN0TmFtZVwiKS5jZWxsRWRpdG9yKFN0cmluZ0lucHV0Q29tcG9uZW50LCB7XG4gKiAgICAgdmFsaWRhdG9yczogW1ZhbGlkYXRvci5wcmVzZW50KFwiV2UgbmVlZCBhIGxhc3QgbmFtZVwiKV1cbiAqICAgfSk7XG4gKiAgIHRhYmxlLnBsdWNrKFwiYWdlXCIpLmNlbGxFZGl0b3IoTnVtYmVySW5wdXRDb21wb25lbnQpO1xuICogICB0YWJsZS5wbHVjayhcImZhdm9yaXRlQ29sb3JcIikuY2VsbEVkaXRvcihTZWxlY3RJbnB1dENvbXBvbmVudCwge1xuICogICAgIGluaXRpYWxpc2VDb21wb25lbnQoY29tcG9uZW50OiBTZWxlY3RJbnB1dENvbXBvbmVudCkge1xuICogICAgICAgc2VsZWN0SW5wdXQub3B0aW9uc01vZGVsID0gY29sb3JzTmFtZXM7IC8vIDwtIGluaXRpYWxpc2Ugb3VyIGNvbXBvbmVudFxuICogICAgIH1cbiAqICAgfSk7XG4gKiAgIHRhYmxlLmFkZEVkaXRDb250cm9scyhzYXZlQ29tbWFuZCk7IC8vIDwtIHJlcXVpcmVkIHRvIGVuYWJsZSBlZGl0aW5nXG4gKiB9KTtcbiAqXG4gKiBTZWxlY3Rpb24gbW9kZWxzXG4gKiBAZXhhbXBsZVxuICogY29uc3QgbW9kZWwgPSBuZXcgVGFibGVNb2RlbChoZXJvTGlzdCwgdGFibGUgPT4ge1xuICogICB0YWJsZS5hZGRTZWxlY3Rpb25Db2x1bW4oc2VsZWN0aW9uTW9kZWwpOyAvLyA8LSBjYW4gYmUgc2luZ2xlIG9yIG11bHRpcGxlIHNlbGVjdGlvbiBtb2RlbFxuICogICB0YWJsZS5wbHVjayhcImZpcnN0TmFtZVwiKTtcbiAqICAgdGFibGUucGx1Y2soXCJsYXN0TmFtZVwiKTtcbiAqIH0pO1xuICpcbiAqIEN1c3RvbSBjZWxsIHJlbmRlcmVycyBhbmQgZWRpdG9yc1xuICogQGV4YW1wbGVcbiAqIGNvbnN0IG1vZGVsID0gbmV3IFRhYmxlTW9kZWwoaGVyb0xpc3QsIHRhYmxlID0+IHtcbiAqICAgdGFibGUucGx1Y2soXCJmYXZvcml0ZUNvbG9yXCIpXG4gKiAgICAgIC5jZWxsSGVhZGVyUmVuZGVyZXIoQ2VsbEhlYWRlclJlbmRlcmVyQ29tcG9uZW50LCAoY29tcG9uZW50LCBjb2x1bW4pID0+IHtcbiAqICAgICAgICAvLyBjb25maWd1cmUgeW91ciBjb21wb25lbnQgd2l0aCB3aGF0IGV2ZXIgeW91IG5lZWQuXG4gKiAgICAgIH0pO1xuICogICAgICAuY2VsbFJlbmRlcmVyKENlbGxSZW5kZXJlckNvbXBvbmVudCkgLy8gPC0tIGludGVyZmFjZSBDZWxsRWRpdG9yIHsgdmFsdWU6IHN0cmluZzsgfVxuICogICAgICAuY2VsbEVkaXRvcihDZWxsRWRpdG9yQ29tcG9uZW50Lik7IC8vIDwtLSBpbnRlcmZhY2UgQ2VsbEVkaXRvciB7IHZhbHVlTW9kZWw6ICBEaXJ0eVRyYWNraW5nRm9ybS5WYWx1ZU1vZGVsPHN0cmluZz4gfCBWYWx1ZU1vZGVsPHN0cmluZz47IH1cbiAqICAgdGFibGUuYWRkQ3VzdG9tQ29sdW1uKFwiZnVsbE5hbWVcIiwgaGVybyA9PiBgJHtoZXJvLmZpcnN0TmFtZX0gJHtoZXJvLmxhc3ROYW1lfWApO1xuICogfSk7XG4gKlxuICogVGVtcGxhdGUgY29sdW1uc1xuICogQGV4YW1wbGVcbiAqIGNvbnN0IG1vZGVsID0gbmV3IFRhYmxlTW9kZWwoaGVyb0xpc3QsIHRhYmxlID0+IHtcbiAqICAgdGFibGUuYWRkU2VsZWN0aW9uQ29sdW1uKHNlbGVjdGlvbk1vZGVsKTsgLy8gPC0gY2FuIGJlIHNpbmdsZSBvciBtdWx0aXBsZSBzZWxlY3Rpb24gbW9kZWxcbiAqICAgdGFibGUuYWRkVGVtcGxhdGVDb2x1bW4oXCJteVRlbXBsYXRlXCIpO1xuICogfSk7XG4gKlxuICogPGRpdiAqYXVwQ29sdW1uVGVtcGxhdGU9XCJsZXQgaGVybzsgY29sdW1uSWQ6ICdteVRlbXBsYXRlJ1wiPnt7aGVyby5hZ2V9fTwvZGl2PlxuICpcbiAqIEkxOG5cbiAqIEBleGFtcGxlXG4gKiBbdGFibGUueW1sXVxuICogdGFibGU6XG4gKiAgIGNvbHVtbnMoQ29sdW1uVGV4dFByb3BlcnRpZXNbXSk6XG4gKiAgICAgIGZpcnN0TmFtZTpcbiAqICAgICAgICAgaGVhZGVyVGV4dDogXCJGaXJzdCBOYW1lXCJcbiAqICAgICAgZnVsbE5hbWU6XG4gKiAgICAgICAgIGhlYWRlclRleHQ6IFwiRnVsbCBOYW1lXCJcbiAqXG4gKiBjb25zdCBtb2RlbCA9IG5ldyBUYWJsZU1vZGVsKGhlcm9MaXN0LCB0YWJsZSA9PiB7XG4gKiAgIHRhYmxlLnBsdWNrKFwiZmF2b3JpdGVDb2xvclwiKS5jZWxsUmVuZGVyZXIoLi4uKS5jZWxsRWRpdG9yKC4uLik7XG4gKiAgIHRhYmxlLmFkZEN1c3RvbUNvbHVtbihcImZ1bGxOYW1lXCIsIGhlcm8gPT4gYCR7aGVyby5maXJzdE5hbWV9ICR7aGVyby5sYXN0TmFtZX1gKTtcbiAqXG4gKiAgIHRhYmxlLmNvbHVtblRleHRQcm9wZXJ0aWVzKEkxOG4udGFibGUuY29sdW1ucyk7IC8vIDwtIGNvbmZpZ3VyZXMgYWxsIGNvbHVtbnNcbiAqIH0pO1xuICovXG5leHBvcnQgY2xhc3MgVGFibGVNb2RlbDxSb3c+IGV4dGVuZHMgQWJzdHJhY3RUYWJsZU1vZGVsPFJvdz4ge1xuXG4gIHByaXZhdGUgX3BhZ2VDb250cm9sbGVyOiBQYWdlQ29udHJvbGxlcjtcblxuICBwcml2YXRlIF9wYWdlU2l6ZSA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxudW1iZXI+KCk7XG5cbiAgY29uc3RydWN0b3Ioc291cmNlT2ZUcnV0aDogTGlzdE1vZGVsPFJvdz4sIGJ1aWxkZXI/OiAodGFibGU6IFRhYmxlTW9kZWw8Um93PikgPT4gdm9pZCkge1xuICAgIHN1cGVyKCk7XG4gICAgaWYgKGJ1aWxkZXIpIHtcbiAgICAgIGJ1aWxkZXIodGhpcyk7XG4gICAgfVxuICAgIHRoaXMuc2V0RGF0YVNvdXJjZShzb3VyY2VPZlRydXRoKTtcbiAgICBjb25zdCB0eG8gPSBuZXcgVHJhbnNhY3Rpb25PYnNlcnZlcih7IHZlcmJvc2U6IHRydWUgfSkub25FdmVudChlID0+IGNvbnNvbGUubG9nKGUubmFtZSwgZS5wYXlsb2FkKSk7XG4gICAgdHhvLm9ic2VydmUoXCJ0aGlzLnZpc2libGVSb3dzJFwiLCB0aGlzLnZpc2libGVSb3dzJCk7XG4gIH1cblxuICBnZXQgcGFnZUNvbnRyb2xsZXIoKTogUGFnZUNvbnRyb2xsZXIge1xuICAgIHJldHVybiB0aGlzLl9wYWdlQ29udHJvbGxlcjtcbiAgfVxuXG4gIGVuYWJsZVBhZ2luZygpIHtcbiAgICBpZiAoaXNOaWwodGhpcy5wYWdlQ29udHJvbGxlcikpIHtcbiAgICAgIGNvbnN0IHBhZ2VkTGlzdE1vZGVsID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUoUGFnZWRMaXN0TW9kZWwud3JhcCh0aGlzLl92aXNpYmxlUm93cyQuZ2V0RGVsZWdhdGUoKSkpO1xuICAgICAgdGhpcy5fdmlzaWJsZVJvd3MkLnNldERlbGVnYXRlKHBhZ2VkTGlzdE1vZGVsKTtcbiAgICAgIHRoaXMuX3BhZ2VDb250cm9sbGVyID0gcGFnZWRMaXN0TW9kZWwucGFnZUNvbnRyb2xsZXI7XG4gICAgICB0aGlzLl9wYWdlQ29udHJvbGxlci5zZXRQYWdlU2l6ZSh0aGlzLl9wYWdlU2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgYWRkU2VsZWN0aW9uQ29sdW1uKHNlbGVjdGlvbk1vZGVsPzogU2VsZWN0aW9uTW9kZWw8Um93Piwgc2hvd1NlbGVjdGlvbkNvbHVtbj86IFZhbHVlTW9kZWw8Ym9vbGVhbj4gfCBib29sZWFuKTogU2VsZWN0aW9uQ29sdW1uTW9kZWw8Um93PiB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZFNlbGVjdGlvbkNvbHVtbihzZWxlY3Rpb25Nb2RlbCwgc2hvd1NlbGVjdGlvbkNvbHVtbik7XG4gIH1cblxuICB1cGRhdGVQYWdlU2l6ZShjb3VudDogbnVtYmVyKSB7XG4gICAgdGhpcy5fcGFnZVNpemUudmFsdWUgPSBjb3VudDtcbiAgfVxufVxuIl19