barsa-sap-ui 2.0.135 → 2.1.2

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 (244) hide show
  1. package/fesm2022/barsa-sap-ui.mjs +984 -957
  2. package/fesm2022/barsa-sap-ui.mjs.map +1 -1
  3. package/lib/barsa-sap-ui.module.d.ts +5 -4
  4. package/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.d.ts +3 -3
  5. package/lib/ly-tab-container/ly-tab-container.component.d.ts +2 -4
  6. package/lib/ly-tab-page/ly-tab-page.component.d.ts +2 -2
  7. package/lib/report-view-renderer.directive.d.ts +1 -1
  8. package/lib/ui-map/ui-map.component.d.ts +2 -0
  9. package/package.json +3 -5
  10. package/esm2022/barsa-sap-ui.mjs +0 -5
  11. package/esm2022/lib/apply-conditional-formmatings.directive.mjs +0 -89
  12. package/esm2022/lib/avatar-size.pipe.mjs +0 -40
  13. package/esm2022/lib/barsa-answer-card/barsa-answer-card.component.mjs +0 -41
  14. package/esm2022/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +0 -145
  15. package/esm2022/lib/barsa-bar-panel/barsa-bar-panel.component.mjs +0 -23
  16. package/esm2022/lib/barsa-base-panel/barsa-base-layout-panel.component.mjs +0 -29
  17. package/esm2022/lib/barsa-breadcrumbs/barsa-breadcrumbs.component.mjs +0 -24
  18. package/esm2022/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +0 -24
  19. package/esm2022/lib/barsa-card-row-payam/barsa-card-row-payam.component.mjs +0 -30
  20. package/esm2022/lib/barsa-cartable-form/barsa-cartable-form.component.mjs +0 -41
  21. package/esm2022/lib/barsa-cartable-template/barsa-cartable-template.component.mjs +0 -24
  22. package/esm2022/lib/barsa-chat/barsa-chat.component.mjs +0 -242
  23. package/esm2022/lib/barsa-chat/chat.model.mjs +0 -8
  24. package/esm2022/lib/barsa-chat-content/barsa-chat-content.component.mjs +0 -13
  25. package/esm2022/lib/barsa-chat-content-toolbar/barsa-chat-content-toolbar.component.mjs +0 -22
  26. package/esm2022/lib/barsa-chat-list/barsa-chat-list.component.mjs +0 -66
  27. package/esm2022/lib/barsa-chat-message/barsa-chat-message.component.mjs +0 -78
  28. package/esm2022/lib/barsa-chat-thread/barsa-chat-thread.component.mjs +0 -22
  29. package/esm2022/lib/barsa-chat-threads-list/barsa-chat-threads-list.component.mjs +0 -13
  30. package/esm2022/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.mjs +0 -15
  31. package/esm2022/lib/barsa-chip/barsa-chip.component.mjs +0 -72
  32. package/esm2022/lib/barsa-column-indicator/barsa-column-indicator.component.mjs +0 -23
  33. package/esm2022/lib/barsa-column-rownumber/barsa-column-rownumber.component.mjs +0 -14
  34. package/esm2022/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.mjs +0 -14
  35. package/esm2022/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.mjs +0 -26
  36. package/esm2022/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +0 -71
  37. package/esm2022/lib/barsa-dynamic-field/barsa-dynamic-field.component.mjs +0 -40
  38. package/esm2022/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.mjs +0 -61
  39. package/esm2022/lib/barsa-field-key-value/barsa-field-key-value.component.mjs +0 -45
  40. package/esm2022/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +0 -58
  41. package/esm2022/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.mjs +0 -27
  42. package/esm2022/lib/barsa-group-cartable/barsa-cartable-group.component.mjs +0 -94
  43. package/esm2022/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.mjs +0 -22
  44. package/esm2022/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.mjs +0 -37
  45. package/esm2022/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +0 -41
  46. package/esm2022/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +0 -29
  47. package/esm2022/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.mjs +0 -23
  48. package/esm2022/lib/barsa-modal/barsa-modal.component.mjs +0 -43
  49. package/esm2022/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +0 -83
  50. package/esm2022/lib/barsa-network-offline/barsa-network-offline.component.mjs +0 -57
  51. package/esm2022/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.mjs +0 -159
  52. package/esm2022/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.mjs +0 -17
  53. package/esm2022/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.mjs +0 -30
  54. package/esm2022/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.mjs +0 -14
  55. package/esm2022/lib/barsa-question-answer-form/barsa-question-answer-form.component.mjs +0 -34
  56. package/esm2022/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.mjs +0 -46
  57. package/esm2022/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.mjs +0 -79
  58. package/esm2022/lib/barsa-question-post/barsa-question-post.component.mjs +0 -30
  59. package/esm2022/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.mjs +0 -31
  60. package/esm2022/lib/barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component.mjs +0 -28
  61. package/esm2022/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +0 -102
  62. package/esm2022/lib/barsa-row-inline-actionlist/barsa-row-inline-actionlist.component.mjs +0 -26
  63. package/esm2022/lib/barsa-sap-ui-routing.module.mjs +0 -18
  64. package/esm2022/lib/barsa-sap-ui.module.mjs +0 -370
  65. package/esm2022/lib/barsa-search-form/barsa-search-form.component.mjs +0 -29
  66. package/esm2022/lib/barsa-simple-form/barsa-simple-form.component.mjs +0 -170
  67. package/esm2022/lib/barsa-tab-route-manager/barsa-tab-route-manager.component.mjs +0 -18
  68. package/esm2022/lib/barsa-table-column/barsa-table-column.component.mjs +0 -29
  69. package/esm2022/lib/barsa-table-header/barsa-table-header.component.mjs +0 -222
  70. package/esm2022/lib/barsa-table-row/barsa-table-row.component.mjs +0 -87
  71. package/esm2022/lib/barsa-tag-categories/barsa-tag-categories.component.mjs +0 -60
  72. package/esm2022/lib/barsa-tag-chip/barsa-tag-chip.component.mjs +0 -26
  73. package/esm2022/lib/barsa-tags-category-row/barsa-tags-category-row.component.mjs +0 -23
  74. package/esm2022/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.mjs +0 -37
  75. package/esm2022/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +0 -418
  76. package/esm2022/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.mjs +0 -36
  77. package/esm2022/lib/barsa-tree-item/barsa-tree-item.component.mjs +0 -153
  78. package/esm2022/lib/barsa-tree-item/node-has-one-depth-level.pipe.mjs +0 -19
  79. package/esm2022/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +0 -216
  80. package/esm2022/lib/blob-viewer/blob-viewer.component.mjs +0 -74
  81. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +0 -50
  82. package/esm2022/lib/captcha-field/captcha-field.component.mjs +0 -28
  83. package/esm2022/lib/card-item/card-item.component.mjs +0 -64
  84. package/esm2022/lib/card-view-content/card-view-content.component.mjs +0 -46
  85. package/esm2022/lib/col-renderer.directive.mjs +0 -46
  86. package/esm2022/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +0 -56
  87. package/esm2022/lib/column-matrix-renderer/matrix-value.pipe.mjs +0 -60
  88. package/esm2022/lib/column-renderer/column-renderer.component.mjs +0 -88
  89. package/esm2022/lib/constants.mjs +0 -425
  90. package/esm2022/lib/custom-date-time/custom-date-time.component.mjs +0 -41
  91. package/esm2022/lib/device-info-field-base.mjs +0 -23
  92. package/esm2022/lib/dialog-handler.directive.mjs +0 -28
  93. package/esm2022/lib/download-files.directive.mjs +0 -33
  94. package/esm2022/lib/dynamic-page-size.pipe.mjs +0 -26
  95. package/esm2022/lib/file-in-dialog/file-in-dialog.component.mjs +0 -44
  96. package/esm2022/lib/file-viewer/file-viewer.component.mjs +0 -47
  97. package/esm2022/lib/file-viewer-content/file-viewer-content.component.mjs +0 -71
  98. package/esm2022/lib/file-viewer-popover/file-viewer-popover.component.mjs +0 -39
  99. package/esm2022/lib/form-dialog/form-dialog.component.mjs +0 -171
  100. package/esm2022/lib/form-dialog-less/form-dialog-less.component.mjs +0 -50
  101. package/esm2022/lib/form-toolbar/form-toolbar.component.mjs +0 -62
  102. package/esm2022/lib/form-toolbar-button/form-toolbar-button.component.mjs +0 -45
  103. package/esm2022/lib/form-wizard/form-wizard.component.mjs +0 -21
  104. package/esm2022/lib/fullscreen-dialog.directive.mjs +0 -59
  105. package/esm2022/lib/fullscreen-files.directive.mjs +0 -42
  106. package/esm2022/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +0 -215
  107. package/esm2022/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +0 -215
  108. package/esm2022/lib/global-search/global-search.component.mjs +0 -27
  109. package/esm2022/lib/global-search-module/global-search-module.component.mjs +0 -29
  110. package/esm2022/lib/global-search-panel/global-search-panel.component.mjs +0 -25
  111. package/esm2022/lib/header-avatar/header-avatar.component.mjs +0 -18
  112. package/esm2022/lib/htree-create-new/htree-create-new.component.mjs +0 -48
  113. package/esm2022/lib/hyperlink/hyperlink.component.mjs +0 -23
  114. package/esm2022/lib/index.mjs +0 -543
  115. package/esm2022/lib/inline-save-and-cancel/inline-save-and-cancel.component.mjs +0 -32
  116. package/esm2022/lib/layout-actions/layout-actions.component.mjs +0 -70
  117. package/esm2022/lib/layout-control/layout-control.component.mjs +0 -302
  118. package/esm2022/lib/layout-wizard/layout-wizard.component.mjs +0 -183
  119. package/esm2022/lib/list-item/list-item.component.mjs +0 -34
  120. package/esm2022/lib/ly-empty-space/ly-empty-space.component.mjs +0 -42
  121. package/esm2022/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +0 -82
  122. package/esm2022/lib/ly-label/ly-label.component.mjs +0 -37
  123. package/esm2022/lib/ly-layout-container/ly-layout-container.component.mjs +0 -83
  124. package/esm2022/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +0 -17
  125. package/esm2022/lib/ly-layout-field-label/ly-layout-field-label.component.mjs +0 -24
  126. package/esm2022/lib/ly-layout-panel/ly-layout-panel.component.mjs +0 -83
  127. package/esm2022/lib/ly-line/ly-line.component.mjs +0 -56
  128. package/esm2022/lib/ly-simple-label/ly-simple-label.component.mjs +0 -22
  129. package/esm2022/lib/ly-tab-container/ly-tab-container.component.mjs +0 -52
  130. package/esm2022/lib/ly-tab-page/ly-tab-page.component.mjs +0 -44
  131. package/esm2022/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +0 -51
  132. package/esm2022/lib/manage-filters-report/manage-filters-report.component.mjs +0 -43
  133. package/esm2022/lib/mask/mask.component.mjs +0 -22
  134. package/esm2022/lib/message-strip/message-strip.component.mjs +0 -28
  135. package/esm2022/lib/models/grid-data-provider.mjs +0 -114
  136. package/esm2022/lib/models/grid-view.mjs +0 -2
  137. package/esm2022/lib/models/index.mjs +0 -2
  138. package/esm2022/lib/no-data/no-data.component.mjs +0 -31
  139. package/esm2022/lib/notification-item/notification-item.component.mjs +0 -57
  140. package/esm2022/lib/notification-popup.service.mjs +0 -92
  141. package/esm2022/lib/object-status-icon.pipe.mjs +0 -26
  142. package/esm2022/lib/progress-indicator/progress-indicator.component.mjs +0 -18
  143. package/esm2022/lib/report-navigator/report-navigator.component.mjs +0 -68
  144. package/esm2022/lib/report-new-top-form/report-new-top-form.component.mjs +0 -60
  145. package/esm2022/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +0 -35
  146. package/esm2022/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +0 -97
  147. package/esm2022/lib/report-search-panel-save/report-search-panel-save.component.mjs +0 -88
  148. package/esm2022/lib/report-tree-base.mjs +0 -386
  149. package/esm2022/lib/report-view-renderer.directive.mjs +0 -385
  150. package/esm2022/lib/responsive-toolbar/responsive-toolbar.component.mjs +0 -50
  151. package/esm2022/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +0 -84
  152. package/esm2022/lib/rich-text-static/rich-text-static.component.mjs +0 -72
  153. package/esm2022/lib/sap-font-class.pipe.mjs +0 -29
  154. package/esm2022/lib/sap-font.pipe.mjs +0 -29
  155. package/esm2022/lib/sap-size.pipe.mjs +0 -27
  156. package/esm2022/lib/sap-ui-report-base.component.mjs +0 -805
  157. package/esm2022/lib/search-panel/search-panel.component.mjs +0 -63
  158. package/esm2022/lib/static-text/static-text.component.mjs +0 -15
  159. package/esm2022/lib/table-th.directive.mjs +0 -86
  160. package/esm2022/lib/title/title.component.mjs +0 -15
  161. package/esm2022/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.mjs +0 -34
  162. package/esm2022/lib/ui-bpmn-viewer/ui-bpmn-viewer.component.mjs +0 -33
  163. package/esm2022/lib/ui-button/ui-button.component.mjs +0 -32
  164. package/esm2022/lib/ui-calendar/ui-calendar.component.mjs +0 -53
  165. package/esm2022/lib/ui-card-view/ui-card-view.component.mjs +0 -57
  166. package/esm2022/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +0 -42
  167. package/esm2022/lib/ui-check-box/ui-check-box.component.mjs +0 -39
  168. package/esm2022/lib/ui-color-ui/ui-color-ui.component.mjs +0 -50
  169. package/esm2022/lib/ui-container-with-button/ui-container-with-button.component.mjs +0 -38
  170. package/esm2022/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +0 -191
  171. package/esm2022/lib/ui-date-time/ui-date-time.component.mjs +0 -150
  172. package/esm2022/lib/ui-editable-grid/ui-editable-grid.component.mjs +0 -110
  173. package/esm2022/lib/ui-exception-form/ui-exception-form.component.mjs +0 -53
  174. package/esm2022/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +0 -121
  175. package/esm2022/lib/ui-form-panel/ui-form-panel.component.mjs +0 -100
  176. package/esm2022/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +0 -32
  177. package/esm2022/lib/ui-graph/ui-graph.component.mjs +0 -17
  178. package/esm2022/lib/ui-grid/ui-grid.component.mjs +0 -25
  179. package/esm2022/lib/ui-grid-columns/ui-grid-columns.component.mjs +0 -43
  180. package/esm2022/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +0 -66
  181. package/esm2022/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +0 -75
  182. package/esm2022/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +0 -58
  183. package/esm2022/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +0 -123
  184. package/esm2022/lib/ui-html-viewer/ui-html-viewer.component.mjs +0 -16
  185. package/esm2022/lib/ui-info-bar-panel/ui-info-bar-panel.component.mjs +0 -11
  186. package/esm2022/lib/ui-label/ui-label.component.mjs +0 -12
  187. package/esm2022/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +0 -379
  188. package/esm2022/lib/ui-list-view/ui-list-view.component.mjs +0 -84
  189. package/esm2022/lib/ui-map/ui-map.component.mjs +0 -58
  190. package/esm2022/lib/ui-matrix-view/ui-matrix-view.component.mjs +0 -124
  191. package/esm2022/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +0 -19
  192. package/esm2022/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.mjs +0 -14
  193. package/esm2022/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +0 -55
  194. package/esm2022/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +0 -429
  195. package/esm2022/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +0 -28
  196. package/esm2022/lib/ui-multi-select-card/ui-multi-select-card.component.mjs +0 -37
  197. package/esm2022/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.mjs +0 -59
  198. package/esm2022/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +0 -93
  199. package/esm2022/lib/ui-multi-select-radio/ui-multi-select-radio.component.mjs +0 -36
  200. package/esm2022/lib/ui-multi-select-slider/ui-multi-select-slider.component.mjs +0 -56
  201. package/esm2022/lib/ui-multi-select-smile/ui-multi-select-smile.component.mjs +0 -28
  202. package/esm2022/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +0 -33
  203. package/esm2022/lib/ui-num-int-slider/ui-num-int-slider.component.mjs +0 -27
  204. package/esm2022/lib/ui-num-int-ui/ui-num-int-ui.component.mjs +0 -21
  205. package/esm2022/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +0 -268
  206. package/esm2022/lib/ui-picture-file/ui-picture-file.component.mjs +0 -101
  207. package/esm2022/lib/ui-pictures-info/ui-pictures-info.component.mjs +0 -261
  208. package/esm2022/lib/ui-radio-group/ui-radio-group.component.mjs +0 -48
  209. package/esm2022/lib/ui-read-only-field/ui-read-only-field.component.mjs +0 -36
  210. package/esm2022/lib/ui-report-container/ui-report-container.component.mjs +0 -46
  211. package/esm2022/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.mjs +0 -24
  212. package/esm2022/lib/ui-simple-combo/ui-simple-combo.component.mjs +0 -55
  213. package/esm2022/lib/ui-single-picture/ui-single-picture.component.mjs +0 -36
  214. package/esm2022/lib/ui-switch-button/ui-switch-button.component.mjs +0 -20
  215. package/esm2022/lib/ui-table-view/ui-table-view.component.mjs +0 -289
  216. package/esm2022/lib/ui-text-area/ui-text-area.component.mjs +0 -49
  217. package/esm2022/lib/ui-text-field/ui-text-field.component.mjs +0 -52
  218. package/esm2022/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.mjs +0 -48
  219. package/esm2022/lib/ui-time-span/ui-time-span.component.mjs +0 -24
  220. package/esm2022/lib/ui-tinymce/ui-tinymce.component.mjs +0 -53
  221. package/esm2022/lib/ui-tree/ui-tree.component.mjs +0 -114
  222. package/esm2022/lib/ui-tree-view/ui-tree-view.component.mjs +0 -100
  223. package/esm2022/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +0 -23
  224. package/esm2022/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +0 -306
  225. package/esm2022/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +0 -25
  226. package/esm2022/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +0 -93
  227. package/esm2022/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +0 -119
  228. package/esm2022/lib/ul-notify-popup/ul-notify-popup.component.mjs +0 -32
  229. package/esm2022/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +0 -48
  230. package/esm2022/lib/ulv-column-settings/ulv-column-settings.component.mjs +0 -53
  231. package/esm2022/lib/ulv-context-menu/ulv-context-menu.component.mjs +0 -114
  232. package/esm2022/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +0 -43
  233. package/esm2022/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +0 -196
  234. package/esm2022/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +0 -44
  235. package/esm2022/lib/ulv-paging/ulv-paging.component.mjs +0 -84
  236. package/esm2022/lib/ulv-selection/ulv-selection.component.mjs +0 -65
  237. package/esm2022/lib/ulv-settings/ulv-settings.component.mjs +0 -116
  238. package/esm2022/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +0 -54
  239. package/esm2022/lib/ulv-toolbar/ulv-toolbar.component.mjs +0 -174
  240. package/esm2022/lib/upload-file-status.pipe.mjs +0 -28
  241. package/esm2022/lib/util-chat-time-badge.pipe.mjs +0 -18
  242. package/esm2022/lib/util-date-to-hh-mm.pipe.mjs +0 -23
  243. package/esm2022/lib/wizard-layout.directive.mjs +0 -103
  244. package/esm2022/public-api.mjs +0 -233
