@elderbyte/ngx-starter 14.4.0-beta.18 → 14.4.0-beta.20

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 (47) hide show
  1. package/esm2020/lib/components/data-view/base/data-view-options-provider-binding.mjs +63 -0
  2. package/esm2020/lib/components/data-view/base/elder-data-view-base.mjs +53 -10
  3. package/esm2020/lib/components/data-view/base/elder-data-view-options-provider.mjs +44 -0
  4. package/esm2020/lib/components/data-view/base/elder-data-view-options.mjs +42 -0
  5. package/esm2020/lib/components/data-view/base/public_api.mjs +5 -0
  6. package/esm2020/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +8 -22
  7. package/esm2020/lib/components/data-view/public_api.mjs +2 -2
  8. package/esm2020/lib/components/data-view/table/elder-table/elder-table.component.mjs +9 -43
  9. package/esm2020/lib/components/forms/directives/elder-form-field-label.directive.mjs +31 -18
  10. package/esm2020/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +1 -1
  11. package/esm2020/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +119 -0
  12. package/esm2020/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +137 -0
  13. package/esm2020/lib/components/iframes/elder-iframe.module.mjs +18 -6
  14. package/esm2020/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +1 -1
  15. package/esm2020/lib/components/iframes/iframe-host/iframe-host.component.mjs +56 -30
  16. package/esm2020/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +1 -1
  17. package/esm2020/lib/components/iframes/iframe.service.mjs +2 -2
  18. package/esm2020/lib/components/iframes/typed-event-message.mjs +42 -0
  19. package/esm2020/lib/components/select/elder-select.module.mjs +2 -2
  20. package/esm2020/lib/components/select/popup/selection-model-popup.directive.mjs +21 -39
  21. package/fesm2015/elderbyte-ngx-starter.mjs +1782 -1350
  22. package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -1
  23. package/fesm2020/elderbyte-ngx-starter.mjs +1766 -1336
  24. package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -1
  25. package/lib/components/data-view/base/data-view-options-provider-binding.d.ts +39 -0
  26. package/lib/components/data-view/base/elder-data-view-base.d.ts +29 -6
  27. package/lib/components/data-view/base/elder-data-view-options-provider.d.ts +38 -0
  28. package/lib/components/data-view/base/elder-data-view-options.d.ts +33 -0
  29. package/lib/components/data-view/base/public_api.d.ts +4 -0
  30. package/lib/components/data-view/grid/elder-grid/elder-grid.component.d.ts +4 -6
  31. package/lib/components/data-view/public_api.d.ts +1 -1
  32. package/lib/components/data-view/table/elder-table/elder-table.component.d.ts +5 -19
  33. package/lib/components/forms/directives/elder-form-field-label.directive.d.ts +19 -6
  34. package/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.d.ts +66 -0
  35. package/lib/components/iframes/data-view/data-view-iframe-adapter.directive.d.ts +62 -0
  36. package/lib/components/iframes/elder-iframe.module.d.ts +14 -10
  37. package/lib/components/iframes/iframe-host/iframe-host.component.d.ts +28 -10
  38. package/lib/components/iframes/iframe.service.d.ts +3 -3
  39. package/lib/components/iframes/typed-event-message.d.ts +26 -0
  40. package/lib/components/select/elder-select.module.d.ts +1 -1
  41. package/lib/components/select/popup/selection-model-popup.directive.d.ts +7 -27
  42. package/package.json +1 -1
  43. package/src/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.scss +0 -0
  44. package/esm2020/lib/components/data-view/base/elder-data-view-base.module.mjs +0 -18
  45. package/esm2020/lib/components/iframes/iframe-message.mjs +0 -2
  46. package/lib/components/data-view/base/elder-data-view-base.module.d.ts +0 -9
  47. package/lib/components/iframes/iframe-message.d.ts +0 -5
