barsa-sap-ui 1.0.456 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (652) hide show
  1. package/{esm2020 → esm2022}/barsa-sap-ui.mjs +4 -4
  2. package/esm2022/lib/apply-conditional-formmatings.directive.mjs +89 -0
  3. package/esm2022/lib/barsa-answer-card/barsa-answer-card.component.mjs +41 -0
  4. package/esm2022/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +127 -0
  5. package/{esm2020 → esm2022}/lib/barsa-bar-panel/barsa-bar-panel.component.mjs +23 -23
  6. package/esm2022/lib/barsa-base-panel/barsa-base-layout-panel.component.mjs +29 -0
  7. package/esm2022/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +24 -0
  8. package/esm2022/lib/barsa-card-row-payam/barsa-card-row-payam.component.mjs +30 -0
  9. package/esm2022/lib/barsa-cartable-form/barsa-cartable-form.component.mjs +41 -0
  10. package/{esm2020 → esm2022}/lib/barsa-cartable-template/barsa-cartable-template.component.mjs +24 -24
  11. package/esm2022/lib/barsa-chat/barsa-chat.component.mjs +260 -0
  12. package/esm2022/lib/barsa-chat/chat.model.mjs +8 -0
  13. package/esm2022/lib/barsa-chat-content/barsa-chat-content.component.mjs +13 -0
  14. package/esm2022/lib/barsa-chat-content-toolbar/barsa-chat-content-toolbar.component.mjs +22 -0
  15. package/esm2022/lib/barsa-chat-list/barsa-chat-list.component.mjs +56 -0
  16. package/esm2022/lib/barsa-chat-message/barsa-chat-message.component.mjs +77 -0
  17. package/esm2022/lib/barsa-chat-thread/barsa-chat-thread.component.mjs +22 -0
  18. package/esm2022/lib/barsa-chat-threads-list/barsa-chat-threads-list.component.mjs +13 -0
  19. package/esm2022/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.mjs +15 -0
  20. package/esm2022/lib/barsa-chip/barsa-chip.component.mjs +72 -0
  21. package/{esm2020 → esm2022}/lib/barsa-column-indicator/barsa-column-indicator.component.mjs +23 -23
  22. package/{esm2020 → esm2022}/lib/barsa-column-rownumber/barsa-column-rownumber.component.mjs +15 -15
  23. package/esm2022/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.mjs +14 -0
  24. package/esm2022/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.mjs +26 -0
  25. package/esm2022/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +71 -0
  26. package/esm2022/lib/barsa-dynamic-field/barsa-dynamic-field.component.mjs +41 -0
  27. package/esm2022/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.mjs +61 -0
  28. package/esm2022/lib/barsa-field-key-value/barsa-field-key-value.component.mjs +45 -0
  29. package/esm2022/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +37 -0
  30. package/esm2022/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.mjs +27 -0
  31. package/esm2022/lib/barsa-group-cartable/barsa-cartable-group.component.mjs +94 -0
  32. package/esm2022/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.mjs +22 -0
  33. package/esm2022/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.mjs +37 -0
  34. package/esm2022/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +41 -0
  35. package/esm2022/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +29 -0
  36. package/esm2022/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.mjs +23 -0
  37. package/esm2022/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +83 -0
  38. package/esm2022/lib/barsa-network-offline/barsa-network-offline.component.mjs +53 -0
  39. package/esm2022/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.mjs +159 -0
  40. package/esm2022/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.mjs +17 -0
  41. package/esm2022/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.mjs +30 -0
  42. package/esm2022/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.mjs +14 -0
  43. package/esm2022/lib/barsa-question-answer-form/barsa-question-answer-form.component.mjs +34 -0
  44. package/esm2022/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.mjs +46 -0
  45. package/esm2022/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.mjs +79 -0
  46. package/esm2022/lib/barsa-question-post/barsa-question-post.component.mjs +30 -0
  47. package/esm2022/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.mjs +31 -0
  48. package/{esm2020 → esm2022}/lib/barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component.mjs +28 -28
  49. package/esm2022/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +98 -0
  50. package/{esm2020 → esm2022}/lib/barsa-sap-ui-routing.module.mjs +18 -18
  51. package/esm2022/lib/barsa-sap-ui.module.mjs +360 -0
  52. package/esm2022/lib/barsa-search-form/barsa-search-form.component.mjs +29 -0
  53. package/esm2022/lib/barsa-simple-form/barsa-simple-form.component.mjs +168 -0
  54. package/esm2022/lib/barsa-table-column/barsa-table-column.component.mjs +27 -0
  55. package/esm2022/lib/barsa-table-header/barsa-table-header.component.mjs +198 -0
  56. package/esm2022/lib/barsa-table-row/barsa-table-row.component.mjs +61 -0
  57. package/esm2022/lib/barsa-tag-categories/barsa-tag-categories.component.mjs +60 -0
  58. package/esm2022/lib/barsa-tag-chip/barsa-tag-chip.component.mjs +26 -0
  59. package/esm2022/lib/barsa-tags-category-row/barsa-tags-category-row.component.mjs +23 -0
  60. package/esm2022/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.mjs +37 -0
  61. package/esm2022/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +417 -0
  62. package/esm2022/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.mjs +36 -0
  63. package/esm2022/lib/barsa-tree-item/barsa-tree-item.component.mjs +129 -0
  64. package/{esm2020 → esm2022}/lib/barsa-tree-item/node-has-one-depth-level.pipe.mjs +19 -19
  65. package/esm2022/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +208 -0
  66. package/esm2022/lib/blob-viewer/blob-viewer.component.mjs +78 -0
  67. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +44 -0
  68. package/{esm2020 → esm2022}/lib/captcha-field/captcha-field.component.mjs +28 -28
  69. package/esm2022/lib/card-item/card-item.component.mjs +76 -0
  70. package/esm2022/lib/card-view-content/card-view-content.component.mjs +46 -0
  71. package/esm2022/lib/col-renderer.directive.mjs +46 -0
  72. package/esm2022/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +56 -0
  73. package/esm2022/lib/column-matrix-renderer/matrix-value.pipe.mjs +60 -0
  74. package/esm2022/lib/column-renderer/column-renderer.component.mjs +85 -0
  75. package/esm2022/lib/constants.mjs +421 -0
  76. package/esm2022/lib/custom-date-time/custom-date-time.component.mjs +41 -0
  77. package/{esm2020 → esm2022}/lib/device-info-field-base.mjs +23 -23
  78. package/{esm2020 → esm2022}/lib/dialog-handler.directive.mjs +28 -28
  79. package/esm2022/lib/download-files.directive.mjs +33 -0
  80. package/esm2022/lib/dynamic-page-size.pipe.mjs +26 -0
  81. package/{esm2020 → esm2022}/lib/file-in-dialog/file-in-dialog.component.mjs +44 -44
  82. package/esm2022/lib/file-viewer/file-viewer.component.mjs +39 -0
  83. package/{esm2020 → esm2022}/lib/file-viewer-content/file-viewer-content.component.mjs +53 -53
  84. package/esm2022/lib/file-viewer-popover/file-viewer-popover.component.mjs +41 -0
  85. package/esm2022/lib/form-dialog/form-dialog.component.mjs +142 -0
  86. package/esm2022/lib/form-dialog-less/form-dialog-less.component.mjs +44 -0
  87. package/esm2022/lib/form-toolbar/form-toolbar.component.mjs +43 -0
  88. package/esm2022/lib/form-toolbar-button/form-toolbar-button.component.mjs +45 -0
  89. package/esm2022/lib/form-wizard/form-wizard.component.mjs +21 -0
  90. package/esm2022/lib/fullscreen-dialog.directive.mjs +59 -0
  91. package/esm2022/lib/fullscreen-files.directive.mjs +42 -0
  92. package/esm2022/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +188 -0
  93. package/esm2022/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +203 -0
  94. package/{esm2020 → esm2022}/lib/global-search/global-search.component.mjs +27 -27
  95. package/esm2022/lib/global-search-module/global-search-module.component.mjs +29 -0
  96. package/esm2022/lib/global-search-panel/global-search-panel.component.mjs +25 -0
  97. package/esm2022/lib/header-avatar/header-avatar.component.mjs +18 -0
  98. package/{esm2020 → esm2022}/lib/header-facet-form/header-facet-form.component.mjs +22 -22
  99. package/{esm2020 → esm2022}/lib/header-facet-key-value/header-facet-key-value.component.mjs +31 -31
  100. package/{esm2020 → esm2022}/lib/header-facet-microchart/header-facet-microchart.component.mjs +21 -21
  101. package/{esm2020 → esm2022}/lib/header-facet-plain-text/header-facet-plain-text.component.mjs +28 -28
  102. package/esm2022/lib/header-facet-progress/header-facet-progress.component.mjs +25 -0
  103. package/esm2022/lib/header-facet-rate/header-facet-rate.component.mjs +25 -0
  104. package/esm2022/lib/htree-create-new/htree-create-new.component.mjs +48 -0
  105. package/esm2022/lib/hyperlink/hyperlink.component.mjs +23 -0
  106. package/esm2022/lib/index.mjs +564 -0
  107. package/{esm2020 → esm2022}/lib/inline-save-and-cancel/inline-save-and-cancel.component.mjs +32 -32
  108. package/esm2022/lib/layout-actions/layout-actions.component.mjs +68 -0
  109. package/esm2022/lib/layout-control/layout-control.component.mjs +234 -0
  110. package/esm2022/lib/layout-wizard/layout-wizard.component.mjs +154 -0
  111. package/esm2022/lib/list-item/list-item.component.mjs +34 -0
  112. package/esm2022/lib/ly-empty-space/ly-empty-space.component.mjs +42 -0
  113. package/esm2022/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +71 -0
  114. package/esm2022/lib/ly-label/ly-label.component.mjs +34 -0
  115. package/esm2022/lib/ly-layout-container/ly-layout-container.component.mjs +83 -0
  116. package/esm2022/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +17 -0
  117. package/{esm2020 → esm2022}/lib/ly-layout-field-label/ly-layout-field-label.component.mjs +24 -24
  118. package/esm2022/lib/ly-layout-panel/ly-layout-panel.component.mjs +73 -0
  119. package/esm2022/lib/ly-line/ly-line.component.mjs +56 -0
  120. package/esm2022/lib/ly-simple-label/ly-simple-label.component.mjs +22 -0
  121. package/esm2022/lib/ly-tab-container/ly-tab-container.component.mjs +52 -0
  122. package/esm2022/lib/ly-tab-page/ly-tab-page.component.mjs +44 -0
  123. package/esm2022/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +50 -0
  124. package/esm2022/lib/manage-filters-report/manage-filters-report.component.mjs +43 -0
  125. package/{esm2020 → esm2022}/lib/mask/mask.component.mjs +22 -22
  126. package/esm2022/lib/message-strip/message-strip.component.mjs +28 -0
  127. package/esm2022/lib/models/grid-data-provider.mjs +83 -0
  128. package/esm2022/lib/models/grid-view.mjs +2 -0
  129. package/{esm2020 → esm2022}/lib/models/index.mjs +1 -1
  130. package/esm2022/lib/no-data/no-data.component.mjs +31 -0
  131. package/esm2022/lib/notification-item/notification-item.component.mjs +57 -0
  132. package/esm2022/lib/notification-popup.service.mjs +92 -0
  133. package/{esm2020 → esm2022}/lib/progress-indicator/progress-indicator.component.mjs +18 -18
  134. package/esm2022/lib/report-navigator/report-navigator.component.mjs +63 -0
  135. package/esm2022/lib/report-new-top-form/report-new-top-form.component.mjs +60 -0
  136. package/esm2022/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +35 -0
  137. package/esm2022/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +97 -0
  138. package/esm2022/lib/report-search-panel-save/report-search-panel-save.component.mjs +88 -0
  139. package/esm2022/lib/report-tree-base.mjs +408 -0
  140. package/esm2022/lib/report-view-renderer.directive.mjs +366 -0
  141. package/esm2022/lib/responsive-toolbar/responsive-toolbar.component.mjs +50 -0
  142. package/esm2022/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +84 -0
  143. package/esm2022/lib/rich-text-static/rich-text-static.component.mjs +72 -0
  144. package/esm2022/lib/sap-font-class.pipe.mjs +29 -0
  145. package/esm2022/lib/sap-font.pipe.mjs +29 -0
  146. package/esm2022/lib/sap-size.pipe.mjs +27 -0
  147. package/esm2022/lib/sap-ui-report-base.component.mjs +765 -0
  148. package/esm2022/lib/search-panel/search-panel.component.mjs +42 -0
  149. package/{esm2020 → esm2022}/lib/static-text/static-text.component.mjs +15 -15
  150. package/{esm2020 → esm2022}/lib/title/title.component.mjs +15 -15
  151. package/{esm2020 → esm2022}/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.mjs +18 -18
  152. package/esm2022/lib/ui-button/ui-button.component.mjs +31 -0
  153. package/esm2022/lib/ui-calendar/ui-calendar.component.mjs +53 -0
  154. package/esm2022/lib/ui-card-view/ui-card-view.component.mjs +59 -0
  155. package/esm2022/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +42 -0
  156. package/esm2022/lib/ui-check-box/ui-check-box.component.mjs +34 -0
  157. package/esm2022/lib/ui-color-ui/ui-color-ui.component.mjs +50 -0
  158. package/esm2022/lib/ui-container-with-button/ui-container-with-button.component.mjs +34 -0
  159. package/esm2022/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +191 -0
  160. package/esm2022/lib/ui-date-time/ui-date-time.component.mjs +149 -0
  161. package/esm2022/lib/ui-editable-grid/ui-editable-grid.component.mjs +110 -0
  162. package/esm2022/lib/ui-exception-form/ui-exception-form.component.mjs +53 -0
  163. package/esm2022/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +121 -0
  164. package/esm2022/lib/ui-form-panel/ui-form-panel.component.mjs +92 -0
  165. package/{esm2020 → esm2022}/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +32 -32
  166. package/{esm2020 → esm2022}/lib/ui-graph/ui-graph.component.mjs +17 -17
  167. package/{esm2020 → esm2022}/lib/ui-grid/ui-grid.component.mjs +25 -25
  168. package/esm2022/lib/ui-grid-columns/ui-grid-columns.component.mjs +43 -0
  169. package/esm2022/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +66 -0
  170. package/esm2022/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +75 -0
  171. package/esm2022/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +58 -0
  172. package/esm2022/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +155 -0
  173. package/{esm2020 → esm2022}/lib/ui-html-viewer/ui-html-viewer.component.mjs +16 -16
  174. package/{esm2020 → esm2022}/lib/ui-info-bar-panel/ui-info-bar-panel.component.mjs +11 -11
  175. package/{esm2020 → esm2022}/lib/ui-label/ui-label.component.mjs +12 -12
  176. package/esm2022/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +349 -0
  177. package/esm2022/lib/ui-list-view/ui-list-view.component.mjs +75 -0
  178. package/esm2022/lib/ui-matrix-view/ui-matrix-view.component.mjs +124 -0
  179. package/esm2022/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +19 -0
  180. package/{esm2020 → esm2022}/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.mjs +14 -14
  181. package/esm2022/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +55 -0
  182. package/esm2022/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +430 -0
  183. package/esm2022/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +28 -0
  184. package/esm2022/lib/ui-multi-select-card/ui-multi-select-card.component.mjs +37 -0
  185. package/esm2022/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.mjs +59 -0
  186. package/esm2022/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +93 -0
  187. package/esm2022/lib/ui-multi-select-radio/ui-multi-select-radio.component.mjs +36 -0
  188. package/esm2022/lib/ui-multi-select-slider/ui-multi-select-slider.component.mjs +56 -0
  189. package/esm2022/lib/ui-multi-select-smile/ui-multi-select-smile.component.mjs +28 -0
  190. package/esm2022/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +24 -0
  191. package/esm2022/lib/ui-num-int-slider/ui-num-int-slider.component.mjs +27 -0
  192. package/{esm2020 → esm2022}/lib/ui-num-int-ui/ui-num-int-ui.component.mjs +21 -21
  193. package/esm2022/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +261 -0
  194. package/esm2022/lib/ui-picture-file/ui-picture-file.component.mjs +98 -0
  195. package/esm2022/lib/ui-pictures-info/ui-pictures-info.component.mjs +223 -0
  196. package/esm2022/lib/ui-radio-group/ui-radio-group.component.mjs +48 -0
  197. package/esm2022/lib/ui-read-only-field/ui-read-only-field.component.mjs +36 -0
  198. package/esm2022/lib/ui-report-container/ui-report-container.component.mjs +46 -0
  199. package/{esm2020 → esm2022}/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.mjs +24 -24
  200. package/esm2022/lib/ui-simple-combo/ui-simple-combo.component.mjs +37 -0
  201. package/{esm2020 → esm2022}/lib/ui-single-picture/ui-single-picture.component.mjs +36 -36
  202. package/esm2022/lib/ui-switch-button/ui-switch-button.component.mjs +20 -0
  203. package/esm2022/lib/ui-table-view/ui-table-view.component.mjs +155 -0
  204. package/esm2022/lib/ui-text-area/ui-text-area.component.mjs +49 -0
  205. package/esm2022/lib/ui-text-field/ui-text-field.component.mjs +52 -0
  206. package/{esm2020 → esm2022}/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.mjs +47 -47
  207. package/{esm2020 → esm2022}/lib/ui-time-span/ui-time-span.component.mjs +24 -24
  208. package/esm2022/lib/ui-tinymce/ui-tinymce.component.mjs +53 -0
  209. package/esm2022/lib/ui-tree/ui-tree.component.mjs +92 -0
  210. package/esm2022/lib/ui-tree-view/ui-tree-view.component.mjs +80 -0
  211. package/esm2022/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +23 -0
  212. package/esm2022/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +289 -0
  213. package/esm2022/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +25 -0
  214. package/esm2022/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +93 -0
  215. package/esm2022/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +117 -0
  216. package/esm2022/lib/ul-notify-popup/ul-notify-popup.component.mjs +32 -0
  217. package/esm2022/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +48 -0
  218. package/esm2022/lib/ulv-column-settings/ulv-column-settings.component.mjs +60 -0
  219. package/esm2022/lib/ulv-context-menu/ulv-context-menu.component.mjs +87 -0
  220. package/esm2022/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +43 -0
  221. package/esm2022/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +184 -0
  222. package/esm2022/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +44 -0
  223. package/esm2022/lib/ulv-paging/ulv-paging.component.mjs +84 -0
  224. package/esm2022/lib/ulv-selection/ulv-selection.component.mjs +65 -0
  225. package/esm2022/lib/ulv-settings/ulv-settings.component.mjs +116 -0
  226. package/esm2022/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +44 -0
  227. package/esm2022/lib/ulv-toolbar/ulv-toolbar.component.mjs +115 -0
  228. package/esm2022/lib/upload-file-status.pipe.mjs +28 -0
  229. package/esm2022/lib/util-chat-time-badge.pipe.mjs +18 -0
  230. package/esm2022/lib/util-date-to-hh-mm.pipe.mjs +23 -0
  231. package/{esm2020 → esm2022}/lib/wizard-layout.directive.mjs +103 -103
  232. package/{esm2020 → esm2022}/public-api.mjs +230 -222
  233. package/fesm2022/barsa-sap-ui.mjs +14745 -0
  234. package/fesm2022/barsa-sap-ui.mjs.map +1 -0
  235. package/index.d.ts +5 -5
  236. package/lib/apply-conditional-formmatings.directive.d.ts +25 -25
  237. package/lib/barsa-answer-card/barsa-answer-card.component.d.ts +12 -12
  238. package/lib/barsa-asp-viewer/barsa-asp-viewer.component.d.ts +29 -29
  239. package/lib/barsa-bar-panel/barsa-bar-panel.component.d.ts +9 -9
  240. package/lib/barsa-base-panel/barsa-base-layout-panel.component.d.ts +12 -12
  241. package/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.d.ts +15 -15
  242. package/lib/barsa-card-row-payam/barsa-card-row-payam.component.d.ts +20 -20
  243. package/lib/barsa-cartable-form/barsa-cartable-form.component.d.ts +10 -10
  244. package/lib/barsa-cartable-template/barsa-cartable-template.component.d.ts +14 -14
  245. package/lib/barsa-chat/barsa-chat.component.d.ts +48 -0
  246. package/lib/barsa-chat/chat.model.d.ts +43 -0
  247. package/lib/barsa-chat-content/barsa-chat-content.component.d.ts +5 -0
  248. package/lib/barsa-chat-content-toolbar/barsa-chat-content-toolbar.component.d.ts +9 -0
  249. package/lib/barsa-chat-list/barsa-chat-list.component.d.ts +16 -0
  250. package/lib/barsa-chat-message/barsa-chat-message.component.d.ts +16 -0
  251. package/lib/barsa-chat-thread/barsa-chat-thread.component.d.ts +6 -0
  252. package/lib/barsa-chat-threads-list/barsa-chat-threads-list.component.d.ts +5 -0
  253. package/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.d.ts +5 -0
  254. package/lib/barsa-chip/barsa-chip.component.d.ts +20 -20
  255. package/lib/barsa-column-indicator/barsa-column-indicator.component.d.ts +11 -11
  256. package/lib/barsa-column-rownumber/barsa-column-rownumber.component.d.ts +8 -8
  257. package/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.d.ts +6 -6
  258. package/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.d.ts +10 -10
  259. package/lib/barsa-date-time-picker/barsa-date-time-picker.component.d.ts +18 -18
  260. package/lib/barsa-dynamic-field/barsa-dynamic-field.component.d.ts +16 -16
  261. package/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.d.ts +23 -23
  262. package/lib/barsa-field-key-value/barsa-field-key-value.component.d.ts +26 -26
  263. package/lib/barsa-form-side-content/barsa-form-side-content.component.d.ts +25 -23
  264. package/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.d.ts +16 -16
  265. package/lib/barsa-group-cartable/barsa-cartable-group.component.d.ts +26 -26
  266. package/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.d.ts +14 -14
  267. package/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.d.ts +12 -12
  268. package/lib/barsa-list-file-linear/barsa-list-file-linear.component.d.ts +17 -17
  269. package/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.d.ts +8 -8
  270. package/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.d.ts +9 -9
  271. package/lib/barsa-monaco-editor/barsa-monaco-editor.component.d.ts +23 -23
  272. package/lib/barsa-network-offline/barsa-network-offline.component.d.ts +14 -14
  273. package/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.d.ts +79 -79
  274. package/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.d.ts +7 -7
  275. package/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.d.ts +13 -13
  276. package/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.d.ts +7 -7
  277. package/lib/barsa-question-answer-form/barsa-question-answer-form.component.d.ts +10 -10
  278. package/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.d.ts +13 -13
  279. package/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.d.ts +14 -14
  280. package/lib/barsa-question-post/barsa-question-post.component.d.ts +10 -10
  281. package/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.d.ts +9 -9
  282. package/lib/barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component.d.ts +15 -15
  283. package/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.d.ts +31 -31
  284. package/lib/barsa-sap-ui-routing.module.d.ts +7 -7
  285. package/lib/barsa-sap-ui.module.d.ts +245 -234
  286. package/lib/barsa-search-form/barsa-search-form.component.d.ts +8 -8
  287. package/lib/barsa-simple-form/barsa-simple-form.component.d.ts +73 -73
  288. package/lib/barsa-table-column/barsa-table-column.component.d.ts +8 -8
  289. package/lib/barsa-table-header/barsa-table-header.component.d.ts +59 -59
  290. package/lib/barsa-table-row/barsa-table-row.component.d.ts +18 -18
  291. package/lib/barsa-tag-categories/barsa-tag-categories.component.d.ts +11 -11
  292. package/lib/barsa-tag-chip/barsa-tag-chip.component.d.ts +10 -10
  293. package/lib/barsa-tags-category-row/barsa-tags-category-row.component.d.ts +9 -9
  294. package/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.d.ts +18 -18
  295. package/lib/barsa-tinyemce/barsa-tinyemce.component.d.ts +54 -54
  296. package/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.d.ts +12 -12
  297. package/lib/barsa-tree-item/barsa-tree-item.component.d.ts +54 -54
  298. package/lib/barsa-tree-item/node-has-one-depth-level.pipe.d.ts +8 -8
  299. package/lib/barsa-ulv-main/barsa-ulv-main.component.d.ts +72 -72
  300. package/lib/blob-viewer/blob-viewer.component.d.ts +24 -24
  301. package/lib/breadcrumb/breadcrumb.component.d.ts +17 -17
  302. package/lib/captcha-field/captcha-field.component.d.ts +10 -10
  303. package/lib/card-item/card-item.component.d.ts +20 -20
  304. package/lib/card-view-content/card-view-content.component.d.ts +14 -14
  305. package/lib/col-renderer.directive.d.ts +10 -10
  306. package/lib/column-matrix-renderer/column-matrix-renderer.component.d.ts +23 -23
  307. package/lib/column-matrix-renderer/matrix-value.pipe.d.ts +8 -8
  308. package/lib/column-renderer/column-renderer.component.d.ts +33 -33
  309. package/lib/constants.d.ts +12 -12
  310. package/lib/custom-date-time/custom-date-time.component.d.ts +26 -26
  311. package/lib/device-info-field-base.d.ts +12 -12
  312. package/lib/dialog-handler.directive.d.ts +12 -12
  313. package/lib/download-files.directive.d.ts +9 -9
  314. package/lib/dynamic-page-size.pipe.d.ts +8 -8
  315. package/lib/file-in-dialog/file-in-dialog.component.d.ts +16 -16
  316. package/lib/file-viewer/file-viewer.component.d.ts +21 -21
  317. package/lib/file-viewer-content/file-viewer-content.component.d.ts +20 -20
  318. package/lib/file-viewer-popover/file-viewer-popover.component.d.ts +17 -17
  319. package/lib/form-dialog/form-dialog.component.d.ts +45 -45
  320. package/lib/form-dialog-less/form-dialog-less.component.d.ts +29 -29
  321. package/lib/form-toolbar/form-toolbar.component.d.ts +14 -14
  322. package/lib/form-toolbar-button/form-toolbar-button.component.d.ts +20 -20
  323. package/lib/form-wizard/form-wizard.component.d.ts +8 -8
  324. package/lib/fullscreen-dialog.directive.d.ts +20 -20
  325. package/lib/fullscreen-files.directive.d.ts +16 -16
  326. package/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.d.ts +76 -76
  327. package/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.d.ts +18 -18
  328. package/lib/global-search/global-search.component.d.ts +11 -11
  329. package/lib/global-search-module/global-search-module.component.d.ts +18 -18
  330. package/lib/global-search-panel/global-search-panel.component.d.ts +9 -9
  331. package/lib/header-avatar/header-avatar.component.d.ts +8 -8
  332. package/lib/header-facet-form/header-facet-form.component.d.ts +9 -9
  333. package/lib/header-facet-key-value/header-facet-key-value.component.d.ts +11 -11
  334. package/lib/header-facet-microchart/header-facet-microchart.component.d.ts +8 -8
  335. package/lib/header-facet-plain-text/header-facet-plain-text.component.d.ts +11 -11
  336. package/lib/header-facet-progress/header-facet-progress.component.d.ts +11 -11
  337. package/lib/header-facet-rate/header-facet-rate.component.d.ts +11 -11
  338. package/lib/htree-create-new/htree-create-new.component.d.ts +13 -13
  339. package/lib/hyperlink/hyperlink.component.d.ts +7 -7
  340. package/lib/index.d.ts +102 -100
  341. package/lib/inline-save-and-cancel/inline-save-and-cancel.component.d.ts +11 -11
  342. package/lib/layout-actions/layout-actions.component.d.ts +25 -25
  343. package/lib/layout-control/layout-control.component.d.ts +67 -67
  344. package/lib/layout-wizard/layout-wizard.component.d.ts +28 -28
  345. package/lib/list-item/list-item.component.d.ts +14 -14
  346. package/lib/ly-empty-space/ly-empty-space.component.d.ts +13 -13
  347. package/lib/ly-horizontal-layout/ly-horizontal-layout.component.d.ts +23 -23
  348. package/lib/ly-label/ly-label.component.d.ts +16 -16
  349. package/lib/ly-layout-container/ly-layout-container.component.d.ts +26 -26
  350. package/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.d.ts +8 -8
  351. package/lib/ly-layout-field-label/ly-layout-field-label.component.d.ts +13 -13
  352. package/lib/ly-layout-panel/ly-layout-panel.component.d.ts +26 -26
  353. package/lib/ly-line/ly-line.component.d.ts +17 -17
  354. package/lib/ly-simple-label/ly-simple-label.component.d.ts +9 -9
  355. package/lib/ly-tab-container/ly-tab-container.component.d.ts +19 -19
  356. package/lib/ly-tab-page/ly-tab-page.component.d.ts +20 -20
  357. package/lib/ly-vertical-layout/ly-vertical-layout.component.d.ts +19 -19
  358. package/lib/manage-filters-report/manage-filters-report.component.d.ts +24 -24
  359. package/lib/mask/mask.component.d.ts +9 -9
  360. package/lib/message-strip/message-strip.component.d.ts +11 -11
  361. package/lib/models/grid-data-provider.d.ts +22 -22
  362. package/lib/models/grid-view.d.ts +61 -61
  363. package/lib/models/index.d.ts +1 -1
  364. package/lib/no-data/no-data.component.d.ts +11 -9
  365. package/lib/notification-item/notification-item.component.d.ts +43 -43
  366. package/lib/notification-popup.service.d.ts +17 -17
  367. package/lib/progress-indicator/progress-indicator.component.d.ts +8 -8
  368. package/lib/report-navigator/report-navigator.component.d.ts +21 -21
  369. package/lib/report-new-top-form/report-new-top-form.component.d.ts +18 -18
  370. package/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.d.ts +14 -14
  371. package/lib/report-search-fields-manage/report-search-fields-manage.component.d.ts +20 -20
  372. package/lib/report-search-panel-save/report-search-panel-save.component.d.ts +27 -27
  373. package/lib/report-tree-base.d.ts +62 -62
  374. package/lib/report-view-renderer.directive.d.ts +117 -117
  375. package/lib/responsive-toolbar/responsive-toolbar.component.d.ts +19 -19
  376. package/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.d.ts +24 -24
  377. package/lib/rich-text-static/rich-text-static.component.d.ts +28 -28
  378. package/lib/sap-font-class.pipe.d.ts +8 -8
  379. package/lib/sap-font.pipe.d.ts +9 -9
  380. package/lib/sap-size.pipe.d.ts +8 -8
  381. package/lib/sap-ui-report-base.component.d.ts +154 -154
  382. package/lib/search-panel/search-panel.component.d.ts +14 -14
  383. package/lib/static-text/static-text.component.d.ts +7 -7
  384. package/lib/title/title.component.d.ts +7 -7
  385. package/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.d.ts +9 -9
  386. package/lib/ui-button/ui-button.component.d.ts +11 -11
  387. package/lib/ui-calendar/ui-calendar.component.d.ts +19 -19
  388. package/lib/ui-card-view/ui-card-view.component.d.ts +16 -16
  389. package/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.d.ts +12 -12
  390. package/lib/ui-check-box/ui-check-box.component.d.ts +14 -14
  391. package/lib/ui-color-ui/ui-color-ui.component.d.ts +16 -16
  392. package/lib/ui-container-with-button/ui-container-with-button.component.d.ts +11 -11
  393. package/lib/ui-date-range-ex/ui-date-range-ex.component.d.ts +35 -36
  394. package/lib/ui-date-time/ui-date-time.component.d.ts +39 -40
  395. package/lib/ui-editable-grid/ui-editable-grid.component.d.ts +43 -43
  396. package/lib/ui-exception-form/ui-exception-form.component.d.ts +15 -15
  397. package/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.d.ts +50 -50
  398. package/lib/ui-form-panel/ui-form-panel.component.d.ts +53 -53
  399. package/lib/ui-gantt-chart/ui-gantt-chart.component.d.ts +15 -15
  400. package/lib/ui-graph/ui-graph.component.d.ts +9 -9
  401. package/lib/ui-grid/ui-grid.component.d.ts +12 -12
  402. package/lib/ui-grid-columns/ui-grid-columns.component.d.ts +14 -14
  403. package/lib/ui-grid-filter-item/ui-grid-filter-item.component.d.ts +19 -19
  404. package/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.d.ts +24 -24
  405. package/lib/ui-grid-sort-item/ui-grid-sort-item.component.d.ts +25 -25
  406. package/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.d.ts +28 -28
  407. package/lib/ui-html-viewer/ui-html-viewer.component.d.ts +9 -9
  408. package/lib/ui-info-bar-panel/ui-info-bar-panel.component.d.ts +5 -5
  409. package/lib/ui-label/ui-label.component.d.ts +6 -6
  410. package/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.d.ts +73 -73
  411. package/lib/ui-list-view/ui-list-view.component.d.ts +29 -29
  412. package/lib/ui-matrix-view/ui-matrix-view.component.d.ts +45 -45
  413. package/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.d.ts +7 -7
  414. package/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.d.ts +6 -6
  415. package/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.d.ts +15 -15
  416. package/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.d.ts +90 -90
  417. package/lib/ui-monaco-editor/ui-monaco-editor.component.d.ts +10 -7
  418. package/lib/ui-multi-select-card/ui-multi-select-card.component.d.ts +17 -17
  419. package/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.d.ts +19 -19
  420. package/lib/ui-multi-select-combo/ui-multi-select-combo.component.d.ts +27 -27
  421. package/lib/ui-multi-select-radio/ui-multi-select-radio.component.d.ts +17 -17
  422. package/lib/ui-multi-select-slider/ui-multi-select-slider.component.d.ts +24 -24
  423. package/lib/ui-multi-select-smile/ui-multi-select-smile.component.d.ts +23 -23
  424. package/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.d.ts +11 -11
  425. package/lib/ui-num-int-slider/ui-num-int-slider.component.d.ts +18 -18
  426. package/lib/ui-num-int-ui/ui-num-int-ui.component.d.ts +10 -10
  427. package/lib/ui-pdf-viewer/ui-pdf-viewer.component.d.ts +79 -79
  428. package/lib/ui-picture-file/ui-picture-file.component.d.ts +26 -25
  429. package/lib/ui-pictures-info/ui-pictures-info.component.d.ts +80 -69
  430. package/lib/ui-radio-group/ui-radio-group.component.d.ts +20 -20
  431. package/lib/ui-read-only-field/ui-read-only-field.component.d.ts +21 -21
  432. package/lib/ui-report-container/ui-report-container.component.d.ts +17 -17
  433. package/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.d.ts +9 -9
  434. package/lib/ui-simple-combo/ui-simple-combo.component.d.ts +16 -16
  435. package/lib/ui-single-picture/ui-single-picture.component.d.ts +13 -13
  436. package/lib/ui-switch-button/ui-switch-button.component.d.ts +11 -11
  437. package/lib/ui-table-view/ui-table-view.component.d.ts +39 -39
  438. package/lib/ui-text-area/ui-text-area.component.d.ts +23 -23
  439. package/lib/ui-text-field/ui-text-field.component.d.ts +23 -23
  440. package/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.d.ts +13 -13
  441. package/lib/ui-time-span/ui-time-span.component.d.ts +10 -10
  442. package/lib/ui-tinymce/ui-tinymce.component.d.ts +22 -22
  443. package/lib/ui-tree/ui-tree.component.d.ts +37 -37
  444. package/lib/ui-tree-view/ui-tree-view.component.d.ts +47 -47
  445. package/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.d.ts +9 -9
  446. package/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.d.ts +74 -74
  447. package/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.d.ts +16 -16
  448. package/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.d.ts +21 -21
  449. package/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.d.ts +48 -48
  450. package/lib/ul-notify-popup/ul-notify-popup.component.d.ts +21 -21
  451. package/lib/ul-toast-adapter/ul-toast-adapter.component.d.ts +13 -13
  452. package/lib/ulv-column-settings/ulv-column-settings.component.d.ts +20 -20
  453. package/lib/ulv-context-menu/ulv-context-menu.component.d.ts +31 -31
  454. package/lib/ulv-filter-settings/ulv-filter-settings.component.d.ts +19 -19
  455. package/lib/ulv-form-multi-select/ulv-form-multi-select.component.d.ts +26 -26
  456. package/lib/ulv-groupby-settings/ulv-groupby-settings.component.d.ts +16 -16
  457. package/lib/ulv-paging/ulv-paging.component.d.ts +28 -28
  458. package/lib/ulv-selection/ulv-selection.component.d.ts +43 -43
  459. package/lib/ulv-settings/ulv-settings.component.d.ts +43 -43
  460. package/lib/ulv-sort-settings/ulv-sort-settings.component.d.ts +16 -16
  461. package/lib/ulv-toolbar/ulv-toolbar.component.d.ts +49 -49
  462. package/lib/upload-file-status.pipe.d.ts +9 -9
  463. package/lib/util-chat-time-badge.pipe.d.ts +7 -0
  464. package/lib/util-date-to-hh-mm.pipe.d.ts +7 -0
  465. package/lib/wizard-layout.directive.d.ts +40 -40
  466. package/package.json +7 -13
  467. package/public-api.d.ts +226 -218
  468. package/esm2020/lib/apply-conditional-formmatings.directive.mjs +0 -89
  469. package/esm2020/lib/barsa-answer-card/barsa-answer-card.component.mjs +0 -41
  470. package/esm2020/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +0 -127
  471. package/esm2020/lib/barsa-base-panel/barsa-base-layout-panel.component.mjs +0 -29
  472. package/esm2020/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +0 -25
  473. package/esm2020/lib/barsa-card-row-payam/barsa-card-row-payam.component.mjs +0 -30
  474. package/esm2020/lib/barsa-cartable-form/barsa-cartable-form.component.mjs +0 -41
  475. package/esm2020/lib/barsa-chip/barsa-chip.component.mjs +0 -72
  476. package/esm2020/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.mjs +0 -15
  477. package/esm2020/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.mjs +0 -26
  478. package/esm2020/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +0 -71
  479. package/esm2020/lib/barsa-dynamic-field/barsa-dynamic-field.component.mjs +0 -42
  480. package/esm2020/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.mjs +0 -61
  481. package/esm2020/lib/barsa-field-key-value/barsa-field-key-value.component.mjs +0 -45
  482. package/esm2020/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +0 -37
  483. package/esm2020/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.mjs +0 -27
  484. package/esm2020/lib/barsa-group-cartable/barsa-cartable-group.component.mjs +0 -94
  485. package/esm2020/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.mjs +0 -22
  486. package/esm2020/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.mjs +0 -37
  487. package/esm2020/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +0 -41
  488. package/esm2020/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +0 -29
  489. package/esm2020/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.mjs +0 -23
  490. package/esm2020/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +0 -83
  491. package/esm2020/lib/barsa-network-offline/barsa-network-offline.component.mjs +0 -53
  492. package/esm2020/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.mjs +0 -159
  493. package/esm2020/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.mjs +0 -17
  494. package/esm2020/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.mjs +0 -31
  495. package/esm2020/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.mjs +0 -14
  496. package/esm2020/lib/barsa-question-answer-form/barsa-question-answer-form.component.mjs +0 -35
  497. package/esm2020/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.mjs +0 -47
  498. package/esm2020/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.mjs +0 -78
  499. package/esm2020/lib/barsa-question-post/barsa-question-post.component.mjs +0 -30
  500. package/esm2020/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.mjs +0 -31
  501. package/esm2020/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +0 -98
  502. package/esm2020/lib/barsa-sap-ui.module.mjs +0 -332
  503. package/esm2020/lib/barsa-search-form/barsa-search-form.component.mjs +0 -29
  504. package/esm2020/lib/barsa-simple-form/barsa-simple-form.component.mjs +0 -168
  505. package/esm2020/lib/barsa-table-column/barsa-table-column.component.mjs +0 -28
  506. package/esm2020/lib/barsa-table-header/barsa-table-header.component.mjs +0 -198
  507. package/esm2020/lib/barsa-table-row/barsa-table-row.component.mjs +0 -61
  508. package/esm2020/lib/barsa-tag-categories/barsa-tag-categories.component.mjs +0 -60
  509. package/esm2020/lib/barsa-tag-chip/barsa-tag-chip.component.mjs +0 -26
  510. package/esm2020/lib/barsa-tags-category-row/barsa-tags-category-row.component.mjs +0 -23
  511. package/esm2020/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.mjs +0 -38
  512. package/esm2020/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +0 -417
  513. package/esm2020/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.mjs +0 -36
  514. package/esm2020/lib/barsa-tree-item/barsa-tree-item.component.mjs +0 -130
  515. package/esm2020/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +0 -209
  516. package/esm2020/lib/blob-viewer/blob-viewer.component.mjs +0 -78
  517. package/esm2020/lib/breadcrumb/breadcrumb.component.mjs +0 -45
  518. package/esm2020/lib/card-item/card-item.component.mjs +0 -76
  519. package/esm2020/lib/card-view-content/card-view-content.component.mjs +0 -46
  520. package/esm2020/lib/col-renderer.directive.mjs +0 -46
  521. package/esm2020/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +0 -56
  522. package/esm2020/lib/column-matrix-renderer/matrix-value.pipe.mjs +0 -60
  523. package/esm2020/lib/column-renderer/column-renderer.component.mjs +0 -85
  524. package/esm2020/lib/constants.mjs +0 -421
  525. package/esm2020/lib/custom-date-time/custom-date-time.component.mjs +0 -41
  526. package/esm2020/lib/download-files.directive.mjs +0 -33
  527. package/esm2020/lib/dynamic-page-size.pipe.mjs +0 -26
  528. package/esm2020/lib/file-viewer/file-viewer.component.mjs +0 -47
  529. package/esm2020/lib/file-viewer-popover/file-viewer-popover.component.mjs +0 -41
  530. package/esm2020/lib/form-dialog/form-dialog.component.mjs +0 -143
  531. package/esm2020/lib/form-dialog-less/form-dialog-less.component.mjs +0 -45
  532. package/esm2020/lib/form-toolbar/form-toolbar.component.mjs +0 -42
  533. package/esm2020/lib/form-toolbar-button/form-toolbar-button.component.mjs +0 -46
  534. package/esm2020/lib/form-wizard/form-wizard.component.mjs +0 -21
  535. package/esm2020/lib/fullscreen-dialog.directive.mjs +0 -59
  536. package/esm2020/lib/fullscreen-files.directive.mjs +0 -42
  537. package/esm2020/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +0 -188
  538. package/esm2020/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +0 -203
  539. package/esm2020/lib/global-search-module/global-search-module.component.mjs +0 -30
  540. package/esm2020/lib/global-search-panel/global-search-panel.component.mjs +0 -25
  541. package/esm2020/lib/header-avatar/header-avatar.component.mjs +0 -19
  542. package/esm2020/lib/header-facet-progress/header-facet-progress.component.mjs +0 -26
  543. package/esm2020/lib/header-facet-rate/header-facet-rate.component.mjs +0 -26
  544. package/esm2020/lib/htree-create-new/htree-create-new.component.mjs +0 -49
  545. package/esm2020/lib/hyperlink/hyperlink.component.mjs +0 -23
  546. package/esm2020/lib/index.mjs +0 -529
  547. package/esm2020/lib/layout-actions/layout-actions.component.mjs +0 -68
  548. package/esm2020/lib/layout-control/layout-control.component.mjs +0 -234
  549. package/esm2020/lib/layout-wizard/layout-wizard.component.mjs +0 -155
  550. package/esm2020/lib/list-item/list-item.component.mjs +0 -33
  551. package/esm2020/lib/ly-empty-space/ly-empty-space.component.mjs +0 -42
  552. package/esm2020/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +0 -71
  553. package/esm2020/lib/ly-label/ly-label.component.mjs +0 -35
  554. package/esm2020/lib/ly-layout-container/ly-layout-container.component.mjs +0 -83
  555. package/esm2020/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +0 -17
  556. package/esm2020/lib/ly-layout-panel/ly-layout-panel.component.mjs +0 -73
  557. package/esm2020/lib/ly-line/ly-line.component.mjs +0 -56
  558. package/esm2020/lib/ly-simple-label/ly-simple-label.component.mjs +0 -23
  559. package/esm2020/lib/ly-tab-container/ly-tab-container.component.mjs +0 -52
  560. package/esm2020/lib/ly-tab-page/ly-tab-page.component.mjs +0 -44
  561. package/esm2020/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +0 -50
  562. package/esm2020/lib/manage-filters-report/manage-filters-report.component.mjs +0 -45
  563. package/esm2020/lib/message-strip/message-strip.component.mjs +0 -28
  564. package/esm2020/lib/models/grid-data-provider.mjs +0 -83
  565. package/esm2020/lib/models/grid-view.mjs +0 -2
  566. package/esm2020/lib/no-data/no-data.component.mjs +0 -23
  567. package/esm2020/lib/notification-item/notification-item.component.mjs +0 -57
  568. package/esm2020/lib/notification-popup.service.mjs +0 -88
  569. package/esm2020/lib/report-navigator/report-navigator.component.mjs +0 -63
  570. package/esm2020/lib/report-new-top-form/report-new-top-form.component.mjs +0 -60
  571. package/esm2020/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +0 -35
  572. package/esm2020/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +0 -98
  573. package/esm2020/lib/report-search-panel-save/report-search-panel-save.component.mjs +0 -90
  574. package/esm2020/lib/report-tree-base.mjs +0 -408
  575. package/esm2020/lib/report-view-renderer.directive.mjs +0 -366
  576. package/esm2020/lib/responsive-toolbar/responsive-toolbar.component.mjs +0 -50
  577. package/esm2020/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +0 -84
  578. package/esm2020/lib/rich-text-static/rich-text-static.component.mjs +0 -72
  579. package/esm2020/lib/sap-font-class.pipe.mjs +0 -29
  580. package/esm2020/lib/sap-font.pipe.mjs +0 -29
  581. package/esm2020/lib/sap-size.pipe.mjs +0 -27
  582. package/esm2020/lib/sap-ui-report-base.component.mjs +0 -766
  583. package/esm2020/lib/search-panel/search-panel.component.mjs +0 -43
  584. package/esm2020/lib/ui-button/ui-button.component.mjs +0 -31
  585. package/esm2020/lib/ui-calendar/ui-calendar.component.mjs +0 -53
  586. package/esm2020/lib/ui-card-view/ui-card-view.component.mjs +0 -60
  587. package/esm2020/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +0 -43
  588. package/esm2020/lib/ui-check-box/ui-check-box.component.mjs +0 -34
  589. package/esm2020/lib/ui-color-ui/ui-color-ui.component.mjs +0 -50
  590. package/esm2020/lib/ui-container-with-button/ui-container-with-button.component.mjs +0 -34
  591. package/esm2020/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +0 -194
  592. package/esm2020/lib/ui-date-time/ui-date-time.component.mjs +0 -150
  593. package/esm2020/lib/ui-editable-grid/ui-editable-grid.component.mjs +0 -110
  594. package/esm2020/lib/ui-exception-form/ui-exception-form.component.mjs +0 -53
  595. package/esm2020/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +0 -121
  596. package/esm2020/lib/ui-form-panel/ui-form-panel.component.mjs +0 -92
  597. package/esm2020/lib/ui-grid-columns/ui-grid-columns.component.mjs +0 -44
  598. package/esm2020/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +0 -67
  599. package/esm2020/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +0 -76
  600. package/esm2020/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +0 -59
  601. package/esm2020/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +0 -156
  602. package/esm2020/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +0 -349
  603. package/esm2020/lib/ui-list-view/ui-list-view.component.mjs +0 -75
  604. package/esm2020/lib/ui-matrix-view/ui-matrix-view.component.mjs +0 -125
  605. package/esm2020/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +0 -19
  606. package/esm2020/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +0 -56
  607. package/esm2020/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +0 -430
  608. package/esm2020/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +0 -18
  609. package/esm2020/lib/ui-multi-select-card/ui-multi-select-card.component.mjs +0 -37
  610. package/esm2020/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.mjs +0 -59
  611. package/esm2020/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +0 -93
  612. package/esm2020/lib/ui-multi-select-radio/ui-multi-select-radio.component.mjs +0 -36
  613. package/esm2020/lib/ui-multi-select-slider/ui-multi-select-slider.component.mjs +0 -56
  614. package/esm2020/lib/ui-multi-select-smile/ui-multi-select-smile.component.mjs +0 -28
  615. package/esm2020/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +0 -24
  616. package/esm2020/lib/ui-num-int-slider/ui-num-int-slider.component.mjs +0 -27
  617. package/esm2020/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +0 -262
  618. package/esm2020/lib/ui-picture-file/ui-picture-file.component.mjs +0 -91
  619. package/esm2020/lib/ui-pictures-info/ui-pictures-info.component.mjs +0 -223
  620. package/esm2020/lib/ui-radio-group/ui-radio-group.component.mjs +0 -48
  621. package/esm2020/lib/ui-read-only-field/ui-read-only-field.component.mjs +0 -36
  622. package/esm2020/lib/ui-report-container/ui-report-container.component.mjs +0 -46
  623. package/esm2020/lib/ui-simple-combo/ui-simple-combo.component.mjs +0 -37
  624. package/esm2020/lib/ui-switch-button/ui-switch-button.component.mjs +0 -20
  625. package/esm2020/lib/ui-table-view/ui-table-view.component.mjs +0 -151
  626. package/esm2020/lib/ui-text-area/ui-text-area.component.mjs +0 -49
  627. package/esm2020/lib/ui-text-field/ui-text-field.component.mjs +0 -52
  628. package/esm2020/lib/ui-tinymce/ui-tinymce.component.mjs +0 -53
  629. package/esm2020/lib/ui-tree/ui-tree.component.mjs +0 -92
  630. package/esm2020/lib/ui-tree-view/ui-tree-view.component.mjs +0 -81
  631. package/esm2020/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +0 -24
  632. package/esm2020/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +0 -289
  633. package/esm2020/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +0 -26
  634. package/esm2020/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +0 -91
  635. package/esm2020/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +0 -117
  636. package/esm2020/lib/ul-notify-popup/ul-notify-popup.component.mjs +0 -32
  637. package/esm2020/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +0 -44
  638. package/esm2020/lib/ulv-column-settings/ulv-column-settings.component.mjs +0 -60
  639. package/esm2020/lib/ulv-context-menu/ulv-context-menu.component.mjs +0 -87
  640. package/esm2020/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +0 -43
  641. package/esm2020/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +0 -185
  642. package/esm2020/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +0 -44
  643. package/esm2020/lib/ulv-paging/ulv-paging.component.mjs +0 -84
  644. package/esm2020/lib/ulv-selection/ulv-selection.component.mjs +0 -66
  645. package/esm2020/lib/ulv-settings/ulv-settings.component.mjs +0 -117
  646. package/esm2020/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +0 -44
  647. package/esm2020/lib/ulv-toolbar/ulv-toolbar.component.mjs +0 -115
  648. package/esm2020/lib/upload-file-status.pipe.mjs +0 -28
  649. package/fesm2015/barsa-sap-ui.mjs +0 -14233
  650. package/fesm2015/barsa-sap-ui.mjs.map +0 -1
  651. package/fesm2020/barsa-sap-ui.mjs +0 -14203
  652. package/fesm2020/barsa-sap-ui.mjs.map +0 -1
