@theseam/ui-common 0.4.3 → 0.4.5

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 (424) hide show
  1. package/datatable/models/preferences-accessor.d.ts +3 -15
  2. package/datatable/models/preferences.d.ts +2 -1
  3. package/datatable/services/datatable-preferences.service.d.ts +11 -14
  4. package/datatable/tokens/datatable-preferences-accessor.d.ts +2 -2
  5. package/esm2020/asset-reader/asset-reader-helper.service.mjs +3 -3
  6. package/esm2020/asset-reader/asset-reader.module.mjs +4 -4
  7. package/esm2020/asset-reader/encrypted-asset-link.directive.mjs +3 -3
  8. package/esm2020/breadcrumbs/breadcrumbs/breadcrumbs.component.mjs +3 -3
  9. package/esm2020/breadcrumbs/breadcrumbs.module.mjs +4 -4
  10. package/esm2020/breadcrumbs/breadcrumbs.service.mjs +3 -3
  11. package/esm2020/buttons/badge-button/badge-button.component.mjs +6 -6
  12. package/esm2020/buttons/button/button.component.mjs +9 -9
  13. package/esm2020/buttons/buttons.module.mjs +4 -4
  14. package/esm2020/buttons/progress-circle-button/progress-circle-button.component.mjs +3 -3
  15. package/esm2020/buttons/toggle-button/toggle-button.component.mjs +3 -3
  16. package/esm2020/card/card-action/card-action.component.mjs +3 -3
  17. package/esm2020/card/card-body/card-body.component.mjs +3 -3
  18. package/esm2020/card/card-footer/card-footer.component.mjs +3 -3
  19. package/esm2020/card/card-header/card-header.component.mjs +3 -3
  20. package/esm2020/card/card.component.mjs +3 -3
  21. package/esm2020/card/card.module.mjs +4 -4
  22. package/esm2020/carousel/carousel-slide.directive.mjs +3 -3
  23. package/esm2020/carousel/carousel.component.mjs +3 -3
  24. package/esm2020/carousel/carousel.module.mjs +4 -4
  25. package/esm2020/checkbox/checkbox.component.mjs +3 -3
  26. package/esm2020/checkbox/checkbox.module.mjs +4 -4
  27. package/esm2020/confirm-dialog/confirm-click.directive.mjs +3 -3
  28. package/esm2020/confirm-dialog/confirm-dialog.component.mjs +3 -3
  29. package/esm2020/confirm-dialog/confirm-dialog.module.mjs +4 -4
  30. package/esm2020/confirm-dialog/confirm-dialog.service.mjs +3 -3
  31. package/esm2020/data-exporter/data-exporter.module.mjs +4 -4
  32. package/esm2020/data-exporter/exporters/csv-exporter.mjs +3 -3
  33. package/esm2020/data-exporter/exporters/xlsx-exporter.mjs +3 -3
  34. package/esm2020/data-filters/data-filters.module.mjs +4 -4
  35. package/esm2020/data-filters/filters/data-filter-search/data-filter-search.component.mjs +3 -3
  36. package/esm2020/data-filters/filters/data-filter-text/data-filter-text.component.mjs +3 -3
  37. package/esm2020/data-filters/filters/data-filter-toggle-buttons/data-filter-toggle-buttons.component.mjs +3 -3
  38. package/esm2020/datatable/datatable/datatable.component.mjs +6 -6
  39. package/esm2020/datatable/datatable-action-menu/datatable-action-menu.component.mjs +3 -3
  40. package/esm2020/datatable/datatable-action-menu-item/datatable-action-menu-item.component.mjs +3 -3
  41. package/esm2020/datatable/datatable-column/datatable-column.component.mjs +3 -3
  42. package/esm2020/datatable/datatable-column-preferences/datatable-column-preferences.component.mjs +3 -3
  43. package/esm2020/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.mjs +3 -3
  44. package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +3 -3
  45. package/esm2020/datatable/datatable-footer/datatable-footer-tpl.directive.mjs +3 -3
  46. package/esm2020/datatable/datatable-footer/datatable-footer.directive.mjs +3 -3
  47. package/esm2020/datatable/datatable-menu-bar/datatable-menu-bar.component.mjs +3 -3
  48. package/esm2020/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.mjs +3 -3
  49. package/esm2020/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.mjs +3 -3
  50. package/esm2020/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.mjs +3 -3
  51. package/esm2020/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.mjs +3 -3
  52. package/esm2020/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.mjs +3 -3
  53. package/esm2020/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.mjs +3 -3
  54. package/esm2020/datatable/datatable-row-detail/datatable-row-detail.directive.mjs +3 -3
  55. package/esm2020/datatable/datatable.module.mjs +4 -4
  56. package/esm2020/datatable/directives/datatable-action-menu-item.directive.mjs +3 -3
  57. package/esm2020/datatable/directives/datatable-action-menu-toggle.directive.mjs +3 -3
  58. package/esm2020/datatable/directives/datatable-cell-tpl.directive.mjs +3 -3
  59. package/esm2020/datatable/directives/datatable-filter.directive.mjs +3 -3
  60. package/esm2020/datatable/directives/datatable-row-action-item.directive.mjs +3 -3
  61. package/esm2020/datatable/models/preferences-accessor.mjs +1 -1
  62. package/esm2020/datatable/models/preferences.mjs +1 -1
  63. package/esm2020/datatable/services/columns-alterations-manager.service.mjs +3 -3
  64. package/esm2020/datatable/services/columns-manager.service.mjs +3 -3
  65. package/esm2020/datatable/services/datatable-column-changes.service.mjs +3 -3
  66. package/esm2020/datatable/services/datatable-preferences.service.mjs +36 -108
  67. package/esm2020/datatable/services/datatable-scrollbar-helper.service.mjs +3 -3
  68. package/esm2020/datatable/tokens/datatable-preferences-accessor.mjs +1 -1
  69. package/esm2020/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.mjs +3 -3
  70. package/esm2020/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.mjs +3 -3
  71. package/esm2020/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.mjs +3 -3
  72. package/esm2020/datatable-dynamic/datatable-dynamic.component.mjs +3 -3
  73. package/esm2020/datatable-dynamic/datatable-dynamic.module.mjs +4 -4
  74. package/esm2020/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.mjs +3 -3
  75. package/esm2020/datatable-dynamic/dynamic-datatable-def.service.mjs +3 -3
  76. package/esm2020/datatable-dynamic/dynamic-datatable-row-actions.service.mjs +3 -3
  77. package/esm2020/dynamic/action/api/dynamic-action-api.service.mjs +3 -3
  78. package/esm2020/dynamic/action/dynamic-action-helper.service.mjs +3 -3
  79. package/esm2020/dynamic/action/link/dynamic-action-link.service.mjs +3 -3
  80. package/esm2020/dynamic/action/modal/dynamic-action-modal.service.mjs +3 -3
  81. package/esm2020/dynamic/dynamic-value-helper.service.mjs +3 -3
  82. package/esm2020/dynamic/evaluators/exporters-data-evaluator/exporters-data-evaluator.mjs +3 -3
  83. package/esm2020/dynamic/evaluators/jexl-evaluator/jexl-evaluator.mjs +3 -3
  84. package/esm2020/dynamic-component-loader/dynamic-component-loader.module.mjs +4 -4
  85. package/esm2020/dynamic-component-loader/dynamic-component-loader.service.mjs +3 -3
  86. package/esm2020/footer-bar/footer-bar/footer-bar.component.mjs +3 -3
  87. package/esm2020/footer-bar/footer-bar.module.mjs +4 -4
  88. package/esm2020/form-field/form-field-error.directive.mjs +3 -3
  89. package/esm2020/form-field/form-field-help-text.directive.mjs +3 -3
  90. package/esm2020/form-field/form-field-label-tpl.directive.mjs +3 -3
  91. package/esm2020/form-field/form-field-required-indicator.component.mjs +3 -3
  92. package/esm2020/form-field/form-field.component.mjs +3 -3
  93. package/esm2020/form-field/form-field.module.mjs +4 -4
  94. package/esm2020/form-field/input.directive.mjs +3 -3
  95. package/esm2020/form-field-error/form-field-error/form-field-error.component.mjs +3 -3
  96. package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.mjs +3 -3
  97. package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item.directive.mjs +3 -3
  98. package/esm2020/form-field-error/form-field-error-list/form-field-error-list.component.mjs +3 -3
  99. package/esm2020/form-field-error/form-field-error.module.mjs +4 -4
  100. package/esm2020/framework/base-layout/base-layout.component.mjs +3 -3
  101. package/esm2020/framework/base-layout/base-layout.module.mjs +4 -4
  102. package/esm2020/framework/base-layout/directives/base-layout-content-footer.directive.mjs +3 -3
  103. package/esm2020/framework/base-layout/directives/base-layout-content-header.directive.mjs +3 -3
  104. package/esm2020/framework/base-layout/directives/base-layout-content.directive.mjs +3 -3
  105. package/esm2020/framework/base-layout/directives/base-layout-nav-toggle.directive.mjs +3 -3
  106. package/esm2020/framework/base-layout/directives/base-layout-side-bar-footer.directive.mjs +3 -3
  107. package/esm2020/framework/base-layout/directives/base-layout-side-bar.directive.mjs +3 -3
  108. package/esm2020/framework/base-layout/directives/base-layout-top-bar.directive.mjs +3 -3
  109. package/esm2020/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.mjs +3 -3
  110. package/esm2020/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.mjs +3 -3
  111. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.mjs +3 -3
  112. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.mjs +3 -3
  113. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.component.mjs +3 -3
  114. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.service.mjs +12 -6
  115. package/esm2020/framework/dashboard/dashboard.component.mjs +3 -3
  116. package/esm2020/framework/dashboard/dashboard.module.mjs +4 -4
  117. package/esm2020/framework/dynamic-router/dynamic-router.module.mjs +4 -4
  118. package/esm2020/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.mjs +3 -3
  119. package/esm2020/framework/dynamic-router/resolvers/hierarchy-level.resolver.mjs +3 -3
  120. package/esm2020/framework/schema-form/schema-form-framework.component.mjs +3 -3
  121. package/esm2020/framework/schema-form/schema-form-framework.mjs +3 -3
  122. package/esm2020/framework/schema-form/schema-form.module.mjs +4 -4
  123. package/esm2020/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.mjs +3 -3
  124. package/esm2020/framework/schema-form-controls/schema-form-controls.module.mjs +4 -4
  125. package/esm2020/framework/schema-form-controls/schema-form-input/schema-form-input.component.mjs +3 -3
  126. package/esm2020/framework/schema-form-controls/schema-form-number/schema-form-number.component.mjs +3 -3
  127. package/esm2020/framework/schema-form-controls/schema-form-select/schema-form-select.component.mjs +3 -3
  128. package/esm2020/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.mjs +3 -3
  129. package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +3 -3
  130. package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +3 -3
  131. package/esm2020/framework/side-nav/side-nav-toggle/side-nav-toggle.component.mjs +3 -3
  132. package/esm2020/framework/side-nav/side-nav.component.mjs +3 -3
  133. package/esm2020/framework/side-nav/side-nav.module.mjs +4 -4
  134. package/esm2020/framework/side-nav/side-nav.service.mjs +3 -3
  135. package/esm2020/framework/top-bar/top-bar-item.directive.mjs +3 -3
  136. package/esm2020/framework/top-bar/top-bar-menu-btn-detail.directive.mjs +3 -3
  137. package/esm2020/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.mjs +3 -3
  138. package/esm2020/framework/top-bar/top-bar-menu.directive.mjs +3 -3
  139. package/esm2020/framework/top-bar/top-bar-title/top-bar-title.component.mjs +3 -3
  140. package/esm2020/framework/top-bar/top-bar.component.mjs +3 -3
  141. package/esm2020/framework/top-bar/top-bar.module.mjs +4 -4
  142. package/esm2020/google-maps/google-maps/google-maps.component.mjs +3 -3
  143. package/esm2020/google-maps/google-maps-api-loader/lazy-google-maps-api-loader.mjs +3 -3
  144. package/esm2020/google-maps/google-maps-api-loader/noop-google-maps-api-loader.mjs +3 -3
  145. package/esm2020/google-maps/google-maps-controls.service.mjs +3 -3
  146. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +3 -3
  147. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.directive.mjs +3 -3
  148. package/esm2020/google-maps/google-maps-recenter-button-control/google-maps-recenter-button-control.component.mjs +3 -3
  149. package/esm2020/google-maps/google-maps-upload-button-control/google-maps-upload-button-control.component.mjs +3 -3
  150. package/esm2020/google-maps/google-maps.module.mjs +4 -4
  151. package/esm2020/google-maps/google-maps.service.mjs +3 -3
  152. package/esm2020/google-maps/map-control.component.mjs +3 -3
  153. package/esm2020/google-maps/map-file-drop/map-file-drop.component.mjs +3 -3
  154. package/esm2020/google-maps/map-value-manager.service.mjs +3 -3
  155. package/esm2020/graphql/datatable/datatable-graphql.service.mjs +3 -3
  156. package/esm2020/icon/icon/icon.component.mjs +3 -3
  157. package/esm2020/icon/icon-btn/icon-btn.component.mjs +3 -3
  158. package/esm2020/icon/icon-notification/icon-notification.component.mjs +3 -3
  159. package/esm2020/icon/icon.module.mjs +4 -4
  160. package/esm2020/layout/layout.module.mjs +4 -4
  161. package/esm2020/layout/layout.service.mjs +3 -3
  162. package/esm2020/loading/loading/loading.component.mjs +3 -3
  163. package/esm2020/loading/loading-overlay.service.mjs +3 -3
  164. package/esm2020/loading/loading.module.mjs +4 -4
  165. package/esm2020/menu/menu-divider.component.mjs +3 -3
  166. package/esm2020/menu/menu-footer/menu-footer.component.mjs +3 -3
  167. package/esm2020/menu/menu-footer-action/menu-footer-action.component.mjs +3 -3
  168. package/esm2020/menu/menu-header/menu-header.component.mjs +3 -3
  169. package/esm2020/menu/menu-item.component.mjs +3 -3
  170. package/esm2020/menu/menu-toggle.directive.mjs +3 -3
  171. package/esm2020/menu/menu.component.mjs +3 -3
  172. package/esm2020/menu/menu.module.mjs +4 -4
  173. package/esm2020/modal/directives/modal-close.directive.mjs +3 -3
  174. package/esm2020/modal/directives/modal-footer-tpl.directive.mjs +3 -3
  175. package/esm2020/modal/directives/modal-header-icon-tpl.directive.mjs +3 -3
  176. package/esm2020/modal/directives/modal-header-title-tpl.directive.mjs +3 -3
  177. package/esm2020/modal/directives/modal-title.directive.mjs +3 -3
  178. package/esm2020/modal/directives/modal.directive.mjs +3 -3
  179. package/esm2020/modal/modal/modal.component.mjs +3 -3
  180. package/esm2020/modal/modal-body/modal-body.component.mjs +3 -3
  181. package/esm2020/modal/modal-container/modal-container.component.mjs +3 -3
  182. package/esm2020/modal/modal-footer/modal-footer.component.mjs +3 -3
  183. package/esm2020/modal/modal-header/modal-header.component.mjs +3 -3
  184. package/esm2020/modal/modal.module.mjs +4 -4
  185. package/esm2020/modal/modal.service.mjs +3 -3
  186. package/esm2020/modal/route-modal/route-modal.component.mjs +3 -3
  187. package/esm2020/popover/popover/popover.component.mjs +3 -3
  188. package/esm2020/popover/popover.directive.mjs +3 -3
  189. package/esm2020/popover/popover.module.mjs +4 -4
  190. package/esm2020/progress/progress-circle/progress-circle.component.mjs +3 -3
  191. package/esm2020/progress/progress.module.mjs +4 -4
  192. package/esm2020/scrollbar/overlay-scrollbar.directive.mjs +3 -3
  193. package/esm2020/scrollbar/overlay-scrollbars.service.mjs +3 -3
  194. package/esm2020/scrollbar/scrollbar.module.mjs +4 -4
  195. package/esm2020/services/asset-loader.service.mjs +3 -3
  196. package/esm2020/services/font-loader.service.mjs +3 -3
  197. package/esm2020/services/preferences/preferences-accessor.mjs +2 -0
  198. package/esm2020/services/preferences/preferences-manager.service.mjs +69 -0
  199. package/esm2020/services/preferences/preferences-record.mjs +74 -0
  200. package/esm2020/services/preferences/preferences.models.mjs +2 -0
  201. package/esm2020/services/public-api.mjs +5 -1
  202. package/esm2020/services/router-helpers.service.mjs +3 -3
  203. package/esm2020/shared/components/password-input-reveal/password-input-reveal.component.mjs +3 -3
  204. package/esm2020/shared/directives/auto-focus.directive.mjs +3 -3
  205. package/esm2020/shared/directives/click-outside.directive.mjs +3 -3
  206. package/esm2020/shared/directives/disable-control.directive.mjs +3 -3
  207. package/esm2020/shared/directives/elem-resized.directive.mjs +3 -3
  208. package/esm2020/shared/directives/hover-class-toggle.directive.mjs +3 -3
  209. package/esm2020/shared/directives/hover-class.directive.mjs +3 -3
  210. package/esm2020/shared/directives/ng-select-extra.directive.mjs +3 -3
  211. package/esm2020/shared/directives/ngx-quill-extra.directive.mjs +3 -3
  212. package/esm2020/shared/pipes/mask-chars.pipe.mjs +3 -3
  213. package/esm2020/shared/pipes/truncate.pipe.mjs +3 -3
  214. package/esm2020/shared/shared.module.mjs +4 -4
  215. package/esm2020/storage/local-storage.service.mjs +3 -3
  216. package/esm2020/story-helpers/initial-route.service.mjs +3 -3
  217. package/esm2020/story-helpers/public-api.mjs +2 -1
  218. package/esm2020/story-helpers/story-empty-with-route.component.mjs +3 -3
  219. package/esm2020/story-helpers/story-empty.component.mjs +3 -3
  220. package/esm2020/story-helpers/story-helper-components.module.mjs +4 -4
  221. package/esm2020/story-helpers/story-initial-route.mjs +4 -4
  222. package/esm2020/story-helpers/story-modal-container.component.mjs +3 -3
  223. package/esm2020/story-helpers/story-preferences-accessor.service.mjs +34 -0
  224. package/esm2020/story-helpers/story-toastr.service.mjs +3 -3
  225. package/esm2020/tabbed/directives/tabbed-tab-content.directive.mjs +3 -3
  226. package/esm2020/tabbed/directives/tabbed-tab.directive.mjs +3 -3
  227. package/esm2020/tabbed/tabbed-content/tabbed-content.component.mjs +3 -3
  228. package/esm2020/tabbed/tabbed-item/tabbed-item.component.mjs +3 -3
  229. package/esm2020/tabbed/tabbed.component.mjs +3 -3
  230. package/esm2020/tabbed/tabbed.module.mjs +4 -4
  231. package/esm2020/tabbed/tabbed.service.mjs +3 -3
  232. package/esm2020/table/table/table.component.mjs +3 -3
  233. package/esm2020/table/table.module.mjs +4 -4
  234. package/esm2020/table-cell-type/services/table-cell-types-helpers.service.mjs +3 -3
  235. package/esm2020/table-cell-type/table-cell-type-selector.component.mjs +3 -3
  236. package/esm2020/table-cell-type/table-cell-type.module.mjs +4 -4
  237. package/esm2020/table-cell-types/table-cell-type-currency/table-cell-type-currency.component.mjs +3 -3
  238. package/esm2020/table-cell-types/table-cell-type-date/table-cell-type-date.component.mjs +3 -3
  239. package/esm2020/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.component.mjs +3 -3
  240. package/esm2020/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.mjs +3 -3
  241. package/esm2020/table-cell-types/table-cell-type-integer/table-cell-type-integer.component.mjs +3 -3
  242. package/esm2020/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.mjs +3 -3
  243. package/esm2020/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.mjs +3 -3
  244. package/esm2020/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.mjs +3 -3
  245. package/esm2020/table-cell-types/table-cell-type-string/table-cell-type-string.component.mjs +3 -3
  246. package/esm2020/table-cell-types/table-cell-types.module.mjs +4 -4
  247. package/esm2020/tel-input/phone-number.pipe.mjs +3 -3
  248. package/esm2020/tel-input/tel-input/tel-input.component.mjs +3 -3
  249. package/esm2020/tel-input/tel-input.directive.mjs +3 -3
  250. package/esm2020/tel-input/tel-input.module.mjs +4 -4
  251. package/esm2020/tiled-select/components/tiled-select/tiled-select.component.mjs +3 -3
  252. package/esm2020/tiled-select/components/tiled-select-tile/tiled-select-tile.component.mjs +3 -3
  253. package/esm2020/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.mjs +3 -3
  254. package/esm2020/tiled-select/directives/tiled-select-tile-icon-tpl.directive.mjs +3 -3
  255. package/esm2020/tiled-select/directives/tiled-select-tile-label-tpl.directive.mjs +3 -3
  256. package/esm2020/tiled-select/directives/tiled-select-tile-overlay.directive.mjs +3 -3
  257. package/esm2020/tiled-select/tiled-select.module.mjs +4 -4
  258. package/esm2020/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.mjs +3 -3
  259. package/esm2020/toggle-edit/toggle-edit-display-tpl.directive.mjs +3 -3
  260. package/esm2020/toggle-edit/toggle-edit-keyboard-listener.service.mjs +3 -3
  261. package/esm2020/toggle-edit/toggle-edit.component.mjs +3 -3
  262. package/esm2020/toggle-edit/toggle-edit.module.mjs +4 -4
  263. package/esm2020/toggle-group/toggle-group-option.directive.mjs +3 -3
  264. package/esm2020/toggle-group/toggle-group.directive.mjs +3 -3
  265. package/esm2020/toggle-group/toggle-group.module.mjs +4 -4
  266. package/esm2020/unsaved-changes-dialog/unsaved-changes-can-deactivate.mjs +3 -3
  267. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +3 -3
  268. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.guard.mjs +3 -3
  269. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +4 -4
  270. package/esm2020/vertical-list-filter/vertical-list-filter.component.mjs +3 -3
  271. package/esm2020/viewers/html-template-viewer/html-template-viewer.component.mjs +3 -3
  272. package/esm2020/viewers/html-template-viewer/html-template-viewer.module.mjs +4 -4
  273. package/esm2020/viewers/pdf-viewer/pdf-page/pdf-page.component.mjs +3 -3
  274. package/esm2020/viewers/pdf-viewer/pdf-renderer.service.mjs +3 -3
  275. package/esm2020/viewers/pdf-viewer/pdf-viewer.component.mjs +3 -3
  276. package/esm2020/viewers/pdf-viewer/pdf-viewer.module.mjs +4 -4
  277. package/esm2020/widget/directives/widget-drag-handle.directive.mjs +3 -3
  278. package/esm2020/widget/directives/widget-icon-tpl.directive.mjs +3 -3
  279. package/esm2020/widget/directives/widget-title-tpl.directive.mjs +3 -3
  280. package/esm2020/widget/preferences/widget-preferences.models.mjs +5 -0
  281. package/esm2020/widget/preferences/widget-preferences.service.mjs +78 -0
  282. package/esm2020/widget/preferences/widget-preferences.token.mjs +3 -0
  283. package/esm2020/widget/widget/widget.component.mjs +69 -32
  284. package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.component.mjs +3 -3
  285. package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.module.mjs +4 -4
  286. package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.component.mjs +3 -3
  287. package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.module.mjs +4 -4
  288. package/esm2020/widget/widget-content-components/widget-description/widget-description.component.mjs +3 -3
  289. package/esm2020/widget/widget-content-components/widget-description/widget-description.module.mjs +4 -4
  290. package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.component.mjs +3 -3
  291. package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.module.mjs +4 -4
  292. package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.component.mjs +3 -3
  293. package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.module.mjs +4 -4
  294. package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.component.mjs +3 -3
  295. package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.module.mjs +4 -4
  296. package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.component.mjs +3 -3
  297. package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.module.mjs +4 -4
  298. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.mjs +3 -3
  299. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.mjs +15 -15
  300. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.component.mjs +3 -3
  301. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.module.mjs +4 -4
  302. package/esm2020/widget/widget-content-components/widget-table/widget-table.component.mjs +3 -3
  303. package/esm2020/widget/widget-content-components/widget-table/widget-table.module.mjs +4 -4
  304. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.mjs +3 -3
  305. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.mjs +3 -3
  306. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.mjs +3 -3
  307. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.mjs +3 -3
  308. package/esm2020/widget/widget-content-components/widget-tile/widget-tile.component.mjs +6 -6
  309. package/esm2020/widget/widget-content-components/widget-tile/widget-tile.module.mjs +4 -4
  310. package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.component.mjs +3 -3
  311. package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.module.mjs +4 -4
  312. package/esm2020/widget/widget-footer/widget-footer.component.mjs +3 -3
  313. package/esm2020/widget/widget-registry.service.mjs +3 -3
  314. package/esm2020/widget/widget-token.mjs +2 -1
  315. package/esm2020/widget/widget.module.mjs +4 -4
  316. package/fesm2015/theseam-ui-common-asset-reader.mjs +10 -10
  317. package/fesm2015/theseam-ui-common-breadcrumbs.mjs +10 -10
  318. package/fesm2015/theseam-ui-common-buttons.mjs +25 -25
  319. package/fesm2015/theseam-ui-common-card.mjs +19 -19
  320. package/fesm2015/theseam-ui-common-carousel.mjs +10 -10
  321. package/fesm2015/theseam-ui-common-checkbox.mjs +7 -7
  322. package/fesm2015/theseam-ui-common-confirm-dialog.mjs +13 -13
  323. package/fesm2015/theseam-ui-common-data-exporter.mjs +10 -10
  324. package/fesm2015/theseam-ui-common-data-filters.mjs +13 -13
  325. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs +25 -25
  326. package/fesm2015/theseam-ui-common-datatable.mjs +124 -195
  327. package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
  328. package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs +7 -7
  329. package/fesm2015/theseam-ui-common-dynamic.mjs +21 -21
  330. package/fesm2015/theseam-ui-common-footer-bar.mjs +7 -7
  331. package/fesm2015/theseam-ui-common-form-field-error.mjs +16 -16
  332. package/fesm2015/theseam-ui-common-form-field.mjs +22 -22
  333. package/fesm2015/theseam-ui-common-framework.mjs +142 -136
  334. package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
  335. package/fesm2015/theseam-ui-common-google-maps.mjs +40 -40
  336. package/fesm2015/theseam-ui-common-graphql.mjs +3 -3
  337. package/fesm2015/theseam-ui-common-icon.mjs +13 -13
  338. package/fesm2015/theseam-ui-common-layout.mjs +7 -7
  339. package/fesm2015/theseam-ui-common-loading.mjs +10 -10
  340. package/fesm2015/theseam-ui-common-menu.mjs +25 -25
  341. package/fesm2015/theseam-ui-common-modal.mjs +43 -43
  342. package/fesm2015/theseam-ui-common-popover.mjs +10 -10
  343. package/fesm2015/theseam-ui-common-progress.mjs +7 -7
  344. package/fesm2015/theseam-ui-common-scrollbar.mjs +10 -10
  345. package/fesm2015/theseam-ui-common-services.mjs +153 -17
  346. package/fesm2015/theseam-ui-common-services.mjs.map +1 -1
  347. package/fesm2015/theseam-ui-common-shared.mjs +37 -37
  348. package/fesm2015/theseam-ui-common-storage.mjs +3 -3
  349. package/fesm2015/theseam-ui-common-story-helpers.mjs +55 -24
  350. package/fesm2015/theseam-ui-common-story-helpers.mjs.map +1 -1
  351. package/fesm2015/theseam-ui-common-tabbed.mjs +22 -22
  352. package/fesm2015/theseam-ui-common-table-cell-type.mjs +10 -10
  353. package/fesm2015/theseam-ui-common-table-cell-types.mjs +31 -31
  354. package/fesm2015/theseam-ui-common-table.mjs +7 -7
  355. package/fesm2015/theseam-ui-common-tel-input.mjs +13 -13
  356. package/fesm2015/theseam-ui-common-tiled-select.mjs +22 -22
  357. package/fesm2015/theseam-ui-common-toggle-edit.mjs +16 -16
  358. package/fesm2015/theseam-ui-common-toggle-group.mjs +10 -10
  359. package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs +13 -13
  360. package/fesm2015/theseam-ui-common-vertical-list-filter.mjs +3 -3
  361. package/fesm2015/theseam-ui-common-viewers.mjs +20 -20
  362. package/fesm2015/theseam-ui-common-widget.mjs +281 -165
  363. package/fesm2015/theseam-ui-common-widget.mjs.map +1 -1
  364. package/fesm2020/theseam-ui-common-asset-reader.mjs +10 -10
  365. package/fesm2020/theseam-ui-common-breadcrumbs.mjs +10 -10
  366. package/fesm2020/theseam-ui-common-buttons.mjs +25 -25
  367. package/fesm2020/theseam-ui-common-card.mjs +19 -19
  368. package/fesm2020/theseam-ui-common-carousel.mjs +10 -10
  369. package/fesm2020/theseam-ui-common-checkbox.mjs +7 -7
  370. package/fesm2020/theseam-ui-common-confirm-dialog.mjs +13 -13
  371. package/fesm2020/theseam-ui-common-data-exporter.mjs +10 -10
  372. package/fesm2020/theseam-ui-common-data-filters.mjs +13 -13
  373. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs +25 -25
  374. package/fesm2020/theseam-ui-common-datatable.mjs +124 -195
  375. package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
  376. package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs +7 -7
  377. package/fesm2020/theseam-ui-common-dynamic.mjs +21 -21
  378. package/fesm2020/theseam-ui-common-footer-bar.mjs +7 -7
  379. package/fesm2020/theseam-ui-common-form-field-error.mjs +16 -16
  380. package/fesm2020/theseam-ui-common-form-field.mjs +22 -22
  381. package/fesm2020/theseam-ui-common-framework.mjs +141 -136
  382. package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
  383. package/fesm2020/theseam-ui-common-google-maps.mjs +40 -40
  384. package/fesm2020/theseam-ui-common-graphql.mjs +3 -3
  385. package/fesm2020/theseam-ui-common-icon.mjs +13 -13
  386. package/fesm2020/theseam-ui-common-layout.mjs +7 -7
  387. package/fesm2020/theseam-ui-common-loading.mjs +10 -10
  388. package/fesm2020/theseam-ui-common-menu.mjs +25 -25
  389. package/fesm2020/theseam-ui-common-modal.mjs +43 -43
  390. package/fesm2020/theseam-ui-common-popover.mjs +10 -10
  391. package/fesm2020/theseam-ui-common-progress.mjs +7 -7
  392. package/fesm2020/theseam-ui-common-scrollbar.mjs +10 -10
  393. package/fesm2020/theseam-ui-common-services.mjs +153 -17
  394. package/fesm2020/theseam-ui-common-services.mjs.map +1 -1
  395. package/fesm2020/theseam-ui-common-shared.mjs +37 -37
  396. package/fesm2020/theseam-ui-common-storage.mjs +3 -3
  397. package/fesm2020/theseam-ui-common-story-helpers.mjs +55 -24
  398. package/fesm2020/theseam-ui-common-story-helpers.mjs.map +1 -1
  399. package/fesm2020/theseam-ui-common-tabbed.mjs +22 -22
  400. package/fesm2020/theseam-ui-common-table-cell-type.mjs +10 -10
  401. package/fesm2020/theseam-ui-common-table-cell-types.mjs +31 -31
  402. package/fesm2020/theseam-ui-common-table.mjs +7 -7
  403. package/fesm2020/theseam-ui-common-tel-input.mjs +13 -13
  404. package/fesm2020/theseam-ui-common-tiled-select.mjs +22 -22
  405. package/fesm2020/theseam-ui-common-toggle-edit.mjs +16 -16
  406. package/fesm2020/theseam-ui-common-toggle-group.mjs +10 -10
  407. package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs +13 -13
  408. package/fesm2020/theseam-ui-common-vertical-list-filter.mjs +3 -3
  409. package/fesm2020/theseam-ui-common-viewers.mjs +20 -20
  410. package/fesm2020/theseam-ui-common-widget.mjs +277 -165
  411. package/fesm2020/theseam-ui-common-widget.mjs.map +1 -1
  412. package/package.json +2 -2
  413. package/services/preferences/preferences-accessor.d.ts +15 -0
  414. package/services/preferences/preferences-manager.service.d.ts +15 -0
  415. package/services/preferences/preferences-record.d.ts +28 -0
  416. package/services/preferences/preferences.models.d.ts +3 -0
  417. package/services/public-api.d.ts +4 -0
  418. package/story-helpers/public-api.d.ts +1 -0
  419. package/story-helpers/story-preferences-accessor.service.d.ts +19 -0
  420. package/widget/preferences/widget-preferences.models.d.ts +8 -0
  421. package/widget/preferences/widget-preferences.service.d.ts +21 -0
  422. package/widget/preferences/widget-preferences.token.d.ts +3 -0
  423. package/widget/widget/widget.component.d.ts +10 -2
  424. package/widget/widget-token.d.ts +1 -0