@@ -0,0 +1,63 @@
1
+ import { LoggerFactory } from '@elderbyte/ts-logger';
2
+ import { takeUntil } from 'rxjs/operators';
3
+ export class DataViewOptionsProviderBinding {
4
+ /***************************************************************************
5
+ * *
6
+ * Constructor *
7
+ * *
8
+ **************************************************************************/
9
+ constructor(_dataViewBaseComponent) {
10
+ this._dataViewBaseComponent = _dataViewBaseComponent;
11
+ /***************************************************************************
12
+ * *
13
+ * Fields *
14
+ * *
15
+ **************************************************************************/
16
+ this.log = LoggerFactory.getLogger(this.constructor.name);
17
+ if (_dataViewBaseComponent == null) {
18
+ throw new Error('dataViewBaseComponent must not be null!');
19
+ }
20
+ }
21
+ /***************************************************************************
22
+ * *
23
+ * Static Builder *
24
+ * *
25
+ **************************************************************************/
26
+ static of(dataViewBaseComponent) {
27
+ return new DataViewOptionsProviderBinding(dataViewBaseComponent);
28
+ }
29
+ /***************************************************************************
30
+ * *
31
+ * Public API *
32
+ * *
33
+ **************************************************************************/
34
+ dataViewOptionsProvider(optionsProvider) {
35
+ if (!optionsProvider) {
36
+ throw new Error('dataViewSelection must not be null!');
37
+ }
38
+ this._optionsProvider = optionsProvider;
39
+ return this;
40
+ }
41
+ bindUntil(unsubscribe$) {
42
+ if (!this._optionsProvider) {
43
+ throw new Error('DataView must be defined to start binding. Use .dataView(dataView)!');
44
+ }
45
+ this._optionsProvider.options$.pipe(takeUntil(unsubscribe$)).subscribe(options => this.applyOptions(options));
46
+ return this;
47
+ }
48
+ /***************************************************************************
49
+ * *
50
+ * Private Methods *
51
+ * *
52
+ **************************************************************************/
53
+ applyOptions(options) {
54
+ const dataCtx = this._dataViewBaseComponent.dataContext;
55
+ if (dataCtx) {
56
+ dataCtx.filter.updateFilters(options.filters);
57
+ dataCtx.sort.updateSorts(options.sorts);
58
+ }
59
+ this._dataViewBaseComponent.interactionMode = options.interactionMode;
60
+ this._dataViewBaseComponent.selectionMultiEnabled = options.selectionMultiEnabled;
61
+ }
62
+ }
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS12aWV3LW9wdGlvbnMtcHJvdmlkZXItYmluZGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS12aWV3L2Jhc2UvZGF0YS12aWV3LW9wdGlvbnMtcHJvdmlkZXItYmluZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBS3pDLE1BQU0sT0FBTyw4QkFBOEI7SUFzQnpDOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixzQkFBa0Q7UUFBbEQsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUE0QjtRQTNCckU7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUF1QnBFLElBQUksc0JBQXNCLElBQUksSUFBSSxFQUFFO1lBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztTQUM1RDtJQUNILENBQUM7SUF0QkQ7Ozs7Z0ZBSTRFO0lBRXJFLE1BQU0sQ0FBQyxFQUFFLENBQUMscUJBQWlEO1FBQ2hFLE9BQU8sSUFBSSw4QkFBOEIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFnQkQ7Ozs7Z0ZBSTRFO0lBRXJFLHVCQUF1QixDQUFDLGVBQTZDO1FBQzFFLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1NBQ3hEO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxTQUFTLENBQ2QsWUFBNkI7UUFHN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLHFFQUFxRSxDQUFDLENBQUM7U0FDeEY7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDakMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUN4QixDQUFDLFNBQVMsQ0FDVCxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQ3RDLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsWUFBWSxDQUFDLE9BQTZCO1FBQy9DLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLENBQUM7UUFFeEQsSUFBSSxPQUFPLEVBQUU7WUFDWCxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDOUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pDO1FBRUQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDO1FBQ3RFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxxQkFBcUIsR0FBRyxPQUFPLENBQUMscUJBQXFCLENBQUM7SUFDcEYsQ0FBQztDQUdGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHt0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RWxkZXJEYXRhVmlld0Jhc2VDb21wb25lbnR9IGZyb20gJy4vZWxkZXItZGF0YS12aWV3LWJhc2UnO1xuaW1wb3J0IHtFbGRlckRhdGFWaWV3T3B0aW9uc1Byb3ZpZGVyfSBmcm9tICcuL2VsZGVyLWRhdGEtdmlldy1vcHRpb25zLXByb3ZpZGVyJztcbmltcG9ydCB7RWxkZXJEYXRhVmlld09wdGlvbnN9IGZyb20gJy4vZWxkZXItZGF0YS12aWV3LW9wdGlvbnMnO1xuXG5leHBvcnQgY2xhc3MgRGF0YVZpZXdPcHRpb25zUHJvdmlkZXJCaW5kaW5nIHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSBfb3B0aW9uc1Byb3ZpZGVyOiBFbGRlckRhdGFWaWV3T3B0aW9uc1Byb3ZpZGVyO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBTdGF0aWMgQnVpbGRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBzdGF0aWMgb2YoZGF0YVZpZXdCYXNlQ29tcG9uZW50OiBFbGRlckRhdGFWaWV3QmFzZUNvbXBvbmVudCk6IERhdGFWaWV3T3B0aW9uc1Byb3ZpZGVyQmluZGluZyB7XG4gICAgcmV0dXJuIG5ldyBEYXRhVmlld09wdGlvbnNQcm92aWRlckJpbmRpbmcoZGF0YVZpZXdCYXNlQ29tcG9uZW50KTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kYXRhVmlld0Jhc2VDb21wb25lbnQ6IEVsZGVyRGF0YVZpZXdCYXNlQ29tcG9uZW50XG4gICkge1xuICAgIGlmIChfZGF0YVZpZXdCYXNlQ29tcG9uZW50ID09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZGF0YVZpZXdCYXNlQ29tcG9uZW50IG11c3Qgbm90IGJlIG51bGwhJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGRhdGFWaWV3T3B0aW9uc1Byb3ZpZGVyKG9wdGlvbnNQcm92aWRlcjogRWxkZXJEYXRhVmlld09wdGlvbnNQcm92aWRlcik6IHRoaXMge1xuICAgIGlmICghb3B0aW9uc1Byb3ZpZGVyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2RhdGFWaWV3U2VsZWN0aW9uIG11c3Qgbm90IGJlIG51bGwhJyk7XG4gICAgfVxuICAgIHRoaXMuX29wdGlvbnNQcm92aWRlciA9IG9wdGlvbnNQcm92aWRlcjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBiaW5kVW50aWwoXG4gICAgdW5zdWJzY3JpYmUkOiBPYnNlcnZhYmxlPGFueT5cbiAgKTogdGhpcyB7XG5cbiAgICBpZiAoIXRoaXMuX29wdGlvbnNQcm92aWRlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdEYXRhVmlldyBtdXN0IGJlIGRlZmluZWQgdG8gc3RhcnQgYmluZGluZy4gVXNlIC5kYXRhVmlldyhkYXRhVmlldykhJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fb3B0aW9uc1Byb3ZpZGVyLm9wdGlvbnMkLnBpcGUoXG4gICAgICB0YWtlVW50aWwodW5zdWJzY3JpYmUkKVxuICAgICkuc3Vic2NyaWJlKFxuICAgICAgb3B0aW9ucyA9PiB0aGlzLmFwcGx5T3B0aW9ucyhvcHRpb25zKVxuICAgICk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIE1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBhcHBseU9wdGlvbnMob3B0aW9uczogRWxkZXJEYXRhVmlld09wdGlvbnMpIHtcbiAgICBjb25zdCBkYXRhQ3R4ID0gdGhpcy5fZGF0YVZpZXdCYXNlQ29tcG9uZW50LmRhdGFDb250ZXh0O1xuXG4gICAgaWYgKGRhdGFDdHgpIHtcbiAgICAgIGRhdGFDdHguZmlsdGVyLnVwZGF0ZUZpbHRlcnMob3B0aW9ucy5maWx0ZXJzKTtcbiAgICAgIGRhdGFDdHguc29ydC51cGRhdGVTb3J0cyhvcHRpb25zLnNvcnRzKTtcbiAgICB9XG5cbiAgICB0aGlzLl9kYXRhVmlld0Jhc2VDb21wb25lbnQuaW50ZXJhY3Rpb25Nb2RlID0gb3B0aW9ucy5pbnRlcmFjdGlvbk1vZGU7XG4gICAgdGhpcy5fZGF0YVZpZXdCYXNlQ29tcG9uZW50LnNlbGVjdGlvbk11bHRpRW5hYmxlZCA9IG9wdGlvbnMuc2VsZWN0aW9uTXVsdGlFbmFibGVkO1xuICB9XG5cblxufVxuIl19
@@ -1,20 +1,21 @@
1
1
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
- import { Component, Input, Output } from '@angular/core';
2
+ import { Directive, Input, Output } from '@angular/core';
3
3
  import { BehaviorSubject, Subject } from 'rxjs';
4
4
  import { map } from 'rxjs/operators';
5
5
  import { isActivePagedDataContext, isContinuableDataContext } from '../../../common/data/data-context/data-context';
6
6
  import { SelectionModel } from '../../../common/selection/selection-model';
