@fundamental-ngx/platform 0.48.0-rc.9 → 0.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (510) hide show
  1. package/approval-flow/approval-flow-node/approval-flow-node.component.d.ts +0 -2
  2. package/button/button.component.d.ts +7 -8
  3. package/dynamic-page/dynamic-page.component.d.ts +24 -15
  4. package/dynamic-page/dynamic-page.tokens.d.ts +3 -0
  5. package/dynamic-page/index.d.ts +2 -1
  6. package/dynamic-page/platform-dynamic-page.interface.d.ts +22 -0
  7. package/esm2022/approval-flow/approval-flow-add-node/approval-flow-add-node.component.mjs +4 -4
  8. package/esm2022/approval-flow/approval-flow-approver-details/approval-flow-approver-details.component.mjs +4 -4
  9. package/esm2022/approval-flow/approval-flow-messages/approval-flow-messages.component.mjs +3 -3
  10. package/esm2022/approval-flow/approval-flow-node/approval-flow-drop-zone.directive.mjs +3 -3
  11. package/esm2022/approval-flow/approval-flow-node/approval-flow-node.component.mjs +5 -7
  12. package/esm2022/approval-flow/approval-flow-select-type/approval-flow-select-type.component.mjs +3 -3
  13. package/esm2022/approval-flow/approval-flow-team-list/approval-flow-team-list.component.mjs +3 -3
  14. package/esm2022/approval-flow/approval-flow-toolbar-actions/approval-flow-toolbar-actions.component.mjs +3 -3
  15. package/esm2022/approval-flow/approval-flow-user-details/approval-flow-user-details.component.mjs +3 -3
  16. package/esm2022/approval-flow/approval-flow-user-list/approval-flow-user-list.component.mjs +3 -3
  17. package/esm2022/approval-flow/approval-flow.component.mjs +5 -5
  18. package/esm2022/approval-flow/approval-flow.module.mjs +4 -4
  19. package/esm2022/approval-flow/services/approval-flow-add-node-view.service.mjs +3 -3
  20. package/esm2022/button/button.component.mjs +14 -15
  21. package/esm2022/button/button.module.mjs +4 -4
  22. package/esm2022/dynamic-page/directives/dynamic-page-header-subtitle.directive.mjs +3 -3
  23. package/esm2022/dynamic-page/directives/dynamic-page-header-title.directive.mjs +3 -3
  24. package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content-host.component.mjs +3 -3
  25. package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +3 -3
  26. package/esm2022/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.mjs +3 -3
  27. package/esm2022/dynamic-page/dynamic-page-header/actions/global-actions/dynamic-page-global-actions.component.mjs +3 -3
  28. package/esm2022/dynamic-page/dynamic-page-header/actions/layout-actions/dynamic-page-layout-actions.component.mjs +3 -3
  29. package/esm2022/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.mjs +3 -3
  30. package/esm2022/dynamic-page/dynamic-page-header/key-info/dynamic-page-key-info.component.mjs +3 -3
  31. package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title-image.component.mjs +3 -3
  32. package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title.component.mjs +3 -3
  33. package/esm2022/dynamic-page/dynamic-page.component.mjs +48 -35
  34. package/esm2022/dynamic-page/dynamic-page.config.mjs +3 -3
  35. package/esm2022/dynamic-page/dynamic-page.module.mjs +4 -4
  36. package/esm2022/dynamic-page/dynamic-page.tokens.mjs +3 -0
  37. package/esm2022/dynamic-page/index.mjs +3 -2
  38. package/esm2022/dynamic-page/platform-dynamic-page.interface.mjs +2 -0
  39. package/esm2022/feed-input/feed-input.component.mjs +6 -6
  40. package/esm2022/feed-input/feed-input.module.mjs +4 -4
  41. package/esm2022/form/auto-complete/auto-complete.directive.mjs +3 -3
  42. package/esm2022/form/auto-complete/auto-complete.module.mjs +4 -4
  43. package/esm2022/form/checkbox/checkbox.component.mjs +11 -43
  44. package/esm2022/form/checkbox/checkbox.module.mjs +4 -4
  45. package/esm2022/form/checkbox-group/checkbox-group.component.mjs +21 -63
  46. package/esm2022/form/checkbox-group/checkbox-group.module.mjs +4 -4
  47. package/esm2022/form/combobox/combobox/combobox.component.mjs +33 -63
  48. package/esm2022/form/combobox/combobox-mobile/combobox/combobox-mobile.component.mjs +15 -22
  49. package/esm2022/form/combobox/combobox-mobile/combobox-mobile.module.mjs +4 -4
  50. package/esm2022/form/combobox/combobox.config.mjs +3 -3
  51. package/esm2022/form/combobox/combobox.module.mjs +4 -4
  52. package/esm2022/form/combobox/commons/base-combobox.mjs +24 -58
  53. package/esm2022/form/combobox/directives/combobox-item.directive.mjs +15 -15
  54. package/esm2022/form/date-picker/date-picker.component.mjs +21 -57
  55. package/esm2022/form/date-picker/date-picker.module.mjs +4 -4
  56. package/esm2022/form/datetime-picker/datetime-picker.component.mjs +22 -60
  57. package/esm2022/form/datetime-picker/datetime-picker.module.mjs +4 -4
  58. package/esm2022/form/form-generator/base-dynamic-form-generator-control.mjs +3 -3
  59. package/esm2022/form/form-generator/controls/dynamic-form-generator-checkbox/dynamic-form-generator-checkbox.component.mjs +5 -9
  60. package/esm2022/form/form-generator/controls/dynamic-form-generator-datepicker/dynamic-form-generator-datepicker.component.mjs +5 -9
  61. package/esm2022/form/form-generator/controls/dynamic-form-generator-editor/dynamic-form-generator-editor.component.mjs +5 -9
  62. package/esm2022/form/form-generator/controls/dynamic-form-generator-input/dynamic-form-generator-input.component.mjs +5 -9
  63. package/esm2022/form/form-generator/controls/dynamic-form-generator-multi-input/dynamic-form-generator-multi-input.component.mjs +5 -9
  64. package/esm2022/form/form-generator/controls/dynamic-form-generator-object-status/dynamic-form-generator-object-status.component.mjs +4 -4
  65. package/esm2022/form/form-generator/controls/dynamic-form-generator-radio/dynamic-form-generator-radio.component.mjs +5 -9
  66. package/esm2022/form/form-generator/controls/dynamic-form-generator-select/dynamic-form-generator-select.component.mjs +5 -9
  67. package/esm2022/form/form-generator/controls/dynamic-form-generator-switch/dynamic-form-generator-switch.component.mjs +5 -9
  68. package/esm2022/form/form-generator/dynamic-form-control-field.directive.mjs +3 -3
  69. package/esm2022/form/form-generator/dynamic-form-control.directive.mjs +3 -3
  70. package/esm2022/form/form-generator/fdp-form-generator.module.mjs +4 -4
  71. package/esm2022/form/form-generator/form-generator/form-generator.component.mjs +27 -13
  72. package/esm2022/form/form-generator/form-generator-components-accessor.service.mjs +3 -3
  73. package/esm2022/form/form-generator/form-generator-field/form-generator-field.component.mjs +3 -3
  74. package/esm2022/form/form-generator/form-generator.service.mjs +11 -16
  75. package/esm2022/form/form-generator/interfaces/dynamic-form-item.mjs +1 -1
  76. package/esm2022/form/form-generator/pipes/get-hint-options.pipe.mjs +3 -3
  77. package/esm2022/form/form-generator/pipes/get-ordered-form-controls.pipe.mjs +3 -3
  78. package/esm2022/form/form-group/fdp-form.module.mjs +4 -4
  79. package/esm2022/form/form-group/form-field/form-field.component.mjs +40 -47
  80. package/esm2022/form/form-group/form-field-error/form-field-error-description.directive.mjs +3 -3
  81. package/esm2022/form/form-group/form-field-error/form-field-error-heading.directive.mjs +3 -3
  82. package/esm2022/form/form-group/form-field-error/form-field-error.directive.mjs +3 -3
  83. package/esm2022/form/form-group/form-field-extras/form-field-extras.component.mjs +3 -3
  84. package/esm2022/form/form-group/form-field-group/form-field-group.component.mjs +4 -4
  85. package/esm2022/form/form-group/form-group-header/form-group-header.component.mjs +3 -3
  86. package/esm2022/form/form-group/form-group.component.mjs +40 -50
  87. package/esm2022/form/form-group/pipes/field-group-row-value.pipe.mjs +3 -3
  88. package/esm2022/form/form-group/services/form-field-layout.service.mjs +3 -3
  89. package/esm2022/form/input/fdp-input.module.mjs +4 -4
  90. package/esm2022/form/input/input.component.mjs +16 -48
  91. package/esm2022/form/input-group/addon-body.component.mjs +4 -5
  92. package/esm2022/form/input-group/addon.component.mjs +3 -3
  93. package/esm2022/form/input-group/input-group.component.mjs +13 -46
  94. package/esm2022/form/input-group/input-group.config.mjs +3 -3
  95. package/esm2022/form/input-group/input-group.module.mjs +4 -4
  96. package/esm2022/form/input-group/input.component.mjs +3 -3
  97. package/esm2022/form/input-message-group-with-template/input-message-group-with-template.component.mjs +3 -3
  98. package/esm2022/form/multi-combobox/commons/base-multi-combobox.mjs +64 -102
  99. package/esm2022/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +25 -71
  100. package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.mjs +18 -26
  101. package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox-mobile.module.mjs +4 -4
  102. package/esm2022/form/multi-combobox/multi-combobox.config.mjs +3 -3
  103. package/esm2022/form/multi-combobox/multi-combobox.interface.mjs +1 -1
  104. package/esm2022/form/multi-combobox/multi-combobox.module.mjs +4 -4
  105. package/esm2022/form/multi-input/base-multi-input.mjs +43 -83
  106. package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +13 -21
  107. package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.module.mjs +4 -4
  108. package/esm2022/form/multi-input/multi-input.component.mjs +32 -91
  109. package/esm2022/form/multi-input/multi-input.config.mjs +3 -3
  110. package/esm2022/form/multi-input/multi-input.module.mjs +4 -4
  111. package/esm2022/form/radio-group/radio/radio.component.mjs +12 -44
  112. package/esm2022/form/radio-group/radio-group.component.mjs +32 -74
  113. package/esm2022/form/radio-group/radio-group.module.mjs +4 -4
  114. package/esm2022/form/select/commons/base-select.mjs +59 -101
  115. package/esm2022/form/select/select/select.component.mjs +17 -60
  116. package/esm2022/form/select/select.config.mjs +3 -3
  117. package/esm2022/form/select/select.module.mjs +4 -4
  118. package/esm2022/form/step-input/base.step-input.mjs +72 -85
  119. package/esm2022/form/step-input/number/number-step-input.component.mjs +14 -53
  120. package/esm2022/form/step-input/step-input-action-button.mjs +9 -13
  121. package/esm2022/form/step-input/step-input-control.directive.mjs +3 -3
  122. package/esm2022/form/step-input/step-input-decrement.directive.mjs +9 -13
  123. package/esm2022/form/step-input/step-input-increment.directive.mjs +9 -13
  124. package/esm2022/form/step-input/step-input.config.mjs +3 -3
  125. package/esm2022/form/step-input/step-input.module.mjs +4 -4
  126. package/esm2022/form/switch/switch/switch.component.mjs +12 -49
  127. package/esm2022/form/switch/switch/switch.config.mjs +3 -3
  128. package/esm2022/form/switch/switch.module.mjs +4 -4
  129. package/esm2022/form/text-area/text-area.component.mjs +14 -45
  130. package/esm2022/form/text-area/text-area.config.mjs +3 -3
  131. package/esm2022/form/text-area/text-area.module.mjs +4 -4
  132. package/esm2022/form/time-picker/time-picker.component.mjs +11 -42
  133. package/esm2022/form/time-picker/time-picker.module.mjs +4 -4
  134. package/esm2022/fundamental-ngx.module.mjs +4 -4
  135. package/esm2022/icon-tab-bar/components/closable-icon-tab-bar.class.mjs +6 -6
  136. package/esm2022/icon-tab-bar/components/icon-tab-bar-base.class.mjs +85 -90
  137. package/esm2022/icon-tab-bar/components/icon-tab-bar-filter-type/icon-tab-bar-filter-type.component.mjs +21 -9
  138. package/esm2022/icon-tab-bar/components/icon-tab-bar-icon-type/icon-tab-bar-icon-type.component.mjs +26 -9
  139. package/esm2022/icon-tab-bar/components/icon-tab-bar-process-type/icon-tab-bar-process-type.component.mjs +40 -26
  140. package/esm2022/icon-tab-bar/components/icon-tab-bar-tab/icon-tab-bar-tab.component.mjs +76 -0
  141. package/esm2022/icon-tab-bar/components/icon-tab-bar-text-type/icon-tab-bar-text-type.component.mjs +28 -16
  142. package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover/icon-tab-bar-popover.component.mjs +14 -5
  143. package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover-base.class.mjs +3 -3
  144. package/esm2022/icon-tab-bar/components/popovers/text-type-popover/text-type-popover.component.mjs +5 -5
  145. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.mjs +12 -21
  146. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.mjs +10 -12
  147. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.mjs +10 -11
  148. package/esm2022/icon-tab-bar/directives/icon-tab-bar-free-content.directive.mjs +14 -0
  149. package/esm2022/icon-tab-bar/icon-tab-bar.component.mjs +208 -27
  150. package/esm2022/icon-tab-bar/icon-tab-bar.module.mjs +19 -9
  151. package/esm2022/icon-tab-bar/index.mjs +3 -1
  152. package/esm2022/icon-tab-bar/interfaces/tab-config.interface.mjs +1 -1
  153. package/esm2022/info-label/info-label.component.mjs +6 -4
  154. package/esm2022/info-label/info-label.module.mjs +4 -4
  155. package/esm2022/link/link.component.mjs +15 -23
  156. package/esm2022/link/link.module.mjs +4 -4
  157. package/esm2022/list/action-list-item/action-list-item.component.mjs +5 -5
  158. package/esm2022/list/action-list-item/action-list-item.module.mjs +4 -4
  159. package/esm2022/list/base-list-item.mjs +20 -22
  160. package/esm2022/list/display-list-item/display-list-item.component.mjs +5 -5
  161. package/esm2022/list/display-list-item/display-list-item.module.mjs +4 -4
  162. package/esm2022/list/free-content-list-item/free-content-list-item.component.mjs +5 -5
  163. package/esm2022/list/list-group-footer.component.mjs +5 -5
  164. package/esm2022/list/list-group-header.component.mjs +7 -7
  165. package/esm2022/list/list.component.mjs +25 -66
  166. package/esm2022/list/list.config.mjs +3 -3
  167. package/esm2022/list/list.module.mjs +4 -4
  168. package/esm2022/list/load-more-content.directive.mjs +3 -3
  169. package/esm2022/list/object-list-item/object-list-item-row.component.mjs +6 -6
  170. package/esm2022/list/object-list-item/object-list-item.component.mjs +5 -5
  171. package/esm2022/list/object-list-item/object-list-item.module.mjs +4 -4
  172. package/esm2022/list/standard-list-item/standard-list-item.component.mjs +5 -5
  173. package/esm2022/list/standard-list-item/standard-list-item.module.mjs +4 -4
  174. package/esm2022/menu/menu-item.component.mjs +5 -5
  175. package/esm2022/menu/menu-trigger.directive.mjs +3 -3
  176. package/esm2022/menu/menu.component.mjs +5 -6
  177. package/esm2022/menu/menu.module.mjs +4 -4
  178. package/esm2022/menu-button/menu-button.component.mjs +14 -9
  179. package/esm2022/menu-button/menu-button.module.mjs +4 -4
  180. package/esm2022/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.mjs +11 -14
  181. package/esm2022/message-popover/components/message-view/message-view.component.mjs +4 -4
  182. package/esm2022/message-popover/directives/message-popover-form-item.directive.mjs +3 -3
  183. package/esm2022/message-popover/message-popover.component.mjs +53 -54
  184. package/esm2022/message-popover/models/message-popover-wrapper.interface.mjs +1 -1
  185. package/esm2022/message-popover/platform-message-popover.module.mjs +4 -4
  186. package/esm2022/object-marker/object-marker.component.mjs +10 -5
  187. package/esm2022/object-marker/object-marker.module.mjs +4 -4
  188. package/esm2022/object-status/object-status.component.mjs +13 -8
  189. package/esm2022/object-status/object-status.module.mjs +4 -4
  190. package/esm2022/page-footer/page-footer.component.mjs +8 -10
  191. package/esm2022/page-footer/page-footer.module.mjs +4 -4
  192. package/esm2022/panel/panel-actions.component.mjs +3 -3
  193. package/esm2022/panel/panel-content/panel-content.component.mjs +3 -3
  194. package/esm2022/panel/panel.component.mjs +8 -9
  195. package/esm2022/panel/panel.config.mjs +3 -3
  196. package/esm2022/panel/panel.module.mjs +4 -4
  197. package/esm2022/search-field/search-field-mobile/search-field/search-field-mobile.component.mjs +12 -22
  198. package/esm2022/search-field/search-field.component.mjs +36 -42
  199. package/esm2022/search-field/search-field.module.mjs +4 -4
  200. package/esm2022/settings-generator/controls/theme-selector-list/theme-selector-list.component.mjs +6 -6
  201. package/esm2022/settings-generator/default-config.mjs +2 -2
  202. package/esm2022/settings-generator/layouts/base-settings-generator-layout.mjs +3 -3
  203. package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component.mjs +3 -3
  204. package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.mjs +3 -3
  205. package/esm2022/settings-generator/models/settings.model.mjs +1 -1
  206. package/esm2022/settings-generator/settings-generator-content/settings-generator-content.component.mjs +34 -28
  207. package/esm2022/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.mjs +4 -5
  208. package/esm2022/settings-generator/settings-generator-layout-accessor.service.mjs +3 -3
  209. package/esm2022/settings-generator/settings-generator.component.mjs +6 -6
  210. package/esm2022/settings-generator/settings-generator.module.mjs +4 -4
  211. package/esm2022/settings-generator/settings-generator.service.mjs +12 -13
  212. package/esm2022/shared/base.mjs +30 -18
  213. package/esm2022/shared/form/base.input.mjs +70 -69
  214. package/esm2022/shared/form/collection-base.input.mjs +7 -49
  215. package/esm2022/shared/form/inline-layout-collection-base.input.mjs +25 -66
  216. package/esm2022/shared/pipes/convert-bytes/convert-bytes.pipe.mjs +3 -3
  217. package/esm2022/shared/pipes/pipe.module.mjs +4 -4
  218. package/esm2022/shared/platform.config.mjs +3 -3
  219. package/esm2022/slider/slider.component.mjs +11 -43
  220. package/esm2022/slider/slider.module.mjs +4 -4
  221. package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/base-smart-filter-bar-condition-field.mjs +11 -14
  222. package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.mjs +8 -16
  223. package/esm2022/smart-filter-bar/components/smart-filter-bar-conditions-dialog/smart-filter-bar-conditions-dialog.component.mjs +6 -6
  224. package/esm2022/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +13 -18
  225. package/esm2022/smart-filter-bar/directives/smart-filter-bar-field-definition.directive.mjs +22 -47
  226. package/esm2022/smart-filter-bar/directives/smart-filter-bar-subject.directive.mjs +12 -10
  227. package/esm2022/smart-filter-bar/directives/smart-filter-bar-toolbar-item.directive.mjs +3 -3
  228. package/esm2022/smart-filter-bar/smart-filter-bar.class.mjs +3 -3
  229. package/esm2022/smart-filter-bar/smart-filter-bar.component.mjs +73 -57
  230. package/esm2022/smart-filter-bar/smart-filter-bar.module.mjs +4 -4
  231. package/esm2022/smart-filter-bar/smart-filter-bar.service.mjs +3 -3
  232. package/esm2022/split-menu-button/split-menu-button.component.mjs +17 -24
  233. package/esm2022/split-menu-button/split-menu-button.module.mjs +4 -4
  234. package/esm2022/table/components/no-data-wrapper/no-data-wrapper.component.mjs +3 -3
  235. package/esm2022/table/components/reset-button/reset-button.component.mjs +8 -9
  236. package/esm2022/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +10 -9
  237. package/esm2022/table/components/table-column/table-column.component.mjs +3 -3
  238. package/esm2022/table/components/table-column-resizer/table-column-resizer.component.mjs +11 -14
  239. package/esm2022/table/components/table-editable-cell/table-editable-cell.component.mjs +4 -4
  240. package/esm2022/table/components/table-group-row/table-group-row.component.mjs +6 -10
  241. package/esm2022/table/components/table-header-cell-content/table-header-cell-content.component.mjs +31 -15
  242. package/esm2022/table/components/table-header-row/table-header-row.component.mjs +19 -24
  243. package/esm2022/table/components/table-p13-dialog/columns/columns.component.mjs +9 -11
  244. package/esm2022/table/components/table-p13-dialog/filtering/filter-rule.component.mjs +4 -4
  245. package/esm2022/table/components/table-p13-dialog/filtering/filtering.component.mjs +8 -11
  246. package/esm2022/table/components/table-p13-dialog/grouping/grouping.component.mjs +8 -11
  247. package/esm2022/table/components/table-p13-dialog/sorting/sorting.component.mjs +11 -14
  248. package/esm2022/table/components/table-p13-dialog/table-p13-columns.component.mjs +3 -3
  249. package/esm2022/table/components/table-p13-dialog/table-p13-dialog.component.mjs +3 -3
  250. package/esm2022/table/components/table-p13-dialog/table-p13-filter.component.mjs +3 -3
  251. package/esm2022/table/components/table-p13-dialog/table-p13-group.component.mjs +3 -3
  252. package/esm2022/table/components/table-p13-dialog/table-p13-sort.component.mjs +3 -3
  253. package/esm2022/table/components/table-popping-row/table-popping-row.component.mjs +7 -8
  254. package/esm2022/table/components/table-row/table-row.component.mjs +12 -17
  255. package/esm2022/table/components/table-toolbar/table-toolbar-actions.component.mjs +3 -3
  256. package/esm2022/table/components/table-toolbar/table-toolbar-left-actions.component.mjs +3 -3
  257. package/esm2022/table/components/table-toolbar/table-toolbar.component.mjs +38 -23
  258. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-custom.component.mjs +3 -3
  259. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-multi-select.component.mjs +3 -3
  260. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-single-select.component.mjs +3 -3
  261. package/esm2022/table/components/table-view-settings-dialog/filtering/filter-step.component.mjs +4 -4
  262. package/esm2022/table/components/table-view-settings-dialog/filtering/filters-list-step.component.mjs +4 -4
  263. package/esm2022/table/components/table-view-settings-dialog/filtering/filters.component.mjs +8 -11
  264. package/esm2022/table/components/table-view-settings-dialog/grouping/grouping.component.mjs +9 -12
  265. package/esm2022/table/components/table-view-settings-dialog/sorting/sorting.component.mjs +9 -12
  266. package/esm2022/table/components/table-view-settings-dialog/table-view-settings-dialog.component.mjs +3 -3
  267. package/esm2022/table/components/table-view-settings-dialog/table-view-settings-filter.component.mjs +3 -3
  268. package/esm2022/table/table.component.mjs +138 -62
  269. package/esm2022/table/table.module.mjs +4 -4
  270. package/esm2022/table-helpers/directives/platform-table-column-responsive.directive.mjs +3 -3
  271. package/esm2022/table-helpers/directives/table-cell-header-popover.directive.mjs +4 -4
  272. package/esm2022/table-helpers/directives/table-cell-resizable.directive.mjs +20 -23
  273. package/esm2022/table-helpers/directives/table-cell-selectable.directive.mjs +3 -3
  274. package/esm2022/table-helpers/directives/table-cell.directive.mjs +12 -12
  275. package/esm2022/table-helpers/directives/table-data-source.directive.mjs +10 -9
  276. package/esm2022/table-helpers/directives/table-draggable.directive.mjs +3 -3
  277. package/esm2022/table-helpers/directives/table-header-resizer.directive.mjs +3 -3
  278. package/esm2022/table-helpers/directives/table-header.directive.mjs +6 -6
  279. package/esm2022/table-helpers/directives/table-initial-state.directive.mjs +5 -5
  280. package/esm2022/table-helpers/directives/table-scrollable.directive.mjs +3 -3
  281. package/esm2022/table-helpers/directives/table-view-settings-filter-custom.directive.mjs +3 -3
  282. package/esm2022/table-helpers/directives/table-virtual-scroll.directive.mjs +3 -3
  283. package/esm2022/table-helpers/pipes/cell-styles.pipe.mjs +3 -3
  284. package/esm2022/table-helpers/pipes/column-resizable-side.pipe.mjs +3 -3
  285. package/esm2022/table-helpers/pipes/column-sorting-direction.pipe.mjs +3 -3
  286. package/esm2022/table-helpers/pipes/row-classes.pipe.mjs +3 -3
  287. package/esm2022/table-helpers/pipes/selection-cell-styles.pipe.mjs +3 -3
  288. package/esm2022/table-helpers/services/table-column-resize.service.mjs +22 -20
  289. package/esm2022/table-helpers/services/table-responsive.service.mjs +9 -14
  290. package/esm2022/table-helpers/services/table-row.service.mjs +3 -3
  291. package/esm2022/table-helpers/services/table-scroll-dispatcher.service.mjs +3 -3
  292. package/esm2022/table-helpers/services/table.service.mjs +23 -21
  293. package/esm2022/table-helpers/table-helpers.module.mjs +4 -4
  294. package/esm2022/table-helpers/table.mjs +1 -1
  295. package/esm2022/value-help-dialog/components/base-tab/vhd-base-tab.component.mjs +3 -3
  296. package/esm2022/value-help-dialog/components/define-tab/define-tab.component.mjs +4 -4
  297. package/esm2022/value-help-dialog/components/select-tab/select-tab.component.mjs +28 -8
  298. package/esm2022/value-help-dialog/components/value-help-dialog-filter/value-help-dialog-filter.component.mjs +9 -5
  299. package/esm2022/value-help-dialog/directives/condition-count-message.directive.mjs +3 -3
  300. package/esm2022/value-help-dialog/directives/value-help-column-def.directive.mjs +24 -0
  301. package/esm2022/value-help-dialog/directives/value-help-filter-def.directive.mjs +22 -0
  302. package/esm2022/value-help-dialog/index.mjs +3 -1
  303. package/esm2022/value-help-dialog/models/vhd-component.model.mjs +3 -0
  304. package/esm2022/value-help-dialog/models/vhd-filter.model.mjs +1 -1
  305. package/esm2022/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +59 -32
  306. package/esm2022/value-help-dialog/value-help-dialog.module.mjs +4 -4
  307. package/esm2022/variant-management/components/manage-variant-item/manage-variant-item.component.mjs +4 -4
  308. package/esm2022/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.mjs +6 -6
  309. package/esm2022/variant-management/components/variant-management-wrapper/variant-management-wrapper.component.mjs +3 -3
  310. package/esm2022/variant-management/directives/variant-management-dirty-label.directive.mjs +3 -3
  311. package/esm2022/variant-management/variant-management.component.mjs +47 -13
  312. package/esm2022/variant-management/variant-management.module.mjs +4 -4
  313. package/esm2022/wizard-generator/base-wizard-generator.mjs +21 -28
  314. package/esm2022/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.mjs +19 -19
  315. package/esm2022/wizard-generator/components/wizard-body/wizard-body.component.mjs +12 -18
  316. package/esm2022/wizard-generator/components/wizard-generator/wizard-generator.component.mjs +7 -12
  317. package/esm2022/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.mjs +11 -10
  318. package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component.mjs +4 -4
  319. package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-step.component.mjs +3 -3
  320. package/esm2022/wizard-generator/directives/wizard-generator-finish-button.directive.mjs +3 -3
  321. package/esm2022/wizard-generator/directives/wizard-generator-go-next-button.directive.mjs +3 -3
  322. package/esm2022/wizard-generator/directives/wizard-generator-review-button.directive.mjs +3 -3
  323. package/esm2022/wizard-generator/directives/wizard-generator-summary-step.directive.mjs +3 -3
  324. package/esm2022/wizard-generator/wizard-dialog-generator.service.mjs +3 -3
  325. package/esm2022/wizard-generator/wizard-generator.module.mjs +4 -4
  326. package/esm2022/wizard-generator/wizard-generator.service.mjs +3 -3
  327. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs +42 -44
  328. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
  329. package/fesm2022/fundamental-ngx-platform-button.mjs +16 -17
  330. package/fesm2022/fundamental-ngx-platform-button.mjs.map +1 -1
  331. package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs +88 -130
  332. package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
  333. package/fesm2022/fundamental-ngx-platform-feed-input.mjs +9 -9
  334. package/fesm2022/fundamental-ngx-platform-feed-input.mjs.map +1 -1
  335. package/fesm2022/fundamental-ngx-platform-form.mjs +853 -1636
  336. package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
  337. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +532 -220
  338. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
  339. package/fesm2022/fundamental-ngx-platform-info-label.mjs +9 -7
  340. package/fesm2022/fundamental-ngx-platform-info-label.mjs.map +1 -1
  341. package/fesm2022/fundamental-ngx-platform-link.mjs +18 -26
  342. package/fesm2022/fundamental-ngx-platform-link.mjs.map +1 -1
  343. package/fesm2022/fundamental-ngx-platform-list.mjs +104 -143
  344. package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
  345. package/fesm2022/fundamental-ngx-platform-menu-button.mjs +16 -11
  346. package/fesm2022/fundamental-ngx-platform-menu-button.mjs.map +1 -1
  347. package/fesm2022/fundamental-ngx-platform-menu.mjs +16 -16
  348. package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
  349. package/fesm2022/fundamental-ngx-platform-message-popover.mjs +71 -74
  350. package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
  351. package/fesm2022/fundamental-ngx-platform-object-marker.mjs +13 -8
  352. package/fesm2022/fundamental-ngx-platform-object-marker.mjs.map +1 -1
  353. package/fesm2022/fundamental-ngx-platform-object-status.mjs +16 -11
  354. package/fesm2022/fundamental-ngx-platform-object-status.mjs.map +1 -1
  355. package/fesm2022/fundamental-ngx-platform-page-footer.mjs +10 -12
  356. package/fesm2022/fundamental-ngx-platform-page-footer.mjs.map +1 -1
  357. package/fesm2022/fundamental-ngx-platform-panel.mjs +19 -20
  358. package/fesm2022/fundamental-ngx-platform-panel.mjs.map +1 -1
  359. package/fesm2022/fundamental-ngx-platform-search-field.mjs +49 -77
  360. package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
  361. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs +75 -72
  362. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
  363. package/fesm2022/fundamental-ngx-platform-shared.mjs +162 -218
  364. package/fesm2022/fundamental-ngx-platform-shared.mjs.map +1 -1
  365. package/fesm2022/fundamental-ngx-platform-slider.mjs +12 -44
  366. package/fesm2022/fundamental-ngx-platform-slider.mjs.map +1 -1
  367. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs +144 -162
  368. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
  369. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +20 -27
  370. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs.map +1 -1
  371. package/fesm2022/fundamental-ngx-platform-table-helpers.mjs +143 -148
  372. package/fesm2022/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
  373. package/fesm2022/fundamental-ngx-platform-table.mjs +366 -291
  374. package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
  375. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +144 -53
  376. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
  377. package/fesm2022/fundamental-ngx-platform-variant-management.mjs +63 -30
  378. package/fesm2022/fundamental-ngx-platform-variant-management.mjs.map +1 -1
  379. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs +82 -98
  380. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
  381. package/fesm2022/fundamental-ngx-platform.mjs +4 -4
  382. package/form/checkbox/checkbox.component.d.ts +4 -6
  383. package/form/checkbox-group/checkbox-group.component.d.ts +3 -8
  384. package/form/combobox/combobox/combobox.component.d.ts +4 -12
  385. package/form/combobox/combobox-mobile/combobox/combobox-mobile.component.d.ts +5 -8
  386. package/form/combobox/commons/base-combobox.d.ts +4 -9
  387. package/form/date-picker/date-picker.component.d.ts +8 -11
  388. package/form/datetime-picker/datetime-picker.component.d.ts +9 -11
  389. package/form/form-generator/controls/dynamic-form-generator-checkbox/dynamic-form-generator-checkbox.component.d.ts +0 -2
  390. package/form/form-generator/controls/dynamic-form-generator-datepicker/dynamic-form-generator-datepicker.component.d.ts +0 -2
  391. package/form/form-generator/controls/dynamic-form-generator-editor/dynamic-form-generator-editor.component.d.ts +0 -2
  392. package/form/form-generator/controls/dynamic-form-generator-input/dynamic-form-generator-input.component.d.ts +0 -2
  393. package/form/form-generator/controls/dynamic-form-generator-multi-input/dynamic-form-generator-multi-input.component.d.ts +0 -2
  394. package/form/form-generator/controls/dynamic-form-generator-radio/dynamic-form-generator-radio.component.d.ts +0 -2
  395. package/form/form-generator/controls/dynamic-form-generator-select/dynamic-form-generator-select.component.d.ts +0 -2
  396. package/form/form-generator/controls/dynamic-form-generator-switch/dynamic-form-generator-switch.component.d.ts +0 -2
  397. package/form/form-generator/form-generator/form-generator.component.d.ts +3 -1
  398. package/form/form-generator/form-generator.service.d.ts +3 -7
  399. package/form/form-generator/interfaces/dynamic-form-item.d.ts +5 -5
  400. package/form/form-group/form-field/form-field.component.d.ts +16 -20
  401. package/form/form-group/form-group.component.d.ts +36 -35
  402. package/form/input/input.component.d.ts +3 -6
  403. package/form/input-group/addon-body.component.d.ts +0 -1
  404. package/form/input-group/input-group.component.d.ts +4 -5
  405. package/form/multi-combobox/commons/base-multi-combobox.d.ts +13 -16
  406. package/form/multi-combobox/multi-combobox/multi-combobox.component.d.ts +4 -12
  407. package/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.d.ts +6 -9
  408. package/form/multi-combobox/multi-combobox.interface.d.ts +3 -3
  409. package/form/multi-input/base-multi-input.d.ts +10 -15
  410. package/form/multi-input/multi-input-mobile/multi-input-mobile.component.d.ts +5 -8
  411. package/form/multi-input/multi-input.component.d.ts +7 -37
  412. package/form/radio-group/radio/radio.component.d.ts +4 -5
  413. package/form/radio-group/radio-group.component.d.ts +7 -11
  414. package/form/select/commons/base-select.d.ts +11 -18
  415. package/form/select/select/select.component.d.ts +2 -15
  416. package/form/step-input/base.step-input.d.ts +13 -14
  417. package/form/step-input/number/number-step-input.component.d.ts +2 -7
  418. package/form/step-input/step-input-action-button.d.ts +4 -7
  419. package/form/step-input/step-input-decrement.directive.d.ts +2 -5
  420. package/form/step-input/step-input-increment.directive.d.ts +2 -5
  421. package/form/switch/switch/switch.component.d.ts +5 -8
  422. package/form/text-area/text-area.component.d.ts +4 -5
  423. package/form/time-picker/time-picker.component.d.ts +4 -5
  424. package/fundamental-ngx-platform-v0.48.0.tgz +0 -0
  425. package/icon-tab-bar/components/icon-tab-bar-base.class.d.ts +19 -20
  426. package/icon-tab-bar/components/icon-tab-bar-icon-type/icon-tab-bar-icon-type.component.d.ts +2 -0
  427. package/icon-tab-bar/components/icon-tab-bar-tab/icon-tab-bar-tab.component.d.ts +45 -0
  428. package/icon-tab-bar/components/icon-tab-bar-text-type/icon-tab-bar-text-type.component.d.ts +1 -3
  429. package/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.d.ts +5 -8
  430. package/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.d.ts +1 -1
  431. package/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.d.ts +1 -1
  432. package/icon-tab-bar/directives/icon-tab-bar-free-content.directive.d.ts +5 -0
  433. package/icon-tab-bar/icon-tab-bar.component.d.ts +82 -8
  434. package/icon-tab-bar/icon-tab-bar.module.d.ts +7 -1
  435. package/icon-tab-bar/index.d.ts +2 -0
  436. package/icon-tab-bar/interfaces/tab-config.interface.d.ts +13 -5
  437. package/info-label/info-label.component.d.ts +2 -2
  438. package/link/link.component.d.ts +4 -7
  439. package/list/base-list-item.d.ts +4 -6
  440. package/list/list.component.d.ts +6 -15
  441. package/menu-button/menu-button.component.d.ts +7 -4
  442. package/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.d.ts +2 -4
  443. package/message-popover/message-popover.component.d.ts +13 -20
  444. package/message-popover/models/message-popover-wrapper.interface.d.ts +2 -2
  445. package/object-marker/object-marker.component.d.ts +4 -1
  446. package/object-status/object-status.component.d.ts +4 -1
  447. package/package.json +4 -4
  448. package/page-footer/page-footer.component.d.ts +2 -4
  449. package/panel/panel.component.d.ts +2 -3
  450. package/search-field/search-field-mobile/search-field/search-field-mobile.component.d.ts +7 -10
  451. package/search-field/search-field.component.d.ts +10 -19
  452. package/settings-generator/models/settings.model.d.ts +7 -6
  453. package/settings-generator/settings-generator-content/settings-generator-content.component.d.ts +31 -12
  454. package/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.d.ts +0 -2
  455. package/settings-generator/settings-generator.component.d.ts +3 -3
  456. package/settings-generator/settings-generator.service.d.ts +1 -1
  457. package/shared/base.d.ts +11 -4
  458. package/shared/form/base.input.d.ts +24 -16
  459. package/shared/form/collection-base.input.d.ts +1 -9
  460. package/shared/form/inline-layout-collection-base.input.d.ts +5 -12
  461. package/slider/slider.component.d.ts +3 -6
  462. package/smart-filter-bar/components/smart-filter-bar-condition-field/base-smart-filter-bar-condition-field.d.ts +3 -5
  463. package/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.d.ts +0 -5
  464. package/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.d.ts +4 -8
  465. package/smart-filter-bar/directives/smart-filter-bar-field-definition.directive.d.ts +8 -17
  466. package/smart-filter-bar/directives/smart-filter-bar-subject.directive.d.ts +2 -0
  467. package/smart-filter-bar/smart-filter-bar.component.d.ts +28 -22
  468. package/split-menu-button/split-menu-button.component.d.ts +11 -14
  469. package/table/components/reset-button/reset-button.component.d.ts +2 -3
  470. package/table/components/table-cell-header-popover/table-cell-header-popover.component.d.ts +4 -3
  471. package/table/components/table-column-resizer/table-column-resizer.component.d.ts +4 -5
  472. package/table/components/table-group-row/table-group-row.component.d.ts +2 -5
  473. package/table/components/table-header-cell-content/table-header-cell-content.component.d.ts +11 -6
  474. package/table/components/table-header-row/table-header-row.component.d.ts +1 -3
  475. package/table/components/table-p13-dialog/columns/columns.component.d.ts +2 -4
  476. package/table/components/table-p13-dialog/filtering/filtering.component.d.ts +1 -4
  477. package/table/components/table-p13-dialog/grouping/grouping.component.d.ts +1 -4
  478. package/table/components/table-p13-dialog/sorting/sorting.component.d.ts +1 -4
  479. package/table/components/table-row/table-row.component.d.ts +2 -2
  480. package/table/components/table-toolbar/table-toolbar.component.d.ts +24 -8
  481. package/table/components/table-view-settings-dialog/filtering/filters.component.d.ts +1 -4
  482. package/table/components/table-view-settings-dialog/grouping/grouping.component.d.ts +1 -4
  483. package/table/components/table-view-settings-dialog/sorting/sorting.component.d.ts +1 -4
  484. package/table/table.component.d.ts +29 -19
  485. package/table-helpers/directives/table-cell-header-popover.directive.d.ts +2 -3
  486. package/table-helpers/directives/table-cell-resizable.directive.d.ts +1 -3
  487. package/table-helpers/directives/table-data-source.directive.d.ts +1 -1
  488. package/table-helpers/services/table-column-resize.service.d.ts +4 -2
  489. package/table-helpers/services/table-responsive.service.d.ts +3 -5
  490. package/table-helpers/services/table.service.d.ts +12 -10
  491. package/table-helpers/table.d.ts +1 -0
  492. package/value-help-dialog/components/select-tab/select-tab.component.d.ts +9 -2
  493. package/value-help-dialog/components/value-help-dialog-filter/value-help-dialog-filter.component.d.ts +5 -1
  494. package/value-help-dialog/directives/value-help-column-def.directive.d.ts +17 -0
  495. package/value-help-dialog/directives/value-help-filter-def.directive.d.ts +15 -0
  496. package/value-help-dialog/index.d.ts +2 -0
  497. package/value-help-dialog/models/vhd-component.model.d.ts +5 -0
  498. package/value-help-dialog/models/vhd-filter.model.d.ts +3 -0
  499. package/value-help-dialog/value-help-dialog/value-help-dialog.component.d.ts +14 -7
  500. package/variant-management/variant-management.component.d.ts +19 -6
  501. package/wizard-generator/base-wizard-generator.d.ts +9 -12
  502. package/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.d.ts +2 -3
  503. package/wizard-generator/components/wizard-body/wizard-body.component.d.ts +3 -7
  504. package/wizard-generator/components/wizard-generator/wizard-generator.component.d.ts +1 -4
  505. package/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.d.ts +1 -1
  506. package/dynamic-page/dynamic-page.service.d.ts +0 -35
  507. package/esm2022/dynamic-page/dynamic-page.service.mjs +0 -58
  508. package/esm2022/search-field/search-field-mobile/search-field-mobile.module.mjs +0 -16
  509. package/fundamental-ngx-platform-v0.48.0-rc.9.tgz +0 -0
  510. package/search-field/search-field-mobile/search-field-mobile.module.d.ts +0 -7
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, Input, Directive, EventEmitter, ViewEncapsulation, ChangeDetectionStrategy, Output, ViewChild, TemplateRef, Optional, ContentChildren, NgModule } from '@angular/core';
3
- import { BehaviorSubject, Subject, of, Subscription, isObservable } from 'rxjs';
4
- import { take, takeUntil } from 'rxjs/operators';
2
+ import { Component, Input, Directive, EventEmitter, ViewEncapsulation, ChangeDetectionStrategy, Output, inject, DestroyRef, ViewChild, TemplateRef, ContentChild, computed, Optional, ContentChildren, NgModule } from '@angular/core';
3
+ import { BehaviorSubject, Subject, of, startWith, tap, filter, take as take$1, Subscription, isObservable } from 'rxjs';
4
+ import { take } from 'rxjs/operators';
5
5
  import { BaseDataProvider, DataProvider, isDataSource } from '@fundamental-ngx/platform/shared';