@@ -1,107 +1,45 @@
1
- import { Inject, Injectable, isDevMode, Optional } from '@angular/core';
2
- import { of, Subject } from 'rxjs';
3
- import { map, shareReplay, startWith, switchMap, take, tap } from 'rxjs/operators';
4
- import { notNullOrUndefined } from '@theseam/ui-common/utils';
5
- import { EMPTY_DATATABLE_PREFERENCES } from '../models/preferences';
1
+ import { Inject, Injectable, Optional } from '@angular/core';
2
+ import { of } from 'rxjs';
3
+ import { map, switchMap, take, tap } from 'rxjs/operators';
4
+ import { CURRENT_DATATABLE_PREFERENCES_VERSION, EMPTY_DATATABLE_PREFERENCES } from '../models/preferences';
6
5
  import { THESEAM_DATATABLE_PREFERENCES_ACCESSOR } from '../tokens/datatable-preferences-accessor';
7
6
  import * as i0 from "@angular/core";
8
- // TODO: Add per key status
7
+ import * as i1 from "@theseam/ui-common/services";
9
8
  export class DatatablePreferencesService {
10
- get pending() { return this._pending; }
11
- get loaded() { return this._loaded; }
12
- constructor(_prefsAccessor) {
9
+ constructor(_preferencesManager, _prefsAccessor) {
10
+ this._preferencesManager = _preferencesManager;
13
11
  this._prefsAccessor = _prefsAccessor;
14
- this._tablePrefsMap = new Map();
12
+ // TODO: Remove the need for this internal pending flag. I only kept it for
13
+ // backwards compatibility, until better tests are added to make sure if isn't
14
+ // neccessary anymore.
15
+ /**
16
+ * Used to prevent multiple updates from happening at the same time, but it is not per key.
17
+ */
15
18
  this._pending = false;
16
- this._loaded = false;
17
19
  }
18
- preferences(preferenceKey) {
19
- let prefs = this._tablePrefsMap.get(preferenceKey);
20
- if (!prefs) {
21
- const refreshSubject = new Subject();
22
- prefs = {
23
- observable: this._createObservable(refreshSubject, preferenceKey),
24
- refresh: refreshSubject
25
- };
26
- this._tablePrefsMap.set(preferenceKey, prefs);
20
+ isPending(preferenceKey) {
21
+ return this._pending || this._preferencesManager.isPending(preferenceKey);
22
+ }
23
+ isLoaded(preferenceKey) {
24
+ if (this._pending) {
25
+ return false;
27
26
  }
28
- return prefs.observable;
27
+ return this._preferencesManager.isLoaded(preferenceKey);
29
28
  }
30
- _createObservable(refreshSubject, prefKey) {
29
+ preferences(preferenceKey) {
31
30
  if (!this._prefsAccessor) {
32
- return of(EMPTY_DATATABLE_PREFERENCES);
31
+ return of(JSON.parse(JSON.stringify(EMPTY_DATATABLE_PREFERENCES)));
33
32
  }
34
- const accessor = (key) => this._prefsAccessor ? this._prefsAccessor.get(key) : of(JSON.stringify(EMPTY_DATATABLE_PREFERENCES));
35
- return refreshSubject.pipe(startWith(undefined), switchMap(() => accessor(prefKey).pipe(map(v => {
36
- if (!v) {
37
- return null;
38
- }
39
- // TODO: Add a schema validator and migration tool to avoid parsing issues.
40
- try {
41
- // return JSON.parse(v) as TheSeamDatatablePreferences
42
- return this._descerializePreferences(v);
33
+ return this._preferencesManager.preferences(preferenceKey, this._prefsAccessor, EMPTY_DATATABLE_PREFERENCES).pipe(map(prefs => {
34
+ if (this._isValidDatatablePreferences(prefs)) {
35
+ return prefs;
43
36
  }
44
- catch (error) {
45
- if (isDevMode()) {
46
- // eslint-disable-next-line no-console
47
- console.error(error);
48
- }
49
- return null;
50
- }
51
- }), map(v => notNullOrUndefined(v) ? v : EMPTY_DATATABLE_PREFERENCES),
52
- // tap(v => console.log('preferences$', v)),
53
- tap(() => {
54
- this._pending = false;
55
- this._loaded = true;
56
- }))), shareReplay({ bufferSize: 1, refCount: true }));
37
+ throw Error(`Preferences for key '${preferenceKey}' is not a valid datatable preferences.`);
38
+ }));
57
39
  }
58
40
  refresh(preferenceKey) {
59
- const prefs = this._tablePrefsMap.get(preferenceKey);
60
- if (prefs) {
61
- this._pending = true;
62
- prefs.refresh.next();
63
- }
41
+ this._preferencesManager.refresh(preferenceKey);
64
42
  }
65
- // TODO: Improve this updating to be more generic, so we can quickly add
66
- // edits for different preference schema's.
67
- //
68
- // TODO: Decide if a send queue/merging of pending queue is needed to avoid
69
- // out of order updates. This shouldn't be an issue, with how fast preferences
70
- // will most likely be changing, but it could happen in situations, such as
71
- // network issues.
72
- // public setColumnPreference(preferenceKey: string, column: TheSeamDatatablePreferencesColumn): void {
73
- // if (!this._prefsAccessor) {
74
- // return
75
- // }
76
- // this._pending = true
77
- // this.preferences(preferenceKey).pipe(
78
- // map(prefs => {
79
- // // Making the preferences immutable may not be necessary, but for now
80
- // // this obj->str->obj will work as a naive clone.
81
- // const columns = JSON.parse(JSON.stringify(prefs.columns || []))
82
- // const _colPref = columns.find((c: any) => c.prop === column.prop)
83
- // // console.log('has', _colPref)
84
- // if (_colPref) {
85
- // // console.log('hasProperty(column, "width"))', hasProperty(column, 'width'))
86
- // if (hasProperty(column, 'width')) { _colPref.width = column.width }
87
- // if (hasProperty(column, 'canAutoResize')) { _colPref.canAutoResize = column.canAutoResize }
88
- // if (hasProperty(column, 'hidden')) { _colPref.hidden = column.hidden }
89
- // } else {
90
- // columns.push({ ...column })
91
- // }
92
- // const newPrefs: TheSeamDatatablePreferences = { ...prefs, columns }
93
- // return newPrefs
94
- // }),
95
- // // tap(v => console.log('newPrefs', v)),
96
- // take(1),
97
- // switchMap(newPrefs => this._prefsAccessor
98
- // ? this._prefsAccessor.update(preferenceKey, JSON.stringify(newPrefs))
99
- // : of(newPrefs)
100
- // ),
101
- // tap(() => this.refresh(preferenceKey))
102
- // )
103
- // .subscribe()
104
- // }
105
43
  setAlterations(preferenceKey, alterations) {
106
44
  if (!this._prefsAccessor) {
107
45
  return;
@@ -127,6 +65,7 @@ export class DatatablePreferencesService {
127
65
  ...EMPTY_DATATABLE_PREFERENCES,
128
66
  alterations
129
67
  };
68
+ this._pending = false;
130
69
  return newPrefs;
131
70
  }),
132
71
  // tap(v => console.log('newPrefs', v)),
@@ -135,32 +74,21 @@ export class DatatablePreferencesService {
135
74
  : of(newPrefs)), tap(() => this.refresh(preferenceKey)))
136
75
  .subscribe();
137
76
  }
138
- // public withColumnPreferences<T>(preferenceKey: string, columns: T[]): Observable<T[]> {
139
- // return this.preferences(preferenceKey).pipe(
140
- // startWith(EMPTY_DATATABLE_PREFERENCES),
141
- // map(preferences => preferences && preferences.columns
142
- // ? withStoredColumnInfo(columns, preferences.columns) as T[]
143
- // : columns
144
- // )
145
- // )
146
- // }
147
- _descerializePreferences(serialized) {
148
- const prefs = JSON.parse(serialized);
149
- // TODO: Implement migration
150
- return prefs;
77
+ _isValidDatatablePreferences(prefs) {
78
+ return prefs.version === CURRENT_DATATABLE_PREFERENCES_VERSION;
151
79
  }
152
80
  }
153
- DatatablePreferencesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DatatablePreferencesService, deps: [{ token: THESEAM_DATATABLE_PREFERENCES_ACCESSOR, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
154
- DatatablePreferencesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DatatablePreferencesService, providedIn: 'root' });
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DatatablePreferencesService, decorators: [{
81
+ DatatablePreferencesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatablePreferencesService, deps: [{ token: i1.TheSeamPreferencesManagerService }, { token: THESEAM_DATATABLE_PREFERENCES_ACCESSOR, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
82
+ DatatablePreferencesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatablePreferencesService, providedIn: 'root' });
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatablePreferencesService, decorators: [{
156
84
  type: Injectable,
157
85
  args: [{
158
86
  providedIn: 'root'
159
87
  }]
160
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
88
+ }], ctorParameters: function () { return [{ type: i1.TheSeamPreferencesManagerService }, { type: undefined, decorators: [{
161
89
  type: Optional
162
90
  }, {
163
91
  type: Inject,
164
92
  args: [THESEAM_DATATABLE_PREFERENCES_ACCESSOR]
165
93
  }] }]; } });
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLXByZWZlcmVuY2VzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlL3NlcnZpY2VzL2RhdGF0YWJsZS1wcmVmZXJlbmNlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDdkUsT0FBTyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDOUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFbEYsT0FBTyxFQUFlLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDMUUsT0FBTyxFQUFFLDJCQUEyQixFQUFrRSxNQUFNLHVCQUF1QixDQUFBO0FBRW5JLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLDBDQUEwQyxDQUFBOztBQVNqRywyQkFBMkI7QUFLM0IsTUFBTSxPQUFPLDJCQUEyQjtJQU10QyxJQUFXLE9BQU8sS0FBSyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUEsQ0FBQyxDQUFDO0lBQzdDLElBQVcsTUFBTSxLQUFLLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQSxDQUFDLENBQUM7SUFFM0MsWUFDc0UsY0FBb0Q7UUFBcEQsbUJBQWMsR0FBZCxjQUFjLENBQXNDO1FBUnpHLG1CQUFjLEdBQUcsSUFBSSxHQUFHLEVBQTBDLENBQUE7UUFDM0UsYUFBUSxHQUFHLEtBQUssQ0FBQTtRQUNoQixZQUFPLEdBQUcsS0FBSyxDQUFBO0lBT25CLENBQUM7SUFFRSxXQUFXLENBQUMsYUFBcUI7UUFDdEMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUE7UUFDbEQsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE1BQU0sY0FBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUE7WUFDMUMsS0FBSyxHQUFHO2dCQUNOLFVBQVUsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxFQUFFLGFBQWEsQ0FBQztnQkFDakUsT0FBTyxFQUFFLGNBQWM7YUFDeEIsQ0FBQTtZQUNELElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQTtTQUM5QztRQUNELE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQTtJQUN6QixDQUFDO0lBRU8saUJBQWlCLENBQUMsY0FBNkIsRUFBRSxPQUFlO1FBQ3RFLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hCLE9BQU8sRUFBRSxDQUFDLDJCQUEyQixDQUFDLENBQUE7U0FDdkM7UUFFRCxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVcsRUFBc0IsRUFBRSxDQUNuRCxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFBO1FBRXRHLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FDeEIsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUNwQixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDcEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ04sSUFBSSxDQUFDLENBQUMsRUFBRTtnQkFDTixPQUFPLElBQUksQ0FBQTthQUNaO1lBRUQsMkVBQTJFO1lBQzNFLElBQUk7Z0JBQ0Ysc0RBQXNEO2dCQUN0RCxPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQTthQUN4QztZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNkLElBQUksU0FBUyxFQUFFLEVBQUU7b0JBQ2Ysc0NBQXNDO29CQUN0QyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO2lCQUNyQjtnQkFDRCxPQUFPLElBQUksQ0FBQTthQUNaO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUM7UUFDakUsNENBQTRDO1FBQzVDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQTtZQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQTtRQUNyQixDQUFDLENBQUMsQ0FDSCxDQUFDLEVBQ0YsV0FBVyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FDL0MsQ0FBQTtJQUNILENBQUM7SUFFTSxPQUFPLENBQUMsYUFBcUI7UUFDbEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUE7UUFDcEQsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQTtZQUNwQixLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFBO1NBQ3JCO0lBQ0gsQ0FBQztJQUVELHdFQUF3RTtJQUN4RSwyQ0FBMkM7SUFDM0MsRUFBRTtJQUNGLDJFQUEyRTtJQUMzRSw4RUFBOEU7SUFDOUUsMkVBQTJFO0lBQzNFLGtCQUFrQjtJQUNsQix1R0FBdUc7SUFDdkcsZ0NBQWdDO0lBQ2hDLGFBQWE7SUFDYixNQUFNO0lBRU4seUJBQXlCO0lBQ3pCLDBDQUEwQztJQUMxQyxxQkFBcUI7SUFDckIsOEVBQThFO0lBQzlFLDBEQUEwRDtJQUMxRCx3RUFBd0U7SUFDeEUsMEVBQTBFO0lBQzFFLHdDQUF3QztJQUN4Qyx3QkFBd0I7SUFDeEIsd0ZBQXdGO0lBQ3hGLDhFQUE4RTtJQUM5RSxzR0FBc0c7SUFDdEcsaUZBQWlGO0lBQ2pGLGlCQUFpQjtJQUNqQixzQ0FBc0M7SUFDdEMsVUFBVTtJQUNWLDRFQUE0RTtJQUM1RSx3QkFBd0I7SUFDeEIsVUFBVTtJQUNWLCtDQUErQztJQUMvQyxlQUFlO0lBQ2YsZ0RBQWdEO0lBQ2hELDhFQUE4RTtJQUM5RSx1QkFBdUI7SUFDdkIsU0FBUztJQUNULDZDQUE2QztJQUM3QyxNQUFNO0lBQ04saUJBQWlCO0lBQ2pCLElBQUk7SUFFRyxjQUFjLENBQUMsYUFBcUIsRUFBRSxXQUFxQztRQUM5RSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4QixPQUFNO1NBQ1A7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQTtRQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FDbEMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ1YscUVBQXFFO1lBQ3JFLGlEQUFpRDtZQUNqRCxrRUFBa0U7WUFDbEUsb0VBQW9FO1lBQ3BFLGtDQUFrQztZQUNsQyxrQkFBa0I7WUFDbEIsa0ZBQWtGO1lBQ2xGLHdFQUF3RTtZQUN4RSxnR0FBZ0c7WUFDaEcsMkVBQTJFO1lBQzNFLFdBQVc7WUFDWCxnQ0FBZ0M7WUFDaEMsSUFBSTtZQUNKLHNFQUFzRTtZQUN0RSxrQkFBa0I7WUFFbEIsTUFBTSxRQUFRLEdBQWdDO2dCQUM1QyxHQUFHLDJCQUEyQjtnQkFDOUIsV0FBVzthQUNaLENBQUE7WUFDRCxPQUFPLFFBQVEsQ0FBQTtRQUNqQixDQUFDLENBQUM7UUFDRix3Q0FBd0M7UUFDeEMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjO1lBQ3ZDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyRSxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUNmLEVBQ0QsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FDdkM7YUFDQSxTQUFTLEVBQUUsQ0FBQTtJQUNoQixDQUFDO0lBRUQsMEZBQTBGO0lBQzFGLGlEQUFpRDtJQUNqRCw4Q0FBOEM7SUFDOUMsNERBQTREO0lBQzVELG9FQUFvRTtJQUNwRSxrQkFBa0I7SUFDbEIsUUFBUTtJQUNSLE1BQU07SUFDTixJQUFJO0lBRUksd0JBQXdCLENBQUMsVUFBa0I7UUFDakQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUVwQyw0QkFBNEI7UUFFNUIsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDOzt3SEE1S1UsMkJBQTJCLGtCQVVoQixzQ0FBc0M7NEhBVmpELDJCQUEyQixjQUYxQixNQUFNOzJGQUVQLDJCQUEyQjtrQkFIdkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVdJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsc0NBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBpc0Rldk1vZGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcydcbmltcG9ydCB7IG1hcCwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuaW1wb3J0IHsgaGFzUHJvcGVydHksIG5vdE51bGxPclVuZGVmaW5lZCB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi91dGlscydcbmltcG9ydCB7IEVNUFRZX0RBVEFUQUJMRV9QUkVGRVJFTkNFUywgVGhlU2VhbURhdGF0YWJsZVByZWZlcmVuY2VzLCBUaGVTZWFtRGF0YXRhYmxlUHJlZmVyZW5jZXNDb2x1bW4gfSBmcm9tICcuLi9tb2RlbHMvcHJlZmVyZW5jZXMnXG5pbXBvcnQgdHlwZSB7IFRoZVNlYW1EYXRhdGFibGVQcmVmZXJlbmNlc0FjY2Vzc29yIH0gZnJvbSAnLi4vbW9kZWxzL3ByZWZlcmVuY2VzLWFjY2Vzc29yJ1xuaW1wb3J0IHsgVEhFU0VBTV9EQVRBVEFCTEVfUFJFRkVSRU5DRVNfQUNDRVNTT1IgfSBmcm9tICcuLi90b2tlbnMvZGF0YXRhYmxlLXByZWZlcmVuY2VzLWFjY2Vzc29yJ1xuaW1wb3J0IHsgd2l0aFN0b3JlZENvbHVtbkluZm8gfSBmcm9tICcuLi91dGlscy93aXRoLXN0b3JlZC1jb2x1bW4taW5mbydcbmltcG9ydCB7IENvbHVtbnNBbHRlcmF0aW9uU3RhdGUgfSBmcm9tICcuLi9tb2RlbHMvY29sdW1ucy1hbHRlcmF0aW9uJ1xuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRhdGFibGVQcmVmZXJlbmNlc01hcFJlY29yZCB7XG4gIG9ic2VydmFibGU6IE9ic2VydmFibGU8VGhlU2VhbURhdGF0YWJsZVByZWZlcmVuY2VzPlxuICByZWZyZXNoOiBTdWJqZWN0PHZvaWQ+XG59XG5cbi8vIFRPRE86IEFkZCBwZXIga2V5IHN0YXR1c1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEYXRhdGFibGVQcmVmZXJlbmNlc1NlcnZpY2Uge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3RhYmxlUHJlZnNNYXAgPSBuZXcgTWFwPHN0cmluZywgSURhdGF0YWJsZVByZWZlcmVuY2VzTWFwUmVjb3JkPigpXG4gIHByaXZhdGUgX3BlbmRpbmcgPSBmYWxzZVxuICBwcml2YXRlIF9sb2FkZWQgPSBmYWxzZVxuXG4gIHB1YmxpYyBnZXQgcGVuZGluZygpIHsgcmV0dXJuIHRoaXMuX3BlbmRpbmcgfVxuICBwdWJsaWMgZ2V0IGxvYWRlZCgpIHsgcmV0dXJuIHRoaXMuX2xvYWRlZCB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChUSEVTRUFNX0RBVEFUQUJMRV9QUkVGRVJFTkNFU19BQ0NFU1NPUikgcHJpdmF0ZSBfcHJlZnNBY2Nlc3Nvcj86IFRoZVNlYW1EYXRhdGFibGVQcmVmZXJlbmNlc0FjY2Vzc29yXG4gICkgeyB9XG5cbiAgcHVibGljIHByZWZlcmVuY2VzKHByZWZlcmVuY2VLZXk6IHN0cmluZyk6IE9ic2VydmFibGU8VGhlU2VhbURhdGF0YWJsZVByZWZlcmVuY2VzPiB7XG4gICAgbGV0IHByZWZzID0gdGhpcy5fdGFibGVQcmVmc01hcC5nZXQocHJlZmVyZW5jZUtleSlcbiAgICBpZiAoIXByZWZzKSB7XG4gICAgICBjb25zdCByZWZyZXNoU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KClcbiAgICAgIHByZWZzID0ge1xuICAgICAgICBvYnNlcnZhYmxlOiB0aGlzLl9jcmVhdGVPYnNlcnZhYmxlKHJlZnJlc2hTdWJqZWN0LCBwcmVmZXJlbmNlS2V5KSxcbiAgICAgICAgcmVmcmVzaDogcmVmcmVzaFN1YmplY3RcbiAgICAgIH1cbiAgICAgIHRoaXMuX3RhYmxlUHJlZnNNYXAuc2V0KHByZWZlcmVuY2VLZXksIHByZWZzKVxuICAgIH1cbiAgICByZXR1cm4gcHJlZnMub2JzZXJ2YWJsZVxuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlT2JzZXJ2YWJsZShyZWZyZXNoU3ViamVjdDogU3ViamVjdDx2b2lkPiwgcHJlZktleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUaGVTZWFtRGF0YXRhYmxlUHJlZmVyZW5jZXM+IHtcbiAgICBpZiAoIXRoaXMuX3ByZWZzQWNjZXNzb3IpIHtcbiAgICAgIHJldHVybiBvZihFTVBUWV9EQVRBVEFCTEVfUFJFRkVSRU5DRVMpXG4gICAgfVxuXG4gICAgY29uc3QgYWNjZXNzb3IgPSAoa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4gPT5cbiAgICAgIHRoaXMuX3ByZWZzQWNjZXNzb3IgPyB0aGlzLl9wcmVmc0FjY2Vzc29yLmdldChrZXkpIDogb2YoSlNPTi5zdHJpbmdpZnkoRU1QVFlfREFUQVRBQkxFX1BSRUZFUkVOQ0VTKSlcblxuICAgIHJldHVybiByZWZyZXNoU3ViamVjdC5waXBlKFxuICAgICAgc3RhcnRXaXRoKHVuZGVmaW5lZCksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gYWNjZXNzb3IocHJlZktleSkucGlwZShcbiAgICAgICAgbWFwKHYgPT4ge1xuICAgICAgICAgIGlmICghdikge1xuICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBUT0RPOiBBZGQgYSBzY2hlbWEgdmFsaWRhdG9yIGFuZCBtaWdyYXRpb24gdG9vbCB0byBhdm9pZCBwYXJzaW5nIGlzc3Vlcy5cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gcmV0dXJuIEpTT04ucGFyc2UodikgYXMgVGhlU2VhbURhdGF0YWJsZVByZWZlcmVuY2VzXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZGVzY2VyaWFsaXplUHJlZmVyZW5jZXModilcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIG1hcCh2ID0+IG5vdE51bGxPclVuZGVmaW5lZCh2KSA/IHYgOiBFTVBUWV9EQVRBVEFCTEVfUFJFRkVSRU5DRVMpLFxuICAgICAgICAvLyB0YXAodiA9PiBjb25zb2xlLmxvZygncHJlZmVyZW5jZXMkJywgdikpLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX3BlbmRpbmcgPSBmYWxzZVxuICAgICAgICAgIHRoaXMuX2xvYWRlZCA9IHRydWVcbiAgICAgICAgfSlcbiAgICAgICkpLFxuICAgICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KSxcbiAgICApXG4gIH1cblxuICBwdWJsaWMgcmVmcmVzaChwcmVmZXJlbmNlS2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBwcmVmcyA9IHRoaXMuX3RhYmxlUHJlZnNNYXAuZ2V0KHByZWZlcmVuY2VLZXkpXG4gICAgaWYgKHByZWZzKSB7XG4gICAgICB0aGlzLl9wZW5kaW5nID0gdHJ1ZVxuICAgICAgcHJlZnMucmVmcmVzaC5uZXh0KClcbiAgICB9XG4gIH1cblxuICAvLyBUT0RPOiBJbXByb3ZlIHRoaXMgdXBkYXRpbmcgdG8gYmUgbW9yZSBnZW5lcmljLCBzbyB3ZSBjYW4gcXVpY2tseSBhZGRcbiAgLy8gZWRpdHMgZm9yIGRpZmZlcmVudCBwcmVmZXJlbmNlIHNjaGVtYSdzLlxuICAvL1xuICAvLyBUT0RPOiBEZWNpZGUgaWYgYSBzZW5kIHF1ZXVlL21lcmdpbmcgb2YgcGVuZGluZyBxdWV1ZSBpcyBuZWVkZWQgdG8gYXZvaWRcbiAgLy8gb3V0IG9mIG9yZGVyIHVwZGF0ZXMuIFRoaXMgc2hvdWxkbid0IGJlIGFuIGlzc3VlLCB3aXRoIGhvdyBmYXN0IHByZWZlcmVuY2VzXG4gIC8vIHdpbGwgbW9zdCBsaWtlbHkgYmUgY2hhbmdpbmcsIGJ1dCBpdCBjb3VsZCBoYXBwZW4gaW4gc2l0dWF0aW9ucywgc3VjaCBhc1xuICAvLyBuZXR3b3JrIGlzc3Vlcy5cbiAgLy8gcHVibGljIHNldENvbHVtblByZWZlcmVuY2UocHJlZmVyZW5jZUtleTogc3RyaW5nLCBjb2x1bW46IFRoZVNlYW1EYXRhdGFibGVQcmVmZXJlbmNlc0NvbHVtbik6IHZvaWQge1xuICAvLyAgIGlmICghdGhpcy5fcHJlZnNBY2Nlc3Nvcikge1xuICAvLyAgICAgcmV0dXJuXG4gIC8vICAgfVxuXG4gIC8vICAgdGhpcy5fcGVuZGluZyA9IHRydWVcbiAgLy8gICB0aGlzLnByZWZlcmVuY2VzKHByZWZlcmVuY2VLZXkpLnBpcGUoXG4gIC8vICAgICBtYXAocHJlZnMgPT4ge1xuICAvLyAgICAgICAvLyBNYWtpbmcgdGhlIHByZWZlcmVuY2VzIGltbXV0YWJsZSBtYXkgbm90IGJlIG5lY2Vzc2FyeSwgYnV0IGZvciBub3dcbiAgLy8gICAgICAgLy8gdGhpcyBvYmotPnN0ci0+b2JqIHdpbGwgd29yayBhcyBhIG5haXZlIGNsb25lLlxuICAvLyAgICAgICBjb25zdCBjb2x1bW5zID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShwcmVmcy5jb2x1bW5zIHx8IFtdKSlcbiAgLy8gICAgICAgY29uc3QgX2NvbFByZWYgPSBjb2x1bW5zLmZpbmQoKGM6IGFueSkgPT4gYy5wcm9wID09PSBjb2x1bW4ucHJvcClcbiAgLy8gICAgICAgLy8gY29uc29sZS5sb2coJ2hhcycsIF9jb2xQcmVmKVxuICAvLyAgICAgICBpZiAoX2NvbFByZWYpIHtcbiAgLy8gICAgICAgICAvLyBjb25zb2xlLmxvZygnaGFzUHJvcGVydHkoY29sdW1uLCBcIndpZHRoXCIpKScsIGhhc1Byb3BlcnR5KGNvbHVtbiwgJ3dpZHRoJykpXG4gIC8vICAgICAgICAgaWYgKGhhc1Byb3BlcnR5KGNvbHVtbiwgJ3dpZHRoJykpIHsgX2NvbFByZWYud2lkdGggPSBjb2x1bW4ud2lkdGggfVxuICAvLyAgICAgICAgIGlmIChoYXNQcm9wZXJ0eShjb2x1bW4sICdjYW5BdXRvUmVzaXplJykpIHsgX2NvbFByZWYuY2FuQXV0b1Jlc2l6ZSA9IGNvbHVtbi5jYW5BdXRvUmVzaXplIH1cbiAgLy8gICAgICAgICBpZiAoaGFzUHJvcGVydHkoY29sdW1uLCAnaGlkZGVuJykpIHsgX2NvbFByZWYuaGlkZGVuID0gY29sdW1uLmhpZGRlbiB9XG4gIC8vICAgICAgIH0gZWxzZSB7XG4gIC8vICAgICAgICAgY29sdW1ucy5wdXNoKHsgLi4uY29sdW1uIH0pXG4gIC8vICAgICAgIH1cbiAgLy8gICAgICAgY29uc3QgbmV3UHJlZnM6IFRoZVNlYW1EYXRhdGFibGVQcmVmZXJlbmNlcyA9IHsgLi4ucHJlZnMsIGNvbHVtbnMgfVxuICAvLyAgICAgICByZXR1cm4gbmV3UHJlZnNcbiAgLy8gICAgIH0pLFxuICAvLyAgICAgLy8gdGFwKHYgPT4gY29uc29sZS5sb2coJ25ld1ByZWZzJywgdikpLFxuICAvLyAgICAgdGFrZSgxKSxcbiAgLy8gICAgIHN3aXRjaE1hcChuZXdQcmVmcyA9PiB0aGlzLl9wcmVmc0FjY2Vzc29yXG4gIC8vICAgICAgID8gdGhpcy5fcHJlZnNBY2Nlc3Nvci51cGRhdGUocHJlZmVyZW5jZUtleSwgSlNPTi5zdHJpbmdpZnkobmV3UHJlZnMpKVxuICAvLyAgICAgICA6IG9mKG5ld1ByZWZzKVxuICAvLyAgICAgKSxcbiAgLy8gICAgIHRhcCgoKSA9PiB0aGlzLnJlZnJlc2gocHJlZmVyZW5jZUtleSkpXG4gIC8vICAgKVxuICAvLyAgIC5zdWJzY3JpYmUoKVxuICAvLyB9XG5cbiAgcHVibGljIHNldEFsdGVyYXRpb25zKHByZWZlcmVuY2VLZXk6IHN0cmluZywgYWx0ZXJhdGlvbnM6IENvbHVtbnNBbHRlcmF0aW9uU3RhdGVbXSk6IHZvaWQge1xuICAgICAgaWYgKCF0aGlzLl9wcmVmc0FjY2Vzc29yKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICB0aGlzLl9wZW5kaW5nID0gdHJ1ZVxuICAgICAgdGhpcy5wcmVmZXJlbmNlcyhwcmVmZXJlbmNlS2V5KS5waXBlKFxuICAgICAgICBtYXAocHJlZnMgPT4ge1xuICAgICAgICAgIC8vIE1ha2luZyB0aGUgcHJlZmVyZW5jZXMgaW1tdXRhYmxlIG1heSBub3QgYmUgbmVjZXNzYXJ5LCBidXQgZm9yIG5vd1xuICAgICAgICAgIC8vIHRoaXMgb2JqLT5zdHItPm9iaiB3aWxsIHdvcmsgYXMgYSBuYWl2ZSBjbG9uZS5cbiAgICAgICAgICAvLyBjb25zdCBjb2x1bW5zID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShwcmVmcy5jb2x1bW5zIHx8IFtdKSlcbiAgICAgICAgICAvLyBjb25zdCBfY29sUHJlZiA9IGNvbHVtbnMuZmluZCgoYzogYW55KSA9PiBjLnByb3AgPT09IGNvbHVtbi5wcm9wKVxuICAgICAgICAgIC8vIC8vIGNvbnNvbGUubG9nKCdoYXMnLCBfY29sUHJlZilcbiAgICAgICAgICAvLyBpZiAoX2NvbFByZWYpIHtcbiAgICAgICAgICAvLyAgIC8vIGNvbnNvbGUubG9nKCdoYXNQcm9wZXJ0eShjb2x1bW4sIFwid2lkdGhcIikpJywgaGFzUHJvcGVydHkoY29sdW1uLCAnd2lkdGgnKSlcbiAgICAgICAgICAvLyAgIGlmIChoYXNQcm9wZXJ0eShjb2x1bW4sICd3aWR0aCcpKSB7IF9jb2xQcmVmLndpZHRoID0gY29sdW1uLndpZHRoIH1cbiAgICAgICAgICAvLyAgIGlmIChoYXNQcm9wZXJ0eShjb2x1bW4sICdjYW5BdXRvUmVzaXplJykpIHsgX2NvbFByZWYuY2FuQXV0b1Jlc2l6ZSA9IGNvbHVtbi5jYW5BdXRvUmVzaXplIH1cbiAgICAgICAgICAvLyAgIGlmIChoYXNQcm9wZXJ0eShjb2x1bW4sICdoaWRkZW4nKSkgeyBfY29sUHJlZi5oaWRkZW4gPSBjb2x1bW4uaGlkZGVuIH1cbiAgICAgICAgICAvLyB9IGVsc2Uge1xuICAgICAgICAgIC8vICAgY29sdW1ucy5wdXNoKHsgLi4uY29sdW1uIH0pXG4gICAgICAgICAgLy8gfVxuICAgICAgICAgIC8vIGNvbnN0IG5ld1ByZWZzOiBUaGVTZWFtRGF0YXRhYmxlUHJlZmVyZW5jZXMgPSB7IC4uLnByZWZzLCBjb2x1bW5zIH1cbiAgICAgICAgICAvLyByZXR1cm4gbmV3UHJlZnNcblxuICAgICAgICAgIGNvbnN0IG5ld1ByZWZzOiBUaGVTZWFtRGF0YXRhYmxlUHJlZmVyZW5jZXMgPSB7XG4gICAgICAgICAgICAuLi5FTVBUWV9EQVRBVEFCTEVfUFJFRkVSRU5DRVMsXG4gICAgICAgICAgICBhbHRlcmF0aW9uc1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbmV3UHJlZnNcbiAgICAgICAgfSksXG4gICAgICAgIC8vIHRhcCh2ID0+IGNvbnNvbGUubG9nKCduZXdQcmVmcycsIHYpKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgc3dpdGNoTWFwKG5ld1ByZWZzID0+IHRoaXMuX3ByZWZzQWNjZXNzb3JcbiAgICAgICAgICA/IHRoaXMuX3ByZWZzQWNjZXNzb3IudXBkYXRlKHByZWZlcmVuY2VLZXksIEpTT04uc3RyaW5naWZ5KG5ld1ByZWZzKSlcbiAgICAgICAgICA6IG9mKG5ld1ByZWZzKVxuICAgICAgICApLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5yZWZyZXNoKHByZWZlcmVuY2VLZXkpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpXG4gIH1cblxuICAvLyBwdWJsaWMgd2l0aENvbHVtblByZWZlcmVuY2VzPFQ+KHByZWZlcmVuY2VLZXk6IHN0cmluZywgY29sdW1uczogVFtdKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgLy8gICByZXR1cm4gdGhpcy5wcmVmZXJlbmNlcyhwcmVmZXJlbmNlS2V5KS5waXBlKFxuICAvLyAgICAgc3RhcnRXaXRoKEVNUFRZX0RBVEFUQUJMRV9QUkVGRVJFTkNFUyksXG4gIC8vICAgICBtYXAocHJlZmVyZW5jZXMgPT4gcHJlZmVyZW5jZXMgJiYgcHJlZmVyZW5jZXMuY29sdW1uc1xuICAvLyAgICAgICA/IHdpdGhTdG9yZWRDb2x1bW5JbmZvKGNvbHVtbnMsIHByZWZlcmVuY2VzLmNvbHVtbnMpIGFzIFRbXVxuICAvLyAgICAgICA6IGNvbHVtbnNcbiAgLy8gICAgIClcbiAgLy8gICApXG4gIC8vIH1cblxuICBwcml2YXRlIF9kZXNjZXJpYWxpemVQcmVmZXJlbmNlcyhzZXJpYWxpemVkOiBzdHJpbmcpOiBUaGVTZWFtRGF0YXRhYmxlUHJlZmVyZW5jZXMge1xuICAgIGNvbnN0IHByZWZzID0gSlNPTi5wYXJzZShzZXJpYWxpemVkKVxuXG4gICAgLy8gVE9ETzogSW1wbGVtZW50IG1pZ3JhdGlvblxuXG4gICAgcmV0dXJuIHByZWZzXG4gIH1cblxufVxuIl19
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLXByZWZlcmVuY2VzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlL3NlcnZpY2VzL2RhdGF0YWJsZS1wcmVmZXJlbmNlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM1RCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ3JDLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUkxRCxPQUFPLEVBQUUscUNBQXFDLEVBQUUsMkJBQTJCLEVBQStCLE1BQU0sdUJBQXVCLENBQUE7QUFDdkksT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sMENBQTBDLENBQUE7OztBQU1qRyxNQUFNLE9BQU8sMkJBQTJCO0lBV3RDLFlBQ21CLG1CQUFxRCxFQUNGLGNBQTJDO1FBRDlGLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBa0M7UUFDRixtQkFBYyxHQUFkLGNBQWMsQ0FBNkI7UUFYakgsMkVBQTJFO1FBQzNFLDhFQUE4RTtRQUM5RSxzQkFBc0I7UUFFdEI7O1dBRUc7UUFDSyxhQUFRLEdBQUcsS0FBSyxDQUFBO0lBS3BCLENBQUM7SUFFRSxTQUFTLENBQUMsYUFBcUI7UUFDcEMsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDM0UsQ0FBQztJQUVNLFFBQVEsQ0FBQyxhQUFxQjtRQUNuQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsT0FBTyxLQUFLLENBQUE7U0FDYjtRQUNELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUN6RCxDQUFDO0lBRU0sV0FBVyxDQUFDLGFBQXFCO1FBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUNuRTtRQUVELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSwyQkFBMkIsQ0FBQyxDQUFDLElBQUksQ0FDL0csR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ1YsSUFBSSxJQUFJLENBQUMsNEJBQTRCLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzVDLE9BQU8sS0FBSyxDQUFBO2FBQ2I7WUFDRCxNQUFNLEtBQUssQ0FBQyx3QkFBd0IsYUFBYSx5Q0FBeUMsQ0FBQyxDQUFBO1FBQzdGLENBQUMsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDO0lBRU0sT0FBTyxDQUFDLGFBQXFCO1FBQ2xDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDakQsQ0FBQztJQUVNLGNBQWMsQ0FBQyxhQUFxQixFQUFFLFdBQXFDO1FBQzlFLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hCLE9BQU07U0FDUDtRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUNsQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDVixxRUFBcUU7WUFDckUsaURBQWlEO1lBQ2pELGtFQUFrRTtZQUNsRSxvRUFBb0U7WUFDcEUsa0NBQWtDO1lBQ2xDLGtCQUFrQjtZQUNsQixrRkFBa0Y7WUFDbEYsd0VBQXdFO1lBQ3hFLGdHQUFnRztZQUNoRywyRUFBMkU7WUFDM0UsV0FBVztZQUNYLGdDQUFnQztZQUNoQyxJQUFJO1lBQ0osc0VBQXNFO1lBQ3RFLGtCQUFrQjtZQUVsQixNQUFNLFFBQVEsR0FBZ0M7Z0JBQzVDLEdBQUcsMkJBQTJCO2dCQUM5QixXQUFXO2FBQ1osQ0FBQTtZQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFBO1lBQ3JCLE9BQU8sUUFBUSxDQUFBO1FBQ2pCLENBQUMsQ0FBQztRQUNGLHdDQUF3QztRQUN4QyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWM7WUFDdkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3JFLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQ2YsRUFDRCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUN2QzthQUNBLFNBQVMsRUFBRSxDQUFBO0lBQ2hCLENBQUM7SUFFTyw0QkFBNEIsQ0FBQyxLQUE2QjtRQUNoRSxPQUFPLEtBQUssQ0FBQyxPQUFPLEtBQUsscUNBQXFDLENBQUE7SUFDaEUsQ0FBQzs7d0hBMUZVLDJCQUEyQixrRUFhaEIsc0NBQXNDOzRIQWJqRCwyQkFBMkIsY0FGMUIsTUFBTTsyRkFFUCwyQkFBMkI7a0JBSHZDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFjSSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLHNDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgbWFwLCBzd2l0Y2hNYXAsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQgeyBUaGVTZWFtUHJlZmVyZW5jZXNBY2Nlc3NvciwgVGhlU2VhbVByZWZlcmVuY2VzQmFzZSwgVGhlU2VhbVByZWZlcmVuY2VzTWFuYWdlclNlcnZpY2UgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vc2VydmljZXMnXG5cbmltcG9ydCB7IENVUlJFTlRfREFUQVRBQkxFX1BSRUZFUkVOQ0VTX1ZFUlNJT04sIEVNUFRZX0RBVEFUQUJMRV9QUkVGRVJFTkNFUywgVGhlU2VhbURhdGF0YWJsZVByZWZlcmVuY2VzIH0gZnJvbSAnLi4vbW9kZWxzL3ByZWZlcmVuY2VzJ1xuaW1wb3J0IHsgVEhFU0VBTV9EQVRBVEFCTEVfUFJFRkVSRU5DRVNfQUNDRVNTT1IgfSBmcm9tICcuLi90b2tlbnMvZGF0YXRhYmxlLXByZWZlcmVuY2VzLWFjY2Vzc29yJ1xuaW1wb3J0IHsgQ29sdW1uc0FsdGVyYXRpb25TdGF0ZSB9IGZyb20gJy4uL21vZGVscy9jb2x1bW5zLWFsdGVyYXRpb24nXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERhdGF0YWJsZVByZWZlcmVuY2VzU2VydmljZSB7XG5cbiAgLy8gVE9ETzogUmVtb3ZlIHRoZSBuZWVkIGZvciB0aGlzIGludGVybmFsIHBlbmRpbmcgZmxhZy4gSSBvbmx5IGtlcHQgaXQgZm9yXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCB1bnRpbCBiZXR0ZXIgdGVzdHMgYXJlIGFkZGVkIHRvIG1ha2Ugc3VyZSBpZiBpc24ndFxuICAvLyBuZWNjZXNzYXJ5IGFueW1vcmUuXG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gcHJldmVudCBtdWx0aXBsZSB1cGRhdGVzIGZyb20gaGFwcGVuaW5nIGF0IHRoZSBzYW1lIHRpbWUsIGJ1dCBpdCBpcyBub3QgcGVyIGtleS5cbiAgICovXG4gIHByaXZhdGUgX3BlbmRpbmcgPSBmYWxzZVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3ByZWZlcmVuY2VzTWFuYWdlcjogVGhlU2VhbVByZWZlcmVuY2VzTWFuYWdlclNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChUSEVTRUFNX0RBVEFUQUJMRV9QUkVGRVJFTkNFU19BQ0NFU1NPUikgcHJpdmF0ZSBfcHJlZnNBY2Nlc3Nvcj86IFRoZVNlYW1QcmVmZXJlbmNlc0FjY2Vzc29yXG4gICkgeyB9XG5cbiAgcHVibGljIGlzUGVuZGluZyhwcmVmZXJlbmNlS2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcGVuZGluZyB8fCB0aGlzLl9wcmVmZXJlbmNlc01hbmFnZXIuaXNQZW5kaW5nKHByZWZlcmVuY2VLZXkpXG4gIH1cblxuICBwdWJsaWMgaXNMb2FkZWQocHJlZmVyZW5jZUtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuX3BlbmRpbmcpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fcHJlZmVyZW5jZXNNYW5hZ2VyLmlzTG9hZGVkKHByZWZlcmVuY2VLZXkpXG4gIH1cblxuICBwdWJsaWMgcHJlZmVyZW5jZXMocHJlZmVyZW5jZUtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUaGVTZWFtRGF0YXRhYmxlUHJlZmVyZW5jZXM+IHtcbiAgICBpZiAoIXRoaXMuX3ByZWZzQWNjZXNzb3IpIHtcbiAgICAgIHJldHVybiBvZihKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KEVNUFRZX0RBVEFUQUJMRV9QUkVGRVJFTkNFUykpKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9wcmVmZXJlbmNlc01hbmFnZXIucHJlZmVyZW5jZXMocHJlZmVyZW5jZUtleSwgdGhpcy5fcHJlZnNBY2Nlc3NvciwgRU1QVFlfREFUQVRBQkxFX1BSRUZFUkVOQ0VTKS5waXBlKFxuICAgICAgbWFwKHByZWZzID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX2lzVmFsaWREYXRhdGFibGVQcmVmZXJlbmNlcyhwcmVmcykpIHtcbiAgICAgICAgICByZXR1cm4gcHJlZnNcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBFcnJvcihgUHJlZmVyZW5jZXMgZm9yIGtleSAnJHtwcmVmZXJlbmNlS2V5fScgaXMgbm90IGEgdmFsaWQgZGF0YXRhYmxlIHByZWZlcmVuY2VzLmApXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIHB1YmxpYyByZWZyZXNoKHByZWZlcmVuY2VLZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX3ByZWZlcmVuY2VzTWFuYWdlci5yZWZyZXNoKHByZWZlcmVuY2VLZXkpXG4gIH1cblxuICBwdWJsaWMgc2V0QWx0ZXJhdGlvbnMocHJlZmVyZW5jZUtleTogc3RyaW5nLCBhbHRlcmF0aW9uczogQ29sdW1uc0FsdGVyYXRpb25TdGF0ZVtdKTogdm9pZCB7XG4gICAgICBpZiAoIXRoaXMuX3ByZWZzQWNjZXNzb3IpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIHRoaXMuX3BlbmRpbmcgPSB0cnVlXG4gICAgICB0aGlzLnByZWZlcmVuY2VzKHByZWZlcmVuY2VLZXkpLnBpcGUoXG4gICAgICAgIG1hcChwcmVmcyA9PiB7XG4gICAgICAgICAgLy8gTWFraW5nIHRoZSBwcmVmZXJlbmNlcyBpbW11dGFibGUgbWF5IG5vdCBiZSBuZWNlc3NhcnksIGJ1dCBmb3Igbm93XG4gICAgICAgICAgLy8gdGhpcyBvYmotPnN0ci0+b2JqIHdpbGwgd29yayBhcyBhIG5haXZlIGNsb25lLlxuICAgICAgICAgIC8vIGNvbnN0IGNvbHVtbnMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHByZWZzLmNvbHVtbnMgfHwgW10pKVxuICAgICAgICAgIC8vIGNvbnN0IF9jb2xQcmVmID0gY29sdW1ucy5maW5kKChjOiBhbnkpID0+IGMucHJvcCA9PT0gY29sdW1uLnByb3ApXG4gICAgICAgICAgLy8gLy8gY29uc29sZS5sb2coJ2hhcycsIF9jb2xQcmVmKVxuICAgICAgICAgIC8vIGlmIChfY29sUHJlZikge1xuICAgICAgICAgIC8vICAgLy8gY29uc29sZS5sb2coJ2hhc1Byb3BlcnR5KGNvbHVtbiwgXCJ3aWR0aFwiKSknLCBoYXNQcm9wZXJ0eShjb2x1bW4sICd3aWR0aCcpKVxuICAgICAgICAgIC8vICAgaWYgKGhhc1Byb3BlcnR5KGNvbHVtbiwgJ3dpZHRoJykpIHsgX2NvbFByZWYud2lkdGggPSBjb2x1bW4ud2lkdGggfVxuICAgICAgICAgIC8vICAgaWYgKGhhc1Byb3BlcnR5KGNvbHVtbiwgJ2NhbkF1dG9SZXNpemUnKSkgeyBfY29sUHJlZi5jYW5BdXRvUmVzaXplID0gY29sdW1uLmNhbkF1dG9SZXNpemUgfVxuICAgICAgICAgIC8vICAgaWYgKGhhc1Byb3BlcnR5KGNvbHVtbiwgJ2hpZGRlbicpKSB7IF9jb2xQcmVmLmhpZGRlbiA9IGNvbHVtbi5oaWRkZW4gfVxuICAgICAgICAgIC8vIH0gZWxzZSB7XG4gICAgICAgICAgLy8gICBjb2x1bW5zLnB1c2goeyAuLi5jb2x1bW4gfSlcbiAgICAgICAgICAvLyB9XG4gICAgICAgICAgLy8gY29uc3QgbmV3UHJlZnM6IFRoZVNlYW1EYXRhdGFibGVQcmVmZXJlbmNlcyA9IHsgLi4ucHJlZnMsIGNvbHVtbnMgfVxuICAgICAgICAgIC8vIHJldHVybiBuZXdQcmVmc1xuXG4gICAgICAgICAgY29uc3QgbmV3UHJlZnM6IFRoZVNlYW1EYXRhdGFibGVQcmVmZXJlbmNlcyA9IHtcbiAgICAgICAgICAgIC4uLkVNUFRZX0RBVEFUQUJMRV9QUkVGRVJFTkNFUyxcbiAgICAgICAgICAgIGFsdGVyYXRpb25zXG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuX3BlbmRpbmcgPSBmYWxzZVxuICAgICAgICAgIHJldHVybiBuZXdQcmVmc1xuICAgICAgICB9KSxcbiAgICAgICAgLy8gdGFwKHYgPT4gY29uc29sZS5sb2coJ25ld1ByZWZzJywgdikpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBzd2l0Y2hNYXAobmV3UHJlZnMgPT4gdGhpcy5fcHJlZnNBY2Nlc3NvclxuICAgICAgICAgID8gdGhpcy5fcHJlZnNBY2Nlc3Nvci51cGRhdGUocHJlZmVyZW5jZUtleSwgSlNPTi5zdHJpbmdpZnkobmV3UHJlZnMpKVxuICAgICAgICAgIDogb2YobmV3UHJlZnMpXG4gICAgICAgICksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLnJlZnJlc2gocHJlZmVyZW5jZUtleSkpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKClcbiAgfVxuXG4gIHByaXZhdGUgX2lzVmFsaWREYXRhdGFibGVQcmVmZXJlbmNlcyhwcmVmczogVGhlU2VhbVByZWZlcmVuY2VzQmFzZSk6IHByZWZzIGlzIFRoZVNlYW1EYXRhdGFibGVQcmVmZXJlbmNlcyB7XG4gICAgcmV0dXJuIHByZWZzLnZlcnNpb24gPT09IENVUlJFTlRfREFUQVRBQkxFX1BSRUZFUkVOQ0VTX1ZFUlNJT05cbiAgfVxuXG59XG4iXX0=
@@ -42,9 +42,9 @@ export class TheSeamDatatableScrollbarHelperService {
42
42
  });
43
43
  }
44
44
  }
45
- TheSeamDatatableScrollbarHelperService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamDatatableScrollbarHelperService, deps: [{ token: i0.NgZone }, { token: i1.OverlayScrollbarsService }], target: i0.ɵɵFactoryTarget.Injectable });
46
- TheSeamDatatableScrollbarHelperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamDatatableScrollbarHelperService });
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamDatatableScrollbarHelperService, decorators: [{
45
+ TheSeamDatatableScrollbarHelperService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamDatatableScrollbarHelperService, deps: [{ token: i0.NgZone }, { token: i1.OverlayScrollbarsService }], target: i0.ɵɵFactoryTarget.Injectable });
46
+ TheSeamDatatableScrollbarHelperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamDatatableScrollbarHelperService });
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamDatatableScrollbarHelperService, decorators: [{
48
48
  type: Injectable
49
49
  }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.OverlayScrollbarsService }]; } });