7
+ import { DataViewOptionsProviderBinding } from './data-view-options-provider-binding';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "../../../common/selection/selection-model";
9
- import * as i2 from "../../select/popup/selection-model-popup.directive";
10
+ import * as i2 from "./elder-data-view-options-provider";
10
11
  export class ElderDataViewBaseComponent {
11
12
  /***************************************************************************
12
13
  * *
13
14
  * Constructor *
14
15
  * *
15
16
  **************************************************************************/
16
- constructor(selectionModel, dataViewSelection) {
17
- this.dataViewSelection = dataViewSelection;
17
+ constructor(selectionModel, dataViewOptionsProvider) {
18
+ this.dataViewOptionsProvider = dataViewOptionsProvider;
18
19
  /***************************************************************************
19
20
  * *
20
21
  * Fields *
@@ -25,6 +26,14 @@ export class ElderDataViewBaseComponent {
25
26
  */
26
27
  this.dataContext$ = new BehaviorSubject(null);
27
28
  this.interactionMode = 'open';
29
+ /**
30
+ * Define if elder-table should clean up the
31
+ * data-context resources for you.
32
+ *
33
+ * In more advanced scenarios where you plan to reuse the same data-context
34
+ * set this to false and release the resources yourself. (dataContext.close)
35
+ */
36
+ this.cleanUp = true;
28
37
  /**
29
38
  * If true, this table is in dense mode.
30
39
  * Heights are generally reduced.
@@ -42,6 +51,7 @@ export class ElderDataViewBaseComponent {
42
51
  this._embedded = false;
43
52
  this._itemClickSubject = new Subject();
44
53
  this.EntityIdKeyFn = (entity) => entity ? this.getId(entity) : 0;
54
+ this.destroy$ = new Subject();
45
55
  if (!selectionModel) {
46
56
  this.selectionModel = new SelectionModel(false, [], this.EntityIdKeyFn);
47
57
  }
@@ -49,6 +59,29 @@ export class ElderDataViewBaseComponent {
49
59
  this.selectionModel = selectionModel;
50
60
  }
51
61
  }
62
+ /***************************************************************************
63
+ * *
64
+ * Life Cycle *
65
+ * *
66
+ **************************************************************************/
67
+ ngOnInit() {
68
+ if (this.dataViewOptionsProvider) {
69
+ if (this.dataViewOptionsProvider.options.interactionMode === 'selection') {
70
+ this.selectionVisible = true;
71
+ this.float = false;
72
+ }
73
+ if (this.dataContext) {
74
+ DataViewOptionsProviderBinding.of(this)
75
+ .dataViewOptionsProvider(this.dataViewOptionsProvider)
76
+ .bindUntil(this.destroy$);
77
+ }
78
+ }
79
+ }
80
+ ngOnDestroy() {
81
+ this.destroy$.next();
82
+ this.destroy$.complete();
83
+ this.autoCleanUp();
84
+ }
52
85
  /***************************************************************************
53
86
  * *
54
87
  * Properties *
@@ -190,13 +223,23 @@ export class ElderDataViewBaseComponent {
190
223
  getId(entity) {
191
224
  return this.dataContext?.dataSource?.getId(entity) || entity;
192
225
  }
226
+ /**
227
+ * Performs clean up of the current data context if auto clean up is enabled.
228
+ */
229
+ autoCleanUp() {
230
+ if (this.cleanUp && this.dataContext) {
231
+ //this.logger.debug('Releasing DataContext resources to prevent memory leak. [cleanUp]="true"');
232
+ this.dataContext.close();
233
+ }
234
+ }
193
235
  }
194
- ElderDataViewBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ElderDataViewBaseComponent, deps: [{ token: i1.SelectionModel }, { token: i2.ElderDataViewSelectionMode }], target: i0.ɵɵFactoryTarget.Component });
195
- ElderDataViewBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: ElderDataViewBaseComponent, selector: "elder-data-view-base", inputs: { interactionMode: "interactionMode", selectableEvaluatorFn: "selectableEvaluatorFn", selection: "selection", selectionMultiEnabled: "selectionMultiEnabled", dense: "dense", float: "float", embedded: "embedded" }, outputs: { selectionChange: "selectionChange", selectionSingleChange: "selectionSingleChange", itemClick: "itemClick" }, ngImport: i0, template: '', isInline: true });
236
+ ElderDataViewBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ElderDataViewBaseComponent, deps: [{ token: i1.SelectionModel }, { token: i2.ElderDataViewOptionsProvider }], target: i0.ɵɵFactoryTarget.Directive });
237
+ ElderDataViewBaseComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.6", type: ElderDataViewBaseComponent, inputs: { interactionMode: "interactionMode", cleanUp: "cleanUp", selectableEvaluatorFn: "selectableEvaluatorFn", selection: "selection", selectionMultiEnabled: "selectionMultiEnabled", dense: "dense", float: "float", embedded: "embedded" }, outputs: { selectionChange: "selectionChange", selectionSingleChange: "selectionSingleChange", itemClick: "itemClick" }, ngImport: i0 });
196
238
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ElderDataViewBaseComponent, decorators: [{
197
- type: Component,
198
- args: [{ selector: 'elder-data-view-base', template: '' }]
199
- }], ctorParameters: function () { return [{ type: i1.SelectionModel }, { type: i2.ElderDataViewSelectionMode }]; }, propDecorators: { interactionMode: [{
239
+ type: Directive
240
+ }], ctorParameters: function () { return [{ type: i1.SelectionModel }, { type: i2.ElderDataViewOptionsProvider }]; }, propDecorators: { interactionMode: [{
241
+ type: Input
242
+ }], cleanUp: [{
200
243
  type: Input
201
244
  }], selectableEvaluatorFn: [{
202
245
  type: Input
@@ -217,4 +260,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
217
260
  }], embedded: [{
218
261
  type: Input
219
262
  }] } });
