barsa-sap-ui 2.0.135 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/fesm2022/barsa-sap-ui.mjs +984 -957
  2. package/fesm2022/barsa-sap-ui.mjs.map +1 -1
  3. package/lib/barsa-sap-ui.module.d.ts +5 -4
  4. package/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.d.ts +3 -3
  5. package/lib/ly-tab-container/ly-tab-container.component.d.ts +2 -4
  6. package/lib/ly-tab-page/ly-tab-page.component.d.ts +2 -2
  7. package/lib/report-view-renderer.directive.d.ts +1 -1
  8. package/lib/ui-map/ui-map.component.d.ts +2 -0
  9. package/package.json +3 -5
  10. package/esm2022/barsa-sap-ui.mjs +0 -5
  11. package/esm2022/lib/apply-conditional-formmatings.directive.mjs +0 -89
  12. package/esm2022/lib/avatar-size.pipe.mjs +0 -40
  13. package/esm2022/lib/barsa-answer-card/barsa-answer-card.component.mjs +0 -41
  14. package/esm2022/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +0 -145
  15. package/esm2022/lib/barsa-bar-panel/barsa-bar-panel.component.mjs +0 -23
  16. package/esm2022/lib/barsa-base-panel/barsa-base-layout-panel.component.mjs +0 -29
  17. package/esm2022/lib/barsa-breadcrumbs/barsa-breadcrumbs.component.mjs +0 -24
  18. package/esm2022/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +0 -24
  19. package/esm2022/lib/barsa-card-row-payam/barsa-card-row-payam.component.mjs +0 -30
  20. package/esm2022/lib/barsa-cartable-form/barsa-cartable-form.component.mjs +0 -41
  21. package/esm2022/lib/barsa-cartable-template/barsa-cartable-template.component.mjs +0 -24
  22. package/esm2022/lib/barsa-chat/barsa-chat.component.mjs +0 -242
  23. package/esm2022/lib/barsa-chat/chat.model.mjs +0 -8
  24. package/esm2022/lib/barsa-chat-content/barsa-chat-content.component.mjs +0 -13
  25. package/esm2022/lib/barsa-chat-content-toolbar/barsa-chat-content-toolbar.component.mjs +0 -22
  26. package/esm2022/lib/barsa-chat-list/barsa-chat-list.component.mjs +0 -66
  27. package/esm2022/lib/barsa-chat-message/barsa-chat-message.component.mjs +0 -78
  28. package/esm2022/lib/barsa-chat-thread/barsa-chat-thread.component.mjs +0 -22
  29. package/esm2022/lib/barsa-chat-threads-list/barsa-chat-threads-list.component.mjs +0 -13
  30. package/esm2022/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.mjs +0 -15
  31. package/esm2022/lib/barsa-chip/barsa-chip.component.mjs +0 -72
  32. package/esm2022/lib/barsa-column-indicator/barsa-column-indicator.component.mjs +0 -23
  33. package/esm2022/lib/barsa-column-rownumber/barsa-column-rownumber.component.mjs +0 -14
  34. package/esm2022/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.mjs +0 -14
  35. package/esm2022/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.mjs +0 -26
  36. package/esm2022/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +0 -71
  37. package/esm2022/lib/barsa-dynamic-field/barsa-dynamic-field.component.mjs +0 -40
  38. package/esm2022/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.mjs +0 -61
  39. package/esm2022/lib/barsa-field-key-value/barsa-field-key-value.component.mjs +0 -45
  40. package/esm2022/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +0 -58
  41. package/esm2022/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.mjs +0 -27
  42. package/esm2022/lib/barsa-group-cartable/barsa-cartable-group.component.mjs +0 -94
  43. package/esm2022/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.mjs +0 -22
  44. package/esm2022/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.mjs +0 -37
  45. package/esm2022/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +0 -41
  46. package/esm2022/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +0 -29
  47. package/esm2022/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.mjs +0 -23
  48. package/esm2022/lib/barsa-modal/barsa-modal.component.mjs +0 -43
  49. package/esm2022/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +0 -83
  50. package/esm2022/lib/barsa-network-offline/barsa-network-offline.component.mjs +0 -57
  51. package/esm2022/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.mjs +0 -159
  52. package/esm2022/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.mjs +0 -17
  53. package/esm2022/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.mjs +0 -30
  54. package/esm2022/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.mjs +0 -14
  55. package/esm2022/lib/barsa-question-answer-form/barsa-question-answer-form.component.mjs +0 -34
  56. package/esm2022/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.mjs +0 -46
  57. package/esm2022/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.mjs +0 -79
  58. package/esm2022/lib/barsa-question-post/barsa-question-post.component.mjs +0 -30
  59. package/esm2022/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.mjs +0 -31
  60. package/esm2022/lib/barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component.mjs +0 -28
  61. package/esm2022/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +0 -102
  62. package/esm2022/lib/barsa-row-inline-actionlist/barsa-row-inline-actionlist.component.mjs +0 -26
  63. package/esm2022/lib/barsa-sap-ui-routing.module.mjs +0 -18
  64. package/esm2022/lib/barsa-sap-ui.module.mjs +0 -370
  65. package/esm2022/lib/barsa-search-form/barsa-search-form.component.mjs +0 -29
  66. package/esm2022/lib/barsa-simple-form/barsa-simple-form.component.mjs +0 -170
  67. package/esm2022/lib/barsa-tab-route-manager/barsa-tab-route-manager.component.mjs +0 -18
  68. package/esm2022/lib/barsa-table-column/barsa-table-column.component.mjs +0 -29
  69. package/esm2022/lib/barsa-table-header/barsa-table-header.component.mjs +0 -222
  70. package/esm2022/lib/barsa-table-row/barsa-table-row.component.mjs +0 -87
  71. package/esm2022/lib/barsa-tag-categories/barsa-tag-categories.component.mjs +0 -60
  72. package/esm2022/lib/barsa-tag-chip/barsa-tag-chip.component.mjs +0 -26
  73. package/esm2022/lib/barsa-tags-category-row/barsa-tags-category-row.component.mjs +0 -23
  74. package/esm2022/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.mjs +0 -37
  75. package/esm2022/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +0 -418
  76. package/esm2022/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.mjs +0 -36
  77. package/esm2022/lib/barsa-tree-item/barsa-tree-item.component.mjs +0 -153
  78. package/esm2022/lib/barsa-tree-item/node-has-one-depth-level.pipe.mjs +0 -19
  79. package/esm2022/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +0 -216
  80. package/esm2022/lib/blob-viewer/blob-viewer.component.mjs +0 -74
  81. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +0 -50
  82. package/esm2022/lib/captcha-field/captcha-field.component.mjs +0 -28
  83. package/esm2022/lib/card-item/card-item.component.mjs +0 -64
  84. package/esm2022/lib/card-view-content/card-view-content.component.mjs +0 -46
  85. package/esm2022/lib/col-renderer.directive.mjs +0 -46
  86. package/esm2022/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +0 -56
  87. package/esm2022/lib/column-matrix-renderer/matrix-value.pipe.mjs +0 -60
  88. package/esm2022/lib/column-renderer/column-renderer.component.mjs +0 -88
  89. package/esm2022/lib/constants.mjs +0 -425
  90. package/esm2022/lib/custom-date-time/custom-date-time.component.mjs +0 -41
  91. package/esm2022/lib/device-info-field-base.mjs +0 -23
  92. package/esm2022/lib/dialog-handler.directive.mjs +0 -28
  93. package/esm2022/lib/download-files.directive.mjs +0 -33
  94. package/esm2022/lib/dynamic-page-size.pipe.mjs +0 -26
  95. package/esm2022/lib/file-in-dialog/file-in-dialog.component.mjs +0 -44
  96. package/esm2022/lib/file-viewer/file-viewer.component.mjs +0 -47
  97. package/esm2022/lib/file-viewer-content/file-viewer-content.component.mjs +0 -71
  98. package/esm2022/lib/file-viewer-popover/file-viewer-popover.component.mjs +0 -39
  99. package/esm2022/lib/form-dialog/form-dialog.component.mjs +0 -171
  100. package/esm2022/lib/form-dialog-less/form-dialog-less.component.mjs +0 -50
  101. package/esm2022/lib/form-toolbar/form-toolbar.component.mjs +0 -62
  102. package/esm2022/lib/form-toolbar-button/form-toolbar-button.component.mjs +0 -45
  103. package/esm2022/lib/form-wizard/form-wizard.component.mjs +0 -21
  104. package/esm2022/lib/fullscreen-dialog.directive.mjs +0 -59
  105. package/esm2022/lib/fullscreen-files.directive.mjs +0 -42
  106. package/esm2022/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +0 -215
  107. package/esm2022/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +0 -215
  108. package/esm2022/lib/global-search/global-search.component.mjs +0 -27
  109. package/esm2022/lib/global-search-module/global-search-module.component.mjs +0 -29
  110. package/esm2022/lib/global-search-panel/global-search-panel.component.mjs +0 -25
  111. package/esm2022/lib/header-avatar/header-avatar.component.mjs +0 -18
  112. package/esm2022/lib/htree-create-new/htree-create-new.component.mjs +0 -48
  113. package/esm2022/lib/hyperlink/hyperlink.component.mjs +0 -23
  114. package/esm2022/lib/index.mjs +0 -543
  115. package/esm2022/lib/inline-save-and-cancel/inline-save-and-cancel.component.mjs +0 -32
  116. package/esm2022/lib/layout-actions/layout-actions.component.mjs +0 -70
  117. package/esm2022/lib/layout-control/layout-control.component.mjs +0 -302
  118. package/esm2022/lib/layout-wizard/layout-wizard.component.mjs +0 -183
  119. package/esm2022/lib/list-item/list-item.component.mjs +0 -34
  120. package/esm2022/lib/ly-empty-space/ly-empty-space.component.mjs +0 -42
  121. package/esm2022/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +0 -82
  122. package/esm2022/lib/ly-label/ly-label.component.mjs +0 -37
  123. package/esm2022/lib/ly-layout-container/ly-layout-container.component.mjs +0 -83
  124. package/esm2022/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +0 -17
  125. package/esm2022/lib/ly-layout-field-label/ly-layout-field-label.component.mjs +0 -24
  126. package/esm2022/lib/ly-layout-panel/ly-layout-panel.component.mjs +0 -83
  127. package/esm2022/lib/ly-line/ly-line.component.mjs +0 -56
  128. package/esm2022/lib/ly-simple-label/ly-simple-label.component.mjs +0 -22
  129. package/esm2022/lib/ly-tab-container/ly-tab-container.component.mjs +0 -52
  130. package/esm2022/lib/ly-tab-page/ly-tab-page.component.mjs +0 -44
  131. package/esm2022/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +0 -51
  132. package/esm2022/lib/manage-filters-report/manage-filters-report.component.mjs +0 -43
  133. package/esm2022/lib/mask/mask.component.mjs +0 -22
  134. package/esm2022/lib/message-strip/message-strip.component.mjs +0 -28
  135. package/esm2022/lib/models/grid-data-provider.mjs +0 -114
  136. package/esm2022/lib/models/grid-view.mjs +0 -2
  137. package/esm2022/lib/models/index.mjs +0 -2
  138. package/esm2022/lib/no-data/no-data.component.mjs +0 -31
  139. package/esm2022/lib/notification-item/notification-item.component.mjs +0 -57
  140. package/esm2022/lib/notification-popup.service.mjs +0 -92
  141. package/esm2022/lib/object-status-icon.pipe.mjs +0 -26
  142. package/esm2022/lib/progress-indicator/progress-indicator.component.mjs +0 -18
  143. package/esm2022/lib/report-navigator/report-navigator.component.mjs +0 -68
  144. package/esm2022/lib/report-new-top-form/report-new-top-form.component.mjs +0 -60
  145. package/esm2022/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +0 -35
  146. package/esm2022/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +0 -97
  147. package/esm2022/lib/report-search-panel-save/report-search-panel-save.component.mjs +0 -88
  148. package/esm2022/lib/report-tree-base.mjs +0 -386
  149. package/esm2022/lib/report-view-renderer.directive.mjs +0 -385
  150. package/esm2022/lib/responsive-toolbar/responsive-toolbar.component.mjs +0 -50
  151. package/esm2022/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +0 -84
  152. package/esm2022/lib/rich-text-static/rich-text-static.component.mjs +0 -72
  153. package/esm2022/lib/sap-font-class.pipe.mjs +0 -29
  154. package/esm2022/lib/sap-font.pipe.mjs +0 -29
  155. package/esm2022/lib/sap-size.pipe.mjs +0 -27
  156. package/esm2022/lib/sap-ui-report-base.component.mjs +0 -805
  157. package/esm2022/lib/search-panel/search-panel.component.mjs +0 -63
  158. package/esm2022/lib/static-text/static-text.component.mjs +0 -15
  159. package/esm2022/lib/table-th.directive.mjs +0 -86
  160. package/esm2022/lib/title/title.component.mjs +0 -15
  161. package/esm2022/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.mjs +0 -34
  162. package/esm2022/lib/ui-bpmn-viewer/ui-bpmn-viewer.component.mjs +0 -33
  163. package/esm2022/lib/ui-button/ui-button.component.mjs +0 -32
  164. package/esm2022/lib/ui-calendar/ui-calendar.component.mjs +0 -53
  165. package/esm2022/lib/ui-card-view/ui-card-view.component.mjs +0 -57
  166. package/esm2022/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +0 -42
  167. package/esm2022/lib/ui-check-box/ui-check-box.component.mjs +0 -39
  168. package/esm2022/lib/ui-color-ui/ui-color-ui.component.mjs +0 -50
  169. package/esm2022/lib/ui-container-with-button/ui-container-with-button.component.mjs +0 -38
  170. package/esm2022/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +0 -191
  171. package/esm2022/lib/ui-date-time/ui-date-time.component.mjs +0 -150
  172. package/esm2022/lib/ui-editable-grid/ui-editable-grid.component.mjs +0 -110
  173. package/esm2022/lib/ui-exception-form/ui-exception-form.component.mjs +0 -53
  174. package/esm2022/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +0 -121
  175. package/esm2022/lib/ui-form-panel/ui-form-panel.component.mjs +0 -100
  176. package/esm2022/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +0 -32
  177. package/esm2022/lib/ui-graph/ui-graph.component.mjs +0 -17
  178. package/esm2022/lib/ui-grid/ui-grid.component.mjs +0 -25
  179. package/esm2022/lib/ui-grid-columns/ui-grid-columns.component.mjs +0 -43
  180. package/esm2022/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +0 -66
  181. package/esm2022/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +0 -75
  182. package/esm2022/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +0 -58
  183. package/esm2022/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +0 -123
  184. package/esm2022/lib/ui-html-viewer/ui-html-viewer.component.mjs +0 -16
  185. package/esm2022/lib/ui-info-bar-panel/ui-info-bar-panel.component.mjs +0 -11
  186. package/esm2022/lib/ui-label/ui-label.component.mjs +0 -12
  187. package/esm2022/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +0 -379
  188. package/esm2022/lib/ui-list-view/ui-list-view.component.mjs +0 -84
  189. package/esm2022/lib/ui-map/ui-map.component.mjs +0 -58
  190. package/esm2022/lib/ui-matrix-view/ui-matrix-view.component.mjs +0 -124
  191. package/esm2022/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +0 -19
  192. package/esm2022/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.mjs +0 -14
  193. package/esm2022/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +0 -55
  194. package/esm2022/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +0 -429
  195. package/esm2022/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +0 -28
  196. package/esm2022/lib/ui-multi-select-card/ui-multi-select-card.component.mjs +0 -37
  197. package/esm2022/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.mjs +0 -59
  198. package/esm2022/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +0 -93
  199. package/esm2022/lib/ui-multi-select-radio/ui-multi-select-radio.component.mjs +0 -36
  200. package/esm2022/lib/ui-multi-select-slider/ui-multi-select-slider.component.mjs +0 -56
  201. package/esm2022/lib/ui-multi-select-smile/ui-multi-select-smile.component.mjs +0 -28
  202. package/esm2022/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +0 -33
  203. package/esm2022/lib/ui-num-int-slider/ui-num-int-slider.component.mjs +0 -27
  204. package/esm2022/lib/ui-num-int-ui/ui-num-int-ui.component.mjs +0 -21
  205. package/esm2022/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +0 -268
  206. package/esm2022/lib/ui-picture-file/ui-picture-file.component.mjs +0 -101
  207. package/esm2022/lib/ui-pictures-info/ui-pictures-info.component.mjs +0 -261
  208. package/esm2022/lib/ui-radio-group/ui-radio-group.component.mjs +0 -48
  209. package/esm2022/lib/ui-read-only-field/ui-read-only-field.component.mjs +0 -36
  210. package/esm2022/lib/ui-report-container/ui-report-container.component.mjs +0 -46
  211. package/esm2022/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.mjs +0 -24
  212. package/esm2022/lib/ui-simple-combo/ui-simple-combo.component.mjs +0 -55
  213. package/esm2022/lib/ui-single-picture/ui-single-picture.component.mjs +0 -36
  214. package/esm2022/lib/ui-switch-button/ui-switch-button.component.mjs +0 -20
  215. package/esm2022/lib/ui-table-view/ui-table-view.component.mjs +0 -289
  216. package/esm2022/lib/ui-text-area/ui-text-area.component.mjs +0 -49
  217. package/esm2022/lib/ui-text-field/ui-text-field.component.mjs +0 -52
  218. package/esm2022/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.mjs +0 -48
  219. package/esm2022/lib/ui-time-span/ui-time-span.component.mjs +0 -24
  220. package/esm2022/lib/ui-tinymce/ui-tinymce.component.mjs +0 -53
  221. package/esm2022/lib/ui-tree/ui-tree.component.mjs +0 -114
  222. package/esm2022/lib/ui-tree-view/ui-tree-view.component.mjs +0 -100
  223. package/esm2022/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +0 -23
  224. package/esm2022/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +0 -306
  225. package/esm2022/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +0 -25
  226. package/esm2022/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +0 -93
  227. package/esm2022/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +0 -119
  228. package/esm2022/lib/ul-notify-popup/ul-notify-popup.component.mjs +0 -32
  229. package/esm2022/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +0 -48
  230. package/esm2022/lib/ulv-column-settings/ulv-column-settings.component.mjs +0 -53
  231. package/esm2022/lib/ulv-context-menu/ulv-context-menu.component.mjs +0 -114
  232. package/esm2022/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +0 -43
  233. package/esm2022/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +0 -196
  234. package/esm2022/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +0 -44
  235. package/esm2022/lib/ulv-paging/ulv-paging.component.mjs +0 -84
  236. package/esm2022/lib/ulv-selection/ulv-selection.component.mjs +0 -65
  237. package/esm2022/lib/ulv-settings/ulv-settings.component.mjs +0 -116
  238. package/esm2022/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +0 -54
  239. package/esm2022/lib/ulv-toolbar/ulv-toolbar.component.mjs +0 -174
  240. package/esm2022/lib/upload-file-status.pipe.mjs +0 -28
  241. package/esm2022/lib/util-chat-time-badge.pipe.mjs +0 -18
  242. package/esm2022/lib/util-date-to-hh-mm.pipe.mjs +0 -23
  243. package/esm2022/lib/wizard-layout.directive.mjs +0 -103
  244. package/esm2022/public-api.mjs +0 -233