50
50
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLXNjcm9sbGJhci1oZWxwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUvc2VydmljZXMvZGF0YXRhYmxlLXNjcm9sbGJhci1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFBOzs7QUFLbEQsTUFBTSxPQUFPLHNDQUFzQztJQWFqRCxZQUNVLE9BQWUsRUFDZixXQUFxQztRQURyQyxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsZ0JBQVcsR0FBWCxXQUFXLENBQTBCO1FBYi9DLFVBQUssR0FBRyxDQUFDLENBQUE7UUFFVDs7Ozs7V0FLRztRQUNILHNCQUFpQixHQUFHLEtBQUssQ0FBQTtRQUN6QiwwQkFBcUIsR0FBRyxHQUFHLENBQUE7SUFLdkIsQ0FBQztJQUVMLGNBQWMsQ0FBQyxRQUFhO1FBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRTtZQUMxRCxTQUFTLEVBQUU7Z0JBQ1QsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFO29CQUNaLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTt3QkFDcEIsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtvQkFDeEIsQ0FBQyxDQUFDLENBQUE7Z0JBQ0osQ0FBQzthQUNGO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELGlCQUFpQixDQUFDLFFBQWE7UUFDN0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQzFELENBQUM7SUFFRCxTQUFTLENBQUMsUUFBYSxFQUFFLE9BQWU7UUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDbEMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7cUJBQ2pELE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQTthQUN0RDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO3FCQUNqRCxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTthQUMxQjtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7bUlBNUNVLHNDQUFzQzt1SUFBdEMsc0NBQXNDOzJGQUF0QyxzQ0FBc0M7a0JBRGxELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5pbXBvcnQgeyBPdmVybGF5U2Nyb2xsYmFyc1NlcnZpY2UgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vc2Nyb2xsYmFyJ1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGhlU2VhbURhdGF0YWJsZVNjcm9sbGJhckhlbHBlclNlcnZpY2Uge1xuXG4gIHdpZHRoID0gMFxuXG4gIC8qKlxuICAgKiBBbmltYXRlcyBwcm9ncmFtbWF0aWMgc2Nyb2xsaW5nLCBzdWNoIGFzIHN3aXRjaGluZyBwYWdlcy5cbiAgICpcbiAgICogTk9URTogQW5pbWF0aW5nIHRoZSBzY3JvbGxpbmcgd29ya3MsIGJ1dCB0aGUgZGF0YXRhYmxlIG1heSBuZWVkIGNoYW5nZXNcbiAgICogYmVmb3JlIHRoaXMgaXMgZW5hYmxlZCwgYmVjYXVzZSBpdCBzZWVtcyBhIGxpdHRsZSBzdHV0dGVyeSB3aGVuIGl0IG1vdmVzLlxuICAgKi9cbiAgYW5pbWF0ZWRTY3JvbGxpbmcgPSBmYWxzZVxuICBhbmltYXRlZFNjcm9sbGluZ1RpbWUgPSAyNTBcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIF9zY3JvbGxiYXJzOiBPdmVybGF5U2Nyb2xsYmFyc1NlcnZpY2VcbiAgKSB7IH1cblxuICBvbkluaXRTY3JvbGxlcihzY3JvbGxlcjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fc2Nyb2xsYmFycy5pbml0aWFsaXplSW5zdGFuY2Uoc2Nyb2xsZXIucGFyZW50RWxlbWVudCwge1xuICAgICAgY2FsbGJhY2tzOiB7XG4gICAgICAgIG9uU2Nyb2xsOiBlID0+IHtcbiAgICAgICAgICB0aGlzLl9uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIHNjcm9sbGVyLm9uU2Nyb2xsZWQoZSlcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIG9uRGVzdHJveVNjcm9sbGVyKHNjcm9sbGVyOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9zY3JvbGxiYXJzLmRlc3Ryb3lJbnN0YW5jZShzY3JvbGxlci5wYXJlbnRFbGVtZW50KVxuICB9XG5cbiAgc2V0T2Zmc2V0KHNjcm9sbGVyOiBhbnksIG9mZnNldFk6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBpZiAodGhpcy5hbmltYXRlZFNjcm9sbGluZykge1xuICAgICAgICB0aGlzLl9zY3JvbGxiYXJzLmdldEluc3RhbmNlKHNjcm9sbGVyLnBhcmVudEVsZW1lbnQpXG4gICAgICAgICAgLnNjcm9sbCh7IHk6IG9mZnNldFkgfSwgdGhpcy5hbmltYXRlZFNjcm9sbGluZ1RpbWUpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9zY3JvbGxiYXJzLmdldEluc3RhbmNlKHNjcm9sbGVyLnBhcmVudEVsZW1lbnQpXG4gICAgICAgICAgLnNjcm9sbCh7IHk6IG9mZnNldFkgfSlcbiAgICAgIH1cbiAgICB9KVxuICB9XG59XG4iXX0=
@@ -1,3 +1,3 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  export const THESEAM_DATATABLE_PREFERENCES_ACCESSOR = new InjectionToken('TheSeamDatatablePreferencesAccessor');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLXByZWZlcmVuY2VzLWFjY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2RhdGF0YWJsZS90b2tlbnMvZGF0YXRhYmxlLXByZWZlcmVuY2VzLWFjY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFJOUMsTUFBTSxDQUFDLE1BQU0sc0NBQXNDLEdBQUcsSUFBSSxjQUFjLENBQ3RFLHFDQUFxQyxDQUN0QyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5pbXBvcnQgeyBUaGVTZWFtRGF0YXRhYmxlUHJlZmVyZW5jZXNBY2Nlc3NvciB9IGZyb20gJy4uL21vZGVscy9wcmVmZXJlbmNlcy1hY2Nlc3NvcidcblxuZXhwb3J0IGNvbnN0IFRIRVNFQU1fREFUQVRBQkxFX1BSRUZFUkVOQ0VTX0FDQ0VTU09SID0gbmV3IEluamVjdGlvblRva2VuPFRoZVNlYW1EYXRhdGFibGVQcmVmZXJlbmNlc0FjY2Vzc29yPihcbiAgJ1RoZVNlYW1EYXRhdGFibGVQcmVmZXJlbmNlc0FjY2Vzc29yJ1xuKVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLXByZWZlcmVuY2VzLWFjY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2RhdGF0YWJsZS90b2tlbnMvZGF0YXRhYmxlLXByZWZlcmVuY2VzLWFjY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFJOUMsTUFBTSxDQUFDLE1BQU0sc0NBQXNDLEdBQUcsSUFBSSxjQUFjLENBQ3RFLHFDQUFxQyxDQUN0QyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5pbXBvcnQgeyBUaGVTZWFtUHJlZmVyZW5jZXNBY2Nlc3NvciB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9zZXJ2aWNlcydcblxuZXhwb3J0IGNvbnN0IFRIRVNFQU1fREFUQVRBQkxFX1BSRUZFUkVOQ0VTX0FDQ0VTU09SID0gbmV3IEluamVjdGlvblRva2VuPFRoZVNlYW1QcmVmZXJlbmNlc0FjY2Vzc29yPihcbiAgJ1RoZVNlYW1EYXRhdGFibGVQcmVmZXJlbmNlc0FjY2Vzc29yJ1xuKVxuIl19
@@ -105,9 +105,9 @@ export class DatatableDynamicActionMenuComponent {
105
105
  return 'button';
106
106
  }