6
6
  import { NgTemplateOutlet, SlicePipe, NgForOf } from '@angular/common';
7
7
  import * as i1 from '@angular/forms';
@@ -15,6 +15,7 @@ import { TitleComponent } from '@fundamental-ngx/core/title';
15
15
  import { FdTranslatePipe } from '@fundamental-ngx/i18n';
16
16
  import { coerceNumberProperty } from '@angular/cdk/coercion';
17
17
  import { CdkScrollable } from '@angular/cdk/overlay';
18
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
18
19
  import * as i2 from '@fundamental-ngx/cdk/utils';
19
20
  import { RepeatDirective, FocusableGridDirective, TemplateDirective, DisplayFnPipe } from '@fundamental-ngx/cdk/utils';
20
21
  import { BarComponent, BarMiddleDirective, BarElementDirective, BarLeftDirective, BarRightDirective, ButtonBarComponent } from '@fundamental-ngx/core/bar';
@@ -203,10 +204,10 @@ class VhdBaseTab {
203
204
  /** Mobile view */
204
205
  this.mobile = false;
205
206
  }
206
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: VhdBaseTab, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
207
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: VhdBaseTab, isStandalone: true, selector: "ng-component", inputs: { uid: "uid", tabTitle: "tabTitle", mobile: "mobile" }, ngImport: i0, template: '', isInline: true }); }
207
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: VhdBaseTab, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
208
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: VhdBaseTab, isStandalone: true, selector: "ng-component", inputs: { uid: "uid", tabTitle: "tabTitle", mobile: "mobile" }, ngImport: i0, template: '', isInline: true }); }
208
209
  }
