ontimize-web-ngx 15.6.2 → 15.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (408) hide show
  1. package/esm2020/lib/components/app-header/o-app-header.component.mjs +4 -4
  2. package/esm2020/lib/components/app-header/o-app-header.module.mjs +5 -5
  3. package/esm2020/lib/components/app-sidenav/image/o-app-sidenav-image.component.mjs +4 -4
  4. package/esm2020/lib/components/app-sidenav/menu-group/o-app-sidenav-menu-group.component.mjs +4 -4
  5. package/esm2020/lib/components/app-sidenav/menu-item/o-app-sidenav-menu-item.component.mjs +4 -4
  6. package/esm2020/lib/components/app-sidenav/o-app-sidenav.component.mjs +4 -4
  7. package/esm2020/lib/components/app-sidenav/o-app-sidenav.module.mjs +5 -5
  8. package/esm2020/lib/components/bar-menu/locale-menu-item/o-locale-bar-menu-item.component.mjs +4 -4
  9. package/esm2020/lib/components/bar-menu/menu-group/o-bar-menu-group.component.mjs +4 -4
  10. package/esm2020/lib/components/bar-menu/menu-item/o-bar-menu-item.component.mjs +4 -4
  11. package/esm2020/lib/components/bar-menu/menu-nested/o-bar-menu-nested.component.mjs +4 -4
  12. package/esm2020/lib/components/bar-menu/menu-separator/o-bar-menu-separator.component.mjs +4 -4
  13. package/esm2020/lib/components/bar-menu/o-bar-menu-base.class.mjs +4 -4
  14. package/esm2020/lib/components/bar-menu/o-bar-menu.component.mjs +4 -4
  15. package/esm2020/lib/components/bar-menu/o-bar-menu.module.mjs +5 -5
  16. package/esm2020/lib/components/bar-menu/o-base-menu-item.class.mjs +4 -4
  17. package/esm2020/lib/components/breadcrumb/o-breadcrumb.component.mjs +4 -4
  18. package/esm2020/lib/components/breadcrumb/o-breadcrumb.module.mjs +5 -5
  19. package/esm2020/lib/components/button/o-button.component.mjs +4 -4
  20. package/esm2020/lib/components/button/o-button.module.mjs +5 -5
  21. package/esm2020/lib/components/button-toggle/o-button-toggle-group/o-button-toggle-group.component.mjs +4 -4
  22. package/esm2020/lib/components/button-toggle/o-button-toggle.component.mjs +4 -4
  23. package/esm2020/lib/components/button-toggle/o-button-toggle.module.mjs +5 -5
  24. package/esm2020/lib/components/card-menu-item/o-card-menu-item.component.mjs +4 -4
  25. package/esm2020/lib/components/card-menu-item/o-card-menu-item.module.mjs +5 -5
  26. package/esm2020/lib/components/container/column/o-column.component.mjs +4 -4
  27. package/esm2020/lib/components/container/column/o-column.module.mjs +5 -5
  28. package/esm2020/lib/components/container/column-collapsible/o-column-collapsible.component.mjs +4 -4
  29. package/esm2020/lib/components/container/column-collapsible/o-column-collapsible.module.mjs +5 -5
  30. package/esm2020/lib/components/container/o-container-collapsible-component.class.mjs +4 -4
  31. package/esm2020/lib/components/container/o-container-component.class.mjs +4 -4
  32. package/esm2020/lib/components/container/row/o-row.component.mjs +4 -4
  33. package/esm2020/lib/components/container/row/o-row.module.mjs +5 -5
  34. package/esm2020/lib/components/container/row-collapsible/o-row-collapsible.component.mjs +4 -4
  35. package/esm2020/lib/components/container/row-collapsible/o-row-collapsible.module.mjs +5 -5
  36. package/esm2020/lib/components/contextmenu/context-menu/o-context-menu-content.component.mjs +4 -4
  37. package/esm2020/lib/components/contextmenu/context-menu/o-wrapper-content-menu/o-wrapper-content-menu.component.mjs +4 -4
  38. package/esm2020/lib/components/contextmenu/context-menu-group/o-context-menu-group.component.mjs +4 -4
  39. package/esm2020/lib/components/contextmenu/context-menu-item/o-context-menu-item.component.mjs +4 -4
  40. package/esm2020/lib/components/contextmenu/context-menu-separator/o-context-menu-separator.component.mjs +4 -4
  41. package/esm2020/lib/components/contextmenu/o-content-menu-base-item.class.mjs +4 -4
  42. package/esm2020/lib/components/contextmenu/o-context-menu-overlay.service.mjs +4 -4
  43. package/esm2020/lib/components/contextmenu/o-context-menu.component.mjs +4 -4
  44. package/esm2020/lib/components/contextmenu/o-context-menu.directive.mjs +4 -4
  45. package/esm2020/lib/components/contextmenu/o-context-menu.module.mjs +5 -5
  46. package/esm2020/lib/components/contextmenu/o-context-menu.service.mjs +4 -4
  47. package/esm2020/lib/components/dual-list-selector/dual-list-selector-item/date/o-dual-list-selector-date-item.component.mjs +4 -4
  48. package/esm2020/lib/components/dual-list-selector/o-dual-list-selector.component.mjs +4 -4
  49. package/esm2020/lib/components/dual-list-selector/o-dual-list-selector.module.mjs +5 -5
  50. package/esm2020/lib/components/expandable-container/o-expandable-container.component.mjs +4 -4
  51. package/esm2020/lib/components/expandable-container/o-expandable-container.module.mjs +5 -5
  52. package/esm2020/lib/components/filter-builder/filter-builder-menu/filter-builder-menu.component.mjs +4 -4
  53. package/esm2020/lib/components/filter-builder/o-filter-builder-clear.directive.mjs +4 -4
  54. package/esm2020/lib/components/filter-builder/o-filter-builder-query.directive.mjs +4 -4
  55. package/esm2020/lib/components/filter-builder/o-filter-builder.component.mjs +4 -4
  56. package/esm2020/lib/components/filter-builder/o-filter-builder.module.mjs +5 -5
  57. package/esm2020/lib/components/form/guards/o-form-can-deactivate.guard.mjs +4 -4
  58. package/esm2020/lib/components/form/navigation/o-form-confirm-exit.service.mjs +4 -4
  59. package/esm2020/lib/components/form/navigation/o-form-navigation.component.mjs +4 -4
  60. package/esm2020/lib/components/form/o-form.component.mjs +4 -4
  61. package/esm2020/lib/components/form/o-form.module.mjs +5 -5
  62. package/esm2020/lib/components/form/services/o-form-message.service.mjs +4 -4
  63. package/esm2020/lib/components/form/toolbar/o-form-toolbar.component.mjs +4 -4
  64. package/esm2020/lib/components/form/toolbar/o-form-toolbar.module.mjs +5 -5
  65. package/esm2020/lib/components/form-container/o-form-container.component.mjs +4 -4
  66. package/esm2020/lib/components/form-container/o-form-container.module.mjs +5 -5
  67. package/esm2020/lib/components/grid/grid-item/o-grid-item.component.mjs +4 -4
  68. package/esm2020/lib/components/grid/grid-item/o-grid-item.directive.mjs +4 -4
  69. package/esm2020/lib/components/grid/o-grid.component.mjs +4 -4
  70. package/esm2020/lib/components/grid/o-grid.module.mjs +5 -5
  71. package/esm2020/lib/components/grid/skeketon/o-grid-skeleton.component.mjs +4 -4
  72. package/esm2020/lib/components/image/fullscreen/fullscreen-dialog.component.mjs +4 -4
  73. package/esm2020/lib/components/image/o-image.component.mjs +4 -4
  74. package/esm2020/lib/components/image/o-image.module.mjs +5 -5
  75. package/esm2020/lib/components/input/checkbox/o-checkbox.component.mjs +4 -4
  76. package/esm2020/lib/components/input/checkbox/o-checkbox.module.mjs +5 -5
  77. package/esm2020/lib/components/input/combo/combo-renderer/boolean/o-combo-renderer-boolean.component.mjs +4 -4
  78. package/esm2020/lib/components/input/combo/combo-renderer/currency/o-combo-renderer-currency.component.mjs +4 -4
  79. package/esm2020/lib/components/input/combo/combo-renderer/date/o-combo-renderer-date.component.mjs +4 -4
  80. package/esm2020/lib/components/input/combo/combo-renderer/icon/o-combo-renderer-icon.component.mjs +4 -4
  81. package/esm2020/lib/components/input/combo/combo-renderer/integer/o-combo-renderer-integer.component.mjs +4 -4
  82. package/esm2020/lib/components/input/combo/combo-renderer/o-combo-renderer.class.mjs +4 -4
  83. package/esm2020/lib/components/input/combo/combo-renderer/percentage/o-combo-renderer-percentage.component.mjs +4 -4
  84. package/esm2020/lib/components/input/combo/combo-renderer/real/o-combo-renderer-real.component.mjs +4 -4
  85. package/esm2020/lib/components/input/combo/combo-search/o-combo-search.component.mjs +4 -4
  86. package/esm2020/lib/components/input/combo/o-combo.component.mjs +4 -4
  87. package/esm2020/lib/components/input/combo/o-combo.module.mjs +5 -5
  88. package/esm2020/lib/components/input/currency-input/o-currency-input.component.mjs +4 -4
  89. package/esm2020/lib/components/input/currency-input/o-currency-input.module.mjs +5 -5
  90. package/esm2020/lib/components/input/date-input/o-date-input.component.mjs +4 -4
  91. package/esm2020/lib/components/input/date-input/o-date-input.module.mjs +5 -5
  92. package/esm2020/lib/components/input/date-range/o-daterange-input.component.mjs +4 -4
  93. package/esm2020/lib/components/input/date-range/o-daterange-input.module.mjs +5 -5
  94. package/esm2020/lib/components/input/date-range-legacy/o-daterange-input.component.mjs +4 -4
  95. package/esm2020/lib/components/input/date-range-legacy/o-daterange-input.directive.mjs +4 -4
  96. package/esm2020/lib/components/input/date-range-legacy/o-daterange-input.module.mjs +5 -5
  97. package/esm2020/lib/components/input/date-range-legacy/o-daterange-picker.component.mjs +4 -4
  98. package/esm2020/lib/components/input/email-input/o-email-input.component.mjs +4 -4
  99. package/esm2020/lib/components/input/email-input/o-email-input.module.mjs +5 -5
  100. package/esm2020/lib/components/input/file-input/o-file-input.component.mjs +4 -4
  101. package/esm2020/lib/components/input/file-input/o-file-input.module.mjs +5 -5
  102. package/esm2020/lib/components/input/hour-input/index.mjs +4 -0
  103. package/esm2020/lib/components/input/hour-input/o-hour-input.component.mjs +38 -9
  104. package/esm2020/lib/components/input/hour-input/o-hour-input.directive.mjs +46 -0
  105. package/esm2020/lib/components/input/hour-input/o-hour-input.module.mjs +8 -7
  106. package/esm2020/lib/components/input/html-input/o-html-input.component.mjs +4 -4
  107. package/esm2020/lib/components/input/html-input/o-html-input.module.mjs +5 -5
  108. package/esm2020/lib/components/input/index.mjs +2 -3
  109. package/esm2020/lib/components/input/integer-input/o-integer-input.component.mjs +4 -4
  110. package/esm2020/lib/components/input/integer-input/o-integer-input.module.mjs +5 -5
  111. package/esm2020/lib/components/input/listpicker/listpicker-renderer/currency/o-list-picker-renderer-currency.component.mjs +4 -4
  112. package/esm2020/lib/components/input/listpicker/listpicker-renderer/date/o-list-picker-renderer-date.component.mjs +4 -4
  113. package/esm2020/lib/components/input/listpicker/listpicker-renderer/integer/o-list-picker-renderer-integer.component.mjs +4 -4
  114. package/esm2020/lib/components/input/listpicker/listpicker-renderer/o-list-picker-renderer.class.mjs +4 -4
  115. package/esm2020/lib/components/input/listpicker/listpicker-renderer/percentage/o-list-picker-renderer-percentage.component.mjs +4 -4
  116. package/esm2020/lib/components/input/listpicker/listpicker-renderer/real/o-list-picker-renderer-real.component.mjs +4 -4
  117. package/esm2020/lib/components/input/listpicker/o-list-picker-dialog.component.mjs +4 -4
  118. package/esm2020/lib/components/input/listpicker/o-list-picker.component.mjs +4 -4
  119. package/esm2020/lib/components/input/listpicker/o-list-picker.module.mjs +5 -5
  120. package/esm2020/lib/components/input/nif-input/o-nif-input.component.mjs +4 -4
  121. package/esm2020/lib/components/input/nif-input/o-nif-input.module.mjs +5 -5
  122. package/esm2020/lib/components/input/o-boolean-form-data-component.class.mjs +4 -4
  123. package/esm2020/lib/components/input/o-form-service-component.class.mjs +4 -4
  124. package/esm2020/lib/components/input/password-input/o-password-input.component.mjs +4 -4
  125. package/esm2020/lib/components/input/password-input/o-password-input.module.mjs +5 -5
  126. package/esm2020/lib/components/input/percent-input/o-percent-input.component.mjs +4 -4
  127. package/esm2020/lib/components/input/percent-input/o-percent-input.module.mjs +5 -5
  128. package/esm2020/lib/components/input/phone-input/data/country-code.mjs +4 -4
  129. package/esm2020/lib/components/input/phone-input/o-phone-input.component.mjs +4 -4
  130. package/esm2020/lib/components/input/phone-input/o-phone-input.module.mjs +5 -5
  131. package/esm2020/lib/components/input/radio/o-radio.component.mjs +4 -4
  132. package/esm2020/lib/components/input/radio/o-radio.module.mjs +5 -5
  133. package/esm2020/lib/components/input/real-input/o-real-input.component.mjs +4 -4
  134. package/esm2020/lib/components/input/real-input/o-real-input.module.mjs +5 -5
  135. package/esm2020/lib/components/input/search-input/o-search-input.component.mjs +4 -4
  136. package/esm2020/lib/components/input/search-input/o-search-input.module.mjs +5 -5
  137. package/esm2020/lib/components/input/slide-toggle/o-slide-toggle.component.mjs +4 -4
  138. package/esm2020/lib/components/input/slide-toggle/o-slide-toggle.module.mjs +5 -5
  139. package/esm2020/lib/components/input/slider/o-slider.component.mjs +4 -4
  140. package/esm2020/lib/components/input/slider/o-slider.module.mjs +5 -5
  141. package/esm2020/lib/components/input/text-input/o-text-input.component.mjs +4 -4
  142. package/esm2020/lib/components/input/text-input/o-text-input.module.mjs +5 -5
  143. package/esm2020/lib/components/input/textarea-input/o-textarea-input.component.mjs +4 -4
  144. package/esm2020/lib/components/input/textarea-input/o-textarea-input.module.mjs +5 -5
  145. package/esm2020/lib/components/input/time-input/o-time-input.component.mjs +4 -4
  146. package/esm2020/lib/components/input/time-input/o-time-input.module.mjs +5 -5
  147. package/esm2020/lib/components/language-selector/o-language-selector.component.mjs +4 -4
  148. package/esm2020/lib/components/language-selector/o-language-selector.module.mjs +5 -5
  149. package/esm2020/lib/components/list/list-item/o-list-item.component.mjs +4 -4
  150. package/esm2020/lib/components/list/list-item/o-list-item.directive.mjs +4 -4
  151. package/esm2020/lib/components/list/o-list.component.mjs +4 -4
  152. package/esm2020/lib/components/list/o-list.module.mjs +5 -5
  153. package/esm2020/lib/components/list/renderers/avatar/o-list-item-avatar.component.mjs +4 -4
  154. package/esm2020/lib/components/list/renderers/card/o-list-item-card.component.mjs +4 -4
  155. package/esm2020/lib/components/list/renderers/card-image/o-list-item-card-image.component.mjs +4 -4
  156. package/esm2020/lib/components/list/renderers/o-list-item-card-renderer.class.mjs +4 -4
  157. package/esm2020/lib/components/list/renderers/o-list-item-text-renderer.class.mjs +4 -4
  158. package/esm2020/lib/components/list/renderers/text/o-list-item-text.component.mjs +4 -4
  159. package/esm2020/lib/components/list/skeleton/o-list-skeleton.component.mjs +4 -4
  160. package/esm2020/lib/components/material/ckeditor/ck-editor.component.mjs +4 -4
  161. package/esm2020/lib/components/material/ckeditor/ck-editor.module.mjs +5 -5
  162. package/esm2020/lib/components/o-data-toolbar/o-data-toolbar.component.mjs +4 -4
  163. package/esm2020/lib/components/o-data-toolbar/o-data-toolbar.module.mjs +5 -5
  164. package/esm2020/lib/components/o-form-data-component.class.mjs +4 -4
  165. package/esm2020/lib/components/o-repeatable-skeleton.component.mjs +4 -4
  166. package/esm2020/lib/components/o-service-base-component.class.mjs +24 -10
  167. package/esm2020/lib/components/o-service-component.class.mjs +7 -7
  168. package/esm2020/lib/components/o-skeleton.component.mjs +4 -4
  169. package/esm2020/lib/components/table/column/calculated/o-table-column-calculated.component.mjs +4 -4
  170. package/esm2020/lib/components/table/column/cell-editor/boolean/o-table-cell-editor-boolean.component.mjs +4 -4
  171. package/esm2020/lib/components/table/column/cell-editor/date/o-table-cell-editor-date.component.mjs +4 -4
  172. package/esm2020/lib/components/table/column/cell-editor/email/o-table-cell-editor-email.component.mjs +4 -4
  173. package/esm2020/lib/components/table/column/cell-editor/integer/o-table-cell-editor-integer.component.mjs +4 -4
  174. package/esm2020/lib/components/table/column/cell-editor/o-base-table-cell-editor.class.mjs +10 -4
  175. package/esm2020/lib/components/table/column/cell-editor/real/o-table-cell-editor-real.component.mjs +4 -4
  176. package/esm2020/lib/components/table/column/cell-editor/text/o-table-cell-editor-text.component.mjs +4 -4
  177. package/esm2020/lib/components/table/column/cell-editor/time/o-table-cell-editor-time.component.mjs +26 -12
  178. package/esm2020/lib/components/table/column/cell-renderer/action/o-table-cell-renderer-action.component.mjs +4 -4
  179. package/esm2020/lib/components/table/column/cell-renderer/boolean/o-table-cell-renderer-boolean.component.mjs +4 -4
  180. package/esm2020/lib/components/table/column/cell-renderer/currency/o-table-cell-renderer-currency.component.mjs +4 -4
  181. package/esm2020/lib/components/table/column/cell-renderer/date/o-table-cell-renderer-date.component.mjs +4 -4
  182. package/esm2020/lib/components/table/column/cell-renderer/image/o-table-cell-renderer-image.component.mjs +4 -4
  183. package/esm2020/lib/components/table/column/cell-renderer/integer/o-table-cell-renderer-integer.component.mjs +4 -4
  184. package/esm2020/lib/components/table/column/cell-renderer/o-base-table-cell-renderer.class.mjs +4 -4
  185. package/esm2020/lib/components/table/column/cell-renderer/percentage/o-table-cell-renderer-percentage.component.mjs +4 -4
  186. package/esm2020/lib/components/table/column/cell-renderer/real/o-table-cell-renderer-real.component.mjs +4 -4
  187. package/esm2020/lib/components/table/column/cell-renderer/service/o-table-cell-renderer-service.component.mjs +4 -4
  188. package/esm2020/lib/components/table/column/cell-renderer/time/o-table-cell-renderer-time.component.mjs +4 -4
  189. package/esm2020/lib/components/table/column/cell-renderer/translate/o-table-cell-renderer-translate.component.mjs +4 -4
  190. package/esm2020/lib/components/table/column/o-table-column.component.mjs +4 -4
  191. package/esm2020/lib/components/table/extensions/contextmenu/o-table-context-menu.component.mjs +20 -14
  192. package/esm2020/lib/components/table/extensions/default-o-table.datasource.mjs +137 -66
  193. package/esm2020/lib/components/table/extensions/dialog/apply-configuration/o-table-apply-configuration-dialog.component.mjs +4 -4
  194. package/esm2020/lib/components/table/extensions/dialog/export/o-table-export-dialog.component.mjs +4 -4
  195. package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.mjs +42 -65
  196. package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column.service.mjs +78 -11
  197. package/esm2020/lib/components/table/extensions/dialog/group-by-columns/o-table-group-by-columns-dialog.component.mjs +4 -4
  198. package/esm2020/lib/components/table/extensions/dialog/o-table-base-dialog.class.mjs +4 -4
  199. package/esm2020/lib/components/table/extensions/dialog/store-configuration/o-table-store-configuration-dialog.component.mjs +4 -4
  200. package/esm2020/lib/components/table/extensions/dialog/visible-columns/o-table-visible-columns-dialog.component.mjs +5 -5
  201. package/esm2020/lib/components/table/extensions/export-button/o-table-export-button.component.mjs +4 -4
  202. package/esm2020/lib/components/table/extensions/export-button/o-table-export-button.service.mjs +4 -4
  203. package/esm2020/lib/components/table/extensions/footer/aggregate/o-table-column-aggregate.component.mjs +6 -6
  204. package/esm2020/lib/components/table/extensions/footer/expanded/o-table-expanded-footer.directive.mjs +11 -14
  205. package/esm2020/lib/components/table/extensions/footer/paginator/o-table-mat-paginator-intl.mjs +4 -4
  206. package/esm2020/lib/components/table/extensions/footer/paginator/o-table-paginator.component.mjs +4 -4
  207. package/esm2020/lib/components/table/extensions/header/table-button/o-table-button.component.mjs +4 -4
  208. package/esm2020/lib/components/table/extensions/header/table-buttons/o-table-buttons.component.mjs +4 -4
  209. package/esm2020/lib/components/table/extensions/header/table-column-resizer/o-table-column-resizer.component.mjs +4 -4
  210. package/esm2020/lib/components/table/extensions/header/table-column-select-all/o-table-column-select-all.directive.mjs +4 -4
  211. package/esm2020/lib/components/table/extensions/header/table-columns-filter/columns/o-table-columns-filter-column.component.mjs +21 -5
  212. package/esm2020/lib/components/table/extensions/header/table-columns-filter/o-table-columns-filter.component.mjs +70 -53
  213. package/esm2020/lib/components/table/extensions/header/table-columns-grouping/columns/o-table-columns-grouping-column.component.mjs +4 -4
  214. package/esm2020/lib/components/table/extensions/header/table-columns-grouping/o-table-columns-grouping.component.mjs +4 -4
  215. package/esm2020/lib/components/table/extensions/header/table-header/o-table-header.component.mjs +4 -4
  216. package/esm2020/lib/components/table/extensions/header/table-header-column-filter-icon/o-table-header-column-filter-icon.component.mjs +28 -13
  217. package/esm2020/lib/components/table/extensions/header/table-header-select-all/o-table-header-select-all.component.mjs +4 -4
  218. package/esm2020/lib/components/table/extensions/header/table-insertable-row/o-table-insertable-row.component.mjs +4 -4
  219. package/esm2020/lib/components/table/extensions/header/table-menu/o-table-menu.component.mjs +4 -4
  220. package/esm2020/lib/components/table/extensions/header/table-option/o-table-option.component.mjs +4 -4
  221. package/esm2020/lib/components/table/extensions/header/table-quickfilter/o-table-quickfilter.component.mjs +4 -4
  222. package/esm2020/lib/components/table/extensions/o-table-datasource.service.mjs +4 -4
  223. package/esm2020/lib/components/table/extensions/o-table-strategy.service.mjs +10 -4
  224. package/esm2020/lib/components/table/extensions/pipes/o-table-row-class.pipe.mjs +4 -4
  225. package/esm2020/lib/components/table/extensions/row/o-table-row.directive.mjs +4 -4
  226. package/esm2020/lib/components/table/extensions/row/table-row-expandable/o-table-row-expandable.component.mjs +4 -4
  227. package/esm2020/lib/components/table/extensions/skeleton/o-table-skeleton.component.mjs +19 -19
  228. package/esm2020/lib/components/table/extensions/sort/o-mat-sort-header.mjs +14 -7
  229. package/esm2020/lib/components/table/extensions/sort/o-mat-sort-module.mjs +5 -5
  230. package/esm2020/lib/components/table/extensions/sort/o-mat-sort.mjs +4 -4
  231. package/esm2020/lib/components/table/index.mjs +2 -1
  232. package/esm2020/lib/components/table/o-table-base.class.mjs +1 -1
  233. package/esm2020/lib/components/table/o-table-loading.service.mjs +113 -0
  234. package/esm2020/lib/components/table/o-table.component.mjs +107 -65
  235. package/esm2020/lib/components/table/o-table.module.mjs +12 -8
  236. package/esm2020/lib/components/tree/header/tree-menu/o-tree-menu.component.mjs +4 -4
  237. package/esm2020/lib/components/tree/o-tree-dao.service.mjs +35 -4
  238. package/esm2020/lib/components/tree/o-tree.component.mjs +147 -25
  239. package/esm2020/lib/components/tree/o-tree.datasource.mjs +28 -14
  240. package/esm2020/lib/components/tree/o-tree.module.mjs +5 -5
  241. package/esm2020/lib/components/tree/tree-node/tree-node.component.mjs +5 -23
  242. package/esm2020/lib/components/user-info/o-user-info.component.mjs +4 -4
  243. package/esm2020/lib/components/user-info/o-user-info.module.mjs +5 -5
  244. package/esm2020/lib/components/user-info/user-info-configuration/o-user-info-configuration.directive.mjs +4 -4
  245. package/esm2020/lib/components/user-info/user-info-configuration-item/o-user-info-configuration-item.directive.mjs +4 -4
  246. package/esm2020/lib/config/o-modules.mjs +5 -5
  247. package/esm2020/lib/directives/input-regulate.directive.mjs +4 -4
  248. package/esm2020/lib/directives/keyboard-listener.directive.mjs +4 -4
  249. package/esm2020/lib/directives/locker.directive.mjs +4 -4
  250. package/esm2020/lib/directives/o-file-drag-and-drop.directive.mjs +4 -4
  251. package/esm2020/lib/directives/o-hidden.directive.mjs +4 -4
  252. package/esm2020/lib/directives/o-mat-error.directive.mjs +4 -4
  253. package/esm2020/lib/directives/o-mat-prefix.directive.mjs +4 -4
  254. package/esm2020/lib/directives/o-mat-suffix.directive.mjs +4 -4
  255. package/esm2020/lib/directives/o-tab-group.directive.mjs +4 -4
  256. package/esm2020/lib/i18n/i18n.mjs +13 -4
  257. package/esm2020/lib/interfaces/pagination-data.interface.mjs +2 -0
  258. package/esm2020/lib/layouts/app-layout/app-layout-header/o-app-layout-header.component.mjs +4 -4
  259. package/esm2020/lib/layouts/app-layout/app-layout-sidenav/o-app-layout-sidenav.component.mjs +4 -4
  260. package/esm2020/lib/layouts/app-layout/o-app-layout.component.mjs +4 -4
  261. package/esm2020/lib/layouts/app-layout/o-app-layout.module.mjs +5 -5
  262. package/esm2020/lib/layouts/card-menu-layout/o-card-menu-layout.component.mjs +4 -4
  263. package/esm2020/lib/layouts/card-menu-layout/o-card-menu-layout.module.mjs +5 -5
  264. package/esm2020/lib/layouts/form-layout/dialog/o-form-layout-dialog.component.mjs +4 -4
  265. package/esm2020/lib/layouts/form-layout/dialog/options/o-form-layout-dialog-options.directive.mjs +4 -4
  266. package/esm2020/lib/layouts/form-layout/directives/o-form-layout-manager-content.directive.mjs +4 -4
  267. package/esm2020/lib/layouts/form-layout/guards/o-form-layout-can-activate-child.guard.mjs +4 -4
  268. package/esm2020/lib/layouts/form-layout/o-form-layout-manager.component.mjs +4 -4
  269. package/esm2020/lib/layouts/form-layout/o-form-layout-manager.module.mjs +5 -5
  270. package/esm2020/lib/layouts/form-layout/split-pane/o-form-layout-split-pane.component.mjs +4 -4
  271. package/esm2020/lib/layouts/form-layout/split-pane/options/o-form-layout-split-pane-options.directive.mjs +4 -4
  272. package/esm2020/lib/layouts/form-layout/tabgroup/o-form-layout-tabgroup.component.mjs +4 -4
  273. package/esm2020/lib/layouts/form-layout/tabgroup/options/o-form-layout-tabgroup-options.directive.mjs +4 -4
  274. package/esm2020/lib/ontimize-web-ngx.module.mjs +5 -5
  275. package/esm2020/lib/pipes/columns-filter.pipe.mjs +4 -4
  276. package/esm2020/lib/pipes/is-empty-value.pipe.mjs +4 -4
  277. package/esm2020/lib/pipes/o-currency.pipe.mjs +4 -4
  278. package/esm2020/lib/pipes/o-icon.pipe.mjs +4 -4
  279. package/esm2020/lib/pipes/o-integer.pipe.mjs +4 -4
  280. package/esm2020/lib/pipes/o-moment.pipe.mjs +4 -4
  281. package/esm2020/lib/pipes/o-percentage.pipe.mjs +4 -4
  282. package/esm2020/lib/pipes/o-real.pipe.mjs +4 -4
  283. package/esm2020/lib/pipes/o-safe.pipe.mjs +4 -4
  284. package/esm2020/lib/pipes/o-translate.pipe.mjs +8 -8
  285. package/esm2020/lib/pipes/order-by.pipe.mjs +4 -4
  286. package/esm2020/lib/services/app-menu.service.mjs +4 -4
  287. package/esm2020/lib/services/appearance.service.mjs +4 -4
  288. package/esm2020/lib/services/auth-guard.service.mjs +4 -4
  289. package/esm2020/lib/services/auth.service.mjs +4 -4
  290. package/esm2020/lib/services/base-service-response.adapter.mjs +4 -4
  291. package/esm2020/lib/services/base-service.class.mjs +4 -4
  292. package/esm2020/lib/services/currency.service.mjs +4 -4
  293. package/esm2020/lib/services/dialog.service.mjs +4 -4
  294. package/esm2020/lib/services/icon.service.mjs +4 -4
  295. package/esm2020/lib/services/jsonapi/jsonapi-preferences.service.mjs +4 -4
  296. package/esm2020/lib/services/jsonapi/jsonapi-service-response.adapter.mjs +4 -4
  297. package/esm2020/lib/services/jsonapi/jsonapi.service.mjs +4 -4
  298. package/esm2020/lib/services/local-storage.service.mjs +4 -4
  299. package/esm2020/lib/services/login-storage.service.mjs +4 -4
  300. package/esm2020/lib/services/moment.service.mjs +4 -4
  301. package/esm2020/lib/services/navigation.service.mjs +4 -4
  302. package/esm2020/lib/services/number.service.mjs +4 -4
  303. package/esm2020/lib/services/o-auth.service.mjs +4 -4
  304. package/esm2020/lib/services/o-breadcrumb.service.mjs +4 -4
  305. package/esm2020/lib/services/o-error-dialog-manager.service.mjs +4 -4
  306. package/esm2020/lib/services/o-form-layout-manager.service.mjs +4 -4
  307. package/esm2020/lib/services/o-modules-info.service.mjs +4 -4
  308. package/esm2020/lib/services/o-user-info.service.mjs +4 -4
  309. package/esm2020/lib/services/ontimize/o-preference-response.adapter.mjs +4 -4
  310. package/esm2020/lib/services/ontimize/ontimize-base-service.class.mjs +4 -4
  311. package/esm2020/lib/services/ontimize/ontimize-ee.service.mjs +4 -4
  312. package/esm2020/lib/services/ontimize/ontimize-export-3xx.service.mjs +4 -4
  313. package/esm2020/lib/services/ontimize/ontimize-export.service.mjs +4 -4
  314. package/esm2020/lib/services/ontimize/ontimize-file.service.mjs +4 -4
  315. package/esm2020/lib/services/ontimize/ontimize-preferences.service.mjs +4 -4
  316. package/esm2020/lib/services/ontimize/ontimize-service-response.adapter.mjs +4 -4
  317. package/esm2020/lib/services/ontimize/ontimize.service.mjs +4 -4
  318. package/esm2020/lib/services/ontimize-export-data-base-provider.service.mjs +4 -4
  319. package/esm2020/lib/services/ontimize-export-data-provider-3x.service.mjs +4 -4
  320. package/esm2020/lib/services/ontimize-export-data-provider.service.mjs +4 -4
  321. package/esm2020/lib/services/ontimize-icon-registry.service.mjs +4 -4
  322. package/esm2020/lib/services/pagination-context.service.mjs +4 -4
  323. package/esm2020/lib/services/parser/o-service-response.parser.mjs +4 -4
  324. package/esm2020/lib/services/permissions/o-permissions.module.mjs +5 -5
  325. package/esm2020/lib/services/permissions/ontimize-ee-permissions.service.mjs +4 -4
  326. package/esm2020/lib/services/permissions/ontimize-permissions.service.mjs +4 -4
  327. package/esm2020/lib/services/permissions/permissions-can-activate.guard.mjs +4 -4
  328. package/esm2020/lib/services/permissions/permissions.service.mjs +4 -4
  329. package/esm2020/lib/services/remote-config.service.mjs +5 -5
  330. package/esm2020/lib/services/request-adapter/jsonapi-request-arguments.adapter.mjs +4 -4
  331. package/esm2020/lib/services/request-adapter/ontimize-request-arguments.adapter.mjs +4 -4
  332. package/esm2020/lib/services/share-can-activate-child.service.mjs +4 -4
  333. package/esm2020/lib/services/snackbar.service.mjs +4 -4
  334. package/esm2020/lib/services/state/index.mjs +3 -1
  335. package/esm2020/lib/services/state/o-app-menu-component-state.service.mjs +4 -4
  336. package/esm2020/lib/services/state/o-component-state.service.mjs +10 -10
  337. package/esm2020/lib/services/state/o-filter-builder-component-state.service.mjs +4 -4
  338. package/esm2020/lib/services/state/o-form-layout-manager-component-state.service.mjs +4 -4
  339. package/esm2020/lib/services/state/o-grid-component-state.service.mjs +4 -4
  340. package/esm2020/lib/services/state/o-list-component-state.service.mjs +4 -4
  341. package/esm2020/lib/services/state/o-table-component-state.class.mjs +1 -1
  342. package/esm2020/lib/services/state/o-table-component-state.service.mjs +4 -4
  343. package/esm2020/lib/services/state/o-tree-component-state.class.mjs +1 -1
  344. package/esm2020/lib/services/state/o-tree-component-state.service.mjs +57 -17
  345. package/esm2020/lib/services/translate/o-translate.parser.mjs +4 -4
  346. package/esm2020/lib/services/translate/o-translate.service.mjs +4 -4
  347. package/esm2020/lib/shared/components/dialog/o-dialog-internal.component.mjs +4 -4
  348. package/esm2020/lib/shared/components/dialog/o-dialog.component.mjs +4 -4
  349. package/esm2020/lib/shared/components/error403/o-error-403.component.mjs +4 -4
  350. package/esm2020/lib/shared/components/filter/load-filter/o-load-filter-dialog.component.mjs +4 -4
  351. package/esm2020/lib/shared/components/filter/store-filter/o-store-filter-dialog.component.mjs +4 -4
  352. package/esm2020/lib/shared/components/snackbar/o-snackbar-base.class.mjs +4 -4
  353. package/esm2020/lib/shared/components/snackbar/o-snackbar.component.mjs +4 -4
  354. package/esm2020/lib/shared/components/validation/o-error.component.mjs +4 -4
  355. package/esm2020/lib/shared/components/validation/o-validator.component.mjs +4 -4
  356. package/esm2020/lib/shared/material/custom.material.module.mjs +5 -5
  357. package/esm2020/lib/shared/material/date/ontimize-moment-date-adapter.mjs +4 -4
  358. package/esm2020/lib/shared/shared.module.mjs +5 -5
  359. package/esm2020/lib/types/aggregate-function.type.mjs +1 -1
  360. package/esm2020/lib/types/table/o-table-global-config.type.mjs +1 -1
  361. package/esm2020/lib/types/table/o-table-initialization-options.type.mjs +1 -1
  362. package/esm2020/lib/types/tree-flat-node.type.mjs +1 -1
  363. package/fesm2015/ontimize-web-ngx.mjs +2150 -1464
  364. package/fesm2015/ontimize-web-ngx.mjs.map +1 -1
  365. package/fesm2020/ontimize-web-ngx.mjs +2121 -1459
  366. package/fesm2020/ontimize-web-ngx.mjs.map +1 -1
  367. package/lib/components/dual-list-selector/o-dual-list-selector.component.d.ts +1 -1
  368. package/lib/components/input/hour-input/index.d.ts +3 -0
  369. package/lib/components/input/hour-input/o-hour-input.component.d.ts +6 -2
  370. package/lib/components/input/hour-input/o-hour-input.directive.d.ts +8 -0
  371. package/lib/components/input/hour-input/o-hour-input.module.d.ts +5 -4
  372. package/lib/components/input/index.d.ts +1 -2
  373. package/lib/components/o-service-base-component.class.d.ts +6 -1
  374. package/lib/components/table/column/cell-editor/o-base-table-cell-editor.class.d.ts +5 -3
  375. package/lib/components/table/column/cell-editor/time/o-table-cell-editor-time.component.d.ts +2 -2
  376. package/lib/components/table/extensions/default-o-table.datasource.d.ts +6 -1
  377. package/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.d.ts +10 -3
  378. package/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column.service.d.ts +10 -3
  379. package/lib/components/table/extensions/dialog/group-by-columns/o-table-group-by-columns-dialog.component.d.ts +1 -1
  380. package/lib/components/table/extensions/footer/aggregate/o-table-column-aggregate.component.d.ts +1 -1
  381. package/lib/components/table/extensions/footer/expanded/o-table-expanded-footer.directive.d.ts +1 -2
  382. package/lib/components/table/extensions/header/o-table-header-components.d.ts +2 -2
  383. package/lib/components/table/extensions/header/table-columns-filter/columns/o-table-columns-filter-column.component.d.ts +19 -2
  384. package/lib/components/table/extensions/header/table-columns-filter/o-table-columns-filter.component.d.ts +10 -9
  385. package/lib/components/table/extensions/header/table-header-column-filter-icon/o-table-header-column-filter-icon.component.d.ts +7 -1
  386. package/lib/components/table/extensions/o-table-strategy.service.d.ts +2 -1
  387. package/lib/components/table/extensions/skeleton/o-table-skeleton.component.d.ts +1 -0
  388. package/lib/components/table/extensions/sort/o-mat-sort-header.d.ts +5 -3
  389. package/lib/components/table/index.d.ts +1 -0
  390. package/lib/components/table/o-table-base.class.d.ts +15 -4
  391. package/lib/components/table/o-table-loading.service.d.ts +28 -0
  392. package/lib/components/table/o-table.component.d.ts +7 -3
  393. package/lib/components/table/o-table.module.d.ts +2 -1
  394. package/lib/components/tree/o-tree-dao.service.d.ts +4 -2
  395. package/lib/components/tree/o-tree.component.d.ts +21 -2
  396. package/lib/components/tree/o-tree.datasource.d.ts +3 -0
  397. package/lib/components/tree/tree-node/tree-node.component.d.ts +0 -4
  398. package/lib/i18n/i18n.d.ts +9 -0
  399. package/lib/interfaces/pagination-data.interface.d.ts +6 -0
  400. package/lib/services/state/index.d.ts +2 -0
  401. package/lib/services/state/o-table-component-state.class.d.ts +1 -1
  402. package/lib/services/state/o-tree-component-state.class.d.ts +3 -0
  403. package/lib/services/state/o-tree-component-state.service.d.ts +4 -1
  404. package/lib/types/aggregate-function.type.d.ts +2 -1
  405. package/lib/types/table/o-table-global-config.type.d.ts +4 -0
  406. package/lib/types/table/o-table-initialization-options.type.d.ts +4 -0
  407. package/lib/types/tree-flat-node.type.d.ts +5 -1
  408. package/package.json +2 -2
