@coolon/angular-ui-powerups 16.1.0-aplpha.89 → 16.1.0-aplpha.9

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 (145) hide show
  1. package/assets/activities/input-activities.scss +2 -10
  2. package/assets/form.scss +27 -62
  3. package/assets/table.scss +24 -13
  4. package/assets/tabs.scss +6 -2
  5. package/esm2022/lib/animations/slide-animations.mjs +1 -6
  6. package/esm2022/lib/components/cards/card-container/card-container.component.mjs +4 -4
  7. package/esm2022/lib/components/commands/command/command.component.mjs +10 -24
  8. package/esm2022/lib/components/commands/command-face/command-face.component.mjs +3 -11
  9. package/esm2022/lib/components/commands/command-face.mjs +11 -11
  10. package/esm2022/lib/components/commands/group/popup-menu/abstract-popup-menu.component.mjs +11 -11
  11. package/esm2022/lib/components/commands/group/tool-bar/tool-bar.component.mjs +4 -6
  12. package/esm2022/lib/components/components.module.mjs +8 -22
  13. package/esm2022/lib/components/disposable-component.mjs +37 -19
  14. package/esm2022/lib/components/exports.mjs +2 -6
  15. package/esm2022/lib/components/forms/abstract-input.component.mjs +12 -55
  16. package/esm2022/lib/components/forms/autocomplete-input/autocomplete-input.component.mjs +2 -2
  17. package/esm2022/lib/components/forms/checkbox-input/checkbox-input.component.mjs +3 -3
  18. package/esm2022/lib/components/forms/multiple-select-input/multiple-select-input.component.mjs +2 -2
  19. package/esm2022/lib/components/forms/number-input/number-input.component.mjs +10 -49
  20. package/esm2022/lib/components/forms/password-input/password-input.component.mjs +3 -40
  21. package/esm2022/lib/components/forms/select-input/select-input.component.mjs +10 -11
  22. package/esm2022/lib/components/forms/string-input/string-input.component.mjs +9 -21
  23. package/esm2022/lib/components/icon/icon.component.mjs +4 -7
  24. package/esm2022/lib/components/resize-aware.component.mjs +24 -61
  25. package/esm2022/lib/components/switch-case/switch-case.component.mjs +7 -5
  26. package/esm2022/lib/components/tables/abstract-table-model.mjs +25 -42
  27. package/esm2022/lib/components/tables/abstract-table.component.mjs +5 -19
  28. package/esm2022/lib/components/tables/column/column-list-model.mjs +44 -0
  29. package/esm2022/lib/components/tables/column/column-model.mjs +3 -13
  30. package/esm2022/lib/components/tables/column/custom-template-column-model.mjs +3 -3
  31. package/esm2022/lib/components/tables/column/custom-value-column-model.mjs +3 -3
  32. package/esm2022/lib/components/tables/column/editor-controls-column-model.mjs +3 -3
  33. package/esm2022/lib/components/tables/column/list-propery-column-model.mjs +3 -3
  34. package/esm2022/lib/components/tables/column/property-column-model.mjs +3 -3
  35. package/esm2022/lib/components/tables/column/selection-column-model.mjs +3 -3
  36. package/esm2022/lib/components/tables/editor/edit-session.mjs +2 -4
  37. package/esm2022/lib/components/tables/filter/table-filter-model.mjs +2 -4
  38. package/esm2022/lib/components/tables/filter/text-search-predicate.mjs +2 -16
  39. package/esm2022/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.mjs +3 -3
  40. package/esm2022/lib/components/tables/renderer/table-body/table-body.component.mjs +41 -132
  41. package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu.component.mjs +2 -7
  42. package/esm2022/lib/components/tables/table/table.component.mjs +68 -19
  43. package/esm2022/lib/components/tables/tree-table/decorated-tree-node.mjs +4 -5
  44. package/esm2022/lib/components/tables/tree-table/tree-label-column-model.mjs +3 -3
  45. package/esm2022/lib/components/tables/tree-table/tree-table-component.mjs +4 -7
  46. package/esm2022/lib/components/tables/tree-table/tree-table-model.mjs +3 -3
  47. package/esm2022/lib/components/text/markdown/markdown.component.mjs +2 -2
  48. package/esm2022/lib/directives/directives.module.mjs +1 -1
  49. package/esm2022/lib/directives/exports.mjs +1 -2
  50. package/esm2022/lib/directives/highlight.pipe.mjs +2 -2
  51. package/esm2022/lib/interaction/activity.mjs +4 -3
  52. package/esm2022/lib/interaction/alert.mjs +2 -2
  53. package/esm2022/lib/interaction/components/abstract-confirm-dialog.component.mjs +4 -8
  54. package/esm2022/lib/interaction/components/activity-actions/activity-actions.component.mjs +9 -7
  55. package/esm2022/lib/interaction/components/activity-container/activity-container.component.mjs +11 -28
  56. package/esm2022/lib/interaction/components/activity-title/activity-title.component.mjs +4 -4
  57. package/esm2022/lib/interaction/components/editors/edit-context.mjs +1 -1
  58. package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.mjs +2 -2
  59. package/esm2022/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.mjs +3 -3
  60. package/esm2022/lib/interaction/components/input-activities/input-activity.mjs +2 -2
  61. package/esm2022/lib/interaction/components/input-activities/select-input-activity.mjs +1 -3
  62. package/esm2022/lib/interaction/components/input-activities/string-input-activity.mjs +4 -8
  63. package/esm2022/lib/interaction/directives/interaction-context-trigger-for.directive.mjs +2 -2
  64. package/esm2022/lib/interaction/exports.mjs +1 -2
  65. package/esm2022/lib/interaction/interaction.module.mjs +9 -7
  66. package/esm2022/lib/place/components/list-place-nav/list-place-nav.component.mjs +4 -3
  67. package/esm2022/lib/place/components/place-outlet/place-outlet.component.mjs +9 -7
  68. package/esm2022/lib/place/components/side-place-navigation/side-place-navigation.component.mjs +2 -2
  69. package/esm2022/lib/place/guards/consolidated-param-map.mjs +4 -4
  70. package/esm2022/lib/place/navigation/place-component-deactivation-handler.mjs +2 -2
  71. package/esm2022/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.mjs +6 -3
  72. package/esm2022/lib/place/place-component.mjs +7 -7
  73. package/esm2022/lib/place/place-definition.mjs +3 -3
  74. package/esm2022/lib/place/place-history.mjs +2 -2
  75. package/esm2022/lib/place/place.decorator.mjs +2 -2
  76. package/esm2022/lib/place/place.module.mjs +5 -1
  77. package/esm2022/lib/place/route/formatter.mjs +2 -2
  78. package/esm2022/lib/place/route/parameter-decorators.mjs +50 -54
  79. package/esm2022/lib/place/route/parameter-definition.mjs +2 -2
  80. package/esm2022/lib/place/url-snapshot.mjs +3 -3
  81. package/esm2022/lib/place/visit-segment.mjs +2 -2
  82. package/esm2022/lib/place/visit.mjs +2 -2
  83. package/fesm2022/coolon-angular-ui-powerups.mjs +488 -1078
  84. package/fesm2022/coolon-angular-ui-powerups.mjs.map +1 -1
  85. package/lib/animations/slide-animations.d.ts +0 -1
  86. package/lib/components/cards/card-container/card-container.component.d.ts +1 -1
  87. package/lib/components/commands/command/command.component.d.ts +1 -2
  88. package/lib/components/commands/command-face/command-face.component.d.ts +0 -2
  89. package/lib/components/commands/command-face.d.ts +7 -5
  90. package/lib/components/commands/group/popup-menu/abstract-popup-menu.component.d.ts +2 -2
  91. package/lib/components/commands/group/tool-bar/tool-bar.component.d.ts +1 -1
  92. package/lib/components/components.module.d.ts +53 -55
  93. package/lib/components/disposable-component.d.ts +8 -11
  94. package/lib/components/exports.d.ts +1 -5
  95. package/lib/components/forms/abstract-input.component.d.ts +5 -13
  96. package/lib/components/forms/number-input/number-input.component.d.ts +4 -8
  97. package/lib/components/forms/password-input/password-input.component.d.ts +1 -7
  98. package/lib/components/forms/select-input/select-input.component.d.ts +3 -4
  99. package/lib/components/forms/string-input/string-input.component.d.ts +1 -3
  100. package/lib/components/resize-aware.component.d.ts +5 -24
  101. package/lib/components/switch-case/switch-case.component.d.ts +3 -2
  102. package/lib/components/tables/abstract-table-model.d.ts +5 -10
  103. package/lib/components/tables/abstract-table.component.d.ts +2 -3
  104. package/lib/components/tables/column/column-list-model.d.ts +13 -0
  105. package/lib/components/tables/column/column-model.d.ts +1 -5
  106. package/lib/components/tables/column/custom-template-column-model.d.ts +1 -2
  107. package/lib/components/tables/column/custom-value-column-model.d.ts +1 -2
  108. package/lib/components/tables/column/editor-controls-column-model.d.ts +1 -2
  109. package/lib/components/tables/column/list-propery-column-model.d.ts +1 -2
  110. package/lib/components/tables/column/property-column-model.d.ts +1 -2
  111. package/lib/components/tables/column/selection-column-model.d.ts +1 -2
  112. package/lib/components/tables/filter/text-search-predicate.d.ts +0 -9
  113. package/lib/components/tables/renderer/table-body/table-body.component.d.ts +16 -35
  114. package/lib/components/tables/renderer/table-more-menu/table-more-menu.component.d.ts +1 -2
  115. package/lib/components/tables/table/table.component.d.ts +10 -5
  116. package/lib/components/tables/tree-table/tree-label-column-model.d.ts +1 -2
  117. package/lib/components/tables/tree-table/tree-table-component.d.ts +0 -3
  118. package/lib/directives/exports.d.ts +0 -1
  119. package/lib/interaction/activity.d.ts +2 -2
  120. package/lib/interaction/components/abstract-confirm-dialog.component.d.ts +0 -1
  121. package/lib/interaction/components/activity-actions/activity-actions.component.d.ts +3 -1
  122. package/lib/interaction/components/activity-container/activity-container.component.d.ts +3 -7
  123. package/lib/interaction/components/activity-title/activity-title.component.d.ts +1 -1
  124. package/lib/interaction/components/editors/edit-context.d.ts +1 -1
  125. package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +1 -1
  126. package/lib/interaction/exports.d.ts +0 -1
  127. package/lib/interaction/interaction.module.d.ts +28 -28
  128. package/lib/place/components/place-outlet/place-outlet.component.d.ts +4 -3
  129. package/lib/place/place-component.d.ts +4 -4
  130. package/lib/place/place.module.d.ts +5 -4
  131. package/package.json +5 -7
  132. package/esm2022/lib/components/forms/form-field.mjs +0 -2
  133. package/esm2022/lib/components/forms/search-input/search-input.component.mjs +0 -33
  134. package/esm2022/lib/components/loadable-component.mjs +0 -49
  135. package/esm2022/lib/components/tables/column/column-manager.mjs +0 -81
  136. package/esm2022/lib/components/tables/column/column-order-manager.mjs +0 -19
  137. package/esm2022/lib/directives/resize-observer.directive.mjs +0 -40
  138. package/esm2022/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.mjs +0 -129
  139. package/lib/components/forms/form-field.d.ts +0 -5
  140. package/lib/components/forms/search-input/search-input.component.d.ts +0 -10
  141. package/lib/components/loadable-component.d.ts +0 -17
  142. package/lib/components/tables/column/column-manager.d.ts +0 -19
  143. package/lib/components/tables/column/column-order-manager.d.ts +0 -20
  144. package/lib/directives/resize-observer.directive.d.ts +0 -16
  145. package/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.d.ts +0 -53
@@ -1,5 +1,5 @@
1
1
  import { GarbageCollector, MutableValueModel } from '@coolon/pectin';
2
- import { produce } from 'immer';
2
+ import produce from 'immer';
3
3
  export class EditSession extends GarbageCollector {
4
4
  rowId;
5
5
  form;
@@ -18,11 +18,9 @@ export class EditSession extends GarbageCollector {
18
18
  // console.warn()
19
19
  // }
20
20
  this._liveRowValue$.value = produce(this._liveRowValue$.value, draft => {
21
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
22
- // @ts-ignore
23
21
  this.form.writeDirtyStateTo(draft);
24
22
  });
25
23
  });
26
24
  }
