barsa-sap-ui 2.2.2 → 2.2.3

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 (241) hide show
  1. package/esm2022/barsa-sap-ui.mjs +5 -0
  2. package/esm2022/lib/apply-conditional-formmatings.directive.mjs +90 -0
  3. package/esm2022/lib/avatar-size.pipe.mjs +41 -0
  4. package/esm2022/lib/barsa-answer-card/barsa-answer-card.component.mjs +41 -0
  5. package/esm2022/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +145 -0
  6. package/esm2022/lib/barsa-bar-download-file/barsa-bar-download-file.component.mjs +23 -0
  7. package/esm2022/lib/barsa-bar-panel/barsa-bar-panel.component.mjs +23 -0
  8. package/esm2022/lib/barsa-base-panel/barsa-base-layout-panel.component.mjs +29 -0
  9. package/esm2022/lib/barsa-breadcrumbs/barsa-breadcrumbs.component.mjs +24 -0
  10. package/esm2022/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +24 -0
  11. package/esm2022/lib/barsa-card-row-payam/barsa-card-row-payam.component.mjs +31 -0
  12. package/esm2022/lib/barsa-cartable-form/barsa-cartable-form.component.mjs +41 -0
  13. package/esm2022/lib/barsa-cartable-template/barsa-cartable-template.component.mjs +24 -0
  14. package/esm2022/lib/barsa-chat/barsa-chat.component.mjs +242 -0
  15. package/esm2022/lib/barsa-chat/chat.model.mjs +8 -0
  16. package/esm2022/lib/barsa-chat-content/barsa-chat-content.component.mjs +13 -0
  17. package/esm2022/lib/barsa-chat-content-toolbar/barsa-chat-content-toolbar.component.mjs +22 -0
  18. package/esm2022/lib/barsa-chat-list/barsa-chat-list.component.mjs +66 -0
  19. package/esm2022/lib/barsa-chat-message/barsa-chat-message.component.mjs +78 -0
  20. package/esm2022/lib/barsa-chat-thread/barsa-chat-thread.component.mjs +22 -0
  21. package/esm2022/lib/barsa-chat-threads-list/barsa-chat-threads-list.component.mjs +13 -0
  22. package/esm2022/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.mjs +15 -0
  23. package/esm2022/lib/barsa-chip/barsa-chip.component.mjs +72 -0
  24. package/esm2022/lib/barsa-column-indicator/barsa-column-indicator.component.mjs +23 -0
  25. package/esm2022/lib/barsa-column-rownumber/barsa-column-rownumber.component.mjs +14 -0
  26. package/esm2022/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.mjs +14 -0
  27. package/esm2022/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.mjs +26 -0
  28. package/esm2022/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +71 -0
  29. package/esm2022/lib/barsa-dynamic-field/barsa-dynamic-field.component.mjs +40 -0
  30. package/esm2022/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.mjs +61 -0
  31. package/esm2022/lib/barsa-field-key-value/barsa-field-key-value.component.mjs +45 -0
  32. package/esm2022/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +58 -0
  33. package/esm2022/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.mjs +27 -0
  34. package/esm2022/lib/barsa-group-cartable/barsa-cartable-group.component.mjs +94 -0
  35. package/esm2022/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.mjs +22 -0
  36. package/esm2022/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.mjs +37 -0
  37. package/esm2022/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +41 -0
  38. package/esm2022/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +29 -0
  39. package/esm2022/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.mjs +23 -0
  40. package/esm2022/lib/barsa-modal/barsa-modal.component.mjs +43 -0
  41. package/esm2022/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +83 -0
  42. package/esm2022/lib/barsa-network-offline/barsa-network-offline.component.mjs +57 -0
  43. package/esm2022/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.mjs +159 -0
  44. package/esm2022/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.mjs +17 -0
  45. package/esm2022/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.mjs +30 -0
  46. package/esm2022/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.mjs +14 -0
  47. package/esm2022/lib/barsa-question-answer-form/barsa-question-answer-form.component.mjs +34 -0
  48. package/esm2022/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.mjs +46 -0
  49. package/esm2022/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.mjs +79 -0
  50. package/esm2022/lib/barsa-question-post/barsa-question-post.component.mjs +30 -0
  51. package/esm2022/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.mjs +31 -0
  52. package/esm2022/lib/barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component.mjs +28 -0
  53. package/esm2022/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +102 -0
  54. package/esm2022/lib/barsa-row-inline-actionlist/barsa-row-inline-actionlist.component.mjs +26 -0
  55. package/esm2022/lib/barsa-sap-ui-routing.module.mjs +18 -0
  56. package/esm2022/lib/barsa-sap-ui.module.mjs +377 -0
  57. package/esm2022/lib/barsa-search-form/barsa-search-form.component.mjs +29 -0
  58. package/esm2022/lib/barsa-simple-form/barsa-simple-form.component.mjs +170 -0
  59. package/esm2022/lib/barsa-tab-route-manager/barsa-tab-route-manager.component.mjs +18 -0
  60. package/esm2022/lib/barsa-table-column/barsa-table-column.component.mjs +29 -0
  61. package/esm2022/lib/barsa-table-header/barsa-table-header.component.mjs +222 -0
  62. package/esm2022/lib/barsa-table-row/barsa-table-row.component.mjs +87 -0
  63. package/esm2022/lib/barsa-tag-categories/barsa-tag-categories.component.mjs +60 -0
  64. package/esm2022/lib/barsa-tag-chip/barsa-tag-chip.component.mjs +26 -0
  65. package/esm2022/lib/barsa-tags-category-row/barsa-tags-category-row.component.mjs +23 -0
  66. package/esm2022/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.mjs +37 -0
  67. package/esm2022/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +418 -0
  68. package/esm2022/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.mjs +36 -0
  69. package/esm2022/lib/barsa-tree-item/barsa-tree-item.component.mjs +153 -0
  70. package/esm2022/lib/barsa-tree-item/node-has-one-depth-level.pipe.mjs +20 -0
  71. package/esm2022/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +216 -0
  72. package/esm2022/lib/blob-viewer/blob-viewer.component.mjs +74 -0
  73. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +50 -0
  74. package/esm2022/lib/captcha-field/captcha-field.component.mjs +28 -0
  75. package/esm2022/lib/card-item/card-item.component.mjs +74 -0
  76. package/esm2022/lib/card-view-content/card-view-content.component.mjs +46 -0
  77. package/esm2022/lib/col-renderer.directive.mjs +47 -0
  78. package/esm2022/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +56 -0
  79. package/esm2022/lib/column-matrix-renderer/matrix-value.pipe.mjs +61 -0
  80. package/esm2022/lib/column-renderer/column-renderer.component.mjs +97 -0
  81. package/esm2022/lib/constants.mjs +450 -0
  82. package/esm2022/lib/custom-date-time/custom-date-time.component.mjs +41 -0
  83. package/esm2022/lib/device-info-field-base.mjs +24 -0
  84. package/esm2022/lib/dialog-handler.directive.mjs +29 -0
  85. package/esm2022/lib/download-files.directive.mjs +34 -0
  86. package/esm2022/lib/dynamic-page-size.pipe.mjs +27 -0
  87. package/esm2022/lib/file-in-dialog/file-in-dialog.component.mjs +44 -0
  88. package/esm2022/lib/file-viewer/file-viewer.component.mjs +47 -0
  89. package/esm2022/lib/file-viewer-content/file-viewer-content.component.mjs +71 -0
  90. package/esm2022/lib/file-viewer-popover/file-viewer-popover.component.mjs +37 -0
  91. package/esm2022/lib/form-dialog/form-dialog.component.mjs +171 -0
  92. package/esm2022/lib/form-dialog-less/form-dialog-less.component.mjs +50 -0
  93. package/esm2022/lib/form-toolbar/form-toolbar.component.mjs +62 -0
  94. package/esm2022/lib/form-toolbar-button/form-toolbar-button.component.mjs +45 -0
  95. package/esm2022/lib/form-wizard/form-wizard.component.mjs +21 -0
  96. package/esm2022/lib/fullscreen-dialog.directive.mjs +60 -0
  97. package/esm2022/lib/fullscreen-files.directive.mjs +43 -0
  98. package/esm2022/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +217 -0
  99. package/esm2022/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +215 -0
  100. package/esm2022/lib/global-search/global-search.component.mjs +27 -0
  101. package/esm2022/lib/global-search-module/global-search-module.component.mjs +29 -0
  102. package/esm2022/lib/global-search-panel/global-search-panel.component.mjs +25 -0
  103. package/esm2022/lib/header-avatar/header-avatar.component.mjs +18 -0
  104. package/esm2022/lib/htree-create-new/htree-create-new.component.mjs +48 -0
  105. package/esm2022/lib/hyperlink/hyperlink.component.mjs +23 -0
  106. package/esm2022/lib/index.mjs +549 -0
  107. package/esm2022/lib/inline-save-and-cancel/inline-save-and-cancel.component.mjs +32 -0
  108. package/esm2022/lib/layout-actions/layout-actions.component.mjs +70 -0
  109. package/esm2022/lib/layout-control/layout-control.component.mjs +302 -0
  110. package/esm2022/lib/layout-wizard/layout-wizard.component.mjs +180 -0
  111. package/esm2022/lib/list-item/list-item.component.mjs +34 -0
  112. package/esm2022/lib/ly-empty-space/ly-empty-space.component.mjs +42 -0
  113. package/esm2022/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +82 -0
  114. package/esm2022/lib/ly-label/ly-label.component.mjs +37 -0
  115. package/esm2022/lib/ly-layout-container/ly-layout-container.component.mjs +83 -0
  116. package/esm2022/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +17 -0
  117. package/esm2022/lib/ly-layout-field-label/ly-layout-field-label.component.mjs +24 -0
  118. package/esm2022/lib/ly-layout-panel/ly-layout-panel.component.mjs +83 -0
  119. package/esm2022/lib/ly-line/ly-line.component.mjs +56 -0
  120. package/esm2022/lib/ly-simple-label/ly-simple-label.component.mjs +22 -0
  121. package/esm2022/lib/ly-tab-container/ly-tab-container.component.mjs +44 -0
  122. package/esm2022/lib/ly-tab-page/ly-tab-page.component.mjs +44 -0
  123. package/esm2022/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +51 -0
  124. package/esm2022/lib/manage-filters-report/manage-filters-report.component.mjs +43 -0
  125. package/esm2022/lib/mask/mask.component.mjs +22 -0
  126. package/esm2022/lib/message-strip/message-strip.component.mjs +28 -0
  127. package/esm2022/lib/models/grid-data-provider.mjs +114 -0
  128. package/esm2022/lib/models/grid-view.mjs +2 -0
  129. package/esm2022/lib/models/index.mjs +2 -0
  130. package/esm2022/lib/no-data/no-data.component.mjs +31 -0
  131. package/esm2022/lib/notification-item/notification-item.component.mjs +57 -0
  132. package/esm2022/lib/notification-item-actions/notification-item-actions.component.mjs +79 -0
  133. package/esm2022/lib/notification-popup.service.mjs +92 -0
  134. package/esm2022/lib/object-status-icon.pipe.mjs +27 -0
  135. package/esm2022/lib/progress-indicator/progress-indicator.component.mjs +18 -0
  136. package/esm2022/lib/report-navigator/report-navigator.component.mjs +68 -0
  137. package/esm2022/lib/report-new-top-form/report-new-top-form.component.mjs +60 -0
  138. package/esm2022/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +35 -0
  139. package/esm2022/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +97 -0
  140. package/esm2022/lib/report-search-panel-save/report-search-panel-save.component.mjs +88 -0
  141. package/esm2022/lib/report-tree-base.mjs +387 -0
  142. package/esm2022/lib/report-view-renderer.directive.mjs +392 -0
  143. package/esm2022/lib/responsive-toolbar/responsive-toolbar.component.mjs +50 -0
  144. package/esm2022/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +84 -0
  145. package/esm2022/lib/rich-text-static/rich-text-static.component.mjs +72 -0
  146. package/esm2022/lib/sap-font-class.pipe.mjs +30 -0
  147. package/esm2022/lib/sap-font.pipe.mjs +30 -0
  148. package/esm2022/lib/sap-size.pipe.mjs +28 -0
  149. package/esm2022/lib/sap-ui-report-base.component.mjs +809 -0
  150. package/esm2022/lib/search-panel/search-panel.component.mjs +63 -0
  151. package/esm2022/lib/static-text/static-text.component.mjs +15 -0
  152. package/esm2022/lib/table-th.directive.mjs +87 -0
  153. package/esm2022/lib/title/title.component.mjs +15 -0
  154. package/esm2022/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.mjs +34 -0
  155. package/esm2022/lib/ui-bpmn-viewer/ui-bpmn-viewer.component.mjs +33 -0
  156. package/esm2022/lib/ui-button/ui-button.component.mjs +32 -0
  157. package/esm2022/lib/ui-calendar/ui-calendar.component.mjs +53 -0
  158. package/esm2022/lib/ui-card-view/ui-card-view.component.mjs +58 -0
  159. package/esm2022/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +42 -0
  160. package/esm2022/lib/ui-check-box/ui-check-box.component.mjs +39 -0
  161. package/esm2022/lib/ui-color-ui/ui-color-ui.component.mjs +50 -0
  162. package/esm2022/lib/ui-container-with-button/ui-container-with-button.component.mjs +38 -0
  163. package/esm2022/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +191 -0
  164. package/esm2022/lib/ui-date-time/ui-date-time.component.mjs +150 -0
  165. package/esm2022/lib/ui-editable-grid/ui-editable-grid.component.mjs +108 -0
  166. package/esm2022/lib/ui-exception-form/ui-exception-form.component.mjs +53 -0
  167. package/esm2022/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +124 -0
  168. package/esm2022/lib/ui-form-panel/ui-form-panel.component.mjs +103 -0
  169. package/esm2022/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +32 -0
  170. package/esm2022/lib/ui-graph/ui-graph.component.mjs +17 -0
  171. package/esm2022/lib/ui-grid/ui-grid.component.mjs +25 -0
  172. package/esm2022/lib/ui-grid-columns/ui-grid-columns.component.mjs +43 -0
  173. package/esm2022/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +66 -0
  174. package/esm2022/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +75 -0
  175. package/esm2022/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +58 -0
  176. package/esm2022/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +123 -0
  177. package/esm2022/lib/ui-html-viewer/ui-html-viewer.component.mjs +16 -0
  178. package/esm2022/lib/ui-info-bar-panel/ui-info-bar-panel.component.mjs +11 -0
  179. package/esm2022/lib/ui-label/ui-label.component.mjs +12 -0
  180. package/esm2022/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +379 -0
  181. package/esm2022/lib/ui-list-view/ui-list-view.component.mjs +84 -0
  182. package/esm2022/lib/ui-map/ui-map.component.mjs +68 -0
  183. package/esm2022/lib/ui-matrix-view/ui-matrix-view.component.mjs +124 -0
  184. package/esm2022/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +19 -0
  185. package/esm2022/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.mjs +14 -0
  186. package/esm2022/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +55 -0
  187. package/esm2022/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +429 -0
  188. package/esm2022/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +28 -0
  189. package/esm2022/lib/ui-multi-select-card/ui-multi-select-card.component.mjs +37 -0
  190. package/esm2022/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.mjs +59 -0
  191. package/esm2022/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +93 -0
  192. package/esm2022/lib/ui-multi-select-radio/ui-multi-select-radio.component.mjs +36 -0
  193. package/esm2022/lib/ui-multi-select-slider/ui-multi-select-slider.component.mjs +56 -0
  194. package/esm2022/lib/ui-multi-select-smile/ui-multi-select-smile.component.mjs +28 -0
  195. package/esm2022/lib/ui-notification-view/ui-notification-view.component.mjs +47 -0
  196. package/esm2022/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +33 -0
  197. package/esm2022/lib/ui-num-int-slider/ui-num-int-slider.component.mjs +27 -0
  198. package/esm2022/lib/ui-num-int-ui/ui-num-int-ui.component.mjs +21 -0
  199. package/esm2022/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +268 -0
  200. package/esm2022/lib/ui-picture-file/ui-picture-file.component.mjs +101 -0
  201. package/esm2022/lib/ui-pictures-info/ui-pictures-info.component.mjs +261 -0
  202. package/esm2022/lib/ui-radio-group/ui-radio-group.component.mjs +48 -0
  203. package/esm2022/lib/ui-read-only-field/ui-read-only-field.component.mjs +36 -0
  204. package/esm2022/lib/ui-report-container/ui-report-container.component.mjs +46 -0
  205. package/esm2022/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.mjs +24 -0
  206. package/esm2022/lib/ui-simple-combo/ui-simple-combo.component.mjs +55 -0
  207. package/esm2022/lib/ui-single-picture/ui-single-picture.component.mjs +36 -0
  208. package/esm2022/lib/ui-switch-button/ui-switch-button.component.mjs +20 -0
  209. package/esm2022/lib/ui-table-view/ui-table-view.component.mjs +296 -0
  210. package/esm2022/lib/ui-text-area/ui-text-area.component.mjs +49 -0
  211. package/esm2022/lib/ui-text-field/ui-text-field.component.mjs +52 -0
  212. package/esm2022/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.mjs +48 -0
  213. package/esm2022/lib/ui-time-span/ui-time-span.component.mjs +24 -0
  214. package/esm2022/lib/ui-tinymce/ui-tinymce.component.mjs +53 -0
  215. package/esm2022/lib/ui-tree/ui-tree.component.mjs +114 -0
  216. package/esm2022/lib/ui-tree-view/ui-tree-view.component.mjs +100 -0
  217. package/esm2022/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +23 -0
  218. package/esm2022/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +310 -0
  219. package/esm2022/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +25 -0
  220. package/esm2022/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +93 -0
  221. package/esm2022/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +119 -0
  222. package/esm2022/lib/ul-notify-popup/ul-notify-popup.component.mjs +32 -0
  223. package/esm2022/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +48 -0
  224. package/esm2022/lib/ulv-column-settings/ulv-column-settings.component.mjs +53 -0
  225. package/esm2022/lib/ulv-context-menu/ulv-context-menu.component.mjs +116 -0
  226. package/esm2022/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +43 -0
  227. package/esm2022/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +196 -0
  228. package/esm2022/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +44 -0
  229. package/esm2022/lib/ulv-paging/ulv-paging.component.mjs +84 -0
  230. package/esm2022/lib/ulv-selection/ulv-selection.component.mjs +65 -0
  231. package/esm2022/lib/ulv-settings/ulv-settings.component.mjs +116 -0
  232. package/esm2022/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +54 -0
  233. package/esm2022/lib/ulv-toolbar/ulv-toolbar.component.mjs +177 -0
  234. package/esm2022/lib/upload-file-status.pipe.mjs +29 -0
  235. package/esm2022/lib/util-chat-time-badge.pipe.mjs +18 -0
  236. package/esm2022/lib/util-date-to-hh-mm.pipe.mjs +23 -0
  237. package/esm2022/lib/wizard-layout.directive.mjs +104 -0
  238. package/esm2022/public-api.mjs +236 -0
  239. package/fesm2022/barsa-sap-ui.mjs +4 -4
  240. package/fesm2022/barsa-sap-ui.mjs.map +1 -1
  241. package/package.json +3 -1