107
107
  }
108
- DatatableDynamicActionMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DatatableDynamicActionMenuComponent, deps: [{ token: i1.DynamicValueHelperService }, { token: i2.DynamicDatatableRowActionsService }], target: i0.ɵɵFactoryTarget.Component });
109
- DatatableDynamicActionMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: DatatableDynamicActionMenuComponent, selector: "seam-datatable-dynamic-action-menu", inputs: { row: "row", actionDefs: "actionDefs" }, ngImport: i0, template: "<seam-menu #menu\n menuClass=\"list-group py-0 border-0 seam-datatable-action-menu\"\n animationType=\"fade\">\n\n <ng-container *ngFor=\"let record of _menuRecords$ | async\">\n\n <a *ngIf=\"record.elementType === 'a'\"\n seamMenuItem\n [seamDatatableDynamicActionMenuItem]=\"record\"\n class=\"list-group-item list-group-item-action py-1\">{{ record.rowAction.label }}</a>\n\n <button *ngIf=\"record.elementType === 'button'\"\n seamMenuItem\n [seamDatatableDynamicActionMenuItem]=\"record\"\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\">{{ record.rowAction.label }}</button>\n\n </ng-container>\n\n <!-- <ng-container *ngIf=\"(item.routerLink || item.href) && !item.confirmDialog; else noRouterLink\">\n <a *ngIf=\"item.href; else noHref\"\n seamMenuItem\n class=\"list-group-item list-group-item-action py-1\"\n [attr.href]=\"item.href\"\n [target]=\"item.target\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </a>\n <ng-template #noHref>\n <a seamMenuItem\n class=\"list-group-item list-group-item-action py-1\"\n [queryParams]=\"item.queryParams\"\n [fragment]=\"item.fragment\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"item.preserveFragment\"\n [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\"\n [state]=\"item.state\"\n [routerLink]=\"item.routerLink\"\n [target]=\"item.target\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </a>\n </ng-template>\n </ng-container>\n <ng-template #noRouterLink>\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </button>\n </ng-template>\n </ng-container> -->\n</seam-menu>\n\n<button type=\"button\" class=\"datatable-action-button btn\"\n [seamMenuToggle]=\"menu\"\n [positions]=\"$any(_actionMenuPositions)\"\n title=\"Row Actions\">\n <seam-icon [icon]=\"faEllipsisH\"></seam-icon>\n</button>\n", styles: [":host{display:block;position:relative}.datatable-action-button{font-size:20px;line-height:20px;width:30px;height:30px;padding:0;border-radius:15px;text-align:center}.datatable-action-button::ng-deep .svg-inline--fa{vertical-align:middle}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "component", type: i5.MenuComponent, selector: "seam-menu", inputs: ["menuClass", "baseWidth", "animationType"], outputs: ["closed"], exportAs: ["seamMenu"] }, { kind: "directive", type: i5.MenuToggleDirective, selector: "[seamMenuToggle]", inputs: ["seamMenuToggle", "positions"], outputs: ["menuOpened", "menuClosed"], exportAs: ["seamMenuToggle"] }, { kind: "component", type: i5.MenuItemComponent, selector: "[seamMenuItem]", inputs: ["disabled", "role", "icon", "iconClass", "sublevelIcon", "subLevelIconClass", "badgeText", "badgeTheme"], exportAs: ["seamMenuItem"] }, { kind: "directive", type: i6.DatatableDynamicActionMenuItemDirective, selector: "[seamDatatableDynamicActionMenuItem]", inputs: ["seamDatatableDynamicActionMenuItem"], exportAs: ["seamDatatableDynamicActionMenuItem"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DatatableDynamicActionMenuComponent, decorators: [{
108
+ DatatableDynamicActionMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableDynamicActionMenuComponent, deps: [{ token: i1.DynamicValueHelperService }, { token: i2.DynamicDatatableRowActionsService }], target: i0.ɵɵFactoryTarget.Component });
109
+ DatatableDynamicActionMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DatatableDynamicActionMenuComponent, selector: "seam-datatable-dynamic-action-menu", inputs: { row: "row", actionDefs: "actionDefs" }, ngImport: i0, template: "<seam-menu #menu\n menuClass=\"list-group py-0 border-0 seam-datatable-action-menu\"\n animationType=\"fade\">\n\n <ng-container *ngFor=\"let record of _menuRecords$ | async\">\n\n <a *ngIf=\"record.elementType === 'a'\"\n seamMenuItem\n [seamDatatableDynamicActionMenuItem]=\"record\"\n class=\"list-group-item list-group-item-action py-1\">{{ record.rowAction.label }}</a>\n\n <button *ngIf=\"record.elementType === 'button'\"\n seamMenuItem\n [seamDatatableDynamicActionMenuItem]=\"record\"\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\">{{ record.rowAction.label }}</button>\n\n </ng-container>\n\n <!-- <ng-container *ngIf=\"(item.routerLink || item.href) && !item.confirmDialog; else noRouterLink\">\n <a *ngIf=\"item.href; else noHref\"\n seamMenuItem\n class=\"list-group-item list-group-item-action py-1\"\n [attr.href]=\"item.href\"\n [target]=\"item.target\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </a>\n <ng-template #noHref>\n <a seamMenuItem\n class=\"list-group-item list-group-item-action py-1\"\n [queryParams]=\"item.queryParams\"\n [fragment]=\"item.fragment\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"item.preserveFragment\"\n [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\"\n [state]=\"item.state\"\n [routerLink]=\"item.routerLink\"\n [target]=\"item.target\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </a>\n </ng-template>\n </ng-container>\n <ng-template #noRouterLink>\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </button>\n </ng-template>\n </ng-container> -->\n</seam-menu>\n\n<button type=\"button\" class=\"datatable-action-button btn\"\n [seamMenuToggle]=\"menu\"\n [positions]=\"$any(_actionMenuPositions)\"\n title=\"Row Actions\">\n <seam-icon [icon]=\"faEllipsisH\"></seam-icon>\n</button>\n", styles: [":host{display:block;position:relative}.datatable-action-button{font-size:20px;line-height:20px;width:30px;height:30px;padding:0;border-radius:15px;text-align:center}.datatable-action-button::ng-deep .svg-inline--fa{vertical-align:middle}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "component", type: i5.MenuComponent, selector: "seam-menu", inputs: ["menuClass", "baseWidth", "animationType"], outputs: ["closed"], exportAs: ["seamMenu"] }, { kind: "directive", type: i5.MenuToggleDirective, selector: "[seamMenuToggle]", inputs: ["seamMenuToggle", "positions"], outputs: ["menuOpened", "menuClosed"], exportAs: ["seamMenuToggle"] }, { kind: "component", type: i5.MenuItemComponent, selector: "[seamMenuItem]", inputs: ["disabled", "role", "icon", "iconClass", "sublevelIcon", "subLevelIconClass", "badgeText", "badgeTheme"], exportAs: ["seamMenuItem"] }, { kind: "directive", type: i6.DatatableDynamicActionMenuItemDirective, selector: "[seamDatatableDynamicActionMenuItem]", inputs: ["seamDatatableDynamicActionMenuItem"], exportAs: ["seamDatatableDynamicActionMenuItem"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableDynamicActionMenuComponent, decorators: [{
111
111
  type: Component,
112
112
  args: [{ selector: 'seam-datatable-dynamic-action-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<seam-menu #menu\n menuClass=\"list-group py-0 border-0 seam-datatable-action-menu\"\n animationType=\"fade\">\n\n <ng-container *ngFor=\"let record of _menuRecords$ | async\">\n\n <a *ngIf=\"record.elementType === 'a'\"\n seamMenuItem\n [seamDatatableDynamicActionMenuItem]=\"record\"\n class=\"list-group-item list-group-item-action py-1\">{{ record.rowAction.label }}</a>\n\n <button *ngIf=\"record.elementType === 'button'\"\n seamMenuItem\n [seamDatatableDynamicActionMenuItem]=\"record\"\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\">{{ record.rowAction.label }}</button>\n\n </ng-container>\n\n <!-- <ng-container *ngIf=\"(item.routerLink || item.href) && !item.confirmDialog; else noRouterLink\">\n <a *ngIf=\"item.href; else noHref\"\n seamMenuItem\n class=\"list-group-item list-group-item-action py-1\"\n [attr.href]=\"item.href\"\n [target]=\"item.target\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </a>\n <ng-template #noHref>\n <a seamMenuItem\n class=\"list-group-item list-group-item-action py-1\"\n [queryParams]=\"item.queryParams\"\n [fragment]=\"item.fragment\"\n [queryParamsHandling]=\"item.queryParamsHandling\"\n [preserveFragment]=\"item.preserveFragment\"\n [skipLocationChange]=\"item.skipLocationChange\"\n [replaceUrl]=\"item.replaceUrl\"\n [state]=\"item.state\"\n [routerLink]=\"item.routerLink\"\n [target]=\"item.target\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </a>\n </ng-template>\n </ng-container>\n <ng-template #noRouterLink>\n <button seamMenuItem\n type=\"button\"\n class=\"list-group-item list-group-item-action py-1\"\n (click)=\"activateItem($event, item)\">\n {{ item.label }}\n </button>\n </ng-template>\n </ng-container> -->\n</seam-menu>\n\n<button type=\"button\" class=\"datatable-action-button btn\"\n [seamMenuToggle]=\"menu\"\n [positions]=\"$any(_actionMenuPositions)\"\n title=\"Row Actions\">\n <seam-icon [icon]=\"faEllipsisH\"></seam-icon>\n</button>\n", styles: [":host{display:block;position:relative}.datatable-action-button{font-size:20px;line-height:20px;width:30px;height:30px;padding:0;border-radius:15px;text-align:center}.datatable-action-button::ng-deep .svg-inline--fa{vertical-align:middle}\n"] }]
113
113
  }], ctorParameters: function () { return [{ type: i1.DynamicValueHelperService }, { type: i2.DynamicDatatableRowActionsService }]; }, propDecorators: { row: [{
@@ -37,9 +37,9 @@ export class DatatableDynamicFilterContainerComponent {
37
37
  ]));
38
38
  }
39
39
  }