27
25
  }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1zZXNzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvZWRpdG9yL2VkaXQtc2Vzc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTZCLGdCQUFnQixFQUFFLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0YsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE9BQU8sQ0FBQztBQUU5QixNQUFNLE9BQU8sV0FBaUIsU0FBUSxnQkFBZ0I7SUFLL0I7SUFBK0I7SUFBdUM7SUFIbkYsY0FBYyxHQUFHLElBQUksaUJBQWlCLEVBQU8sQ0FBQztJQUM3QyxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUM7SUFFdkQsWUFBcUIsS0FBVSxFQUFFLEdBQVEsRUFBVyxJQUE0QixFQUFXLFdBQWdEO1FBQ3pJLEtBQUssRUFBRSxDQUFDO1FBRFcsVUFBSyxHQUFMLEtBQUssQ0FBSztRQUFxQixTQUFJLEdBQUosSUFBSSxDQUF3QjtRQUFXLGdCQUFXLEdBQVgsV0FBVyxDQUFxQztRQUV6SSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3BCLDhDQUE4QztZQUM5QyxtQkFBbUI7WUFDbkIsSUFBSTtZQUNKLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDckUsNkRBQTZEO2dCQUM3RCxhQUFhO2dCQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbWFuZCwgRGlydHlUcmFja2luZ0Zvcm0sIEdhcmJhZ2VDb2xsZWN0b3IsIE11dGFibGVWYWx1ZU1vZGVsfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQge1BpY2tNdXRhYmxlfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCB7cHJvZHVjZX0gZnJvbSAnaW1tZXInO1xuXG5leHBvcnQgY2xhc3MgRWRpdFNlc3Npb248Um93PiBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3Ige1xuXG4gIHByaXZhdGUgX2xpdmVSb3dWYWx1ZSQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8Um93PigpO1xuICByZWFkb25seSBsaXZlUm93VmFsdWUkID0gdGhpcy5fbGl2ZVJvd1ZhbHVlJC5yZWFkb25seSQ7XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgcm93SWQ6IGFueSwgcm93OiBSb3csIHJlYWRvbmx5IGZvcm06IERpcnR5VHJhY2tpbmdGb3JtPFJvdz4sIHJlYWRvbmx5IHNhdmVDb21tYW5kOiBDb21tYW5kPGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+Pikge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5mb3JtLmxvYWQocm93KTtcbiAgICB0aGlzLl9saXZlUm93VmFsdWUkLnZhbHVlID0gcm93O1xuICAgIHRoaXMuZm9ybS5vbkVkaXQoKCkgPT4ge1xuICAgICAgLy8gaWYgKCF0aGlzLl9saXZlUm93VmFsdWUudmFsdWVbaW1tZXJhYmxlXSkge1xuICAgICAgLy8gICBjb25zb2xlLndhcm4oKVxuICAgICAgLy8gfVxuICAgICAgdGhpcy5fbGl2ZVJvd1ZhbHVlJC52YWx1ZSA9IHByb2R1Y2UodGhpcy5fbGl2ZVJvd1ZhbHVlJC52YWx1ZSwgZHJhZnQgPT4ge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdGhpcy5mb3JtLndyaXRlRGlydHlTdGF0ZVRvKGRyYWZ0KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1zZXNzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvZWRpdG9yL2VkaXQtc2Vzc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTZCLGdCQUFnQixFQUFFLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0YsT0FBTyxPQUFPLE1BQU0sT0FBTyxDQUFDO0FBRTVCLE1BQU0sT0FBTyxXQUFpQixTQUFRLGdCQUFnQjtJQUsvQjtJQUErQjtJQUF1QztJQUhuRixjQUFjLEdBQUcsSUFBSSxpQkFBaUIsRUFBTyxDQUFDO0lBQzdDLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQztJQUV2RCxZQUFxQixLQUFVLEVBQUUsR0FBUSxFQUFXLElBQTRCLEVBQVcsV0FBZ0Q7UUFDekksS0FBSyxFQUFFLENBQUM7UUFEVyxVQUFLLEdBQUwsS0FBSyxDQUFLO1FBQXFCLFNBQUksR0FBSixJQUFJLENBQXdCO1FBQVcsZ0JBQVcsR0FBWCxXQUFXLENBQXFDO1FBRXpJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDcEIsOENBQThDO1lBQzlDLG1CQUFtQjtZQUNuQixJQUFJO1lBQ0osSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFO2dCQUNyRSxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQXlCLENBQUMsQ0FBQztZQUN6RCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tYW5kLCBEaXJ0eVRyYWNraW5nRm9ybSwgR2FyYmFnZUNvbGxlY3RvciwgTXV0YWJsZVZhbHVlTW9kZWx9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7UGlja011dGFibGV9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHByb2R1Y2UgZnJvbSAnaW1tZXInO1xuXG5leHBvcnQgY2xhc3MgRWRpdFNlc3Npb248Um93PiBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3Ige1xuXG4gIHByaXZhdGUgX2xpdmVSb3dWYWx1ZSQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8Um93PigpO1xuICByZWFkb25seSBsaXZlUm93VmFsdWUkID0gdGhpcy5fbGl2ZVJvd1ZhbHVlJC5yZWFkb25seSQ7XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgcm93SWQ6IGFueSwgcm93OiBSb3csIHJlYWRvbmx5IGZvcm06IERpcnR5VHJhY2tpbmdGb3JtPFJvdz4sIHJlYWRvbmx5IHNhdmVDb21tYW5kOiBDb21tYW5kPGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+Pikge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5mb3JtLmxvYWQocm93KTtcbiAgICB0aGlzLl9saXZlUm93VmFsdWUkLnZhbHVlID0gcm93O1xuICAgIHRoaXMuZm9ybS5vbkVkaXQoKCkgPT4ge1xuICAgICAgLy8gaWYgKCF0aGlzLl9saXZlUm93VmFsdWUudmFsdWVbaW1tZXJhYmxlXSkge1xuICAgICAgLy8gICBjb25zb2xlLndhcm4oKVxuICAgICAgLy8gfVxuICAgICAgdGhpcy5fbGl2ZVJvd1ZhbHVlJC52YWx1ZSA9IHByb2R1Y2UodGhpcy5fbGl2ZVJvd1ZhbHVlJC52YWx1ZSwgZHJhZnQgPT4ge1xuICAgICAgICB0aGlzLmZvcm0ud3JpdGVEaXJ0eVN0YXRlVG8oZHJhZnQgYXMgUGlja011dGFibGU8Um93Pik7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -15,9 +15,7 @@ export class TableFilterModel extends GarbageCollector {
15
15
  this.useSearchText(options.searchText$);
16
16
  this.useRowPredicate(options.predicate$);
17
17
  const { chain } = Dsl.disposeWith(this);
18
- const textSearchRegex$ = chain(this._searchText$)
19
- .debounce(250)
20
- .map(text => {
18
+ const textSearchRegex$ = chain(this._searchText$).map(text => {
21
19
  return isEmpty(text) ? undefined : new RegExp(escapeStringRegexp(text), "i");
22
20
  }, { allowNil: true });
23
21
  this._rowPredicate = chain(this._rowPredicate$)
@@ -60,4 +58,4 @@ export class TableFilterModel extends GarbageCollector {
60
58
  }
61
59
  }
62
60
  ProxyRegistry.registerOneTimeBinding(TableFilterModel);
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZmlsdGVyLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvZmlsdGVyL3RhYmxlLWZpbHRlci1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUdwQixHQUFHLEVBQ0gsZ0JBQWdCLEVBQ2hCLEtBQUssRUFHTCxhQUFhLEVBRWQsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLGtCQUFrQixNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFHbEMsTUFBTSxPQUFPLGdCQUFzQixTQUFRLGdCQUFnQjtJQUd4QyxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksbUJBQW1CLEVBQU8sQ0FBQyxDQUFDO0lBQ25FLGNBQWMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxvQkFBb0IsRUFBa0IsQ0FBQyxDQUFDO0lBQ3JGLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxvQkFBb0IsRUFBVSxDQUFDLENBQUM7SUFDM0UscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksb0JBQW9CLEVBQTRCLENBQUMsQ0FBQztJQUN0RyxhQUFhLENBQW9DO0lBQ2pELFFBQVEsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO0lBRS9CLGFBQWEsQ0FBaUI7SUFHdkMsWUFBWSxPQUE0QztRQUN0RCxLQUFLLEVBQUUsQ0FBQztRQUNSLE9BQU8sQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEMsSUFBSSxD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LEVBQUMsT0FBTyxFQUFDLENBQUE7SUFDbEIsQ0FBQztDQUVGO0FBVUQsYUFBYSxDQUFDLHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEZWxlZ2F0aW5nTGlzdE1vZGVsLFxuICBEZWxlZ2F0aW5nVmFsdWVNb2RlbCxcbiAgRGlzcG9zYWJsZSxcbiAgRGlzcG9zZWRXaXRoLFxuICBEc2wsXG4gIEdhcmJhZ2VDb2xsZWN0b3IsXG4gIEd1YXJkLFxuICBMaXN0TW9kZWwsXG4gIFByZWRpY2F0ZSxcbiAgUHJveHlSZWdpc3RyeSxcbiAgVmFsdWVNb2RlbFxufSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCBlc2NhcGVTdHJpbmdSZWdleHAgZnJvbSBcImVzY2FwZS1zdHJpbmctcmVnZXhwXCI7XG5pbXBvcnQge2lzRW1wdHl9IGZyb20gXCJsb2Rhc2gtZXNcIjtcbmltcG9ydCB7VGV4dFNlYXJjaFByZWRpY2F0ZX0gZnJvbSBcIi4vdGV4dC1zZWFyY2gtcHJlZGljYXRlXCI7XG5cbmV4cG9ydCBjbGFzcyBUYWJsZUZpbHRlck1vZGVsPFJvdz4gZXh0ZW5kcyBHYXJiYWdlQ29sbGVjdG9yIHtcblxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NvdXJjZSQgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgRGVsZWdhdGluZ0xpc3RNb2RlbDxSb3c+KCkpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yb3dQcmVkaWNhdGUkID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IERlbGVnYXRpbmdWYWx1ZU1vZGVsPFByZWRpY2F0ZTxSb3c+PigpKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2VhcmNoVGV4dCQgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgRGVsZWdhdGluZ1ZhbHVlTW9kZWw8c3RyaW5nPigpKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfdGV4dFNlYXJjaFByZWRpY2F0ZSQgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgRGVsZWdhdGluZ1ZhbHVlTW9kZWw8VGV4dFNlYXJjaFByZWRpY2F0ZTxSb3c+PigpKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcm93UHJlZGljYXRlOiBWYWx1ZU1vZGVsPChyb3c6IFJvdykgPT4gYm9vbGVhbj47XG4gIHByaXZhdGUgcmVhZG9ubHkgaW5VcGRhdGUgPSBuZXcgR3VhcmQoKTtcblxuICByZWFkb25seSBmaWx0ZXJlZFJvd3MkOiBMaXN0TW9kZWw8Um93PjtcblxuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFRhYmxlRmlsdGVyTW9kZWwuQ29uZmlndXJhdGlvbjxSb3c+KSB7XG4gICAgc3VwZXIoKTtcbiAgICBvcHRpb25zLmRpc3Bvc2VkV2l0aC5yZWdpc3RlckRpc3Bvc2FibGUodGhpcyk7XG4gICAgdGhpcy51c2VTZWFyY2hUZXh0KG9wdGlvbnMuc2VhcmNoVGV4dCQpO1xuICAgIHRoaXMudXNlUm93UHJlZGljYXRlKG9wdGlvbnMucHJlZGljYXRlJClcblxuICAgIGNvbnN0IHtjaGFpbn0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG5cbiAgICBjb25zdCB0ZXh0U2VhcmNoUmVnZXgkID0gY2hhaW4odGhpcy5fc2VhcmNoVGV4dCQpXG4gICAgICAuZGVib3VuY2UoMjUwKVxuICAgICAgLm1hcCh0ZXh0ID0+IHtcbiAgICAgIHJldHVybiBpc0VtcHR5KHRleHQpID8gdW5kZWZpbmVkIDogbmV3IFJlZ0V4cChlc2NhcGVTdHJpbmdSZWdleHAodGV4dCksIFwiaVwiKTtcbiAgICB9LCB7YWxsb3dOaWw6IHRydWV9KTtcblxuICAgIHRoaXMuX3Jvd1ByZWRpY2F0ZSA9IGNoYWluKHRoaXMuX3Jvd1ByZWRpY2F0ZSQpXG4gICAgICAubWFwKHByZWRpY2F0ZSA9PiB7XG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gdGV4dFNlYXJjaFJlZ2V4JC52YWx1ZTtcbiAgICAgICAgY29uc3QgdGV4dFNlYXJjaFByZWRpY2F0ZSA9IHRoaXMuX3RleHRTZWFyY2hQcmVkaWNhdGUkLnZhbHVlO1xuICAgICAgICByZXR1cm4gKHJvdzogUm93KSA9PiAoIXByZWRpY2F0ZSB8fCBwcmVkaWNhdGUocm93KSkgJiYgKCFyZWdleCB8fCAhdGV4dFNlYXJjaFByZWRpY2F0ZSB8fCB0ZXh0U2VhcmNoUHJlZGljYXRlKHJvdywgcmVnZXgpKTtcbiAgICAgIH0sIHtcbiAgICAgICAgYWxsb3dOaWw6IHRydWUsXG4gICAgICAgIGRlcGVuZHNPbjogW3RleHRTZWFyY2hSZWdleCQsIHRoaXMuX3RleHRTZWFyY2hQcmVkaWNhdGUkXSxcbiAgICAgICAgcG9zdHBvbmVXaGlsZTogdGhpcy5pblVwZGF0ZVxuICAgICAgfSk7XG5cbiAgICB0aGlzLmZpbHRlcmVkUm93cyQgPSBjaGFpbih0aGlzLl9zb3VyY2UkKS5zZWxlY3Qocm93ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLl9yb3dQcmVkaWNhdGUudmFsdWUocm93KTtcbiAgICB9LCB7ZGVwZW5kc09uOiB0aGlzLl9yb3dQcmVkaWNhdGV9KTtcbiAgfVxuXG4gIGdldCBoaWdobGlnaHRUZXh0JCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoVGV4dCQucmVhZG9ubHkkO1xuICB9XG5cbiAgdXNlU2VhcmNoVGV4dChzZWFyY2hUZXh0JDogVmFsdWVNb2RlbDxzdHJpbmc+KSB7XG4gICAgdGhpcy5fc2VhcmNoVGV4dCQuc2V0RGVsZWdhdGUoc2VhcmNoVGV4dCQpO1xuICB9XG5cbiAgdXNlUm93UHJlZGljYXRlKHJvd1ByZWRpY2F0ZSQ6IFZhbHVlTW9kZWw8KHJvdzogUm93KSA9PiBib29sZWFuPikge1xuICAgIHRoaXMuX3Jvd1ByZWRpY2F0ZSQuc2V0RGVsZWdhdGUocm93UHJlZGljYXRlJCk7XG4gIH1cblxuICBiaW5kVG9UYWJsZShzb3VyY2UkOiBMaXN0TW9kZWw8Um93PiwgdGV4dFNlYXJjaFByZWRpY2F0ZSQ6IFZhbHVlTW9kZWw8VGV4dFNlYXJjaFByZWRpY2F0ZTxSb3c+Pik6IERpc3Bvc2FibGUge1xuICAgIHRoaXMuaW5VcGRhdGUud2hpbGVUcnVlKCgpID0+IHtcbiAgICAgIHRoaXMuX3NvdXJjZSQuc2V0RGVsZWdhdGUoc291cmNlJCk7XG4gICAgICB0aGlzLl90ZXh0U2VhcmNoUHJlZGljYXRlJC5zZXREZWxlZ2F0ZSh0ZXh0U2VhcmNoUHJlZGljYXRlJCk7XG4gICAgfSlcblxuICAgIGNvbnN0IGRpc3Bvc2UgPSAoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuaXNEaXNwb3NlZCgpKSB7XG4gICAgICAgIHRoaXMuaW5VcGRhdGUud2hpbGVUcnVlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLl9zb3VyY2UkLnNldERlbGVnYXRlKHVuZGVmaW5lZCk7XG4gICAgICAgICAgdGhpcy5fdGV4dFNlYXJjaFByZWRpY2F0ZSQuc2V0RGVsZWdhdGUodW5kZWZpbmVkKTtcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtkaXNwb3NlfVxuICB9XG5cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBUYWJsZUZpbHRlck1vZGVsIHtcblxuICBleHBvcnQgaW50ZXJmYWNlIENvbmZpZ3VyYXRpb248Um93PiBleHRlbmRzIERpc3Bvc2VkV2l0aCB7XG4gICAgcHJlZGljYXRlJD86IFZhbHVlTW9kZWw8UHJlZGljYXRlPFJvdz4+XG4gICAgc2VhcmNoVGV4dCQ/OiBWYWx1ZU1vZGVsPHN0cmluZz47XG4gIH1cbn1cblxuUHJveHlSZWdpc3RyeS5yZWdpc3Rlck9uZVRpbWVCaW5kaW5nKFRhYmxlRmlsdGVyTW9kZWwpXG4iXX0=
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZmlsdGVyLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvZmlsdGVyL3RhYmxlLWZpbHRlci1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUdwQixHQUFHLEVBQ0gsZ0JBQWdCLEVBQ2hCLEtBQUssRUFHTCxhQUFhLEVBRWQsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLGtCQUFrQixNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFHbEMsTUFBTSxPQUFPLGdCQUFzQixTQUFRLGdCQUFnQjtJQUd4QyxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksbUJBQW1CLEVBQU8sQ0FBQyxDQUFDO0lBQ25FLGNBQWMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxvQkFBb0IsRUFBa0IsQ0FBQyxDQUFDO0lBQ3JGLFlBQVksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxvQkFBb0IsRUFBVSxDQUFDLENBQUM7SUFDM0UscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksb0JBQW9CLEVBQTRCLENBQUMsQ0FBQztJQUN0RyxhQUFhLENBQW9DO0lBQ2pELFFBQVEsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO0lBRS9CLGFBQWEsQ0FBaUI7SUFHdkMsWUFBWSxPQUE0QztRQUN0RCxLQUFLLEVBQUUsQ0FBQztRQUNSLE9BQU8sQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEMsSUFBSSxD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QixDQUFDO0NBRUY7QUFVRCxhQUFhLENBQUMsc0JBQXNCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERlbGVnYXRpbmdMaXN0TW9kZWwsXG4gIERlbGVnYXRpbmdWYWx1ZU1vZGVsLFxuICBEaXNwb3NhYmxlLFxuICBEaXNwb3NlZFdpdGgsXG4gIERzbCxcbiAgR2FyYmFnZUNvbGxlY3RvcixcbiAgR3VhcmQsXG4gIExpc3RNb2RlbCxcbiAgUHJlZGljYXRlLFxuICBQcm94eVJlZ2lzdHJ5LFxuICBWYWx1ZU1vZGVsXG59IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IGVzY2FwZVN0cmluZ1JlZ2V4cCBmcm9tIFwiZXNjYXBlLXN0cmluZy1yZWdleHBcIjtcbmltcG9ydCB7aXNFbXB0eX0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHtUZXh0U2VhcmNoUHJlZGljYXRlfSBmcm9tIFwiLi90ZXh0LXNlYXJjaC1wcmVkaWNhdGVcIjtcblxuZXhwb3J0IGNsYXNzIFRhYmxlRmlsdGVyTW9kZWw8Um93PiBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3Ige1xuXG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc291cmNlJCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nTGlzdE1vZGVsPFJvdz4oKSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jvd1ByZWRpY2F0ZSQgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgRGVsZWdhdGluZ1ZhbHVlTW9kZWw8UHJlZGljYXRlPFJvdz4+KCkpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zZWFyY2hUZXh0JCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nVmFsdWVNb2RlbDxzdHJpbmc+KCkpO1xuICBwcml2YXRlIHJlYWRvbmx5IF90ZXh0U2VhcmNoUHJlZGljYXRlJCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nVmFsdWVNb2RlbDxUZXh0U2VhcmNoUHJlZGljYXRlPFJvdz4+KCkpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yb3dQcmVkaWNhdGU6IFZhbHVlTW9kZWw8KHJvdzogUm93KSA9PiBib29sZWFuPjtcbiAgcHJpdmF0ZSByZWFkb25seSBpblVwZGF0ZSA9IG5ldyBHdWFyZCgpO1xuXG4gIHJlYWRvbmx5IGZpbHRlcmVkUm93cyQ6IExpc3RNb2RlbDxSb3c+O1xuXG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogVGFibGVGaWx0ZXJNb2RlbC5Db25maWd1cmF0aW9uPFJvdz4pIHtcbiAgICBzdXBlcigpO1xuICAgIG9wdGlvbnMuZGlzcG9zZWRXaXRoLnJlZ2lzdGVyRGlzcG9zYWJsZSh0aGlzKTtcbiAgICB0aGlzLnVzZVNlYXJjaFRleHQob3B0aW9ucy5zZWFyY2hUZXh0JCk7XG4gICAgdGhpcy51c2VSb3dQcmVkaWNhdGUob3B0aW9ucy5wcmVkaWNhdGUkKVxuXG4gICAgY29uc3Qge2NoYWlufSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcblxuICAgIGNvbnN0IHRleHRTZWFyY2hSZWdleCQgPSBjaGFpbih0aGlzLl9zZWFyY2hUZXh0JCkubWFwKHRleHQgPT4ge1xuICAgICAgcmV0dXJuIGlzRW1wdHkodGV4dCkgPyB1bmRlZmluZWQgOiBuZXcgUmVnRXhwKGVzY2FwZVN0cmluZ1JlZ2V4cCh0ZXh0KSwgXCJpXCIpO1xuICAgIH0sIHthbGxvd05pbDogdHJ1ZX0pO1xuXG4gICAgdGhpcy5fcm93UHJlZGljYXRlID0gY2hhaW4odGhpcy5fcm93UHJlZGljYXRlJClcbiAgICAgIC5tYXAocHJlZGljYXRlID0+IHtcbiAgICAgICAgY29uc3QgcmVnZXggPSB0ZXh0U2VhcmNoUmVnZXgkLnZhbHVlO1xuICAgICAgICBjb25zdCB0ZXh0U2VhcmNoUHJlZGljYXRlID0gdGhpcy5fdGV4dFNlYXJjaFByZWRpY2F0ZSQudmFsdWU7XG4gICAgICAgIHJldHVybiAocm93OiBSb3cpID0+ICghcHJlZGljYXRlIHx8IHByZWRpY2F0ZShyb3cpKSAmJiAoIXJlZ2V4IHx8ICF0ZXh0U2VhcmNoUHJlZGljYXRlIHx8IHRleHRTZWFyY2hQcmVkaWNhdGUocm93LCByZWdleCkpO1xuICAgICAgfSwge1xuICAgICAgICBhbGxvd05pbDogdHJ1ZSxcbiAgICAgICAgZGVwZW5kc09uOiBbdGV4dFNlYXJjaFJlZ2V4JCwgdGhpcy5fdGV4dFNlYXJjaFByZWRpY2F0ZSRdLFxuICAgICAgICBwb3N0cG9uZVdoaWxlOiB0aGlzLmluVXBkYXRlXG4gICAgICB9KTtcblxuICAgIHRoaXMuZmlsdGVyZWRSb3dzJCA9IGNoYWluKHRoaXMuX3NvdXJjZSQpLnNlbGVjdChyb3cgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuX3Jvd1ByZWRpY2F0ZS52YWx1ZShyb3cpO1xuICAgIH0sIHtkZXBlbmRzT246IHRoaXMuX3Jvd1ByZWRpY2F0ZX0pXG4gIH1cblxuICBnZXQgaGlnaGxpZ2h0VGV4dCQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlYXJjaFRleHQkLnJlYWRvbmx5JDtcbiAgfVxuXG4gIHVzZVNlYXJjaFRleHQoc2VhcmNoVGV4dCQ6IFZhbHVlTW9kZWw8c3RyaW5nPikge1xuICAgIHRoaXMuX3NlYXJjaFRleHQkLnNldERlbGVnYXRlKHNlYXJjaFRleHQkKTtcbiAgfVxuXG4gIHVzZVJvd1ByZWRpY2F0ZShyb3dQcmVkaWNhdGUkOiBWYWx1ZU1vZGVsPChyb3c6IFJvdykgPT4gYm9vbGVhbj4pIHtcbiAgICB0aGlzLl9yb3dQcmVkaWNhdGUkLnNldERlbGVnYXRlKHJvd1ByZWRpY2F0ZSQpO1xuICB9XG5cbiAgYmluZFRvVGFibGUoc291cmNlJDogTGlzdE1vZGVsPFJvdz4sIHRleHRTZWFyY2hQcmVkaWNhdGUkOiBWYWx1ZU1vZGVsPFRleHRTZWFyY2hQcmVkaWNhdGU8Um93Pj4pOiBEaXNwb3NhYmxlIHtcbiAgICB0aGlzLmluVXBkYXRlLndoaWxlVHJ1ZSgoKSA9PiB7XG4gICAgICB0aGlzLl9zb3VyY2UkLnNldERlbGVnYXRlKHNvdXJjZSQpO1xuICAgICAgdGhpcy5fdGV4dFNlYXJjaFByZWRpY2F0ZSQuc2V0RGVsZWdhdGUodGV4dFNlYXJjaFByZWRpY2F0ZSQpO1xuICAgIH0pXG5cbiAgICBjb25zdCBkaXNwb3NlID0gKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmlzRGlzcG9zZWQoKSkge1xuICAgICAgICB0aGlzLmluVXBkYXRlLndoaWxlVHJ1ZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fc291cmNlJC5zZXREZWxlZ2F0ZSh1bmRlZmluZWQpO1xuICAgICAgICAgIHRoaXMuX3RleHRTZWFyY2hQcmVkaWNhdGUkLnNldERlbGVnYXRlKHVuZGVmaW5lZCk7XG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7ZGlzcG9zZX1cbiAgfVxuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVGFibGVGaWx0ZXJNb2RlbCB7XG5cbiAgZXhwb3J0IGludGVyZmFjZSBDb25maWd1cmF0aW9uPFJvdz4gZXh0ZW5kcyBEaXNwb3NlZFdpdGgge1xuICAgIHByZWRpY2F0ZSQ/OiBWYWx1ZU1vZGVsPFByZWRpY2F0ZTxSb3c+PlxuICAgIHNlYXJjaFRleHQkPzogVmFsdWVNb2RlbDxzdHJpbmc+O1xuICB9XG59XG5cblByb3h5UmVnaXN0cnkucmVnaXN0ZXJPbmVUaW1lQmluZGluZyhUYWJsZUZpbHRlck1vZGVsKVxuIl19
@@ -1,16 +1,2 @@
1
- export class TextSearchContext {
2
- row;
3
- searchText;
4
- searchRegex;
5
- constructor(row, searchText, searchRegex) {
6
- this.row = row;
7
- this.searchText = searchText;
8
- this.searchRegex = searchRegex;
9
- }
10
- getOrCreate(type, create) {
11
- }
12
- matchesText(text) {
13
- return this.searchRegex.test(text);
14
- }
15
- }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1zZWFyY2gtcHJlZGljYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvZmlsdGVyL3RleHQtc2VhcmNoLXByZWRpY2F0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQU8saUJBQWlCO0lBQ1A7SUFDQTtJQUNBO0lBRnJCLFlBQXFCLEdBQVEsRUFDUixVQUFrQixFQUNsQixXQUFtQjtRQUZuQixRQUFHLEdBQUgsR0FBRyxDQUFLO1FBQ1IsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUNsQixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtJQUN4QyxDQUFDO0lBRUQsV0FBVyxDQUFJLElBQThCLEVBQUUsTUFBZTtJQUU5RCxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVc7UUFDckIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Fic3RyYWN0Q29uc3RydWN0YWJsZX0gZnJvbSBcIkBjb29sb24vcmVzdGlsZW5jZS1wbHVnaW5cIjtcblxuZXhwb3J0IHR5cGUgVGV4dFNlYXJjaFByZWRpY2F0ZTxSb3c+ID0gKHJvdzogUm93LCByZWdleDogUmVnRXhwKSA9PiBib29sZWFuO1xuXG5leHBvcnQgY2xhc3MgVGV4dFNlYXJjaENvbnRleHQ8Um93PiB7XG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHJvdzogUm93LFxuICAgICAgICAgICAgICByZWFkb25seSBzZWFyY2hUZXh0OiBzdHJpbmcsXG4gICAgICAgICAgICAgIHJlYWRvbmx5IHNlYXJjaFJlZ2V4OiBSZWdFeHApIHtcbiAgfVxuXG4gIGdldE9yQ3JlYXRlPFQ+KHR5cGU6IEFic3RyYWN0Q29uc3RydWN0YWJsZTxUPiwgY3JlYXRlOiAoKSA9PiBUKSB7XG5cbiAgfVxuXG4gIG1hdGNoZXNUZXh0KHRleHQ6c3RyaW5nKTpib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hSZWdleC50ZXN0KHRleHQpO1xuICB9XG59XG5cbiJdfQ==
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1zZWFyY2gtcHJlZGljYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvZmlsdGVyL3RleHQtc2VhcmNoLXByZWRpY2F0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgVGV4dFNlYXJjaFByZWRpY2F0ZTxSb3c+ID0gKHJvdzogUm93LCByZWdleDogUmVnRXhwKSA9PiBib29sZWFuO1xuXG4iXX0=
@@ -10,12 +10,12 @@ export class DefaultCellRendererComponent {
10
10
  return this._value;
11
11
  }
12
12
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DefaultCellRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: DefaultCellRendererComponent, selector: "aup-default-cell-renderer", inputs: { value: "value" }, ngImport: i0, template: "<span [innerHTML]=\"value?.toString()| aupHighlight\"></span>\n", styles: [""], dependencies: [{ kind: "pipe", type: i1.HighlightPipe, name: "aupHighlight" }] });
13
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: DefaultCellRendererComponent, selector: "aup-default-cell-renderer", inputs: { value: "value" }, ngImport: i0, template: "<span [innerHTML]=\"value| aupHighlight\"></span>\n", styles: [""], dependencies: [{ kind: "pipe", type: i1.HighlightPipe, name: "aupHighlight" }] });
14
14
  }
