barsa-sap-ui 2.2.73 → 2.2.75

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 (256) hide show
  1. package/fesm2022/barsa-sap-ui.mjs +758 -762
  2. package/fesm2022/barsa-sap-ui.mjs.map +1 -1
  3. package/lib/models/grid-data-provider.d.ts +1 -1
  4. package/lib/notification-popup.service.d.ts +1 -1
  5. package/lib/ui-grid-columns/ui-grid-columns.component.d.ts +1 -1
  6. package/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.d.ts +1 -1
  7. package/lib/ui-pictures-info/ui-pictures-info.component.d.ts +2 -2
  8. package/lib/ui-table-view/ui-table-view.component.d.ts +4 -4
  9. package/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.d.ts +1 -1
  10. package/lib/ul-notify-popup/ul-notify-popup.component.d.ts +1 -1
  11. package/lib/ulv-toolbar/ulv-toolbar.component.d.ts +2 -2
  12. package/package.json +3 -5
  13. package/esm2022/barsa-sap-ui.mjs +0 -5
  14. package/esm2022/lib/apply-conditional-formmatings.directive.mjs +0 -90
  15. package/esm2022/lib/avatar-size.pipe.mjs +0 -41
  16. package/esm2022/lib/barsa-answer-card/barsa-answer-card.component.mjs +0 -41
  17. package/esm2022/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +0 -153
  18. package/esm2022/lib/barsa-bar-download-file/barsa-bar-download-file.component.mjs +0 -30
  19. package/esm2022/lib/barsa-bar-panel/barsa-bar-panel.component.mjs +0 -23
  20. package/esm2022/lib/barsa-base-panel/barsa-base-layout-panel.component.mjs +0 -29
  21. package/esm2022/lib/barsa-breadcrumbs/barsa-breadcrumbs.component.mjs +0 -24
  22. package/esm2022/lib/barsa-card-banner/barsa-card-banner.component.mjs +0 -38
  23. package/esm2022/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +0 -24
  24. package/esm2022/lib/barsa-card-row-payam/barsa-card-row-payam.component.mjs +0 -31
  25. package/esm2022/lib/barsa-cartable-form/barsa-cartable-form.component.mjs +0 -41
  26. package/esm2022/lib/barsa-cartable-template/barsa-cartable-template.component.mjs +0 -24
  27. package/esm2022/lib/barsa-chat/barsa-chat.component.mjs +0 -84
  28. package/esm2022/lib/barsa-chat/chat.model.mjs +0 -8
  29. package/esm2022/lib/barsa-chat-content/barsa-chat-content.component.mjs +0 -13
  30. package/esm2022/lib/barsa-chat-content-toolbar/barsa-chat-content-toolbar.component.mjs +0 -22
  31. package/esm2022/lib/barsa-chat-list/barsa-chat-list.component.mjs +0 -117
  32. package/esm2022/lib/barsa-chat-message/barsa-chat-message.component.mjs +0 -79
  33. package/esm2022/lib/barsa-chat-thread/barsa-chat-thread.component.mjs +0 -22
  34. package/esm2022/lib/barsa-chat-threads-list/barsa-chat-threads-list.component.mjs +0 -13
  35. package/esm2022/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.mjs +0 -15
  36. package/esm2022/lib/barsa-chip/barsa-chip.component.mjs +0 -72
  37. package/esm2022/lib/barsa-column-indicator/barsa-column-indicator.component.mjs +0 -23
  38. package/esm2022/lib/barsa-column-rownumber/barsa-column-rownumber.component.mjs +0 -14
  39. package/esm2022/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.mjs +0 -14
  40. package/esm2022/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.mjs +0 -26
  41. package/esm2022/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +0 -71
  42. package/esm2022/lib/barsa-dynamic-field/barsa-dynamic-field.component.mjs +0 -40
  43. package/esm2022/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.mjs +0 -61
  44. package/esm2022/lib/barsa-field-key-value/barsa-field-key-value.component.mjs +0 -45
  45. package/esm2022/lib/barsa-form-layout-panel/barsa-form-layout-panel.component.mjs +0 -58
  46. package/esm2022/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +0 -58
  47. package/esm2022/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.mjs +0 -27
  48. package/esm2022/lib/barsa-group-cartable/barsa-cartable-group.component.mjs +0 -94
  49. package/esm2022/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.mjs +0 -22
  50. package/esm2022/lib/barsa-img-skeleton/barsa-img-skeleton.component.mjs +0 -25
  51. package/esm2022/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.mjs +0 -37
  52. package/esm2022/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +0 -42
  53. package/esm2022/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +0 -30
  54. package/esm2022/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.mjs +0 -23
  55. package/esm2022/lib/barsa-modal/barsa-modal.component.mjs +0 -43
  56. package/esm2022/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +0 -83
  57. package/esm2022/lib/barsa-network-offline/barsa-network-offline.component.mjs +0 -57
  58. package/esm2022/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.mjs +0 -159
  59. package/esm2022/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.mjs +0 -17
  60. package/esm2022/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.mjs +0 -30
  61. package/esm2022/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.mjs +0 -14
  62. package/esm2022/lib/barsa-question-answer-form/barsa-question-answer-form.component.mjs +0 -34
  63. package/esm2022/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.mjs +0 -46
  64. package/esm2022/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.mjs +0 -79
  65. package/esm2022/lib/barsa-question-post/barsa-question-post.component.mjs +0 -30
  66. package/esm2022/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.mjs +0 -31
  67. package/esm2022/lib/barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component.mjs +0 -28
  68. package/esm2022/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +0 -103
  69. package/esm2022/lib/barsa-row-inline-actionlist/barsa-row-inline-actionlist.component.mjs +0 -26
  70. package/esm2022/lib/barsa-sap-ui-routing.module.mjs +0 -18
  71. package/esm2022/lib/barsa-sap-ui.module.mjs +0 -369
  72. package/esm2022/lib/barsa-search-form/barsa-search-form.component.mjs +0 -30
  73. package/esm2022/lib/barsa-simple-form/barsa-simple-form.component.mjs +0 -171
  74. package/esm2022/lib/barsa-tab-route-manager/barsa-tab-route-manager.component.mjs +0 -18
  75. package/esm2022/lib/barsa-table-column/barsa-table-column.component.mjs +0 -29
  76. package/esm2022/lib/barsa-table-header/barsa-table-header.component.mjs +0 -230
  77. package/esm2022/lib/barsa-table-row/barsa-table-row.component.mjs +0 -102
  78. package/esm2022/lib/barsa-tag-categories/barsa-tag-categories.component.mjs +0 -60
  79. package/esm2022/lib/barsa-tag-chip/barsa-tag-chip.component.mjs +0 -26
  80. package/esm2022/lib/barsa-tags-category-row/barsa-tags-category-row.component.mjs +0 -23
  81. package/esm2022/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.mjs +0 -37
  82. package/esm2022/lib/barsa-theme/barsa-theme.component.mjs +0 -121
  83. package/esm2022/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +0 -419
  84. package/esm2022/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.mjs +0 -36
  85. package/esm2022/lib/barsa-tree-item/barsa-tree-item.component.mjs +0 -153
  86. package/esm2022/lib/barsa-tree-item/node-has-one-depth-level.pipe.mjs +0 -20
  87. package/esm2022/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +0 -248
  88. package/esm2022/lib/blob-viewer/blob-viewer.component.mjs +0 -79
  89. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +0 -52
  90. package/esm2022/lib/captcha-field/captcha-field.component.mjs +0 -33
  91. package/esm2022/lib/card-item/card-item.component.mjs +0 -79
  92. package/esm2022/lib/card-view-content/card-view-content.component.mjs +0 -46
  93. package/esm2022/lib/col-renderer.directive.mjs +0 -47
  94. package/esm2022/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +0 -56
  95. package/esm2022/lib/column-matrix-renderer/matrix-value.pipe.mjs +0 -61
  96. package/esm2022/lib/column-renderer/column-renderer.component.mjs +0 -108
  97. package/esm2022/lib/constants.mjs +0 -450
  98. package/esm2022/lib/contentDensity.directive.mjs +0 -25
  99. package/esm2022/lib/custom-date-time/custom-date-time.component.mjs +0 -41
  100. package/esm2022/lib/device-info-field-base.mjs +0 -24
  101. package/esm2022/lib/dialog-handler.directive.mjs +0 -29
  102. package/esm2022/lib/download-files.directive.mjs +0 -34
  103. package/esm2022/lib/dynamic-page-size.pipe.mjs +0 -27
  104. package/esm2022/lib/file-in-dialog/file-in-dialog.component.mjs +0 -44
  105. package/esm2022/lib/file-viewer/file-viewer.component.mjs +0 -47
  106. package/esm2022/lib/file-viewer-content/file-viewer-content.component.mjs +0 -80
  107. package/esm2022/lib/file-viewer-popover/file-viewer-popover.component.mjs +0 -40
  108. package/esm2022/lib/form-dialog/form-dialog.component.mjs +0 -175
  109. package/esm2022/lib/form-dialog-less/form-dialog-less.component.mjs +0 -50
  110. package/esm2022/lib/form-toolbar/form-toolbar.component.mjs +0 -62
  111. package/esm2022/lib/form-toolbar-button/form-toolbar-button.component.mjs +0 -45
  112. package/esm2022/lib/form-wizard/form-wizard.component.mjs +0 -22
  113. package/esm2022/lib/fullscreen-dialog.directive.mjs +0 -60
  114. package/esm2022/lib/fullscreen-files.directive.mjs +0 -43
  115. package/esm2022/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +0 -220
  116. package/esm2022/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +0 -215
  117. package/esm2022/lib/global-search/global-search.component.mjs +0 -27
  118. package/esm2022/lib/global-search-module/global-search-module.component.mjs +0 -29
  119. package/esm2022/lib/global-search-panel/global-search-panel.component.mjs +0 -25
  120. package/esm2022/lib/header-avatar/header-avatar.component.mjs +0 -18
  121. package/esm2022/lib/htree-create-new/htree-create-new.component.mjs +0 -48
  122. package/esm2022/lib/hyperlink/hyperlink.component.mjs +0 -23
  123. package/esm2022/lib/index.mjs +0 -467
  124. package/esm2022/lib/inline-save-and-cancel/inline-save-and-cancel.component.mjs +0 -32
  125. package/esm2022/lib/layout-actions/layout-actions.component.mjs +0 -70
  126. package/esm2022/lib/layout-control/layout-control.component.mjs +0 -320
  127. package/esm2022/lib/layout-wizard/layout-wizard.component.mjs +0 -180
  128. package/esm2022/lib/list-item/list-item.component.mjs +0 -34
  129. package/esm2022/lib/ly-empty-space/ly-empty-space.component.mjs +0 -42
  130. package/esm2022/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +0 -82
  131. package/esm2022/lib/ly-label/ly-label.component.mjs +0 -39
  132. package/esm2022/lib/ly-layout-container/ly-layout-container.component.mjs +0 -83
  133. package/esm2022/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +0 -24
  134. package/esm2022/lib/ly-layout-field-label/ly-layout-field-label.component.mjs +0 -24
  135. package/esm2022/lib/ly-layout-panel/ly-layout-panel.component.mjs +0 -92
  136. package/esm2022/lib/ly-line/ly-line.component.mjs +0 -56
  137. package/esm2022/lib/ly-simple-label/ly-simple-label.component.mjs +0 -22
  138. package/esm2022/lib/ly-tab-container/ly-tab-container.component.mjs +0 -44
  139. package/esm2022/lib/ly-tab-page/ly-tab-page.component.mjs +0 -49
  140. package/esm2022/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +0 -51
  141. package/esm2022/lib/manage-filters-report/manage-filters-report.component.mjs +0 -43
  142. package/esm2022/lib/mask/mask.component.mjs +0 -22
  143. package/esm2022/lib/message-strip/message-strip.component.mjs +0 -29
  144. package/esm2022/lib/models/grid-data-provider.mjs +0 -121
  145. package/esm2022/lib/models/grid-view.mjs +0 -2
  146. package/esm2022/lib/models/index.mjs +0 -2
  147. package/esm2022/lib/no-data/no-data.component.mjs +0 -30
  148. package/esm2022/lib/notification-item/notification-item.component.mjs +0 -57
  149. package/esm2022/lib/notification-item-actions/notification-item-actions.component.mjs +0 -79
  150. package/esm2022/lib/notification-popup.service.mjs +0 -92
  151. package/esm2022/lib/object-status-icon.pipe.mjs +0 -27
  152. package/esm2022/lib/progress-indicator/progress-indicator.component.mjs +0 -18
  153. package/esm2022/lib/report-navigator/report-navigator.component.mjs +0 -75
  154. package/esm2022/lib/report-new-top-form/report-new-top-form.component.mjs +0 -61
  155. package/esm2022/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +0 -35
  156. package/esm2022/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +0 -97
  157. package/esm2022/lib/report-search-panel-save/report-search-panel-save.component.mjs +0 -88
  158. package/esm2022/lib/report-tree-base.mjs +0 -387
  159. package/esm2022/lib/report-view-renderer.directive.mjs +0 -395
  160. package/esm2022/lib/responsive-toolbar/responsive-toolbar.component.mjs +0 -50
  161. package/esm2022/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +0 -84
  162. package/esm2022/lib/rich-text-static/rich-text-static.component.mjs +0 -74
  163. package/esm2022/lib/sap-font-class.pipe.mjs +0 -30
  164. package/esm2022/lib/sap-font.pipe.mjs +0 -30
  165. package/esm2022/lib/sap-size.pipe.mjs +0 -28
  166. package/esm2022/lib/sap-ui-report-base.component.mjs +0 -819
  167. package/esm2022/lib/search-panel/search-panel.component.mjs +0 -63
  168. package/esm2022/lib/static-text/static-text.component.mjs +0 -15
  169. package/esm2022/lib/table-th.directive.mjs +0 -87
  170. package/esm2022/lib/title/title.component.mjs +0 -15
  171. package/esm2022/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.mjs +0 -44
  172. package/esm2022/lib/ui-bpmn-viewer/ui-bpmn-viewer.component.mjs +0 -33
  173. package/esm2022/lib/ui-button/ui-button.component.mjs +0 -32
  174. package/esm2022/lib/ui-calendar/ui-calendar.component.mjs +0 -54
  175. package/esm2022/lib/ui-card-view/ui-card-view.component.mjs +0 -63
  176. package/esm2022/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +0 -43
  177. package/esm2022/lib/ui-check-box/ui-check-box.component.mjs +0 -44
  178. package/esm2022/lib/ui-color-ui/ui-color-ui.component.mjs +0 -50
  179. package/esm2022/lib/ui-container-with-button/ui-container-with-button.component.mjs +0 -38
  180. package/esm2022/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +0 -191
  181. package/esm2022/lib/ui-date-time/ui-date-time.component.mjs +0 -150
  182. package/esm2022/lib/ui-editable-grid/ui-editable-grid.component.mjs +0 -111
  183. package/esm2022/lib/ui-exception-form/ui-exception-form.component.mjs +0 -53
  184. package/esm2022/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +0 -138
  185. package/esm2022/lib/ui-form-panel/ui-form-panel.component.mjs +0 -104
  186. package/esm2022/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +0 -33
  187. package/esm2022/lib/ui-graph/ui-graph.component.mjs +0 -17
  188. package/esm2022/lib/ui-grid/ui-grid.component.mjs +0 -26
  189. package/esm2022/lib/ui-grid-columns/ui-grid-columns.component.mjs +0 -43
  190. package/esm2022/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +0 -66
  191. package/esm2022/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +0 -75
  192. package/esm2022/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +0 -58
  193. package/esm2022/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +0 -123
  194. package/esm2022/lib/ui-html-viewer/ui-html-viewer.component.mjs +0 -16
  195. package/esm2022/lib/ui-info-bar-panel/ui-info-bar-panel.component.mjs +0 -11
  196. package/esm2022/lib/ui-label/ui-label.component.mjs +0 -12
  197. package/esm2022/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +0 -405
  198. package/esm2022/lib/ui-list-view/ui-list-view.component.mjs +0 -85
  199. package/esm2022/lib/ui-map/ui-map.component.mjs +0 -68
  200. package/esm2022/lib/ui-matrix-view/ui-matrix-view.component.mjs +0 -124
  201. package/esm2022/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +0 -19
  202. package/esm2022/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.mjs +0 -14
  203. package/esm2022/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +0 -55
  204. package/esm2022/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +0 -450
  205. package/esm2022/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +0 -28
  206. package/esm2022/lib/ui-multi-select-card/ui-multi-select-card.component.mjs +0 -37
  207. package/esm2022/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.mjs +0 -59
  208. package/esm2022/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +0 -117
  209. package/esm2022/lib/ui-multi-select-radio/ui-multi-select-radio.component.mjs +0 -36
  210. package/esm2022/lib/ui-multi-select-slider/ui-multi-select-slider.component.mjs +0 -56
  211. package/esm2022/lib/ui-multi-select-smile/ui-multi-select-smile.component.mjs +0 -28
  212. package/esm2022/lib/ui-notification-view/ui-notification-view.component.mjs +0 -47
  213. package/esm2022/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +0 -33
  214. package/esm2022/lib/ui-num-int-slider/ui-num-int-slider.component.mjs +0 -27
  215. package/esm2022/lib/ui-num-int-ui/ui-num-int-ui.component.mjs +0 -21
  216. package/esm2022/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +0 -271
  217. package/esm2022/lib/ui-picture-file/ui-picture-file.component.mjs +0 -103
  218. package/esm2022/lib/ui-pictures-info/ui-pictures-info.component.mjs +0 -260
  219. package/esm2022/lib/ui-radio-group/ui-radio-group.component.mjs +0 -48
  220. package/esm2022/lib/ui-read-only-field/ui-read-only-field.component.mjs +0 -36
  221. package/esm2022/lib/ui-report-carousel-view/ui-report-carousel-view.component.mjs +0 -140
  222. package/esm2022/lib/ui-report-container/ui-report-container.component.mjs +0 -66
  223. package/esm2022/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.mjs +0 -24
  224. package/esm2022/lib/ui-simple-combo/ui-simple-combo.component.mjs +0 -55
  225. package/esm2022/lib/ui-single-picture/ui-single-picture.component.mjs +0 -36
  226. package/esm2022/lib/ui-switch-button/ui-switch-button.component.mjs +0 -20
  227. package/esm2022/lib/ui-table-view/ui-table-view.component.mjs +0 -296
  228. package/esm2022/lib/ui-text-area/ui-text-area.component.mjs +0 -50
  229. package/esm2022/lib/ui-text-field/ui-text-field.component.mjs +0 -52
  230. package/esm2022/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.mjs +0 -48
  231. package/esm2022/lib/ui-time-span/ui-time-span.component.mjs +0 -24
  232. package/esm2022/lib/ui-tinymce/ui-tinymce.component.mjs +0 -50
  233. package/esm2022/lib/ui-tree/ui-tree.component.mjs +0 -115
  234. package/esm2022/lib/ui-tree-view/ui-tree-view.component.mjs +0 -100
  235. package/esm2022/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +0 -23
  236. package/esm2022/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +0 -313
  237. package/esm2022/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +0 -25
  238. package/esm2022/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +0 -93
  239. package/esm2022/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +0 -119
  240. package/esm2022/lib/ul-notify-popup/ul-notify-popup.component.mjs +0 -32
  241. package/esm2022/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +0 -48
  242. package/esm2022/lib/ulv-column-settings/ulv-column-settings.component.mjs +0 -53
  243. package/esm2022/lib/ulv-context-menu/ulv-context-menu.component.mjs +0 -116
  244. package/esm2022/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +0 -43
  245. package/esm2022/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +0 -196
  246. package/esm2022/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +0 -44
  247. package/esm2022/lib/ulv-paging/ulv-paging.component.mjs +0 -84
  248. package/esm2022/lib/ulv-selection/ulv-selection.component.mjs +0 -65
  249. package/esm2022/lib/ulv-settings/ulv-settings.component.mjs +0 -116
  250. package/esm2022/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +0 -54
  251. package/esm2022/lib/ulv-toolbar/ulv-toolbar.component.mjs +0 -177
  252. package/esm2022/lib/upload-file-status.pipe.mjs +0 -29
  253. package/esm2022/lib/util-chat-time-badge.pipe.mjs +0 -18
  254. package/esm2022/lib/util-date-to-hh-mm.pipe.mjs +0 -23
  255. package/esm2022/lib/wizard-layout.directive.mjs +0 -104
  256. package/esm2022/public-api.mjs +0 -242