@@ -0,0 +1,110 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { map, takeUntil, tap } from 'rxjs/operators';
3
+ import { createGridEditorFormPanel, FormPanelService } from 'barsa-novin-ray-core';
4
+ import { SapUiReportBaseComponent } from '../sap-ui-report-base.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "@fundamental-ngx/core/button";
8
+ import * as i3 from "@fundamental-ngx/core/menu";
9
+ import * as i4 from "@fundamental-ngx/core/split-button";
10
+ import * as i5 from "@fundamental-ngx/core/toolbar";
11
+ import * as i6 from "../ulv-toolbar/ulv-toolbar.component";
12
+ import * as i7 from "../ui-matrix-view/ui-matrix-view.component";
13
+ import * as i8 from "barsa-novin-ray-core";
14
+ export class UiEditableGridComponent extends SapUiReportBaseComponent {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.cellWidth = 100;
18
+ this.cellHeight = 38;
19
+ this.verticalLabelWidth = 100;
20
+ this.minWidth = 100;
21
+ this.minHeight = 22;
22
+ this.enableResizing = true;
23
+ this.rowResizer = true;
24
+ this.widthTypeEnum = WidthTypeEnum;
25
+ this.fitWidth = true;
26
+ }
27
+ ngOnInit() {
28
+ super.ngOnInit();
29
+ this.valueDbName = this.context.Setting.View.ValueDbName;
30
+ this.valueType = this.context.valueFieldType;
31
+ const formSetting = this.context.Setting.FormTemplate;
32
+ // this.formLayout = this.context.Setting.FormTemplate.View.ControlInfo;
33
+ this.horizontalRows = this.context.Setting.View.HorizontalColumn;
34
+ this.valueControlFieldCaption = this.context.Setting.FormTemplate.View.ControlInfo.find((col) => col.ControlName === this.valueDbName).ControlFieldCaption;
35
+ // there is different between ulv modatalist and viewer datalist. in matrixviewer adapter modatalist transformed.
36
+ // so we need tell to ulvmainservice to update modatalist
37
+ this._ulvMainService.reSetMoDataList(this.context.moDataList);
38
+ this.matrixMoList$ = this.moDataList$.pipe(takeUntil(this._onDestroy$), map((moDataList) => this._matrixMoList(moDataList)));
39
+ if (!this.formPanelCtrlr) {
40
+ this.formPanelCtrlr = createGridEditorFormPanel(formSetting, formSetting.Data.Mo, this._typeDefId, null
41
+ // BarsaApi.Common.Util.TryGetValue(this.context.Setting, 'Extra.Relation')
42
+ );
43
+ const formPanelCtrlr = this.formPanelCtrlr;
44
+ this.formLayout = formPanelCtrlr.Setting.View.Layout94;
45
+ formPanelCtrlr.on({
46
+ ValueChange: this._cellValueChange.bind(this)
47
+ });
48
+ this.formPanelCtrlr.LoadAndCreate(null, false, false, () => {
49
+ const customFormPanelUi = formPanelCtrlr.Adapter.Control;
50
+ customFormPanelUi.Refresh = () => { };
51
+ this._formpanelService.context = formPanelCtrlr.Adapter.Control;
52
+ });
53
+ }
54
+ }
55
+ onSave() {
56
+ this.context.fireEvent('SaveBatchClicked', this.moDataList.filter((c) => c.$Modified).map((c) => ({ data: c, modified: c.$Modified })));
57
+ }
58
+ onSelectionChange(cellInfo) {
59
+ const { value, index } = cellInfo;
60
+ this.activeCell = index;
61
+ // const newMo = getNewMoGridEditor(this.context.Setting.FormTemplate, this._typeDefId);
62
+ // newMo[this.valueDbName] = value;
63
+ const controlUi = this.formPanelCtrlr.GetFieldlByName(this.valueDbName);
64
+ controlUi.SetValue(value);
65
+ }
66
+ onChangeView(isFit) {
67
+ this.fitWidth = isFit;
68
+ }
69
+ /* eslint-disable */
70
+ _select(mo, index) {
71
+ return mo;
72
+ }
73
+ _matrixMoList(moDataList) {
74
+ moDataList.forEach((mo) => {
75
+ this.horizontalRows.forEach((col) => {
76
+ if (mo[col.Caption] === undefined) {
77
+ mo[col.Caption] = null;
78
+ }
79
+ });
80
+ });
81
+ return moDataList;
82
+ }
83
+ _cellValueChange(sender) {
84
+ const indexI = this.activeCell.i;
85
+ const indexJ = this.activeCell.j;
86
+ this.moDataList$
87
+ .pipe(takeUntil(this._onDestroy$), tap((moDataList) => {
88
+ moDataList[indexI][this.horizontalRows[indexJ].Caption] = sender.Mo[this.valueDbName];
89
+ if (moDataList[indexI].$Modified) {
90
+ moDataList[indexI].$Modified[this.horizontalRows[indexJ].Caption] = 1;
91
+ }
92
+ else {
93
+ moDataList[indexI].$Modified = { [this.horizontalRows[indexJ].Caption]: 1 };
94
+ }
95
+ }))
96
+ .subscribe();
97
+ }
98
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiEditableGridComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
99
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: UiEditableGridComponent, selector: "bsu-ui-editable-grid", providers: [FormPanelService], usesInheritance: true, ngImport: i0, template: "<ng-container\n *ngTemplateOutlet=\"\n matrixTemplate;\n context: {\n moDataList: matrixMoList$ | async,\n columns: horizontalRows,\n conditionalFormats: conditionalFormats$ | async,\n deviceName: deviceName$ | async,\n deviceSize: deviceSize$ | async,\n title: title$ | async,\n inlineEditMode: inlineEditMode$ | async,\n allowInlineEdit: allowInlineEdit$ | async,\n hideToolbar: hideToolbar$ | async,\n contentDensity: contentDensity$ | async,\n activeCell: activeCell,\n valueControlFieldCaption: valueControlFieldCaption,\n valueType: valueType,\n formSetting: context.Setting.FormTemplate,\n matrixWidthType: matrixWidthType,\n cellWidth: cellWidth,\n verticalLabelWidth: verticalLabelWidth,\n fitWidth: fitWidth,\n access: context.Setting.Extra?.DefaultCommandsAccess,\n hasSelected: hasSelected$ | async,\n containerWidth: containerWidth$ | async,\n formLayout: formLayout\n }\n \"\n></ng-container>\n\n<ng-template\n #matrixTemplate\n let-moDataList=\"moDataList\"\n let-deviceName=\"deviceName\"\n let-deviceSize=\"deviceSize\"\n let-title=\"title\"\n let-inlineEditMode=\"inlineEditMode\"\n let-allowInlineEdit=\"allowInlineEdit\"\n let-hideToolbar=\"hideToolbar\"\n let-contentDensity=\"contentDensity\"\n let-columns=\"columns\"\n let-conditionalFormats=\"conditionalFormats\"\n let-activeCell=\"activeCell\"\n let-valueControlFieldCaption=\"valueControlFieldCaption\"\n let-valueType=\"valueType\"\n let-formSetting=\"formSetting\"\n let-matrixWidthType=\"matrixWidthType\"\n let-cellWidth=\"cellWidth\"\n let-verticalLabelWidth=\"verticalLabelWidth\"\n let-fitWidth=\"fitWidth\"\n let-access=\"access\"\n let-hasSelected=\"hasSelected\"\n let-containerWidth=\"containterWidth\"\n let-formLayout=\"formLayout\"\n>\n <bsu-ulv-toolbar\n [hideToolbar]=\"hideToolbar\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [title]=\"title\"\n [hasSelected]=\"hasSelected\"\n [access]=\"access\"\n [contentDensity]=\"contentDensity\"\n [inlineEditMode]=\"inlineEditMode\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [moDataListCount]=\"moDataList.length\"\n (sortClick)=\"onSortSettings(deviceName)\"\n (editModeClick)=\"onEditMode()\"\n >\n <button\n fd-toolbar-item\n fd-button\n [fdType]=\"'emphasized'\"\n [label]=\"'Save' | bbbTranslate\"\n [glyph]=\"'save'\"\n (click)=\"onSave()\"\n ></button>\n <fd-split-button\n fd-toolbar-item\n [mainAction]=\"{\n keepMainAction: true,\n mainActionTitle: splitBtnTitle\n }\"\n >\n <fd-menu>\n <li fd-menu-item>\n <div fd-menu-interactive (click)=\"onChangeView(true)\">\n <span fd-menu-title>\n {{ widthTypeEnum.FitWidth }}\n </span>\n </div>\n </li>\n <li fd-menu-item>\n <div fd-menu-interactive (click)=\"onChangeView(false)\">\n <span fd-menu-title>\n {{ widthTypeEnum.StaticWidth }}\n </span>\n </div>\n </li>\n </fd-menu>\n </fd-split-button>\n\n <ng-template #splitBtnTitle>\n <span>{{ fitWidth ? widthTypeEnum.FitWidth : widthTypeEnum.StaticWidth }}</span>\n </ng-template>\n </bsu-ulv-toolbar>\n <bsu-ui-matrix-view\n [moDataList]=\"moDataList\"\n [columns]=\"columns\"\n [conditionalFormats]=\"conditionalFormats\"\n [activeCell]=\"activeCell\"\n [valueControlFieldCaption]=\"valueControlFieldCaption\"\n [valueType]=\"valueType\"\n [access]=\"access\"\n [formLayout]=\"formLayout\"\n [matrixWidthType]=\"matrixWidthType\"\n [cellWidth]=\"cellWidth\"\n [cellHeight]=\"cellHeight\"\n [verticalLabelWidth]=\"verticalLabelWidth\"\n [fitWidth]=\"fitWidth\"\n [minWidth]=\"minWidth\"\n [minHeight]=\"minHeight\"\n [rowResizer]=\"rowResizer\"\n [enableResizing]=\"enableResizing\"\n [containerWidth]=\"containerWidth\"\n (selectionChange)=\"onSelectionChange($event)\"\n ></bsu-ui-matrix-view>\n</ng-template>\n", styles: [":host{display:flex;width:100%;height:100%;flex-direction:column}.fd-table__row th.fd-table__cell{background-color:var(--sapList_HeaderBackground, #f2f2f2);color:var(--sapList_HeaderTextColor, #32363a)}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i3.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i3.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i3.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i3.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "component", type: i4.SplitButtonComponent, selector: "fd-split-button", inputs: ["glyph", "glyphFont", "disabled", "fdType", "expandButtonTitle", "selected", "fixedWidth", "mainAction", "arialLabel"], outputs: ["primaryButtonClicked"] }, { kind: "directive", type: i5.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: i6.UlvToolbarComponent, selector: "bsu-ulv-toolbar", inputs: ["allowGridColumnSort", "useLayoutItemTextForControl", "enableSearch", "hideTitle", "title", "deviceName", "deviceSize", "access", "hideToolbar", "toolbarButtons", "contentDensity", "inlineEditMode", "allowInlineEdit", "gridSetting", "viewCollection", "reportView", "inDialog", "isMultiSelect", "hasSelected", "config", "hidden", "buttons", "moDataListCount"], outputs: ["search", "groupbyClick", "sortClick", "columnClick", "editModeClick", "viewClick", "createNewInlineMo"] }, { kind: "component", type: i7.UiMatrixViewComponent, selector: "bsu-ui-matrix-view", inputs: ["deviceSize", "deviceName", "moDataList", "columns", "formLayout", "conditionalFormat", "activeCell", "valueControlFieldCaption", "formTemplate", "valueType", "cellWidth", "cellHeight", "verticalLabelWidth", "fitWidth", "minWidth", "minHeight", "rowResizer", "enableResizing"], outputs: ["selectionChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
100
+ }
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiEditableGridComponent, decorators: [{
102
+ type: Component,
103
+ args: [{ selector: 'bsu-ui-editable-grid', changeDetection: ChangeDetectionStrategy.OnPush, providers: [FormPanelService], template: "<ng-container\n *ngTemplateOutlet=\"\n matrixTemplate;\n context: {\n moDataList: matrixMoList$ | async,\n columns: horizontalRows,\n conditionalFormats: conditionalFormats$ | async,\n deviceName: deviceName$ | async,\n deviceSize: deviceSize$ | async,\n title: title$ | async,\n inlineEditMode: inlineEditMode$ | async,\n allowInlineEdit: allowInlineEdit$ | async,\n hideToolbar: hideToolbar$ | async,\n contentDensity: contentDensity$ | async,\n activeCell: activeCell,\n valueControlFieldCaption: valueControlFieldCaption,\n valueType: valueType,\n formSetting: context.Setting.FormTemplate,\n matrixWidthType: matrixWidthType,\n cellWidth: cellWidth,\n verticalLabelWidth: verticalLabelWidth,\n fitWidth: fitWidth,\n access: context.Setting.Extra?.DefaultCommandsAccess,\n hasSelected: hasSelected$ | async,\n containerWidth: containerWidth$ | async,\n formLayout: formLayout\n }\n \"\n></ng-container>\n\n<ng-template\n #matrixTemplate\n let-moDataList=\"moDataList\"\n let-deviceName=\"deviceName\"\n let-deviceSize=\"deviceSize\"\n let-title=\"title\"\n let-inlineEditMode=\"inlineEditMode\"\n let-allowInlineEdit=\"allowInlineEdit\"\n let-hideToolbar=\"hideToolbar\"\n let-contentDensity=\"contentDensity\"\n let-columns=\"columns\"\n let-conditionalFormats=\"conditionalFormats\"\n let-activeCell=\"activeCell\"\n let-valueControlFieldCaption=\"valueControlFieldCaption\"\n let-valueType=\"valueType\"\n let-formSetting=\"formSetting\"\n let-matrixWidthType=\"matrixWidthType\"\n let-cellWidth=\"cellWidth\"\n let-verticalLabelWidth=\"verticalLabelWidth\"\n let-fitWidth=\"fitWidth\"\n let-access=\"access\"\n let-hasSelected=\"hasSelected\"\n let-containerWidth=\"containterWidth\"\n let-formLayout=\"formLayout\"\n>\n <bsu-ulv-toolbar\n [hideToolbar]=\"hideToolbar\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [title]=\"title\"\n [hasSelected]=\"hasSelected\"\n [access]=\"access\"\n [contentDensity]=\"contentDensity\"\n [inlineEditMode]=\"inlineEditMode\"\n [allowInlineEdit]=\"allowInlineEdit\"\n [moDataListCount]=\"moDataList.length\"\n (sortClick)=\"onSortSettings(deviceName)\"\n (editModeClick)=\"onEditMode()\"\n >\n <button\n fd-toolbar-item\n fd-button\n [fdType]=\"'emphasized'\"\n [label]=\"'Save' | bbbTranslate\"\n [glyph]=\"'save'\"\n (click)=\"onSave()\"\n ></button>\n <fd-split-button\n fd-toolbar-item\n [mainAction]=\"{\n keepMainAction: true,\n mainActionTitle: splitBtnTitle\n }\"\n >\n <fd-menu>\n <li fd-menu-item>\n <div fd-menu-interactive (click)=\"onChangeView(true)\">\n <span fd-menu-title>\n {{ widthTypeEnum.FitWidth }}\n </span>\n </div>\n </li>\n <li fd-menu-item>\n <div fd-menu-interactive (click)=\"onChangeView(false)\">\n <span fd-menu-title>\n {{ widthTypeEnum.StaticWidth }}\n </span>\n </div>\n </li>\n </fd-menu>\n </fd-split-button>\n\n <ng-template #splitBtnTitle>\n <span>{{ fitWidth ? widthTypeEnum.FitWidth : widthTypeEnum.StaticWidth }}</span>\n </ng-template>\n </bsu-ulv-toolbar>\n <bsu-ui-matrix-view\n [moDataList]=\"moDataList\"\n [columns]=\"columns\"\n [conditionalFormats]=\"conditionalFormats\"\n [activeCell]=\"activeCell\"\n [valueControlFieldCaption]=\"valueControlFieldCaption\"\n [valueType]=\"valueType\"\n [access]=\"access\"\n [formLayout]=\"formLayout\"\n [matrixWidthType]=\"matrixWidthType\"\n [cellWidth]=\"cellWidth\"\n [cellHeight]=\"cellHeight\"\n [verticalLabelWidth]=\"verticalLabelWidth\"\n [fitWidth]=\"fitWidth\"\n [minWidth]=\"minWidth\"\n [minHeight]=\"minHeight\"\n [rowResizer]=\"rowResizer\"\n [enableResizing]=\"enableResizing\"\n [containerWidth]=\"containerWidth\"\n (selectionChange)=\"onSelectionChange($event)\"\n ></bsu-ui-matrix-view>\n</ng-template>\n", styles: [":host{display:flex;width:100%;height:100%;flex-direction:column}.fd-table__row th.fd-table__cell{background-color:var(--sapList_HeaderBackground, #f2f2f2);color:var(--sapList_HeaderTextColor, #32363a)}\n"] }]
104
+ }] });
105
+ export var WidthTypeEnum;
106
+ (function (WidthTypeEnum) {
107
+ WidthTypeEnum["FitWidth"] = "\u0633\u062A\u0648\u0646 \u0647\u0627\u06CC \u0647\u0645 \u0639\u0631\u0636";
108
+ WidthTypeEnum["StaticWidth"] = "\u0633\u062A\u0648\u0646 \u0647\u0627\u06CC \u0628\u0627 \u0639\u0631\u0636 \u062F\u0644\u062E\u0648\u0627\u0647";
109
+ })(WidthTypeEnum || (WidthTypeEnum = {}));
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZWRpdGFibGUtZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS1lZGl0YWJsZS1ncmlkL3VpLWVkaXRhYmxlLWdyaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZWRpdGFibGUtZ3JpZC91aS1lZGl0YWJsZS1ncmlkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJELE9BQU8sRUFDSCx5QkFBeUIsRUFDekIsZ0JBQWdCLEVBSW5CLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7Ozs7QUFVM0UsTUFBTSxPQUFPLHVCQUNULFNBQVEsd0JBQWlEO0lBUjdEOztRQWtCSSxjQUFTLEdBQUcsR0FBRyxDQUFDO1FBQ2hCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsdUJBQWtCLEdBQUcsR0FBRyxDQUFDO1FBQ3pCLGFBQVEsR0FBRyxHQUFHLENBQUM7UUFDZixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQUM5QixhQUFRLEdBQUcsSUFBSSxDQUFDO0tBNkZuQjtJQTFGRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENB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LFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDL0IsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMxRSxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNoRixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQ0w7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDOzhHQS9HUSx1QkFBdUI7a0dBQXZCLHVCQUF1QiwrQ0FGckIsQ0FBQyxnQkFBZ0IsQ0FBQyxpRENsQmpDLG1vSkFnSUE7OzJGRDVHYSx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0ksc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxnQkFBZ0IsQ0FBQzs7QUFtSGpDLE1BQU0sQ0FBTixJQUFZLGFBR1g7QUFIRCxXQUFZLGFBQWE7SUFDckIseUdBQTRCLENBQUE7SUFDNUIsaUpBQXNDLENBQUE7QUFDMUMsQ0FBQyxFQUhXLGFBQWEsS0FBYixhQUFhLFFBR3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7XHJcbiAgICBjcmVhdGVHcmlkRWRpdG9yRm9ybVBhbmVsLFxyXG4gICAgRm9ybVBhbmVsU2VydmljZSxcclxuICAgIExheW91dFNldHRpbmcsXHJcbiAgICBNZXRhb2JqZWN0RGF0YU1vZGVsLFxyXG4gICAgVWlSZXBvcnRWaWV3QmFzZVNldHRpbmdcclxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbmltcG9ydCB7IFNhcFVpUmVwb3J0QmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL3NhcC11aS1yZXBvcnQtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LXVpLWVkaXRhYmxlLWdyaWQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VpLWVkaXRhYmxlLWdyaWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktZWRpdGFibGUtZ3JpZC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBwcm92aWRlcnM6IFtGb3JtUGFuZWxTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlFZGl0YWJsZUdyaWRDb21wb25lbnRcclxuICAgIGV4dGVuZHMgU2FwVWlSZXBvcnRCYXNlQ29tcG9uZW50PFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nPlxyXG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveVxyXG57XHJcbiAgICB2YWx1ZUNvbnRyb2xGaWVsZENhcHRpb247XHJcbiAgICB2YWx1ZURiTmFtZTtcclxuICAgIGhvcml6b250YWxSb3dzOiBhbnlbXTtcclxuICAgIGFjdGl2ZUNlbGw7XHJcbiAgICB2YWx1ZVR5cGU7XHJcbiAgICBmb3JtTGF5b3V0OiBMYXlvdXRTZXR0aW5nO1xyXG4gICAgbWF0cml4V2lkdGhUeXBlO1xyXG4gICAgY2VsbFdpZHRoID0gMTAwO1xyXG4gICAgY2VsbEhlaWdodCA9IDM4O1xyXG4gICAgdmVydGljYWxMYWJlbFdpZHRoID0gMTAwO1xyXG4gICAgbWluV2lkdGggPSAxMDA7XHJcbiAgICBtaW5IZWlnaHQgPSAyMjtcclxuICAgIGVuYWJsZVJlc2l6aW5nID0gdHJ1ZTtcclxuICAgIHJvd1Jlc2l6ZXIgPSB0cnVlO1xyXG4gICAgd2lkdGhUeXBlRW51bSA9IFdpZHRoVHlwZUVudW07XHJcbiAgICBmaXRXaWR0aCA9IHRydWU7XHJcbiAgICBtYXRyaXhNb0xpc3QkOiBPYnNlcnZhYmxlPE1ldGFvYmplY3REYXRhTW9kZWxbXT47XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLnZhbHVlRGJOYW1lID0gdGhpcy5jb250ZXh0LlNldHRpbmcuVmlldy5WYWx1ZURiTmFtZTtcclxuICAgICAgICB0aGlzLnZhbHVlVHlwZSA9IHRoaXMuY29udGV4dC52YWx1ZUZpZWxkVHlwZTtcclxuICAgICAgICBjb25zdCBmb3JtU2V0dGluZyA9IHRoaXMuY29udGV4dC5TZXR0aW5nLkZvcm1UZW1wbGF0ZTtcclxuICAgICAgICAvLyB0aGlzLmZvcm1MYXlvdXQgPSB0aGlzLmNvbnRleHQuU2V0dGluZy5Gb3JtVGVtcGxhdGUuVmlldy5Db250cm9sSW5mbztcclxuICAgICAgICB0aGlzLmhvcml6b250YWxSb3dzID0gdGhpcy5jb250ZXh0LlNldHRpbmcuVmlldy5Ib3Jpem9udGFsQ29sdW1uO1xyXG4gICAgICAgIHRoaXMudmFsdWVDb250cm9sRmllbGRDYXB0aW9uID0gdGhpcy5jb250ZXh0LlNldHRpbmcuRm9ybVRlbXBsYXRlLlZpZXcuQ29udHJvbEluZm8uZmluZChcclxuICAgICAgICAgICAgKGNvbCkgPT4gY29sLkNvbnRyb2xOYW1lID09PSB0aGlzLnZhbHVlRGJOYW1lXHJcbiAgICAgICAgKS5Db250cm9sRmllbGRDYXB0aW9uO1xyXG4gICAgICAgIC8vIHRoZXJlIGlzIGRpZmZlcmVudCBiZXR3ZWVuIHVsdiBtb2RhdGFsaXN0IGFuZCB2aWV3ZXIgZGF0YWxpc3QuIGluIG1hdHJpeHZpZXdlciBhZGFwdGVyIG1vZGF0YWxpc3QgdHJhbnNmb3JtZWQuXHJcbiAgICAgICAgLy8gc28gd2UgbmVlZCB0ZWxsIHRvIHVsdm1haW5zZXJ2aWNlIHRvIHVwZGF0ZSBtb2RhdGFsaXN0XHJcbiAgICAgICAgdGhpcy5fdWx2TWFpblNlcnZpY2UucmVTZXRNb0RhdGFMaXN0KHRoaXMuY29udGV4dC5tb0RhdGFMaXN0KTtcclxuXHJcbiAgICAgICAgdGhpcy5tYXRyaXhNb0xpc3QkID0gdGhpcy5tb0RhdGFMaXN0JC5waXBlKFxyXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXHJcbiAgICAgICAgICAgIG1hcCgobW9EYXRhTGlzdCkgPT4gdGhpcy5fbWF0cml4TW9MaXN0KG1vRGF0YUxpc3QpKVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5mb3JtUGFuZWxDdHJscikge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1QYW5lbEN0cmxyID0gY3JlYXRlR3JpZEVkaXRvckZvcm1QYW5lbChcclxuICAgICAgICAgICAgICAgIGZvcm1TZXR0aW5nLFxyXG4gICAgICAgICAgICAgICAgZm9ybVNldHRpbmcuRGF0YS5NbyxcclxuICAgICAgICAgICAgICAgIHRoaXMuX3R5cGVEZWZJZCxcclxuICAgICAgICAgICAgICAgIG51bGxcclxuICAgICAgICAgICAgICAgIC8vIEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuY29udGV4dC5TZXR0aW5nLCAnRXh0cmEuUmVsYXRpb24nKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBjb25zdCBmb3JtUGFuZWxDdHJsciA9IHRoaXMuZm9ybVBhbmVsQ3RybHI7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUxheW91dCA9IGZvcm1QYW5lbEN0cmxyLlNldHRpbmcuVmlldy5MYXlvdXQ5NDtcclxuXHJcbiAgICAgICAgICAgIGZvcm1QYW5lbEN0cmxyLm9uKHtcclxuICAgICAgICAgICAgICAgIFZhbHVlQ2hhbmdlOiB0aGlzLl9jZWxsVmFsdWVDaGFuZ2UuYmluZCh0aGlzKVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5mb3JtUGFuZWxDdHJsci5Mb2FkQW5kQ3JlYXRlKG51bGwsIGZhbHNlLCBmYWxzZSwgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY3VzdG9tRm9ybVBhbmVsVWkgPSBmb3JtUGFuZWxDdHJsci5BZGFwdGVyLkNvbnRyb2w7XHJcbiAgICAgICAgICAgICAgICBjdXN0b21Gb3JtUGFuZWxVaS5SZWZyZXNoID0gKCkgPT4ge307XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9mb3JtcGFuZWxTZXJ2aWNlLmNvbnRleHQgPSBmb3JtUGFuZWxDdHJsci5BZGFwdGVyLkNvbnRyb2w7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIG9uU2F2ZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvbnRleHQuZmlyZUV2ZW50KFxyXG4gICAgICAgICAgICAnU2F2ZUJhdGNoQ2xpY2tlZCcsXHJcbiAgICAgICAgICAgIHRoaXMubW9EYXRhTGlzdC5maWx0ZXIoKGMpID0+IGMuJE1vZGlmaWVkKS5tYXAoKGMpID0+ICh7IGRhdGE6IGMsIG1vZGlmaWVkOiBjLiRNb2RpZmllZCB9KSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG4gICAgb25TZWxlY3Rpb25DaGFuZ2UoY2VsbEluZm86IHsgdmFsdWU6IGFueTsgaW5kZXg6IHsgaTogbnVtYmVyOyBqOiBudW1iZXIgfSB9KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgeyB2YWx1ZSwgaW5kZXggfSA9IGNlbGxJbmZvO1xyXG4gICAgICAgIHRoaXMuYWN0aXZlQ2VsbCA9IGluZGV4O1xyXG4gICAgICAgIC8vIGNvbnN0IG5ld01vID0gZ2V0TmV3TW9HcmlkRWRpdG9yKHRoaXMuY29udGV4dC5TZXR0aW5nLkZvcm1UZW1wbGF0ZSwgdGhpcy5fdHlwZURlZklkKTtcclxuICAgICAgICAvLyBuZXdNb1t0aGlzLnZhbHVlRGJOYW1lXSA9IHZhbHVlO1xyXG5cclxuICAgICAgICBjb25zdCBjb250cm9sVWkgPSB0aGlzLmZvcm1QYW5lbEN0cmxyLkdldEZpZWxkbEJ5TmFtZSh0aGlzLnZhbHVlRGJOYW1lKTtcclxuICAgICAgICBjb250cm9sVWkuU2V0VmFsdWUodmFsdWUpO1xyXG4gICAgfVxyXG4gICAgb25DaGFuZ2VWaWV3KGlzRml0OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5maXRXaWR0aCA9IGlzRml0O1xyXG4gICAgfVxyXG5cclxuICAgIC8qIGVzbGludC1kaXNhYmxlICovXHJcbiAgICBwcm90ZWN0ZWQgX3NlbGVjdChtbywgaW5kZXgpOiBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgICAgICByZXR1cm4gbW87XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9tYXRyaXhNb0xpc3QobW9EYXRhTGlzdCk6IE1ldGFvYmplY3REYXRhTW9kZWxbXSB7XHJcbiAgICAgICAgbW9EYXRhTGlzdC5mb3JFYWNoKChtbykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmhvcml6b250YWxSb3dzLmZvckVhY2goKGNvbCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKG1vW2NvbC5DYXB0aW9uXSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbW9bY29sLkNhcHRpb25dID0gbnVsbDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIG1vRGF0YUxpc3Q7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9jZWxsVmFsdWVDaGFuZ2Uoc2VuZGVyKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgaW5kZXhJID0gdGhpcy5hY3RpdmVDZWxsLmk7XHJcbiAgICAgICAgY29uc3QgaW5kZXhKID0gdGhpcy5hY3RpdmVDZWxsLmo7XHJcbiAgICAgICAgdGhpcy5tb0RhdGFMaXN0JFxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSxcclxuICAgICAgICAgICAgICAgIHRhcCgobW9EYXRhTGlzdCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1vRGF0YUxpc3RbaW5kZXhJXVt0aGlzLmhvcml6b250YWxSb3dzW2luZGV4Sl0uQ2FwdGlvbl0gPSBzZW5kZXIuTW9bdGhpcy52YWx1ZURiTmFtZV07XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG1vRGF0YUxpc3RbaW5kZXhJXS4kTW9kaWZpZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbW9EYXRhTGlzdFtpbmRleEldLiRNb2RpZmllZFt0aGlzLmhvcml6b250YWxSb3dzW2luZGV4Sl0uQ2FwdGlvbl0gPSAxO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vRGF0YUxpc3RbaW5kZXhJXS4kTW9kaWZpZWQgPSB7IFt0aGlzLmhvcml6b250YWxSb3dzW2luZGV4Sl0uQ2FwdGlvbl06IDEgfTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgZW51bSBXaWR0aFR5cGVFbnVtIHtcclxuICAgIEZpdFdpZHRoID0gJ9iz2KrZiNmGINmH2KfbjCDZh9mFINi52LHYticsXHJcbiAgICBTdGF0aWNXaWR0aCA9ICfYs9iq2YjZhiDZh9in24wg2KjYpyDYudix2LYg2K/ZhNiu2YjYp9mHJ1xyXG59XHJcbiIsIjxuZy1jb250YWluZXJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICBtYXRyaXhUZW1wbGF0ZTtcbiAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgbW9EYXRhTGlzdDogbWF0cml4TW9MaXN0JCB8IGFzeW5jLFxuICAgICAgICAgICAgY29sdW1uczogaG9yaXpvbnRhbFJvd3MsXG4gICAgICAgICAgICBjb25kaXRpb25hbEZvcm1hdHM6IGNvbmRpdGlvbmFsRm9ybWF0cyQgfCBhc3luYyxcbiAgICAgICAgICAgIGRldmljZU5hbWU6IGRldmljZU5hbWUkIHwgYXN5bmMsXG4gICAgICAgICAgICBkZXZpY2VTaXplOiBkZXZpY2VTaXplJCB8IGFzeW5jLFxuICAgICAgICAgICAgdGl0bGU6IHRpdGxlJCB8IGFzeW5jLFxuICAgICAgICAgICAgaW5saW5lRWRpdE1vZGU6IGlubGluZUVkaXRNb2RlJCB8IGFzeW5jLFxuICAgICAgICAgICAgYWxsb3dJbmxpbmVFZGl0OiBhbGxvd0lubGluZUVkaXQkIHwgYXN5bmMsXG4gICAgICAgICAgICBoaWRlVG9vbGJhcjogaGlkZVRvb2xiYXIkIHwgYXN5bmMsXG4gICAgICAgICAgICBjb250ZW50RGVuc2l0eTogY29udGVudERlbnNpdHkkIHwgYXN5bmMsXG4gICAgICAgICAgICBhY3RpdmVDZWxsOiBhY3RpdmVDZWxsLFxuICAgICAgICAgICAgdmFsdWVDb250cm9sRmllbGRDYXB0aW9uOiB2YWx1ZUNvbnRyb2xGaWVsZENhcHRpb24sXG4gICAgICAgICAgICB2YWx1ZVR5cGU6IHZhbHVlVHlwZSxcbiAgICAgICAgICAgIGZvcm1TZXR0aW5nOiBjb250ZXh0LlNldHRpbmcuRm9ybVRlbXBsYXRlLFxuICAgICAgICAgICAgbWF0cml4V2lkdGhUeXBlOiBtYXRyaXhXaWR0aFR5cGUsXG4gICAgICAgICAgICBjZWxsV2lkdGg6IGNlbGxXaWR0aCxcbiAgICAgICAgICAgIHZlcnRpY2FsTGFiZWxXaWR0aDogdmVydGljYWxMYWJlbFdpZHRoLFxuICAgICAgICAgICAgZml0V2lkdGg6IGZpdFdpZHRoLFxuICAgICAgICAgICAgYWNjZXNzOiBjb250ZXh0LlNldHRpbmcuRXh0cmE/LkRlZmF1bHRDb21tYW5kc0FjY2VzcyxcbiAgICAgICAgICAgIGhhc1NlbGVjdGVkOiBoYXNTZWxlY3RlZCQgfCBhc3luYyxcbiAgICAgICAgICAgIGNvbnRhaW5lcldpZHRoOiBjb250YWluZXJXaWR0aCQgfCBhc3luYyxcbiAgICAgICAgICAgIGZvcm1MYXlvdXQ6IGZvcm1MYXlvdXRcbiAgICAgICAgfVxuICAgIFwiXG4+PC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZVxuICAgICNtYXRyaXhUZW1wbGF0ZVxuICAgIGxldC1tb0RhdGFMaXN0PVwibW9EYXRhTGlzdFwiXG4gICAgbGV0LWRldmljZU5hbWU9XCJkZXZpY2VOYW1lXCJcbiAgICBsZXQtZGV2aWNlU2l6ZT1cImRldmljZVNpemVcIlxuICAgIGxldC10aXRsZT1cInRpdGxlXCJcbiAgICBsZXQtaW5saW5lRWRpdE1vZGU9XCJpbmxpbmVFZGl0TW9kZVwiXG4gICAgbGV0LWFsbG93SW5saW5lRWRpdD1cImFsbG93SW5saW5lRWRpdFwiXG4gICAgbGV0LWhpZGVUb29sYmFyPVwiaGlkZVRvb2xiYXJcIlxuICAgIGxldC1jb250ZW50RGVuc2l0eT1cImNvbnRlbnREZW5zaXR5XCJcbiAgICBsZXQtY29sdW1ucz1cImNvbHVtbnNcIlxuICAgIGxldC1jb25kaXRpb25hbEZvcm1hdHM9XCJjb25kaXRpb25hbEZvcm1hdHNcIlxuICAgIGxldC1hY3RpdmVDZWxsPVwiYWN0aXZlQ2VsbFwiXG4gICAgbGV0LXZhbHVlQ29udHJvbEZpZWxkQ2FwdGlvbj1cInZhbHVlQ29udHJvbEZpZWxkQ2FwdGlvblwiXG4gICAgbGV0LXZhbHVlVHlwZT1cInZhbHVlVHlwZVwiXG4gICAgbGV0LWZvcm1TZXR0aW5nPVwiZm9ybVNldHRpbmdcIlxuICAgIGxldC1tYXRyaXhXaWR0aFR5cGU9XCJtYXRyaXhXaWR0aFR5cGVcIlxuICAgIGxldC1jZWxsV2lkdGg9XCJjZWxsV2lkdGhcIlxuICAgIGxldC12ZXJ0aWNhbExhYmVsV2lkdGg9XCJ2ZXJ0aWNhbExhYmVsV2lkdGhcIlxuICAgIGxldC1maXRXaWR0aD1cImZpdFdpZHRoXCJcbiAgICBsZXQtYWNjZXNzPVwiYWNjZXNzXCJcbiAgICBsZXQtaGFzU2VsZWN0ZWQ9XCJoYXNTZWxlY3RlZFwiXG4gICAgbGV0LWNvbnRhaW5lcldpZHRoPVwiY29udGFpbnRlcldpZHRoXCJcbiAgICBsZXQtZm9ybUxheW91dD1cImZvcm1MYXlvdXRcIlxuPlxuICAgIDxic3UtdWx2LXRvb2xiYXJcbiAgICAgICAgW2hpZGVUb29sYmFyXT1cImhpZGVUb29sYmFyXCJcbiAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXG4gICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxuICAgICAgICBbdGl0bGVdPVwidGl0bGVcIlxuICAgICAgICBbaGFzU2VsZWN0ZWRdPVwiaGFzU2VsZWN0ZWRcIlxuICAgICAgICBbYWNjZXNzXT1cImFjY2Vzc1wiXG4gICAgICAgIFtjb250ZW50RGVuc2l0eV09XCJjb250ZW50RGVuc2l0eVwiXG4gICAgICAgIFtpbmxpbmVFZGl0TW9kZV09XCJpbmxpbmVFZGl0TW9kZVwiXG4gICAgICAgIFthbGxvd0lubGluZUVkaXRdPVwiYWxsb3dJbmxpbmVFZGl0XCJcbiAgICAgICAgW21vRGF0YUxpc3RDb3VudF09XCJtb0RhdGFMaXN0Lmxlbmd0aFwiXG4gICAgICAgIChzb3J0Q2xpY2spPVwib25Tb3J0U2V0dGluZ3MoZGV2aWNlTmFtZSlcIlxuICAgICAgICAoZWRpdE1vZGVDbGljayk9XCJvbkVkaXRNb2RlKClcIlxuICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgIFtmZFR5cGVdPVwiJ2VtcGhhc2l6ZWQnXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCInU2F2ZScgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgW2dseXBoXT1cIidzYXZlJ1wiXG4gICAgICAgICAgICAoY2xpY2spPVwib25TYXZlKClcIlxuICAgICAgICA+PC9idXR0b24+XG4gICAgICAgIDxmZC1zcGxpdC1idXR0b25cbiAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgW21haW5BY3Rpb25dPVwie1xuICAgICAgICAgICAgICAgIGtlZXBNYWluQWN0aW9uOiB0cnVlLFxuICAgICAgICAgICAgICAgIG1haW5BY3Rpb25UaXRsZTogc3BsaXRCdG5UaXRsZVxuICAgICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxmZC1tZW51PlxuICAgICAgICAgICAgICAgIDxsaSBmZC1tZW51LWl0ZW0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZmQtbWVudS1pbnRlcmFjdGl2ZSAoY2xpY2spPVwib25DaGFuZ2VWaWV3KHRydWUpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1tZW51LXRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHdpZHRoVHlwZUVudW0uRml0V2lkdGggfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8bGkgZmQtbWVudS1pdGVtPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkLW1lbnUtaW50ZXJhY3RpdmUgKGNsaWNrKT1cIm9uQ2hhbmdlVmlldyhmYWxzZSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLW1lbnUtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgd2lkdGhUeXBlRW51bS5TdGF0aWNXaWR0aCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC9mZC1tZW51PlxuICAgICAgICA8L2ZkLXNwbGl0LWJ1dHRvbj5cblxuICAgICAgICA8bmctdGVtcGxhdGUgI3NwbGl0QnRuVGl0bGU+XG4gICAgICAgICAgICA8c3Bhbj57eyBmaXRXaWR0aCA/IHdpZHRoVHlwZUVudW0uRml0V2lkdGggOiB3aWR0aFR5cGVFbnVtLlN0YXRpY1dpZHRoIH19PC9zcGFuPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvYnN1LXVsdi10b29sYmFyPlxuICAgIDxic3UtdWktbWF0cml4LXZpZXdcbiAgICAgICAgW21vRGF0YUxpc3RdPVwibW9EYXRhTGlzdFwiXG4gICAgICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxuICAgICAgICBbY29uZGl0aW9uYWxGb3JtYXRzXT1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXG4gICAgICAgIFthY3RpdmVDZWxsXT1cImFjdGl2ZUNlbGxcIlxuICAgICAgICBbdmFsdWVDb250cm9sRmllbGRDYXB0aW9uXT1cInZhbHVlQ29udHJvbEZpZWxkQ2FwdGlvblwiXG4gICAgICAgIFt2YWx1ZVR5cGVdPVwidmFsdWVUeXBlXCJcbiAgICAgICAgW2FjY2Vzc109XCJhY2Nlc3NcIlxuICAgICAgICBbZm9ybUxheW91dF09XCJmb3JtTGF5b3V0XCJcbiAgICAgICAgW21hdHJpeFdpZHRoVHlwZV09XCJtYXRyaXhXaWR0aFR5cGVcIlxuICAgICAgICBbY2VsbFdpZHRoXT1cImNlbGxXaWR0aFwiXG4gICAgICAgIFtjZWxsSGVpZ2h0XT1cImNlbGxIZWlnaHRcIlxuICAgICAgICBbdmVydGljYWxMYWJlbFdpZHRoXT1cInZlcnRpY2FsTGFiZWxXaWR0aFwiXG4gICAgICAgIFtmaXRXaWR0aF09XCJmaXRXaWR0aFwiXG4gICAgICAgIFttaW5XaWR0aF09XCJtaW5XaWR0aFwiXG4gICAgICAgIFttaW5IZWlnaHRdPVwibWluSGVpZ2h0XCJcbiAgICAgICAgW3Jvd1Jlc2l6ZXJdPVwicm93UmVzaXplclwiXG4gICAgICAgIFtlbmFibGVSZXNpemluZ109XCJlbmFibGVSZXNpemluZ1wiXG4gICAgICAgIFtjb250YWluZXJXaWR0aF09XCJjb250YWluZXJXaWR0aFwiXG4gICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgPjwvYnN1LXVpLW1hdHJpeC12aWV3PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,53 @@
1
+ import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core';
2
+ import { BaseComponent, BarsaApi } from 'barsa-novin-ray-core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@fundamental-ngx/core";
5
+ import * as i2 from "barsa-novin-ray-core";
6
+ import * as i3 from "@fundamental-ngx/core/button";
7
+ import * as i4 from "@fundamental-ngx/core/dialog";
8
+ import * as i5 from "@fundamental-ngx/core/title";
9
+ export class UiExceptionFormComponent extends BaseComponent {
10
+ constructor(_dialogService) {
11
+ super();
12
+ this._dialogService = _dialogService;
13
+ }
14
+ ngOnInit() {
15
+ super.ngOnInit();
16
+ BarsaApi.Ui.ExceptionForm.IsHandled = true;
17
+ BarsaApi.Ui.ExceptionForm.Show = (text, detail, callback) => {
18
+ this._dialogService.open(this.templateRef, {
19
+ ...{ text, detail, callback },
20
+ responsivePadding: true
21
+ });
22
+ };
23
+ }
24
+ onClose(dialog, dialogConfig) {
25
+ dialog.close();
26
+ if (dialogConfig.callback) {
27
+ dialogConfig.callback();
28
+ }
29
+ }
30
+ onContinue(dialog, dialogConfig) {
31
+ dialog.close();
32
+ if (dialogConfig.callback) {
33
+ dialogConfig.callback();
34
+ }
35
+ }
36
+ onLogout(dialog, dialogConfig) {
37
+ dialog.close();
38
+ if (dialogConfig.callback) {
39
+ dialogConfig.callback();
40
+ }
41
+ BarsaApi.Bw.Logout();
42
+ }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiExceptionFormComponent, deps: [{ token: i1.DialogService }], target: i0.ɵɵFactoryTarget.Component }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: UiExceptionFormComponent, selector: "bsu-ui-exception-form", viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["templateRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #templateRef>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h1 fd-title>\n {{ dialogConfig.text }}\n </h1>\n\n <button fd-dialog-close-button (click)=\"onClose(dialog, dialogConfig)\"></button>\n </fd-dialog-header>\n\n <fd-dialog-body style=\"padding: 15px\">\n <div style=\"min-height: 125px\">\n <label fd-label [innerHtml]=\"dialogConfig.detail\"> </label>\n </div>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-dialog-footer-button>\n <button\n fd-button\n fd-dialog-decisive-button\n [fdType]=\"'emphasized'\"\n [label]=\"'Continue' | bbbTranslate\"\n (click)=\"onContinue(dialog, dialogConfig)\"\n ></button>\n </fd-dialog-footer-button>\n <fd-dialog-footer-button>\n <button\n fd-button\n fd-dialog-decisive-button\n [fdType]=\"'standard'\"\n [label]=\"'Copy' | bbbTranslate\"\n [copy]=\"dialogConfig.detail\"\n ></button>\n </fd-dialog-footer-button>\n <fd-dialog-footer-button>\n <button\n fd-button\n fd-dialog-decisive-button\n [fdType]=\"'negative'\"\n [label]=\"'Logout' | bbbTranslate\"\n (click)=\"onLogout(dialog, dialogConfig)\"\n ></button>\n </fd-dialog-footer-button>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.CopyDirective, selector: "[copy]", inputs: ["copy"] }, { kind: "component", type: i3.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i4.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i4.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i4.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i4.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i4.DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title", "ariaLabel"] }, { kind: "component", type: i5.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiExceptionFormComponent, decorators: [{
47
+ type: Component,
48
+ args: [{ selector: 'bsu-ui-exception-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #templateRef>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\">\n <fd-dialog-header>\n <h1 fd-title>\n {{ dialogConfig.text }}\n </h1>\n\n <button fd-dialog-close-button (click)=\"onClose(dialog, dialogConfig)\"></button>\n </fd-dialog-header>\n\n <fd-dialog-body style=\"padding: 15px\">\n <div style=\"min-height: 125px\">\n <label fd-label [innerHtml]=\"dialogConfig.detail\"> </label>\n </div>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-dialog-footer-button>\n <button\n fd-button\n fd-dialog-decisive-button\n [fdType]=\"'emphasized'\"\n [label]=\"'Continue' | bbbTranslate\"\n (click)=\"onContinue(dialog, dialogConfig)\"\n ></button>\n </fd-dialog-footer-button>\n <fd-dialog-footer-button>\n <button\n fd-button\n fd-dialog-decisive-button\n [fdType]=\"'standard'\"\n [label]=\"'Copy' | bbbTranslate\"\n [copy]=\"dialogConfig.detail\"\n ></button>\n </fd-dialog-footer-button>\n <fd-dialog-footer-button>\n <button\n fd-button\n fd-dialog-decisive-button\n [fdType]=\"'negative'\"\n [label]=\"'Logout' | bbbTranslate\"\n (click)=\"onLogout(dialog, dialogConfig)\"\n ></button>\n </fd-dialog-footer-button>\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n" }]
49
+ }], ctorParameters: () => [{ type: i1.DialogService }], propDecorators: { templateRef: [{
50
+ type: ViewChild,
51
+ args: ['templateRef']
52
+ }] } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZXhjZXB0aW9uLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZXhjZXB0aW9uLWZvcm0vdWktZXhjZXB0aW9uLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZXhjZXB0aW9uLWZvcm0vdWktZXhjZXB0aW9uLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBdUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25HLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFPL0QsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGFBQWE7SUFFdkQsWUFBb0IsY0FBNkI7UUFDN0MsS0FBSyxFQUFFLENBQUM7UUFEUSxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtJQUVqRCxDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixRQUFRLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQzNDLFFBQVEsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDeEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDdkMsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFO2dCQUM3QixpQkFBaUIsRUFBRSxJQUFJO2FBQzFCLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQztJQUNOLENBQUM7SUFDRCxPQUFPLENBQUMsTUFBTSxFQUFFLFlBQVk7UUFDeEIsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsSUFBSSxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEIsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzVCLENBQUM7SUFDTCxDQUFDO0lBQ0QsVUFBVSxDQUFDLE1BQU0sRUFBRSxZQUFZO1FBQzNCLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLElBQUksWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hCLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0wsQ0FBQztJQUNELFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBWTtRQUN6QixNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZixJQUFJLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN4QixZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUIsQ0FBQztRQUNELFFBQVEsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDekIsQ0FBQzs4R0FsQ1Esd0JBQXdCO2tHQUF4Qix3QkFBd0IsZ01DVnJDLG15REErQ0E7OzJGRHJDYSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0ksdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNO2tGQUdyQixXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBCYXJzYUFwaSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnN1LXVpLWV4Y2VwdGlvbi1mb3JtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktZXhjZXB0aW9uLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3VpLWV4Y2VwdGlvbi1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVWlFeGNlcHRpb25Gb3JtQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQFZpZXdDaGlsZCgndGVtcGxhdGVSZWYnKSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIEJhcnNhQXBpLlVpLkV4Y2VwdGlvbkZvcm0uSXNIYW5kbGVkID0gdHJ1ZTtcbiAgICAgICAgQmFyc2FBcGkuVWkuRXhjZXB0aW9uRm9ybS5TaG93ID0gKHRleHQsIGRldGFpbCwgY2FsbGJhY2spID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3Blbih0aGlzLnRlbXBsYXRlUmVmLCB7XG4gICAgICAgICAgICAgICAgLi4ueyB0ZXh0LCBkZXRhaWwsIGNhbGxiYWNrIH0sXG4gICAgICAgICAgICAgICAgcmVzcG9uc2l2ZVBhZGRpbmc6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgIH1cbiAgICBvbkNsb3NlKGRpYWxvZywgZGlhbG9nQ29uZmlnKTogdm9pZCB7XG4gICAgICAgIGRpYWxvZy5jbG9zZSgpO1xuICAgICAgICBpZiAoZGlhbG9nQ29uZmlnLmNhbGxiYWNrKSB7XG4gICAgICAgICAgICBkaWFsb2dDb25maWcuY2FsbGJhY2soKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBvbkNvbnRpbnVlKGRpYWxvZywgZGlhbG9nQ29uZmlnKTogdm9pZCB7XG4gICAgICAgIGRpYWxvZy5jbG9zZSgpO1xuICAgICAgICBpZiAoZGlhbG9nQ29uZmlnLmNhbGxiYWNrKSB7XG4gICAgICAgICAgICBkaWFsb2dDb25maWcuY2FsbGJhY2soKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBvbkxvZ291dChkaWFsb2csIGRpYWxvZ0NvbmZpZyk6IHZvaWQge1xuICAgICAgICBkaWFsb2cuY2xvc2UoKTtcbiAgICAgICAgaWYgKGRpYWxvZ0NvbmZpZy5jYWxsYmFjaykge1xuICAgICAgICAgICAgZGlhbG9nQ29uZmlnLmNhbGxiYWNrKCk7XG4gICAgICAgIH1cbiAgICAgICAgQmFyc2FBcGkuQncuTG9nb3V0KCk7XG4gICAgfVxufVxuIiwiPG5nLXRlbXBsYXRlIGxldC1kaWFsb2cgbGV0LWRpYWxvZ0NvbmZpZz1cImRpYWxvZ0NvbmZpZ1wiICN0ZW1wbGF0ZVJlZj5cbiAgICA8ZmQtZGlhbG9nIFtkaWFsb2dDb25maWddPVwiZGlhbG9nQ29uZmlnXCIgW2RpYWxvZ1JlZl09XCJkaWFsb2dcIj5cbiAgICAgICAgPGZkLWRpYWxvZy1oZWFkZXI+XG4gICAgICAgICAgICA8aDEgZmQtdGl0bGU+XG4gICAgICAgICAgICAgICAge3sgZGlhbG9nQ29uZmlnLnRleHQgfX1cbiAgICAgICAgICAgIDwvaDE+XG5cbiAgICAgICAgICAgIDxidXR0b24gZmQtZGlhbG9nLWNsb3NlLWJ1dHRvbiAoY2xpY2spPVwib25DbG9zZShkaWFsb2csIGRpYWxvZ0NvbmZpZylcIj48L2J1dHRvbj5cbiAgICAgICAgPC9mZC1kaWFsb2ctaGVhZGVyPlxuXG4gICAgICAgIDxmZC1kaWFsb2ctYm9keSBzdHlsZT1cInBhZGRpbmc6IDE1cHhcIj5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJtaW4taGVpZ2h0OiAxMjVweFwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBmZC1sYWJlbCBbaW5uZXJIdG1sXT1cImRpYWxvZ0NvbmZpZy5kZXRhaWxcIj4gPC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2ZkLWRpYWxvZy1ib2R5PlxuXG4gICAgICAgIDxmZC1kaWFsb2ctZm9vdGVyPlxuICAgICAgICAgICAgPGZkLWRpYWxvZy1mb290ZXItYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkLWRpYWxvZy1kZWNpc2l2ZS1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgW2ZkVHlwZV09XCInZW1waGFzaXplZCdcIlxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0NvbnRpbnVlJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNvbnRpbnVlKGRpYWxvZywgZGlhbG9nQ29uZmlnKVwiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9mZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cbiAgICAgICAgICAgIDxmZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC1kaWFsb2ctZGVjaXNpdmUtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIFtmZFR5cGVdPVwiJ3N0YW5kYXJkJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInQ29weScgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBbY29weV09XCJkaWFsb2dDb25maWcuZGV0YWlsXCJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8L2ZkLWRpYWxvZy1mb290ZXItYnV0dG9uPlxuICAgICAgICAgICAgPGZkLWRpYWxvZy1mb290ZXItYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkLWRpYWxvZy1kZWNpc2l2ZS1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgW2ZkVHlwZV09XCInbmVnYXRpdmUnXCJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidMb2dvdXQnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTG9nb3V0KGRpYWxvZywgZGlhbG9nQ29uZmlnKVwiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9mZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cbiAgICAgICAgPC9mZC1kaWFsb2ctZm9vdGVyPlxuICAgIDwvZmQtZGlhbG9nPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,121 @@
1
+ import { ChangeDetectionStrategy, Component, Input, ViewChild } from '@angular/core';
2
+ import { BehaviorSubject, Observable } from 'rxjs';
3
+ import { takeUntil } from 'rxjs/operators';
4
+ import { FileUploaderComponent } from '@fundamental-ngx/core';
5
+ import { UploadService, FilesValidationHelper, getValidExtension, LinearListHelper } from 'barsa-novin-ray-core';
6
+ import { DeviceInfoFieldBaseComponent } from '../device-info-field-base';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@fundamental-ngx/core/busy-indicator";
9
+ import * as i2 from "@fundamental-ngx/core/file-uploader";
10
+ import * as i3 from "@fundamental-ngx/core/list";
11
+ import * as i4 from "@fundamental-ngx/core/object-number";
12
+ import * as i5 from "@fundamental-ngx/core/object-status";
13
+ import * as i6 from "@fundamental-ngx/core/popover";
14
+ import * as i7 from "@fundamental-ngx/core/toolbar";
15
+ import * as i8 from "@fundamental-ngx/core/token";
16
+ import * as i9 from "../mask/mask.component";
17
+ import * as i10 from "@angular/common";
18
+ import * as i11 from "barsa-novin-ray-core";
19
+ import * as i12 from "../upload-file-status.pipe";
20
+ export class UiFileLinearListBoxComponent extends DeviceInfoFieldBaseComponent {
21
+ constructor() {
22
+ super(...arguments);
23
+ this.uploading$ = new Observable();
24
+ this.validExtension = '';
25
+ this.loading = false;
26
+ this._fileCountSource = new BehaviorSubject(0);
27
+ }
28
+ ngOnInit() {
29
+ super.ngOnInit();
30
+ this.context.on({
31
+ ShowUploadWindow: this._showUploadWindow.bind(this)
32
+ });
33
+ this._filesValidationHelper = new FilesValidationHelper(this.Setting.MaxFileCount, this.Setting.MaxFileSizeKb, this.Setting.MaxTotalFileSizeKb);
34
+ this._linearHelper = new LinearListHelper(this._uploadService, this._filesValidationHelper, this.Setting.FieldDefId);
35
+ this.valueExtra$ = this._linearHelper.valueExtra$;
36
+ this.uploading$ = this._linearHelper.uploading$;
37
+ this._linearHelper.delete$.pipe(takeUntil(this._onDestroy$)).subscribe((fileAttachment) => {
38
+ this._deleteFileAttachment(fileAttachment);
39
+ });
40
+ this._linearHelper.newFileUploaded$.pipe(takeUntil(this._onDestroy$)).subscribe((fileAttachment) => {
41
+ this._newFileUploaded(fileAttachment);
42
+ });
43
+ this.value &&
44
+ this.value.forEach((c) => {
45
+ this._linearHelper.init(c);
46
+ });
47
+ if (!this.Setting.IsMultiSelect) {
48
+ this._filesValidationHelper.maxFileCount = 1;
49
+ }
50
+ this.maxFileCount = this._filesValidationHelper.maxFileCount;
51
+ this.validExtension = getValidExtension(this.Setting.ValidExtensions);
52
+ }
53
+ ngOnDestroy() {
54
+ // this.valueExtra = {};
55
+ this.context.un('ShowUploadWindow', this._showUploadWindow);
56
+ super.ngOnDestroy();
57
+ }
58
+ onDownloadFile(file) {
59
+ if (!file.IsNew || file.UploadState === 'Complete' || !file.UploadState) {
60
+ this.fireContextEvent('CommandRequest', this.context, 'Download', file.Id);
61
+ this.fileDownloading = true;
62
+ setTimeout(() => {
63
+ this.fileDownloading = false;
64
+ }, 500);
65
+ }
66
+ }
67
+ onFileDeleted(fileId) {
68
+ this._fileDelete(fileId);
69
+ }
70
+ onTerminate(fileAttachment) {
71
+ this.fireContextEvent('CommandRequest', this.context, 'Delete', fileAttachment.Id);
72
+ this._linearHelper.cancel(fileAttachment);
73
+ }
74
+ onFileSelection(files) {
75
+ this._linearHelper.uploadToServer(files);
76
+ }
77
+ trackById(file, index) {
78
+ return file ? file.Id : index;
79
+ }
80
+ retry(fileAttachment) {
81
+ this._linearHelper.retry(fileAttachment);
82
+ }
83
+ _setValue(value) {
84
+ super._setValue(value);
85
+ this._setFileCount(value);
86
+ }
87
+ _showUploadWindow() {
88
+ this.fileUploadComponent.open();
89
+ }
90
+ _fileDelete(id) {
91
+ const fileAttachment = this.value.find((c) => c.Id === id);
92
+ if (fileAttachment) {
93
+ this._deleteFileAttachment(fileAttachment);
94
+ }
95
+ }
96
+ _deleteFileAttachment(fileAttachment) {
97
+ this.fireContextEvent('CommandRequest', this.context, 'Delete', fileAttachment.Id);
98
+ }
99
+ _setLoading(loading) {
100
+ this.loading = loading;
101
+ this._cdr.markForCheck();
102
+ }
103
+ _newFileUploaded(newFileAttachment) {
104
+ this.fireContextEvent('CommandRequest', this.context, 'FileUpload', newFileAttachment);
105
+ }
106
+ _setFileCount(value) {
107
+ this._fileCountSource.next(value.filter((c) => !c.IsDeleted).length);
108
+ }
109
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiFileLinearListBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
110
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: UiFileLinearListBoxComponent, selector: "bsu-ui-file-linear-list-box", inputs: { value: "value" }, providers: [UploadService], viewQueries: [{ propertyName: "fileUploadComponent", first: true, predicate: FileUploaderComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (value) {\n<div class=\"token-container\">\n <div class=\"token-wrapper\">\n @for (file of value; track trackById($index, file)) { @if (!file.IsDeleted) {\n <fd-popover>\n <fd-popover-control>\n <fd-token (onCloseClick)=\"onFileDeleted(file.Id)\" [readOnly]=\"(disableOrReadonly$ | async)!!\"\n >{{ file.FileName }}\n @if (file.IsNew) { @if (valueExtra$ | async; as valueExtra) { @if (valueExtra[file.Id].UploadState\n !== 'Complete') {\n <span\n fd-object-status\n [status]=\"file.Id | uploadFileStatus: valueExtra\"\n [label]=\"valueExtra[file.Id]?.UploadState || ''\"\n [title]=\"valueExtra[file.Id]?.UploadState\"\n [aria-label]=\"'File Upload Status Is ' + valueExtra[file.Id]?.UploadState\"\n ></span>\n } @if (valueExtra[file.Id].Progress) {\n <fd-object-number\n [number]=\"valueExtra[file.Id].Progress || 0\"\n unit=\"%\"\n status=\"informative\"\n ></fd-object-number>\n } @if (valueExtra[file.Id].UploadState === 'Uploading') {\n <fd-busy-indicator [loading]=\"true\" [size]=\"'s'\"></fd-busy-indicator>\n } } }\n </fd-token>\n </fd-popover-control>\n <fd-popover-body>\n @if (valueExtra$ | async; as valueExtra) { @if ( valueExtra[file.Id].UploadState !== 'Error' ||\n valueExtra[file.Id].UploadState === 'Complete' ) {\n <ul fd-list>\n <li fd-list-item>\n <a fd-list-link (click)=\"onDownloadFile(file)\">\n <i fd-list-icon glyph=\"download\"></i>\n <span fd-list-title>\n {{ 'Download' | bbbTranslate }}\n </span>\n <fd-busy-indicator [loading]=\"fileDownloading\" [size]=\"'s'\"></fd-busy-indicator>\n </a>\n </li>\n </ul>\n } }\n </fd-popover-body>\n </fd-popover>\n } }\n <div style=\"display: flex\">\n @if (loading) {\n <div style=\"position: relative; width: 3rem\">\n <bsu-mask [size]=\"'s'\" style=\"background: transparent\"></bsu-mask>\n </div>\n } @if (value | canUploadFile: maxFileCount:(disable$ | async)!!:(readonly$ | async)!!) {\n <fd-file-uploader\n class=\"file-linear-upload\"\n fd-toolbar-item\n [id]=\"id\"\n [name]=\"'linear_' + id\"\n [placeholder]=\"'AttachFile' | bbbTranslate\"\n [buttonLabel]=\"'AttachFile' | bbbTranslate\"\n [buttonAriaLabel]=\"'AttachFile' | bbbTranslate\"\n [accept]=\"validExtension\"\n [multiple]=\"maxFileCount > 1 || Setting.IsMultiSelect\"\n (selectedFilesChanged)=\"onFileSelection($event)\"\n [contentDensity]=\"(contentDensity$ | async)!!\"\n ></fd-file-uploader>\n }\n </div>\n </div>\n</div>\n}\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.isMobile ::ng-deep fd-token>span{-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:pre-wrap;height:auto;text-align:right}:host.isMobile ::ng-deep body[dir=ltr] fd-token>span{text-align:left}.token-container{background:transparent;padding:3px;display:flex}.token-wrapper{align-items:center;flex-grow:1;display:flex;flex-wrap:wrap}.token-wrapper fd-token,.token-wrapper .file-linear-upload{padding:4px}\n"], dependencies: [{ kind: "component", type: i1.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i2.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: i3.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i3.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "ariaRole", "id"], outputs: ["keyDown"] }, { kind: "directive", type: i3.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i3.ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "glyphFont", "class", "role"] }, { kind: "directive", type: i3.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "component", type: i4.ObjectNumberComponent, selector: "fd-object-number", inputs: ["number", "decimal", "unit", "emphasized", "large", "status", "class", "ariaLabelledBy", "ariaLabel"] }, { kind: "component", type: i5.ObjectStatusComponent, selector: "[fd-object-status]", inputs: ["class", "status", "glyph", "glyphFont", "label", "glyphAriaLabel", "indicationColor", "clickable", "inverted", "large", "secondaryIndication", "textTemplate"] }, { kind: "component", type: i6.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i6.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: i6.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "directive", type: i7.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: i8.TokenComponent, selector: "fd-token", inputs: ["disabled", "selected", "readOnly"], outputs: ["onCloseClick", "onRemove", "onTokenClick", "onTokenKeydown", "elementFocused"] }, { kind: "component", type: i9.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "pipe", type: i10.AsyncPipe, name: "async" }, { kind: "pipe", type: i11.CanUploadFilePipe, name: "canUploadFile" }, { kind: "pipe", type: i11.BbbTranslatePipe, name: "bbbTranslate" }, { kind: "pipe", type: i12.UploadFileStatusPipe, name: "uploadFileStatus" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
111
+ }
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiFileLinearListBoxComponent, decorators: [{
113
+ type: Component,
114
+ args: [{ selector: 'bsu-ui-file-linear-list-box', providers: [UploadService], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (value) {\n<div class=\"token-container\">\n <div class=\"token-wrapper\">\n @for (file of value; track trackById($index, file)) { @if (!file.IsDeleted) {\n <fd-popover>\n <fd-popover-control>\n <fd-token (onCloseClick)=\"onFileDeleted(file.Id)\" [readOnly]=\"(disableOrReadonly$ | async)!!\"\n >{{ file.FileName }}\n @if (file.IsNew) { @if (valueExtra$ | async; as valueExtra) { @if (valueExtra[file.Id].UploadState\n !== 'Complete') {\n <span\n fd-object-status\n [status]=\"file.Id | uploadFileStatus: valueExtra\"\n [label]=\"valueExtra[file.Id]?.UploadState || ''\"\n [title]=\"valueExtra[file.Id]?.UploadState\"\n [aria-label]=\"'File Upload Status Is ' + valueExtra[file.Id]?.UploadState\"\n ></span>\n } @if (valueExtra[file.Id].Progress) {\n <fd-object-number\n [number]=\"valueExtra[file.Id].Progress || 0\"\n unit=\"%\"\n status=\"informative\"\n ></fd-object-number>\n } @if (valueExtra[file.Id].UploadState === 'Uploading') {\n <fd-busy-indicator [loading]=\"true\" [size]=\"'s'\"></fd-busy-indicator>\n } } }\n </fd-token>\n </fd-popover-control>\n <fd-popover-body>\n @if (valueExtra$ | async; as valueExtra) { @if ( valueExtra[file.Id].UploadState !== 'Error' ||\n valueExtra[file.Id].UploadState === 'Complete' ) {\n <ul fd-list>\n <li fd-list-item>\n <a fd-list-link (click)=\"onDownloadFile(file)\">\n <i fd-list-icon glyph=\"download\"></i>\n <span fd-list-title>\n {{ 'Download' | bbbTranslate }}\n </span>\n <fd-busy-indicator [loading]=\"fileDownloading\" [size]=\"'s'\"></fd-busy-indicator>\n </a>\n </li>\n </ul>\n } }\n </fd-popover-body>\n </fd-popover>\n } }\n <div style=\"display: flex\">\n @if (loading) {\n <div style=\"position: relative; width: 3rem\">\n <bsu-mask [size]=\"'s'\" style=\"background: transparent\"></bsu-mask>\n </div>\n } @if (value | canUploadFile: maxFileCount:(disable$ | async)!!:(readonly$ | async)!!) {\n <fd-file-uploader\n class=\"file-linear-upload\"\n fd-toolbar-item\n [id]=\"id\"\n [name]=\"'linear_' + id\"\n [placeholder]=\"'AttachFile' | bbbTranslate\"\n [buttonLabel]=\"'AttachFile' | bbbTranslate\"\n [buttonAriaLabel]=\"'AttachFile' | bbbTranslate\"\n [accept]=\"validExtension\"\n [multiple]=\"maxFileCount > 1 || Setting.IsMultiSelect\"\n (selectedFilesChanged)=\"onFileSelection($event)\"\n [contentDensity]=\"(contentDensity$ | async)!!\"\n ></fd-file-uploader>\n }\n </div>\n </div>\n</div>\n}\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.isMobile ::ng-deep fd-token>span{-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:pre-wrap;height:auto;text-align:right}:host.isMobile ::ng-deep body[dir=ltr] fd-token>span{text-align:left}.token-container{background:transparent;padding:3px;display:flex}.token-wrapper{align-items:center;flex-grow:1;display:flex;flex-wrap:wrap}.token-wrapper fd-token,.token-wrapper .file-linear-upload{padding:4px}\n"] }]
115
+ }], propDecorators: { fileUploadComponent: [{
116
+ type: ViewChild,
117
+ args: [FileUploaderComponent, { static: false }]
118
+ }], value: [{
119
+ type: Input
120
+ }] } });
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZmlsZS1saW5lYXItbGlzdC1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZmlsZS1saW5lYXItbGlzdC1ib3gvdWktZmlsZS1saW5lYXItbGlzdC1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZmlsZS1saW5lYXItbGlzdC1ib3gvdWktZmlsZS1saW5lYXItbGlzdC1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBVyxNQUFNLE1BQU0sQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFrQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTlFLE9BQU8sRUFDSCxhQUFhLEVBQ2IscUJBQXFCLEVBRXJCLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDbkIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFVekUsTUFBTSxPQUFPLDRCQUE2QixTQUFRLDRCQUE0QjtJQVA5RTs7UUFZSSxlQUFVLEdBQUcsSUFBSSxVQUFVLEVBQW1CLENBQUM7UUFLL0MsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFFcEIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUdSLHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDO0tBOEY3RDtJQTVGRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1osZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDdEQsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUkscUJBQXFCLENBQ25ELElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FDbEMsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxnQkFBZ0IsQ0FDckMsSUFBSSxDQUFDLGNBQWMsRUFDbkIsSUFBSSxDQUFDLHNCQUFzQixFQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FDMUIsQ0FBQztRQUNGLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7UUFDbEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztRQUNoRCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFO1lBQ3RGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUMvRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSztZQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUFDO1FBRVAsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksQ0FBQztRQUM3RCxJQUFJLENBQUMsY0FBYyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUNELFdBQVc7UUFDUCx3QkFBd0I7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDNUQsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxjQUFjLENBQUMsSUFBd0I7UUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMzRSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztZQUM1QixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1lBQ2pDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNaLENBQUM7SUFDTCxDQUFDO0lBQ0QsYUFBYSxDQUFDLE1BQU07UUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQ0QsV0FBVyxDQUFDLGNBQWtDO1FBQzFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUNELGVBQWUsQ0FBQyxLQUFhO1FBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBSSxFQUFFLEtBQUs7UUFDakIsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBQ1MsS0FBSyxDQUFDLGNBQWtDO1FBQzlDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFDUyxTQUFTLENBQUMsS0FBVTtRQUMxQixLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNTLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUNTLFdBQVcsQ0FBQyxFQUFFO1FBQ3BCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzNELElBQUksY0FBYyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQy9DLENBQUM7SUFDTCxDQUFDO0lBQ1MscUJBQXFCLENBQUMsY0FBa0M7UUFDOUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRVMsV0FBVyxDQUFDLE9BQWdCO1FBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUNTLGdCQUFnQixDQUFDLGlCQUFxQztRQUM1RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBQ1MsYUFBYSxDQUFDLEtBQUs7UUFDekIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6RSxDQUFDOzhHQTVHUSw0QkFBNEI7a0dBQTVCLDRCQUE0QixrRkFIMUIsQ0FBQyxhQUFhLENBQUMsK0VBSWYscUJBQXFCLHVFQ3ZCcEMscTNHQXNFQTs7MkZEaERhLDRCQUE0QjtrQkFQeEMsU0FBUzsrQkFDSSw2QkFBNkIsYUFHNUIsQ0FBQyxhQUFhLENBQUMsbUJBQ1QsdUJBQXVCLENBQUMsTUFBTTs4QkFHTSxtQkFBbUI7c0JBQXZFLFNBQVM7dUJBQUMscUJBQXFCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUMxQyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eSwgRmlsZVVwbG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcblxuaW1wb3J0IHtcbiAgICBVcGxvYWRTZXJ2aWNlLFxuICAgIEZpbGVzVmFsaWRhdGlvbkhlbHBlcixcbiAgICBGaWxlQXR0YWNobWVudEluZm8sXG4gICAgZ2V0VmFsaWRFeHRlbnNpb24sXG4gICAgTGluZWFyTGlzdEhlbHBlclxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5pbXBvcnQgeyBEZXZpY2VJbmZvRmllbGRCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vZGV2aWNlLWluZm8tZmllbGQtYmFzZSc7XG5pbXBvcnQgeyBJVXBsb2FkaW5nU3RhdGUgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnN1LXVpLWZpbGUtbGluZWFyLWxpc3QtYm94JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktZmlsZS1saW5lYXItbGlzdC1ib3guY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3VpLWZpbGUtbGluZWFyLWxpc3QtYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbVXBsb2FkU2VydmljZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVWlGaWxlTGluZWFyTGlzdEJveENvbXBvbmVudCBleHRlbmRzIERldmljZUluZm9GaWVsZEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZChGaWxlVXBsb2FkZXJDb21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KSBmaWxlVXBsb2FkQ29tcG9uZW50OiBGaWxlVXBsb2FkZXJDb21wb25lbnQ7XG4gICAgQElucHV0KCkgdmFsdWU6IEZpbGVBdHRhY2htZW50SW5mb1tdO1xuXG4gICAgZmlsZUNvdW50JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICAgIHVwbG9hZGluZyQgPSBuZXcgT2JzZXJ2YWJsZTxJVXBsb2FkaW5nU3RhdGU+KCk7XG5cbiAgICB2YWx1ZUV4dHJhJDogT2JzZXJ2YWJsZTx7IFtrZXk6IHN0cmluZ106IFVwbG9hZEZpbGVQcm9wcyB9PjtcbiAgICBjb250ZW50RGVuc2l0eSQ6IE9ic2VydmFibGU8Q29udGVudERlbnNpdHk+O1xuICAgIGZpbGVEb3dubG9hZGluZzogYm9vbGVhbjtcbiAgICB2YWxpZEV4dGVuc2lvbiA9ICcnO1xuICAgIG1heEZpbGVDb3VudDogbnVtYmVyO1xuICAgIGxvYWRpbmcgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgX2xpbmVhckhlbHBlcjogTGluZWFyTGlzdEhlbHBlcjtcbiAgICBwcm90ZWN0ZWQgX2ZpbGVzVmFsaWRhdGlvbkhlbHBlcjogRmlsZXNWYWxpZGF0aW9uSGVscGVyO1xuICAgIHByaXZhdGUgX2ZpbGVDb3VudFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmNvbnRleHQub24oe1xuICAgICAgICAgICAgU2hvd1VwbG9hZFdpbmRvdzogdGhpcy5fc2hvd1VwbG9hZFdpbmRvdy5iaW5kKHRoaXMpXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9maWxlc1ZhbGlkYXRpb25IZWxwZXIgPSBuZXcgRmlsZXNWYWxpZGF0aW9uSGVscGVyKFxuICAgICAgICAgICAgdGhpcy5TZXR0aW5nLk1heEZpbGVDb3VudCxcbiAgICAgICAgICAgIHRoaXMuU2V0dGluZy5NYXhGaWxlU2l6ZUtiLFxuICAgICAgICAgICAgdGhpcy5TZXR0aW5nLk1heFRvdGFsRmlsZVNpemVLYlxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9saW5lYXJIZWxwZXIgPSBuZXcgTGluZWFyTGlzdEhlbHBlcihcbiAgICAgICAgICAgIHRoaXMuX3VwbG9hZFNlcnZpY2UsXG4gICAgICAgICAgICB0aGlzLl9maWxlc1ZhbGlkYXRpb25IZWxwZXIsXG4gICAgICAgICAgICB0aGlzLlNldHRpbmcuRmllbGREZWZJZFxuICAgICAgICApO1xuICAgICAgICB0aGlzLnZhbHVlRXh0cmEkID0gdGhpcy5fbGluZWFySGVscGVyLnZhbHVlRXh0cmEkO1xuICAgICAgICB0aGlzLnVwbG9hZGluZyQgPSB0aGlzLl9saW5lYXJIZWxwZXIudXBsb2FkaW5nJDtcbiAgICAgICAgdGhpcy5fbGluZWFySGVscGVyLmRlbGV0ZSQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoZmlsZUF0dGFjaG1lbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2RlbGV0ZUZpbGVBdHRhY2htZW50KGZpbGVBdHRhY2htZW50KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2xpbmVhckhlbHBlci5uZXdGaWxlVXBsb2FkZWQkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGZpbGVBdHRhY2htZW50KSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9uZXdGaWxlVXBsb2FkZWQoZmlsZUF0dGFjaG1lbnQpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy52YWx1ZSAmJlxuICAgICAgICAgICAgdGhpcy52YWx1ZS5mb3JFYWNoKChjKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbGluZWFySGVscGVyLmluaXQoYyk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIXRoaXMuU2V0dGluZy5Jc011bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICB0aGlzLl9maWxlc1ZhbGlkYXRpb25IZWxwZXIubWF4RmlsZUNvdW50ID0gMTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1heEZpbGVDb3VudCA9IHRoaXMuX2ZpbGVzVmFsaWRhdGlvbkhlbHBlci5tYXhGaWxlQ291bnQ7XG4gICAgICAgIHRoaXMudmFsaWRFeHRlbnNpb24gPSBnZXRWYWxpZEV4dGVuc2lvbih0aGlzLlNldHRpbmcuVmFsaWRFeHRlbnNpb25zKTtcbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIC8vIHRoaXMudmFsdWVFeHRyYSA9IHt9O1xuICAgICAgICB0aGlzLmNvbnRleHQudW4oJ1Nob3dVcGxvYWRXaW5kb3cnLCB0aGlzLl9zaG93VXBsb2FkV2luZG93KTtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG4gICAgb25Eb3dubG9hZEZpbGUoZmlsZTogRmlsZUF0dGFjaG1lbnRJbmZvKTogdm9pZCB7XG4gICAgICAgIGlmICghZmlsZS5Jc05ldyB8fCBmaWxlLlVwbG9hZFN0YXRlID09PSAnQ29tcGxldGUnIHx8ICFmaWxlLlVwbG9hZFN0YXRlKSB7XG4gICAgICAgICAgICB0aGlzLmZpcmVDb250ZXh0RXZlbnQoJ0NvbW1hbmRSZXF1ZXN0JywgdGhpcy5jb250ZXh0LCAnRG93bmxvYWQnLCBmaWxlLklkKTtcbiAgICAgICAgICAgIHRoaXMuZmlsZURvd25sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsZURvd25sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9LCA1MDApO1xuICAgICAgICB9XG4gICAgfVxuICAgIG9uRmlsZURlbGV0ZWQoZmlsZUlkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2ZpbGVEZWxldGUoZmlsZUlkKTtcbiAgICB9XG4gICAgb25UZXJtaW5hdGUoZmlsZUF0dGFjaG1lbnQ6IEZpbGVBdHRhY2htZW50SW5mbyk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpcmVDb250ZXh0RXZlbnQoJ0NvbW1hbmRSZXF1ZXN0JywgdGhpcy5jb250ZXh0LCAnRGVsZXRlJywgZmlsZUF0dGFjaG1lbnQuSWQpO1xuICAgICAgICB0aGlzLl9saW5lYXJIZWxwZXIuY2FuY2VsKGZpbGVBdHRhY2htZW50KTtcbiAgICB9XG4gICAgb25GaWxlU2VsZWN0aW9uKGZpbGVzOiBGaWxlW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbGluZWFySGVscGVyLnVwbG9hZFRvU2VydmVyKGZpbGVzKTtcbiAgICB9XG5cbiAgICB0cmFja0J5SWQoZmlsZSwgaW5kZXgpOiBzdHJpbmcgfCBudW1iZXIge1xuICAgICAgICByZXR1cm4gZmlsZSA/IGZpbGUuSWQgOiBpbmRleDtcbiAgICB9XG4gICAgcHJvdGVjdGVkIHJldHJ5KGZpbGVBdHRhY2htZW50OiBGaWxlQXR0YWNobWVudEluZm8pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbGluZWFySGVscGVyLnJldHJ5KGZpbGVBdHRhY2htZW50KTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9zZXRWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIHN1cGVyLl9zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuX3NldEZpbGVDb3VudCh2YWx1ZSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfc2hvd1VwbG9hZFdpbmRvdygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWxlVXBsb2FkQ29tcG9uZW50Lm9wZW4oKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9maWxlRGVsZXRlKGlkKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZpbGVBdHRhY2htZW50ID0gdGhpcy52YWx1ZS5maW5kKChjKSA9PiBjLklkID09PSBpZCk7XG4gICAgICAgIGlmIChmaWxlQXR0YWNobWVudCkge1xuICAgICAgICAgICAgdGhpcy5fZGVsZXRlRmlsZUF0dGFjaG1lbnQoZmlsZUF0dGFjaG1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByb3RlY3RlZCBfZGVsZXRlRmlsZUF0dGFjaG1lbnQoZmlsZUF0dGFjaG1lbnQ6IEZpbGVBdHRhY2htZW50SW5mbyk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpcmVDb250ZXh0RXZlbnQoJ0NvbW1hbmRSZXF1ZXN0JywgdGhpcy5jb250ZXh0LCAnRGVsZXRlJywgZmlsZUF0dGFjaG1lbnQuSWQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfc2V0TG9hZGluZyhsb2FkaW5nOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IGxvYWRpbmc7XG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9uZXdGaWxlVXBsb2FkZWQobmV3RmlsZUF0dGFjaG1lbnQ6IEZpbGVBdHRhY2htZW50SW5mbyk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpcmVDb250ZXh0RXZlbnQoJ0NvbW1hbmRSZXF1ZXN0JywgdGhpcy5jb250ZXh0LCAnRmlsZVVwbG9hZCcsIG5ld0ZpbGVBdHRhY2htZW50KTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9zZXRGaWxlQ291bnQodmFsdWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZmlsZUNvdW50U291cmNlLm5leHQodmFsdWUuZmlsdGVyKChjKSA9PiAhYy5Jc0RlbGV0ZWQpLmxlbmd0aCk7XG4gICAgfVxufVxuXG5pbnRlcmZhY2UgVXBsb2FkRmlsZVByb3BzIHtcbiAgICBGaWxlVXJsPzogc3RyaW5nO1xuICAgIGNhbmNlbGF0aW9uJD86IFN1YmplY3Q8dm9pZD47XG4gICAgYmluYXJ5PzogYW55O1xuICAgIFVwbG9hZFN0YXRlPzogc3RyaW5nO1xuICAgIFByb2dyZXNzPzogbnVtYmVyO1xuICAgIElzSWNvbj86IGJvb2xlYW47XG59XG4iLCJAaWYgKHZhbHVlKSB7XG48ZGl2IGNsYXNzPVwidG9rZW4tY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cInRva2VuLXdyYXBwZXJcIj5cbiAgICAgICAgQGZvciAoZmlsZSBvZiB2YWx1ZTsgdHJhY2sgdHJhY2tCeUlkKCRpbmRleCwgZmlsZSkpIHsgQGlmICghZmlsZS5Jc0RlbGV0ZWQpIHtcbiAgICAgICAgPGZkLXBvcG92ZXI+XG4gICAgICAgICAgICA8ZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICAgICAgICAgIDxmZC10b2tlbiAob25DbG9zZUNsaWNrKT1cIm9uRmlsZURlbGV0ZWQoZmlsZS5JZClcIiBbcmVhZE9ubHldPVwiKGRpc2FibGVPclJlYWRvbmx5JCB8IGFzeW5jKSEhXCJcbiAgICAgICAgICAgICAgICAgICAgPnt7IGZpbGUuRmlsZU5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgQGlmIChmaWxlLklzTmV3KSB7IEBpZiAodmFsdWVFeHRyYSQgfCBhc3luYzsgYXMgdmFsdWVFeHRyYSkgeyBAaWYgKHZhbHVlRXh0cmFbZmlsZS5JZF0uVXBsb2FkU3RhdGVcbiAgICAgICAgICAgICAgICAgICAgIT09ICdDb21wbGV0ZScpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgIGZkLW9iamVjdC1zdGF0dXNcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdGF0dXNdPVwiZmlsZS5JZCB8IHVwbG9hZEZpbGVTdGF0dXM6IHZhbHVlRXh0cmFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInZhbHVlRXh0cmFbZmlsZS5JZF0/LlVwbG9hZFN0YXRlIHx8ICcnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJ2YWx1ZUV4dHJhW2ZpbGUuSWRdPy5VcGxvYWRTdGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXJpYS1sYWJlbF09XCInRmlsZSBVcGxvYWQgU3RhdHVzIElzICcgKyB2YWx1ZUV4dHJhW2ZpbGUuSWRdPy5VcGxvYWRTdGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH0gQGlmICh2YWx1ZUV4dHJhW2ZpbGUuSWRdLlByb2dyZXNzKSB7XG4gICAgICAgICAgICAgICAgICAgIDxmZC1vYmplY3QtbnVtYmVyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbnVtYmVyXT1cInZhbHVlRXh0cmFbZmlsZS5JZF0uUHJvZ3Jlc3MgfHwgMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB1bml0PVwiJVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM9XCJpbmZvcm1hdGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgID48L2ZkLW9iamVjdC1udW1iZXI+XG4gICAgICAgICAgICAgICAgICAgIH0gQGlmICh2YWx1ZUV4dHJhW2ZpbGUuSWRdLlVwbG9hZFN0YXRlID09PSAnVXBsb2FkaW5nJykge1xuICAgICAgICAgICAgICAgICAgICA8ZmQtYnVzeS1pbmRpY2F0b3IgW2xvYWRpbmddPVwidHJ1ZVwiIFtzaXplXT1cIidzJ1wiPjwvZmQtYnVzeS1pbmRpY2F0b3I+XG4gICAgICAgICAgICAgICAgICAgIH0gfSB9XG4gICAgICAgICAgICAgICAgPC9mZC10b2tlbj5cbiAgICAgICAgICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICAgICAgPGZkLXBvcG92ZXItYm9keT5cbiAgICAgICAgICAgICAgICBAaWYgKHZhbHVlRXh0cmEkIHwgYXN5bmM7IGFzIHZhbHVlRXh0cmEpIHsgQGlmICggdmFsdWVFeHRyYVtmaWxlLklkXS5VcGxvYWRTdGF0ZSAhPT0gJ0Vycm9yJyB8fFxuICAgICAgICAgICAgICAgIHZhbHVlRXh0cmFbZmlsZS5JZF0uVXBsb2FkU3RhdGUgPT09ICdDb21wbGV0ZScgKSB7XG4gICAgICAgICAgICAgICAgPHVsIGZkLWxpc3Q+XG4gICAgICAgICAgICAgICAgICAgIDxsaSBmZC1saXN0LWl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBmZC1saXN0LWxpbmsgKGNsaWNrKT1cIm9uRG93bmxvYWRGaWxlKGZpbGUpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgZmQtbGlzdC1pY29uIGdseXBoPVwiZG93bmxvYWRcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ0Rvd25sb2FkJyB8IGJiYlRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtYnVzeS1pbmRpY2F0b3IgW2xvYWRpbmddPVwiZmlsZURvd25sb2FkaW5nXCIgW3NpemVdPVwiJ3MnXCI+PC9mZC1idXN5LWluZGljYXRvcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIH0gfVxuICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWJvZHk+XG4gICAgICAgIDwvZmQtcG9wb3Zlcj5cbiAgICAgICAgfSB9XG4gICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4XCI+XG4gICAgICAgICAgICBAaWYgKGxvYWRpbmcpIHtcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAzcmVtXCI+XG4gICAgICAgICAgICAgICAgPGJzdS1tYXNrIFtzaXplXT1cIidzJ1wiIHN0eWxlPVwiYmFja2dyb3VuZDogdHJhbnNwYXJlbnRcIj48L2JzdS1tYXNrPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9IEBpZiAodmFsdWUgfCBjYW5VcGxvYWRGaWxlOiBtYXhGaWxlQ291bnQ6KGRpc2FibGUkIHwgYXN5bmMpISE6KHJlYWRvbmx5JCB8IGFzeW5jKSEhKSB7XG4gICAgICAgICAgICA8ZmQtZmlsZS11cGxvYWRlclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmlsZS1saW5lYXItdXBsb2FkXCJcbiAgICAgICAgICAgICAgICBmZC10b29sYmFyLWl0ZW1cbiAgICAgICAgICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICAgICAgICAgIFtuYW1lXT1cIidsaW5lYXJfJyArIGlkXCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0F0dGFjaEZpbGUnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbYnV0dG9uTGFiZWxdPVwiJ0F0dGFjaEZpbGUnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbYnV0dG9uQXJpYUxhYmVsXT1cIidBdHRhY2hGaWxlJyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW2FjY2VwdF09XCJ2YWxpZEV4dGVuc2lvblwiXG4gICAgICAgICAgICAgICAgW211bHRpcGxlXT1cIm1heEZpbGVDb3VudCA+IDEgfHwgU2V0dGluZy5Jc011bHRpU2VsZWN0XCJcbiAgICAgICAgICAgICAgICAoc2VsZWN0ZWRGaWxlc0NoYW5nZWQpPVwib25GaWxlU2VsZWN0aW9uKCRldmVudClcIlxuICAgICAgICAgICAgICAgIFtjb250ZW50RGVuc2l0eV09XCIoY29udGVudERlbnNpdHkkIHwgYXN5bmMpISFcIlxuICAgICAgICAgICAgPjwvZmQtZmlsZS11cGxvYWRlcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbn1cbiJdfQ==
@@ -0,0 +1,92 @@
1
+ import { ChangeDetectionStrategy, Component, HostBinding, Self } from '@angular/core';
2
+ import { takeUntil, tap } from 'rxjs';
3
+ import { FormBaseComponent, FormPanelService, FindLayoutSettingFromLayout94, FindToolbarItem, BarsaApi } from 'barsa-novin-ray-core';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "barsa-novin-ray-core";
6
+ import * as i2 from "@angular/router";
7
+ import * as i3 from "@fundamental-ngx/core";
8
+ import * as i4 from "../fundamental-dynamic-form/fundamental-dynamic-form.component";
9
+ import * as i5 from "../barsa-simple-form/barsa-simple-form.component";
10
+ import * as i6 from "@angular/common";
11
+ export class UiFormPanelComponent extends FormBaseComponent {
12
+ constructor(_breadcrumbService, _portalService, _router, _el, _controlUiPipe, _formPanelService, _activatedRoute, _cdr, _contentDensityService) {
13
+ super(_breadcrumbService, _portalService, _router, _el, _controlUiPipe, _formPanelService, _activatedRoute, _cdr);
14
+ this._breadcrumbService = _breadcrumbService;
15
+ this._portalService = _portalService;
16
+ this._router = _router;
17
+ this._el = _el;
18
+ this._controlUiPipe = _controlUiPipe;
19
+ this._formPanelService = _formPanelService;
20
+ this._activatedRoute = _activatedRoute;
21
+ this._cdr = _cdr;
22
+ this._contentDensityService = _contentDensityService;
23
+ this._typeDefName = '';
24
+ this.breadCrumbs$ = _breadcrumbService.breadcrumbs$;
25
+ this.contentDensity$ = _contentDensityService.contentDensity;
26
+ this.deviceSize$ = _portalService.deviceSize$;
27
+ this.dirValue$ = _portalService.dirValue$;
28
+ this.rtl$ = _portalService.rtl$;
29
+ this.canSend$ = this._formPanelService.canSend$;
30
+ this._formPanelService.mo$.subscribe((c) => (this._typeDefName = c?.$TypeDefName ?? ''));
31
+ }
32
+ ngOnInit() {
33
+ super.ngOnInit();
34
+ const parameters = this.parameters;
35
+ this.extendLayout94$ = this.layout94$.pipe(takeUntil(this._onDestroy$), tap((layout94) => {
36
+ if (parameters?.FormLayoutItemsSetting) {
37
+ parameters.FormLayoutItemsSetting.MoDataList.forEach((setting) => {
38
+ const layoutItem = FindLayoutSettingFromLayout94(layout94, setting.Title);
39
+ if (layoutItem) {
40
+ if (layoutItem.Type === 'LayoutControlItem' && layoutItem.FieldUi) {
41
+ BarsaApi.Common.Merger.FastMerge(layoutItem.FieldUi.Setting, setting);
42
+ }
43
+ else {
44
+ BarsaApi.Common.Merger.FastMerge(layoutItem, setting);
45
+ }
46
+ }
47
+ });
48
+ }
49
+ }));
50
+ this.extendToolbarItems$ = this.toolbarItems$.pipe(takeUntil(this._onDestroy$), tap((toolbarItems) => {
51
+ if (parameters?.FormLayoutItemsSetting) {
52
+ parameters.FormLayoutItemsSetting.MoDataList.forEach((setting) => {
53
+ const toolbarItem = FindToolbarItem(toolbarItems, setting.Title);
54
+ if (toolbarItem) {
55
+ BarsaApi.Common.Merger.FastMerge(toolbarItem, setting);
56
+ }
57
+ });
58
+ }
59
+ if (parameters?.SaveButtonCustomUi?.Selector) {
60
+ const saveItem = FindToolbarItem(toolbarItems, 'SaveAndClose', 'itemId');
61
+ BarsaApi.Common.Merger.FastMerge(saveItem, {
62
+ Data: { CustomUi: parameters.SaveButtonCustomUi }
63
+ });
64
+ }
65
+ if (parameters?.OkButtonCustomUi?.Selector) {
66
+ const okItem = FindToolbarItem(toolbarItems, 'Ok', 'itemId');
67
+ BarsaApi.Common.Merger.FastMerge(okItem, {
68
+ Data: { CustomUi: parameters.OkButtonCustomUi }
69
+ });
70
+ }
71
+ if (parameters?.CancelButtonCustomUi?.Selector) {
72
+ const cancelItem = FindToolbarItem(toolbarItems, 'Cancel', 'itemId');
73
+ BarsaApi.Common.Merger.FastMerge(cancelItem, {
74
+ Data: { CustomUi: parameters.CancelButtonCustomUi }
75
+ });
76
+ }
77
+ }));
78
+ this.fullscreen = parameters?.FullscreenDefault === true && !this.isModal;
79
+ }
80
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiFormPanelComponent, deps: [{ token: i1.BreadcrumbService }, { token: i1.PortalService }, { token: i2.Router }, { token: i0.ElementRef }, { token: i1.ControlUiPipe }, { token: i1.FormPanelService, self: true }, { token: i2.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i3.ContentDensityService }], target: i0.ɵɵFactoryTarget.Component }); }
81
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: UiFormPanelComponent, selector: "bsu-ui-form-panel", host: { properties: { "attr.typeDefName": "this._typeDefName" } }, providers: [FormPanelService], usesInheritance: true, ngImport: i0, template: "@if (isSearchPanel || (isSimple$ | async) || isSubForm || isModal || isFormReport) {\n<bsu-barsa-simple-form\n [canSend]=\"(canSend$ | async) === true\"\n [formVisibilityStatus]=\"formVisibilityStatus\"\n [removeContentPadding]=\"(headerRemoveContentPadding$ | async)!!\"\n [breadCrumbs]=\"breadCrumbs$ | async\"\n [description]=\"(headerDescription$ | async)!!\"\n [hideClose]=\"(hideClose$ | async)!!\"\n [hideTitle]=\"(hideTitle$ | async)!!\"\n [hidePin]=\"(hidePin$ | async)!!\"\n [title]=\"(title$ | async)!!\"\n [isModal]=\"isModal\"\n [subtitle]=\"(headerSubtitle$ | async)!!\"\n [toolbarItems]=\"extendToolbarItems$ | async | tlbButtons: 'inFooter':false\"\n [layoutActions]=\"extendToolbarItems$ | async | tlbButtons: 'inFooter':true\"\n [toolbarVisible]=\"(toolbarVisible$ | async)!!\"\n [facetList]=\"(headerLayout$ | async)?.FacetList2\"\n [parameters]=\"parameters\"\n [workflowPanelUi]=\"workflowPanelUi$ | async\"\n [workflowButtons]=\"(workflowButtons$ | async)!!\"\n [isMobile]=\"isMobile\"\n [layout94]=\"extendLayout94$ | async\"\n [layoutGridCol]=\"+(parameters?.LayoutGridCol || 12)\"\n [colLg]=\"+(parameters?.ColLg || 0)\"\n [colXl]=\"+(parameters?.ColXl || 0)\"\n [colMd]=\"+(parameters?.ColMd || 0)\"\n [rtl]=\"(rtl$ | async)!!\"\n [mask]=\"(mask$ | async)!!\"\n [mo]=\"(mo$ | async)!!\"\n [dirValue]=\"(dirValue$ | async)!!\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [contentDensity]=\"(contentDensity$ | async)!!\"\n [modernTabs]=\"(modernTabs$ | async)!!\"\n [avatar]=\"(avatar$ | async)!!\"\n [fieldDict]=\"(fieldDict$ | async)!!\"\n [landscape]=\"(landscape$ | async) === true\"\n [standalone]=\"(standalone$ | async) === true\"\n (close)=\"onClose()\"\n (toolbarClick)=\"onToolbarClick($event)\"\n [contentIsPage]=\"parameters?.ContentIsPage === true\"\n (workflowChoiceClick)=\"onWorkflowChoiceClick($event)\"\n></bsu-barsa-simple-form>\n} @else {\n<bsu-fundamental-dynamic-form\n [style.position]=\"(mask$ | async) ? 'relative' : null\"\n [canSend]=\"(canSend$ | async) === true\"\n [formVisibilityStatus]=\"formVisibilityStatus\"\n [removeContentPadding]=\"(headerRemoveContentPadding$ | async)!!\"\n [breadCrumbs]=\"breadCrumbs$ | async\"\n [description]=\"(headerDescription$ | async)!!\"\n [hideClose]=\"(hideClose$ | async)!!\"\n [hideTitle]=\"(hideTitle$ | async)!!\"\n [hidePin]=\"(hidePin$ | async)!!\"\n [title]=\"(title$ | async)!!\"\n [subtitle]=\"(headerSubtitle$ | async)!!\"\n [toolbarItems]=\"extendToolbarItems$ | async | tlbButtons: 'inFooter':false\"\n [layoutActions]=\"extendToolbarItems$ | async | tlbButtons: 'inFooter':true\"\n [toolbarVisible]=\"(toolbarVisible$ | async)!!\"\n [facetList]=\"(headerLayout$ | async)?.FacetList2\"\n [parameters]=\"parameters\"\n [fullscreen]=\"fullscreen\"\n [workflowPanelUi]=\"workflowPanelUi$ | async\"\n [isMobile]=\"isMobile\"\n [layout94]=\"extendLayout94$ | async\"\n [rtl]=\"(rtl$ | async)!!\"\n [layoutGridCol]=\"+(parameters?.LayoutGridCol || 12)\"\n [colLg]=\"+(parameters?.ColLg || 0)\"\n [colXl]=\"+(parameters?.ColXl || 0)\"\n [colMd]=\"+(parameters?.ColMd || 0)\"\n [mask]=\"(mask$ | async)!!\"\n [mo]=\"(mo$ | async)!!\"\n [dirValue]=\"(dirValue$ | async)!!\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [contentDensity]=\"(contentDensity$ | async)!!\"\n [modernTabs]=\"(modernTabs$ | async)!!\"\n [avatar]=\"(avatar$ | async)!!\"\n [fieldDict]=\"(fieldDict$ | async)!!\"\n [landscape]=\"(landscape$ | async) === true\"\n [standalone]=\"(standalone$ | async) === true\"\n (fullscreenRequest)=\"onFullscreen()\"\n (close)=\"onClose()\"\n (toolbarClick)=\"onToolbarClick($event)\"\n [contentIsPage]=\"parameters?.ContentIsPage === true\"\n (workflowChoiceClick)=\"onWorkflowChoiceClick($event)\"\n></bsu-fundamental-dynamic-form>\n}\n", styles: [":host{display:block;width:100%;min-height:100%}:host.fullscreen{position:fixed;top:0}.workflow-buttons{display:flex;margin-top:5px;padding:5px}\n"], dependencies: [{ kind: "component", type: i4.FundamentalDynamicFormComponent, selector: "bsu-fundamental-dynamic-form", inputs: ["breadCrumbs", "toolbarVisible", "toolbarItems", "layoutActions", "layout94", "parameters", "workflowPanelUi", "context", "title", "subtitle", "description", "facetList", "fieldDict", "removeHeaderBorder", "removeContentPadding", "isMobile", "mo", "avatar", "rtl", "hideTitle", "hideClose", "hidePin", "fullscreen", "mask", "canSend", "contentIsPage", "contentDensity", "deviceSize", "dirValue", "landscape", "standalone", "modernTabs", "formVisibilityStatus", "layoutGridCol", "colLg", "colXl", "colMd"], outputs: ["toolbarClick", "workflowChoiceClick", "close", "fullscreenRequest"] }, { kind: "component", type: i5.BarsaSimpleFormComponent, selector: "bsu-barsa-simple-form", inputs: ["breadCrumbs", "toolbarVisible", "toolbarItems", "layoutActions", "layout94", "parameters", "workflowPanelUi", "context", "title", "subtitle", "description", "facetList", "fieldDict", "removeHeaderBorder", "removeContentPadding", "isMobile", "mo", "avatar", "rtl", "isModal", "hideTitle", "hideClose", "hidePin", "mask", "canSend", "contentIsPage", "contentDensity", "deviceSize", "dirValue", "landscape", "standalone", "modernTabs", "workflowButtons", "layoutGridCol", "colLg", "colXl", "colMd", "formVisibilityStatus"], outputs: ["toolbarClick", "workflowChoiceClick", "close"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TlbButtonsPipe, name: "tlbButtons" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
82
+ }
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: UiFormPanelComponent, decorators: [{
84
+ type: Component,
85
+ args: [{ selector: 'bsu-ui-form-panel', changeDetection: ChangeDetectionStrategy.OnPush, providers: [FormPanelService], template: "@if (isSearchPanel || (isSimple$ | async) || isSubForm || isModal || isFormReport) {\n<bsu-barsa-simple-form\n [canSend]=\"(canSend$ | async) === true\"\n [formVisibilityStatus]=\"formVisibilityStatus\"\n [removeContentPadding]=\"(headerRemoveContentPadding$ | async)!!\"\n [breadCrumbs]=\"breadCrumbs$ | async\"\n [description]=\"(headerDescription$ | async)!!\"\n [hideClose]=\"(hideClose$ | async)!!\"\n [hideTitle]=\"(hideTitle$ | async)!!\"\n [hidePin]=\"(hidePin$ | async)!!\"\n [title]=\"(title$ | async)!!\"\n [isModal]=\"isModal\"\n [subtitle]=\"(headerSubtitle$ | async)!!\"\n [toolbarItems]=\"extendToolbarItems$ | async | tlbButtons: 'inFooter':false\"\n [layoutActions]=\"extendToolbarItems$ | async | tlbButtons: 'inFooter':true\"\n [toolbarVisible]=\"(toolbarVisible$ | async)!!\"\n [facetList]=\"(headerLayout$ | async)?.FacetList2\"\n [parameters]=\"parameters\"\n [workflowPanelUi]=\"workflowPanelUi$ | async\"\n [workflowButtons]=\"(workflowButtons$ | async)!!\"\n [isMobile]=\"isMobile\"\n [layout94]=\"extendLayout94$ | async\"\n [layoutGridCol]=\"+(parameters?.LayoutGridCol || 12)\"\n [colLg]=\"+(parameters?.ColLg || 0)\"\n [colXl]=\"+(parameters?.ColXl || 0)\"\n [colMd]=\"+(parameters?.ColMd || 0)\"\n [rtl]=\"(rtl$ | async)!!\"\n [mask]=\"(mask$ | async)!!\"\n [mo]=\"(mo$ | async)!!\"\n [dirValue]=\"(dirValue$ | async)!!\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [contentDensity]=\"(contentDensity$ | async)!!\"\n [modernTabs]=\"(modernTabs$ | async)!!\"\n [avatar]=\"(avatar$ | async)!!\"\n [fieldDict]=\"(fieldDict$ | async)!!\"\n [landscape]=\"(landscape$ | async) === true\"\n [standalone]=\"(standalone$ | async) === true\"\n (close)=\"onClose()\"\n (toolbarClick)=\"onToolbarClick($event)\"\n [contentIsPage]=\"parameters?.ContentIsPage === true\"\n (workflowChoiceClick)=\"onWorkflowChoiceClick($event)\"\n></bsu-barsa-simple-form>\n} @else {\n<bsu-fundamental-dynamic-form\n [style.position]=\"(mask$ | async) ? 'relative' : null\"\n [canSend]=\"(canSend$ | async) === true\"\n [formVisibilityStatus]=\"formVisibilityStatus\"\n [removeContentPadding]=\"(headerRemoveContentPadding$ | async)!!\"\n [breadCrumbs]=\"breadCrumbs$ | async\"\n [description]=\"(headerDescription$ | async)!!\"\n [hideClose]=\"(hideClose$ | async)!!\"\n [hideTitle]=\"(hideTitle$ | async)!!\"\n [hidePin]=\"(hidePin$ | async)!!\"\n [title]=\"(title$ | async)!!\"\n [subtitle]=\"(headerSubtitle$ | async)!!\"\n [toolbarItems]=\"extendToolbarItems$ | async | tlbButtons: 'inFooter':false\"\n [layoutActions]=\"extendToolbarItems$ | async | tlbButtons: 'inFooter':true\"\n [toolbarVisible]=\"(toolbarVisible$ | async)!!\"\n [facetList]=\"(headerLayout$ | async)?.FacetList2\"\n [parameters]=\"parameters\"\n [fullscreen]=\"fullscreen\"\n [workflowPanelUi]=\"workflowPanelUi$ | async\"\n [isMobile]=\"isMobile\"\n [layout94]=\"extendLayout94$ | async\"\n [rtl]=\"(rtl$ | async)!!\"\n [layoutGridCol]=\"+(parameters?.LayoutGridCol || 12)\"\n [colLg]=\"+(parameters?.ColLg || 0)\"\n [colXl]=\"+(parameters?.ColXl || 0)\"\n [colMd]=\"+(parameters?.ColMd || 0)\"\n [mask]=\"(mask$ | async)!!\"\n [mo]=\"(mo$ | async)!!\"\n [dirValue]=\"(dirValue$ | async)!!\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [contentDensity]=\"(contentDensity$ | async)!!\"\n [modernTabs]=\"(modernTabs$ | async)!!\"\n [avatar]=\"(avatar$ | async)!!\"\n [fieldDict]=\"(fieldDict$ | async)!!\"\n [landscape]=\"(landscape$ | async) === true\"\n [standalone]=\"(standalone$ | async) === true\"\n (fullscreenRequest)=\"onFullscreen()\"\n (close)=\"onClose()\"\n (toolbarClick)=\"onToolbarClick($event)\"\n [contentIsPage]=\"parameters?.ContentIsPage === true\"\n (workflowChoiceClick)=\"onWorkflowChoiceClick($event)\"\n></bsu-fundamental-dynamic-form>\n}\n", styles: [":host{display:block;width:100%;min-height:100%}:host.fullscreen{position:fixed;top:0}.workflow-buttons{display:flex;margin-top:5px;padding:5px}\n"] }]
86
+ }], ctorParameters: () => [{ type: i1.BreadcrumbService }, { type: i1.PortalService }, { type: i2.Router }, { type: i0.ElementRef }, { type: i1.ControlUiPipe }, { type: i1.FormPanelService, decorators: [{
87
+ type: Self
88
+ }] }, { type: i2.ActivatedRoute }, { type: i0.ChangeDetectorRef }, { type: i3.ContentDensityService }], propDecorators: { _typeDefName: [{
89
+ type: HostBinding,
90
+ args: ['attr.typeDefName']
91
+ }] } });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZm9ybS1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS1mb3JtLXBhbmVsL3VpLWZvcm0tcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZm9ybS1wYW5lbC91aS1mb3JtLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFdBQVcsRUFFWCxJQUFJLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFjLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHbEQsT0FBTyxFQUNILGlCQUFpQixFQUdqQixnQkFBZ0IsRUFHaEIsNkJBQTZCLEVBQzdCLGVBQWUsRUFDZixRQUFRLEVBSVgsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7QUFTOUIsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGlCQUFpQjtJQVl2RCxZQUNjLGtCQUFxQyxFQUNyQyxjQUE2QixFQUM3QixPQUFlLEVBQ2YsR0FBZSxFQUNmLGNBQTZCLEVBQ3JCLGlCQUFtQyxFQUMzQyxlQUErQixFQUMvQixJQUF1QixFQUN2QixzQkFBNkM7UUFFdkQsS0FBSyxDQUNELGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsT0FBTyxFQUNQLEdBQUcsRUFDSCxjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixJQUFJLENBQ1AsQ0FBQztRQW5CUSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3JDLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQ2YsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDckIsc0JB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OzJGRG5EYSxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0ksbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxnQkFBZ0IsQ0FBQzs7MEJBb0J4QixJQUFJOzBJQWpCd0IsWUFBWTtzQkFBNUMsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIE9uSW5pdCxcbiAgICBTZWxmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHksIENvbnRlbnREZW5zaXR5U2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgRm9ybUJhc2VDb21wb25lbnQsXG4gICAgUG9ydGFsU2VydmljZSxcbiAgICBCcmVhZENydW1iSW5mbyxcbiAgICBGb3JtUGFuZWxTZXJ2aWNlLFxuICAgIEJyZWFkY3J1bWJTZXJ2aWNlLFxuICAgIENvbnRyb2xVaVBpcGUsXG4gICAgRmluZExheW91dFNldHRpbmdGcm9tTGF5b3V0OTQsXG4gICAgRmluZFRvb2xiYXJJdGVtLFxuICAgIEJhcnNhQXBpLFxuICAgIE1ldGFvYmplY3REYXRhTW9kZWwsXG4gICAgRWpyYXlPbGdvLFxuICAgIE1vRm9yUmVwb3J0TW9kZWxcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS11aS1mb3JtLXBhbmVsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktZm9ybS1wYW5lbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktZm9ybS1wYW5lbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW0Zvcm1QYW5lbFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFVpRm9ybVBhbmVsQ29tcG9uZW50IGV4dGVuZHMgRm9ybUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBIb3N0QmluZGluZygnYXR0ci50eXBlRGVmTmFtZScpIF90eXBlRGVmTmFtZSA9ICcnO1xuXG4gICAgYnJlYWRDcnVtYnMkOiBPYnNlcnZhYmxlPEJyZWFkQ3J1bWJJbmZvW10+O1xuICAgIGNvbnRlbnREZW5zaXR5JDogT2JzZXJ2YWJsZTxDb250ZW50RGVuc2l0eT47XG4gICAgZGV2aWNlU2l6ZSQ6IE9ic2VydmFibGU8J3MnIHwgJ20nIHwgJ2wnIHwgJ3hsJz47XG4gICAgZGlyVmFsdWUkOiBPYnNlcnZhYmxlPCdydGwnIHwgJ2x0cic+O1xuICAgIHJ0bCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgY2FuU2VuZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgZXh0ZW5kTGF5b3V0OTQkOiBPYnNlcnZhYmxlPGFueT47XG4gICAgZXh0ZW5kVG9vbGJhckl0ZW1zJDogT2JzZXJ2YWJsZTxhbnlbXT47XG4gICAgcGFyYW1ldGVyczogRm9ybVBhbmVsU2V0dGluZztcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIF9icmVhZGNydW1iU2VydmljZTogQnJlYWRjcnVtYlNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBfcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIF9yb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJvdGVjdGVkIF9lbDogRWxlbWVudFJlZixcbiAgICAgICAgcHJvdGVjdGVkIF9jb250cm9sVWlQaXBlOiBDb250cm9sVWlQaXBlLFxuICAgICAgICBAU2VsZigpIHByb3RlY3RlZCBfZm9ybVBhbmVsU2VydmljZTogRm9ybVBhbmVsU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByb3RlY3RlZCBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJvdGVjdGVkIF9jb250ZW50RGVuc2l0eVNlcnZpY2U6IENvbnRlbnREZW5zaXR5U2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcihcbiAgICAgICAgICAgIF9icmVhZGNydW1iU2VydmljZSxcbiAgICAgICAgICAgIF9wb3J0YWxTZXJ2aWNlLFxuICAgICAgICAgICAgX3JvdXRlcixcbiAgICAgICAgICAgIF9lbCxcbiAgICAgICAgICAgIF9jb250cm9sVWlQaXBlLFxuICAgICAgICAgICAgX2Zvcm1QYW5lbFNlcnZpY2UsXG4gICAgICAgICAgICBfYWN0aXZhdGVkUm91dGUsXG4gICAgICAgICAgICBfY2RyXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuYnJlYWRDcnVtYnMkID0gX2JyZWFkY3J1bWJTZXJ2aWNlLmJyZWFkY3J1bWJzJDtcbiAgICAgICAgdGhpcy5jb250ZW50RGVuc2l0eSQgPSBfY29udGVudERlbnNpdHlTZXJ2aWNlLmNvbnRlbnREZW5zaXR5O1xuICAgICAgICB0aGlzLmRldmljZVNpemUkID0gX3BvcnRhbFNlcnZpY2UuZGV2aWNlU2l6ZSQ7XG4gICAgICAgIHRoaXMuZGlyVmFsdWUkID0gX3BvcnRhbFNlcnZpY2UuZGlyVmFsdWUkO1xuICAgICAgICB0aGlzLnJ0bCQgPSBfcG9ydGFsU2VydmljZS5ydGwkO1xuICAgICAgICB0aGlzLmNhblNlbmQkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5jYW5TZW5kJDtcblxuICAgICAgICB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLm1vJC5zdWJzY3JpYmUoKGMpID0+ICh0aGlzLl90eXBlRGVmTmFtZSA9IGM/LiRUeXBlRGVmTmFtZSA/PyAnJykpO1xuICAgIH1cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgY29uc3QgcGFyYW1ldGVycyA9IHRoaXMucGFyYW1ldGVycztcbiAgICAgICAgdGhpcy5leHRlbmRMYXlvdXQ5NCQgPSB0aGlzLmxheW91dDk0JC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxuICAgICAgICAgICAgdGFwKChsYXlvdXQ5NCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwYXJhbWV0ZXJzPy5Gb3JtTGF5b3V0SXRlbXNTZXR0aW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnMuRm9ybUxheW91dEl0ZW1zU2V0dGluZy5Nb0RhdGFMaXN0LmZvckVhY2goKHNldHRpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxheW91dEl0ZW0gPSBGaW5kTGF5b3V0U2V0dGluZ0Zyb21MYXlvdXQ5NChsYXlvdXQ5NCwgc2V0dGluZy5UaXRsZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobGF5b3V0SXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsYXlvdXRJdGVtLlR5cGUgPT09ICdMYXlvdXRDb250cm9sSXRlbScgJiYgbGF5b3V0SXRlbS5GaWVsZFVpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhcnNhQXBpLkNvbW1vbi5NZXJnZXIuRmFzdE1lcmdlKGxheW91dEl0ZW0uRmllbGRVaS5TZXR0aW5nLCBzZXR0aW5nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uTWVyZ2VyLkZhc3RNZXJnZShsYXlvdXRJdGVtLCBzZXR0aW5nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZXh0ZW5kVG9vbGJhckl0ZW1zJCA9IHRoaXMudG9vbGJhckl0ZW1zJC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxuICAgICAgICAgICAgdGFwKCh0b29sYmFySXRlbXMpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocGFyYW1ldGVycz8uRm9ybUxheW91dEl0ZW1zU2V0dGluZykge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzLkZvcm1MYXlvdXRJdGVtc1NldHRpbmcuTW9EYXRhTGlzdC5mb3JFYWNoKChzZXR0aW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0b29sYmFySXRlbSA9IEZpbmRUb29sYmFySXRlbSh0b29sYmFySXRlbXMsIHNldHRpbmcuVGl0bGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRvb2xiYXJJdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLk1lcmdlci5GYXN0TWVyZ2UodG9vbGJhckl0ZW0sIHNldHRpbmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtZXRlcnM/LlNhdmVCdXR0b25DdXN0b21VaT8uU2VsZWN0b3IpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2F2ZUl0ZW0gPSBGaW5kVG9vbGJhckl0ZW0odG9vbGJhckl0ZW1zLCAnU2F2ZUFuZENsb3NlJywgJ2l0ZW1JZCcpO1xuICAgICAgICAgICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uTWVyZ2VyLkZhc3RNZXJnZShzYXZlSXRlbSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgRGF0YTogeyBDdXN0b21VaTogcGFyYW1ldGVycy5TYXZlQnV0dG9uQ3VzdG9tVWkgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtZXRlcnM/Lk9rQnV0dG9uQ3VzdG9tVWk/LlNlbGVjdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9rSXRlbSA9IEZpbmRUb29sYmFySXRlbSh0b29sYmFySXRlbXMsICdPaycsICdpdGVtSWQnKTtcbiAgICAgICAgICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLk1lcmdlci5GYXN0TWVyZ2Uob2tJdGVtLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBEYXRhOiB7IEN1c3RvbVVpOiBwYXJhbWV0ZXJzLk9rQnV0dG9uQ3VzdG9tVWkgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtZXRlcnM/LkNhbmNlbEJ1dHRvbkN1c3RvbVVpPy5TZWxlY3Rvcikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjYW5jZWxJdGVtID0gRmluZFRvb2xiYXJJdGVtKHRvb2xiYXJJdGVtcywgJ0NhbmNlbCcsICdpdGVtSWQnKTtcbiAgICAgICAgICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLk1lcmdlci5GYXN0TWVyZ2UoY2FuY2VsSXRlbSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgRGF0YTogeyBDdXN0b21VaTogcGFyYW1ldGVycy5DYW5jZWxCdXR0b25DdXN0b21VaSB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZnVsbHNjcmVlbiA9IHBhcmFtZXRlcnM/LkZ1bGxzY3JlZW5EZWZhdWx0ID09PSB0cnVlICYmICF0aGlzLmlzTW9kYWw7XG4gICAgfVxufVxuaW50ZXJmYWNlIEZvcm1QYW5lbFNldHRpbmcgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICBMYXlvdXRDb21wb25lbnQ6IEVqcmF5T2xnbztcbiAgICBIZWFkZXJDb21wb25lbnQ6IEVqcmF5T2xnbztcbiAgICBGb290ZXJDb21wb25lbnQ6IEVqcmF5T2xnbztcbiAgICBTYXZlQnV0dG9uQ3VzdG9tVWk6IEVqcmF5T2xnbztcbiAgICBPa0J1dHRvbkN1c3RvbVVpOiBFanJheU9sZ287XG4gICAgQ2FuY2VsQnV0dG9uQ3VzdG9tVWk6IEVqcmF5T2xnbztcbiAgICBGb3JtTGF5b3V0SXRlbXNTZXR0aW5nOiBNb0ZvclJlcG9ydE1vZGVsO1xuICAgIEZ1bGxzY3JlZW5EZWZhdWx0OiBib29sZWFuO1xuICAgIENhbkZ1bGxzY3JlZW46IGJvb2xlYW47XG4gICAgSXNTaW1wbGU6IGJvb2xlYW47XG4gICAgSXNNb2RhbDogYm9vbGVhbjtcbiAgICBDc3NTdHlsZXM6IHN0cmluZztcbiAgICBDYW5Nb3ZlOiBib29sZWFuO1xuICAgIENhblJlc2l6ZTogYm9vbGVhbjtcbiAgICBDb250ZW50SXNQYWdlOiBib29sZWFuO1xuICAgIExheW91dEdyaWRDb2w6IG51bWJlcjtcbiAgICBDb2xMZzogbnVtYmVyO1xuICAgIENvbFhsOiBudW1iZXI7XG4gICAgQ29sTWQ6IG51bWJlcjtcbn1cbiIsIkBpZiAoaXNTZWFyY2hQYW5lbCB8fCAoaXNTaW1wbGUkIHwgYXN5bmMpIHx8IGlzU3ViRm9ybSB8fCBpc01vZGFsIHx8IGlzRm9ybVJlcG9ydCkge1xuPGJzdS1iYXJzYS1zaW1wbGUtZm9ybVxuICAgIFtjYW5TZW5kXT1cIihjYW5TZW5kJCB8IGFzeW5jKSA9PT0gdHJ1ZVwiXG4gICAgW2Zvcm1WaXNpYmlsaXR5U3RhdHVzXT1cImZvcm1WaXNpYmlsaXR5U3RhdHVzXCJcbiAgICBbcmVtb3ZlQ29udGVudFBhZGRpbmddPVwiKGhlYWRlclJlbW92ZUNvbnRlbnRQYWRkaW5nJCB8IGFzeW5jKSEhXCJcbiAgICBbYnJlYWRDcnVtYnNdPVwiYnJlYWRDcnVtYnMkIHwgYXN5bmNcIlxuICAgIFtkZXNjcmlwdGlvbl09XCIoaGVhZGVyRGVzY3JpcHRpb24kIHwgYXN5bmMpISFcIlxuICAgIFtoaWRlQ2xvc2VdPVwiKGhpZGVDbG9zZSQgfCBhc3luYykhIVwiXG4gICAgW2hpZGVUaXRsZV09XCIoaGlkZVRpdGxlJCB8IGFzeW5jKSEhXCJcbiAgICBbaGlkZVBpbl09XCIoaGlkZVBpbiQgfCBhc3luYykhIVwiXG4gICAgW3RpdGxlXT1cIih0aXRsZSQgfCBhc3luYykhIVwiXG4gICAgW2lzTW9kYWxdPVwiaXNNb2RhbFwiXG4gICAgW3N1YnRpdGxlXT1cIihoZWFkZXJTdWJ0aXRsZSQgfCBhc3luYykhIVwiXG4gICAgW3Rvb2xiYXJJdGVtc109XCJleHRlbmRUb29sYmFySXRlbXMkIHwgYXN5bmMgfCB0bGJCdXR0b25zOiAnaW5Gb290ZXInOmZhbHNlXCJcbiAgICBbbGF5b3V0QWN0aW9uc109XCJleHRlbmRUb29sYmFySXRlbXMkIHwgYXN5bmMgfCB0bGJCdXR0b25zOiAnaW5Gb290ZXInOnRydWVcIlxuICAgIFt0b29sYmFyVmlzaWJsZV09XCIodG9vbGJhclZpc2libGUkIHwgYXN5bmMpISFcIlxuICAgIFtmYWNldExpc3RdPVwiKGhlYWRlckxheW91dCQgfCBhc3luYyk/LkZhY2V0TGlzdDJcIlxuICAgIFtwYXJhbWV0ZXJzXT1cInBhcmFtZXRlcnNcIlxuICAgIFt3b3JrZmxvd1BhbmVsVWldPVwid29ya2Zsb3dQYW5lbFVpJCB8IGFzeW5jXCJcbiAgICBbd29ya2Zsb3dCdXR0b25zXT1cIih3b3JrZmxvd0J1dHRvbnMkIHwgYXN5bmMpISFcIlxuICAgIFtpc01vYmlsZV09XCJpc01vYmlsZVwiXG4gICAgW2xheW91dDk0XT1cImV4dGVuZExheW91dDk0JCB8IGFzeW5jXCJcbiAgICBbbGF5b3V0R3JpZENvbF09XCIrKHBhcmFtZXRlcnM/LkxheW91dEdyaWRDb2wgfHwgMTIpXCJcbiAgICBbY29sTGddPVwiKyhwYXJhbWV0ZXJzPy5Db2xMZyB8fCAwKVwiXG4gICAgW2NvbFhsXT1cIisocGFyYW1ldGVycz8uQ29sWGwgfHwgMClcIlxuICAgIFtjb2xNZF09XCIrKHBhcmFtZXRlcnM/LkNvbE1kIHx8IDApXCJcbiAgICBbcnRsXT1cIihydGwkIHwgYXN5bmMpISFcIlxuICAgIFttYXNrXT1cIihtYXNrJCB8IGFzeW5jKSEhXCJcbiAgICBbbW9dPVwiKG1vJCB8IGFzeW5jKSEhXCJcbiAgICBbZGlyVmFsdWVdPVwiKGRpclZhbHVlJCB8IGFzeW5jKSEhXCJcbiAgICBbZGV2aWNlU2l6ZV09XCIoZGV2aWNlU2l6ZSQgfCBhc3luYykhIVwiXG4gICAgW2NvbnRlbnREZW5zaXR5XT1cIihjb250ZW50RGVuc2l0eSQgfCBhc3luYykhIVwiXG4gICAgW21vZGVyblRhYnNdPVwiKG1vZGVyblRhYnMkIHwgYXN5bmMpISFcIlxuICAgIFthdmF0YXJdPVwiKGF2YXRhciQgfCBhc3luYykhIVwiXG4gICAgW2ZpZWxkRGljdF09XCIoZmllbGREaWN0JCB8IGFzeW5jKSEhXCJcbiAgICBbbGFuZHNjYXBlXT1cIihsYW5kc2NhcGUkIHwgYXN5bmMpID09PSB0cnVlXCJcbiAgICBbc3RhbmRhbG9uZV09XCIoc3RhbmRhbG9uZSQgfCBhc3luYykgPT09IHRydWVcIlxuICAgIChjbG9zZSk9XCJvbkNsb3NlKClcIlxuICAgICh0b29sYmFyQ2xpY2spPVwib25Ub29sYmFyQ2xpY2soJGV2ZW50KVwiXG4gICAgW2NvbnRlbnRJc1BhZ2VdPVwicGFyYW1ldGVycz8uQ29udGVudElzUGFnZSA9PT0gdHJ1ZVwiXG4gICAgKHdvcmtmbG93Q2hvaWNlQ2xpY2spPVwib25Xb3JrZmxvd0Nob2ljZUNsaWNrKCRldmVudClcIlxuPjwvYnN1LWJhcnNhLXNpbXBsZS1mb3JtPlxufSBAZWxzZSB7XG48YnN1LWZ1bmRhbWVudGFsLWR5bmFtaWMtZm9ybVxuICAgIFtzdHlsZS5wb3NpdGlvbl09XCIobWFzayQgfCBhc3luYykgPyAncmVsYXRpdmUnIDogbnVsbFwiXG4gICAgW2NhblNlbmRdPVwiKGNhblNlbmQkIHwgYXN5bmMpID09PSB0cnVlXCJcbiAgICBbZm9ybVZpc2liaWxpdHlTdGF0dXNdPVwiZm9ybVZpc2liaWxpdHlTdGF0dXNcIlxuICAgIFtyZW1vdmVDb250ZW50UGFkZGluZ109XCIoaGVhZGVyUmVtb3ZlQ29udGVudFBhZGRpbmckIHwgYXN5bmMpISFcIlxuICAgIFticmVhZENydW1ic109XCJicmVhZENydW1icyQgfCBhc3luY1wiXG4gICAgW2Rlc2NyaXB0aW9uXT1cIihoZWFkZXJEZXNjcmlwdGlvbiQgfCBhc3luYykhIVwiXG4gICAgW2hpZGVDbG9zZV09XCIoaGlkZUNsb3NlJCB8IGFzeW5jKSEhXCJcbiAgICBbaGlkZVRpdGxlXT1cIihoaWRlVGl0bGUkIHwgYXN5bmMpISFcIlxuICAgIFtoaWRlUGluXT1cIihoaWRlUGluJCB8IGFzeW5jKSEhXCJcbiAgICBbdGl0bGVdPVwiKHRpdGxlJCB8IGFzeW5jKSEhXCJcbiAgICBbc3VidGl0bGVdPVwiKGhlYWRlclN1YnRpdGxlJCB8IGFzeW5jKSEhXCJcbiAgICBbdG9vbGJhckl0ZW1zXT1cImV4dGVuZFRvb2xiYXJJdGVtcyQgfCBhc3luYyB8IHRsYkJ1dHRvbnM6ICdpbkZvb3Rlcic6ZmFsc2VcIlxuICAgIFtsYXlvdXRBY3Rpb25zXT1cImV4dGVuZFRvb2xiYXJJdGVtcyQgfCBhc3luYyB8IHRsYkJ1dHRvbnM6ICdpbkZvb3Rlcic6dHJ1ZVwiXG4gICAgW3Rvb2xiYXJWaXNpYmxlXT1cIih0b29sYmFyVmlzaWJsZSQgfCBhc3luYykhIVwiXG4gICAgW2ZhY2V0TGlzdF09XCIoaGVhZGVyTGF5b3V0JCB8IGFzeW5jKT8uRmFjZXRMaXN0MlwiXG4gICAgW3BhcmFtZXRlcnNdPVwicGFyYW1ldGVyc1wiXG4gICAgW2Z1bGxzY3JlZW5dPVwiZnVsbHNjcmVlblwiXG4gICAgW3dvcmtmbG93UGFuZWxVaV09XCJ3b3JrZmxvd1BhbmVsVWkkIHwgYXN5bmNcIlxuICAgIFtpc01vYmlsZV09XCJpc01vYmlsZVwiXG4gICAgW2xheW91dDk0XT1cImV4dGVuZExheW91dDk0JCB8IGFzeW5jXCJcbiAgICBbcnRsXT1cIihydGwkIHwgYXN5bmMpISFcIlxuICAgIFtsYXlvdXRHcmlkQ29sXT1cIisocGFyYW1ldGVycz8uTGF5b3V0R3JpZENvbCB8fCAxMilcIlxuICAgIFtjb2xMZ109XCIrKHBhcmFtZXRlcnM/LkNvbExnIHx8IDApXCJcbiAgICBbY29sWGxdPVwiKyhwYXJhbWV0ZXJzPy5Db2xYbCB8fCAwKVwiXG4gICAgW2NvbE1kXT1cIisocGFyYW1ldGVycz8uQ29sTWQgfHwgMClcIlxuICAgIFttYXNrXT1cIihtYXNrJCB8IGFzeW5jKSEhXCJcbiAgICBbbW9dPVwiKG1vJCB8IGFzeW5jKSEhXCJcbiAgICBbZGlyVmFsdWVdPVwiKGRpclZhbHVlJCB8IGFzeW5jKSEhXCJcbiAgICBbZGV2aWNlU2l6ZV09XCIoZGV2aWNlU2l6ZSQgfCBhc3luYykhIVwiXG4gICAgW2NvbnRlbnREZW5zaXR5XT1cIihjb250ZW50RGVuc2l0eSQgfCBhc3luYykhIVwiXG4gICAgW21vZGVyblRhYnNdPVwiKG1vZGVyblRhYnMkIHwgYXN5bmMpISFcIlxuICAgIFthdmF0YXJdPVwiKGF2YXRhciQgfCBhc3luYykhIVwiXG4gICAgW2ZpZWxkRGljdF09XCIoZmllbGREaWN0JCB8IGFzeW5jKSEhXCJcbiAgICBbbGFuZHNjYXBlXT1cIihsYW5kc2NhcGUkIHwgYXN5bmMpID09PSB0cnVlXCJcbiAgICBbc3RhbmRhbG9uZV09XCIoc3RhbmRhbG9uZSQgfCBhc3luYykgPT09IHRydWVcIlxuICAgIChmdWxsc2NyZWVuUmVxdWVzdCk9XCJvbkZ1bGxzY3JlZW4oKVwiXG4gICAgKGNsb3NlKT1cIm9uQ2xvc2UoKVwiXG4gICAgKHRvb2xiYXJDbGljayk9XCJvblRvb2xiYXJDbGljaygkZXZlbnQpXCJcbiAgICBbY29udGVudElzUGFnZV09XCJwYXJhbWV0ZXJzPy5Db250ZW50SXNQYWdlID09PSB0cnVlXCJcbiAgICAod29ya2Zsb3dDaG9pY2VDbGljayk9XCJvbldvcmtmbG93Q2hvaWNlQ2xpY2soJGV2ZW50KVwiXG4+PC9ic3UtZnVuZGFtZW50YWwtZHluYW1pYy1mb3JtPlxufVxuIl19