15
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: DefaultCellRendererComponent, decorators: [{
16
16
  type: Component,
17
- args: [{ selector: "aup-default-cell-renderer", template: "<span [innerHTML]=\"value?.toString()| aupHighlight\"></span>\n" }]
17
+ args: [{ selector: "aup-default-cell-renderer", template: "<span [innerHTML]=\"value| aupHighlight\"></span>\n" }]
18
18
  }], propDecorators: { value: [{
19
19
  type: Input
20
20
  }] } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL3JlbmRlcmVyL2RlZmF1bHQtY2VsbC1yZW5kZXJlci9kZWZhdWx0LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvcmVuZGVyZXIvZGVmYXVsdC1jZWxsLXJlbmRlcmVyL2RlZmF1bHQtY2VsbC1yZW5kZXJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQzs7O0FBUy9DLE1BQU0sT0FBTyw0QkFBNEI7SUFDL0IsTUFBTSxDQUFJO0lBRWxCLElBQ0ksS0FBSyxDQUFDLEtBQVE7UUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO3VHQVZVLDRCQUE0QjsyRkFBNUIsNEJBQTRCLDZGQ1R6QyxpRUFDQTs7MkZEUWEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLDJCQUEyQjs4QkFRakMsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtDZWxsUmVuZGVyZXJ9IGZyb20gXCIuLi9jZWxsLXJlbmRlcmVyXCI7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImF1cC1kZWZhdWx0LWNlbGwtcmVuZGVyZXJcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9kZWZhdWx0LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2RlZmF1bHQtY2VsbC1yZW5kZXJlci5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBEZWZhdWx0Q2VsbFJlbmRlcmVyQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgQ2VsbFJlbmRlcmVyPFQ+IHtcbiAgcHJpdmF0ZSBfdmFsdWU6IFQ7XG5cbiAgQElucHV0KClcbiAgc2V0IHZhbHVlKHZhbHVlOiBUKSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCB2YWx1ZSgpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cbn1cbiIsIjxzcGFuIFtpbm5lckhUTUxdPVwidmFsdWU/LnRvU3RyaW5nKCl8IGF1cEhpZ2hsaWdodFwiPjwvc3Bhbj5cbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1jZWxsLXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL3JlbmRlcmVyL2RlZmF1bHQtY2VsbC1yZW5kZXJlci9kZWZhdWx0LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvcmVuZGVyZXIvZGVmYXVsdC1jZWxsLXJlbmRlcmVyL2RlZmF1bHQtY2VsbC1yZW5kZXJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQzs7O0FBUy9DLE1BQU0sT0FBTyw0QkFBNEI7SUFDL0IsTUFBTSxDQUFJO0lBRWxCLElBQ0ksS0FBSyxDQUFDLEtBQVE7UUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO3VHQVZVLDRCQUE0QjsyRkFBNUIsNEJBQTRCLDZGQ1R6QyxxREFDQTs7MkZEUWEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLDJCQUEyQjs4QkFRakMsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtDZWxsUmVuZGVyZXJ9IGZyb20gXCIuLi9jZWxsLXJlbmRlcmVyXCI7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImF1cC1kZWZhdWx0LWNlbGwtcmVuZGVyZXJcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9kZWZhdWx0LWNlbGwtcmVuZGVyZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2RlZmF1bHQtY2VsbC1yZW5kZXJlci5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBEZWZhdWx0Q2VsbFJlbmRlcmVyQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgQ2VsbFJlbmRlcmVyPFQ+IHtcbiAgcHJpdmF0ZSBfdmFsdWU6IFQ7XG5cbiAgQElucHV0KClcbiAgc2V0IHZhbHVlKHZhbHVlOiBUKSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCB2YWx1ZSgpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cbn1cbiIsIjxzcGFuIFtpbm5lckhUTUxdPVwidmFsdWV8IGF1cEhpZ2hsaWdodFwiPjwvc3Bhbj5cbiJdfQ==
@@ -1,42 +1,14 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { CdkVirtualScrollViewport } from "@angular/cdk/scrolling";
3
- import { Component, Directive, ElementRef, HostBinding, Inject, InjectionToken, Input, Optional, ViewChild } from "@angular/core";
4
- import { Dsl, ListModel, MutableValueModel, Proxify, proxify, StoreInValueModel, ValueModel } from "@coolon/pectin";
5
- import { TableVirtualScrollDataSource } from "ng-table-virtual-scroll";
2
+ import { Component, ElementRef, EventEmitter, HostBinding, Input, NgZone, Output } from "@angular/core";
3
+ import { Dsl, ListModel, MutableValueModel, Proxify, proxify, StoreInValueModel, TransactionObserver, ValueModel } from "@coolon/pectin";
6
4
  import { ResizeAwareComponent } from "../../../resize-aware.component";
7
5
  import { AbstractTableModel } from "../../abstract-table-model";
8
6
  import * as i0 from "@angular/core";
9
7
  import * as i1 from "@angular/common";
10
8
  import * as i2 from "@angular/material/table";
