barsa-sap-ui 0.0.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 (346) hide show
  1. package/README.md +25 -0
  2. package/esm2020/barsa-sap-ui.mjs +5 -0
  3. package/esm2020/lib/apply-conditional-formmatings.directive.mjs +84 -0
  4. package/esm2020/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +109 -0
  5. package/esm2020/lib/barsa-base-layout/barsa-base-layout.component.mjs +34 -0
  6. package/esm2020/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +71 -0
  7. package/esm2020/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +28 -0
  8. package/esm2020/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +77 -0
  9. package/esm2020/lib/barsa-network-offline/barsa-network-offline.component.mjs +45 -0
  10. package/esm2020/lib/barsa-sap-ui-routing.module.mjs +17 -0
  11. package/esm2020/lib/barsa-sap-ui.module.mjs +277 -0
  12. package/esm2020/lib/barsa-search-form/barsa-search-form.component.mjs +29 -0
  13. package/esm2020/lib/barsa-table-header/barsa-table-header.component.mjs +122 -0
  14. package/esm2020/lib/barsa-table-row/barsa-table-row.component.mjs +57 -0
  15. package/esm2020/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +334 -0
  16. package/esm2020/lib/barsa-tree-item/barsa-tree-item.component.mjs +120 -0
  17. package/esm2020/lib/barsa-tree-item/node-has-one-depth-level.pipe.mjs +19 -0
  18. package/esm2020/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +156 -0
  19. package/esm2020/lib/breadcrumb/breadcrumb.component.mjs +45 -0
  20. package/esm2020/lib/captcha-field/captcha-field.component.mjs +28 -0
  21. package/esm2020/lib/card-item/card-item.component.mjs +60 -0
  22. package/esm2020/lib/card-view-content/card-view-content.component.mjs +23 -0
  23. package/esm2020/lib/col-renderer.directive.mjs +50 -0
  24. package/esm2020/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +56 -0
  25. package/esm2020/lib/column-matrix-renderer/matrix-value.pipe.mjs +60 -0
  26. package/esm2020/lib/column-renderer/column-renderer.component.mjs +84 -0
  27. package/esm2020/lib/constants.mjs +413 -0
  28. package/esm2020/lib/custom-date-time/custom-date-time.component.mjs +41 -0
  29. package/esm2020/lib/device-info-field-base.mjs +23 -0
  30. package/esm2020/lib/dynamic-page-size.pipe.mjs +26 -0
  31. package/esm2020/lib/empty-page/empty-page.component.mjs +38 -0
  32. package/esm2020/lib/file-in-dialog/file-in-dialog.component.mjs +44 -0
  33. package/esm2020/lib/form-dialog/form-dialog.component.mjs +125 -0
  34. package/esm2020/lib/form-dialog-less/form-dialog-less.component.mjs +38 -0
  35. package/esm2020/lib/form-page/form-page.component.mjs +51 -0
  36. package/esm2020/lib/form-page-base.mjs +129 -0
  37. package/esm2020/lib/form-toolbar-button/form-toolbar-button.component.mjs +44 -0
  38. package/esm2020/lib/form-wizard/form-wizard.component.mjs +21 -0
  39. package/esm2020/lib/fullscreen-dialog.directive.mjs +40 -0
  40. package/esm2020/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +152 -0
  41. package/esm2020/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +203 -0
  42. package/esm2020/lib/global-search/global-search.component.mjs +26 -0
  43. package/esm2020/lib/global-search-module/global-search-module.component.mjs +30 -0
  44. package/esm2020/lib/global-search-panel/global-search-panel.component.mjs +30 -0
  45. package/esm2020/lib/header-avatar/header-avatar.component.mjs +19 -0
  46. package/esm2020/lib/header-facet-form/header-facet-form.component.mjs +22 -0
  47. package/esm2020/lib/header-facet-key-value/header-facet-key-value.component.mjs +31 -0
  48. package/esm2020/lib/header-facet-microchart/header-facet-microchart.component.mjs +21 -0
  49. package/esm2020/lib/header-facet-plain-text/header-facet-plain-text.component.mjs +28 -0
  50. package/esm2020/lib/header-facet-progress/header-facet-progress.component.mjs +26 -0
  51. package/esm2020/lib/header-facet-rate/header-facet-rate.component.mjs +26 -0
  52. package/esm2020/lib/htree-create-new/htree-create-new.component.mjs +49 -0
  53. package/esm2020/lib/hyperlink/hyperlink.component.mjs +19 -0
  54. package/esm2020/lib/index.mjs +412 -0
  55. package/esm2020/lib/inline-save-and-cancel/inline-save-and-cancel.component.mjs +32 -0
  56. package/esm2020/lib/layout-actions/layout-actions.component.mjs +65 -0
  57. package/esm2020/lib/layout-control/layout-control.component.mjs +214 -0
  58. package/esm2020/lib/layout-wizard/layout-wizard.component.mjs +133 -0
  59. package/esm2020/lib/list-item/list-item.component.mjs +30 -0
  60. package/esm2020/lib/ly-empty-space/ly-empty-space.component.mjs +37 -0
  61. package/esm2020/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +70 -0
  62. package/esm2020/lib/ly-label/ly-label.component.mjs +31 -0
  63. package/esm2020/lib/ly-layout-container/ly-layout-container.component.mjs +83 -0
  64. package/esm2020/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +17 -0
  65. package/esm2020/lib/ly-layout-field-label/ly-layout-field-label.component.mjs +24 -0
  66. package/esm2020/lib/ly-layout-panel/ly-layout-panel.component.mjs +64 -0
  67. package/esm2020/lib/ly-line/ly-line.component.mjs +56 -0
  68. package/esm2020/lib/ly-simple-label/ly-simple-label.component.mjs +27 -0
  69. package/esm2020/lib/ly-tab-container/ly-tab-container.component.mjs +43 -0
  70. package/esm2020/lib/ly-tab-page/ly-tab-page.component.mjs +35 -0
  71. package/esm2020/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +49 -0
  72. package/esm2020/lib/manage-filters-report/manage-filters-report.component.mjs +45 -0
  73. package/esm2020/lib/mask/mask.component.mjs +22 -0
  74. package/esm2020/lib/message-strip/message-strip.component.mjs +28 -0
  75. package/esm2020/lib/models/grid-data-provider.mjs +219 -0
  76. package/esm2020/lib/models/grid-view.mjs +2 -0
  77. package/esm2020/lib/models/index.mjs +2 -0
  78. package/esm2020/lib/no-data/no-data.component.mjs +20 -0
  79. package/esm2020/lib/page-with-form-handler-base.mjs +42 -0
  80. package/esm2020/lib/page-with-header/page-with-header.component.mjs +76 -0
  81. package/esm2020/lib/progress-indicator/progress-indicator.component.mjs +18 -0
  82. package/esm2020/lib/report-navigator/report-navigator.component.mjs +62 -0
  83. package/esm2020/lib/report-new-top-form/report-new-top-form.component.mjs +60 -0
  84. package/esm2020/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +35 -0
  85. package/esm2020/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +99 -0
  86. package/esm2020/lib/report-search-panel-save/report-search-panel-save.component.mjs +90 -0
  87. package/esm2020/lib/report-tree-base.mjs +405 -0
  88. package/esm2020/lib/report-view-renderer.directive.mjs +248 -0
  89. package/esm2020/lib/responsive-toolbar/responsive-toolbar.component.mjs +50 -0
  90. package/esm2020/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +84 -0
  91. package/esm2020/lib/rich-text-static/rich-text-static.component.mjs +35 -0
  92. package/esm2020/lib/sap-font-class.pipe.mjs +29 -0
  93. package/esm2020/lib/sap-font.pipe.mjs +29 -0
  94. package/esm2020/lib/sap-ui-report-base.component.mjs +689 -0
  95. package/esm2020/lib/search-panel/search-panel.component.mjs +40 -0
  96. package/esm2020/lib/static-text/static-text.component.mjs +15 -0
  97. package/esm2020/lib/title/title.component.mjs +15 -0
  98. package/esm2020/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.mjs +14 -0
  99. package/esm2020/lib/ui-button/ui-button.component.mjs +31 -0
  100. package/esm2020/lib/ui-calendar/ui-calendar.component.mjs +46 -0
  101. package/esm2020/lib/ui-card-view/ui-card-view.component.mjs +60 -0
  102. package/esm2020/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +27 -0
  103. package/esm2020/lib/ui-check-box/ui-check-box.component.mjs +29 -0
  104. package/esm2020/lib/ui-color-ui/ui-color-ui.component.mjs +50 -0
  105. package/esm2020/lib/ui-container-with-button/ui-container-with-button.component.mjs +34 -0
  106. package/esm2020/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +194 -0
  107. package/esm2020/lib/ui-date-time/ui-date-time.component.mjs +116 -0
  108. package/esm2020/lib/ui-editable-grid/ui-editable-grid.component.mjs +110 -0
  109. package/esm2020/lib/ui-exception-form/ui-exception-form.component.mjs +61 -0
  110. package/esm2020/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +181 -0
  111. package/esm2020/lib/ui-form-panel/ui-form-panel.component.mjs +43 -0
  112. package/esm2020/lib/ui-form-panel-toolbar/ui-form-panel-toolbar.component.mjs +26 -0
  113. package/esm2020/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +32 -0
  114. package/esm2020/lib/ui-graph/ui-graph.component.mjs +16 -0
  115. package/esm2020/lib/ui-grid/ui-grid.component.mjs +25 -0
  116. package/esm2020/lib/ui-grid-columns/ui-grid-columns.component.mjs +44 -0
  117. package/esm2020/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +67 -0
  118. package/esm2020/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +76 -0
  119. package/esm2020/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +59 -0
  120. package/esm2020/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +156 -0
  121. package/esm2020/lib/ui-info-bar-panel/ui-info-bar-panel.component.mjs +11 -0
  122. package/esm2020/lib/ui-label/ui-label.component.mjs +12 -0
  123. package/esm2020/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +299 -0
  124. package/esm2020/lib/ui-list-view/ui-list-view.component.mjs +44 -0
  125. package/esm2020/lib/ui-matrix-view/ui-matrix-view.component.mjs +125 -0
  126. package/esm2020/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +19 -0
  127. package/esm2020/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.mjs +13 -0
  128. package/esm2020/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +46 -0
  129. package/esm2020/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +335 -0
  130. package/esm2020/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +18 -0
  131. package/esm2020/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +83 -0
  132. package/esm2020/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +24 -0
  133. package/esm2020/lib/ui-num-int-ui/ui-num-int-ui.component.mjs +21 -0
  134. package/esm2020/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +216 -0
  135. package/esm2020/lib/ui-picture-file/ui-picture-file.component.mjs +95 -0
  136. package/esm2020/lib/ui-pictures-info/ui-pictures-info.component.mjs +215 -0
  137. package/esm2020/lib/ui-radio-group/ui-radio-group.component.mjs +24 -0
  138. package/esm2020/lib/ui-read-only-field/ui-read-only-field.component.mjs +29 -0
  139. package/esm2020/lib/ui-report-container/ui-report-container.component.mjs +46 -0
  140. package/esm2020/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.mjs +24 -0
  141. package/esm2020/lib/ui-simple-combo/ui-simple-combo.component.mjs +29 -0
  142. package/esm2020/lib/ui-single-picture/ui-single-picture.component.mjs +36 -0
  143. package/esm2020/lib/ui-switch-button/ui-switch-button.component.mjs +20 -0
  144. package/esm2020/lib/ui-table-view/ui-table-view.component.mjs +106 -0
  145. package/esm2020/lib/ui-text-area/ui-text-area.component.mjs +44 -0
  146. package/esm2020/lib/ui-text-field/ui-text-field.component.mjs +47 -0
  147. package/esm2020/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.mjs +47 -0
  148. package/esm2020/lib/ui-time-span/ui-time-span.component.mjs +24 -0
  149. package/esm2020/lib/ui-tinymce/ui-tinymce.component.mjs +53 -0
  150. package/esm2020/lib/ui-tree/ui-tree.component.mjs +69 -0
  151. package/esm2020/lib/ui-tree-view/ui-tree-view.component.mjs +75 -0
  152. package/esm2020/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +24 -0
  153. package/esm2020/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +276 -0
  154. package/esm2020/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +26 -0
  155. package/esm2020/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +86 -0
  156. package/esm2020/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +117 -0
  157. package/esm2020/lib/ul-notify-popup/ul-notify-popup.component.mjs +114 -0
  158. package/esm2020/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +44 -0
  159. package/esm2020/lib/ulv-column-settings/ulv-column-settings.component.mjs +53 -0
  160. package/esm2020/lib/ulv-context-menu/ulv-context-menu.component.mjs +74 -0
  161. package/esm2020/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +43 -0
  162. package/esm2020/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +183 -0
  163. package/esm2020/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +44 -0
  164. package/esm2020/lib/ulv-paging/ulv-paging.component.mjs +73 -0
  165. package/esm2020/lib/ulv-selection/ulv-selection.component.mjs +66 -0
  166. package/esm2020/lib/ulv-settings/ulv-settings.component.mjs +117 -0
  167. package/esm2020/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +44 -0
  168. package/esm2020/lib/ulv-toolbar/ulv-toolbar.component.mjs +110 -0
  169. package/esm2020/lib/upload-file-status.pipe.mjs +28 -0
  170. package/esm2020/lib/wizard-layout.directive.mjs +102 -0
  171. package/esm2020/public-api.mjs +170 -0
  172. package/fesm2015/barsa-sap-ui.mjs +11437 -0
  173. package/fesm2015/barsa-sap-ui.mjs.map +1 -0
  174. package/fesm2020/barsa-sap-ui.mjs +11427 -0
  175. package/fesm2020/barsa-sap-ui.mjs.map +1 -0
  176. package/index.d.ts +5 -0
  177. package/lib/apply-conditional-formmatings.directive.d.ts +25 -0
  178. package/lib/barsa-asp-viewer/barsa-asp-viewer.component.d.ts +26 -0
  179. package/lib/barsa-base-layout/barsa-base-layout.component.d.ts +18 -0
  180. package/lib/barsa-date-time-picker/barsa-date-time-picker.component.d.ts +18 -0
  181. package/lib/barsa-list-file-linear/barsa-list-file-linear.component.d.ts +8 -0
  182. package/lib/barsa-monaco-editor/barsa-monaco-editor.component.d.ts +18 -0
  183. package/lib/barsa-network-offline/barsa-network-offline.component.d.ts +13 -0
  184. package/lib/barsa-sap-ui-routing.module.d.ts +7 -0
  185. package/lib/barsa-sap-ui.module.d.ts +181 -0
  186. package/lib/barsa-search-form/barsa-search-form.component.d.ts +8 -0
  187. package/lib/barsa-table-header/barsa-table-header.component.d.ts +37 -0
  188. package/lib/barsa-table-row/barsa-table-row.component.d.ts +20 -0
  189. package/lib/barsa-tinyemce/barsa-tinyemce.component.d.ts +43 -0
  190. package/lib/barsa-tree-item/barsa-tree-item.component.d.ts +48 -0
  191. package/lib/barsa-tree-item/node-has-one-depth-level.pipe.d.ts +8 -0
  192. package/lib/barsa-ulv-main/barsa-ulv-main.component.d.ts +52 -0
  193. package/lib/breadcrumb/breadcrumb.component.d.ts +17 -0
  194. package/lib/captcha-field/captcha-field.component.d.ts +10 -0
  195. package/lib/card-item/card-item.component.d.ts +17 -0
  196. package/lib/card-view-content/card-view-content.component.d.ts +8 -0
  197. package/lib/col-renderer.directive.d.ts +12 -0
  198. package/lib/column-matrix-renderer/column-matrix-renderer.component.d.ts +23 -0
  199. package/lib/column-matrix-renderer/matrix-value.pipe.d.ts +8 -0
  200. package/lib/column-renderer/column-renderer.component.d.ts +29 -0
  201. package/lib/constants.d.ts +6 -0
  202. package/lib/custom-date-time/custom-date-time.component.d.ts +26 -0
  203. package/lib/device-info-field-base.d.ts +12 -0
  204. package/lib/dynamic-page-size.pipe.d.ts +8 -0
  205. package/lib/empty-page/empty-page.component.d.ts +11 -0
  206. package/lib/file-in-dialog/file-in-dialog.component.d.ts +16 -0
  207. package/lib/form-dialog/form-dialog.component.d.ts +40 -0
  208. package/lib/form-dialog-less/form-dialog-less.component.d.ts +27 -0
  209. package/lib/form-page/form-page.component.d.ts +17 -0
  210. package/lib/form-page-base.d.ts +26 -0
  211. package/lib/form-toolbar-button/form-toolbar-button.component.d.ts +18 -0
  212. package/lib/form-wizard/form-wizard.component.d.ts +8 -0
  213. package/lib/fullscreen-dialog.directive.d.ts +14 -0
  214. package/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.d.ts +58 -0
  215. package/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.d.ts +18 -0
  216. package/lib/global-search/global-search.component.d.ts +12 -0
  217. package/lib/global-search-module/global-search-module.component.d.ts +18 -0
  218. package/lib/global-search-panel/global-search-panel.component.d.ts +11 -0
  219. package/lib/header-avatar/header-avatar.component.d.ts +8 -0
  220. package/lib/header-facet-form/header-facet-form.component.d.ts +9 -0
  221. package/lib/header-facet-key-value/header-facet-key-value.component.d.ts +11 -0
  222. package/lib/header-facet-microchart/header-facet-microchart.component.d.ts +8 -0
  223. package/lib/header-facet-plain-text/header-facet-plain-text.component.d.ts +11 -0
  224. package/lib/header-facet-progress/header-facet-progress.component.d.ts +11 -0
  225. package/lib/header-facet-rate/header-facet-rate.component.d.ts +11 -0
  226. package/lib/htree-create-new/htree-create-new.component.d.ts +13 -0
  227. package/lib/hyperlink/hyperlink.component.d.ts +7 -0
  228. package/lib/index.d.ts +85 -0
  229. package/lib/inline-save-and-cancel/inline-save-and-cancel.component.d.ts +11 -0
  230. package/lib/layout-actions/layout-actions.component.d.ts +23 -0
  231. package/lib/layout-control/layout-control.component.d.ts +65 -0
  232. package/lib/layout-wizard/layout-wizard.component.d.ts +27 -0
  233. package/lib/list-item/list-item.component.d.ts +13 -0
  234. package/lib/ly-empty-space/ly-empty-space.component.d.ts +14 -0
  235. package/lib/ly-horizontal-layout/ly-horizontal-layout.component.d.ts +22 -0
  236. package/lib/ly-label/ly-label.component.d.ts +15 -0
  237. package/lib/ly-layout-container/ly-layout-container.component.d.ts +26 -0
  238. package/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.d.ts +8 -0
  239. package/lib/ly-layout-field-label/ly-layout-field-label.component.d.ts +13 -0
  240. package/lib/ly-layout-panel/ly-layout-panel.component.d.ts +25 -0
  241. package/lib/ly-line/ly-line.component.d.ts +17 -0
  242. package/lib/ly-simple-label/ly-simple-label.component.d.ts +11 -0
  243. package/lib/ly-tab-container/ly-tab-container.component.d.ts +16 -0
  244. package/lib/ly-tab-page/ly-tab-page.component.d.ts +18 -0
  245. package/lib/ly-vertical-layout/ly-vertical-layout.component.d.ts +18 -0
  246. package/lib/manage-filters-report/manage-filters-report.component.d.ts +24 -0
  247. package/lib/mask/mask.component.d.ts +9 -0
  248. package/lib/message-strip/message-strip.component.d.ts +11 -0
  249. package/lib/models/grid-data-provider.d.ts +26 -0
  250. package/lib/models/grid-view.d.ts +64 -0
  251. package/lib/models/index.d.ts +1 -0
  252. package/lib/no-data/no-data.component.d.ts +8 -0
  253. package/lib/page-with-form-handler-base.d.ts +10 -0
  254. package/lib/page-with-header/page-with-header.component.d.ts +29 -0
  255. package/lib/progress-indicator/progress-indicator.component.d.ts +8 -0
  256. package/lib/report-navigator/report-navigator.component.d.ts +21 -0
  257. package/lib/report-new-top-form/report-new-top-form.component.d.ts +18 -0
  258. package/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.d.ts +14 -0
  259. package/lib/report-search-fields-manage/report-search-fields-manage.component.d.ts +20 -0
  260. package/lib/report-search-panel-save/report-search-panel-save.component.d.ts +27 -0
  261. package/lib/report-tree-base.d.ts +61 -0
  262. package/lib/report-view-renderer.directive.d.ts +82 -0
  263. package/lib/responsive-toolbar/responsive-toolbar.component.d.ts +19 -0
  264. package/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.d.ts +24 -0
  265. package/lib/rich-text-static/rich-text-static.component.d.ts +24 -0
  266. package/lib/sap-font-class.pipe.d.ts +8 -0
  267. package/lib/sap-font.pipe.d.ts +9 -0
  268. package/lib/sap-ui-report-base.component.d.ts +133 -0
  269. package/lib/search-panel/search-panel.component.d.ts +13 -0
  270. package/lib/static-text/static-text.component.d.ts +7 -0
  271. package/lib/title/title.component.d.ts +7 -0
  272. package/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.d.ts +7 -0
  273. package/lib/ui-button/ui-button.component.d.ts +11 -0
  274. package/lib/ui-calendar/ui-calendar.component.d.ts +16 -0
  275. package/lib/ui-card-view/ui-card-view.component.d.ts +16 -0
  276. package/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.d.ts +9 -0
  277. package/lib/ui-check-box/ui-check-box.component.d.ts +12 -0
  278. package/lib/ui-color-ui/ui-color-ui.component.d.ts +16 -0
  279. package/lib/ui-container-with-button/ui-container-with-button.component.d.ts +11 -0
  280. package/lib/ui-date-range-ex/ui-date-range-ex.component.d.ts +36 -0
  281. package/lib/ui-date-time/ui-date-time.component.d.ts +24 -0
  282. package/lib/ui-editable-grid/ui-editable-grid.component.d.ts +43 -0
  283. package/lib/ui-exception-form/ui-exception-form.component.d.ts +16 -0
  284. package/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.d.ts +51 -0
  285. package/lib/ui-form-panel/ui-form-panel.component.d.ts +24 -0
  286. package/lib/ui-form-panel-toolbar/ui-form-panel-toolbar.component.d.ts +13 -0
  287. package/lib/ui-gantt-chart/ui-gantt-chart.component.d.ts +15 -0
  288. package/lib/ui-graph/ui-graph.component.d.ts +9 -0
  289. package/lib/ui-grid/ui-grid.component.d.ts +12 -0
  290. package/lib/ui-grid-columns/ui-grid-columns.component.d.ts +14 -0
  291. package/lib/ui-grid-filter-item/ui-grid-filter-item.component.d.ts +19 -0
  292. package/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.d.ts +24 -0
  293. package/lib/ui-grid-sort-item/ui-grid-sort-item.component.d.ts +25 -0
  294. package/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.d.ts +28 -0
  295. package/lib/ui-info-bar-panel/ui-info-bar-panel.component.d.ts +5 -0
  296. package/lib/ui-label/ui-label.component.d.ts +6 -0
  297. package/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.d.ts +62 -0
  298. package/lib/ui-list-view/ui-list-view.component.d.ts +15 -0
  299. package/lib/ui-matrix-view/ui-matrix-view.component.d.ts +45 -0
  300. package/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.d.ts +7 -0
  301. package/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.d.ts +6 -0
  302. package/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.d.ts +13 -0
  303. package/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.d.ts +78 -0
  304. package/lib/ui-monaco-editor/ui-monaco-editor.component.d.ts +7 -0
  305. package/lib/ui-multi-select-combo/ui-multi-select-combo.component.d.ts +21 -0
  306. package/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.d.ts +11 -0
  307. package/lib/ui-num-int-ui/ui-num-int-ui.component.d.ts +10 -0
  308. package/lib/ui-pdf-viewer/ui-pdf-viewer.component.d.ts +63 -0
  309. package/lib/ui-picture-file/ui-picture-file.component.d.ts +27 -0
  310. package/lib/ui-pictures-info/ui-pictures-info.component.d.ts +68 -0
  311. package/lib/ui-radio-group/ui-radio-group.component.d.ts +9 -0
  312. package/lib/ui-read-only-field/ui-read-only-field.component.d.ts +11 -0
  313. package/lib/ui-report-container/ui-report-container.component.d.ts +17 -0
  314. package/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.d.ts +9 -0
  315. package/lib/ui-simple-combo/ui-simple-combo.component.d.ts +13 -0
  316. package/lib/ui-single-picture/ui-single-picture.component.d.ts +13 -0
  317. package/lib/ui-switch-button/ui-switch-button.component.d.ts +11 -0
  318. package/lib/ui-table-view/ui-table-view.component.d.ts +29 -0
  319. package/lib/ui-text-area/ui-text-area.component.d.ts +15 -0
  320. package/lib/ui-text-field/ui-text-field.component.d.ts +14 -0
  321. package/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.d.ts +13 -0
  322. package/lib/ui-time-span/ui-time-span.component.d.ts +10 -0
  323. package/lib/ui-tinymce/ui-tinymce.component.d.ts +17 -0
  324. package/lib/ui-tree/ui-tree.component.d.ts +32 -0
  325. package/lib/ui-tree-view/ui-tree-view.component.d.ts +41 -0
  326. package/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.d.ts +9 -0
  327. package/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.d.ts +67 -0
  328. package/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.d.ts +16 -0
  329. package/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.d.ts +20 -0
  330. package/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.d.ts +48 -0
  331. package/lib/ul-notify-popup/ul-notify-popup.component.d.ts +41 -0
  332. package/lib/ul-toast-adapter/ul-toast-adapter.component.d.ts +13 -0
  333. package/lib/ulv-column-settings/ulv-column-settings.component.d.ts +19 -0
  334. package/lib/ulv-context-menu/ulv-context-menu.component.d.ts +24 -0
  335. package/lib/ulv-filter-settings/ulv-filter-settings.component.d.ts +19 -0
  336. package/lib/ulv-form-multi-select/ulv-form-multi-select.component.d.ts +26 -0
  337. package/lib/ulv-groupby-settings/ulv-groupby-settings.component.d.ts +16 -0
  338. package/lib/ulv-paging/ulv-paging.component.d.ts +27 -0
  339. package/lib/ulv-selection/ulv-selection.component.d.ts +43 -0
  340. package/lib/ulv-settings/ulv-settings.component.d.ts +43 -0
  341. package/lib/ulv-sort-settings/ulv-sort-settings.component.d.ts +16 -0
  342. package/lib/ulv-toolbar/ulv-toolbar.component.d.ts +47 -0
  343. package/lib/upload-file-status.pipe.d.ts +9 -0
  344. package/lib/wizard-layout.directive.d.ts +39 -0
  345. package/package.json +31 -0
  346. package/public-api.d.ts +166 -0