@@ -0,0 +1,83 @@
1
+ import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewChild, ViewContainerRef } from '@angular/core';
2
+ import { LayoutService, LayoutPanelBaseComponent } from 'barsa-novin-ray-core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "barsa-novin-ray-core";
6
+ export class LyLayoutContainerComponent extends LayoutPanelBaseComponent {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.maxLabelWidth = 0;
10
+ this.visible = true;
11
+ // @HostBinding('class.row-reverse-direction')
12
+ this.rowDirection = false;
13
+ // @HostBinding('class.column-direction')
14
+ this.columnDirection = false;
15
+ /* eslint-disable */
16
+ this.SetVisible = (visible) => {
17
+ // from formpanleui will be set
18
+ this.visible = visible;
19
+ this.display = this.visible ? 'flex' : 'none';
20
+ };
21
+ /* eslint-disable */
22
+ this.SetEnable = (enable) => {
23
+ // from formpanleui will be set
24
+ this.enable = enable;
25
+ };
26
+ /* eslint-disable */
27
+ this.SetReadonly = (readonly) => {
28
+ // from formpanleui will be set
29
+ this.readonly = readonly;
30
+ };
31
+ }
32
+ ngOnInit() {
33
+ super.ngOnInit();
34
+ this._setDisplay();
35
+ this.config.controlUi = this;
36
+ this.visible = this.config.Visible === false ? false : true;
37
+ this.readonly = this.config.Readonly === false ? false : true;
38
+ this.enable = this.config.Enable === false ? false : true;
39
+ this.flex = this.config.Bounds.width;
40
+ this.columnDirection = this.config.IsVertical;
41
+ if (this.isSearchPanel) {
42
+ this.columnDirection = false;
43
+ this.rowDirection = this.isSearchPanel;
44
+ }
45
+ else {
46
+ if (!this.columnDirection) {
47
+ this.rowDirection = true;
48
+ }
49
+ }
50
+ }
51
+ _setDisplay() {
52
+ this.display = this.visible ? 'flex' : 'none';
53
+ }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LyLayoutContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
55
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LyLayoutContainerComponent, selector: "bsu-ly-layout-container", inputs: { renderItems: "renderItems", isRoot: "isRoot", SetVisible: "SetVisible", SetEnable: "SetEnable", SetReadonly: "SetReadonly" }, host: { properties: { "attr.maxLabelWidth": "this.maxLabelWidth", "style.display": "this.display", "style.flex": "this.flex" } }, providers: [LayoutService], viewQueries: [{ propertyName: "viewRef", first: true, predicate: ["viewRefTemplate"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: "@for (item of config | filterToolbarControl; track item) { @switch (item.xtype) { @case ('Ly.LayoutTabPanel') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-tab-container' }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-tab-container [config]=\"item\"></bsu-ly-tab-container> -->\r\n} @case ('Ly.LayoutPanel') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-layout-panel' }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-layout-panel [config]=\"item\"></bsu-ly-layout-panel> -->\r\n} @case ('Ly.LayoutContainer') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n name: 'LyLayoutContainerComponent',\r\n selector: 'bsu-ly-layout-container'\r\n }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-layout-container [config]=\"item\"></bsu-ly-layout-container> -->\r\n} @case ('Ly.EmptySpace') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: { $implicit: item, name: 'LyEmptySpaceComponent', selector: 'bsu-ly-empty-space' }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-empty-space [config]=\"item\"></bsu-ly-empty-space> -->\r\n} @case ('Ly.SimpleLabel') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: { $implicit: item, name: 'LySimpleLabelComponent', selector: 'bsu-ly-simple-label' }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-simple-label [config]=\"item\"></bsu-ly-simple-label> -->\r\n} @case ('Ly.LayoutLine') {\r\n<ng-container\r\n *ngTemplateOutlet=\"dynamicLayout; context: { $implicit: item, name: 'LyLineComponent', selector: 'bsu-ly-line' }\"\r\n></ng-container>\r\n<!-- <bsu-ly-line [isVertical]=\"item.IsVertical\"></bsu-ly-line> -->\r\n} @case ('Ly.LayoutJoin') { @if (item.Type === 'HorizontalJoin') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n selector: 'bsu-ly-horizontal-layout',\r\n name: 'LyLayoutHorizontalComponent'\r\n }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-horizontal-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-horizontal-layout> -->\r\n} @else {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n selector: 'bsu-ly-vertical-layout',\r\n name: 'LyLayoutVerticalComponent'\r\n }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-vertical-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-vertical-layout> -->\r\n} } @case ('Ly.LayoutControl') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n selector: 'bsu-layout-control',\r\n name: 'LayoutControlComponent'\r\n }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-layout-control [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-layout-control> -->\r\n} } }\r\n<ng-template #dynamicLayout let-config let-selector=\"selector\" let-name=\"name\">\r\n <bnrc-dynamic-layout\r\n [config]=\"config\"\r\n [selector]=\"selector\"\r\n [name]=\"name\"\r\n [module]=\"'BarsaSapUi'\"\r\n [moduleFileName]=\"'BarsaSapUi'\"\r\n [maxLabelWidth]=\"(maxLabelWidth$ | async)!!\"\r\n [flex]=\"isSearchPanel ? 'unset' : config.Bounds.width\"\r\n [isSearchPanel]=\"isSearchPanel\"\r\n >\r\n </bnrc-dynamic-layout>\r\n</ng-template>\r\n", styles: [":host{width:100%;display:flex;height:auto;align-items:flex-start}.fd-wizard-example .fd-wizard__content{min-height:300px}.full-width{width:100%}@media (max-width: 600px){:host{align-items:stretch}}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.DynamicLayoutComponent, selector: "bnrc-dynamic-layout", inputs: ["selector", "module", "name", "parameters", "moduleFileName", "flex", "config", "maxLabelWidth", "hasHorizontalText", "isSearchPanel"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.FilterToolbarControlPipe, name: "filterToolbarControl" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LyLayoutContainerComponent, decorators: [{
58
+ type: Component,
59
+ args: [{ selector: 'bsu-ly-layout-container', changeDetection: ChangeDetectionStrategy.OnPush, providers: [LayoutService], standalone: false, template: "@for (item of config | filterToolbarControl; track item) { @switch (item.xtype) { @case ('Ly.LayoutTabPanel') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-tab-container' }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-tab-container [config]=\"item\"></bsu-ly-tab-container> -->\r\n} @case ('Ly.LayoutPanel') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-layout-panel' }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-layout-panel [config]=\"item\"></bsu-ly-layout-panel> -->\r\n} @case ('Ly.LayoutContainer') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n name: 'LyLayoutContainerComponent',\r\n selector: 'bsu-ly-layout-container'\r\n }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-layout-container [config]=\"item\"></bsu-ly-layout-container> -->\r\n} @case ('Ly.EmptySpace') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: { $implicit: item, name: 'LyEmptySpaceComponent', selector: 'bsu-ly-empty-space' }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-empty-space [config]=\"item\"></bsu-ly-empty-space> -->\r\n} @case ('Ly.SimpleLabel') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: { $implicit: item, name: 'LySimpleLabelComponent', selector: 'bsu-ly-simple-label' }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-simple-label [config]=\"item\"></bsu-ly-simple-label> -->\r\n} @case ('Ly.LayoutLine') {\r\n<ng-container\r\n *ngTemplateOutlet=\"dynamicLayout; context: { $implicit: item, name: 'LyLineComponent', selector: 'bsu-ly-line' }\"\r\n></ng-container>\r\n<!-- <bsu-ly-line [isVertical]=\"item.IsVertical\"></bsu-ly-line> -->\r\n} @case ('Ly.LayoutJoin') { @if (item.Type === 'HorizontalJoin') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n selector: 'bsu-ly-horizontal-layout',\r\n name: 'LyLayoutHorizontalComponent'\r\n }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-horizontal-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-horizontal-layout> -->\r\n} @else {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n selector: 'bsu-ly-vertical-layout',\r\n name: 'LyLayoutVerticalComponent'\r\n }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-vertical-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-vertical-layout> -->\r\n} } @case ('Ly.LayoutControl') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n selector: 'bsu-layout-control',\r\n name: 'LayoutControlComponent'\r\n }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-layout-control [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-layout-control> -->\r\n} } }\r\n<ng-template #dynamicLayout let-config let-selector=\"selector\" let-name=\"name\">\r\n <bnrc-dynamic-layout\r\n [config]=\"config\"\r\n [selector]=\"selector\"\r\n [name]=\"name\"\r\n [module]=\"'BarsaSapUi'\"\r\n [moduleFileName]=\"'BarsaSapUi'\"\r\n [maxLabelWidth]=\"(maxLabelWidth$ | async)!!\"\r\n [flex]=\"isSearchPanel ? 'unset' : config.Bounds.width\"\r\n [isSearchPanel]=\"isSearchPanel\"\r\n >\r\n </bnrc-dynamic-layout>\r\n</ng-template>\r\n", styles: [":host{width:100%;display:flex;height:auto;align-items:flex-start}.fd-wizard-example .fd-wizard__content{min-height:300px}.full-width{width:100%}@media (max-width: 600px){:host{align-items:stretch}}\n"] }]
60
+ }], propDecorators: { renderItems: [{
61
+ type: Input
62
+ }], isRoot: [{
63
+ type: Input
64
+ }], maxLabelWidth: [{
65
+ type: HostBinding,
66
+ args: ['attr.maxLabelWidth']
67
+ }], display: [{
68
+ type: HostBinding,
69
+ args: ['style.display']
70
+ }], flex: [{
71
+ type: HostBinding,
72
+ args: ['style.flex']
73
+ }], viewRef: [{
74
+ type: ViewChild,
75
+ args: ['viewRefTemplate', { read: ViewContainerRef, static: true }]
76
+ }], SetVisible: [{
77
+ type: Input
78
+ }], SetEnable: [{
79
+ type: Input
80
+ }], SetReadonly: [{
81
+ type: Input
82
+ }] } });
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHktbGF5b3V0LWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9seS1sYXlvdXQtY29udGFpbmVyL2x5LWxheW91dC1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbHktbGF5b3V0LWNvbnRhaW5lci9seS1sYXlvdXQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEVBR0wsU0FBUyxFQUNULGdCQUFnQixFQUNuQixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsYUFBYSxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFVL0UsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHdCQUF3QjtJQVJ4RTs7UUFXdUMsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFLckQsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLDhDQUE4QztRQUM5QyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQix5Q0FBeUM7UUFDekMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUF3QnhCLG9CQUFvQjtRQUNYLGVBQVUsR0FBRyxDQUFDLE9BQWdCLEVBQUUsRUFBRTtZQUN2QywrQkFBK0I7WUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNsRCxDQUFDLENBQUM7UUFDRixvQkFBb0I7UUFDWCxjQUFTLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUNyQywrQkFBK0I7WUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDekIsQ0FBQyxDQUFDO1FBQ0Ysb0JBQW9CO1FBQ1gsZ0JBQVcsR0FBRyxDQUFDLFFBQWlCLEVBQUUsRUFBRTtZQUN6QywrQkFBK0I7WUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDN0IsQ0FBQyxDQUFDO0tBSUw7SUFyQ0csUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUM1RCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDOUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzFELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDOUMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7WUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQzNDLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDN0IsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBaUJPLFdBQVc7UUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2xELENBQUM7K0dBdERRLDBCQUEwQjttR0FBMUIsMEJBQTBCLDRUQUh4QixDQUFDLGFBQWEsQ0FBQyxpSEFTWSxnQkFBZ0Isa0VDNUIxRCx3ckhBbUdBOzs0RkQ3RWEsMEJBQTBCO2tCQVJ0QyxTQUFTOytCQUNJLHlCQUF5QixtQkFHbEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGFBQWEsQ0FBQyxjQUNkLEtBQUs7OEJBR1IsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQzZCLGFBQWE7c0JBQS9DLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUNILE9BQU87c0JBQXBDLFdBQVc7dUJBQUMsZUFBZTtnQkFDRCxJQUFJO3NCQUE5QixXQUFXO3VCQUFDLFlBQVk7Z0JBQytDLE9BQU87c0JBQTlFLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkErQjdELFVBQVU7c0JBQWxCLEtBQUs7Z0JBTUcsU0FBUztzQkFBakIsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgSG9zdEJpbmRpbmcsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uSW5pdCxcclxuICAgIFRlbXBsYXRlUmVmLFxyXG4gICAgVmlld0NoaWxkLFxyXG4gICAgVmlld0NvbnRhaW5lclJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBMYXlvdXRTZXJ2aWNlLCBMYXlvdXRQYW5lbEJhc2VDb21wb25lbnQgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LWx5LWxheW91dC1jb250YWluZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2x5LWxheW91dC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbHktbGF5b3V0LWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBwcm92aWRlcnM6IFtMYXlvdXRTZXJ2aWNlXSxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMeUxheW91dENvbnRhaW5lckNvbXBvbmVudCBleHRlbmRzIExheW91dFBhbmVsQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSByZW5kZXJJdGVtczogVGVtcGxhdGVSZWY8YW55PjtcclxuICAgIEBJbnB1dCgpIGlzUm9vdDogYm9vbGVhbjtcclxuICAgIEBIb3N0QmluZGluZygnYXR0ci5tYXhMYWJlbFdpZHRoJykgbWF4TGFiZWxXaWR0aCA9IDA7XHJcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmRpc3BsYXknKSBkaXNwbGF5O1xyXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5mbGV4JykgZmxleDtcclxuICAgIEBWaWV3Q2hpbGQoJ3ZpZXdSZWZUZW1wbGF0ZScsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIHZpZXdSZWY6IFZpZXdDb250YWluZXJSZWY7XHJcblxyXG4gICAgdmlzaWJsZSA9IHRydWU7XHJcbiAgICAvLyBASG9zdEJpbmRpbmcoJ2NsYXNzLnJvdy1yZXZlcnNlLWRpcmVjdGlvbicpXHJcbiAgICByb3dEaXJlY3Rpb24gPSBmYWxzZTtcclxuICAgIC8vIEBIb3N0QmluZGluZygnY2xhc3MuY29sdW1uLWRpcmVjdGlvbicpXHJcbiAgICBjb2x1bW5EaXJlY3Rpb24gPSBmYWxzZTtcclxuICAgIHNlbGVjdGVkVGFiSW5kZXg6IGFueTtcclxuICAgIHJvb3RSZW5kZXJlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBlbmFibGU6IGJvb2xlYW47XHJcbiAgICByZWFkb25seTogYm9vbGVhbjtcclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuX3NldERpc3BsYXkoKTtcclxuICAgICAgICB0aGlzLmNvbmZpZy5jb250cm9sVWkgPSB0aGlzO1xyXG4gICAgICAgIHRoaXMudmlzaWJsZSA9IHRoaXMuY29uZmlnLlZpc2libGUgPT09IGZhbHNlID8gZmFsc2UgOiB0cnVlO1xyXG4gICAgICAgIHRoaXMucmVhZG9ubHkgPSB0aGlzLmNvbmZpZy5SZWFkb25seSA9PT0gZmFsc2UgPyBmYWxzZSA6IHRydWU7XHJcbiAgICAgICAgdGhpcy5lbmFibGUgPSB0aGlzLmNvbmZpZy5FbmFibGUgPT09IGZhbHNlID8gZmFsc2UgOiB0cnVlO1xyXG4gICAgICAgIHRoaXMuZmxleCA9IHRoaXMuY29uZmlnLkJvdW5kcy53aWR0aDtcclxuICAgICAgICB0aGlzLmNvbHVtbkRpcmVjdGlvbiA9IHRoaXMuY29uZmlnLklzVmVydGljYWw7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNTZWFyY2hQYW5lbCkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbHVtbkRpcmVjdGlvbiA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnJvd0RpcmVjdGlvbiA9IHRoaXMuaXNTZWFyY2hQYW5lbDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuY29sdW1uRGlyZWN0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJvd0RpcmVjdGlvbiA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xyXG4gICAgQElucHV0KCkgU2V0VmlzaWJsZSA9ICh2aXNpYmxlOiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgLy8gZnJvbSBmb3JtcGFubGV1aSB3aWxsIGJlIHNldFxyXG4gICAgICAgIHRoaXMudmlzaWJsZSA9IHZpc2libGU7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5ID0gdGhpcy52aXNpYmxlID8gJ2ZsZXgnIDogJ25vbmUnO1xyXG4gICAgfTtcclxuICAgIC8qIGVzbGludC1kaXNhYmxlICovXHJcbiAgICBASW5wdXQoKSBTZXRFbmFibGUgPSAoZW5hYmxlOiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgLy8gZnJvbSBmb3JtcGFubGV1aSB3aWxsIGJlIHNldFxyXG4gICAgICAgIHRoaXMuZW5hYmxlID0gZW5hYmxlO1xyXG4gICAgfTtcclxuICAgIC8qIGVzbGludC1kaXNhYmxlICovXHJcbiAgICBASW5wdXQoKSBTZXRSZWFkb25seSA9IChyZWFkb25seTogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgIC8vIGZyb20gZm9ybXBhbmxldWkgd2lsbCBiZSBzZXRcclxuICAgICAgICB0aGlzLnJlYWRvbmx5ID0gcmVhZG9ubHk7XHJcbiAgICB9O1xyXG4gICAgcHJpdmF0ZSBfc2V0RGlzcGxheSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRpc3BsYXkgPSB0aGlzLnZpc2libGUgPyAnZmxleCcgOiAnbm9uZSc7XHJcbiAgICB9XHJcbn1cclxuIiwiQGZvciAoaXRlbSBvZiBjb25maWcgfCBmaWx0ZXJUb29sYmFyQ29udHJvbDsgdHJhY2sgaXRlbSkgeyBAc3dpdGNoIChpdGVtLnh0eXBlKSB7IEBjYXNlICgnTHkuTGF5b3V0VGFiUGFuZWwnKSB7XHJcbjxuZy1jb250YWluZXJcclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgZHluYW1pY0xheW91dDtcclxuICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSwgbmFtZTogJ0x5TGF5b3V0UGFuZWxDb21wb25lbnQnLCBzZWxlY3RvcjogJ2JzdS1seS10YWItY29udGFpbmVyJyB9XHJcbiAgICBcIlxyXG4+PC9uZy1jb250YWluZXI+XHJcbjwhLS0gPGJzdS1seS10YWItY29udGFpbmVyIFtjb25maWddPVwiaXRlbVwiPjwvYnN1LWx5LXRhYi1jb250YWluZXI+IC0tPlxyXG59IEBjYXNlICgnTHkuTGF5b3V0UGFuZWwnKSB7XHJcbjxuZy1jb250YWluZXJcclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgZHluYW1pY0xheW91dDtcclxuICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSwgbmFtZTogJ0x5TGF5b3V0UGFuZWxDb21wb25lbnQnLCBzZWxlY3RvcjogJ2JzdS1seS1sYXlvdXQtcGFuZWwnIH1cclxuICAgIFwiXHJcbj48L25nLWNvbnRhaW5lcj5cclxuPCEtLSA8YnN1LWx5LWxheW91dC1wYW5lbCBbY29uZmlnXT1cIml0ZW1cIj48L2JzdS1seS1sYXlvdXQtcGFuZWw+IC0tPlxyXG59IEBjYXNlICgnTHkuTGF5b3V0Q29udGFpbmVyJykge1xyXG48bmctY29udGFpbmVyXHJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgIGR5bmFtaWNMYXlvdXQ7XHJcbiAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0sXHJcbiAgICAgICAgICAgIG5hbWU6ICdMeUxheW91dENvbnRhaW5lckNvbXBvbmVudCcsXHJcbiAgICAgICAgICAgIHNlbGVjdG9yOiAnYnN1LWx5LWxheW91dC1jb250YWluZXInXHJcbiAgICAgICAgfVxyXG4gICAgXCJcclxuPjwvbmctY29udGFpbmVyPlxyXG48IS0tIDxic3UtbHktbGF5b3V0LWNvbnRhaW5lciBbY29uZmlnXT1cIml0ZW1cIj48L2JzdS1seS1sYXlvdXQtY29udGFpbmVyPiAtLT5cclxufSBAY2FzZSAoJ0x5LkVtcHR5U3BhY2UnKSB7XHJcbjxuZy1jb250YWluZXJcclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgZHluYW1pY0xheW91dDtcclxuICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSwgbmFtZTogJ0x5RW1wdHlTcGFjZUNvbXBvbmVudCcsIHNlbGVjdG9yOiAnYnN1LWx5LWVtcHR5LXNwYWNlJyB9XHJcbiAgICBcIlxyXG4+PC9uZy1jb250YWluZXI+XHJcbjwhLS0gPGJzdS1seS1lbXB0eS1zcGFjZSBbY29uZmlnXT1cIml0ZW1cIj48L2JzdS1seS1lbXB0eS1zcGFjZT4gLS0+XHJcbn0gQGNhc2UgKCdMeS5TaW1wbGVMYWJlbCcpIHtcclxuPG5nLWNvbnRhaW5lclxyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICBkeW5hbWljTGF5b3V0O1xyXG4gICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtLCBuYW1lOiAnTHlTaW1wbGVMYWJlbENvbXBvbmVudCcsIHNlbGVjdG9yOiAnYnN1LWx5LXNpbXBsZS1sYWJlbCcgfVxyXG4gICAgXCJcclxuPjwvbmctY29udGFpbmVyPlxyXG48IS0tIDxic3UtbHktc2ltcGxlLWxhYmVsIFtjb25maWddPVwiaXRlbVwiPjwvYnN1LWx5LXNpbXBsZS1sYWJlbD4gLS0+XHJcbn0gQGNhc2UgKCdMeS5MYXlvdXRMaW5lJykge1xyXG48bmctY29udGFpbmVyXHJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cImR5bmFtaWNMYXlvdXQ7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtLCBuYW1lOiAnTHlMaW5lQ29tcG9uZW50Jywgc2VsZWN0b3I6ICdic3UtbHktbGluZScgfVwiXHJcbj48L25nLWNvbnRhaW5lcj5cclxuPCEtLSA8YnN1LWx5LWxpbmUgW2lzVmVydGljYWxdPVwiaXRlbS5Jc1ZlcnRpY2FsXCI+PC9ic3UtbHktbGluZT4gLS0+XHJcbn0gQGNhc2UgKCdMeS5MYXlvdXRKb2luJykgeyBAaWYgKGl0ZW0uVHlwZSA9PT0gJ0hvcml6b250YWxKb2luJykge1xyXG48bmctY29udGFpbmVyXHJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgIGR5bmFtaWNMYXlvdXQ7XHJcbiAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0sXHJcbiAgICAgICAgICAgIHNlbGVjdG9yOiAnYnN1LWx5LWhvcml6b250YWwtbGF5b3V0JyxcclxuICAgICAgICAgICAgbmFtZTogJ0x5TGF5b3V0SG9yaXpvbnRhbENvbXBvbmVudCdcclxuICAgICAgICB9XHJcbiAgICBcIlxyXG4+PC9uZy1jb250YWluZXI+XHJcbjwhLS0gPGJzdS1seS1ob3Jpem9udGFsLWxheW91dCBbY29uZmlnXT1cIml0ZW1cIiBbbWF4TGFiZWxXaWR0aF09XCJtYXhMYWJlbFdpZHRoXCI+PC9ic3UtbHktaG9yaXpvbnRhbC1sYXlvdXQ+IC0tPlxyXG59IEBlbHNlIHtcclxuPG5nLWNvbnRhaW5lclxyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICBkeW5hbWljTGF5b3V0O1xyXG4gICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgJGltcGxpY2l0OiBpdGVtLFxyXG4gICAgICAgICAgICBzZWxlY3RvcjogJ2JzdS1seS12ZXJ0aWNhbC1sYXlvdXQnLFxyXG4gICAgICAgICAgICBuYW1lOiAnTHlMYXlvdXRWZXJ0aWNhbENvbXBvbmVudCdcclxuICAgICAgICB9XHJcbiAgICBcIlxyXG4+PC9uZy1jb250YWluZXI+XHJcbjwhLS0gPGJzdS1seS12ZXJ0aWNhbC1sYXlvdXQgW2NvbmZpZ109XCJpdGVtXCIgW21heExhYmVsV2lkdGhdPVwibWF4TGFiZWxXaWR0aFwiPjwvYnN1LWx5LXZlcnRpY2FsLWxheW91dD4gLS0+XHJcbn0gfSBAY2FzZSAoJ0x5LkxheW91dENvbnRyb2wnKSB7XHJcbjxuZy1jb250YWluZXJcclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgZHluYW1pY0xheW91dDtcclxuICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICRpbXBsaWNpdDogaXRlbSxcclxuICAgICAgICAgICAgc2VsZWN0b3I6ICdic3UtbGF5b3V0LWNvbnRyb2wnLFxyXG4gICAgICAgICAgICBuYW1lOiAnTGF5b3V0Q29udHJvbENvbXBvbmVudCdcclxuICAgICAgICB9XHJcbiAgICBcIlxyXG4+PC9uZy1jb250YWluZXI+XHJcbjwhLS0gPGJzdS1sYXlvdXQtY29udHJvbCBbY29uZmlnXT1cIml0ZW1cIiBbbWF4TGFiZWxXaWR0aF09XCJtYXhMYWJlbFdpZHRoXCI+PC9ic3UtbGF5b3V0LWNvbnRyb2w+IC0tPlxyXG59IH0gfVxyXG48bmctdGVtcGxhdGUgI2R5bmFtaWNMYXlvdXQgbGV0LWNvbmZpZyBsZXQtc2VsZWN0b3I9XCJzZWxlY3RvclwiIGxldC1uYW1lPVwibmFtZVwiPlxyXG4gICAgPGJucmMtZHluYW1pYy1sYXlvdXRcclxuICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXHJcbiAgICAgICAgW3NlbGVjdG9yXT1cInNlbGVjdG9yXCJcclxuICAgICAgICBbbmFtZV09XCJuYW1lXCJcclxuICAgICAgICBbbW9kdWxlXT1cIidCYXJzYVNhcFVpJ1wiXHJcbiAgICAgICAgW21vZHVsZUZpbGVOYW1lXT1cIidCYXJzYVNhcFVpJ1wiXHJcbiAgICAgICAgW21heExhYmVsV2lkdGhdPVwiKG1heExhYmVsV2lkdGgkIHwgYXN5bmMpISFcIlxyXG4gICAgICAgIFtmbGV4XT1cImlzU2VhcmNoUGFuZWwgPyAndW5zZXQnIDogY29uZmlnLkJvdW5kcy53aWR0aFwiXHJcbiAgICAgICAgW2lzU2VhcmNoUGFuZWxdPVwiaXNTZWFyY2hQYW5lbFwiXHJcbiAgICA+XHJcbiAgICA8L2JucmMtZHluYW1pYy1sYXlvdXQ+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { ChangeDetectionStrategy, Component, ViewChild, ViewContainerRef } from '@angular/core';
2
+ import { LayoutPanelBaseComponent, LayoutService } from 'barsa-novin-ray-core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "barsa-novin-ray-core";
6
+ export class LyLayoutContainerOfRootComponent extends LayoutPanelBaseComponent {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LyLayoutContainerOfRootComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LyLayoutContainerOfRootComponent, selector: "bsu-ly-layout-container-of-root", providers: [LayoutService], viewQueries: [{ propertyName: "viewRef", first: true, predicate: ["viewRefTemplate"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: "@if (config) { @for (item of config | filterToolbarControl; track item) { @switch (item.xtype) { @case\r\n('Ly.LayoutTabPanel') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-tab-container' }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-tab-container [config]=\"item\"></bsu-ly-tab-container> -->\r\n} @case ('Ly.LayoutPanel') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-layout-panel' }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-layout-panel [config]=\"item\"></bsu-ly-layout-panel> -->\r\n} @case ('Ly.LayoutContainer') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n name: 'LyLayoutContainerComponent',\r\n selector: 'bsu-ly-layout-container'\r\n }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-layout-container [config]=\"item\"></bsu-ly-layout-container> -->\r\n} @case ('Ly.EmptySpace') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: { $implicit: item, name: 'LyEmptySpaceComponent', selector: 'bsu-ly-empty-space' }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-empty-space [config]=\"item\"></bsu-ly-empty-space> -->\r\n} @case ('Ly.SimpleLabel') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: { $implicit: item, name: 'LySimpleLabelComponent', selector: 'bsu-ly-simple-label' }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-simple-label [config]=\"item\"></bsu-ly-simple-label> -->\r\n} @case ('Ly.LayoutLine') {\r\n<ng-container\r\n *ngTemplateOutlet=\"dynamicLayout; context: { $implicit: item, name: 'LyLineComponent', selector: 'bsu-ly-line' }\"\r\n></ng-container>\r\n<!-- <bsu-ly-line [isVertical]=\"item.IsVertical\"></bsu-ly-line> -->\r\n} @case ('Ly.LayoutJoin') { @if (item.Type === 'HorizontalJoin') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n selector: 'bsu-ly-horizontal-layout',\r\n name: 'LyLayoutHorizontalComponent'\r\n }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-horizontal-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-horizontal-layout> -->\r\n} @else {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n selector: 'bsu-ly-vertical-layout',\r\n name: 'LyLayoutVerticalComponent'\r\n }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-vertical-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-vertical-layout> -->\r\n} } @case ('Ly.LayoutControl') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n selector: 'bsu-layout-control',\r\n name: 'LayoutControlComponent'\r\n }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-layout-control [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-layout-control> -->\r\n} } }\r\n<ng-template #dynamicLayout let-config let-selector=\"selector\" let-maxLabelWidth=\"maxLabelWidth\" let-name=\"name\">\r\n <bnrc-dynamic-layout\r\n [config]=\"config\"\r\n [selector]=\"selector\"\r\n [name]=\"name\"\r\n [module]=\"'BarsaSapUi'\"\r\n [moduleFileName]=\"'BarsaSapUi'\"\r\n [maxLabelWidth]=\"(maxLabelWidth$ | async)!!\"\r\n [flex]=\"isSearchPanel ? 'unset' : config.Bounds.width\"\r\n [isSearchPanel]=\"isSearchPanel\"\r\n >\r\n </bnrc-dynamic-layout>\r\n</ng-template>\r\n}\r\n", styles: [":host{display:block;width:100%;height:auto;position:relative}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.DynamicLayoutComponent, selector: "bnrc-dynamic-layout", inputs: ["selector", "module", "name", "parameters", "moduleFileName", "flex", "config", "maxLabelWidth", "hasHorizontalText", "isSearchPanel"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.FilterToolbarControlPipe, name: "filterToolbarControl" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LyLayoutContainerOfRootComponent, decorators: [{
11
+ type: Component,
12
+ args: [{ selector: 'bsu-ly-layout-container-of-root', changeDetection: ChangeDetectionStrategy.OnPush, providers: [LayoutService], standalone: false, template: "@if (config) { @for (item of config | filterToolbarControl; track item) { @switch (item.xtype) { @case\r\n('Ly.LayoutTabPanel') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-tab-container' }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-tab-container [config]=\"item\"></bsu-ly-tab-container> -->\r\n} @case ('Ly.LayoutPanel') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: { $implicit: item, name: 'LyLayoutPanelComponent', selector: 'bsu-ly-layout-panel' }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-layout-panel [config]=\"item\"></bsu-ly-layout-panel> -->\r\n} @case ('Ly.LayoutContainer') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n name: 'LyLayoutContainerComponent',\r\n selector: 'bsu-ly-layout-container'\r\n }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-layout-container [config]=\"item\"></bsu-ly-layout-container> -->\r\n} @case ('Ly.EmptySpace') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: { $implicit: item, name: 'LyEmptySpaceComponent', selector: 'bsu-ly-empty-space' }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-empty-space [config]=\"item\"></bsu-ly-empty-space> -->\r\n} @case ('Ly.SimpleLabel') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: { $implicit: item, name: 'LySimpleLabelComponent', selector: 'bsu-ly-simple-label' }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-simple-label [config]=\"item\"></bsu-ly-simple-label> -->\r\n} @case ('Ly.LayoutLine') {\r\n<ng-container\r\n *ngTemplateOutlet=\"dynamicLayout; context: { $implicit: item, name: 'LyLineComponent', selector: 'bsu-ly-line' }\"\r\n></ng-container>\r\n<!-- <bsu-ly-line [isVertical]=\"item.IsVertical\"></bsu-ly-line> -->\r\n} @case ('Ly.LayoutJoin') { @if (item.Type === 'HorizontalJoin') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n selector: 'bsu-ly-horizontal-layout',\r\n name: 'LyLayoutHorizontalComponent'\r\n }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-horizontal-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-horizontal-layout> -->\r\n} @else {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n selector: 'bsu-ly-vertical-layout',\r\n name: 'LyLayoutVerticalComponent'\r\n }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-ly-vertical-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-vertical-layout> -->\r\n} } @case ('Ly.LayoutControl') {\r\n<ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n selector: 'bsu-layout-control',\r\n name: 'LayoutControlComponent'\r\n }\r\n \"\r\n></ng-container>\r\n<!-- <bsu-layout-control [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-layout-control> -->\r\n} } }\r\n<ng-template #dynamicLayout let-config let-selector=\"selector\" let-maxLabelWidth=\"maxLabelWidth\" let-name=\"name\">\r\n <bnrc-dynamic-layout\r\n [config]=\"config\"\r\n [selector]=\"selector\"\r\n [name]=\"name\"\r\n [module]=\"'BarsaSapUi'\"\r\n [moduleFileName]=\"'BarsaSapUi'\"\r\n [maxLabelWidth]=\"(maxLabelWidth$ | async)!!\"\r\n [flex]=\"isSearchPanel ? 'unset' : config.Bounds.width\"\r\n [isSearchPanel]=\"isSearchPanel\"\r\n >\r\n </bnrc-dynamic-layout>\r\n</ng-template>\r\n}\r\n", styles: [":host{display:block;width:100%;height:auto;position:relative}\n"] }]
13
+ }], propDecorators: { viewRef: [{
14
+ type: ViewChild,
15
+ args: ['viewRefTemplate', { read: ViewContainerRef, static: true }]
16
+ }] } });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHktbGF5b3V0LWNvbnRhaW5lci1vZi1yb290LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2x5LWxheW91dC1jb250YWluZXItb2Ytcm9vdC9seS1sYXlvdXQtY29udGFpbmVyLW9mLXJvb3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbHktbGF5b3V0LWNvbnRhaW5lci1vZi1yb290L2x5LWxheW91dC1jb250YWluZXItb2Ytcm9vdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFVL0UsTUFBTSxPQUFPLGdDQUFpQyxTQUFRLHdCQUF3QjsrR0FBakUsZ0NBQWdDO21HQUFoQyxnQ0FBZ0MsMERBSDlCLENBQUMsYUFBYSxDQUFDLGlIQUlZLGdCQUFnQixrRUNaMUQsbXZIQXFHQTs7NEZEMUZhLGdDQUFnQztrQkFSNUMsU0FBUzsrQkFDSSxpQ0FBaUMsbUJBRzFCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxhQUFhLENBQUMsY0FDZCxLQUFLOzhCQUd1RCxPQUFPO3NCQUE5RSxTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTGF5b3V0UGFuZWxCYXNlQ29tcG9uZW50LCBMYXlvdXRTZXJ2aWNlIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS1seS1sYXlvdXQtY29udGFpbmVyLW9mLXJvb3QnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2x5LWxheW91dC1jb250YWluZXItb2Ytcm9vdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9seS1sYXlvdXQtY29udGFpbmVyLW9mLXJvb3QuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgcHJvdmlkZXJzOiBbTGF5b3V0U2VydmljZV0sXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTHlMYXlvdXRDb250YWluZXJPZlJvb3RDb21wb25lbnQgZXh0ZW5kcyBMYXlvdXRQYW5lbEJhc2VDb21wb25lbnQge1xyXG4gICAgQFZpZXdDaGlsZCgndmlld1JlZlRlbXBsYXRlJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IHRydWUgfSkgdmlld1JlZjogVmlld0NvbnRhaW5lclJlZjtcclxufVxyXG4iLCJAaWYgKGNvbmZpZykgeyBAZm9yIChpdGVtIG9mIGNvbmZpZyB8IGZpbHRlclRvb2xiYXJDb250cm9sOyB0cmFjayBpdGVtKSB7IEBzd2l0Y2ggKGl0ZW0ueHR5cGUpIHsgQGNhc2VcclxuKCdMeS5MYXlvdXRUYWJQYW5lbCcpIHtcclxuPG5nLWNvbnRhaW5lclxyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICBkeW5hbWljTGF5b3V0O1xyXG4gICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtLCBuYW1lOiAnTHlMYXlvdXRQYW5lbENvbXBvbmVudCcsIHNlbGVjdG9yOiAnYnN1LWx5LXRhYi1jb250YWluZXInIH1cclxuICAgIFwiXHJcbj48L25nLWNvbnRhaW5lcj5cclxuPCEtLSA8YnN1LWx5LXRhYi1jb250YWluZXIgW2NvbmZpZ109XCJpdGVtXCI+PC9ic3UtbHktdGFiLWNvbnRhaW5lcj4gLS0+XHJcbn0gQGNhc2UgKCdMeS5MYXlvdXRQYW5lbCcpIHtcclxuPG5nLWNvbnRhaW5lclxyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICBkeW5hbWljTGF5b3V0O1xyXG4gICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtLCBuYW1lOiAnTHlMYXlvdXRQYW5lbENvbXBvbmVudCcsIHNlbGVjdG9yOiAnYnN1LWx5LWxheW91dC1wYW5lbCcgfVxyXG4gICAgXCJcclxuPjwvbmctY29udGFpbmVyPlxyXG48IS0tIDxic3UtbHktbGF5b3V0LXBhbmVsIFtjb25maWddPVwiaXRlbVwiPjwvYnN1LWx5LWxheW91dC1wYW5lbD4gLS0+XHJcbn0gQGNhc2UgKCdMeS5MYXlvdXRDb250YWluZXInKSB7XHJcbjxuZy1jb250YWluZXJcclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgZHluYW1pY0xheW91dDtcclxuICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICRpbXBsaWNpdDogaXRlbSxcclxuICAgICAgICAgICAgbmFtZTogJ0x5TGF5b3V0Q29udGFpbmVyQ29tcG9uZW50JyxcclxuICAgICAgICAgICAgc2VsZWN0b3I6ICdic3UtbHktbGF5b3V0LWNvbnRhaW5lcidcclxuICAgICAgICB9XHJcbiAgICBcIlxyXG4+PC9uZy1jb250YWluZXI+XHJcbjwhLS0gPGJzdS1seS1sYXlvdXQtY29udGFpbmVyIFtjb25maWddPVwiaXRlbVwiPjwvYnN1LWx5LWxheW91dC1jb250YWluZXI+IC0tPlxyXG59IEBjYXNlICgnTHkuRW1wdHlTcGFjZScpIHtcclxuPG5nLWNvbnRhaW5lclxyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICBkeW5hbWljTGF5b3V0O1xyXG4gICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtLCBuYW1lOiAnTHlFbXB0eVNwYWNlQ29tcG9uZW50Jywgc2VsZWN0b3I6ICdic3UtbHktZW1wdHktc3BhY2UnIH1cclxuICAgIFwiXHJcbj48L25nLWNvbnRhaW5lcj5cclxuPCEtLSA8YnN1LWx5LWVtcHR5LXNwYWNlIFtjb25maWddPVwiaXRlbVwiPjwvYnN1LWx5LWVtcHR5LXNwYWNlPiAtLT5cclxufSBAY2FzZSAoJ0x5LlNpbXBsZUxhYmVsJykge1xyXG48bmctY29udGFpbmVyXHJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgIGR5bmFtaWNMYXlvdXQ7XHJcbiAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0sIG5hbWU6ICdMeVNpbXBsZUxhYmVsQ29tcG9uZW50Jywgc2VsZWN0b3I6ICdic3UtbHktc2ltcGxlLWxhYmVsJyB9XHJcbiAgICBcIlxyXG4+PC9uZy1jb250YWluZXI+XHJcbjwhLS0gPGJzdS1seS1zaW1wbGUtbGFiZWwgW2NvbmZpZ109XCJpdGVtXCI+PC9ic3UtbHktc2ltcGxlLWxhYmVsPiAtLT5cclxufSBAY2FzZSAoJ0x5LkxheW91dExpbmUnKSB7XHJcbjxuZy1jb250YWluZXJcclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiZHluYW1pY0xheW91dDsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0sIG5hbWU6ICdMeUxpbmVDb21wb25lbnQnLCBzZWxlY3RvcjogJ2JzdS1seS1saW5lJyB9XCJcclxuPjwvbmctY29udGFpbmVyPlxyXG48IS0tIDxic3UtbHktbGluZSBbaXNWZXJ0aWNhbF09XCJpdGVtLklzVmVydGljYWxcIj48L2JzdS1seS1saW5lPiAtLT5cclxufSBAY2FzZSAoJ0x5LkxheW91dEpvaW4nKSB7IEBpZiAoaXRlbS5UeXBlID09PSAnSG9yaXpvbnRhbEpvaW4nKSB7XHJcbjxuZy1jb250YWluZXJcclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgZHluYW1pY0xheW91dDtcclxuICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICRpbXBsaWNpdDogaXRlbSxcclxuICAgICAgICAgICAgc2VsZWN0b3I6ICdic3UtbHktaG9yaXpvbnRhbC1sYXlvdXQnLFxyXG4gICAgICAgICAgICBuYW1lOiAnTHlMYXlvdXRIb3Jpem9udGFsQ29tcG9uZW50J1xyXG4gICAgICAgIH1cclxuICAgIFwiXHJcbj48L25nLWNvbnRhaW5lcj5cclxuPCEtLSA8YnN1LWx5LWhvcml6b250YWwtbGF5b3V0IFtjb25maWddPVwiaXRlbVwiIFttYXhMYWJlbFdpZHRoXT1cIm1heExhYmVsV2lkdGhcIj48L2JzdS1seS1ob3Jpem9udGFsLWxheW91dD4gLS0+XHJcbn0gQGVsc2Uge1xyXG48bmctY29udGFpbmVyXHJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgIGR5bmFtaWNMYXlvdXQ7XHJcbiAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0sXHJcbiAgICAgICAgICAgIHNlbGVjdG9yOiAnYnN1LWx5LXZlcnRpY2FsLWxheW91dCcsXHJcbiAgICAgICAgICAgIG5hbWU6ICdMeUxheW91dFZlcnRpY2FsQ29tcG9uZW50J1xyXG4gICAgICAgIH1cclxuICAgIFwiXHJcbj48L25nLWNvbnRhaW5lcj5cclxuPCEtLSA8YnN1LWx5LXZlcnRpY2FsLWxheW91dCBbY29uZmlnXT1cIml0ZW1cIiBbbWF4TGFiZWxXaWR0aF09XCJtYXhMYWJlbFdpZHRoXCI+PC9ic3UtbHktdmVydGljYWwtbGF5b3V0PiAtLT5cclxufSB9IEBjYXNlICgnTHkuTGF5b3V0Q29udHJvbCcpIHtcclxuPG5nLWNvbnRhaW5lclxyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICBkeW5hbWljTGF5b3V0O1xyXG4gICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgJGltcGxpY2l0OiBpdGVtLFxyXG4gICAgICAgICAgICBzZWxlY3RvcjogJ2JzdS1sYXlvdXQtY29udHJvbCcsXHJcbiAgICAgICAgICAgIG5hbWU6ICdMYXlvdXRDb250cm9sQ29tcG9uZW50J1xyXG4gICAgICAgIH1cclxuICAgIFwiXHJcbj48L25nLWNvbnRhaW5lcj5cclxuPCEtLSA8YnN1LWxheW91dC1jb250cm9sIFtjb25maWddPVwiaXRlbVwiIFttYXhMYWJlbFdpZHRoXT1cIm1heExhYmVsV2lkdGhcIj48L2JzdS1sYXlvdXQtY29udHJvbD4gLS0+XHJcbn0gfSB9XHJcbjxuZy10ZW1wbGF0ZSAjZHluYW1pY0xheW91dCBsZXQtY29uZmlnIGxldC1zZWxlY3Rvcj1cInNlbGVjdG9yXCIgbGV0LW1heExhYmVsV2lkdGg9XCJtYXhMYWJlbFdpZHRoXCIgbGV0LW5hbWU9XCJuYW1lXCI+XHJcbiAgICA8Ym5yYy1keW5hbWljLWxheW91dFxyXG4gICAgICAgIFtjb25maWddPVwiY29uZmlnXCJcclxuICAgICAgICBbc2VsZWN0b3JdPVwic2VsZWN0b3JcIlxyXG4gICAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICAgIFttb2R1bGVdPVwiJ0JhcnNhU2FwVWknXCJcclxuICAgICAgICBbbW9kdWxlRmlsZU5hbWVdPVwiJ0JhcnNhU2FwVWknXCJcclxuICAgICAgICBbbWF4TGFiZWxXaWR0aF09XCIobWF4TGFiZWxXaWR0aCQgfCBhc3luYykhIVwiXHJcbiAgICAgICAgW2ZsZXhdPVwiaXNTZWFyY2hQYW5lbCA/ICd1bnNldCcgOiBjb25maWcuQm91bmRzLndpZHRoXCJcclxuICAgICAgICBbaXNTZWFyY2hQYW5lbF09XCJpc1NlYXJjaFBhbmVsXCJcclxuICAgID5cclxuICAgIDwvYm5yYy1keW5hbWljLWxheW91dD5cclxuPC9uZy10ZW1wbGF0ZT5cclxufVxyXG4iXX0=
@@ -0,0 +1,24 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class LyLayoutFieldLabelComponent {
4
+ get MaxSize() {
5
+ return { width: 0, height: 30 };
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LyLayoutFieldLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LyLayoutFieldLabelComponent, selector: "bsu-ly-layout-field-label", inputs: { caption: "caption", isBold: "isBold", isMandatory: "isMandatory", inputId: "inputId", MaxSize: "MaxSize" }, ngImport: i0, template: "<label\r\n [attr.for]=\"inputId\"\r\n show-colon\r\n [attr.required]=\"isMandatory === true ? true : null\"\r\n [style.font-weight]=\"isBold ? 'bold' : 'normal'\"\r\n >{{ caption }}</label\r\n>\r\n", styles: [":host{width:100%;height:100%;display:flex;align-items:center}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LyLayoutFieldLabelComponent, decorators: [{
11
+ type: Component,
12
+ args: [{ selector: 'bsu-ly-layout-field-label', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<label\r\n [attr.for]=\"inputId\"\r\n show-colon\r\n [attr.required]=\"isMandatory === true ? true : null\"\r\n [style.font-weight]=\"isBold ? 'bold' : 'normal'\"\r\n >{{ caption }}</label\r\n>\r\n", styles: [":host{width:100%;height:100%;display:flex;align-items:center}\n"] }]
13
+ }], propDecorators: { caption: [{
14
+ type: Input
15
+ }], isBold: [{
16
+ type: Input
17
+ }], isMandatory: [{
18
+ type: Input
19
+ }], inputId: [{
20
+ type: Input
21
+ }], MaxSize: [{
22
+ type: Input
23
+ }] } });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHktbGF5b3V0LWZpZWxkLWxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2x5LWxheW91dC1maWVsZC1sYWJlbC9seS1sYXlvdXQtZmllbGQtbGFiZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbHktbGF5b3V0LWZpZWxkLWxhYmVsL2x5LWxheW91dC1maWVsZC1sYWJlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTMUUsTUFBTSxPQUFPLDJCQUEyQjtJQUtwQyxJQUFhLE9BQU87UUFDaEIsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ3BDLENBQUM7K0dBUFEsMkJBQTJCO21HQUEzQiwyQkFBMkIsdUxDVHhDLHNOQU9BOzs0RkRFYSwyQkFBMkI7a0JBUHZDLFNBQVM7K0JBQ0ksMkJBQTJCLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUs7OEJBR1IsT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDTyxPQUFPO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtbHktbGF5b3V0LWZpZWxkLWxhYmVsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9seS1sYXlvdXQtZmllbGQtbGFiZWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbHktbGF5b3V0LWZpZWxkLWxhYmVsLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMeUxheW91dEZpZWxkTGFiZWxDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgY2FwdGlvbjogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgaXNCb2xkOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgaXNNYW5kYXRvcnk6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBpbnB1dElkOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBnZXQgTWF4U2l6ZSgpOiB7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH0ge1xyXG4gICAgICAgIHJldHVybiB7IHdpZHRoOiAwLCBoZWlnaHQ6IDMwIH07XHJcbiAgICB9XHJcbn1cclxuIiwiPGxhYmVsXHJcbiAgICBbYXR0ci5mb3JdPVwiaW5wdXRJZFwiXHJcbiAgICBzaG93LWNvbG9uXHJcbiAgICBbYXR0ci5yZXF1aXJlZF09XCJpc01hbmRhdG9yeSA9PT0gdHJ1ZSA/IHRydWUgOiBudWxsXCJcclxuICAgIFtzdHlsZS5mb250LXdlaWdodF09XCJpc0JvbGQgPyAnYm9sZCcgOiAnbm9ybWFsJ1wiXHJcbiAgICA+e3sgY2FwdGlvbiB9fTwvbGFiZWxcclxuPlxyXG4iXX0=
@@ -0,0 +1,83 @@
1
+ import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewChild, ViewContainerRef } from '@angular/core';
2
+ import { filter, takeUntil } from 'rxjs';
3
+ import { LayoutPanelBaseComponent, LayoutService } from 'barsa-novin-ray-core';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "barsa-novin-ray-core";
7
+ import * as i3 from "@fundamental-ngx/core/panel";
8
+ export class LyLayoutPanelComponent extends LayoutPanelBaseComponent {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.maxLabelWidth = 0;
12
+ this.title = '';
13
+ this.columnDirection = false;
14
+ this.rowDirection = false;
15
+ this.visible = true;
16
+ }
17
+ ngOnInit() {
18
+ super.ngOnInit();
19
+ this.setDisplay();
20
+ this.title = this.config.Title;
21
+ this.config.controlUi = this;
22
+ this._setBRule();
23
+ this.flex = this.config.Bounds.width;
24
+ this.columnDirection = this.config.IsVertical;
25
+ if (this.isSearchPanel) {
26
+ this.columnDirection = false;
27
+ this.rowDirection = this.isSearchPanel;
28
+ }
29
+ else {
30
+ if (!this.columnDirection) {
31
+ this.rowDirection = true;
32
+ }
33
+ }
34
+ this.formPanelService.groupLayout$
35
+ .pipe(takeUntil(this._onDestroy$), filter((c) => c.ControlId === this.config.ControlId))
36
+ .subscribe((groupItem) => {
37
+ this._setBRule();
38
+ });
39
+ }
40
+ onEvents(ev) {
41
+ if (ev.title === 'refreshLabel') {
42
+ this._calcWidth(this.config);
43
+ }
44
+ }
45
+ setDisplay() {
46
+ this.display = this.visible ? 'flex' : 'none';
47
+ this._cdr.detectChanges();
48
+ }
49
+ _setBRule() {
50
+ this.visible = this.config.Visible === false ? false : true;
51
+ this.readonly = this.config.Readonly === false ? false : true;
52
+ this.enable = this.config.Enable === false ? false : true;
53
+ this.setDisplay();
54
+ }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LyLayoutPanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LyLayoutPanelComponent, selector: "bsu-ly-layout-panel", inputs: { renderItems: "renderItems", isRoot: "isRoot", hideTitle: "hideTitle" }, host: { properties: { "attr.maxLabelWidth": "this.maxLabelWidth", "style.flex": "this.flex", "style.display": "this.display", "attr.title": "this.title" } }, providers: [LayoutService], viewQueries: [{ propertyName: "viewRef", first: true, predicate: ["viewRefTemplate"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: "@if (visible) {\r\n<fd-panel\r\n [fixed]=\"!config.ExpandButtonVisible\"\r\n [class.hide-header]=\"!config.TextVisible || hideTitle\"\r\n [attr.maxWidth]=\"maxWidth\"\r\n [expanded]=\"config.Expanded\"\r\n>\r\n @if (!hideTitle) {\r\n <h5 fd-panel-title>\r\n <div style=\"display: flex; gap: 0.5rem; align-items: center\">\r\n @if (config.FontIcon) {\r\n <i\r\n style=\"font-size: 1.5rem\"\r\n [style.color]=\"config.IconColor || null\"\r\n [class]=\"'sap-icon--' + config.FontIcon\"\r\n ></i>\r\n }\r\n <span>{{ (config.TextVisible ? config.Title ?? '' : '') | bbbTranslate }}</span>\r\n </div>\r\n </h5>\r\n }\r\n <div fd-panel-content [class.row-reverse-direction]=\"rowDirection\" [class.column-direction]=\"columnDirection\">\r\n @for (item of config | filterToolbarControl; track item) { @switch (item.xtype) { @case ('Ly.LayoutTabPanel') {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n name: 'LyLayoutPanelComponent',\r\n selector: 'bsu-ly-tab-container'\r\n }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-ly-tab-container [config]=\"item\"></bsu-ly-tab-container> -->\r\n } @case ('Ly.LayoutPanel') {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n name: 'LyLayoutPanelComponent',\r\n selector: 'bsu-ly-layout-panel'\r\n }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-ly-layout-panel [config]=\"item\"></bsu-ly-layout-panel> -->\r\n } @case ('Ly.LayoutContainer') {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n name: 'LyLayoutContainerComponent',\r\n selector: 'bsu-ly-layout-container'\r\n }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-ly-layout-container [config]=\"item\"></bsu-ly-layout-container> -->\r\n } @case ('Ly.EmptySpace') {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: { $implicit: item, name: 'LyEmptySpaceComponent', selector: 'bsu-ly-empty-space' }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-ly-empty-space [config]=\"item\"></bsu-ly-empty-space> -->\r\n } @case ('Ly.SimpleLabel') {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n name: 'LySimpleLabelComponent',\r\n selector: 'bsu-ly-simple-label'\r\n }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-ly-simple-label [config]=\"item\"></bsu-ly-simple-label> -->\r\n } @case ('Ly.LayoutLine') {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: { $implicit: item, name: 'LyLineComponent', selector: 'bsu-ly-line' }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-ly-line [isVertical]=\"item.IsVertical\"></bsu-ly-line> -->\r\n } @case ('Ly.LayoutJoin') { @if (item.Type === 'HorizontalJoin') {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n selector: 'bsu-ly-horizontal-layout',\r\n name: 'LyLayoutHorizontalComponent'\r\n }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-ly-horizontal-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-horizontal-layout> -->\r\n } @else {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n selector: 'bsu-ly-vertical-layout',\r\n name: 'LyLayoutVerticalComponent'\r\n }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-ly-vertical-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-vertical-layout> -->\r\n } } @case ('Ly.LayoutControl') {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n selector: 'bsu-layout-control',\r\n name: 'LayoutControlComponent'\r\n }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-layout-control [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-layout-control> -->\r\n } } }\r\n <ng-template\r\n #dynamicLayout\r\n let-config\r\n let-selector=\"selector\"\r\n let-maxLabelWidth=\"maxLabelWidth\"\r\n let-name=\"name\"\r\n >\r\n <bnrc-dynamic-layout\r\n [config]=\"config\"\r\n [selector]=\"selector\"\r\n [name]=\"name\"\r\n [module]=\"'BarsaSapUi'\"\r\n [moduleFileName]=\"'BarsaSapUi'\"\r\n [maxLabelWidth]=\"(maxLabelWidth$ | async)!!\"\r\n [flex]=\"isSearchPanel ? 'unset' : config.Bounds.width\"\r\n [isSearchPanel]=\"isSearchPanel\"\r\n (events)=\"onEvents($event)\"\r\n >\r\n </bnrc-dynamic-layout>\r\n </ng-template>\r\n </div>\r\n</fd-panel>\r\n}\r\n", styles: [":host{width:100%;display:flex;height:auto;align-items:flex-start}.fd-wizard-example .fd-wizard__content{min-height:300px}.full-width{width:100%}@media (max-width: 600px){:host{align-items:stretch}}fd-panel{width:100%}fd-panel div{display:flex;overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.DynamicLayoutComponent, selector: "bnrc-dynamic-layout", inputs: ["selector", "module", "name", "parameters", "moduleFileName", "flex", "config", "maxLabelWidth", "hasHorizontalText", "isSearchPanel"] }, { kind: "component", type: i3.PanelComponent, selector: "fd-panel", inputs: ["class", "fixed", "id", "expandId", "expandAriaLabel", "expandAriaLabelledBy", "expanded"], outputs: ["expandedChange"] }, { kind: "directive", type: i3.PanelContentDirective, selector: "[fd-panel-content]", inputs: ["height", "minHeight", "maxHeight", "ariaLabel", "ariaLabelledBy", "role", "id"] }, { kind: "directive", type: i3.PanelTitleDirective, selector: "[fd-panel-title]", inputs: ["id"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i2.FilterToolbarControlPipe, name: "filterToolbarControl" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
57
+ }
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LyLayoutPanelComponent, decorators: [{
59
+ type: Component,
60
+ args: [{ selector: 'bsu-ly-layout-panel', changeDetection: ChangeDetectionStrategy.OnPush, providers: [LayoutService], standalone: false, template: "@if (visible) {\r\n<fd-panel\r\n [fixed]=\"!config.ExpandButtonVisible\"\r\n [class.hide-header]=\"!config.TextVisible || hideTitle\"\r\n [attr.maxWidth]=\"maxWidth\"\r\n [expanded]=\"config.Expanded\"\r\n>\r\n @if (!hideTitle) {\r\n <h5 fd-panel-title>\r\n <div style=\"display: flex; gap: 0.5rem; align-items: center\">\r\n @if (config.FontIcon) {\r\n <i\r\n style=\"font-size: 1.5rem\"\r\n [style.color]=\"config.IconColor || null\"\r\n [class]=\"'sap-icon--' + config.FontIcon\"\r\n ></i>\r\n }\r\n <span>{{ (config.TextVisible ? config.Title ?? '' : '') | bbbTranslate }}</span>\r\n </div>\r\n </h5>\r\n }\r\n <div fd-panel-content [class.row-reverse-direction]=\"rowDirection\" [class.column-direction]=\"columnDirection\">\r\n @for (item of config | filterToolbarControl; track item) { @switch (item.xtype) { @case ('Ly.LayoutTabPanel') {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n name: 'LyLayoutPanelComponent',\r\n selector: 'bsu-ly-tab-container'\r\n }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-ly-tab-container [config]=\"item\"></bsu-ly-tab-container> -->\r\n } @case ('Ly.LayoutPanel') {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n name: 'LyLayoutPanelComponent',\r\n selector: 'bsu-ly-layout-panel'\r\n }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-ly-layout-panel [config]=\"item\"></bsu-ly-layout-panel> -->\r\n } @case ('Ly.LayoutContainer') {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n name: 'LyLayoutContainerComponent',\r\n selector: 'bsu-ly-layout-container'\r\n }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-ly-layout-container [config]=\"item\"></bsu-ly-layout-container> -->\r\n } @case ('Ly.EmptySpace') {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: { $implicit: item, name: 'LyEmptySpaceComponent', selector: 'bsu-ly-empty-space' }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-ly-empty-space [config]=\"item\"></bsu-ly-empty-space> -->\r\n } @case ('Ly.SimpleLabel') {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n name: 'LySimpleLabelComponent',\r\n selector: 'bsu-ly-simple-label'\r\n }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-ly-simple-label [config]=\"item\"></bsu-ly-simple-label> -->\r\n } @case ('Ly.LayoutLine') {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: { $implicit: item, name: 'LyLineComponent', selector: 'bsu-ly-line' }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-ly-line [isVertical]=\"item.IsVertical\"></bsu-ly-line> -->\r\n } @case ('Ly.LayoutJoin') { @if (item.Type === 'HorizontalJoin') {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n selector: 'bsu-ly-horizontal-layout',\r\n name: 'LyLayoutHorizontalComponent'\r\n }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-ly-horizontal-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-horizontal-layout> -->\r\n } @else {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n selector: 'bsu-ly-vertical-layout',\r\n name: 'LyLayoutVerticalComponent'\r\n }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-ly-vertical-layout [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-ly-vertical-layout> -->\r\n } } @case ('Ly.LayoutControl') {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n dynamicLayout;\r\n context: {\r\n $implicit: item,\r\n selector: 'bsu-layout-control',\r\n name: 'LayoutControlComponent'\r\n }\r\n \"\r\n ></ng-container>\r\n <!-- <bsu-layout-control [config]=\"item\" [maxLabelWidth]=\"maxLabelWidth\"></bsu-layout-control> -->\r\n } } }\r\n <ng-template\r\n #dynamicLayout\r\n let-config\r\n let-selector=\"selector\"\r\n let-maxLabelWidth=\"maxLabelWidth\"\r\n let-name=\"name\"\r\n >\r\n <bnrc-dynamic-layout\r\n [config]=\"config\"\r\n [selector]=\"selector\"\r\n [name]=\"name\"\r\n [module]=\"'BarsaSapUi'\"\r\n [moduleFileName]=\"'BarsaSapUi'\"\r\n [maxLabelWidth]=\"(maxLabelWidth$ | async)!!\"\r\n [flex]=\"isSearchPanel ? 'unset' : config.Bounds.width\"\r\n [isSearchPanel]=\"isSearchPanel\"\r\n (events)=\"onEvents($event)\"\r\n >\r\n </bnrc-dynamic-layout>\r\n </ng-template>\r\n </div>\r\n</fd-panel>\r\n}\r\n", styles: [":host{width:100%;display:flex;height:auto;align-items:flex-start}.fd-wizard-example .fd-wizard__content{min-height:300px}.full-width{width:100%}@media (max-width: 600px){:host{align-items:stretch}}fd-panel{width:100%}fd-panel div{display:flex;overflow:hidden}\n"] }]
61
+ }], propDecorators: { renderItems: [{
62
+ type: Input
63
+ }], isRoot: [{
64
+ type: Input
65
+ }], hideTitle: [{
66
+ type: Input
67
+ }], maxLabelWidth: [{
68
+ type: HostBinding,
69
+ args: ['attr.maxLabelWidth']
70
+ }], flex: [{
71
+ type: HostBinding,
72
+ args: ['style.flex']
73
+ }], display: [{
74
+ type: HostBinding,
75
+ args: ['style.display']
76
+ }], title: [{
77
+ type: HostBinding,
78
+ args: ['attr.title']
79
+ }], viewRef: [{
80
+ type: ViewChild,
81
+ args: ['viewRefTemplate', { read: ViewContainerRef, static: true }]
82
+ }] } });
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHktbGF5b3V0LXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2x5LWxheW91dC1wYW5lbC9seS1sYXlvdXQtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbHktbGF5b3V0LXBhbmVsL2x5LWxheW91dC1wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUdMLFNBQVMsRUFDVCxnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLGFBQWEsRUFBaUIsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFVOUYsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHdCQUF3QjtJQVJwRTs7UUFZdUMsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFHMUIsVUFBSyxHQUF1QixFQUFFLENBQUM7UUFHMUQsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsWUFBTyxHQUFHLElBQUksQ0FBQztLQStDbEI7SUF4Q0csUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDOUMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7WUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQzNDLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDN0IsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWTthQUM3QixJQUFJLENBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDM0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQ3ZEO2FBQ0EsU0FBUyxDQUFDLENBQUMsU0FBd0IsRUFBRSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFDRCxRQUFRLENBQUMsRUFBaUM7UUFDdEMsSUFBSSxFQUFFLENBQUMsS0FBSyxLQUFLLGNBQWMsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pDLENBQUM7SUFDTCxDQUFDO0lBQ0QsVUFBVTtRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBQ1MsU0FBUztRQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUM1RCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDOUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzFELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDOytHQTFEUSxzQkFBc0I7bUdBQXRCLHNCQUFzQiw4UkFIcEIsQ0FBQyxhQUFhLENBQUMsaUhBV1ksZ0JBQWdCLGtFQzdCMUQsdTBMQWtKQTs7NEZEN0hhLHNCQUFzQjtrQkFSbEMsU0FBUzsrQkFDSSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGFBQWEsQ0FBQyxjQUNkLEtBQUs7OEJBR1IsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDNkIsYUFBYTtzQkFBL0MsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBQ04sSUFBSTtzQkFBOUIsV0FBVzt1QkFBQyxZQUFZO2dCQUNLLE9BQU87c0JBQXBDLFdBQVc7dUJBQUMsZUFBZTtnQkFDRCxLQUFLO3NCQUEvQixXQUFXO3VCQUFDLFlBQVk7Z0JBQytDLE9BQU87c0JBQTlFLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENvbXBvbmVudCxcclxuICAgIEhvc3RCaW5kaW5nLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkluaXQsXHJcbiAgICBUZW1wbGF0ZVJlZixcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIFZpZXdDb250YWluZXJSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZmlsdGVyLCBPYnNlcnZhYmxlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTGF5b3V0UGFuZWxCYXNlQ29tcG9uZW50LCBMYXlvdXRTZXJ2aWNlLCBMYXlvdXRTZXR0aW5nIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS1seS1sYXlvdXQtcGFuZWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2x5LWxheW91dC1wYW5lbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9seS1sYXlvdXQtcGFuZWwuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgcHJvdmlkZXJzOiBbTGF5b3V0U2VydmljZV0sXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTHlMYXlvdXRQYW5lbENvbXBvbmVudCBleHRlbmRzIExheW91dFBhbmVsQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSByZW5kZXJJdGVtczogVGVtcGxhdGVSZWY8YW55PjtcclxuICAgIEBJbnB1dCgpIGlzUm9vdDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGhpZGVUaXRsZTogYm9vbGVhbjtcclxuICAgIEBIb3N0QmluZGluZygnYXR0ci5tYXhMYWJlbFdpZHRoJykgbWF4TGFiZWxXaWR0aCA9IDA7XHJcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmZsZXgnKSBmbGV4O1xyXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5kaXNwbGF5JykgZGlzcGxheTtcclxuICAgIEBIb3N0QmluZGluZygnYXR0ci50aXRsZScpIHRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQgPSAnJztcclxuICAgIEBWaWV3Q2hpbGQoJ3ZpZXdSZWZUZW1wbGF0ZScsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIHZpZXdSZWY6IFZpZXdDb250YWluZXJSZWY7XHJcblxyXG4gICAgY29sdW1uRGlyZWN0aW9uID0gZmFsc2U7XHJcbiAgICByb3dEaXJlY3Rpb24gPSBmYWxzZTtcclxuICAgIHZpc2libGUgPSB0cnVlO1xyXG4gICAgc2VsZWN0ZWRUYWJJbmRleDogYW55O1xyXG4gICAgcm9vdFJlbmRlcmVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIGVuYWJsZTogYm9vbGVhbjtcclxuICAgIHJlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgbWF4V2lkdGg6IG51bWJlcjtcclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuc2V0RGlzcGxheSgpO1xyXG4gICAgICAgIHRoaXMudGl0bGUgPSB0aGlzLmNvbmZpZy5UaXRsZTtcclxuICAgICAgICB0aGlzLmNvbmZpZy5jb250cm9sVWkgPSB0aGlzO1xyXG4gICAgICAgIHRoaXMuX3NldEJSdWxlKCk7XHJcbiAgICAgICAgdGhpcy5mbGV4ID0gdGhpcy5jb25maWcuQm91bmRzLndpZHRoO1xyXG4gICAgICAgIHRoaXMuY29sdW1uRGlyZWN0aW9uID0gdGhpcy5jb25maWcuSXNWZXJ0aWNhbDtcclxuICAgICAgICBpZiAodGhpcy5pc1NlYXJjaFBhbmVsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29sdW1uRGlyZWN0aW9uID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMucm93RGlyZWN0aW9uID0gdGhpcy5pc1NlYXJjaFBhbmVsO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5jb2x1bW5EaXJlY3Rpb24pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucm93RGlyZWN0aW9uID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZvcm1QYW5lbFNlcnZpY2UuZ3JvdXBMYXlvdXQkXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxyXG4gICAgICAgICAgICAgICAgZmlsdGVyKChjKSA9PiBjLkNvbnRyb2xJZCA9PT0gdGhpcy5jb25maWcuQ29udHJvbElkKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGdyb3VwSXRlbTogTGF5b3V0U2V0dGluZykgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2V0QlJ1bGUoKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBvbkV2ZW50cyhldjogeyB0aXRsZTogc3RyaW5nOyBkYXRhPzogYW55IH0pOiB2b2lkIHtcclxuICAgICAgICBpZiAoZXYudGl0bGUgPT09ICdyZWZyZXNoTGFiZWwnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NhbGNXaWR0aCh0aGlzLmNvbmZpZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgc2V0RGlzcGxheSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRpc3BsYXkgPSB0aGlzLnZpc2libGUgPyAnZmxleCcgOiAnbm9uZSc7XHJcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfc2V0QlJ1bGUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy52aXNpYmxlID0gdGhpcy5jb25maWcuVmlzaWJsZSA9PT0gZmFsc2UgPyBmYWxzZSA6IHRydWU7XHJcbiAgICAgICAgdGhpcy5yZWFkb25seSA9IHRoaXMuY29uZmlnLlJlYWRvbmx5ID09PSBmYWxzZSA/IGZhbHNlIDogdHJ1ZTtcclxuICAgICAgICB0aGlzLmVuYWJsZSA9IHRoaXMuY29uZmlnLkVuYWJsZSA9PT0gZmFsc2UgPyBmYWxzZSA6IHRydWU7XHJcbiAgICAgICAgdGhpcy5zZXREaXNwbGF5KCk7XHJcbiAgICB9XHJcbn1cclxuIiwiQGlmICh2aXNpYmxlKSB7XHJcbjxmZC1wYW5lbFxyXG4gICAgW2ZpeGVkXT1cIiFjb25maWcuRXhwYW5kQnV0dG9uVmlzaWJsZVwiXHJcbiAgICBbY2xhc3MuaGlkZS1oZWFkZXJdPVwiIWNvbmZpZy5UZXh0VmlzaWJsZSB8fCBoaWRlVGl0bGVcIlxyXG4gICAgW2F0dHIubWF4V2lkdGhdPVwibWF4V2lkdGhcIlxyXG4gICAgW2V4cGFuZGVkXT1cImNvbmZpZy5FeHBhbmRlZFwiXHJcbj5cclxuICAgIEBpZiAoIWhpZGVUaXRsZSkge1xyXG4gICAgPGg1IGZkLXBhbmVsLXRpdGxlPlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBnYXA6IDAuNXJlbTsgYWxpZ24taXRlbXM6IGNlbnRlclwiPlxyXG4gICAgICAgICAgICBAaWYgKGNvbmZpZy5Gb250SWNvbikge1xyXG4gICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJmb250LXNpemU6IDEuNXJlbVwiXHJcbiAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiY29uZmlnLkljb25Db2xvciB8fCBudWxsXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzc109XCInc2FwLWljb24tLScgKyBjb25maWcuRm9udEljb25cIlxyXG4gICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDxzcGFuPnt7IChjb25maWcuVGV4dFZpc2libGUgPyBjb25maWcuVGl0bGUgPz8gJycgOiAnJykgfCBiYmJUcmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2g1PlxyXG4gICAgfVxyXG4gICAgPGRpdiBmZC1wYW5lbC1jb250ZW50IFtjbGFzcy5yb3ctcmV2ZXJzZS1kaXJlY3Rpb25dPVwicm93RGlyZWN0aW9uXCIgW2NsYXNzLmNvbHVtbi1kaXJlY3Rpb25dPVwiY29sdW1uRGlyZWN0aW9uXCI+XHJcbiAgICAgICAgQGZvciAoaXRlbSBvZiBjb25maWcgfCBmaWx0ZXJUb29sYmFyQ29udHJvbDsgdHJhY2sgaXRlbSkgeyBAc3dpdGNoIChpdGVtLnh0eXBlKSB7IEBjYXNlICgnTHkuTGF5b3V0VGFiUGFuZWwnKSB7XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgICAgZHluYW1pY0xheW91dDtcclxuICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0sXHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0x5TGF5b3V0UGFuZWxDb21wb25lbnQnLFxyXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yOiAnYnN1LWx5LXRhYi1jb250YWluZXInXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwhLS0gPGJzdS1seS10YWItY29udGFpbmVyIFtjb25maWddPVwiaXRlbVwiPjwvYnN1LWx5LXRhYi1jb250YWluZXI+IC0tPlxyXG4gICAgICAgIH0gQGNhc2UgKCdMeS5MYXlvdXRQYW5lbCcpIHtcclxuICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgICBkeW5hbWljTGF5b3V0O1xyXG4gICAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDogaXRlbSxcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnTHlMYXlvdXRQYW5lbENvbXBvbmVudCcsXHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3I6ICdic3UtbHktbGF5b3V0LXBhbmVsJ1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8IS0tIDxic3UtbHktbGF5b3V0LXBhbmVsIFtjb25maWddPVwiaXRlbVwiPjwvYnN1LWx5LWxheW91dC1wYW5lbD4gLS0+XHJcbiAgICAgICAgfSBAY2FzZSAoJ0x5LkxheW91dENvbnRhaW5lcicpIHtcclxuICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgICBkeW5hbWljTGF5b3V0O1xyXG4gICAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDogaXRlbSxcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnTHlMYXlvdXRDb250YWluZXJDb21wb25lbnQnLFxyXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yOiAnYnN1LWx5LWxheW91dC1jb250YWluZXInXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwhLS0gPGJzdS1seS1sYXlvdXQtY29udGFpbmVyIFtjb25maWddPVwiaXRlbVwiPjwvYnN1LWx5LWxheW91dC1jb250YWluZXI+IC0tPlxyXG4gICAgICAgIH0gQGNhc2UgKCdMeS5FbXB0eVNwYWNlJykge1xyXG4gICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgICAgIGR5bmFtaWNMYXlvdXQ7XHJcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSwgbmFtZTogJ0x5RW1wdHlTcGFjZUNvbXBvbmVudCcsIHNlbGVjdG9yOiAnYnN1LWx5LWVtcHR5LXNwYWNlJyB9XHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwhLS0gPGJzdS1seS1lbXB0eS1zcGFjZSBbY29uZmlnXT1cIml0ZW1cIj48L2JzdS1seS1lbXB0eS1zcGFjZT4gLS0+XHJcbiAgICAgICAgfSBAY2FzZSAoJ0x5LlNpbXBsZUxhYmVsJykge1xyXG4gICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgICAgIGR5bmFtaWNMYXlvdXQ7XHJcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBpdGVtLFxyXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdMeVNpbXBsZUxhYmVsQ29tcG9uZW50JyxcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RvcjogJ2JzdS1seS1zaW1wbGUtbGFiZWwnXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwhLS0gPGJzdS1seS1zaW1wbGUtbGFiZWwgW2NvbmZpZ109XCJpdGVtXCI+PC9ic3UtbHktc2ltcGxlLWxhYmVsPiAtLT5cclxuICAgICAgICB9IEBjYXNlICgnTHkuTGF5b3V0TGluZScpIHtcclxuICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgICBkeW5hbWljTGF5b3V0O1xyXG4gICAgICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0sIG5hbWU6ICdMeUxpbmVDb21wb25lbnQnLCBzZWxlY3RvcjogJ2JzdS1seS1saW5lJyB9XHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwhLS0gPGJzdS1seS1saW5lIFtpc1ZlcnRpY2FsXT1cIml0ZW0uSXNWZXJ0aWNhbFwiPjwvYnN1LWx5LWxpbmU+IC0tPlxyXG4gICAgICAgIH0gQGNhc2UgKCdMeS5MYXlvdXRKb2luJykgeyBAaWYgKGl0ZW0uVHlwZSA9PT0gJ0hvcml6b250YWxKb2luJykge1xyXG4gICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgICAgIGR5bmFtaWNMYXlvdXQ7XHJcbiAgICAgICAgICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBpdGVtLFxyXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yOiAnYnN1LWx5LWhvcml6b250YWwtbGF5b3V0JyxcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnTHlMYXlvdXRIb3Jpem9udGFsQ29tcG9uZW50J1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8IS0tIDxic3UtbHktaG9yaXpvbnRhbC1sYXlvdXQgW2NvbmZpZ109XCJpdGVtXCIgW21heExhYmVsV2lkdGhdPVwibWF4TGFiZWxXaWR0aFwiPjwvYnN1LWx5LWhvcml6b250YWwtbGF5b3V0PiAtLT5cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgICBkeW5hbWljTGF5b3V0O1xyXG4gICAgICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDogaXRlbSxcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RvcjogJ2JzdS1seS12ZXJ0aWNhbC1sYXlvdXQnLFxyXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdMeUxheW91dFZlcnRpY2FsQ29tcG9uZW50J1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8IS0tIDxic3UtbHktdmVydGljYWwtbGF5b3V0IFtjb25maWddPVwiaXRlbVwiIFttYXhMYWJlbFdpZHRoXT1cIm1heExhYmVsV2lkdGhcIj48L2JzdS1seS12ZXJ0aWNhbC1sYXlvdXQ+IC0tPlxyXG4gICAgICAgIH0gfSBAY2FzZSAoJ0x5LkxheW91dENvbnRyb2wnKSB7XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgICAgZHluYW1pY0xheW91dDtcclxuICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0sXHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3I6ICdic3UtbGF5b3V0LWNvbnRyb2wnLFxyXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICdMYXlvdXRDb250cm9sQ29tcG9uZW50J1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8IS0tIDxic3UtbGF5b3V0LWNvbnRyb2wgW2NvbmZpZ109XCJpdGVtXCIgW21heExhYmVsV2lkdGhdPVwibWF4TGFiZWxXaWR0aFwiPjwvYnN1LWxheW91dC1jb250cm9sPiAtLT5cclxuICAgICAgICB9IH0gfVxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAgICAgICAjZHluYW1pY0xheW91dFxyXG4gICAgICAgICAgICBsZXQtY29uZmlnXHJcbiAgICAgICAgICAgIGxldC1zZWxlY3Rvcj1cInNlbGVjdG9yXCJcclxuICAgICAgICAgICAgbGV0LW1heExhYmVsV2lkdGg9XCJtYXhMYWJlbFdpZHRoXCJcclxuICAgICAgICAgICAgbGV0LW5hbWU9XCJuYW1lXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxibnJjLWR5bmFtaWMtbGF5b3V0XHJcbiAgICAgICAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXHJcbiAgICAgICAgICAgICAgICBbc2VsZWN0b3JdPVwic2VsZWN0b3JcIlxyXG4gICAgICAgICAgICAgICAgW25hbWVdPVwibmFtZVwiXHJcbiAgICAgICAgICAgICAgICBbbW9kdWxlXT1cIidCYXJzYVNhcFVpJ1wiXHJcbiAgICAgICAgICAgICAgICBbbW9kdWxlRmlsZU5hbWVdPVwiJ0JhcnNhU2FwVWknXCJcclxuICAgICAgICAgICAgICAgIFttYXhMYWJlbFdpZHRoXT1cIihtYXhMYWJlbFdpZHRoJCB8IGFzeW5jKSEhXCJcclxuICAgICAgICAgICAgICAgIFtmbGV4XT1cImlzU2VhcmNoUGFuZWwgPyAndW5zZXQnIDogY29uZmlnLkJvdW5kcy53aWR0aFwiXHJcbiAgICAgICAgICAgICAgICBbaXNTZWFyY2hQYW5lbF09XCJpc1NlYXJjaFBhbmVsXCJcclxuICAgICAgICAgICAgICAgIChldmVudHMpPVwib25FdmVudHMoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9ibnJjLWR5bmFtaWMtbGF5b3V0PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuPC9mZC1wYW5lbD5cclxufVxyXG4iXX0=
@@ -0,0 +1,56 @@
1
+ import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
2
+ import { BaseComponent } from 'barsa-novin-ray-core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "barsa-novin-ray-core";
5
+ export class LyLineComponent extends BaseComponent {
6
+ constructor(_el, _portalService) {
7
+ super();
8
+ this._el = _el;
9
+ this._portalService = _portalService;
10
+ this.parentHeight = 0;
11
+ this.height = '0.0575rem';
12
+ this.width = '100%';
13
+ this.display = null;
14
+ this.isVertical = false;
15
+ }
16
+ ngOnInit() {
17
+ super.ngOnInit();
18
+ this.isVertical = this.config.IsVertical;
19
+ this._portalService.deviceSize$.subscribe((deviceSize) => {
20
+ if (this.isVertical) {
21
+ switch (deviceSize) {
22
+ case 's':
23
+ this.display = 'none';
24
+ break;
25
+ default:
26
+ this.display = null;
27
+ break;
28
+ }
29
+ }
30
+ });
31
+ if (this.isVertical) {
32
+ this.height = null;
33
+ this.width = '0.0575rem';
34
+ }
35
+ }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LyLineComponent, deps: [{ token: i0.ElementRef }, { token: i1.PortalService }], target: i0.ɵɵFactoryTarget.Component }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LyLineComponent, selector: "bsu-ly-line", inputs: { config: "config", parentHeight: "parentHeight" }, host: { properties: { "style.height": "this.height", "style.width": "this.width", "style.display": "this.display" } }, usesInheritance: true, ngImport: i0, template: "", styles: [":host{font-size:var(--sapFontSize, .875rem);line-height:var(--sapContent_LineHeight, 1.4);color:var(--sapTextColor, #32363a);font-weight:400;box-sizing:border-box;padding:0;border:0;background-color:var(--sapToolbar_SeparatorColor, #d9d9d9);margin:3px;align-self:stretch;flex-shrink:1}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LyLineComponent, decorators: [{
40
+ type: Component,
41
+ args: [{ selector: 'bsu-ly-line', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "", styles: [":host{font-size:var(--sapFontSize, .875rem);line-height:var(--sapContent_LineHeight, 1.4);color:var(--sapTextColor, #32363a);font-weight:400;box-sizing:border-box;padding:0;border:0;background-color:var(--sapToolbar_SeparatorColor, #d9d9d9);margin:3px;align-self:stretch;flex-shrink:1}\n"] }]
42
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.PortalService }], propDecorators: { config: [{
43
+ type: Input
44
+ }], parentHeight: [{
45
+ type: Input
46
+ }], height: [{
47
+ type: HostBinding,
48
+ args: ['style.height']
49
+ }], width: [{
50
+ type: HostBinding,
51
+ args: ['style.width']
52
+ }], display: [{
53
+ type: HostBinding,
54
+ args: ['style.display']
55
+ }] } });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHktbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9seS1saW5lL2x5LWxpbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbHktbGluZS9seS1saW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQWMsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRyxPQUFPLEVBQUUsYUFBYSxFQUFnQyxNQUFNLHNCQUFzQixDQUFDOzs7QUFTbkYsTUFBTSxPQUFPLGVBQWdCLFNBQVEsYUFBYTtJQU85QyxZQUFvQixHQUFlLEVBQVUsY0FBNkI7UUFDdEUsS0FBSyxFQUFFLENBQUM7UUFEUSxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFMakUsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFDRyxXQUFNLEdBQWtCLFdBQVcsQ0FBQztRQUNyQyxVQUFLLEdBQUcsTUFBTSxDQUFDO1FBQ2IsWUFBTyxHQUFrQixJQUFJLENBQUM7UUFDNUQsZUFBVSxHQUFHLEtBQUssQ0FBQztJQUduQixDQUFDO0lBQ0QsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3JELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNsQixRQUFRLFVBQVUsRUFBRSxDQUFDO29CQUNqQixLQUFLLEdBQUc7d0JBQ0osSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7d0JBQ3RCLE1BQU07b0JBQ1Y7d0JBQ0ksSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7d0JBQ3BCLE1BQU07Z0JBQ2QsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDO1FBQzdCLENBQUM7SUFDTCxDQUFDOytHQTdCUSxlQUFlO21HQUFmLGVBQWUsNlBDWDVCLEVBQUE7OzRGRFdhLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0ksYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUs7MkdBR1IsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ3VCLE1BQU07c0JBQWxDLFdBQVc7dUJBQUMsY0FBYztnQkFDQyxLQUFLO3NCQUFoQyxXQUFXO3VCQUFDLGFBQWE7Z0JBQ0ksT0FBTztzQkFBcEMsV0FBVzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBQb3J0YWxTZXJ2aWNlLCBMYXlvdXRTZXR0aW5nIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS1seS1saW5lJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9seS1saW5lLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2x5LWxpbmUuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIEx5TGluZUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgY29uZmlnOiBMYXlvdXRTZXR0aW5nO1xyXG4gICAgQElucHV0KCkgcGFyZW50SGVpZ2h0ID0gMDtcclxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0JykgaGVpZ2h0OiBzdHJpbmcgfCBudWxsID0gJzAuMDU3NXJlbSc7XHJcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoJykgd2lkdGggPSAnMTAwJSc7XHJcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmRpc3BsYXknKSBkaXNwbGF5OiBudWxsIHwgc3RyaW5nID0gbnVsbDtcclxuICAgIGlzVmVydGljYWwgPSBmYWxzZTtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsOiBFbGVtZW50UmVmLCBwcml2YXRlIF9wb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5pc1ZlcnRpY2FsID0gdGhpcy5jb25maWcuSXNWZXJ0aWNhbDtcclxuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemUkLnN1YnNjcmliZSgoZGV2aWNlU2l6ZSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5pc1ZlcnRpY2FsKSB7XHJcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGRldmljZVNpemUpIHtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlICdzJzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5ID0gJ25vbmUnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXkgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmICh0aGlzLmlzVmVydGljYWwpIHtcclxuICAgICAgICAgICAgdGhpcy5oZWlnaHQgPSBudWxsO1xyXG4gICAgICAgICAgICB0aGlzLndpZHRoID0gJzAuMDU3NXJlbSc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { ChangeDetectionStrategy, Component, HostBinding } from '@angular/core';
2
+ import { LayoutItemBaseComponent } from 'barsa-novin-ray-core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "barsa-novin-ray-core";
5
+ import * as i2 from "@fundamental-ngx/core/title";
6
+ export class LySimpleLabelComponent extends LayoutItemBaseComponent {
7
+ ngOnInit() {
8
+ super.ngOnInit();
9
+ const { Bounds } = this.config;
10
+ this.flex = Bounds.width;
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LySimpleLabelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LySimpleLabelComponent, selector: "bsu-ly-simple-label", host: { properties: { "style.flex": "this.flex" } }, usesInheritance: true, ngImport: i0, template: "<!-- <label fd-form-label [wrap]=\"true\">{{ config.Text }}</label> -->\r\n@if (!config.CustomUi) {\r\n<h6 fd-title [wrap]=\"true\">{{ config.Text }}</h6>\r\n} @if (config.CustomUi) {\r\n<bnrc-dynamic-component [component]=\"config.CustomUi\" [value]=\"config.Text\"></bnrc-dynamic-component>\r\n}\r\n", styles: [":host{display:flex;align-items:center}:host:not(.isMobile){min-height:var(--sapElement_Height)}:host.isMobile{width:100%}h6{overflow:hidden}\n"], dependencies: [{ kind: "component", type: i1.BaseDynamicComponent, selector: "bnrc-dynamic-component", inputs: ["component", "value"], outputs: ["events"] }, { kind: "component", type: i2.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LySimpleLabelComponent, decorators: [{
16
+ type: Component,
17
+ args: [{ selector: 'bsu-ly-simple-label', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<!-- <label fd-form-label [wrap]=\"true\">{{ config.Text }}</label> -->\r\n@if (!config.CustomUi) {\r\n<h6 fd-title [wrap]=\"true\">{{ config.Text }}</h6>\r\n} @if (config.CustomUi) {\r\n<bnrc-dynamic-component [component]=\"config.CustomUi\" [value]=\"config.Text\"></bnrc-dynamic-component>\r\n}\r\n", styles: [":host{display:flex;align-items:center}:host:not(.isMobile){min-height:var(--sapElement_Height)}:host.isMobile{width:100%}h6{overflow:hidden}\n"] }]
18
+ }], propDecorators: { flex: [{
19
+ type: HostBinding,
20
+ args: ['style.flex']
21
+ }] } });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHktc2ltcGxlLWxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2x5LXNpbXBsZS1sYWJlbC9seS1zaW1wbGUtbGFiZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbHktc2ltcGxlLWxhYmVsL2x5LXNpbXBsZS1sYWJlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV4RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQVEvRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsdUJBQXVCO0lBRS9ELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQzdCLENBQUM7K0dBTlEsc0JBQXNCO21HQUF0QixzQkFBc0IsdUlDVm5DLCtTQU1BOzs0RkRJYSxzQkFBc0I7a0JBUGxDLFNBQVM7K0JBQ0kscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSzs4QkFHVSxJQUFJO3NCQUE5QixXQUFXO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBMYXlvdXRJdGVtQmFzZUNvbXBvbmVudCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS1seS1zaW1wbGUtbGFiZWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2x5LXNpbXBsZS1sYWJlbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9seS1zaW1wbGUtbGFiZWwuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIEx5U2ltcGxlTGFiZWxDb21wb25lbnQgZXh0ZW5kcyBMYXlvdXRJdGVtQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmZsZXgnKSBmbGV4O1xyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICBjb25zdCB7IEJvdW5kcyB9ID0gdGhpcy5jb25maWc7XHJcbiAgICAgICAgdGhpcy5mbGV4ID0gQm91bmRzLndpZHRoO1xyXG4gICAgfVxyXG59XHJcbiIsIjwhLS0gPGxhYmVsIGZkLWZvcm0tbGFiZWwgW3dyYXBdPVwidHJ1ZVwiPnt7IGNvbmZpZy5UZXh0IH19PC9sYWJlbD4gLS0+XHJcbkBpZiAoIWNvbmZpZy5DdXN0b21VaSkge1xyXG48aDYgZmQtdGl0bGUgW3dyYXBdPVwidHJ1ZVwiPnt7IGNvbmZpZy5UZXh0IH19PC9oNj5cclxufSBAaWYgKGNvbmZpZy5DdXN0b21VaSkge1xyXG48Ym5yYy1keW5hbWljLWNvbXBvbmVudCBbY29tcG9uZW50XT1cImNvbmZpZy5DdXN0b21VaVwiIFt2YWx1ZV09XCJjb25maWcuVGV4dFwiPjwvYm5yYy1keW5hbWljLWNvbXBvbmVudD5cclxufVxyXG4iXX0=
@@ -0,0 +1,44 @@
1
+ import { ChangeDetectionStrategy, Component, HostBinding, ViewChildren } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { takeUntil } from 'rxjs/operators';
4
+ import { TabPanelComponent } from '@fundamental-ngx/core';
5
+ import { LayoutItemBaseComponent } from 'barsa-novin-ray-core';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@fundamental-ngx/platform";
8
+ import * as i2 from "../ly-tab-page/ly-tab-page.component";
9
+ import * as i3 from "@angular/common";
10
+ import * as i4 from "barsa-novin-ray-core";
11
+ export class LyTabContainerComponent extends LayoutItemBaseComponent {
12
+ constructor() {
13
+ super(...arguments);
14
+ this._tabsSource = new BehaviorSubject([]);
15
+ this.tabs$ = this._tabsSource.asObservable();
16
+ this.ready = false;
17
+ }
18
+ ngOnInit() {
19
+ super.ngOnInit();
20
+ this.flex = this.config.Bounds.width;
21
+ this._setTabs();
22
+ this.formPanelService.groupLayout$.pipe(takeUntil(this._onDestroy$)).subscribe(() => {
23
+ this._setTabs();
24
+ });
25
+ }
26
+ _setTabs() {
27
+ const tabs = this.config.items;
28
+ const visibleTabs = tabs.filter((c) => c.Visible !== false);
29
+ this._tabsSource.next(visibleTabs);
30
+ }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LyTabContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LyTabContainerComponent, selector: "bsu-ly-tab-container", host: { properties: { "style.flex": "this.flex" } }, viewQueries: [{ propertyName: "tabpages", predicate: TabPanelComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<fdp-icon-tab-bar [collapseOverflow]=\"true\" [expandOverflowText]=\"'More' | bbbTranslate\">\r\n @for (tabPage of tabs$ | async; track tabPage; let tabindex = $index) {\r\n <fdp-icon-tab-bar-tab\r\n [label]=\"tabPage.Title || '' | bbbTranslate\"\r\n [title]=\"tabPage.Title || '' | bbbTranslate\"\r\n [disabled]=\"tabPage.disabled\"\r\n [class.control-disabled]=\"tabPage.Enable === false\"\r\n [class.readonly]=\"tabPage.Readonly\"\r\n >\r\n <bsu-ly-tab-page [config]=\"tabPage\"></bsu-ly-tab-page>\r\n </fdp-icon-tab-bar-tab>\r\n }\r\n</fdp-icon-tab-bar>\r\n", styles: [":host{width:100%;display:block}fdp-icon-tab-bar ::ng-deep>div{border:.0625rem solid var(--sapGroup_TitleBorderColor)}\n"], dependencies: [{ kind: "component", type: i1.IconTabBarComponent, selector: "fdp-icon-tab-bar", inputs: ["stackContent", "iconTabType", "tabsConfig", "densityMode", "iconTabFont", "enableTabReordering", "showTotalTab", "multiClick", "layoutMode", "iconTabBackground", "iconTabSize", "colorAssociations", "maxContentHeight"], outputs: ["tabsConfigChange", "densityModeChange", "iconTabSelected", "iconTabReordered", "closeTab"] }, { kind: "component", type: i1.IconTabBarTabComponent, selector: "fdp-icon-tab-bar-tab", inputs: ["label", "color", "icon", "iconFont", "counter", "active", "badge", "closable", "id"] }, { kind: "component", type: i2.LyTabPageComponent, selector: "bsu-ly-tab-page", inputs: ["renderItems", "tablist"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LyTabContainerComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: 'bsu-ly-tab-container', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fdp-icon-tab-bar [collapseOverflow]=\"true\" [expandOverflowText]=\"'More' | bbbTranslate\">\r\n @for (tabPage of tabs$ | async; track tabPage; let tabindex = $index) {\r\n <fdp-icon-tab-bar-tab\r\n [label]=\"tabPage.Title || '' | bbbTranslate\"\r\n [title]=\"tabPage.Title || '' | bbbTranslate\"\r\n [disabled]=\"tabPage.disabled\"\r\n [class.control-disabled]=\"tabPage.Enable === false\"\r\n [class.readonly]=\"tabPage.Readonly\"\r\n >\r\n <bsu-ly-tab-page [config]=\"tabPage\"></bsu-ly-tab-page>\r\n </fdp-icon-tab-bar-tab>\r\n }\r\n</fdp-icon-tab-bar>\r\n", styles: [":host{width:100%;display:block}fdp-icon-tab-bar ::ng-deep>div{border:.0625rem solid var(--sapGroup_TitleBorderColor)}\n"] }]
37
+ }], propDecorators: { tabpages: [{
38
+ type: ViewChildren,
39
+ args: [TabPanelComponent]
40
+ }], flex: [{
41
+ type: HostBinding,
42
+ args: ['style.flex']
43
+ }] } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHktdGFiLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9seS10YWItY29udGFpbmVyL2x5LXRhYi1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbHktdGFiLWNvbnRhaW5lci9seS10YWItY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFxQixZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHVCQUF1QixFQUFpQixNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUFTOUUsTUFBTSxPQUFPLHVCQUF3QixTQUFRLHVCQUF1QjtJQVBwRTs7UUFXSSxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFrQixFQUFFLENBQUMsQ0FBQztRQUN2RCxVQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUV4QyxVQUFLLEdBQUcsS0FBSyxDQUFDO0tBNEJqQjtJQTNCRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNoRixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ08sUUFBUTtRQUNaLE1BQU0sSUFBSSxHQUFvQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNoRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7K0dBcEJRLHVCQUF1QjttR0FBdkIsdUJBQXVCLDhJQUNsQixpQkFBaUIsdUVDZG5DLDRtQkFhQTs7NEZEQWEsdUJBQXVCO2tCQVBuQyxTQUFTOytCQUNJLHNCQUFzQixtQkFHZix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUs7OEJBR2dCLFFBQVE7c0JBQXhDLFlBQVk7dUJBQUMsaUJBQWlCO2dCQUNKLElBQUk7c0JBQTlCLFdBQVc7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBPbkluaXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFRhYlBhbmVsQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcclxuaW1wb3J0IHsgTGF5b3V0SXRlbUJhc2VDb21wb25lbnQsIExheW91dFNldHRpbmcgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LWx5LXRhYi1jb250YWluZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2x5LXRhYi1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbHktdGFiLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTHlUYWJDb250YWluZXJDb21wb25lbnQgZXh0ZW5kcyBMYXlvdXRJdGVtQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBAVmlld0NoaWxkcmVuKFRhYlBhbmVsQ29tcG9uZW50KSB0YWJwYWdlczogUXVlcnlMaXN0PFRhYlBhbmVsQ29tcG9uZW50PjtcclxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuZmxleCcpIGZsZXg7XHJcbiAgICBzZWxlY3RlZDogbnVtYmVyO1xyXG4gICAgX3RhYnNTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExheW91dFNldHRpbmdbXT4oW10pO1xyXG4gICAgdGFicyQgPSB0aGlzLl90YWJzU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgc2VsZWN0ZWRUYWJUaXRsZTogYW55O1xyXG4gICAgcmVhZHkgPSBmYWxzZTtcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5mbGV4ID0gdGhpcy5jb25maWcuQm91bmRzLndpZHRoO1xyXG4gICAgICAgIHRoaXMuX3NldFRhYnMoKTtcclxuICAgICAgICB0aGlzLmZvcm1QYW5lbFNlcnZpY2UuZ3JvdXBMYXlvdXQkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9zZXRUYWJzKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9zZXRUYWJzKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHRhYnM6IExheW91dFNldHRpbmdbXSA9IHRoaXMuY29uZmlnLml0ZW1zO1xyXG4gICAgICAgIGNvbnN0IHZpc2libGVUYWJzID0gdGFicy5maWx0ZXIoKGMpID0+IGMuVmlzaWJsZSAhPT0gZmFsc2UpO1xyXG4gICAgICAgIHRoaXMuX3RhYnNTb3VyY2UubmV4dCh2aXNpYmxlVGFicyk7XHJcbiAgICB9XHJcbiAgICAvLyBvblRhYkNoYW5nZWQodGFiOiBJY29uVGFiQmFySXRlbSk6IHZvaWQge1xyXG4gICAgLy8gICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSB0YWIubGFiZWw7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgLy8gICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcclxuXHJcbiAgICAvLyAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgLy8gICAgIGNvbnN0IHNlbGVjdGVkVGFiID0gdGhpcy50YWJwYWdlcy50b0FycmF5KClbdGhpcy5zZWxlY3RlZF07XHJcbiAgICAvLyAgICAgaWYgKHNlbGVjdGVkVGFiKSB7XHJcbiAgICAvLyAgICAgICBzZWxlY3RlZFRhYi5vcGVuKHRydWUpO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgfSwgMCk7XHJcbiAgICAvLyB9XHJcbn1cclxuIiwiPGZkcC1pY29uLXRhYi1iYXIgW2NvbGxhcHNlT3ZlcmZsb3ddPVwidHJ1ZVwiIFtleHBhbmRPdmVyZmxvd1RleHRdPVwiJ01vcmUnIHwgYmJiVHJhbnNsYXRlXCI+XHJcbiAgICBAZm9yICh0YWJQYWdlIG9mIHRhYnMkIHwgYXN5bmM7IHRyYWNrIHRhYlBhZ2U7IGxldCB0YWJpbmRleCA9ICRpbmRleCkge1xyXG4gICAgPGZkcC1pY29uLXRhYi1iYXItdGFiXHJcbiAgICAgICAgW2xhYmVsXT1cInRhYlBhZ2UuVGl0bGUgfHwgJycgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgIFt0aXRsZV09XCJ0YWJQYWdlLlRpdGxlIHx8ICcnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwidGFiUGFnZS5kaXNhYmxlZFwiXHJcbiAgICAgICAgW2NsYXNzLmNvbnRyb2wtZGlzYWJsZWRdPVwidGFiUGFnZS5FbmFibGUgPT09IGZhbHNlXCJcclxuICAgICAgICBbY2xhc3MucmVhZG9ubHldPVwidGFiUGFnZS5SZWFkb25seVwiXHJcbiAgICA+XHJcbiAgICAgICAgPGJzdS1seS10YWItcGFnZSBbY29uZmlnXT1cInRhYlBhZ2VcIj48L2JzdS1seS10YWItcGFnZT5cclxuICAgIDwvZmRwLWljb24tdGFiLWJhci10YWI+XHJcbiAgICB9XHJcbjwvZmRwLWljb24tdGFiLWJhcj5cclxuIl19