@@ -1,153 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, Renderer2, inject } from '@angular/core';
2
- import { BaseViewItemPropsComponent, BarsaApi } from 'barsa-novin-ray-core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/forms";
5
- import * as i2 from "barsa-novin-ray-core";
6
- import * as i3 from "@angular/cdk/drag-drop";
7
- import * as i4 from "@fundamental-ngx/core/content-density";
8
- import * as i5 from "@fundamental-ngx/core/busy-indicator";
9
- import * as i6 from "@fundamental-ngx/core/button";
10
- import * as i7 from "@fundamental-ngx/core/checkbox";
11
- import * as i8 from "@fundamental-ngx/core/icon";
12
- import * as i9 from "@fundamental-ngx/core/list";
13
- import * as i10 from "../ulv-context-menu/ulv-context-menu.component";
14
- import * as i11 from "../htree-create-new/htree-create-new.component";
15
- import * as i12 from "../barsa-row-inline-actionlist/barsa-row-inline-actionlist.component";
16
- import * as i13 from "../apply-conditional-formmatings.directive";
17
- export class BarsaTreeItemComponent extends BaseViewItemPropsComponent {
18
- constructor() {
19
- super(...arguments);
20
- this.hasArrowIcon = true;
21
- /* eslint-disable */
22
- this.createNew = new EventEmitter();
23
- this.select = new EventEmitter();
24
- this.checkChange = new EventEmitter();
25
- this.viewClick = new EventEmitter();
26
- this.loadChildren = new EventEmitter();
27
- this.dragMoved = new EventEmitter();
28
- this.appComponentIcon = null;
29
- this.appComponentIconColor = null;
30
- this.rowBtns = [
31
- { Icon: 'add', Action: 'console.log("add btn clicked")' },
32
- {
33
- Icon: 'delete',
34
- Action: 'console.log("delete btn clicked")'
35
- }
36
- ];
37
- this._renderer2 = inject(Renderer2);
38
- }
39
- ngOnInit() {
40
- super.ngOnInit();
41
- this.appComponentIcon = BarsaApi.Common.Util.TryGetValue(this, 'node.Data.Component.Settings.Icon', null);
42
- this.appComponentIconColor = BarsaApi.Common.Util.TryGetValue(this, 'node.Data.Component.Settings.IconColor', null);
43
- // if (!this.node.icon.startsWith('http')) {
44
- // this.hideIcon = true;
45
- // }
46
- }
47
- onVisibilityChange(divEl, spanEl, e) {
48
- if (e === 'Visible') {
49
- const maxWidthText = divEl.getBoundingClientRect().width;
50
- this._renderer2.setStyle(spanEl, 'max-width', maxWidthText + 'px');
51
- }
52
- }
53
- onListItemClick(liEl, e) {
54
- if (e.target === liEl?.elementRef?.nativeElement) {
55
- this.onRowCheck();
56
- }
57
- }
58
- onCheckbox(checked) {
59
- this.checkChange.emit({ node: this.node, index: this.index, checked });
60
- }
61
- onRowCheck() {
62
- if (this.inDialog && this.isMultiSelect) {
63
- return;
64
- }
65
- this.select.emit({ node: this.node, index: this.index });
66
- }
67
- onUlvCommand() {
68
- this.ulvCommand.emit({ mo: this.node.Data, index: this.index });
69
- }
70
- onNodeViewClick() {
71
- this.viewClick.emit({ node: this.node.Data, index: this.index });
72
- }
73
- onLoadChildren(e) {
74
- this.loadChildren.emit(this.node.Data);
75
- e.stopPropagation();
76
- e.preventDefault();
77
- }
78
- onExpandDblClick(e) {
79
- e.stopPropagation();
80
- e.preventDefault();
81
- }
82
- onCreateNew(e) {
83
- if (!this.isChecked) {
84
- this.onRowCheck();
85
- }
86
- this.createNew.emit(e);
87
- }
88
- onRowAction(commandBody) {
89
- const command = new Function(commandBody);
90
- command();
91
- }
92
- onDragMoved($event) {
93
- if (this.isHetro) {
94
- return;
95
- }
96
- this.dragMoved.emit($event);
97
- }
98
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarsaTreeItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
99
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: BarsaTreeItemComponent, selector: "bsu-barsa-tree-item", inputs: { node: "node", selectedNode: "selectedNode", relationList: "relationList", hideOpenIcon: "hideOpenIcon", hasArrowIcon: "hasArrowIcon", collapseIcon: "collapseIcon", loading: "loading", hasChildren: "hasChildren", leafCursorPointer: "leafCursorPointer", isExpand: "isExpand", children: "children", parentNode: "parentNode", text: "text", icon: "icon", color: "color", isHetro: "isHetro", enableNodeReordering: "enableNodeReordering", hideIcon: "hideIcon" }, outputs: { createNew: "createNew", select: "select", checkChange: "checkChange", viewClick: "viewClick", loadChildren: "loadChildren", dragMoved: "dragMoved" }, usesInheritance: true, ngImport: i0, template: "<li\n fd-list-item\n #liEl\n [class.!tw-cursor-pointer]=\"leafCursorPointer\"\n [applyConditionalFormats]=\"conditionalFormats\"\n [styleIndex]=\"styleIndex\"\n [hostEl]=\"liEl\"\n [focusable]=\"true\"\n [attr.level]=\"level\"\n [class.root-group]=\"level === 1\"\n [interactive]=\"true\"\n [selected]=\"isChecked\"\n (dblclick)=\"onNodeViewClick()\"\n cdkDrag\n [cdkDragDisabled]=\"!enableNodeReordering\"\n [cdkDragData]=\"node.Data.Id\"\n [class.isdirty]=\"isdirty\"\n (cdkDragMoved)=\"onDragMoved($event)\"\n (click)=\"openOnClick ? onNodeViewClick() : onListItemClick(liEl, $event)\"\n>\n <div (click)=\"onRowCheck()\" class=\"spacer\" [style.width]=\"(level - 1) * 4 + 'rem'\"></div>\n @if (enableNodeReordering && !isHetro) {\n <fd-icon glyph=\"grip\" font=\"BusinessSuiteInAppSymbols\" cdkDragHandle></fd-icon>\n } @if (inDialog && isMultiSelect) {\n <fd-checkbox [name]=\"node.Data.$Caption\" [ngModel]=\"isChecked\" (ngModelChange)=\"onCheckbox($event)\"></fd-checkbox>\n }\n\n <div (click)=\"onRowCheck()\" style=\"display: flex; width: 100%; justify-content: space-between\">\n <div style=\"display: flex; flex: 1; gap: 3px\">\n @if (hasArrowIcon) { @if (hasChildren) {\n <div class=\"arrow-container\">\n <button\n [attr.rtl]=\"rtl\"\n fd-button\n fdType=\"transparent\"\n class=\"arrow-children\"\n [fdCompact]\n [glyph]=\"hasChildren ? (isExpand ? 'slim-arrow-down' : collapseIcon) : ''\"\n (click)=\"onLoadChildren($event)\"\n (dblclick)=\"onExpandDblClick($event)\"\n ></button>\n </div>\n } @else { @if (!parentNode?.hasOneDepthLevel) {\n <div class=\"empty-container\" (click)=\"onRowCheck()\">\n <button fd-button></button>\n </div>\n } } @if (loading) {\n <fd-busy-indicator\n style=\"display: flex; align-items: center; width: 2rem\"\n size=\"s\"\n [loading]=\"true\"\n ></fd-busy-indicator>\n } @if(!hideIcon || appComponentIcon){ @if(icon || appComponentIcon){\n <i\n [style.color]=\"appComponentIconColor || color\"\n class=\"icon-item\"\n fd-list-icon\n [glyph]=\"appComponentIcon || icon\"\n ></i>\n }@else {\n <i fd-list-icon class=\"icon-item\" style=\"display: flex; align-items: center; justify-content: center\">\n <img [src]=\"node.icon\" width=\"16px\" />\n </i>\n } } }\n <div\n style=\"display: flex; flex: unset; align-items: center\"\n fd-list-title\n [focusable]=\"true\"\n #divEl\n intersectionObserver\n [intersectionThreshold]=\"0.1\"\n (visibilityChange)=\"onVisibilityChange(divEl, spanEl, $event)\"\n >\n <span class=\"ellapsis\" #spanEl [style.color]=\"color\" [class.haschildren]=\"hasChildren\">{{ text }}</span>\n @if (children) {\n <span>{{ ' ( ' + children.length + ' )' }}</span>\n }\n </div>\n </div>\n @if (contextMenuItems && contextMenuItems.length > 0) {\n <i\n ulvContextMenu\n [allColumns]=\"allColumns\"\n [menuItems]=\"contextMenuItems\"\n [conditionalFormats]=\"conditionalFormats\"\n [styleIndex]=\"styleIndex\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [mo]=\"node.Data\"\n [index]=\"index\"\n (commandClick)=\"onUlvCommand()\"\n [deviceName]=\"deviceName\"\n ></i>\n } @if (access?.Add !== false && !inDialog) {\n <bsu-htree-create-new\n [node]=\"node\"\n [relationList]=\"relationList\"\n (createNew)=\"onCreateNew($event)\"\n ></bsu-htree-create-new>\n }\n </div>\n @if (access?.View && !showOkCancelButtons && deviceName !== 'desktop' && !hideOpenIcon) {\n <button fd-button [glyph]=\"navigationArrow\" fdType=\"transparent\" (click)=\"onNodeViewClick()\"></button>\n } @if (actionList?.length && !inlineEditMode) {\n <bsu-barsa-row-inline-actionlist\n [actionList]=\"actionList\"\n (btnClick)=\"actionListClick.emit($event)\"\n ></bsu-barsa-row-inline-actionlist>\n }\n\n <bsu-barsa-tree-item\n *cdkDragPreview\n [node]=\"node\"\n [rtl]=\"rtl\"\n [selectedNode]=\"selectedNode\"\n [hasArrowIcon]=\"false\"\n ></bsu-barsa-tree-item>\n</li>\n", styles: [":host{display:block}li.isdirty{background:url(/Lib/ui/resources/images/default/grid/dirty.gif);background-repeat:no-repeat}li .cdk-drag-handle{opacity:.5;cursor:move}li .spacer{height:100%}li .arrow-children{border:none!important;background:transparent!important;color:var(--sapButton_Lite_TextColor)!important}li .arrow-container,li .empty-container{display:flex;width:28px;align-items:center;justify-content:center}li .arrow-container fd-icon,li .empty-container fd-icon{cursor:pointer;width:100%;height:100%;text-align:center}li .empty-container{visibility:hidden!important}.cdk-drag{cursor:default}.tree-icon-children{cursor:pointer}.icon-item{width:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.IntersectionObserverDirective, selector: "[intersectionObserver]", inputs: ["intersectionDebounce", "intersectionRootMargin", "intersectionRoot", "intersectionThreshold"], outputs: ["visibilityChange"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i3.CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { kind: "directive", type: i4.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i5.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i6.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i7.CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "role", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: i8.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i9.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "ariaRole", "id"], outputs: ["keyDown"] }, { kind: "directive", type: i9.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i9.ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "glyphFont", "class", "role", "ariaHidden"] }, { kind: "component", type: i10.UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "rightClickEnable", "deviceName", "menuItems", "allColumns", "index", "mo", "styleIndex", "conditionalFormats", "disableOverflowContextMenu", "footerMode", "appendTo"], outputs: ["commandClick"] }, { kind: "component", type: BarsaTreeItemComponent, selector: "bsu-barsa-tree-item", inputs: ["node", "selectedNode", "relationList", "hideOpenIcon", "hasArrowIcon", "collapseIcon", "loading", "hasChildren", "leafCursorPointer", "isExpand", "children", "parentNode", "text", "icon", "color", "isHetro", "enableNodeReordering", "hideIcon"], outputs: ["createNew", "select", "checkChange", "viewClick", "loadChildren", "dragMoved"] }, { kind: "component", type: i11.HtreeCreateNewComponent, selector: "bsu-htree-create-new", inputs: ["relationList", "node"], outputs: ["createNew"] }, { kind: "component", type: i12.BarsaRowInlineActionlistComponent, selector: "bsu-barsa-row-inline-actionlist", inputs: ["actionList", "mo", "index"], outputs: ["btnClick"] }, { kind: "directive", type: i13.ApplyConditionalFormatsDirective, selector: "[applyConditionalFormats]", inputs: ["applyConditionalFormats", "styleIndex", "hostEl", "dbName"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
100
- }
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BarsaTreeItemComponent, decorators: [{
102
- type: Component,
103
- args: [{ selector: 'bsu-barsa-tree-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<li\n fd-list-item\n #liEl\n [class.!tw-cursor-pointer]=\"leafCursorPointer\"\n [applyConditionalFormats]=\"conditionalFormats\"\n [styleIndex]=\"styleIndex\"\n [hostEl]=\"liEl\"\n [focusable]=\"true\"\n [attr.level]=\"level\"\n [class.root-group]=\"level === 1\"\n [interactive]=\"true\"\n [selected]=\"isChecked\"\n (dblclick)=\"onNodeViewClick()\"\n cdkDrag\n [cdkDragDisabled]=\"!enableNodeReordering\"\n [cdkDragData]=\"node.Data.Id\"\n [class.isdirty]=\"isdirty\"\n (cdkDragMoved)=\"onDragMoved($event)\"\n (click)=\"openOnClick ? onNodeViewClick() : onListItemClick(liEl, $event)\"\n>\n <div (click)=\"onRowCheck()\" class=\"spacer\" [style.width]=\"(level - 1) * 4 + 'rem'\"></div>\n @if (enableNodeReordering && !isHetro) {\n <fd-icon glyph=\"grip\" font=\"BusinessSuiteInAppSymbols\" cdkDragHandle></fd-icon>\n } @if (inDialog && isMultiSelect) {\n <fd-checkbox [name]=\"node.Data.$Caption\" [ngModel]=\"isChecked\" (ngModelChange)=\"onCheckbox($event)\"></fd-checkbox>\n }\n\n <div (click)=\"onRowCheck()\" style=\"display: flex; width: 100%; justify-content: space-between\">\n <div style=\"display: flex; flex: 1; gap: 3px\">\n @if (hasArrowIcon) { @if (hasChildren) {\n <div class=\"arrow-container\">\n <button\n [attr.rtl]=\"rtl\"\n fd-button\n fdType=\"transparent\"\n class=\"arrow-children\"\n [fdCompact]\n [glyph]=\"hasChildren ? (isExpand ? 'slim-arrow-down' : collapseIcon) : ''\"\n (click)=\"onLoadChildren($event)\"\n (dblclick)=\"onExpandDblClick($event)\"\n ></button>\n </div>\n } @else { @if (!parentNode?.hasOneDepthLevel) {\n <div class=\"empty-container\" (click)=\"onRowCheck()\">\n <button fd-button></button>\n </div>\n } } @if (loading) {\n <fd-busy-indicator\n style=\"display: flex; align-items: center; width: 2rem\"\n size=\"s\"\n [loading]=\"true\"\n ></fd-busy-indicator>\n } @if(!hideIcon || appComponentIcon){ @if(icon || appComponentIcon){\n <i\n [style.color]=\"appComponentIconColor || color\"\n class=\"icon-item\"\n fd-list-icon\n [glyph]=\"appComponentIcon || icon\"\n ></i>\n }@else {\n <i fd-list-icon class=\"icon-item\" style=\"display: flex; align-items: center; justify-content: center\">\n <img [src]=\"node.icon\" width=\"16px\" />\n </i>\n } } }\n <div\n style=\"display: flex; flex: unset; align-items: center\"\n fd-list-title\n [focusable]=\"true\"\n #divEl\n intersectionObserver\n [intersectionThreshold]=\"0.1\"\n (visibilityChange)=\"onVisibilityChange(divEl, spanEl, $event)\"\n >\n <span class=\"ellapsis\" #spanEl [style.color]=\"color\" [class.haschildren]=\"hasChildren\">{{ text }}</span>\n @if (children) {\n <span>{{ ' ( ' + children.length + ' )' }}</span>\n }\n </div>\n </div>\n @if (contextMenuItems && contextMenuItems.length > 0) {\n <i\n ulvContextMenu\n [allColumns]=\"allColumns\"\n [menuItems]=\"contextMenuItems\"\n [conditionalFormats]=\"conditionalFormats\"\n [styleIndex]=\"styleIndex\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [mo]=\"node.Data\"\n [index]=\"index\"\n (commandClick)=\"onUlvCommand()\"\n [deviceName]=\"deviceName\"\n ></i>\n } @if (access?.Add !== false && !inDialog) {\n <bsu-htree-create-new\n [node]=\"node\"\n [relationList]=\"relationList\"\n (createNew)=\"onCreateNew($event)\"\n ></bsu-htree-create-new>\n }\n </div>\n @if (access?.View && !showOkCancelButtons && deviceName !== 'desktop' && !hideOpenIcon) {\n <button fd-button [glyph]=\"navigationArrow\" fdType=\"transparent\" (click)=\"onNodeViewClick()\"></button>\n } @if (actionList?.length && !inlineEditMode) {\n <bsu-barsa-row-inline-actionlist\n [actionList]=\"actionList\"\n (btnClick)=\"actionListClick.emit($event)\"\n ></bsu-barsa-row-inline-actionlist>\n }\n\n <bsu-barsa-tree-item\n *cdkDragPreview\n [node]=\"node\"\n [rtl]=\"rtl\"\n [selectedNode]=\"selectedNode\"\n [hasArrowIcon]=\"false\"\n ></bsu-barsa-tree-item>\n</li>\n", styles: [":host{display:block}li.isdirty{background:url(/Lib/ui/resources/images/default/grid/dirty.gif);background-repeat:no-repeat}li .cdk-drag-handle{opacity:.5;cursor:move}li .spacer{height:100%}li .arrow-children{border:none!important;background:transparent!important;color:var(--sapButton_Lite_TextColor)!important}li .arrow-container,li .empty-container{display:flex;width:28px;align-items:center;justify-content:center}li .arrow-container fd-icon,li .empty-container fd-icon{cursor:pointer;width:100%;height:100%;text-align:center}li .empty-container{visibility:hidden!important}.cdk-drag{cursor:default}.tree-icon-children{cursor:pointer}.icon-item{width:1rem}\n"] }]
104
- }], propDecorators: { node: [{
105
- type: Input
106
- }], selectedNode: [{
107
- type: Input
108
- }], relationList: [{
109
- type: Input
110
- }], hideOpenIcon: [{
111
- type: Input
112
- }], hasArrowIcon: [{
113
- type: Input
114
- }], collapseIcon: [{
115
- type: Input
116
- }], loading: [{
117
- type: Input
118
- }], hasChildren: [{
119
- type: Input
120
- }], leafCursorPointer: [{
121
- type: Input
122
- }], isExpand: [{
123
- type: Input
124
- }], children: [{
125
- type: Input
126
- }], parentNode: [{
127
- type: Input
128
- }], text: [{
129
- type: Input
130
- }], icon: [{
131
- type: Input
132
- }], color: [{
133
- type: Input
134
- }], isHetro: [{
135
- type: Input
136
- }], enableNodeReordering: [{
137
- type: Input
138
- }], hideIcon: [{
139
- type: Input
140
- }], createNew: [{
141
- type: Output
142
- }], select: [{
143
- type: Output
144
- }], checkChange: [{
145
- type: Output
146
- }], viewClick: [{
147
- type: Output
148
- }], loadChildren: [{
149
- type: Output
150
- }], dragMoved: [{
151
- type: Output
152
- }] } });
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtdHJlZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2JhcnNhLXRyZWUtaXRlbS9iYXJzYS10cmVlLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdHJlZS1pdGVtL2JhcnNhLXRyZWUtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFJSCwwQkFBMEIsRUFDMUIsUUFBUSxFQUNYLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVE5QixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsMEJBQTBCO0lBTnRFOztRQVdhLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBZTdCLG9CQUFvQjtRQUNWLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUNqRCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBRy9CLENBQUM7UUFDSyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUlwQyxDQUFDO1FBQ0ssY0FBUyxHQUFHLElBQUksWUFBWSxFQUdsQyxDQUFDO1FBQ0ssaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUN2RCxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUVqRCxxQkFBZ0IsR0FBa0IsSUFBSSxDQUFDO1FBQ3ZDLDBCQUFxQixHQUFrQixJQUFJLENBQUM7UUFDNUMsWUFBTyxHQUFHO1lBQ04sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxnQ0FBZ0MsRUFBRTtZQUN6RDtnQkFDSSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxNQUFNLEVBQUUsbUNBQW1DO2FBQzlDO1NBQ0osQ0FBQztRQUNGLGVBQVUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7S0FvRWxDO0lBbkVHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsbUNBQW1DLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUcsSUFBSSxDQUFDLHFCQUFxQixHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FDekQsSUFBSSxFQUNKLHdDQUF3QyxFQUN4QyxJQUFJLENBQ1AsQ0FBQztRQUNGLDRDQUE0QztRQUM1Qyw0QkFBNEI7UUFDNUIsSUFBSTtJQUNSLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxLQUFrQixFQUFFLE1BQW1CLEVBQUUsQ0FBQztRQUN6RCxJQUFJLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNsQixNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDekQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxZQUFZLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDdkUsQ0FBQztJQUNMLENBQUM7SUFDRCxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLElBQUksRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLENBQUM7WUFDL0MsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3RCLENBQUM7SUFDTCxDQUFDO0lBQ0QsVUFBVSxDQUFDLE9BQWdCO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBQ0QsVUFBVTtRQUNOLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdEMsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsY0FBYyxDQUFDLENBQUM7UUFDWixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGdCQUFnQixDQUFDLENBQUM7UUFDZCxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxXQUFXLENBQUMsQ0FBQztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3RCLENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBQ0QsV0FBVyxDQUFDLFdBQW1CO1FBQzNCLE1BQU0sT0FBTyxHQUFHLElBQUksUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUNELFdBQVcsQ0FBQyxNQUFNO1FBQ2QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDZixPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OEdBbEhRLHNCQUFzQjtrR0FBdEIsc0JBQXNCLHFzQkMxQm5DLGl4SkFxSEEsMGhJRDNGYSxzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0kscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFHSSxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFJRyxXQUFXO3NCQUFwQixNQUFNO2dCQUtHLFNBQVM7c0JBQWxCLE1BQU07Z0JBSUcsWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgICBNZXRhb2JqZWN0RGF0YU1vZGVsLFxuICAgIFRyZWVOb2RlT2JqLFxuICAgIFJlbGF0aW9uSXRlbVR5cGUsXG4gICAgQmFzZVZpZXdJdGVtUHJvcHNDb21wb25lbnQsXG4gICAgQmFyc2FBcGlcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS10cmVlLWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS10cmVlLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2JhcnNhLXRyZWUtaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEJhcnNhVHJlZUl0ZW1Db21wb25lbnQgZXh0ZW5kcyBCYXNlVmlld0l0ZW1Qcm9wc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgbm9kZTogVHJlZU5vZGVPYmo7XG4gICAgQElucHV0KCkgc2VsZWN0ZWROb2RlOiBNZXRhb2JqZWN0RGF0YU1vZGVsIHwgbnVsbDtcbiAgICBASW5wdXQoKSByZWxhdGlvbkxpc3Q6IFJlbGF0aW9uSXRlbVR5cGVbXTtcbiAgICBASW5wdXQoKSBoaWRlT3Blbkljb246IGJvb2xlYW47XG4gICAgQElucHV0KCkgaGFzQXJyb3dJY29uID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBjb2xsYXBzZUljb246IHN0cmluZztcbiAgICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhhc0NoaWxkcmVuOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGxlYWZDdXJzb3JQb2ludGVyOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzRXhwYW5kOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGNoaWxkcmVuOiBUcmVlTm9kZU9ialtdO1xuICAgIEBJbnB1dCgpIHBhcmVudE5vZGU6IFRyZWVOb2RlT2JqO1xuICAgIEBJbnB1dCgpIHRleHQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XG4gICAgQElucHV0KCkgY29sb3I6IHN0cmluZztcbiAgICBASW5wdXQoKSBpc0hldHJvOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGVuYWJsZU5vZGVSZW9yZGVyaW5nOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhpZGVJY29uOiBib29sZWFuO1xuXG4gICAgLyogZXNsaW50LWRpc2FibGUgKi9cbiAgICBAT3V0cHV0KCkgY3JlYXRlTmV3ID0gbmV3IEV2ZW50RW1pdHRlcjxSZWxhdGlvbkl0ZW1UeXBlPigpO1xuICAgIEBPdXRwdXQoKSBzZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICAgICAgbm9kZTogVHJlZU5vZGVPYmo7XG4gICAgICAgIGluZGV4OiBudW1iZXI7XG4gICAgfT4oKTtcbiAgICBAT3V0cHV0KCkgY2hlY2tDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICAgICAgbm9kZTogVHJlZU5vZGVPYmo7XG4gICAgICAgIGluZGV4OiBudW1iZXI7XG4gICAgICAgIGNoZWNrZWQ6IGJvb2xlYW47XG4gICAgfT4oKTtcbiAgICBAT3V0cHV0KCkgdmlld0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7XG4gICAgICAgIG5vZGU6IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgICAgIGluZGV4OiBudW1iZXI7XG4gICAgfT4oKTtcbiAgICBAT3V0cHV0KCkgbG9hZENoaWxkcmVuID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xuICAgIEBPdXRwdXQoKSBkcmFnTW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgICBpY29uJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIGFwcENvbXBvbmVudEljb246IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIGFwcENvbXBvbmVudEljb25Db2xvcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgcm93QnRucyA9IFtcbiAgICAgICAgeyBJY29uOiAnYWRkJywgQWN0aW9uOiAnY29uc29sZS5sb2coXCJhZGQgYnRuIGNsaWNrZWRcIiknIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIEljb246ICdkZWxldGUnLFxuICAgICAgICAgICAgQWN0aW9uOiAnY29uc29sZS5sb2coXCJkZWxldGUgYnRuIGNsaWNrZWRcIiknXG4gICAgICAgIH1cbiAgICBdO1xuICAgIF9yZW5kZXJlcjIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5hcHBDb21wb25lbnRJY29uID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodGhpcywgJ25vZGUuRGF0YS5Db21wb25lbnQuU2V0dGluZ3MuSWNvbicsIG51bGwpO1xuICAgICAgICB0aGlzLmFwcENvbXBvbmVudEljb25Db2xvciA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKFxuICAgICAgICAgICAgdGhpcyxcbiAgICAgICAgICAgICdub2RlLkRhdGEuQ29tcG9uZW50LlNldHRpbmdzLkljb25Db2xvcicsXG4gICAgICAgICAgICBudWxsXG4gICAgICAgICk7XG4gICAgICAgIC8vIGlmICghdGhpcy5ub2RlLmljb24uc3RhcnRzV2l0aCgnaHR0cCcpKSB7XG4gICAgICAgIC8vICAgICB0aGlzLmhpZGVJY29uID0gdHJ1ZTtcbiAgICAgICAgLy8gfVxuICAgIH1cbiAgICBvblZpc2liaWxpdHlDaGFuZ2UoZGl2RWw6IEhUTUxFbGVtZW50LCBzcGFuRWw6IEhUTUxFbGVtZW50LCBlKTogdm9pZCB7XG4gICAgICAgIGlmIChlID09PSAnVmlzaWJsZScpIHtcbiAgICAgICAgICAgIGNvbnN0IG1heFdpZHRoVGV4dCA9IGRpdkVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKHNwYW5FbCwgJ21heC13aWR0aCcsIG1heFdpZHRoVGV4dCArICdweCcpO1xuICAgICAgICB9XG4gICAgfVxuICAgIG9uTGlzdEl0ZW1DbGljayhsaUVsLCBlKSB7XG4gICAgICAgIGlmIChlLnRhcmdldCA9PT0gbGlFbD8uZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5vblJvd0NoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgb25DaGVja2JveChjaGVja2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hlY2tDaGFuZ2UuZW1pdCh7IG5vZGU6IHRoaXMubm9kZSwgaW5kZXg6IHRoaXMuaW5kZXgsIGNoZWNrZWQgfSk7XG4gICAgfVxuICAgIG9uUm93Q2hlY2soKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmluRGlhbG9nICYmIHRoaXMuaXNNdWx0aVNlbGVjdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VsZWN0LmVtaXQoeyBub2RlOiB0aGlzLm5vZGUsIGluZGV4OiB0aGlzLmluZGV4IH0pO1xuICAgIH1cblxuICAgIG9uVWx2Q29tbWFuZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51bHZDb21tYW5kLmVtaXQoeyBtbzogdGhpcy5ub2RlLkRhdGEsIGluZGV4OiB0aGlzLmluZGV4IH0pO1xuICAgIH1cblxuICAgIG9uTm9kZVZpZXdDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52aWV3Q2xpY2suZW1pdCh7IG5vZGU6IHRoaXMubm9kZS5EYXRhLCBpbmRleDogdGhpcy5pbmRleCB9KTtcbiAgICB9XG5cbiAgICBvbkxvYWRDaGlsZHJlbihlKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9hZENoaWxkcmVuLmVtaXQodGhpcy5ub2RlLkRhdGEpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgb25FeHBhbmREYmxDbGljayhlKTogdm9pZCB7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gICAgb25DcmVhdGVOZXcoZSkge1xuICAgICAgICBpZiAoIXRoaXMuaXNDaGVja2VkKSB7XG4gICAgICAgICAgICB0aGlzLm9uUm93Q2hlY2soKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNyZWF0ZU5ldy5lbWl0KGUpO1xuICAgIH1cbiAgICBvblJvd0FjdGlvbihjb21tYW5kQm9keTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbW1hbmQgPSBuZXcgRnVuY3Rpb24oY29tbWFuZEJvZHkpO1xuICAgICAgICBjb21tYW5kKCk7XG4gICAgfVxuICAgIG9uRHJhZ01vdmVkKCRldmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0hldHJvKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kcmFnTW92ZWQuZW1pdCgkZXZlbnQpO1xuICAgIH1cbn1cbiIsIjxsaVxuICAgIGZkLWxpc3QtaXRlbVxuICAgICNsaUVsXG4gICAgW2NsYXNzLiF0dy1jdXJzb3ItcG9pbnRlcl09XCJsZWFmQ3Vyc29yUG9pbnRlclwiXG4gICAgW2FwcGx5Q29uZGl0aW9uYWxGb3JtYXRzXT1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXG4gICAgW3N0eWxlSW5kZXhdPVwic3R5bGVJbmRleFwiXG4gICAgW2hvc3RFbF09XCJsaUVsXCJcbiAgICBbZm9jdXNhYmxlXT1cInRydWVcIlxuICAgIFthdHRyLmxldmVsXT1cImxldmVsXCJcbiAgICBbY2xhc3Mucm9vdC1ncm91cF09XCJsZXZlbCA9PT0gMVwiXG4gICAgW2ludGVyYWN0aXZlXT1cInRydWVcIlxuICAgIFtzZWxlY3RlZF09XCJpc0NoZWNrZWRcIlxuICAgIChkYmxjbGljayk9XCJvbk5vZGVWaWV3Q2xpY2soKVwiXG4gICAgY2RrRHJhZ1xuICAgIFtjZGtEcmFnRGlzYWJsZWRdPVwiIWVuYWJsZU5vZGVSZW9yZGVyaW5nXCJcbiAgICBbY2RrRHJhZ0RhdGFdPVwibm9kZS5EYXRhLklkXCJcbiAgICBbY2xhc3MuaXNkaXJ0eV09XCJpc2RpcnR5XCJcbiAgICAoY2RrRHJhZ01vdmVkKT1cIm9uRHJhZ01vdmVkKCRldmVudClcIlxuICAgIChjbGljayk9XCJvcGVuT25DbGljayA/IG9uTm9kZVZpZXdDbGljaygpIDogb25MaXN0SXRlbUNsaWNrKGxpRWwsICRldmVudClcIlxuPlxuICAgIDxkaXYgKGNsaWNrKT1cIm9uUm93Q2hlY2soKVwiIGNsYXNzPVwic3BhY2VyXCIgW3N0eWxlLndpZHRoXT1cIihsZXZlbCAtIDEpICogNCArICdyZW0nXCI+PC9kaXY+XG4gICAgQGlmIChlbmFibGVOb2RlUmVvcmRlcmluZyAmJiAhaXNIZXRybykge1xuICAgIDxmZC1pY29uIGdseXBoPVwiZ3JpcFwiIGZvbnQ9XCJCdXNpbmVzc1N1aXRlSW5BcHBTeW1ib2xzXCIgY2RrRHJhZ0hhbmRsZT48L2ZkLWljb24+XG4gICAgfSBAaWYgKGluRGlhbG9nICYmIGlzTXVsdGlTZWxlY3QpIHtcbiAgICA8ZmQtY2hlY2tib3ggW25hbWVdPVwibm9kZS5EYXRhLiRDYXB0aW9uXCIgW25nTW9kZWxdPVwiaXNDaGVja2VkXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25DaGVja2JveCgkZXZlbnQpXCI+PC9mZC1jaGVja2JveD5cbiAgICB9XG5cbiAgICA8ZGl2IChjbGljayk9XCJvblJvd0NoZWNrKClcIiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IHdpZHRoOiAxMDAlOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW5cIj5cbiAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXg6IDE7IGdhcDogM3B4XCI+XG4gICAgICAgICAgICBAaWYgKGhhc0Fycm93SWNvbikgeyBAaWYgKGhhc0NoaWxkcmVuKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXJyb3ctY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5ydGxdPVwicnRsXCJcbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhcnJvdy1jaGlsZHJlblwiXG4gICAgICAgICAgICAgICAgICAgIFtmZENvbXBhY3RdXG4gICAgICAgICAgICAgICAgICAgIFtnbHlwaF09XCJoYXNDaGlsZHJlbiA/IChpc0V4cGFuZCA/ICdzbGltLWFycm93LWRvd24nIDogY29sbGFwc2VJY29uKSA6ICcnXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTG9hZENoaWxkcmVuKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAoZGJsY2xpY2spPVwib25FeHBhbmREYmxDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH0gQGVsc2UgeyBAaWYgKCFwYXJlbnROb2RlPy5oYXNPbmVEZXB0aExldmVsKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1wdHktY29udGFpbmVyXCIgKGNsaWNrKT1cIm9uUm93Q2hlY2soKVwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gZmQtYnV0dG9uPjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9IH0gQGlmIChsb2FkaW5nKSB7XG4gICAgICAgICAgICA8ZmQtYnVzeS1pbmRpY2F0b3JcbiAgICAgICAgICAgICAgICBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IHdpZHRoOiAycmVtXCJcbiAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgW2xvYWRpbmddPVwidHJ1ZVwiXG4gICAgICAgICAgICA+PC9mZC1idXN5LWluZGljYXRvcj5cbiAgICAgICAgICAgIH0gQGlmKCFoaWRlSWNvbiB8fCBhcHBDb21wb25lbnRJY29uKXsgQGlmKGljb24gfHwgYXBwQ29tcG9uZW50SWNvbil7XG4gICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJhcHBDb21wb25lbnRJY29uQ29sb3IgfHwgY29sb3JcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaWNvbi1pdGVtXCJcbiAgICAgICAgICAgICAgICBmZC1saXN0LWljb25cbiAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiYXBwQ29tcG9uZW50SWNvbiB8fCBpY29uXCJcbiAgICAgICAgICAgID48L2k+XG4gICAgICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgPGkgZmQtbGlzdC1pY29uIGNsYXNzPVwiaWNvbi1pdGVtXCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJub2RlLmljb25cIiB3aWR0aD1cIjE2cHhcIiAvPlxuICAgICAgICAgICAgPC9pPlxuICAgICAgICAgICAgfSB9IH1cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXg6IHVuc2V0OyBhbGlnbi1pdGVtczogY2VudGVyXCJcbiAgICAgICAgICAgICAgICBmZC1saXN0LXRpdGxlXG4gICAgICAgICAgICAgICAgW2ZvY3VzYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAjZGl2RWxcbiAgICAgICAgICAgICAgICBpbnRlcnNlY3Rpb25PYnNlcnZlclxuICAgICAgICAgICAgICAgIFtpbnRlcnNlY3Rpb25UaHJlc2hvbGRdPVwiMC4xXCJcbiAgICAgICAgICAgICAgICAodmlzaWJpbGl0eUNoYW5nZSk9XCJvblZpc2liaWxpdHlDaGFuZ2UoZGl2RWwsIHNwYW5FbCwgJGV2ZW50KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlbGxhcHNpc1wiICNzcGFuRWwgW3N0eWxlLmNvbG9yXT1cImNvbG9yXCIgW2NsYXNzLmhhc2NoaWxkcmVuXT1cImhhc0NoaWxkcmVuXCI+e3sgdGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICBAaWYgKGNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgJyAoICcgKyBjaGlsZHJlbi5sZW5ndGggKyAnICknIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgQGlmIChjb250ZXh0TWVudUl0ZW1zICYmIGNvbnRleHRNZW51SXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICA8aVxuICAgICAgICAgICAgdWx2Q29udGV4dE1lbnVcbiAgICAgICAgICAgIFthbGxDb2x1bW5zXT1cImFsbENvbHVtbnNcIlxuICAgICAgICAgICAgW21lbnVJdGVtc109XCJjb250ZXh0TWVudUl0ZW1zXCJcbiAgICAgICAgICAgIFtjb25kaXRpb25hbEZvcm1hdHNdPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcbiAgICAgICAgICAgIFtzdHlsZUluZGV4XT1cInN0eWxlSW5kZXhcIlxuICAgICAgICAgICAgW2Rpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XT1cImRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51XCJcbiAgICAgICAgICAgIFttb109XCJub2RlLkRhdGFcIlxuICAgICAgICAgICAgW2luZGV4XT1cImluZGV4XCJcbiAgICAgICAgICAgIChjb21tYW5kQ2xpY2spPVwib25VbHZDb21tYW5kKClcIlxuICAgICAgICAgICAgW2RldmljZU5hbWVdPVwiZGV2aWNlTmFtZVwiXG4gICAgICAgID48L2k+XG4gICAgICAgIH0gQGlmIChhY2Nlc3M/LkFkZCAhPT0gZmFsc2UgJiYgIWluRGlhbG9nKSB7XG4gICAgICAgIDxic3UtaHRyZWUtY3JlYXRlLW5ld1xuICAgICAgICAgICAgW25vZGVdPVwibm9kZVwiXG4gICAgICAgICAgICBbcmVsYXRpb25MaXN0XT1cInJlbGF0aW9uTGlzdFwiXG4gICAgICAgICAgICAoY3JlYXRlTmV3KT1cIm9uQ3JlYXRlTmV3KCRldmVudClcIlxuICAgICAgICA+PC9ic3UtaHRyZWUtY3JlYXRlLW5ldz5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuICAgIEBpZiAoYWNjZXNzPy5WaWV3ICYmICFzaG93T2tDYW5jZWxCdXR0b25zICYmIGRldmljZU5hbWUgIT09ICdkZXNrdG9wJyAmJiAhaGlkZU9wZW5JY29uKSB7XG4gICAgPGJ1dHRvbiBmZC1idXR0b24gW2dseXBoXT1cIm5hdmlnYXRpb25BcnJvd1wiIGZkVHlwZT1cInRyYW5zcGFyZW50XCIgKGNsaWNrKT1cIm9uTm9kZVZpZXdDbGljaygpXCI+PC9idXR0b24+XG4gICAgfSBAaWYgKGFjdGlvbkxpc3Q/Lmxlbmd0aCAmJiAhaW5saW5lRWRpdE1vZGUpIHtcbiAgICA8YnN1LWJhcnNhLXJvdy1pbmxpbmUtYWN0aW9ubGlzdFxuICAgICAgICBbYWN0aW9uTGlzdF09XCJhY3Rpb25MaXN0XCJcbiAgICAgICAgKGJ0bkNsaWNrKT1cImFjdGlvbkxpc3RDbGljay5lbWl0KCRldmVudClcIlxuICAgID48L2JzdS1iYXJzYS1yb3ctaW5saW5lLWFjdGlvbmxpc3Q+XG4gICAgfVxuXG4gICAgPGJzdS1iYXJzYS10cmVlLWl0ZW1cbiAgICAgICAgKmNka0RyYWdQcmV2aWV3XG4gICAgICAgIFtub2RlXT1cIm5vZGVcIlxuICAgICAgICBbcnRsXT1cInJ0bFwiXG4gICAgICAgIFtzZWxlY3RlZE5vZGVdPVwic2VsZWN0ZWROb2RlXCJcbiAgICAgICAgW2hhc0Fycm93SWNvbl09XCJmYWxzZVwiXG4gICAgPjwvYnN1LWJhcnNhLXRyZWUtaXRlbT5cbjwvbGk+XG4iXX0=
@@ -1,19 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class NodeHasOneDepthLevelPipe {
4
- transform(node) {
5
- let hasOneDepth = true;
6
- node.children?.forEach((child) => (hasOneDepth = !(child.Data?.$HasChildren === true)));
7
- return hasOneDepth;
8
- }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NodeHasOneDepthLevelPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
10
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: NodeHasOneDepthLevelPipe, name: "nodeHasOneDepthLevel" }); }
11
- }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NodeHasOneDepthLevelPipe, decorators: [{
13
- type: Pipe,
14
- args: [{
15
- name: 'nodeHasOneDepthLevel',
16
- pure: true
17
- }]
18
- }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1oYXMtb25lLWRlcHRoLWxldmVsLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9iYXJzYS10cmVlLWl0ZW0vbm9kZS1oYXMtb25lLWRlcHRoLWxldmVsLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBT3BELE1BQU0sT0FBTyx3QkFBd0I7SUFDakMsU0FBUyxDQUFDLElBQXlCO1FBQy9CLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQTBCLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFlBQVksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0csT0FBTyxXQUFXLENBQUM7SUFDdkIsQ0FBQzs4R0FMUSx3QkFBd0I7NEdBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFKcEMsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsc0JBQXNCO29CQUM1QixJQUFJLEVBQUUsSUFBSTtpQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWV0YW9iamVjdERhdGFNb2RlbCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6ICdub2RlSGFzT25lRGVwdGhMZXZlbCcsXHJcbiAgICBwdXJlOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOb2RlSGFzT25lRGVwdGhMZXZlbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybShub2RlOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogYm9vbGVhbiB7XHJcbiAgICAgICAgbGV0IGhhc09uZURlcHRoID0gdHJ1ZTtcclxuICAgICAgICBub2RlLmNoaWxkcmVuPy5mb3JFYWNoKChjaGlsZDogTWV0YW9iamVjdERhdGFNb2RlbCkgPT4gKGhhc09uZURlcHRoID0gIShjaGlsZC5EYXRhPy4kSGFzQ2hpbGRyZW4gPT09IHRydWUpKSk7XHJcbiAgICAgICAgcmV0dXJuIGhhc09uZURlcHRoO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==