40
- DatatableDynamicFilterContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DatatableDynamicFilterContainerComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
41
- DatatableDynamicFilterContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: DatatableDynamicFilterContainerComponent, selector: "seam-datatable-dynamic-filter-container", inputs: { filterComponent: "filterComponent", options: "options" }, ngImport: i0, template: "<ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DatatableDynamicFilterContainerComponent, decorators: [{
40
+ DatatableDynamicFilterContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableDynamicFilterContainerComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
41
+ DatatableDynamicFilterContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DatatableDynamicFilterContainerComponent, selector: "seam-datatable-dynamic-filter-container", inputs: { filterComponent: "filterComponent", options: "options" }, ngImport: i0, template: "<ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableDynamicFilterContainerComponent, decorators: [{
43
43
  type: Component,
44
44
  args: [{ selector: 'seam-datatable-dynamic-filter-container', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\n", styles: [":host{display:block}\n"] }]
45
45
  }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { filterComponent: [{
@@ -132,9 +132,9 @@ export class DatatableDynamicMenuBarContentComponent {
132
132
  }
133
133
  }
134
134
  }
135
- DatatableDynamicMenuBarContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DatatableDynamicMenuBarContentComponent, deps: [{ token: i1.DynamicValueHelperService }, { token: i2.TheSeamDynamicComponentLoader }, { token: i0.Injector }, { token: THESEAM_DATATABLE_DYNAMIC_MENUBAR_ITEM, optional: true }], target: i0.ɵɵFactoryTarget.Component });
136
- DatatableDynamicMenuBarContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: DatatableDynamicMenuBarContentComponent, selector: "seam-datatable-dynamic-menu-bar-content", inputs: { def: "def" }, ngImport: i0, template: "<seam-datatable-menu-bar-row *ngFor=\"let row of _rows$ | async; last as isLast\"\n [class.mb-2]=\"!isLast\"\n [ngClass]=\"$any(row.cssClass)\"\n [ngStyle]=\"$any(row.styles)\">\n <ng-container *ngIf=\"row.layoutType === 'tri-column'\">\n <seam-datatable-menu-bar-column-left *ngIf=\"row.layout?.columnLeft\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnLeft?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnLeft?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-left>\n <seam-datatable-menu-bar-column-center *ngIf=\"row.layout?.columnCenter\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnCenter?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnCenter?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-center>\n <seam-datatable-menu-bar-column-right *ngIf=\"row.layout?.columnRight\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnRight?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnRight?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-right>\n </ng-container>\n</seam-datatable-menu-bar-row>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.DatatableMenuBarRowComponent, selector: "seam-datatable-menu-bar-row" }, { kind: "component", type: i4.DatatableMenuBarColumnLeftComponent, selector: "seam-datatable-menu-bar-column-left" }, { kind: "component", type: i4.DatatableMenuBarColumnCenterComponent, selector: "seam-datatable-menu-bar-column-center" }, { kind: "component", type: i4.DatatableMenuBarColumnRightComponent, selector: "seam-datatable-menu-bar-column-right" }, { kind: "directive", type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DatatableDynamicMenuBarContentComponent, decorators: [{
135
+ DatatableDynamicMenuBarContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableDynamicMenuBarContentComponent, deps: [{ token: i1.DynamicValueHelperService }, { token: i2.TheSeamDynamicComponentLoader }, { token: i0.Injector }, { token: THESEAM_DATATABLE_DYNAMIC_MENUBAR_ITEM, optional: true }], target: i0.ɵɵFactoryTarget.Component });
136
+ DatatableDynamicMenuBarContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DatatableDynamicMenuBarContentComponent, selector: "seam-datatable-dynamic-menu-bar-content", inputs: { def: "def" }, ngImport: i0, template: "<seam-datatable-menu-bar-row *ngFor=\"let row of _rows$ | async; last as isLast\"\n [class.mb-2]=\"!isLast\"\n [ngClass]=\"$any(row.cssClass)\"\n [ngStyle]=\"$any(row.styles)\">\n <ng-container *ngIf=\"row.layoutType === 'tri-column'\">\n <seam-datatable-menu-bar-column-left *ngIf=\"row.layout?.columnLeft\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnLeft?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnLeft?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-left>\n <seam-datatable-menu-bar-column-center *ngIf=\"row.layout?.columnCenter\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnCenter?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnCenter?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-center>\n <seam-datatable-menu-bar-column-right *ngIf=\"row.layout?.columnRight\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnRight?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnRight?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-right>\n </ng-container>\n</seam-datatable-menu-bar-row>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.DatatableMenuBarRowComponent, selector: "seam-datatable-menu-bar-row" }, { kind: "component", type: i4.DatatableMenuBarColumnLeftComponent, selector: "seam-datatable-menu-bar-column-left" }, { kind: "component", type: i4.DatatableMenuBarColumnCenterComponent, selector: "seam-datatable-menu-bar-column-center" }, { kind: "component", type: i4.DatatableMenuBarColumnRightComponent, selector: "seam-datatable-menu-bar-column-right" }, { kind: "directive", type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableDynamicMenuBarContentComponent, decorators: [{
138
138
  type: Component,