@@ -1,27 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { LayoutPanelBaseComponent, LayoutService, FindLayoutSettingFromLayout94 } 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
- import * as i3 from "@fundamental-ngx/core/card";
7
- import * as i4 from "@fundamental-ngx/core/layout-grid";
8
- export class BarsaGridLayoutPanelComponent extends LayoutPanelBaseComponent {
9
- constructor() {
10
- super(...arguments);
11
- this.layoutControls = [];
12
- }
13
- ngOnInit() {
14
- super.ngOnInit();
15
- this.parameters?.GridColumns?.MoDataList?.forEach((mo) => {
16
- const gridColumn = mo;
17
- gridColumn.$LayoutGroup = FindLayoutSettingFromLayout94(this.config, gridColumn.LayoutItemCaption);
18
- });
19
- }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaGridLayoutPanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BarsaGridLayoutPanelComponent, selector: "bsu-barsa-grid-layout-panel", providers: [LayoutService], usesInheritance: true, ngImport: i0, template: "@if (parameters?.CardMode) {\r\n<fd-card [style.margin]=\"parameters?.Margin\">\r\n <fd-card-content>\r\n <ng-container *ngTemplateOutlet=\"layoutGridTpl; context: { $implicit: true }\"></ng-container>\r\n </fd-card-content>\r\n</fd-card>\r\n} @else { @if (config) {\r\n<fd-layout-grid [style.margin]=\"parameters?.CardMode ? null : parameters?.Margin\">\r\n <div fdLayoutGridRow>\r\n @for (gridCol of parameters?.GridColumns?.MoDataList; track gridCol) {\r\n <div\r\n class=\"container\"\r\n [fdLayoutGridCol]=\"gridCol.LayoutGridCol\"\r\n [colMd]=\"gridCol.ColMd\"\r\n [colLg]=\"gridCol.ColLg\"\r\n [colXl]=\"gridCol.ColXl\"\r\n >\r\n @if (gridCol.$LayoutGroup) {\r\n <bnrc-dynamic-layout\r\n [config]=\"gridCol.$LayoutGroup\"\r\n [selector]=\"'bsu-ly-layout-panel'\"\r\n [name]=\"'LyLayoutPanelComponent'\"\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 }\r\n <!-- <bsu-ly-layout-panel [hideTitle]=\"true\" class=\"panel-inside-layout\"> </bsu-ly-layout-panel> -->\r\n </div>\r\n }\r\n </div>\r\n</fd-layout-grid>\r\n} }\r\n<ng-template #layoutGridTpl let-cardMode>\r\n @if (config) {\r\n <fd-layout-grid [style.margin]=\"cardMode ? null : parameters?.Margin\">\r\n <div fdLayoutGridRow>\r\n @for (gridCol of parameters?.GridColumns?.MoDataList; track gridCol) {\r\n <div\r\n class=\"container\"\r\n [fdLayoutGridCol]=\"gridCol.LayoutGridCol\"\r\n [colMd]=\"gridCol.ColMd\"\r\n [colLg]=\"gridCol.ColLg\"\r\n [colXl]=\"gridCol.ColXl\"\r\n >\r\n @if (gridCol.$LayoutGroup) {\r\n <bnrc-dynamic-layout\r\n [config]=\"gridCol.$LayoutGroup\"\r\n [selector]=\"'bsu-ly-layout-panel'\"\r\n [name]=\"'LyLayoutPanelComponent'\"\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 }\r\n <!-- <bsu-ly-layout-panel [hideTitle]=\"true\" class=\"panel-inside-layout\"> </bsu-ly-layout-panel> -->\r\n </div>\r\n }\r\n </div>\r\n </fd-layout-grid>\r\n }\r\n</ng-template>\r\n", styles: [":host fd-card-header{cursor:default}:host fd-card-header:hover{background:var(--fdCard_Background_Color)}:host .container ::ng-deep>bsu-ly-layout-panel>fd-panel>.fd-panel>.fd-panel__content{padding:0}\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.CardComponent, selector: "fd-card", inputs: ["badge", "badgeIcon", "badgeColor", "badgeColorSecondary", "badgeStatus", "badgeAriaLabel", "secondBadge", "secondBadgeIcon", "secondBadgeColor", "secondBadgeColorSecondary", "secondBadgeStatus", "secondBadgeAriaLabel", "isLoading", "cardType", "id", "ariaRoledescription", "ariaDescription", "ariaLabel", "role", "interactive", "selected", "ariaPosinset", "ariaSetsize"], outputs: ["ariaPosinsetChange", "ariaSetsizeChange"] }, { kind: "component", type: i3.CardContentComponent, selector: "fd-card-content" }, { kind: "component", type: i4.LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["class", "noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: i4.LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl", "class"] }, { kind: "directive", type: i4.LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
- }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaGridLayoutPanelComponent, decorators: [{
24
- type: Component,
25
- args: [{ selector: 'bsu-barsa-grid-layout-panel', changeDetection: ChangeDetectionStrategy.OnPush, providers: [LayoutService], standalone: false, template: "@if (parameters?.CardMode) {\r\n<fd-card [style.margin]=\"parameters?.Margin\">\r\n <fd-card-content>\r\n <ng-container *ngTemplateOutlet=\"layoutGridTpl; context: { $implicit: true }\"></ng-container>\r\n </fd-card-content>\r\n</fd-card>\r\n} @else { @if (config) {\r\n<fd-layout-grid [style.margin]=\"parameters?.CardMode ? null : parameters?.Margin\">\r\n <div fdLayoutGridRow>\r\n @for (gridCol of parameters?.GridColumns?.MoDataList; track gridCol) {\r\n <div\r\n class=\"container\"\r\n [fdLayoutGridCol]=\"gridCol.LayoutGridCol\"\r\n [colMd]=\"gridCol.ColMd\"\r\n [colLg]=\"gridCol.ColLg\"\r\n [colXl]=\"gridCol.ColXl\"\r\n >\r\n @if (gridCol.$LayoutGroup) {\r\n <bnrc-dynamic-layout\r\n [config]=\"gridCol.$LayoutGroup\"\r\n [selector]=\"'bsu-ly-layout-panel'\"\r\n [name]=\"'LyLayoutPanelComponent'\"\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 }\r\n <!-- <bsu-ly-layout-panel [hideTitle]=\"true\" class=\"panel-inside-layout\"> </bsu-ly-layout-panel> -->\r\n </div>\r\n }\r\n </div>\r\n</fd-layout-grid>\r\n} }\r\n<ng-template #layoutGridTpl let-cardMode>\r\n @if (config) {\r\n <fd-layout-grid [style.margin]=\"cardMode ? null : parameters?.Margin\">\r\n <div fdLayoutGridRow>\r\n @for (gridCol of parameters?.GridColumns?.MoDataList; track gridCol) {\r\n <div\r\n class=\"container\"\r\n [fdLayoutGridCol]=\"gridCol.LayoutGridCol\"\r\n [colMd]=\"gridCol.ColMd\"\r\n [colLg]=\"gridCol.ColLg\"\r\n [colXl]=\"gridCol.ColXl\"\r\n >\r\n @if (gridCol.$LayoutGroup) {\r\n <bnrc-dynamic-layout\r\n [config]=\"gridCol.$LayoutGroup\"\r\n [selector]=\"'bsu-ly-layout-panel'\"\r\n [name]=\"'LyLayoutPanelComponent'\"\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 }\r\n <!-- <bsu-ly-layout-panel [hideTitle]=\"true\" class=\"panel-inside-layout\"> </bsu-ly-layout-panel> -->\r\n </div>\r\n }\r\n </div>\r\n </fd-layout-grid>\r\n }\r\n</ng-template>\r\n", styles: [":host fd-card-header{cursor:default}:host fd-card-header:hover{background:var(--fdCard_Background_Color)}:host .container ::ng-deep>bsu-ly-layout-panel>fd-panel>.fd-panel>.fd-panel__content{padding:0}\n"] }]
26
- }] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtZ3JpZC1sYXlvdXQtcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtZ3JpZC1sYXlvdXQtcGFuZWwvYmFyc2EtZ3JpZC1sYXlvdXQtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtZ3JpZC1sYXlvdXQtcGFuZWwvYmFyc2EtZ3JpZC1sYXlvdXQtcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQ0gsd0JBQXdCLEVBQ3hCLGFBQWEsRUFHYiw2QkFBNkIsRUFFaEMsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBVTlCLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSx3QkFBd0I7SUFSM0U7O1FBU0ksbUJBQWMsR0FBb0IsRUFBRSxDQUFDO0tBU3hDO0lBUEcsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsRUFBdUIsRUFBRSxFQUFFO1lBQzFFLE1BQU0sVUFBVSxHQUFpQyxFQUFFLENBQUM7WUFDcEQsVUFBVSxDQUFDLFlBQVksR0FBRyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3ZHLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0FUUSw2QkFBNkI7bUdBQTdCLDZCQUE2QixzREFIM0IsQ0FBQyxhQUFhLENBQUMsaURDZjlCLHM1RkFvRUE7OzRGRGxEYSw2QkFBNkI7a0JBUnpDLFNBQVM7K0JBQ0ksNkJBQTZCLG1CQUd0Qix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsYUFBYSxDQUFDLGNBQ2QsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gICAgTGF5b3V0UGFuZWxCYXNlQ29tcG9uZW50LFxyXG4gICAgTGF5b3V0U2VydmljZSxcclxuICAgIExheW91dFNldHRpbmcsXHJcbiAgICBNZXRhb2JqZWN0RGF0YU1vZGVsLFxyXG4gICAgRmluZExheW91dFNldHRpbmdGcm9tTGF5b3V0OTQsXHJcbiAgICBNb0ZvclJlcG9ydE1vZGVsXHJcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS1ncmlkLWxheW91dC1wYW5lbCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYmFyc2EtZ3JpZC1sYXlvdXQtcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYmFyc2EtZ3JpZC1sYXlvdXQtcGFuZWwuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgcHJvdmlkZXJzOiBbTGF5b3V0U2VydmljZV0sXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFyc2FHcmlkTGF5b3V0UGFuZWxDb21wb25lbnQgZXh0ZW5kcyBMYXlvdXRQYW5lbEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgbGF5b3V0Q29udHJvbHM6IExheW91dFNldHRpbmdbXSA9IFtdO1xyXG4gICAgcGFyYW1ldGVyczogQmFyc2FHcmlkTGF5b3V0UGFuZWxTZXR0aW5nO1xyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLnBhcmFtZXRlcnM/LkdyaWRDb2x1bW5zPy5Nb0RhdGFMaXN0Py5mb3JFYWNoKChtbzogTWV0YW9iamVjdERhdGFNb2RlbCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBncmlkQ29sdW1uID0gPEdyaWRMYXlvdXRQYW5lbENvbHVtblNldHRpbmc+bW87XHJcbiAgICAgICAgICAgIGdyaWRDb2x1bW4uJExheW91dEdyb3VwID0gRmluZExheW91dFNldHRpbmdGcm9tTGF5b3V0OTQodGhpcy5jb25maWcsIGdyaWRDb2x1bW4uTGF5b3V0SXRlbUNhcHRpb24pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbmludGVyZmFjZSBCYXJzYUdyaWRMYXlvdXRQYW5lbFNldHRpbmcgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIEdyaWRDb2x1bW5zOiBNb0ZvclJlcG9ydE1vZGVsO1xyXG4gICAgTWFyZ2luOiBzdHJpbmc7XHJcbiAgICBDYXJkTW9kZTogYm9vbGVhbjtcclxufVxyXG5pbnRlcmZhY2UgR3JpZExheW91dFBhbmVsQ29sdW1uU2V0dGluZyBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xyXG4gICAgTGF5b3V0R3JpZENvbDogbnVtYmVyO1xyXG4gICAgQ29sTGc6IG51bWJlcjtcclxuICAgIENvbFhsOiBudW1iZXI7XHJcbiAgICBDb2xNZDogbnVtYmVyO1xyXG4gICAgTGF5b3V0SXRlbUNhcHRpb246IHN0cmluZztcclxuICAgICRMYXlvdXRHcm91cDogTGF5b3V0U2V0dGluZyB8IG51bGw7XHJcbn1cclxuIiwiQGlmIChwYXJhbWV0ZXJzPy5DYXJkTW9kZSkge1xyXG48ZmQtY2FyZCBbc3R5bGUubWFyZ2luXT1cInBhcmFtZXRlcnM/Lk1hcmdpblwiPlxyXG4gICAgPGZkLWNhcmQtY29udGVudD5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGF5b3V0R3JpZFRwbDsgY29udGV4dDogeyAkaW1wbGljaXQ6IHRydWUgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9mZC1jYXJkLWNvbnRlbnQ+XHJcbjwvZmQtY2FyZD5cclxufSBAZWxzZSB7IEBpZiAoY29uZmlnKSB7XHJcbjxmZC1sYXlvdXQtZ3JpZCBbc3R5bGUubWFyZ2luXT1cInBhcmFtZXRlcnM/LkNhcmRNb2RlID8gbnVsbCA6IHBhcmFtZXRlcnM/Lk1hcmdpblwiPlxyXG4gICAgPGRpdiBmZExheW91dEdyaWRSb3c+XHJcbiAgICAgICAgQGZvciAoZ3JpZENvbCBvZiBwYXJhbWV0ZXJzPy5HcmlkQ29sdW1ucz8uTW9EYXRhTGlzdDsgdHJhY2sgZ3JpZENvbCkge1xyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJjb250YWluZXJcIlxyXG4gICAgICAgICAgICBbZmRMYXlvdXRHcmlkQ29sXT1cImdyaWRDb2wuTGF5b3V0R3JpZENvbFwiXHJcbiAgICAgICAgICAgIFtjb2xNZF09XCJncmlkQ29sLkNvbE1kXCJcclxuICAgICAgICAgICAgW2NvbExnXT1cImdyaWRDb2wuQ29sTGdcIlxyXG4gICAgICAgICAgICBbY29sWGxdPVwiZ3JpZENvbC5Db2xYbFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICBAaWYgKGdyaWRDb2wuJExheW91dEdyb3VwKSB7XHJcbiAgICAgICAgICAgIDxibnJjLWR5bmFtaWMtbGF5b3V0XHJcbiAgICAgICAgICAgICAgICBbY29uZmlnXT1cImdyaWRDb2wuJExheW91dEdyb3VwXCJcclxuICAgICAgICAgICAgICAgIFtzZWxlY3Rvcl09XCInYnN1LWx5LWxheW91dC1wYW5lbCdcIlxyXG4gICAgICAgICAgICAgICAgW25hbWVdPVwiJ0x5TGF5b3V0UGFuZWxDb21wb25lbnQnXCJcclxuICAgICAgICAgICAgICAgIFttb2R1bGVdPVwiJ0JhcnNhU2FwVWknXCJcclxuICAgICAgICAgICAgICAgIFttb2R1bGVGaWxlTmFtZV09XCInQmFyc2FTYXBVaSdcIlxyXG4gICAgICAgICAgICAgICAgW21heExhYmVsV2lkdGhdPVwiKG1heExhYmVsV2lkdGgkIHwgYXN5bmMpISFcIlxyXG4gICAgICAgICAgICAgICAgW2ZsZXhdPVwiaXNTZWFyY2hQYW5lbCA/ICd1bnNldCcgOiBjb25maWcuQm91bmRzLndpZHRoXCJcclxuICAgICAgICAgICAgICAgIFtpc1NlYXJjaFBhbmVsXT1cImlzU2VhcmNoUGFuZWxcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvYm5yYy1keW5hbWljLWxheW91dD5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8IS0tIDxic3UtbHktbGF5b3V0LXBhbmVsIFtoaWRlVGl0bGVdPVwidHJ1ZVwiIGNsYXNzPVwicGFuZWwtaW5zaWRlLWxheW91dFwiPiA8L2JzdS1seS1sYXlvdXQtcGFuZWw+IC0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgIDwvZGl2PlxyXG48L2ZkLWxheW91dC1ncmlkPlxyXG59IH1cclxuPG5nLXRlbXBsYXRlICNsYXlvdXRHcmlkVHBsIGxldC1jYXJkTW9kZT5cclxuICAgIEBpZiAoY29uZmlnKSB7XHJcbiAgICA8ZmQtbGF5b3V0LWdyaWQgW3N0eWxlLm1hcmdpbl09XCJjYXJkTW9kZSA/IG51bGwgOiBwYXJhbWV0ZXJzPy5NYXJnaW5cIj5cclxuICAgICAgICA8ZGl2IGZkTGF5b3V0R3JpZFJvdz5cclxuICAgICAgICAgICAgQGZvciAoZ3JpZENvbCBvZiBwYXJhbWV0ZXJzPy5HcmlkQ29sdW1ucz8uTW9EYXRhTGlzdDsgdHJhY2sgZ3JpZENvbCkge1xyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNvbnRhaW5lclwiXHJcbiAgICAgICAgICAgICAgICBbZmRMYXlvdXRHcmlkQ29sXT1cImdyaWRDb2wuTGF5b3V0R3JpZENvbFwiXHJcbiAgICAgICAgICAgICAgICBbY29sTWRdPVwiZ3JpZENvbC5Db2xNZFwiXHJcbiAgICAgICAgICAgICAgICBbY29sTGddPVwiZ3JpZENvbC5Db2xMZ1wiXHJcbiAgICAgICAgICAgICAgICBbY29sWGxdPVwiZ3JpZENvbC5Db2xYbFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIEBpZiAoZ3JpZENvbC4kTGF5b3V0R3JvdXApIHtcclxuICAgICAgICAgICAgICAgIDxibnJjLWR5bmFtaWMtbGF5b3V0XHJcbiAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJncmlkQ29sLiRMYXlvdXRHcm91cFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3NlbGVjdG9yXT1cIidic3UtbHktbGF5b3V0LXBhbmVsJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwiJ0x5TGF5b3V0UGFuZWxDb21wb25lbnQnXCJcclxuICAgICAgICAgICAgICAgICAgICBbbW9kdWxlXT1cIidCYXJzYVNhcFVpJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW21vZHVsZUZpbGVOYW1lXT1cIidCYXJzYVNhcFVpJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW21heExhYmVsV2lkdGhdPVwiKG1heExhYmVsV2lkdGgkIHwgYXN5bmMpISFcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtmbGV4XT1cImlzU2VhcmNoUGFuZWwgPyAndW5zZXQnIDogY29uZmlnLkJvdW5kcy53aWR0aFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2lzU2VhcmNoUGFuZWxdPVwiaXNTZWFyY2hQYW5lbFwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8L2JucmMtZHluYW1pYy1sYXlvdXQ+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxic3UtbHktbGF5b3V0LXBhbmVsIFtoaWRlVGl0bGVdPVwidHJ1ZVwiIGNsYXNzPVwicGFuZWwtaW5zaWRlLWxheW91dFwiPiA8L2JzdS1seS1sYXlvdXQtcGFuZWw+IC0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9mZC1sYXlvdXQtZ3JpZD5cclxuICAgIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -1,94 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { BaseViewItemPropsComponent } from 'barsa-novin-ray-core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@fundamental-ngx/core/list";
6
- import * as i3 from "barsa-novin-ray-core";
7
- export class BarsaCartableGroupComponent extends BaseViewItemPropsComponent {
8
- constructor() {
9
- super(...arguments);
10
- this.isLastBuiltin = false;
11
- }
12
- ngOnInit() {
13
- super.ngOnInit();
14
- if (this.index === 0) {
15
- this._calcAll(this.moDataList);
16
- }
17
- this._checkSystemi();
18
- }
19
- ngOnChanges(changes) {
20
- super.ngOnChanges(changes);
21
- let detectChanges = false;
22
- const keys = ['mo', 'moDataList', 'isChecked'];
23
- keys.forEach((key) => {
24
- if (changes[key] && !changes[key].firstChange) {
25
- this[key] = changes[key].currentValue;
26
- detectChanges = true;
27
- if (key === 'moDataList') {
28
- this._calcAll(changes[key].currentValue);
29
- this._checkSystemi();
30
- }
31
- }
32
- });
33
- if (detectChanges) {
34
- this.detectChanges();
35
- }
36
- }
37
- detectChanges() {
38
- this._cdr.detectChanges();
39
- }
40
- _rowCheckAll() {
41
- if (this.allItemChecked) {
42
- return;
43
- }
44
- this.allItemChecked = true;
45
- this.events.emit({ title: 'deselectAll', data: null });
46
- this.events.emit({ title: 'rowCheck', data: { mo: { Id: '01' }, index: -1 } });
47
- }
48
- onClick(isAll) {
49
- if (isAll) {
50
- this._rowCheckAll();
51
- }
52
- else {
53
- this._rowCheck();
54
- }
55
- }
56
- _rowCheck() {
57
- if (this.isChecked) {
58
- return;
59
- }
60
- this.events.emit({ title: 'rowCheck', data: { mo: this.mo, index: this.index } });
61
- }
62
- _checkSystemi() {
63
- this.isBuiltin = this._reportValuePipe.transform('سیستمی', this.mo, this.allColumns);
64
- if (this.index + 1 < this.moDataList.length && this.isBuiltin) {
65
- this.isLastBuiltin = !this._reportValuePipe.transform('سیستمی', this.moDataList[this.index + 1], this.allColumns);
66
- }
67
- }
68
- _calcAll(moDataList) {
69
- if (this.index !== 0) {
70
- return;
71
- }
72
- let allCount = 0;
73
- let unreadCount = 0;
74
- let isChecked = false;
75
- moDataList.forEach((c) => {
76
- if (c.$IsChecked) {
77
- isChecked = true;
78
- }
79
- const allCountTemp = this._reportValuePipe.transform(this.parameters.AllCountField, c, this.allColumns);
80
- allCount += isNaN(+allCountTemp) ? 0 : +allCountTemp;
81
- const unreadCountTemp = this._reportValuePipe.transform(this.parameters.UnreadCountField, c, this.allColumns);
82
- unreadCount += isNaN(+unreadCountTemp) ? 0 : +unreadCountTemp;
83
- });
84
- this.allItemChecked = !isChecked;
85
- this.allItem = { allCount, unreadCount };
86
- }
87
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaCartableGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
88
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BarsaCartableGroupComponent, selector: "bsu-barsa-cartable-group", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<!-- <li\r\n[interactive]=\"true\"\r\nfd-list-item\r\n[selected]=\"allItemChecked ? true : false\"\r\n(click)=\"onRowCheckAll()\"\r\n*ngIf=\"allItem\"\r\n>\r\n<div class=\"title-container\">\r\n <div style=\"background-color: transparent; width: 0.2rem; height: 100%\"></div>\r\n <span fd-list-title>\r\n <div style=\"height: 100%; display: flex; align-items: center\">\r\n <span [style.fontSize]=\"allItem.unreadCount > 0 ? 'bold' : null\">{{ '\u0647\u0645\u0647 \u0645\u0648\u0627\u0631\u062F' | bbbTranslate }}</span>\r\n <ng-container *ngIf=\"allItem.unreadCount > 0\">\r\n <strong style=\"padding: 0 2px; direction: ltr\">({{ allItem.unreadCount }})</strong>\r\n </ng-container>\r\n <span style=\"padding: 0 5px\" *ngIf=\"allItem.allCount > 0\">{{ allItem.allCount }}</span>\r\n </div>\r\n </span>\r\n</div>\r\n</li> -->\r\n\r\n<ng-container>\r\n @if (allItem) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: '\u0647\u0645\u0647 \u0645\u0648\u0627\u0631\u062F' | bbbTranslate,\r\n unreadCount: allItem.unreadCount,\r\n allCount: allItem.allCount,\r\n backColor: 'transparent',\r\n isAll: true,\r\n isChecked: allItemChecked\r\n }\r\n \"\r\n ></ng-container>\r\n }\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: parameters.CartableGroupField | rval: mo:allColumns:true,\r\n unreadCount: parameters.UnreadCountField | rval: mo:allColumns,\r\n allCount: parameters.AllCountField | rval: mo:allColumns,\r\n backColor: (columns[0].Caption | rval: mo:columns),\r\n isChecked: isChecked,\r\n icon: parameters.IconField | rval: mo:allColumns:true,\r\n isBuiltin: isBuiltin\r\n }\r\n \"\r\n ></ng-container>\r\n</ng-container>\r\n@if (isLastBuiltin) {\r\n<li fd-list-item class=\"space\">\r\n <span fd-list-title></span>\r\n</li>\r\n}\r\n<!-- <ng-container *ngIf=\"last\">\r\n<ul fd-list>\r\n <li fd-list-group-header>\r\n <span fd-list-title style=\"background:#f7f7f7\"></span>\r\n </li>\r\n <ng-container *ngFor=\"let mo2 of moDataList\">\r\n <ng-container *ngIf=\"'\u0633\u06CC\u0633\u062A\u0645\u06CC' | rval: mo2:allColumns\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: parameters.CartableGroupField | rval: mo2:allColumns:true,\r\n unreadCount: parameters.UnreadCountField | rval: mo2:allColumns,\r\n allCount: parameters.AllCountField | rval: mo2:allColumns,\r\n backColor: columns[0].Caption | rval: mo2:columns,\r\n isChecked: isChecked\r\n }\r\n \"\r\n ></ng-container>\r\n </ng-container>\r\n</ng-container>\r\n</ul>\r\n</ng-container> -->\r\n\r\n<!-- <li fd-list-item [selected]=\"isChecked ? true : false\" (click)=\"onRowCheck()\" [interactive]=\"true\">\r\n<div class=\"title-container\">\r\n <div [style.backgroundColor]=\"columns[0].Caption | rval: mo:columns\" style=\"width: 0.2rem; height: 100%\"></div>\r\n <span fd-list-title>\r\n <div style=\"height: 100%; display: flex; align-items: center\">\r\n <span [style.fontSize]=\"parameters.UnreadCountField | rval: mo:allColumns:(true ? 'bold' : null)\"\r\n >{{ parameters.CartableGroupField | rval: mo:allColumns:true }}\r\n </span>\r\n <ng-container *ngIf=\"parameters.UnreadCountField | rval: mo:allColumns:true\">\r\n <strong style=\"padding: 0 2px; direction: ltr\"\r\n >({{ parameters.UnreadCountField | rval: mo:allColumns:true }})</strong\r\n >\r\n </ng-container>\r\n <span style=\"padding: 0 5px\">{{ parameters.AllCountField | rval: mo:allColumns:true }}</span>\r\n </div>\r\n </span>\r\n </div>\r\n</li> -->\r\n<ng-template\r\n #itemTemplate\r\n let-caption\r\n let-unreadCount=\"unreadCount\"\r\n let-allCount=\"allCount\"\r\n let-backColor=\"backColor\"\r\n let-isAll=\"isAll\"\r\n let-isChecked=\"isChecked\"\r\n let-icon=\"icon\"\r\n let-isBuiltin=\"isBuiltin\"\r\n>\r\n @if (isBuiltin || allCount > 0 || isAll) {\r\n <li fd-list-item [selected]=\"isChecked ? true : false\" (click)=\"onClick(isAll)\" [interactive]=\"true\">\r\n <div class=\"title-container\">\r\n <div [style.backgroundColor]=\"backColor\" style=\"width: 0.2rem; height: 100%\"></div>\r\n @if (icon) {\r\n <i fd-list-icon [glyph]=\"icon\"></i>\r\n }\r\n <span fd-list-title>\r\n <div style=\"height: 100%; display: flex; align-items: center; column-gap: 5px\">\r\n @if (unreadCount && unreadCount > 0) {\r\n <strong>{{ caption }}</strong>\r\n <strong style=\"padding: 0 2px; direction: ltr\">({{ unreadCount }})</strong>\r\n } @else {\r\n <span>{{ caption }}</span>\r\n } @if (allCount && allCount > 0) {\r\n <span style=\"padding: 0 5px\">{{ allCount }}</span>\r\n }\r\n </div>\r\n </span>\r\n </div>\r\n </li>\r\n }\r\n</ng-template>\r\n", styles: [":host{display:contents;width:100%;height:100%;cursor:pointer}.title-container{align-items:center;display:flex;column-gap:5px;height:100%;width:100%}li{padding:0}.space{cursor:default;background-color:var(--sapBackgroundColor);pointer-events:none}.space:focus:before{border:none}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "ariaRole", "id", "preventClick"], outputs: ["keyDown"] }, { kind: "directive", type: i2.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i2.ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "glyphFont", "class", "role", "ariaHidden"] }, { kind: "pipe", type: i3.MoReportValuePipe, name: "rval" }, { kind: "pipe", type: i3.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
89
- }
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaCartableGroupComponent, decorators: [{
91
- type: Component,
92
- args: [{ selector: 'bsu-barsa-cartable-group', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<!-- <li\r\n[interactive]=\"true\"\r\nfd-list-item\r\n[selected]=\"allItemChecked ? true : false\"\r\n(click)=\"onRowCheckAll()\"\r\n*ngIf=\"allItem\"\r\n>\r\n<div class=\"title-container\">\r\n <div style=\"background-color: transparent; width: 0.2rem; height: 100%\"></div>\r\n <span fd-list-title>\r\n <div style=\"height: 100%; display: flex; align-items: center\">\r\n <span [style.fontSize]=\"allItem.unreadCount > 0 ? 'bold' : null\">{{ '\u0647\u0645\u0647 \u0645\u0648\u0627\u0631\u062F' | bbbTranslate }}</span>\r\n <ng-container *ngIf=\"allItem.unreadCount > 0\">\r\n <strong style=\"padding: 0 2px; direction: ltr\">({{ allItem.unreadCount }})</strong>\r\n </ng-container>\r\n <span style=\"padding: 0 5px\" *ngIf=\"allItem.allCount > 0\">{{ allItem.allCount }}</span>\r\n </div>\r\n </span>\r\n</div>\r\n</li> -->\r\n\r\n<ng-container>\r\n @if (allItem) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: '\u0647\u0645\u0647 \u0645\u0648\u0627\u0631\u062F' | bbbTranslate,\r\n unreadCount: allItem.unreadCount,\r\n allCount: allItem.allCount,\r\n backColor: 'transparent',\r\n isAll: true,\r\n isChecked: allItemChecked\r\n }\r\n \"\r\n ></ng-container>\r\n }\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: parameters.CartableGroupField | rval: mo:allColumns:true,\r\n unreadCount: parameters.UnreadCountField | rval: mo:allColumns,\r\n allCount: parameters.AllCountField | rval: mo:allColumns,\r\n backColor: (columns[0].Caption | rval: mo:columns),\r\n isChecked: isChecked,\r\n icon: parameters.IconField | rval: mo:allColumns:true,\r\n isBuiltin: isBuiltin\r\n }\r\n \"\r\n ></ng-container>\r\n</ng-container>\r\n@if (isLastBuiltin) {\r\n<li fd-list-item class=\"space\">\r\n <span fd-list-title></span>\r\n</li>\r\n}\r\n<!-- <ng-container *ngIf=\"last\">\r\n<ul fd-list>\r\n <li fd-list-group-header>\r\n <span fd-list-title style=\"background:#f7f7f7\"></span>\r\n </li>\r\n <ng-container *ngFor=\"let mo2 of moDataList\">\r\n <ng-container *ngIf=\"'\u0633\u06CC\u0633\u062A\u0645\u06CC' | rval: mo2:allColumns\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n itemTemplate;\r\n context: {\r\n $implicit: parameters.CartableGroupField | rval: mo2:allColumns:true,\r\n unreadCount: parameters.UnreadCountField | rval: mo2:allColumns,\r\n allCount: parameters.AllCountField | rval: mo2:allColumns,\r\n backColor: columns[0].Caption | rval: mo2:columns,\r\n isChecked: isChecked\r\n }\r\n \"\r\n ></ng-container>\r\n </ng-container>\r\n</ng-container>\r\n</ul>\r\n</ng-container> -->\r\n\r\n<!-- <li fd-list-item [selected]=\"isChecked ? true : false\" (click)=\"onRowCheck()\" [interactive]=\"true\">\r\n<div class=\"title-container\">\r\n <div [style.backgroundColor]=\"columns[0].Caption | rval: mo:columns\" style=\"width: 0.2rem; height: 100%\"></div>\r\n <span fd-list-title>\r\n <div style=\"height: 100%; display: flex; align-items: center\">\r\n <span [style.fontSize]=\"parameters.UnreadCountField | rval: mo:allColumns:(true ? 'bold' : null)\"\r\n >{{ parameters.CartableGroupField | rval: mo:allColumns:true }}\r\n </span>\r\n <ng-container *ngIf=\"parameters.UnreadCountField | rval: mo:allColumns:true\">\r\n <strong style=\"padding: 0 2px; direction: ltr\"\r\n >({{ parameters.UnreadCountField | rval: mo:allColumns:true }})</strong\r\n >\r\n </ng-container>\r\n <span style=\"padding: 0 5px\">{{ parameters.AllCountField | rval: mo:allColumns:true }}</span>\r\n </div>\r\n </span>\r\n </div>\r\n</li> -->\r\n<ng-template\r\n #itemTemplate\r\n let-caption\r\n let-unreadCount=\"unreadCount\"\r\n let-allCount=\"allCount\"\r\n let-backColor=\"backColor\"\r\n let-isAll=\"isAll\"\r\n let-isChecked=\"isChecked\"\r\n let-icon=\"icon\"\r\n let-isBuiltin=\"isBuiltin\"\r\n>\r\n @if (isBuiltin || allCount > 0 || isAll) {\r\n <li fd-list-item [selected]=\"isChecked ? true : false\" (click)=\"onClick(isAll)\" [interactive]=\"true\">\r\n <div class=\"title-container\">\r\n <div [style.backgroundColor]=\"backColor\" style=\"width: 0.2rem; height: 100%\"></div>\r\n @if (icon) {\r\n <i fd-list-icon [glyph]=\"icon\"></i>\r\n }\r\n <span fd-list-title>\r\n <div style=\"height: 100%; display: flex; align-items: center; column-gap: 5px\">\r\n @if (unreadCount && unreadCount > 0) {\r\n <strong>{{ caption }}</strong>\r\n <strong style=\"padding: 0 2px; direction: ltr\">({{ unreadCount }})</strong>\r\n } @else {\r\n <span>{{ caption }}</span>\r\n } @if (allCount && allCount > 0) {\r\n <span style=\"padding: 0 5px\">{{ allCount }}</span>\r\n }\r\n </div>\r\n </span>\r\n </div>\r\n </li>\r\n }\r\n</ng-template>\r\n", styles: [":host{display:contents;width:100%;height:100%;cursor:pointer}.title-container{align-items:center;display:flex;column-gap:5px;height:100%;width:100%}li{padding:0}.space{cursor:default;background-color:var(--sapBackgroundColor);pointer-events:none}.space:focus:before{border:none}\n"] }]
93
- }] });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtY2FydGFibGUtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtZ3JvdXAtY2FydGFibGUvYmFyc2EtY2FydGFibGUtZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtZ3JvdXAtY2FydGFibGUvYmFyc2EtY2FydGFibGUtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLDBCQUEwQixFQUF1QixNQUFNLHNCQUFzQixDQUFDOzs7OztBQVN2RixNQUFNLE9BQU8sMkJBQTRCLFNBQVEsMEJBQTBCO0lBUDNFOztRQWNJLGtCQUFhLEdBQUcsS0FBSyxDQUFDO0tBcUZ6QjtJQW5GRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixJQUFJLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDMUIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRS9DLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNqQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUM7Z0JBQ3RDLGFBQWEsR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLElBQUksR0FBRyxLQUFLLFlBQVksRUFBRSxDQUFDO29CQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFDekMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUN6QixDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekIsQ0FBQztJQUNMLENBQUM7SUFDRCxhQUFhO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBQ0QsWUFBWTtRQUNSLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3RCLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFDRCxPQUFPLENBQUMsS0FBYztRQUNsQixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3hCLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3JCLENBQUM7SUFDTCxDQUFDO0lBQ0QsU0FBUztRQUNMLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFDTyxhQUFhO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckYsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDNUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQ2pELFFBQVEsRUFDUixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQy9CLElBQUksQ0FBQyxVQUFVLENBQ2xCLENBQUM7UUFDTixDQUFDO0lBQ0wsQ0FBQztJQUNPLFFBQVEsQ0FBQyxVQUFpQztRQUM5QyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbkIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDakIsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN0QixVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDckIsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2YsU0FBUyxHQUFHLElBQUksQ0FBQztZQUNyQixDQUFDO1lBQ0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3hHLFFBQVEsSUFBSSxLQUFLLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztZQUNyRCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUNuRCxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUNoQyxDQUFDLEVBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FDbEIsQ0FBQztZQUNGLFdBQVcsSUFBSSxLQUFLLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztRQUNsRSxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxTQUFTLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUM3QyxDQUFDOytHQTNGUSwyQkFBMkI7bUdBQTNCLDJCQUEyQiw0R0NWeEMsOCtLQXNJQTs7NEZENUhhLDJCQUEyQjtrQkFQdkMsU0FBUzsrQkFDSSwwQkFBMEIsbUJBR25CLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCYXNlVmlld0l0ZW1Qcm9wc0NvbXBvbmVudCwgTWV0YW9iamVjdERhdGFNb2RlbCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtYmFyc2EtY2FydGFibGUtZ3JvdXAnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhcnNhLWNhcnRhYmxlLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2JhcnNhLWNhcnRhYmxlLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYXJzYUNhcnRhYmxlR3JvdXBDb21wb25lbnQgZXh0ZW5kcyBCYXNlVmlld0l0ZW1Qcm9wc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICAvKipcclxuICAgICAqXHJcbiAgICAgKi9cclxuICAgIGFsbEl0ZW06IHsgdW5yZWFkQ291bnQ6IG51bWJlcjsgYWxsQ291bnQ6IG51bWJlciB9O1xyXG4gICAgYWxsSXRlbUNoZWNrZWQ6IGJvb2xlYW47XHJcbiAgICBidWlsdGluR3JvdXBzOiBNZXRhb2JqZWN0RGF0YU1vZGVsW107XHJcbiAgICBpc0xhc3RCdWlsdGluID0gZmFsc2U7XHJcbiAgICBpc0J1aWx0aW46IGFueTtcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5kZXggPT09IDApIHtcclxuICAgICAgICAgICAgdGhpcy5fY2FsY0FsbCh0aGlzLm1vRGF0YUxpc3QpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9jaGVja1N5c3RlbWkoKTtcclxuICAgIH1cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgICAgICBsZXQgZGV0ZWN0Q2hhbmdlcyA9IGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IGtleXMgPSBbJ21vJywgJ21vRGF0YUxpc3QnLCAnaXNDaGVja2VkJ107XHJcblxyXG4gICAgICAgIGtleXMuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChjaGFuZ2VzW2tleV0gJiYgIWNoYW5nZXNba2V5XS5maXJzdENoYW5nZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpc1trZXldID0gY2hhbmdlc1trZXldLmN1cnJlbnRWYWx1ZTtcclxuICAgICAgICAgICAgICAgIGRldGVjdENoYW5nZXMgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgaWYgKGtleSA9PT0gJ21vRGF0YUxpc3QnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2FsY0FsbChjaGFuZ2VzW2tleV0uY3VycmVudFZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jaGVja1N5c3RlbWkoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmIChkZXRlY3RDaGFuZ2VzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGRldGVjdENoYW5nZXMoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIF9yb3dDaGVja0FsbCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5hbGxJdGVtQ2hlY2tlZCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuYWxsSXRlbUNoZWNrZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuZXZlbnRzLmVtaXQoeyB0aXRsZTogJ2Rlc2VsZWN0QWxsJywgZGF0YTogbnVsbCB9KTtcclxuICAgICAgICB0aGlzLmV2ZW50cy5lbWl0KHsgdGl0bGU6ICdyb3dDaGVjaycsIGRhdGE6IHsgbW86IHsgSWQ6ICcwMScgfSwgaW5kZXg6IC0xIH0gfSk7XHJcbiAgICB9XHJcbiAgICBvbkNsaWNrKGlzQWxsOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGlzQWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3Jvd0NoZWNrQWxsKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5fcm93Q2hlY2soKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBfcm93Q2hlY2soKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNDaGVja2VkKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5ldmVudHMuZW1pdCh7IHRpdGxlOiAncm93Q2hlY2snLCBkYXRhOiB7IG1vOiB0aGlzLm1vLCBpbmRleDogdGhpcy5pbmRleCB9IH0pO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfY2hlY2tTeXN0ZW1pKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaXNCdWlsdGluID0gdGhpcy5fcmVwb3J0VmFsdWVQaXBlLnRyYW5zZm9ybSgn2LPbjNiz2KrZhduMJywgdGhpcy5tbywgdGhpcy5hbGxDb2x1bW5zKTtcclxuICAgICAgICBpZiAodGhpcy5pbmRleCArIDEgPCB0aGlzLm1vRGF0YUxpc3QubGVuZ3RoICYmIHRoaXMuaXNCdWlsdGluKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNMYXN0QnVpbHRpbiA9ICF0aGlzLl9yZXBvcnRWYWx1ZVBpcGUudHJhbnNmb3JtKFxyXG4gICAgICAgICAgICAgICAgJ9iz24zYs9iq2YXbjCcsXHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vRGF0YUxpc3RbdGhpcy5pbmRleCArIDFdLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5hbGxDb2x1bW5zXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfY2FsY0FsbChtb0RhdGFMaXN0OiBNZXRhb2JqZWN0RGF0YU1vZGVsW10pOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5pbmRleCAhPT0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBhbGxDb3VudCA9IDA7XHJcbiAgICAgICAgbGV0IHVucmVhZENvdW50ID0gMDtcclxuICAgICAgICBsZXQgaXNDaGVja2VkID0gZmFsc2U7XHJcbiAgICAgICAgbW9EYXRhTGlzdC5mb3JFYWNoKChjKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChjLiRJc0NoZWNrZWQpIHtcclxuICAgICAgICAgICAgICAgIGlzQ2hlY2tlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3QgYWxsQ291bnRUZW1wID0gdGhpcy5fcmVwb3J0VmFsdWVQaXBlLnRyYW5zZm9ybSh0aGlzLnBhcmFtZXRlcnMuQWxsQ291bnRGaWVsZCwgYywgdGhpcy5hbGxDb2x1bW5zKTtcclxuICAgICAgICAgICAgYWxsQ291bnQgKz0gaXNOYU4oK2FsbENvdW50VGVtcCkgPyAwIDogK2FsbENvdW50VGVtcDtcclxuICAgICAgICAgICAgY29uc3QgdW5yZWFkQ291bnRUZW1wID0gdGhpcy5fcmVwb3J0VmFsdWVQaXBlLnRyYW5zZm9ybShcclxuICAgICAgICAgICAgICAgIHRoaXMucGFyYW1ldGVycy5VbnJlYWRDb3VudEZpZWxkLFxyXG4gICAgICAgICAgICAgICAgYyxcclxuICAgICAgICAgICAgICAgIHRoaXMuYWxsQ29sdW1uc1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB1bnJlYWRDb3VudCArPSBpc05hTigrdW5yZWFkQ291bnRUZW1wKSA/IDAgOiArdW5yZWFkQ291bnRUZW1wO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuYWxsSXRlbUNoZWNrZWQgPSAhaXNDaGVja2VkO1xyXG4gICAgICAgIHRoaXMuYWxsSXRlbSA9IHsgYWxsQ291bnQsIHVucmVhZENvdW50IH07XHJcbiAgICB9XHJcbn1cclxuIiwiPCEtLSA8bGlcclxuW2ludGVyYWN0aXZlXT1cInRydWVcIlxyXG5mZC1saXN0LWl0ZW1cclxuW3NlbGVjdGVkXT1cImFsbEl0ZW1DaGVja2VkID8gdHJ1ZSA6IGZhbHNlXCJcclxuKGNsaWNrKT1cIm9uUm93Q2hlY2tBbGwoKVwiXHJcbipuZ0lmPVwiYWxsSXRlbVwiXHJcbj5cclxuPGRpdiBjbGFzcz1cInRpdGxlLWNvbnRhaW5lclwiPlxyXG4gIDxkaXYgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgd2lkdGg6IDAuMnJlbTsgaGVpZ2h0OiAxMDAlXCI+PC9kaXY+XHJcbiAgPHNwYW4gZmQtbGlzdC10aXRsZT5cclxuICAgIDxkaXYgc3R5bGU9XCJoZWlnaHQ6IDEwMCU7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXJcIj5cclxuICAgICAgPHNwYW4gW3N0eWxlLmZvbnRTaXplXT1cImFsbEl0ZW0udW5yZWFkQ291bnQgPiAwID8gJ2JvbGQnIDogbnVsbFwiPnt7ICfZh9mF2Ycg2YXZiNin2LHYrycgfCBiYmJUcmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhbGxJdGVtLnVucmVhZENvdW50ID4gMFwiPlxyXG4gICAgICAgIDxzdHJvbmcgc3R5bGU9XCJwYWRkaW5nOiAwIDJweDsgZGlyZWN0aW9uOiBsdHJcIj4oe3sgYWxsSXRlbS51bnJlYWRDb3VudCB9fSk8L3N0cm9uZz5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxzcGFuIHN0eWxlPVwicGFkZGluZzogMCA1cHhcIiAqbmdJZj1cImFsbEl0ZW0uYWxsQ291bnQgPiAwXCI+e3sgYWxsSXRlbS5hbGxDb3VudCB9fTwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvc3Bhbj5cclxuPC9kaXY+XHJcbjwvbGk+IC0tPlxyXG5cclxuPG5nLWNvbnRhaW5lcj5cclxuICAgIEBpZiAoYWxsSXRlbSkge1xyXG4gICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgIGl0ZW1UZW1wbGF0ZTtcclxuICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgJGltcGxpY2l0OiAn2YfZhdmHINmF2YjYp9ix2K8nIHwgYmJiVHJhbnNsYXRlLFxyXG4gICAgICAgICAgICAgICAgdW5yZWFkQ291bnQ6IGFsbEl0ZW0udW5yZWFkQ291bnQsXHJcbiAgICAgICAgICAgICAgICBhbGxDb3VudDogYWxsSXRlbS5hbGxDb3VudCxcclxuICAgICAgICAgICAgICAgIGJhY2tDb2xvcjogJ3RyYW5zcGFyZW50JyxcclxuICAgICAgICAgICAgICAgIGlzQWxsOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgaXNDaGVja2VkOiBhbGxJdGVtQ2hlY2tlZFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXCJcclxuICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgIH1cclxuXHJcbiAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgaXRlbVRlbXBsYXRlO1xyXG4gICAgICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IHBhcmFtZXRlcnMuQ2FydGFibGVHcm91cEZpZWxkIHwgcnZhbDogbW86YWxsQ29sdW1uczp0cnVlLFxyXG4gICAgICAgICAgICAgICAgdW5yZWFkQ291bnQ6IHBhcmFtZXRlcnMuVW5yZWFkQ291bnRGaWVsZCB8IHJ2YWw6IG1vOmFsbENvbHVtbnMsXHJcbiAgICAgICAgICAgICAgICBhbGxDb3VudDogcGFyYW1ldGVycy5BbGxDb3VudEZpZWxkIHwgcnZhbDogbW86YWxsQ29sdW1ucyxcclxuICAgICAgICAgICAgICAgIGJhY2tDb2xvcjogKGNvbHVtbnNbMF0uQ2FwdGlvbiB8IHJ2YWw6IG1vOmNvbHVtbnMpLFxyXG4gICAgICAgICAgICAgICAgaXNDaGVja2VkOiBpc0NoZWNrZWQsXHJcbiAgICAgICAgICAgICAgICBpY29uOiBwYXJhbWV0ZXJzLkljb25GaWVsZCB8IHJ2YWw6IG1vOmFsbENvbHVtbnM6dHJ1ZSxcclxuICAgICAgICAgICAgICAgIGlzQnVpbHRpbjogaXNCdWlsdGluXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBcIlxyXG4gICAgPjwvbmctY29udGFpbmVyPlxyXG48L25nLWNvbnRhaW5lcj5cclxuQGlmIChpc0xhc3RCdWlsdGluKSB7XHJcbjxsaSBmZC1saXN0LWl0ZW0gY2xhc3M9XCJzcGFjZVwiPlxyXG4gICAgPHNwYW4gZmQtbGlzdC10aXRsZT48L3NwYW4+XHJcbjwvbGk+XHJcbn1cclxuPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwibGFzdFwiPlxyXG48dWwgZmQtbGlzdD5cclxuICA8bGkgZmQtbGlzdC1ncm91cC1oZWFkZXI+XHJcbiAgICA8c3BhbiBmZC1saXN0LXRpdGxlIHN0eWxlPVwiYmFja2dyb3VuZDojZjdmN2Y3XCI+PC9zcGFuPlxyXG4gIDwvbGk+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbW8yIG9mIG1vRGF0YUxpc3RcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIn2LPbjNiz2KrZhduMJyB8IHJ2YWw6IG1vMjphbGxDb2x1bW5zXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtVGVtcGxhdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsaWNpdDogcGFyYW1ldGVycy5DYXJ0YWJsZUdyb3VwRmllbGQgfCBydmFsOiBtbzI6YWxsQ29sdW1uczp0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5yZWFkQ291bnQ6IHBhcmFtZXRlcnMuVW5yZWFkQ291bnRGaWVsZCB8IHJ2YWw6IG1vMjphbGxDb2x1bW5zLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsQ291bnQ6IHBhcmFtZXRlcnMuQWxsQ291bnRGaWVsZCB8IHJ2YWw6IG1vMjphbGxDb2x1bW5zLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja0NvbG9yOiBjb2x1bW5zWzBdLkNhcHRpb24gfCBydmFsOiBtbzI6Y29sdW1ucyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzQ2hlY2tlZDogaXNDaGVja2VkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgPjwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLWNvbnRhaW5lcj5cclxuPC91bD5cclxuPC9uZy1jb250YWluZXI+IC0tPlxyXG5cclxuPCEtLSA8bGkgZmQtbGlzdC1pdGVtIFtzZWxlY3RlZF09XCJpc0NoZWNrZWQgPyB0cnVlIDogZmFsc2VcIiAoY2xpY2spPVwib25Sb3dDaGVjaygpXCIgW2ludGVyYWN0aXZlXT1cInRydWVcIj5cclxuPGRpdiBjbGFzcz1cInRpdGxlLWNvbnRhaW5lclwiPlxyXG4gIDxkaXYgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJjb2x1bW5zWzBdLkNhcHRpb24gfCBydmFsOiBtbzpjb2x1bW5zXCIgc3R5bGU9XCJ3aWR0aDogMC4ycmVtOyBoZWlnaHQ6IDEwMCVcIj48L2Rpdj5cclxuICA8c3BhbiBmZC1saXN0LXRpdGxlPlxyXG4gICAgPGRpdiBzdHlsZT1cImhlaWdodDogMTAwJTsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlclwiPlxyXG4gICAgICA8c3BhbiBbc3R5bGUuZm9udFNpemVdPVwicGFyYW1ldGVycy5VbnJlYWRDb3VudEZpZWxkIHwgcnZhbDogbW86YWxsQ29sdW1uczoodHJ1ZSA/ICdib2xkJyA6IG51bGwpXCJcclxuICAgICAgICA+e3sgcGFyYW1ldGVycy5DYXJ0YWJsZUdyb3VwRmllbGQgfCBydmFsOiBtbzphbGxDb2x1bW5zOnRydWUgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFyYW1ldGVycy5VbnJlYWRDb3VudEZpZWxkIHwgcnZhbDogbW86YWxsQ29sdW1uczp0cnVlXCI+XHJcbiAgICAgICAgPHN0cm9uZyBzdHlsZT1cInBhZGRpbmc6IDAgMnB4OyBkaXJlY3Rpb246IGx0clwiXHJcbiAgICAgICAgICA+KHt7IHBhcmFtZXRlcnMuVW5yZWFkQ291bnRGaWVsZCB8IHJ2YWw6IG1vOmFsbENvbHVtbnM6dHJ1ZSB9fSk8L3N0cm9uZ1xyXG4gICAgICAgICAgPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxzcGFuIHN0eWxlPVwicGFkZGluZzogMCA1cHhcIj57eyBwYXJhbWV0ZXJzLkFsbENvdW50RmllbGQgfCBydmFsOiBtbzphbGxDb2x1bW5zOnRydWUgfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9zcGFuPlxyXG4gIDwvZGl2PlxyXG48L2xpPiAtLT5cclxuPG5nLXRlbXBsYXRlXHJcbiAgICAjaXRlbVRlbXBsYXRlXHJcbiAgICBsZXQtY2FwdGlvblxyXG4gICAgbGV0LXVucmVhZENvdW50PVwidW5yZWFkQ291bnRcIlxyXG4gICAgbGV0LWFsbENvdW50PVwiYWxsQ291bnRcIlxyXG4gICAgbGV0LWJhY2tDb2xvcj1cImJhY2tDb2xvclwiXHJcbiAgICBsZXQtaXNBbGw9XCJpc0FsbFwiXHJcbiAgICBsZXQtaXNDaGVja2VkPVwiaXNDaGVja2VkXCJcclxuICAgIGxldC1pY29uPVwiaWNvblwiXHJcbiAgICBsZXQtaXNCdWlsdGluPVwiaXNCdWlsdGluXCJcclxuPlxyXG4gICAgQGlmIChpc0J1aWx0aW4gfHwgYWxsQ291bnQgPiAwIHx8IGlzQWxsKSB7XHJcbiAgICA8bGkgZmQtbGlzdC1pdGVtIFtzZWxlY3RlZF09XCJpc0NoZWNrZWQgPyB0cnVlIDogZmFsc2VcIiAoY2xpY2spPVwib25DbGljayhpc0FsbClcIiBbaW50ZXJhY3RpdmVdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZS1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cImJhY2tDb2xvclwiIHN0eWxlPVwid2lkdGg6IDAuMnJlbTsgaGVpZ2h0OiAxMDAlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIEBpZiAoaWNvbikge1xyXG4gICAgICAgICAgICA8aSBmZC1saXN0LWljb24gW2dseXBoXT1cImljb25cIj48L2k+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT5cclxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJoZWlnaHQ6IDEwMCU7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGNvbHVtbi1nYXA6IDVweFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAodW5yZWFkQ291bnQgJiYgdW5yZWFkQ291bnQgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz57eyBjYXB0aW9uIH19PC9zdHJvbmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN0cm9uZyBzdHlsZT1cInBhZGRpbmc6IDAgMnB4OyBkaXJlY3Rpb246IGx0clwiPih7eyB1bnJlYWRDb3VudCB9fSk8L3N0cm9uZz5cclxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBjYXB0aW9uIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIH0gQGlmIChhbGxDb3VudCAmJiBhbGxDb3VudCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cInBhZGRpbmc6IDAgNXB4XCI+e3sgYWxsQ291bnQgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbGk+XHJcbiAgICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -1,22 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { FillAllLayoutControls, LayoutPanelBaseComponent, LayoutService } from 'barsa-novin-ray-core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../barsa-base-panel/barsa-base-layout-panel.component";
5
- import * as i2 from "@angular/common";
6
- export class BarsaHorizontalFlexPanelComponent extends LayoutPanelBaseComponent {
7
- constructor() {
8
- super(...arguments);
9
- this.layoutControls = [];
10
- }
11
- ngOnInit() {
12
- super.ngOnInit();
13
- FillAllLayoutControls(this.config, this.layoutControls);
14
- }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaHorizontalFlexPanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BarsaHorizontalFlexPanelComponent, selector: "bsu-barsa-horizontal-flex-panel", providers: [LayoutService], usesInheritance: true, ngImport: i0, template: "<bsu-barsa-base-layout-panel\n [layoutControls]=\"layoutControls\"\n [maxLabelWidth]=\"(maxLabelWidth$ | async)!!\"\n [isSearchPanel]=\"isSearchPanel\"\n [config]=\"config\"\n [style.gap]=\"parameters?.Gap\"\n></bsu-barsa-base-layout-panel>\n", styles: [":host bsu-barsa-base-layout-panel{display:flex;flex-direction:row-reverse;justify-content:start}:host bsu-barsa-base-layout-panel ::ng-deep bsu-layout-control{flex:unset!important;width:auto!important}:host bsu-barsa-base-layout-panel ::ng-deep .grid-col{padding:0!important}:host bsu-barsa-base-layout-panel ::ng-deep bnrc-dynamic-layout{display:none}\n"], dependencies: [{ kind: "component", type: i1.BarsaBaseLayoutPanelComponent, selector: "bsu-barsa-base-layout-panel", inputs: ["layoutControls", "config", "maxLabelWidth", "isSearchPanel"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17
- }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaHorizontalFlexPanelComponent, decorators: [{
19
- type: Component,
20
- args: [{ selector: 'bsu-barsa-horizontal-flex-panel', changeDetection: ChangeDetectionStrategy.OnPush, providers: [LayoutService], standalone: false, template: "<bsu-barsa-base-layout-panel\n [layoutControls]=\"layoutControls\"\n [maxLabelWidth]=\"(maxLabelWidth$ | async)!!\"\n [isSearchPanel]=\"isSearchPanel\"\n [config]=\"config\"\n [style.gap]=\"parameters?.Gap\"\n></bsu-barsa-base-layout-panel>\n", styles: [":host bsu-barsa-base-layout-panel{display:flex;flex-direction:row-reverse;justify-content:start}:host bsu-barsa-base-layout-panel ::ng-deep bsu-layout-control{flex:unset!important;width:auto!important}:host bsu-barsa-base-layout-panel ::ng-deep .grid-col{padding:0!important}:host bsu-barsa-base-layout-panel ::ng-deep bnrc-dynamic-layout{display:none}\n"] }]
21
- }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtaG9yaXpvbnRhbC1mbGV4LXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2JhcnNhLWhvcml6b250YWwtZmxleC1wYW5lbC9iYXJzYS1ob3Jpem9udGFsLWZsZXgtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtaG9yaXpvbnRhbC1mbGV4LXBhbmVsL2JhcnNhLWhvcml6b250YWwtZmxleC1wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFDSCxxQkFBcUIsRUFFckIsd0JBQXdCLEVBQ3hCLGFBQWEsRUFFaEIsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQVU5QixNQUFNLE9BQU8saUNBQWtDLFNBQVEsd0JBQXdCO0lBUi9FOztRQVNJLG1CQUFjLEdBQW9CLEVBQUUsQ0FBQztLQU14QztJQUpHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIscUJBQXFCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUQsQ0FBQzsrR0FOUSxpQ0FBaUM7bUdBQWpDLGlDQUFpQywwREFIL0IsQ0FBQyxhQUFhLENBQUMsaURDZDlCLG1RQU9BOzs0RkRVYSxpQ0FBaUM7a0JBUjdDLFNBQVM7K0JBQ0ksaUNBQWlDLG1CQUcxQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsYUFBYSxDQUFDLGNBQ2QsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gICAgRmlsbEFsbExheW91dENvbnRyb2xzLFxyXG4gICAgTWV0YW9iamVjdERhdGFNb2RlbCxcclxuICAgIExheW91dFBhbmVsQmFzZUNvbXBvbmVudCxcclxuICAgIExheW91dFNlcnZpY2UsXHJcbiAgICBMYXlvdXRTZXR0aW5nXHJcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS1ob3Jpem9udGFsLWZsZXgtcGFuZWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhcnNhLWhvcml6b250YWwtZmxleC1wYW5lbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9iYXJzYS1ob3Jpem9udGFsLWZsZXgtcGFuZWwuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgcHJvdmlkZXJzOiBbTGF5b3V0U2VydmljZV0sXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFyc2FIb3Jpem9udGFsRmxleFBhbmVsQ29tcG9uZW50IGV4dGVuZHMgTGF5b3V0UGFuZWxCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIGxheW91dENvbnRyb2xzOiBMYXlvdXRTZXR0aW5nW10gPSBbXTtcclxuICAgIHBhcmFtZXRlcnM6IEhvcml6b250YWxGbGV4UGFuZWxTZXR0aW5ncztcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgRmlsbEFsbExheW91dENvbnRyb2xzKHRoaXMuY29uZmlnLCB0aGlzLmxheW91dENvbnRyb2xzKTtcclxuICAgIH1cclxufVxyXG5pbnRlcmZhY2UgSG9yaXpvbnRhbEZsZXhQYW5lbFNldHRpbmdzIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICBHYXA6IHN0cmluZztcclxufVxyXG4iLCI8YnN1LWJhcnNhLWJhc2UtbGF5b3V0LXBhbmVsXG4gICAgW2xheW91dENvbnRyb2xzXT1cImxheW91dENvbnRyb2xzXCJcbiAgICBbbWF4TGFiZWxXaWR0aF09XCIobWF4TGFiZWxXaWR0aCQgfCBhc3luYykhIVwiXG4gICAgW2lzU2VhcmNoUGFuZWxdPVwiaXNTZWFyY2hQYW5lbFwiXG4gICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgIFtzdHlsZS5nYXBdPVwicGFyYW1ldGVycz8uR2FwXCJcbj48L2JzdS1iYXJzYS1iYXNlLWxheW91dC1wYW5lbD5cbiJdfQ==
@@ -1,25 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, signal, Input } from '@angular/core';
2
- import { BaseComponent } from 'barsa-novin-ray-core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@fundamental-ngx/core/skeleton";
5
- export class BarsaImgSkeletonComponent extends BaseComponent {
6
- constructor() {
7
- super(...arguments);
8
- this.hideSkeleton = signal(false);
9
- }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaImgSkeletonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BarsaImgSkeletonComponent, selector: "bsu-barsa-img-skeleton", inputs: { title: "title", size: "size", imageUrl: "imageUrl", widthFull: "widthFull" }, usesInheritance: true, ngImport: i0, template: "<fd-skeleton\n [style.display]=\"!hideSkeleton() ? null : 'none'\"\n type=\"rectangle\"\n [style.height.px]=\"size[0]\"\n width=\"100%\"\n></fd-skeleton>\n<img\n width=\"100%\"\n [src]=\"imageUrl\"\n [alt]=\"title\"\n [style.max-height.px]=\"size[0]\"\n [style.max-width]=\"widthFull ? '100%' : size[1] + 'px'\"\n [style.display]=\"!hideSkeleton() ? 'none' : null\"\n (load)=\"hideSkeleton.set(true)\"\n/>\n\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "component", type: i1.SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaImgSkeletonComponent, decorators: [{
14
- type: Component,
15
- args: [{ selector: 'bsu-barsa-img-skeleton', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<fd-skeleton\n [style.display]=\"!hideSkeleton() ? null : 'none'\"\n type=\"rectangle\"\n [style.height.px]=\"size[0]\"\n width=\"100%\"\n></fd-skeleton>\n<img\n width=\"100%\"\n [src]=\"imageUrl\"\n [alt]=\"title\"\n [style.max-height.px]=\"size[0]\"\n [style.max-width]=\"widthFull ? '100%' : size[1] + 'px'\"\n [style.display]=\"!hideSkeleton() ? 'none' : null\"\n (load)=\"hideSkeleton.set(true)\"\n/>\n\n", styles: [":host{display:contents}\n"] }]
16
- }], propDecorators: { title: [{
17
- type: Input
18
- }], size: [{
19
- type: Input
20
- }], imageUrl: [{
21
- type: Input
22
- }], widthFull: [{
23
- type: Input
24
- }] } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtaW1nLXNrZWxldG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2JhcnNhLWltZy1za2VsZXRvbi9iYXJzYS1pbWctc2tlbGV0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtaW1nLXNrZWxldG9uL2JhcnNhLWltZy1za2VsZXRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFTckQsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGFBQWE7SUFQNUQ7O1FBYUksaUJBQVksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDaEM7K0dBUFkseUJBQXlCO21HQUF6Qix5QkFBeUIsNktDVnRDLDRiQWdCQTs7NEZETmEseUJBQXlCO2tCQVByQyxTQUFTOytCQUNJLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxLQUFLOzhCQUdSLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgc2lnbmFsLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS1pbWctc2tlbGV0b24nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhcnNhLWltZy1za2VsZXRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9iYXJzYS1pbWctc2tlbGV0b24uY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIEJhcnNhSW1nU2tlbGV0b25Db21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcclxuICAgIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBzaXplOiBbbnVtYmVyLCBudW1iZXJdO1xyXG4gICAgQElucHV0KCkgaW1hZ2VVcmw6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHdpZHRoRnVsbDogYm9vbGVhbjtcclxuXHJcbiAgICBoaWRlU2tlbGV0b24gPSBzaWduYWwoZmFsc2UpO1xyXG59XHJcbiIsIjxmZC1za2VsZXRvblxuICAgIFtzdHlsZS5kaXNwbGF5XT1cIiFoaWRlU2tlbGV0b24oKSA/IG51bGwgOiAnbm9uZSdcIlxuICAgIHR5cGU9XCJyZWN0YW5nbGVcIlxuICAgIFtzdHlsZS5oZWlnaHQucHhdPVwic2l6ZVswXVwiXG4gICAgd2lkdGg9XCIxMDAlXCJcbj48L2ZkLXNrZWxldG9uPlxuPGltZ1xuICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgW3NyY109XCJpbWFnZVVybFwiXG4gICAgW2FsdF09XCJ0aXRsZVwiXG4gICAgW3N0eWxlLm1heC1oZWlnaHQucHhdPVwic2l6ZVswXVwiXG4gICAgW3N0eWxlLm1heC13aWR0aF09XCJ3aWR0aEZ1bGwgPyAnMTAwJScgOiBzaXplWzFdICsgJ3B4J1wiXG4gICAgW3N0eWxlLmRpc3BsYXldPVwiIWhpZGVTa2VsZXRvbigpID8gJ25vbmUnIDogbnVsbFwiXG4gICAgKGxvYWQpPVwiaGlkZVNrZWxldG9uLnNldCh0cnVlKVwiXG4vPlxuXG4iXX0=
@@ -1,37 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { LayoutPanelBaseComponent, LayoutService, FillAllLayoutControls } 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
- import * as i3 from "@fundamental-ngx/core/link";
7
- export class BarsaLinkableItemsPanelComponent extends LayoutPanelBaseComponent {
8
- constructor() {
9
- super(...arguments);
10
- this.layoutControls = [];
11
- this.visibleControls = [];
12
- this.hideControls = [];
13
- }
14
- ngOnInit() {
15
- super.ngOnInit();
16
- FillAllLayoutControls(this.config, this.layoutControls);
17
- this.layoutControls.forEach((c, index) => {
18
- if (index === 0) {
19
- this.visibleControls.push(c);
20
- }
21
- else {
22
- this.hideControls.push(c);
23
- }
24
- });
25
- }
26
- onAddToVisibleControls(item) {
27
- this.visibleControls.push(item);
28
- this.hideControls = this.hideControls.filter((c) => c.Caption !== item.Caption);
29
- }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaLinkableItemsPanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BarsaLinkableItemsPanelComponent, selector: "bsu-barsa-linkable-items-panel", providers: [LayoutService], usesInheritance: true, ngImport: i0, template: "@for (item of visibleControls; track item; let i = $index) {\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 index: i\r\n }\r\n \"\r\n></ng-container>\r\n}\r\n<ng-template\r\n #dynamicLayout\r\n let-index\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 >\r\n </bnrc-dynamic-layout>\r\n</ng-template>\r\n<div style=\"display: flex; column-gap: 3px; padding: 0 5px\">\r\n @for (item of hideControls; track item; let i = $index) {\r\n <a fd-link [attr.aria-label]=\"item.Caption\" (click)=\"onAddToVisibleControls(item)\"> {{ item.Caption }}</a>\r\n @if (i < hideControls.length - 1) {\r\n <span>/</span>\r\n } }\r\n</div>\r\n", styles: [""], 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.LinkComponent, selector: "[fdLink], [fd-link]", inputs: ["class", "emphasized", "disabled", "inverted", "subtle", "undecorated"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
32
- }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaLinkableItemsPanelComponent, decorators: [{
34
- type: Component,
35
- args: [{ selector: 'bsu-barsa-linkable-items-panel', changeDetection: ChangeDetectionStrategy.OnPush, providers: [LayoutService], standalone: false, template: "@for (item of visibleControls; track item; let i = $index) {\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 index: i\r\n }\r\n \"\r\n></ng-container>\r\n}\r\n<ng-template\r\n #dynamicLayout\r\n let-index\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 >\r\n </bnrc-dynamic-layout>\r\n</ng-template>\r\n<div style=\"display: flex; column-gap: 3px; padding: 0 5px\">\r\n @for (item of hideControls; track item; let i = $index) {\r\n <a fd-link [attr.aria-label]=\"item.Caption\" (click)=\"onAddToVisibleControls(item)\"> {{ item.Caption }}</a>\r\n @if (i < hideControls.length - 1) {\r\n <span>/</span>\r\n } }\r\n</div>\r\n" }]
36
- }] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtbGlua2FibGUtaXRlbXMtcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtbGlua2FibGUtaXRlbXMtcGFuZWwvYmFyc2EtbGlua2FibGUtaXRlbXMtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtbGlua2FibGUtaXRlbXMtcGFuZWwvYmFyc2EtbGlua2FibGUtaXRlbXMtcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsYUFBYSxFQUFpQixxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7OztBQVVySCxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsd0JBQXdCO0lBUjlFOztRQVNJLG1CQUFjLEdBQW9CLEVBQUUsQ0FBQztRQUNyQyxvQkFBZSxHQUFvQixFQUFFLENBQUM7UUFDdEMsaUJBQVksR0FBb0IsRUFBRSxDQUFDO0tBZ0J0QztJQWZHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIscUJBQXFCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDckMsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakMsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlCLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxzQkFBc0IsQ0FBQyxJQUFtQjtRQUN0QyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwRixDQUFDOytHQWxCUSxnQ0FBZ0M7bUdBQWhDLGdDQUFnQyx5REFIOUIsQ0FBQyxhQUFhLENBQUMsaURDUjlCLHN4Q0F3Q0E7OzRGRDdCYSxnQ0FBZ0M7a0JBUjVDLFNBQVM7K0JBQ0ksZ0NBQWdDLG1CQUd6Qix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsYUFBYSxDQUFDLGNBQ2QsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMYXlvdXRQYW5lbEJhc2VDb21wb25lbnQsIExheW91dFNlcnZpY2UsIExheW91dFNldHRpbmcsIEZpbGxBbGxMYXlvdXRDb250cm9scyB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtYmFyc2EtbGlua2FibGUtaXRlbXMtcGFuZWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhcnNhLWxpbmthYmxlLWl0ZW1zLXBhbmVsLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2JhcnNhLWxpbmthYmxlLWl0ZW1zLXBhbmVsLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHByb3ZpZGVyczogW0xheW91dFNlcnZpY2VdLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIEJhcnNhTGlua2FibGVJdGVtc1BhbmVsQ29tcG9uZW50IGV4dGVuZHMgTGF5b3V0UGFuZWxCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIGxheW91dENvbnRyb2xzOiBMYXlvdXRTZXR0aW5nW10gPSBbXTtcclxuICAgIHZpc2libGVDb250cm9sczogTGF5b3V0U2V0dGluZ1tdID0gW107XHJcbiAgICBoaWRlQ29udHJvbHM6IExheW91dFNldHRpbmdbXSA9IFtdO1xyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICBGaWxsQWxsTGF5b3V0Q29udHJvbHModGhpcy5jb25maWcsIHRoaXMubGF5b3V0Q29udHJvbHMpO1xyXG4gICAgICAgIHRoaXMubGF5b3V0Q29udHJvbHMuZm9yRWFjaCgoYywgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZpc2libGVDb250cm9scy5wdXNoKGMpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5oaWRlQ29udHJvbHMucHVzaChjKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgb25BZGRUb1Zpc2libGVDb250cm9scyhpdGVtOiBMYXlvdXRTZXR0aW5nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy52aXNpYmxlQ29udHJvbHMucHVzaChpdGVtKTtcclxuICAgICAgICB0aGlzLmhpZGVDb250cm9scyA9IHRoaXMuaGlkZUNvbnRyb2xzLmZpbHRlcigoYykgPT4gYy5DYXB0aW9uICE9PSBpdGVtLkNhcHRpb24pO1xyXG4gICAgfVxyXG59XHJcbiIsIkBmb3IgKGl0ZW0gb2YgdmlzaWJsZUNvbnRyb2xzOyB0cmFjayBpdGVtOyBsZXQgaSA9ICRpbmRleCkge1xyXG48bmctY29udGFpbmVyXHJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgIGR5bmFtaWNMYXlvdXQ7XHJcbiAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0sXHJcbiAgICAgICAgICAgIHNlbGVjdG9yOiAnYnN1LWxheW91dC1jb250cm9sJyxcclxuICAgICAgICAgICAgbmFtZTogJ0xheW91dENvbnRyb2xDb21wb25lbnQnLFxyXG4gICAgICAgICAgICBpbmRleDogaVxyXG4gICAgICAgIH1cclxuICAgIFwiXHJcbj48L25nLWNvbnRhaW5lcj5cclxufVxyXG48bmctdGVtcGxhdGVcclxuICAgICNkeW5hbWljTGF5b3V0XHJcbiAgICBsZXQtaW5kZXhcclxuICAgIGxldC1jb25maWdcclxuICAgIGxldC1zZWxlY3Rvcj1cInNlbGVjdG9yXCJcclxuICAgIGxldC1tYXhMYWJlbFdpZHRoPVwibWF4TGFiZWxXaWR0aFwiXHJcbiAgICBsZXQtbmFtZT1cIm5hbWVcIlxyXG4+XHJcbiAgICA8Ym5yYy1keW5hbWljLWxheW91dFxyXG4gICAgICAgIFtjb25maWddPVwiY29uZmlnXCJcclxuICAgICAgICBbc2VsZWN0b3JdPVwic2VsZWN0b3JcIlxyXG4gICAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICAgIFttb2R1bGVdPVwiJ0JhcnNhU2FwVWknXCJcclxuICAgICAgICBbbW9kdWxlRmlsZU5hbWVdPVwiJ0JhcnNhU2FwVWknXCJcclxuICAgICAgICBbbWF4TGFiZWxXaWR0aF09XCIobWF4TGFiZWxXaWR0aCQgfCBhc3luYykhIVwiXHJcbiAgICAgICAgW2ZsZXhdPVwiaXNTZWFyY2hQYW5lbCA/ICd1bnNldCcgOiBjb25maWcuQm91bmRzLndpZHRoXCJcclxuICAgICAgICBbaXNTZWFyY2hQYW5lbF09XCJpc1NlYXJjaFBhbmVsXCJcclxuICAgID5cclxuICAgIDwvYm5yYy1keW5hbWljLWxheW91dD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGNvbHVtbi1nYXA6IDNweDsgcGFkZGluZzogMCA1cHhcIj5cclxuICAgIEBmb3IgKGl0ZW0gb2YgaGlkZUNvbnRyb2xzOyB0cmFjayBpdGVtOyBsZXQgaSA9ICRpbmRleCkge1xyXG4gICAgPGEgZmQtbGluayBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0uQ2FwdGlvblwiIChjbGljayk9XCJvbkFkZFRvVmlzaWJsZUNvbnRyb2xzKGl0ZW0pXCI+IHt7IGl0ZW0uQ2FwdGlvbiB9fTwvYT5cclxuICAgIEBpZiAoaSA8IGhpZGVDb250cm9scy5sZW5ndGggLSAxKSB7XHJcbiAgICA8c3Bhbj4vPC9zcGFuPlxyXG4gICAgfSB9XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,42 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { UploadService } from 'barsa-novin-ray-core';
3
- import { UiFileLinearListBoxComponent } from '../ui-file-linear-list-box/ui-file-linear-list-box.component';
4
- import { BarsaApi } from 'barsa-novin-ray-core';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/forms";
7
- import * as i2 from "@fundamental-ngx/core/avatar";
8
- import * as i3 from "@fundamental-ngx/core/content-density";
9
- import * as i4 from "@fundamental-ngx/core/button";
10
- import * as i5 from "@fundamental-ngx/core/file-uploader";
11
- import * as i6 from "@fundamental-ngx/core/form";
12
- import * as i7 from "@fundamental-ngx/core/icon";
13
- import * as i8 from "@fundamental-ngx/core/list";
14
- import * as i9 from "@fundamental-ngx/core/object-status";
15
- import * as i10 from "@fundamental-ngx/core/toolbar";
16
- import * as i11 from "@fundamental-ngx/core/slider";
17
- import * as i12 from "@fundamental-ngx/core/progress-indicator";
18
- import * as i13 from "../contentDensity.directive";
19
- import * as i14 from "@angular/common";
20
- import * as i15 from "barsa-novin-ray-core";
21
- import * as i16 from "../upload-file-status.pipe";
22
- export class BarsaListFileLinearComponent extends UiFileLinearListBoxComponent {
23
- onRetry(fileAttachment) {
24
- this.retry(fileAttachment);
25
- }
26
- onHandleRenameFile(file) {
27
- if (!file.inEdit) {
28
- file.inEdit = true;
29
- }
30
- else {
31
- file.inEdit = false;
32
- BarsaApi.Common.Ajax.GetServerData('Form94.RenameFileAttachment', { renameModel: { Id: file.Id, Name: file.FileName } }, (_) => { }, (_) => { }, null, this);
33
- }
34
- }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaListFileLinearComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BarsaListFileLinearComponent, selector: "bsu-barsa-list-file-linear", providers: [UploadService], usesInheritance: true, ngImport: i0, template: "@if (parameters.ModeValue === '1') {\r\n<ul fd-list class=\"file-viewer-attachments\">\r\n @for (file of value; track file) { @if (!file.IsDeleted) {\r\n <li fd-list-item style=\"background-color: #f5f5f5; margin: 0 0 0 30%; width: 100%\">\r\n @if (file.inEdit) {\r\n <input\r\n style=\"width: 90%\"\r\n fd-form-control\r\n [(ngModel)]=\"file.FileName\"\r\n (click)=\"$event.preventDefault(); $event.stopPropagation()\"\r\n (keydown.enter)=\"onHandleRenameFile(file)\"\r\n />\r\n } @if (!file.inEdit) {\r\n <span fd-list-title>\r\n {{ file.FileName }}\r\n </span>\r\n }\r\n <span fd-list-secondary>\r\n <button\r\n ariaLabel=\"Edit Or Save\"\r\n fdType=\"transparent\"\r\n class=\"fd-button--compact\"\r\n fd-button\r\n fdCompact\r\n [glyph]=\"file.inEdit ? 'save' : 'edit'\"\r\n (click)=\"onHandleRenameFile(file)\"\r\n ></button>\r\n @if (!file.inEdit) {\r\n <button\r\n ariaLabel=\"Remove\"\r\n fdType=\"transparent\"\r\n title=\"Remove\"\r\n fd-button\r\n glyph=\"delete\"\r\n (click)=\"onFileDeleted(file.Id)\"\r\n ></button>\r\n }\r\n </span>\r\n </li>\r\n } } @if (valueExtra$ | async; as valueExtra) { @for (file of valueExtra | keyvalue; track file) { @if\r\n (file.value.UploadState === 'Uploading') {\r\n <li style=\"background-color: #f5f5f5; margin: 0 0 0 30%; width: 100%\">\r\n @if (file.value.Progress) {\r\n <fd-progress-indicator state=\"informative\" [valueNow]=\"file.value.Progress\"></fd-progress-indicator>\r\n }\r\n </li>\r\n } } }\r\n</ul>\r\n} @if (parameters.ModeValue === '2') {\r\n<ul fd-list [byline]=\"true\">\r\n @if (fileCount$ | async; as fileCount) { @if (fileCount === 0) {\r\n <li fd-list-item>\r\n <div fd-list-content style=\"text-align: center\">\r\n <span>{{ 'NoFiles' | bbbTranslate }}</span>\r\n </div>\r\n </li>\r\n } } @for (file of value; track file) { @if (valueExtra$ | async; as valueExtra) { @if (!file.IsDeleted) {\r\n <li fd-list-item>\r\n <span fd-list-thumbnail>\r\n @if (valueExtra[file.Id].IsIcon) {\r\n <fd-icon [glyph]=\"valueExtra[file.Id].FileUrl\"></fd-icon>\r\n } @else {\r\n <fd-avatar size=\"m\" [image]=\"valueExtra[file.Id].FileUrl || ''\"></fd-avatar>\r\n }\r\n </span>\r\n <!-- for byline, fd-list-content is mandatory -->\r\n <div fd-list-content>\r\n <div fd-list-title>{{ file.FileName }}</div>\r\n <div fd-list-byline [twoCol]=\"true\">\r\n <div fd-list-byline-left></div>\r\n <div fd-list-byline-right style=\"display: flex; justify-content: flex-end\">\r\n <fd-toolbar [fdType]=\"'transparent'\" [clearBorder]=\"true\">\r\n @if (file.IsNew) {\r\n <span\r\n fd-toolbar-item\r\n fd-object-status\r\n [status]=\"file.Id | uploadFileStatus: valueExtra\"\r\n [label]=\"valueExtra[file.Id]?.UploadState || ''\"\r\n [title]=\"valueExtra[file.Id]?.UploadState\"\r\n [aria-label]=\"'File Upload Status Is ' + valueExtra[file.Id]?.UploadState\"\r\n ></span>\r\n @if (valueExtra[file.Id].UploadState === 'Uploading') {\r\n <fd-slider\r\n [contentDensity]=\"(contentDensity$ | async)!!\"\r\n [(ngModel)]=\"valueExtra[file.Id].Progress\"\r\n [name]=\"'filerLinear_' + id\"\r\n fd-toolbar-item\r\n [id]=\"id\"\r\n [min]=\"0\"\r\n [max]=\"100\"\r\n [step]=\"1\"\r\n >\r\n </fd-slider>\r\n } }\r\n </fd-toolbar>\r\n </div>\r\n </div>\r\n </div>\r\n @if ((disableOrReadonly$ | async) === false && valueExtra[file.Id].UploadState !== 'Uploading') {\r\n <button fd-button fdType=\"transparent\" glyph=\"decline\" (click)=\"onFileDeleted(file.Id)\"></button>\r\n } @if (valueExtra[file.Id].UploadState === 'Uploading') {\r\n <button fd-button [fdType]=\"'transparent'\" [glyph]=\"'stop'\" (click)=\"onTerminate(file)\"></button>\r\n } @if (valueExtra[file.Id].UploadState === 'Error') {\r\n <button fd-button [fdType]=\"'transparent'\" [glyph]=\"'refresh'\" (click)=\"onRetry(file)\"></button>\r\n }\r\n </li>\r\n } } }\r\n</ul>\r\n} @if ((disableOrReadonly$ | async) !== true) {\r\n<fd-toolbar\r\n style=\"display: block\"\r\n [style.height.px]=\"parameters.ModeValue === '1' ? 0 : null\"\r\n [fdType]=\"'transparent'\"\r\n [clearBorder]=\"true\"\r\n>\r\n <fd-file-uploader\r\n fd-toolbar-item\r\n [class.hide-file-uploader]=\"parameters?.HideAttachButton\"\r\n [id]=\"id\"\r\n [name]=\"id\"\r\n [placeholder]=\"'AttachFile' | bbbTranslate\"\r\n [buttonLabel]=\"'AttachFile' | bbbTranslate\"\r\n [buttonAriaLabel]=\"'AttachFile' | bbbTranslate\"\r\n [accept]=\"Setting.ValidExtensions || ''\"\r\n [multiple]=\"maxFileCount > 1\"\r\n (selectedFilesChanged)=\"onFileSelection($event)\"\r\n [contentDensity]=\"(contentDensity$ | async)!!\"\r\n ></fd-file-uploader>\r\n</fd-toolbar>\r\n}\r\n", styles: [":host{display:block;width:100%;height:100%}:host ::ng-deep .fd-slider__handle{display:none}:host ::ng-deep .fd-file-uploader input{display:none}:host ::ng-deep fd-file-uploader .fd-button{background-color:var(--sapButton_Lite_Background);border-color:var(--sapButton_Lite_BorderColor);color:var(--sapButton_Lite_TextColor)}:host .hide-file-uploader{visibility:hidden;height:0;width:0}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "colorIndication", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "directive", type: i3.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.FileUploaderComponent, selector: "fd-file-uploader", inputs: ["disabled", "required", "multiple", "accept", "dragndrop", "maxFileSize", "minFileSize", "id", "ariaLabel", "ariaLabelledBy", "placeholder", "buttonLabel", "buttonAriaLabel", "state", "fileLimit", "inputHidden", "width"], outputs: ["selectedFilesChanged", "selectedInvalidFiles", "onDragEnter", "onDragLeave"] }, { kind: "component", type: i6.FormControlComponent, selector: "input[fd-form-control], textarea[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "component", type: i7.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i8.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i8.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "ariaRole", "id", "preventClick"], outputs: ["keyDown"] }, { kind: "directive", type: i8.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i8.ListSecondaryDirective, selector: "[fd-list-secondary], [fdListSecondary]", inputs: ["type"] }, { kind: "directive", type: i8.ListBylineDirective, selector: "[fdListByline], [fd-list-byline]", inputs: ["twoCol", "wrap"] }, { kind: "directive", type: i8.ListBylineLeftDirective, selector: "[fdListBylineLeft], [fd-list-byline-left]", inputs: ["wrap"] }, { kind: "directive", type: i8.ListBylineRightDirective, selector: "[fdListBylineRight], [fd-list-byline-right]", inputs: ["status", "wrap"] }, { kind: "directive", type: i8.ListContentDirective, selector: "[fdListContent], [fd-list-content]", inputs: ["twoCol"] }, { kind: "directive", type: i8.ListThumbnailDirective, selector: "[fdListThumbnail], [fd-list-thumbnail]" }, { kind: "component", type: i9.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "glyphFont", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate"] }, { kind: "component", type: i10.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i10.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: i11.SliderComponent, selector: "fd-slider", inputs: ["id", "class", "ariaLabelledBy", "ariaLabel", "min", "max", "step", "jump", "tickmarksBetweenLabels", "mode", "showTicks", "showTicksLabels", "customValues", "tooltipMode", "hideProgressBar", "disabled", "vertical", "value"] }, { kind: "component", type: i12.ProgressIndicatorComponent, selector: "fd-progress-indicator", inputs: ["valueText", "unit", "valueMin", "valueMax", "valueNow", "state", "animate"] }, { kind: "directive", type: i13.ContentDensityDirective, selector: "[contentDensity]" }, { kind: "pipe", type: i14.AsyncPipe, name: "async" }, { kind: "pipe", type: i14.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i15.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i16.UploadFileStatusPipe, name: "uploadFileStatus" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
37
- }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaListFileLinearComponent, decorators: [{
39
- type: Component,
40
- args: [{ selector: 'bsu-barsa-list-file-linear', changeDetection: ChangeDetectionStrategy.OnPush, providers: [UploadService], standalone: false, template: "@if (parameters.ModeValue === '1') {\r\n<ul fd-list class=\"file-viewer-attachments\">\r\n @for (file of value; track file) { @if (!file.IsDeleted) {\r\n <li fd-list-item style=\"background-color: #f5f5f5; margin: 0 0 0 30%; width: 100%\">\r\n @if (file.inEdit) {\r\n <input\r\n style=\"width: 90%\"\r\n fd-form-control\r\n [(ngModel)]=\"file.FileName\"\r\n (click)=\"$event.preventDefault(); $event.stopPropagation()\"\r\n (keydown.enter)=\"onHandleRenameFile(file)\"\r\n />\r\n } @if (!file.inEdit) {\r\n <span fd-list-title>\r\n {{ file.FileName }}\r\n </span>\r\n }\r\n <span fd-list-secondary>\r\n <button\r\n ariaLabel=\"Edit Or Save\"\r\n fdType=\"transparent\"\r\n class=\"fd-button--compact\"\r\n fd-button\r\n fdCompact\r\n [glyph]=\"file.inEdit ? 'save' : 'edit'\"\r\n (click)=\"onHandleRenameFile(file)\"\r\n ></button>\r\n @if (!file.inEdit) {\r\n <button\r\n ariaLabel=\"Remove\"\r\n fdType=\"transparent\"\r\n title=\"Remove\"\r\n fd-button\r\n glyph=\"delete\"\r\n (click)=\"onFileDeleted(file.Id)\"\r\n ></button>\r\n }\r\n </span>\r\n </li>\r\n } } @if (valueExtra$ | async; as valueExtra) { @for (file of valueExtra | keyvalue; track file) { @if\r\n (file.value.UploadState === 'Uploading') {\r\n <li style=\"background-color: #f5f5f5; margin: 0 0 0 30%; width: 100%\">\r\n @if (file.value.Progress) {\r\n <fd-progress-indicator state=\"informative\" [valueNow]=\"file.value.Progress\"></fd-progress-indicator>\r\n }\r\n </li>\r\n } } }\r\n</ul>\r\n} @if (parameters.ModeValue === '2') {\r\n<ul fd-list [byline]=\"true\">\r\n @if (fileCount$ | async; as fileCount) { @if (fileCount === 0) {\r\n <li fd-list-item>\r\n <div fd-list-content style=\"text-align: center\">\r\n <span>{{ 'NoFiles' | bbbTranslate }}</span>\r\n </div>\r\n </li>\r\n } } @for (file of value; track file) { @if (valueExtra$ | async; as valueExtra) { @if (!file.IsDeleted) {\r\n <li fd-list-item>\r\n <span fd-list-thumbnail>\r\n @if (valueExtra[file.Id].IsIcon) {\r\n <fd-icon [glyph]=\"valueExtra[file.Id].FileUrl\"></fd-icon>\r\n } @else {\r\n <fd-avatar size=\"m\" [image]=\"valueExtra[file.Id].FileUrl || ''\"></fd-avatar>\r\n }\r\n </span>\r\n <!-- for byline, fd-list-content is mandatory -->\r\n <div fd-list-content>\r\n <div fd-list-title>{{ file.FileName }}</div>\r\n <div fd-list-byline [twoCol]=\"true\">\r\n <div fd-list-byline-left></div>\r\n <div fd-list-byline-right style=\"display: flex; justify-content: flex-end\">\r\n <fd-toolbar [fdType]=\"'transparent'\" [clearBorder]=\"true\">\r\n @if (file.IsNew) {\r\n <span\r\n fd-toolbar-item\r\n fd-object-status\r\n [status]=\"file.Id | uploadFileStatus: valueExtra\"\r\n [label]=\"valueExtra[file.Id]?.UploadState || ''\"\r\n [title]=\"valueExtra[file.Id]?.UploadState\"\r\n [aria-label]=\"'File Upload Status Is ' + valueExtra[file.Id]?.UploadState\"\r\n ></span>\r\n @if (valueExtra[file.Id].UploadState === 'Uploading') {\r\n <fd-slider\r\n [contentDensity]=\"(contentDensity$ | async)!!\"\r\n [(ngModel)]=\"valueExtra[file.Id].Progress\"\r\n [name]=\"'filerLinear_' + id\"\r\n fd-toolbar-item\r\n [id]=\"id\"\r\n [min]=\"0\"\r\n [max]=\"100\"\r\n [step]=\"1\"\r\n >\r\n </fd-slider>\r\n } }\r\n </fd-toolbar>\r\n </div>\r\n </div>\r\n </div>\r\n @if ((disableOrReadonly$ | async) === false && valueExtra[file.Id].UploadState !== 'Uploading') {\r\n <button fd-button fdType=\"transparent\" glyph=\"decline\" (click)=\"onFileDeleted(file.Id)\"></button>\r\n } @if (valueExtra[file.Id].UploadState === 'Uploading') {\r\n <button fd-button [fdType]=\"'transparent'\" [glyph]=\"'stop'\" (click)=\"onTerminate(file)\"></button>\r\n } @if (valueExtra[file.Id].UploadState === 'Error') {\r\n <button fd-button [fdType]=\"'transparent'\" [glyph]=\"'refresh'\" (click)=\"onRetry(file)\"></button>\r\n }\r\n </li>\r\n } } }\r\n</ul>\r\n} @if ((disableOrReadonly$ | async) !== true) {\r\n<fd-toolbar\r\n style=\"display: block\"\r\n [style.height.px]=\"parameters.ModeValue === '1' ? 0 : null\"\r\n [fdType]=\"'transparent'\"\r\n [clearBorder]=\"true\"\r\n>\r\n <fd-file-uploader\r\n fd-toolbar-item\r\n [class.hide-file-uploader]=\"parameters?.HideAttachButton\"\r\n [id]=\"id\"\r\n [name]=\"id\"\r\n [placeholder]=\"'AttachFile' | bbbTranslate\"\r\n [buttonLabel]=\"'AttachFile' | bbbTranslate\"\r\n [buttonAriaLabel]=\"'AttachFile' | bbbTranslate\"\r\n [accept]=\"Setting.ValidExtensions || ''\"\r\n [multiple]=\"maxFileCount > 1\"\r\n (selectedFilesChanged)=\"onFileSelection($event)\"\r\n [contentDensity]=\"(contentDensity$ | async)!!\"\r\n ></fd-file-uploader>\r\n</fd-toolbar>\r\n}\r\n", styles: [":host{display:block;width:100%;height:100%}:host ::ng-deep .fd-slider__handle{display:none}:host ::ng-deep .fd-file-uploader input{display:none}:host ::ng-deep fd-file-uploader .fd-button{background-color:var(--sapButton_Lite_Background);border-color:var(--sapButton_Lite_BorderColor);color:var(--sapButton_Lite_TextColor)}:host .hide-file-uploader{visibility:hidden;height:0;width:0}\n"] }]
41
- }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtbGlzdC1maWxlLWxpbmVhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9iYXJzYS1saXN0LWZpbGUtbGluZWFyL2JhcnNhLWxpc3QtZmlsZS1saW5lYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtbGlzdC1maWxlLWxpbmVhci9iYXJzYS1saXN0LWZpbGUtbGluZWFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBc0IsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUM1RyxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVckUsTUFBTSxPQUFPLDRCQUE2QixTQUFRLDRCQUE0QjtJQUUxRSxPQUFPLENBQUMsY0FBa0M7UUFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsSUFBd0I7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDcEIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUM5Qiw2QkFBNkIsRUFDN0IsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQ3JELENBQUMsQ0FBQyxFQUFFLEVBQUUsR0FBRSxDQUFDLEVBQ1QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFFLENBQUMsRUFDVCxJQUFJLEVBQ0osSUFBSSxDQUNQLENBQUM7UUFDTixDQUFDO0lBQ0wsQ0FBQzsrR0FuQlEsNEJBQTRCO21HQUE1Qiw0QkFBNEIscURBSDFCLENBQUMsYUFBYSxDQUFDLGlEQ1Y5QixpekxBa0lBOzs0RkRySGEsNEJBQTRCO2tCQVJ4QyxTQUFTOytCQUNJLDRCQUE0QixtQkFHckIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGFBQWEsQ0FBQyxjQUNkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVwbG9hZFNlcnZpY2UsIEZpbGVBdHRhY2htZW50SW5mbyB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuaW1wb3J0IHsgVWlGaWxlTGluZWFyTGlzdEJveENvbXBvbmVudCB9IGZyb20gJy4uL3VpLWZpbGUtbGluZWFyLWxpc3QtYm94L3VpLWZpbGUtbGluZWFyLWxpc3QtYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1ldGFvYmplY3REYXRhTW9kZWwsIEJhcnNhQXBpIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS1saXN0LWZpbGUtbGluZWFyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS1saXN0LWZpbGUtbGluZWFyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2JhcnNhLWxpc3QtZmlsZS1saW5lYXIuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgcHJvdmlkZXJzOiBbVXBsb2FkU2VydmljZV0sXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFyc2FMaXN0RmlsZUxpbmVhckNvbXBvbmVudCBleHRlbmRzIFVpRmlsZUxpbmVhckxpc3RCb3hDb21wb25lbnQge1xyXG4gICAgcGFyYW1ldGVyczogQmFyc2FMaXN0RmlsZUxpbmVhclNldHRpbmc7XHJcbiAgICBvblJldHJ5KGZpbGVBdHRhY2htZW50OiBGaWxlQXR0YWNobWVudEluZm8pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnJldHJ5KGZpbGVBdHRhY2htZW50KTtcclxuICAgIH1cclxuICAgIG9uSGFuZGxlUmVuYW1lRmlsZShmaWxlOiBGaWxlQXR0YWNobWVudEluZm8pOiB2b2lkIHtcclxuICAgICAgICBpZiAoIWZpbGUuaW5FZGl0KSB7XHJcbiAgICAgICAgICAgIGZpbGUuaW5FZGl0ID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBmaWxlLmluRWRpdCA9IGZhbHNlO1xyXG4gICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uQWpheC5HZXRTZXJ2ZXJEYXRhKFxyXG4gICAgICAgICAgICAgICAgJ0Zvcm05NC5SZW5hbWVGaWxlQXR0YWNobWVudCcsXHJcbiAgICAgICAgICAgICAgICB7IHJlbmFtZU1vZGVsOiB7IElkOiBmaWxlLklkLCBOYW1lOiBmaWxlLkZpbGVOYW1lIH0gfSxcclxuICAgICAgICAgICAgICAgIChfKSA9PiB7fSxcclxuICAgICAgICAgICAgICAgIChfKSA9PiB7fSxcclxuICAgICAgICAgICAgICAgIG51bGwsXHJcbiAgICAgICAgICAgICAgICB0aGlzXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5pbnRlcmZhY2UgQmFyc2FMaXN0RmlsZUxpbmVhclNldHRpbmcgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIEhpZGVBdHRhY2hCdXR0b246IGJvb2xlYW47XHJcbiAgICBNb2RlVmFsdWU6IHN0cmluZztcclxuICAgIE1vZGVWYWx1ZSRDYXB0aW9uOiBzdHJpbmc7XHJcbn1cclxuIiwiQGlmIChwYXJhbWV0ZXJzLk1vZGVWYWx1ZSA9PT0gJzEnKSB7XHJcbjx1bCBmZC1saXN0IGNsYXNzPVwiZmlsZS12aWV3ZXItYXR0YWNobWVudHNcIj5cclxuICAgIEBmb3IgKGZpbGUgb2YgdmFsdWU7IHRyYWNrIGZpbGUpIHsgQGlmICghZmlsZS5Jc0RlbGV0ZWQpIHtcclxuICAgIDxsaSBmZC1saXN0LWl0ZW0gc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1OyBtYXJnaW46IDAgMCAwIDMwJTsgd2lkdGg6IDEwMCVcIj5cclxuICAgICAgICBAaWYgKGZpbGUuaW5FZGl0KSB7XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDkwJVwiXHJcbiAgICAgICAgICAgIGZkLWZvcm0tY29udHJvbFxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpbGUuRmlsZU5hbWVcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uSGFuZGxlUmVuYW1lRmlsZShmaWxlKVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICB9IEBpZiAoIWZpbGUuaW5FZGl0KSB7XHJcbiAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT5cclxuICAgICAgICAgICAge3sgZmlsZS5GaWxlTmFtZSB9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICB9XHJcbiAgICAgICAgPHNwYW4gZmQtbGlzdC1zZWNvbmRhcnk+XHJcbiAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIGFyaWFMYWJlbD1cIkVkaXQgT3IgU2F2ZVwiXHJcbiAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZkLWJ1dHRvbi0tY29tcGFjdFwiXHJcbiAgICAgICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgICAgIGZkQ29tcGFjdFxyXG4gICAgICAgICAgICAgICAgW2dseXBoXT1cImZpbGUuaW5FZGl0ID8gJ3NhdmUnIDogJ2VkaXQnXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkhhbmRsZVJlbmFtZUZpbGUoZmlsZSlcIlxyXG4gICAgICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgICAgIEBpZiAoIWZpbGUuaW5FZGl0KSB7XHJcbiAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIGFyaWFMYWJlbD1cIlJlbW92ZVwiXHJcbiAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXHJcbiAgICAgICAgICAgICAgICB0aXRsZT1cIlJlbW92ZVwiXHJcbiAgICAgICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgICAgIGdseXBoPVwiZGVsZXRlXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkZpbGVEZWxldGVkKGZpbGUuSWQpXCJcclxuICAgICAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgPC9saT5cclxuICAgIH0gfSBAaWYgKHZhbHVlRXh0cmEkIHwgYXN5bmM7IGFzIHZhbHVlRXh0cmEpIHsgQGZvciAoZmlsZSBvZiB2YWx1ZUV4dHJhIHwga2V5dmFsdWU7IHRyYWNrIGZpbGUpIHsgQGlmXHJcbiAgICAoZmlsZS52YWx1ZS5VcGxvYWRTdGF0ZSA9PT0gJ1VwbG9hZGluZycpIHtcclxuICAgIDxsaSBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7IG1hcmdpbjogMCAwIDAgMzAlOyB3aWR0aDogMTAwJVwiPlxyXG4gICAgICAgIEBpZiAoZmlsZS52YWx1ZS5Qcm9ncmVzcykge1xyXG4gICAgICAgIDxmZC1wcm9ncmVzcy1pbmRpY2F0b3Igc3RhdGU9XCJpbmZvcm1hdGl2ZVwiIFt2YWx1ZU5vd109XCJmaWxlLnZhbHVlLlByb2dyZXNzXCI+PC9mZC1wcm9ncmVzcy1pbmRpY2F0b3I+XHJcbiAgICAgICAgfVxyXG4gICAgPC9saT5cclxuICAgIH0gfSB9XHJcbjwvdWw+XHJcbn0gQGlmIChwYXJhbWV0ZXJzLk1vZGVWYWx1ZSA9PT0gJzInKSB7XHJcbjx1bCBmZC1saXN0IFtieWxpbmVdPVwidHJ1ZVwiPlxyXG4gICAgQGlmIChmaWxlQ291bnQkIHwgYXN5bmM7IGFzIGZpbGVDb3VudCkgeyBAaWYgKGZpbGVDb3VudCA9PT0gMCkge1xyXG4gICAgPGxpIGZkLWxpc3QtaXRlbT5cclxuICAgICAgICA8ZGl2IGZkLWxpc3QtY29udGVudCBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlclwiPlxyXG4gICAgICAgICAgICA8c3Bhbj57eyAnTm9GaWxlcycgfCBiYmJUcmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2xpPlxyXG4gICAgfSB9IEBmb3IgKGZpbGUgb2YgdmFsdWU7IHRyYWNrIGZpbGUpIHsgQGlmICh2YWx1ZUV4dHJhJCB8IGFzeW5jOyBhcyB2YWx1ZUV4dHJhKSB7IEBpZiAoIWZpbGUuSXNEZWxldGVkKSB7XHJcbiAgICA8bGkgZmQtbGlzdC1pdGVtPlxyXG4gICAgICAgIDxzcGFuIGZkLWxpc3QtdGh1bWJuYWlsPlxyXG4gICAgICAgICAgICBAaWYgKHZhbHVlRXh0cmFbZmlsZS5JZF0uSXNJY29uKSB7XHJcbiAgICAgICAgICAgIDxmZC1pY29uIFtnbHlwaF09XCJ2YWx1ZUV4dHJhW2ZpbGUuSWRdLkZpbGVVcmxcIj48L2ZkLWljb24+XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICA8ZmQtYXZhdGFyIHNpemU9XCJtXCIgW2ltYWdlXT1cInZhbHVlRXh0cmFbZmlsZS5JZF0uRmlsZVVybCB8fCAnJ1wiPjwvZmQtYXZhdGFyPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwhLS0gZm9yIGJ5bGluZSwgZmQtbGlzdC1jb250ZW50IGlzIG1hbmRhdG9yeSAtLT5cclxuICAgICAgICA8ZGl2IGZkLWxpc3QtY29udGVudD5cclxuICAgICAgICAgICAgPGRpdiBmZC1saXN0LXRpdGxlPnt7IGZpbGUuRmlsZU5hbWUgfX08L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBmZC1saXN0LWJ5bGluZSBbdHdvQ29sXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgZmQtbGlzdC1ieWxpbmUtbGVmdD48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgZmQtbGlzdC1ieWxpbmUtcmlnaHQgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZkLXRvb2xiYXIgW2ZkVHlwZV09XCIndHJhbnNwYXJlbnQnXCIgW2NsZWFyQm9yZGVyXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChmaWxlLklzTmV3KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLW9iamVjdC1zdGF0dXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGF0dXNdPVwiZmlsZS5JZCB8IHVwbG9hZEZpbGVTdGF0dXM6IHZhbHVlRXh0cmFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInZhbHVlRXh0cmFbZmlsZS5JZF0/LlVwbG9hZFN0YXRlIHx8ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJ2YWx1ZUV4dHJhW2ZpbGUuSWRdPy5VcGxvYWRTdGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXJpYS1sYWJlbF09XCInRmlsZSBVcGxvYWQgU3RhdHVzIElzICcgKyB2YWx1ZUV4dHJhW2ZpbGUuSWRdPy5VcGxvYWRTdGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAodmFsdWVFeHRyYVtmaWxlLklkXS5VcGxvYWRTdGF0ZSA9PT0gJ1VwbG9hZGluZycpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGZkLXNsaWRlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRlbnREZW5zaXR5XT1cIihjb250ZW50RGVuc2l0eSQgfCBhc3luYykhIVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlRXh0cmFbZmlsZS5JZF0uUHJvZ3Jlc3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwiJ2ZpbGVyTGluZWFyXycgKyBpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWluXT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21heF09XCIxMDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0ZXBdPVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9mZC1zbGlkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZmQtdG9vbGJhcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICBAaWYgKChkaXNhYmxlT3JSZWFkb25seSQgfCBhc3luYykgPT09IGZhbHNlICYmIHZhbHVlRXh0cmFbZmlsZS5JZF0uVXBsb2FkU3RhdGUgIT09ICdVcGxvYWRpbmcnKSB7XHJcbiAgICAgICAgPGJ1dHRvbiBmZC1idXR0b24gZmRUeXBlPVwidHJhbnNwYXJlbnRcIiBnbHlwaD1cImRlY2xpbmVcIiAoY2xpY2spPVwib25GaWxlRGVsZXRlZChmaWxlLklkKVwiPjwvYnV0dG9uPlxyXG4gICAgICAgIH0gQGlmICh2YWx1ZUV4dHJhW2ZpbGUuSWRdLlVwbG9hZFN0YXRlID09PSAnVXBsb2FkaW5nJykge1xyXG4gICAgICAgIDxidXR0b24gZmQtYnV0dG9uIFtmZFR5cGVdPVwiJ3RyYW5zcGFyZW50J1wiIFtnbHlwaF09XCInc3RvcCdcIiAoY2xpY2spPVwib25UZXJtaW5hdGUoZmlsZSlcIj48L2J1dHRvbj5cclxuICAgICAgICB9IEBpZiAodmFsdWVFeHRyYVtmaWxlLklkXS5VcGxvYWRTdGF0ZSA9PT0gJ0Vycm9yJykge1xyXG4gICAgICAgIDxidXR0b24gZmQtYnV0dG9uIFtmZFR5cGVdPVwiJ3RyYW5zcGFyZW50J1wiIFtnbHlwaF09XCIncmVmcmVzaCdcIiAoY2xpY2spPVwib25SZXRyeShmaWxlKVwiPjwvYnV0dG9uPlxyXG4gICAgICAgIH1cclxuICAgIDwvbGk+XHJcbiAgICB9IH0gfVxyXG48L3VsPlxyXG59IEBpZiAoKGRpc2FibGVPclJlYWRvbmx5JCB8IGFzeW5jKSAhPT0gdHJ1ZSkge1xyXG48ZmQtdG9vbGJhclxyXG4gICAgc3R5bGU9XCJkaXNwbGF5OiBibG9ja1wiXHJcbiAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cInBhcmFtZXRlcnMuTW9kZVZhbHVlID09PSAnMScgPyAwIDogbnVsbFwiXHJcbiAgICBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIlxyXG4gICAgW2NsZWFyQm9yZGVyXT1cInRydWVcIlxyXG4+XHJcbiAgICA8ZmQtZmlsZS11cGxvYWRlclxyXG4gICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgIFtjbGFzcy5oaWRlLWZpbGUtdXBsb2FkZXJdPVwicGFyYW1ldGVycz8uSGlkZUF0dGFjaEJ1dHRvblwiXHJcbiAgICAgICAgW2lkXT1cImlkXCJcclxuICAgICAgICBbbmFtZV09XCJpZFwiXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidBdHRhY2hGaWxlJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgW2J1dHRvbkxhYmVsXT1cIidBdHRhY2hGaWxlJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgW2J1dHRvbkFyaWFMYWJlbF09XCInQXR0YWNoRmlsZScgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgIFthY2NlcHRdPVwiU2V0dGluZy5WYWxpZEV4dGVuc2lvbnMgfHwgJydcIlxyXG4gICAgICAgIFttdWx0aXBsZV09XCJtYXhGaWxlQ291bnQgPiAxXCJcclxuICAgICAgICAoc2VsZWN0ZWRGaWxlc0NoYW5nZWQpPVwib25GaWxlU2VsZWN0aW9uKCRldmVudClcIlxyXG4gICAgICAgIFtjb250ZW50RGVuc2l0eV09XCIoY29udGVudERlbnNpdHkkIHwgYXN5bmMpISFcIlxyXG4gICAgPjwvZmQtZmlsZS11cGxvYWRlcj5cclxuPC9mZC10b29sYmFyPlxyXG59XHJcbiJdfQ==
@@ -1,30 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { UploadService } from 'barsa-novin-ray-core';
3
- import { UiFileLinearListBoxComponent } from '../ui-file-linear-list-box/ui-file-linear-list-box.component';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/forms";
6
- import * as i2 from "@fundamental-ngx/core/avatar";
7
- import * as i3 from "@fundamental-ngx/core/content-density";
8
- import * as i4 from "@fundamental-ngx/core/button";
9
- import * as i5 from "@fundamental-ngx/core/form";
10
- import * as i6 from "@fundamental-ngx/core/icon";
11
- import * as i7 from "@fundamental-ngx/core/list";
12
- import * as i8 from "@fundamental-ngx/core/object-status";
13
- import * as i9 from "@fundamental-ngx/core/toolbar";
14
- import * as i10 from "@fundamental-ngx/core/slider";
15
- import * as i11 from "../contentDensity.directive";
16
- import * as i12 from "@angular/common";
17
- import * as i13 from "barsa-novin-ray-core";
18
- import * as i14 from "../upload-file-status.pipe";
19
- export class BarsaListFileLinearGmailComponent extends UiFileLinearListBoxComponent {
20
- onRetry(fileAttachment) {
21
- this.retry(fileAttachment);
22
- }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaListFileLinearGmailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: BarsaListFileLinearGmailComponent, selector: "bsu-barsa-list-file-linear-gmail", providers: [UploadService], usesInheritance: true, ngImport: i0, template: "<ul fd-list>\r\n @for (item of value; track item) { @if (!item.IsDeleted) {\r\n <li fd-list-item style=\"background-color: #f5f5f5; margin: 0.5rem 0 0 30%\">\r\n @if (item.inEdit) {\r\n <input\r\n style=\"width: 90%\"\r\n fd-form-control\r\n [value]=\"item.fileName\"\r\n (click)=\"$event.preventDefault(); $event.stopPropagation()\"\r\n />\r\n } @if (!item.inEdit) {\r\n <span fd-list-title>\r\n {{ item.fileName }}\r\n </span>\r\n }\r\n <span fd-list-secondary>\r\n <button\r\n ariaLabel=\"Edit Or Save\"\r\n fdType=\"transparent\"\r\n class=\"fd-button--compact\"\r\n fd-button\r\n fdCompact\r\n [glyph]=\"item.inEdit ? 'save' : 'edit'\"\r\n (click)=\"item.inEdit = !item.inEdit\"\r\n ></button>\r\n @if (!item.inEdit) {\r\n <button ariaLabel=\"Remove\" fdType=\"transparent\" title=\"Remove\" fd-button glyph=\"delete\"></button>\r\n }\r\n </span>\r\n </li>\r\n } }\r\n</ul>\r\n<ul fd-list [byline]=\"true\">\r\n @if (fileCount$ | async; as fileCount) { @if (fileCount === 0) {\r\n <li fd-list-item>\r\n <div fd-list-content style=\"text-align: center\">\r\n <span>{{ 'NoFiles' | bbbTranslate }}</span>\r\n </div>\r\n </li>\r\n } } @for (file of value; track file) { @if (valueExtra$ | async; as valueExtra) { @if (!file.IsDeleted) {\r\n <li fd-list-item>\r\n <span fd-list-thumbnail>\r\n @if (valueExtra[file.Id].IsIcon) {\r\n <fd-icon [glyph]=\"valueExtra[file.Id].FileUrl\"></fd-icon>\r\n } @else {\r\n <fd-avatar size=\"m\" [image]=\"valueExtra[file.Id].FileUrl || ''\"></fd-avatar>\r\n }\r\n </span>\r\n <!-- for byline, fd-list-content is mandatory -->\r\n <div fd-list-content>\r\n <div fd-list-title>{{ file.FileName }}</div>\r\n <div fd-list-byline [twoCol]=\"true\">\r\n <div fd-list-byline-left></div>\r\n <div fd-list-byline-right style=\"display: flex; justify-content: flex-end\">\r\n <fd-toolbar [fdType]=\"'transparent'\" [clearBorder]=\"true\">\r\n @if (file.IsNew) {\r\n <span\r\n fd-toolbar-item\r\n fd-object-status\r\n [status]=\"file.Id | uploadFileStatus: valueExtra\"\r\n [label]=\"valueExtra[file.Id]?.UploadState || ''\"\r\n [title]=\"valueExtra[file.Id]?.UploadState\"\r\n [aria-label]=\"'File Upload Status Is ' + valueExtra[file.Id]?.UploadState\"\r\n ></span>\r\n @if (valueExtra[file.Id].UploadState === 'Uploading') {\r\n <fd-slider\r\n [contentDensity]=\"(contentDensity$ | async)!!\"\r\n [(ngModel)]=\"valueExtra[file.Id].Progress\"\r\n [name]=\"'filerLinear_' + id\"\r\n fd-toolbar-item\r\n [id]=\"id\"\r\n [min]=\"0\"\r\n [max]=\"100\"\r\n [step]=\"1\"\r\n >\r\n </fd-slider>\r\n } }\r\n </fd-toolbar>\r\n </div>\r\n </div>\r\n </div>\r\n @if ((disableOrReadonly$ | async) === false && valueExtra[file.Id].UploadState !== 'Uploading') {\r\n <button fd-button fdType=\"transparent\" glyph=\"decline\" (click)=\"onFileDeleted(file.Id)\"></button>\r\n } @if (valueExtra[file.Id].UploadState === 'Uploading') {\r\n <button fd-button [fdType]=\"'transparent'\" [glyph]=\"'stop'\" (click)=\"onTerminate(file)\"></button>\r\n } @if (valueExtra[file.Id].UploadState === 'Error') {\r\n <button fd-button [fdType]=\"'transparent'\" [glyph]=\"'refresh'\" (click)=\"onRetry(file)\"></button>\r\n }\r\n </li>\r\n } } }\r\n</ul>\r\n", styles: [":host{display:block;width:100%;height:100%}:host ::ng-deep .fd-slider__handle{display:none}:host ::ng-deep .fd-file-uploader input{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.AvatarComponent, selector: "fd-avatar", inputs: ["class", "id", "ariaLabel", "ariaLabelledby", "label", "size", "font", "glyph", "zoomGlyph", "circle", "transparent", "contain", "placeholder", "tile", "border", "colorAccent", "colorIndication", "random", "clickable", "valueState", "image", "alterIcon", "backupImage"], outputs: ["avatarClicked", "zoomGlyphClicked"] }, { kind: "directive", type: i3.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.FormControlComponent, selector: "input[fd-form-control], textarea[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "component", type: i6.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i7.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i7.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "ariaRole", "id", "preventClick"], outputs: ["keyDown"] }, { kind: "directive", type: i7.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i7.ListSecondaryDirective, selector: "[fd-list-secondary], [fdListSecondary]", inputs: ["type"] }, { kind: "directive", type: i7.ListBylineDirective, selector: "[fdListByline], [fd-list-byline]", inputs: ["twoCol", "wrap"] }, { kind: "directive", type: i7.ListBylineLeftDirective, selector: "[fdListBylineLeft], [fd-list-byline-left]", inputs: ["wrap"] }, { kind: "directive", type: i7.ListBylineRightDirective, selector: "[fdListBylineRight], [fd-list-byline-right]", inputs: ["status", "wrap"] }, { kind: "directive", type: i7.ListContentDirective, selector: "[fdListContent], [fd-list-content]", inputs: ["twoCol"] }, { kind: "directive", type: i7.ListThumbnailDirective, selector: "[fdListThumbnail], [fd-list-thumbnail]" }, { kind: "component", type: i8.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "glyphFont", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate"] }, { kind: "component", type: i9.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "headingLevel", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i9.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: i10.SliderComponent, selector: "fd-slider", inputs: ["id", "class", "ariaLabelledBy", "ariaLabel", "min", "max", "step", "jump", "tickmarksBetweenLabels", "mode", "showTicks", "showTicksLabels", "customValues", "tooltipMode", "hideProgressBar", "disabled", "vertical", "value"] }, { kind: "directive", type: i11.ContentDensityDirective, selector: "[contentDensity]" }, { kind: "pipe", type: i12.AsyncPipe, name: "async" }, { kind: "pipe", type: i13.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i14.UploadFileStatusPipe, name: "uploadFileStatus" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BarsaListFileLinearGmailComponent, decorators: [{
27
- type: Component,
28
- args: [{ selector: 'bsu-barsa-list-file-linear-gmail', changeDetection: ChangeDetectionStrategy.OnPush, providers: [UploadService], standalone: false, template: "<ul fd-list>\r\n @for (item of value; track item) { @if (!item.IsDeleted) {\r\n <li fd-list-item style=\"background-color: #f5f5f5; margin: 0.5rem 0 0 30%\">\r\n @if (item.inEdit) {\r\n <input\r\n style=\"width: 90%\"\r\n fd-form-control\r\n [value]=\"item.fileName\"\r\n (click)=\"$event.preventDefault(); $event.stopPropagation()\"\r\n />\r\n } @if (!item.inEdit) {\r\n <span fd-list-title>\r\n {{ item.fileName }}\r\n </span>\r\n }\r\n <span fd-list-secondary>\r\n <button\r\n ariaLabel=\"Edit Or Save\"\r\n fdType=\"transparent\"\r\n class=\"fd-button--compact\"\r\n fd-button\r\n fdCompact\r\n [glyph]=\"item.inEdit ? 'save' : 'edit'\"\r\n (click)=\"item.inEdit = !item.inEdit\"\r\n ></button>\r\n @if (!item.inEdit) {\r\n <button ariaLabel=\"Remove\" fdType=\"transparent\" title=\"Remove\" fd-button glyph=\"delete\"></button>\r\n }\r\n </span>\r\n </li>\r\n } }\r\n</ul>\r\n<ul fd-list [byline]=\"true\">\r\n @if (fileCount$ | async; as fileCount) { @if (fileCount === 0) {\r\n <li fd-list-item>\r\n <div fd-list-content style=\"text-align: center\">\r\n <span>{{ 'NoFiles' | bbbTranslate }}</span>\r\n </div>\r\n </li>\r\n } } @for (file of value; track file) { @if (valueExtra$ | async; as valueExtra) { @if (!file.IsDeleted) {\r\n <li fd-list-item>\r\n <span fd-list-thumbnail>\r\n @if (valueExtra[file.Id].IsIcon) {\r\n <fd-icon [glyph]=\"valueExtra[file.Id].FileUrl\"></fd-icon>\r\n } @else {\r\n <fd-avatar size=\"m\" [image]=\"valueExtra[file.Id].FileUrl || ''\"></fd-avatar>\r\n }\r\n </span>\r\n <!-- for byline, fd-list-content is mandatory -->\r\n <div fd-list-content>\r\n <div fd-list-title>{{ file.FileName }}</div>\r\n <div fd-list-byline [twoCol]=\"true\">\r\n <div fd-list-byline-left></div>\r\n <div fd-list-byline-right style=\"display: flex; justify-content: flex-end\">\r\n <fd-toolbar [fdType]=\"'transparent'\" [clearBorder]=\"true\">\r\n @if (file.IsNew) {\r\n <span\r\n fd-toolbar-item\r\n fd-object-status\r\n [status]=\"file.Id | uploadFileStatus: valueExtra\"\r\n [label]=\"valueExtra[file.Id]?.UploadState || ''\"\r\n [title]=\"valueExtra[file.Id]?.UploadState\"\r\n [aria-label]=\"'File Upload Status Is ' + valueExtra[file.Id]?.UploadState\"\r\n ></span>\r\n @if (valueExtra[file.Id].UploadState === 'Uploading') {\r\n <fd-slider\r\n [contentDensity]=\"(contentDensity$ | async)!!\"\r\n [(ngModel)]=\"valueExtra[file.Id].Progress\"\r\n [name]=\"'filerLinear_' + id\"\r\n fd-toolbar-item\r\n [id]=\"id\"\r\n [min]=\"0\"\r\n [max]=\"100\"\r\n [step]=\"1\"\r\n >\r\n </fd-slider>\r\n } }\r\n </fd-toolbar>\r\n </div>\r\n </div>\r\n </div>\r\n @if ((disableOrReadonly$ | async) === false && valueExtra[file.Id].UploadState !== 'Uploading') {\r\n <button fd-button fdType=\"transparent\" glyph=\"decline\" (click)=\"onFileDeleted(file.Id)\"></button>\r\n } @if (valueExtra[file.Id].UploadState === 'Uploading') {\r\n <button fd-button [fdType]=\"'transparent'\" [glyph]=\"'stop'\" (click)=\"onTerminate(file)\"></button>\r\n } @if (valueExtra[file.Id].UploadState === 'Error') {\r\n <button fd-button [fdType]=\"'transparent'\" [glyph]=\"'refresh'\" (click)=\"onRetry(file)\"></button>\r\n }\r\n </li>\r\n } } }\r\n</ul>\r\n", styles: [":host{display:block;width:100%;height:100%}:host ::ng-deep .fd-slider__handle{display:none}:host ::ng-deep .fd-file-uploader input{display:none}\n"] }]
29
- }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtbGlzdC1maWxlLWxpbmVhci1nbWFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9iYXJzYS1saXN0LWZpbGUtbGluZWFyLWdtYWlsL2JhcnNhLWxpc3QtZmlsZS1saW5lYXItZ21haWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtbGlzdC1maWxlLWxpbmVhci1nbWFpbC9iYXJzYS1saXN0LWZpbGUtbGluZWFyLWdtYWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBc0IsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVU1RyxNQUFNLE9BQU8saUNBQWtDLFNBQVEsNEJBQTRCO0lBQy9FLE9BQU8sQ0FBQyxjQUFrQztRQUN0QyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQy9CLENBQUM7K0dBSFEsaUNBQWlDO21HQUFqQyxpQ0FBaUMsMkRBSC9CLENBQUMsYUFBYSxDQUFDLGlEQ1Q5Qix5dElBMkZBOzs0RkQvRWEsaUNBQWlDO2tCQVI3QyxTQUFTOytCQUNJLGtDQUFrQyxtQkFHM0IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGFBQWEsQ0FBQyxjQUNkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVwbG9hZFNlcnZpY2UsIEZpbGVBdHRhY2htZW50SW5mbyB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuaW1wb3J0IHsgVWlGaWxlTGluZWFyTGlzdEJveENvbXBvbmVudCB9IGZyb20gJy4uL3VpLWZpbGUtbGluZWFyLWxpc3QtYm94L3VpLWZpbGUtbGluZWFyLWxpc3QtYm94LmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LWJhcnNhLWxpc3QtZmlsZS1saW5lYXItZ21haWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhcnNhLWxpc3QtZmlsZS1saW5lYXItZ21haWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYmFyc2EtbGlzdC1maWxlLWxpbmVhci1nbWFpbC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBwcm92aWRlcnM6IFtVcGxvYWRTZXJ2aWNlXSxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYXJzYUxpc3RGaWxlTGluZWFyR21haWxDb21wb25lbnQgZXh0ZW5kcyBVaUZpbGVMaW5lYXJMaXN0Qm94Q29tcG9uZW50IHtcclxuICAgIG9uUmV0cnkoZmlsZUF0dGFjaG1lbnQ6IEZpbGVBdHRhY2htZW50SW5mbyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmV0cnkoZmlsZUF0dGFjaG1lbnQpO1xyXG4gICAgfVxyXG59XHJcbiIsIjx1bCBmZC1saXN0PlxyXG4gICAgQGZvciAoaXRlbSBvZiB2YWx1ZTsgdHJhY2sgaXRlbSkgeyBAaWYgKCFpdGVtLklzRGVsZXRlZCkge1xyXG4gICAgPGxpIGZkLWxpc3QtaXRlbSBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7IG1hcmdpbjogMC41cmVtIDAgMCAzMCVcIj5cclxuICAgICAgICBAaWYgKGl0ZW0uaW5FZGl0KSB7XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDkwJVwiXHJcbiAgICAgICAgICAgIGZkLWZvcm0tY29udHJvbFxyXG4gICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS5maWxlTmFtZVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAvPlxyXG4gICAgICAgIH0gQGlmICghaXRlbS5pbkVkaXQpIHtcclxuICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlPlxyXG4gICAgICAgICAgICB7eyBpdGVtLmZpbGVOYW1lIH19XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIH1cclxuICAgICAgICA8c3BhbiBmZC1saXN0LXNlY29uZGFyeT5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgYXJpYUxhYmVsPVwiRWRpdCBPciBTYXZlXCJcclxuICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtYnV0dG9uLS1jb21wYWN0XCJcclxuICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgZmRDb21wYWN0XHJcbiAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiaXRlbS5pbkVkaXQgPyAnc2F2ZScgOiAnZWRpdCdcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIml0ZW0uaW5FZGl0ID0gIWl0ZW0uaW5FZGl0XCJcclxuICAgICAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICBAaWYgKCFpdGVtLmluRWRpdCkge1xyXG4gICAgICAgICAgICA8YnV0dG9uIGFyaWFMYWJlbD1cIlJlbW92ZVwiIGZkVHlwZT1cInRyYW5zcGFyZW50XCIgdGl0bGU9XCJSZW1vdmVcIiBmZC1idXR0b24gZ2x5cGg9XCJkZWxldGVcIj48L2J1dHRvbj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgIDwvbGk+XHJcbiAgICB9IH1cclxuPC91bD5cclxuPHVsIGZkLWxpc3QgW2J5bGluZV09XCJ0cnVlXCI+XHJcbiAgICBAaWYgKGZpbGVDb3VudCQgfCBhc3luYzsgYXMgZmlsZUNvdW50KSB7IEBpZiAoZmlsZUNvdW50ID09PSAwKSB7XHJcbiAgICA8bGkgZmQtbGlzdC1pdGVtPlxyXG4gICAgICAgIDxkaXYgZmQtbGlzdC1jb250ZW50IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7ICdOb0ZpbGVzJyB8IGJiYlRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbGk+XHJcbiAgICB9IH0gQGZvciAoZmlsZSBvZiB2YWx1ZTsgdHJhY2sgZmlsZSkgeyBAaWYgKHZhbHVlRXh0cmEkIHwgYXN5bmM7IGFzIHZhbHVlRXh0cmEpIHsgQGlmICghZmlsZS5Jc0RlbGV0ZWQpIHtcclxuICAgIDxsaSBmZC1saXN0LWl0ZW0+XHJcbiAgICAgICAgPHNwYW4gZmQtbGlzdC10aHVtYm5haWw+XHJcbiAgICAgICAgICAgIEBpZiAodmFsdWVFeHRyYVtmaWxlLklkXS5Jc0ljb24pIHtcclxuICAgICAgICAgICAgPGZkLWljb24gW2dseXBoXT1cInZhbHVlRXh0cmFbZmlsZS5JZF0uRmlsZVVybFwiPjwvZmQtaWNvbj5cclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIDxmZC1hdmF0YXIgc2l6ZT1cIm1cIiBbaW1hZ2VdPVwidmFsdWVFeHRyYVtmaWxlLklkXS5GaWxlVXJsIHx8ICcnXCI+PC9mZC1hdmF0YXI+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPCEtLSBmb3IgYnlsaW5lLCBmZC1saXN0LWNvbnRlbnQgaXMgbWFuZGF0b3J5IC0tPlxyXG4gICAgICAgIDxkaXYgZmQtbGlzdC1jb250ZW50PlxyXG4gICAgICAgICAgICA8ZGl2IGZkLWxpc3QtdGl0bGU+e3sgZmlsZS5GaWxlTmFtZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGZkLWxpc3QtYnlsaW5lIFt0d29Db2xdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBmZC1saXN0LWJ5bGluZS1sZWZ0PjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBmZC1saXN0LWJ5bGluZS1yaWdodCBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogZmxleC1lbmRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZmQtdG9vbGJhciBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIiBbY2xlYXJCb3JkZXJdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGZpbGUuSXNOZXcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmQtb2JqZWN0LXN0YXR1c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXR1c109XCJmaWxlLklkIHwgdXBsb2FkRmlsZVN0YXR1czogdmFsdWVFeHRyYVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwidmFsdWVFeHRyYVtmaWxlLklkXT8uVXBsb2FkU3RhdGUgfHwgJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cInZhbHVlRXh0cmFbZmlsZS5JZF0/LlVwbG9hZFN0YXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcmlhLWxhYmVsXT1cIidGaWxlIFVwbG9hZCBTdGF0dXMgSXMgJyArIHZhbHVlRXh0cmFbZmlsZS5JZF0/LlVwbG9hZFN0YXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmICh2YWx1ZUV4dHJhW2ZpbGUuSWRdLlVwbG9hZFN0YXRlID09PSAnVXBsb2FkaW5nJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtc2xpZGVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGVudERlbnNpdHldPVwiKGNvbnRlbnREZW5zaXR5JCB8IGFzeW5jKSEhXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVFeHRyYVtmaWxlLklkXS5Qcm9ncmVzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCInZmlsZXJMaW5lYXJfJyArIGlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cImlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttaW5dPVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF4XT1cIjEwMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RlcF09XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLXNsaWRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSB9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9mZC10b29sYmFyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIEBpZiAoKGRpc2FibGVPclJlYWRvbmx5JCB8IGFzeW5jKSA9PT0gZmFsc2UgJiYgdmFsdWVFeHRyYVtmaWxlLklkXS5VcGxvYWRTdGF0ZSAhPT0gJ1VwbG9hZGluZycpIHtcclxuICAgICAgICA8YnV0dG9uIGZkLWJ1dHRvbiBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiIGdseXBoPVwiZGVjbGluZVwiIChjbGljayk9XCJvbkZpbGVEZWxldGVkKGZpbGUuSWQpXCI+PC9idXR0b24+XHJcbiAgICAgICAgfSBAaWYgKHZhbHVlRXh0cmFbZmlsZS5JZF0uVXBsb2FkU3RhdGUgPT09ICdVcGxvYWRpbmcnKSB7XHJcbiAgICAgICAgPGJ1dHRvbiBmZC1idXR0b24gW2ZkVHlwZV09XCIndHJhbnNwYXJlbnQnXCIgW2dseXBoXT1cIidzdG9wJ1wiIChjbGljayk9XCJvblRlcm1pbmF0ZShmaWxlKVwiPjwvYnV0dG9uPlxyXG4gICAgICAgIH0gQGlmICh2YWx1ZUV4dHJhW2ZpbGUuSWRdLlVwbG9hZFN0YXRlID09PSAnRXJyb3InKSB7XHJcbiAgICAgICAgPGJ1dHRvbiBmZC1idXR0b24gW2ZkVHlwZV09XCIndHJhbnNwYXJlbnQnXCIgW2dseXBoXT1cIidyZWZyZXNoJ1wiIChjbGljayk9XCJvblJldHJ5KGZpbGUpXCI+PC9idXR0b24+XHJcbiAgICAgICAgfVxyXG4gICAgPC9saT5cclxuICAgIH0gfSB9XHJcbjwvdWw+XHJcbiJdfQ==