209
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: VhdBaseTab, decorators: [{
210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: VhdBaseTab, decorators: [{
210
211
  type: Component,
211
212
  args: [{
212
213
  template: '',
@@ -292,10 +293,10 @@ class ConditionCountMessageDirective {
292
293
  return null;
293
294
  };
294
295
  }
295
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ConditionCountMessageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
296
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", type: ConditionCountMessageDirective, isStandalone: true, selector: "[fdp-condition-count-message]", inputs: { maxCharacters: "maxCharacters" }, providers: [{ provide: NG_VALIDATORS, useExisting: ConditionCountMessageDirective, multi: true }], ngImport: i0 }); }
296
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConditionCountMessageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
297
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: ConditionCountMessageDirective, isStandalone: true, selector: "[fdp-condition-count-message]", inputs: { maxCharacters: "maxCharacters" }, providers: [{ provide: NG_VALIDATORS, useExisting: ConditionCountMessageDirective, multi: true }], ngImport: i0 }); }
297
298
  }
298
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ConditionCountMessageDirective, decorators: [{
299
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ConditionCountMessageDirective, decorators: [{
299
300
  type: Directive,
300
301
  args: [{
301
302
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -421,10 +422,10 @@ class DefineTabComponent extends VhdBaseTab {
421
422
  this.addEmptyCondition();
422
423
  }
423
424
  }
424
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DefineTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
425
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.4", type: DefineTabComponent, isStandalone: true, selector: "fdp-define-tab", inputs: { titleId: "titleId", selectedId: "selectedId", conditions: "conditions", strategyLabels: "strategyLabels" }, outputs: { includeChange: "includeChange", excludeChange: "excludeChange", conditionChange: "conditionChange" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<h5 [id]=\"titleId\" role=\"heading\" aria-level=\"5\" fd-title class=\"define-condition-title\">\n {{ 'platformVHD.defineConditionTitle' | fdTranslate }}\n</h5>\n@for (item of _conditions; track _trackByKeyAndType(i, item); let i = $index) {\n <fd-layout-grid class=\"condition-row\" [noGap]=\"true\">\n <div fdLayoutGridRow>\n <div [fdLayoutGridCol]=\"5\">\n <label id=\"CONDITIONPANEL_OPERATOR_LABEL\" fd-form-label class=\"fdp-value-help-dialog__hidden_label\">\n CONDITIONPANEL_OPERATOR_LABEL\n </label>\n <label [id]=\"selectedId\" fd-form-label class=\"fdp-value-help-dialog__hidden_label\">\n {{\n 'platformVHD.defineConditionSelectedValueHiddenA11yLabel'\n | fdTranslate: { value: item.strategy }\n }}</label\n >\n <fd-select\n class=\"vhd-condition-filters\"\n fdLayoutGridCol\n colGrow\n [class.fd-select-custom-class]=\"false\"\n #sttr\n [controlTemplate]=\"customSelectTemplate\"\n [name]=\"uid + '-' + type + '-strategy-' + item.id\"\n [(ngModel)]=\"item.strategy\"\n (valueChange)=\"_filterChanged()\"\n role=\"combobox\"\n aria-roledescription=\"select\"\n aria-haspopup=\"listbox\"\n [ariaLabelledBy]=\"titleId + ' ' + 'CONDITIONPANEL_OPERATOR_LABEL' + ' ' + selectedId\"\n >\n @if (_includeStrategy.length) {\n <li fd-list-group-header>\n {{ 'platformVHD.defineConditionConditionsGroupHeaderInclude' | fdTranslate }}\n </li>\n @for (strategy of _includeStrategy; track strategy) {\n <li fd-option [value]=\"strategy.key\">\n <ng-template\n [ngTemplateOutlet]=\"conditionStrategyOption\"\n [ngTemplateOutletContext]=\"{ type: _defineTypes.include, strategy: strategy }\"\n ></ng-template>\n </li>\n }\n }\n @if (_excludeStrategy.length) {\n <li fd-list-group-header>\n {{ 'platformVHD.defineConditionConditionsGroupHeaderExclude' | fdTranslate }}\n </li>\n @for (strategy of _excludeStrategy; track strategy) {\n <li fd-option [value]=\"strategy.key\">\n <ng-template\n [ngTemplateOutlet]=\"conditionStrategyOption\"\n [ngTemplateOutletContext]=\"{ type: _defineTypes.exclude, strategy: strategy }\"\n ></ng-template>\n </li>\n }\n }\n </fd-select>\n </div>\n @if (item.strategy !== _strategyIncludeValues.empty && item.strategy !== _strategyExcludeValues.not_empty) {\n <div fdLayoutGridCol colGrow>\n <div fdLayoutGridRow>\n @if (item.strategy === _strategyIncludeValues.between) {\n <div fdLayoutGridCol colGrow>\n <fd-form-input-message-group [triggers]=\"['focusin', 'focusout']\">\n <input\n fd-form-control\n fdp-condition-count-message\n [maxCharacters]=\"_rules.maxCharactersHintCount\"\n type=\"text\"\n [placeholder]=\"'platformVHD.defineConditionFromPlaceholder' | fdTranslate\"\n placeholder=\"from\"\n required\n [state]=\"fromModel.invalid ? 'error' : null\"\n [name]=\"uid + '-' + type + '-from-' + item.id\"\n (blur)=\"_validateConditionValue(item, [!!fromModel.valid, !!toModel.valid])\"\n #fromModel=\"ngModel\"\n [(ngModel)]=\"item.value\"\n />\n <ng-template\n [ngTemplateOutlet]=\"countError\"\n [ngTemplateOutletContext]=\"{ $implicit: item.value && item.value.length }\"\n ></ng-template>\n </fd-form-input-message-group>\n </div>\n <div fdLayoutGridCol colGrow>\n <fd-form-input-message-group [triggers]=\"['focusin', 'focusout']\">\n <input\n fd-form-control\n fdp-condition-count-message\n [maxCharacters]=\"_rules.maxCharactersHintCount\"\n type=\"text\"\n [placeholder]=\"'platformVHD.defineConditionToPlaceholder' | fdTranslate\"\n required\n [state]=\"toModel.invalid ? 'error' : null\"\n [name]=\"uid + '-' + type + '-to-' + item.id\"\n (blur)=\"_validateConditionValue(item, [!!fromModel.valid, !!toModel.valid])\"\n #toModel=\"ngModel\"\n [(ngModel)]=\"item.valueTo\"\n />\n <ng-template\n [ngTemplateOutlet]=\"countError\"\n [ngTemplateOutletContext]=\"{ $implicit: item.value && item.value.length }\"\n ></ng-template>\n </fd-form-input-message-group>\n </div>\n } @else {\n <div fdLayoutGridCol colGrow>\n <fd-form-input-message-group>\n <input\n fd-form-control\n fdp-condition-count-message\n [maxCharacters]=\"_rules.maxCharactersHintCount\"\n type=\"text\"\n [placeholder]=\"'platformVHD.defineConditionValuePlaceholder' | fdTranslate\"\n [state]=\"valueModel.invalid ? 'error' : null\"\n [name]=\"uid + '-' + type + '-value-' + item.id\"\n (blur)=\"_validateConditionValue(item, !!valueModel.valid)\"\n #valueModel=\"ngModel\"\n [(ngModel)]=\"item.value\"\n />\n @if (valueModel.invalid) {\n <ng-template\n [ngTemplateOutlet]=\"countError\"\n [ngTemplateOutletContext]=\"{ $implicit: item.value && item.value.length }\"\n ></ng-template>\n }\n </fd-form-input-message-group>\n </div>\n }\n </div>\n </div>\n }\n <div class=\"action-col\" fdLayoutGridCol colGrow>\n <button\n fd-button\n [ariaLabel]=\"'platformVHD.defineConditionRemoveConditionButtonTitle' | fdTranslate\"\n fdType=\"transparent\"\n glyph=\"decline\"\n [title]=\"'platformVHD.defineConditionRemoveConditionButtonTitle' | fdTranslate\"\n (click)=\"removeCondition(i)\"\n ></button>\n </div>\n </div>\n </fd-layout-grid>\n}\n<fd-layout-grid class=\"condition-row new-condition-row\" [noGap]=\"true\">\n <div fdLayoutGridRow>\n <div fdLayoutGridCol colGrow>&nbsp;</div>\n <div fdLayoutGridCol class=\"action-col\">\n <button\n fd-button\n [attr.aria-label]=\"'platformVHD.defineConditionAddConditionButtonTitle' | fdTranslate\"\n [label]=\"'platformVHD.defineConditionAddConditionButtonLabel' | fdTranslate\"\n [title]=\"'platformVHD.defineConditionAddConditionButtonTitle' | fdTranslate\"\n (click)=\"addEmptyCondition()\"\n ></button>\n </div>\n </div>\n</fd-layout-grid>\n<ng-template #conditionStrategyOption let-type=\"type\" let-strategy=\"strategy\">\n @switch (strategy.key) {\n @case ('contains') {\n {{ 'platformVHD.defineConditionConditionStrategyLabelContains' | fdTranslate }}\n }\n @case ('equalTo') {\n {{ 'platformVHD.defineConditionConditionStrategyLabelEqualTo' | fdTranslate }}\n }\n @case ('between') {\n {{ 'platformVHD.defineConditionConditionStrategyLabelBetween' | fdTranslate }}\n }\n @case ('startsWith') {\n {{ 'platformVHD.defineConditionConditionStrategyLabelStartsWith' | fdTranslate }}\n }\n @case ('endsWith') {\n {{ 'platformVHD.defineConditionConditionStrategyLabelEndsWith' | fdTranslate }}\n }\n @case ('lessThan') {\n {{ 'platformVHD.defineConditionConditionStrategyLabelLessThan' | fdTranslate }}\n }\n @case ('lessThanEqual') {\n {{ 'platformVHD.defineConditionConditionStrategyLabelLessThanEqual' | fdTranslate }}\n }\n @case ('greaterThan') {\n {{ 'platformVHD.defineConditionConditionStrategyLabelGreaterThan' | fdTranslate }}\n }\n @case ('greaterThanEqual') {\n {{ 'platformVHD.defineConditionConditionStrategyLabelGreaterThanEqual' | fdTranslate }}\n }\n @case ('empty') {\n {{ 'platformVHD.defineConditionConditionStrategyLabelEmpty' | fdTranslate }}\n }\n @case ('not_equalTo') {\n {{ 'platformVHD.defineConditionConditionStrategyLabelNotEqualTo' | fdTranslate }}\n }\n @case ('not_empty') {\n {{ 'platformVHD.defineConditionConditionStrategyLabelNotEmpty' | fdTranslate }}\n }\n }\n</ng-template>\n<ng-template #countError let-count>\n @if (count && count > 7) {\n <fd-form-message type=\"error\">\n {{ 'platformVHD.defineConditionMaxCountError' | fdTranslate: { count: 7 } }}\n </fd-form-message>\n }\n</ng-template>\n<ng-template #customSelectTemplate let-textValue>\n {{ textValue }}\n</ng-template>\n", styles: [".fdp-value-help-dialog .fd-row{min-width:100%!important;margin:0!important}.fdp-value-help-dialog .condition-row>.fd-col{padding:0 .5rem .5rem 0}.fdp-value-help-dialog .condition-row>.fd-col:last-child{padding-right:0}.fdp-value-help-dialog .condition-row .fd-input{margin:0}.fdp-value-help-dialog fdp-define-tab{height:100%;overflow:auto}.fdp-value-help-dialog fdp-define-tab .define-condition-title{padding:.625rem 0 0}.fdp-value-help-dialog fdp-define-tab .fd-container--no-gap{margin:0!important}.fdp-value-help-dialog .vhd-condition-filters fd-popover{width:100%}.fdp-value-help-dialog .condition-row{align-items:center}.fdp-value-help-dialog .condition-row .main-col{min-width:auto;flex:1 1 auto}.fdp-value-help-dialog .condition-row .action-col{min-width:auto;flex:0 0 auto}.fdp-value-help-dialog .condition-row .fd-input{margin-top:0}.fdp-value-help-dialog .condition-row.new-condition-row{padding-top:.5rem}.fdp-value-help-dialog .condition-row.new-condition-row .fd-button{margin-right:2.5rem}\n"], dependencies: [{ kind: "component", type: TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }, { kind: "directive", type: LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "component", type: FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "inlineHelpLabel", "id"] }, { kind: "component", type: SelectComponent, selector: "fd-select", inputs: ["extendedBodyTemplate", "scrollStrategy", "controlId", "state", "mobile", "stateMessage", "disabled", "required", "readonly", "placeholder", "value", "maxHeight", "glyph", "closeOnOutsideClick", "fillControlMode", "controlTemplate", "appendTo", "unselectMissingOption", "typeaheadDebounceInterval", "ariaLabelledBy", "ariaLabel", "mobileConfig", "inline", "selectControlClass", "selectDropdownButtonClass", "advancedStateMessage", "tabOutStrategy", "compareWith"], outputs: ["isOpenChange", "valueChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ListGroupHeaderDirective, selector: "[fdListGroupHeader], [fd-list-group-header]", inputs: ["nativeElementId"], outputs: ["keyDown"] }, { kind: "component", type: OptionComponent, selector: "[fd-option], fd-option", inputs: ["id", "value", "disabled"], outputs: ["selectionChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: FormInputMessageGroupComponent, selector: "fd-form-input-message-group", inputs: ["triggers", "closeOnOutsideClick", "fillControlMode", "noArrow", "closeOnEscapeKey", "placement", "placementContainer", "isOpen"], outputs: ["isOpenChange"] }, { kind: "component", type: FormControlComponent, selector: "input[fd-form-control], textarea[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: ConditionCountMessageDirective, selector: "[fdp-condition-count-message]", inputs: ["maxCharacters"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: FormMessageComponent, selector: "fd-form-message", inputs: ["type", "static", "embedded", "class"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
425
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DefineTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
426
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.8", type: DefineTabComponent, isStandalone: true, selector: "fdp-define-tab", inputs: { titleId: "titleId", selectedId: "selectedId", conditions: "conditions", strategyLabels: "strategyLabels" }, outputs: { includeChange: "includeChange", excludeChange: "excludeChange", conditionChange: "conditionChange" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<h5 [id]=\"titleId\" role=\"heading\" aria-level=\"5\" fd-title class=\"define-condition-title\">\n {{ 'platformVHD.defineConditionTitle' | fdTranslate }}\n</h5>\n@for (item of _conditions; track _trackByKeyAndType(i, item); let i = $index) {\n <fd-layout-grid class=\"condition-row\" [noGap]=\"true\">\n <div fdLayoutGridRow>\n <div [fdLayoutGridCol]=\"5\">\n <label id=\"CONDITIONPANEL_OPERATOR_LABEL\" fd-form-label class=\"fdp-value-help-dialog__hidden_label\">\n CONDITIONPANEL_OPERATOR_LABEL\n </label>\n <label [id]=\"selectedId\" fd-form-label class=\"fdp-value-help-dialog__hidden_label\">\n {{\n 'platformVHD.defineConditionSelectedValueHiddenA11yLabel'\n | fdTranslate: { value: item.strategy }\n }}</label\n >\n <fd-select\n class=\"vhd-condition-filters\"\n fdLayoutGridCol\n colGrow\n [class.fd-select-custom-class]=\"false\"\n #sttr\n [controlTemplate]=\"customSelectTemplate\"\n [name]=\"uid + '-' + type + '-strategy-' + item.id\"\n [(ngModel)]=\"item.strategy\"\n (valueChange)=\"_filterChanged()\"\n role=\"combobox\"\n aria-roledescription=\"select\"\n aria-haspopup=\"listbox\"\n [ariaLabelledBy]=\"titleId + ' ' + 'CONDITIONPANEL_OPERATOR_LABEL' + ' ' + selectedId\"\n >\n @if (_includeStrategy.length) {\n <li fd-list-group-header>\n {{ 'platformVHD.defineConditionConditionsGroupHeaderInclude' | fdTranslate }}\n </li>\n @for (strategy of _includeStrategy; track strategy) {\n <li fd-option [value]=\"strategy.key\">\n <ng-template\n [ngTemplateOutlet]=\"conditionStrategyOption\"\n [ngTemplateOutletContext]=\"{ type: _defineTypes.include, strategy: strategy }\"\n ></ng-template>\n </li>\n }\n }\n @if (_excludeStrategy.length) {\n <li fd-list-group-header>\n {{ 'platformVHD.defineConditionConditionsGroupHeaderExclude' | fdTranslate }}\n </li>\n @for (strategy of _excludeStrategy; track strategy) {\n <li fd-option [value]=\"strategy.key\">\n <ng-template\n [ngTemplateOutlet]=\"conditionStrategyOption\"\n [ngTemplateOutletContext]=\"{ type: _defineTypes.exclude, strategy: strategy }\"\n ></ng-template>\n </li>\n }\n }\n </fd-select>\n </div>\n @if (item.strategy !== _strategyIncludeValues.empty && item.strategy !== _strategyExcludeValues.not_empty) {\n <div fdLayoutGridCol colGrow>\n <div fdLayoutGridRow>\n @if (item.strategy === _strategyIncludeValues.between) {\n <div fdLayoutGridCol colGrow>\n <fd-form-input-message-group [triggers]=\"['focusin', 'focusout']\">\n <input\n fd-form-control\n fdp-condition-count-message\n [maxCharacters]=\"_rules.maxCharactersHintCount\"\n type=\"text\"\n [placeholder]=\"'platformVHD.defineConditionFromPlaceholder' | fdTranslate\"\n placeholder=\"from\"\n required\n [state]=\"fromModel.invalid ? 'error' : null\"\n [name]=\"uid + '-' + type + '-from-' + item.id\"\n (blur)=\"_validateConditionValue(item, [!!fromModel.valid, !!toModel.valid])\"\n #fromModel=\"ngModel\"\n [(ngModel)]=\"item.value\"\n />\n <ng-template\n [ngTemplateOutlet]=\"countError\"\n [ngTemplateOutletContext]=\"{ $implicit: item.value && item.value.length }\"\n ></ng-template>\n </fd-form-input-message-group>\n </div>\n <div fdLayoutGridCol colGrow>\n <fd-form-input-message-group [triggers]=\"['focusin', 'focusout']\">\n <input\n fd-form-control\n fdp-condition-count-message\n [maxCharacters]=\"_rules.maxCharactersHintCount\"\n type=\"text\"\n [placeholder]=\"'platformVHD.defineConditionToPlaceholder' | fdTranslate\"\n required\n [state]=\"toModel.invalid ? 'error' : null\"\n [name]=\"uid + '-' + type + '-to-' + item.id\"\n (blur)=\"_validateConditionValue(item, [!!fromModel.valid, !!toModel.valid])\"\n #toModel=\"ngModel\"\n [(ngModel)]=\"item.valueTo\"\n />\n <ng-template\n [ngTemplateOutlet]=\"countError\"\n [ngTemplateOutletContext]=\"{ $implicit: item.value && item.value.length }\"\n ></ng-template>\n </fd-form-input-message-group>\n </div>\n } @else {\n <div fdLayoutGridCol colGrow>\n <fd-form-input-message-group>\n <input\n fd-form-control\n fdp-condition-count-message\n [maxCharacters]=\"_rules.maxCharactersHintCount\"\n type=\"text\"\n [placeholder]=\"'platformVHD.defineConditionValuePlaceholder' | fdTranslate\"\n [state]=\"valueModel.invalid ? 'error' : null\"\n [name]=\"uid + '-' + type + '-value-' + item.id\"\n (blur)=\"_validateConditionValue(item, !!valueModel.valid)\"\n #valueModel=\"ngModel\"\n [(ngModel)]=\"item.value\"\n />\n @if (valueModel.invalid) {\n <ng-template\n [ngTemplateOutlet]=\"countError\"\n [ngTemplateOutletContext]=\"{ $implicit: item.value && item.value.length }\"\n ></ng-template>\n }\n </fd-form-input-message-group>\n </div>\n }\n </div>\n </div>\n }\n <div class=\"action-col\" fdLayoutGridCol colGrow>\n <button\n fd-button\n [ariaLabel]=\"'platformVHD.defineConditionRemoveConditionButtonTitle' | fdTranslate\"\n fdType=\"transparent\"\n glyph=\"decline\"\n [title]=\"'platformVHD.defineConditionRemoveConditionButtonTitle' | fdTranslate\"\n (click)=\"removeCondition(i)\"\n ></button>\n </div>\n </div>\n </fd-layout-grid>\n}\n<fd-layout-grid class=\"condition-row new-condition-row\" [noGap]=\"true\">\n <div fdLayoutGridRow>\n <div fdLayoutGridCol colGrow>&nbsp;</div>\n <div fdLayoutGridCol class=\"action-col\">\n <button\n fd-button\n [attr.aria-label]=\"'platformVHD.defineConditionAddConditionButtonTitle' | fdTranslate\"\n [label]=\"'platformVHD.defineConditionAddConditionButtonLabel' | fdTranslate\"\n [title]=\"'platformVHD.defineConditionAddConditionButtonTitle' | fdTranslate\"\n (click)=\"addEmptyCondition()\"\n ></button>\n </div>\n </div>\n</fd-layout-grid>\n<ng-template #conditionStrategyOption let-type=\"type\" let-strategy=\"strategy\">\n @switch (strategy.key) {\n @case ('contains') {\n {{ 'platformVHD.defineConditionConditionStrategyLabelContains' | fdTranslate }}\n }\n @case ('equalTo') {\n {{ 'platformVHD.defineConditionConditionStrategyLabelEqualTo' | fdTranslate }}\n }\n @case ('between') {\n {{ 'platformVHD.defineConditionConditionStrategyLabelBetween' | fdTranslate }}\n }\n @case ('startsWith') {\n {{ 'platformVHD.defineConditionConditionStrategyLabelStartsWith' | fdTranslate }}\n }\n @case ('endsWith') {\n {{ 'platformVHD.defineConditionConditionStrategyLabelEndsWith' | fdTranslate }}\n }\n @case ('lessThan') {\n {{ 'platformVHD.defineConditionConditionStrategyLabelLessThan' | fdTranslate }}\n }\n @case ('lessThanEqual') {\n {{ 'platformVHD.defineConditionConditionStrategyLabelLessThanEqual' | fdTranslate }}\n }\n @case ('greaterThan') {\n {{ 'platformVHD.defineConditionConditionStrategyLabelGreaterThan' | fdTranslate }}\n }\n @case ('greaterThanEqual') {\n {{ 'platformVHD.defineConditionConditionStrategyLabelGreaterThanEqual' | fdTranslate }}\n }\n @case ('empty') {\n {{ 'platformVHD.defineConditionConditionStrategyLabelEmpty' | fdTranslate }}\n }\n @case ('not_equalTo') {\n {{ 'platformVHD.defineConditionConditionStrategyLabelNotEqualTo' | fdTranslate }}\n }\n @case ('not_empty') {\n {{ 'platformVHD.defineConditionConditionStrategyLabelNotEmpty' | fdTranslate }}\n }\n }\n</ng-template>\n<ng-template #countError let-count>\n @if (count && count > 7) {\n <fd-form-message type=\"error\">\n {{ 'platformVHD.defineConditionMaxCountError' | fdTranslate: { count: 7 } }}\n </fd-form-message>\n }\n</ng-template>\n<ng-template #customSelectTemplate let-textValue>\n {{ textValue }}\n</ng-template>\n", styles: [".fdp-value-help-dialog .fd-row{min-width:100%!important;margin:0!important}.fdp-value-help-dialog .condition-row>.fd-col{padding:0 .5rem .5rem 0}.fdp-value-help-dialog .condition-row>.fd-col:last-child{padding-right:0}.fdp-value-help-dialog .condition-row .fd-input{margin:0}.fdp-value-help-dialog fdp-define-tab{height:100%;overflow:auto}.fdp-value-help-dialog fdp-define-tab .define-condition-title{padding:.625rem 0 0}.fdp-value-help-dialog fdp-define-tab .fd-container--no-gap{margin:0!important}.fdp-value-help-dialog .vhd-condition-filters fd-popover{width:100%}.fdp-value-help-dialog .condition-row{align-items:center}.fdp-value-help-dialog .condition-row .main-col{min-width:auto;flex:1 1 auto}.fdp-value-help-dialog .condition-row .action-col{min-width:auto;flex:0 0 auto}.fdp-value-help-dialog .condition-row .fd-input{margin-top:0}.fdp-value-help-dialog .condition-row.new-condition-row{padding-top:.5rem}.fdp-value-help-dialog .condition-row.new-condition-row .fd-button{margin-right:2.5rem}\n"], dependencies: [{ kind: "component", type: TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title], span[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }, { kind: "directive", type: LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "component", type: FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "inlineHelpLabel", "id"] }, { kind: "component", type: SelectComponent, selector: "fd-select", inputs: ["extendedBodyTemplate", "scrollStrategy", "controlId", "state", "mobile", "stateMessage", "disabled", "required", "readonly", "placeholder", "value", "maxHeight", "glyph", "glyphFont", "closeOnOutsideClick", "fillControlMode", "controlTemplate", "appendTo", "unselectMissingOption", "typeaheadDebounceInterval", "ariaLabelledBy", "ariaLabel", "mobileConfig", "inline", "selectControlClass", "selectDropdownButtonClass", "advancedStateMessage", "tabOutStrategy", "compareWith"], outputs: ["isOpenChange", "valueChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ListGroupHeaderDirective, selector: "[fdListGroupHeader], [fd-list-group-header]", inputs: ["nativeElementId"], outputs: ["keyDown"] }, { kind: "component", type: OptionComponent, selector: "[fd-option], fd-option", inputs: ["id", "value", "disabled"], outputs: ["selectionChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: FormInputMessageGroupComponent, selector: "fd-form-input-message-group", inputs: ["triggers", "closeOnOutsideClick", "fillControlMode", "noArrow", "closeOnEscapeKey", "placement", "placementContainer", "isOpen"], outputs: ["isOpenChange"] }, { kind: "component", type: FormControlComponent, selector: "input[fd-form-control], textarea[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: ConditionCountMessageDirective, selector: "[fdp-condition-count-message]", inputs: ["maxCharacters"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: FormMessageComponent, selector: "fd-form-message", inputs: ["type", "static", "embedded", "class"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
426
427
  }
427
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: DefineTabComponent, decorators: [{
428
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DefineTabComponent, decorators: [{
428
429
  type: Component,
429
430
  args: [{ selector: 'fdp-define-tab', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
430
431
  TitleComponent,
@@ -460,6 +461,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
460
461
  type: Output
461
462
  }] } });
462
463
 
464
+ class VhdComponent {
465
+ }
466
+
463
467
  /* eslint-disable @typescript-eslint/member-ordering */
464
468
  let titleUniqueId = 0;
465
469
  class SelectTabComponent extends VhdBaseTab {
@@ -481,6 +485,8 @@ class SelectTabComponent extends VhdBaseTab {
481
485
  this.filters = [];
482
486
  /** Close dialog immediately after select any row from search table. It'll be skipped if multi option is true */
483
487
  this.selection = 'single';
488
+ /** Whether to allow users to select all table entries with one checkbox. */
489
+ this.allowSelectAll = true;
484
490
  /** Uniq field from data source */
485
491
  this.uniqueKey = 'id';
486
492
  /** Count of default mobile header from search table */
@@ -505,7 +511,13 @@ class SelectTabComponent extends VhdBaseTab {
505
511
  /** @hidden */
506
512
  this._selectedMap = {};
507
513
  /** @hidden */
514
+ this._columnDefMap = new Map();
515
+ /** @hidden */
508
516
  this.selectedItems = [];
517
+ /** @hidden */
518
+ this._vhd = inject(VhdComponent, { optional: true });
519
+ /** @hidden */
520
+ this._destroyRef = inject(DestroyRef);
509
521
  /** @hidden Track function for main data */
510
522
  this._trackByTableRowFn = (_index, item) => {
511
523
  if (item) {
@@ -529,6 +541,12 @@ class SelectTabComponent extends VhdBaseTab {
529
541
  /** @hidden */
530
542
  ngAfterViewInit() {
531
543
  Promise.resolve(true).then(() => this._checkScrollAndShowMore());
544
+ this._vhd?.columnDef.changes.pipe(startWith(null), takeUntilDestroyed(this._destroyRef)).subscribe(() => {
545
+ this._columnDefMap.clear();
546
+ this._vhd?.columnDef.forEach((item) => {
547
+ this._columnDefMap.set(item.column, item);
548
+ });
549
+ });
532
550
  }
533
551
  /** @hidden */
534
552
  ngOnChanges(changes) {
@@ -676,10 +694,10 @@ class SelectTabComponent extends VhdBaseTab {
676
694
  this._selectedMap[s[this.uniqueKey]] = true;
677
695
  }
678
696
  }
679
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: SelectTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
680
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.4", type: SelectTabComponent, isStandalone: true, selector: "fdp-select-tab", inputs: { selectTabTitleId: "selectTabTitleId", selectTabCountId: "selectTabCountId", selected: "selected", loading: "loading", filters: "filters", selection: "selection", uniqueKey: "uniqueKey", pageSize: "pageSize", defaultMobileHeaders: "defaultMobileHeaders", displayedData: "displayedData" }, outputs: { select: "select" }, viewQueries: [{ propertyName: "infiniteScrollTable", first: true, predicate: InfiniteScrollDirective, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"table-header\">\n <h5 fd-title role=\"heading\" aria-level=\"5\">\n {{ 'platformVHD.selectTabDisplayCountLabel' | fdTranslate: { count: displayedData.length } }}\n </h5>\n</div>\n<div\n class=\"fdp-value-help-dialog__table-holder table-content\"\n fd-scrollbar\n fdInfiniteScroll\n (onScrollAction)=\"_showMoreElements()\"\n [scrollPercent]=\"80\"\n role=\"table\"\n>\n <table\n fd-table\n [popIn]=\"mobile\"\n [noBorderX]=\"mobile\"\n [noBorderY]=\"false\"\n [attr.aria-colcount]=\"_tableFilters.main.length\"\n [attr.aria-rowcount]=\"displayedData.length\"\n role=\"grid\"\n aria-multiselectable=\"true\"\n [attr.aria-labelledby]=\"selectTabTitleId + ' ' + selectTabCountId\"\n >\n <label [id]=\"selectTabCountId\" fd-form-label class=\"fdp-value-help-dialog__hidden_label\">\n {{\n 'platformVHD.selectTabCountHiddenA11yLabel'\n | fdTranslate: { rowCount: displayedData.length, colCount: _tableFilters.main.length }\n }}\n </label>\n <label [id]=\"selectTabTitleId\" fd-form-label class=\"fdp-value-help-dialog__hidden_label\">\n {{ 'platformVHD.selectTabDisplayCountLabel' | fdTranslate: { count: displayedData.length } }}\n </label>\n <thead fd-table-header>\n @if (displayedData.length && _tableFilters) {\n <tr fd-table-row>\n <th fd-table-cell [fitContent]=\"mobile\">\n @if (isMultiSelection) {\n <fd-checkbox\n [name]=\"uid + '-row-all'\"\n [tristate]=\"true\"\n [tristateSelectable]=\"false\"\n [ngModel]=\"_selectedAll\"\n (ngModelChange)=\"_toggleAllRows()\"\n ></fd-checkbox>\n }\n </th>\n @for (\n filter of _tableFilters.main;\n track _trackByFilterFn(colindex, filter);\n let colindex = $index\n ) {\n <th fd-table-cell [attr.aria-colindex]=\"colindex\">\n {{ filter.label }}\n </th>\n }\n </tr>\n }\n </thead>\n <tbody fd-table-body>\n @for (\n row of displayedData | slice: _shownFrom : _shownCount;\n track _trackByTableRowFn(i, row);\n let i = $index\n ) {\n <tr\n fd-table-row\n [hoverable]=\"!mobile\"\n [main]=\"mobile\"\n [attr.aria-selected]=\"_selectedMap[row[uniqueKey]]\"\n [activable]=\"!isMultiSelection\"\n (click)=\"!isMultiSelection && _toggleSelectRow(row)\"\n >\n <td fd-table-cell [fitContent]=\"mobile\">\n @if (isMultiSelection) {\n <fd-checkbox\n [name]=\"uid + '-row-' + i\"\n [ngModel]=\"_selectedMap[row[uniqueKey]]\"\n (change)=\"_toggleSelectRow(row)\"\n ></fd-checkbox>\n }\n </td>\n @for (filter of _tableFilters.main; track filter; let rowIndex = $index) {\n <td fd-table-cell [attr.aria-rowindex]=\"rowIndex\">\n {{ row[filter.key] || '' }}\n </td>\n }\n </tr>\n @if (mobile && _tableFilters.secondary.length) {\n <tr fd-table-row [secondary]=\"true\" [attr.aria-selected]=\"_selectedMap[row[uniqueKey]]\">\n <td fd-table-cell></td>\n <td colspan=\"100%\" fd-table-cell [fitContent]=\"true\">\n @for (filter of _tableFilters.secondary; track filter) {\n <p fd-table-text>\n <label>{{ filter.label }}:</label>\n {{ row[filter.key] || '' }}\n </p>\n }\n </td>\n </tr>\n }\n }\n @if (displayedData.length && mobile && _shownCount && _shownCount !== displayedData.length) {\n <tr fd-table-row>\n <td colspan=\"100%\">\n <div fd-bar barDesign=\"header-with-subheader\">\n <div fd-bar-middle>\n <fd-bar-element>\n <button\n fd-button\n fdType=\"transparent\"\n [label]=\"'platformVHD.selectTabMoreBtnLabel' | fdTranslate\"\n (click)=\"_showMoreElements()\"\n ></button>\n </fd-bar-element>\n </div>\n </div>\n </td>\n </tr>\n }\n @if (!displayedData.length) {\n @if (loading) {\n <tr fd-table-row *fdkRepeat=\"3\">\n <td fd-table-cell *fdkRepeat=\"3\">\n <fd-skeleton [style.margin]=\"'auto 0'\" type=\"text\" textLines=\"1\" width=\"60%\"></fd-skeleton>\n </td>\n </tr>\n } @else {\n <tr fd-table-row>\n <td fd-table-cell colspan=\"100%\">\n <div class=\"fdp-value-help-dialog__empty-message\">\n {{ 'platformVHD.searchTableEmptyMessage' | fdTranslate }}\n </div>\n </td>\n </tr>\n }\n }\n </tbody>\n </table>\n</div>\n", styles: [".fdp-value-help-dialog__advanced-filters .fd-col{padding-top:0}.fdp-value-help-dialog__content-holder fdp-select-tab{display:flex;flex-direction:column;overflow:hidden;height:100%}.fdp-value-help-dialog__content-holder .table-header{flex:0 0 auto}.fdp-value-help-dialog__content-holder .table-content{flex:1 1 auto;overflow:auto;min-height:5rem}.fdp-value-help-dialog__table-holder{padding-top:0;padding-bottom:0}.fdp-value-help-dialog__empty-message{padding:1rem 2rem}\n"], dependencies: [{ kind: "component", type: TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: ScrollbarDirective, selector: "[fdScrollbar], [fd-scrollbar]", inputs: ["noHorizontalScroll", "noVerticalScroll", "alwaysVisible"] }, { kind: "directive", type: InfiniteScrollDirective, selector: "[fdInfiniteScroll]", inputs: ["scrollPercent", "scrollOffset"], outputs: ["onScrollAction"] }, { kind: "component", type: TableComponent, selector: "table[fd-table]", inputs: ["noBorderX", "noBorderY", "noOuterBorder", "topBorder", "popIn", "responsive", "keys", "allCellsFocusable"], exportAs: ["fd-table"] }, { kind: "component", type: FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "inlineHelpLabel", "id"] }, { kind: "directive", type: TableHeaderDirective, selector: "[fdTableHeader], [fd-table-header]", inputs: ["noBorderX", "noBorderY"] }, { kind: "directive", type: TableRowDirective, selector: "[fdTableRow], [fd-table-row]", inputs: ["activable", "highlightActive", "hoverable", "focusable", "main", "secondary", "active"] }, { kind: "directive", type: TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "hoverable", "fitContent", "noPadding", "noData", "key"] }, { kind: "component", type: CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: TableBodyDirective, selector: "[fdTableBody], [fd-table-body]", inputs: ["noBorderX", "noBorderY"] }, { kind: "directive", type: TableTextDirective, selector: "[fdTableText], [fd-table-text]", inputs: ["fdTableTextClass", "noWrap", "title", "maxWidth"] }, { kind: "component", type: BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: BarMiddleDirective, selector: "[fd-bar-middle]" }, { kind: "directive", type: BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: RepeatDirective, selector: "[fdkRepeat]", inputs: ["fdkRepeat"] }, { kind: "component", type: SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }, { kind: "pipe", type: SlicePipe, name: "slice" }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
697
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SelectTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
698
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.8", type: SelectTabComponent, isStandalone: true, selector: "fdp-select-tab", inputs: { selectTabTitleId: "selectTabTitleId", selectTabCountId: "selectTabCountId", selected: "selected", loading: "loading", filters: "filters", selection: "selection", allowSelectAll: "allowSelectAll", uniqueKey: "uniqueKey", pageSize: "pageSize", defaultMobileHeaders: "defaultMobileHeaders", displayedData: "displayedData" }, outputs: { select: "select" }, viewQueries: [{ propertyName: "infiniteScrollTable", first: true, predicate: InfiniteScrollDirective, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"table-header\">\n <h5 fd-title role=\"heading\" aria-level=\"5\">\n {{ 'platformVHD.selectTabDisplayCountLabel' | fdTranslate: { count: displayedData.length } }}\n </h5>\n</div>\n<div\n class=\"fdp-value-help-dialog__table-holder table-content\"\n fd-scrollbar\n fdInfiniteScroll\n (onScrollAction)=\"_showMoreElements()\"\n [scrollPercent]=\"80\"\n role=\"table\"\n>\n <table\n fd-table\n [popIn]=\"mobile\"\n [noBorderX]=\"mobile\"\n [noBorderY]=\"false\"\n [attr.aria-colcount]=\"_tableFilters.main.length\"\n [attr.aria-rowcount]=\"displayedData.length\"\n role=\"grid\"\n aria-multiselectable=\"true\"\n [attr.aria-labelledby]=\"selectTabTitleId + ' ' + selectTabCountId\"\n >\n <label [id]=\"selectTabCountId\" fd-form-label class=\"fdp-value-help-dialog__hidden_label\">\n {{\n 'platformVHD.selectTabCountHiddenA11yLabel'\n | fdTranslate: { rowCount: displayedData.length, colCount: _tableFilters.main.length }\n }}\n </label>\n <label [id]=\"selectTabTitleId\" fd-form-label class=\"fdp-value-help-dialog__hidden_label\">\n {{ 'platformVHD.selectTabDisplayCountLabel' | fdTranslate: { count: displayedData.length } }}\n </label>\n <thead fd-table-header>\n @if (displayedData.length && _tableFilters) {\n <tr fd-table-row>\n <th fd-table-cell [fitContent]=\"mobile\">\n @if (isMultiSelection && allowSelectAll) {\n <fd-checkbox\n [name]=\"uid + '-row-all'\"\n [tristate]=\"true\"\n [tristateSelectable]=\"false\"\n [ngModel]=\"_selectedAll\"\n (ngModelChange)=\"_toggleAllRows()\"\n ></fd-checkbox>\n }\n </th>\n @for (\n filter of _tableFilters.main;\n track _trackByFilterFn(colindex, filter);\n let colindex = $index\n ) {\n <th fd-table-cell [attr.aria-colindex]=\"colindex\">\n {{ filter.label }}\n </th>\n }\n </tr>\n }\n </thead>\n <tbody fd-table-body>\n @for (\n row of displayedData | slice: _shownFrom : _shownCount;\n track _trackByTableRowFn(i, row);\n let i = $index\n ) {\n <tr\n fd-table-row\n [hoverable]=\"!mobile\"\n [main]=\"mobile\"\n [attr.aria-selected]=\"_selectedMap[row[uniqueKey]]\"\n [activable]=\"!isMultiSelection\"\n (click)=\"!isMultiSelection && _toggleSelectRow(row)\"\n >\n <td fd-table-cell [fitContent]=\"mobile\">\n @if (isMultiSelection) {\n <fd-checkbox\n [name]=\"uid + '-row-' + i\"\n [ngModel]=\"_selectedMap[row[uniqueKey]]\"\n (change)=\"_toggleSelectRow(row)\"\n ></fd-checkbox>\n }\n </td>\n @for (filter of _tableFilters.main; track filter; let rowIndex = $index) {\n <td fd-table-cell [attr.aria-rowindex]=\"rowIndex\">\n @if (_columnDefMap.get(filter.key); as columnDef) {\n <ng-template\n [ngTemplateOutlet]=\"columnDef.templateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: row,\n key: filter.key,\n value: row[filter.key] || ''\n }\"\n ></ng-template>\n } @else {\n {{ row[filter.key] || '' }}\n }\n </td>\n }\n </tr>\n @if (mobile && _tableFilters.secondary.length) {\n <tr fd-table-row [secondary]=\"true\" [attr.aria-selected]=\"_selectedMap[row[uniqueKey]]\">\n <td fd-table-cell></td>\n <td colspan=\"100%\" fd-table-cell [fitContent]=\"true\">\n @for (filter of _tableFilters.secondary; track filter) {\n <p fd-table-text>\n <label>{{ filter.label }}:</label>\n {{ row[filter.key] || '' }}\n </p>\n }\n </td>\n </tr>\n }\n }\n @if (displayedData.length && mobile && _shownCount && _shownCount !== displayedData.length) {\n <tr fd-table-row>\n <td colspan=\"100%\">\n <div fd-bar barDesign=\"header-with-subheader\">\n <div fd-bar-middle>\n <fd-bar-element>\n <button\n fd-button\n fdType=\"transparent\"\n [label]=\"'platformVHD.selectTabMoreBtnLabel' | fdTranslate\"\n (click)=\"_showMoreElements()\"\n ></button>\n </fd-bar-element>\n </div>\n </div>\n </td>\n </tr>\n }\n @if (!displayedData.length) {\n @if (loading) {\n <tr fd-table-row *fdkRepeat=\"3\">\n <td fd-table-cell *fdkRepeat=\"3\">\n <fd-skeleton [style.margin]=\"'auto 0'\" type=\"text\" textLines=\"1\" width=\"60%\"></fd-skeleton>\n </td>\n </tr>\n } @else {\n <tr fd-table-row>\n <td fd-table-cell colspan=\"100%\">\n <div class=\"fdp-value-help-dialog__empty-message\">\n {{ 'platformVHD.searchTableEmptyMessage' | fdTranslate }}\n </div>\n </td>\n </tr>\n }\n }\n </tbody>\n </table>\n</div>\n", styles: [".fdp-value-help-dialog__advanced-filters .fd-col{padding-top:0}.fdp-value-help-dialog__content-holder fdp-select-tab{display:flex;flex-direction:column;overflow:hidden;height:100%}.fdp-value-help-dialog__content-holder .table-header{flex:0 0 auto}.fdp-value-help-dialog__content-holder .table-content{flex:1 1 auto;overflow:auto;min-height:5rem}.fdp-value-help-dialog__table-holder{padding-top:0;padding-bottom:0}.fdp-value-help-dialog__empty-message{padding:1rem 2rem}\n"], dependencies: [{ kind: "component", type: TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title], span[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: ScrollbarDirective, selector: "[fdScrollbar], [fd-scrollbar]", inputs: ["noHorizontalScroll", "noVerticalScroll", "alwaysVisible"] }, { kind: "directive", type: InfiniteScrollDirective, selector: "[fdInfiniteScroll]", inputs: ["scrollPercent", "scrollOffset"], outputs: ["onScrollAction"] }, { kind: "component", type: TableComponent, selector: "table[fd-table]", inputs: ["noBorderX", "noBorderY", "noOuterBorder", "topBorder", "popIn", "responsive", "keys", "allCellsFocusable"], exportAs: ["fd-table"] }, { kind: "component", type: FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "inlineHelpLabel", "id"] }, { kind: "directive", type: TableHeaderDirective, selector: "[fdTableHeader], [fd-table-header]", inputs: ["noBorderX", "noBorderY"] }, { kind: "directive", type: TableRowDirective, selector: "[fdTableRow], [fd-table-row]", inputs: ["activable", "highlightActive", "hoverable", "focusable", "main", "secondary", "active"] }, { kind: "directive", type: TableCellDirective, selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "hoverable", "fitContent", "noPadding", "noData", "key"] }, { kind: "component", type: CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: TableBodyDirective, selector: "[fdTableBody], [fd-table-body]", inputs: ["noBorderX", "noBorderY"] }, { kind: "directive", type: TableTextDirective, selector: "[fdTableText], [fd-table-text]", inputs: ["fdTableTextClass", "noWrap", "title", "maxWidth"] }, { kind: "component", type: BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: BarMiddleDirective, selector: "[fd-bar-middle]" }, { kind: "directive", type: BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: RepeatDirective, selector: "[fdkRepeat]", inputs: ["fdkRepeat"] }, { kind: "component", type: SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }, { kind: "pipe", type: SlicePipe, name: "slice" }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
681
699
  }
682
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: SelectTabComponent, decorators: [{
700
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SelectTabComponent, decorators: [{
683
701
  type: Component,
684
702
  args: [{ selector: 'fdp-select-tab', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
685
703
  TitleComponent,
@@ -703,8 +721,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
703
721
  RepeatDirective,
704
722
  SkeletonComponent,
705
723
  SlicePipe,
706
- FdTranslatePipe
707
- ], template: "<div class=\"table-header\">\n <h5 fd-title role=\"heading\" aria-level=\"5\">\n {{ 'platformVHD.selectTabDisplayCountLabel' | fdTranslate: { count: displayedData.length } }}\n </h5>\n</div>\n<div\n class=\"fdp-value-help-dialog__table-holder table-content\"\n fd-scrollbar\n fdInfiniteScroll\n (onScrollAction)=\"_showMoreElements()\"\n [scrollPercent]=\"80\"\n role=\"table\"\n>\n <table\n fd-table\n [popIn]=\"mobile\"\n [noBorderX]=\"mobile\"\n [noBorderY]=\"false\"\n [attr.aria-colcount]=\"_tableFilters.main.length\"\n [attr.aria-rowcount]=\"displayedData.length\"\n role=\"grid\"\n aria-multiselectable=\"true\"\n [attr.aria-labelledby]=\"selectTabTitleId + ' ' + selectTabCountId\"\n >\n <label [id]=\"selectTabCountId\" fd-form-label class=\"fdp-value-help-dialog__hidden_label\">\n {{\n 'platformVHD.selectTabCountHiddenA11yLabel'\n | fdTranslate: { rowCount: displayedData.length, colCount: _tableFilters.main.length }\n }}\n </label>\n <label [id]=\"selectTabTitleId\" fd-form-label class=\"fdp-value-help-dialog__hidden_label\">\n {{ 'platformVHD.selectTabDisplayCountLabel' | fdTranslate: { count: displayedData.length } }}\n </label>\n <thead fd-table-header>\n @if (displayedData.length && _tableFilters) {\n <tr fd-table-row>\n <th fd-table-cell [fitContent]=\"mobile\">\n @if (isMultiSelection) {\n <fd-checkbox\n [name]=\"uid + '-row-all'\"\n [tristate]=\"true\"\n [tristateSelectable]=\"false\"\n [ngModel]=\"_selectedAll\"\n (ngModelChange)=\"_toggleAllRows()\"\n ></fd-checkbox>\n }\n </th>\n @for (\n filter of _tableFilters.main;\n track _trackByFilterFn(colindex, filter);\n let colindex = $index\n ) {\n <th fd-table-cell [attr.aria-colindex]=\"colindex\">\n {{ filter.label }}\n </th>\n }\n </tr>\n }\n </thead>\n <tbody fd-table-body>\n @for (\n row of displayedData | slice: _shownFrom : _shownCount;\n track _trackByTableRowFn(i, row);\n let i = $index\n ) {\n <tr\n fd-table-row\n [hoverable]=\"!mobile\"\n [main]=\"mobile\"\n [attr.aria-selected]=\"_selectedMap[row[uniqueKey]]\"\n [activable]=\"!isMultiSelection\"\n (click)=\"!isMultiSelection && _toggleSelectRow(row)\"\n >\n <td fd-table-cell [fitContent]=\"mobile\">\n @if (isMultiSelection) {\n <fd-checkbox\n [name]=\"uid + '-row-' + i\"\n [ngModel]=\"_selectedMap[row[uniqueKey]]\"\n (change)=\"_toggleSelectRow(row)\"\n ></fd-checkbox>\n }\n </td>\n @for (filter of _tableFilters.main; track filter; let rowIndex = $index) {\n <td fd-table-cell [attr.aria-rowindex]=\"rowIndex\">\n {{ row[filter.key] || '' }}\n </td>\n }\n </tr>\n @if (mobile && _tableFilters.secondary.length) {\n <tr fd-table-row [secondary]=\"true\" [attr.aria-selected]=\"_selectedMap[row[uniqueKey]]\">\n <td fd-table-cell></td>\n <td colspan=\"100%\" fd-table-cell [fitContent]=\"true\">\n @for (filter of _tableFilters.secondary; track filter) {\n <p fd-table-text>\n <label>{{ filter.label }}:</label>\n {{ row[filter.key] || '' }}\n </p>\n }\n </td>\n </tr>\n }\n }\n @if (displayedData.length && mobile && _shownCount && _shownCount !== displayedData.length) {\n <tr fd-table-row>\n <td colspan=\"100%\">\n <div fd-bar barDesign=\"header-with-subheader\">\n <div fd-bar-middle>\n <fd-bar-element>\n <button\n fd-button\n fdType=\"transparent\"\n [label]=\"'platformVHD.selectTabMoreBtnLabel' | fdTranslate\"\n (click)=\"_showMoreElements()\"\n ></button>\n </fd-bar-element>\n </div>\n </div>\n </td>\n </tr>\n }\n @if (!displayedData.length) {\n @if (loading) {\n <tr fd-table-row *fdkRepeat=\"3\">\n <td fd-table-cell *fdkRepeat=\"3\">\n <fd-skeleton [style.margin]=\"'auto 0'\" type=\"text\" textLines=\"1\" width=\"60%\"></fd-skeleton>\n </td>\n </tr>\n } @else {\n <tr fd-table-row>\n <td fd-table-cell colspan=\"100%\">\n <div class=\"fdp-value-help-dialog__empty-message\">\n {{ 'platformVHD.searchTableEmptyMessage' | fdTranslate }}\n </div>\n </td>\n </tr>\n }\n }\n </tbody>\n </table>\n</div>\n", styles: [".fdp-value-help-dialog__advanced-filters .fd-col{padding-top:0}.fdp-value-help-dialog__content-holder fdp-select-tab{display:flex;flex-direction:column;overflow:hidden;height:100%}.fdp-value-help-dialog__content-holder .table-header{flex:0 0 auto}.fdp-value-help-dialog__content-holder .table-content{flex:1 1 auto;overflow:auto;min-height:5rem}.fdp-value-help-dialog__table-holder{padding-top:0;padding-bottom:0}.fdp-value-help-dialog__empty-message{padding:1rem 2rem}\n"] }]
724
+ FdTranslatePipe,
725
+ NgTemplateOutlet
726
+ ], template: "<div class=\"table-header\">\n <h5 fd-title role=\"heading\" aria-level=\"5\">\n {{ 'platformVHD.selectTabDisplayCountLabel' | fdTranslate: { count: displayedData.length } }}\n </h5>\n</div>\n<div\n class=\"fdp-value-help-dialog__table-holder table-content\"\n fd-scrollbar\n fdInfiniteScroll\n (onScrollAction)=\"_showMoreElements()\"\n [scrollPercent]=\"80\"\n role=\"table\"\n>\n <table\n fd-table\n [popIn]=\"mobile\"\n [noBorderX]=\"mobile\"\n [noBorderY]=\"false\"\n [attr.aria-colcount]=\"_tableFilters.main.length\"\n [attr.aria-rowcount]=\"displayedData.length\"\n role=\"grid\"\n aria-multiselectable=\"true\"\n [attr.aria-labelledby]=\"selectTabTitleId + ' ' + selectTabCountId\"\n >\n <label [id]=\"selectTabCountId\" fd-form-label class=\"fdp-value-help-dialog__hidden_label\">\n {{\n 'platformVHD.selectTabCountHiddenA11yLabel'\n | fdTranslate: { rowCount: displayedData.length, colCount: _tableFilters.main.length }\n }}\n </label>\n <label [id]=\"selectTabTitleId\" fd-form-label class=\"fdp-value-help-dialog__hidden_label\">\n {{ 'platformVHD.selectTabDisplayCountLabel' | fdTranslate: { count: displayedData.length } }}\n </label>\n <thead fd-table-header>\n @if (displayedData.length && _tableFilters) {\n <tr fd-table-row>\n <th fd-table-cell [fitContent]=\"mobile\">\n @if (isMultiSelection && allowSelectAll) {\n <fd-checkbox\n [name]=\"uid + '-row-all'\"\n [tristate]=\"true\"\n [tristateSelectable]=\"false\"\n [ngModel]=\"_selectedAll\"\n (ngModelChange)=\"_toggleAllRows()\"\n ></fd-checkbox>\n }\n </th>\n @for (\n filter of _tableFilters.main;\n track _trackByFilterFn(colindex, filter);\n let colindex = $index\n ) {\n <th fd-table-cell [attr.aria-colindex]=\"colindex\">\n {{ filter.label }}\n </th>\n }\n </tr>\n }\n </thead>\n <tbody fd-table-body>\n @for (\n row of displayedData | slice: _shownFrom : _shownCount;\n track _trackByTableRowFn(i, row);\n let i = $index\n ) {\n <tr\n fd-table-row\n [hoverable]=\"!mobile\"\n [main]=\"mobile\"\n [attr.aria-selected]=\"_selectedMap[row[uniqueKey]]\"\n [activable]=\"!isMultiSelection\"\n (click)=\"!isMultiSelection && _toggleSelectRow(row)\"\n >\n <td fd-table-cell [fitContent]=\"mobile\">\n @if (isMultiSelection) {\n <fd-checkbox\n [name]=\"uid + '-row-' + i\"\n [ngModel]=\"_selectedMap[row[uniqueKey]]\"\n (change)=\"_toggleSelectRow(row)\"\n ></fd-checkbox>\n }\n </td>\n @for (filter of _tableFilters.main; track filter; let rowIndex = $index) {\n <td fd-table-cell [attr.aria-rowindex]=\"rowIndex\">\n @if (_columnDefMap.get(filter.key); as columnDef) {\n <ng-template\n [ngTemplateOutlet]=\"columnDef.templateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: row,\n key: filter.key,\n value: row[filter.key] || ''\n }\"\n ></ng-template>\n } @else {\n {{ row[filter.key] || '' }}\n }\n </td>\n }\n </tr>\n @if (mobile && _tableFilters.secondary.length) {\n <tr fd-table-row [secondary]=\"true\" [attr.aria-selected]=\"_selectedMap[row[uniqueKey]]\">\n <td fd-table-cell></td>\n <td colspan=\"100%\" fd-table-cell [fitContent]=\"true\">\n @for (filter of _tableFilters.secondary; track filter) {\n <p fd-table-text>\n <label>{{ filter.label }}:</label>\n {{ row[filter.key] || '' }}\n </p>\n }\n </td>\n </tr>\n }\n }\n @if (displayedData.length && mobile && _shownCount && _shownCount !== displayedData.length) {\n <tr fd-table-row>\n <td colspan=\"100%\">\n <div fd-bar barDesign=\"header-with-subheader\">\n <div fd-bar-middle>\n <fd-bar-element>\n <button\n fd-button\n fdType=\"transparent\"\n [label]=\"'platformVHD.selectTabMoreBtnLabel' | fdTranslate\"\n (click)=\"_showMoreElements()\"\n ></button>\n </fd-bar-element>\n </div>\n </div>\n </td>\n </tr>\n }\n @if (!displayedData.length) {\n @if (loading) {\n <tr fd-table-row *fdkRepeat=\"3\">\n <td fd-table-cell *fdkRepeat=\"3\">\n <fd-skeleton [style.margin]=\"'auto 0'\" type=\"text\" textLines=\"1\" width=\"60%\"></fd-skeleton>\n </td>\n </tr>\n } @else {\n <tr fd-table-row>\n <td fd-table-cell colspan=\"100%\">\n <div class=\"fdp-value-help-dialog__empty-message\">\n {{ 'platformVHD.searchTableEmptyMessage' | fdTranslate }}\n </div>\n </td>\n </tr>\n }\n }\n </tbody>\n </table>\n</div>\n", styles: [".fdp-value-help-dialog__advanced-filters .fd-col{padding-top:0}.fdp-value-help-dialog__content-holder fdp-select-tab{display:flex;flex-direction:column;overflow:hidden;height:100%}.fdp-value-help-dialog__content-holder .table-header{flex:0 0 auto}.fdp-value-help-dialog__content-holder .table-content{flex:1 1 auto;overflow:auto;min-height:5rem}.fdp-value-help-dialog__table-holder{padding-top:0;padding-bottom:0}.fdp-value-help-dialog__empty-message{padding:1rem 2rem}\n"] }]
708
727
  }], propDecorators: { selectTabTitleId: [{
709
728
  type: Input
710
729
  }], selectTabCountId: [{
@@ -717,6 +736,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
717
736
  type: Input
718
737
  }], selection: [{
719
738
  type: Input
739
+ }], allowSelectAll: [{
740
+ type: Input
720
741
  }], uniqueKey: [{
721
742
  type: Input
722
743
  }], pageSize: [{
@@ -734,6 +755,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
734
755
  args: [InfiniteScrollDirective]
735
756
  }] } });
736
757
 
758
+ class ValueHelpFilterDefDirective {
759
+ constructor() {
760
+ /** Template reference */
761
+ this.templateRef = inject((TemplateRef));
762
+ }
763
+ /** @hidden */
764
+ static ngTemplateContextGuard(dir, ctx) {
765
+ return true;
766
+ }
767
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ValueHelpFilterDefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
768
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: ValueHelpFilterDefDirective, isStandalone: true, selector: "[fdpValueHelpFilterDef]", ngImport: i0 }); }
769
+ }
770
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ValueHelpFilterDefDirective, decorators: [{
771
+ type: Directive,
772
+ args: [{
773
+ selector: '[fdpValueHelpFilterDef]',
774
+ standalone: true
775
+ }]
776
+ }] });
777
+
737
778
  class VhdFilterComponent {
738
779
  constructor() {
739
780
  /** Allow to control which of filters should show as main in mobile view.
@@ -748,10 +789,10 @@ class VhdFilterComponent {
748
789
  /** Allow to use filter for excluding in `define conditions tab` */
749
790
  this.exclude = true;
750
791
  }
751
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: VhdFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
752
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: VhdFilterComponent, isStandalone: true, selector: "fdp-value-help-dialog-filter", inputs: { key: "key", main: "main", label: "label", value: "value", advanced: "advanced", include: "include", exclude: "exclude" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
792
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: VhdFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
793
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: VhdFilterComponent, isStandalone: true, selector: "fdp-value-help-dialog-filter", inputs: { key: "key", main: "main", label: "label", value: "value", advanced: "advanced", include: "include", exclude: "exclude" }, queries: [{ propertyName: "filterDef", first: true, predicate: ValueHelpFilterDefDirective, descendants: true }], ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
753
794
  }
754
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: VhdFilterComponent, decorators: [{
795
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: VhdFilterComponent, decorators: [{
755
796
  type: Component,
756
797
  args: [{
757
798
  selector: 'fdp-value-help-dialog-filter',
@@ -773,10 +814,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
773
814
  type: Input
774
815
  }], exclude: [{
775
816
  type: Input
817
+ }], filterDef: [{
818
+ type: ContentChild,
819
+ args: [ValueHelpFilterDefDirective]
820
+ }] } });
821
+
822
+ class ValueHelpColumnDefDirective {
823
+ constructor() {
824
+ /** Template reference */
825
+ this.templateRef = inject(TemplateRef);
826
+ }
827
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ValueHelpColumnDefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
828
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: ValueHelpColumnDefDirective, isStandalone: true, selector: "[fdpValueHelpColumnDef]", inputs: { as: ["fdpValueHelpColumnDefAs", "as"], column: ["fdpValueHelpColumnDefColumn", "column"] }, ngImport: i0 }); }
829
+ }
830
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ValueHelpColumnDefDirective, decorators: [{
831
+ type: Directive,
832
+ args: [{
833
+ selector: '[fdpValueHelpColumnDef]',
834
+ standalone: true
835
+ }]
836
+ }], propDecorators: { as: [{
837
+ type: Input,
838
+ args: ['fdpValueHelpColumnDefAs']
839
+ }], column: [{
840
+ type: Input,
841
+ args: ['fdpValueHelpColumnDefColumn']
776
842
  }] } });
777
843
 
778
844
  let vhiUniqueId = 0;
779
- class PlatformValueHelpDialogComponent {
845
+ class PlatformValueHelpDialogComponent extends VhdComponent {
780
846
  /** Data source */
781
847
  set dataSource(value) {
782
848
  if (value) {
@@ -792,6 +858,7 @@ class PlatformValueHelpDialogComponent {
792
858
  }
793
859
  /** @hidden */
794
860
  constructor(elementRef, _changeDetectorRef, _dialogService, _rtlService) {
861
+ super();
795
862
  this.elementRef = elementRef;
796
863
  this._changeDetectorRef = _changeDetectorRef;
797
864
  this._dialogService = _dialogService;
@@ -825,6 +892,8 @@ class PlatformValueHelpDialogComponent {
825
892
  this.searchTableMobileHeaders = 2;
826
893
  /** Max shown initial filters on open. Desktop only */
827
894
  this.maxShownInitialFilters = 4;
895
+ /** Whether to allow users to select all table entries with one checkbox. */
896
+ this.allowSelectAll = true;
828
897
  /** Custom strategies labels
829
898
  * Allowed keys: contains, equalTo, between, startsWith, endsWith, lessThan, lessThanEqual, greaterThan, greaterThanEqual, empty
830
899
  */
@@ -865,9 +934,9 @@ class PlatformValueHelpDialogComponent {
865
934
  this._mainSearch = '';
866
935
  /** handles rtl service
867
936
  * @hidden */
868
- this._dir = 'ltr';
937
+ this._dir$ = computed(() => (this._rtlService?.rtlSignal() ? 'rtl' : 'ltr'));
869
938
  /** @hidden */
870
- this._destroyed = new Subject();
939
+ this._destroyed = inject(DestroyRef);
871
940
  /** @hidden Previous state */
872
941
  this._prevState = {
873
942
  selected: [],
@@ -1016,7 +1085,7 @@ class PlatformValueHelpDialogComponent {
1016
1085
  const nonEmptyFilters = new Map();
1017
1086
  if (!onlySearch) {
1018
1087
  this._displayedFilters
1019
- .filter(({ value }) => !!value && value.trim().length)
1088
+ .filter(({ value }) => !!value && typeof value === 'string' ? value.trim().length : value !== undefined)
1020
1089
  .forEach((e) => nonEmptyFilters.set(e.key, e.value));
1021
1090
  }
1022
1091
  if (this._mainSearch.length) {
@@ -1054,17 +1123,26 @@ class PlatformValueHelpDialogComponent {
1054
1123
  * Close dialog with value;
1055
1124
  */
1056
1125
  success() {
1057
- if (this.activeDialog) {
1058
- const value = {
1059
- selected: this.selectedItems,
1060
- conditions: this.validConditions
1061
- };
1126
+ if (!this.activeDialog) {
1127
+ return;
1128
+ }
1129
+ const value = {
1130
+ selected: this.selectedItems,
1131
+ conditions: this.validConditions
1132
+ };
1133
+ this._internalLoadingState = true;
1134
+ this._changeDetectorRef.detectChanges();
1135
+ this._getValidatorFunction(value)
1136
+ .pipe(tap(() => {
1137
+ this._internalLoadingState = false;
1138
+ this._changeDetectorRef.detectChanges();
1139
+ }), filter((r) => r), take$1(1), takeUntilDestroyed(this._destroyed))
1140
+ .subscribe(() => {
1062
1141
  if (typeof this.formatToken === 'function') {
1063
1142
  this.formatToken(value);
1064
- return this.activeDialog.close(value);
1065
1143
  }
1066
- this.activeDialog.close(value);
1067
- }
1144
+ this.activeDialog?.close(value);
1145
+ });
1068
1146
  }
1069
1147
  /**
1070
1148
  * Hide advanced search on mobile view and if it's opened
@@ -1143,7 +1221,7 @@ class PlatformValueHelpDialogComponent {
1143
1221
  this.onDataReceived.emit();
1144
1222
  }));
1145
1223
  const dsSub = this.openDataStream()
1146
- .pipe(takeUntil(this._destroyed))
1224
+ .pipe(takeUntilDestroyed(this._destroyed))
1147
1225
  .subscribe((data) => {
1148
1226
  this._displayedData = data.slice();
1149
1227
  this._changeDetectorRef.markForCheck();
@@ -1178,27 +1256,19 @@ class PlatformValueHelpDialogComponent {
1178
1256
  if (!this.activeDialog) {
1179
1257
  return;
1180
1258
  }
1181
- this.activeDialog.afterClosed.pipe(takeUntil(this._destroyed)).subscribe((value) => {
1259
+ this.activeDialog.afterClosed.pipe(takeUntilDestroyed(this._destroyed)).subscribe((value) => {
1182
1260
  if (value) {
1183
1261
  this.value = value;
1184
1262
  this.valueChange.emit(value);
1185
1263
  }
1186
1264
  this._resetState();
1187
1265
  });
1188
- this.filters.changes.pipe(takeUntil(this._destroyed)).subscribe(() => {
1266
+ this.filters.changes.pipe(takeUntilDestroyed(this._destroyed)).subscribe(() => {
1189
1267
  this._updateFilters();
1190
1268
  });
1191
- if (this._rtlService) {
1192
- this._dir = this._rtlService.rtl.getValue() ? 'rtl' : 'ltr';
1193
- this._rtlService.rtl.pipe(takeUntil(this._destroyed)).subscribe((isRtl) => {
1194
- this._dir = isRtl ? 'rtl' : 'ltr';
1195
- });
1196
- }
1197
1269
  }
1198
1270
  /** @hidden */
1199
1271
  _resetState() {
1200
- this._destroyed.next();
1201
- this._destroyed.complete();
1202
1272
  this._resetSourceStream();
1203
1273
  this.activeDialog = undefined;
1204
1274
  }
@@ -1250,12 +1320,26 @@ class PlatformValueHelpDialogComponent {
1250
1320
  }
1251
1321
  return true;
1252
1322
  }
1253
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: PlatformValueHelpDialogComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.DialogService }, { token: i2.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1254
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.4", type: PlatformValueHelpDialogComponent, isStandalone: true, selector: "fdp-value-help-dialog", inputs: { id: "id", value: "value", dialogTitle: "dialogTitle", initialTab: "initialTab", tabs: "tabs", isOpenAdvanced: "isOpenAdvanced", dataSource: "dataSource", dialogConfig: "dialogConfig", uniqueKey: "uniqueKey", headerId: "headerId", tokenViewField: "tokenViewField", tokenizerFn: "tokenizerFn", mobile: "mobile", formatToken: "formatToken", conditionDisplayFn: "conditionDisplayFn", searchSelection: "searchSelection", searchTablePageSize: "searchTablePageSize", searchTableMobileHeaders: "searchTableMobileHeaders", maxShownInitialFilters: "maxShownInitialFilters", loading: "loading", defineStrategyLabels: "defineStrategyLabels" }, outputs: { valueChange: "valueChange", onDataRequested: "onDataRequested", onDataReceived: "onDataReceived" }, queries: [{ propertyName: "filters", predicate: VhdFilterComponent }], viewQueries: [{ propertyName: "dialogContainer", first: true, predicate: ["container"], descendants: true, read: TemplateRef }], usesOnChanges: true, ngImport: i0, template: "<ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\"dialogConfig\" #container>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header [dir]=\"_dir\">\n <ng-template fdkTemplate=\"header\">\n <ng-template [ngTemplateOutlet]=\"mobile ? mobileDialogTitle : desktopDialogTitle\"></ng-template>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body [dir]=\"_dir\">\n @if (!mobile) {\n <ng-template [ngTemplateOutlet]=\"advancedSearchContent\"></ng-template>\n }\n <div fd-scrollbar class=\"fdp-value-help-dialog__content-holder\">\n @if (mobile) {\n <ng-template [ngTemplateOutlet]=\"advancedSearchContent\"></ng-template>\n }\n @if (selectedTab === _tabTypes.selectFromList) {\n <ng-template [ngTemplateOutlet]=\"selectionContent\"></ng-template>\n }\n @if (selectedTab === _tabTypes.defineConditions) {\n <ng-template [ngTemplateOutlet]=\"defineConditionsContent\"></ng-template>\n }\n </div>\n </fd-dialog-body>\n <fd-dialog-footer [dir]=\"_dir\">\n <ng-template fdkTemplate=\"footer\">\n @if (!isMobileAdvancedSearchActive) {\n <div\n class=\"fdp-value-help-dialog__row fdp-value-help-dialog__selection-row\"\n [attr.aria-label]=\"'platformVHD.selectionBarLabel' | fdTranslate\"\n >\n <h5 fd-title class=\"selected-and-condition-title\" [id]=\"id + '-selected-item'\">\n @if (hasSelectedAndConditions) {\n {{ 'platformVHD.selectedAndConditionLabel' | fdTranslate }}\n ({{ selectedItems.length + validConditions.length }})\n } @else {\n {{ 'platformVHD.selectedEmptyLabel' | fdTranslate }}\n }\n </h5>\n <div class=\"fdp-value-help-dialog__tokens-wrapper\">\n <div class=\"fdp-value-help-dialog__tokens\">\n <!-- Selected items -->\n <fd-tokenizer [tokenizerFocusable]=\"false\">\n <fd-token\n *ngFor=\"\n let item of selectedItems;\n trackBy: _trackBySelectedFn;\n index as selectedIndex\n \"\n fd-toolbar-item\n fdOverflowPriority=\"high\"\n class=\"fdp-value-help-dialog__selection-token\"\n (onCloseClick)=\"removeSelected(selectedIndex)\"\n >{{\n !!tokenizerFn ? (item | displayFnPipe: tokenizerFn) : item[tokenViewField]\n }}\n </fd-token>\n <fd-token\n *ngFor=\"\n let item of validConditions;\n trackBy: _trackByConditionFn;\n index as conditionIndex\n \"\n fd-toolbar-item\n fdOverflowPriority=\"high\"\n class=\"fdp-value-help-dialog__selection-token\"\n (onCloseClick)=\"removeCondition(conditionIndex)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"conditionValue\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-template>\n </fd-token>\n <input fd-form-control fd-tokenizer-input [disabled]=\"!hasSelectedAndConditions\" />\n </fd-tokenizer>\n </div>\n <button\n (click)=\"clearSelectedAndConditionItems()\"\n class=\"fdp-value-help-dialog__tokens-clear\"\n fd-button\n [disabled]=\"!hasSelectedAndConditions\"\n fdType=\"transparent\"\n [title]=\"'platformVHD.footerClearSelectedTitle' | fdTranslate\"\n glyph=\"decline\"\n [attr.aria-label]=\"'platformVHD.footerClearSelectedAriaLabel' | fdTranslate\"\n ></button>\n </div>\n </div>\n }\n <div class=\"fdp-value-help-dialog__actions-row\">\n @if (mobile && isOpenAdvanced) {\n <button\n fd-button\n data-go-advanced\n [label]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n (click)=\"searchAdvanced()\"\n ></button>\n }\n @if (selectedTab !== _tabTypes.advancedSearch) {\n <button\n fd-button\n data-succes\n [label]=\"'platformVHD.successButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n (click)=\"success()\"\n ></button>\n }\n <button\n fd-button\n data-dismiss-dialog\n [label]=\"'platformVHD.cancelButtonLabel' | fdTranslate\"\n fdType=\"transparent\"\n (click)=\"dismiss()\"\n ></button>\n </div>\n </ng-template>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n<ng-template #advancedSearchContent>\n @if (isSelectionTab) {\n <form class=\"fdp-value-help-dialog__row fdp-value-help-dialog__advanced-search\" [id]=\"'advanced-search-' + id\">\n @if (!mobile || (mobile && !isOpenAdvanced)) {\n <fd-layout-grid>\n <div fdLayoutGridRow>\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"12\" [colLg]=\"mobile ? 12 : 6\" [colXl]=\"mobile ? 12 : 6\">\n <fdp-search-field\n [placeholder]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n (searchSubmit)=\"search()\"\n (inputChange)=\"_mainSearch = $event.text\"\n ></fdp-search-field>\n </div>\n @if (_hasAdvanced) {\n <div\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"12\"\n [colLg]=\"mobile ? 12 : 6\"\n [colXl]=\"mobile ? 12 : 6\"\n class=\"fdp-value-help-dialog__advanced-actions\"\n >\n <fd-toolbar [clearBorder]=\"true\">\n <fd-toolbar-spacer></fd-toolbar-spacer>\n @if (_hasAdvanced) {\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n [label]=\"\n (mobile\n ? 'platformVHD.searchAdvancedSearchLabel'\n : isOpenAdvanced\n ? 'platformVHD.searchHideAdvancedSearchLabel'\n : 'platformVHD.searchShowAdvancedSearchLabel'\n ) | fdTranslate\n \"\n (click)=\"toggleAdvancedSearch()\"\n ></button>\n }\n <button\n fd-toolbar-item\n type=\"submit\"\n fd-button\n fdType=\"emphasized\"\n [label]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n (click)=\"filter()\"\n ></button>\n </fd-toolbar>\n </div>\n }\n </div>\n </fd-layout-grid>\n }\n @if (isOpenAdvanced && _hasAdvanced) {\n <div [id]=\"'advanced-search-content-' + id\" class=\"fdp-value-help-dialog__advanced-filters\">\n <fd-busy-indicator [loading]=\"loadingState && _firstLoadingDone\" [block]=\"true\">\n @if (_firstLoadingDone) {\n <fd-layout-grid\n [class.fdp-value-help-dialog__with-toggle-all]=\"filters.length > maxShownInitialFilters\"\n >\n <div fdLayoutGridRow>\n @for (\n filter of _displayedFilters | slice: 0 : shownFilterCount + 1;\n track _trackByFilterFn($index, filter)\n ) {\n @if (filter.advanced) {\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"12\" [colLg]=\"6\" [colXl]=\"3\">\n <label\n class=\"fd-form-group__header\"\n fd-form-label\n [for]=\"'input' + filter.key\"\n >{{ filter.label }}:</label\n >\n <input\n [(ngModel)]=\"filter.value\"\n fd-form-control\n type=\"text\"\n [name]=\"'search-by-' + filter.label\"\n [id]=\"'input' + filter.key\"\n />\n </div>\n }\n }\n @if (filters.length > maxShownInitialFilters) {\n <div\n colGrow\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"12\"\n [colLg]=\"6\"\n [colXl]=\"3\"\n class=\"fdp-value-help-dialog__toggle-filters\"\n >\n <button\n fd-button\n fdType=\"transparent\"\n (click)=\"toggleShownFilters()\"\n [label]=\"\n (isShowAllFilters\n ? 'platformVHD.searchHideAllAdvancedSearchLabel'\n : 'platformVHD.searchShowAllAdvancedSearchLabel'\n ) | fdTranslate\n \"\n ></button>\n </div>\n }\n </div>\n </fd-layout-grid>\n } @else {\n <fd-skeleton width=\"100%\" height=\"100px\">\n <svg:rect x=\"0\" y=\"0\" rx=\"4\" width=\"15%\" height=\"8\" />\n <svg:rect x=\"0\" y=\"20\" rx=\"4\" width=\"25%\" height=\"16\" />\n <svg:rect x=\"35%\" y=\"0\" rx=\"4\" width=\"15%\" height=\"8\" />\n <svg:rect x=\"35%\" y=\"20\" rx=\"4\" width=\"25%\" height=\"16\" />\n <svg:rect x=\"0\" y=\"60\" rx=\"4\" width=\"15%\" height=\"8\" />\n <svg:rect x=\"0\" y=\"80\" rx=\"4\" width=\"25%\" height=\"16\" />\n </fd-skeleton>\n }\n </fd-busy-indicator>\n </div>\n }\n </form>\n }\n</ng-template>\n<ng-template #selectionContent>\n <fd-busy-indicator\n [loading]=\"loadingState && _firstLoadingDone\"\n [block]=\"true\"\n class=\"fdp-value-help-dialog__table-busy-indicator\"\n >\n <fdp-select-tab\n [selected]=\"selectedItems\"\n [loading]=\"loadingState && !_firstLoadingDone\"\n [uid]=\"id\"\n [displayedData]=\"_displayedData\"\n [tabTitle]=\"'platformVHD.selectTabTitle' | fdTranslate\"\n [mobile]=\"mobile\"\n [selection]=\"searchSelection\"\n [uniqueKey]=\"uniqueKey\"\n [pageSize]=\"searchTablePageSize\"\n [defaultMobileHeaders]=\"searchTableMobileHeaders\"\n [filters]=\"_displayedFilters\"\n (select)=\"onSelect($event)\"\n ></fdp-select-tab>\n </fd-busy-indicator>\n</ng-template>\n<ng-template #defineConditionsContent>\n <div fd-scrollbar>\n <fdp-define-tab\n [strategyLabels]=\"defineStrategyLabels\"\n [conditions]=\"conditionItems\"\n [uid]=\"id\"\n [tabTitle]=\"'platformVHD.defineTabTitle' | fdTranslate\"\n [mobile]=\"mobile\"\n (conditionChange)=\"onConditionChange($event)\"\n ></fdp-define-tab>\n </div>\n</ng-template>\n<ng-template #dialogTitleText>\n <h5 [attr.id]=\"headerId\" fd-title>{{ dialogTitle }}</h5>\n</ng-template>\n<ng-template #tabLink let-title=\"title\" let-type=\"type\">\n @if (selectedTab === type && showSelectionTab && showDefineTab) {\n <button\n fd-button\n glyph=\"navigation-left-arrow\"\n fdType=\"transparent\"\n (click)=\"switchTab()\"\n [title]=\"'platformVHD.selectMobileTabBackBtnTitle' | fdTranslate\"\n ></button>\n <h5 fd-title>{{ title }}</h5>\n }\n @if (selectedTab !== type) {\n <a\n fd-list-link\n (click)=\"switchTab(type)\"\n [title]=\"'platformVHD.selectMobileTabBtnOpenDialogLabel' | fdTranslate\"\n >\n <span fd-list-title>{{ title }}</span>\n <i fd-list-icon glyph=\"navigation-right-arrow\"></i>\n </a>\n }\n</ng-template>\n<ng-template #advancedHeader>\n <button fd-button glyph=\"navigation-left-arrow\" fdType=\"transparent\" (click)=\"toggleAdvancedSearch()\"></button>\n <h5 fd-title>{{ 'platformVHD.searchAdvancedSearchLabel' | fdTranslate }}</h5>\n</ng-template>\n<ng-template #desktopDialogTitle>\n <ng-template [ngTemplateOutlet]=\"dialogTitleText\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"desktopTabs\"></ng-template>\n</ng-template>\n<ng-template #mobileDialogTitle>\n <div class=\"fdp-value-help-dialog__mobile-title\">\n @if (hasSelectedTab) {\n <ng-template [ngTemplateOutlet]=\"selectedTabHeader\"></ng-template>\n } @else {\n <h5 [attr.id]=\"headerId\" fd-title>{{ dialogTitle }}</h5>\n }\n </div>\n <ng-template [ngTemplateOutlet]=\"mobileTabs\"></ng-template>\n</ng-template>\n<ng-template #desktopTabs>\n @if (showSelectionTab && showDefineTab) {\n <nav fd-tab-nav class=\"fdp-value-help-dialog__tabs\">\n @if (showSelectionTab) {\n <div fd-tab-item (click)=\"switchTab(_tabTypes.selectFromList)\">\n <a\n fd-tab-link\n [active]=\"selectedTab === _tabTypes.selectFromList\"\n [tabindex]=\"selectedTab === _tabTypes.selectFromList ? '0' : '-1'\"\n ><span fd-tab-tag>{{ 'platformVHD.selectTabTitle' | fdTranslate }}</span></a\n >\n </div>\n }\n @if (showDefineTab) {\n <div fd-tab-item (click)=\"switchTab(_tabTypes.defineConditions)\">\n <a\n fd-tab-link\n [active]=\"selectedTab === _tabTypes.defineConditions\"\n [tabindex]=\"selectedTab === _tabTypes.defineConditions ? '0' : '-1'\"\n ><span fd-tab-tag>{{ 'platformVHD.defineTabTitle' | fdTranslate }}</span></a\n >\n </div>\n }\n </nav>\n }\n</ng-template>\n<ng-template #mobileTabs>\n @if (!hasSelectedTab && showSelectionTab && showDefineTab) {\n <div>\n @if (showSelectionTab) {\n <div fd-bar [inPage]=\"true\">\n <div fd-bar-left>\n <fd-bar-element>\n {{ 'platformVHD.selectTabTitle' | fdTranslate }}\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fd-button-bar\n glyph=\"navigation-right-arrow\"\n (click)=\"switchTab(_tabTypes.selectFromList)\"\n [title]=\"\n 'platformVHD.selectMobileTabTitle'\n | fdTranslate: { title: 'platformVHD.selectTabTitle' | fdTranslate }\n \"\n ></fd-button-bar>\n </fd-bar-element>\n </div>\n </div>\n }\n @if (showDefineTab) {\n <div fd-bar [inPage]=\"true\">\n <div fd-bar-left>\n <fd-bar-element>\n {{ 'platformVHD.defineTabTitle' | fdTranslate }}\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fd-button-bar\n glyph=\"navigation-right-arrow\"\n [title]=\"\n 'platformVHD.selectMobileTabTitle'\n | fdTranslate: { title: 'platformVHD.defineTabTitle' | fdTranslate }\n \"\n (click)=\"switchTab(_tabTypes.defineConditions)\"\n >\n </fd-button-bar>\n </fd-bar-element>\n </div>\n </div>\n }\n </div>\n }\n</ng-template>\n<ng-template #selectedTabHeader>\n @switch (selectedTab) {\n @case (_tabTypes.selectFromList) {\n <ng-template\n [ngTemplateOutlet]=\"tabLink\"\n [ngTemplateOutletContext]=\"{\n title: 'platformVHD.selectTabTitle' | fdTranslate,\n type: selectedTab\n }\"\n ></ng-template>\n }\n @case (_tabTypes.advancedSearch) {\n <ng-template [ngTemplateOutlet]=\"advancedHeader\"></ng-template>\n }\n @case (_tabTypes.defineConditions) {\n <ng-template\n [ngTemplateOutlet]=\"tabLink\"\n [ngTemplateOutletContext]=\"{\n title: 'platformVHD.defineTabTitle' | fdTranslate,\n type: selectedTab\n }\"\n ></ng-template>\n }\n }\n</ng-template>\n<ng-template #conditionValue let-item=\"item\">\n @if (item.strategy !== 'empty' && item.strategy !== 'not_empty') {\n <span>\n {{ item | displayFnPipe: conditionDisplayFn : _displayedFilters }}\n </span>\n } @else {\n @if (item.strategy === 'not_empty') {\n !(<ng-template [ngTemplateOutlet]=\"emptyConditionText\"></ng-template>)\n } @else {\n &lt;{{ 'platformVHD.selectMobileConditionEmpty' | fdTranslate }}&gt;\n }\n }\n</ng-template>\n<ng-template #emptyConditionText> &lt;{{ 'platformVHD.selectMobileConditionEmpty' | fdTranslate }}&gt; </ng-template>\n", styles: [".fdp-value-help-dialog .fd-dialog__body{display:flex;flex-direction:column;overflow:hidden}.fdp-value-help-dialog .fd-title--h5{padding:.5rem 0}.fdp-value-help-dialog .fd-toolbar{background:none;border:none;padding:.1735rem .5rem;height:auto;min-height:1.625rem}.fdp-value-help-dialog__row.fdp-value-help-dialog__advanced-search{padding-top:1rem}.fdp-value-help-dialog__advanced-search,.fdp-value-help-dialog .fd-dialog__body{background-color:var(--sapBackgroundColor, #f7f7f7)}.fdp-value-help-dialog__advanced-filters{padding-top:1rem}.fdp-value-help-dialog__advanced-filters label{height:auto}.fdp-value-help-dialog__toggle-filters{display:flex;justify-content:flex-end;align-items:flex-end}.fdp-value-help-dialog__toggle-filters .fd-button{margin-bottom:.25rem}.fdp-value-help-dialog__advanced-actions{display:flex;align-items:center;justify-content:flex-end}.fdp-value-help-dialog-mobile .fdp-value-help-dialog__advanced-actions{justify-content:flex-start}.fdp-value-help-dialog__advanced-actions .fd-toolbar{padding:0}.fdp-value-help-dialog .fd-bar.fd-bar--cozy{height:auto}.fdp-value-help-dialog .fd-dialog__header{box-shadow:none}.fdp-value-help-dialog .fd-dialog__header .fd-title{display:flex;align-items:center;padding-left:2rem;padding-right:2rem;min-height:2.5rem;box-shadow:none;border-bottom:none;background-color:var(--sapObjectHeader_Background, #fff);position:relative;z-index:2}.fdp-value-help-dialog .fd-dialog__header .fdp-value-help-dialog__mobile-title{display:flex;border-bottom:1px solid #d9d9d9;border-bottom:1px solid var(--sapGroup_TitleBorderColor, #d9d9d9)}.fdp-value-help-dialog .fd-dialog__header .fdp-value-help-dialog__mobile-title .fd-title{flex:1 1 auto;border:none}.fdp-value-help-dialog .fd-dialog__header .fdp-value-help-dialog__tabs{position:relative}.fdp-value-help-dialog .fd-dialog__header,.fdp-value-help-dialog .fd-dialog__footer{height:auto;flex-direction:column}.fdp-value-help-dialog .fd-dialog__header.fd-bar,.fdp-value-help-dialog .fd-dialog__footer.fd-bar{padding:0}.fdp-value-help-dialog .fd-dialog__footer{border-top:none}.fdp-value-help-dialog__content-holder{padding:0 2rem 1rem;display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden}.fdp-value-help-dialog__row{padding:0 2rem 1rem}.fdp-value-help-dialog__row.fdp-value-help-dialog__selection-row{background-color:var(--sapBackgroundColor, #f7f7f7)}.fdp-value-help-dialog__tokens-wrapper{display:flex}.fdp-value-help-dialog__tokens{flex:1 1 auto;overflow:hidden;align-items:center;border:1px solid var(--sapContent_ForegroundBorderColor, #89919a);margin-right:.5rem;border-radius:var(--sapElement_BorderCornerRadius, .25rem);background:none}.fdp-value-help-dialog__tokens fd-toolbar{flex:1 1 auto;overflow:hidden}.fdp-value-help-dialog__tokens-clear{height:auto;min-width:2rem;padding:.125rem 0;justify-content:center}.fdp-value-help-dialog__actions-row{padding:.5rem 1rem;display:flex;align-items:center;justify-content:flex-end;border-top:.0625rem solid #d9d9d9;border-top:.0625rem solid var(--sapPageFooter_BorderColor, #d9d9d9)}.fdp-value-help-dialog__actions-row .fd-button{margin-left:.5rem}.fdp-value-help-dialog .fdp-value-help-dialog__hidden_label{display:none!important}.fdp-value-help-dialog__table-busy-indicator{height:100%}\n"], dependencies: [{ kind: "component", type: DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ScrollbarDirective, selector: "[fdScrollbar], [fd-scrollbar]", inputs: ["noHorizontalScroll", "noVerticalScroll", "alwaysVisible"] }, { kind: "component", type: DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: TokenizerComponent, selector: "fd-tokenizer", inputs: ["class", "disableKeyboardDeletion", "compactCollapse", "tokenizerFocusable", "inputValue", "glyph", "moreTerm", "open"], outputs: ["moreClickedEvent"] }, { kind: "component", type: TokenComponent, selector: "fd-token", inputs: ["disabled", "selected", "readOnly"], outputs: ["onCloseClick", "onRemove", "onTokenClick", "onTokenKeydown", "elementFocused"] }, { kind: "directive", type: ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: FormControlComponent, selector: "input[fd-form-control], textarea[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: TokenizerInputDirective, selector: "[fdTokenizerInput], [fd-tokenizer-input]", inputs: ["class"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }, { kind: "directive", type: LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "component", type: SearchFieldComponent, selector: "fdp-search-field", inputs: ["categoryMode", "appearance", "placeholder", "mobile", "mobileConfig", "disableRefresh", "disableSearch", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "ariaLabel", "ariaLabelledby", "forceSearchButton", "disableSuggestionsFoundAnnouncer"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange"] }, { kind: "component", type: ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: ToolbarSpacerDirective, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "component", type: BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "inlineHelpLabel", "id"] }, { kind: "component", type: SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }, { kind: "component", type: SelectTabComponent, selector: "fdp-select-tab", inputs: ["selectTabTitleId", "selectTabCountId", "selected", "loading", "filters", "selection", "uniqueKey", "pageSize", "defaultMobileHeaders", "displayedData"], outputs: ["select"] }, { kind: "component", type: DefineTabComponent, selector: "fdp-define-tab", inputs: ["titleId", "selectedId", "conditions", "strategyLabels"], outputs: ["includeChange", "excludeChange", "conditionChange"] }, { kind: "directive", type: ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "directive", type: ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "class", "role"] }, { kind: "component", type: TabNavComponent, selector: "[fd-tab-nav]", inputs: ["class", "mode", "size"] }, { kind: "directive", type: TabItemDirective, selector: "[fd-tab-item]", inputs: ["class", "tabItemState", "header", "disabled", "fdTabItemClass"] }, { kind: "directive", type: TabLinkDirective, selector: "[fd-tab-link]", inputs: ["active", "disabled"], outputs: ["keyDown", "focused"] }, { kind: "directive", type: TabTagDirective, selector: "[fdTabTag], [fd-tab-tag]" }, { kind: "component", type: BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "directive", type: BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "pipe", type: SlicePipe, name: "slice" }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }, { kind: "pipe", type: DisplayFnPipe, name: "displayFnPipe" }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1323
+ _getValidatorFunction(value) {
1324
+ const validator = typeof this.tokenValidator === 'function' ? this.tokenValidator(value) : of(true);
1325
+ return isObservable(validator) ? validator : of(validator);
1326
+ }
1327
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PlatformValueHelpDialogComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.DialogService }, { token: i2.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
1328
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.8", type: PlatformValueHelpDialogComponent, isStandalone: true, selector: "fdp-value-help-dialog", inputs: { id: "id", value: "value", dialogTitle: "dialogTitle", initialTab: "initialTab", tabs: "tabs", isOpenAdvanced: "isOpenAdvanced", dataSource: "dataSource", dialogConfig: "dialogConfig", uniqueKey: "uniqueKey", headerId: "headerId", tokenViewField: "tokenViewField", tokenizerFn: "tokenizerFn", mobile: "mobile", formatToken: "formatToken", conditionDisplayFn: "conditionDisplayFn", tokenValidator: "tokenValidator", searchSelection: "searchSelection", searchTablePageSize: "searchTablePageSize", searchTableMobileHeaders: "searchTableMobileHeaders", maxShownInitialFilters: "maxShownInitialFilters", loading: "loading", allowSelectAll: "allowSelectAll", defineStrategyLabels: "defineStrategyLabels" }, outputs: { valueChange: "valueChange", onDataRequested: "onDataRequested", onDataReceived: "onDataReceived" }, providers: [
1329
+ {
1330
+ provide: VhdComponent,
1331
+ useExisting: PlatformValueHelpDialogComponent
1332
+ }
1333
+ ], queries: [{ propertyName: "filters", predicate: VhdFilterComponent }, { propertyName: "columnDef", predicate: ValueHelpColumnDefDirective }], viewQueries: [{ propertyName: "dialogContainer", first: true, predicate: ["container"], descendants: true, read: TemplateRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\"dialogConfig\" #container>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header [attr.dir]=\"_dir$()\">\n <ng-template fdkTemplate=\"header\">\n <ng-template [ngTemplateOutlet]=\"mobile ? mobileDialogTitle : desktopDialogTitle\"></ng-template>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body [attr.dir]=\"_dir$()\">\n @if (!mobile) {\n <ng-template [ngTemplateOutlet]=\"advancedSearchContent\"></ng-template>\n }\n <div fd-scrollbar class=\"fdp-value-help-dialog__content-holder\">\n @if (mobile) {\n <ng-template [ngTemplateOutlet]=\"advancedSearchContent\"></ng-template>\n }\n @if (selectedTab === _tabTypes.selectFromList) {\n <ng-template [ngTemplateOutlet]=\"selectionContent\"></ng-template>\n }\n @if (selectedTab === _tabTypes.defineConditions) {\n <ng-template [ngTemplateOutlet]=\"defineConditionsContent\"></ng-template>\n }\n </div>\n </fd-dialog-body>\n <fd-dialog-footer [attr.dir]=\"_dir$()\">\n <ng-template fdkTemplate=\"footer\">\n @if (!isMobileAdvancedSearchActive) {\n <div\n class=\"fdp-value-help-dialog__row fdp-value-help-dialog__selection-row\"\n [attr.aria-label]=\"'platformVHD.selectionBarLabel' | fdTranslate\"\n >\n <h5 fd-title class=\"selected-and-condition-title\" [id]=\"id + '-selected-item'\">\n @if (hasSelectedAndConditions) {\n {{ 'platformVHD.selectedAndConditionLabel' | fdTranslate }}\n ({{ selectedItems.length + validConditions.length }})\n } @else {\n {{ 'platformVHD.selectedEmptyLabel' | fdTranslate }}\n }\n </h5>\n <div class=\"fdp-value-help-dialog__tokens-wrapper\">\n <div class=\"fdp-value-help-dialog__tokens\">\n <!-- Selected items -->\n <fd-tokenizer [tokenizerFocusable]=\"false\">\n <fd-token\n *ngFor=\"\n let item of selectedItems;\n trackBy: _trackBySelectedFn;\n index as selectedIndex\n \"\n fd-toolbar-item\n fdOverflowPriority=\"high\"\n class=\"fdp-value-help-dialog__selection-token\"\n (onCloseClick)=\"removeSelected(selectedIndex)\"\n >{{\n !!tokenizerFn ? (item | displayFnPipe: tokenizerFn) : item[tokenViewField]\n }}\n </fd-token>\n <fd-token\n *ngFor=\"\n let item of validConditions;\n trackBy: _trackByConditionFn;\n index as conditionIndex\n \"\n fd-toolbar-item\n fdOverflowPriority=\"high\"\n class=\"fdp-value-help-dialog__selection-token\"\n (onCloseClick)=\"removeCondition(conditionIndex)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"conditionValue\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-template>\n </fd-token>\n <input fd-form-control fd-tokenizer-input [disabled]=\"!hasSelectedAndConditions\" />\n </fd-tokenizer>\n </div>\n <button\n (click)=\"clearSelectedAndConditionItems()\"\n class=\"fdp-value-help-dialog__tokens-clear\"\n fd-button\n [disabled]=\"!hasSelectedAndConditions\"\n fdType=\"transparent\"\n [title]=\"'platformVHD.footerClearSelectedTitle' | fdTranslate\"\n glyph=\"decline\"\n [attr.aria-label]=\"'platformVHD.footerClearSelectedAriaLabel' | fdTranslate\"\n ></button>\n </div>\n </div>\n }\n <div class=\"fdp-value-help-dialog__actions-row\">\n @if (mobile && isOpenAdvanced) {\n <button\n fd-button\n data-go-advanced\n [label]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n (click)=\"searchAdvanced()\"\n ></button>\n }\n @if (selectedTab !== _tabTypes.advancedSearch) {\n <button\n fd-button\n data-succes\n [disabled]=\"loadingState\"\n [label]=\"'platformVHD.successButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n (click)=\"success()\"\n ></button>\n }\n <button\n fd-button\n data-dismiss-dialog\n [label]=\"'platformVHD.cancelButtonLabel' | fdTranslate\"\n fdType=\"transparent\"\n (click)=\"dismiss()\"\n ></button>\n </div>\n </ng-template>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n<ng-template #advancedSearchContent>\n @if (isSelectionTab) {\n <form class=\"fdp-value-help-dialog__row fdp-value-help-dialog__advanced-search\" [id]=\"'advanced-search-' + id\">\n @if (!mobile || (mobile && !isOpenAdvanced)) {\n <fd-layout-grid>\n <div fdLayoutGridRow>\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"12\" [colLg]=\"mobile ? 12 : 6\" [colXl]=\"mobile ? 12 : 6\">\n <fdp-search-field\n [placeholder]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n (searchSubmit)=\"search()\"\n (inputChange)=\"_mainSearch = $event.text\"\n ></fdp-search-field>\n </div>\n @if (_hasAdvanced) {\n <div\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"12\"\n [colLg]=\"mobile ? 12 : 6\"\n [colXl]=\"mobile ? 12 : 6\"\n class=\"fdp-value-help-dialog__advanced-actions\"\n >\n <fd-toolbar [clearBorder]=\"true\">\n <fd-toolbar-spacer></fd-toolbar-spacer>\n @if (_hasAdvanced) {\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n [label]=\"\n (mobile\n ? 'platformVHD.searchAdvancedSearchLabel'\n : isOpenAdvanced\n ? 'platformVHD.searchHideAdvancedSearchLabel'\n : 'platformVHD.searchShowAdvancedSearchLabel'\n ) | fdTranslate\n \"\n (click)=\"toggleAdvancedSearch()\"\n ></button>\n }\n <button\n fd-toolbar-item\n type=\"submit\"\n fd-button\n fdType=\"emphasized\"\n [label]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n (click)=\"filter()\"\n ></button>\n </fd-toolbar>\n </div>\n }\n </div>\n </fd-layout-grid>\n }\n @if (isOpenAdvanced && _hasAdvanced) {\n <div [id]=\"'advanced-search-content-' + id\" class=\"fdp-value-help-dialog__advanced-filters\">\n <fd-busy-indicator [loading]=\"loadingState && _firstLoadingDone\" [block]=\"true\">\n @if (_firstLoadingDone) {\n <fd-layout-grid\n [class.fdp-value-help-dialog__with-toggle-all]=\"filters.length > maxShownInitialFilters\"\n >\n <div fdLayoutGridRow>\n @for (\n filter of _displayedFilters | slice: 0 : shownFilterCount + 1;\n track _trackByFilterFn($index, filter)\n ) {\n @if (filter.advanced) {\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"12\" [colLg]=\"6\" [colXl]=\"3\">\n <label\n class=\"fd-form-group__header\"\n fd-form-label\n [for]=\"'input' + filter.key\"\n >{{ filter.label }}:</label\n >\n @if (filter.filterDef) {\n <ng-template\n [ngTemplateOutlet]=\"filter.filterDef.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: filter }\"\n ></ng-template>\n } @else {\n <input\n [(ngModel)]=\"filter.value\"\n fd-form-control\n type=\"text\"\n [name]=\"'search-by-' + filter.label\"\n [id]=\"'input' + filter.key\"\n />\n }\n </div>\n }\n }\n @if (filters.length > maxShownInitialFilters) {\n <div\n colGrow\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"12\"\n [colLg]=\"6\"\n [colXl]=\"3\"\n class=\"fdp-value-help-dialog__toggle-filters\"\n >\n <button\n fd-button\n fdType=\"transparent\"\n (click)=\"toggleShownFilters()\"\n [label]=\"\n (isShowAllFilters\n ? 'platformVHD.searchHideAllAdvancedSearchLabel'\n : 'platformVHD.searchShowAllAdvancedSearchLabel'\n ) | fdTranslate\n \"\n ></button>\n </div>\n }\n </div>\n </fd-layout-grid>\n } @else {\n <fd-skeleton width=\"100%\" height=\"100px\">\n <svg:rect x=\"0\" y=\"0\" rx=\"4\" width=\"15%\" height=\"8\" />\n <svg:rect x=\"0\" y=\"20\" rx=\"4\" width=\"25%\" height=\"16\" />\n <svg:rect x=\"35%\" y=\"0\" rx=\"4\" width=\"15%\" height=\"8\" />\n <svg:rect x=\"35%\" y=\"20\" rx=\"4\" width=\"25%\" height=\"16\" />\n <svg:rect x=\"0\" y=\"60\" rx=\"4\" width=\"15%\" height=\"8\" />\n <svg:rect x=\"0\" y=\"80\" rx=\"4\" width=\"25%\" height=\"16\" />\n </fd-skeleton>\n }\n </fd-busy-indicator>\n </div>\n }\n </form>\n }\n</ng-template>\n<ng-template #selectionContent>\n <fd-busy-indicator\n [loading]=\"loadingState && _firstLoadingDone\"\n [block]=\"true\"\n class=\"fdp-value-help-dialog__table-busy-indicator\"\n >\n <fdp-select-tab\n [selected]=\"selectedItems\"\n [loading]=\"loadingState && !_firstLoadingDone\"\n [uid]=\"id\"\n [displayedData]=\"_displayedData\"\n [tabTitle]=\"'platformVHD.selectTabTitle' | fdTranslate\"\n [mobile]=\"mobile\"\n [selection]=\"searchSelection\"\n [uniqueKey]=\"uniqueKey\"\n [pageSize]=\"searchTablePageSize\"\n [defaultMobileHeaders]=\"searchTableMobileHeaders\"\n [filters]=\"_displayedFilters\"\n [allowSelectAll]=\"allowSelectAll\"\n (select)=\"onSelect($event)\"\n ></fdp-select-tab>\n </fd-busy-indicator>\n</ng-template>\n<ng-template #defineConditionsContent>\n <div fd-scrollbar>\n <fdp-define-tab\n [strategyLabels]=\"defineStrategyLabels\"\n [conditions]=\"conditionItems\"\n [uid]=\"id\"\n [tabTitle]=\"'platformVHD.defineTabTitle' | fdTranslate\"\n [mobile]=\"mobile\"\n (conditionChange)=\"onConditionChange($event)\"\n ></fdp-define-tab>\n </div>\n</ng-template>\n<ng-template #dialogTitleText>\n <h5 [attr.id]=\"headerId\" fd-title>{{ dialogTitle }}</h5>\n</ng-template>\n<ng-template #tabLink let-title=\"title\" let-type=\"type\">\n @if (selectedTab === type && showSelectionTab && showDefineTab) {\n <button\n fd-button\n glyph=\"navigation-left-arrow\"\n fdType=\"transparent\"\n (click)=\"switchTab()\"\n [title]=\"'platformVHD.selectMobileTabBackBtnTitle' | fdTranslate\"\n ></button>\n <h5 fd-title>{{ title }}</h5>\n }\n @if (selectedTab !== type) {\n <a\n fd-list-link\n (click)=\"switchTab(type)\"\n [title]=\"'platformVHD.selectMobileTabBtnOpenDialogLabel' | fdTranslate\"\n >\n <span fd-list-title>{{ title }}</span>\n <i fd-list-icon glyph=\"navigation-right-arrow\"></i>\n </a>\n }\n</ng-template>\n<ng-template #advancedHeader>\n <button fd-button glyph=\"navigation-left-arrow\" fdType=\"transparent\" (click)=\"toggleAdvancedSearch()\"></button>\n <h5 fd-title>{{ 'platformVHD.searchAdvancedSearchLabel' | fdTranslate }}</h5>\n</ng-template>\n<ng-template #desktopDialogTitle>\n <ng-template [ngTemplateOutlet]=\"dialogTitleText\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"desktopTabs\"></ng-template>\n</ng-template>\n<ng-template #mobileDialogTitle>\n <div class=\"fdp-value-help-dialog__mobile-title\">\n @if (hasSelectedTab) {\n <ng-template [ngTemplateOutlet]=\"selectedTabHeader\"></ng-template>\n } @else {\n <h5 [attr.id]=\"headerId\" fd-title>{{ dialogTitle }}</h5>\n }\n </div>\n <ng-template [ngTemplateOutlet]=\"mobileTabs\"></ng-template>\n</ng-template>\n<ng-template #desktopTabs>\n @if (showSelectionTab && showDefineTab) {\n <nav fd-tab-nav class=\"fdp-value-help-dialog__tabs\">\n @if (showSelectionTab) {\n <div fd-tab-item (click)=\"switchTab(_tabTypes.selectFromList)\">\n <a\n fd-tab-link\n [active]=\"selectedTab === _tabTypes.selectFromList\"\n [tabindex]=\"selectedTab === _tabTypes.selectFromList ? '0' : '-1'\"\n ><span fd-tab-tag>{{ 'platformVHD.selectTabTitle' | fdTranslate }}</span></a\n >\n </div>\n }\n @if (showDefineTab) {\n <div fd-tab-item (click)=\"switchTab(_tabTypes.defineConditions)\">\n <a\n fd-tab-link\n [active]=\"selectedTab === _tabTypes.defineConditions\"\n [tabindex]=\"selectedTab === _tabTypes.defineConditions ? '0' : '-1'\"\n ><span fd-tab-tag>{{ 'platformVHD.defineTabTitle' | fdTranslate }}</span></a\n >\n </div>\n }\n </nav>\n }\n</ng-template>\n<ng-template #mobileTabs>\n @if (!hasSelectedTab && showSelectionTab && showDefineTab) {\n <div>\n @if (showSelectionTab) {\n <div fd-bar [inPage]=\"true\">\n <div fd-bar-left>\n <fd-bar-element>\n {{ 'platformVHD.selectTabTitle' | fdTranslate }}\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fd-button-bar\n glyph=\"navigation-right-arrow\"\n (click)=\"switchTab(_tabTypes.selectFromList)\"\n [title]=\"\n 'platformVHD.selectMobileTabTitle'\n | fdTranslate: { title: 'platformVHD.selectTabTitle' | fdTranslate }\n \"\n ></fd-button-bar>\n </fd-bar-element>\n </div>\n </div>\n }\n @if (showDefineTab) {\n <div fd-bar [inPage]=\"true\">\n <div fd-bar-left>\n <fd-bar-element>\n {{ 'platformVHD.defineTabTitle' | fdTranslate }}\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fd-button-bar\n glyph=\"navigation-right-arrow\"\n [title]=\"\n 'platformVHD.selectMobileTabTitle'\n | fdTranslate: { title: 'platformVHD.defineTabTitle' | fdTranslate }\n \"\n (click)=\"switchTab(_tabTypes.defineConditions)\"\n >\n </fd-button-bar>\n </fd-bar-element>\n </div>\n </div>\n }\n </div>\n }\n</ng-template>\n<ng-template #selectedTabHeader>\n @switch (selectedTab) {\n @case (_tabTypes.selectFromList) {\n <ng-template\n [ngTemplateOutlet]=\"tabLink\"\n [ngTemplateOutletContext]=\"{\n title: 'platformVHD.selectTabTitle' | fdTranslate,\n type: selectedTab\n }\"\n ></ng-template>\n }\n @case (_tabTypes.advancedSearch) {\n <ng-template [ngTemplateOutlet]=\"advancedHeader\"></ng-template>\n }\n @case (_tabTypes.defineConditions) {\n <ng-template\n [ngTemplateOutlet]=\"tabLink\"\n [ngTemplateOutletContext]=\"{\n title: 'platformVHD.defineTabTitle' | fdTranslate,\n type: selectedTab\n }\"\n ></ng-template>\n }\n }\n</ng-template>\n<ng-template #conditionValue let-item=\"item\">\n @if (item.strategy !== 'empty' && item.strategy !== 'not_empty') {\n <span>\n {{ item | displayFnPipe: conditionDisplayFn : _displayedFilters }}\n </span>\n } @else {\n @if (item.strategy === 'not_empty') {\n !(<ng-template [ngTemplateOutlet]=\"emptyConditionText\"></ng-template>)\n } @else {\n &lt;{{ 'platformVHD.selectMobileConditionEmpty' | fdTranslate }}&gt;\n }\n }\n</ng-template>\n<ng-template #emptyConditionText> &lt;{{ 'platformVHD.selectMobileConditionEmpty' | fdTranslate }}&gt; </ng-template>\n", styles: [".fdp-value-help-dialog .fd-dialog__body{display:flex;flex-direction:column;overflow:hidden}.fdp-value-help-dialog .fd-title--h5{padding:.5rem 0}.fdp-value-help-dialog .fd-toolbar{background:none;border:none;padding:.1735rem .5rem;height:auto;min-height:1.625rem}.fdp-value-help-dialog__row.fdp-value-help-dialog__advanced-search{padding-top:1rem}.fdp-value-help-dialog__advanced-search,.fdp-value-help-dialog .fd-dialog__body{background-color:var(--sapBackgroundColor, #f7f7f7)}.fdp-value-help-dialog__advanced-filters{padding-top:1rem}.fdp-value-help-dialog__advanced-filters label{height:auto}.fdp-value-help-dialog__toggle-filters{display:flex;justify-content:flex-end;align-items:flex-end}.fdp-value-help-dialog__toggle-filters .fd-button{margin-bottom:.25rem}.fdp-value-help-dialog__advanced-actions{display:flex;align-items:center;justify-content:flex-end}.fdp-value-help-dialog-mobile .fdp-value-help-dialog__advanced-actions{justify-content:flex-start}.fdp-value-help-dialog__advanced-actions .fd-toolbar{padding:0}.fdp-value-help-dialog .fd-bar.fd-bar--cozy{height:auto}.fdp-value-help-dialog .fd-dialog__header{box-shadow:none}.fdp-value-help-dialog .fd-dialog__header .fd-title{display:flex;align-items:center;padding-left:2rem;padding-right:2rem;min-height:2.5rem;box-shadow:none;border-bottom:none;background-color:var(--sapObjectHeader_Background, #fff);position:relative;z-index:2}.fdp-value-help-dialog .fd-dialog__header .fdp-value-help-dialog__mobile-title{display:flex;border-bottom:1px solid #d9d9d9;border-bottom:1px solid var(--sapGroup_TitleBorderColor, #d9d9d9)}.fdp-value-help-dialog .fd-dialog__header .fdp-value-help-dialog__mobile-title .fd-title{flex:1 1 auto;border:none}.fdp-value-help-dialog .fd-dialog__header .fdp-value-help-dialog__tabs{position:relative}.fdp-value-help-dialog .fd-dialog__header,.fdp-value-help-dialog .fd-dialog__footer{height:auto;flex-direction:column}.fdp-value-help-dialog .fd-dialog__header.fd-bar,.fdp-value-help-dialog .fd-dialog__footer.fd-bar{padding:0}.fdp-value-help-dialog .fd-dialog__footer{border-top:none}.fdp-value-help-dialog__content-holder{padding:0 2rem 1rem;display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden;min-height:20rem}.fdp-value-help-dialog__row{padding:0 2rem 1rem}.fdp-value-help-dialog__row.fdp-value-help-dialog__selection-row{background-color:var(--sapBackgroundColor, #f7f7f7)}.fdp-value-help-dialog__tokens-wrapper{display:flex}.fdp-value-help-dialog__tokens{flex:1 1 auto;overflow:hidden;align-items:center;border:1px solid var(--sapContent_ForegroundBorderColor, #89919a);margin-right:.5rem;border-radius:var(--sapElement_BorderCornerRadius, .25rem);background:none}.fdp-value-help-dialog__tokens fd-toolbar{flex:1 1 auto;overflow:hidden}.fdp-value-help-dialog__tokens-clear{height:auto;min-width:2rem;padding:.125rem 0;justify-content:center}.fdp-value-help-dialog__actions-row{padding:.5rem 1rem;display:flex;align-items:center;justify-content:flex-end;border-top:.0625rem solid #d9d9d9;border-top:.0625rem solid var(--sapPageFooter_BorderColor, #d9d9d9)}.fdp-value-help-dialog__actions-row .fd-button{margin-left:.5rem}.fdp-value-help-dialog .fdp-value-help-dialog__hidden_label{display:none!important}.fdp-value-help-dialog__table-busy-indicator{height:100%}\n"], dependencies: [{ kind: "component", type: DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ScrollbarDirective, selector: "[fdScrollbar], [fd-scrollbar]", inputs: ["noHorizontalScroll", "noVerticalScroll", "alwaysVisible"] }, { kind: "component", type: DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title], span[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "component", type: TokenizerComponent, selector: "fd-tokenizer", inputs: ["class", "disableKeyboardDeletion", "compactCollapse", "tokenizerFocusable", "inputValue", "glyph", "glyphFont", "moreTerm", "open", "showOverflowPopover"], outputs: ["moreClickedEvent"] }, { kind: "component", type: TokenComponent, selector: "fd-token", inputs: ["disabled", "selected", "readOnly"], outputs: ["onCloseClick", "onRemove", "onTokenClick", "onTokenKeydown", "elementFocused"] }, { kind: "directive", type: ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: FormControlComponent, selector: "input[fd-form-control], textarea[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: TokenizerInputDirective, selector: "[fdTokenizerInput], [fd-tokenizer-input]", inputs: ["class"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }, { kind: "directive", type: LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "component", type: SearchFieldComponent, selector: "fdp-search-field", inputs: ["categoryMode", "appearance", "placeholder", "mobile", "mobileConfig", "disableRefresh", "disableSearch", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "forceSearchButton", "disableSuggestionsFoundAnnouncer"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange"] }, { kind: "component", type: ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: ToolbarSpacerDirective, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "component", type: BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "inlineHelpLabel", "id"] }, { kind: "component", type: SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }, { kind: "component", type: SelectTabComponent, selector: "fdp-select-tab", inputs: ["selectTabTitleId", "selectTabCountId", "selected", "loading", "filters", "selection", "allowSelectAll", "uniqueKey", "pageSize", "defaultMobileHeaders", "displayedData"], outputs: ["select"] }, { kind: "component", type: DefineTabComponent, selector: "fdp-define-tab", inputs: ["titleId", "selectedId", "conditions", "strategyLabels"], outputs: ["includeChange", "excludeChange", "conditionChange"] }, { kind: "directive", type: ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "directive", type: ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "glyphFont", "class", "role"] }, { kind: "component", type: TabNavComponent, selector: "[fd-tab-nav]", inputs: ["class", "mode", "size"] }, { kind: "directive", type: TabItemDirective, selector: "[fd-tab-item]", inputs: ["class", "tabItemState", "header", "disabled", "fdTabItemClass"] }, { kind: "directive", type: TabLinkDirective, selector: "[fd-tab-link]", inputs: ["active", "disabled"], outputs: ["keyDown", "focused"] }, { kind: "directive", type: TabTagDirective, selector: "[fdTabTag], [fd-tab-tag]" }, { kind: "component", type: BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "directive", type: BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "pipe", type: SlicePipe, name: "slice" }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }, { kind: "pipe", type: DisplayFnPipe, name: "displayFnPipe" }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1255
1334
  }
1256
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: PlatformValueHelpDialogComponent, decorators: [{
1335
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PlatformValueHelpDialogComponent, decorators: [{
1257
1336
  type: Component,
1258
- args: [{ selector: 'fdp-value-help-dialog', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
1337
+ args: [{ selector: 'fdp-value-help-dialog', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
1338
+ {
1339
+ provide: VhdComponent,
1340
+ useExisting: PlatformValueHelpDialogComponent
1341
+ }
1342
+ ], standalone: true, imports: [
1259
1343
  DialogComponent,
1260
1344
  DialogHeaderComponent,
1261
1345
  TemplateDirective,
@@ -1299,7 +1383,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
1299
1383
  FdTranslatePipe,
1300
1384
  DisplayFnPipe,
1301
1385
  NgForOf
1302
- ], template: "<ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\"dialogConfig\" #container>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header [dir]=\"_dir\">\n <ng-template fdkTemplate=\"header\">\n <ng-template [ngTemplateOutlet]=\"mobile ? mobileDialogTitle : desktopDialogTitle\"></ng-template>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body [dir]=\"_dir\">\n @if (!mobile) {\n <ng-template [ngTemplateOutlet]=\"advancedSearchContent\"></ng-template>\n }\n <div fd-scrollbar class=\"fdp-value-help-dialog__content-holder\">\n @if (mobile) {\n <ng-template [ngTemplateOutlet]=\"advancedSearchContent\"></ng-template>\n }\n @if (selectedTab === _tabTypes.selectFromList) {\n <ng-template [ngTemplateOutlet]=\"selectionContent\"></ng-template>\n }\n @if (selectedTab === _tabTypes.defineConditions) {\n <ng-template [ngTemplateOutlet]=\"defineConditionsContent\"></ng-template>\n }\n </div>\n </fd-dialog-body>\n <fd-dialog-footer [dir]=\"_dir\">\n <ng-template fdkTemplate=\"footer\">\n @if (!isMobileAdvancedSearchActive) {\n <div\n class=\"fdp-value-help-dialog__row fdp-value-help-dialog__selection-row\"\n [attr.aria-label]=\"'platformVHD.selectionBarLabel' | fdTranslate\"\n >\n <h5 fd-title class=\"selected-and-condition-title\" [id]=\"id + '-selected-item'\">\n @if (hasSelectedAndConditions) {\n {{ 'platformVHD.selectedAndConditionLabel' | fdTranslate }}\n ({{ selectedItems.length + validConditions.length }})\n } @else {\n {{ 'platformVHD.selectedEmptyLabel' | fdTranslate }}\n }\n </h5>\n <div class=\"fdp-value-help-dialog__tokens-wrapper\">\n <div class=\"fdp-value-help-dialog__tokens\">\n <!-- Selected items -->\n <fd-tokenizer [tokenizerFocusable]=\"false\">\n <fd-token\n *ngFor=\"\n let item of selectedItems;\n trackBy: _trackBySelectedFn;\n index as selectedIndex\n \"\n fd-toolbar-item\n fdOverflowPriority=\"high\"\n class=\"fdp-value-help-dialog__selection-token\"\n (onCloseClick)=\"removeSelected(selectedIndex)\"\n >{{\n !!tokenizerFn ? (item | displayFnPipe: tokenizerFn) : item[tokenViewField]\n }}\n </fd-token>\n <fd-token\n *ngFor=\"\n let item of validConditions;\n trackBy: _trackByConditionFn;\n index as conditionIndex\n \"\n fd-toolbar-item\n fdOverflowPriority=\"high\"\n class=\"fdp-value-help-dialog__selection-token\"\n (onCloseClick)=\"removeCondition(conditionIndex)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"conditionValue\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-template>\n </fd-token>\n <input fd-form-control fd-tokenizer-input [disabled]=\"!hasSelectedAndConditions\" />\n </fd-tokenizer>\n </div>\n <button\n (click)=\"clearSelectedAndConditionItems()\"\n class=\"fdp-value-help-dialog__tokens-clear\"\n fd-button\n [disabled]=\"!hasSelectedAndConditions\"\n fdType=\"transparent\"\n [title]=\"'platformVHD.footerClearSelectedTitle' | fdTranslate\"\n glyph=\"decline\"\n [attr.aria-label]=\"'platformVHD.footerClearSelectedAriaLabel' | fdTranslate\"\n ></button>\n </div>\n </div>\n }\n <div class=\"fdp-value-help-dialog__actions-row\">\n @if (mobile && isOpenAdvanced) {\n <button\n fd-button\n data-go-advanced\n [label]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n (click)=\"searchAdvanced()\"\n ></button>\n }\n @if (selectedTab !== _tabTypes.advancedSearch) {\n <button\n fd-button\n data-succes\n [label]=\"'platformVHD.successButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n (click)=\"success()\"\n ></button>\n }\n <button\n fd-button\n data-dismiss-dialog\n [label]=\"'platformVHD.cancelButtonLabel' | fdTranslate\"\n fdType=\"transparent\"\n (click)=\"dismiss()\"\n ></button>\n </div>\n </ng-template>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n<ng-template #advancedSearchContent>\n @if (isSelectionTab) {\n <form class=\"fdp-value-help-dialog__row fdp-value-help-dialog__advanced-search\" [id]=\"'advanced-search-' + id\">\n @if (!mobile || (mobile && !isOpenAdvanced)) {\n <fd-layout-grid>\n <div fdLayoutGridRow>\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"12\" [colLg]=\"mobile ? 12 : 6\" [colXl]=\"mobile ? 12 : 6\">\n <fdp-search-field\n [placeholder]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n (searchSubmit)=\"search()\"\n (inputChange)=\"_mainSearch = $event.text\"\n ></fdp-search-field>\n </div>\n @if (_hasAdvanced) {\n <div\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"12\"\n [colLg]=\"mobile ? 12 : 6\"\n [colXl]=\"mobile ? 12 : 6\"\n class=\"fdp-value-help-dialog__advanced-actions\"\n >\n <fd-toolbar [clearBorder]=\"true\">\n <fd-toolbar-spacer></fd-toolbar-spacer>\n @if (_hasAdvanced) {\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n [label]=\"\n (mobile\n ? 'platformVHD.searchAdvancedSearchLabel'\n : isOpenAdvanced\n ? 'platformVHD.searchHideAdvancedSearchLabel'\n : 'platformVHD.searchShowAdvancedSearchLabel'\n ) | fdTranslate\n \"\n (click)=\"toggleAdvancedSearch()\"\n ></button>\n }\n <button\n fd-toolbar-item\n type=\"submit\"\n fd-button\n fdType=\"emphasized\"\n [label]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n (click)=\"filter()\"\n ></button>\n </fd-toolbar>\n </div>\n }\n </div>\n </fd-layout-grid>\n }\n @if (isOpenAdvanced && _hasAdvanced) {\n <div [id]=\"'advanced-search-content-' + id\" class=\"fdp-value-help-dialog__advanced-filters\">\n <fd-busy-indicator [loading]=\"loadingState && _firstLoadingDone\" [block]=\"true\">\n @if (_firstLoadingDone) {\n <fd-layout-grid\n [class.fdp-value-help-dialog__with-toggle-all]=\"filters.length > maxShownInitialFilters\"\n >\n <div fdLayoutGridRow>\n @for (\n filter of _displayedFilters | slice: 0 : shownFilterCount + 1;\n track _trackByFilterFn($index, filter)\n ) {\n @if (filter.advanced) {\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"12\" [colLg]=\"6\" [colXl]=\"3\">\n <label\n class=\"fd-form-group__header\"\n fd-form-label\n [for]=\"'input' + filter.key\"\n >{{ filter.label }}:</label\n >\n <input\n [(ngModel)]=\"filter.value\"\n fd-form-control\n type=\"text\"\n [name]=\"'search-by-' + filter.label\"\n [id]=\"'input' + filter.key\"\n />\n </div>\n }\n }\n @if (filters.length > maxShownInitialFilters) {\n <div\n colGrow\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"12\"\n [colLg]=\"6\"\n [colXl]=\"3\"\n class=\"fdp-value-help-dialog__toggle-filters\"\n >\n <button\n fd-button\n fdType=\"transparent\"\n (click)=\"toggleShownFilters()\"\n [label]=\"\n (isShowAllFilters\n ? 'platformVHD.searchHideAllAdvancedSearchLabel'\n : 'platformVHD.searchShowAllAdvancedSearchLabel'\n ) | fdTranslate\n \"\n ></button>\n </div>\n }\n </div>\n </fd-layout-grid>\n } @else {\n <fd-skeleton width=\"100%\" height=\"100px\">\n <svg:rect x=\"0\" y=\"0\" rx=\"4\" width=\"15%\" height=\"8\" />\n <svg:rect x=\"0\" y=\"20\" rx=\"4\" width=\"25%\" height=\"16\" />\n <svg:rect x=\"35%\" y=\"0\" rx=\"4\" width=\"15%\" height=\"8\" />\n <svg:rect x=\"35%\" y=\"20\" rx=\"4\" width=\"25%\" height=\"16\" />\n <svg:rect x=\"0\" y=\"60\" rx=\"4\" width=\"15%\" height=\"8\" />\n <svg:rect x=\"0\" y=\"80\" rx=\"4\" width=\"25%\" height=\"16\" />\n </fd-skeleton>\n }\n </fd-busy-indicator>\n </div>\n }\n </form>\n }\n</ng-template>\n<ng-template #selectionContent>\n <fd-busy-indicator\n [loading]=\"loadingState && _firstLoadingDone\"\n [block]=\"true\"\n class=\"fdp-value-help-dialog__table-busy-indicator\"\n >\n <fdp-select-tab\n [selected]=\"selectedItems\"\n [loading]=\"loadingState && !_firstLoadingDone\"\n [uid]=\"id\"\n [displayedData]=\"_displayedData\"\n [tabTitle]=\"'platformVHD.selectTabTitle' | fdTranslate\"\n [mobile]=\"mobile\"\n [selection]=\"searchSelection\"\n [uniqueKey]=\"uniqueKey\"\n [pageSize]=\"searchTablePageSize\"\n [defaultMobileHeaders]=\"searchTableMobileHeaders\"\n [filters]=\"_displayedFilters\"\n (select)=\"onSelect($event)\"\n ></fdp-select-tab>\n </fd-busy-indicator>\n</ng-template>\n<ng-template #defineConditionsContent>\n <div fd-scrollbar>\n <fdp-define-tab\n [strategyLabels]=\"defineStrategyLabels\"\n [conditions]=\"conditionItems\"\n [uid]=\"id\"\n [tabTitle]=\"'platformVHD.defineTabTitle' | fdTranslate\"\n [mobile]=\"mobile\"\n (conditionChange)=\"onConditionChange($event)\"\n ></fdp-define-tab>\n </div>\n</ng-template>\n<ng-template #dialogTitleText>\n <h5 [attr.id]=\"headerId\" fd-title>{{ dialogTitle }}</h5>\n</ng-template>\n<ng-template #tabLink let-title=\"title\" let-type=\"type\">\n @if (selectedTab === type && showSelectionTab && showDefineTab) {\n <button\n fd-button\n glyph=\"navigation-left-arrow\"\n fdType=\"transparent\"\n (click)=\"switchTab()\"\n [title]=\"'platformVHD.selectMobileTabBackBtnTitle' | fdTranslate\"\n ></button>\n <h5 fd-title>{{ title }}</h5>\n }\n @if (selectedTab !== type) {\n <a\n fd-list-link\n (click)=\"switchTab(type)\"\n [title]=\"'platformVHD.selectMobileTabBtnOpenDialogLabel' | fdTranslate\"\n >\n <span fd-list-title>{{ title }}</span>\n <i fd-list-icon glyph=\"navigation-right-arrow\"></i>\n </a>\n }\n</ng-template>\n<ng-template #advancedHeader>\n <button fd-button glyph=\"navigation-left-arrow\" fdType=\"transparent\" (click)=\"toggleAdvancedSearch()\"></button>\n <h5 fd-title>{{ 'platformVHD.searchAdvancedSearchLabel' | fdTranslate }}</h5>\n</ng-template>\n<ng-template #desktopDialogTitle>\n <ng-template [ngTemplateOutlet]=\"dialogTitleText\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"desktopTabs\"></ng-template>\n</ng-template>\n<ng-template #mobileDialogTitle>\n <div class=\"fdp-value-help-dialog__mobile-title\">\n @if (hasSelectedTab) {\n <ng-template [ngTemplateOutlet]=\"selectedTabHeader\"></ng-template>\n } @else {\n <h5 [attr.id]=\"headerId\" fd-title>{{ dialogTitle }}</h5>\n }\n </div>\n <ng-template [ngTemplateOutlet]=\"mobileTabs\"></ng-template>\n</ng-template>\n<ng-template #desktopTabs>\n @if (showSelectionTab && showDefineTab) {\n <nav fd-tab-nav class=\"fdp-value-help-dialog__tabs\">\n @if (showSelectionTab) {\n <div fd-tab-item (click)=\"switchTab(_tabTypes.selectFromList)\">\n <a\n fd-tab-link\n [active]=\"selectedTab === _tabTypes.selectFromList\"\n [tabindex]=\"selectedTab === _tabTypes.selectFromList ? '0' : '-1'\"\n ><span fd-tab-tag>{{ 'platformVHD.selectTabTitle' | fdTranslate }}</span></a\n >\n </div>\n }\n @if (showDefineTab) {\n <div fd-tab-item (click)=\"switchTab(_tabTypes.defineConditions)\">\n <a\n fd-tab-link\n [active]=\"selectedTab === _tabTypes.defineConditions\"\n [tabindex]=\"selectedTab === _tabTypes.defineConditions ? '0' : '-1'\"\n ><span fd-tab-tag>{{ 'platformVHD.defineTabTitle' | fdTranslate }}</span></a\n >\n </div>\n }\n </nav>\n }\n</ng-template>\n<ng-template #mobileTabs>\n @if (!hasSelectedTab && showSelectionTab && showDefineTab) {\n <div>\n @if (showSelectionTab) {\n <div fd-bar [inPage]=\"true\">\n <div fd-bar-left>\n <fd-bar-element>\n {{ 'platformVHD.selectTabTitle' | fdTranslate }}\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fd-button-bar\n glyph=\"navigation-right-arrow\"\n (click)=\"switchTab(_tabTypes.selectFromList)\"\n [title]=\"\n 'platformVHD.selectMobileTabTitle'\n | fdTranslate: { title: 'platformVHD.selectTabTitle' | fdTranslate }\n \"\n ></fd-button-bar>\n </fd-bar-element>\n </div>\n </div>\n }\n @if (showDefineTab) {\n <div fd-bar [inPage]=\"true\">\n <div fd-bar-left>\n <fd-bar-element>\n {{ 'platformVHD.defineTabTitle' | fdTranslate }}\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fd-button-bar\n glyph=\"navigation-right-arrow\"\n [title]=\"\n 'platformVHD.selectMobileTabTitle'\n | fdTranslate: { title: 'platformVHD.defineTabTitle' | fdTranslate }\n \"\n (click)=\"switchTab(_tabTypes.defineConditions)\"\n >\n </fd-button-bar>\n </fd-bar-element>\n </div>\n </div>\n }\n </div>\n }\n</ng-template>\n<ng-template #selectedTabHeader>\n @switch (selectedTab) {\n @case (_tabTypes.selectFromList) {\n <ng-template\n [ngTemplateOutlet]=\"tabLink\"\n [ngTemplateOutletContext]=\"{\n title: 'platformVHD.selectTabTitle' | fdTranslate,\n type: selectedTab\n }\"\n ></ng-template>\n }\n @case (_tabTypes.advancedSearch) {\n <ng-template [ngTemplateOutlet]=\"advancedHeader\"></ng-template>\n }\n @case (_tabTypes.defineConditions) {\n <ng-template\n [ngTemplateOutlet]=\"tabLink\"\n [ngTemplateOutletContext]=\"{\n title: 'platformVHD.defineTabTitle' | fdTranslate,\n type: selectedTab\n }\"\n ></ng-template>\n }\n }\n</ng-template>\n<ng-template #conditionValue let-item=\"item\">\n @if (item.strategy !== 'empty' && item.strategy !== 'not_empty') {\n <span>\n {{ item | displayFnPipe: conditionDisplayFn : _displayedFilters }}\n </span>\n } @else {\n @if (item.strategy === 'not_empty') {\n !(<ng-template [ngTemplateOutlet]=\"emptyConditionText\"></ng-template>)\n } @else {\n &lt;{{ 'platformVHD.selectMobileConditionEmpty' | fdTranslate }}&gt;\n }\n }\n</ng-template>\n<ng-template #emptyConditionText> &lt;{{ 'platformVHD.selectMobileConditionEmpty' | fdTranslate }}&gt; </ng-template>\n", styles: [".fdp-value-help-dialog .fd-dialog__body{display:flex;flex-direction:column;overflow:hidden}.fdp-value-help-dialog .fd-title--h5{padding:.5rem 0}.fdp-value-help-dialog .fd-toolbar{background:none;border:none;padding:.1735rem .5rem;height:auto;min-height:1.625rem}.fdp-value-help-dialog__row.fdp-value-help-dialog__advanced-search{padding-top:1rem}.fdp-value-help-dialog__advanced-search,.fdp-value-help-dialog .fd-dialog__body{background-color:var(--sapBackgroundColor, #f7f7f7)}.fdp-value-help-dialog__advanced-filters{padding-top:1rem}.fdp-value-help-dialog__advanced-filters label{height:auto}.fdp-value-help-dialog__toggle-filters{display:flex;justify-content:flex-end;align-items:flex-end}.fdp-value-help-dialog__toggle-filters .fd-button{margin-bottom:.25rem}.fdp-value-help-dialog__advanced-actions{display:flex;align-items:center;justify-content:flex-end}.fdp-value-help-dialog-mobile .fdp-value-help-dialog__advanced-actions{justify-content:flex-start}.fdp-value-help-dialog__advanced-actions .fd-toolbar{padding:0}.fdp-value-help-dialog .fd-bar.fd-bar--cozy{height:auto}.fdp-value-help-dialog .fd-dialog__header{box-shadow:none}.fdp-value-help-dialog .fd-dialog__header .fd-title{display:flex;align-items:center;padding-left:2rem;padding-right:2rem;min-height:2.5rem;box-shadow:none;border-bottom:none;background-color:var(--sapObjectHeader_Background, #fff);position:relative;z-index:2}.fdp-value-help-dialog .fd-dialog__header .fdp-value-help-dialog__mobile-title{display:flex;border-bottom:1px solid #d9d9d9;border-bottom:1px solid var(--sapGroup_TitleBorderColor, #d9d9d9)}.fdp-value-help-dialog .fd-dialog__header .fdp-value-help-dialog__mobile-title .fd-title{flex:1 1 auto;border:none}.fdp-value-help-dialog .fd-dialog__header .fdp-value-help-dialog__tabs{position:relative}.fdp-value-help-dialog .fd-dialog__header,.fdp-value-help-dialog .fd-dialog__footer{height:auto;flex-direction:column}.fdp-value-help-dialog .fd-dialog__header.fd-bar,.fdp-value-help-dialog .fd-dialog__footer.fd-bar{padding:0}.fdp-value-help-dialog .fd-dialog__footer{border-top:none}.fdp-value-help-dialog__content-holder{padding:0 2rem 1rem;display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden}.fdp-value-help-dialog__row{padding:0 2rem 1rem}.fdp-value-help-dialog__row.fdp-value-help-dialog__selection-row{background-color:var(--sapBackgroundColor, #f7f7f7)}.fdp-value-help-dialog__tokens-wrapper{display:flex}.fdp-value-help-dialog__tokens{flex:1 1 auto;overflow:hidden;align-items:center;border:1px solid var(--sapContent_ForegroundBorderColor, #89919a);margin-right:.5rem;border-radius:var(--sapElement_BorderCornerRadius, .25rem);background:none}.fdp-value-help-dialog__tokens fd-toolbar{flex:1 1 auto;overflow:hidden}.fdp-value-help-dialog__tokens-clear{height:auto;min-width:2rem;padding:.125rem 0;justify-content:center}.fdp-value-help-dialog__actions-row{padding:.5rem 1rem;display:flex;align-items:center;justify-content:flex-end;border-top:.0625rem solid #d9d9d9;border-top:.0625rem solid var(--sapPageFooter_BorderColor, #d9d9d9)}.fdp-value-help-dialog__actions-row .fd-button{margin-left:.5rem}.fdp-value-help-dialog .fdp-value-help-dialog__hidden_label{display:none!important}.fdp-value-help-dialog__table-busy-indicator{height:100%}\n"] }]
1386
+ ], template: "<ng-template [fdDialogTemplate] let-dialog let-dialogConfig=\"dialogConfig\" #container>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header [attr.dir]=\"_dir$()\">\n <ng-template fdkTemplate=\"header\">\n <ng-template [ngTemplateOutlet]=\"mobile ? mobileDialogTitle : desktopDialogTitle\"></ng-template>\n </ng-template>\n </fd-dialog-header>\n <fd-dialog-body [attr.dir]=\"_dir$()\">\n @if (!mobile) {\n <ng-template [ngTemplateOutlet]=\"advancedSearchContent\"></ng-template>\n }\n <div fd-scrollbar class=\"fdp-value-help-dialog__content-holder\">\n @if (mobile) {\n <ng-template [ngTemplateOutlet]=\"advancedSearchContent\"></ng-template>\n }\n @if (selectedTab === _tabTypes.selectFromList) {\n <ng-template [ngTemplateOutlet]=\"selectionContent\"></ng-template>\n }\n @if (selectedTab === _tabTypes.defineConditions) {\n <ng-template [ngTemplateOutlet]=\"defineConditionsContent\"></ng-template>\n }\n </div>\n </fd-dialog-body>\n <fd-dialog-footer [attr.dir]=\"_dir$()\">\n <ng-template fdkTemplate=\"footer\">\n @if (!isMobileAdvancedSearchActive) {\n <div\n class=\"fdp-value-help-dialog__row fdp-value-help-dialog__selection-row\"\n [attr.aria-label]=\"'platformVHD.selectionBarLabel' | fdTranslate\"\n >\n <h5 fd-title class=\"selected-and-condition-title\" [id]=\"id + '-selected-item'\">\n @if (hasSelectedAndConditions) {\n {{ 'platformVHD.selectedAndConditionLabel' | fdTranslate }}\n ({{ selectedItems.length + validConditions.length }})\n } @else {\n {{ 'platformVHD.selectedEmptyLabel' | fdTranslate }}\n }\n </h5>\n <div class=\"fdp-value-help-dialog__tokens-wrapper\">\n <div class=\"fdp-value-help-dialog__tokens\">\n <!-- Selected items -->\n <fd-tokenizer [tokenizerFocusable]=\"false\">\n <fd-token\n *ngFor=\"\n let item of selectedItems;\n trackBy: _trackBySelectedFn;\n index as selectedIndex\n \"\n fd-toolbar-item\n fdOverflowPriority=\"high\"\n class=\"fdp-value-help-dialog__selection-token\"\n (onCloseClick)=\"removeSelected(selectedIndex)\"\n >{{\n !!tokenizerFn ? (item | displayFnPipe: tokenizerFn) : item[tokenViewField]\n }}\n </fd-token>\n <fd-token\n *ngFor=\"\n let item of validConditions;\n trackBy: _trackByConditionFn;\n index as conditionIndex\n \"\n fd-toolbar-item\n fdOverflowPriority=\"high\"\n class=\"fdp-value-help-dialog__selection-token\"\n (onCloseClick)=\"removeCondition(conditionIndex)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"conditionValue\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-template>\n </fd-token>\n <input fd-form-control fd-tokenizer-input [disabled]=\"!hasSelectedAndConditions\" />\n </fd-tokenizer>\n </div>\n <button\n (click)=\"clearSelectedAndConditionItems()\"\n class=\"fdp-value-help-dialog__tokens-clear\"\n fd-button\n [disabled]=\"!hasSelectedAndConditions\"\n fdType=\"transparent\"\n [title]=\"'platformVHD.footerClearSelectedTitle' | fdTranslate\"\n glyph=\"decline\"\n [attr.aria-label]=\"'platformVHD.footerClearSelectedAriaLabel' | fdTranslate\"\n ></button>\n </div>\n </div>\n }\n <div class=\"fdp-value-help-dialog__actions-row\">\n @if (mobile && isOpenAdvanced) {\n <button\n fd-button\n data-go-advanced\n [label]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n (click)=\"searchAdvanced()\"\n ></button>\n }\n @if (selectedTab !== _tabTypes.advancedSearch) {\n <button\n fd-button\n data-succes\n [disabled]=\"loadingState\"\n [label]=\"'platformVHD.successButtonLabel' | fdTranslate\"\n fdType=\"emphasized\"\n (click)=\"success()\"\n ></button>\n }\n <button\n fd-button\n data-dismiss-dialog\n [label]=\"'platformVHD.cancelButtonLabel' | fdTranslate\"\n fdType=\"transparent\"\n (click)=\"dismiss()\"\n ></button>\n </div>\n </ng-template>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n<ng-template #advancedSearchContent>\n @if (isSelectionTab) {\n <form class=\"fdp-value-help-dialog__row fdp-value-help-dialog__advanced-search\" [id]=\"'advanced-search-' + id\">\n @if (!mobile || (mobile && !isOpenAdvanced)) {\n <fd-layout-grid>\n <div fdLayoutGridRow>\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"12\" [colLg]=\"mobile ? 12 : 6\" [colXl]=\"mobile ? 12 : 6\">\n <fdp-search-field\n [placeholder]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n (searchSubmit)=\"search()\"\n (inputChange)=\"_mainSearch = $event.text\"\n ></fdp-search-field>\n </div>\n @if (_hasAdvanced) {\n <div\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"12\"\n [colLg]=\"mobile ? 12 : 6\"\n [colXl]=\"mobile ? 12 : 6\"\n class=\"fdp-value-help-dialog__advanced-actions\"\n >\n <fd-toolbar [clearBorder]=\"true\">\n <fd-toolbar-spacer></fd-toolbar-spacer>\n @if (_hasAdvanced) {\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n [label]=\"\n (mobile\n ? 'platformVHD.searchAdvancedSearchLabel'\n : isOpenAdvanced\n ? 'platformVHD.searchHideAdvancedSearchLabel'\n : 'platformVHD.searchShowAdvancedSearchLabel'\n ) | fdTranslate\n \"\n (click)=\"toggleAdvancedSearch()\"\n ></button>\n }\n <button\n fd-toolbar-item\n type=\"submit\"\n fd-button\n fdType=\"emphasized\"\n [label]=\"'platformVHD.searchButtonLabel' | fdTranslate\"\n (click)=\"filter()\"\n ></button>\n </fd-toolbar>\n </div>\n }\n </div>\n </fd-layout-grid>\n }\n @if (isOpenAdvanced && _hasAdvanced) {\n <div [id]=\"'advanced-search-content-' + id\" class=\"fdp-value-help-dialog__advanced-filters\">\n <fd-busy-indicator [loading]=\"loadingState && _firstLoadingDone\" [block]=\"true\">\n @if (_firstLoadingDone) {\n <fd-layout-grid\n [class.fdp-value-help-dialog__with-toggle-all]=\"filters.length > maxShownInitialFilters\"\n >\n <div fdLayoutGridRow>\n @for (\n filter of _displayedFilters | slice: 0 : shownFilterCount + 1;\n track _trackByFilterFn($index, filter)\n ) {\n @if (filter.advanced) {\n <div [fdLayoutGridCol]=\"12\" [colMd]=\"12\" [colLg]=\"6\" [colXl]=\"3\">\n <label\n class=\"fd-form-group__header\"\n fd-form-label\n [for]=\"'input' + filter.key\"\n >{{ filter.label }}:</label\n >\n @if (filter.filterDef) {\n <ng-template\n [ngTemplateOutlet]=\"filter.filterDef.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: filter }\"\n ></ng-template>\n } @else {\n <input\n [(ngModel)]=\"filter.value\"\n fd-form-control\n type=\"text\"\n [name]=\"'search-by-' + filter.label\"\n [id]=\"'input' + filter.key\"\n />\n }\n </div>\n }\n }\n @if (filters.length > maxShownInitialFilters) {\n <div\n colGrow\n [fdLayoutGridCol]=\"12\"\n [colMd]=\"12\"\n [colLg]=\"6\"\n [colXl]=\"3\"\n class=\"fdp-value-help-dialog__toggle-filters\"\n >\n <button\n fd-button\n fdType=\"transparent\"\n (click)=\"toggleShownFilters()\"\n [label]=\"\n (isShowAllFilters\n ? 'platformVHD.searchHideAllAdvancedSearchLabel'\n : 'platformVHD.searchShowAllAdvancedSearchLabel'\n ) | fdTranslate\n \"\n ></button>\n </div>\n }\n </div>\n </fd-layout-grid>\n } @else {\n <fd-skeleton width=\"100%\" height=\"100px\">\n <svg:rect x=\"0\" y=\"0\" rx=\"4\" width=\"15%\" height=\"8\" />\n <svg:rect x=\"0\" y=\"20\" rx=\"4\" width=\"25%\" height=\"16\" />\n <svg:rect x=\"35%\" y=\"0\" rx=\"4\" width=\"15%\" height=\"8\" />\n <svg:rect x=\"35%\" y=\"20\" rx=\"4\" width=\"25%\" height=\"16\" />\n <svg:rect x=\"0\" y=\"60\" rx=\"4\" width=\"15%\" height=\"8\" />\n <svg:rect x=\"0\" y=\"80\" rx=\"4\" width=\"25%\" height=\"16\" />\n </fd-skeleton>\n }\n </fd-busy-indicator>\n </div>\n }\n </form>\n }\n</ng-template>\n<ng-template #selectionContent>\n <fd-busy-indicator\n [loading]=\"loadingState && _firstLoadingDone\"\n [block]=\"true\"\n class=\"fdp-value-help-dialog__table-busy-indicator\"\n >\n <fdp-select-tab\n [selected]=\"selectedItems\"\n [loading]=\"loadingState && !_firstLoadingDone\"\n [uid]=\"id\"\n [displayedData]=\"_displayedData\"\n [tabTitle]=\"'platformVHD.selectTabTitle' | fdTranslate\"\n [mobile]=\"mobile\"\n [selection]=\"searchSelection\"\n [uniqueKey]=\"uniqueKey\"\n [pageSize]=\"searchTablePageSize\"\n [defaultMobileHeaders]=\"searchTableMobileHeaders\"\n [filters]=\"_displayedFilters\"\n [allowSelectAll]=\"allowSelectAll\"\n (select)=\"onSelect($event)\"\n ></fdp-select-tab>\n </fd-busy-indicator>\n</ng-template>\n<ng-template #defineConditionsContent>\n <div fd-scrollbar>\n <fdp-define-tab\n [strategyLabels]=\"defineStrategyLabels\"\n [conditions]=\"conditionItems\"\n [uid]=\"id\"\n [tabTitle]=\"'platformVHD.defineTabTitle' | fdTranslate\"\n [mobile]=\"mobile\"\n (conditionChange)=\"onConditionChange($event)\"\n ></fdp-define-tab>\n </div>\n</ng-template>\n<ng-template #dialogTitleText>\n <h5 [attr.id]=\"headerId\" fd-title>{{ dialogTitle }}</h5>\n</ng-template>\n<ng-template #tabLink let-title=\"title\" let-type=\"type\">\n @if (selectedTab === type && showSelectionTab && showDefineTab) {\n <button\n fd-button\n glyph=\"navigation-left-arrow\"\n fdType=\"transparent\"\n (click)=\"switchTab()\"\n [title]=\"'platformVHD.selectMobileTabBackBtnTitle' | fdTranslate\"\n ></button>\n <h5 fd-title>{{ title }}</h5>\n }\n @if (selectedTab !== type) {\n <a\n fd-list-link\n (click)=\"switchTab(type)\"\n [title]=\"'platformVHD.selectMobileTabBtnOpenDialogLabel' | fdTranslate\"\n >\n <span fd-list-title>{{ title }}</span>\n <i fd-list-icon glyph=\"navigation-right-arrow\"></i>\n </a>\n }\n</ng-template>\n<ng-template #advancedHeader>\n <button fd-button glyph=\"navigation-left-arrow\" fdType=\"transparent\" (click)=\"toggleAdvancedSearch()\"></button>\n <h5 fd-title>{{ 'platformVHD.searchAdvancedSearchLabel' | fdTranslate }}</h5>\n</ng-template>\n<ng-template #desktopDialogTitle>\n <ng-template [ngTemplateOutlet]=\"dialogTitleText\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"desktopTabs\"></ng-template>\n</ng-template>\n<ng-template #mobileDialogTitle>\n <div class=\"fdp-value-help-dialog__mobile-title\">\n @if (hasSelectedTab) {\n <ng-template [ngTemplateOutlet]=\"selectedTabHeader\"></ng-template>\n } @else {\n <h5 [attr.id]=\"headerId\" fd-title>{{ dialogTitle }}</h5>\n }\n </div>\n <ng-template [ngTemplateOutlet]=\"mobileTabs\"></ng-template>\n</ng-template>\n<ng-template #desktopTabs>\n @if (showSelectionTab && showDefineTab) {\n <nav fd-tab-nav class=\"fdp-value-help-dialog__tabs\">\n @if (showSelectionTab) {\n <div fd-tab-item (click)=\"switchTab(_tabTypes.selectFromList)\">\n <a\n fd-tab-link\n [active]=\"selectedTab === _tabTypes.selectFromList\"\n [tabindex]=\"selectedTab === _tabTypes.selectFromList ? '0' : '-1'\"\n ><span fd-tab-tag>{{ 'platformVHD.selectTabTitle' | fdTranslate }}</span></a\n >\n </div>\n }\n @if (showDefineTab) {\n <div fd-tab-item (click)=\"switchTab(_tabTypes.defineConditions)\">\n <a\n fd-tab-link\n [active]=\"selectedTab === _tabTypes.defineConditions\"\n [tabindex]=\"selectedTab === _tabTypes.defineConditions ? '0' : '-1'\"\n ><span fd-tab-tag>{{ 'platformVHD.defineTabTitle' | fdTranslate }}</span></a\n >\n </div>\n }\n </nav>\n }\n</ng-template>\n<ng-template #mobileTabs>\n @if (!hasSelectedTab && showSelectionTab && showDefineTab) {\n <div>\n @if (showSelectionTab) {\n <div fd-bar [inPage]=\"true\">\n <div fd-bar-left>\n <fd-bar-element>\n {{ 'platformVHD.selectTabTitle' | fdTranslate }}\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fd-button-bar\n glyph=\"navigation-right-arrow\"\n (click)=\"switchTab(_tabTypes.selectFromList)\"\n [title]=\"\n 'platformVHD.selectMobileTabTitle'\n | fdTranslate: { title: 'platformVHD.selectTabTitle' | fdTranslate }\n \"\n ></fd-button-bar>\n </fd-bar-element>\n </div>\n </div>\n }\n @if (showDefineTab) {\n <div fd-bar [inPage]=\"true\">\n <div fd-bar-left>\n <fd-bar-element>\n {{ 'platformVHD.defineTabTitle' | fdTranslate }}\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fd-button-bar\n glyph=\"navigation-right-arrow\"\n [title]=\"\n 'platformVHD.selectMobileTabTitle'\n | fdTranslate: { title: 'platformVHD.defineTabTitle' | fdTranslate }\n \"\n (click)=\"switchTab(_tabTypes.defineConditions)\"\n >\n </fd-button-bar>\n </fd-bar-element>\n </div>\n </div>\n }\n </div>\n }\n</ng-template>\n<ng-template #selectedTabHeader>\n @switch (selectedTab) {\n @case (_tabTypes.selectFromList) {\n <ng-template\n [ngTemplateOutlet]=\"tabLink\"\n [ngTemplateOutletContext]=\"{\n title: 'platformVHD.selectTabTitle' | fdTranslate,\n type: selectedTab\n }\"\n ></ng-template>\n }\n @case (_tabTypes.advancedSearch) {\n <ng-template [ngTemplateOutlet]=\"advancedHeader\"></ng-template>\n }\n @case (_tabTypes.defineConditions) {\n <ng-template\n [ngTemplateOutlet]=\"tabLink\"\n [ngTemplateOutletContext]=\"{\n title: 'platformVHD.defineTabTitle' | fdTranslate,\n type: selectedTab\n }\"\n ></ng-template>\n }\n }\n</ng-template>\n<ng-template #conditionValue let-item=\"item\">\n @if (item.strategy !== 'empty' && item.strategy !== 'not_empty') {\n <span>\n {{ item | displayFnPipe: conditionDisplayFn : _displayedFilters }}\n </span>\n } @else {\n @if (item.strategy === 'not_empty') {\n !(<ng-template [ngTemplateOutlet]=\"emptyConditionText\"></ng-template>)\n } @else {\n &lt;{{ 'platformVHD.selectMobileConditionEmpty' | fdTranslate }}&gt;\n }\n }\n</ng-template>\n<ng-template #emptyConditionText> &lt;{{ 'platformVHD.selectMobileConditionEmpty' | fdTranslate }}&gt; </ng-template>\n", styles: [".fdp-value-help-dialog .fd-dialog__body{display:flex;flex-direction:column;overflow:hidden}.fdp-value-help-dialog .fd-title--h5{padding:.5rem 0}.fdp-value-help-dialog .fd-toolbar{background:none;border:none;padding:.1735rem .5rem;height:auto;min-height:1.625rem}.fdp-value-help-dialog__row.fdp-value-help-dialog__advanced-search{padding-top:1rem}.fdp-value-help-dialog__advanced-search,.fdp-value-help-dialog .fd-dialog__body{background-color:var(--sapBackgroundColor, #f7f7f7)}.fdp-value-help-dialog__advanced-filters{padding-top:1rem}.fdp-value-help-dialog__advanced-filters label{height:auto}.fdp-value-help-dialog__toggle-filters{display:flex;justify-content:flex-end;align-items:flex-end}.fdp-value-help-dialog__toggle-filters .fd-button{margin-bottom:.25rem}.fdp-value-help-dialog__advanced-actions{display:flex;align-items:center;justify-content:flex-end}.fdp-value-help-dialog-mobile .fdp-value-help-dialog__advanced-actions{justify-content:flex-start}.fdp-value-help-dialog__advanced-actions .fd-toolbar{padding:0}.fdp-value-help-dialog .fd-bar.fd-bar--cozy{height:auto}.fdp-value-help-dialog .fd-dialog__header{box-shadow:none}.fdp-value-help-dialog .fd-dialog__header .fd-title{display:flex;align-items:center;padding-left:2rem;padding-right:2rem;min-height:2.5rem;box-shadow:none;border-bottom:none;background-color:var(--sapObjectHeader_Background, #fff);position:relative;z-index:2}.fdp-value-help-dialog .fd-dialog__header .fdp-value-help-dialog__mobile-title{display:flex;border-bottom:1px solid #d9d9d9;border-bottom:1px solid var(--sapGroup_TitleBorderColor, #d9d9d9)}.fdp-value-help-dialog .fd-dialog__header .fdp-value-help-dialog__mobile-title .fd-title{flex:1 1 auto;border:none}.fdp-value-help-dialog .fd-dialog__header .fdp-value-help-dialog__tabs{position:relative}.fdp-value-help-dialog .fd-dialog__header,.fdp-value-help-dialog .fd-dialog__footer{height:auto;flex-direction:column}.fdp-value-help-dialog .fd-dialog__header.fd-bar,.fdp-value-help-dialog .fd-dialog__footer.fd-bar{padding:0}.fdp-value-help-dialog .fd-dialog__footer{border-top:none}.fdp-value-help-dialog__content-holder{padding:0 2rem 1rem;display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden;min-height:20rem}.fdp-value-help-dialog__row{padding:0 2rem 1rem}.fdp-value-help-dialog__row.fdp-value-help-dialog__selection-row{background-color:var(--sapBackgroundColor, #f7f7f7)}.fdp-value-help-dialog__tokens-wrapper{display:flex}.fdp-value-help-dialog__tokens{flex:1 1 auto;overflow:hidden;align-items:center;border:1px solid var(--sapContent_ForegroundBorderColor, #89919a);margin-right:.5rem;border-radius:var(--sapElement_BorderCornerRadius, .25rem);background:none}.fdp-value-help-dialog__tokens fd-toolbar{flex:1 1 auto;overflow:hidden}.fdp-value-help-dialog__tokens-clear{height:auto;min-width:2rem;padding:.125rem 0;justify-content:center}.fdp-value-help-dialog__actions-row{padding:.5rem 1rem;display:flex;align-items:center;justify-content:flex-end;border-top:.0625rem solid #d9d9d9;border-top:.0625rem solid var(--sapPageFooter_BorderColor, #d9d9d9)}.fdp-value-help-dialog__actions-row .fd-button{margin-left:.5rem}.fdp-value-help-dialog .fdp-value-help-dialog__hidden_label{display:none!important}.fdp-value-help-dialog__table-busy-indicator{height:100%}\n"] }]
1303
1387
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.DialogService }, { type: i2.RtlService, decorators: [{
1304
1388
  type: Optional
1305
1389
  }] }], propDecorators: { id: [{
@@ -1332,6 +1416,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
1332
1416
  type: Input
1333
1417
  }], conditionDisplayFn: [{
1334
1418
  type: Input
1419
+ }], tokenValidator: [{
1420
+ type: Input
1335
1421
  }], searchSelection: [{
1336
1422
  type: Input
1337
1423
  }], searchTablePageSize: [{
@@ -1342,6 +1428,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
1342
1428
  type: Input
1343
1429
  }], loading: [{
1344
1430
  type: Input
1431
+ }], allowSelectAll: [{
1432
+ type: Input
1345
1433
  }], defineStrategyLabels: [{
1346
1434
  type: Input
1347
1435
  }], valueChange: [{
@@ -1353,6 +1441,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
1353
1441
  }], filters: [{
1354
1442
  type: ContentChildren,
1355
1443
  args: [VhdFilterComponent]
1444
+ }], columnDef: [{
1445
+ type: ContentChildren,
1446
+ args: [ValueHelpColumnDefDirective]
1356
1447
  }], dialogContainer: [{
1357
1448
  type: ViewChild,
1358
1449
  args: ['container', { read: TemplateRef }]
@@ -1360,11 +1451,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
1360
1451
 
1361
1452
  const components = [PlatformValueHelpDialogComponent, VhdFilterComponent, ContentDensityModule];
1362
1453
  class PlatformValueHelpDialogModule {
1363
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: PlatformValueHelpDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1364
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: PlatformValueHelpDialogModule, imports: [PlatformValueHelpDialogComponent, VhdFilterComponent, ContentDensityModule], exports: [PlatformValueHelpDialogComponent, VhdFilterComponent, ContentDensityModule] }); }
1365
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: PlatformValueHelpDialogModule, imports: [PlatformValueHelpDialogComponent, ContentDensityModule, ContentDensityModule] }); }
1454
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PlatformValueHelpDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1455
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: PlatformValueHelpDialogModule, imports: [PlatformValueHelpDialogComponent, VhdFilterComponent, ContentDensityModule], exports: [PlatformValueHelpDialogComponent, VhdFilterComponent, ContentDensityModule] }); }
1456
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PlatformValueHelpDialogModule, imports: [PlatformValueHelpDialogComponent, ContentDensityModule, ContentDensityModule] }); }
1366
1457
  }