139
139
  args: [{ selector: 'seam-datatable-dynamic-menu-bar-content', changeDetection: ChangeDetectionStrategy.OnPush, template: "<seam-datatable-menu-bar-row *ngFor=\"let row of _rows$ | async; last as isLast\"\n [class.mb-2]=\"!isLast\"\n [ngClass]=\"$any(row.cssClass)\"\n [ngStyle]=\"$any(row.styles)\">\n <ng-container *ngIf=\"row.layoutType === 'tri-column'\">\n <seam-datatable-menu-bar-column-left *ngIf=\"row.layout?.columnLeft\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnLeft?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnLeft?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-left>\n <seam-datatable-menu-bar-column-center *ngIf=\"row.layout?.columnCenter\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnCenter?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnCenter?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-center>\n <seam-datatable-menu-bar-column-right *ngIf=\"row.layout?.columnRight\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnRight?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnRight?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-right>\n </ng-container>\n</seam-datatable-menu-bar-row>\n" }]
140
140
  }], ctorParameters: function () { return [{ type: i1.DynamicValueHelperService }, { type: i2.TheSeamDynamicComponentLoader }, { type: i0.Injector }, { type: undefined, decorators: [{
@@ -58,12 +58,12 @@ export class DatatableDynamicComponent {
58
58
  this._tmp_rows$ = this._dynamicDef.def$.pipe(map(def => def ? def.rows : []));
59
59
  }
60
60
  }
61
- DatatableDynamicComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DatatableDynamicComponent, deps: [{ token: i1.DynamicDatatableDefService }], target: i0.ɵɵFactoryTarget.Component });
62
- DatatableDynamicComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: DatatableDynamicComponent, selector: "seam-datatable-dynamic", inputs: { def: "def" }, providers: [
61
+ DatatableDynamicComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableDynamicComponent, deps: [{ token: i1.DynamicDatatableDefService }], target: i0.ɵɵFactoryTarget.Component });
62
+ DatatableDynamicComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DatatableDynamicComponent, selector: "seam-datatable-dynamic", inputs: { def: "def" }, providers: [
63
63
  DynamicDatatableDefService,
64
64
  DynamicDatatableRowActionsService
65
65
  ], ngImport: i0, template: "<ng-container *ngIf=\"_hasDef$ | async\">\n <seam-datatable *ngIf=\"_options$ | async as opts\"\n class=\"w-100 h-100\"\n [columns]=\"_tmp_columns$ | async\"\n [rows]=\"_tmp_rows$ | async\"\n [virtualization]=\"opts.virtualization\">\n\n <seam-datatable-menu-bar *ngIf=\"menuBar$ | async as menuBar\">\n <seam-datatable-dynamic-menu-bar-content [def]=\"menuBar\"></seam-datatable-dynamic-menu-bar-content>\n </seam-datatable-menu-bar>\n <!-- <seam-datatable-menu-bar *ngIf=\"_hasFilterMenu$ | async\">\n <div class=\"d-flex flex-row pb-2\">\n <div class=\"d-flex flex-row justify-content-end flex-grow-1\">\n <seam-data-filter-search seamDatatableFilter *ngIf=\"_hasFullSearch$\"></seam-data-filter-search>\n </div>\n </div>\n <div class=\"d-flex flex-row\">\n <div class=\"d-flex justify-content-center flex-grow-1\">\n <ng-container *ngFor=\"let r of _commonFilterMenuItems$ | async; let isFirst = first\">\n <seam-datatable-dynamic-filter-container\n [class.ml-1]=\"!isFirst\"\n [filterComponent]=\"r.component\"\n [options]=\"r.options\">\n </seam-datatable-dynamic-filter-container>\n </ng-container>\n </div>\n <seam-datatable-export-button *ngIf=\"_exporters$ | async as exporters\"\n [exporters]=\"exporters\">\n </seam-datatable-export-button>\n </div>\n </seam-datatable-menu-bar> -->\n\n <ng-template seamDatatableRowActionItem let-row>\n <seam-datatable-dynamic-action-menu [row]=\"row\"></seam-datatable-dynamic-action-menu>\n </ng-template>\n\n </seam-datatable>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.DatatableComponent, selector: "seam-datatable", inputs: ["preferencesKey", "targetMarkerTemplate", "columns", "rows", "columnMode", "groupRowsBy", "groupedRows", "selected", "externalPaging", "externalSorting", "externalFiltering", "limit", "count", "offset", "loadingIndicator", "selectionType", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "rowIdentity", "rowClass", "selectCheck", "displayCheck", "groupExpansionDefault", "trackByProp", "selectAllRowsOnPage", "treeFromRelation", "treeToRelation", "summaryRow", "summaryHeight", "summaryPosition", "virtualization", "headerHeight", "rowHeight", "footerHeight", "scrollbarV", "scrollbarH", "dataSource"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction", "actionRefreshRequest", "hiddenColumnsChange"] }, { kind: "component", type: i3.DatatableMenuBarComponent, selector: "seam-datatable-menu-bar" }, { kind: "directive", type: i3.DatatableRowActionItemDirective, selector: "[seamDatatableRowActionItem]" }, { kind: "component", type: i4.DatatableDynamicActionMenuComponent, selector: "seam-datatable-dynamic-action-menu", inputs: ["row", "actionDefs"] }, { kind: "component", type: i5.DatatableDynamicMenuBarContentComponent, selector: "seam-datatable-dynamic-menu-bar-content", inputs: ["def"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DatatableDynamicComponent, decorators: [{
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableDynamicComponent, decorators: [{
67
67
  type: Component,
68
68
  args: [{ selector: 'seam-datatable-dynamic', providers: [
69
69
  DynamicDatatableDefService,
@@ -18,8 +18,8 @@ import { DatatableDynamicActionMenuItemDirective } from './directives/datatable-
18
18
  import * as i0 from "@angular/core";
19
19
  export class TheSeamDatatableDynamicModule {
20
20
  }
21
- TheSeamDatatableDynamicModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamDatatableDynamicModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
22
- TheSeamDatatableDynamicModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: TheSeamDatatableDynamicModule, declarations: [DatatableDynamicComponent,
21
+ TheSeamDatatableDynamicModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamDatatableDynamicModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
22
+ TheSeamDatatableDynamicModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: TheSeamDatatableDynamicModule, declarations: [DatatableDynamicComponent,
23
23
  DatatableDynamicFilterContainerComponent,
24
24
  DatatableDynamicActionMenuComponent,
25
25
  DatatableDynamicActionMenuItemDirective,
@@ -36,7 +36,7 @@ TheSeamDatatableDynamicModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14
36
36
  TheSeamButtonsModule], exports: [DatatableDynamicComponent,
37
37
  TheSeamDatatableModule,
38
38
  DatatableDynamicActionMenuItemDirective] });
39
- TheSeamDatatableDynamicModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamDatatableDynamicModule, imports: [CommonModule,
39
+ TheSeamDatatableDynamicModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamDatatableDynamicModule, imports: [CommonModule,
40
40
  TheSeamSharedModule,
41
41
  TheSeamDatatableModule,
42
42
  TheSeamTableCellTypesModule,
@@ -47,7 +47,7 @@ TheSeamDatatableDynamicModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12
47
47
  RouterModule,
48
48
  TheSeamMenuModule,
49
49
  TheSeamButtonsModule, TheSeamDatatableModule] });
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamDatatableDynamicModule, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TheSeamDatatableDynamicModule, decorators: [{
51
51
  type: NgModule,
52
52
  args: [{
53
53
  declarations: [
@@ -386,9 +386,9 @@ export class DatatableDynamicActionMenuItemDirective {
386
386
  toggleAttribute(element, 'disabled', invalid);
387
387
  }
388
388
  }
389
- DatatableDynamicActionMenuItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DatatableDynamicActionMenuItemDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.DynamicValueHelperService }, { token: i1.DynamicActionHelperService }, { token: i2.AssetReaderHelperService }, { token: i3.Router }, { token: i3.ActivatedRoute }, { token: i4.LocationStrategy }], target: i0.ɵɵFactoryTarget.Directive });
390
- DatatableDynamicActionMenuItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: DatatableDynamicActionMenuItemDirective, selector: "[seamDatatableDynamicActionMenuItem]", inputs: { seamDatatableDynamicActionMenuItem: "seamDatatableDynamicActionMenuItem" }, exportAs: ["seamDatatableDynamicActionMenuItem"], usesOnChanges: true, ngImport: i0 });
391
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DatatableDynamicActionMenuItemDirective, decorators: [{
389
+ DatatableDynamicActionMenuItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableDynamicActionMenuItemDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.DynamicValueHelperService }, { token: i1.DynamicActionHelperService }, { token: i2.AssetReaderHelperService }, { token: i3.Router }, { token: i3.ActivatedRoute }, { token: i4.LocationStrategy }], target: i0.ɵɵFactoryTarget.Directive });
390
+ DatatableDynamicActionMenuItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: DatatableDynamicActionMenuItemDirective, selector: "[seamDatatableDynamicActionMenuItem]", inputs: { seamDatatableDynamicActionMenuItem: "seamDatatableDynamicActionMenuItem" }, exportAs: ["seamDatatableDynamicActionMenuItem"], usesOnChanges: true, ngImport: i0 });
391
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DatatableDynamicActionMenuItemDirective, decorators: [{
392
392
  type: Directive,
393
393
  args: [{
394
394
  selector: '[seamDatatableDynamicActionMenuItem]',
@@ -74,9 +74,9 @@ export class DynamicDatatableDefService {
74
74
  .filter(notNullOrUndefined);
75
75
  }
76
76
  }
77
- DynamicDatatableDefService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicDatatableDefService, deps: [{ token: THESEAM_DATA_EXPORTER }, { token: THESEAM_DATA_FILTER_DEF }, { token: i1.DynamicValueHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
78
- DynamicDatatableDefService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicDatatableDefService });
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicDatatableDefService, decorators: [{
77
+ DynamicDatatableDefService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicDatatableDefService, deps: [{ token: THESEAM_DATA_EXPORTER }, { token: THESEAM_DATA_FILTER_DEF }, { token: i1.DynamicValueHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
78
+ DynamicDatatableDefService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicDatatableDefService });
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicDatatableDefService, decorators: [{
80
80
  type: Injectable
81
81
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
82
82
  type: Inject,
@@ -38,9 +38,9 @@ export class DynamicDatatableRowActionsService {
38
38
  };
39
39
  }
40
40
  }
41
- DynamicDatatableRowActionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicDatatableRowActionsService, deps: [{ token: i1.DynamicValueHelperService }, { token: i2.DynamicDatatableDefService }], target: i0.ɵɵFactoryTarget.Injectable });
42
- DynamicDatatableRowActionsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicDatatableRowActionsService });
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicDatatableRowActionsService, decorators: [{
41
+ DynamicDatatableRowActionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicDatatableRowActionsService, deps: [{ token: i1.DynamicValueHelperService }, { token: i2.DynamicDatatableDefService }], target: i0.ɵɵFactoryTarget.Injectable });
42
+ DynamicDatatableRowActionsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicDatatableRowActionsService });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicDatatableRowActionsService, decorators: [{
44
44
  type: Injectable
45
45
  }], ctorParameters: function () { return [{ type: i1.DynamicValueHelperService }, { type: i2.DynamicDatatableDefService }]; } });