220
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZGF0YS12aWV3LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdmlldy9iYXNlL2VsZGVyLWRhdGEtdmlldy1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsZUFBZSxFQUFjLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsT0FBTyxFQUlMLHdCQUF3QixFQUN4Qix3QkFBd0IsRUFDekIsTUFBTSxnREFBZ0QsQ0FBQztBQUN4RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMkNBQTJDLENBQUM7Ozs7QUFJekUsTUFBTSxPQUFPLDBCQUEwQjtJQTJDckM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ0UsY0FBbUMsRUFDaEIsaUJBQTZDO1FBQTdDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBNEI7UUFqRGxFOzs7O29GQUk0RTtRQUU1RTs7V0FFRztRQUNhLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQW9CLElBQUksQ0FBQyxDQUFDO1FBUXJFLG9CQUFlLEdBQWlDLE1BQU0sQ0FBQztRQUU5RDs7O1dBR0c7UUFDSyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXZCOzs7V0FHRztRQUNLLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFdkI7OztXQUdHO1FBQ0ssY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVULHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7UUFFdkMsa0JBQWEsR0FBRyxDQUFDLE1BQVcs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RDs7OztnRkFJNEU7SUFFbEUsS0FBSyxDQUFDLE1BQVc7UUFDekIsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDO0lBQy9ELENBQUM7O3VIQTNQVSwwQkFBMEI7MkdBQTFCLDBCQUEwQixtWkFEaUIsRUFBRTsyRkFDN0MsMEJBQTBCO2tCQUR0QyxTQUFTO21CQUFDLEVBQUMsUUFBUSxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUM7OElBb0JsRCxlQUFlO3NCQURyQixLQUFLO2dCQXNGSyxxQkFBcUI7c0JBRC9CLEtBQUs7Z0JBUUssU0FBUztzQkFEbkIsS0FBSztnQkFNSyxlQUFlO3NCQUR6QixNQUFNO2dCQU1JLHFCQUFxQjtzQkFEL0IsTUFBTTtnQkFjSSxxQkFBcUI7c0JBRC9CLEtBQUs7Z0JBY0ssU0FBUztzQkFEbkIsTUFBTTtnQkFZSSxLQUFLO3NCQURmLEtBQUs7Z0JBVUssS0FBSztzQkFEZixLQUFLO2dCQVVLLFFBQVE7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NvZXJjZUJvb2xlYW5Qcm9wZXJ0eX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0VsZGVyRGF0YVZpZXdTZWxlY3Rpb25Nb2RlfSBmcm9tICcuLi8uLi9zZWxlY3QvcG9wdXAvc2VsZWN0aW9uLW1vZGVsLXBvcHVwLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICBJRGF0YUNvbnRleHQsXG4gIElEYXRhQ29udGV4dEFjdGl2ZVBhZ2UsXG4gIElEYXRhQ29udGV4dENvbnRpbnVhYmxlLFxuICBpc0FjdGl2ZVBhZ2VkRGF0YUNvbnRleHQsXG4gIGlzQ29udGludWFibGVEYXRhQ29udGV4dFxufSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGF0YS9kYXRhLWNvbnRleHQvZGF0YS1jb250ZXh0JztcbmltcG9ydCB7U2VsZWN0aW9uTW9kZWx9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9zZWxlY3Rpb24vc2VsZWN0aW9uLW1vZGVsJztcbmltcG9ydCB7RWxkZXJEYXRhVmlld0ludGVyYWN0aW9uTW9kZSwgSUVsZGVyRGF0YVZpZXd9IGZyb20gJy4vZWxkZXItZGF0YS12aWV3JztcblxuQENvbXBvbmVudCh7c2VsZWN0b3I6ICdlbGRlci1kYXRhLXZpZXctYmFzZScsIHRlbXBsYXRlOiAnJ30pXG5leHBvcnQgY2xhc3MgRWxkZXJEYXRhVmlld0Jhc2VDb21wb25lbnQgaW1wbGVtZW50cyBJRWxkZXJEYXRhVmlldyB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIFVuZGVybHlpbmcgZGF0YSBjb250ZXh0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRhdGFDb250ZXh0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SURhdGFDb250ZXh0PGFueT4+KG51bGwpO1xuXG4gIC8qKlxuICAgKiBIb2xkcyB0aGUgY3VycmVudCBzZWxlY3Rpb25cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3Rpb25Nb2RlbDogU2VsZWN0aW9uTW9kZWw8YW55PjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaW50ZXJhY3Rpb25Nb2RlOiBFbGRlckRhdGFWaWV3SW50ZXJhY3Rpb25Nb2RlID0gJ29wZW4nO1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlLCB0aGlzIHRhYmxlIGlzIGluIGRlbnNlIG1vZGUuXG4gICAqIEhlaWdodHMgYXJlIGdlbmVyYWxseSByZWR1Y2VkLlxuICAgKi9cbiAgcHJpdmF0ZSBfZGVuc2UgPSBmYWxzZTtcblxuICAvKipcbiAgICogSWYgdHJ1ZSwgdGhpcyB0YWJsZSBpcyBpbiBhIGZsb2F0aW5nIGNhcmQgbW9kZS5cbiAgICogT3RoZXJ3aXNlLCBpdCBpcyBmbGF0IG9uIHRoZSBjdXJyZW50IHBhbmVsLlxuICAgKi9cbiAgcHJpdmF0ZSBfZmxvYXQgPSBmYWxzZTtcblxuICAvKipcbiAgICogSWYgdHJ1ZSwgdGhpcyB0YWJsZSBpcyBpbiBlbWJlZGRlZCBtb2RlLlxuICAgKiBObyBib3JkZXJzIC8gZmxvYXRpbmcgdmlzaWJsZSBzbyB0aGF0IHRoZSB0YWJsZSBjYW4gYmUgZW1iZWRkZWQgaW50byBhbm90aGVyIGNvbnRhaW5lclxuICAgKi9cbiAgcHJpdmF0ZSBfZW1iZWRkZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9pdGVtQ2xpY2tTdWJqZWN0ID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgRW50aXR5SWRLZXlGbiA9IChlbnRpdHk6IGFueSkgPT4gZW50aXR5ID8gdGhpcy5nZXRJZChlbnRpdHkpIDogMDtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBzZWxlY3Rpb25Nb2RlbDogU2VsZWN0aW9uTW9kZWw8YW55PixcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGF0YVZpZXdTZWxlY3Rpb246IEVsZGVyRGF0YVZpZXdTZWxlY3Rpb25Nb2RlXG4gICkge1xuICAgIGlmICghc2VsZWN0aW9uTW9kZWwpIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwgPSBuZXcgU2VsZWN0aW9uTW9kZWw8YW55PihmYWxzZSwgW10sIHRoaXMuRW50aXR5SWRLZXlGbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwgPSBzZWxlY3Rpb25Nb2RlbDtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IGRhdGFDb250ZXh0KCk6IElEYXRhQ29udGV4dDxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhQ29udGV4dCQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZGF0YUNvbnRleHQoZGF0YTogSURhdGFDb250ZXh0PGFueT4pIHtcbiAgICB0aGlzLmRhdGFDb250ZXh0JC5uZXh0KGRhdGEpO1xuICAgIHRoaXMub25EYXRhQ29udGV4dFNldChkYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0YUFjdGl2ZVBhZ2VkKCk6IElEYXRhQ29udGV4dEFjdGl2ZVBhZ2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YUNvbnRleHQgYXMgSURhdGFDb250ZXh0QWN0aXZlUGFnZTxhbnk+O1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRhQ29udGludWFibGUoKTogSURhdGFDb250ZXh0Q29udGludWFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YUNvbnRleHQgYXMgSURhdGFDb250ZXh0Q29udGludWFibGU8YW55PjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNDb250aW51YWJsZSgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuZGF0YUNvbnRleHQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGlzQ29udGludWFibGVEYXRhQ29udGV4dCh0aGlzLmRhdGFDb250ZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNBY3RpdmVQYWdlZCgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuZGF0YUNvbnRleHQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGlzQWN0aXZlUGFnZWREYXRhQ29udGV4dCh0aGlzLmRhdGFDb250ZXh0KTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBTZWxlY3Rpb24gUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2VsZWN0YWJsZUV2YWx1YXRvckZuKFxuICAgIHNlbGVjdGFibGVFdmFsdWF0b3JGbjogKGVudGl0eTogYW55KSA9PiBib29sZWFuXG4gICkge1xuICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwuc2VsZWN0YWJsZUV2YWx1YXRvckZuID0gc2VsZWN0YWJsZUV2YWx1YXRvckZuO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWxlY3Rpb24oc2VsZWN0aW9uOiBhbnlbXSkge1xuICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwucmVwbGFjZVNlbGVjdGlvbihzZWxlY3Rpb24pO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgc2VsZWN0aW9uQ2hhbmdlKCk6IE9ic2VydmFibGU8YW55W10+IHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25Nb2RlbC5jaGFuZ2VkO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgc2VsZWN0aW9uU2luZ2xlQ2hhbmdlKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uTW9kZWwuY2hhbmdlZC5waXBlKFxuICAgICAgbWFwKChzZWxlY3Rpb24pID0+IHtcbiAgICAgICAgaWYgKHNlbGVjdGlvbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcmV0dXJuIHNlbGVjdGlvblswXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWxlY3Rpb25NdWx0aUVuYWJsZWQoZW5hYmxlTXVsdGlTZWxlY3Rpb246IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb25Nb2RlbCkge1xuICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5pc011bHRpcGxlU2VsZWN0aW9uID0gZW5hYmxlTXVsdGlTZWxlY3Rpb247XG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIE9uIGNsaWNrIHByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgaXRlbUNsaWNrKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1DbGlja1N1YmplY3Q7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogU3R5bGUgUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRlbnNlKHZhbHVlOiBib29sZWFuIHwgJycpIHtcbiAgICB0aGlzLl9kZW5zZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlbnNlKCk6IGJvb2xlYW4gfCAnJyB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbnNlO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBmbG9hdCh2YWx1ZTogYm9vbGVhbiB8ICcnKSB7XG4gICAgdGhpcy5fZmxvYXQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBmbG9hdCgpOiBib29sZWFuIHwgJycge1xuICAgIHJldHVybiB0aGlzLl9mbG9hdDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZW1iZWRkZWQodmFsdWU6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX2VtYmVkZGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZW1iZWRkZWQoKTogYm9vbGVhbiB8ICcnIHtcbiAgICByZXR1cm4gdGhpcy5fZW1iZWRkZWQ7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRXZlbnQgRW50cnkgUG9pbnRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogQ2FsbGVkIGFmdGVyIGEgbmV3IERhdGFDb250ZXh0IGhhcyBiZWVuIHNldC5cbiAgICogU3ViY2xhc3NlcyBtYXkgYWRkIGFkZGl0aW9uYWwgYmVoYXZpb3VyIGF0IHRoaXMgc3RhZ2UuXG4gICAqIEBwYXJhbSBkYXRhXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBvbkRhdGFDb250ZXh0U2V0KGRhdGE6IElEYXRhQ29udGV4dDxhbnk+KTogdm9pZCB7XG4gIH1cblxuICBwdWJsaWMgb25JdGVtQ2xpY2soZW50aXR5OiBhbnkpOiB2b2lkIHtcblxuICAgIGlmIChlbnRpdHkpIHtcblxuICAgICAgc3dpdGNoICh0aGlzLmludGVyYWN0aW9uTW9kZSkge1xuXG4gICAgICAgIGNhc2UgJ29wZW4nOlxuICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGlvbk1vZGVsLmhhc1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnRvZ2dsZShlbnRpdHkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9pdGVtQ2xpY2tTdWJqZWN0Lm5leHQoZW50aXR5KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnc2VsZWN0aW9uJzpcbiAgICAgICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnRvZ2dsZShlbnRpdHkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxuICBwdWJsaWMgb25JdGVtRG91YmxlQ2xpY2soZW50aXR5OiBhbnkpOiB2b2lkIHtcblxuICAgIGlmIChlbnRpdHkpIHtcblxuICAgICAgc3dpdGNoICh0aGlzLmludGVyYWN0aW9uTW9kZSkge1xuXG4gICAgICAgIC8vIGRvdWJsZSBjbGljayBpbiBvcGVuIG1vZGUgbm90IHN1cHBvcnRlZFxuICAgICAgICBjYXNlICdvcGVuJzpcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICAvLyBkb3VibGUgY2xpY2sgaW4gc2VsZWN0aW9uIG1vZGUgdHJpZ2dlcnMgbm9ybWFsIGl0ZW0gY2xpY2tcbiAgICAgICAgY2FzZSAnc2VsZWN0aW9uJzpcbiAgICAgICAgICB0aGlzLl9pdGVtQ2xpY2tTdWJqZWN0Lm5leHQoZW50aXR5KTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBNZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcm90ZWN0ZWQgZ2V0SWQoZW50aXR5OiBhbnkpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmRhdGFDb250ZXh0Py5kYXRhU291cmNlPy5nZXRJZChlbnRpdHkpIHx8IGVudGl0eTtcbiAgfVxuXG59XG4iXX0=
263
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZGF0YS12aWV3LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdmlldy9iYXNlL2VsZGVyLWRhdGEtdmlldy1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBWSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFDLGVBQWUsRUFBYyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDMUQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFJTCx3QkFBd0IsRUFDeEIsd0JBQXdCLEVBQ3pCLE1BQU0sZ0RBQWdELENBQUM7QUFDeEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBR3pFLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDOzs7O0FBR3BGLE1BQU0sT0FBZ0IsMEJBQTBCO0lBdUQ5Qzs7OztnRkFJNEU7SUFFNUUsWUFDRSxjQUFtQyxFQUNoQix1QkFBcUQ7UUFBckQsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUE4QjtRQTdEMUU7Ozs7b0ZBSTRFO1FBRTVFOztXQUVHO1FBQ2EsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBb0IsSUFBSSxDQUFDLENBQUM7UUFRckUsb0JBQWUsR0FBaUMsTUFBTSxDQUFDO1FBRTlEOzs7Ozs7V0FNRztRQUVJLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFFdEI7OztXQUdHO1FBQ0ssV0FBTSxHQUFHLEtBQUssQ0FBQztRQUV2Qjs7O1dBR0c7UUFDSyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXZCOzs7V0FHRztR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alRtQiwwQkFBMEI7MkdBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUQvQyxTQUFTO2dKQW9CRCxlQUFlO3NCQURyQixLQUFLO2dCQVdDLE9BQU87c0JBRGIsS0FBSztnQkFvSEsscUJBQXFCO3NCQUQvQixLQUFLO2dCQVFLLFNBQVM7c0JBRG5CLEtBQUs7Z0JBTUssZUFBZTtzQkFEekIsTUFBTTtnQkFNSSxxQkFBcUI7c0JBRC9CLE1BQU07Z0JBY0kscUJBQXFCO3NCQUQvQixLQUFLO2dCQWtCSyxTQUFTO3NCQURuQixNQUFNO2dCQVlJLEtBQUs7c0JBRGYsS0FBSztnQkFVSyxLQUFLO3NCQURmLEtBQUs7Z0JBVUssUUFBUTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtDb21wb25lbnQsIERpcmVjdGl2ZSwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIElEYXRhQ29udGV4dCxcbiAgSURhdGFDb250ZXh0QWN0aXZlUGFnZSxcbiAgSURhdGFDb250ZXh0Q29udGludWFibGUsXG4gIGlzQWN0aXZlUGFnZWREYXRhQ29udGV4dCxcbiAgaXNDb250aW51YWJsZURhdGFDb250ZXh0XG59IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9kYXRhLWNvbnRleHQnO1xuaW1wb3J0IHtTZWxlY3Rpb25Nb2RlbH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3NlbGVjdGlvbi9zZWxlY3Rpb24tbW9kZWwnO1xuaW1wb3J0IHtFbGRlckRhdGFWaWV3SW50ZXJhY3Rpb25Nb2RlLCBJRWxkZXJEYXRhVmlld30gZnJvbSAnLi9lbGRlci1kYXRhLXZpZXcnO1xuaW1wb3J0IHtFbGRlckRhdGFWaWV3T3B0aW9uc1Byb3ZpZGVyfSBmcm9tICcuL2VsZGVyLWRhdGEtdmlldy1vcHRpb25zLXByb3ZpZGVyJztcbmltcG9ydCB7RGF0YVZpZXdPcHRpb25zUHJvdmlkZXJCaW5kaW5nfSBmcm9tICcuL2RhdGEtdmlldy1vcHRpb25zLXByb3ZpZGVyLWJpbmRpbmcnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBFbGRlckRhdGFWaWV3QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIElFbGRlckRhdGFWaWV3LCBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIFVuZGVybHlpbmcgZGF0YSBjb250ZXh0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRhdGFDb250ZXh0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SURhdGFDb250ZXh0PGFueT4+KG51bGwpO1xuXG4gIC8qKlxuICAgKiBIb2xkcyB0aGUgY3VycmVudCBzZWxlY3Rpb25cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3Rpb25Nb2RlbDogU2VsZWN0aW9uTW9kZWw8YW55PjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaW50ZXJhY3Rpb25Nb2RlOiBFbGRlckRhdGFWaWV3SW50ZXJhY3Rpb25Nb2RlID0gJ29wZW4nO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgaWYgZWxkZXItdGFibGUgc2hvdWxkIGNsZWFuIHVwIHRoZVxuICAgKiBkYXRhLWNvbnRleHQgcmVzb3VyY2VzIGZvciB5b3UuXG4gICAqXG4gICAqIEluIG1vcmUgYWR2YW5jZWQgc2NlbmFyaW9zIHdoZXJlIHlvdSBwbGFuIHRvIHJldXNlIHRoZSBzYW1lIGRhdGEtY29udGV4dFxuICAgKiBzZXQgdGhpcyB0byBmYWxzZSBhbmQgcmVsZWFzZSB0aGUgcmVzb3VyY2VzIHlvdXJzZWxmLiAoZGF0YUNvbnRleHQuY2xvc2UpXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgY2xlYW5VcCA9IHRydWU7XG5cbiAgLyoqXG4gICAqIElmIHRydWUsIHRoaXMgdGFibGUgaXMgaW4gZGVuc2UgbW9kZS5cbiAgICogSGVpZ2h0cyBhcmUgZ2VuZXJhbGx5IHJlZHVjZWQuXG4gICAqL1xuICBwcml2YXRlIF9kZW5zZSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlLCB0aGlzIHRhYmxlIGlzIGluIGEgZmxvYXRpbmcgY2FyZCBtb2RlLlxuICAgKiBPdGhlcndpc2UsIGl0IGlzIGZsYXQgb24gdGhlIGN1cnJlbnQgcGFuZWwuXG4gICAqL1xuICBwcml2YXRlIF9mbG9hdCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlLCB0aGlzIHRhYmxlIGlzIGluIGVtYmVkZGVkIG1vZGUuXG4gICAqIE5vIGJvcmRlcnMgLyBmbG9hdGluZyB2aXNpYmxlIHNvIHRoYXQgdGhlIHRhYmxlIGNhbiBiZSBlbWJlZGRlZCBpbnRvIGFub3RoZXIgY29udGFpbmVyXG4gICAqL1xuICBwcml2YXRlIF9lbWJlZGRlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2l0ZW1DbGlja1N1YmplY3QgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBFbnRpdHlJZEtleUZuID0gKGVudGl0eTogYW55KSA9PiBlbnRpdHkgPyB0aGlzLmdldElkKGVudGl0eSkgOiAwO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2VsZWN0aW9uTW9kZWw6IFNlbGVjdGlvbk1vZGVsPGFueT4sXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRhdGFWaWV3T3B0aW9uc1Byb3ZpZGVyOiBFbGRlckRhdGFWaWV3T3B0aW9uc1Byb3ZpZGVyXG4gICkge1xuICAgIGlmICghc2VsZWN0aW9uTW9kZWwpIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwgPSBuZXcgU2VsZWN0aW9uTW9kZWw8YW55PihmYWxzZSwgW10sIHRoaXMuRW50aXR5SWRLZXlGbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwgPSBzZWxlY3Rpb25Nb2RlbDtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGF0YVZpZXdPcHRpb25zUHJvdmlkZXIpIHtcblxuICAgICAgaWYgKHRoaXMuZGF0YVZpZXdPcHRpb25zUHJvdmlkZXIub3B0aW9ucy5pbnRlcmFjdGlvbk1vZGUgPT09ICdzZWxlY3Rpb24nKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uVmlzaWJsZSA9IHRydWU7XG4gICAgICAgIHRoaXMuZmxvYXQgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuZGF0YUNvbnRleHQpIHtcbiAgICAgICAgRGF0YVZpZXdPcHRpb25zUHJvdmlkZXJCaW5kaW5nLm9mKHRoaXMpXG4gICAgICAgICAgLmRhdGFWaWV3T3B0aW9uc1Byb3ZpZGVyKHRoaXMuZGF0YVZpZXdPcHRpb25zUHJvdmlkZXIpXG4gICAgICAgICAgLmJpbmRVbnRpbCh0aGlzLmRlc3Ryb3kkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuYXV0b0NsZWFuVXAoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgZGF0YUNvbnRleHQoKTogSURhdGFDb250ZXh0PGFueT4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFDb250ZXh0JC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIHNldCBkYXRhQ29udGV4dChkYXRhOiBJRGF0YUNvbnRleHQ8YW55Pikge1xuICAgIHRoaXMuZGF0YUNvbnRleHQkLm5leHQoZGF0YSk7XG4gICAgdGhpcy5vbkRhdGFDb250ZXh0U2V0KGRhdGEpO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRhQWN0aXZlUGFnZWQoKTogSURhdGFDb250ZXh0QWN0aXZlUGFnZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhQ29udGV4dCBhcyBJRGF0YUNvbnRleHRBY3RpdmVQYWdlPGFueT47XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGFDb250aW51YWJsZSgpOiBJRGF0YUNvbnRleHRDb250aW51YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhQ29udGV4dCBhcyBJRGF0YUNvbnRleHRDb250aW51YWJsZTxhbnk+O1xuICB9XG5cbiAgcHVibGljIGdldCBpc0NvbnRpbnVhYmxlKCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5kYXRhQ29udGV4dCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gaXNDb250aW51YWJsZURhdGFDb250ZXh0KHRoaXMuZGF0YUNvbnRleHQpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0FjdGl2ZVBhZ2VkKCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5kYXRhQ29udGV4dCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gaXNBY3RpdmVQYWdlZERhdGFDb250ZXh0KHRoaXMuZGF0YUNvbnRleHQpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFNlbGVjdGlvbiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWxlY3RhYmxlRXZhbHVhdG9yRm4oXG4gICAgc2VsZWN0YWJsZUV2YWx1YXRvckZuOiAoZW50aXR5OiBhbnkpID0+IGJvb2xlYW5cbiAgKSB7XG4gICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5zZWxlY3RhYmxlRXZhbHVhdG9yRm4gPSBzZWxlY3RhYmxlRXZhbHVhdG9yRm47XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNlbGVjdGlvbihzZWxlY3Rpb246IGFueVtdKSB7XG4gICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5yZXBsYWNlU2VsZWN0aW9uKHNlbGVjdGlvbik7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBzZWxlY3Rpb25DaGFuZ2UoKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbk1vZGVsLmNoYW5nZWQ7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBzZWxlY3Rpb25TaW5nbGVDaGFuZ2UoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25Nb2RlbC5jaGFuZ2VkLnBpcGUoXG4gICAgICBtYXAoKHNlbGVjdGlvbikgPT4ge1xuICAgICAgICBpZiAoc2VsZWN0aW9uLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICByZXR1cm4gc2VsZWN0aW9uWzBdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNlbGVjdGlvbk11bHRpRW5hYmxlZChlbmFibGVNdWx0aVNlbGVjdGlvbjogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLnNlbGVjdGlvbk1vZGVsKSB7XG4gICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLmlzTXVsdGlwbGVTZWxlY3Rpb24gPSBlbmFibGVNdWx0aVNlbGVjdGlvbjtcbiAgICB9XG4gIH1cblxuICBhYnN0cmFjdCBnZXQgc2VsZWN0aW9uVmlzaWJsZSgpO1xuXG4gIGFic3RyYWN0IHNldCBzZWxlY3Rpb25WaXNpYmxlKHNlbGVjdGlvblZpc2libGU6IGJvb2xlYW4pO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBPbiBjbGljayBwcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IGl0ZW1DbGljaygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9pdGVtQ2xpY2tTdWJqZWN0O1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFN0eWxlIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkZW5zZSh2YWx1ZTogYm9vbGVhbiB8ICcnKSB7XG4gICAgdGhpcy5fZGVuc2UgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBkZW5zZSgpOiBib29sZWFuIHwgJycge1xuICAgIHJldHVybiB0aGlzLl9kZW5zZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZmxvYXQodmFsdWU6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX2Zsb2F0ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmxvYXQoKTogYm9vbGVhbiB8ICcnIHtcbiAgICByZXR1cm4gdGhpcy5fZmxvYXQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGVtYmVkZGVkKHZhbHVlOiBib29sZWFuIHwgJycpIHtcbiAgICB0aGlzLl9lbWJlZGRlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVtYmVkZGVkKCk6IGJvb2xlYW4gfCAnJyB7XG4gICAgcmV0dXJuIHRoaXMuX2VtYmVkZGVkO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEV2ZW50IEVudHJ5IFBvaW50cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIENhbGxlZCBhZnRlciBhIG5ldyBEYXRhQ29udGV4dCBoYXMgYmVlbiBzZXQuXG4gICAqIFN1YmNsYXNzZXMgbWF5IGFkZCBhZGRpdGlvbmFsIGJlaGF2aW91ciBhdCB0aGlzIHN0YWdlLlxuICAgKiBAcGFyYW0gZGF0YVxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgb25EYXRhQ29udGV4dFNldChkYXRhOiBJRGF0YUNvbnRleHQ8YW55Pik6IHZvaWQge1xuICB9XG5cbiAgcHVibGljIG9uSXRlbUNsaWNrKGVudGl0eTogYW55KTogdm9pZCB7XG5cbiAgICBpZiAoZW50aXR5KSB7XG5cbiAgICAgIHN3aXRjaCAodGhpcy5pbnRlcmFjdGlvbk1vZGUpIHtcblxuICAgICAgICBjYXNlICdvcGVuJzpcbiAgICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb25Nb2RlbC5oYXNWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC50b2dnbGUoZW50aXR5KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5faXRlbUNsaWNrU3ViamVjdC5uZXh0KGVudGl0eSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ3NlbGVjdGlvbic6XG4gICAgICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC50b2dnbGUoZW50aXR5KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbiAgcHVibGljIG9uSXRlbURvdWJsZUNsaWNrKGVudGl0eTogYW55KTogdm9pZCB7XG5cbiAgICBpZiAoZW50aXR5KSB7XG5cbiAgICAgIHN3aXRjaCAodGhpcy5pbnRlcmFjdGlvbk1vZGUpIHtcblxuICAgICAgICAvLyBkb3VibGUgY2xpY2sgaW4gb3BlbiBtb2RlIG5vdCBzdXBwb3J0ZWRcbiAgICAgICAgY2FzZSAnb3Blbic6XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgLy8gZG91YmxlIGNsaWNrIGluIHNlbGVjdGlvbiBtb2RlIHRyaWdnZXJzIG5vcm1hbCBpdGVtIGNsaWNrXG4gICAgICAgIGNhc2UgJ3NlbGVjdGlvbic6XG4gICAgICAgICAgdGhpcy5faXRlbUNsaWNrU3ViamVjdC5uZXh0KGVudGl0eSk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgTWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIGdldElkKGVudGl0eTogYW55KTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhQ29udGV4dD8uZGF0YVNvdXJjZT8uZ2V0SWQoZW50aXR5KSB8fCBlbnRpdHk7XG4gIH1cblxuICAvKipcbiAgICogUGVyZm9ybXMgY2xlYW4gdXAgb2YgdGhlIGN1cnJlbnQgZGF0YSBjb250ZXh0IGlmIGF1dG8gY2xlYW4gdXAgaXMgZW5hYmxlZC5cbiAgICovXG4gIHByb3RlY3RlZCBhdXRvQ2xlYW5VcCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jbGVhblVwICYmIHRoaXMuZGF0YUNvbnRleHQpIHtcbiAgICAgIC8vdGhpcy5sb2dnZXIuZGVidWcoJ1JlbGVhc2luZyBEYXRhQ29udGV4dCByZXNvdXJjZXMgdG8gcHJldmVudCBtZW1vcnkgbGVhay4gW2NsZWFuVXBdPVwidHJ1ZVwiJyk7XG4gICAgICB0aGlzLmRhdGFDb250ZXh0LmNsb3NlKCk7XG4gICAgfVxuICB9XG5cblxuXG59XG4iXX0=
@@ -0,0 +1,44 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ import { ElderDataViewOptions } from './elder-data-view-options';
3
+ export class ElderDataViewOptionsProvider {
4
+ /***************************************************************************
5
+ * *
6
+ * Constructor *
7
+ * *
8
+ **************************************************************************/
9
+ constructor() {
10
+ /***************************************************************************
11
+ * *
12
+ * Fields *
13
+ * *
14
+ **************************************************************************/
15
+ this.options$ = new BehaviorSubject(ElderDataViewOptions.defaultOptions());
16
+ }
17
+ /***************************************************************************
18
+ * *
19
+ * Properties *
20
+ * *
21
+ **************************************************************************/
22
+ get options() {
23
+ return this.options$.getValue();
24
+ }
25
+ /***************************************************************************
26
+ * *
27
+ * Public API *
28
+ * *
29
+ **************************************************************************/
30
+ /**
31
+ * Example usage:
32
+ *
33
+ * this.updateOptions(
34
+ * options => options.withInteractionMode('open')
35
+ * .withFilters([])
36
+ * )
37
+ *
38
+ * @param optionsFn function modifying the options
39
+ */
40
+ updateOptions(optionsFn) {
41
+ this.options$.next(optionsFn(this.options$.getValue()));
42
+ }
43
+ }
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZGF0YS12aWV3LW9wdGlvbnMtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdmlldy9iYXNlL2VsZGVyLWRhdGEtdmlldy1vcHRpb25zLXByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFHL0QsTUFBTSxPQUFPLDRCQUE0QjtJQVV2Qzs7OztnRkFJNEU7SUFFNUU7UUFkQTs7OztvRkFJNEU7UUFFNUQsYUFBUSxHQUFHLElBQUksZUFBZSxDQUF1QixvQkFBb0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBUTVGLENBQUM7SUFFakI7Ozs7Z0ZBSTRFO0lBRTVFLElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RTs7Ozs7Ozs7O09BU0c7SUFDSSxhQUFhLENBQUMsU0FBZ0U7UUFDbkYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQ3BDLENBQUM7SUFDSixDQUFDO0NBR0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JlaGF2aW9yU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0VsZGVyRGF0YVZpZXdPcHRpb25zfSBmcm9tICcuL2VsZGVyLWRhdGEtdmlldy1vcHRpb25zJztcblxuXG5leHBvcnQgY2xhc3MgRWxkZXJEYXRhVmlld09wdGlvbnNQcm92aWRlciB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHJlYWRvbmx5IG9wdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxFbGRlckRhdGFWaWV3T3B0aW9ucz4oRWxkZXJEYXRhVmlld09wdGlvbnMuZGVmYXVsdE9wdGlvbnMoKSk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IG9wdGlvbnMoKTogRWxkZXJEYXRhVmlld09wdGlvbnMge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMkLmdldFZhbHVlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogRXhhbXBsZSB1c2FnZTpcbiAgICpcbiAgICogdGhpcy51cGRhdGVPcHRpb25zKFxuICAgKiAgICAgIG9wdGlvbnMgPT4gb3B0aW9ucy53aXRoSW50ZXJhY3Rpb25Nb2RlKCdvcGVuJylcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAud2l0aEZpbHRlcnMoW10pXG4gICAqIClcbiAgICpcbiAgICogQHBhcmFtIG9wdGlvbnNGbiBmdW5jdGlvbiBtb2RpZnlpbmcgdGhlIG9wdGlvbnNcbiAgICovXG4gIHB1YmxpYyB1cGRhdGVPcHRpb25zKG9wdGlvbnNGbjogKChvcHQ6IEVsZGVyRGF0YVZpZXdPcHRpb25zKSA9PiBFbGRlckRhdGFWaWV3T3B0aW9ucykpIHtcbiAgICB0aGlzLm9wdGlvbnMkLm5leHQoXG4gICAgICBvcHRpb25zRm4odGhpcy5vcHRpb25zJC5nZXRWYWx1ZSgpKVxuICAgICk7XG4gIH1cblxuXG59XG4iXX0=
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Options for supporting data view components.
3
+ */
4
+ export class ElderDataViewOptions {
5
+ /***************************************************************************
6
+ * *
7
+ * Fields *
8
+ * *
9
+ **************************************************************************/
10
+ /***************************************************************************
11
+ * *
12
+ * Constructor *
13
+ * *
14
+ **************************************************************************/
15
+ constructor(sorts, filters, selectionMultiEnabled, interactionMode) {
16
+ this.sorts = sorts;
17
+ this.filters = filters;
18
+ this.selectionMultiEnabled = selectionMultiEnabled;
19
+ this.interactionMode = interactionMode;
20
+ }
21
+ static defaultOptions() {
22
+ return new ElderDataViewOptions([], [], false, 'open');
23
+ }
24
+ /***************************************************************************
25
+ * *
26
+ * Properties *
27
+ * *
28
+ **************************************************************************/
29
+ withSorts(sorts) {
30
+ return new ElderDataViewOptions(sorts, this.filters, this.selectionMultiEnabled, this.interactionMode);
31
+ }
32
+ withFilters(filters) {
33
+ return new ElderDataViewOptions(this.sorts, filters, this.selectionMultiEnabled, this.interactionMode);
34
+ }
35
+ withSelectionMultiEnabled(selectionMultiEnabled) {
36
+ return new ElderDataViewOptions(this.sorts, this.filters, selectionMultiEnabled, this.interactionMode);
37
+ }
38
+ withInteractionMode(interactionMode) {
39
+ return new ElderDataViewOptions(this.sorts, this.filters, this.selectionMultiEnabled, interactionMode);
40
+ }
41
+ }
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZGF0YS12aWV3LW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdmlldy9iYXNlL2VsZGVyLWRhdGEtdmlldy1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG9CQUFvQjtJQVcvQjs7OztnRkFJNEU7SUFFNUU7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ2tCLEtBQWEsRUFDYixPQUFpQixFQUNqQixxQkFBOEIsRUFDOUIsZUFBNkM7UUFIN0MsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLFlBQU8sR0FBUCxPQUFPLENBQVU7UUFDakIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFTO1FBQzlCLG9CQUFlLEdBQWYsZUFBZSxDQUE4QjtJQUMzRCxDQUFDO0lBMUJFLE1BQU0sQ0FBQyxjQUFjO1FBQzFCLE9BQU8sSUFBSSxvQkFBb0IsQ0FDN0IsRUFBRSxFQUNGLEVBQUUsRUFDRixLQUFLLEVBQ0wsTUFBTSxDQUNQLENBQUE7SUFDSCxDQUFDO0lBcUJEOzs7O2dGQUk0RTtJQUVyRSxTQUFTLENBQUMsS0FBYTtRQUM1QixPQUFPLElBQUksb0JBQW9CLENBQzdCLEtBQUssRUFDTCxJQUFJLENBQUMsT0FBTyxFQUNaLElBQUksQ0FBQyxxQkFBcUIsRUFDMUIsSUFBSSxDQUFDLGVBQWUsQ0FDckIsQ0FBQTtJQUNILENBQUM7SUFFTSxXQUFXLENBQUMsT0FBaUI7UUFDbEMsT0FBTyxJQUFJLG9CQUFvQixDQUM3QixJQUFJLENBQUMsS0FBSyxFQUNWLE9BQU8sRUFDUCxJQUFJLENBQUMscUJBQXFCLEVBQzFCLElBQUksQ0FBQyxlQUFlLENBQ3JCLENBQUE7SUFDSCxDQUFDO0lBRU0seUJBQXlCLENBQUMscUJBQThCO1FBQzdELE9BQU8sSUFBSSxvQkFBb0IsQ0FDN0IsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsT0FBTyxFQUNaLHFCQUFxQixFQUNyQixJQUFJLENBQUMsZUFBZSxDQUNyQixDQUFBO0lBQ0gsQ0FBQztJQUVNLG1CQUFtQixDQUFDLGVBQTZDO1FBQ3RFLE9BQU8sSUFBSSxvQkFBb0IsQ0FDN0IsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsT0FBTyxFQUNaLElBQUksQ0FBQyxxQkFBcUIsRUFDMUIsZUFBZSxDQUNoQixDQUFBO0lBQ0gsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTb3J0fSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGF0YS9zb3J0JztcbmltcG9ydCB7RmlsdGVyfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZGF0YS9maWx0ZXInO1xuaW1wb3J0IHtFbGRlckRhdGFWaWV3SW50ZXJhY3Rpb25Nb2RlfSBmcm9tICcuLi9lbGRlci1kYXRhLXZpZXctaW50ZXJhY3Rpb24tbW9kZSc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Igc3VwcG9ydGluZyBkYXRhIHZpZXcgY29tcG9uZW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIEVsZGVyRGF0YVZpZXdPcHRpb25zIHtcblxuICBwdWJsaWMgc3RhdGljIGRlZmF1bHRPcHRpb25zKCk6IEVsZGVyRGF0YVZpZXdPcHRpb25zIHtcbiAgICByZXR1cm4gbmV3IEVsZGVyRGF0YVZpZXdPcHRpb25zKFxuICAgICAgW10sXG4gICAgICBbXSxcbiAgICAgIGZhbHNlLFxuICAgICAgJ29wZW4nXG4gICAgKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHNvcnRzOiBTb3J0W10sXG4gICAgcHVibGljIHJlYWRvbmx5IGZpbHRlcnM6IEZpbHRlcltdLFxuICAgIHB1YmxpYyByZWFkb25seSBzZWxlY3Rpb25NdWx0aUVuYWJsZWQ6IGJvb2xlYW4sXG4gICAgcHVibGljIHJlYWRvbmx5IGludGVyYWN0aW9uTW9kZTogRWxkZXJEYXRhVmlld0ludGVyYWN0aW9uTW9kZVxuICApIHsgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyB3aXRoU29ydHMoc29ydHM6IFNvcnRbXSk6IEVsZGVyRGF0YVZpZXdPcHRpb25zIHtcbiAgICByZXR1cm4gbmV3IEVsZGVyRGF0YVZpZXdPcHRpb25zKFxuICAgICAgc29ydHMsXG4gICAgICB0aGlzLmZpbHRlcnMsXG4gICAgICB0aGlzLnNlbGVjdGlvbk11bHRpRW5hYmxlZCxcbiAgICAgIHRoaXMuaW50ZXJhY3Rpb25Nb2RlXG4gICAgKVxuICB9XG5cbiAgcHVibGljIHdpdGhGaWx0ZXJzKGZpbHRlcnM6IEZpbHRlcltdKTogRWxkZXJEYXRhVmlld09wdGlvbnMge1xuICAgIHJldHVybiBuZXcgRWxkZXJEYXRhVmlld09wdGlvbnMoXG4gICAgICB0aGlzLnNvcnRzLFxuICAgICAgZmlsdGVycyxcbiAgICAgIHRoaXMuc2VsZWN0aW9uTXVsdGlFbmFibGVkLFxuICAgICAgdGhpcy5pbnRlcmFjdGlvbk1vZGVcbiAgICApXG4gIH1cblxuICBwdWJsaWMgd2l0aFNlbGVjdGlvbk11bHRpRW5hYmxlZChzZWxlY3Rpb25NdWx0aUVuYWJsZWQ6IGJvb2xlYW4pOiBFbGRlckRhdGFWaWV3T3B0aW9ucyB7XG4gICAgcmV0dXJuIG5ldyBFbGRlckRhdGFWaWV3T3B0aW9ucyhcbiAgICAgIHRoaXMuc29ydHMsXG4gICAgICB0aGlzLmZpbHRlcnMsXG4gICAgICBzZWxlY3Rpb25NdWx0aUVuYWJsZWQsXG4gICAgICB0aGlzLmludGVyYWN0aW9uTW9kZVxuICAgIClcbiAgfVxuXG4gIHB1YmxpYyB3aXRoSW50ZXJhY3Rpb25Nb2RlKGludGVyYWN0aW9uTW9kZTogRWxkZXJEYXRhVmlld0ludGVyYWN0aW9uTW9kZSk6IEVsZGVyRGF0YVZpZXdPcHRpb25zIHtcbiAgICByZXR1cm4gbmV3IEVsZGVyRGF0YVZpZXdPcHRpb25zKFxuICAgICAgdGhpcy5zb3J0cyxcbiAgICAgIHRoaXMuZmlsdGVycyxcbiAgICAgIHRoaXMuc2VsZWN0aW9uTXVsdGlFbmFibGVkLFxuICAgICAgaW50ZXJhY3Rpb25Nb2RlXG4gICAgKVxuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from './elder-data-view';
2
+ export * from './elder-data-view-base';
3
+ export * from './elder-data-view-options-provider';
4
+ export * from './data-view-options-provider-binding';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS12aWV3L2Jhc2UvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFBO0FBQ2pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxvQ0FBb0MsQ0FBQTtBQUNsRCxjQUFjLHNDQUFzQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lbGRlci1kYXRhLXZpZXcnXG5leHBvcnQgKiBmcm9tICcuL2VsZGVyLWRhdGEtdmlldy1iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItZGF0YS12aWV3LW9wdGlvbnMtcHJvdmlkZXInXG5leHBvcnQgKiBmcm9tICcuL2RhdGEtdmlldy1vcHRpb25zLXByb3ZpZGVyLWJpbmRpbmcnXG4iXX0=