1367
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: PlatformValueHelpDialogModule, decorators: [{
1458
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: PlatformValueHelpDialogModule, decorators: [{
1368
1459
  type: NgModule,
1369
1460
  args: [{
1370
1461
  imports: [...components],
@@ -1376,5 +1467,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
1376
1467
  * Generated bundle index. Do not edit.
1377
1468
  */
1378
1469
 
1379
- export { ArrayValueHelpDialogDataSource, BaseEntity, ConditionCountMessageDirective, DefineTabComponent, MAX_CHARACTER_HINT_COUNT, ObservableValueHelpDialogDataSource, PlatformValueHelpDialogComponent, PlatformValueHelpDialogModule, SelectTabComponent, ValueHelpDialogDataSource, VhdBaseTab, VhdDataProvider, VhdDefineExcludeStrategy, VhdDefineIncludeStrategy, VhdDefineType, VhdExcludedEntity, VhdFilterComponent, VhdIncludedEntity, VhdTab, defaultConditionDisplayFn };
1470
+ export { ArrayValueHelpDialogDataSource, BaseEntity, ConditionCountMessageDirective, DefineTabComponent, MAX_CHARACTER_HINT_COUNT, ObservableValueHelpDialogDataSource, PlatformValueHelpDialogComponent, PlatformValueHelpDialogModule, SelectTabComponent, ValueHelpColumnDefDirective, ValueHelpDialogDataSource, ValueHelpFilterDefDirective, VhdBaseTab, VhdDataProvider, VhdDefineExcludeStrategy, VhdDefineIncludeStrategy, VhdDefineType, VhdExcludedEntity, VhdFilterComponent, VhdIncludedEntity, VhdTab, defaultConditionDisplayFn };
1380
1471
  //# sourceMappingURL=fundamental-ngx-platform-value-help-dialog.mjs.map