@@ -1,17 +1,30 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { ColumnValueFilterOperator } from '../../../../../types/table/o-column-value-filter.type';
3
3
  import { Util } from '../../../../../util/util';
4
+ import { Observable, of } from 'rxjs';
5
+ import { FactoryUtil } from '../../../../../util/factory.util';
6
+ import { OntimizeService } from '../../../../../services/ontimize/ontimize.service';
4
7
  import * as i0 from "@angular/core";
5
8
  export class OTableFilterByColumnService {
6
9
  constructor() { }
7
- getColumnDataUsingRenderer(column, tableData) {
10
+ getColumnDataUsingRenderer(column, tableData, visibleColumns, separator) {
11
+ const useCustomRender = Array.isArray(visibleColumns) && visibleColumns.length > 0;
8
12
  return tableData.map(row => {
9
- return column.renderer?.getCellData?.(row[column.attr], row) ?? row[column.attr];
13
+ if (useCustomRender) {
14
+ return visibleColumns.map(attr => row[attr] ?? '').join(separator);
15
+ }
16
+ else {
17
+ const rawValue = row[column.attr];
18
+ return column.renderer?.getCellData?.(rawValue, row) ?? rawValue;
19
+ }
10
20
  });
11
21
  }
12
- parseListData(filter, column, tableData, isPageable, sourceData) {
22
+ parseListData(filter, column, tableData, isPageable, filterColumnDefinition) {
13
23
  const columnData = [];
14
- const colRenderedValues = this.getColumnDataUsingRenderer(column, tableData);
24
+ const visibleColumns = filterColumnDefinition.visibleColumns;
25
+ const separator = filterColumnDefinition.separator;
26
+ const sourceData = filterColumnDefinition.filterValuesInData;
27
+ const colRenderedValues = this.getColumnDataUsingRenderer(column, tableData, visibleColumns, separator);
15
28
  const valueColumn = column.valueColumn ?? column.attr;
16
29
  const colValues = tableData.map((elem) => Util.getValueFromPath(elem, valueColumn));
17
30
  if (Util.isDefined(filter?.availableValues)) {
@@ -34,20 +47,74 @@ export class OTableFilterByColumnService {
34
47
  });
35
48
  return columnData;
36
49
  }
37
- applySelectedValuesToFilter(column, tableData, filter, selectedValues, sourceData, isPageable, getComponentFilterFn) {
50
+ applySelectedValuesToFilter(column, tableData, filter, selectedValues, filterByColumnDefinition, isPageable, getComponentFilterFn) {
38
51
  filter.operator = ColumnValueFilterOperator.IN;
39
52
  filter.values = selectedValues.map(item => item.value);
40
- if (sourceData === 'current-page') {
41
- filter.availableValues = this.parseListData(filter, column, filter.availableValues ?? tableData, isPageable, sourceData);
53
+ const sourceData = filterByColumnDefinition.filterValuesInData;
54
+ const effectiveSourceData = sourceData ?? 'current-page';
55
+ if (effectiveSourceData) {
56
+ filter.availableValues = this.parseListData(filter, column, filter.availableValues ?? tableData, isPageable, filterByColumnDefinition);
42
57
  }
43
58
  else {
44
59
  filter.filterExpresion = filter.filterExpresion || getComponentFilterFn();
45
60
  }
46
61
  }
62
+ getDataForColumnFilter(injector, table, column, filterColumnDefinition) {
63
+ if (filterColumnDefinition.filterValuesInData === 'current-page') {
64
+ return of(table.getValue());
65
+ }
66
+ if (table.pageable) {
67
+ const previousFilter = table.dataSource.getColumnValueFilterByAttr(column.attr);
68
+ const kv = previousFilter?.filterExpresion || table.getComponentFilter();
69
+ const av = [column.attr];
70
+ const sqlTypes = Util.isDefined(kv) && !Util.isObjectEmpty(kv)
71
+ ? table.getSqlTypes()
72
+ : {};
73
+ const entity = filterColumnDefinition.entity ?? table.entity;
74
+ const columnQueryArgs = [kv, av, entity, sqlTypes];
75
+ const service = this.configureService(injector, filterColumnDefinition, table);
76
+ const queryMethodName = filterColumnDefinition.queryMethod ?? table.queryMethod;
77
+ if (service && queryMethodName && typeof service[queryMethodName] === 'function') {
78
+ const result$ = service[queryMethodName](...columnQueryArgs);
79
+ return new Observable(observer => {
80
+ result$.subscribe({
81
+ next: res => observer.next(res?.isSuccessful() ? res.data : []),
82
+ error: err => {
83
+ console.error('[FilterService] Error al consultar datos del filtro:', err);
84
+ observer.next([]);
85
+ },
86
+ complete: () => observer.complete()
87
+ });
88
+ });
89
+ }
90
+ return of([]);
91
+ }
92
+ return of(table.getAllValues());
93
+ }
94
+ configureService(injector, filterColumnDefinition, tableEntity) {
95
+ const service = filterColumnDefinition.service;
96
+ const serviceType = filterColumnDefinition.serviceType;
97
+ const entity = filterColumnDefinition.entity ?? tableEntity.entity;
98
+ if ((service || serviceType)) {
99
+ let configureServiceArgs = { injector: injector, baseService: OntimizeService, entity: entity, service: service, serviceType: serviceType };
100
+ return FactoryUtil.configureService(configureServiceArgs);
101
+ }
102
+ else {
103
+ return tableEntity.getDataService();
104
+ }
105
+ }
106
+ initializeColumnFilterData(filter, column, tableData, isPageable, filterColumnDefinition) {
107
+ const columnData = this.parseListData(filter, column, tableData, isPageable, filterColumnDefinition);
108
+ const selectedValues = filter?.values ?? [];
109
+ for (const item of columnData) {
110
+ item.selected = selectedValues.includes(item.value);
111
+ }
112
+ return columnData;
113
+ }
47
114
  }
48
- OTableFilterByColumnService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OTableFilterByColumnService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
49
- OTableFilterByColumnService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OTableFilterByColumnService });
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OTableFilterByColumnService, decorators: [{
115
+ OTableFilterByColumnService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableFilterByColumnService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
116
+ OTableFilterByColumnService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableFilterByColumnService });
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableFilterByColumnService, decorators: [{
51
118
  type: Injectable
52
119
  }], ctorParameters: function () { return []; } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1maWx0ZXItYnktY29sdW1uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9leHRlbnNpb25zL2RpYWxvZy9maWx0ZXItYnktY29sdW1uL28tdGFibGUtZmlsdGVyLWJ5LWNvbHVtbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLHlCQUF5QixFQUFzQixNQUFNLHVEQUF1RCxDQUFDO0FBRXRILE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFJaEQsTUFBTSxPQUFPLDJCQUEyQjtJQUN0QyxnQkFBZ0IsQ0FBQztJQU1qQiwwQkFBMEIsQ0FBQyxNQUFlLEVBQUUsU0FBZ0I7UUFDMUQsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sTUFBTSxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBYUQsYUFBYSxDQUNYLE1BQTBCLEVBQzFCLE1BQWUsRUFDZixTQUFnQixFQUNoQixVQUFtQixFQUNuQixVQUF1QztRQUV2QyxNQUFNLFVBQVUsR0FBOEIsRUFBRSxDQUFDO1FBQ2pELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM3RSxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDdEQsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBR3BGLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDLEVBQUU7WUFDM0MsT0FBTyxNQUFNLENBQUMsZUFBZSxDQUFDO1NBQy9CO1FBRUQsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBRTdDLGFBQWEsR0FBRyxhQUFhLElBQUksRUFBRSxDQUFDO1lBRXBDLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxLQUFLLGFBQWEsQ0FBQyxDQUFDO1lBR3BGLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxLQUFLLFVBQVUsQ0FBQyxFQUFFO2dCQUMvRCxNQUFNLFFBQVEsR0FBRyxNQUFNLEVBQUUsUUFBUSxLQUFLLHlCQUF5QixDQUFDLEVBQUU7b0JBQ2hFLENBQUMsTUFBTSxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBRWhELFVBQVUsQ0FBQyxJQUFJLENBQUM7b0JBQ2QsYUFBYTtvQkFDYixLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztvQkFDbkIsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7b0JBQ3RCLFFBQVE7b0JBQ1IsVUFBVSxFQUFFLENBQUM7aUJBQ2QsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFZRCwyQkFBMkIsQ0FDekIsTUFBZSxFQUNmLFNBQWdCLEVBQ2hCLE1BQTBCLEVBQzFCLGNBQXlDLEVBQ3pDLFVBQXVDLEVBQ3ZDLFVBQW1CLEVBQ25CLG9CQUErQjtRQUUvQixNQUFNLENBQUMsUUFBUSxHQUFHLHlCQUF5QixDQUFDLEVBQUUsQ0FBQztRQUMvQyxNQUFNLENBQUMsTUFBTSxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdkQsSUFBSSxVQUFVLEtBQUssY0FBYyxFQUFFO1lBQ2pDLE1BQU0sQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxlQUFlLElBQUksU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztTQUMxSDthQUFNO1lBQ0wsTUFBTSxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxJQUFJLG9CQUFvQixFQUFFLENBQUM7U0FDM0U7SUFDSCxDQUFDOzt3SEEzRlUsMkJBQTJCOzRIQUEzQiwyQkFBMkI7MkZBQTNCLDJCQUEyQjtrQkFEdkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29sdW1uVmFsdWVGaWx0ZXJPcGVyYXRvciwgT0NvbHVtblZhbHVlRmlsdGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMvdGFibGUvby1jb2x1bW4tdmFsdWUtZmlsdGVyLnR5cGUnO1xuaW1wb3J0IHsgVGFibGVGaWx0ZXJCeUNvbHVtbkRhdGEgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi90eXBlcy90YWJsZS9vLXRhYmxlLWZpbHRlci1ieS1jb2x1bW4tZGF0YS50eXBlJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlsL3V0aWwnO1xuaW1wb3J0IHsgT0NvbHVtbiB9IGZyb20gJy4uLy4uLy4uL2NvbHVtbi9vLWNvbHVtbi5jbGFzcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPVGFibGVGaWx0ZXJCeUNvbHVtblNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIC8qKlxuICogUmV0dXJucyB0aGUgZGlzcGxheWVkIChyZW5kZXJlZCkgdmFsdWVzIGZvciBhIGNvbHVtbiBmcm9tIHRoZSBnaXZlbiB0YWJsZSBkYXRhLlxuICogRmFsbHMgYmFjayB0byByYXcgdmFsdWUgaWYgbm8gcmVuZGVyZXIgaXMgZGVmaW5lZC5cbiAqL1xuICBnZXRDb2x1bW5EYXRhVXNpbmdSZW5kZXJlcihjb2x1bW46IE9Db2x1bW4sIHRhYmxlRGF0YTogYW55W10pOiBhbnlbXSB7XG4gICAgcmV0dXJuIHRhYmxlRGF0YS5tYXAocm93ID0+IHtcbiAgICAgIHJldHVybiBjb2x1bW4ucmVuZGVyZXI/LmdldENlbGxEYXRhPy4ocm93W2NvbHVtbi5hdHRyXSwgcm93KSA/PyByb3dbY29sdW1uLmF0dHJdO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBhIHVuaXF1ZSBsaXN0IG9mIGZpbHRlcmFibGUgY29sdW1uIHZhbHVlcywgb3B0aW9uYWxseSBtYXJraW5nIHNlbGVjdGVkIGl0ZW1zLlxuICAgKlxuICAgKiBAcGFyYW0gZmlsdGVyIC0gQ3VycmVudCBmaWx0ZXIgY29uZmlndXJhdGlvbiAoY2FuIGJlIG51bGwpXG4gICAqIEBwYXJhbSBjb2x1bW4gLSBDb2x1bW4gYmVpbmcgZmlsdGVyZWRcbiAgICogQHBhcmFtIHRhYmxlRGF0YSAtIERhdGEgdG8gZXh0cmFjdCB2YWx1ZXMgZnJvbSAocGFnZWQgb3IgZnVsbClcbiAgICogQHBhcmFtIGlzUGFnZWFibGUgLSBXaGV0aGVyIHRoZSB0YWJsZSBpcyBwYWdlYWJsZVxuICAgKiBAcGFyYW0gc291cmNlRGF0YSAtIEluZGljYXRlcyB3aGV0aGVyIGRhdGEgY29tZXMgZnJvbSBjdXJyZW50IHBhZ2Ugb3IgYWxsIGRhdGFcbiAgICogQHJldHVybnMgTGlzdCBvZiBjb2x1bW4gdmFsdWVzIHdpdGggdGhlaXIgcmVuZGVyZWQgdmFsdWUgYW5kIHNlbGVjdGlvbiBzdGF0ZVxuICAgKi9cblxuICBwYXJzZUxpc3REYXRhKFxuICAgIGZpbHRlcjogT0NvbHVtblZhbHVlRmlsdGVyLFxuICAgIGNvbHVtbjogT0NvbHVtbixcbiAgICB0YWJsZURhdGE6IGFueVtdLFxuICAgIGlzUGFnZWFibGU6IGJvb2xlYW4sXG4gICAgc291cmNlRGF0YTogJ2N1cnJlbnQtcGFnZScgfCAnYWxsLWRhdGEnXG4gICk6IFRhYmxlRmlsdGVyQnlDb2x1bW5EYXRhW10ge1xuICAgIGNvbnN0IGNvbHVtbkRhdGE6IFRhYmxlRmlsdGVyQnlDb2x1bW5EYXRhW10gPSBbXTtcbiAgICBjb25zdCBjb2xSZW5kZXJlZFZhbHVlcyA9IHRoaXMuZ2V0Q29sdW1uRGF0YVVzaW5nUmVuZGVyZXIoY29sdW1uLCB0YWJsZURhdGEpO1xuICAgIGNvbnN0IHZhbHVlQ29sdW1uID0gY29sdW1uLnZhbHVlQ29sdW1uID8/IGNvbHVtbi5hdHRyO1xuICAgIGNvbnN0IGNvbFZhbHVlcyA9IHRhYmxlRGF0YS5tYXAoKGVsZW0pID0+IFV0aWwuZ2V0VmFsdWVGcm9tUGF0aChlbGVtLCB2YWx1ZUNvbHVtbikpO1xuXG4gICAgLy8gVXNlIHByZWRlZmluZWQgdmFsdWVzIGlmIGF2YWlsYWJsZSBpbiB0aGUgZmlsdGVyIGNvbmZpZ3VyYXRpb25cbiAgICBpZiAoVXRpbC5pc0RlZmluZWQoZmlsdGVyPy5hdmFpbGFibGVWYWx1ZXMpKSB7XG4gICAgICByZXR1cm4gZmlsdGVyLmF2YWlsYWJsZVZhbHVlcztcbiAgICB9XG5cbiAgICBjb2xSZW5kZXJlZFZhbHVlcy5mb3JFYWNoKChyZW5kZXJlZFZhbHVlLCBpKSA9PiB7XG5cbiAgICAgIHJlbmRlcmVkVmFsdWUgPSByZW5kZXJlZFZhbHVlID8/ICcnO1xuXG4gICAgICBjb25zdCBhbHJlYWR5RXhpc3RzID0gY29sdW1uRGF0YS5maW5kKGl0ZW0gPT4gaXRlbS5yZW5kZXJlZFZhbHVlID09PSByZW5kZXJlZFZhbHVlKTtcblxuICAgICAgLy8gQXZvaWQgZHVwbGljYXRlcyB1bmxlc3Mgd2UncmUgaW4gcGFnZWFibGUgbW9kZSBhbmQgcHJvY2Vzc2luZyBhbGwtZGF0YVxuICAgICAgaWYgKCFhbHJlYWR5RXhpc3RzIHx8IChpc1BhZ2VhYmxlICYmIHNvdXJjZURhdGEgPT09ICdhbGwtZGF0YScpKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gZmlsdGVyPy5vcGVyYXRvciA9PT0gQ29sdW1uVmFsdWVGaWx0ZXJPcGVyYXRvci5JTiAmJlxuICAgICAgICAgIChmaWx0ZXI/LnZhbHVlcyA/PyBbXSkuaW5jbHVkZXMoY29sVmFsdWVzW2ldKTtcblxuICAgICAgICBjb2x1bW5EYXRhLnB1c2goe1xuICAgICAgICAgIHJlbmRlcmVkVmFsdWUsXG4gICAgICAgICAgdmFsdWU6IGNvbFZhbHVlc1tpXSxcbiAgICAgICAgICByb3dWYWx1ZTogdGFibGVEYXRhW2ldLFxuICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgIHRhYmxlSW5kZXg6IGlcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGNvbHVtbkRhdGE7XG4gIH1cblxuICAvKipcbiAqIEFwcGxpZXMgc2VsZWN0ZWQgZmlsdGVyIHZhbHVlcyB0byBhIGdpdmVuIGNvbHVtbiBmaWx0ZXIuXG4gKiBVcGRhdGVzIG9wZXJhdG9yLCB2YWx1ZXMsIGF2YWlsYWJsZVZhbHVlcyBvciBmaWx0ZXJFeHByZXNzaW9uIGJhc2VkIG9uIHNvdXJjZSBkYXRhLlxuICpcbiAqIEBwYXJhbSBmaWx0ZXIgLSBUaGUgZmlsdGVyIG9iamVjdCB0byB1cGRhdGVcbiAqIEBwYXJhbSBzZWxlY3RlZFZhbHVlcyAtIExpc3Qgb2Ygc2VsZWN0ZWQgY29sdW1uIGRhdGEgZW50cmllc1xuICogQHBhcmFtIHNvdXJjZURhdGEgLSBJbmRpY2F0ZXMgd2hldGhlciBmaWx0ZXJpbmcgaXMgYmFzZWQgb24gY3VycmVudCBwYWdlIG9yIGFsbCBkYXRhXG4gKiBAcGFyYW0gY29sdW1uRGF0YSAtIEZ1bGwgbGlzdCBvZiBhdmFpbGFibGUgY29sdW1uIGZpbHRlciBkYXRhXG4gKiBAcGFyYW0gZ2V0Q29tcG9uZW50RmlsdGVyRm4gLSBGdW5jdGlvbiB0byByZXRyaWV2ZSB0aGUgY29tcG9uZW50IGZpbHRlciBleHByZXNzaW9uXG4gKi9cbiAgYXBwbHlTZWxlY3RlZFZhbHVlc1RvRmlsdGVyKFxuICAgIGNvbHVtbjogT0NvbHVtbixcbiAgICB0YWJsZURhdGE6IGFueVtdLFxuICAgIGZpbHRlcjogT0NvbHVtblZhbHVlRmlsdGVyLFxuICAgIHNlbGVjdGVkVmFsdWVzOiBUYWJsZUZpbHRlckJ5Q29sdW1uRGF0YVtdLFxuICAgIHNvdXJjZURhdGE6ICdjdXJyZW50LXBhZ2UnIHwgJ2FsbC1kYXRhJyxcbiAgICBpc1BhZ2VhYmxlOiBib29sZWFuLFxuICAgIGdldENvbXBvbmVudEZpbHRlckZuOiAoKSA9PiBhbnlcbiAgKTogdm9pZCB7XG4gICAgZmlsdGVyLm9wZXJhdG9yID0gQ29sdW1uVmFsdWVGaWx0ZXJPcGVyYXRvci5JTjtcbiAgICBmaWx0ZXIudmFsdWVzID0gc2VsZWN0ZWRWYWx1ZXMubWFwKGl0ZW0gPT4gaXRlbS52YWx1ZSk7XG5cbiAgICBpZiAoc291cmNlRGF0YSA9PT0gJ2N1cnJlbnQtcGFnZScpIHtcbiAgICAgIGZpbHRlci5hdmFpbGFibGVWYWx1ZXMgPSB0aGlzLnBhcnNlTGlzdERhdGEoZmlsdGVyLCBjb2x1bW4sIGZpbHRlci5hdmFpbGFibGVWYWx1ZXMgPz8gdGFibGVEYXRhLCBpc1BhZ2VhYmxlLCBzb3VyY2VEYXRhKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmlsdGVyLmZpbHRlckV4cHJlc2lvbiA9IGZpbHRlci5maWx0ZXJFeHByZXNpb24gfHwgZ2V0Q29tcG9uZW50RmlsdGVyRm4oKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1maWx0ZXItYnktY29sdW1uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9leHRlbnNpb25zL2RpYWxvZy9maWx0ZXItYnktY29sdW1uL28tdGFibGUtZmlsdGVyLWJ5LWNvbHVtbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFckQsT0FBTyxFQUFFLHlCQUF5QixFQUFzQixNQUFNLHVEQUF1RCxDQUFDO0FBRXRILE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOztBQUtwRixNQUFNLE9BQU8sMkJBQTJCO0lBQ3RDLGdCQUFnQixDQUFDO0lBTWpCLDBCQUEwQixDQUFDLE1BQWUsRUFBRSxTQUFnQixFQUFFLGNBQXdCLEVBQUUsU0FBaUI7UUFDdkcsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUVuRixPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDekIsSUFBSSxlQUFlLEVBQUU7Z0JBQ25CLE9BQU8sY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDcEU7aUJB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QUMsTUFBTSxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUM7UUFDbkUsSUFBSSxDQUFDLE9BQU8sSUFBSSxXQUFXLENBQUMsRUFBRTtZQUM1QixJQUFJLG9CQUFvQixHQUEwQixFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxDQUFDO1lBQ25LLE9BQU8sV0FBVyxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLENBQUM7U0FDM0Q7YUFBTTtZQUNMLE9BQU8sV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3JDO0lBRUgsQ0FBQztJQUdELDBCQUEwQixDQUN4QixNQUEwQixFQUMxQixNQUFlLEVBQ2YsU0FBZ0IsRUFDaEIsVUFBbUIsRUFDbkIsc0JBQXFDO1FBSXJDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLHNCQUFzQixDQUFDLENBQUM7UUFFckcsTUFBTSxjQUFjLEdBQUcsTUFBTSxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDNUMsS0FBSyxNQUFNLElBQUksSUFBSSxVQUFVLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyRDtRQUVELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7O3lIQTNMVSwyQkFBMkI7NkhBQTNCLDJCQUEyQjs0RkFBM0IsMkJBQTJCO2tCQUR2QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29sdW1uVmFsdWVGaWx0ZXJPcGVyYXRvciwgT0NvbHVtblZhbHVlRmlsdGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMvdGFibGUvby1jb2x1bW4tdmFsdWUtZmlsdGVyLnR5cGUnO1xuaW1wb3J0IHsgVGFibGVGaWx0ZXJCeUNvbHVtbkRhdGEgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi90eXBlcy90YWJsZS9vLXRhYmxlLWZpbHRlci1ieS1jb2x1bW4tZGF0YS50eXBlJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlsL3V0aWwnO1xuaW1wb3J0IHsgT0NvbHVtbiB9IGZyb20gJy4uLy4uLy4uL2NvbHVtbi9vLWNvbHVtbi5jbGFzcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU2VydmljZVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBGYWN0b3J5VXRpbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3V0aWwvZmFjdG9yeS51dGlsJztcbmltcG9ydCB7IE9Db25maWd1cmVTZXJ2aWNlQXJncyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3R5cGVzL2NvbmZpZ3VyZS1zZXJ2aWNlLWFyZ3MudHlwZSc7XG5pbXBvcnQgeyBPbnRpbWl6ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy9vbnRpbWl6ZS9vbnRpbWl6ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE9UYWJsZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9vLXRhYmxlLWJhc2UuY2xhc3MnO1xuaW1wb3J0IHsgT0ZpbHRlckNvbHVtbiB9IGZyb20gJy4uLy4uL2hlYWRlci90YWJsZS1jb2x1bW5zLWZpbHRlci9jb2x1bW5zL28tdGFibGUtY29sdW1ucy1maWx0ZXItY29sdW1uLmNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPVGFibGVGaWx0ZXJCeUNvbHVtblNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIC8qKlxuICogUmV0dXJucyB0aGUgZGlzcGxheWVkIChyZW5kZXJlZCkgdmFsdWVzIGZvciBhIGNvbHVtbiBmcm9tIHRoZSBnaXZlbiB0YWJsZSBkYXRhLlxuICogRmFsbHMgYmFjayB0byByYXcgdmFsdWUgaWYgbm8gcmVuZGVyZXIgaXMgZGVmaW5lZC5cbiAqL1xuICBnZXRDb2x1bW5EYXRhVXNpbmdSZW5kZXJlcihjb2x1bW46IE9Db2x1bW4sIHRhYmxlRGF0YTogYW55W10sIHZpc2libGVDb2x1bW5zOiBzdHJpbmdbXSwgc2VwYXJhdG9yOiBzdHJpbmcpOiBhbnlbXSB7XG4gICAgY29uc3QgdXNlQ3VzdG9tUmVuZGVyID0gQXJyYXkuaXNBcnJheSh2aXNpYmxlQ29sdW1ucykgJiYgdmlzaWJsZUNvbHVtbnMubGVuZ3RoID4gMDtcblxuICAgIHJldHVybiB0YWJsZURhdGEubWFwKHJvdyA9PiB7XG4gICAgICBpZiAodXNlQ3VzdG9tUmVuZGVyKSB7XG4gICAgICAgIHJldHVybiB2aXNpYmxlQ29sdW1ucy5tYXAoYXR0ciA9PiByb3dbYXR0cl0gPz8gJycpLmpvaW4oc2VwYXJhdG9yKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHJhd1ZhbHVlID0gcm93W2NvbHVtbi5hdHRyXTtcbiAgICAgICAgcmV0dXJuIGNvbHVtbi5yZW5kZXJlcj8uZ2V0Q2VsbERhdGE/LihyYXdWYWx1ZSwgcm93KSA/PyByYXdWYWx1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSB1bmlxdWUgbGlzdCBvZiBmaWx0ZXJhYmxlIGNvbHVtbiB2YWx1ZXMsIG9wdGlvbmFsbHkgbWFya2luZyBzZWxlY3RlZCBpdGVtcy5cbiAgICpcbiAgICogQHBhcmFtIGZpbHRlciAtIEN1cnJlbnQgZmlsdGVyIGNvbmZpZ3VyYXRpb24gKGNhbiBiZSBudWxsKVxuICAgKiBAcGFyYW0gY29sdW1uIC0gQ29sdW1uIGJlaW5nIGZpbHRlcmVkXG4gICAqIEBwYXJhbSB0YWJsZURhdGEgLSBEYXRhIHRvIGV4dHJhY3QgdmFsdWVzIGZyb20gKHBhZ2VkIG9yIGZ1bGwpXG4gICAqIEBwYXJhbSBpc1BhZ2VhYmxlIC0gV2hldGhlciB0aGUgdGFibGUgaXMgcGFnZWFibGVcbiAgICogQHBhcmFtIHNvdXJjZURhdGEgLSBJbmRpY2F0ZXMgd2hldGhlciBkYXRhIGNvbWVzIGZyb20gY3VycmVudCBwYWdlIG9yIGFsbCBkYXRhXG4gICAqIEByZXR1cm5zIExpc3Qgb2YgY29sdW1uIHZhbHVlcyB3aXRoIHRoZWlyIHJlbmRlcmVkIHZhbHVlIGFuZCBzZWxlY3Rpb24gc3RhdGVcbiAgICovXG5cbiAgcGFyc2VMaXN0RGF0YShcbiAgICBmaWx0ZXI6IE9Db2x1bW5WYWx1ZUZpbHRlcixcbiAgICBjb2x1bW46IE9Db2x1bW4sXG4gICAgdGFibGVEYXRhOiBhbnlbXSxcbiAgICBpc1BhZ2VhYmxlOiBib29sZWFuLFxuICAgIGZpbHRlckNvbHVtbkRlZmluaXRpb246IE9GaWx0ZXJDb2x1bW5cbiAgKTogVGFibGVGaWx0ZXJCeUNvbHVtbkRhdGFbXSB7XG4gICAgY29uc3QgY29sdW1uRGF0YTogVGFibGVGaWx0ZXJCeUNvbHVtbkRhdGFbXSA9IFtdO1xuICAgIGNvbnN0IHZpc2libGVDb2x1bW5zID0gZmlsdGVyQ29sdW1uRGVmaW5pdGlvbi52aXNpYmxlQ29sdW1ucztcbiAgICBjb25zdCBzZXBhcmF0b3IgPSBmaWx0ZXJDb2x1bW5EZWZpbml0aW9uLnNlcGFyYXRvcjtcbiAgICBjb25zdCBzb3VyY2VEYXRhID0gZmlsdGVyQ29sdW1uRGVmaW5pdGlvbi5maWx0ZXJWYWx1ZXNJbkRhdGE7XG4gICAgY29uc3QgY29sUmVuZGVyZWRWYWx1ZXMgPSB0aGlzLmdldENvbHVtbkRhdGFVc2luZ1JlbmRlcmVyKGNvbHVtbiwgdGFibGVEYXRhLCB2aXNpYmxlQ29sdW1ucywgc2VwYXJhdG9yKTtcblxuICAgIC8vIERpZmZlcmVudGlhdGVkIGxvZ2ljOiB1c2UgY29sdW1uLmF0dHIgaWYgY2FsbGVkIGZyb20gdGhlIGNvbnRleHQgbWVudSwgb3RoZXJ3aXNlIHVzZSB2YWx1ZUNvbHVtblxuICAgIGNvbnN0IHZhbHVlQ29sdW1uID1jb2x1bW4udmFsdWVDb2x1bW4gPz8gY29sdW1uLmF0dHI7XG4gICAgY29uc3QgY29sVmFsdWVzID0gdGFibGVEYXRhLm1hcCgoZWxlbSkgPT4gVXRpbC5nZXRWYWx1ZUZyb21QYXRoKGVsZW0sIHZhbHVlQ29sdW1uKSk7XG5cbiAgICAvLyBVc2UgcHJlZGVmaW5lZCB2YWx1ZXMgaWYgYXZhaWxhYmxlIGluIHRoZSBmaWx0ZXIgY29uZmlndXJhdGlvblxuICAgIGlmIChVdGlsLmlzRGVmaW5lZChmaWx0ZXI/LmF2YWlsYWJsZVZhbHVlcykpIHtcbiAgICAgIHJldHVybiBmaWx0ZXIuYXZhaWxhYmxlVmFsdWVzO1xuICAgIH1cblxuICAgIGNvbFJlbmRlcmVkVmFsdWVzLmZvckVhY2goKHJlbmRlcmVkVmFsdWUsIGkpID0+IHtcblxuICAgICAgcmVuZGVyZWRWYWx1ZSA9IHJlbmRlcmVkVmFsdWUgPz8gJyc7XG5cbiAgICAgIGNvbnN0IGFscmVhZHlFeGlzdHMgPSBjb2x1bW5EYXRhLmZpbmQoaXRlbSA9PiBpdGVtLnJlbmRlcmVkVmFsdWUgPT09IHJlbmRlcmVkVmFsdWUpO1xuXG4gICAgICAvLyBBdm9pZCBkdXBsaWNhdGVzIHVubGVzcyB3ZSdyZSBpbiBwYWdlYWJsZSBtb2RlIGFuZCBwcm9jZXNzaW5nIGFsbC1kYXRhXG4gICAgICBpZiAoIWFscmVhZHlFeGlzdHMgfHwgKGlzUGFnZWFibGUgJiYgc291cmNlRGF0YSA9PT0gJ2FsbC1kYXRhJykpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSBmaWx0ZXI/Lm9wZXJhdG9yID09PSBDb2x1bW5WYWx1ZUZpbHRlck9wZXJhdG9yLklOICYmXG4gICAgICAgICAgKGZpbHRlcj8udmFsdWVzID8/IFtdKS5pbmNsdWRlcyhjb2xWYWx1ZXNbaV0pO1xuXG4gICAgICAgIGNvbHVtbkRhdGEucHVzaCh7XG4gICAgICAgICAgcmVuZGVyZWRWYWx1ZSxcbiAgICAgICAgICB2YWx1ZTogY29sVmFsdWVzW2ldLFxuICAgICAgICAgIHJvd1ZhbHVlOiB0YWJsZURhdGFbaV0sXG4gICAgICAgICAgc2VsZWN0ZWQsXG4gICAgICAgICAgdGFibGVJbmRleDogaVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gY29sdW1uRGF0YTtcbiAgfVxuXG4gIC8qKlxuICogQXBwbGllcyBzZWxlY3RlZCBmaWx0ZXIgdmFsdWVzIHRvIGEgZ2l2ZW4gY29sdW1uIGZpbHRlci5cbiAqIFVwZGF0ZXMgb3BlcmF0b3IsIHZhbHVlcywgYXZhaWxhYmxlVmFsdWVzIG9yIGZpbHRlckV4cHJlc3Npb24gYmFzZWQgb24gc291cmNlIGRhdGEuXG4gKlxuICogQHBhcmFtIGZpbHRlciAtIFRoZSBmaWx0ZXIgb2JqZWN0IHRvIHVwZGF0ZVxuICogQHBhcmFtIHNlbGVjdGVkVmFsdWVzIC0gTGlzdCBvZiBzZWxlY3RlZCBjb2x1bW4gZGF0YSBlbnRyaWVzXG4gKiBAcGFyYW0gc291cmNlRGF0YSAtIEluZGljYXRlcyB3aGV0aGVyIGZpbHRlcmluZyBpcyBiYXNlZCBvbiBjdXJyZW50IHBhZ2Ugb3IgYWxsIGRhdGFcbiAqIEBwYXJhbSBjb2x1bW5EYXRhIC0gRnVsbCBsaXN0IG9mIGF2YWlsYWJsZSBjb2x1bW4gZmlsdGVyIGRhdGFcbiAqIEBwYXJhbSBnZXRDb21wb25lbnRGaWx0ZXJGbiAtIEZ1bmN0aW9uIHRvIHJldHJpZXZlIHRoZSBjb21wb25lbnQgZmlsdGVyIGV4cHJlc3Npb25cbiAqL1xuICBhcHBseVNlbGVjdGVkVmFsdWVzVG9GaWx0ZXIoXG4gICAgY29sdW1uOiBPQ29sdW1uLFxuICAgIHRhYmxlRGF0YTogYW55W10sXG4gICAgZmlsdGVyOiBPQ29sdW1uVmFsdWVGaWx0ZXIsXG4gICAgc2VsZWN0ZWRWYWx1ZXM6IFRhYmxlRmlsdGVyQnlDb2x1bW5EYXRhW10sXG4gICAgZmlsdGVyQnlDb2x1bW5EZWZpbml0aW9uOiBPRmlsdGVyQ29sdW1uLFxuICAgIGlzUGFnZWFibGU6IGJvb2xlYW4sXG4gICAgZ2V0Q29tcG9uZW50RmlsdGVyRm46ICgpID0+IGFueVxuICApOiB2b2lkIHtcbiAgICBmaWx0ZXIub3BlcmF0b3IgPSBDb2x1bW5WYWx1ZUZpbHRlck9wZXJhdG9yLklOO1xuICAgIGZpbHRlci52YWx1ZXMgPSBzZWxlY3RlZFZhbHVlcy5tYXAoaXRlbSA9PiBpdGVtLnZhbHVlKTtcblxuICAgIGNvbnN0IHNvdXJjZURhdGEgPSBmaWx0ZXJCeUNvbHVtbkRlZmluaXRpb24uZmlsdGVyVmFsdWVzSW5EYXRhO1xuICAgIGNvbnN0IGVmZmVjdGl2ZVNvdXJjZURhdGEgPSBzb3VyY2VEYXRhID8/ICdjdXJyZW50LXBhZ2UnO1xuICAgIGlmIChlZmZlY3RpdmVTb3VyY2VEYXRhKSB7XG4gICAgICBmaWx0ZXIuYXZhaWxhYmxlVmFsdWVzID0gdGhpcy5wYXJzZUxpc3REYXRhKGZpbHRlciwgY29sdW1uLCBmaWx0ZXIuYXZhaWxhYmxlVmFsdWVzID8/IHRhYmxlRGF0YSwgaXNQYWdlYWJsZSwgZmlsdGVyQnlDb2x1bW5EZWZpbml0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmlsdGVyLmZpbHRlckV4cHJlc2lvbiA9IGZpbHRlci5maWx0ZXJFeHByZXNpb24gfHwgZ2V0Q29tcG9uZW50RmlsdGVyRm4oKTtcbiAgICB9XG4gIH1cblxuICBnZXREYXRhRm9yQ29sdW1uRmlsdGVyKFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICB0YWJsZTogT1RhYmxlQmFzZSxcbiAgICBjb2x1bW46IE9Db2x1bW4sXG4gICAgZmlsdGVyQ29sdW1uRGVmaW5pdGlvbjogT0ZpbHRlckNvbHVtblxuICApOiBPYnNlcnZhYmxlPGFueVtdPiB7XG4gICAgaWYgKGZpbHRlckNvbHVtbkRlZmluaXRpb24uZmlsdGVyVmFsdWVzSW5EYXRhID09PSAnY3VycmVudC1wYWdlJykge1xuICAgICAgLy8gR2V0IGRhdGEgb25seSBmcm9tIHRoZSBjdXJyZW50IHBhZ2VcbiAgICAgIHJldHVybiBvZih0YWJsZS5nZXRWYWx1ZSgpKTtcbiAgICB9XG5cbiAgICBpZiAodGFibGUucGFnZWFibGUpIHtcbiAgICAgIGNvbnN0IHByZXZpb3VzRmlsdGVyID0gdGFibGUuZGF0YVNvdXJjZS5nZXRDb2x1bW5WYWx1ZUZpbHRlckJ5QXR0cihjb2x1bW4uYXR0cik7XG4gICAgICAvLyBHZXQgYWxsIHBhZ2luYXRlZCBkYXRhIHVzaW5nIHRoZSByZW1vdGUgc2VydmljZVxuICAgICAgY29uc3Qga3YgPSBwcmV2aW91c0ZpbHRlcj8uZmlsdGVyRXhwcmVzaW9uIHx8IHRhYmxlLmdldENvbXBvbmVudEZpbHRlcigpO1xuICAgICAgY29uc3QgYXYgPSBbY29sdW1uLmF0dHJdO1xuICAgICAgY29uc3Qgc3FsVHlwZXMgPSBVdGlsLmlzRGVmaW5lZChrdikgJiYgIVV0aWwuaXNPYmplY3RFbXB0eShrdilcbiAgICAgICAgPyB0YWJsZS5nZXRTcWxUeXBlcygpXG4gICAgICAgIDoge307XG4gICAgICBjb25zdCBlbnRpdHkgPSBmaWx0ZXJDb2x1bW5EZWZpbml0aW9uLmVudGl0eSA/PyB0YWJsZS5lbnRpdHk7XG5cbiAgICAgIGNvbnN0IGNvbHVtblF1ZXJ5QXJncyA9IFtrdiwgYXYsIGVudGl0eSwgc3FsVHlwZXNdO1xuICAgICAgY29uc3Qgc2VydmljZSA9IHRoaXMuY29uZmlndXJlU2VydmljZShpbmplY3RvciwgZmlsdGVyQ29sdW1uRGVmaW5pdGlvbiwgdGFibGUpO1xuICAgICAgY29uc3QgcXVlcnlNZXRob2ROYW1lID0gZmlsdGVyQ29sdW1uRGVmaW5pdGlvbi5xdWVyeU1ldGhvZCA/PyAgdGFibGUucXVlcnlNZXRob2Q7XG5cblxuICAgICAgaWYgKHNlcnZpY2UgJiYgcXVlcnlNZXRob2ROYW1lICYmIHR5cGVvZiBzZXJ2aWNlW3F1ZXJ5TWV0aG9kTmFtZV0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0JCA9IHNlcnZpY2VbcXVlcnlNZXRob2ROYW1lXSguLi5jb2x1bW5RdWVyeUFyZ3MpIGFzIE9ic2VydmFibGU8U2VydmljZVJlc3BvbnNlPjtcblxuICAgICAgICAvLyBDb252ZXJ0IFNlcnZpY2VSZXNwb25zZSBpbnRvIGEgZGF0YSBhcnJheVxuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8YW55W10+KG9ic2VydmVyID0+IHtcbiAgICAgICAgICByZXN1bHQkLnN1YnNjcmliZSh7XG4gICAgICAgICAgICBuZXh0OiByZXMgPT4gb2JzZXJ2ZXIubmV4dChyZXM/LmlzU3VjY2Vzc2Z1bCgpID8gcmVzLmRhdGEgOiBbXSksXG4gICAgICAgICAgICBlcnJvcjogZXJyID0+IHtcbiAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignW0ZpbHRlclNlcnZpY2VdIEVycm9yIGFsIGNvbnN1bHRhciBkYXRvcyBkZWwgZmlsdHJvOicsIGVycik7XG4gICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoW10pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiBvYnNlcnZlci5jb21wbGV0ZSgpXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gb2YoW10pOyAvLyBmYWxsYmFja1xuICAgIH1cblxuICAgIC8vIFNpIGxhIHRhYmxhIG5vIGVzIHBhZ2VhYmxlLCBkZXZ1ZWx2ZSB0b2RvcyBsb3MgdmFsb3JlcyBlbiBtZW1vcmlhXG4gICAgcmV0dXJuIG9mKHRhYmxlLmdldEFsbFZhbHVlcygpKTtcbiAgfVxuXG4gIGNvbmZpZ3VyZVNlcnZpY2UoaW5qZWN0b3I6IEluamVjdG9yLCBmaWx0ZXJDb2x1bW5EZWZpbml0aW9uOiBPRmlsdGVyQ29sdW1uLCB0YWJsZUVudGl0eTogT1RhYmxlQmFzZSkge1xuICAgIGNvbnN0IHNlcnZpY2UgPSBmaWx0ZXJDb2x1bW5EZWZpbml0aW9uLnNlcnZpY2U7XG4gICAgY29uc3Qgc2VydmljZVR5cGUgPSBmaWx0ZXJDb2x1bW5EZWZpbml0aW9uLnNlcnZpY2VUeXBlO1xuICAgIGNvbnN0IGVudGl0eSA9IGZpbHRlckNvbHVtbkRlZmluaXRpb24uZW50aXR5ID8/IHRhYmxlRW50aXR5LmVudGl0eTtcbiAgICBpZiAoKHNlcnZpY2UgfHwgc2VydmljZVR5cGUpKSB7XG4gICAgICBsZXQgY29uZmlndXJlU2VydmljZUFyZ3M6IE9Db25maWd1cmVTZXJ2aWNlQXJncyA9IHsgaW5qZWN0b3I6IGluamVjdG9yLCBiYXNlU2VydmljZTogT250aW1pemVTZXJ2aWNlLCBlbnRpdHk6IGVudGl0eSwgc2VydmljZTogc2VydmljZSwgc2VydmljZVR5cGU6IHNlcnZpY2VUeXBlIH07XG4gICAgICByZXR1cm4gRmFjdG9yeVV0aWwuY29uZmlndXJlU2VydmljZShjb25maWd1cmVTZXJ2aWNlQXJncyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0YWJsZUVudGl0eS5nZXREYXRhU2VydmljZSgpO1xuICAgIH1cblxuICB9XG5cblxuICBpbml0aWFsaXplQ29sdW1uRmlsdGVyRGF0YShcbiAgICBmaWx0ZXI6IE9Db2x1bW5WYWx1ZUZpbHRlcixcbiAgICBjb2x1bW46IE9Db2x1bW4sXG4gICAgdGFibGVEYXRhOiBhbnlbXSxcbiAgICBpc1BhZ2VhYmxlOiBib29sZWFuLFxuICAgIGZpbHRlckNvbHVtbkRlZmluaXRpb246IE9GaWx0ZXJDb2x1bW5cbiAgICAvL2NvbnRleHRTb3VyY2U6ICdtb2RhbCcgfCAnY29udGV4dC1tZW51JyA9ICdtb2RhbCdcbiAgKTogVGFibGVGaWx0ZXJCeUNvbHVtbkRhdGFbXSB7XG5cbiAgICBjb25zdCBjb2x1bW5EYXRhID0gdGhpcy5wYXJzZUxpc3REYXRhKGZpbHRlciwgY29sdW1uLCB0YWJsZURhdGEsIGlzUGFnZWFibGUsIGZpbHRlckNvbHVtbkRlZmluaXRpb24pO1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRWYWx1ZXMgPSBmaWx0ZXI/LnZhbHVlcyA/PyBbXTtcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgY29sdW1uRGF0YSkge1xuICAgICAgaXRlbS5zZWxlY3RlZCA9IHNlbGVjdGVkVmFsdWVzLmluY2x1ZGVzKGl0ZW0udmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiBjb2x1bW5EYXRhO1xuICB9XG59XG4iXX0=
@@ -36,9 +36,9 @@ export class OTableGroupByColumnsDialogComponent {
36
36
  return this.dualListSelector.getGroupedColumnTypes();
37
37
  }
38
38
  }
39
- OTableGroupByColumnsDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OTableGroupByColumnsDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
40
- OTableGroupByColumnsDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OTableGroupByColumnsDialogComponent, selector: "o-table-group-by-columns-dialog", host: { properties: { "class.o-table-group-by-column-dialog": "true" } }, viewQueries: [{ propertyName: "dualListSelector", first: true, predicate: ["dualListSelector"], descendants: true }], ngImport: i0, template: "<span mat-dialog-title>{{ 'TABLE.BUTTONS.GROUPBY' | oTranslate }}</span>\n\n<mat-dialog-content>\n <o-dual-list-selector #dualListSelector [data-source]=\"columns\" [data-destination]=\"groupedColumns\" [grouped-column-types]=\"groupedColumnTypes\"\n key=\"attr\" display=\"title\" title-list-data-source=\"TABLE_GROUP_BY_COLUMNS_DIALOG.ALL_COLUMNS\"\n title-list-data-destination=\"TABLE_GROUP_BY_COLUMNS_DIALOG.GROUPED_COLUMNS\" description=\"TABLE_GROUP_BY_COLUMNS_DIALOG.DESCRIPTION\" fxFlexFill>\n </o-dual-list-selector>\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayoutAlign=\"end center\">\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"false\" class=\"o-button-default cancel\">{{ 'CANCEL' | oTranslate }}</button>\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"true\" class=\"o-button-primary\">{{ 'ACCEPT' | oTranslate }}</button>\n</mat-dialog-actions>\n", styles: [".o-table-group-by-column-dialog{display:flex;flex-direction:column;height:100%}.o-table-group-by-column-dialog .mat-mdc-dialog-content{flex:1}\n"], dependencies: [{ kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i4.ODualListSelectorComponent, selector: "o-dual-list-selector", inputs: ["key", "display", "data-source", "data-destination", "title-list-data-source", "title-list-data-destination", "grouped-column-types", "description"] }, { kind: "pipe", type: i5.OTranslatePipe, name: "oTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OTableGroupByColumnsDialogComponent, decorators: [{
39
+ OTableGroupByColumnsDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableGroupByColumnsDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
40
+ OTableGroupByColumnsDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OTableGroupByColumnsDialogComponent, selector: "o-table-group-by-columns-dialog", host: { properties: { "class.o-table-group-by-column-dialog": "true" } }, viewQueries: [{ propertyName: "dualListSelector", first: true, predicate: ["dualListSelector"], descendants: true }], ngImport: i0, template: "<span mat-dialog-title>{{ 'TABLE.BUTTONS.GROUPBY' | oTranslate }}</span>\n\n<mat-dialog-content>\n <o-dual-list-selector #dualListSelector [data-source]=\"columns\" [data-destination]=\"groupedColumns\" [grouped-column-types]=\"groupedColumnTypes\"\n key=\"attr\" display=\"title\" title-list-data-source=\"TABLE_GROUP_BY_COLUMNS_DIALOG.ALL_COLUMNS\"\n title-list-data-destination=\"TABLE_GROUP_BY_COLUMNS_DIALOG.GROUPED_COLUMNS\" description=\"TABLE_GROUP_BY_COLUMNS_DIALOG.DESCRIPTION\" fxFlexFill>\n </o-dual-list-selector>\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayoutAlign=\"end center\">\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"false\" class=\"o-button-default cancel\">{{ 'CANCEL' | oTranslate }}</button>\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"true\" class=\"o-button-primary\">{{ 'ACCEPT' | oTranslate }}</button>\n</mat-dialog-actions>\n", styles: [".o-table-group-by-column-dialog{display:flex;flex-direction:column;height:100%}.o-table-group-by-column-dialog .mat-mdc-dialog-content{flex:1}\n"], dependencies: [{ kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i4.ODualListSelectorComponent, selector: "o-dual-list-selector", inputs: ["key", "display", "data-source", "data-destination", "title-list-data-source", "title-list-data-destination", "grouped-column-types", "description"] }, { kind: "pipe", type: i5.OTranslatePipe, name: "oTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableGroupByColumnsDialogComponent, decorators: [{
42
42
  type: Component,
43
43
  args: [{ selector: 'o-table-group-by-columns-dialog', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
44
44
  '[class.o-table-group-by-column-dialog]': 'true'
@@ -50,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
50
50
  type: ViewChild,
51
51
  args: ['dualListSelector']
52
52
  }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1ncm91cC1ieS1jb2x1bW5zLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9leHRlbnNpb25zL2RpYWxvZy9ncm91cC1ieS1jb2x1bW5zL28tdGFibGUtZ3JvdXAtYnktY29sdW1ucy1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvZXh0ZW5zaW9ucy9kaWFsb2cvZ3JvdXAtYnktY29sdW1ucy9vLXRhYmxlLWdyb3VwLWJ5LWNvbHVtbnMtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQWNoRCxNQUFNLE9BQU8sbUNBQW1DO0lBUTlDLFlBQ1MsU0FBNEQsRUFDMUMsSUFBUztRQUQzQixjQUFTLEdBQVQsU0FBUyxDQUFtRDtRQVA5RCxZQUFPLEdBQW1CLEVBQUUsQ0FBQztRQUM3QixtQkFBYyxHQUFtQixFQUFFLENBQUM7UUFDcEMsdUJBQWtCLEdBQTBCLEVBQUUsQ0FBQztRQVNwRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDaEYsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFO2dCQUM3RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVksRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztnQkFDakYsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDLEVBQUU7b0JBQ2pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDbkM7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQWEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUU5SjtRQUNELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRTtZQUMzQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1NBQ25EO0lBQ0gsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ3ZELENBQUM7O2dJQXRDVSxtQ0FBbUMsOENBVXBDLGVBQWU7b0hBVmQsbUNBQW1DLHVRQ2pCaEQseTVCQWFBOzJGRElhLG1DQUFtQztrQkFWL0MsU0FBUzsrQkFDRSxpQ0FBaUMsaUJBRzVCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osd0NBQXdDLEVBQUUsTUFBTTtxQkFDakQ7OzBCQVlFLE1BQU07MkJBQUMsZUFBZTs0Q0FKTSxnQkFBZ0I7c0JBQTlDLFNBQVM7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBPR3JvdXBlZENvbHVtblR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgdHlwZSB7IE9Db2x1bW4gfSBmcm9tICcuLi8uLi8uLi9jb2x1bW4vby1jb2x1bW4uY2xhc3MnO1xuaW1wb3J0IHR5cGUgeyBPRHVhbExpc3RTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2R1YWwtbGlzdC1zZWxlY3Rvci9vLWR1YWwtbGlzdC1zZWxlY3Rvci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvLXRhYmxlLWdyb3VwLWJ5LWNvbHVtbnMtZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICdvLXRhYmxlLWdyb3VwLWJ5LWNvbHVtbnMtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ28tdGFibGUtZ3JvdXAtYnktY29sdW1ucy1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLm8tdGFibGUtZ3JvdXAtYnktY29sdW1uLWRpYWxvZ10nOiAndHJ1ZSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBPVGFibGVHcm91cEJ5Q29sdW1uc0RpYWxvZ0NvbXBvbmVudCB7XG5cbiAgcHVibGljIGNvbHVtbnM6IEFycmF5PE9Db2x1bW4+ID0gW107XG4gIHB1YmxpYyBncm91cGVkQ29sdW1uczogQXJyYXk8T0NvbHVtbj4gPSBbXTtcbiAgcHVibGljIGdyb3VwZWRDb2x1bW5UeXBlczogT0dyb3VwZWRDb2x1bW5UeXBlc1tdID0gW107XG5cbiAgQFZpZXdDaGlsZCgnZHVhbExpc3RTZWxlY3RvcicpIGR1YWxMaXN0U2VsZWN0b3I6IE9EdWFsTGlzdFNlbGVjdG9yQ29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxPVGFibGVHcm91cEJ5Q29sdW1uc0RpYWxvZ0NvbXBvbmVudD4sXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIGRhdGE6IGFueVxuICApIHtcblxuICAgIGlmIChVdGlsLmlzQXJyYXkoZGF0YS5ncm91cGVkQ29sdW1ucykgJiYgIVV0aWwuaXNBcnJheUVtcHR5KGRhdGEuZ3JvdXBlZENvbHVtbnMpKSB7XG4gICAgICB0aGlzLmdyb3VwZWRDb2x1bW5zID0gZGF0YS5ncm91cGVkQ29sdW1ucy5tYXAoKGF0dHI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBpbmRleENvbCA9IGRhdGEuY29sdW1uc0RhdGEuZmluZEluZGV4KChjb2w6IE9Db2x1bW4pID0+IGNvbC5hdHRyID09PSBhdHRyKTtcbiAgICAgICAgaWYgKGluZGV4Q29sID4gLTEpIHtcbiAgICAgICAgICByZXR1cm4gZGF0YS5jb2x1bW5zRGF0YVtpbmRleENvbF07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIGlmIChVdGlsLmlzQXJyYXkoZGF0YS5jb2x1bW5zRGF0YSkpIHtcbiAgICAgIHRoaXMuY29sdW1ucyA9IGRhdGEuY29sdW1uc0RhdGEuZmlsdGVyKChvQ29sOiBPQ29sdW1uKSA9PiBvQ29sLnZpc2libGUgJiYgb0NvbC5ncm91cGFibGUgJiYgc2VsZi5ncm91cGVkQ29sdW1ucy5maW5kSW5kZXgoeCA9PiB4LmF0dHIgPT09IG9Db2wuYXR0cikgPT09IC0xKTtcblxuICAgIH1cbiAgICBpZiAoVXRpbC5pc0RlZmluZWQoZGF0YS5ncm91cGVkQ29sdW1uVHlwZXMpKSB7XG4gICAgICB0aGlzLmdyb3VwZWRDb2x1bW5UeXBlcyA9IGRhdGEuZ3JvdXBlZENvbHVtblR5cGVzO1xuICAgIH1cbiAgfVxuXG4gIGdldEdyb3VwZWRDb2x1bW5zKCk6IEFycmF5PHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmR1YWxMaXN0U2VsZWN0b3IuZ2V0U2VsZWN0ZWRJdGVtcygpLm1hcCgob0NvbDogT0NvbHVtbikgPT4gb0NvbC5hdHRyKTtcbiAgfVxuXG4gIGdldEdyb3VwZWRDb2x1bW5UeXBlcygpOiBPR3JvdXBlZENvbHVtblR5cGVzW10ge1xuICAgIHJldHVybiB0aGlzLmR1YWxMaXN0U2VsZWN0b3IuZ2V0R3JvdXBlZENvbHVtblR5cGVzKCk7XG4gIH1cbn1cbiIsIjxzcGFuIG1hdC1kaWFsb2ctdGl0bGU+e3sgJ1RBQkxFLkJVVFRPTlMuR1JPVVBCWScgfCBvVHJhbnNsYXRlIH19PC9zcGFuPlxuXG48bWF0LWRpYWxvZy1jb250ZW50PlxuICA8by1kdWFsLWxpc3Qtc2VsZWN0b3IgI2R1YWxMaXN0U2VsZWN0b3IgW2RhdGEtc291cmNlXT1cImNvbHVtbnNcIiBbZGF0YS1kZXN0aW5hdGlvbl09XCJncm91cGVkQ29sdW1uc1wiIFtncm91cGVkLWNvbHVtbi10eXBlc109XCJncm91cGVkQ29sdW1uVHlwZXNcIlxuICAgIGtleT1cImF0dHJcIiBkaXNwbGF5PVwidGl0bGVcIiB0aXRsZS1saXN0LWRhdGEtc291cmNlPVwiVEFCTEVfR1JPVVBfQllfQ09MVU1OU19ESUFMT0cuQUxMX0NPTFVNTlNcIlxuICAgIHRpdGxlLWxpc3QtZGF0YS1kZXN0aW5hdGlvbj1cIlRBQkxFX0dST1VQX0JZX0NPTFVNTlNfRElBTE9HLkdST1VQRURfQ09MVU1OU1wiIGRlc2NyaXB0aW9uPVwiVEFCTEVfR1JPVVBfQllfQ09MVU1OU19ESUFMT0cuREVTQ1JJUFRJT05cIiBmeEZsZXhGaWxsPlxuICA8L28tZHVhbC1saXN0LXNlbGVjdG9yPlxuPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG5cbjxtYXQtZGlhbG9nLWFjdGlvbnMgZnhMYXlvdXRBbGlnbj1cImVuZCBjZW50ZXJcIj5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LXN0cm9rZWQtYnV0dG9uIFttYXQtZGlhbG9nLWNsb3NlXT1cImZhbHNlXCIgY2xhc3M9XCJvLWJ1dHRvbi1kZWZhdWx0IGNhbmNlbFwiPnt7ICdDQU5DRUwnIHwgb1RyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwidHJ1ZVwiIGNsYXNzPVwiby1idXR0b24tcHJpbWFyeVwiPnt7ICdBQ0NFUFQnIHwgb1RyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuPC9tYXQtZGlhbG9nLWFjdGlvbnM+XG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1ncm91cC1ieS1jb2x1bW5zLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9leHRlbnNpb25zL2RpYWxvZy9ncm91cC1ieS1jb2x1bW5zL28tdGFibGUtZ3JvdXAtYnktY29sdW1ucy1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvZXh0ZW5zaW9ucy9kaWFsb2cvZ3JvdXAtYnktY29sdW1ucy9vLXRhYmxlLWdyb3VwLWJ5LWNvbHVtbnMtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQWNoRCxNQUFNLE9BQU8sbUNBQW1DO0lBUTlDLFlBQ1MsU0FBNEQsRUFDMUMsSUFBUztRQUQzQixjQUFTLEdBQVQsU0FBUyxDQUFtRDtRQVA5RCxZQUFPLEdBQW1CLEVBQUUsQ0FBQztRQUM3QixtQkFBYyxHQUFtQixFQUFFLENBQUM7UUFDcEMsdUJBQWtCLEdBQTBCLEVBQUUsQ0FBQztRQVNwRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDaEYsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFO2dCQUM3RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVksRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztnQkFDakYsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDLEVBQUU7b0JBQ2pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDbkM7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQWEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUU5SjtRQUNELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRTtZQUMzQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1NBQ25EO0lBQ0gsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVELHFCQUFxQjtRQUNuQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ3ZELENBQUM7O2lJQXRDVSxtQ0FBbUMsOENBVXBDLGVBQWU7cUhBVmQsbUNBQW1DLHVRQ2pCaEQseTVCQWFBOzRGRElhLG1DQUFtQztrQkFWL0MsU0FBUzsrQkFDRSxpQ0FBaUMsaUJBRzVCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osd0NBQXdDLEVBQUUsTUFBTTtxQkFDakQ7OzBCQVlFLE1BQU07MkJBQUMsZUFBZTs0Q0FKTSxnQkFBZ0I7c0JBQTlDLFNBQVM7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBPR3JvdXBlZENvbHVtblR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMvby1ncm91cGVkLWNvbHVtbi10eXBlcy50eXBlJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlsL3V0aWwnO1xuaW1wb3J0IHR5cGUgeyBPQ29sdW1uIH0gZnJvbSAnLi4vLi4vLi4vY29sdW1uL28tY29sdW1uLmNsYXNzJztcbmltcG9ydCB0eXBlIHsgT0R1YWxMaXN0U2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9kdWFsLWxpc3Qtc2VsZWN0b3Ivby1kdWFsLWxpc3Qtc2VsZWN0b3IuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnby10YWJsZS1ncm91cC1ieS1jb2x1bW5zLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnby10YWJsZS1ncm91cC1ieS1jb2x1bW5zLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydvLXRhYmxlLWdyb3VwLWJ5LWNvbHVtbnMtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5vLXRhYmxlLWdyb3VwLWJ5LWNvbHVtbi1kaWFsb2ddJzogJ3RydWUnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgT1RhYmxlR3JvdXBCeUNvbHVtbnNEaWFsb2dDb21wb25lbnQge1xuXG4gIHB1YmxpYyBjb2x1bW5zOiBBcnJheTxPQ29sdW1uPiA9IFtdO1xuICBwdWJsaWMgZ3JvdXBlZENvbHVtbnM6IEFycmF5PE9Db2x1bW4+ID0gW107XG4gIHB1YmxpYyBncm91cGVkQ29sdW1uVHlwZXM6IE9Hcm91cGVkQ29sdW1uVHlwZXNbXSA9IFtdO1xuXG4gIEBWaWV3Q2hpbGQoJ2R1YWxMaXN0U2VsZWN0b3InKSBkdWFsTGlzdFNlbGVjdG9yOiBPRHVhbExpc3RTZWxlY3RvckNvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8T1RhYmxlR3JvdXBCeUNvbHVtbnNEaWFsb2dDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBkYXRhOiBhbnlcbiAgKSB7XG5cbiAgICBpZiAoVXRpbC5pc0FycmF5KGRhdGEuZ3JvdXBlZENvbHVtbnMpICYmICFVdGlsLmlzQXJyYXlFbXB0eShkYXRhLmdyb3VwZWRDb2x1bW5zKSkge1xuICAgICAgdGhpcy5ncm91cGVkQ29sdW1ucyA9IGRhdGEuZ3JvdXBlZENvbHVtbnMubWFwKChhdHRyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgaW5kZXhDb2wgPSBkYXRhLmNvbHVtbnNEYXRhLmZpbmRJbmRleCgoY29sOiBPQ29sdW1uKSA9PiBjb2wuYXR0ciA9PT0gYXR0cik7XG4gICAgICAgIGlmIChpbmRleENvbCA+IC0xKSB7XG4gICAgICAgICAgcmV0dXJuIGRhdGEuY29sdW1uc0RhdGFbaW5kZXhDb2xdO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICBpZiAoVXRpbC5pc0FycmF5KGRhdGEuY29sdW1uc0RhdGEpKSB7XG4gICAgICB0aGlzLmNvbHVtbnMgPSBkYXRhLmNvbHVtbnNEYXRhLmZpbHRlcigob0NvbDogT0NvbHVtbikgPT4gb0NvbC52aXNpYmxlICYmIG9Db2wuZ3JvdXBhYmxlICYmIHNlbGYuZ3JvdXBlZENvbHVtbnMuZmluZEluZGV4KHggPT4geC5hdHRyID09PSBvQ29sLmF0dHIpID09PSAtMSk7XG5cbiAgICB9XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKGRhdGEuZ3JvdXBlZENvbHVtblR5cGVzKSkge1xuICAgICAgdGhpcy5ncm91cGVkQ29sdW1uVHlwZXMgPSBkYXRhLmdyb3VwZWRDb2x1bW5UeXBlcztcbiAgICB9XG4gIH1cblxuICBnZXRHcm91cGVkQ29sdW1ucygpOiBBcnJheTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5kdWFsTGlzdFNlbGVjdG9yLmdldFNlbGVjdGVkSXRlbXMoKS5tYXAoKG9Db2w6IE9Db2x1bW4pID0+IG9Db2wuYXR0cik7XG4gIH1cblxuICBnZXRHcm91cGVkQ29sdW1uVHlwZXMoKTogT0dyb3VwZWRDb2x1bW5UeXBlc1tdIHtcbiAgICByZXR1cm4gdGhpcy5kdWFsTGlzdFNlbGVjdG9yLmdldEdyb3VwZWRDb2x1bW5UeXBlcygpO1xuICB9XG59XG4iLCI8c3BhbiBtYXQtZGlhbG9nLXRpdGxlPnt7ICdUQUJMRS5CVVRUT05TLkdST1VQQlknIHwgb1RyYW5zbGF0ZSB9fTwvc3Bhbj5cblxuPG1hdC1kaWFsb2ctY29udGVudD5cbiAgPG8tZHVhbC1saXN0LXNlbGVjdG9yICNkdWFsTGlzdFNlbGVjdG9yIFtkYXRhLXNvdXJjZV09XCJjb2x1bW5zXCIgW2RhdGEtZGVzdGluYXRpb25dPVwiZ3JvdXBlZENvbHVtbnNcIiBbZ3JvdXBlZC1jb2x1bW4tdHlwZXNdPVwiZ3JvdXBlZENvbHVtblR5cGVzXCJcbiAgICBrZXk9XCJhdHRyXCIgZGlzcGxheT1cInRpdGxlXCIgdGl0bGUtbGlzdC1kYXRhLXNvdXJjZT1cIlRBQkxFX0dST1VQX0JZX0NPTFVNTlNfRElBTE9HLkFMTF9DT0xVTU5TXCJcbiAgICB0aXRsZS1saXN0LWRhdGEtZGVzdGluYXRpb249XCJUQUJMRV9HUk9VUF9CWV9DT0xVTU5TX0RJQUxPRy5HUk9VUEVEX0NPTFVNTlNcIiBkZXNjcmlwdGlvbj1cIlRBQkxFX0dST1VQX0JZX0NPTFVNTlNfRElBTE9HLkRFU0NSSVBUSU9OXCIgZnhGbGV4RmlsbD5cbiAgPC9vLWR1YWwtbGlzdC1zZWxlY3Rvcj5cbjwvbWF0LWRpYWxvZy1jb250ZW50PlxuXG48bWF0LWRpYWxvZy1hY3Rpb25zIGZ4TGF5b3V0QWxpZ249XCJlbmQgY2VudGVyXCI+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1zdHJva2VkLWJ1dHRvbiBbbWF0LWRpYWxvZy1jbG9zZV09XCJmYWxzZVwiIGNsYXNzPVwiby1idXR0b24tZGVmYXVsdCBjYW5jZWxcIj57eyAnQ0FOQ0VMJyB8IG9UcmFuc2xhdGUgfX08L2J1dHRvbj5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LXN0cm9rZWQtYnV0dG9uIFttYXQtZGlhbG9nLWNsb3NlXT1cInRydWVcIiBjbGFzcz1cIm8tYnV0dG9uLXByaW1hcnlcIj57eyAnQUNDRVBUJyB8IG9UcmFuc2xhdGUgfX08L2J1dHRvbj5cbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuIl19
@@ -38,12 +38,12 @@ export class OTableBaseDialogClass {
38
38
  return fControl && fControl.touched && fControl.hasError(error);
39
39
  }
40
40
  }
41
- OTableBaseDialogClass.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OTableBaseDialogClass, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
42
- OTableBaseDialogClass.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: OTableBaseDialogClass, viewQueries: [{ propertyName: "oMatErrorChildren", predicate: OMatErrorDirective, descendants: true }], ngImport: i0 });
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OTableBaseDialogClass, decorators: [{
41
+ OTableBaseDialogClass.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableBaseDialogClass, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
42
+ OTableBaseDialogClass.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: OTableBaseDialogClass, viewQueries: [{ propertyName: "oMatErrorChildren", predicate: OMatErrorDirective, descendants: true }], ngImport: i0 });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableBaseDialogClass, decorators: [{
44
44
  type: Directive
45
45
  }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { oMatErrorChildren: [{
46
46
  type: ViewChildren,
47
47
  args: [OMatErrorDirective]
48
48
  }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1iYXNlLWRpYWxvZy5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL2V4dGVuc2lvbnMvZGlhbG9nL28tdGFibGUtYmFzZS1kaWFsb2cuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUVsRixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFHN0MsTUFBTSxPQUFPLHFCQUFxQjtJQU9oQyxZQUFzQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ3RDLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVTLGNBQWMsQ0FBQyxXQUE0QjtRQUNuRCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsSUFBSSxNQUFjLENBQUM7UUFDbkIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLGdCQUFnQixDQUFDO1FBQ3BFLElBQUksU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFO1lBQ2hGLE1BQU0sR0FBRyx1QkFBdUIsQ0FBQztTQUNsQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixJQUFJLE1BQWMsQ0FBQztRQUNuQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsZ0JBQWdCLENBQUM7UUFDcEUsSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzNHLE1BQU0sR0FBRyxJQUFJLENBQUMsaUJBQWlCO2lCQUM1QixNQUFNLENBQUMsQ0FBQyxTQUE2QixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDekUsR0FBRyxDQUFDLENBQUMsU0FBNkIsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztpQkFDdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2Y7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRVMsb0JBQW9CO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pILENBQUM7SUFFTSxRQUFRLENBQUMsUUFBeUIsRUFBRSxLQUFhO1FBQ3RELE9BQU8sUUFBUSxJQUFJLFFBQVEsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRSxDQUFDOztrSEExQ1UscUJBQXFCO3NHQUFyQixxQkFBcUIsZ0VBR2xCLGtCQUFrQjsyRkFIckIscUJBQXFCO2tCQURqQyxTQUFTOytGQUtFLGlCQUFpQjtzQkFEMUIsWUFBWTt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRyZW4sIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBPTWF0RXJyb3JEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kaXJlY3RpdmVzL28tbWF0LWVycm9yLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBPTWF0RXJyb3JPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vLi4vdHlwZXMvby1tYXQtZXJyb3IudHlwZSc7XG5pbXBvcnQgeyBDb2RlcyB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWwvY29kZXMnO1xuaW1wb3J0IHsgRXJyb3JzVXRpbHMgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlsL2Vycm9ycyc7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbC91dGlsJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgT1RhYmxlQmFzZURpYWxvZ0NsYXNzIHtcblxuICBwcm90ZWN0ZWQgZXJyb3JPcHRpb25zOiBPTWF0RXJyb3JPcHRpb25zO1xuICBAVmlld0NoaWxkcmVuKE9NYXRFcnJvckRpcmVjdGl2ZSlcbiAgcHJvdGVjdGVkIG9NYXRFcnJvckNoaWxkcmVuOiBRdWVyeUxpc3Q8T01hdEVycm9yRGlyZWN0aXZlPjtcbiAgcHJvdGVjdGVkIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMuZXJyb3JPcHRpb25zID0gRXJyb3JzVXRpbHMuZ2V0RXJyb3JPcHRpb25zKHRoaXMuaW5qZWN0b3IpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldEZvcm1Db250cm9sKGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICB0aGlzLmZvcm1Db250cm9sID0gZm9ybUNvbnRyb2w7XG4gIH1cblxuICBnZXQgdG9vbHRpcENsYXNzKCk6IHN0cmluZyB7XG4gICAgbGV0IHJlc3VsdDogc3RyaW5nO1xuICAgIGNvbnN0IGxpdGVFcnJvciA9IHRoaXMuZXJyb3JPcHRpb25zLnR5cGUgPT09IENvZGVzLk9fTUFUX0VSUk9SX0xJVEU7XG4gICAgaWYgKGxpdGVFcnJvciAmJiBVdGlsLmlzRGVmaW5lZCh0aGlzLmZvcm1Db250cm9sKSAmJiB0aGlzLmZvcm1Db250cm9sSGFzRXJyb3JzKCkpIHtcbiAgICAgIHJlc3VsdCA9IGBvLXRvb2x0aXAgby1tYXQtZXJyb3JgO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZ2V0IHRvb2x0aXBUZXh0KCk6IHN0cmluZyB7XG4gICAgbGV0IHJlc3VsdDogc3RyaW5nO1xuICAgIGNvbnN0IGxpdGVFcnJvciA9IHRoaXMuZXJyb3JPcHRpb25zLnR5cGUgPT09IENvZGVzLk9fTUFUX0VSUk9SX0xJVEU7XG4gICAgaWYgKGxpdGVFcnJvciAmJiB0aGlzLmZvcm1Db250cm9sSGFzRXJyb3JzKCkgJiYgdGhpcy5vTWF0RXJyb3JDaGlsZHJlbiAmJiB0aGlzLm9NYXRFcnJvckNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgIHJlc3VsdCA9IHRoaXMub01hdEVycm9yQ2hpbGRyZW5cbiAgICAgICAgLmZpbHRlcigob01hdEVycm9yOiBPTWF0RXJyb3JEaXJlY3RpdmUpID0+IFV0aWwuaXNEZWZpbmVkKG9NYXRFcnJvci50ZXh0KSlcbiAgICAgICAgLm1hcCgob01hdEVycm9yOiBPTWF0RXJyb3JEaXJlY3RpdmUpID0+IG9NYXRFcnJvci50ZXh0KVxuICAgICAgICAuam9pbignXFxuJyk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZm9ybUNvbnRyb2xIYXNFcnJvcnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFV0aWwuaXNEZWZpbmVkKHRoaXMuZm9ybUNvbnRyb2wpICYmIHRoaXMuZm9ybUNvbnRyb2wudG91Y2hlZCAmJiBVdGlsLmlzRGVmaW5lZCh0aGlzLmZvcm1Db250cm9sLmVycm9ycyk7XG4gIH1cblxuICBwdWJsaWMgaGFzRXJyb3IoZkNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgZXJyb3I6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmQ29udHJvbCAmJiBmQ29udHJvbC50b3VjaGVkICYmIGZDb250cm9sLmhhc0Vycm9yKGVycm9yKTtcbiAgfVxufVxuIl19
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1iYXNlLWRpYWxvZy5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL2V4dGVuc2lvbnMvZGlhbG9nL28tdGFibGUtYmFzZS1kaWFsb2cuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUVsRixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFHN0MsTUFBTSxPQUFPLHFCQUFxQjtJQU9oQyxZQUFzQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ3RDLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVTLGNBQWMsQ0FBQyxXQUE0QjtRQUNuRCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsSUFBSSxNQUFjLENBQUM7UUFDbkIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLGdCQUFnQixDQUFDO1FBQ3BFLElBQUksU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFO1lBQ2hGLE1BQU0sR0FBRyx1QkFBdUIsQ0FBQztTQUNsQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixJQUFJLE1BQWMsQ0FBQztRQUNuQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsZ0JBQWdCLENBQUM7UUFDcEUsSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzNHLE1BQU0sR0FBRyxJQUFJLENBQUMsaUJBQWlCO2lCQUM1QixNQUFNLENBQUMsQ0FBQyxTQUE2QixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDekUsR0FBRyxDQUFDLENBQUMsU0FBNkIsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztpQkFDdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2Y7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRVMsb0JBQW9CO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pILENBQUM7SUFFTSxRQUFRLENBQUMsUUFBeUIsRUFBRSxLQUFhO1FBQ3RELE9BQU8sUUFBUSxJQUFJLFFBQVEsQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRSxDQUFDOzttSEExQ1UscUJBQXFCO3VHQUFyQixxQkFBcUIsZ0VBR2xCLGtCQUFrQjs0RkFIckIscUJBQXFCO2tCQURqQyxTQUFTOytGQUtFLGlCQUFpQjtzQkFEMUIsWUFBWTt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRyZW4sIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBPTWF0RXJyb3JEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kaXJlY3RpdmVzL28tbWF0LWVycm9yLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBPTWF0RXJyb3JPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vLi4vdHlwZXMvby1tYXQtZXJyb3IudHlwZSc7XG5pbXBvcnQgeyBDb2RlcyB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWwvY29kZXMnO1xuaW1wb3J0IHsgRXJyb3JzVXRpbHMgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlsL2Vycm9ycyc7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbC91dGlsJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgT1RhYmxlQmFzZURpYWxvZ0NsYXNzIHtcblxuICBwcm90ZWN0ZWQgZXJyb3JPcHRpb25zOiBPTWF0RXJyb3JPcHRpb25zO1xuICBAVmlld0NoaWxkcmVuKE9NYXRFcnJvckRpcmVjdGl2ZSlcbiAgcHJvdGVjdGVkIG9NYXRFcnJvckNoaWxkcmVuOiBRdWVyeUxpc3Q8T01hdEVycm9yRGlyZWN0aXZlPjtcbiAgcHJvdGVjdGVkIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMuZXJyb3JPcHRpb25zID0gRXJyb3JzVXRpbHMuZ2V0RXJyb3JPcHRpb25zKHRoaXMuaW5qZWN0b3IpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldEZvcm1Db250cm9sKGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICB0aGlzLmZvcm1Db250cm9sID0gZm9ybUNvbnRyb2w7XG4gIH1cblxuICBnZXQgdG9vbHRpcENsYXNzKCk6IHN0cmluZyB7XG4gICAgbGV0IHJlc3VsdDogc3RyaW5nO1xuICAgIGNvbnN0IGxpdGVFcnJvciA9IHRoaXMuZXJyb3JPcHRpb25zLnR5cGUgPT09IENvZGVzLk9fTUFUX0VSUk9SX0xJVEU7XG4gICAgaWYgKGxpdGVFcnJvciAmJiBVdGlsLmlzRGVmaW5lZCh0aGlzLmZvcm1Db250cm9sKSAmJiB0aGlzLmZvcm1Db250cm9sSGFzRXJyb3JzKCkpIHtcbiAgICAgIHJlc3VsdCA9IGBvLXRvb2x0aXAgby1tYXQtZXJyb3JgO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZ2V0IHRvb2x0aXBUZXh0KCk6IHN0cmluZyB7XG4gICAgbGV0IHJlc3VsdDogc3RyaW5nO1xuICAgIGNvbnN0IGxpdGVFcnJvciA9IHRoaXMuZXJyb3JPcHRpb25zLnR5cGUgPT09IENvZGVzLk9fTUFUX0VSUk9SX0xJVEU7XG4gICAgaWYgKGxpdGVFcnJvciAmJiB0aGlzLmZvcm1Db250cm9sSGFzRXJyb3JzKCkgJiYgdGhpcy5vTWF0RXJyb3JDaGlsZHJlbiAmJiB0aGlzLm9NYXRFcnJvckNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgIHJlc3VsdCA9IHRoaXMub01hdEVycm9yQ2hpbGRyZW5cbiAgICAgICAgLmZpbHRlcigob01hdEVycm9yOiBPTWF0RXJyb3JEaXJlY3RpdmUpID0+IFV0aWwuaXNEZWZpbmVkKG9NYXRFcnJvci50ZXh0KSlcbiAgICAgICAgLm1hcCgob01hdEVycm9yOiBPTWF0RXJyb3JEaXJlY3RpdmUpID0+IG9NYXRFcnJvci50ZXh0KVxuICAgICAgICAuam9pbignXFxuJyk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZm9ybUNvbnRyb2xIYXNFcnJvcnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFV0aWwuaXNEZWZpbmVkKHRoaXMuZm9ybUNvbnRyb2wpICYmIHRoaXMuZm9ybUNvbnRyb2wudG91Y2hlZCAmJiBVdGlsLmlzRGVmaW5lZCh0aGlzLmZvcm1Db250cm9sLmVycm9ycyk7XG4gIH1cblxuICBwdWJsaWMgaGFzRXJyb3IoZkNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgZXJyb3I6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmQ29udHJvbCAmJiBmQ29udHJvbC50b3VjaGVkICYmIGZDb250cm9sLmhhc0Vycm9yKGVycm9yKTtcbiAgfVxufVxuIl19
@@ -75,13 +75,13 @@ export class OTableStoreConfigurationDialogComponent extends OTableBaseDialogCla
75
75
  return !this.areAllSelected();
76
76
  }
77
77
  }
78
- OTableStoreConfigurationDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OTableStoreConfigurationDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
79
- OTableStoreConfigurationDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OTableStoreConfigurationDialogComponent, selector: "o-table-store-configuration-dialog", viewQueries: [{ propertyName: "propertiesList", first: true, predicate: ["propertiesList"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span mat-dialog-title>{{ 'TABLE.BUTTONS.SAVE_CONFIGURATION' | oTranslate }}</span>\n\n<mat-dialog-content>\n <div mat-subheader>{{ 'TABLE.DIALOG.SAVE_CONFIGURATION' | oTranslate }}</div>\n <form #form [formGroup]=\"formGroup\" fxLayout=\"column\">\n <mat-form-field subscriptSizing=\"dynamic\">\n <input matInput [matTooltip]=\"tooltipText\" [matTooltipClass]=\"tooltipClass\" placeholder=\"{{ 'TABLE.DIALOG.CONFIGURATION_NAME' | oTranslate }}\"\n formControlName=\"name\" required />\n <mat-error *oMatError=\"hasError(formGroup.controls['name'], 'required')\">\n {{ 'FORM_VALIDATION.REQUIRED' | oTranslate }}\n </mat-error>\n </mat-form-field>\n <mat-form-field class=\"example-full-width\" subscriptSizing=\"dynamic\">\n <textarea matInput placeholder=\"{{ 'TABLE.DIALOG.CONFIGURATION_DESCRIPTION' | oTranslate }}\" formControlName=\"description\" rows=\"4\"\n cols=\"50\"></textarea>\n </mat-form-field>\n <div class=\"inner-subheader\" mat-subheader>{{ 'TABLE.DIALOG.CONFIGURATION_PROPERTIES' | oTranslate }}</div>\n <div fxLayout=\"column\">\n <mat-checkbox (change)=\"onSelectAllChange($event)\" [checked]=\"areAllSelected()\" [indeterminate]=\"isIndeterminate()\" class=\"select-all-checkbox\">\n {{ 'SELECT_ALL' | oTranslate }}\n </mat-checkbox>\n\n <mat-selection-list #propertiesList class=\"o-table-save-configuration-dialog-list o-scroll\">\n <mat-list-option checkboxPosition=\"before\" *ngFor=\"let property of properties\" [value]=\"property.property\">\n <span matListItemTitle fxFlex>{{ property.name | oTranslate }}</span>\n <mat-icon matListItemIcon *ngIf=\"property.info\" matTooltip=\"{{ property.info | oTranslate }}\" class=\"o-tscd-list-tooltip\">info</mat-icon>\n </mat-list-option>\n </mat-selection-list>\n </div>\n </form>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button type=\"button\" mat-stroked-button class=\"mat-primary\" [mat-dialog-close]=\"false\" class=\"o-button-default cancel\">\n {{ 'CANCEL' | oTranslate }}</button>\n <button type=\"button\" mat-stroked-button class=\"mat-primary\" [mat-dialog-close]=\"true\"\n [disabled]=\"!formGroup.valid || propertiesList.selectedOptions.selected.length===0\" class=\"o-button-primary\">{{ 'SAVE' | oTranslate }}</button>\n</mat-dialog-actions>\n", styles: [".o-table-save-configuration-dialog-list{max-height:120px;overflow-y:scroll}.o-table-save-configuration-dialog-list .mat-mdc-list-item .o-tscd-list-tooltip.mat-icon{opacity:.25}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.OMatErrorDirective, selector: "[oMatError]", inputs: ["oMatError"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i10.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i11.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i11.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "directive", type: i11.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i11.MatListSubheaderCssMatStyler, selector: "[mat-subheader], [matSubheader]" }, { kind: "directive", type: i11.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i12.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: i13.OTranslatePipe, name: "oTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OTableStoreConfigurationDialogComponent, decorators: [{
78
+ OTableStoreConfigurationDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableStoreConfigurationDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
79
+ OTableStoreConfigurationDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OTableStoreConfigurationDialogComponent, selector: "o-table-store-configuration-dialog", viewQueries: [{ propertyName: "propertiesList", first: true, predicate: ["propertiesList"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<span mat-dialog-title>{{ 'TABLE.BUTTONS.SAVE_CONFIGURATION' | oTranslate }}</span>\n\n<mat-dialog-content>\n <div mat-subheader>{{ 'TABLE.DIALOG.SAVE_CONFIGURATION' | oTranslate }}</div>\n <form #form [formGroup]=\"formGroup\" fxLayout=\"column\">\n <mat-form-field subscriptSizing=\"dynamic\">\n <input matInput [matTooltip]=\"tooltipText\" [matTooltipClass]=\"tooltipClass\" placeholder=\"{{ 'TABLE.DIALOG.CONFIGURATION_NAME' | oTranslate }}\"\n formControlName=\"name\" required />\n <mat-error *oMatError=\"hasError(formGroup.controls['name'], 'required')\">\n {{ 'FORM_VALIDATION.REQUIRED' | oTranslate }}\n </mat-error>\n </mat-form-field>\n <mat-form-field class=\"example-full-width\" subscriptSizing=\"dynamic\">\n <textarea matInput placeholder=\"{{ 'TABLE.DIALOG.CONFIGURATION_DESCRIPTION' | oTranslate }}\" formControlName=\"description\" rows=\"4\"\n cols=\"50\"></textarea>\n </mat-form-field>\n <div class=\"inner-subheader\" mat-subheader>{{ 'TABLE.DIALOG.CONFIGURATION_PROPERTIES' | oTranslate }}</div>\n <div fxLayout=\"column\">\n <mat-checkbox (change)=\"onSelectAllChange($event)\" [checked]=\"areAllSelected()\" [indeterminate]=\"isIndeterminate()\" class=\"select-all-checkbox\">\n {{ 'SELECT_ALL' | oTranslate }}\n </mat-checkbox>\n\n <mat-selection-list #propertiesList class=\"o-table-save-configuration-dialog-list o-scroll\">\n <mat-list-option checkboxPosition=\"before\" *ngFor=\"let property of properties\" [value]=\"property.property\">\n <span matListItemTitle fxFlex>{{ property.name | oTranslate }}</span>\n <mat-icon matListItemIcon *ngIf=\"property.info\" matTooltip=\"{{ property.info | oTranslate }}\" class=\"o-tscd-list-tooltip\">info</mat-icon>\n </mat-list-option>\n </mat-selection-list>\n </div>\n </form>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button type=\"button\" mat-stroked-button class=\"mat-primary\" [mat-dialog-close]=\"false\" class=\"o-button-default cancel\">\n {{ 'CANCEL' | oTranslate }}</button>\n <button type=\"button\" mat-stroked-button class=\"mat-primary\" [mat-dialog-close]=\"true\"\n [disabled]=\"!formGroup.valid || propertiesList.selectedOptions.selected.length===0\" class=\"o-button-primary\">{{ 'SAVE' | oTranslate }}</button>\n</mat-dialog-actions>\n", styles: [".o-table-save-configuration-dialog-list{max-height:120px;overflow-y:scroll}.o-table-save-configuration-dialog-list .mat-mdc-list-item .o-tscd-list-tooltip.mat-icon{opacity:.25}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.OMatErrorDirective, selector: "[oMatError]", inputs: ["oMatError"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i10.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i11.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i11.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "directive", type: i11.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i11.MatListSubheaderCssMatStyler, selector: "[mat-subheader], [matSubheader]" }, { kind: "directive", type: i11.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i12.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: i13.OTranslatePipe, name: "oTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableStoreConfigurationDialogComponent, decorators: [{
81
81
  type: Component,
82
82
  args: [{ selector: 'o-table-store-configuration-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span mat-dialog-title>{{ 'TABLE.BUTTONS.SAVE_CONFIGURATION' | oTranslate }}</span>\n\n<mat-dialog-content>\n <div mat-subheader>{{ 'TABLE.DIALOG.SAVE_CONFIGURATION' | oTranslate }}</div>\n <form #form [formGroup]=\"formGroup\" fxLayout=\"column\">\n <mat-form-field subscriptSizing=\"dynamic\">\n <input matInput [matTooltip]=\"tooltipText\" [matTooltipClass]=\"tooltipClass\" placeholder=\"{{ 'TABLE.DIALOG.CONFIGURATION_NAME' | oTranslate }}\"\n formControlName=\"name\" required />\n <mat-error *oMatError=\"hasError(formGroup.controls['name'], 'required')\">\n {{ 'FORM_VALIDATION.REQUIRED' | oTranslate }}\n </mat-error>\n </mat-form-field>\n <mat-form-field class=\"example-full-width\" subscriptSizing=\"dynamic\">\n <textarea matInput placeholder=\"{{ 'TABLE.DIALOG.CONFIGURATION_DESCRIPTION' | oTranslate }}\" formControlName=\"description\" rows=\"4\"\n cols=\"50\"></textarea>\n </mat-form-field>\n <div class=\"inner-subheader\" mat-subheader>{{ 'TABLE.DIALOG.CONFIGURATION_PROPERTIES' | oTranslate }}</div>\n <div fxLayout=\"column\">\n <mat-checkbox (change)=\"onSelectAllChange($event)\" [checked]=\"areAllSelected()\" [indeterminate]=\"isIndeterminate()\" class=\"select-all-checkbox\">\n {{ 'SELECT_ALL' | oTranslate }}\n </mat-checkbox>\n\n <mat-selection-list #propertiesList class=\"o-table-save-configuration-dialog-list o-scroll\">\n <mat-list-option checkboxPosition=\"before\" *ngFor=\"let property of properties\" [value]=\"property.property\">\n <span matListItemTitle fxFlex>{{ property.name | oTranslate }}</span>\n <mat-icon matListItemIcon *ngIf=\"property.info\" matTooltip=\"{{ property.info | oTranslate }}\" class=\"o-tscd-list-tooltip\">info</mat-icon>\n </mat-list-option>\n </mat-selection-list>\n </div>\n </form>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\">\n <button type=\"button\" mat-stroked-button class=\"mat-primary\" [mat-dialog-close]=\"false\" class=\"o-button-default cancel\">\n {{ 'CANCEL' | oTranslate }}</button>\n <button type=\"button\" mat-stroked-button class=\"mat-primary\" [mat-dialog-close]=\"true\"\n [disabled]=\"!formGroup.valid || propertiesList.selectedOptions.selected.length===0\" class=\"o-button-primary\">{{ 'SAVE' | oTranslate }}</button>\n</mat-dialog-actions>\n", styles: [".o-table-save-configuration-dialog-list{max-height:120px;overflow-y:scroll}.o-table-save-configuration-dialog-list .mat-mdc-list-item .o-tscd-list-tooltip.mat-icon{opacity:.25}\n"] }]
83
83
  }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: i0.Injector }]; }, propDecorators: { propertiesList: [{
84
84
  type: ViewChild,
85
85
  args: ['propertiesList']
86
86
  }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1zdG9yZS1jb25maWd1cmF0aW9uLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9leHRlbnNpb25zL2RpYWxvZy9zdG9yZS1jb25maWd1cmF0aW9uL28tdGFibGUtc3RvcmUtY29uZmlndXJhdGlvbi1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvZXh0ZW5zaW9ucy9kaWFsb2cvc3RvcmUtY29uZmlndXJhdGlvbi9vLXRhYmxlLXN0b3JlLWNvbmZpZ3VyYXRpb24tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQWlCLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVFyRSxNQUFNLE9BQU8sdUNBQXdDLFNBQVEscUJBQXFCO0lBc0NoRixZQUNTLFNBQWdFLEVBQzdELFFBQWtCO1FBRTVCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUhULGNBQVMsR0FBVCxTQUFTLENBQXVEO1FBQzdELGFBQVEsR0FBUixRQUFRLENBQVU7UUFuQ3ZCLGVBQVUsR0FBVSxDQUFDO2dCQUMxQixRQUFRLEVBQUUsY0FBYztnQkFDeEIsSUFBSSxFQUFFLDhCQUE4QjtnQkFDcEMsSUFBSSxFQUFFLG1DQUFtQzthQUMxQyxFQUFFO2dCQUNELFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLElBQUksRUFBRSx5Q0FBeUM7Z0JBQy9DLElBQUksRUFBRSw4Q0FBOEM7YUFDckQsRUFBRTtnQkFDRCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsSUFBSSxFQUFFLHNDQUFzQztnQkFDNUMsSUFBSSxFQUFFLDJDQUEyQzthQUNsRCxFQUFFO2dCQUNELFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLElBQUksRUFBRSx3Q0FBd0M7Z0JBQzlDLElBQUksRUFBRSw2Q0FBNkM7YUFDcEQsRUFBRTtnQkFDRCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixJQUFJLEVBQUUsd0NBQXdDO2dCQUM5QyxJQUFJLEVBQUUsNkNBQTZDO2FBQ3BELEVBQUU7Z0JBQ0QsUUFBUSxFQUFFLE1BQU07Z0JBQ2hCLElBQUksRUFBRSw4QkFBOEI7Z0JBQ3BDLElBQUksRUFBRSxtQ0FBbUM7YUFDMUMsQ0FBQyxDQUFDO1FBRUksY0FBUyxHQUFxQixJQUFJLGdCQUFnQixDQUFDO1lBQ3hELElBQUksRUFBRSxJQUFJLGtCQUFrQixDQUFDLEVBQUUsRUFBRTtnQkFDL0IsVUFBVSxDQUFDLFFBQVE7YUFDcEIsQ0FBQztZQUNGLFdBQVcsRUFBRSxJQUFJLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztTQUN4QyxDQUFDLENBQUM7UUFPRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVNLGVBQWU7UUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDMUosQ0FBQztJQUVNLGlCQUFpQixDQUFDLEtBQXdCO1FBQy9DLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEYsQ0FBQztJQUVNLDBCQUEwQjtRQUMvQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFFTSwwQkFBMEI7UUFDL0IsTUFBTSxRQUFRLEdBQW9CLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQztRQUMvRSxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBRU0sZUFBZTtRQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ2hDLENBQUM7O29JQXJFVSx1Q0FBdUM7d0hBQXZDLHVDQUF1QyxtTkNkcEQsbTFFQXNDQTsyRkR4QmEsdUNBQXVDO2tCQU5uRCxTQUFTOytCQUNFLG9DQUFvQyxtQkFHN0IsdUJBQXVCLENBQUMsTUFBTTswSEFLeEMsY0FBYztzQkFEcEIsU0FBUzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3RvciwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRDaGVja2JveENoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRMaXN0T3B0aW9uLCBNYXRTZWxlY3Rpb25MaXN0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5cbmltcG9ydCB7IE9UYWJsZUJhc2VEaWFsb2dDbGFzcyB9IGZyb20gJy4uL28tdGFibGUtYmFzZS1kaWFsb2cuY2xhc3MnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvLXRhYmxlLXN0b3JlLWNvbmZpZ3VyYXRpb24tZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL28tdGFibGUtc3RvcmUtY29uZmlndXJhdGlvbi1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vLXRhYmxlLXN0b3JlLWNvbmZpZ3VyYXRpb24tZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE9UYWJsZVN0b3JlQ29uZmlndXJhdGlvbkRpYWxvZ0NvbXBvbmVudCBleHRlbmRzIE9UYWJsZUJhc2VEaWFsb2dDbGFzcyBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIEBWaWV3Q2hpbGQoJ3Byb3BlcnRpZXNMaXN0JylcbiAgcHVibGljIHByb3BlcnRpZXNMaXN0OiBNYXRTZWxlY3Rpb25MaXN0O1xuXG4gIHB1YmxpYyBwcm9wZXJ0aWVzOiBhbnlbXSA9IFt7XG4gICAgcHJvcGVydHk6ICdzb3J0LWNvbHVtbnMnLFxuICAgIG5hbWU6ICdUQUJMRS5ESUFMT0cuUFJPUEVSVElFUy5TT1JUJyxcbiAgICBpbmZvOiAnVEFCTEUuRElBTE9HLlBST1BFUlRJRVMuU09SVC5JTkZPJ1xuICB9LCB7XG4gICAgcHJvcGVydHk6ICdvQ29sdW1ucy1kaXNwbGF5JyxcbiAgICBuYW1lOiAnVEFCTEUuRElBTE9HLlBST1BFUlRJRVMuQ09MVU1OU19ESVNQTEFZJyxcbiAgICBpbmZvOiAnVEFCTEUuRElBTE9HLlBST1BFUlRJRVMuQ09MVU1OU19ESVNQTEFZLklORk8nXG4gIH0sIHtcbiAgICBwcm9wZXJ0eTogJ3F1aWNrLWZpbHRlcicsXG4gICAgbmFtZTogJ1RBQkxFLkRJQUxPRy5QUk9QRVJUSUVTLlFVSUNLX0ZJTFRFUicsXG4gICAgaW5mbzogJ1RBQkxFLkRJQUxPRy5QUk9QRVJUSUVTLlFVSUNLX0ZJTFRFUi5JTkZPJ1xuICB9LCB7XG4gICAgcHJvcGVydHk6ICdjb2x1bW5zLWZpbHRlcicsXG4gICAgbmFtZTogJ1RBQkxFLkRJQUxPRy5QUk9QRVJUSUVTLkNPTFVNTlNfRklMVEVSJyxcbiAgICBpbmZvOiAnVEFCTEUuRElBTE9HLlBST1BFUlRJRVMuQ09MVU1OU19GSUxURVIuSU5GTydcbiAgfSwge1xuICAgIHByb3BlcnR5OiAnZmlsdGVyLWJ1aWxkZXInLFxuICAgIG5hbWU6ICdUQUJMRS5ESUFMT0cuUFJPUEVSVElFUy5GSUxURVJfQlVJTERFUicsXG4gICAgaW5mbzogJ1RBQkxFLkRJQUxPRy5QUk9QRVJUSUVTLkZJTFRFUl9CVUlMREVSLklORk8nXG4gIH0sIHtcbiAgICBwcm9wZXJ0eTogJ3BhZ2UnLFxuICAgIG5hbWU6ICdUQUJMRS5ESUFMT0cuUFJPUEVSVElFUy5QQUdFJyxcbiAgICBpbmZvOiAnVEFCTEUuRElBTE9HLlBST1BFUlRJRVMuUEFHRS5JTkZPJ1xuICB9XTtcblxuICBwdWJsaWMgZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xuICAgIG5hbWU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsIFtcbiAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWRcbiAgICBdKSxcbiAgICBkZXNjcmlwdGlvbjogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJylcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPE9UYWJsZVN0b3JlQ29uZmlndXJhdGlvbkRpYWxvZ0NvbXBvbmVudD4sXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgdGhpcy5zZXRGb3JtQ29udHJvbCh0aGlzLmZvcm1Hcm91cC5nZXQoJ25hbWUnKSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMucHJvcGVydGllc0xpc3Quc2VsZWN0QWxsKCk7XG4gIH1cblxuICBwdWJsaWMgYXJlQWxsU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcGVydGllc0xpc3QgJiYgdGhpcy5wcm9wZXJ0aWVzTGlzdC5vcHRpb25zICYmIHRoaXMucHJvcGVydGllc0xpc3Qub3B0aW9ucy5sZW5ndGggPT09IHRoaXMucHJvcGVydGllc0xpc3Quc2VsZWN0ZWRPcHRpb25zLnNlbGVjdGVkLmxlbmd0aDtcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdEFsbENoYW5nZShldmVudDogTWF0Q2hlY2tib3hDaGFuZ2UpOiB2b2lkIHtcbiAgICBldmVudC5jaGVja2VkID8gdGhpcy5wcm9wZXJ0aWVzTGlzdC5zZWxlY3RBbGwoKSA6IHRoaXMucHJvcGVydGllc0xpc3QuZGVzZWxlY3RBbGwoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb25maWd1cmF0aW9uQXR0cmlidXRlcygpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTZWxlY3RlZFRhYmxlUHJvcGVydGllcygpOiBhbnlbXSB7XG4gICAgY29uc3Qgc2VsZWN0ZWQ6IE1hdExpc3RPcHRpb25bXSA9IHRoaXMucHJvcGVydGllc0xpc3Quc2VsZWN0ZWRPcHRpb25zLnNlbGVjdGVkO1xuICAgIHJldHVybiBzZWxlY3RlZC5sZW5ndGggPyBzZWxlY3RlZC5tYXAoaXRlbSA9PiBpdGVtLnZhbHVlKSA6IFtdO1xuICB9XG5cbiAgcHVibGljIGlzSW5kZXRlcm1pbmF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuYXJlQWxsU2VsZWN0ZWQoKTtcbiAgfVxuXG59XG4iLCI8c3BhbiBtYXQtZGlhbG9nLXRpdGxlPnt7ICdUQUJMRS5CVVRUT05TLlNBVkVfQ09ORklHVVJBVElPTicgfCBvVHJhbnNsYXRlIH19PC9zcGFuPlxuXG48bWF0LWRpYWxvZy1jb250ZW50PlxuICA8ZGl2IG1hdC1zdWJoZWFkZXI+e3sgJ1RBQkxFLkRJQUxPRy5TQVZFX0NPTkZJR1VSQVRJT04nIHwgb1RyYW5zbGF0ZSB9fTwvZGl2PlxuICA8Zm9ybSAjZm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIGZ4TGF5b3V0PVwiY29sdW1uXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBbbWF0VG9vbHRpcF09XCJ0b29sdGlwVGV4dFwiIFttYXRUb29sdGlwQ2xhc3NdPVwidG9vbHRpcENsYXNzXCIgcGxhY2Vob2xkZXI9XCJ7eyAnVEFCTEUuRElBTE9HLkNPTkZJR1VSQVRJT05fTkFNRScgfCBvVHJhbnNsYXRlIH19XCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiIHJlcXVpcmVkIC8+XG4gICAgICA8bWF0LWVycm9yICpvTWF0RXJyb3I9XCJoYXNFcnJvcihmb3JtR3JvdXAuY29udHJvbHNbJ25hbWUnXSwgJ3JlcXVpcmVkJylcIj5cbiAgICAgICAge3sgJ0ZPUk1fVkFMSURBVElPTi5SRVFVSVJFRCcgfCBvVHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImV4YW1wbGUtZnVsbC13aWR0aFwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cInt7ICdUQUJMRS5ESUFMT0cuQ09ORklHVVJBVElPTl9ERVNDUklQVElPTicgfCBvVHJhbnNsYXRlIH19XCIgZm9ybUNvbnRyb2xOYW1lPVwiZGVzY3JpcHRpb25cIiByb3dzPVwiNFwiXG4gICAgICAgIGNvbHM9XCI1MFwiPjwvdGV4dGFyZWE+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8ZGl2IGNsYXNzPVwiaW5uZXItc3ViaGVhZGVyXCIgbWF0LXN1YmhlYWRlcj57eyAnVEFCTEUuRElBTE9HLkNPTkZJR1VSQVRJT05fUFJPUEVSVElFUycgfCBvVHJhbnNsYXRlIH19PC9kaXY+XG4gICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiPlxuICAgICAgPG1hdC1jaGVja2JveCAoY2hhbmdlKT1cIm9uU2VsZWN0QWxsQ2hhbmdlKCRldmVudClcIiBbY2hlY2tlZF09XCJhcmVBbGxTZWxlY3RlZCgpXCIgW2luZGV0ZXJtaW5hdGVdPVwiaXNJbmRldGVybWluYXRlKClcIiBjbGFzcz1cInNlbGVjdC1hbGwtY2hlY2tib3hcIj5cbiAgICAgICAge3sgJ1NFTEVDVF9BTEwnIHwgb1RyYW5zbGF0ZSB9fVxuICAgICAgPC9tYXQtY2hlY2tib3g+XG5cbiAgICAgIDxtYXQtc2VsZWN0aW9uLWxpc3QgI3Byb3BlcnRpZXNMaXN0IGNsYXNzPVwiby10YWJsZS1zYXZlLWNvbmZpZ3VyYXRpb24tZGlhbG9nLWxpc3Qgby1zY3JvbGxcIj5cbiAgICAgICAgPG1hdC1saXN0LW9wdGlvbiBjaGVja2JveFBvc2l0aW9uPVwiYmVmb3JlXCIgKm5nRm9yPVwibGV0IHByb3BlcnR5IG9mIHByb3BlcnRpZXNcIiBbdmFsdWVdPVwicHJvcGVydHkucHJvcGVydHlcIj5cbiAgICAgICAgICA8c3BhbiBtYXRMaXN0SXRlbVRpdGxlIGZ4RmxleD57eyBwcm9wZXJ0eS5uYW1lIHwgb1RyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8bWF0LWljb24gbWF0TGlzdEl0ZW1JY29uICpuZ0lmPVwicHJvcGVydHkuaW5mb1wiIG1hdFRvb2x0aXA9XCJ7eyBwcm9wZXJ0eS5pbmZvIHwgb1RyYW5zbGF0ZSB9fVwiIGNsYXNzPVwiby10c2NkLWxpc3QtdG9vbHRpcFwiPmluZm88L21hdC1pY29uPlxuICAgICAgICA8L21hdC1saXN0LW9wdGlvbj5cbiAgICAgIDwvbWF0LXNlbGVjdGlvbi1saXN0PlxuICAgIDwvZGl2PlxuICA8L2Zvcm0+XG48L21hdC1kaWFsb2ctY29udGVudD5cblxuPG1hdC1kaWFsb2ctYWN0aW9ucyBhbGlnbj1cImVuZFwiPlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJtYXQtcHJpbWFyeVwiIFttYXQtZGlhbG9nLWNsb3NlXT1cImZhbHNlXCIgY2xhc3M9XCJvLWJ1dHRvbi1kZWZhdWx0IGNhbmNlbFwiPlxuICAgIHt7ICdDQU5DRUwnIHwgb1RyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJtYXQtcHJpbWFyeVwiIFttYXQtZGlhbG9nLWNsb3NlXT1cInRydWVcIlxuICAgIFtkaXNhYmxlZF09XCIhZm9ybUdyb3VwLnZhbGlkIHx8IHByb3BlcnRpZXNMaXN0LnNlbGVjdGVkT3B0aW9ucy5zZWxlY3RlZC5sZW5ndGg9PT0wXCIgY2xhc3M9XCJvLWJ1dHRvbi1wcmltYXJ5XCI+e3sgJ1NBVkUnIHwgb1RyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuPC9tYXQtZGlhbG9nLWFjdGlvbnM+XG4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1zdG9yZS1jb25maWd1cmF0aW9uLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9leHRlbnNpb25zL2RpYWxvZy9zdG9yZS1jb25maWd1cmF0aW9uL28tdGFibGUtc3RvcmUtY29uZmlndXJhdGlvbi1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvZXh0ZW5zaW9ucy9kaWFsb2cvc3RvcmUtY29uZmlndXJhdGlvbi9vLXRhYmxlLXN0b3JlLWNvbmZpZ3VyYXRpb24tZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQWlCLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVFyRSxNQUFNLE9BQU8sdUNBQXdDLFNBQVEscUJBQXFCO0lBc0NoRixZQUNTLFNBQWdFLEVBQzdELFFBQWtCO1FBRTVCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUhULGNBQVMsR0FBVCxTQUFTLENBQXVEO1FBQzdELGFBQVEsR0FBUixRQUFRLENBQVU7UUFuQ3ZCLGVBQVUsR0FBVSxDQUFDO2dCQUMxQixRQUFRLEVBQUUsY0FBYztnQkFDeEIsSUFBSSxFQUFFLDhCQUE4QjtnQkFDcEMsSUFBSSxFQUFFLG1DQUFtQzthQUMxQyxFQUFFO2dCQUNELFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLElBQUksRUFBRSx5Q0FBeUM7Z0JBQy9DLElBQUksRUFBRSw4Q0FBOEM7YUFDckQsRUFBRTtnQkFDRCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsSUFBSSxFQUFFLHNDQUFzQztnQkFDNUMsSUFBSSxFQUFFLDJDQUEyQzthQUNsRCxFQUFFO2dCQUNELFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLElBQUksRUFBRSx3Q0FBd0M7Z0JBQzlDLElBQUksRUFBRSw2Q0FBNkM7YUFDcEQsRUFBRTtnQkFDRCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixJQUFJLEVBQUUsd0NBQXdDO2dCQUM5QyxJQUFJLEVBQUUsNkNBQTZDO2FBQ3BELEVBQUU7Z0JBQ0QsUUFBUSxFQUFFLE1BQU07Z0JBQ2hCLElBQUksRUFBRSw4QkFBOEI7Z0JBQ3BDLElBQUksRUFBRSxtQ0FBbUM7YUFDMUMsQ0FBQyxDQUFDO1FBRUksY0FBUyxHQUFxQixJQUFJLGdCQUFnQixDQUFDO1lBQ3hELElBQUksRUFBRSxJQUFJLGtCQUFrQixDQUFDLEVBQUUsRUFBRTtnQkFDL0IsVUFBVSxDQUFDLFFBQVE7YUFDcEIsQ0FBQztZQUNGLFdBQVcsRUFBRSxJQUFJLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztTQUN4QyxDQUFDLENBQUM7UUFPRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVNLGVBQWU7UUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDMUosQ0FBQztJQUVNLGlCQUFpQixDQUFDLEtBQXdCO1FBQy9DLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEYsQ0FBQztJQUVNLDBCQUEwQjtRQUMvQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFFTSwwQkFBMEI7UUFDL0IsTUFBTSxRQUFRLEdBQW9CLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQztRQUMvRSxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBRU0sZUFBZTtRQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ2hDLENBQUM7O3FJQXJFVSx1Q0FBdUM7eUhBQXZDLHVDQUF1QyxtTkNkcEQsbTFFQXNDQTs0RkR4QmEsdUNBQXVDO2tCQU5uRCxTQUFTOytCQUNFLG9DQUFvQyxtQkFHN0IsdUJBQXVCLENBQUMsTUFBTTswSEFLeEMsY0FBYztzQkFEcEIsU0FBUzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3RvciwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRDaGVja2JveENoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRMaXN0T3B0aW9uLCBNYXRTZWxlY3Rpb25MaXN0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5cbmltcG9ydCB7IE9UYWJsZUJhc2VEaWFsb2dDbGFzcyB9IGZyb20gJy4uL28tdGFibGUtYmFzZS1kaWFsb2cuY2xhc3MnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvLXRhYmxlLXN0b3JlLWNvbmZpZ3VyYXRpb24tZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL28tdGFibGUtc3RvcmUtY29uZmlndXJhdGlvbi1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vLXRhYmxlLXN0b3JlLWNvbmZpZ3VyYXRpb24tZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE9UYWJsZVN0b3JlQ29uZmlndXJhdGlvbkRpYWxvZ0NvbXBvbmVudCBleHRlbmRzIE9UYWJsZUJhc2VEaWFsb2dDbGFzcyBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIEBWaWV3Q2hpbGQoJ3Byb3BlcnRpZXNMaXN0JylcbiAgcHVibGljIHByb3BlcnRpZXNMaXN0OiBNYXRTZWxlY3Rpb25MaXN0O1xuXG4gIHB1YmxpYyBwcm9wZXJ0aWVzOiBhbnlbXSA9IFt7XG4gICAgcHJvcGVydHk6ICdzb3J0LWNvbHVtbnMnLFxuICAgIG5hbWU6ICdUQUJMRS5ESUFMT0cuUFJPUEVSVElFUy5TT1JUJyxcbiAgICBpbmZvOiAnVEFCTEUuRElBTE9HLlBST1BFUlRJRVMuU09SVC5JTkZPJ1xuICB9LCB7XG4gICAgcHJvcGVydHk6ICdvQ29sdW1ucy1kaXNwbGF5JyxcbiAgICBuYW1lOiAnVEFCTEUuRElBTE9HLlBST1BFUlRJRVMuQ09MVU1OU19ESVNQTEFZJyxcbiAgICBpbmZvOiAnVEFCTEUuRElBTE9HLlBST1BFUlRJRVMuQ09MVU1OU19ESVNQTEFZLklORk8nXG4gIH0sIHtcbiAgICBwcm9wZXJ0eTogJ3F1aWNrLWZpbHRlcicsXG4gICAgbmFtZTogJ1RBQkxFLkRJQUxPRy5QUk9QRVJUSUVTLlFVSUNLX0ZJTFRFUicsXG4gICAgaW5mbzogJ1RBQkxFLkRJQUxPRy5QUk9QRVJUSUVTLlFVSUNLX0ZJTFRFUi5JTkZPJ1xuICB9LCB7XG4gICAgcHJvcGVydHk6ICdjb2x1bW5zLWZpbHRlcicsXG4gICAgbmFtZTogJ1RBQkxFLkRJQUxPRy5QUk9QRVJUSUVTLkNPTFVNTlNfRklMVEVSJyxcbiAgICBpbmZvOiAnVEFCTEUuRElBTE9HLlBST1BFUlRJRVMuQ09MVU1OU19GSUxURVIuSU5GTydcbiAgfSwge1xuICAgIHByb3BlcnR5OiAnZmlsdGVyLWJ1aWxkZXInLFxuICAgIG5hbWU6ICdUQUJMRS5ESUFMT0cuUFJPUEVSVElFUy5GSUxURVJfQlVJTERFUicsXG4gICAgaW5mbzogJ1RBQkxFLkRJQUxPRy5QUk9QRVJUSUVTLkZJTFRFUl9CVUlMREVSLklORk8nXG4gIH0sIHtcbiAgICBwcm9wZXJ0eTogJ3BhZ2UnLFxuICAgIG5hbWU6ICdUQUJMRS5ESUFMT0cuUFJPUEVSVElFUy5QQUdFJyxcbiAgICBpbmZvOiAnVEFCTEUuRElBTE9HLlBST1BFUlRJRVMuUEFHRS5JTkZPJ1xuICB9XTtcblxuICBwdWJsaWMgZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xuICAgIG5hbWU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsIFtcbiAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWRcbiAgICBdKSxcbiAgICBkZXNjcmlwdGlvbjogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJylcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPE9UYWJsZVN0b3JlQ29uZmlndXJhdGlvbkRpYWxvZ0NvbXBvbmVudD4sXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgdGhpcy5zZXRGb3JtQ29udHJvbCh0aGlzLmZvcm1Hcm91cC5nZXQoJ25hbWUnKSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMucHJvcGVydGllc0xpc3Quc2VsZWN0QWxsKCk7XG4gIH1cblxuICBwdWJsaWMgYXJlQWxsU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcGVydGllc0xpc3QgJiYgdGhpcy5wcm9wZXJ0aWVzTGlzdC5vcHRpb25zICYmIHRoaXMucHJvcGVydGllc0xpc3Qub3B0aW9ucy5sZW5ndGggPT09IHRoaXMucHJvcGVydGllc0xpc3Quc2VsZWN0ZWRPcHRpb25zLnNlbGVjdGVkLmxlbmd0aDtcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdEFsbENoYW5nZShldmVudDogTWF0Q2hlY2tib3hDaGFuZ2UpOiB2b2lkIHtcbiAgICBldmVudC5jaGVja2VkID8gdGhpcy5wcm9wZXJ0aWVzTGlzdC5zZWxlY3RBbGwoKSA6IHRoaXMucHJvcGVydGllc0xpc3QuZGVzZWxlY3RBbGwoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb25maWd1cmF0aW9uQXR0cmlidXRlcygpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTZWxlY3RlZFRhYmxlUHJvcGVydGllcygpOiBhbnlbXSB7XG4gICAgY29uc3Qgc2VsZWN0ZWQ6IE1hdExpc3RPcHRpb25bXSA9IHRoaXMucHJvcGVydGllc0xpc3Quc2VsZWN0ZWRPcHRpb25zLnNlbGVjdGVkO1xuICAgIHJldHVybiBzZWxlY3RlZC5sZW5ndGggPyBzZWxlY3RlZC5tYXAoaXRlbSA9PiBpdGVtLnZhbHVlKSA6IFtdO1xuICB9XG5cbiAgcHVibGljIGlzSW5kZXRlcm1pbmF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuYXJlQWxsU2VsZWN0ZWQoKTtcbiAgfVxuXG59XG4iLCI8c3BhbiBtYXQtZGlhbG9nLXRpdGxlPnt7ICdUQUJMRS5CVVRUT05TLlNBVkVfQ09ORklHVVJBVElPTicgfCBvVHJhbnNsYXRlIH19PC9zcGFuPlxuXG48bWF0LWRpYWxvZy1jb250ZW50PlxuICA8ZGl2IG1hdC1zdWJoZWFkZXI+e3sgJ1RBQkxFLkRJQUxPRy5TQVZFX0NPTkZJR1VSQVRJT04nIHwgb1RyYW5zbGF0ZSB9fTwvZGl2PlxuICA8Zm9ybSAjZm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIGZ4TGF5b3V0PVwiY29sdW1uXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBbbWF0VG9vbHRpcF09XCJ0b29sdGlwVGV4dFwiIFttYXRUb29sdGlwQ2xhc3NdPVwidG9vbHRpcENsYXNzXCIgcGxhY2Vob2xkZXI9XCJ7eyAnVEFCTEUuRElBTE9HLkNPTkZJR1VSQVRJT05fTkFNRScgfCBvVHJhbnNsYXRlIH19XCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiIHJlcXVpcmVkIC8+XG4gICAgICA8bWF0LWVycm9yICpvTWF0RXJyb3I9XCJoYXNFcnJvcihmb3JtR3JvdXAuY29udHJvbHNbJ25hbWUnXSwgJ3JlcXVpcmVkJylcIj5cbiAgICAgICAge3sgJ0ZPUk1fVkFMSURBVElPTi5SRVFVSVJFRCcgfCBvVHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1lcnJvcj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImV4YW1wbGUtZnVsbC13aWR0aFwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cInt7ICdUQUJMRS5ESUFMT0cuQ09ORklHVVJBVElPTl9ERVNDUklQVElPTicgfCBvVHJhbnNsYXRlIH19XCIgZm9ybUNvbnRyb2xOYW1lPVwiZGVzY3JpcHRpb25cIiByb3dzPVwiNFwiXG4gICAgICAgIGNvbHM9XCI1MFwiPjwvdGV4dGFyZWE+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8ZGl2IGNsYXNzPVwiaW5uZXItc3ViaGVhZGVyXCIgbWF0LXN1YmhlYWRlcj57eyAnVEFCTEUuRElBTE9HLkNPTkZJR1VSQVRJT05fUFJPUEVSVElFUycgfCBvVHJhbnNsYXRlIH19PC9kaXY+XG4gICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiPlxuICAgICAgPG1hdC1jaGVja2JveCAoY2hhbmdlKT1cIm9uU2VsZWN0QWxsQ2hhbmdlKCRldmVudClcIiBbY2hlY2tlZF09XCJhcmVBbGxTZWxlY3RlZCgpXCIgW2luZGV0ZXJtaW5hdGVdPVwiaXNJbmRldGVybWluYXRlKClcIiBjbGFzcz1cInNlbGVjdC1hbGwtY2hlY2tib3hcIj5cbiAgICAgICAge3sgJ1NFTEVDVF9BTEwnIHwgb1RyYW5zbGF0ZSB9fVxuICAgICAgPC9tYXQtY2hlY2tib3g+XG5cbiAgICAgIDxtYXQtc2VsZWN0aW9uLWxpc3QgI3Byb3BlcnRpZXNMaXN0IGNsYXNzPVwiby10YWJsZS1zYXZlLWNvbmZpZ3VyYXRpb24tZGlhbG9nLWxpc3Qgby1zY3JvbGxcIj5cbiAgICAgICAgPG1hdC1saXN0LW9wdGlvbiBjaGVja2JveFBvc2l0aW9uPVwiYmVmb3JlXCIgKm5nRm9yPVwibGV0IHByb3BlcnR5IG9mIHByb3BlcnRpZXNcIiBbdmFsdWVdPVwicHJvcGVydHkucHJvcGVydHlcIj5cbiAgICAgICAgICA8c3BhbiBtYXRMaXN0SXRlbVRpdGxlIGZ4RmxleD57eyBwcm9wZXJ0eS5uYW1lIHwgb1RyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8bWF0LWljb24gbWF0TGlzdEl0ZW1JY29uICpuZ0lmPVwicHJvcGVydHkuaW5mb1wiIG1hdFRvb2x0aXA9XCJ7eyBwcm9wZXJ0eS5pbmZvIHwgb1RyYW5zbGF0ZSB9fVwiIGNsYXNzPVwiby10c2NkLWxpc3QtdG9vbHRpcFwiPmluZm88L21hdC1pY29uPlxuICAgICAgICA8L21hdC1saXN0LW9wdGlvbj5cbiAgICAgIDwvbWF0LXNlbGVjdGlvbi1saXN0PlxuICAgIDwvZGl2PlxuICA8L2Zvcm0+XG48L21hdC1kaWFsb2ctY29udGVudD5cblxuPG1hdC1kaWFsb2ctYWN0aW9ucyBhbGlnbj1cImVuZFwiPlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJtYXQtcHJpbWFyeVwiIFttYXQtZGlhbG9nLWNsb3NlXT1cImZhbHNlXCIgY2xhc3M9XCJvLWJ1dHRvbi1kZWZhdWx0IGNhbmNlbFwiPlxuICAgIHt7ICdDQU5DRUwnIHwgb1RyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJtYXQtcHJpbWFyeVwiIFttYXQtZGlhbG9nLWNsb3NlXT1cInRydWVcIlxuICAgIFtkaXNhYmxlZF09XCIhZm9ybUdyb3VwLnZhbGlkIHx8IHByb3BlcnRpZXNMaXN0LnNlbGVjdGVkT3B0aW9ucy5zZWxlY3RlZC5sZW5ndGg9PT0wXCIgY2xhc3M9XCJvLWJ1dHRvbi1wcmltYXJ5XCI+e3sgJ1NBVkUnIHwgb1RyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuPC9tYXQtZGlhbG9nLWFjdGlvbnM+XG4iXX0=
@@ -117,15 +117,15 @@ export class OTableVisibleColumnsDialogComponent {
117
117
  return this.columns.filter(col => col.deleteGrupingColumn).map(col => col.attr);
118
118
  }
119
119
  }
120
- OTableVisibleColumnsDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OTableVisibleColumnsDialogComponent, deps: [{ token: i0.Injector }, { token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
121
- OTableVisibleColumnsDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: OTableVisibleColumnsDialogComponent, selector: "o-table-visible-columns-dialog", host: { properties: { "class.o-table-visible-columns-dialog": "true" } }, ngImport: i0, template: "<span mat-dialog-title>{{ 'TABLE.BUTTONS.COLVIS' | oTranslate }}</span>\n\n\n<mat-dialog-content>\n <div mat-subheader>{{'TABLE.VISIBLE_COLUMNS.DESCRIPTION' | oTranslate}}</div>\n\n <div [ngClass]=\"rowHeight\">\n <mat-list cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <mat-list-item *ngFor=\"let column of columns\" cdkDrag (click)=\"onClickColumn(column)\" [ngClass]=\"{'column-hidden':!column.visible}\"\n class=\"o-drag-list-item-box\">\n <div fxLayout=\"row\" fxFlex fxLayoutAlign=\"stretch center\">\n <mat-icon matListItemIcon svgIcon=\"ontimize:drag_handle\"></mat-icon>\n <span matListItemLine fxFlex>{{ (column.title || column.attr) | oTranslate }}</span>\n <mat-icon *ngIf=\"column.visible\" svgIcon=\"ontimize:visibility\" color=\"primary\"></mat-icon>\n <mat-icon *ngIf=\"!column.visible\" svgIcon=\"ontimize:visibility_off\"></mat-icon>\n </div>\n <mat-divider></mat-divider>\n </mat-list-item>\n </mat-list>\n </div>\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayoutAlign=\"end center\">\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"null\" class=\"o-button-default cancel\" cancel>{{ 'CANCEL' | oTranslate }}</button>\n <button type=\"button\" mat-stroked-button (click)=\"closeDialog()\" class=\"o-button-primary\">{{ 'ACCEPT' | oTranslate }}</button>\n</mat-dialog-actions>\n", styles: [".o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content{overflow:auto;padding-top:0;margin-top:24px}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-subheader{display:block}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .title_list{font-weight:600;margin-bottom:6px;margin-top:12px}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .cdk-drop-list{padding:0}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item{padding-left:0;flex-direction:column;cursor:pointer;height:auto}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item.column-hidden{opacity:.4}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item .mdc-list-item__content{padding:0;cursor:move}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item .mdc-list-item__content .mdc-list-item__secondary-text,.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item .mdc-list-item__content .mdc-list-item__primary-text{padding:0 8px}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item .mdc-list-item__content .mdc-list-item__start{margin-top:0}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item .mdc-list-item__content .mat-mdc-list-item-icon{display:flex}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-icon[svgicon=\"ontimize:drag_handle\"],.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list-item{cursor:move}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-icon[svgicon=\"ontimize:visibility\"],.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-icon[svgicon=\"ontimize:visibility_off\"]{width:32px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i3.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i4.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i7.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i7.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i7.MatListSubheaderCssMatStyler, selector: "[mat-subheader], [matSubheader]" }, { kind: "component", type: i8.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i7.MatListItemLine, selector: "[matListItemLine]" }, { kind: "directive", type: i9.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i9.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "pipe", type: i10.OTranslatePipe, name: "oTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: OTableVisibleColumnsDialogComponent, decorators: [{
120
+ OTableVisibleColumnsDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableVisibleColumnsDialogComponent, deps: [{ token: i0.Injector }, { token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
121
+ OTableVisibleColumnsDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: OTableVisibleColumnsDialogComponent, selector: "o-table-visible-columns-dialog", host: { properties: { "class.o-table-visible-columns-dialog": "true" } }, ngImport: i0, template: "<span mat-dialog-title>{{ 'TABLE.BUTTONS.COLVIS' | oTranslate }}</span>\n\n\n<mat-dialog-content>\n <div mat-subheader>{{'TABLE.VISIBLE_COLUMNS.DESCRIPTION' | oTranslate}}</div>\n\n <div [ngClass]=\"rowHeight\">\n <mat-list cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <mat-list-item *ngFor=\"let column of columns\" cdkDrag (click)=\"onClickColumn(column)\" [ngClass]=\"{'column-hidden':!column.visible}\"\n class=\"o-drag-list-item-box\">\n <div fxLayout=\"row\" fxFlex fxLayoutAlign=\"stretch center\">\n <mat-icon matListItemIcon svgIcon=\"ontimize:drag_handle\"></mat-icon>\n <span matListItemLine fxFlex>{{ (column.title || column.attr) | oTranslate }}</span>\n <mat-icon *ngIf=\"column.visible\" svgIcon=\"ontimize:visibility\" color=\"primary\"></mat-icon>\n <mat-icon *ngIf=\"!column.visible\" svgIcon=\"ontimize:visibility_off\"></mat-icon>\n </div>\n <mat-divider></mat-divider>\n </mat-list-item>\n </mat-list>\n </div>\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayoutAlign=\"end center\">\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"null\" class=\"o-button-default cancel\" cancel>{{ 'CANCEL' | oTranslate }}</button>\n <button type=\"button\" mat-stroked-button (click)=\"closeDialog()\" class=\"o-button-primary\">{{ 'ACCEPT' | oTranslate }}</button>\n</mat-dialog-actions>\n", styles: [".o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content{padding-top:0;margin-top:24px;overflow:hidden}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-subheader{display:block}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .title_list{font-weight:600;margin-bottom:6px;margin-top:12px}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .cdk-drop-list{padding:0}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list{max-height:calc(80vh - 150px);overflow-y:auto}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item{padding-left:0;flex-direction:column;cursor:pointer;height:auto}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item.column-hidden{opacity:.4}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item .mdc-list-item__content{padding:0;cursor:move}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item .mdc-list-item__content .mdc-list-item__secondary-text,.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item .mdc-list-item__content .mdc-list-item__primary-text{padding:0 8px}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item .mdc-list-item__content .mdc-list-item__start{margin-top:0}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item .mdc-list-item__content .mat-mdc-list-item-icon{display:flex}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-icon[svgicon=\"ontimize:drag_handle\"],.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list-item{cursor:move}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-icon[svgicon=\"ontimize:visibility\"],.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-icon[svgicon=\"ontimize:visibility_off\"]{width:32px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i3.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i4.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i7.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i7.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i7.MatListSubheaderCssMatStyler, selector: "[mat-subheader], [matSubheader]" }, { kind: "component", type: i8.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i7.MatListItemLine, selector: "[matListItemLine]" }, { kind: "directive", type: i9.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i9.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "pipe", type: i10.OTranslatePipe, name: "oTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableVisibleColumnsDialogComponent, decorators: [{
123
123
  type: Component,
124
124
  args: [{ selector: 'o-table-visible-columns-dialog', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
125
125
  '[class.o-table-visible-columns-dialog]': 'true'
126
- }, template: "<span mat-dialog-title>{{ 'TABLE.BUTTONS.COLVIS' | oTranslate }}</span>\n\n\n<mat-dialog-content>\n <div mat-subheader>{{'TABLE.VISIBLE_COLUMNS.DESCRIPTION' | oTranslate}}</div>\n\n <div [ngClass]=\"rowHeight\">\n <mat-list cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <mat-list-item *ngFor=\"let column of columns\" cdkDrag (click)=\"onClickColumn(column)\" [ngClass]=\"{'column-hidden':!column.visible}\"\n class=\"o-drag-list-item-box\">\n <div fxLayout=\"row\" fxFlex fxLayoutAlign=\"stretch center\">\n <mat-icon matListItemIcon svgIcon=\"ontimize:drag_handle\"></mat-icon>\n <span matListItemLine fxFlex>{{ (column.title || column.attr) | oTranslate }}</span>\n <mat-icon *ngIf=\"column.visible\" svgIcon=\"ontimize:visibility\" color=\"primary\"></mat-icon>\n <mat-icon *ngIf=\"!column.visible\" svgIcon=\"ontimize:visibility_off\"></mat-icon>\n </div>\n <mat-divider></mat-divider>\n </mat-list-item>\n </mat-list>\n </div>\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayoutAlign=\"end center\">\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"null\" class=\"o-button-default cancel\" cancel>{{ 'CANCEL' | oTranslate }}</button>\n <button type=\"button\" mat-stroked-button (click)=\"closeDialog()\" class=\"o-button-primary\">{{ 'ACCEPT' | oTranslate }}</button>\n</mat-dialog-actions>\n", styles: [".o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content{overflow:auto;padding-top:0;margin-top:24px}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-subheader{display:block}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .title_list{font-weight:600;margin-bottom:6px;margin-top:12px}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .cdk-drop-list{padding:0}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item{padding-left:0;flex-direction:column;cursor:pointer;height:auto}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item.column-hidden{opacity:.4}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item .mdc-list-item__content{padding:0;cursor:move}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item .mdc-list-item__content .mdc-list-item__secondary-text,.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item .mdc-list-item__content .mdc-list-item__primary-text{padding:0 8px}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item .mdc-list-item__content .mdc-list-item__start{margin-top:0}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item .mdc-list-item__content .mat-mdc-list-item-icon{display:flex}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-icon[svgicon=\"ontimize:drag_handle\"],.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list-item{cursor:move}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-icon[svgicon=\"ontimize:visibility\"],.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-icon[svgicon=\"ontimize:visibility_off\"]{width:32px}\n"] }]
126
+ }, template: "<span mat-dialog-title>{{ 'TABLE.BUTTONS.COLVIS' | oTranslate }}</span>\n\n\n<mat-dialog-content>\n <div mat-subheader>{{'TABLE.VISIBLE_COLUMNS.DESCRIPTION' | oTranslate}}</div>\n\n <div [ngClass]=\"rowHeight\">\n <mat-list cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <mat-list-item *ngFor=\"let column of columns\" cdkDrag (click)=\"onClickColumn(column)\" [ngClass]=\"{'column-hidden':!column.visible}\"\n class=\"o-drag-list-item-box\">\n <div fxLayout=\"row\" fxFlex fxLayoutAlign=\"stretch center\">\n <mat-icon matListItemIcon svgIcon=\"ontimize:drag_handle\"></mat-icon>\n <span matListItemLine fxFlex>{{ (column.title || column.attr) | oTranslate }}</span>\n <mat-icon *ngIf=\"column.visible\" svgIcon=\"ontimize:visibility\" color=\"primary\"></mat-icon>\n <mat-icon *ngIf=\"!column.visible\" svgIcon=\"ontimize:visibility_off\"></mat-icon>\n </div>\n <mat-divider></mat-divider>\n </mat-list-item>\n </mat-list>\n </div>\n</mat-dialog-content>\n\n<mat-dialog-actions fxLayoutAlign=\"end center\">\n <button type=\"button\" mat-stroked-button [mat-dialog-close]=\"null\" class=\"o-button-default cancel\" cancel>{{ 'CANCEL' | oTranslate }}</button>\n <button type=\"button\" mat-stroked-button (click)=\"closeDialog()\" class=\"o-button-primary\">{{ 'ACCEPT' | oTranslate }}</button>\n</mat-dialog-actions>\n", styles: [".o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content{padding-top:0;margin-top:24px;overflow:hidden}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-subheader{display:block}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .title_list{font-weight:600;margin-bottom:6px;margin-top:12px}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .cdk-drop-list{padding:0}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list{max-height:calc(80vh - 150px);overflow-y:auto}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item{padding-left:0;flex-direction:column;cursor:pointer;height:auto}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item.column-hidden{opacity:.4}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item .mdc-list-item__content{padding:0;cursor:move}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item .mdc-list-item__content .mdc-list-item__secondary-text,.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item .mdc-list-item__content .mdc-list-item__primary-text{padding:0 8px}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item .mdc-list-item__content .mdc-list-item__start{margin-top:0}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list .mat-mdc-list-item .mdc-list-item__content .mat-mdc-list-item-icon{display:flex}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-icon[svgicon=\"ontimize:drag_handle\"],.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-mdc-list-item{cursor:move}.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-icon[svgicon=\"ontimize:visibility\"],.o-table-visible-columns-dialog .mat-mdc-dialog-content.mat-mdc-dialog-content .mat-icon[svgicon=\"ontimize:visibility_off\"]{width:32px}\n"] }]
127
127
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.MatDialogRef }, { type: undefined, decorators: [{
128
128
  type: Inject,
129
129
  args: [MAT_DIALOG_DATA]
130
130
  }] }]; } });
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS12aXNpYmxlLWNvbHVtbnMtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL2V4dGVuc2lvbnMvZGlhbG9nL3Zpc2libGUtY29sdW1ucy9vLXRhYmxlLXZpc2libGUtY29sdW1ucy1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvZXh0ZW5zaW9ucy9kaWFsb2cvdmlzaWJsZS1jb2x1bW5zL28tdGFibGUtdmlzaWJsZS1jb2x1bW5zLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULE1BQU0sRUFDTixRQUFRLEVBRVIsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7OztBQXVCaEQsTUFBTSxPQUFPLG1DQUFtQztJQVc5QyxZQUNZLFFBQWtCLEVBQ3JCLFNBQTRELEVBQzFDLElBQVM7UUFGeEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtR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QVYvQyxTQUFTOytCQUNFLGdDQUFnQyxpQkFHM0IsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSix3Q0FBd0MsRUFBRSxNQUFNO3FCQUNqRDs7MEJBZ0JFLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbmplY3QsXG4gIEluamVjdG9yLFxuICBUeXBlLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IE9UcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvdHJhbnNsYXRlL28tdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29kZXMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlsL2NvZGVzJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlsL3V0aWwnO1xuaW1wb3J0IHR5cGUgeyBPQ29sdW1uIH0gZnJvbSAnLi4vLi4vLi4vY29sdW1uL28tY29sdW1uLmNsYXNzJztcbmltcG9ydCB7IE9UYWJsZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9vLXRhYmxlLWJhc2UuY2xhc3MnO1xuXG5leHBvcnQgdHlwZSBDb2x1bW5WaXNpYmlsaXR5Q29uZmlndXJhdGlvbiA9IHtcbiAgYXR0cjogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICB2aXNpYmxlOiBib29sZWFuO1xuICBkZWxldGVWYWx1ZUZpbHRlcj86IGJvb2xlYW47XG4gIGRlbGV0ZVNvcnRDb2x1bW1uPzogYm9vbGVhbjtcbiAgZGVsZXRlR3J1cGluZ0NvbHVtbj86IGJvb2xlYW47XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvLXRhYmxlLXZpc2libGUtY29sdW1ucy1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJ28tdGFibGUtdmlzaWJsZS1jb2x1bW5zLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydvLXRhYmxlLXZpc2libGUtY29sdW1ucy1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLm8tdGFibGUtdmlzaWJsZS1jb2x1bW5zLWRpYWxvZ10nOiAndHJ1ZSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBPVGFibGVWaXNpYmxlQ29sdW1uc0RpYWxvZ0NvbXBvbmVudCB7XG5cbiAgY29sdW1uczogQ29sdW1uVmlzaWJpbGl0eUNvbmZpZ3VyYXRpb25bXSA9IFtdO1xuICByb3dIZWlnaHQ6IHN0cmluZyA9IENvZGVzLkRFRkFVTFRfUk9XX0hFSUdIVDtcbiAgcHJvdGVjdGVkIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2U7XG4gIHByb3RlY3RlZCBjZDogQ2hhbmdlRGV0ZWN0b3JSZWY7XG4gIHByb3RlY3RlZCB0cmFuc2xhdGVTZXJ2aWNlOiBPVHJhbnNsYXRlU2VydmljZTtcbiAgcHJvdGVjdGVkIGFjdGl2ZUNvbHVtblZhbHVlRmlsdGVyczogc3RyaW5nW10gPSBbXTtcbiAgcHJvdGVjdGVkIGFjdGl2ZVNvcnRDb2x1bW5zOiBzdHJpbmdbXSA9IFtdO1xuICBwcm90ZWN0ZWQgYWN0aXZlR3JvdXBCeUNvbHVtbnM6IHN0cmluZ1tdID0gW107XG4gIHByb3RlY3RlZCB0YWJsZTogT1RhYmxlQmFzZTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8T1RhYmxlVmlzaWJsZUNvbHVtbnNEaWFsb2dDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBkYXRhOiBhbnlcbiAgKSB7XG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQ8RGlhbG9nU2VydmljZT4oRGlhbG9nU2VydmljZSBhcyBUeXBlPERpYWxvZ1NlcnZpY2U+KTtcbiAgICB0aGlzLmNkID0gdGhpcy5pbmplY3Rvci5nZXQ8Q2hhbmdlRGV0ZWN0b3JSZWY+KENoYW5nZURldGVjdG9yUmVmIGFzIFR5cGU8Q2hhbmdlRGV0ZWN0b3JSZWY+KTtcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldDxPVHJhbnNsYXRlU2VydmljZT4oT1RyYW5zbGF0ZVNlcnZpY2UgYXMgVHlwZTxPVHJhbnNsYXRlU2VydmljZT4pO1xuXG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKGRhdGEudGFibGUpKSB7XG4gICAgICB0aGlzLnRhYmxlID0gZGF0YS50YWJsZTtcblxuICAgICAgY29uc3QgdmlzaWJsZUNvbHVtbnMgPSBVdGlsLnBhcnNlQXJyYXkodGhpcy50YWJsZS52aXNpYmxlQ29sdW1ucywgdHJ1ZSk7XG4gICAgICBjb25zdCBub25IaWRhYmxlQ29sdW1ucyA9IFV0aWwucGFyc2VBcnJheSh0aGlzLnRhYmxlLm5vbkhpZGFibGVDb2x1bW5zLCB0cnVlKTtcblxuICAgICAgdGhpcy50YWJsZS5vVGFibGVPcHRpb25zLmNvbHVtbnMuZmlsdGVyKG9Db2wgPT4gKHZpc2libGVDb2x1bW5zLmluZGV4T2Yob0NvbC5hdHRyKSAhPT0gLTEgfHwgb0NvbC5kZWZpbml0aW9uICE9PSB1bmRlZmluZWQpICYmXG4gICAgICAgIG5vbkhpZGFibGVDb2x1bW5zLmluZGV4T2Yob0NvbC5hdHRyKSA9PT0gLTFcbiAgICAgICkuZm9yRWFjaCgob0NvbDogT0NvbHVtbikgPT4ge1xuICAgICAgICB0aGlzLmNvbHVtbnMucHVzaCh7XG4gICAgICAgICAgYXR0cjogb0NvbC5hdHRyLFxuICAgICAgICAgIHRpdGxlOiBvQ29sLnRpdGxlLFxuICAgICAgICAgIHZpc2libGU6IG9Db2wudmlzaWJsZVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnJvd0hlaWdodCA9IHRoaXMudGFibGUucm93SGVpZ2h0O1xuICAgICAgdGhpcy5hY3RpdmVDb2x1bW5WYWx1ZUZpbHRlcnMgPSB0aGlzLnRhYmxlLmRhdGFTb3VyY2UuZ2V0Q29sdW1uVmFsdWVGaWx0ZXJzKCkubWFwKGNvbFZhbHVlRmlsdGVyID0+IGNvbFZhbHVlRmlsdGVyLmF0dHIpO1xuICAgICAgdGhpcy5hY3RpdmVTb3J0Q29sdW1ucyA9IHRoaXMudGFibGUuc29ydENvbEFycmF5Lm1hcChjb2wgPT4gY29sLmNvbHVtbk5hbWUpO1xuICAgICAgdGhpcy5hY3RpdmVHcm91cEJ5Q29sdW1ucyA9IHRoaXMudGFibGUuZ3JvdXBlZENvbHVtbnNBcnJheTtcbiAgICB9XG4gIH1cblxuICBvbkNsaWNrQ29sdW1uKGNvbDogQ29sdW1uVmlzaWJpbGl0eUNvbmZpZ3VyYXRpb24pOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVDb2xGaWx0ZXIgPSB0aGlzLmFjdGl2ZUNvbHVtblZhbHVlRmlsdGVycy5pbmNsdWRlcyhjb2wuYXR0cik7XG4gICAgY29uc3QgYWN0aXZlU29ydGluZyA9IHRoaXMuYWN0aXZlU29ydENvbHVtbnMuaW5jbHVkZXMoY29sLmF0dHIpO1xuICAgIGNvbnN0IGFjdGl2ZUdyb3VwaW5nID0gdGhpcy5hY3RpdmVHcm91cEJ5Q29sdW1ucy5pbmNsdWRlcyhjb2wuYXR0cik7XG4gICAgaWYgKGNvbC52aXNpYmxlICYmIChhY3RpdmVDb2xGaWx0ZXIgfHwgYWN0aXZlU29ydGluZyB8fCBhY3RpdmVHcm91cGluZykpIHtcbiAgICAgIGNvbnN0IHdhcm5BcmdzID0gW107XG4gICAgICBpZiAoYWN0aXZlQ29sRmlsdGVyKSB7XG4gICAgICAgIHdhcm5BcmdzLnB1c2godGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldCgnVEFCTEUuVklTSUJMRV9DT0xVTU5TX0RJQUxPRy5WQUxVRV9GSUxURVJfV0FSTicpKTtcbiAgICAgIH1cbiAgICAgIGlmIChhY3RpdmVTb3J0aW5nKSB7XG4gICAgICAgIHdhcm5BcmdzLnB1c2godGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldCgnVEFCTEUuVklTSUJMRV9DT0xVTU5TX0RJQUxPRy5TT1JUX1dBUk4nKSk7XG4gICAgICB9XG4gICAgICBpZiAoYWN0aXZlR3JvdXBpbmcpIHtcbiAgICAgICAgd2FybkFyZ3MucHVzaCh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KCdUQUJMRS5WSVNJQkxFX0NPTFVNTlNfRElBTE9HLkdST1VQSU5HX1dBUk4nKSk7XG4gICAgICB9XG4gICAgICBjb25zdCBkaWFsb2dUZXh0ID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldCgnVEFCTEUuVklTSUJMRV9DT0xVTU5TX0RJQUxPRy5ISURFX0NPTFVNTl9XQVJOSU5HJywgd2FybkFyZ3MpO1xuICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0oJ0NPTkZJUk0nLCBkaWFsb2dUZXh0KS50aGVuKHJlcyA9PiB7XG4gICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICBjb2wuZGVsZXRlVmFsdWVGaWx0ZXIgPSBhY3RpdmVDb2xGaWx0ZXI7XG4gICAgICAgICAgY29sLmRlbGV0ZVNvcnRDb2x1bW1uID0gYWN0aXZlU29ydGluZztcbiAgICAgICAgICBjb2wuZGVsZXRlR3J1cGluZ0NvbHVtbiA9IGFjdGl2ZUdyb3VwaW5nO1xuICAgICAgICAgIGNvbC52aXNpYmxlID0gIWNvbC52aXNpYmxlO1xuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29sLnZpc2libGUgPSAhY29sLnZpc2libGU7XG4gICAgICBpZiAoY29sLnZpc2libGUpIHtcbiAgICAgICAgY29sLmRlbGV0ZVZhbHVlRmlsdGVyID0gZmFsc2U7XG4gICAgICAgIGNvbC5kZWxldGVTb3J0Q29sdW1tbiA9IGZhbHNlO1xuICAgICAgICBjb2wuZGVsZXRlR3J1cGluZ0NvbHVtbiA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLmNvbHVtbnMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gIH1cblxuICBjbG9zZURpYWxvZygpIHtcbiAgICBjb25zdCBjb2x1bW5Tb3J0aW5nVG9SZW1vdmUgPSB0aGlzLmdldENvbHVtblNvcnRpbmdUb1JlbW92ZSgpO1xuICAgIGNvbnN0IG5ld1NvcnRDb2x1bW5zID0gY29sdW1uU29ydGluZ1RvUmVtb3ZlLmxlbmd0aCA+IDAgP1xuICAgICAgdGhpcy50YWJsZS5zb3J0Q29sQXJyYXkuZmlsdGVyKGNvbCA9PiAhY29sdW1uU29ydGluZ1RvUmVtb3ZlLmluY2x1ZGVzKGNvbC5jb2x1bW5OYW1lKSkgOlxuICAgICAgdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgY29sdW1uR3JvdXBpbmdUb1JlbW92ZSA9IHRoaXMuZ2V0Q29sdW1uR3JvdXBpbmdUb1JlbW92ZSgpO1xuICAgIGNvbnN0IG5ld0dyb3VwQ29sdW1ucyA9IGNvbHVtbkdyb3VwaW5nVG9SZW1vdmUubGVuZ3RoID4gMCA/XG4gICAgICB0aGlzLnRhYmxlLmdyb3VwZWRDb2x1bW5zQXJyYXkuZmlsdGVyKGNvbCA9PiAhY29sdW1uR3JvdXBpbmdUb1JlbW92ZS5pbmNsdWRlcyhjb2wpKSA6XG4gICAgICB1bmRlZmluZWQ7XG5cbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7XG4gICAgICB2aXNpYmxlQ29sQXJyYXk6IHRoaXMuZ2V0VmlzaWJsZUNvbHVtbnMoKSxcbiAgICAgIGNvbHVtbnNPcmRlcjogdGhpcy5nZXRDb2x1bW5zT3JkZXIoKSxcbiAgICAgIHNvcnRDb2x1bW5zOiBuZXdTb3J0Q29sdW1ucyxcbiAgICAgIGNvbHVtblZhbHVlRmlsdGVyc1RvUmVtb3ZlOiB0aGlzLmdldENvbHVtblZhbHVlRmlsdGVyc1RvUmVtb3ZlKCksXG4gICAgICBncm91cENvbHVtbnM6IG5ld0dyb3VwQ29sdW1uc1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWaXNpYmxlQ29sdW1ucygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1ucy5maWx0ZXIoY29sID0+IGNvbC52aXNpYmxlKS5tYXAoY29sID0+IGNvbC5hdHRyKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29sdW1uc09yZGVyKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5zLm1hcChjb2wgPT4gY29sLmF0dHIpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb2x1bW5WYWx1ZUZpbHRlcnNUb1JlbW92ZSgpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1ucy5maWx0ZXIoY29sID0+IGNvbC5kZWxldGVWYWx1ZUZpbHRlcikubWFwKGNvbCA9PiBjb2wuYXR0cik7XG4gIH1cblxuICBwcml2YXRlIGdldENvbHVtblNvcnRpbmdUb1JlbW92ZSgpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1ucy5maWx0ZXIoY29sID0+IGNvbC5kZWxldGVTb3J0Q29sdW1tbikubWFwKGNvbCA9PiBjb2wuYXR0cik7XG4gIH1cblxuICBwcml2YXRlIGdldENvbHVtbkdyb3VwaW5nVG9SZW1vdmUoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbnMuZmlsdGVyKGNvbCA9PiBjb2wuZGVsZXRlR3J1cGluZ0NvbHVtbikubWFwKGNvbCA9PiBjb2wuYXR0cik7XG4gIH1cbn1cbiIsIjxzcGFuIG1hdC1kaWFsb2ctdGl0bGU+e3sgJ1RBQkxFLkJVVFRPTlMuQ09MVklTJyB8IG9UcmFuc2xhdGUgfX08L3NwYW4+XG5cblxuPG1hdC1kaWFsb2ctY29udGVudD5cbiAgPGRpdiBtYXQtc3ViaGVhZGVyPnt7J1RBQkxFLlZJU0lCTEVfQ09MVU1OUy5ERVNDUklQVElPTicgfCBvVHJhbnNsYXRlfX08L2Rpdj5cblxuICA8ZGl2IFtuZ0NsYXNzXT1cInJvd0hlaWdodFwiPlxuICAgIDxtYXQtbGlzdCBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiPlxuICAgICAgPG1hdC1saXN0LWl0ZW0gKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zXCIgY2RrRHJhZyAoY2xpY2spPVwib25DbGlja0NvbHVtbihjb2x1bW4pXCIgW25nQ2xhc3NdPVwieydjb2x1bW4taGlkZGVuJzohY29sdW1uLnZpc2libGV9XCJcbiAgICAgICAgY2xhc3M9XCJvLWRyYWctbGlzdC1pdGVtLWJveFwiPlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhGbGV4IGZ4TGF5b3V0QWxpZ249XCJzdHJldGNoIGNlbnRlclwiPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUljb24gc3ZnSWNvbj1cIm9udGltaXplOmRyYWdfaGFuZGxlXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3BhbiBtYXRMaXN0SXRlbUxpbmUgZnhGbGV4Pnt7IChjb2x1bW4udGl0bGUgfHwgY29sdW1uLmF0dHIpIHwgb1RyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJjb2x1bW4udmlzaWJsZVwiIHN2Z0ljb249XCJvbnRpbWl6ZTp2aXNpYmlsaXR5XCIgY29sb3I9XCJwcmltYXJ5XCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCIhY29sdW1uLnZpc2libGVcIiBzdmdJY29uPVwib250aW1pemU6dmlzaWJpbGl0eV9vZmZcIj48L21hdC1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgPC9tYXQtbGlzdD5cbiAgPC9kaXY+XG48L21hdC1kaWFsb2ctY29udGVudD5cblxuPG1hdC1kaWFsb2ctYWN0aW9ucyBmeExheW91dEFsaWduPVwiZW5kIGNlbnRlclwiPlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwibnVsbFwiIGNsYXNzPVwiby1idXR0b24tZGVmYXVsdCBjYW5jZWxcIiBjYW5jZWw+e3sgJ0NBTkNFTCcgfCBvVHJhbnNsYXRlIH19PC9idXR0b24+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwiY2xvc2VEaWFsb2coKVwiIGNsYXNzPVwiby1idXR0b24tcHJpbWFyeVwiPnt7ICdBQ0NFUFQnIHwgb1RyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuPC9tYXQtZGlhbG9nLWFjdGlvbnM+XG4iXX0=
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS12aXNpYmxlLWNvbHVtbnMtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL2V4dGVuc2lvbnMvZGlhbG9nL3Zpc2libGUtY29sdW1ucy9vLXRhYmxlLXZpc2libGUtY29sdW1ucy1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvZXh0ZW5zaW9ucy9kaWFsb2cvdmlzaWJsZS1jb2x1bW5zL28tdGFibGUtdmlzaWJsZS1jb2x1bW5zLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULE1BQU0sRUFDTixRQUFRLEVBRVIsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7OztBQXVCaEQsTUFBTSxPQUFPLG1DQUFtQztJQVc5QyxZQUNZLFFBQWtCLEVBQ3JCLFNBQTRELEVBQzFDLElBQVM7UUFGeEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtR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QVYvQyxTQUFTOytCQUNFLGdDQUFnQyxpQkFHM0IsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSix3Q0FBd0MsRUFBRSxNQUFNO3FCQUNqRDs7MEJBZ0JFLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbmplY3QsXG4gIEluamVjdG9yLFxuICBUeXBlLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IE9UcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMvdHJhbnNsYXRlL28tdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29kZXMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlsL2NvZGVzJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlsL3V0aWwnO1xuaW1wb3J0IHR5cGUgeyBPQ29sdW1uIH0gZnJvbSAnLi4vLi4vLi4vY29sdW1uL28tY29sdW1uLmNsYXNzJztcbmltcG9ydCB7IE9UYWJsZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9vLXRhYmxlLWJhc2UuY2xhc3MnO1xuXG5leHBvcnQgdHlwZSBDb2x1bW5WaXNpYmlsaXR5Q29uZmlndXJhdGlvbiA9IHtcbiAgYXR0cjogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICB2aXNpYmxlOiBib29sZWFuO1xuICBkZWxldGVWYWx1ZUZpbHRlcj86IGJvb2xlYW47XG4gIGRlbGV0ZVNvcnRDb2x1bW1uPzogYm9vbGVhbjtcbiAgZGVsZXRlR3J1cGluZ0NvbHVtbj86IGJvb2xlYW47XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvLXRhYmxlLXZpc2libGUtY29sdW1ucy1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJ28tdGFibGUtdmlzaWJsZS1jb2x1bW5zLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydvLXRhYmxlLXZpc2libGUtY29sdW1ucy1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLm8tdGFibGUtdmlzaWJsZS1jb2x1bW5zLWRpYWxvZ10nOiAndHJ1ZSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBPVGFibGVWaXNpYmxlQ29sdW1uc0RpYWxvZ0NvbXBvbmVudCB7XG5cbiAgY29sdW1uczogQ29sdW1uVmlzaWJpbGl0eUNvbmZpZ3VyYXRpb25bXSA9IFtdO1xuICByb3dIZWlnaHQ6IHN0cmluZyA9IENvZGVzLkRFRkFVTFRfUk9XX0hFSUdIVDtcbiAgcHJvdGVjdGVkIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2U7XG4gIHByb3RlY3RlZCBjZDogQ2hhbmdlRGV0ZWN0b3JSZWY7XG4gIHByb3RlY3RlZCB0cmFuc2xhdGVTZXJ2aWNlOiBPVHJhbnNsYXRlU2VydmljZTtcbiAgcHJvdGVjdGVkIGFjdGl2ZUNvbHVtblZhbHVlRmlsdGVyczogc3RyaW5nW10gPSBbXTtcbiAgcHJvdGVjdGVkIGFjdGl2ZVNvcnRDb2x1bW5zOiBzdHJpbmdbXSA9IFtdO1xuICBwcm90ZWN0ZWQgYWN0aXZlR3JvdXBCeUNvbHVtbnM6IHN0cmluZ1tdID0gW107XG4gIHByb3RlY3RlZCB0YWJsZTogT1RhYmxlQmFzZTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8T1RhYmxlVmlzaWJsZUNvbHVtbnNEaWFsb2dDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBkYXRhOiBhbnlcbiAgKSB7XG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQ8RGlhbG9nU2VydmljZT4oRGlhbG9nU2VydmljZSBhcyBUeXBlPERpYWxvZ1NlcnZpY2U+KTtcbiAgICB0aGlzLmNkID0gdGhpcy5pbmplY3Rvci5nZXQ8Q2hhbmdlRGV0ZWN0b3JSZWY+KENoYW5nZURldGVjdG9yUmVmIGFzIFR5cGU8Q2hhbmdlRGV0ZWN0b3JSZWY+KTtcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldDxPVHJhbnNsYXRlU2VydmljZT4oT1RyYW5zbGF0ZVNlcnZpY2UgYXMgVHlwZTxPVHJhbnNsYXRlU2VydmljZT4pO1xuXG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKGRhdGEudGFibGUpKSB7XG4gICAgICB0aGlzLnRhYmxlID0gZGF0YS50YWJsZTtcblxuICAgICAgY29uc3QgdmlzaWJsZUNvbHVtbnMgPSBVdGlsLnBhcnNlQXJyYXkodGhpcy50YWJsZS52aXNpYmxlQ29sdW1ucywgdHJ1ZSk7XG4gICAgICBjb25zdCBub25IaWRhYmxlQ29sdW1ucyA9IFV0aWwucGFyc2VBcnJheSh0aGlzLnRhYmxlLm5vbkhpZGFibGVDb2x1bW5zLCB0cnVlKTtcblxuICAgICAgdGhpcy50YWJsZS5vVGFibGVPcHRpb25zLmNvbHVtbnMuZmlsdGVyKG9Db2wgPT4gKHZpc2libGVDb2x1bW5zLmluZGV4T2Yob0NvbC5hdHRyKSAhPT0gLTEgfHwgb0NvbC5kZWZpbml0aW9uICE9PSB1bmRlZmluZWQpICYmXG4gICAgICAgIG5vbkhpZGFibGVDb2x1bW5zLmluZGV4T2Yob0NvbC5hdHRyKSA9PT0gLTFcbiAgICAgICkuZm9yRWFjaCgob0NvbDogT0NvbHVtbikgPT4ge1xuICAgICAgICB0aGlzLmNvbHVtbnMucHVzaCh7XG4gICAgICAgICAgYXR0cjogb0NvbC5hdHRyLFxuICAgICAgICAgIHRpdGxlOiBvQ29sLnRpdGxlLFxuICAgICAgICAgIHZpc2libGU6IG9Db2wudmlzaWJsZVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnJvd0hlaWdodCA9IHRoaXMudGFibGUucm93SGVpZ2h0O1xuICAgICAgdGhpcy5hY3RpdmVDb2x1bW5WYWx1ZUZpbHRlcnMgPSB0aGlzLnRhYmxlLmRhdGFTb3VyY2UuZ2V0Q29sdW1uVmFsdWVGaWx0ZXJzKCkubWFwKGNvbFZhbHVlRmlsdGVyID0+IGNvbFZhbHVlRmlsdGVyLmF0dHIpO1xuICAgICAgdGhpcy5hY3RpdmVTb3J0Q29sdW1ucyA9IHRoaXMudGFibGUuc29ydENvbEFycmF5Lm1hcChjb2wgPT4gY29sLmNvbHVtbk5hbWUpO1xuICAgICAgdGhpcy5hY3RpdmVHcm91cEJ5Q29sdW1ucyA9IHRoaXMudGFibGUuZ3JvdXBlZENvbHVtbnNBcnJheTtcbiAgICB9XG4gIH1cblxuICBvbkNsaWNrQ29sdW1uKGNvbDogQ29sdW1uVmlzaWJpbGl0eUNvbmZpZ3VyYXRpb24pOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVDb2xGaWx0ZXIgPSB0aGlzLmFjdGl2ZUNvbHVtblZhbHVlRmlsdGVycy5pbmNsdWRlcyhjb2wuYXR0cik7XG4gICAgY29uc3QgYWN0aXZlU29ydGluZyA9IHRoaXMuYWN0aXZlU29ydENvbHVtbnMuaW5jbHVkZXMoY29sLmF0dHIpO1xuICAgIGNvbnN0IGFjdGl2ZUdyb3VwaW5nID0gdGhpcy5hY3RpdmVHcm91cEJ5Q29sdW1ucy5pbmNsdWRlcyhjb2wuYXR0cik7XG4gICAgaWYgKGNvbC52aXNpYmxlICYmIChhY3RpdmVDb2xGaWx0ZXIgfHwgYWN0aXZlU29ydGluZyB8fCBhY3RpdmVHcm91cGluZykpIHtcbiAgICAgIGNvbnN0IHdhcm5BcmdzID0gW107XG4gICAgICBpZiAoYWN0aXZlQ29sRmlsdGVyKSB7XG4gICAgICAgIHdhcm5BcmdzLnB1c2godGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldCgnVEFCTEUuVklTSUJMRV9DT0xVTU5TX0RJQUxPRy5WQUxVRV9GSUxURVJfV0FSTicpKTtcbiAgICAgIH1cbiAgICAgIGlmIChhY3RpdmVTb3J0aW5nKSB7XG4gICAgICAgIHdhcm5BcmdzLnB1c2godGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldCgnVEFCTEUuVklTSUJMRV9DT0xVTU5TX0RJQUxPRy5TT1JUX1dBUk4nKSk7XG4gICAgICB9XG4gICAgICBpZiAoYWN0aXZlR3JvdXBpbmcpIHtcbiAgICAgICAgd2FybkFyZ3MucHVzaCh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KCdUQUJMRS5WSVNJQkxFX0NPTFVNTlNfRElBTE9HLkdST1VQSU5HX1dBUk4nKSk7XG4gICAgICB9XG4gICAgICBjb25zdCBkaWFsb2dUZXh0ID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldCgnVEFCTEUuVklTSUJMRV9DT0xVTU5TX0RJQUxPRy5ISURFX0NPTFVNTl9XQVJOSU5HJywgd2FybkFyZ3MpO1xuICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0oJ0NPTkZJUk0nLCBkaWFsb2dUZXh0KS50aGVuKHJlcyA9PiB7XG4gICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICBjb2wuZGVsZXRlVmFsdWVGaWx0ZXIgPSBhY3RpdmVDb2xGaWx0ZXI7XG4gICAgICAgICAgY29sLmRlbGV0ZVNvcnRDb2x1bW1uID0gYWN0aXZlU29ydGluZztcbiAgICAgICAgICBjb2wuZGVsZXRlR3J1cGluZ0NvbHVtbiA9IGFjdGl2ZUdyb3VwaW5nO1xuICAgICAgICAgIGNvbC52aXNpYmxlID0gIWNvbC52aXNpYmxlO1xuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29sLnZpc2libGUgPSAhY29sLnZpc2libGU7XG4gICAgICBpZiAoY29sLnZpc2libGUpIHtcbiAgICAgICAgY29sLmRlbGV0ZVZhbHVlRmlsdGVyID0gZmFsc2U7XG4gICAgICAgIGNvbC5kZWxldGVTb3J0Q29sdW1tbiA9IGZhbHNlO1xuICAgICAgICBjb2wuZGVsZXRlR3J1cGluZ0NvbHVtbiA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLmNvbHVtbnMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gIH1cblxuICBjbG9zZURpYWxvZygpIHtcbiAgICBjb25zdCBjb2x1bW5Tb3J0aW5nVG9SZW1vdmUgPSB0aGlzLmdldENvbHVtblNvcnRpbmdUb1JlbW92ZSgpO1xuICAgIGNvbnN0IG5ld1NvcnRDb2x1bW5zID0gY29sdW1uU29ydGluZ1RvUmVtb3ZlLmxlbmd0aCA+IDAgP1xuICAgICAgdGhpcy50YWJsZS5zb3J0Q29sQXJyYXkuZmlsdGVyKGNvbCA9PiAhY29sdW1uU29ydGluZ1RvUmVtb3ZlLmluY2x1ZGVzKGNvbC5jb2x1bW5OYW1lKSkgOlxuICAgICAgdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgY29sdW1uR3JvdXBpbmdUb1JlbW92ZSA9IHRoaXMuZ2V0Q29sdW1uR3JvdXBpbmdUb1JlbW92ZSgpO1xuICAgIGNvbnN0IG5ld0dyb3VwQ29sdW1ucyA9IGNvbHVtbkdyb3VwaW5nVG9SZW1vdmUubGVuZ3RoID4gMCA/XG4gICAgICB0aGlzLnRhYmxlLmdyb3VwZWRDb2x1bW5zQXJyYXkuZmlsdGVyKGNvbCA9PiAhY29sdW1uR3JvdXBpbmdUb1JlbW92ZS5pbmNsdWRlcyhjb2wpKSA6XG4gICAgICB1bmRlZmluZWQ7XG5cbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7XG4gICAgICB2aXNpYmxlQ29sQXJyYXk6IHRoaXMuZ2V0VmlzaWJsZUNvbHVtbnMoKSxcbiAgICAgIGNvbHVtbnNPcmRlcjogdGhpcy5nZXRDb2x1bW5zT3JkZXIoKSxcbiAgICAgIHNvcnRDb2x1bW5zOiBuZXdTb3J0Q29sdW1ucyxcbiAgICAgIGNvbHVtblZhbHVlRmlsdGVyc1RvUmVtb3ZlOiB0aGlzLmdldENvbHVtblZhbHVlRmlsdGVyc1RvUmVtb3ZlKCksXG4gICAgICBncm91cENvbHVtbnM6IG5ld0dyb3VwQ29sdW1uc1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWaXNpYmxlQ29sdW1ucygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1ucy5maWx0ZXIoY29sID0+IGNvbC52aXNpYmxlKS5tYXAoY29sID0+IGNvbC5hdHRyKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29sdW1uc09yZGVyKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5zLm1hcChjb2wgPT4gY29sLmF0dHIpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb2x1bW5WYWx1ZUZpbHRlcnNUb1JlbW92ZSgpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1ucy5maWx0ZXIoY29sID0+IGNvbC5kZWxldGVWYWx1ZUZpbHRlcikubWFwKGNvbCA9PiBjb2wuYXR0cik7XG4gIH1cblxuICBwcml2YXRlIGdldENvbHVtblNvcnRpbmdUb1JlbW92ZSgpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1ucy5maWx0ZXIoY29sID0+IGNvbC5kZWxldGVTb3J0Q29sdW1tbikubWFwKGNvbCA9PiBjb2wuYXR0cik7XG4gIH1cblxuICBwcml2YXRlIGdldENvbHVtbkdyb3VwaW5nVG9SZW1vdmUoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbnMuZmlsdGVyKGNvbCA9PiBjb2wuZGVsZXRlR3J1cGluZ0NvbHVtbikubWFwKGNvbCA9PiBjb2wuYXR0cik7XG4gIH1cbn1cbiIsIjxzcGFuIG1hdC1kaWFsb2ctdGl0bGU+e3sgJ1RBQkxFLkJVVFRPTlMuQ09MVklTJyB8IG9UcmFuc2xhdGUgfX08L3NwYW4+XG5cblxuPG1hdC1kaWFsb2ctY29udGVudD5cbiAgPGRpdiBtYXQtc3ViaGVhZGVyPnt7J1RBQkxFLlZJU0lCTEVfQ09MVU1OUy5ERVNDUklQVElPTicgfCBvVHJhbnNsYXRlfX08L2Rpdj5cblxuICA8ZGl2IFtuZ0NsYXNzXT1cInJvd0hlaWdodFwiPlxuICAgIDxtYXQtbGlzdCBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiPlxuICAgICAgPG1hdC1saXN0LWl0ZW0gKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zXCIgY2RrRHJhZyAoY2xpY2spPVwib25DbGlja0NvbHVtbihjb2x1bW4pXCIgW25nQ2xhc3NdPVwieydjb2x1bW4taGlkZGVuJzohY29sdW1uLnZpc2libGV9XCJcbiAgICAgICAgY2xhc3M9XCJvLWRyYWctbGlzdC1pdGVtLWJveFwiPlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhGbGV4IGZ4TGF5b3V0QWxpZ249XCJzdHJldGNoIGNlbnRlclwiPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUljb24gc3ZnSWNvbj1cIm9udGltaXplOmRyYWdfaGFuZGxlXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3BhbiBtYXRMaXN0SXRlbUxpbmUgZnhGbGV4Pnt7IChjb2x1bW4udGl0bGUgfHwgY29sdW1uLmF0dHIpIHwgb1RyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJjb2x1bW4udmlzaWJsZVwiIHN2Z0ljb249XCJvbnRpbWl6ZTp2aXNpYmlsaXR5XCIgY29sb3I9XCJwcmltYXJ5XCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCIhY29sdW1uLnZpc2libGVcIiBzdmdJY29uPVwib250aW1pemU6dmlzaWJpbGl0eV9vZmZcIj48L21hdC1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgPC9tYXQtbGlzdD5cbiAgPC9kaXY+XG48L21hdC1kaWFsb2ctY29udGVudD5cblxuPG1hdC1kaWFsb2ctYWN0aW9ucyBmeExheW91dEFsaWduPVwiZW5kIGNlbnRlclwiPlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwibnVsbFwiIGNsYXNzPVwiby1idXR0b24tZGVmYXVsdCBjYW5jZWxcIiBjYW5jZWw+e3sgJ0NBTkNFTCcgfCBvVHJhbnNsYXRlIH19PC9idXR0b24+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwiY2xvc2VEaWFsb2coKVwiIGNsYXNzPVwiby1idXR0b24tcHJpbWFyeVwiPnt7ICdBQ0NFUFQnIHwgb1RyYW5zbGF0ZSB9fTwvYnV0dG9uPlxuPC9tYXQtZGlhbG9nLWFjdGlvbnM+XG4iXX0=