46
46
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1kYXRhdGFibGUtcm93LWFjdGlvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUtZHluYW1pYy9keW5hbWljLWRhdGF0YWJsZS1yb3ctYWN0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFHeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7Ozs7QUFRN0QsTUFBTSxPQUFPLGlDQUFpQztJQUU1QyxZQUNVLFlBQXVDLEVBQ3ZDLFdBQXVDO1FBRHZDLGlCQUFZLEdBQVosWUFBWSxDQUEyQjtRQUN2QyxnQkFBVyxHQUFYLFdBQVcsQ0FBNEI7SUFDN0MsQ0FBQztJQUVMOztPQUVHO0lBQ0ksVUFBVSxDQUFDLEdBQXdCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUMvQixHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDL0QsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVTtZQUNoQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDckIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUNkLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsRUFBRTtvQkFDN0QsSUFBSSxPQUFPLFNBQVMsQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFO3dCQUN6QyxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO3FCQUNoRDt5QkFBTTt3QkFDTCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFBO3dCQUN6RCx1QkFBdUI7d0JBQ3ZCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUE7d0JBQ3RFLE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtxQkFDeEM7aUJBQ0Y7Z0JBQ0QsT0FBTyxTQUFTLENBQUE7WUFDbEIsQ0FBQyxDQUFDLEVBQ0YsT0FBTyxFQUFFLEVBQ1QsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQ3ZDO1lBQ0QsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FDVCxDQUNGLENBQUE7SUFDSCxDQUFDO0lBRUQsY0FBYztJQUNOLG9CQUFvQixDQUFDLEdBQXdCLEVBQUUsWUFBdUM7UUFDNUYsT0FBTztZQUNMLEdBQUc7U0FDSixDQUFBO0lBQ0gsQ0FBQzs7OEhBekNVLGlDQUFpQztrSUFBakMsaUNBQWlDOzJGQUFqQyxpQ0FBaUM7a0JBRDdDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IG1hcCwgc3dpdGNoTWFwLCB0b0FycmF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbmltcG9ydCB7IER5bmFtaWNWYWx1ZUhlbHBlclNlcnZpY2UgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZHluYW1pYydcbmltcG9ydCB7IG5vdE51bGxPclVuZGVmaW5lZCB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi91dGlscydcblxuaW1wb3J0IHsgRHluYW1pY0RhdGF0YWJsZVJvdyB9IGZyb20gJy4vZGF0YXRhYmxlLWR5bmFtaWMtZGVmJ1xuaW1wb3J0IHsgRHluYW1pY0RhdGF0YWJsZURlZlNlcnZpY2UgfSBmcm9tICcuL2R5bmFtaWMtZGF0YXRhYmxlLWRlZi5zZXJ2aWNlJ1xuaW1wb3J0IHsgRHluYW1pY0RhdGF0YWJsZVJvd0FjdGlvbiB9IGZyb20gJy4vbW9kZWxzL2R5bmFtaWMtZGF0YXRhYmxlLXJvdy1hY3Rpb24nXG5pbXBvcnQgeyBEeW5hbWljRGF0YXRhYmxlUm93QWN0aW9uQ29udGV4dCB9IGZyb20gJy4vbW9kZWxzL2R5bmFtaWMtZGF0YXRhYmxlLXJvdy1hY3Rpb24tY29udGV4dCdcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIER5bmFtaWNEYXRhdGFibGVSb3dBY3Rpb25zU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfdmFsdWVIZWxwZXI6IER5bmFtaWNWYWx1ZUhlbHBlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfZHluYW1pY0RlZjogRHluYW1pY0RhdGF0YWJsZURlZlNlcnZpY2VcbiAgKSB7IH1cblxuICAvKipcbiAgICogT2JzZXJ2ZSBhY3Rpb25zIGZvciBzcGVjaWZpZWQgcm93XG4gICAqL1xuICBwdWJsaWMgcm93QWN0aW9ucyhyb3c6IER5bmFtaWNEYXRhdGFibGVSb3cpOiBPYnNlcnZhYmxlPER5bmFtaWNEYXRhdGFibGVSb3dBY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLl9keW5hbWljRGVmLmRlZiQucGlwZShcbiAgICAgIG1hcChkZWYgPT4gKGRlZiAmJiBkZWYucm93QWN0aW9ucykgPyBkZWYucm93QWN0aW9ucyB8fCBbXSA6IFtdKSxcbiAgICAgIHN3aXRjaE1hcChyb3dBY3Rpb25zID0+IHJvd0FjdGlvbnNcbiAgICAgICAgPyBmcm9tKHJvd0FjdGlvbnMpLnBpcGUoXG4gICAgICAgICAgbWFwKHJvd0FjdGlvbiA9PiB7XG4gICAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHJvd0FjdGlvbiwgJ2hpZGRlbicpKSB7XG4gICAgICAgICAgICAgIGlmICh0eXBlb2Ygcm93QWN0aW9uLmhpZGRlbiA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJvd0FjdGlvbi5oaWRkZW4gPyB1bmRlZmluZWQgOiByb3dBY3Rpb25cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5fZ2V0Um93QWN0aW9uQ29udGV4dChyb3csIHJvd0FjdGlvbilcbiAgICAgICAgICAgICAgICAvLyBUT0RPOiBGaXggYXN5bmMgZXZhbFxuICAgICAgICAgICAgICAgIGNvbnN0IGlzSGlkZGVuID0gdGhpcy5fdmFsdWVIZWxwZXIuZXZhbFN5bmMocm93QWN0aW9uLmhpZGRlbiwgY29udGV4dClcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNIaWRkZW4gPyB1bmRlZmluZWQgOiByb3dBY3Rpb25cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJvd0FjdGlvblxuICAgICAgICAgIH0pLFxuICAgICAgICAgIHRvQXJyYXkoKSxcbiAgICAgICAgICBtYXAodiA9PiB2LmZpbHRlcihub3ROdWxsT3JVbmRlZmluZWQpKVxuICAgICAgICApXG4gICAgICAgIDogb2YoW10pXG4gICAgICApXG4gICAgKVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSBfZ2V0Um93QWN0aW9uQ29udGV4dChyb3c6IER5bmFtaWNEYXRhdGFibGVSb3csIHJvd0FjdGlvbkRlZjogRHluYW1pY0RhdGF0YWJsZVJvd0FjdGlvbik6IER5bmFtaWNEYXRhdGFibGVSb3dBY3Rpb25Db250ZXh0IHtcbiAgICByZXR1cm4ge1xuICAgICAgcm93XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
@@ -194,9 +194,9 @@ export class DynamicActionApiService {
194
194
  return true;
195
195
  }
196
196
  }