11
- import * as i3 from "@angular/cdk/scrolling";
12
- import * as i4 from "ng-table-virtual-scroll";
13
- import * as i5 from "../table-cell/table-cell.component";
14
- import * as i6 from "../table-header-cell/table-header-cell.component";
15
- export const AUP_TABLE_VIRTUAL_SCROLL_BUFFER_MULTIPLIER = new InjectionToken("AUP_TABLE_VIRTUAL_SCROLL_BUFFER_MULTIPLIER");
16
- export class TableRowAttributesDirective {
17
- elementRef;
18
- aupTableRowAttributes;
19
- constructor(elementRef) {
20
- this.elementRef = elementRef;
21
- }
22
- ngOnInit() {
23
- for (const attr in this.aupTableRowAttributes) {
24
- this.elementRef.nativeElement.setAttribute(attr, this.aupTableRowAttributes[attr]);
25
- }
26
- }
27
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableRowAttributesDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
28
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: TableRowAttributesDirective, selector: "[aupTableRowAttributes]", inputs: { aupTableRowAttributes: "aupTableRowAttributes" }, ngImport: i0 });
29
- }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableRowAttributesDirective, decorators: [{
31
- type: Directive,
32
- args: [{
33
- selector: "[aupTableRowAttributes]",
34
- }]
35
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { aupTableRowAttributes: [{
36
- type: Input
37
- }] } });
9
+ import * as i3 from "../table-cell/table-cell.component";
10
+ import * as i4 from "../table-header-cell/table-header-cell.component";
38
11
  export class TableBodyComponent extends ResizeAwareComponent {
39
- bufferMultiplier;
40
12
  #data$_accessor_storage = proxify((ListModel));
41
13
  get data$() { return this.#data$_accessor_storage; }
42
14
  set data$(value) { this.#data$_accessor_storage = value; }
@@ -49,66 +21,51 @@ export class TableBodyComponent extends ResizeAwareComponent {
49
21
  #showHeader_accessor_storage = true;
50
22
  get showHeader() { return this.#showHeader_accessor_storage; }
51
23
  set showHeader(value) { this.#showHeader_accessor_storage = value; }
24
+ visibleRowCount = new EventEmitter();
52
25
  trackBy;
53
- #scrollMode$_accessor_storage = proxify((ValueModel));
54
- get scrollMode$() { return this.#scrollMode$_accessor_storage; }
55
- set scrollMode$(value) { this.#scrollMode$_accessor_storage = value; }
56
- #scrollMode_accessor_storage = "none";
57
- get scrollMode() { return this.#scrollMode_accessor_storage; }
58
- set scrollMode(value) { this.#scrollMode_accessor_storage = value; }
59
- scrollViewport;
26
+ /**
27
+ * Set to true to enable scrolling. Once enabled the table will have 0 implicit height. You will either
28
+ * need to set it explicitly e.g. height: 400px; or by using flex or grid layout to make it fill it's
29
+ * containment area.
30
+ */
31
+ enableScrolling = false;
60
32
  columns$;
61
33
  columnIds$;
62
34
  columnsById$;
35
+ _visibleRowCount$;
63
36
  // TODO: support user defined header and row heights via css vars.
64
- headerHeight$ = new MutableValueModel(48);
65
- rowHeight$ = new MutableValueModel(44);
37
+ headerHeight$ = new MutableValueModel(29);
38
+ rowHeight$ = new MutableValueModel(40);
66
39
  baseCssClass = "aup-table-component";
67
- virtualScrollDataSource = new TableVirtualScrollDataSource();
68
- virtualScrollActive$ = new MutableValueModel(false);
69
- scrollTimeout;
70
- constructor(bufferMultiplier = 1) {
71
- super();
72
- this.bufferMultiplier = bufferMultiplier;
73
- const { chain, when, observe } = Dsl.disposeWith(this);
40
+ constructor(elementRef, ngZone) {
41
+ super(elementRef, ngZone);
42
+ const { chain, when } = Dsl.disposeWith(this);
74
43
  const actualHeaderHeight$ = chain(this.showHeader$).map(show => {
75
44
  return show ? this.headerHeight$.value : 0;
76
45
  }, { dependsOn: this.headerHeight$ });
77
- // performance is terrible if the data changes while we're scrolling, so we postpone updates until
78
- // scrolling stops.
79
- const delayedDatea$ = chain(this.data$).postponeWhile(this.virtualScrollActive$);
80
- when(delayedDatea$).changes(delatedData => {
81
- this.virtualScrollDataSource.data = delatedData;
82
- this.scheduleTableHeightCheck();
83
- }, { initialValue: "evaluate" });
46
+ this._visibleRowCount$ = chain(this.bounds$).map(bounds => {
47
+ // TODO: this doesn't take into account any css styling adjustments etc. Will investigate if it's an issue.
48
+ const rawRowCount = (bounds.height - actualHeaderHeight$.value) / this.rowHeight$.value;
49
+ return rawRowCount < 1 ? 0 : Math.floor(rawRowCount);
50
+ }, {
51
+ dependsOn: [actualHeaderHeight$, this.rowHeight$],
52
+ postponeWhile: chain(this.bounds$).pluckNumeric("height").isLessThan(1)
53
+ });
54
+ when(this._visibleRowCount$).changes(visibleRows => {
55
+ this.visibleRowCount.emit(visibleRows);
56
+ }, { initialValue: "triggerChangeUnlessNil" });
84
57
  this.onInit(() => {
85
- this.columns$ = chain(this.tableModel.visibleColumns$);
58
+ this.columns$ = chain(this.tableModel.columns);
86
59
  this.columnIds$ = chain(this.columns$).pluck("columnId");
87
60
  this.columnsById$ = chain(this.columns$).indexBy('columnId');
88
61
  });
89
- // const txo = new TransactionObserver({verbose: false}).onEvent(e => console.log(e.name, e.payload));
90
- // txo.observe('this.virtualScrollRowRange$', this.virtualScrollRowRange$);
91
- // txo.observe('this.virtualScrollSpacerSize$', this.virtualScrollSpacerSize$);
92
- // txo.observe('this.virtualRows$', this.virtualRows$);
93
- // txo.observe('this.tableBodyHeight$', this.tableBodyHeight$);
94
- // txo.observe('this.virtualScrollActive$', this.virtualScrollActive$);
95
- }
96
- ngAfterViewInit() {
97
- super.ngAfterViewInit();
98
- if (this.scrollViewport) {
99
- const { observe } = Dsl.disposeWith(this);
100
- this.scrollViewport.elementScrolled().subscribe(() => this.notifyScrolled());
101
- }
62
+ const txo = new TransactionObserver().onEvent(e => console.log(e.name, e.payload));
63
+ txo.observe('this.boundsModel', this.bounds$);
64
+ txo.observe('this._visibleRowCount$', this._visibleRowCount$);
102
65
  }
103
66
  get hideHeader() {
104
67
  return !this.showHeader;
105
68
  }
106
- get headerHeightCssVar() {
107
- return `${this.headerHeight$.value}px`;
108
- }
109
- get rowHeightCssVar() {
110
- return `${this.rowHeight$.value}px`;
111
- }
112
69
  isEditing(row) {
113
70
  return !!this.tableModel.getEditSessionFor(row);
114
71
  }
@@ -133,34 +90,8 @@ export class TableBodyComponent extends ResizeAwareComponent {
133
90
  }
134
91
  return classes;
135
92
  }
136
- scheduleTableHeightCheck(waitMillis = 50) {
137
- setTimeout(() => {
138
- const tbody = this.elementRef.nativeElement.querySelector("tbody");
139
- const bodyHeight = tbody.offsetHeight;
140
- if (this.data$.length > 0 && bodyHeight < this.rowHeight$.value) {
141
- // Hacks to get our virtual scroll to repaint
142
- // Logger.get(this).log(`rowCount=${this.data$.length}, bodyHeight=${bodyHeight} -> virtual table not rendering, triggering resize to force repaint`)
143
- window.dispatchEvent(new Event('resize'));
144
- if (waitMillis < 500) {
145
- this.scheduleTableHeightCheck(waitMillis + 50);
146
- }
147
- }
148
- }, waitMillis);
149
- }
150
- notifyScrolled() {
151
- this.virtualScrollActive$.value = true;
152
- this.clearScrollTimeout();
153
- this.scrollTimeout = setTimeout(() => {
154
- return this.virtualScrollActive$.value = false;
155
- }, 200);
156
- }
157
- clearScrollTimeout() {
158
- if (this.scrollTimeout) {
159
- clearTimeout(this.scrollTimeout);
160
- }
161
- }
162
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableBodyComponent, deps: [{ token: AUP_TABLE_VIRTUAL_SCROLL_BUFFER_MULTIPLIER, optional: true }], target: i0.ɵɵFactoryTarget.Component });
163
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TableBodyComponent, selector: "aup-table-body", inputs: { data$: "data$", tableModel: "tableModel", showHeader$: "showHeader$", showHeader: "showHeader", trackBy: "trackBy", scrollMode$: "scrollMode$", scrollMode: "scrollMode" }, host: { properties: { "attr.scrollMode": "this.scrollMode", "class": "this.baseCssClass", "class.hide-header": "this.hideHeader", "style.--aup-table-header-height": "this.headerHeightCssVar", "style.--aup-table-row-height": "this.rowHeightCssVar" } }, viewQueries: [{ propertyName: "scrollViewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], usesInheritance: true, ngImport: i0, template: "\n<div class=\"classic-scroll-container\" *ngIf=\"scrollMode$.value !== 'virtual'\">\n <table mat-table [dataSource]=\"data$.value\" [trackBy]=\"trackBy\" [multiTemplateDataRows]>\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]=\"$any(column)\"\n [row]=\"row\"\n [tableModel]=\"$any(tableModel)\"\n [editSession]=\"$any(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; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds$.value; let i = index\"\n [ngClass]=\"tableModel.getRowClasses(row)\"\n [class.enable-hover]=\"tableModel.isHoverEnabled()\"\n [aupTableRowAttributes]=\"tableModel.getRowAttributes(row)\"\n [attr.aup-row-id]=\"trackBy(i, row)\"\n ></tr>\n\n </table>\n</div>\n\n<cdk-virtual-scroll-viewport *ngIf=\"scrollMode$.value === 'virtual'\"\n [tvsItemSize]=\"rowHeight$.value\"\n [headerHeight]=\"headerHeight$.value\"\n [bufferMultiplier]=\"bufferMultiplier\"\n>\n <table mat-table [dataSource]=\"virtualScrollDataSource\" [trackBy]=\"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]=\"$any(column)\"\n [row]=\"row\"\n [tableModel]=\"$any(tableModel)\"\n [editSession]=\"$any(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; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds$.value; let i = index\"\n [ngClass]=\"tableModel.getRowClasses(row)\"\n [class.enable-hover]=\"tableModel.isHoverEnabled()\"\n [aupTableRowAttributes]=\"tableModel.getRowAttributes(row)\"\n [attr.aup-row-id]=\"trackBy(i, row)\"\n ></tr>\n\n </table>\n</cdk-virtual-scroll-viewport>\n\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{width:100%}:host[scrollMode=virtual] cdk-virtual-scroll-viewport{flex:1}:host[scrollMode=virtual] table th{height:var(--aup-table-header-height);max-height:var(--aup-table-header-height);min-height:var(--aup-table-header-height)}:host[scrollMode=virtual] table td{height:var(--aup-table-row-height);max-height:var(--aup-table-row-height);min-height:var(--aup-table-row-height)}:host[scrollMode=classic]{min-height:0}:host[scrollMode=classic] .classic-scroll-container{flex:1;flex-basis:0;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i2.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i2.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i2.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i2.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i2.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i2.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i2.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i2.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i2.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i3.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: i4.TableItemSizeDirective, selector: "cdk-virtual-scroll-viewport[tvsItemSize]", inputs: ["tvsItemSize", "headerEnabled", "headerHeight", "footerEnabled", "footerHeight", "bufferMultiplier"] }, { kind: "directive", type: TableRowAttributesDirective, selector: "[aupTableRowAttributes]", inputs: ["aupTableRowAttributes"] }, { kind: "component", type: i5.TableCellComponent, selector: "aup-table-cell", inputs: ["row", "column", "editSession", "tableModel"] }, { kind: "component", type: i6.TableHeaderCellComponent, selector: "aup-table-header-cell", inputs: ["column"] }] });
93
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableBodyComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
94
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: TableBodyComponent, selector: "aup-table-body", inputs: { data$: "data$", tableModel: "tableModel", showHeader$: "showHeader$", showHeader: "showHeader", trackBy: "trackBy", 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]=\"data$.value\" [trackBy]=\"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; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds$.value; let i = index\"\n [ngClass]=\"tableModel.getRowClasses(row)\"\n [class.enable-hover]=\"tableModel.isHoverEnabled()\"\n [attr.aup-row-id]=\"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"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i2.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i2.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i2.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i2.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i2.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i2.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i2.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i2.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i2.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i3.TableCellComponent, selector: "aup-table-cell", inputs: ["row", "column", "editSession", "tableModel"] }, { kind: "component", type: i4.TableHeaderCellComponent, selector: "aup-table-header-cell", inputs: ["column"] }] });
164
95
  }
165
96
  __decorate([
166
97
  Proxify(),
@@ -178,23 +109,10 @@ __decorate([
178
109
  StoreInValueModel(),
179
110
  __metadata("design:type", Object)
180
111
  ], TableBodyComponent.prototype, "showHeader", null);
181
- __decorate([
182
- Proxify(),
183
- __metadata("design:type", ValueModel)
184
- ], TableBodyComponent.prototype, "scrollMode$", null);
185
- __decorate([
186
- StoreInValueModel(),
187
- __metadata("design:type", String)
188
- ], TableBodyComponent.prototype, "scrollMode", null);
189
112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: TableBodyComponent, decorators: [{
190
113
  type: Component,
191
- args: [{ selector: "aup-table-body", template: "\n<div class=\"classic-scroll-container\" *ngIf=\"scrollMode$.value !== 'virtual'\">\n <table mat-table [dataSource]=\"data$.value\" [trackBy]=\"trackBy\" [multiTemplateDataRows]>\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]=\"$any(column)\"\n [row]=\"row\"\n [tableModel]=\"$any(tableModel)\"\n [editSession]=\"$any(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; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds$.value; let i = index\"\n [ngClass]=\"tableModel.getRowClasses(row)\"\n [class.enable-hover]=\"tableModel.isHoverEnabled()\"\n [aupTableRowAttributes]=\"tableModel.getRowAttributes(row)\"\n [attr.aup-row-id]=\"trackBy(i, row)\"\n ></tr>\n\n </table>\n</div>\n\n<cdk-virtual-scroll-viewport *ngIf=\"scrollMode$.value === 'virtual'\"\n [tvsItemSize]=\"rowHeight$.value\"\n [headerHeight]=\"headerHeight$.value\"\n [bufferMultiplier]=\"bufferMultiplier\"\n>\n <table mat-table [dataSource]=\"virtualScrollDataSource\" [trackBy]=\"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]=\"$any(column)\"\n [row]=\"row\"\n [tableModel]=\"$any(tableModel)\"\n [editSession]=\"$any(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; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds$.value; let i = index\"\n [ngClass]=\"tableModel.getRowClasses(row)\"\n [class.enable-hover]=\"tableModel.isHoverEnabled()\"\n [aupTableRowAttributes]=\"tableModel.getRowAttributes(row)\"\n [attr.aup-row-id]=\"trackBy(i, row)\"\n ></tr>\n\n </table>\n</cdk-virtual-scroll-viewport>\n\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{width:100%}:host[scrollMode=virtual] cdk-virtual-scroll-viewport{flex:1}:host[scrollMode=virtual] table th{height:var(--aup-table-header-height);max-height:var(--aup-table-header-height);min-height:var(--aup-table-header-height)}:host[scrollMode=virtual] table td{height:var(--aup-table-row-height);max-height:var(--aup-table-row-height);min-height:var(--aup-table-row-height)}:host[scrollMode=classic]{min-height:0}:host[scrollMode=classic] .classic-scroll-container{flex:1;flex-basis:0;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch}\n"] }]
192
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
193
- type: Inject,
194
- args: [AUP_TABLE_VIRTUAL_SCROLL_BUFFER_MULTIPLIER]
195
- }, {
196
- type: Optional
197
- }] }]; }, propDecorators: { data$: [{
114
+ args: [{ selector: "aup-table-body", template: "<div class=\"scroll-container\">\n <table mat-table [dataSource]=\"data$.value\" [trackBy]=\"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; sticky: true\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds$.value; let i = index\"\n [ngClass]=\"tableModel.getRowClasses(row)\"\n [class.enable-hover]=\"tableModel.isHoverEnabled()\"\n [attr.aup-row-id]=\"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"] }]
115
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { data$: [{
198
116
  type: Input
199
117
  }], tableModel: [{
200
118
  type: Input
@@ -202,29 +120,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
202
120
  type: Input
203
121
  }], showHeader: [{
204
122
  type: Input
123
+ }], visibleRowCount: [{
124
+ type: Output
205
125
  }], trackBy: [{
206
126
  type: Input
207
- }], scrollMode$: [{
208
- type: Input
209
- }], scrollMode: [{
127
+ }], enableScrolling: [{
210
128
  type: Input
211
129
  }, {
212
130
  type: HostBinding,
213
- args: ["attr.scrollMode"]
214
- }], scrollViewport: [{
215
- type: ViewChild,
216
- args: [CdkVirtualScrollViewport]
131
+ args: ["class.enable-scrolling"]
217
132
  }], baseCssClass: [{
218
133
  type: HostBinding,
219
134
  args: ["class"]
220
135
  }], hideHeader: [{
221
136
  type: HostBinding,
222
137
  args: ["class.hide-header"]
223
- }], headerHeightCssVar: [{
224
- type: HostBinding,
225
- args: ["style.--aup-table-header-height"]
226
- }], rowHeightCssVar: [{
227
- type: HostBinding,
228
- args: ["style.--aup-table-row-height"]
229
138
  }] } });
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYm9keS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9yZW5kZXJlci90YWJsZS1ib2R5L3RhYmxlLWJvZHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvcmVuZGVyZXIvdGFibGUtYm9keS90YWJsZS1ib2R5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBRUwsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxFQUVMLFFBQVEsRUFDUixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLEdBQUcsRUFDSCxTQUFTLEVBR1QsaUJBQWlCLEVBQ2pCLE9BQU8sRUFDUCxPQUFPLEVBQ1AsaUJBQWlCLEVBRWpCLFVBQVUsRUFDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7OztBQUc5RCxNQUFNLENBQUMsTUFBTSwwQ0FBMEMsR0FBRyxJQUFJLGNBQWMsQ0FBUyw0Q0FBNEMsQ0FBQyxDQUFBO0FBTWxJLE1BQU0sT0FBTywyQkFBMkI7SUFLUDtJQUYvQixxQkFBcUIsQ0FBd0I7SUFFN0MsWUFBK0IsVUFBbUM7UUFBbkMs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QUFFOzsrQ0FDc0I7QUFHaEM7SUFEQyxPQUFPLEVBQUU7O29EQUNvQztBQUc5QztJQURDLE9BQU8sRUFBRTs7cURBQ2lDO0FBRzNDO0lBREMsaUJBQWlCLEVBQUU7O29EQUNGO0FBTWxCO0lBREMsT0FBTyxFQUFFOzhCQUNHLFVBQVU7cURBQXFGO0FBSTVHO0lBRkMsaUJBQWlCLEVBQUU7O29EQUUrQjsyRkF0QmpELGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxnQkFBZ0I7OzBCQWlEYixNQUFNOzJCQUFDLDBDQUEwQzs7MEJBQUcsUUFBUTs0Q0ExQ2hFLEtBQUs7c0JBRGIsS0FBSztnQkFJRyxVQUFVO3NCQURsQixLQUFLO2dCQUlHLFdBQVc7c0JBRG5CLEtBQUs7Z0JBSUcsVUFBVTtzQkFEbEIsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSUcsV0FBVztzQkFEbkIsS0FBSztnQkFLRyxVQUFVO3NCQUZsQixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGlCQUFpQjtnQkFJOUIsY0FBYztzQkFEYixTQUFTO3VCQUFDLHdCQUF3QjtnQkFjbkMsWUFBWTtzQkFEWCxXQUFXO3VCQUFDLE9BQU87Z0JBa0RoQixVQUFVO3NCQURiLFdBQVc7dUJBQUMsbUJBQW1CO2dCQU01QixrQkFBa0I7c0JBRHJCLFdBQVc7dUJBQUMsaUNBQWlDO2dCQU0xQyxlQUFlO3NCQURsQixXQUFXO3VCQUFDLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0fSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3Njcm9sbGluZ1wiO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIEluamVjdGlvblRva2VuLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgVmlld0NoaWxkXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBEc2wsXG4gIExpc3RNb2RlbCxcbiAgTGlzdE1vZGVsQ2hhaW4sXG4gIE1hcE1vZGVsQ2hhaW4sXG4gIE11dGFibGVWYWx1ZU1vZGVsLFxuICBQcm94aWZ5LFxuICBwcm94aWZ5LFxuICBTdG9yZUluVmFsdWVNb2RlbCxcbiAgVHJhbnNhY3Rpb25PYnNlcnZlcixcbiAgVmFsdWVNb2RlbFxufSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCB7VGFibGVWaXJ0dWFsU2Nyb2xsRGF0YVNvdXJjZX0gZnJvbSBcIm5nLXRhYmxlLXZpcnR1YWwtc2Nyb2xsXCI7XG5pbXBvcnQge1Jlc2l6ZUF3YXJlQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vLi4vcmVzaXplLWF3YXJlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtBYnN0cmFjdFRhYmxlTW9kZWx9IGZyb20gXCIuLi8uLi9hYnN0cmFjdC10YWJsZS1tb2RlbFwiO1xuaW1wb3J0IHtDb2x1bW5Nb2RlbH0gZnJvbSBcIi4uLy4uL2NvbHVtbi9jb2x1bW4tbW9kZWxcIjtcblxuZXhwb3J0IGNvbnN0IEFVUF9UQUJMRV9WSVJUVUFMX1NDUk9MTF9CVUZGRVJfTVVMVElQTElFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxudW1iZXI+KFwiQVVQX1RBQkxFX1ZJUlRVQUxfU0NST0xMX0JVRkZFUl9NVUxUSVBMSUVSXCIpXG5cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcIlthdXBUYWJsZVJvd0F0dHJpYnV0ZXNdXCIsXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlUm93QXR0cmlidXRlc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KClcbiAgYXVwVGFibGVSb3dBdHRyaWJ1dGVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGF0dHIgaW4gdGhpcy5hdXBUYWJsZVJvd0F0dHJpYnV0ZXMpIHtcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZShhdHRyLCB0aGlzLmF1cFRhYmxlUm93QXR0cmlidXRlc1thdHRyXSk7XG4gICAgfVxuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJhdXAtdGFibGUtYm9keVwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3RhYmxlLWJvZHkuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3RhYmxlLWJvZHkuY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQm9keUNvbXBvbmVudDxSb3c+IGV4dGVuZHMgUmVzaXplQXdhcmVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblxuICBASW5wdXQoKSBAUHJveGlmeSgpXG4gIGFjY2Vzc29yIGRhdGEkID0gcHJveGlmeShMaXN0TW9kZWw8Um93Pik7XG5cbiAgQElucHV0KCkgQFByb3hpZnkoKVxuICBhY2Nlc3NvciB0YWJsZU1vZGVsID0gcHJveGlmeShBYnN0cmFjdFRhYmxlTW9kZWw8Um93Pik7XG5cbiAgQElucHV0KCkgQFByb3hpZnkoKVxuICBhY2Nlc3NvciBzaG93SGVhZGVyJCA9IHByb3hpZnkoVmFsdWVNb2RlbDxib29sZWFuPik7XG5cbiAgQElucHV0KCkgQFN0b3JlSW5WYWx1ZU1vZGVsKClcbiAgYWNjZXNzb3Igc2hvd0hlYWRlciA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgdHJhY2tCeTogKGluZGV4OiBudW1iZXIsIGl0ZW06IFJvdykgPT4gYW55XG5cbiAgQElucHV0KCkgQFByb3hpZnkoKVxuICBhY2Nlc3NvciBzY3JvbGxNb2RlJDogVmFsdWVNb2RlbDxUYWJsZUJvZHlDb21wb25lbnQuU2Nyb2xsTW9kZT4gPSBwcm94aWZ5KFZhbHVlTW9kZWw8VGFibGVCb2R5Q29tcG9uZW50LlNjcm9sbE1vZGU+KTtcblxuICBASW5wdXQoKSBAU3RvcmVJblZhbHVlTW9kZWwoKVxuICBASG9zdEJpbmRpbmcoXCJhdHRyLnNjcm9sbE1vZGVcIilcbiAgYWNjZXNzb3Igc2Nyb2xsTW9kZTogVGFibGVCb2R5Q29tcG9uZW50LlNjcm9sbE1vZGUgPSBcIm5vbmVcIjtcblxuICBAVmlld0NoaWxkKENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydClcbiAgc2Nyb2xsVmlld3BvcnQ6IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydFxuXG4gIGNvbHVtbnMkOiBMaXN0TW9kZWxDaGFpbjxDb2x1bW5Nb2RlbDxSb3c+PjtcbiAgY29sdW1uSWRzJDogTGlzdE1vZGVsQ2hhaW48c3RyaW5nPjtcblxuICBwcml2YXRlIGNvbHVtbnNCeUlkJDogTWFwTW9kZWxDaGFpbjxzdHJpbmcsIENvbHVtbk1vZGVsPFJvdz4+O1xuXG5cbiAgLy8gVE9ETzogc3VwcG9ydCB1c2VyIGRlZmluZWQgaGVhZGVyIGFuZCByb3cgaGVpZ2h0cyB2aWEgY3NzIHZhcnMuXG4gIHByb3RlY3RlZCByZWFkb25seSBoZWFkZXJIZWlnaHQkID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPG51bWJlcj4oNDgpO1xuICBwcm90ZWN0ZWQgcm93SGVpZ2h0JCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxudW1iZXI+KDQ0KTtcblxuICBASG9zdEJpbmRpbmcoXCJjbGFzc1wiKVxuICBiYXNlQ3NzQ2xhc3MgPSBcImF1cC10YWJsZS1jb21wb25lbnRcIjtcblxuICBwcm90ZWN0ZWQgdmlydHVhbFNjcm9sbERhdGFTb3VyY2UgPSBuZXcgVGFibGVWaXJ0dWFsU2Nyb2xsRGF0YVNvdXJjZTxSb3c+KCk7XG4gIHByaXZhdGUgdmlydHVhbFNjcm9sbEFjdGl2ZSQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWwoZmFsc2UpO1xuICBwcml2YXRlIHNjcm9sbFRpbWVvdXQ6IGFueTtcblxuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQVVQX1RBQkxFX1ZJUlRVQUxfU0NST0xMX0JVRkZFUl9NVUxUSVBMSUVSKSBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgYnVmZmVyTXVsdGlwbGllcjogbnVtYmVyID0gMSkge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3Qge2NoYWluLCB3aGVuLCBvYnNlcnZlfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcblxuICAgIGNvbnN0IGFjdHVhbEhlYWRlckhlaWdodCQgPSBjaGFpbih0aGlzLnNob3dIZWFkZXIkKS5tYXAoc2hvdyA9PiB7XG4gICAgICByZXR1cm4gc2hvdyA/IHRoaXMuaGVhZGVySGVpZ2h0JC52YWx1ZSA6IDA7XG4gICAgfSwge2RlcGVuZHNPbjogdGhpcy5oZWFkZXJIZWlnaHQkfSk7XG5cblxuICAgIC8vIHBlcmZvcm1hbmNlIGlzIHRlcnJpYmxlIGlmIHRoZSBkYXRhIGNoYW5nZXMgd2hpbGUgd2UncmUgc2Nyb2xsaW5nLCBzbyB3ZSBwb3N0cG9uZSB1cGRhdGVzIHVudGlsXG4gICAgLy8gc2Nyb2xsaW5nIHN0b3BzLlxuICAgIGNvbnN0IGRlbGF5ZWREYXRlYSQgPSBjaGFpbih0aGlzLmRhdGEkKS5wb3N0cG9uZVdoaWxlKHRoaXMudmlydHVhbFNjcm9sbEFjdGl2ZSQpXG4gICAgd2hlbihkZWxheWVkRGF0ZWEkKS5jaGFuZ2VzKGRlbGF0ZWREYXRhID0+IHtcbiAgICAgIHRoaXMudmlydHVhbFNjcm9sbERhdGFTb3VyY2UuZGF0YSA9IGRlbGF0ZWREYXRhO1xuICAgICAgdGhpcy5zY2hlZHVsZVRhYmxlSGVpZ2h0Q2hlY2soKTtcbiAgICB9LCB7aW5pdGlhbFZhbHVlOiBcImV2YWx1YXRlXCJ9KVxuXG5cbiAgICB0aGlzLm9uSW5pdCgoKSA9PiB7XG4gICAgICB0aGlzLmNvbHVtbnMkID0gY2hhaW4odGhpcy50YWJsZU1vZGVsLnZpc2libGVDb2x1bW5zJCk7XG4gICAgICB0aGlzLmNvbHVtbklkcyQgPSBjaGFpbih0aGlzLmNvbHVtbnMkKS5wbHVjayhcImNvbHVtbklkXCIpO1xuICAgICAgdGhpcy5jb2x1bW5zQnlJZCQgPSBjaGFpbih0aGlzLmNvbHVtbnMkKS5pbmRleEJ5KCdjb2x1bW5JZCcpO1xuICAgIH0pO1xuXG4gICAgLy8gY29uc3QgdHhvID0gbmV3IFRyYW5zYWN0aW9uT2JzZXJ2ZXIoe3ZlcmJvc2U6IGZhbHNlfSkub25FdmVudChlID0+IGNvbnNvbGUubG9nKGUubmFtZSwgZS5wYXlsb2FkKSk7XG4gICAgLy8gdHhvLm9ic2VydmUoJ3RoaXMudmlydHVhbFNjcm9sbFJvd1JhbmdlJCcsIHRoaXMudmlydHVhbFNjcm9sbFJvd1JhbmdlJCk7XG4gICAgLy8gdHhvLm9ic2VydmUoJ3RoaXMudmlydHVhbFNjcm9sbFNwYWNlclNpemUkJywgdGhpcy52aXJ0dWFsU2Nyb2xsU3BhY2VyU2l6ZSQpO1xuICAgIC8vIHR4by5vYnNlcnZlKCd0aGlzLnZpcnR1YWxSb3dzJCcsIHRoaXMudmlydHVhbFJvd3MkKTtcbiAgICAvLyB0eG8ub2JzZXJ2ZSgndGhpcy50YWJsZUJvZHlIZWlnaHQkJywgdGhpcy50YWJsZUJvZHlIZWlnaHQkKTtcbiAgICAvLyB0eG8ub2JzZXJ2ZSgndGhpcy52aXJ0dWFsU2Nyb2xsQWN0aXZlJCcsIHRoaXMudmlydHVhbFNjcm9sbEFjdGl2ZSQpO1xuXG4gIH1cblxuICBvdmVycmlkZSBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgaWYgKHRoaXMuc2Nyb2xsVmlld3BvcnQpIHtcbiAgICAgIGNvbnN0IHtvYnNlcnZlfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICAgIHRoaXMuc2Nyb2xsVmlld3BvcnQuZWxlbWVudFNjcm9sbGVkKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMubm90aWZ5U2Nyb2xsZWQoKSk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuaGlkZS1oZWFkZXJcIilcbiAgZ2V0IGhpZGVIZWFkZXIoKSB7XG4gICAgcmV0dXJuICF0aGlzLnNob3dIZWFkZXI7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoXCJzdHlsZS4tLWF1cC10YWJsZS1oZWFkZXItaGVpZ2h0XCIpXG4gIGdldCBoZWFkZXJIZWlnaHRDc3NWYXIoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuaGVhZGVySGVpZ2h0JC52YWx1ZX1weGBcbiAgfVxuXG4gIEBIb3N0QmluZGluZyhcInN0eWxlLi0tYXVwLXRhYmxlLXJvdy1oZWlnaHRcIilcbiAgZ2V0IHJvd0hlaWdodENzc1ZhcigpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5yb3dIZWlnaHQkLnZhbHVlfXB4YFxuICB9XG5cbiAgaXNFZGl0aW5nKHJvdzogUm93KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy50YWJsZU1vZGVsLmdldEVkaXRTZXNzaW9uRm9yKHJvdyk7XG4gIH1cblxuICBub3RpZnlDZWxsQ2xpY2tlZChjb2x1bW5Nb2RlbDogQ29sdW1uTW9kZWw8Um93Piwgcm93OiBSb3cpIHtcbiAgICB0aGlzLnRhYmxlTW9kZWwuX25vdGlmeUNlbGxDbGlja2VkKGNvbHVtbk1vZGVsLCByb3cpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcblxuICBpc0ZpcnN0VmlzaWJsZUNvbHVtbihjb2x1bW5JZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudGFibGVNb2RlbC5maXJzdFZpc2libGVDb2x1bW4kLnF1ZXJ5KCkudmFsdWU/LmNvbHVtbklkID09PSBjb2x1bW5JZDtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG5cbiAgaXNMYXN0VmlzaWJsZUNvbHVtbihjb2x1bW5JZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudGFibGVNb2RlbC5sYXN0VmlzaWJsZUNvbHVtbiQucXVlcnkoKS52YWx1ZT8uY29sdW1uSWQgPT09IGNvbHVtbklkO1xuICB9XG5cbiAgZ2V0Q29sdW1uQ2xhc3Nlcyhjb2x1bW5JZDogc3RyaW5nKSB7XG4gICAgY29uc3QgY2xhc3NlcyA9IFtgYXVwLWNvbC0ke3RoaXMuY29sdW1uc0J5SWQkLmdldChjb2x1bW5JZCkuZGFzaGVyaXNlZENvbHVtbklkfWBdO1xuICAgIGlmICh0aGlzLmlzRmlyc3RWaXNpYmxlQ29sdW1uKGNvbHVtbklkKSkge1xuICAgICAgY2xhc3Nlcy5wdXNoKFwiZmlyc3QtdmlzaWJsZS1jb2x1bW5cIik7XG4gICAgfVxuICAgIGlmICh0aGlzLmlzTGFzdFZpc2libGVDb2x1bW4oY29sdW1uSWQpKSB7XG4gICAgICBjbGFzc2VzLnB1c2goXCJsYXN0LXZpc2libGUtY29sdW1uXCIpO1xuICAgIH1cbiAgICByZXR1cm4gY2xhc3NlcztcbiAgfVxuXG4gIHByaXZhdGUgc2NoZWR1bGVUYWJsZUhlaWdodENoZWNrKHdhaXRNaWxsaXMgPSA1MCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgdGJvZHkgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFwidGJvZHlcIikgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBjb25zdCBib2R5SGVpZ2h0ID0gdGJvZHkub2Zmc2V0SGVpZ2h0O1xuICAgICAgaWYgKHRoaXMuZGF0YSQubGVuZ3RoID4gMCAmJiBib2R5SGVpZ2h0IDwgdGhpcy5yb3dIZWlnaHQkLnZhbHVlKSB7XG4gICAgICAgIC8vIEhhY2tzIHRvIGdldCBvdXIgdmlydHVhbCBzY3JvbGwgdG8gcmVwYWludFxuICAgICAgICAvLyBMb2dnZXIuZ2V0KHRoaXMpLmxvZyhgcm93Q291bnQ9JHt0aGlzLmRhdGEkLmxlbmd0aH0sIGJvZHlIZWlnaHQ9JHtib2R5SGVpZ2h0fSAtPiB2aXJ0dWFsIHRhYmxlIG5vdCByZW5kZXJpbmcsIHRyaWdnZXJpbmcgcmVzaXplIHRvIGZvcmNlIHJlcGFpbnRgKVxuICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Jlc2l6ZScpKTtcbiAgICAgICAgaWYgKHdhaXRNaWxsaXMgPCA1MDApIHtcbiAgICAgICAgICB0aGlzLnNjaGVkdWxlVGFibGVIZWlnaHRDaGVjayh3YWl0TWlsbGlzICsgNTApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgd2FpdE1pbGxpcylcbiAgfVxuXG4gIHByaXZhdGUgbm90aWZ5U2Nyb2xsZWQoKSB7XG4gICAgdGhpcy52aXJ0dWFsU2Nyb2xsQWN0aXZlJC52YWx1ZSA9IHRydWU7XG4gICAgdGhpcy5jbGVhclNjcm9sbFRpbWVvdXQoKTtcbiAgICB0aGlzLnNjcm9sbFRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLnZpcnR1YWxTY3JvbGxBY3RpdmUkLnZhbHVlID0gZmFsc2U7XG4gICAgfSwgMjAwKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJTY3JvbGxUaW1lb3V0KCkge1xuICAgIGlmICh0aGlzLnNjcm9sbFRpbWVvdXQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnNjcm9sbFRpbWVvdXQpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFRhYmxlQm9keUNvbXBvbmVudCB7XG4gIGV4cG9ydCB0eXBlIFNjcm9sbE1vZGUgPSBcIm5vbmVcIiB8IFwiY2xhc3NpY1wiIHwgXCJ2aXJ0dWFsXCI7XG5cbn1cbiIsIlxuPGRpdiBjbGFzcz1cImNsYXNzaWMtc2Nyb2xsLWNvbnRhaW5lclwiICpuZ0lmPVwic2Nyb2xsTW9kZSQudmFsdWUgIT09ICd2aXJ0dWFsJ1wiPlxuICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cImRhdGEkLnZhbHVlXCIgW3RyYWNrQnldPVwidHJhY2tCeVwiIFttdWx0aVRlbXBsYXRlRGF0YVJvd3NdPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnMkLnZhbHVlOyBpbmRleCBhcyBpbmRleDsgZmlyc3QgYXMgZmlyc3Q7IGxhc3QgYXMgbGFzdFwiXG4gICAgICAgICAgICAgICAgICBtYXRDb2x1bW5EZWY9XCJ7e2NvbHVtbi5jb2x1bW5JZH19XCI+XG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIFtjbGFzcy5mbGV4XT1cImNvbHVtbi5pc0ZsZXgoKVwiIFtjbGFzcy5oaWRlXT1cIiFjb2x1bW4uaXNWaXNpYmxlKClcIj5cbiAgICAgICAgPGF1cC10YWJsZS1oZWFkZXItY2VsbCBbY29sdW1uXT1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuY29sdW1uLWluZGV4XT1cImluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5jb2x1bW4taWRdPVwiY29sdW1uLmNvbHVtbklkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiZ2V0Q29sdW1uQ2xhc3Nlcyhjb2x1bW4uY29sdW1uSWQpXCJcbiAgICAgICAgPjwvYXVwLXRhYmxlLWhlYWRlci1jZWxsPlxuICAgICAgPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiAoY2xpY2spPVwibm90aWZ5Q2VsbENsaWNrZWQoY29sdW1uLCByb3cpXCJcbiAgICAgICAgICBbY2xhc3MuZW5hYmxlLWN1cnNvcl09XCJ0YWJsZU1vZGVsLmlzQ3Vyc29yRW5hYmxlZChjb2x1bW4pXCJcbiAgICAgICAgICBbY2xhc3MuZmxleF09XCJjb2x1bW4uaXNGbGV4KClcIlxuICAgICAgICAgIFtjbGFzcy5oaWRlXT1cIiFjb2x1bW4uaXNWaXNpYmxlKClcIlxuICAgICAgPlxuICAgICAgICA8YXVwLXRhYmxlLWNlbGwgW2NvbHVtbl09XCIkYW55KGNvbHVtbilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3Jvd109XCJyb3dcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmxlTW9kZWxdPVwiJGFueSh0YWJsZU1vZGVsKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZWRpdFNlc3Npb25dPVwiJGFueSh0YWJsZU1vZGVsLmdldEVkaXRTZXNzaW9uRm9yKHJvdykpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmNvbHVtbi1pbmRleF09XCJpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5jb2x1bW4taWRdPVwiY29sdW1uLmNvbHVtbklkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJnZXRDb2x1bW5DbGFzc2VzKGNvbHVtbi5jb2x1bW5JZClcIlxuICAgICAgICA+PC9hdXAtdGFibGUtY2VsbD5cbiAgICAgIDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImNvbHVtbklkcyQudmFsdWU7IHN0aWNreTogdHJ1ZVwiPjwvdHI+XG4gICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGNvbHVtbklkcyQudmFsdWU7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICBbbmdDbGFzc109XCJ0YWJsZU1vZGVsLmdldFJvd0NsYXNzZXMocm93KVwiXG4gICAgICAgIFtjbGFzcy5lbmFibGUtaG92ZXJdPVwidGFibGVNb2RlbC5pc0hvdmVyRW5hYmxlZCgpXCJcbiAgICAgICAgW2F1cFRhYmxlUm93QXR0cmlidXRlc109XCJ0YWJsZU1vZGVsLmdldFJvd0F0dHJpYnV0ZXMocm93KVwiXG4gICAgICAgIFthdHRyLmF1cC1yb3ctaWRdPVwidHJhY2tCeShpLCByb3cpXCJcbiAgICA+PC90cj5cblxuICA8L3RhYmxlPlxuPC9kaXY+XG5cbjxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQgICpuZ0lmPVwic2Nyb2xsTW9kZSQudmFsdWUgPT09ICd2aXJ0dWFsJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHZzSXRlbVNpemVdPVwicm93SGVpZ2h0JC52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGVhZGVySGVpZ2h0XT1cImhlYWRlckhlaWdodCQudmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2J1ZmZlck11bHRpcGxpZXJdPVwiYnVmZmVyTXVsdGlwbGllclwiXG4+XG4gIDx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwidmlydHVhbFNjcm9sbERhdGFTb3VyY2VcIiBbdHJhY2tCeV09XCJ0cmFja0J5XCI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1ucyQudmFsdWU7IGluZGV4IGFzIGluZGV4OyBmaXJzdCBhcyBmaXJzdDsgbGFzdCBhcyBsYXN0XCJcbiAgICAgICAgICAgICAgICAgIG1hdENvbHVtbkRlZj1cInt7Y29sdW1uLmNvbHVtbklkfX1cIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgW2NsYXNzLmZsZXhdPVwiY29sdW1uLmlzRmxleCgpXCIgW2NsYXNzLmhpZGVdPVwiIWNvbHVtbi5pc1Zpc2libGUoKVwiPlxuICAgICAgICA8YXVwLXRhYmxlLWhlYWRlci1jZWxsIFtjb2x1bW5dPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5jb2x1bW4taW5kZXhdPVwiaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmNvbHVtbi1pZF09XCJjb2x1bW4uY29sdW1uSWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJnZXRDb2x1bW5DbGFzc2VzKGNvbHVtbi5jb2x1bW5JZClcIlxuICAgICAgICA+PC9hdXAtdGFibGUtaGVhZGVyLWNlbGw+XG4gICAgICA8L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiIChjbGljayk9XCJub3RpZnlDZWxsQ2xpY2tlZChjb2x1bW4sIHJvdylcIlxuICAgICAgICAgIFtjbGFzcy5lbmFibGUtY3Vyc29yXT1cInRhYmxlTW9kZWwuaXNDdXJzb3JFbmFibGVkKGNvbHVtbilcIlxuICAgICAgICAgIFtjbGFzcy5mbGV4XT1cImNvbHVtbi5pc0ZsZXgoKVwiXG4gICAgICAgICAgW2NsYXNzLmhpZGVdPVwiIWNvbHVtbi5pc1Zpc2libGUoKVwiXG4gICAgICA+XG4gICAgICAgIDxhdXAtdGFibGUtY2VsbCBbY29sdW1uXT1cIiRhbnkoY29sdW1uKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcm93XT1cInJvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGFibGVNb2RlbF09XCIkYW55KHRhYmxlTW9kZWwpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtlZGl0U2Vzc2lvbl09XCIkYW55KHRhYmxlTW9kZWwuZ2V0RWRpdFNlc3Npb25Gb3Iocm93KSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuY29sdW1uLWluZGV4XT1cImluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmNvbHVtbi1pZF09XCJjb2x1bW4uY29sdW1uSWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cImdldENvbHVtbkNsYXNzZXMoY29sdW1uLmNvbHVtbklkKVwiXG4gICAgICAgID48L2F1cC10YWJsZS1jZWxsPlxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiY29sdW1uSWRzJC52YWx1ZTsgc3RpY2t5OiB0cnVlXCI+PC90cj5cbiAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogY29sdW1uSWRzJC52YWx1ZTsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInRhYmxlTW9kZWwuZ2V0Um93Q2xhc3Nlcyhyb3cpXCJcbiAgICAgICAgW2NsYXNzLmVuYWJsZS1ob3Zlcl09XCJ0YWJsZU1vZGVsLmlzSG92ZXJFbmFibGVkKClcIlxuICAgICAgICBbYXVwVGFibGVSb3dBdHRyaWJ1dGVzXT1cInRhYmxlTW9kZWwuZ2V0Um93QXR0cmlidXRlcyhyb3cpXCJcbiAgICAgICAgW2F0dHIuYXVwLXJvdy1pZF09XCJ0cmFja0J5KGksIHJvdylcIlxuICAgID48L3RyPlxuXG4gIDwvdGFibGU+XG48L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cblxuIl19
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYm9keS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9yZW5kZXJlci90YWJsZS1ib2R5L3RhYmxlLWJvZHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvcmVuZGVyZXIvdGFibGUtYm9keS90YWJsZS1ib2R5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFDTCxHQUFHLEVBQ0gsU0FBUyxFQUdULGlCQUFpQixFQUNqQixPQUFPLEVBQ1AsT0FBTyxFQUNQLGlCQUFpQixFQUNqQixtQkFBbUIsRUFDbkIsVUFBVSxFQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7Ozs7OztBQVE5RCxNQUFNLE9BQU8sa0JBQXdCLFNBQVEsb0JBQW9CO0lBR3RELDBCQUFRLE9BQU8sQ0FBQyxDQUFBLFNBQWMsQ0FBQSxDQUFDLENBQUM7SUFBaEMsSUFBQSxLQUFLLDJDQUEyQjtJQUFoQyxJQUFBLEtBQUssaURBQTJCO0lBR2hDLCtCQUFhLE9BQU8sQ0FBQyxDQUFBLGtCQUF1QixDQUFBLENBQUMsQ0FBQztJQUE5QyxJQUFBLFVBQVUsZ0RBQW9DO0lBQTlDLElBQUEsVUFBVSxzREFBb0M7SUFHOUMsZ0NBQWMs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QUNsRixJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN2QyxPQUFPLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7U0FDdEM7UUFDRCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN0QyxPQUFPLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7U0FDckM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO3VHQTFHVSxrQkFBa0I7MkZBQWxCLGtCQUFrQixvYkN0Qi9CLHl2REFzQ0E7O0FEYlc7SUFEQyxPQUFPLEVBQUU7OytDQUNzQjtBQUdoQztJQURDLE9BQU8sRUFBRTs7b0RBQ29DO0FBRzlDO0lBREMsT0FBTyxFQUFFOztxREFDaUM7QUFHM0M7SUFEQyxpQkFBaUIsRUFBRTs7b0RBQ0Y7MkZBWmhCLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxnQkFBZ0I7c0hBT2pCLEtBQUs7c0JBRGIsS0FBSztnQkFJRyxVQUFVO3NCQURsQixLQUFLO2dCQUlHLFdBQVc7c0JBRG5CLEtBQUs7Z0JBSUcsVUFBVTtzQkFEbEIsS0FBSztnQkFJRyxlQUFlO3NCQUR2QixNQUFNO2dCQUlQLE9BQU87c0JBRE4sS0FBSztnQkFVTixlQUFlO3NCQUZkLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsd0JBQXdCO2dCQWVyQyxZQUFZO3NCQURYLFdBQVc7dUJBQUMsT0FBTztnQkFtQ2hCLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE5nWm9uZSwgT25Jbml0LCBPdXRwdXR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBEc2wsXG4gIExpc3RNb2RlbCxcbiAgTGlzdE1vZGVsQ2hhaW4sXG4gIE1hcE1vZGVsQ2hhaW4sXG4gIE11dGFibGVWYWx1ZU1vZGVsLFxuICBQcm94aWZ5LFxuICBwcm94aWZ5LFxuICBTdG9yZUluVmFsdWVNb2RlbCxcbiAgVHJhbnNhY3Rpb25PYnNlcnZlcixcbiAgVmFsdWVNb2RlbFxufSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCB7UmVzaXplQXdhcmVDb21wb25lbnR9IGZyb20gXCIuLi8uLi8uLi9yZXNpemUtYXdhcmUuY29tcG9uZW50XCI7XG5pbXBvcnQge0Fic3RyYWN0VGFibGVNb2RlbH0gZnJvbSBcIi4uLy4uL2Fic3RyYWN0LXRhYmxlLW1vZGVsXCI7XG5pbXBvcnQge0NvbHVtbk1vZGVsfSBmcm9tIFwiLi4vLi4vY29sdW1uL2NvbHVtbi1tb2RlbFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYXVwLXRhYmxlLWJvZHlcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90YWJsZS1ib2R5LmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi90YWJsZS1ib2R5LmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUJvZHlDb21wb25lbnQ8Um93PiBleHRlbmRzIFJlc2l6ZUF3YXJlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBAUHJveGlmeSgpXG4gIGFjY2Vzc29yIGRhdGEkID0gcHJveGlmeShMaXN0TW9kZWw8Um93Pik7XG5cbiAgQElucHV0KCkgQFByb3hpZnkoKVxuICBhY2Nlc3NvciB0YWJsZU1vZGVsID0gcHJveGlmeShBYnN0cmFjdFRhYmxlTW9kZWw8Um93Pik7XG5cbiAgQElucHV0KCkgQFByb3hpZnkoKVxuICBhY2Nlc3NvciBzaG93SGVhZGVyJCA9IHByb3hpZnkoVmFsdWVNb2RlbDxib29sZWFuPik7XG5cbiAgQElucHV0KCkgQFN0b3JlSW5WYWx1ZU1vZGVsKClcbiAgYWNjZXNzb3Igc2hvd0hlYWRlciA9IHRydWU7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHZpc2libGVSb3dDb3VudCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIEBJbnB1dCgpXG4gIHRyYWNrQnk6IChpbmRleDogbnVtYmVyLCBpdGVtOiBSb3cpID0+IGFueVxuXG4gIC8qKlxuICAgKiBTZXQgdG8gdHJ1ZSB0byBlbmFibGUgc2Nyb2xsaW5nLiAgT25jZSBlbmFibGVkIHRoZSB0YWJsZSB3aWxsIGhhdmUgMCBpbXBsaWNpdCBoZWlnaHQuICBZb3Ugd2lsbCBlaXRoZXJcbiAgICogbmVlZCB0byBzZXQgaXQgZXhwbGljaXRseSBlLmcuIGhlaWdodDogNDAwcHg7IG9yIGJ5IHVzaW5nIGZsZXggb3IgZ3JpZCBsYXlvdXQgdG8gbWFrZSBpdCBmaWxsIGl0J3NcbiAgICogY29udGFpbm1lbnQgYXJlYS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmVuYWJsZS1zY3JvbGxpbmdcIilcbiAgZW5hYmxlU2Nyb2xsaW5nID0gZmFsc2U7XG5cbiAgY29sdW1ucyQ6IExpc3RNb2RlbENoYWluPENvbHVtbk1vZGVsPFJvdz4+O1xuICBjb2x1bW5JZHMkOiBMaXN0TW9kZWxDaGFpbjxzdHJpbmc+O1xuICBwcml2YXRlIGNvbHVtbnNCeUlkJDogTWFwTW9kZWxDaGFpbjxzdHJpbmcsIENvbHVtbk1vZGVsPFJvdz4+O1xuXG4gIHJlYWRvbmx5IF92aXNpYmxlUm93Q291bnQkOiBWYWx1ZU1vZGVsPG51bWJlcj47XG5cblxuICAvLyBUT0RPOiBzdXBwb3J0IHVzZXIgZGVmaW5lZCBoZWFkZXIgYW5kIHJvdyBoZWlnaHRzIHZpYSBjc3MgdmFycy5cbiAgcHJpdmF0ZSByZWFkb25seSBoZWFkZXJIZWlnaHQkID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPG51bWJlcj4oMjkpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJvd0hlaWdodCQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8bnVtYmVyPig0MCk7XG5cbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3NcIilcbiAgYmFzZUNzc0NsYXNzID0gXCJhdXAtdGFibGUtY29tcG9uZW50XCI7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgbmdab25lOiBOZ1pvbmUpIHtcbiAgICBzdXBlcihlbGVtZW50UmVmLCBuZ1pvbmUpO1xuICAgIGNvbnN0IHtjaGFpbiwgd2hlbn0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG5cbiAgICBjb25zdCBhY3R1YWxIZWFkZXJIZWlnaHQkID0gY2hhaW4odGhpcy5zaG93SGVhZGVyJCkubWFwKHNob3cgPT4ge1xuICAgICAgcmV0dXJuIHNob3cgPyB0aGlzLmhlYWRlckhlaWdodCQudmFsdWUgOiAwO1xuICAgIH0sIHtkZXBlbmRzT246IHRoaXMuaGVhZGVySGVpZ2h0JH0pO1xuXG4gICAgdGhpcy5fdmlzaWJsZVJvd0NvdW50JCA9IGNoYWluKHRoaXMuYm91bmRzJCkubWFwKGJvdW5kcyA9PiB7XG4gICAgICAvLyBUT0RPOiB0aGlzIGRvZXNuJ3QgdGFrZSBpbnRvIGFjY291bnQgYW55IGNzcyBzdHlsaW5nIGFkanVzdG1lbnRzIGV0Yy4gIFdpbGwgaW52ZXN0aWdhdGUgaWYgaXQncyBhbiBpc3N1ZS5cbiAgICAgIGNvbnN0IHJhd1Jvd0NvdW50ID0gKGJvdW5kcy5oZWlnaHQgLSBhY3R1YWxIZWFkZXJIZWlnaHQkLnZhbHVlKSAvIHRoaXMucm93SGVpZ2h0JC52YWx1ZTtcbiAgICAgIHJldHVybiByYXdSb3dDb3VudCA8IDEgPyAwIDogTWF0aC5mbG9vcihyYXdSb3dDb3VudCk7XG4gICAgfSwge1xuICAgICAgZGVwZW5kc09uOiBbYWN0dWFsSGVhZGVySGVpZ2h0JCwgdGhpcy5yb3dIZWlnaHQkXSxcbiAgICAgIHBvc3Rwb25lV2hpbGU6IGNoYWluKHRoaXMuYm91bmRzJCkucGx1Y2tOdW1lcmljKFwiaGVpZ2h0XCIpLmlzTGVzc1RoYW4oMSlcbiAgICB9KTtcblxuICAgIHdoZW4odGhpcy5fdmlzaWJsZVJvd0NvdW50JCkuY2hhbmdlcyh2aXNpYmxlUm93cyA9PiB7XG4gICAgICB0aGlzLnZpc2libGVSb3dDb3VudC5lbWl0KHZpc2libGVSb3dzKTtcbiAgICB9LCB7aW5pdGlhbFZhbHVlOiBcInRyaWdnZXJDaGFuZ2VVbmxlc3NOaWxcIn0pO1xuXG4gICAgdGhpcy5vbkluaXQoKCkgPT4ge1xuICAgICAgdGhpcy5jb2x1bW5zJCA9IGNoYWluKHRoaXMudGFibGVNb2RlbC5jb2x1bW5zKTtcbiAgICAgIHRoaXMuY29sdW1uSWRzJCA9IGNoYWluKHRoaXMuY29sdW1ucyQpLnBsdWNrKFwiY29sdW1uSWRcIik7XG4gICAgICB0aGlzLmNvbHVtbnNCeUlkJCA9IGNoYWluKHRoaXMuY29sdW1ucyQpLmluZGV4QnkoJ2NvbHVtbklkJyk7XG4gICAgfSlcbiAgICBjb25zdCB0eG8gPSBuZXcgVHJhbnNhY3Rpb25PYnNlcnZlcigpLm9uRXZlbnQoZSA9PiBjb25zb2xlLmxvZyhlLm5hbWUsIGUucGF5bG9hZCkpO1xuICAgIHR4by5vYnNlcnZlKCd0aGlzLmJvdW5kc01vZGVsJywgdGhpcy5ib3VuZHMkKTtcbiAgICB0eG8ub2JzZXJ2ZSgndGhpcy5fdmlzaWJsZVJvd0NvdW50JCcsIHRoaXMuX3Zpc2libGVSb3dDb3VudCQpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuaGlkZS1oZWFkZXJcIilcbiAgZ2V0IGhpZGVIZWFkZXIoKSB7XG4gICAgcmV0dXJuICF0aGlzLnNob3dIZWFkZXI7XG4gIH1cblxuICBpc0VkaXRpbmcocm93OiBSb3cpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnRhYmxlTW9kZWwuZ2V0RWRpdFNlc3Npb25Gb3Iocm93KTtcbiAgfVxuXG4gIG5vdGlmeUNlbGxDbGlja2VkKGNvbHVtbk1vZGVsOiBDb2x1bW5Nb2RlbDxSb3c+LCByb3c6IFJvdykge1xuICAgIHRoaXMudGFibGVNb2RlbC5fbm90aWZ5Q2VsbENsaWNrZWQoY29sdW1uTW9kZWwsIHJvdyk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBpc0ZpcnN0VmlzaWJsZUNvbHVtbihjb2x1bW5JZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudGFibGVNb2RlbC5maXJzdFZpc2libGVDb2x1bW4kLnF1ZXJ5KCkudmFsdWU/LmNvbHVtbklkID09PSBjb2x1bW5JZDtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGlzTGFzdFZpc2libGVDb2x1bW4oY29sdW1uSWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRhYmxlTW9kZWwubGFzdFZpc2libGVDb2x1bW4kLnF1ZXJ5KCkudmFsdWU/LmNvbHVtbklkID09PSBjb2x1bW5JZDtcbiAgfVxuXG4gIGdldENvbHVtbkNsYXNzZXMoY29sdW1uSWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGNsYXNzZXMgPSBbYGF1cC1jb2wtJHt0aGlzLmNvbHVtbnNCeUlkJC5nZXQoY29sdW1uSWQpLmRhc2hlcmlzZWRDb2x1bW5JZH1gXTtcbiAgICBpZiAodGhpcy5pc0ZpcnN0VmlzaWJsZUNvbHVtbihjb2x1bW5JZCkpIHtcbiAgICAgIGNsYXNzZXMucHVzaChcImZpcnN0LXZpc2libGUtY29sdW1uXCIpO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0xhc3RWaXNpYmxlQ29sdW1uKGNvbHVtbklkKSkge1xuICAgICAgY2xhc3Nlcy5wdXNoKFwibGFzdC12aXNpYmxlLWNvbHVtblwiKTtcbiAgICB9XG4gICAgcmV0dXJuIGNsYXNzZXM7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzY3JvbGwtY29udGFpbmVyXCI+XG4gIDx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwiZGF0YSQudmFsdWVcIiBbdHJhY2tCeV09XCJ0cmFja0J5XCI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1ucyQudmFsdWU7IGluZGV4IGFzIGluZGV4OyBmaXJzdCBhcyBmaXJzdDsgbGFzdCBhcyBsYXN0XCJcbiAgICAgICAgICAgICAgICAgIG1hdENvbHVtbkRlZj1cInt7Y29sdW1uLmNvbHVtbklkfX1cIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgW2NsYXNzLmZsZXhdPVwiY29sdW1uLmlzRmxleCgpXCIgW2NsYXNzLmhpZGVdPVwiIWNvbHVtbi5pc1Zpc2libGUoKVwiPlxuICAgICAgICA8YXVwLXRhYmxlLWhlYWRlci1jZWxsIFtjb2x1bW5dPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5jb2x1bW4taW5kZXhdPVwiaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmNvbHVtbi1pZF09XCJjb2x1bW4uY29sdW1uSWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJnZXRDb2x1bW5DbGFzc2VzKGNvbHVtbi5jb2x1bW5JZClcIlxuICAgICAgICA+PC9hdXAtdGFibGUtaGVhZGVyLWNlbGw+XG4gICAgICA8L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiIChjbGljayk9XCJub3RpZnlDZWxsQ2xpY2tlZChjb2x1bW4sIHJvdylcIlxuICAgICAgICAgIFtjbGFzcy5lbmFibGUtY3Vyc29yXT1cInRhYmxlTW9kZWwuaXNDdXJzb3JFbmFibGVkKGNvbHVtbilcIlxuICAgICAgICAgIFtjbGFzcy5mbGV4XT1cImNvbHVtbi5pc0ZsZXgoKVwiXG4gICAgICAgICAgW2NsYXNzLmhpZGVdPVwiIWNvbHVtbi5pc1Zpc2libGUoKVwiXG4gICAgICA+XG4gICAgICAgIDxhdXAtdGFibGUtY2VsbCBbY29sdW1uXT1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcm93XT1cInJvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGFibGVNb2RlbF09XCJ0YWJsZU1vZGVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtlZGl0U2Vzc2lvbl09XCJ0YWJsZU1vZGVsLmdldEVkaXRTZXNzaW9uRm9yKHJvdylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuY29sdW1uLWluZGV4XT1cImluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmNvbHVtbi1pZF09XCJjb2x1bW4uY29sdW1uSWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cImdldENvbHVtbkNsYXNzZXMoY29sdW1uLmNvbHVtbklkKVwiXG4gICAgICAgID48L2F1cC10YWJsZS1jZWxsPlxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiY29sdW1uSWRzJC52YWx1ZTsgc3RpY2t5OiB0cnVlXCI+PC90cj5cbiAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogY29sdW1uSWRzJC52YWx1ZTsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInRhYmxlTW9kZWwuZ2V0Um93Q2xhc3Nlcyhyb3cpXCJcbiAgICAgICAgW2NsYXNzLmVuYWJsZS1ob3Zlcl09XCJ0YWJsZU1vZGVsLmlzSG92ZXJFbmFibGVkKClcIlxuICAgICAgICBbYXR0ci5hdXAtcm93LWlkXT1cInRyYWNrQnkoaSwgcm93KVwiXG4gICAgPjwvdHI+XG5cbiAgPC90YWJsZT5cbjwvZGl2PlxuXG4iXX0=
@@ -19,15 +19,13 @@ export class TableMoreMenuComponent extends DisposableComponent {
19
19
  popupType$ = new MutableValueModel();
20
20
  popupComponentPortal$;
21
21
  _visible$ = this.registerDisposable(new DelegatingValueModel());
22
- initialiseCallback;
23
22
  constructor() {
24
23
  super();
25
24
  const { chain } = Dsl.disposeWith(this);
26
25
  this.popupComponentPortal$ = chain(this.popupType$).map(type => new ComponentPortal(type));
27
26
  }
28
- configurePopupComponentType(popupComponentType, configureCallback) {
27
+ configurePopupComponentType(popupComponentType) {
29
28
  this.popupType$.value = popupComponentType;
30
- this.initialiseCallback = configureCallback;
31
29
  }
32
30
  // Stops tree selection when clicking the menu button
33
31
  preventDefault($event) {
@@ -38,9 +36,6 @@ export class TableMoreMenuComponent extends DisposableComponent {
38
36
  const component = $event.instance;
39
37
  component.initialise(this.value$, Command.create(() => this.matMenuTrigger.closeMenu()));
40
38
  this._visible$.setDelegate(component.visible$);
41
- if (this.initialiseCallback) {
42
- this.initialiseCallback(component);
43
- }
44
39
  }
45
40
  get visible$() {
46
41
  return this._visible$.readonly$;
@@ -62,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
62
57
  type: HostListener,
63
58
  args: ["click", ["$event"]]
64
59
  }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbW9yZS1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL3JlbmRlcmVyL3RhYmxlLW1vcmUtbWVudS90YWJsZS1tb3JlLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvcmVuZGVyZXIvdGFibGUtbW9yZS1tZW51L3RhYmxlLW1vcmUtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUE2QixlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRixPQUFPLEVBQUMsU0FBUyxFQUFnQixZQUFZLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQ0wsT0FBTyxFQUNQLG9CQUFvQixFQUNwQixHQUFHLEVBQ0gsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUVsQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7Ozs7O0FBU2xFLE1BQU0sT0FBTyxzQkFBMEIsU0FBUSxtQkFBbUI7SUFHeEQsTUFBTSxHQUFHLElBQUksaUJBQWlCLEVBQUssQ0FBQztJQUduQyx3QkFBUztJQUFULElBQUEsS0FBSywyQ0FBSTtJQUFULElBQUEsS0FBSyxpREFBSTtJQUdsQixjQUFjLENBQWlCO0lBRWQsVUFBVSxHQUFHLElBQUksaUJBQWlCLEVBQWlELENBQUM7SUFFckcscUJBQXFCLENBQW1FO0lBRXZFLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxvQkFBb0IsRUFBVyxDQUFDLENBQUM7SUFDbEYsa0JBQWtCLENBQXVEO0lBRWpGO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFDUixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFRCwyQkFBMkIsQ0FBQyxrQkFBaUUsRUFBRSxpQkFBc0U7UUFDbkssSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsa0JBQWtCLENBQUM7UUFDM0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGlCQUFpQixDQUFDO0lBQzlDLENBQUM7SUFHRCxxREFBcUQ7SUFFckQsY0FBYyxDQUFDLE1BQWtCO1FBQy9CLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUFrQztRQUMzQyxNQUFNLFNBQVMsR0FBSSxNQUF1RCxDQUFDLFFBQVEsQ0FBQztRQUNwRixTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0MsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDM0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7SUFDbEMsQ0FBQzt1R0FoRFUsc0JBQXNCOzJGQUF0QixzQkFBc0IsdUtBUXRCLGNBQWMsdUVDN0IzQiwrWEFRQTs7QURtQlc7SUFEUixpQkFBaUIsRUFBRTs7bURBQ0Y7MkZBTlAsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLHFCQUFxQjswRUFVdEIsS0FBSyxNQUdkLGNBQWM7c0JBRGIsU0FBUzt1QkFBQyxjQUFjO2dCQXdCekIsY0FBYztzQkFEYixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2RrUG9ydGFsT3V0bGV0QXR0YWNoZWRSZWYsIENvbXBvbmVudFBvcnRhbH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcbmltcG9ydCB7Q29tcG9uZW50LCBDb21wb25lbnRSZWYsIEhvc3RMaXN0ZW5lciwgVmlld0NoaWxkfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtNYXRNZW51VHJpZ2dlcn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL21lbnVcIjtcbmltcG9ydCB7XG4gIENvbW1hbmQsXG4gIERlbGVnYXRpbmdWYWx1ZU1vZGVsLFxuICBEc2wsXG4gIE11dGFibGVWYWx1ZU1vZGVsLFxuICBTdG9yZUluVmFsdWVNb2RlbCxcbiAgVmFsdWVNb2RlbENoYWluXG59IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IHtDb25zdHJ1Y3RhYmxlfSBmcm9tIFwiQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllc1wiO1xuaW1wb3J0IHtEaXNwb3NhYmxlQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vLi4vZGlzcG9zYWJsZS1jb21wb25lbnRcIjtcbmltcG9ydCB7Q2VsbFJlbmRlcmVyfSBmcm9tIFwiLi4vY2VsbC1yZW5kZXJlclwiO1xuaW1wb3J0IHtUYWJsZU1vcmVNZW51UG9wdXBDb21wb25lbnR9IGZyb20gXCIuL3RhYmxlLW1vcmUtbWVudS1wb3B1cC90YWJsZS1tb3JlLW1lbnUtcG9wdXAuY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJhdXAtdGFibGUtbW9yZS1tZW51XCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vdGFibGUtbW9yZS1tZW51LmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi90YWJsZS1tb3JlLW1lbnUuY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVNb3JlTWVudUNvbXBvbmVudDxUPiBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQgaW1wbGVtZW50cyBDZWxsUmVuZGVyZXI8VD4ge1xuXG5cbiAgcHJpdmF0ZSB2YWx1ZSQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8VD4oKTtcblxuICBAU3RvcmVJblZhbHVlTW9kZWwoKVxuICBhY2Nlc3NvciB2YWx1ZTogVDtcblxuICBAVmlld0NoaWxkKE1hdE1lbnVUcmlnZ2VyKVxuICBtYXRNZW51VHJpZ2dlcjogTWF0TWVudVRyaWdnZXI7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBwb3B1cFR5cGUkID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPENvbnN0cnVjdGFibGU8VGFibGVNb3JlTWVudVBvcHVwQ29tcG9uZW50PFQ+Pj4oKTtcblxuICBwb3B1cENvbXBvbmVudFBvcnRhbCQ6IFZhbHVlTW9kZWxDaGFpbjxDb21wb25lbnRQb3J0YWw8VGFibGVNb3JlTWVudVBvcHVwQ29tcG9uZW50PFQ+Pj47XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfdmlzaWJsZSQgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgRGVsZWdhdGluZ1ZhbHVlTW9kZWw8Ym9vbGVhbj4oKSk7XG4gIHByaXZhdGUgaW5pdGlhbGlzZUNhbGxiYWNrPzogKGNvbXBvbmVudDogVGFibGVNb3JlTWVudVBvcHVwQ29tcG9uZW50PFQ+KSA9PiB2b2lkO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3QgeyBjaGFpbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIHRoaXMucG9wdXBDb21wb25lbnRQb3J0YWwkID0gY2hhaW4odGhpcy5wb3B1cFR5cGUkKS5tYXAodHlwZSA9PiBuZXcgQ29tcG9uZW50UG9ydGFsKHR5cGUpKTtcbiAgfVxuXG4gIGNvbmZpZ3VyZVBvcHVwQ29tcG9uZW50VHlwZShwb3B1cENvbXBvbmVudFR5cGU6IENvbnN0cnVjdGFibGU8VGFibGVNb3JlTWVudVBvcHVwQ29tcG9uZW50PFQ+PiwgY29uZmlndXJlQ2FsbGJhY2s/OiAoY29tcG9uZW50OlRhYmxlTW9yZU1lbnVQb3B1cENvbXBvbmVudDxUPikgPT4gdm9pZCkge1xuICAgIHRoaXMucG9wdXBUeXBlJC52YWx1ZSA9IHBvcHVwQ29tcG9uZW50VHlwZTtcbiAgICB0aGlzLmluaXRpYWxpc2VDYWxsYmFjayA9IGNvbmZpZ3VyZUNhbGxiYWNrO1xuICB9XG5cblxuICAvLyBTdG9wcyB0cmVlIHNlbGVjdGlvbiB3aGVuIGNsaWNraW5nIHRoZSBtZW51IGJ1dHRvblxuICBASG9zdExpc3RlbmVyKFwiY2xpY2tcIiwgW1wiJGV2ZW50XCJdKVxuICBwcmV2ZW50RGVmYXVsdCgkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBpbml0aWFsaXNlKCRldmVudDogQ2RrUG9ydGFsT3V0bGV0QXR0YWNoZWRSZWYpIHtcbiAgICBjb25zdCBjb21wb25lbnQgPSAoJGV2ZW50IGFzIENvbXBvbmVudFJlZjxUYWJsZU1vcmVNZW51UG9wdXBDb21wb25lbnQ8VD4+KS5pbnN0YW5jZTtcbiAgICBjb21wb25lbnQuaW5pdGlhbGlzZSh0aGlzLnZhbHVlJCwgQ29tbWFuZC5jcmVhdGUoKCkgPT4gdGhpcy5tYXRNZW51VHJpZ2dlci5jbG9zZU1lbnUoKSkpO1xuICAgIHRoaXMuX3Zpc2libGUkLnNldERlbGVnYXRlKGNvbXBvbmVudC52aXNpYmxlJCk7XG4gICAgaWYgKHRoaXMuaW5pdGlhbGlzZUNhbGxiYWNrKSB7XG4gICAgICB0aGlzLmluaXRpYWxpc2VDYWxsYmFjayhjb21wb25lbnQpO1xuICAgIH1cbiAgfVxuXG4gIGdldCB2aXNpYmxlJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZSQucmVhZG9ubHkkO1xuICB9XG5cbn1cbiIsIjxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIiB4UG9zaXRpb249XCJiZWZvcmVcIj5cbiAgPG5nLXRlbXBsYXRlIG1hdE1lbnVDb250ZW50IFtjZGtQb3J0YWxPdXRsZXRdPVwicG9wdXBDb21wb25lbnRQb3J0YWwkLnZhbHVlXCJcbiAgICAgICAgICAgICAgIChhdHRhY2hlZCk9XCJpbml0aWFsaXNlKCRldmVudClcIj48L25nLXRlbXBsYXRlPlxuPC9tYXQtbWVudT5cblxuPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBkYXRhLWN5PVwibW9yZS1tZW51LXRyaWdnZXJcIiAqbmdJZj1cInZpc2libGUkLnZhbHVlXCI+XG4gIDxhdXAtaWNvbiBpY29uPVwibWF0Om1vcmVfdmVydFwiPjwvYXVwLWljb24+XG48L2J1dHRvbj5cbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbW9yZS1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL3JlbmRlcmVyL3RhYmxlLW1vcmUtbWVudS90YWJsZS1tb3JlLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvcmVuZGVyZXIvdGFibGUtbW9yZS1tZW51L3RhYmxlLW1vcmUtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUE2QixlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRixPQUFPLEVBQUMsU0FBUyxFQUFnQixZQUFZLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQ0wsT0FBTyxFQUNQLG9CQUFvQixFQUNwQixHQUFHLEVBQ0gsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUVsQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7Ozs7O0FBU2xFLE1BQU0sT0FBTyxzQkFBMEIsU0FBUSxtQkFBbUI7SUFHeEQsTUFBTSxHQUFHLElBQUksaUJBQWlCLEVBQUssQ0FBQztJQUduQyx3QkFBUztJQUFULElBQUEsS0FBSywyQ0FBSTtJQUFULElBQUEsS0FBSyxpREFBSTtJQUdsQixjQUFjLENBQWlCO0lBRWQsVUFBVSxHQUFHLElBQUksaUJBQWlCLEVBQWlELENBQUM7SUFFckcscUJBQXFCLENBQW1FO0lBRXZFLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxvQkFBb0IsRUFBVyxDQUFDLENBQUM7SUFFMUY7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVELDJCQUEyQixDQUFDLGtCQUFpRTtRQUMzRixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxrQkFBa0IsQ0FBQztJQUM3QyxDQUFDO0lBR0QscURBQXFEO0lBRXJELGNBQWMsQ0FBQyxNQUFrQjtRQUMvQixNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxVQUFVLENBQUMsTUFBa0M7UUFDM0MsTUFBTSxTQUFTLEdBQUksTUFBdUQsQ0FBQyxRQUFRLENBQUM7UUFDcEYsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO0lBQ2xDLENBQUM7dUdBM0NVLHNCQUFzQjsyRkFBdEIsc0JBQXNCLHVLQVF0QixjQUFjLHVFQzdCM0IsK1hBUUE7O0FEbUJXO0lBRFIsaUJBQWlCLEVBQUU7O21EQUNGOzJGQU5QLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxxQkFBcUI7MEVBVXRCLEtBQUssTUFHZCxjQUFjO3NCQURiLFNBQVM7dUJBQUMsY0FBYztnQkFzQnpCLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Nka1BvcnRhbE91dGxldEF0dGFjaGVkUmVmLCBDb21wb25lbnRQb3J0YWx9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5pbXBvcnQge0NvbXBvbmVudCwgQ29tcG9uZW50UmVmLCBIb3N0TGlzdGVuZXIsIFZpZXdDaGlsZH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7TWF0TWVudVRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XG5pbXBvcnQge1xuICBDb21tYW5kLFxuICBEZWxlZ2F0aW5nVmFsdWVNb2RlbCxcbiAgRHNsLFxuICBNdXRhYmxlVmFsdWVNb2RlbCxcbiAgU3RvcmVJblZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWxDaGFpblxufSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCB7Q29uc3RydWN0YWJsZX0gZnJvbSBcIkBjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXNcIjtcbmltcG9ydCB7RGlzcG9zYWJsZUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uLy4uL2Rpc3Bvc2FibGUtY29tcG9uZW50XCI7XG5pbXBvcnQge0NlbGxSZW5kZXJlcn0gZnJvbSBcIi4uL2NlbGwtcmVuZGVyZXJcIjtcbmltcG9ydCB7VGFibGVNb3JlTWVudVBvcHVwQ29tcG9uZW50fSBmcm9tIFwiLi90YWJsZS1tb3JlLW1lbnUtcG9wdXAvdGFibGUtbW9yZS1tZW51LXBvcHVwLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYXVwLXRhYmxlLW1vcmUtbWVudVwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3RhYmxlLW1vcmUtbWVudS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vdGFibGUtbW9yZS1tZW51LmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlTW9yZU1lbnVDb21wb25lbnQ8VD4gZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQ2VsbFJlbmRlcmVyPFQ+IHtcblxuXG4gIHByaXZhdGUgdmFsdWUkID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPFQ+KCk7XG5cbiAgQFN0b3JlSW5WYWx1ZU1vZGVsKClcbiAgYWNjZXNzb3IgdmFsdWU6IFQ7XG5cbiAgQFZpZXdDaGlsZChNYXRNZW51VHJpZ2dlcilcbiAgbWF0TWVudVRyaWdnZXI6IE1hdE1lbnVUcmlnZ2VyO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcG9wdXBUeXBlJCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxDb25zdHJ1Y3RhYmxlPFRhYmxlTW9yZU1lbnVQb3B1cENvbXBvbmVudDxUPj4+KCk7XG5cbiAgcG9wdXBDb21wb25lbnRQb3J0YWwkOiBWYWx1ZU1vZGVsQ2hhaW48Q29tcG9uZW50UG9ydGFsPFRhYmxlTW9yZU1lbnVQb3B1cENvbXBvbmVudDxUPj4+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3Zpc2libGUkID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IERlbGVnYXRpbmdWYWx1ZU1vZGVsPGJvb2xlYW4+KCkpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3QgeyBjaGFpbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIHRoaXMucG9wdXBDb21wb25lbnRQb3J0YWwkID0gY2hhaW4odGhpcy5wb3B1cFR5cGUkKS5tYXAodHlwZSA9PiBuZXcgQ29tcG9uZW50UG9ydGFsKHR5cGUpKTtcbiAgfVxuXG4gIGNvbmZpZ3VyZVBvcHVwQ29tcG9uZW50VHlwZShwb3B1cENvbXBvbmVudFR5cGU6IENvbnN0cnVjdGFibGU8VGFibGVNb3JlTWVudVBvcHVwQ29tcG9uZW50PFQ+Pikge1xuICAgIHRoaXMucG9wdXBUeXBlJC52YWx1ZSA9IHBvcHVwQ29tcG9uZW50VHlwZTtcbiAgfVxuXG5cbiAgLy8gU3RvcHMgdHJlZSBzZWxlY3Rpb24gd2hlbiBjbGlja2luZyB0aGUgbWVudSBidXR0b25cbiAgQEhvc3RMaXN0ZW5lcihcImNsaWNrXCIsIFtcIiRldmVudFwiXSlcbiAgcHJldmVudERlZmF1bHQoJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgaW5pdGlhbGlzZSgkZXZlbnQ6IENka1BvcnRhbE91dGxldEF0dGFjaGVkUmVmKSB7XG4gICAgY29uc3QgY29tcG9uZW50ID0gKCRldmVudCBhcyBDb21wb25lbnRSZWY8VGFibGVNb3JlTWVudVBvcHVwQ29tcG9uZW50PFQ+PikuaW5zdGFuY2U7XG4gICAgY29tcG9uZW50LmluaXRpYWxpc2UodGhpcy52YWx1ZSQsIENvbW1hbmQuY3JlYXRlKCgpID0+IHRoaXMubWF0TWVudVRyaWdnZXIuY2xvc2VNZW51KCkpKTtcbiAgICB0aGlzLl92aXNpYmxlJC5zZXREZWxlZ2F0ZShjb21wb25lbnQudmlzaWJsZSQpO1xuICB9XG5cbiAgZ2V0IHZpc2libGUkKCkge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlJC5yZWFkb25seSQ7XG4gIH1cblxufVxuIiwiPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiIHhQb3NpdGlvbj1cImJlZm9yZVwiPlxuICA8bmctdGVtcGxhdGUgbWF0TWVudUNvbnRlbnQgW2Nka1BvcnRhbE91dGxldF09XCJwb3B1cENvbXBvbmVudFBvcnRhbCQudmFsdWVcIlxuICAgICAgICAgICAgICAgKGF0dGFjaGVkKT1cImluaXRpYWxpc2UoJGV2ZW50KVwiPjwvbmctdGVtcGxhdGU+XG48L21hdC1tZW51PlxuXG48YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiIGRhdGEtY3k9XCJtb3JlLW1lbnUtdHJpZ2dlclwiICpuZ0lmPVwidmlzaWJsZSQudmFsdWVcIj5cbiAgPGF1cC1pY29uIGljb249XCJtYXQ6bW9yZV92ZXJ0XCI+PC9hdXAtaWNvbj5cbjwvYnV0dG9uPlxuIl19