@@ -1,170 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, ViewContainerRef } from '@angular/core';
2
- import { BaseComponent, isFirefox } from 'barsa-novin-ray-core';
3
- import { GetFormLayoutGrid } from '../constants';
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/layout-grid";
8
- import * as i4 from "../ly-layout-container-of-root/ly-layout-container-of-root.component";
9
- import * as i5 from "../mask/mask.component";
10
- import * as i6 from "../layout-actions/layout-actions.component";
11
- export class BarsaSimpleFormComponent extends BaseComponent {
12
- constructor(el) {
13
- super();
14
- this.el = el;
15
- this.toolbarClick = new EventEmitter();
16
- this.workflowChoiceClick = new EventEmitter();
17
- /* eslint-disable */
18
- this.close = new EventEmitter();
19
- this.hideTitle = true;
20
- this.toolbarShouldOverflow = false;
21
- }
22
- ngOnInit() {
23
- super.ngOnInit();
24
- this.isFirefox = isFirefox();
25
- this.facetList ||= [];
26
- this.workflowInfoText = this.workflowPanelUi?.Setting?.Workflow?.InfoText;
27
- this.workflowButtonsComboMode = this.workflowPanelUi?.Setting?.Workflow?.ButtonsComboMode;
28
- const toolbarButtonsCount = this.toolbarItems.filter((c) => typeof c !== 'string' && c.text !== '-').length;
29
- if (this.deviceSize === 's' && toolbarButtonsCount > 1) {
30
- this.toolbarShouldOverflow = true;
31
- }
32
- else {
33
- if (toolbarButtonsCount > 5) {
34
- this.toolbarShouldOverflow = true;
35
- }
36
- }
37
- this._hanldeLayout();
38
- }
39
- ngOnChanges(changes) {
40
- const { formVisibilityStatus } = changes;
41
- if (formVisibilityStatus &&
42
- !formVisibilityStatus.firstChange &&
43
- formVisibilityStatus.currentValue === 'Visible') {
44
- this._toolbarComponent?.updateCollapsibleItems();
45
- }
46
- }
47
- onToolbarClick(btn, menu = null) {
48
- if (menu) {
49
- menu.close();
50
- }
51
- this.toolbarClick.emit(btn);
52
- }
53
- onWfChoiceSelect(wfChoice) {
54
- this.workflowChoiceClick.emit(wfChoice);
55
- }
56
- onTabChanged(tab) {
57
- this.selectedTab = tab.title;
58
- }
59
- getNumber(val) {
60
- return Number(val);
61
- }
62
- onDynamicComponentEvents(e) { }
63
- _hanldeLayout() {
64
- this.layout1 = GetFormLayoutGrid(true, this.colXl, this.colLg, this.colMd);
65
- this.layout2 = GetFormLayoutGrid(false, this.colXl, this.colLg, this.colMd);
66
- }
67
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarsaSimpleFormComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
68
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: BarsaSimpleFormComponent, selector: "bsu-barsa-simple-form", inputs: { breadCrumbs: "breadCrumbs", toolbarVisible: "toolbarVisible", toolbarItems: "toolbarItems", layoutActions: "layoutActions", layout94: "layout94", parameters: "parameters", workflowPanelUi: "workflowPanelUi", context: "context", title: "title", subtitle: "subtitle", description: "description", facetList: "facetList", fieldDict: "fieldDict", removeHeaderBorder: "removeHeaderBorder", removeContentPadding: "removeContentPadding", isMobile: "isMobile", mo: "mo", avatar: "avatar", rtl: "rtl", isModal: "isModal", hideTitle: "hideTitle", hideClose: "hideClose", hidePin: "hidePin", mask: "mask", canSend: "canSend", contentIsPage: "contentIsPage", contentDensity: "contentDensity", deviceSize: "deviceSize", dirValue: "dirValue", landscape: "landscape", standalone: "standalone", modernTabs: "modernTabs", workflowButtons: "workflowButtons", layoutGridCol: "layoutGridCol", colLg: "colLg", colXl: "colXl", colMd: "colMd", formContentMaxWidth: "formContentMaxWidth", formVisibilityStatus: "formVisibilityStatus" }, outputs: { toolbarClick: "toolbarClick", workflowChoiceClick: "workflowChoiceClick", close: "close" }, viewQueries: [{ propertyName: "_toolbarComponent", first: true, predicate: ["formToolbar"], descendants: true }, { propertyName: "titleRef", first: true, predicate: ["titleRef"], descendants: true, read: ViewContainerRef }, { propertyName: "headerAvatarRef", first: true, predicate: ["headerAvatar"], descendants: true }, { propertyName: "closeFormTemplate", first: true, predicate: ["closeForm"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (mask) {\n<bsu-mask> </bsu-mask>\n}\n<fd-layout-grid>\n <div fdLayoutGridRow>\n <div\n class=\"grid-col\"\n [fdLayoutGridCol]=\"0\"\n [colMd]=\"layout1.colMd\"\n [colLg]=\"layout1.colLg\"\n [colXl]=\"layout1.colXl\"\n ></div>\n <div class=\"grid-col\" [fdLayoutGridCol]=\"12\" [colMd]=\"colMd\" [colLg]=\"colLg\" [colXl]=\"colXl\">\n <ng-container\n *ngTemplateOutlet=\"\n parameters?.LayoutComponent ? renderLayoutComponent : renderDefaultLayout;\n context: {\n $implicit: parameters?.LayoutComponent,\n layout94: layout94\n }\n \"\n ></ng-container>\n </div>\n <div\n class=\"grid-col\"\n [fdLayoutGridCol]=\"0\"\n [colMd]=\"layout2.colMd\"\n [colLg]=\"layout2.colLg\"\n [colXl]=\"layout2.colXl\"\n ></div>\n </div>\n</fd-layout-grid>\n\n<ng-template #renderDefaultLayout let-layout94=\"layout94\">\n <bsu-ly-layout-container-of-root\n class=\"show-boundary\"\n [config]=\"layout94\"\n [isPanel]=\"false\"\n [isRoot]=\"true\"\n ></bsu-ly-layout-container-of-root>\n @if (workflowButtons && !isModal) { @if (workflowButtons.length) {\n <div class=\"workflow-buttons\">\n <div style=\"flex-grow: 1\"></div>\n <bsu-layout-actions\n style=\"display: flex; column-gap: 1rem\"\n [simple]=\"true\"\n [buttons]=\"[]\"\n [workflowButtons]=\"workflowButtons\"\n (toolClick)=\"onToolbarClick($event)\"\n >\n </bsu-layout-actions>\n </div>\n } }\n</ng-template>\n<ng-template #renderLayoutComponent let-component let-layout94=\"layout94\">\n <bnrc-dynamic-form-component\n [component]=\"component\"\n [removeContentPadding]=\"removeContentPadding\"\n [breadCrumbs]=\"breadCrumbs\"\n [description]=\"description\"\n [title]=\"title\"\n [subtitle]=\"subtitle\"\n [toolbarItems]=\"toolbarItems\"\n [layoutActions]=\"layoutActions\"\n [facetList]=\"facetList\"\n [settings]=\"component.Settings\"\n [workflowPanelUi]=\"workflowPanelUi\"\n [isMobile]=\"isMobile\"\n [mo]=\"mo\"\n [layout94]=\"layout94\"\n [context]=\"context\"\n [rtl]=\"rtl\"\n [fieldDict]=\"fieldDict\"\n [mask]=\"mask\"\n [dirValue]=\"dirValue\"\n [deviceSize]=\"deviceSize\"\n [contentDensity]=\"contentDensity\"\n [modernTabs]=\"modernTabs\"\n [avatar]=\"avatar\"\n (events)=\"onDynamicComponentEvents($event)\"\n ></bnrc-dynamic-form-component>\n</ng-template>\n", styles: [":host{display:block;height:auto;min-height:100%;width:100%}:host ::ng-deep fd-dynamic-page[contentIsPage=true] .fd-dynamic-page{height:auto!important}:host ::ng-deep .fd-progress-indicator__container,:host ::ng-deep .fd-progress-indicator__progress-bar{height:1.5rem}:host ::ng-deep fd-facet .fd-object-status--large{font-size:1.1rem}.hide-title ::ng-deep .fd-dynamic-page__title-container{display:none!important}.no-pin ::ng-deep .fd-dynamic-page__collapsible-header-visibility-container{display:none!important}fd-toolbar.firefox ::ng-deep .fd-toolbar{flex-direction:row-reverse}fd-toolbar.firefox ::ng-deep .fd-toolbar>:first-child{margin-right:5px}bsu-ly-layout-container-of-root{padding-bottom:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.DynamicFormComponent, selector: "bnrc-dynamic-form-component", inputs: ["breadCrumbs", "toolbarVisible", "toolbarItems", "layoutActions", "workflowButtons", "layout94", "footerDesign", "settings", "workflowPanelUi", "title", "subtitle", "description", "facetList", "removeHeaderBorder", "removeContentPadding", "isMobile", "avatar", "rtl", "mask", "mo", "contentDensity", "deviceSize", "dirValue", "fieldDict", "modernTabs"] }, { kind: "component", type: i3.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i3.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "directive", type: i3.LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }, { kind: "component", type: i4.LyLayoutContainerOfRootComponent, selector: "bsu-ly-layout-container-of-root" }, { kind: "component", type: i5.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i6.LayoutActionsComponent, selector: "bsu-layout-actions", inputs: ["workflowButtons", "workflowButtonsComboMode", "canSend", "simple", "footerDesign"], outputs: ["workflowChoiceSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
69
- }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarsaSimpleFormComponent, decorators: [{
71
- type: Component,
72
- args: [{ selector: 'bsu-barsa-simple-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (mask) {\n<bsu-mask> </bsu-mask>\n}\n<fd-layout-grid>\n <div fdLayoutGridRow>\n <div\n class=\"grid-col\"\n [fdLayoutGridCol]=\"0\"\n [colMd]=\"layout1.colMd\"\n [colLg]=\"layout1.colLg\"\n [colXl]=\"layout1.colXl\"\n ></div>\n <div class=\"grid-col\" [fdLayoutGridCol]=\"12\" [colMd]=\"colMd\" [colLg]=\"colLg\" [colXl]=\"colXl\">\n <ng-container\n *ngTemplateOutlet=\"\n parameters?.LayoutComponent ? renderLayoutComponent : renderDefaultLayout;\n context: {\n $implicit: parameters?.LayoutComponent,\n layout94: layout94\n }\n \"\n ></ng-container>\n </div>\n <div\n class=\"grid-col\"\n [fdLayoutGridCol]=\"0\"\n [colMd]=\"layout2.colMd\"\n [colLg]=\"layout2.colLg\"\n [colXl]=\"layout2.colXl\"\n ></div>\n </div>\n</fd-layout-grid>\n\n<ng-template #renderDefaultLayout let-layout94=\"layout94\">\n <bsu-ly-layout-container-of-root\n class=\"show-boundary\"\n [config]=\"layout94\"\n [isPanel]=\"false\"\n [isRoot]=\"true\"\n ></bsu-ly-layout-container-of-root>\n @if (workflowButtons && !isModal) { @if (workflowButtons.length) {\n <div class=\"workflow-buttons\">\n <div style=\"flex-grow: 1\"></div>\n <bsu-layout-actions\n style=\"display: flex; column-gap: 1rem\"\n [simple]=\"true\"\n [buttons]=\"[]\"\n [workflowButtons]=\"workflowButtons\"\n (toolClick)=\"onToolbarClick($event)\"\n >\n </bsu-layout-actions>\n </div>\n } }\n</ng-template>\n<ng-template #renderLayoutComponent let-component let-layout94=\"layout94\">\n <bnrc-dynamic-form-component\n [component]=\"component\"\n [removeContentPadding]=\"removeContentPadding\"\n [breadCrumbs]=\"breadCrumbs\"\n [description]=\"description\"\n [title]=\"title\"\n [subtitle]=\"subtitle\"\n [toolbarItems]=\"toolbarItems\"\n [layoutActions]=\"layoutActions\"\n [facetList]=\"facetList\"\n [settings]=\"component.Settings\"\n [workflowPanelUi]=\"workflowPanelUi\"\n [isMobile]=\"isMobile\"\n [mo]=\"mo\"\n [layout94]=\"layout94\"\n [context]=\"context\"\n [rtl]=\"rtl\"\n [fieldDict]=\"fieldDict\"\n [mask]=\"mask\"\n [dirValue]=\"dirValue\"\n [deviceSize]=\"deviceSize\"\n [contentDensity]=\"contentDensity\"\n [modernTabs]=\"modernTabs\"\n [avatar]=\"avatar\"\n (events)=\"onDynamicComponentEvents($event)\"\n ></bnrc-dynamic-form-component>\n</ng-template>\n", styles: [":host{display:block;height:auto;min-height:100%;width:100%}:host ::ng-deep fd-dynamic-page[contentIsPage=true] .fd-dynamic-page{height:auto!important}:host ::ng-deep .fd-progress-indicator__container,:host ::ng-deep .fd-progress-indicator__progress-bar{height:1.5rem}:host ::ng-deep fd-facet .fd-object-status--large{font-size:1.1rem}.hide-title ::ng-deep .fd-dynamic-page__title-container{display:none!important}.no-pin ::ng-deep .fd-dynamic-page__collapsible-header-visibility-container{display:none!important}fd-toolbar.firefox ::ng-deep .fd-toolbar{flex-direction:row-reverse}fd-toolbar.firefox ::ng-deep .fd-toolbar>:first-child{margin-right:5px}bsu-ly-layout-container-of-root{padding-bottom:1rem}\n"] }]
73
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { _toolbarComponent: [{
74
- type: ViewChild,
75
- args: ['formToolbar']
76
- }], toolbarClick: [{
77
- type: Output
78
- }], workflowChoiceClick: [{
79
- type: Output
80
- }], close: [{
81
- type: Output
82
- }], breadCrumbs: [{
83
- type: Input
84
- }], toolbarVisible: [{
85
- type: Input
86
- }], toolbarItems: [{
87
- type: Input
88
- }], layoutActions: [{
89
- type: Input
90
- }], layout94: [{
91
- type: Input
92
- }], parameters: [{
93
- type: Input
94
- }], workflowPanelUi: [{
95
- type: Input
96
- }], context: [{
97
- type: Input
98
- }], title: [{
99
- type: Input
100
- }], subtitle: [{
101
- type: Input
102
- }], description: [{
103
- type: Input
104
- }], facetList: [{
105
- type: Input
106
- }], fieldDict: [{
107
- type: Input
108
- }], removeHeaderBorder: [{
109
- type: Input
110
- }], removeContentPadding: [{
111
- type: Input
112
- }], isMobile: [{
113
- type: Input
114
- }], mo: [{
115
- type: Input
116
- }], avatar: [{
117
- type: Input
118
- }], rtl: [{
119
- type: Input
120
- }], isModal: [{
121
- type: Input
122
- }], hideTitle: [{
123
- type: Input
124
- }], hideClose: [{
125
- type: Input
126
- }], hidePin: [{
127
- type: Input
128
- }], mask: [{
129
- type: Input
130
- }], canSend: [{
131
- type: Input
132
- }], contentIsPage: [{
133
- type: Input
134
- }], contentDensity: [{
135
- type: Input
136
- }], deviceSize: [{
137
- type: Input
138
- }], dirValue: [{
139
- type: Input
140
- }], landscape: [{
141
- type: Input
142
- }], standalone: [{
143
- type: Input
144
- }], modernTabs: [{
145
- type: Input
146
- }], workflowButtons: [{
147
- type: Input
148
- }], layoutGridCol: [{
149
- type: Input
150
- }], colLg: [{
151
- type: Input
152
- }], colXl: [{
153
- type: Input
154
- }], colMd: [{
155
- type: Input
156
- }], formContentMaxWidth: [{
157
- type: Input
158
- }], formVisibilityStatus: [{
159
- type: Input
160
- }], titleRef: [{
161
- type: ViewChild,
162
- args: ['titleRef', { read: ViewContainerRef }]
163
- }], headerAvatarRef: [{
164
- type: ViewChild,
165
- args: ['headerAvatar']
166
- }], closeFormTemplate: [{
167
- type: ViewChild,
168
- args: ['closeForm', { static: true }]
169
- }] } });
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2Etc2ltcGxlLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2Etc2ltcGxlLWZvcm0vYmFyc2Etc2ltcGxlLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2Etc2ltcGxlLWZvcm0vYmFyc2Etc2ltcGxlLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBR04sU0FBUyxFQUNULGdCQUFnQixFQUNuQixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQ0gsYUFBYSxFQUliLFNBQVMsRUFFWixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBaUIsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7O0FBUWhFLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxhQUFhO0lBd0R2RCxZQUFtQixFQUFjO1FBQzdCLEtBQUssRUFBRSxDQUFDO1FBRE8sT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQXREdkIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3ZDLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDeEQsb0JBQW9CO1FBQ1YsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFxQjVCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUF3QjFCLDBCQUFxQixHQUFHLEtBQUssQ0FBQztJQVE5QixDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxTQUFTLEtB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Z0JBQ2lCLGlCQUFpQjtzQkFBMUQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5LCBUYWJQYW5lbENvbXBvbmVudCwgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgQmFzZUNvbXBvbmVudCxcbiAgICBCcmVhZENydW1iSW5mbyxcbiAgICBNZXRhb2JqZWN0RGF0YU1vZGVsLFxuICAgIExheW91dFNldHRpbmcsXG4gICAgaXNGaXJlZm94LFxuICAgIEZvcm1WaXNpYmlsaXR5U3RhdHVzXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcbmltcG9ydCB7IEZvcm1MYXlvdXRDb2wsIEdldEZvcm1MYXlvdXRHcmlkIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtYmFyc2Etc2ltcGxlLWZvcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS1zaW1wbGUtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYmFyc2Etc2ltcGxlLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBCYXJzYVNpbXBsZUZvcm1Db21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIEBWaWV3Q2hpbGQoJ2Zvcm1Ub29sYmFyJykgX3Rvb2xiYXJDb21wb25lbnQ6IFRvb2xiYXJDb21wb25lbnQ7XG4gICAgQE91dHB1dCgpIHRvb2xiYXJDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSB3b3JrZmxvd0Nob2ljZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgLyogZXNsaW50LWRpc2FibGUgKi9cbiAgICBAT3V0cHV0KCkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQElucHV0KCkgYnJlYWRDcnVtYnM6IEJyZWFkQ3J1bWJJbmZvW10gfCBudWxsO1xuICAgIEBJbnB1dCgpIHRvb2xiYXJWaXNpYmxlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHRvb2xiYXJJdGVtczogYW55W107XG4gICAgQElucHV0KCkgbGF5b3V0QWN0aW9uczogYW55W107XG4gICAgQElucHV0KCkgbGF5b3V0OTQ7XG4gICAgQElucHV0KCkgcGFyYW1ldGVyczogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICBASW5wdXQoKSB3b3JrZmxvd1BhbmVsVWk6IGFueTtcbiAgICBASW5wdXQoKSBjb250ZXh0OiBhbnk7XG4gICAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcbiAgICBASW5wdXQoKSBzdWJ0aXRsZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZmFjZXRMaXN0OiBhbnlbXTtcbiAgICBASW5wdXQoKSBmaWVsZERpY3Q6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfCB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcmVtb3ZlSGVhZGVyQm9yZGVyOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHJlbW92ZUNvbnRlbnRQYWRkaW5nOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzTW9iaWxlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIEBJbnB1dCgpIGF2YXRhcjogYW55O1xuICAgIEBJbnB1dCgpIHJ0bDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpc01vZGFsOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhpZGVUaXRsZSA9IHRydWU7XG4gICAgQElucHV0KCkgaGlkZUNsb3NlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhpZGVQaW46IGJvb2xlYW47XG4gICAgQElucHV0KCkgbWFzazogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjYW5TZW5kOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGNvbnRlbnRJc1BhZ2U6IGJvb2xlYW47XG4gICAgQElucHV0KCkgY29udGVudERlbnNpdHk6IENvbnRlbnREZW5zaXR5O1xuICAgIEBJbnB1dCgpIGRldmljZVNpemU6ICdzJyB8ICdtJyB8ICdsJyB8ICd4bCc7XG4gICAgQElucHV0KCkgZGlyVmFsdWU6ICdydGwnIHwgJ2x0cic7XG4gICAgQElucHV0KCkgbGFuZHNjYXBlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHN0YW5kYWxvbmU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbW9kZXJuVGFiczogTGF5b3V0U2V0dGluZ1tdO1xuICAgIEBJbnB1dCgpIHdvcmtmbG93QnV0dG9uczogYW55W107XG4gICAgQElucHV0KCkgbGF5b3V0R3JpZENvbDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGNvbExnOiBudW1iZXI7XG4gICAgQElucHV0KCkgY29sWGw6IG51bWJlcjtcbiAgICBASW5wdXQoKSBjb2xNZDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGZvcm1Db250ZW50TWF4V2lkdGg6IG51bWJlcjtcbiAgICBASW5wdXQoKSBmb3JtVmlzaWJpbGl0eVN0YXR1czogRm9ybVZpc2liaWxpdHlTdGF0dXM7XG4gICAgQFZpZXdDaGlsZCgndGl0bGVSZWYnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgdGl0bGVSZWY6IFZpZXdDb250YWluZXJSZWY7XG4gICAgQFZpZXdDaGlsZCgnaGVhZGVyQXZhdGFyJykgaGVhZGVyQXZhdGFyUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoJ2Nsb3NlRm9ybScsIHsgc3RhdGljOiB0cnVlIH0pIGNsb3NlRm9ybVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIHNlbGVjdGVkVGFiOiBhbnk7XG5cbiAgICB0b29sYmFyU2hvdWxkT3ZlcmZsb3cgPSBmYWxzZTtcbiAgICB3b3JrZmxvd0luZm9UZXh0OiBzdHJpbmc7XG4gICAgd29ya2Zsb3dCdXR0b25zQ29tYm9Nb2RlOiBib29sZWFuO1xuICAgIGlzRmlyZWZveDogYm9vbGVhbjtcbiAgICBsYXlvdXQxOiBGb3JtTGF5b3V0Q29sO1xuICAgIGxheW91dDI6IEZvcm1MYXlvdXRDb2w7XG4gICAgY29uc3RydWN0b3IocHVibGljIGVsOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuaXNGaXJlZm94ID0gaXNGaXJlZm94KCk7XG4gICAgICAgIHRoaXMuZmFjZXRMaXN0IHx8PSBbXTtcbiAgICAgICAgdGhpcy53b3JrZmxvd0luZm9UZXh0ID0gdGhpcy53b3JrZmxvd1BhbmVsVWk/LlNldHRpbmc/LldvcmtmbG93Py5JbmZvVGV4dDtcbiAgICAgICAgdGhpcy53b3JrZmxvd0J1dHRvbnNDb21ib01vZGUgPSB0aGlzLndvcmtmbG93UGFuZWxVaT8uU2V0dGluZz8uV29ya2Zsb3c/LkJ1dHRvbnNDb21ib01vZGU7XG5cbiAgICAgICAgY29uc3QgdG9vbGJhckJ1dHRvbnNDb3VudCA9IHRoaXMudG9vbGJhckl0ZW1zLmZpbHRlcigoYykgPT4gdHlwZW9mIGMgIT09ICdzdHJpbmcnICYmIGMudGV4dCAhPT0gJy0nKS5sZW5ndGg7XG4gICAgICAgIGlmICh0aGlzLmRldmljZVNpemUgPT09ICdzJyAmJiB0b29sYmFyQnV0dG9uc0NvdW50ID4gMSkge1xuICAgICAgICAgICAgdGhpcy50b29sYmFyU2hvdWxkT3ZlcmZsb3cgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRvb2xiYXJCdXR0b25zQ291bnQgPiA1KSB7XG4gICAgICAgICAgICAgICAgdGhpcy50b29sYmFyU2hvdWxkT3ZlcmZsb3cgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2hhbmxkZUxheW91dCgpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBmb3JtVmlzaWJpbGl0eVN0YXR1cyB9ID0gY2hhbmdlcztcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgZm9ybVZpc2liaWxpdHlTdGF0dXMgJiZcbiAgICAgICAgICAgICFmb3JtVmlzaWJpbGl0eVN0YXR1cy5maXJzdENoYW5nZSAmJlxuICAgICAgICAgICAgZm9ybVZpc2liaWxpdHlTdGF0dXMuY3VycmVudFZhbHVlID09PSAnVmlzaWJsZSdcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLl90b29sYmFyQ29tcG9uZW50Py51cGRhdGVDb2xsYXBzaWJsZUl0ZW1zKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgb25Ub29sYmFyQ2xpY2soYnRuLCBtZW51OiBhbnkgPSBudWxsKTogdm9pZCB7XG4gICAgICAgIGlmIChtZW51KSB7XG4gICAgICAgICAgICBtZW51LmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50b29sYmFyQ2xpY2suZW1pdChidG4pO1xuICAgIH1cbiAgICBvbldmQ2hvaWNlU2VsZWN0KHdmQ2hvaWNlKTogdm9pZCB7XG4gICAgICAgIHRoaXMud29ya2Zsb3dDaG9pY2VDbGljay5lbWl0KHdmQ2hvaWNlKTtcbiAgICB9XG4gICAgb25UYWJDaGFuZ2VkKHRhYjogVGFiUGFuZWxDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IHRhYi50aXRsZTtcbiAgICB9XG4gICAgZ2V0TnVtYmVyKHZhbCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBOdW1iZXIodmFsKTtcbiAgICB9XG4gICAgb25EeW5hbWljQ29tcG9uZW50RXZlbnRzKGUpIHt9XG4gICAgX2hhbmxkZUxheW91dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sYXlvdXQxID0gR2V0Rm9ybUxheW91dEdyaWQodHJ1ZSwgdGhpcy5jb2xYbCwgdGhpcy5jb2xMZywgdGhpcy5jb2xNZCk7XG4gICAgICAgIHRoaXMubGF5b3V0MiA9IEdldEZvcm1MYXlvdXRHcmlkKGZhbHNlLCB0aGlzLmNvbFhsLCB0aGlzLmNvbExnLCB0aGlzLmNvbE1kKTtcbiAgICB9XG59XG4iLCJAaWYgKG1hc2spIHtcbjxic3UtbWFzaz4gPC9ic3UtbWFzaz5cbn1cbjxmZC1sYXlvdXQtZ3JpZD5cbiAgICA8ZGl2IGZkTGF5b3V0R3JpZFJvdz5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJncmlkLWNvbFwiXG4gICAgICAgICAgICBbZmRMYXlvdXRHcmlkQ29sXT1cIjBcIlxuICAgICAgICAgICAgW2NvbE1kXT1cImxheW91dDEuY29sTWRcIlxuICAgICAgICAgICAgW2NvbExnXT1cImxheW91dDEuY29sTGdcIlxuICAgICAgICAgICAgW2NvbFhsXT1cImxheW91dDEuY29sWGxcIlxuICAgICAgICA+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmlkLWNvbFwiIFtmZExheW91dEdyaWRDb2xdPVwiMTJcIiBbY29sTWRdPVwiY29sTWRcIiBbY29sTGddPVwiY29sTGdcIiBbY29sWGxdPVwiY29sWGxcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzPy5MYXlvdXRDb21wb25lbnQgPyByZW5kZXJMYXlvdXRDb21wb25lbnQgOiByZW5kZXJEZWZhdWx0TGF5b3V0O1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IHBhcmFtZXRlcnM/LkxheW91dENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dDk0OiBsYXlvdXQ5NFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZ3JpZC1jb2xcIlxuICAgICAgICAgICAgW2ZkTGF5b3V0R3JpZENvbF09XCIwXCJcbiAgICAgICAgICAgIFtjb2xNZF09XCJsYXlvdXQyLmNvbE1kXCJcbiAgICAgICAgICAgIFtjb2xMZ109XCJsYXlvdXQyLmNvbExnXCJcbiAgICAgICAgICAgIFtjb2xYbF09XCJsYXlvdXQyLmNvbFhsXCJcbiAgICAgICAgPjwvZGl2PlxuICAgIDwvZGl2PlxuPC9mZC1sYXlvdXQtZ3JpZD5cblxuPG5nLXRlbXBsYXRlICNyZW5kZXJEZWZhdWx0TGF5b3V0IGxldC1sYXlvdXQ5ND1cImxheW91dDk0XCI+XG4gICAgPGJzdS1seS1sYXlvdXQtY29udGFpbmVyLW9mLXJvb3RcbiAgICAgICAgY2xhc3M9XCJzaG93LWJvdW5kYXJ5XCJcbiAgICAgICAgW2NvbmZpZ109XCJsYXlvdXQ5NFwiXG4gICAgICAgIFtpc1BhbmVsXT1cImZhbHNlXCJcbiAgICAgICAgW2lzUm9vdF09XCJ0cnVlXCJcbiAgICA+PC9ic3UtbHktbGF5b3V0LWNvbnRhaW5lci1vZi1yb290PlxuICAgIEBpZiAod29ya2Zsb3dCdXR0b25zICYmICFpc01vZGFsKSB7IEBpZiAod29ya2Zsb3dCdXR0b25zLmxlbmd0aCkge1xuICAgIDxkaXYgY2xhc3M9XCJ3b3JrZmxvdy1idXR0b25zXCI+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJmbGV4LWdyb3c6IDFcIj48L2Rpdj5cbiAgICAgICAgPGJzdS1sYXlvdXQtYWN0aW9uc1xuICAgICAgICAgICAgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBjb2x1bW4tZ2FwOiAxcmVtXCJcbiAgICAgICAgICAgIFtzaW1wbGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbYnV0dG9uc109XCJbXVwiXG4gICAgICAgICAgICBbd29ya2Zsb3dCdXR0b25zXT1cIndvcmtmbG93QnV0dG9uc1wiXG4gICAgICAgICAgICAodG9vbENsaWNrKT1cIm9uVG9vbGJhckNsaWNrKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvYnN1LWxheW91dC1hY3Rpb25zPlxuICAgIDwvZGl2PlxuICAgIH0gfVxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjcmVuZGVyTGF5b3V0Q29tcG9uZW50IGxldC1jb21wb25lbnQgbGV0LWxheW91dDk0PVwibGF5b3V0OTRcIj5cbiAgICA8Ym5yYy1keW5hbWljLWZvcm0tY29tcG9uZW50XG4gICAgICAgIFtjb21wb25lbnRdPVwiY29tcG9uZW50XCJcbiAgICAgICAgW3JlbW92ZUNvbnRlbnRQYWRkaW5nXT1cInJlbW92ZUNvbnRlbnRQYWRkaW5nXCJcbiAgICAgICAgW2JyZWFkQ3J1bWJzXT1cImJyZWFkQ3J1bWJzXCJcbiAgICAgICAgW2Rlc2NyaXB0aW9uXT1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgW3RpdGxlXT1cInRpdGxlXCJcbiAgICAgICAgW3N1YnRpdGxlXT1cInN1YnRpdGxlXCJcbiAgICAgICAgW3Rvb2xiYXJJdGVtc109XCJ0b29sYmFySXRlbXNcIlxuICAgICAgICBbbGF5b3V0QWN0aW9uc109XCJsYXlvdXRBY3Rpb25zXCJcbiAgICAgICAgW2ZhY2V0TGlzdF09XCJmYWNldExpc3RcIlxuICAgICAgICBbc2V0dGluZ3NdPVwiY29tcG9uZW50LlNldHRpbmdzXCJcbiAgICAgICAgW3dvcmtmbG93UGFuZWxVaV09XCJ3b3JrZmxvd1BhbmVsVWlcIlxuICAgICAgICBbaXNNb2JpbGVdPVwiaXNNb2JpbGVcIlxuICAgICAgICBbbW9dPVwibW9cIlxuICAgICAgICBbbGF5b3V0OTRdPVwibGF5b3V0OTRcIlxuICAgICAgICBbY29udGV4dF09XCJjb250ZXh0XCJcbiAgICAgICAgW3J0bF09XCJydGxcIlxuICAgICAgICBbZmllbGREaWN0XT1cImZpZWxkRGljdFwiXG4gICAgICAgIFttYXNrXT1cIm1hc2tcIlxuICAgICAgICBbZGlyVmFsdWVdPVwiZGlyVmFsdWVcIlxuICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcbiAgICAgICAgW2NvbnRlbnREZW5zaXR5XT1cImNvbnRlbnREZW5zaXR5XCJcbiAgICAgICAgW21vZGVyblRhYnNdPVwibW9kZXJuVGFic1wiXG4gICAgICAgIFthdmF0YXJdPVwiYXZhdGFyXCJcbiAgICAgICAgKGV2ZW50cyk9XCJvbkR5bmFtaWNDb21wb25lbnRFdmVudHMoJGV2ZW50KVwiXG4gICAgPjwvYm5yYy1keW5hbWljLWZvcm0tY29tcG9uZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,18 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { BaseComponent, UploadService } from 'barsa-novin-ray-core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@fundamental-ngx/core/tabs";
5
- import * as i2 from "@fundamental-ngx/core/message-page";
6
- export class BarsaTabRouteManagerComponent extends BaseComponent {
7
- constructor() {
8
- super(...arguments);
9
- this.pages = [];
10
- }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarsaTabRouteManagerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: BarsaTabRouteManagerComponent, selector: "bsu-barsa-tab-route-manager", providers: [UploadService], usesInheritance: true, ngImport: i0, template: "@if(pages?.length){\n<fd-tab-list>\n <fd-tab title=\"Link 1\"> Content for tab 1 </fd-tab>\n</fd-tab-list>\n}@else {\n<fd-message-page [hasIcon]=\"false\">\n <fd-message-page-title>\u06AF\u0632\u0627\u0631\u0634\u06CC \u0627\u0646\u062A\u062E\u0627\u0628 \u0646\u0634\u062F\u0647 \u0627\u0633\u062A</fd-message-page-title>\n</fd-message-page>\n}\n", styles: [":root{--sapBackgroundColor: #fdfdfd}\n"], dependencies: [{ kind: "component", type: i1.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "defaultTab", "selectDefaultOnTabsChange", "focusFirstFocusableElement"], outputs: ["selectedTabChange", "selectedTabIndexChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i1.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "component", type: i2.MessagePageComponent, selector: "fd-message-page", inputs: ["class", "type", "hasIcon", "glyphFont", "glyph"] }, { kind: "component", type: i2.MessagePageTitleComponent, selector: "fd-message-page-title" }] }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarsaTabRouteManagerComponent, decorators: [{
15
- type: Component,
16
- args: [{ selector: 'bsu-barsa-tab-route-manager', providers: [UploadService], template: "@if(pages?.length){\n<fd-tab-list>\n <fd-tab title=\"Link 1\"> Content for tab 1 </fd-tab>\n</fd-tab-list>\n}@else {\n<fd-message-page [hasIcon]=\"false\">\n <fd-message-page-title>\u06AF\u0632\u0627\u0631\u0634\u06CC \u0627\u0646\u062A\u062E\u0627\u0628 \u0646\u0634\u062F\u0647 \u0627\u0633\u062A</fd-message-page-title>\n</fd-message-page>\n}\n", styles: [":root{--sapBackgroundColor: #fdfdfd}\n"] }]
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtdGFiLXJvdXRlLW1hbmFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdGFiLXJvdXRlLW1hbmFnZXIvYmFyc2EtdGFiLXJvdXRlLW1hbmFnZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdGFiLXJvdXRlLW1hbmFnZXIvYmFyc2EtdGFiLXJvdXRlLW1hbmFnZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBUXBFLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxhQUFhO0lBTmhFOztRQU9JLFVBQUssR0FBZSxFQUFFLENBQUM7S0FDMUI7OEdBRlksNkJBQTZCO2tHQUE3Qiw2QkFBNkIsc0RBRjNCLENBQUMsYUFBYSxDQUFDLGlEQ1A5QixtV0FTQTs7MkZEQWEsNkJBQTZCO2tCQU56QyxTQUFTOytCQUNJLDZCQUE2QixhQUc1QixDQUFDLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCwgVXBsb2FkU2VydmljZSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtYmFyc2EtdGFiLXJvdXRlLW1hbmFnZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS10YWItcm91dGUtbWFuYWdlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYmFyc2EtdGFiLXJvdXRlLW1hbmFnZXIuY29tcG9uZW50LmNzcyddLFxuICAgIHByb3ZpZGVyczogW1VwbG9hZFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIEJhcnNhVGFiUm91dGVNYW5hZ2VyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gICAgcGFnZXM6IEFycmF5PGFueT4gPSBbXTtcbn1cbiIsIkBpZihwYWdlcz8ubGVuZ3RoKXtcbjxmZC10YWItbGlzdD5cbiAgICA8ZmQtdGFiIHRpdGxlPVwiTGluayAxXCI+IENvbnRlbnQgZm9yIHRhYiAxIDwvZmQtdGFiPlxuPC9mZC10YWItbGlzdD5cbn1AZWxzZSB7XG48ZmQtbWVzc2FnZS1wYWdlIFtoYXNJY29uXT1cImZhbHNlXCI+XG4gICAgPGZkLW1lc3NhZ2UtcGFnZS10aXRsZT7ar9iy2KfYsdi024wg2KfZhtiq2K7Yp9ioINmG2LTYr9mHINin2LPYqjwvZmQtbWVzc2FnZS1wYWdlLXRpdGxlPlxuPC9mZC1tZXNzYWdlLXBhZ2U+XG59XG4iXX0=
@@ -1,29 +0,0 @@
1
- import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
2
- import { FormPanelService, BaseColumnPropsComponent, ColumnService } 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 "../layout-control/layout-control.component";
6
- import * as i3 from "../column-renderer/column-renderer.component";
7
- export class BarsaTableColumnComponent extends BaseColumnPropsComponent {
8
- ngOnInit() {
9
- super.ngOnInit();
10
- const columnValue = this.mo[this.column.Name];
11
- if (!this.customComponent && columnValue) {
12
- const customComponent = columnValue;
13
- if (customComponent.Selector && customComponent.Module) {
14
- this.customComponent = customComponent;
15
- }
16
- }
17
- }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarsaTableColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: BarsaTableColumnComponent, selector: "bsu-barsa-table-column", inputs: { disableEllapsis: "disableEllapsis", fdTextMode: "fdTextMode" }, providers: [FormPanelService, ColumnService], usesInheritance: true, ngImport: i0, template: "<div\n [class.editMode]=\"editMode\"\n [class.isdirty]=\"isdirty\"\n #divDom\n style=\"display: flex; width: 100%\"\n [style.column-gap]=\"column.$MergedFieldsToColumn?.length ? '0.2rem' : null\"\n>\n @if (customComponent && customComponent.Selector) {\n <bnrc-dynamic-item-component\n [component]=\"customComponent\"\n [mo]=\"mo\"\n [isChecked]=\"isChecked\"\n [setting]=\"detailsComponentSetting\"\n [parameters]=\"customComponent.Settings\"\n [column]=\"column\"\n [value]=\"value\"\n [disableEllapsis]=\"disableEllapsis\"\n [fdTextMode]=\"fdTextMode\"\n [icon]=\"icon\"\n [editMode]=\"editMode\"\n [rtl]=\"rtl\"\n [isMobile]=\"isMobile\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [index]=\"index\"\n [allColumns]=\"allColumns\"\n [containerDom]=\"divDom\"\n ></bnrc-dynamic-item-component>\n } @else {\n <bsu-column-renderer\n [mo]=\"mo\"\n [containerDom]=\"divDom\"\n [column]=\"column\"\n [disableEllapsis]=\"disableEllapsis\"\n [fdTextMode]=\"fdTextMode\"\n [value]=\"value | bbbTranslate\"\n [icon]=\"icon\"\n [editMode]=\"editMode\"\n [isChecked]=\"isChecked\"\n [index]=\"index\"\n [isMobile]=\"isMobile\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [formLayoutShowLabel]=\"false\"\n [deviceSize]=\"deviceSize\"\n [controlUi]=\"column.Caption | controlUi: layout94:column.Name\"\n (keyup.control.enter)=\"save.emit($event)\"\n (keyup.esc)=\"cancel.emit($event)\"\n (keydown.Tab)=\"tab.emit($event)\"\n ></bsu-column-renderer>\n } @if (editMode) { @for (fieldCaption of column.$MergedFieldsToColumn; track fieldCaption) { @if (fieldCaption |\n controlUi: layout94; as layoutConfig) {\n <bsu-layout-control\n [caption]=\"fieldCaption\"\n [config]=\"layoutConfig\"\n [showLabel]=\"false\"\n [inlineEdit]=\"true\"\n (keyup.control.enter)=\"save.emit($event)\"\n (keyup.esc)=\"cancel.emit($event)\"\n (keydown.Tab)=\"tab.emit($event)\"\n ></bsu-layout-control>\n } } }\n</div>\n", styles: [":host{display:contents;width:100%}:host>div.isdirty{background:url(/Lib/ui/resources/images/default/grid/dirty.gif);background-repeat:no-repeat}:host ::ng-deep .row-group.mobile-mode{border-bottom:var(--sapList_BorderWidth, .0625rem) solid var(--sapList_BorderColor, #e4e4e4)!important}:host ::ng-deep .editMode bnrc-field-ui{padding:0;margin:0}:host ::ng-deep .editMode bsu-ui-simple-combo{margin:0!important}bsu-layout-control:not(.hide-form-item){align-items:center;height:100%;min-width:auto;width:auto}td{vertical-align:middle}tr.brule-message td{border:0}.row-group{background-color:var(--sapBackgroundColor, \"#f7f7ff\")}.cell-expand{cursor:pointer;display:inline-flex;justify-content:center;align-items:center;font-size:.75rem;color:#0854a0;color:var(--sapContent_IconColor, #0854a0);min-width:2rem;max-width:2rem}.save-error{color:var(--sapField_InvalidColor)}.save-success{color:var(--sapField_SuccessColor)}.showdetails-on td{border-bottom:none!important}.flow{max-width:100%}.flow-item{display:flex}.flow-item fd-micro-process-flow-icon{width:1.375rem;height:1.375rem}.flow-item h5{padding-right:.3rem}.cartable-template{padding:.5rem 0}\n"], dependencies: [{ kind: "component", type: i1.DynamicItemComponent, selector: "bnrc-dynamic-item-component", inputs: ["mo", "allColumns", "moDataList", "columns", "column", "index", "last", "deviceName", "deviceSize", "rtl", "editMode", "setting", "parameters", "contextMenuItems", "canView", "showRowNumber", "rowNumber", "formSetting", "conditionalFormats", "disableOverflowContextMenu", "navigationArrow", "isCheckList", "fields", "isChecked", "layout94$", "inlineEditMode", "isNewInlineMo", "allowInlineEdit", "typeDefId", "rowIndicator", "rowIndicatorColor", "UlvMainCtrlr"] }, { kind: "component", type: i2.LayoutControlComponent, selector: "bsu-layout-control", inputs: ["inlineEdit", "caption", "focusControl", "showLabel", "maxLabelWidth", "hasHorizontalText", "contentDensity", "flex", "RefreshLabel", "SetVisible"], outputs: ["events"] }, { kind: "component", type: i3.ColumnRendererComponent, selector: "bsu-column-renderer,[colRenderer]", inputs: ["column", "mo", "index", "editMode", "customRowHeight", "controlUi", "formLayoutShowLabel", "isChecked", "isNewInlineMo", "containerDom", "disableEllapsis", "rtl", "isMobile", "fdTextMode", "deviceName", "deviceSize", "value", "icon"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i1.ControlUiPipe, name: "controlUi" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
- }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarsaTableColumnComponent, decorators: [{
22
- type: Component,
23
- args: [{ selector: 'bsu-barsa-table-column', providers: [FormPanelService, ColumnService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [class.editMode]=\"editMode\"\n [class.isdirty]=\"isdirty\"\n #divDom\n style=\"display: flex; width: 100%\"\n [style.column-gap]=\"column.$MergedFieldsToColumn?.length ? '0.2rem' : null\"\n>\n @if (customComponent && customComponent.Selector) {\n <bnrc-dynamic-item-component\n [component]=\"customComponent\"\n [mo]=\"mo\"\n [isChecked]=\"isChecked\"\n [setting]=\"detailsComponentSetting\"\n [parameters]=\"customComponent.Settings\"\n [column]=\"column\"\n [value]=\"value\"\n [disableEllapsis]=\"disableEllapsis\"\n [fdTextMode]=\"fdTextMode\"\n [icon]=\"icon\"\n [editMode]=\"editMode\"\n [rtl]=\"rtl\"\n [isMobile]=\"isMobile\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [index]=\"index\"\n [allColumns]=\"allColumns\"\n [containerDom]=\"divDom\"\n ></bnrc-dynamic-item-component>\n } @else {\n <bsu-column-renderer\n [mo]=\"mo\"\n [containerDom]=\"divDom\"\n [column]=\"column\"\n [disableEllapsis]=\"disableEllapsis\"\n [fdTextMode]=\"fdTextMode\"\n [value]=\"value | bbbTranslate\"\n [icon]=\"icon\"\n [editMode]=\"editMode\"\n [isChecked]=\"isChecked\"\n [index]=\"index\"\n [isMobile]=\"isMobile\"\n [rtl]=\"rtl\"\n [deviceName]=\"deviceName\"\n [formLayoutShowLabel]=\"false\"\n [deviceSize]=\"deviceSize\"\n [controlUi]=\"column.Caption | controlUi: layout94:column.Name\"\n (keyup.control.enter)=\"save.emit($event)\"\n (keyup.esc)=\"cancel.emit($event)\"\n (keydown.Tab)=\"tab.emit($event)\"\n ></bsu-column-renderer>\n } @if (editMode) { @for (fieldCaption of column.$MergedFieldsToColumn; track fieldCaption) { @if (fieldCaption |\n controlUi: layout94; as layoutConfig) {\n <bsu-layout-control\n [caption]=\"fieldCaption\"\n [config]=\"layoutConfig\"\n [showLabel]=\"false\"\n [inlineEdit]=\"true\"\n (keyup.control.enter)=\"save.emit($event)\"\n (keyup.esc)=\"cancel.emit($event)\"\n (keydown.Tab)=\"tab.emit($event)\"\n ></bsu-layout-control>\n } } }\n</div>\n", styles: [":host{display:contents;width:100%}:host>div.isdirty{background:url(/Lib/ui/resources/images/default/grid/dirty.gif);background-repeat:no-repeat}:host ::ng-deep .row-group.mobile-mode{border-bottom:var(--sapList_BorderWidth, .0625rem) solid var(--sapList_BorderColor, #e4e4e4)!important}:host ::ng-deep .editMode bnrc-field-ui{padding:0;margin:0}:host ::ng-deep .editMode bsu-ui-simple-combo{margin:0!important}bsu-layout-control:not(.hide-form-item){align-items:center;height:100%;min-width:auto;width:auto}td{vertical-align:middle}tr.brule-message td{border:0}.row-group{background-color:var(--sapBackgroundColor, \"#f7f7ff\")}.cell-expand{cursor:pointer;display:inline-flex;justify-content:center;align-items:center;font-size:.75rem;color:#0854a0;color:var(--sapContent_IconColor, #0854a0);min-width:2rem;max-width:2rem}.save-error{color:var(--sapField_InvalidColor)}.save-success{color:var(--sapField_SuccessColor)}.showdetails-on td{border-bottom:none!important}.flow{max-width:100%}.flow-item{display:flex}.flow-item fd-micro-process-flow-icon{width:1.375rem;height:1.375rem}.flow-item h5{padding-right:.3rem}.cartable-template{padding:.5rem 0}\n"] }]
24
- }], propDecorators: { disableEllapsis: [{
25
- type: Input
26
- }], fdTextMode: [{
27
- type: Input
28
- }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtdGFibGUtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2JhcnNhLXRhYmxlLWNvbHVtbi9iYXJzYS10YWJsZS1jb2x1bW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdGFibGUtY29sdW1uL2JhcnNhLXRhYmxlLWNvbHVtbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWEsd0JBQXdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBUzVHLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSx3QkFBd0I7SUFHbkUsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksV0FBVyxFQUFFLENBQUM7WUFDdkMsTUFBTSxlQUFlLEdBQWMsV0FBVyxDQUFDO1lBQy9DLElBQUksZUFBZSxDQUFDLFFBQVEsSUFBSSxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3JELElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO1lBQzNDLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQzs4R0FaUSx5QkFBeUI7a0dBQXpCLHlCQUF5QiwySEFIdkIsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLENBQUMsaURDUGhELHl0RUErREE7OzJGRHJEYSx5QkFBeUI7a0JBUHJDLFNBQVM7K0JBQ0ksd0JBQXdCLGFBR3ZCLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxDQUFDLG1CQUMzQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybVBhbmVsU2VydmljZSwgRWpyYXlPbGdvLCBCYXNlQ29sdW1uUHJvcHNDb21wb25lbnQsIENvbHVtblNlcnZpY2UgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnN1LWJhcnNhLXRhYmxlLWNvbHVtbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhcnNhLXRhYmxlLWNvbHVtbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYmFyc2EtdGFibGUtY29sdW1uLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbRm9ybVBhbmVsU2VydmljZSwgQ29sdW1uU2VydmljZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQmFyc2FUYWJsZUNvbHVtbkNvbXBvbmVudCBleHRlbmRzIEJhc2VDb2x1bW5Qcm9wc0NvbXBvbmVudCB7XG4gICAgQElucHV0KCkgZGlzYWJsZUVsbGFwc2lzOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGZkVGV4dE1vZGU6IGJvb2xlYW47XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIGNvbnN0IGNvbHVtblZhbHVlID0gdGhpcy5tb1t0aGlzLmNvbHVtbi5OYW1lXTtcbiAgICAgICAgaWYgKCF0aGlzLmN1c3RvbUNvbXBvbmVudCAmJiBjb2x1bW5WYWx1ZSkge1xuICAgICAgICAgICAgY29uc3QgY3VzdG9tQ29tcG9uZW50ID0gPEVqcmF5T2xnbz5jb2x1bW5WYWx1ZTtcbiAgICAgICAgICAgIGlmIChjdXN0b21Db21wb25lbnQuU2VsZWN0b3IgJiYgY3VzdG9tQ29tcG9uZW50Lk1vZHVsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY3VzdG9tQ29tcG9uZW50ID0gY3VzdG9tQ29tcG9uZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIFtjbGFzcy5lZGl0TW9kZV09XCJlZGl0TW9kZVwiXG4gICAgW2NsYXNzLmlzZGlydHldPVwiaXNkaXJ0eVwiXG4gICAgI2RpdkRvbVxuICAgIHN0eWxlPVwiZGlzcGxheTogZmxleDsgd2lkdGg6IDEwMCVcIlxuICAgIFtzdHlsZS5jb2x1bW4tZ2FwXT1cImNvbHVtbi4kTWVyZ2VkRmllbGRzVG9Db2x1bW4/Lmxlbmd0aCA/ICcwLjJyZW0nIDogbnVsbFwiXG4+XG4gICAgQGlmIChjdXN0b21Db21wb25lbnQgJiYgY3VzdG9tQ29tcG9uZW50LlNlbGVjdG9yKSB7XG4gICAgPGJucmMtZHluYW1pYy1pdGVtLWNvbXBvbmVudFxuICAgICAgICBbY29tcG9uZW50XT1cImN1c3RvbUNvbXBvbmVudFwiXG4gICAgICAgIFttb109XCJtb1wiXG4gICAgICAgIFtpc0NoZWNrZWRdPVwiaXNDaGVja2VkXCJcbiAgICAgICAgW3NldHRpbmddPVwiZGV0YWlsc0NvbXBvbmVudFNldHRpbmdcIlxuICAgICAgICBbcGFyYW1ldGVyc109XCJjdXN0b21Db21wb25lbnQuU2V0dGluZ3NcIlxuICAgICAgICBbY29sdW1uXT1cImNvbHVtblwiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgIFtkaXNhYmxlRWxsYXBzaXNdPVwiZGlzYWJsZUVsbGFwc2lzXCJcbiAgICAgICAgW2ZkVGV4dE1vZGVdPVwiZmRUZXh0TW9kZVwiXG4gICAgICAgIFtpY29uXT1cImljb25cIlxuICAgICAgICBbZWRpdE1vZGVdPVwiZWRpdE1vZGVcIlxuICAgICAgICBbcnRsXT1cInJ0bFwiXG4gICAgICAgIFtpc01vYmlsZV09XCJpc01vYmlsZVwiXG4gICAgICAgIFtkZXZpY2VOYW1lXT1cImRldmljZU5hbWVcIlxuICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcbiAgICAgICAgW2luZGV4XT1cImluZGV4XCJcbiAgICAgICAgW2FsbENvbHVtbnNdPVwiYWxsQ29sdW1uc1wiXG4gICAgICAgIFtjb250YWluZXJEb21dPVwiZGl2RG9tXCJcbiAgICA+PC9ibnJjLWR5bmFtaWMtaXRlbS1jb21wb25lbnQ+XG4gICAgfSBAZWxzZSB7XG4gICAgPGJzdS1jb2x1bW4tcmVuZGVyZXJcbiAgICAgICAgW21vXT1cIm1vXCJcbiAgICAgICAgW2NvbnRhaW5lckRvbV09XCJkaXZEb21cIlxuICAgICAgICBbY29sdW1uXT1cImNvbHVtblwiXG4gICAgICAgIFtkaXNhYmxlRWxsYXBzaXNdPVwiZGlzYWJsZUVsbGFwc2lzXCJcbiAgICAgICAgW2ZkVGV4dE1vZGVdPVwiZmRUZXh0TW9kZVwiXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZSB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgIFtpY29uXT1cImljb25cIlxuICAgICAgICBbZWRpdE1vZGVdPVwiZWRpdE1vZGVcIlxuICAgICAgICBbaXNDaGVja2VkXT1cImlzQ2hlY2tlZFwiXG4gICAgICAgIFtpbmRleF09XCJpbmRleFwiXG4gICAgICAgIFtpc01vYmlsZV09XCJpc01vYmlsZVwiXG4gICAgICAgIFtydGxdPVwicnRsXCJcbiAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXG4gICAgICAgIFtmb3JtTGF5b3V0U2hvd0xhYmVsXT1cImZhbHNlXCJcbiAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXG4gICAgICAgIFtjb250cm9sVWldPVwiY29sdW1uLkNhcHRpb24gfCBjb250cm9sVWk6IGxheW91dDk0OmNvbHVtbi5OYW1lXCJcbiAgICAgICAgKGtleXVwLmNvbnRyb2wuZW50ZXIpPVwic2F2ZS5lbWl0KCRldmVudClcIlxuICAgICAgICAoa2V5dXAuZXNjKT1cImNhbmNlbC5lbWl0KCRldmVudClcIlxuICAgICAgICAoa2V5ZG93bi5UYWIpPVwidGFiLmVtaXQoJGV2ZW50KVwiXG4gICAgPjwvYnN1LWNvbHVtbi1yZW5kZXJlcj5cbiAgICB9IEBpZiAoZWRpdE1vZGUpIHsgQGZvciAoZmllbGRDYXB0aW9uIG9mIGNvbHVtbi4kTWVyZ2VkRmllbGRzVG9Db2x1bW47IHRyYWNrIGZpZWxkQ2FwdGlvbikgeyBAaWYgKGZpZWxkQ2FwdGlvbiB8XG4gICAgY29udHJvbFVpOiBsYXlvdXQ5NDsgYXMgbGF5b3V0Q29uZmlnKSB7XG4gICAgPGJzdS1sYXlvdXQtY29udHJvbFxuICAgICAgICBbY2FwdGlvbl09XCJmaWVsZENhcHRpb25cIlxuICAgICAgICBbY29uZmlnXT1cImxheW91dENvbmZpZ1wiXG4gICAgICAgIFtzaG93TGFiZWxdPVwiZmFsc2VcIlxuICAgICAgICBbaW5saW5lRWRpdF09XCJ0cnVlXCJcbiAgICAgICAgKGtleXVwLmNvbnRyb2wuZW50ZXIpPVwic2F2ZS5lbWl0KCRldmVudClcIlxuICAgICAgICAoa2V5dXAuZXNjKT1cImNhbmNlbC5lbWl0KCRldmVudClcIlxuICAgICAgICAoa2V5ZG93bi5UYWIpPVwidGFiLmVtaXQoJGV2ZW50KVwiXG4gICAgPjwvYnN1LWxheW91dC1jb250cm9sPlxuICAgIH0gfSB9XG48L2Rpdj5cbiJdfQ==