197
- DynamicActionApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicActionApiService, deps: [{ token: i1.DynamicValueHelperService }, { token: i2.HttpClient, optional: true }, { token: THESEAM_API_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
198
- DynamicActionApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicActionApiService });
199
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicActionApiService, decorators: [{
197
+ DynamicActionApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicActionApiService, deps: [{ token: i1.DynamicValueHelperService }, { token: i2.HttpClient, optional: true }, { token: THESEAM_API_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
198
+ DynamicActionApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicActionApiService });
199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicActionApiService, decorators: [{
200
200
  type: Injectable
201
201
  }], ctorParameters: function () { return [{ type: i1.DynamicValueHelperService }, { type: i2.HttpClient, decorators: [{
202
202
  type: Optional
@@ -140,9 +140,9 @@ export class DynamicActionHelperService {
140
140
  return modalDef.afterClosed().pipe(map(v => v === 'confirm')).toPromise().then(x => x ?? false);
141
141
  }
142
142
  }
143
- DynamicActionHelperService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicActionHelperService, deps: [{ token: i1.DynamicValueHelperService }, { token: i2.SeamConfirmDialogService, optional: true }, { token: THESEAM_DYNAMIC_ACTION, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
144
- DynamicActionHelperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicActionHelperService, providedIn: 'root' });
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicActionHelperService, decorators: [{
143
+ DynamicActionHelperService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicActionHelperService, deps: [{ token: i1.DynamicValueHelperService }, { token: i2.SeamConfirmDialogService, optional: true }, { token: THESEAM_DYNAMIC_ACTION, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
144
+ DynamicActionHelperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicActionHelperService, providedIn: 'root' });
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicActionHelperService, decorators: [{
146
146
  type: Injectable,
147
147
  args: [{
148
148
  providedIn: 'root'
@@ -39,9 +39,9 @@ export class DynamicActionLinkService {
39
39
  return def;
40
40
  }
41
41
  }
42
- DynamicActionLinkService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicActionLinkService, deps: [{ token: i1.DynamicValueHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
43
- DynamicActionLinkService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicActionLinkService });
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicActionLinkService, decorators: [{
42
+ DynamicActionLinkService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicActionLinkService, deps: [{ token: i1.DynamicValueHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
43
+ DynamicActionLinkService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicActionLinkService });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicActionLinkService, decorators: [{
45
45
  type: Injectable
46
46
  }], ctorParameters: function () { return [{ type: i1.DynamicValueHelperService }]; } });
47
47
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1hY3Rpb24tbGluay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2R5bmFtaWMvYWN0aW9uL2xpbmsvZHluYW1pYy1hY3Rpb24tbGluay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7OztBQU8xQzs7R0FFRztBQUVILE1BQU0sT0FBTyx3QkFBd0I7SUFNbkMsWUFDVSxhQUF3QztRQUF4QyxrQkFBYSxHQUFiLGFBQWEsQ0FBMkI7UUFMekMsU0FBSSxHQUFHLE1BQU0sQ0FBQTtRQUV0QixVQUFLLEdBQUcsYUFBYSxDQUFBO0lBSWpCLENBQUM7SUFFTCxtRUFBbUU7SUFFbkUsMkRBQTJEO0lBRXBELEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBMEIsRUFBRSxPQUFZO1FBQzlELE1BQU0sSUFBSSxHQUFXLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzdELE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUE7UUFDakUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUMzRCxNQUFNLE1BQU0sR0FBdUIsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDN0UsTUFBTSxXQUFXLEdBQXFDLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBRXJHLE1BQU0sR0FBRyxHQUE2QjtZQUNwQyxVQUFVLEVBQUUsSUFBSTtZQUNoQixXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxNQUFNO1lBQ3ZFLE9BQU8sRUFBRSxJQUFJO1lBQ2Isc0dBQXNHO1NBQ3ZHLENBQUE7UUFFRCxJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFO2dCQUFFLEdBQUcsQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFBO2FBQUU7WUFDNUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1NBQy9CO1FBRUQsSUFBSSxXQUFXLEVBQUU7WUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRTtnQkFBRSxHQUFHLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQTthQUFFO1lBQzVDLEdBQUcsQ0FBQyxVQUFVLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQTtTQUN6QztRQUVELE9BQU8sR0FBRyxDQUFBO0lBQ1osQ0FBQzs7cUhBdkNVLHdCQUF3Qjt5SEFBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuaW1wb3J0IHsgRHluYW1pY1ZhbHVlSGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uL2R5bmFtaWMtdmFsdWUtaGVscGVyLnNlcnZpY2UnXG5pbXBvcnQgeyBEeW5hbWljQWN0aW9uVWlBbmNob3JEZWYgfSBmcm9tICcuLi8uLi9tb2RlbHMvZHluYW1pYy1hY3Rpb24tdWktYW5jaG9yLWRlZidcbmltcG9ydCB7IER5bmFtaWNBY3Rpb25MaW5rIH0gZnJvbSAnLi9keW5hbWljLWFjdGlvbi1saW5rJ1xuaW1wb3J0IHsgRHluYW1pY0FjdGlvbkxpbmtEZWYgfSBmcm9tICcuL2R5bmFtaWMtYWN0aW9uLWxpbmstZGVmJ1xuXG4vKipcbiAqIEhhbmRsZXMgZXhlY3V0aW9uIG9mIGxpbmsgYWN0aW9ucy5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIER5bmFtaWNBY3Rpb25MaW5rU2VydmljZSBpbXBsZW1lbnRzIER5bmFtaWNBY3Rpb25MaW5rIHtcblxuICByZWFkb25seSB0eXBlID0gJ2xpbmsnXG5cbiAgbGFiZWwgPSAnTGluayBBY3Rpb24nXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfdmFsdWVIYW5kbGVyOiBEeW5hbWljVmFsdWVIZWxwZXJTZXJ2aWNlXG4gICkgeyB9XG5cbiAgLy8gZXhlYz86IChhcmdzOiBJRHluYW1pY0FjdGlvbkRlZjxUPiwgY29udGV4dDogRCkgPT4gT2JzZXJ2YWJsZTxSPlxuXG4gIC8vIGV4ZWNTeW5jPzogKGFyZ3M6IElEeW5hbWljQWN0aW9uRGVmPFQ+LCBjb250ZXh0OiBEKSA9PiBSXG5cbiAgcHVibGljIGFzeW5jIGdldFVpUHJvcHMoYXJnczogRHluYW1pY0FjdGlvbkxpbmtEZWYsIGNvbnRleHQ6IGFueSk6IFByb21pc2U8RHluYW1pY0FjdGlvblVpQW5jaG9yRGVmPiB7XG4gICAgY29uc3QgbGluazogc3RyaW5nID0gYXdhaXQgdGhpcy5fdmFsdWVIYW5kbGVyLmV2YWwoYXJncy5saW5rKVxuICAgIGNvbnN0IGV4dGVybmFsID0gISEoYXdhaXQgdGhpcy5fdmFsdWVIYW5kbGVyLmV2YWwoYXJncy5leHRlcm5hbCkpXG4gICAgY29uc3QgYXNzZXQgPSAhIShhd2FpdCB0aGlzLl92YWx1ZUhhbmRsZXIuZXZhbChhcmdzLmFzc2V0KSlcbiAgICBjb25zdCB0YXJnZXQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IGF3YWl0IHRoaXMuX3ZhbHVlSGFuZGxlci5ldmFsKGFyZ3MudGFyZ2V0KVxuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zOiB7IFtrOiBzdHJpbmddOiBhbnkgfSB8IHVuZGVmaW5lZCA9IGF3YWl0IHRoaXMuX3ZhbHVlSGFuZGxlci5ldmFsKGFyZ3MucXVlcnlQYXJhbXMpXG5cbiAgICBjb25zdCBkZWY6IER5bmFtaWNBY3Rpb25VaUFuY2hvckRlZiA9IHtcbiAgICAgIF9hY3Rpb25EZWY6IGFyZ3MsXG4gICAgICB0cmlnZ2VyVHlwZTogYXNzZXQgPyAnbGluay1hc3NldCcgOiBleHRlcm5hbCA/ICdsaW5rLWV4dGVybmFsJyA6ICdsaW5rJyxcbiAgICAgIGxpbmtVcmw6IGxpbmssXG4gICAgICAvLyBibG9ja0NsaWNrRXhwcjogeyB0eXBlOiAnamV4bCcsIGV4cHI6ICdldmVudC5idXR0b24gPT0gMCAmJiBldmVudC5jdHJsS2V5ID09IHRydWUgPyB0cnVlIDogZmFsc2UnIH1cbiAgICB9XG5cbiAgICBpZiAodGFyZ2V0KSB7XG4gICAgICBpZiAoIWRlZi5saW5rRXh0cmFzKSB7IGRlZi5saW5rRXh0cmFzID0ge30gfVxuICAgICAgZGVmLmxpbmtFeHRyYXMudGFyZ2V0ID0gdGFyZ2V0XG4gICAgfVxuXG4gICAgaWYgKHF1ZXJ5UGFyYW1zKSB7XG4gICAgICBpZiAoIWRlZi5saW5rRXh0cmFzKSB7IGRlZi5saW5rRXh0cmFzID0ge30gfVxuICAgICAgZGVmLmxpbmtFeHRyYXMucXVlcnlQYXJhbXMgPSBxdWVyeVBhcmFtc1xuICAgIH1cblxuICAgIHJldHVybiBkZWZcbiAgfVxufVxuIl19
@@ -77,9 +77,9 @@ export class DynamicActionModalService {
77
77
  }
78
78
  }
79
79
  }
80
- DynamicActionModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicActionModalService, deps: [{ token: i1.DynamicValueHelperService }, { token: i2.Modal }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
81
- DynamicActionModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicActionModalService });
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicActionModalService, decorators: [{
80
+ DynamicActionModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicActionModalService, deps: [{ token: i1.DynamicValueHelperService }, { token: i2.Modal }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
81
+ DynamicActionModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicActionModalService });
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicActionModalService, decorators: [{
83
83
  type: Injectable
84
84
  }], ctorParameters: function () { return [{ type: i1.DynamicValueHelperService }, { type: i2.Modal }, { type: i0.Injector }]; } });
85
85
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1hY3Rpb24tbW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9keW5hbWljL2FjdGlvbi9tb2RhbC9keW5hbWljLWFjdGlvbi1tb2RhbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUE7QUFDcEQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNyQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFNMUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUE7Ozs7QUFJN0U7O0dBRUc7QUFFSCxNQUFNLE9BQU8seUJBQXlCO0lBTXBDLFlBQ1UsWUFBdUMsRUFDdkMsTUFBYSxFQUNiLFNBQW1CO1FBRm5CLGlCQUFZLEdBQVosWUFBWSxDQUEyQjtRQUN2QyxXQUFNLEdBQU4sTUFBTSxDQUFPO1FBQ2IsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQVBwQixTQUFJLEdBQUcsT0FBTyxDQUFBO1FBRXZCLFVBQUssR0FBRyxjQUFjLENBQUE7SUFNbEIsQ0FBQztJQUVMLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBMkIsRUFBRSxPQUFZO1FBQ2xELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQ25ELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBRXpDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUMxQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUMvQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDakIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtZQUU3RCw2REFBNkQ7WUFDN0QsSUFBSSxZQUFZLEVBQUU7Z0JBQ2hCLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUE7Z0JBQzFELE9BQU8sbUJBQW1CLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQTthQUN2RDtZQUNELE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ25CLENBQUMsQ0FBQyxDQUNILENBQUMsQ0FDSCxDQUFDLFNBQVMsRUFBRSxDQUFBO0lBQ2YsQ0FBQztJQUVELDJEQUEyRDtJQUVwRCxLQUFLLENBQUMsVUFBVSxDQUFDLElBQTJCLEVBQUUsT0FBWTtRQUMvRCxPQUFPO1lBQ0wsVUFBVSxFQUFFLElBQUk7WUFDaEIsV0FBVyxFQUFFLE9BQU87U0FDckIsQ0FBQTtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssdUJBQXVCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtJQUN2RCxDQUFDO0lBRU8sYUFBYSxDQUFDLElBQTJCLEVBQUUsT0FBWTtRQUM3RCxJQUFJLFNBQVMsR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQTtRQUN0QyxJQUFJLFNBQVMsRUFBRTtZQUNiLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUE7U0FDM0Q7UUFDRCxPQUFPLFNBQVMsQ0FBQTtJQUNsQixDQUFDO0lBRU8sUUFBUSxDQUFDLElBQTJCLEVBQUUsT0FBWTtRQUN4RCxJQUFJLElBQUksR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQTtRQUM1QixJQUFJLElBQUksRUFBRTtZQUNSLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUE7U0FDakQ7UUFDRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxJQUEyQixFQUFFLE1BQVc7UUFDcEUsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDcEQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1NBQ2xDO0lBQ0gsQ0FBQztJQUVPLFVBQVUsQ0FBQyxLQUFVLEVBQUUsSUFBVTtRQUN2Qyw0REFBNEQ7UUFDNUQsTUFBTSxNQUFNLEdBQWdCO1lBQzFCLElBQUk7WUFDSixTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFBO1FBRUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQTtTQUN4RDthQUFNO1lBQ0wsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQTtTQUN4RDtJQUNILENBQUM7O3NIQXBGVSx5QkFBeUI7MEhBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuaW1wb3J0IHsgTW9kYWwsIE1vZGFsQ29uZmlnLCBNb2RhbFJlZiB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9tb2RhbCdcblxuaW1wb3J0IHsgRHluYW1pY1ZhbHVlSGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uL2R5bmFtaWMtdmFsdWUtaGVscGVyLnNlcnZpY2UnXG5pbXBvcnQgeyBEeW5hbWljQWN0aW9uVWlCdXR0b25EZWYgfSBmcm9tICcuLi8uLi9tb2RlbHMvZHluYW1pYy1hY3Rpb24tdWktYnV0dG9uLWRlZidcbmltcG9ydCB7IER5bmFtaWNBY3Rpb25IZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZHluYW1pYy1hY3Rpb24taGVscGVyLnNlcnZpY2UnXG5pbXBvcnQgeyBEeW5hbWljQWN0aW9uTW9kYWwgfSBmcm9tICcuL2R5bmFtaWMtYWN0aW9uLW1vZGFsJ1xuaW1wb3J0IHsgRHluYW1pY0FjdGlvbk1vZGFsRGVmIH0gZnJvbSAnLi9keW5hbWljLWFjdGlvbi1tb2RhbC1kZWYnXG5cbi8qKlxuICogSGFuZGxlcyBleGVjdXRpb24gb2YgbW9kYWwgYWN0aW9ucy5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIER5bmFtaWNBY3Rpb25Nb2RhbFNlcnZpY2UgaW1wbGVtZW50cyBEeW5hbWljQWN0aW9uTW9kYWwge1xuXG4gIHJlYWRvbmx5IHR5cGUgPSAnbW9kYWwnXG5cbiAgbGFiZWwgPSAnTW9kYWwgQWN0aW9uJ1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX3ZhbHVlSGVscGVyOiBEeW5hbWljVmFsdWVIZWxwZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgX21vZGFsOiBNb2RhbCxcbiAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7IH1cblxuICBhc3luYyBleGVjKGFyZ3M6IER5bmFtaWNBY3Rpb25Nb2RhbERlZiwgY29udGV4dDogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLl9nZXRDb21wb25lbnQoYXJncywgY29udGV4dClcbiAgICBjb25zdCBkYXRhID0gdGhpcy5fZ2V0RGF0YShhcmdzLCBjb250ZXh0KVxuXG4gICAgcmV0dXJuIHRoaXMuX29wZW5Nb2RhbChjb21wb25lbnQsIGRhdGEpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAobW9kYWxSZWYgPT4gbW9kYWxSZWYuYWZ0ZXJDbG9zZWQoKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAocmVzdWx0ID0+IHtcbiAgICAgICAgICBjb25zdCByZXN1bHRBY3Rpb24gPSB0aGlzLl9nZXRNb2RhbFJlc3VsdEFjdGlvbihhcmdzLCByZXN1bHQpXG5cbiAgICAgICAgICAvLyBUT0RPOiBDb21lIHVwIHdpdGggYSB3YXkgdG8gcGFzcyBkYXRhIGZyb20gcHJldmlvdXMgYWN0aW9uXG4gICAgICAgICAgaWYgKHJlc3VsdEFjdGlvbikge1xuICAgICAgICAgICAgY29uc3QgZHluYW1pY0FjdGlvbkhlbHBlciA9IHRoaXMuX2dldER5bmFtaWNBY3Rpb25IZWxwZXIoKVxuICAgICAgICAgICAgcmV0dXJuIGR5bmFtaWNBY3Rpb25IZWxwZXIuZXhlYyhyZXN1bHRBY3Rpb24sIGNvbnRleHQpXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBvZihyZXN1bHQpXG4gICAgICAgIH0pXG4gICAgICApKVxuICAgICkudG9Qcm9taXNlKClcbiAgfVxuXG4gIC8vIGV4ZWNTeW5jPzogKGFyZ3M6IElEeW5hbWljQWN0aW9uRGVmPFQ+LCBjb250ZXh0OiBEKSA9PiBSXG5cbiAgcHVibGljIGFzeW5jIGdldFVpUHJvcHMoYXJnczogRHluYW1pY0FjdGlvbk1vZGFsRGVmLCBjb250ZXh0OiBhbnkpOiBQcm9taXNlPER5bmFtaWNBY3Rpb25VaUJ1dHRvbkRlZj4ge1xuICAgIHJldHVybiB7XG4gICAgICBfYWN0aW9uRGVmOiBhcmdzLFxuICAgICAgdHJpZ2dlclR5cGU6ICdjbGljaydcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBkeW5hbWljIGFjdGlvbiBoZWxwZXIgZnJvbSB0aGUgaW5qZWN0b3IuIFRoZSBpbmplY3RvciBvcmRlciBjYXVzZXNcbiAgICogdGhlIGR5bmFtaWMgYWN0aW9uIGhlbHBlciB0byBub3QgYmUgaW4gdGhlIGluamVjdG9yIHdoZW4gdGhlIGNvbnN0cnVjdG9yIGlzXG4gICAqIGNhbGxlZC5cbiAgICovXG4gIHByaXZhdGUgX2dldER5bmFtaWNBY3Rpb25IZWxwZXIoKTogRHluYW1pY0FjdGlvbkhlbHBlclNlcnZpY2Uge1xuICAgIHJldHVybiB0aGlzLl9pbmplY3Rvci5nZXQoRHluYW1pY0FjdGlvbkhlbHBlclNlcnZpY2UpXG4gIH1cblxuICBwcml2YXRlIF9nZXRDb21wb25lbnQoYXJnczogRHluYW1pY0FjdGlvbk1vZGFsRGVmLCBjb250ZXh0OiBhbnkpOiBzdHJpbmcgfCBDb21wb25lbnRUeXBlPG9iamVjdD4gfCB1bmRlZmluZWQge1xuICAgIGxldCBjb21wb25lbnQgPSBhcmdzICYmIGFyZ3MuY29tcG9uZW50XG4gICAgaWYgKGNvbXBvbmVudCkge1xuICAgICAgY29tcG9uZW50ID0gdGhpcy5fdmFsdWVIZWxwZXIuZXZhbFN5bmMoY29tcG9uZW50LCBjb250ZXh0KVxuICAgIH1cbiAgICByZXR1cm4gY29tcG9uZW50XG4gIH1cblxuICBwcml2YXRlIF9nZXREYXRhKGFyZ3M6IER5bmFtaWNBY3Rpb25Nb2RhbERlZiwgY29udGV4dDogYW55KTogYW55IHwgdW5kZWZpbmVkIHtcbiAgICBsZXQgZGF0YSA9IGFyZ3MgJiYgYXJncy5kYXRhXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGRhdGEgPSB0aGlzLl92YWx1ZUhlbHBlci5ldmFsU3luYyhkYXRhLCBjb250ZXh0KVxuICAgIH1cbiAgICByZXR1cm4gZGF0YVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0TW9kYWxSZXN1bHRBY3Rpb24oYXJnczogRHluYW1pY0FjdGlvbk1vZGFsRGVmLCByZXN1bHQ6IGFueSkge1xuICAgIGlmIChhcmdzLnJlc3VsdEFjdGlvbnMgJiYgYXJncy5yZXN1bHRBY3Rpb25zW3Jlc3VsdF0pIHtcbiAgICAgIHJldHVybiBhcmdzLnJlc3VsdEFjdGlvbnNbcmVzdWx0XVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29wZW5Nb2RhbChtb2RhbDogYW55LCBkYXRhPzogYW55KTogT2JzZXJ2YWJsZTxNb2RhbFJlZjxhbnk+PiB7XG4gICAgLy8gVE9ETzogUmVwbGFjZSB3aXRoIEpTT04gdmFsaWQgY29uZmlnIGZyb20gaW5wdXQgZGVmIG1vZGVsXG4gICAgY29uc3QgY29uZmlnOiBNb2RhbENvbmZpZyA9IHtcbiAgICAgIGRhdGEsXG4gICAgICBtb2RhbFNpemU6ICdsZydcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG1vZGFsID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHRoaXMuX21vZGFsLm9wZW5Gcm9tTGF6eUNvbXBvbmVudChtb2RhbCwgY29uZmlnKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5fbW9kYWwub3BlbkZyb21Db21wb25lbnQobW9kYWwsIGNvbmZpZykpXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -89,9 +89,9 @@ export class DynamicValueHelperService {
89
89
  return evaluator.evalSync(value, context);
90
90
  }
91
91
  }
92
- DynamicValueHelperService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicValueHelperService, deps: [{ token: THESEAM_DYNAMIC_VALUE_EVALUATOR, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
93
- DynamicValueHelperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicValueHelperService, providedIn: 'root' });
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicValueHelperService, decorators: [{
92
+ DynamicValueHelperService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicValueHelperService, deps: [{ token: THESEAM_DYNAMIC_VALUE_EVALUATOR, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
93
+ DynamicValueHelperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicValueHelperService, providedIn: 'root' });
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicValueHelperService, decorators: [{
95
95
  type: Injectable,
96
96
  args: [{
97
97
  providedIn: 'root'