@@ -0,0 +1,334 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { BaseComponent, BarsaApi, getUniqueId, isFunction } from 'barsa-novin-ray-core';
3
+ import * as i0 from "@angular/core";
4
+ export class BarsaTinyemceComponent extends BaseComponent {
5
+ constructor(_el) {
6
+ super();
7
+ this._el = _el;
8
+ this.valueChange = new EventEmitter();
9
+ this.tinyInit = new EventEmitter();
10
+ this.tinyHostId = getUniqueId(2);
11
+ this.tinyMCEConfig = {};
12
+ }
13
+ ngOnChanges(simpleChanges) {
14
+ super.ngOnChanges(simpleChanges);
15
+ if (simpleChanges.value && !simpleChanges.value.firstChange) {
16
+ this.setValue(simpleChanges.value.currentValue);
17
+ }
18
+ if (simpleChanges.disable && !simpleChanges.disable.firstChange) {
19
+ const disbale = simpleChanges.disable.currentValue;
20
+ if (disbale) {
21
+ this.setDisable();
22
+ }
23
+ else {
24
+ this.setEnable();
25
+ }
26
+ }
27
+ if (simpleChanges.readonly && !simpleChanges.readonly.firstChange) {
28
+ this.setReadOnly(simpleChanges.readonly.currentValue);
29
+ }
30
+ }
31
+ ngOnInit() {
32
+ super.ngOnInit();
33
+ this.height = this._el.nativeElement.clientHeight;
34
+ }
35
+ ngAfterViewInit() {
36
+ super.ngAfterViewInit();
37
+ this.loadTinyMce();
38
+ }
39
+ ngOnDestroy() {
40
+ super.ngOnDestroy();
41
+ this.destroyTinymce();
42
+ }
43
+ loadTinyMce() {
44
+ if (!this.Setting.IsHtmlViewer) {
45
+ head.load(['Lib/tinymce/tinymce.min.js'], () => {
46
+ this.prepare();
47
+ });
48
+ }
49
+ }
50
+ initilize() {
51
+ this.tinyMCEConfig.height = '100%';
52
+ this.tinyMCEConfig.width = '100%';
53
+ this.tinyMCEConfig.selector = '#' + this.tinyHostId;
54
+ this.tinyMCEConfig.skin = 'oxide';
55
+ this.tinyMCEConfig.content_css = 'assets/Resources/fonts/Iran.css';
56
+ this.tinyMCEConfig.directionality = 'rtl';
57
+ this.tinyMCEConfig.language = 'fa_IR';
58
+ this.tinyMCEConfig.menubar = false;
59
+ this.tinyMCEConfig.statusbar = false;
60
+ this.tinyMCEConfig.paste_data_images = true;
61
+ this.tinyMCEConfig.defaultFontName = 'BarsaFont';
62
+ this.tinyMCEConfig.defaultFontSize = '12px';
63
+ this.tinyMCEConfig.inline = true;
64
+ this.tinyMCEConfig.theme_advanced_resizing = true;
65
+ this.tinyMCEConfig.images_dataimg_filter = (img) => img.hasAttribute('internal-blob');
66
+ this.tinyMCEConfig.toolbar = true;
67
+ this.tinyMCEConfig.font_formats =
68
+ 'BarsaFont=BarsaFont;Arial=arial,helvetica,sans-serif; Courier New=courier new,courier,monospace;';
69
+ this.tinyMCEConfig.fontsize_formats = '8pt 10pt 12pt 14pt 18pt 24pt 36pt';
70
+ this.tinyMCEConfig.plugins = [
71
+ `print preview importcss searchreplace autolink autoresize autosave save directionality visualblocks visualchars fullscreen
72
+ link media template codesample table charmap hr pagebreak nonbreaking anchor toc insertdatetime advlist lists wordcount
73
+ imagetools textpattern noneditable help charmap quickbars emoticons`
74
+ ];
75
+ this.tinyMCEConfig.toolbar = `defaultVerbs barsaImage | insert | forecolor backcolor fontselect fontsizeselect | undo redo | copy cut paste
76
+ | formatselect | bold italic backcolor | alignleft aligncenter alignright alignjustify ltr rtl | bullist numlist outdent indent | removeformat`;
77
+ const tinymceSettingsGlobal = window.tinymceSettings;
78
+ let tinymceSettings = BarsaApi.Common.Util.TryGetValue(this.Setting, 'JsonExtraProp.tinymceSettings');
79
+ tinymceSettings = BarsaApi.Common.Merger.Merge(tinymceSettingsGlobal, tinymceSettings);
80
+ if (!tinymceSettings && Array.isArray(tinymceSettings)) {
81
+ for (const item of tinymceSettings) {
82
+ this.tinyMCEConfig[item.key] = item.value;
83
+ }
84
+ }
85
+ if (this.isReadonly) {
86
+ this.tinyMCEConfig.menubar = false;
87
+ this.tinyMCEConfig.statusbar = false;
88
+ this.tinyMCEConfig.plugins = ['autoresize'];
89
+ // this.tinyMCEConfig.plugins = [];
90
+ this.tinyMCEConfig.toolbar = false;
91
+ }
92
+ let userSetup;
93
+ if (this.tinyMCEConfig.setup) {
94
+ userSetup = this.tinyMCEConfig.setup;
95
+ }
96
+ const defaultVerbsMenu = [];
97
+ // BEGIN: setup
98
+ this.tinyMCEConfig.setup = (ed) => {
99
+ this.editor = ed;
100
+ if (!this.isReadonly) {
101
+ if (this.defaultVerbs) {
102
+ this.defaultVerbs.forEach((item) => {
103
+ defaultVerbsMenu.push({
104
+ value: item.Html,
105
+ type: 'menuitem',
106
+ text: item.Title || item.Html.replace(/<br\s*\/?>/gi, ' '),
107
+ onAction: () => {
108
+ ed.execCommand('mceInsertRawHTML', false, item.Html);
109
+ }
110
+ });
111
+ });
112
+ }
113
+ ed.ui.registry.addSplitButton('barsaImage', {
114
+ text: 'insert',
115
+ icon: 'image',
116
+ tooltip: 'Insert Image As Base64',
117
+ onAction: () => {
118
+ BarsaApi.Common.Async.Waterfall('Tinemce.EmbedImage', {
119
+ openFileDialog: this.ShowOpenFileDialog.bind(this),
120
+ insertBase64: this.InsertBase64.bind(this)
121
+ }, (err, result) => {
122
+ BarsaApi.Common.Async.Finalize(err, result);
123
+ });
124
+ },
125
+ onItemAction: () => {
126
+ BarsaApi.Common.Async.Waterfall('Tinemce.UploadToDatabase', {
127
+ openFileDialog: this.ShowUploadWindow.bind(this)
128
+ }, (err, result) => {
129
+ BarsaApi.Common.Async.Finalize(err, result);
130
+ });
131
+ },
132
+ fetch: (callback) => {
133
+ const items = [
134
+ {
135
+ type: 'choiceitem',
136
+ text: 'upload',
137
+ icon: 'image',
138
+ tooltip: 'Upload Image',
139
+ value: 'upload'
140
+ }
141
+ ];
142
+ callback(items);
143
+ }
144
+ });
145
+ ed.ui.registry.addMenuButton('defaultVerbs', {
146
+ text: 'عبارتهای پیش فرض',
147
+ fetch: (callback) => {
148
+ callback(defaultVerbsMenu);
149
+ }
150
+ });
151
+ if (isFunction(window.tinymceSetup)) {
152
+ window.tinymceSetup.call(this, this, ed);
153
+ }
154
+ }
155
+ let hasInit = false;
156
+ ed.on('init', () => {
157
+ this.wysiwygIntialized = true;
158
+ this.intializationInProgress = false;
159
+ if (typeof this.value !== 'undefined') {
160
+ this.setValue(this.value);
161
+ }
162
+ if (this.tinyMCEConfig.defaultFontName) {
163
+ ed.execCommand('FontName', false, this.tinyMCEConfig.defaultFontName);
164
+ }
165
+ if (this.tinyMCEConfig.defaultFontSize) {
166
+ ed.execCommand('FontSize', false, this.tinyMCEConfig.defaultFontSize);
167
+ }
168
+ if (this.isReadonly) {
169
+ this.setReadOnly(this.isReadonly);
170
+ }
171
+ // This piece of code solves the problem of change propagation so that
172
+ // there is no need to call triggerSave
173
+ const setContent = ed.setContent;
174
+ ed.setContent = (...args) => {
175
+ setContent.apply(ed, args);
176
+ ed.fire('change', {});
177
+ };
178
+ hasInit = true;
179
+ this.tinyInit.emit();
180
+ const iframEl = ed.iframeElement;
181
+ if (iframEl) {
182
+ iframEl.addEventListener('load', this._onLoadIframe.bind(this));
183
+ }
184
+ });
185
+ // Catch and propagate the change event
186
+ let oldContent = null;
187
+ ed.on('change keyup', () => {
188
+ const newval = ed.getContent();
189
+ if (newval === oldContent) {
190
+ return;
191
+ }
192
+ oldContent = newval;
193
+ if (!hasInit) {
194
+ return;
195
+ }
196
+ ed.save();
197
+ this.editorValue = newval;
198
+ this.valueChange.emit(newval);
199
+ // this.context.fireEvent('change', this, newval, oldval, {});
200
+ });
201
+ ed.on('focus', () => {
202
+ // TODO
203
+ });
204
+ if (userSetup) {
205
+ userSetup(ed);
206
+ }
207
+ };
208
+ }
209
+ ShowUploadWindow() { }
210
+ ShowOpenFileDialog(doReturn) {
211
+ const input = document.createElement('input');
212
+ input.setAttribute('type', 'file');
213
+ input.setAttribute('accept', 'image/*');
214
+ input.onchange = () => {
215
+ const file = input.files[0];
216
+ const reader = new FileReader();
217
+ reader.onload = () => {
218
+ let base64 = reader.result;
219
+ base64 = base64.split(',')[1];
220
+ doReturn(null, base64);
221
+ };
222
+ reader.readAsDataURL(file);
223
+ };
224
+ input.click();
225
+ }
226
+ InsertBase64(base64, doReturn) {
227
+ this.editor.execCommand('mceInsertRawHTML', false, '<img src=data:image/png;base64,' + base64 + ' />');
228
+ doReturn();
229
+ }
230
+ getValue() {
231
+ let res = null;
232
+ if (this.wysiwygIntialized) {
233
+ const ed = tinymce.get(this.tinyHostId);
234
+ if (ed) {
235
+ res = ed.getContent();
236
+ }
237
+ }
238
+ return res;
239
+ }
240
+ setValue(value) {
241
+ this.value = value;
242
+ this.setValueTiny();
243
+ }
244
+ setValueTiny() {
245
+ if (this.wysiwygIntialized) {
246
+ const ed = tinymce.get(this.tinyHostId);
247
+ if (ed) {
248
+ ed.setContent(this.value);
249
+ }
250
+ }
251
+ return this.value;
252
+ }
253
+ focus() {
254
+ if (this.isReadonly) {
255
+ return this;
256
+ }
257
+ if (this.wysiwygIntialized) {
258
+ tinymce.execCommand('mceFocus', false, 'id_of_textarea');
259
+ }
260
+ return this;
261
+ }
262
+ setEnable() {
263
+ if (this.wysiwygIntialized) {
264
+ const ed = tinymce.get(this.tinyHostId);
265
+ ed.getBody().setAttribute('contenteditable', true);
266
+ }
267
+ }
268
+ setDisable() {
269
+ if (this.wysiwygIntialized) {
270
+ const ed = tinymce.get(this.tinyHostId);
271
+ ed.getBody().setAttribute('contenteditable', false);
272
+ }
273
+ }
274
+ setReadOnly(readOnly) {
275
+ if (this.wysiwygIntialized) {
276
+ const ed = tinymce.get(this.tinyHostId);
277
+ ed.getBody().setAttribute('contenteditable', !readOnly);
278
+ if (readOnly) {
279
+ $('.tox-editor-header').hide();
280
+ }
281
+ else {
282
+ $('.tox-editor-header').hide();
283
+ }
284
+ }
285
+ }
286
+ destroyTinymce() {
287
+ if (this.Setting.IsHtmlViewer) {
288
+ return;
289
+ }
290
+ const ed = tinymce.get(this.tinyHostId);
291
+ if (ed) {
292
+ if (ed.iframeElement) {
293
+ ed.iframeElement.removeAllListeners();
294
+ }
295
+ ed.destroy(false);
296
+ }
297
+ }
298
+ prepare() {
299
+ this.initilize();
300
+ tinymce.init(this.tinyMCEConfig);
301
+ this.intializationInProgress = false;
302
+ this.wysiwygIntialized = true;
303
+ }
304
+ _onLoadIframe() {
305
+ this.value = this.editorValue;
306
+ // const ed = tinymce.get(this.tinyHostId);
307
+ // this._removeOverflow(ed);
308
+ // this.destroyTinymce();
309
+ // this.prepare();
310
+ }
311
+ _removeOverflow(ed) {
312
+ const html = ed.iframeElement?.contentDocument?.querySelector('html');
313
+ if (html) {
314
+ html.style.overflow = 'hidden';
315
+ }
316
+ }
317
+ }
318
+ BarsaTinyemceComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaTinyemceComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
319
+ BarsaTinyemceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: BarsaTinyemceComponent, selector: "bsu-barsa-tinyemce", inputs: { Setting: "Setting", isReadonly: "isReadonly", value: "value" }, outputs: { valueChange: "valueChange", tinyInit: "tinyInit" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"fd-input tinywrapper\" [style.min-height.px]=\"height\" [id]=\"tinyHostId\"></div>\n\n<!-- <textarea [id]=\"tinyHostId\" style=\"height: 100%; visibility: hidden\"></textarea> -->\n", styles: [":host{display:block;width:100%;height:100%}.tinywrapper{overflow:auto}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
320
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaTinyemceComponent, decorators: [{
321
+ type: Component,
322
+ args: [{ selector: 'bsu-barsa-tinyemce', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"fd-input tinywrapper\" [style.min-height.px]=\"height\" [id]=\"tinyHostId\"></div>\n\n<!-- <textarea [id]=\"tinyHostId\" style=\"height: 100%; visibility: hidden\"></textarea> -->\n", styles: [":host{display:block;width:100%;height:100%}.tinywrapper{overflow:auto}\n"] }]
323
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { Setting: [{
324
+ type: Input
325
+ }], isReadonly: [{
326
+ type: Input
327
+ }], value: [{
328
+ type: Input
329
+ }], valueChange: [{
330
+ type: Output
331
+ }], tinyInit: [{
332
+ type: Output
333
+ }] } });
334
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtdGlueWVtY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdGlueWVtY2UvYmFyc2EtdGlueWVtY2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdGlueWVtY2UvYmFyc2EtdGlueWVtY2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRVQsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQVd4RixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsYUFBYTtJQWlCckQsWUFBc0IsR0FBZTtRQUNqQyxLQUFLLEVBQUUsQ0FBQztRQURVLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFiM0IsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3RDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3hDLGVBQVUsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsa0JBQWEsR0FBUSxFQUFFLENBQUM7SUFZeEIsQ0FBQztJQUNELFdBQVcsQ0FBQyxhQUE0QjtRQUNwQyxLQUFLLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pDLElBQUksYUFBYSxDQUFDLEtBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ3pELElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNuRDtRQUNELElBQUksYUFBYSxD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QUE0QjtRQUM1Qix5QkFBeUI7UUFDekIsa0JBQWtCO0lBQ3RCLENBQUM7SUFFTyxlQUFlLENBQUMsRUFBTztRQUMzQixNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEUsSUFBSSxJQUFJLEVBQUU7WUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7U0FDbEM7SUFDTCxDQUFDOzttSEFoV1Esc0JBQXNCO3VHQUF0QixzQkFBc0IsK09DeEJuQyxvTUFHQTsyRkRxQmEsc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNJLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNO2lHQUd0QyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBCYXJzYUFwaSwgZ2V0VW5pcXVlSWQsIGlzRnVuY3Rpb24gfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5kZWNsYXJlIGNvbnN0IHdpbmRvdzogYW55O1xuZGVjbGFyZSBjb25zdCB0aW55bWNlOiBhbnk7XG5kZWNsYXJlIGNvbnN0IGhlYWQ6IGFueTtcbmRlY2xhcmUgY29uc3QgJDogYW55O1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtYmFyc2EtdGlueWVtY2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS10aW55ZW1jZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYmFyc2EtdGlueWVtY2UuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBCYXJzYVRpbnllbWNlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKSBTZXR0aW5nOiBhbnk7XG4gICAgQElucHV0KCkgaXNSZWFkb25seTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSB2YWx1ZTogYW55O1xuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSB0aW55SW5pdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICB0aW55SG9zdElkID0gZ2V0VW5pcXVlSWQoMik7XG4gICAgdGlueU1DRUNvbmZpZzogYW55ID0ge307XG4gICAgZWRpdG9yOiBhbnk7XG4gICAgZGVmYXVsdFZlcmJzOiBhbnk7XG4gICAgd3lzaXd5Z0ludGlhbGl6ZWQ6IGJvb2xlYW47XG4gICAgaW50aWFsaXphdGlvbkluUHJvZ3Jlc3M6IGJvb2xlYW47XG4gICAgZWRpdG9yVmFsdWU6IHN0cmluZztcblxuICAgIGlmcmFtQm9keUlubmVySHRtbDogc3RyaW5nO1xuICAgIGhlaWdodDogbnVtYmVyO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9lbDogRWxlbWVudFJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbiAgICBuZ09uQ2hhbmdlcyhzaW1wbGVDaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25DaGFuZ2VzKHNpbXBsZUNoYW5nZXMpO1xuICAgICAgICBpZiAoc2ltcGxlQ2hhbmdlcy52YWx1ZSAmJiAhc2ltcGxlQ2hhbmdlcy52YWx1ZS5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZShzaW1wbGVDaGFuZ2VzLnZhbHVlLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNpbXBsZUNoYW5nZXMuZGlzYWJsZSAmJiAhc2ltcGxlQ2hhbmdlcy5kaXNhYmxlLmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICBjb25zdCBkaXNiYWxlID0gc2ltcGxlQ2hhbmdlcy5kaXNhYmxlLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIGlmIChkaXNiYWxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXREaXNhYmxlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0RW5hYmxlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNpbXBsZUNoYW5nZXMucmVhZG9ubHkgJiYgIXNpbXBsZUNoYW5nZXMucmVhZG9ubHkuZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0UmVhZE9ubHkoc2ltcGxlQ2hhbmdlcy5yZWFkb25seS5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmhlaWdodCA9ICh0aGlzLl9lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5jbGllbnRIZWlnaHQ7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICAgICAgdGhpcy5sb2FkVGlueU1jZSgpO1xuICAgIH1cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5kZXN0cm95VGlueW1jZSgpO1xuICAgIH1cbiAgICBsb2FkVGlueU1jZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLlNldHRpbmcuSXNIdG1sVmlld2VyKSB7XG4gICAgICAgICAgICBoZWFkLmxvYWQoWydMaWIvdGlueW1jZS90aW55bWNlLm1pbi5qcyddLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmVwYXJlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluaXRpbGl6ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLmhlaWdodCA9ICcxMDAlJztcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLndpZHRoID0gJzEwMCUnO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcuc2VsZWN0b3IgPSAnIycgKyB0aGlzLnRpbnlIb3N0SWQ7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5za2luID0gJ294aWRlJztcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLmNvbnRlbnRfY3NzID0gJ2Fzc2V0cy9SZXNvdXJjZXMvZm9udHMvSXJhbi5jc3MnO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcuZGlyZWN0aW9uYWxpdHkgPSAncnRsJztcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLmxhbmd1YWdlID0gJ2ZhX0lSJztcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLm1lbnViYXIgPSBmYWxzZTtcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLnN0YXR1c2JhciA9IGZhbHNlO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcucGFzdGVfZGF0YV9pbWFnZXMgPSB0cnVlO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcuZGVmYXVsdEZvbnROYW1lID0gJ0JhcnNhRm9udCc7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5kZWZhdWx0Rm9udFNpemUgPSAnMTJweCc7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5pbmxpbmUgPSB0cnVlO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcudGhlbWVfYWR2YW5jZWRfcmVzaXppbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcuaW1hZ2VzX2RhdGFpbWdfZmlsdGVyID0gKGltZykgPT4gaW1nLmhhc0F0dHJpYnV0ZSgnaW50ZXJuYWwtYmxvYicpO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcudG9vbGJhciA9IHRydWU7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5mb250X2Zvcm1hdHMgPVxuICAgICAgICAgICAgJ0JhcnNhRm9udD1CYXJzYUZvbnQ7QXJpYWw9YXJpYWwsaGVsdmV0aWNhLHNhbnMtc2VyaWY7IENvdXJpZXIgTmV3PWNvdXJpZXIgbmV3LGNvdXJpZXIsbW9ub3NwYWNlOyc7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5mb250c2l6ZV9mb3JtYXRzID0gJzhwdCAxMHB0IDEycHQgMTRwdCAxOHB0IDI0cHQgMzZwdCc7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5wbHVnaW5zID0gW1xuICAgICAgICAgICAgYHByaW50IHByZXZpZXcgaW1wb3J0Y3NzIHNlYXJjaHJlcGxhY2UgYXV0b2xpbmsgYXV0b3Jlc2l6ZSBhdXRvc2F2ZSBzYXZlIGRpcmVjdGlvbmFsaXR5IHZpc3VhbGJsb2NrcyB2aXN1YWxjaGFycyBmdWxsc2NyZWVuIFxuICAgICAgICAgICAgbGluayBtZWRpYSB0ZW1wbGF0ZSBjb2Rlc2FtcGxlIHRhYmxlIGNoYXJtYXAgaHIgcGFnZWJyZWFrIG5vbmJyZWFraW5nIGFuY2hvciB0b2MgaW5zZXJ0ZGF0ZXRpbWUgYWR2bGlzdCBsaXN0cyB3b3JkY291bnQgXG4gICAgICAgICAgICBpbWFnZXRvb2xzIHRleHRwYXR0ZXJuIG5vbmVkaXRhYmxlIGhlbHAgY2hhcm1hcCBxdWlja2JhcnMgZW1vdGljb25zYFxuICAgICAgICBdO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcudG9vbGJhciA9IGBkZWZhdWx0VmVyYnMgYmFyc2FJbWFnZSB8IGluc2VydCB8IGZvcmVjb2xvciBiYWNrY29sb3IgZm9udHNlbGVjdCBmb250c2l6ZXNlbGVjdCB8IHVuZG8gcmVkbyB8IGNvcHkgY3V0IHBhc3RlIFxuICAgICAgICAgICAgfCBmb3JtYXRzZWxlY3QgfCBib2xkIGl0YWxpYyBiYWNrY29sb3IgIHwgYWxpZ25sZWZ0IGFsaWduY2VudGVyIGFsaWducmlnaHQgYWxpZ25qdXN0aWZ5IGx0ciBydGwgIHwgYnVsbGlzdCBudW1saXN0IG91dGRlbnQgaW5kZW50IHwgcmVtb3ZlZm9ybWF0YDtcblxuICAgICAgICBjb25zdCB0aW55bWNlU2V0dGluZ3NHbG9iYWwgPSB3aW5kb3cudGlueW1jZVNldHRpbmdzO1xuICAgICAgICBsZXQgdGlueW1jZVNldHRpbmdzID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodGhpcy5TZXR0aW5nLCAnSnNvbkV4dHJhUHJvcC50aW55bWNlU2V0dGluZ3MnKTtcbiAgICAgICAgdGlueW1jZVNldHRpbmdzID0gQmFyc2FBcGkuQ29tbW9uLk1lcmdlci5NZXJnZSh0aW55bWNlU2V0dGluZ3NHbG9iYWwsIHRpbnltY2VTZXR0aW5ncyk7XG4gICAgICAgIGlmICghdGlueW1jZVNldHRpbmdzICYmIEFycmF5LmlzQXJyYXkodGlueW1jZVNldHRpbmdzKSkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHRpbnltY2VTZXR0aW5ncykge1xuICAgICAgICAgICAgICAgIHRoaXMudGlueU1DRUNvbmZpZ1tpdGVtLmtleV0gPSBpdGVtLnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNSZWFkb25seSkge1xuICAgICAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLm1lbnViYXIgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5zdGF0dXNiYXIgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5wbHVnaW5zID0gWydhdXRvcmVzaXplJ107XG4gICAgICAgICAgICAvLyB0aGlzLnRpbnlNQ0VDb25maWcucGx1Z2lucyA9IFtdO1xuICAgICAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLnRvb2xiYXIgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCB1c2VyU2V0dXA6IChlZGl0b3I6IGFueSkgPT4gdm9pZDtcblxuICAgICAgICBpZiAodGhpcy50aW55TUNFQ29uZmlnLnNldHVwKSB7XG4gICAgICAgICAgICB1c2VyU2V0dXAgPSB0aGlzLnRpbnlNQ0VDb25maWcuc2V0dXA7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGVmYXVsdFZlcmJzTWVudTogYW55ID0gW107XG4gICAgICAgIC8vIEJFR0lOOiBzZXR1cFxuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcuc2V0dXAgPSAoZWQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZWRpdG9yID0gZWQ7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5pc1JlYWRvbmx5KSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGVmYXVsdFZlcmJzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmYXVsdFZlcmJzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWZXJic01lbnUucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0uSHRtbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnbWVudWl0ZW0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IGl0ZW0uVGl0bGUgfHwgaXRlbS5IdG1sLnJlcGxhY2UoLzxiclxccypcXC8/Pi9naSwgJyAnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZC5leGVjQ29tbWFuZCgnbWNlSW5zZXJ0UmF3SFRNTCcsIGZhbHNlLCBpdGVtLkh0bWwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWQudWkucmVnaXN0cnkuYWRkU3BsaXRCdXR0b24oJ2JhcnNhSW1hZ2UnLCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQ6ICdpbnNlcnQnLFxuICAgICAgICAgICAgICAgICAgICBpY29uOiAnaW1hZ2UnLFxuICAgICAgICAgICAgICAgICAgICB0b29sdGlwOiAnSW5zZXJ0IEltYWdlIEFzIEJhc2U2NCcsXG4gICAgICAgICAgICAgICAgICAgIG9uQWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uQXN5bmMuV2F0ZXJmYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaW5lbWNlLkVtYmVkSW1hZ2UnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlbkZpbGVEaWFsb2c6IHRoaXMuU2hvd09wZW5GaWxlRGlhbG9nLmJpbmQodGhpcyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc2VydEJhc2U2NDogdGhpcy5JbnNlcnRCYXNlNjQuYmluZCh0aGlzKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVyciwgcmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhcnNhQXBpLkNvbW1vbi5Bc3luYy5GaW5hbGl6ZShlcnIsIHJlc3VsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgb25JdGVtQWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uQXN5bmMuV2F0ZXJmYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaW5lbWNlLlVwbG9hZFRvRGF0YWJhc2UnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlbkZpbGVEaWFsb2c6IHRoaXMuU2hvd1VwbG9hZFdpbmRvdy5iaW5kKHRoaXMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXJyLCByZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLkFzeW5jLkZpbmFsaXplKGVyciwgcmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBmZXRjaDogKGNhbGxiYWNrKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtcyA9IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdjaG9pY2VpdGVtJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogJ3VwbG9hZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdpbWFnZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXA6ICdVcGxvYWQgSW1hZ2UnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ3VwbG9hZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soaXRlbXMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBlZC51aS5yZWdpc3RyeS5hZGRNZW51QnV0dG9uKCdkZWZhdWx0VmVyYnMnLCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQ6ICfYudio2KfYsdiq2YfYp9uMINm+24zYtCDZgdix2LYnLFxuICAgICAgICAgICAgICAgICAgICBmZXRjaDogKGNhbGxiYWNrKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhkZWZhdWx0VmVyYnNNZW51KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmIChpc0Z1bmN0aW9uKHdpbmRvdy50aW55bWNlU2V0dXApKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy50aW55bWNlU2V0dXAuY2FsbCh0aGlzLCB0aGlzLCBlZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IGhhc0luaXQgPSBmYWxzZTtcbiAgICAgICAgICAgIGVkLm9uKCdpbml0JywgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMud3lzaXd5Z0ludGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuaW50aWFsaXphdGlvbkluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0VmFsdWUodGhpcy52YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRpbnlNQ0VDb25maWcuZGVmYXVsdEZvbnROYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIGVkLmV4ZWNDb21tYW5kKCdGb250TmFtZScsIGZhbHNlLCB0aGlzLnRpbnlNQ0VDb25maWcuZGVmYXVsdEZvbnROYW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudGlueU1DRUNvbmZpZy5kZWZhdWx0Rm9udFNpemUpIHtcbiAgICAgICAgICAgICAgICAgICAgZWQuZXhlY0NvbW1hbmQoJ0ZvbnRTaXplJywgZmFsc2UsIHRoaXMudGlueU1DRUNvbmZpZy5kZWZhdWx0Rm9udFNpemUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1JlYWRvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0UmVhZE9ubHkodGhpcy5pc1JlYWRvbmx5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gVGhpcyBwaWVjZSBvZiBjb2RlIHNvbHZlcyB0aGUgcHJvYmxlbSBvZiBjaGFuZ2UgcHJvcGFnYXRpb24gc28gdGhhdFxuICAgICAgICAgICAgICAgIC8vIHRoZXJlIGlzIG5vIG5lZWQgdG8gY2FsbCB0cmlnZ2VyU2F2ZVxuICAgICAgICAgICAgICAgIGNvbnN0IHNldENvbnRlbnQgPSBlZC5zZXRDb250ZW50O1xuICAgICAgICAgICAgICAgIGVkLnNldENvbnRlbnQgPSAoLi4uYXJncykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzZXRDb250ZW50LmFwcGx5KGVkLCBhcmdzKTtcbiAgICAgICAgICAgICAgICAgICAgZWQuZmlyZSgnY2hhbmdlJywge30pO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgaGFzSW5pdCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy50aW55SW5pdC5lbWl0KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgaWZyYW1FbDogSFRNTElGcmFtZUVsZW1lbnQgPSBlZC5pZnJhbWVFbGVtZW50O1xuICAgICAgICAgICAgICAgIGlmIChpZnJhbUVsKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmcmFtRWwuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHRoaXMuX29uTG9hZElmcmFtZS5iaW5kKHRoaXMpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgLy8gQ2F0Y2ggYW5kIHByb3BhZ2F0ZSB0aGUgY2hhbmdlIGV2ZW50XG4gICAgICAgICAgICBsZXQgb2xkQ29udGVudCA9IG51bGw7XG4gICAgICAgICAgICBlZC5vbignY2hhbmdlIGtleXVwJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld3ZhbCA9IGVkLmdldENvbnRlbnQoKTtcbiAgICAgICAgICAgICAgICBpZiAobmV3dmFsID09PSBvbGRDb250ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBvbGRDb250ZW50ID0gbmV3dmFsO1xuICAgICAgICAgICAgICAgIGlmICghaGFzSW5pdCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZWQuc2F2ZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuZWRpdG9yVmFsdWUgPSBuZXd2YWw7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KG5ld3ZhbCk7XG4gICAgICAgICAgICAgICAgLy8gdGhpcy5jb250ZXh0LmZpcmVFdmVudCgnY2hhbmdlJywgdGhpcywgbmV3dmFsLCBvbGR2YWwsIHt9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBlZC5vbignZm9jdXMnLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gVE9ET1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmICh1c2VyU2V0dXApIHtcbiAgICAgICAgICAgICAgICB1c2VyU2V0dXAoZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIFNob3dVcGxvYWRXaW5kb3coKTogdm9pZCB7fVxuICAgIFNob3dPcGVuRmlsZURpYWxvZyhkb1JldHVybik6IHZvaWQge1xuICAgICAgICBjb25zdCBpbnB1dDogYW55ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCd0eXBlJywgJ2ZpbGUnKTtcbiAgICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCdhY2NlcHQnLCAnaW1hZ2UvKicpO1xuXG4gICAgICAgIGlucHV0Lm9uY2hhbmdlID0gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmlsZSA9IGlucHV0LmZpbGVzWzBdO1xuXG4gICAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgYmFzZTY0ID0gcmVhZGVyLnJlc3VsdCBhcyBzdHJpbmc7XG4gICAgICAgICAgICAgICAgYmFzZTY0ID0gYmFzZTY0LnNwbGl0KCcsJylbMV07XG4gICAgICAgICAgICAgICAgZG9SZXR1cm4obnVsbCwgYmFzZTY0KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICAgICAgfTtcblxuICAgICAgICBpbnB1dC5jbGljaygpO1xuICAgIH1cbiAgICBJbnNlcnRCYXNlNjQoYmFzZTY0LCBkb1JldHVybik6IHZvaWQge1xuICAgICAgICB0aGlzLmVkaXRvci5leGVjQ29tbWFuZCgnbWNlSW5zZXJ0UmF3SFRNTCcsIGZhbHNlLCAnPGltZyBzcmM9ZGF0YTppbWFnZS9wbmc7YmFzZTY0LCcgKyBiYXNlNjQgKyAnIC8+Jyk7XG4gICAgICAgIGRvUmV0dXJuKCk7XG4gICAgfVxuICAgIGdldFZhbHVlKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBsZXQgcmVzID0gbnVsbDtcbiAgICAgICAgaWYgKHRoaXMud3lzaXd5Z0ludGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGVkID0gdGlueW1jZS5nZXQodGhpcy50aW55SG9zdElkKTtcbiAgICAgICAgICAgIGlmIChlZCkge1xuICAgICAgICAgICAgICAgIHJlcyA9IGVkLmdldENvbnRlbnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuICAgIHNldFZhbHVlKHZhbHVlKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXRWYWx1ZVRpbnkoKTtcbiAgICB9XG4gICAgc2V0VmFsdWVUaW55KCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLnd5c2l3eWdJbnRpYWxpemVkKSB7XG4gICAgICAgICAgICBjb25zdCBlZCA9IHRpbnltY2UuZ2V0KHRoaXMudGlueUhvc3RJZCk7XG4gICAgICAgICAgICBpZiAoZWQpIHtcbiAgICAgICAgICAgICAgICBlZC5zZXRDb250ZW50KHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICAgIH1cbiAgICBmb2N1cygpOiBhbnkge1xuICAgICAgICBpZiAodGhpcy5pc1JlYWRvbmx5KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnd5c2l3eWdJbnRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aW55bWNlLmV4ZWNDb21tYW5kKCdtY2VGb2N1cycsIGZhbHNlLCAnaWRfb2ZfdGV4dGFyZWEnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBzZXRFbmFibGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnd5c2l3eWdJbnRpYWxpemVkKSB7XG4gICAgICAgICAgICBjb25zdCBlZCA9IHRpbnltY2UuZ2V0KHRoaXMudGlueUhvc3RJZCk7XG4gICAgICAgICAgICBlZC5nZXRCb2R5KCkuc2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldERpc2FibGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnd5c2l3eWdJbnRpYWxpemVkKSB7XG4gICAgICAgICAgICBjb25zdCBlZCA9IHRpbnltY2UuZ2V0KHRoaXMudGlueUhvc3RJZCk7XG4gICAgICAgICAgICBlZC5nZXRCb2R5KCkuc2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnLCBmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc2V0UmVhZE9ubHkocmVhZE9ubHkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMud3lzaXd5Z0ludGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGVkID0gdGlueW1jZS5nZXQodGhpcy50aW55SG9zdElkKTtcbiAgICAgICAgICAgIGVkLmdldEJvZHkoKS5zZXRBdHRyaWJ1dGUoJ2NvbnRlbnRlZGl0YWJsZScsICFyZWFkT25seSk7XG4gICAgICAgICAgICBpZiAocmVhZE9ubHkpIHtcbiAgICAgICAgICAgICAgICAkKCcudG94LWVkaXRvci1oZWFkZXInKS5oaWRlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICQoJy50b3gtZWRpdG9yLWhlYWRlcicpLmhpZGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRlc3Ryb3lUaW55bWNlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5TZXR0aW5nLklzSHRtbFZpZXdlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVkID0gdGlueW1jZS5nZXQodGhpcy50aW55SG9zdElkKTtcbiAgICAgICAgaWYgKGVkKSB7XG4gICAgICAgICAgICBpZiAoZWQuaWZyYW1lRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGVkLmlmcmFtZUVsZW1lbnQucmVtb3ZlQWxsTGlzdGVuZXJzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlZC5kZXN0cm95KGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcml2YXRlIHByZXBhcmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5pdGlsaXplKCk7XG4gICAgICAgIHRpbnltY2UuaW5pdCh0aGlzLnRpbnlNQ0VDb25maWcpO1xuICAgICAgICB0aGlzLmludGlhbGl6YXRpb25JblByb2dyZXNzID0gZmFsc2U7XG4gICAgICAgIHRoaXMud3lzaXd5Z0ludGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cbiAgICBwcml2YXRlIF9vbkxvYWRJZnJhbWUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmVkaXRvclZhbHVlO1xuICAgICAgICAvLyBjb25zdCBlZCA9IHRpbnltY2UuZ2V0KHRoaXMudGlueUhvc3RJZCk7XG4gICAgICAgIC8vIHRoaXMuX3JlbW92ZU92ZXJmbG93KGVkKTtcbiAgICAgICAgLy8gdGhpcy5kZXN0cm95VGlueW1jZSgpO1xuICAgICAgICAvLyB0aGlzLnByZXBhcmUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZW1vdmVPdmVyZmxvdyhlZDogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGh0bWwgPSBlZC5pZnJhbWVFbGVtZW50Py5jb250ZW50RG9jdW1lbnQ/LnF1ZXJ5U2VsZWN0b3IoJ2h0bWwnKTtcbiAgICAgICAgaWYgKGh0bWwpIHtcbiAgICAgICAgICAgIGh0bWwuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmZC1pbnB1dCB0aW55d3JhcHBlclwiIFtzdHlsZS5taW4taGVpZ2h0LnB4XT1cImhlaWdodFwiIFtpZF09XCJ0aW55SG9zdElkXCI+PC9kaXY+XG5cbjwhLS0gPHRleHRhcmVhIFtpZF09XCJ0aW55SG9zdElkXCIgc3R5bGU9XCJoZWlnaHQ6IDEwMCU7IHZpc2liaWxpdHk6IGhpZGRlblwiPjwvdGV4dGFyZWE+IC0tPlxuIl19
@@ -0,0 +1,120 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { BaseViewItemPropsComponent } from 'barsa-novin-ray-core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/cdk/drag-drop";
6
+ import * as i3 from "@fundamental-ngx/core/busy-indicator";
7
+ import * as i4 from "@fundamental-ngx/core/button";
8
+ import * as i5 from "@fundamental-ngx/core/icon";
9
+ import * as i6 from "@fundamental-ngx/core/list";
10
+ import * as i7 from "@fundamental-ngx/platform/button";
11
+ import * as i8 from "../ulv-context-menu/ulv-context-menu.component";
12
+ import * as i9 from "../htree-create-new/htree-create-new.component";
13
+ import * as i10 from "../apply-conditional-formmatings.directive";
14
+ export class BarsaTreeItemComponent extends BaseViewItemPropsComponent {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.hasArrowIcon = true;
18
+ /* eslint-disable */
19
+ this.createNew = new EventEmitter();
20
+ this.select = new EventEmitter();
21
+ this.viewClick = new EventEmitter();
22
+ this.loadChildren = new EventEmitter();
23
+ this.dragMoved = new EventEmitter();
24
+ this.rowBtns = [
25
+ { Icon: 'add', Action: 'console.log("add btn clicked")' },
26
+ {
27
+ Icon: 'delete',
28
+ Action: 'console.log("delete btn clicked")'
29
+ }
30
+ ];
31
+ }
32
+ ngOnInit() {
33
+ super.ngOnInit();
34
+ if (!this.node.icon.startsWith('http')) {
35
+ this.hideIcon = true;
36
+ }
37
+ }
38
+ onListItemClick(liEl, e) {
39
+ if (e.target === liEl?.elementRef?.nativeElement) {
40
+ this.onRowCheck();
41
+ }
42
+ }
43
+ onRowCheck() {
44
+ this.select.emit({ node: this.node, index: this.index });
45
+ }
46
+ onUlvCommand() {
47
+ this.ulvCommand.emit({ mo: this.node.Data, index: this.index });
48
+ }
49
+ onNodeViewClick() {
50
+ this.viewClick.emit({ node: this.node.Data, index: this.index });
51
+ }
52
+ onLoadChildren(e) {
53
+ this.loadChildren.emit(this.node.Data);
54
+ e.stopPropagation();
55
+ e.preventDefault();
56
+ }
57
+ onExpandDblClick(e) {
58
+ e.stopPropagation();
59
+ e.preventDefault();
60
+ }
61
+ onCreateNew(e) {
62
+ if (!this.isChecked) {
63
+ this.onRowCheck();
64
+ }
65
+ this.createNew.emit(e);
66
+ }
67
+ onRowAction(commandBody) {
68
+ const command = new Function(commandBody);
69
+ command();
70
+ }
71
+ onDragMoved($event) {
72
+ if (this.isHetro) {
73
+ return;
74
+ }
75
+ this.dragMoved.emit($event);
76
+ }
77
+ }
78
+ BarsaTreeItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaTreeItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
79
+ BarsaTreeItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: BarsaTreeItemComponent, selector: "bsu-barsa-tree-item", inputs: { node: "node", selectedNode: "selectedNode", relationList: "relationList", hasDragDrop: "hasDragDrop", hasArrowIcon: "hasArrowIcon", collapseIcon: "collapseIcon", loading: "loading", hasChildren: "hasChildren", isExpand: "isExpand", children: "children", parentNode: "parentNode", text: "text", isHetro: "isHetro" }, outputs: { createNew: "createNew", select: "select", viewClick: "viewClick", loadChildren: "loadChildren", dragMoved: "dragMoved" }, usesInheritance: true, ngImport: i0, template: "<li\n fd-list-item\n #liEl\n [applyConditionalFormats]=\"conditionalFormats\"\n [mo]=\"node.Data\"\n [hostEl]=\"liEl\"\n [focusable]=\"true\"\n [attr.level]=\"level\"\n [class.root-group]=\"level === 1\"\n [selected]=\"isChecked\"\n (dblclick)=\"onNodeViewClick()\"\n cdkDrag\n [cdkDragData]=\"node.Data.Id\"\n (cdkDragMoved)=\"onDragMoved($event)\"\n (click)=\"onListItemClick(liEl, $event)\"\n>\n <div (click)=\"onRowCheck()\" class=\"spacer\" [style.width]=\"(level - 1) * 4 + 'rem'\"></div>\n <fd-icon *ngIf=\"hasDragDrop && !isHetro\" glyph=\"grip\" font=\"BusinessSuiteInAppSymbols\" cdkDragHandle></fd-icon>\n\n <div (click)=\"onRowCheck()\" style=\"display: flex; width: 100%; justify-content: space-between\">\n <div style=\"display: flex\">\n <ng-container *ngIf=\"hasArrowIcon\">\n <div class=\"arrow-container\" *ngIf=\"hasChildren; else emptyBtn\">\n <button\n [attr.rtl]=\"rtl\"\n fd-button\n fdType=\"transparent\"\n [glyph]=\"hasChildren ? (isExpand ? 'less' : collapseIcon) : ''\"\n (click)=\"onLoadChildren($event)\"\n (dblclick)=\"onExpandDblClick($event)\"\n ></button>\n </div>\n <fd-busy-indicator\n style=\"display: flex; align-items: center; width: 2rem\"\n *ngIf=\"loading\"\n size=\"s\"\n [loading]=\"true\"\n ></fd-busy-indicator>\n </ng-container>\n <div style=\"display: flex; flex: unset; align-items: center\" fd-list-title [focusable]=\"true\">\n <img\n *ngIf=\"!hideIcon\"\n [src]=\"node.icon\"\n [style.padding-right.px]=\"!rtl ? 5 : null\"\n [style.padding-left.px]=\"rtl ? 5 : null\"\n />\n <span>{{ text }}</span>\n <span *ngIf=\"children\">{{ ' ( ' + children.length + ' )' }}</span>\n </div>\n </div>\n <i\n *ngIf=\"contextMenuItems && contextMenuItems.length > 0\"\n ulvContextMenu\n [allColumns]=\"allColumns\"\n [menuItems]=\"contextMenuItems\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [mo]=\"node.Data\"\n [index]=\"index\"\n (commandClick)=\"onUlvCommand()\"\n [deviceName]=\"deviceName\"\n ></i>\n <bsu-htree-create-new\n *ngIf=\"access.Add !== false\"\n [node]=\"node\"\n [relationList]=\"relationList\"\n (createNew)=\"onCreateNew($event)\"\n ></bsu-htree-create-new>\n </div>\n <fdp-button\n *ngIf=\"access?.View && !showOkCancelButtons && deviceName !== 'desktop'\"\n [glyph]=\"navigationArrow\"\n buttonType=\"transparent\"\n (click)=\"onNodeViewClick()\"\n ></fdp-button>\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<ng-template #emptyBtn>\n <div class=\"empty-container\" *ngIf=\"!parentNode?.hasOneDepthLevel\" (click)=\"onRowCheck()\">\n <button fd-button></button>\n </div>\n</ng-template>\n", styles: [":host{display:block}li{column-gap:8px}li .cdk-drag-handle{opacity:.5;cursor:move}li .spacer{height:100%}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 .arrow-container button[rtl=true],li .empty-container button[rtl=true]{margin-left:5px}li .arrow-container button[rtl=false],li .empty-container button[rtl=false]{margin-right:5px}li .empty-container{visibility:hidden!important}.cdk-drag{cursor:auto}.tree-icon-children{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i2.CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { kind: "component", type: i3.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i6.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i6.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "component", type: i7.ButtonComponent, selector: "fdp-button", inputs: ["glyphPosition", "label", "glyph", "buttonType", "title", "ariaSelected", "ariaDisabled", "ariaExpanded", "ariaControlsId", "ariaPressed", "name", "type", "value"], outputs: ["buttonClicked"] }, { kind: "component", type: i8.UlvContextMenuComponent, selector: "bsu-ulv-context-menu,[ulvContextMenu]", inputs: ["onlyOverflow", "deviceName", "menuItems", "allColumns", "index", "mo", "conditionalFormats", "disableOverflowContextMenu", "footerMode"], outputs: ["commandClick"] }, { kind: "component", type: BarsaTreeItemComponent, selector: "bsu-barsa-tree-item", inputs: ["node", "selectedNode", "relationList", "hasDragDrop", "hasArrowIcon", "collapseIcon", "loading", "hasChildren", "isExpand", "children", "parentNode", "text", "isHetro"], outputs: ["createNew", "select", "viewClick", "loadChildren", "dragMoved"] }, { kind: "component", type: i9.HtreeCreateNewComponent, selector: "bsu-htree-create-new", inputs: ["relationList", "node"], outputs: ["createNew"] }, { kind: "directive", type: i10.ApplyConditionalFormatsDirective, selector: "[applyConditionalFormats]", inputs: ["applyConditionalFormats", "mo", "hostEl", "dbName"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaTreeItemComponent, decorators: [{
81
+ type: Component,
82
+ args: [{ selector: 'bsu-barsa-tree-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<li\n fd-list-item\n #liEl\n [applyConditionalFormats]=\"conditionalFormats\"\n [mo]=\"node.Data\"\n [hostEl]=\"liEl\"\n [focusable]=\"true\"\n [attr.level]=\"level\"\n [class.root-group]=\"level === 1\"\n [selected]=\"isChecked\"\n (dblclick)=\"onNodeViewClick()\"\n cdkDrag\n [cdkDragData]=\"node.Data.Id\"\n (cdkDragMoved)=\"onDragMoved($event)\"\n (click)=\"onListItemClick(liEl, $event)\"\n>\n <div (click)=\"onRowCheck()\" class=\"spacer\" [style.width]=\"(level - 1) * 4 + 'rem'\"></div>\n <fd-icon *ngIf=\"hasDragDrop && !isHetro\" glyph=\"grip\" font=\"BusinessSuiteInAppSymbols\" cdkDragHandle></fd-icon>\n\n <div (click)=\"onRowCheck()\" style=\"display: flex; width: 100%; justify-content: space-between\">\n <div style=\"display: flex\">\n <ng-container *ngIf=\"hasArrowIcon\">\n <div class=\"arrow-container\" *ngIf=\"hasChildren; else emptyBtn\">\n <button\n [attr.rtl]=\"rtl\"\n fd-button\n fdType=\"transparent\"\n [glyph]=\"hasChildren ? (isExpand ? 'less' : collapseIcon) : ''\"\n (click)=\"onLoadChildren($event)\"\n (dblclick)=\"onExpandDblClick($event)\"\n ></button>\n </div>\n <fd-busy-indicator\n style=\"display: flex; align-items: center; width: 2rem\"\n *ngIf=\"loading\"\n size=\"s\"\n [loading]=\"true\"\n ></fd-busy-indicator>\n </ng-container>\n <div style=\"display: flex; flex: unset; align-items: center\" fd-list-title [focusable]=\"true\">\n <img\n *ngIf=\"!hideIcon\"\n [src]=\"node.icon\"\n [style.padding-right.px]=\"!rtl ? 5 : null\"\n [style.padding-left.px]=\"rtl ? 5 : null\"\n />\n <span>{{ text }}</span>\n <span *ngIf=\"children\">{{ ' ( ' + children.length + ' )' }}</span>\n </div>\n </div>\n <i\n *ngIf=\"contextMenuItems && contextMenuItems.length > 0\"\n ulvContextMenu\n [allColumns]=\"allColumns\"\n [menuItems]=\"contextMenuItems\"\n [conditionalFormats]=\"conditionalFormats\"\n [disableOverflowContextMenu]=\"disableOverflowContextMenu\"\n [mo]=\"node.Data\"\n [index]=\"index\"\n (commandClick)=\"onUlvCommand()\"\n [deviceName]=\"deviceName\"\n ></i>\n <bsu-htree-create-new\n *ngIf=\"access.Add !== false\"\n [node]=\"node\"\n [relationList]=\"relationList\"\n (createNew)=\"onCreateNew($event)\"\n ></bsu-htree-create-new>\n </div>\n <fdp-button\n *ngIf=\"access?.View && !showOkCancelButtons && deviceName !== 'desktop'\"\n [glyph]=\"navigationArrow\"\n buttonType=\"transparent\"\n (click)=\"onNodeViewClick()\"\n ></fdp-button>\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<ng-template #emptyBtn>\n <div class=\"empty-container\" *ngIf=\"!parentNode?.hasOneDepthLevel\" (click)=\"onRowCheck()\">\n <button fd-button></button>\n </div>\n</ng-template>\n", styles: [":host{display:block}li{column-gap:8px}li .cdk-drag-handle{opacity:.5;cursor:move}li .spacer{height:100%}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 .arrow-container button[rtl=true],li .empty-container button[rtl=true]{margin-left:5px}li .arrow-container button[rtl=false],li .empty-container button[rtl=false]{margin-right:5px}li .empty-container{visibility:hidden!important}.cdk-drag{cursor:auto}.tree-icon-children{cursor:pointer}\n"] }]
83
+ }], propDecorators: { node: [{
84
+ type: Input
85
+ }], selectedNode: [{
86
+ type: Input
87
+ }], relationList: [{
88
+ type: Input
89
+ }], hasDragDrop: [{
90
+ type: Input
91
+ }], hasArrowIcon: [{
92
+ type: Input
93
+ }], collapseIcon: [{
94
+ type: Input
95
+ }], loading: [{
96
+ type: Input
97
+ }], hasChildren: [{
98
+ type: Input
99
+ }], isExpand: [{
100
+ type: Input
101
+ }], children: [{
102
+ type: Input
103
+ }], parentNode: [{
104
+ type: Input
105
+ }], text: [{
106
+ type: Input
107
+ }], isHetro: [{
108
+ type: Input
109
+ }], createNew: [{
110
+ type: Output
111
+ }], select: [{
112
+ type: Output
113
+ }], viewClick: [{
114
+ type: Output
115
+ }], loadChildren: [{
116
+ type: Output
117
+ }], dragMoved: [{
118
+ type: Output
119
+ }] } });
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtdHJlZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2JhcnNhLXRyZWUtaXRlbS9iYXJzYS10cmVlLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdHJlZS1pdGVtL2JhcnNhLXRyZWUtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3hHLE9BQU8sRUFBc0QsMEJBQTBCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBUXRILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSwwQkFBMEI7SUFOdEU7O1FBV2EsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFVN0Isb0JBQW9CO1FBQ1YsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBQ2pELFdBQU0sR0FBRyxJQUFJLFlBQVksRUFHL0IsQ0FBQztRQUVLLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFHbEMsQ0FBQztRQUNLLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDdkQsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFHakQsWUFBTyxHQUFHO1lBQ04sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxnQ0FBZ0MsRUFBRTtZQUN6RDtnQkFDSSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxNQUFNLEVBQUUsbUNBQW1DO2FBQzlDO1NBQ0osQ0FBQztLQW1ETDtJQWpERyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFB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QUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTWV0YW9iamVjdERhdGFNb2RlbCwgVHJlZU5vZGVPYmosIFJlbGF0aW9uSXRlbVR5cGUsIEJhc2VWaWV3SXRlbVByb3BzQ29tcG9uZW50IH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS10cmVlLWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS10cmVlLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2JhcnNhLXRyZWUtaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEJhcnNhVHJlZUl0ZW1Db21wb25lbnQgZXh0ZW5kcyBCYXNlVmlld0l0ZW1Qcm9wc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgbm9kZTogVHJlZU5vZGVPYmo7XG4gICAgQElucHV0KCkgc2VsZWN0ZWROb2RlOiBNZXRhb2JqZWN0RGF0YU1vZGVsIHwgbnVsbDtcbiAgICBASW5wdXQoKSByZWxhdGlvbkxpc3Q6IFJlbGF0aW9uSXRlbVR5cGVbXTtcbiAgICBASW5wdXQoKSBoYXNEcmFnRHJvcDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBoYXNBcnJvd0ljb24gPSB0cnVlO1xuICAgIEBJbnB1dCgpIGNvbGxhcHNlSWNvbjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaGFzQ2hpbGRyZW46IGJvb2xlYW47XG4gICAgQElucHV0KCkgaXNFeHBhbmQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgY2hpbGRyZW46IFRyZWVOb2RlT2JqW107XG4gICAgQElucHV0KCkgcGFyZW50Tm9kZTogVHJlZU5vZGVPYmo7XG4gICAgQElucHV0KCkgdGV4dDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGlzSGV0cm86IGJvb2xlYW47XG5cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIEBPdXRwdXQoKSBjcmVhdGVOZXcgPSBuZXcgRXZlbnRFbWl0dGVyPFJlbGF0aW9uSXRlbVR5cGU+KCk7XG4gICAgQE91dHB1dCgpIHNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8e1xuICAgICAgICBub2RlOiBUcmVlTm9kZU9iajtcbiAgICAgICAgaW5kZXg6IG51bWJlcjtcbiAgICB9PigpO1xuXG4gICAgQE91dHB1dCgpIHZpZXdDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8e1xuICAgICAgICBub2RlOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgICAgICBpbmRleDogbnVtYmVyO1xuICAgIH0+KCk7XG4gICAgQE91dHB1dCgpIGxvYWRDaGlsZHJlbiA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcbiAgICBAT3V0cHV0KCkgZHJhZ01vdmVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gICAgaWNvbiQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgICBoaWRlSWNvbjogYm9vbGVhbjtcbiAgICByb3dCdG5zID0gW1xuICAgICAgICB7IEljb246ICdhZGQnLCBBY3Rpb246ICdjb25zb2xlLmxvZyhcImFkZCBidG4gY2xpY2tlZFwiKScgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgSWNvbjogJ2RlbGV0ZScsXG4gICAgICAgICAgICBBY3Rpb246ICdjb25zb2xlLmxvZyhcImRlbGV0ZSBidG4gY2xpY2tlZFwiKSdcbiAgICAgICAgfVxuICAgIF07XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgaWYgKCF0aGlzLm5vZGUuaWNvbi5zdGFydHNXaXRoKCdodHRwJykpIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZUljb24gPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIG9uTGlzdEl0ZW1DbGljayhsaUVsLCBlKSB7XG4gICAgICAgIGlmIChlLnRhcmdldCA9PT0gbGlFbD8uZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5vblJvd0NoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgb25Sb3dDaGVjaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3QuZW1pdCh7IG5vZGU6IHRoaXMubm9kZSwgaW5kZXg6IHRoaXMuaW5kZXggfSk7XG4gICAgfVxuXG4gICAgb25VbHZDb21tYW5kKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVsdkNvbW1hbmQuZW1pdCh7IG1vOiB0aGlzLm5vZGUuRGF0YSwgaW5kZXg6IHRoaXMuaW5kZXggfSk7XG4gICAgfVxuXG4gICAgb25Ob2RlVmlld0NsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnZpZXdDbGljay5lbWl0KHsgbm9kZTogdGhpcy5ub2RlLkRhdGEsIGluZGV4OiB0aGlzLmluZGV4IH0pO1xuICAgIH1cblxuICAgIG9uTG9hZENoaWxkcmVuKGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2FkQ2hpbGRyZW4uZW1pdCh0aGlzLm5vZGUuRGF0YSk7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBvbkV4cGFuZERibENsaWNrKGUpOiB2b2lkIHtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgICBvbkNyZWF0ZU5ldyhlKSB7XG4gICAgICAgIGlmICghdGhpcy5pc0NoZWNrZWQpIHtcbiAgICAgICAgICAgIHRoaXMub25Sb3dDaGVjaygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY3JlYXRlTmV3LmVtaXQoZSk7XG4gICAgfVxuICAgIG9uUm93QWN0aW9uKGNvbW1hbmRCb2R5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29tbWFuZCA9IG5ldyBGdW5jdGlvbihjb21tYW5kQm9keSk7XG4gICAgICAgIGNvbW1hbmQoKTtcbiAgICB9XG4gICAgb25EcmFnTW92ZWQoJGV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzSGV0cm8pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRyYWdNb3ZlZC5lbWl0KCRldmVudCk7XG4gICAgfVxufVxuIiwiPGxpXG4gICAgZmQtbGlzdC1pdGVtXG4gICAgI2xpRWxcbiAgICBbYXBwbHlDb25kaXRpb25hbEZvcm1hdHNdPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcbiAgICBbbW9dPVwibm9kZS5EYXRhXCJcbiAgICBbaG9zdEVsXT1cImxpRWxcIlxuICAgIFtmb2N1c2FibGVdPVwidHJ1ZVwiXG4gICAgW2F0dHIubGV2ZWxdPVwibGV2ZWxcIlxuICAgIFtjbGFzcy5yb290LWdyb3VwXT1cImxldmVsID09PSAxXCJcbiAgICBbc2VsZWN0ZWRdPVwiaXNDaGVja2VkXCJcbiAgICAoZGJsY2xpY2spPVwib25Ob2RlVmlld0NsaWNrKClcIlxuICAgIGNka0RyYWdcbiAgICBbY2RrRHJhZ0RhdGFdPVwibm9kZS5EYXRhLklkXCJcbiAgICAoY2RrRHJhZ01vdmVkKT1cIm9uRHJhZ01vdmVkKCRldmVudClcIlxuICAgIChjbGljayk9XCJvbkxpc3RJdGVtQ2xpY2sobGlFbCwgJGV2ZW50KVwiXG4+XG4gICAgPGRpdiAoY2xpY2spPVwib25Sb3dDaGVjaygpXCIgY2xhc3M9XCJzcGFjZXJcIiBbc3R5bGUud2lkdGhdPVwiKGxldmVsIC0gMSkgKiA0ICsgJ3JlbSdcIj48L2Rpdj5cbiAgICA8ZmQtaWNvbiAqbmdJZj1cImhhc0RyYWdEcm9wICYmICFpc0hldHJvXCIgZ2x5cGg9XCJncmlwXCIgZm9udD1cIkJ1c2luZXNzU3VpdGVJbkFwcFN5bWJvbHNcIiBjZGtEcmFnSGFuZGxlPjwvZmQtaWNvbj5cblxuICAgIDxkaXYgKGNsaWNrKT1cIm9uUm93Q2hlY2soKVwiIHN0eWxlPVwiZGlzcGxheTogZmxleDsgd2lkdGg6IDEwMCU7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlblwiPlxuICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc0Fycm93SWNvblwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcnJvdy1jb250YWluZXJcIiAqbmdJZj1cImhhc0NoaWxkcmVuOyBlbHNlIGVtcHR5QnRuXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnJ0bF09XCJydGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiaGFzQ2hpbGRyZW4gPyAoaXNFeHBhbmQgPyAnbGVzcycgOiBjb2xsYXBzZUljb24pIDogJydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTG9hZENoaWxkcmVuKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGRibGNsaWNrKT1cIm9uRXhwYW5kRGJsQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZmQtYnVzeS1pbmRpY2F0b3JcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyB3aWR0aDogMnJlbVwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibG9hZGluZ1wiXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICAgICAgW2xvYWRpbmddPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgPjwvZmQtYnVzeS1pbmRpY2F0b3I+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBmbGV4OiB1bnNldDsgYWxpZ24taXRlbXM6IGNlbnRlclwiIGZkLWxpc3QtdGl0bGUgW2ZvY3VzYWJsZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFoaWRlSWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtzcmNdPVwibm9kZS5pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLnBhZGRpbmctcmlnaHQucHhdPVwiIXJ0bCA/IDUgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLnBhZGRpbmctbGVmdC5weF09XCJydGwgPyA1IDogbnVsbFwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8c3Bhbj57eyB0ZXh0IH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY2hpbGRyZW5cIj57eyAnICggJyArIGNoaWxkcmVuLmxlbmd0aCArICcgKScgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxpXG4gICAgICAgICAgICAqbmdJZj1cImNvbnRleHRNZW51SXRlbXMgJiYgY29udGV4dE1lbnVJdGVtcy5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgIHVsdkNvbnRleHRNZW51XG4gICAgICAgICAgICBbYWxsQ29sdW1uc109XCJhbGxDb2x1bW5zXCJcbiAgICAgICAgICAgIFttZW51SXRlbXNdPVwiY29udGV4dE1lbnVJdGVtc1wiXG4gICAgICAgICAgICBbY29uZGl0aW9uYWxGb3JtYXRzXT1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXG4gICAgICAgICAgICBbZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVdPVwiZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnVcIlxuICAgICAgICAgICAgW21vXT1cIm5vZGUuRGF0YVwiXG4gICAgICAgICAgICBbaW5kZXhdPVwiaW5kZXhcIlxuICAgICAgICAgICAgKGNvbW1hbmRDbGljayk9XCJvblVsdkNvbW1hbmQoKVwiXG4gICAgICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcbiAgICAgICAgPjwvaT5cbiAgICAgICAgPGJzdS1odHJlZS1jcmVhdGUtbmV3XG4gICAgICAgICAgICAqbmdJZj1cImFjY2Vzcy5BZGQgIT09IGZhbHNlXCJcbiAgICAgICAgICAgIFtub2RlXT1cIm5vZGVcIlxuICAgICAgICAgICAgW3JlbGF0aW9uTGlzdF09XCJyZWxhdGlvbkxpc3RcIlxuICAgICAgICAgICAgKGNyZWF0ZU5ldyk9XCJvbkNyZWF0ZU5ldygkZXZlbnQpXCJcbiAgICAgICAgPjwvYnN1LWh0cmVlLWNyZWF0ZS1uZXc+XG4gICAgPC9kaXY+XG4gICAgPGZkcC1idXR0b25cbiAgICAgICAgKm5nSWY9XCJhY2Nlc3M/LlZpZXcgJiYgIXNob3dPa0NhbmNlbEJ1dHRvbnMgJiYgZGV2aWNlTmFtZSAhPT0gJ2Rlc2t0b3AnXCJcbiAgICAgICAgW2dseXBoXT1cIm5hdmlnYXRpb25BcnJvd1wiXG4gICAgICAgIGJ1dHRvblR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgIChjbGljayk9XCJvbk5vZGVWaWV3Q2xpY2soKVwiXG4gICAgPjwvZmRwLWJ1dHRvbj5cblxuICAgIDxic3UtYmFyc2EtdHJlZS1pdGVtXG4gICAgICAgICpjZGtEcmFnUHJldmlld1xuICAgICAgICBbbm9kZV09XCJub2RlXCJcbiAgICAgICAgW3J0bF09XCJydGxcIlxuICAgICAgICBbc2VsZWN0ZWROb2RlXT1cInNlbGVjdGVkTm9kZVwiXG4gICAgICAgIFtoYXNBcnJvd0ljb25dPVwiZmFsc2VcIlxuICAgID48L2JzdS1iYXJzYS10cmVlLWl0ZW0+XG48L2xpPlxuPG5nLXRlbXBsYXRlICNlbXB0eUJ0bj5cbiAgICA8ZGl2IGNsYXNzPVwiZW1wdHktY29udGFpbmVyXCIgKm5nSWY9XCIhcGFyZW50Tm9kZT8uaGFzT25lRGVwdGhMZXZlbFwiIChjbGljayk9XCJvblJvd0NoZWNrKClcIj5cbiAgICAgICAgPGJ1dHRvbiBmZC1idXR0b24+PC9idXR0b24+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,19 @@
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
+ }
10
+ NodeHasOneDepthLevelPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NodeHasOneDepthLevelPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
11
+ NodeHasOneDepthLevelPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.7", ngImport: i0, type: NodeHasOneDepthLevelPipe, name: "nodeHasOneDepthLevel" });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NodeHasOneDepthLevelPipe, decorators: [{
13
+ type: Pipe,
14
+ args: [{
15
+ name: 'nodeHasOneDepthLevel',
16
+ pure: true
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1oYXMtb25lLWRlcHRoLWxldmVsLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9iYXJzYS10cmVlLWl0ZW0vbm9kZS1oYXMtb25lLWRlcHRoLWxldmVsLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBT3BELE1BQU0sT0FBTyx3QkFBd0I7SUFDakMsU0FBUyxDQUFDLElBQXlCO1FBQy9CLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQTBCLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFlBQVksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0csT0FBTyxXQUFXLENBQUM7SUFDdkIsQ0FBQzs7cUhBTFEsd0JBQXdCO21IQUF4Qix3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFKcEMsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsc0JBQXNCO29CQUM1QixJQUFJLEVBQUUsSUFBSTtpQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWV0YW9iamVjdERhdGFNb2RlbCB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6ICdub2RlSGFzT25lRGVwdGhMZXZlbCcsXHJcbiAgICBwdXJlOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOb2RlSGFzT25lRGVwdGhMZXZlbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybShub2RlOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogYm9vbGVhbiB7XHJcbiAgICAgICAgbGV0IGhhc09uZURlcHRoID0gdHJ1ZTtcclxuICAgICAgICBub2RlLmNoaWxkcmVuPy5mb3JFYWNoKChjaGlsZDogTWV0YW9iamVjdERhdGFNb2RlbCkgPT4gKGhhc09uZURlcHRoID0gIShjaGlsZC5EYXRhPy4kSGFzQ2hpbGRyZW4gPT09IHRydWUpKSk7XHJcbiAgICAgICAgcmV0dXJuIGhhc09uZURlcHRoO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==