barsa-sap-ui 2.2.2 → 2.2.3

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 (241) hide show
  1. package/esm2022/barsa-sap-ui.mjs +5 -0
  2. package/esm2022/lib/apply-conditional-formmatings.directive.mjs +90 -0
  3. package/esm2022/lib/avatar-size.pipe.mjs +41 -0
  4. package/esm2022/lib/barsa-answer-card/barsa-answer-card.component.mjs +41 -0
  5. package/esm2022/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +145 -0
  6. package/esm2022/lib/barsa-bar-download-file/barsa-bar-download-file.component.mjs +23 -0
  7. package/esm2022/lib/barsa-bar-panel/barsa-bar-panel.component.mjs +23 -0
  8. package/esm2022/lib/barsa-base-panel/barsa-base-layout-panel.component.mjs +29 -0
  9. package/esm2022/lib/barsa-breadcrumbs/barsa-breadcrumbs.component.mjs +24 -0
  10. package/esm2022/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +24 -0
  11. package/esm2022/lib/barsa-card-row-payam/barsa-card-row-payam.component.mjs +31 -0
  12. package/esm2022/lib/barsa-cartable-form/barsa-cartable-form.component.mjs +41 -0
  13. package/esm2022/lib/barsa-cartable-template/barsa-cartable-template.component.mjs +24 -0
  14. package/esm2022/lib/barsa-chat/barsa-chat.component.mjs +242 -0
  15. package/esm2022/lib/barsa-chat/chat.model.mjs +8 -0
  16. package/esm2022/lib/barsa-chat-content/barsa-chat-content.component.mjs +13 -0
  17. package/esm2022/lib/barsa-chat-content-toolbar/barsa-chat-content-toolbar.component.mjs +22 -0
  18. package/esm2022/lib/barsa-chat-list/barsa-chat-list.component.mjs +66 -0
  19. package/esm2022/lib/barsa-chat-message/barsa-chat-message.component.mjs +78 -0
  20. package/esm2022/lib/barsa-chat-thread/barsa-chat-thread.component.mjs +22 -0
  21. package/esm2022/lib/barsa-chat-threads-list/barsa-chat-threads-list.component.mjs +13 -0
  22. package/esm2022/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.mjs +15 -0
  23. package/esm2022/lib/barsa-chip/barsa-chip.component.mjs +72 -0
  24. package/esm2022/lib/barsa-column-indicator/barsa-column-indicator.component.mjs +23 -0
  25. package/esm2022/lib/barsa-column-rownumber/barsa-column-rownumber.component.mjs +14 -0
  26. package/esm2022/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.mjs +14 -0
  27. package/esm2022/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.mjs +26 -0
  28. package/esm2022/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +71 -0
  29. package/esm2022/lib/barsa-dynamic-field/barsa-dynamic-field.component.mjs +40 -0
  30. package/esm2022/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.mjs +61 -0
  31. package/esm2022/lib/barsa-field-key-value/barsa-field-key-value.component.mjs +45 -0
  32. package/esm2022/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +58 -0
  33. package/esm2022/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.mjs +27 -0
  34. package/esm2022/lib/barsa-group-cartable/barsa-cartable-group.component.mjs +94 -0
  35. package/esm2022/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.mjs +22 -0
  36. package/esm2022/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.mjs +37 -0
  37. package/esm2022/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +41 -0
  38. package/esm2022/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +29 -0
  39. package/esm2022/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.mjs +23 -0
  40. package/esm2022/lib/barsa-modal/barsa-modal.component.mjs +43 -0
  41. package/esm2022/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +83 -0
  42. package/esm2022/lib/barsa-network-offline/barsa-network-offline.component.mjs +57 -0
  43. package/esm2022/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.mjs +159 -0
  44. package/esm2022/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.mjs +17 -0
  45. package/esm2022/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.mjs +30 -0
  46. package/esm2022/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.mjs +14 -0
  47. package/esm2022/lib/barsa-question-answer-form/barsa-question-answer-form.component.mjs +34 -0
  48. package/esm2022/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.mjs +46 -0
  49. package/esm2022/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.mjs +79 -0
  50. package/esm2022/lib/barsa-question-post/barsa-question-post.component.mjs +30 -0
  51. package/esm2022/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.mjs +31 -0
  52. package/esm2022/lib/barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component.mjs +28 -0
  53. package/esm2022/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +102 -0
  54. package/esm2022/lib/barsa-row-inline-actionlist/barsa-row-inline-actionlist.component.mjs +26 -0
  55. package/esm2022/lib/barsa-sap-ui-routing.module.mjs +18 -0
  56. package/esm2022/lib/barsa-sap-ui.module.mjs +377 -0
  57. package/esm2022/lib/barsa-search-form/barsa-search-form.component.mjs +29 -0
  58. package/esm2022/lib/barsa-simple-form/barsa-simple-form.component.mjs +170 -0
  59. package/esm2022/lib/barsa-tab-route-manager/barsa-tab-route-manager.component.mjs +18 -0
  60. package/esm2022/lib/barsa-table-column/barsa-table-column.component.mjs +29 -0
  61. package/esm2022/lib/barsa-table-header/barsa-table-header.component.mjs +222 -0
  62. package/esm2022/lib/barsa-table-row/barsa-table-row.component.mjs +87 -0
  63. package/esm2022/lib/barsa-tag-categories/barsa-tag-categories.component.mjs +60 -0
  64. package/esm2022/lib/barsa-tag-chip/barsa-tag-chip.component.mjs +26 -0
  65. package/esm2022/lib/barsa-tags-category-row/barsa-tags-category-row.component.mjs +23 -0
  66. package/esm2022/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.mjs +37 -0
  67. package/esm2022/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +418 -0
  68. package/esm2022/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.mjs +36 -0
  69. package/esm2022/lib/barsa-tree-item/barsa-tree-item.component.mjs +153 -0
  70. package/esm2022/lib/barsa-tree-item/node-has-one-depth-level.pipe.mjs +20 -0
  71. package/esm2022/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +216 -0
  72. package/esm2022/lib/blob-viewer/blob-viewer.component.mjs +74 -0
  73. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +50 -0
  74. package/esm2022/lib/captcha-field/captcha-field.component.mjs +28 -0
  75. package/esm2022/lib/card-item/card-item.component.mjs +74 -0
  76. package/esm2022/lib/card-view-content/card-view-content.component.mjs +46 -0
  77. package/esm2022/lib/col-renderer.directive.mjs +47 -0
  78. package/esm2022/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +56 -0
  79. package/esm2022/lib/column-matrix-renderer/matrix-value.pipe.mjs +61 -0
  80. package/esm2022/lib/column-renderer/column-renderer.component.mjs +97 -0
  81. package/esm2022/lib/constants.mjs +450 -0
  82. package/esm2022/lib/custom-date-time/custom-date-time.component.mjs +41 -0
  83. package/esm2022/lib/device-info-field-base.mjs +24 -0
  84. package/esm2022/lib/dialog-handler.directive.mjs +29 -0
  85. package/esm2022/lib/download-files.directive.mjs +34 -0
  86. package/esm2022/lib/dynamic-page-size.pipe.mjs +27 -0
  87. package/esm2022/lib/file-in-dialog/file-in-dialog.component.mjs +44 -0
  88. package/esm2022/lib/file-viewer/file-viewer.component.mjs +47 -0
  89. package/esm2022/lib/file-viewer-content/file-viewer-content.component.mjs +71 -0
  90. package/esm2022/lib/file-viewer-popover/file-viewer-popover.component.mjs +37 -0
  91. package/esm2022/lib/form-dialog/form-dialog.component.mjs +171 -0
  92. package/esm2022/lib/form-dialog-less/form-dialog-less.component.mjs +50 -0
  93. package/esm2022/lib/form-toolbar/form-toolbar.component.mjs +62 -0
  94. package/esm2022/lib/form-toolbar-button/form-toolbar-button.component.mjs +45 -0
  95. package/esm2022/lib/form-wizard/form-wizard.component.mjs +21 -0
  96. package/esm2022/lib/fullscreen-dialog.directive.mjs +60 -0
  97. package/esm2022/lib/fullscreen-files.directive.mjs +43 -0
  98. package/esm2022/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +217 -0
  99. package/esm2022/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +215 -0
  100. package/esm2022/lib/global-search/global-search.component.mjs +27 -0
  101. package/esm2022/lib/global-search-module/global-search-module.component.mjs +29 -0
  102. package/esm2022/lib/global-search-panel/global-search-panel.component.mjs +25 -0
  103. package/esm2022/lib/header-avatar/header-avatar.component.mjs +18 -0
  104. package/esm2022/lib/htree-create-new/htree-create-new.component.mjs +48 -0
  105. package/esm2022/lib/hyperlink/hyperlink.component.mjs +23 -0
  106. package/esm2022/lib/index.mjs +549 -0
  107. package/esm2022/lib/inline-save-and-cancel/inline-save-and-cancel.component.mjs +32 -0
  108. package/esm2022/lib/layout-actions/layout-actions.component.mjs +70 -0
  109. package/esm2022/lib/layout-control/layout-control.component.mjs +302 -0
  110. package/esm2022/lib/layout-wizard/layout-wizard.component.mjs +180 -0
  111. package/esm2022/lib/list-item/list-item.component.mjs +34 -0
  112. package/esm2022/lib/ly-empty-space/ly-empty-space.component.mjs +42 -0
  113. package/esm2022/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +82 -0
  114. package/esm2022/lib/ly-label/ly-label.component.mjs +37 -0
  115. package/esm2022/lib/ly-layout-container/ly-layout-container.component.mjs +83 -0
  116. package/esm2022/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +17 -0
  117. package/esm2022/lib/ly-layout-field-label/ly-layout-field-label.component.mjs +24 -0
  118. package/esm2022/lib/ly-layout-panel/ly-layout-panel.component.mjs +83 -0
  119. package/esm2022/lib/ly-line/ly-line.component.mjs +56 -0
  120. package/esm2022/lib/ly-simple-label/ly-simple-label.component.mjs +22 -0
  121. package/esm2022/lib/ly-tab-container/ly-tab-container.component.mjs +44 -0
  122. package/esm2022/lib/ly-tab-page/ly-tab-page.component.mjs +44 -0
  123. package/esm2022/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +51 -0
  124. package/esm2022/lib/manage-filters-report/manage-filters-report.component.mjs +43 -0
  125. package/esm2022/lib/mask/mask.component.mjs +22 -0
  126. package/esm2022/lib/message-strip/message-strip.component.mjs +28 -0
  127. package/esm2022/lib/models/grid-data-provider.mjs +114 -0
  128. package/esm2022/lib/models/grid-view.mjs +2 -0
  129. package/esm2022/lib/models/index.mjs +2 -0
  130. package/esm2022/lib/no-data/no-data.component.mjs +31 -0
  131. package/esm2022/lib/notification-item/notification-item.component.mjs +57 -0
  132. package/esm2022/lib/notification-item-actions/notification-item-actions.component.mjs +79 -0
  133. package/esm2022/lib/notification-popup.service.mjs +92 -0
  134. package/esm2022/lib/object-status-icon.pipe.mjs +27 -0
  135. package/esm2022/lib/progress-indicator/progress-indicator.component.mjs +18 -0
  136. package/esm2022/lib/report-navigator/report-navigator.component.mjs +68 -0
  137. package/esm2022/lib/report-new-top-form/report-new-top-form.component.mjs +60 -0
  138. package/esm2022/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +35 -0
  139. package/esm2022/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +97 -0
  140. package/esm2022/lib/report-search-panel-save/report-search-panel-save.component.mjs +88 -0
  141. package/esm2022/lib/report-tree-base.mjs +387 -0
  142. package/esm2022/lib/report-view-renderer.directive.mjs +392 -0
  143. package/esm2022/lib/responsive-toolbar/responsive-toolbar.component.mjs +50 -0
  144. package/esm2022/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +84 -0
  145. package/esm2022/lib/rich-text-static/rich-text-static.component.mjs +72 -0
  146. package/esm2022/lib/sap-font-class.pipe.mjs +30 -0
  147. package/esm2022/lib/sap-font.pipe.mjs +30 -0
  148. package/esm2022/lib/sap-size.pipe.mjs +28 -0
  149. package/esm2022/lib/sap-ui-report-base.component.mjs +809 -0
  150. package/esm2022/lib/search-panel/search-panel.component.mjs +63 -0
  151. package/esm2022/lib/static-text/static-text.component.mjs +15 -0
  152. package/esm2022/lib/table-th.directive.mjs +87 -0
  153. package/esm2022/lib/title/title.component.mjs +15 -0
  154. package/esm2022/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.mjs +34 -0
  155. package/esm2022/lib/ui-bpmn-viewer/ui-bpmn-viewer.component.mjs +33 -0
  156. package/esm2022/lib/ui-button/ui-button.component.mjs +32 -0
  157. package/esm2022/lib/ui-calendar/ui-calendar.component.mjs +53 -0
  158. package/esm2022/lib/ui-card-view/ui-card-view.component.mjs +58 -0
  159. package/esm2022/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +42 -0
  160. package/esm2022/lib/ui-check-box/ui-check-box.component.mjs +39 -0
  161. package/esm2022/lib/ui-color-ui/ui-color-ui.component.mjs +50 -0
  162. package/esm2022/lib/ui-container-with-button/ui-container-with-button.component.mjs +38 -0
  163. package/esm2022/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +191 -0
  164. package/esm2022/lib/ui-date-time/ui-date-time.component.mjs +150 -0
  165. package/esm2022/lib/ui-editable-grid/ui-editable-grid.component.mjs +108 -0
  166. package/esm2022/lib/ui-exception-form/ui-exception-form.component.mjs +53 -0
  167. package/esm2022/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +124 -0
  168. package/esm2022/lib/ui-form-panel/ui-form-panel.component.mjs +103 -0
  169. package/esm2022/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +32 -0
  170. package/esm2022/lib/ui-graph/ui-graph.component.mjs +17 -0
  171. package/esm2022/lib/ui-grid/ui-grid.component.mjs +25 -0
  172. package/esm2022/lib/ui-grid-columns/ui-grid-columns.component.mjs +43 -0
  173. package/esm2022/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +66 -0
  174. package/esm2022/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +75 -0
  175. package/esm2022/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +58 -0
  176. package/esm2022/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +123 -0
  177. package/esm2022/lib/ui-html-viewer/ui-html-viewer.component.mjs +16 -0
  178. package/esm2022/lib/ui-info-bar-panel/ui-info-bar-panel.component.mjs +11 -0
  179. package/esm2022/lib/ui-label/ui-label.component.mjs +12 -0
  180. package/esm2022/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +379 -0
  181. package/esm2022/lib/ui-list-view/ui-list-view.component.mjs +84 -0
  182. package/esm2022/lib/ui-map/ui-map.component.mjs +68 -0
  183. package/esm2022/lib/ui-matrix-view/ui-matrix-view.component.mjs +124 -0
  184. package/esm2022/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +19 -0
  185. package/esm2022/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.mjs +14 -0
  186. package/esm2022/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +55 -0
  187. package/esm2022/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +429 -0
  188. package/esm2022/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +28 -0
  189. package/esm2022/lib/ui-multi-select-card/ui-multi-select-card.component.mjs +37 -0
  190. package/esm2022/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.mjs +59 -0
  191. package/esm2022/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +93 -0
  192. package/esm2022/lib/ui-multi-select-radio/ui-multi-select-radio.component.mjs +36 -0
  193. package/esm2022/lib/ui-multi-select-slider/ui-multi-select-slider.component.mjs +56 -0
  194. package/esm2022/lib/ui-multi-select-smile/ui-multi-select-smile.component.mjs +28 -0
  195. package/esm2022/lib/ui-notification-view/ui-notification-view.component.mjs +47 -0
  196. package/esm2022/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +33 -0
  197. package/esm2022/lib/ui-num-int-slider/ui-num-int-slider.component.mjs +27 -0
  198. package/esm2022/lib/ui-num-int-ui/ui-num-int-ui.component.mjs +21 -0
  199. package/esm2022/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +268 -0
  200. package/esm2022/lib/ui-picture-file/ui-picture-file.component.mjs +101 -0
  201. package/esm2022/lib/ui-pictures-info/ui-pictures-info.component.mjs +261 -0
  202. package/esm2022/lib/ui-radio-group/ui-radio-group.component.mjs +48 -0
  203. package/esm2022/lib/ui-read-only-field/ui-read-only-field.component.mjs +36 -0
  204. package/esm2022/lib/ui-report-container/ui-report-container.component.mjs +46 -0
  205. package/esm2022/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.mjs +24 -0
  206. package/esm2022/lib/ui-simple-combo/ui-simple-combo.component.mjs +55 -0
  207. package/esm2022/lib/ui-single-picture/ui-single-picture.component.mjs +36 -0
  208. package/esm2022/lib/ui-switch-button/ui-switch-button.component.mjs +20 -0
  209. package/esm2022/lib/ui-table-view/ui-table-view.component.mjs +296 -0
  210. package/esm2022/lib/ui-text-area/ui-text-area.component.mjs +49 -0
  211. package/esm2022/lib/ui-text-field/ui-text-field.component.mjs +52 -0
  212. package/esm2022/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.mjs +48 -0
  213. package/esm2022/lib/ui-time-span/ui-time-span.component.mjs +24 -0
  214. package/esm2022/lib/ui-tinymce/ui-tinymce.component.mjs +53 -0
  215. package/esm2022/lib/ui-tree/ui-tree.component.mjs +114 -0
  216. package/esm2022/lib/ui-tree-view/ui-tree-view.component.mjs +100 -0
  217. package/esm2022/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +23 -0
  218. package/esm2022/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +310 -0
  219. package/esm2022/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +25 -0
  220. package/esm2022/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +93 -0
  221. package/esm2022/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +119 -0
  222. package/esm2022/lib/ul-notify-popup/ul-notify-popup.component.mjs +32 -0
  223. package/esm2022/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +48 -0
  224. package/esm2022/lib/ulv-column-settings/ulv-column-settings.component.mjs +53 -0
  225. package/esm2022/lib/ulv-context-menu/ulv-context-menu.component.mjs +116 -0
  226. package/esm2022/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +43 -0
  227. package/esm2022/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +196 -0
  228. package/esm2022/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +44 -0
  229. package/esm2022/lib/ulv-paging/ulv-paging.component.mjs +84 -0
  230. package/esm2022/lib/ulv-selection/ulv-selection.component.mjs +65 -0
  231. package/esm2022/lib/ulv-settings/ulv-settings.component.mjs +116 -0
  232. package/esm2022/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +54 -0
  233. package/esm2022/lib/ulv-toolbar/ulv-toolbar.component.mjs +177 -0
  234. package/esm2022/lib/upload-file-status.pipe.mjs +29 -0
  235. package/esm2022/lib/util-chat-time-badge.pipe.mjs +18 -0
  236. package/esm2022/lib/util-date-to-hh-mm.pipe.mjs +23 -0
  237. package/esm2022/lib/wizard-layout.directive.mjs +104 -0
  238. package/esm2022/public-api.mjs +236 -0
  239. package/fesm2022/barsa-sap-ui.mjs +4 -4
  240. package/fesm2022/barsa-sap-ui.mjs.map +1 -1
  241. package/package.json +3 -1
@@ -0,0 +1,450 @@
1
+ export function insertAvatar(elementRef, headerAvatarRef, titleRef, avatar) {
2
+ if (avatar) {
3
+ const isNullImage = typeof avatar === 'object' && avatar.IsNullImage;
4
+ const avatarViewRef = headerAvatarRef.createEmbeddedView({
5
+ $implicit: avatar,
6
+ isIcon: typeof avatar === 'string',
7
+ isNullImage
8
+ });
9
+ titleRef.clear();
10
+ titleRef.insert(avatarViewRef);
11
+ const el = elementRef.nativeElement;
12
+ const titleEl = el.querySelector('.fd-dynamic-page__title');
13
+ const titleContainerEl = el.querySelector('.fd-dynamic-page__title-container');
14
+ const avatarEl = el.querySelector('.fd-dynamic-page__avatar');
15
+ titleContainerEl.insertBefore(avatarEl, titleEl);
16
+ const subTitleEl = el.querySelector('.fd-dynamic-page__subtitle');
17
+ if (subTitleEl) {
18
+ // const inMobile = getDeviceIsMobile();
19
+ subTitleEl.style.paddingRight = `calc(${1.5}rem + 10px)`;
20
+ }
21
+ }
22
+ }
23
+ export function GetFormLayoutGrid(ceil, colXl, colLg, colMd) {
24
+ const x = ceil ? Math.ceil : Math.round;
25
+ return {
26
+ colXl: colXl === 0 ? 0 : x((12 - colXl) / 2),
27
+ colLg: colLg === 0 ? 0 : x((12 - colLg) / 2),
28
+ colMd: colMd === 0 ? 0 : x((12 - colMd) / 2)
29
+ };
30
+ }
31
+ export const sort = (a, b, key, isNumber) => {
32
+ if (key) {
33
+ if (typeof a === 'object' && !(a instanceof Date)) {
34
+ a = getNestedValue(key, a);
35
+ }
36
+ if (typeof b === 'object' && !(b instanceof Date)) {
37
+ b = getNestedValue(key, b);
38
+ }
39
+ }
40
+ if (key === 'Rownumber' || isNumber) {
41
+ return Number(a) === Number(b) ? 0 : Number(a) > Number(b) ? 1 : -1;
42
+ }
43
+ else if (typeof a === 'string' && typeof b === 'string') {
44
+ return a.localeCompare(b);
45
+ }
46
+ else if (a instanceof Date || b instanceof Date) {
47
+ if (!a && b) {
48
+ return -1;
49
+ }
50
+ if (!b && a) {
51
+ return 1;
52
+ }
53
+ if (a instanceof Date && b instanceof Date) {
54
+ const msDateA = Date.UTC(a.getFullYear(), a.getMonth() + 1, a.getDate());
55
+ const msDateB = Date.UTC(b.getFullYear(), b.getMonth() + 1, b.getDate());
56
+ if (msDateA < msDateB) {
57
+ return -1;
58
+ }
59
+ else if (msDateA === msDateB) {
60
+ return 0;
61
+ }
62
+ else if (msDateA > msDateB) {
63
+ return 1;
64
+ }
65
+ return a.getTime() > b?.getTime() ? 1 : a.getTime() === b.getTime() ? 0 : -1;
66
+ }
67
+ else {
68
+ return 0;
69
+ }
70
+ }
71
+ return a > b ? 1 : a === b ? 0 : -1;
72
+ };
73
+ export function _trimEnd(value) {
74
+ const cache = new Set(String(value));
75
+ let end = value.length;
76
+ for (let i = value.length - 1; i >= 0; i--) {
77
+ if (!cache.has(value[i])) {
78
+ break;
79
+ }
80
+ end--;
81
+ }
82
+ return value.slice(0, end);
83
+ }
84
+ export function getNestedValue(key, object) {
85
+ return key.split('.').reduce((a, b) => (typeof a === 'undefined' ? a : a[b]), object);
86
+ }
87
+ export const IconTNT = [
88
+ 'technicalsystem',
89
+ 'systemjava',
90
+ 'systemabap',
91
+ 'systemrecommendations',
92
+ 'system',
93
+ 'systemtrex',
94
+ 'systemtracks',
95
+ 'technicalscenario',
96
+ 'technicalinstance',
97
+ 'throughput-backlog',
98
+ 'batch-processing',
99
+ 'database-consistency',
100
+ 'intermediate-message',
101
+ 'exceptions',
102
+ 'system-HANA',
103
+ 'python',
104
+ 'raise-fault',
105
+ 'code1',
106
+ 'code2',
107
+ 'spike-arrest',
108
+ 'verify-API',
109
+ 'user',
110
+ 'note',
111
+ 'throwing-message',
112
+ 'catching-message',
113
+ 'start-event',
114
+ 'end-event',
115
+ 'gateway',
116
+ 'sub-process-marker',
117
+ 'ad-hoc-marker',
118
+ 'manual-task',
119
+ 'send-task',
120
+ 'receive-task',
121
+ 'script-task',
122
+ 'marquee',
123
+ 'data-input-arrow',
124
+ 'data-output-arrow',
125
+ 'more',
126
+ 'pattern',
127
+ 'task',
128
+ 'arrow',
129
+ 'data',
130
+ 'data-store',
131
+ 'pool',
132
+ 'swimlane',
133
+ 'select',
134
+ 'cursor',
135
+ 'api',
136
+ 'o-data',
137
+ 'javascript',
138
+ 'value-mapping',
139
+ 'terminate-end-event',
140
+ 'parallel-gateway',
141
+ 'exclusive-gateway',
142
+ 'service-task',
143
+ 'workflow-editor',
144
+ 'boundary-interrupting',
145
+ 'boundary-non-interrupting',
146
+ 'block',
147
+ 'constrain-block',
148
+ 'actor',
149
+ 'instance-specification',
150
+ 'value-type',
151
+ 'interface-block',
152
+ 'unit',
153
+ 'signal',
154
+ 'quantity-kind',
155
+ 'item-flow',
156
+ 'dependency',
157
+ 'generalization',
158
+ 'aggregation',
159
+ 'composition',
160
+ 'association',
161
+ 'port',
162
+ 'proxy-port',
163
+ 'full-port',
164
+ 'operations',
165
+ 'constrains',
166
+ 'receptions',
167
+ 'references',
168
+ 'parts',
169
+ 'flow',
170
+ 'values',
171
+ 'bill-of-material',
172
+ 'document-info-recording',
173
+ 'use-case-diagram',
174
+ 'bdd-diagram',
175
+ 'requirement-diagram',
176
+ 'package-diagram',
177
+ 'internal-block-diagram',
178
+ 'requirement-containment-relationship',
179
+ 'use-case',
180
+ 'use-case-extension-point',
181
+ 'communication-path',
182
+ 'note-connection',
183
+ 'subject',
184
+ 'auto-layout',
185
+ 'required-interface',
186
+ 'provided-interface',
187
+ 'sub-content',
188
+ 'connector',
189
+ 'local-process-call',
190
+ 'aggregator',
191
+ 'splitter',
192
+ 'converter',
193
+ 'content-modifier',
194
+ 'message-start-event',
195
+ 'message-end-event',
196
+ 'escalation-end-event',
197
+ 'start-timer-event',
198
+ 'error-start-event',
199
+ 'error-end-event',
200
+ 'content-enricher',
201
+ 'realization',
202
+ 'interface',
203
+ 'usiness-capability',
204
+ 'progress-group',
205
+ 'value-stream',
206
+ 'value-flow',
207
+ 'application',
208
+ 'etl-job',
209
+ 'business-service',
210
+ 'application-service',
211
+ 'network-node',
212
+ 'network',
213
+ 'deployment-instance',
214
+ 'intranet',
215
+ 'mobile-network',
216
+ 'private-cloud',
217
+ 'antenna',
218
+ 'firewall',
219
+ 'hub',
220
+ 'modem',
221
+ 'repeater',
222
+ 'router',
223
+ 'switch',
224
+ 'satellite',
225
+ 'system-2',
226
+ 'status-activating',
227
+ 'status-suspended',
228
+ 'status-suspending',
229
+ 'status-terminated',
230
+ 'status-terminating',
231
+ 'solution-not-licensed',
232
+ 'clear-all-mapping',
233
+ 'map-all-fields'
234
+ ];
235
+ export const IconBusinessSuite = [
236
+ 'heart',
237
+ 'quarter',
238
+ 'year',
239
+ 'equalizer',
240
+ 'component',
241
+ 'component-private',
242
+ 'raw-material',
243
+ 'sms',
244
+ 'add-note',
245
+ 'change-time-horizon',
246
+ 'table-chart-customization',
247
+ 'delegated-important-task',
248
+ 'forklift',
249
+ 'coins',
250
+ 'filter-menu',
251
+ 'target-to-date',
252
+ 'program',
253
+ 'phase',
254
+ 'checklist',
255
+ 'mirrored-task',
256
+ 'sub-project',
257
+ 'checklist-item',
258
+ 'adhoc-analysis',
259
+ 'change-analysis',
260
+ 'review-demands',
261
+ 'project-definition',
262
+ 'data-access',
263
+ 'define-shortage',
264
+ 'review-supplies',
265
+ 'change-log',
266
+ 'priority-1',
267
+ 'priority-2',
268
+ 'jam',
269
+ 'milestone',
270
+ 'bulleting-with-numbers',
271
+ 'decrease-indent',
272
+ 'increase-indent',
273
+ 'bold',
274
+ 'italic',
275
+ 'strike-through',
276
+ 'underline',
277
+ 'save-as',
278
+ 'segmentation',
279
+ 'context-menu',
280
+ 'snapshot',
281
+ 'subtraction-b-a',
282
+ 'subtraction-a-b',
283
+ 'intersection',
284
+ 'union',
285
+ 'top',
286
+ 'bottom',
287
+ 'page-up',
288
+ 'page-down',
289
+ 'create-dashboard',
290
+ 'xcelsius-file',
291
+ 'open-folder',
292
+ 'neutral',
293
+ 'split-segmentation',
294
+ 'manage-budget',
295
+ 'blocked',
296
+ 'pipette',
297
+ 'top-recipe',
298
+ 'recipe',
299
+ 'ingredients',
300
+ 'multiple-charts',
301
+ 'descending-bars',
302
+ 'descending-stacked-bars',
303
+ 'scatter-plot',
304
+ 'spill',
305
+ 'fire',
306
+ 'stratification',
307
+ 'relationship',
308
+ 'margin-decomposition',
309
+ 'control-group',
310
+ 'comparison-chart',
311
+ 'responsible-area',
312
+ 'increase',
313
+ 'decrease',
314
+ 'current-stock',
315
+ 'expedite',
316
+ 'postpone',
317
+ 'approved',
318
+ 'partially-delivered',
319
+ 'line-bar-chart',
320
+ 'expand-all',
321
+ 'submission',
322
+ 'change-request',
323
+ 'column-unselected',
324
+ 'column-selected',
325
+ 'row-unselected',
326
+ 'row-selected',
327
+ 'stock-requirements',
328
+ 'gender-male-and-female',
329
+ 'marital-status',
330
+ 'birthday',
331
+ 'classification',
332
+ 'marked-for-deletion',
333
+ 'bullet-chart',
334
+ 'remove-filter',
335
+ 'bank-account',
336
+ 'savings-account',
337
+ 'debit-card',
338
+ 'vip-customer',
339
+ 'undesirable-customer',
340
+ 'answered-change-request',
341
+ 'collected-change-request',
342
+ 'draw-freehand',
343
+ 'draw-circle',
344
+ 'completed',
345
+ 'answered',
346
+ 'traffic-cone',
347
+ 'traffic-lights',
348
+ 'container',
349
+ 'container-loading',
350
+ 'traffic-jam',
351
+ 'products',
352
+ 'sidepanel',
353
+ 'split-screen',
354
+ 'truck-driver',
355
+ 'keep-segment',
356
+ 'exclude-segment',
357
+ 'separate-segments',
358
+ 'distribute-segments',
359
+ 'next-open-item',
360
+ 'where-used',
361
+ 'outbound-delivery',
362
+ 'outbound-delivery-inactive',
363
+ 'outbound-delivery-active',
364
+ 'target',
365
+ 'source',
366
+ 'material',
367
+ 'due-date',
368
+ 'overdue',
369
+ 'set-as-default',
370
+ 'face-very-bad',
371
+ 'face-bad',
372
+ 'face-skeptical',
373
+ 'face-neutral',
374
+ 'face-astonished',
375
+ 'face-happy',
376
+ 'face-very-happy',
377
+ 'face-awful',
378
+ 'face-devastated',
379
+ 'face-okey-dokey',
380
+ 'alarm',
381
+ 'activate',
382
+ 'segment-preview-reference-objects',
383
+ 'radius',
384
+ 'polygone-black',
385
+ 'polygone-white',
386
+ 'ploygone',
387
+ 'no-filter',
388
+ 'grip',
389
+ 'water',
390
+ 'gas',
391
+ 'liquid',
392
+ 'time-deposit',
393
+ 'early-widthdrawal-for-time-deposits',
394
+ 'truck-load',
395
+ 'truck-unload',
396
+ 'truck-load-unload',
397
+ 'pharmacy',
398
+ 'medicine-syrup',
399
+ 'reminder',
400
+ 'medicine-pill',
401
+ 'medicine-ointment',
402
+ 'medicine-drops',
403
+ 'blood-test',
404
+ 'temperature',
405
+ 'medicine-inhaler',
406
+ 'foot-steps',
407
+ 'weight',
408
+ 'health-tracking',
409
+ 'blood-pressure',
410
+ 'immunization',
411
+ 'allergies',
412
+ 'rescheduling2',
413
+ 'resequencing2',
414
+ 'no-time-change',
415
+ 'time-change',
416
+ 'smart-matcher',
417
+ 'legal-section',
418
+ 'causes',
419
+ 'effects',
420
+ 'shared-by-me',
421
+ 'shared-with-me',
422
+ 'alert-groups',
423
+ 'function-alert',
424
+ 'function-hierarchy',
425
+ 'rfid',
426
+ 'input',
427
+ 'software-item',
428
+ 'product-view',
429
+ 'software-item-variant',
430
+ 'lighthouse',
431
+ 'demand-unit',
432
+ 'fma-management',
433
+ 'fma-validation',
434
+ 'fma-analytics',
435
+ 'class',
436
+ 'overview',
437
+ 'production',
438
+ 'subclass',
439
+ 'variant-configuration',
440
+ 'sum',
441
+ 'empty-trailer',
442
+ 'door',
443
+ 'loading-point',
444
+ 'stock-warehouse',
445
+ 'gate',
446
+ 'timeseries-waterfall-chart',
447
+ 'stages-warning',
448
+ 'empty-warning'
449
+ ];
450
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sVUFBVSxZQUFZLENBQUMsVUFBVSxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsTUFBTTtJQUN0RSxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1QsTUFBTSxXQUFXLEdBQUcsT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDckUsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDLGtCQUFrQixDQUFDO1lBQ3JELFNBQVMsRUFBRSxNQUFNO1lBQ2pCLE1BQU0sRUFBRSxPQUFPLE1BQU0sS0FBSyxRQUFRO1lBQ2xDLFdBQVc7U0FDZCxDQUFDLENBQUM7UUFDSCxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDakIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvQixNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsYUFBNEIsQ0FBQztRQUNuRCxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLHlCQUF5QixDQUFnQixDQUFDO1FBRTNFLE1BQU0sZ0JBQWdCLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxtQ0FBbUMsQ0FBZ0IsQ0FBQztRQUM5RixNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLDBCQUEwQixDQUFnQixDQUFDO1FBQzdFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDakQsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyw0QkFBNEIsQ0FBZ0IsQ0FBQztRQUNqRixJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2Isd0NBQXdDO1lBQ3hDLFVBQVUsQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLFFB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QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBGb3JtTGF5b3V0Q29sIHtcclxuICAgIGNvbFhsOiBudW1iZXI7XHJcbiAgICBjb2xMZzogbnVtYmVyO1xyXG4gICAgY29sTWQ6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGluc2VydEF2YXRhcihlbGVtZW50UmVmLCBoZWFkZXJBdmF0YXJSZWYsIHRpdGxlUmVmLCBhdmF0YXIpOiB2b2lkIHtcclxuICAgIGlmIChhdmF0YXIpIHtcclxuICAgICAgICBjb25zdCBpc051bGxJbWFnZSA9IHR5cGVvZiBhdmF0YXIgPT09ICdvYmplY3QnICYmIGF2YXRhci5Jc051bGxJbWFnZTtcclxuICAgICAgICBjb25zdCBhdmF0YXJWaWV3UmVmID0gaGVhZGVyQXZhdGFyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh7XHJcbiAgICAgICAgICAgICRpbXBsaWNpdDogYXZhdGFyLFxyXG4gICAgICAgICAgICBpc0ljb246IHR5cGVvZiBhdmF0YXIgPT09ICdzdHJpbmcnLFxyXG4gICAgICAgICAgICBpc051bGxJbWFnZVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRpdGxlUmVmLmNsZWFyKCk7XHJcbiAgICAgICAgdGl0bGVSZWYuaW5zZXJ0KGF2YXRhclZpZXdSZWYpO1xyXG4gICAgICAgIGNvbnN0IGVsID0gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgIGNvbnN0IHRpdGxlRWwgPSBlbC5xdWVyeVNlbGVjdG9yKCcuZmQtZHluYW1pYy1wYWdlX190aXRsZScpIGFzIEhUTUxFbGVtZW50O1xyXG5cclxuICAgICAgICBjb25zdCB0aXRsZUNvbnRhaW5lckVsID0gZWwucXVlcnlTZWxlY3RvcignLmZkLWR5bmFtaWMtcGFnZV9fdGl0bGUtY29udGFpbmVyJykgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgY29uc3QgYXZhdGFyRWwgPSBlbC5xdWVyeVNlbGVjdG9yKCcuZmQtZHluYW1pYy1wYWdlX19hdmF0YXInKSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICB0aXRsZUNvbnRhaW5lckVsLmluc2VydEJlZm9yZShhdmF0YXJFbCwgdGl0bGVFbCk7XHJcbiAgICAgICAgY29uc3Qgc3ViVGl0bGVFbCA9IGVsLnF1ZXJ5U2VsZWN0b3IoJy5mZC1keW5hbWljLXBhZ2VfX3N1YnRpdGxlJykgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgaWYgKHN1YlRpdGxlRWwpIHtcclxuICAgICAgICAgICAgLy8gY29uc3QgaW5Nb2JpbGUgPSBnZXREZXZpY2VJc01vYmlsZSgpO1xyXG4gICAgICAgICAgICBzdWJUaXRsZUVsLnN0eWxlLnBhZGRpbmdSaWdodCA9IGBjYWxjKCR7MS41fXJlbSArIDEwcHgpYDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuZXhwb3J0IGZ1bmN0aW9uIEdldEZvcm1MYXlvdXRHcmlkKGNlaWw6IGJvb2xlYW4sIGNvbFhsOiBudW1iZXIsIGNvbExnOiBudW1iZXIsIGNvbE1kOiBudW1iZXIpOiBGb3JtTGF5b3V0Q29sIHtcclxuICAgIGNvbnN0IHggPSBjZWlsID8gTWF0aC5jZWlsIDogTWF0aC5yb3VuZDtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgY29sWGw6IGNvbFhsID09PSAwID8gMCA6IHgoKDEyIC0gY29sWGwpIC8gMiksXHJcbiAgICAgICAgY29sTGc6IGNvbExnID09PSAwID8gMCA6IHgoKDEyIC0gY29sTGcpIC8gMiksXHJcbiAgICAgICAgY29sTWQ6IGNvbE1kID09PSAwID8gMCA6IHgoKDEyIC0gY29sTWQpIC8gMilcclxuICAgIH07XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBzb3J0ID0gPFQgZXh0ZW5kcyBvYmplY3Q+KGE6IFQsIGI6IFQsIGtleTogc3RyaW5nIHwgbnVsbCwgaXNOdW1iZXI/OiBib29sZWFuKTogbnVtYmVyID0+IHtcclxuICAgIGlmIChrZXkpIHtcclxuICAgICAgICBpZiAodHlwZW9mIGEgPT09ICdvYmplY3QnICYmICEoYSBpbnN0YW5jZW9mIERhdGUpKSB7XHJcbiAgICAgICAgICAgIGEgPSBnZXROZXN0ZWRWYWx1ZShrZXksIGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodHlwZW9mIGIgPT09ICdvYmplY3QnICYmICEoYiBpbnN0YW5jZW9mIERhdGUpKSB7XHJcbiAgICAgICAgICAgIGIgPSBnZXROZXN0ZWRWYWx1ZShrZXksIGIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChrZXkgPT09ICdSb3dudW1iZXInIHx8IGlzTnVtYmVyKSB7XHJcbiAgICAgICAgcmV0dXJuIE51bWJlcihhKSA9PT0gTnVtYmVyKGIpID8gMCA6IE51bWJlcihhKSA+IE51bWJlcihiKSA/IDEgOiAtMTtcclxuICAgIH0gZWxzZSBpZiAodHlwZW9mIGEgPT09ICdzdHJpbmcnICYmIHR5cGVvZiBiID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgIHJldHVybiAoYSBhcyBzdHJpbmcpLmxvY2FsZUNvbXBhcmUoYiBhcyBzdHJpbmcpO1xyXG4gICAgfSBlbHNlIGlmIChhIGluc3RhbmNlb2YgRGF0ZSB8fCBiIGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgICAgIGlmICghYSAmJiBiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAtMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFiICYmIGEpIHtcclxuICAgICAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChhIGluc3RhbmNlb2YgRGF0ZSAmJiBiIGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgICAgICAgICBjb25zdCBtc0RhdGVBID0gRGF0ZS5VVEMoYS5nZXRGdWxsWWVhcigpLCBhLmdldE1vbnRoKCkgKyAxLCBhLmdldERhdGUoKSk7XHJcbiAgICAgICAgICAgIGNvbnN0IG1zRGF0ZUIgPSBEYXRlLlVUQyhiLmdldEZ1bGxZZWFyKCksIGIuZ2V0TW9udGgoKSArIDEsIGIuZ2V0RGF0ZSgpKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChtc0RhdGVBIDwgbXNEYXRlQikge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKG1zRGF0ZUEgPT09IG1zRGF0ZUIpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAwO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKG1zRGF0ZUEgPiBtc0RhdGVCKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gYS5nZXRUaW1lKCkgPiBiPy5nZXRUaW1lKCkgPyAxIDogYS5nZXRUaW1lKCkgPT09IGIuZ2V0VGltZSgpID8gMCA6IC0xO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBhID4gYiA/IDEgOiBhID09PSBiID8gMCA6IC0xO1xyXG59O1xyXG5leHBvcnQgZnVuY3Rpb24gX3RyaW1FbmQodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBjYWNoZSA9IG5ldyBTZXQoU3RyaW5nKHZhbHVlKSk7XHJcbiAgICBsZXQgZW5kID0gdmFsdWUubGVuZ3RoO1xyXG4gICAgZm9yIChsZXQgaSA9IHZhbHVlLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XHJcbiAgICAgICAgaWYgKCFjYWNoZS5oYXModmFsdWVbaV0pKSB7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbmQtLTtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZS5zbGljZSgwLCBlbmQpO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXROZXN0ZWRWYWx1ZTxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4oa2V5OiBzdHJpbmcsIG9iamVjdDogVCk6IGFueSB7XHJcbiAgICByZXR1cm4ga2V5LnNwbGl0KCcuJykucmVkdWNlKChhLCBiKSA9PiAodHlwZW9mIGEgPT09ICd1bmRlZmluZWQnID8gYSA6IGFbYl0pLCBvYmplY3QpO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgSWNvblROVCA9IFtcclxuICAgICd0ZWNobmljYWxzeXN0ZW0nLFxyXG4gICAgJ3N5c3RlbWphdmEnLFxyXG4gICAgJ3N5c3RlbWFiYXAnLFxyXG4gICAgJ3N5c3RlbXJlY29tbWVuZGF0aW9ucycsXHJcbiAgICAnc3lzdGVtJyxcclxuICAgICdzeXN0ZW10cmV4JyxcclxuICAgICdzeXN0ZW10cmFja3MnLFxyXG4gICAgJ3RlY2huaWNhbHNjZW5hcmlvJyxcclxuICAgICd0ZWNobmljYWxpbnN0YW5jZScsXHJcbiAgICAndGhyb3VnaHB1dC1iYWNrbG9nJyxcclxuICAgICdiYXRjaC1wcm9jZXNzaW5nJyxcclxuICAgICdkYXRhYmFzZS1jb25zaXN0ZW5jeScsXHJcbiAgICAnaW50ZXJtZWRpYXRlLW1lc3NhZ2UnLFxyXG4gICAgJ2V4Y2VwdGlvbnMnLFxyXG4gICAgJ3N5c3RlbS1IQU5BJyxcclxuICAgICdweXRob24nLFxyXG4gICAgJ3JhaXNlLWZhdWx0JyxcclxuICAgICdjb2RlMScsXHJcbiAgICAnY29kZTInLFxyXG4gICAgJ3NwaWtlLWFycmVzdCcsXHJcbiAgICAndmVyaWZ5LUFQSScsXHJcbiAgICAndXNlcicsXHJcbiAgICAnbm90ZScsXHJcbiAgICAndGhyb3dpbmctbWVzc2FnZScsXHJcbiAgICAnY2F0Y2hpbmctbWVzc2FnZScsXHJcbiAgICAnc3RhcnQtZXZlbnQnLFxyXG4gICAgJ2VuZC1ldmVudCcsXHJcbiAgICAnZ2F0ZXdheScsXHJcbiAgICAnc3ViLXByb2Nlc3MtbWFya2VyJyxcclxuICAgICdhZC1ob2MtbWFya2VyJyxcclxuICAgICdtYW51YWwtdGFzaycsXHJcbiAgICAnc2VuZC10YXNrJyxcclxuICAgICdyZWNlaXZlLXRhc2snLFxyXG4gICAgJ3NjcmlwdC10YXNrJyxcclxuICAgICdtYXJxdWVlJyxcclxuICAgICdkYXRhLWlucHV0LWFycm93JyxcclxuICAgICdkYXRhLW91dHB1dC1hcnJvdycsXHJcbiAgICAnbW9yZScsXHJcbiAgICAncGF0dGVybicsXHJcbiAgICAndGFzaycsXHJcbiAgICAnYXJyb3cnLFxyXG4gICAgJ2RhdGEnLFxyXG4gICAgJ2RhdGEtc3RvcmUnLFxyXG4gICAgJ3Bvb2wnLFxyXG4gICAgJ3N3aW1sYW5lJyxcclxuICAgICdzZWxlY3QnLFxyXG4gICAgJ2N1cnNvcicsXHJcbiAgICAnYXBpJyxcclxuICAgICdvLWRhdGEnLFxyXG4gICAgJ2phdmFzY3JpcHQnLFxyXG4gICAgJ3ZhbHVlLW1hcHBpbmcnLFxyXG4gICAgJ3Rlcm1pbmF0ZS1lbmQtZXZlbnQnLFxyXG4gICAgJ3BhcmFsbGVsLWdhdGV3YXknLFxyXG4gICAgJ2V4Y2x1c2l2ZS1nYXRld2F5JyxcclxuICAgICdzZXJ2aWNlLXRhc2snLFxyXG4gICAgJ3dvcmtmbG93LWVkaXRvcicsXHJcbiAgICAnYm91bmRhcnktaW50ZXJydXB0aW5nJyxcclxuICAgICdib3VuZGFyeS1ub24taW50ZXJydXB0aW5nJyxcclxuICAgICdibG9jaycsXHJcbiAgICAnY29uc3RyYWluLWJsb2NrJyxcclxuICAgICdhY3RvcicsXHJcbiAgICAnaW5zdGFuY2Utc3BlY2lmaWNhdGlvbicsXHJcbiAgICAndmFsdWUtdHlwZScsXHJcbiAgICAnaW50ZXJmYWNlLWJsb2NrJyxcclxuICAgICd1bml0JyxcclxuICAgICdzaWduYWwnLFxyXG4gICAgJ3F1YW50aXR5LWtpbmQnLFxyXG4gICAgJ2l0ZW0tZmxvdycsXHJcbiAgICAnZGVwZW5kZW5jeScsXHJcbiAgICAnZ2VuZXJhbGl6YXRpb24nLFxyXG4gICAgJ2FnZ3JlZ2F0aW9uJyxcclxuICAgICdjb21wb3NpdGlvbicsXHJcbiAgICAnYXNzb2NpYXRpb24nLFxyXG4gICAgJ3BvcnQnLFxyXG4gICAgJ3Byb3h5LXBvcnQnLFxyXG4gICAgJ2Z1bGwtcG9ydCcsXHJcbiAgICAnb3BlcmF0aW9ucycsXHJcbiAgICAnY29uc3RyYWlucycsXHJcbiAgICAncmVjZXB0aW9ucycsXHJcbiAgICAncmVmZXJlbmNlcycsXHJcbiAgICAncGFydHMnLFxyXG4gICAgJ2Zsb3cnLFxyXG4gICAgJ3ZhbHVlcycsXHJcbiAgICAnYmlsbC1vZi1tYXRlcmlhbCcsXHJcbiAgICAnZG9jdW1lbnQtaW5mby1yZWNvcmRpbmcnLFxyXG4gICAgJ3VzZS1jYXNlLWRpYWdyYW0nLFxyXG4gICAgJ2JkZC1kaWFncmFtJyxcclxuICAgICdyZXF1aXJlbWVudC1kaWFncmFtJyxcclxuICAgICdwYWNrYWdlLWRpYWdyYW0nLFxyXG4gICAgJ2ludGVybmFsLWJsb2NrLWRpYWdyYW0nLFxyXG4gICAgJ3JlcXVpcmVtZW50LWNvbnRhaW5tZW50LXJlbGF0aW9uc2hpcCcsXHJcbiAgICAndXNlLWNhc2UnLFxyXG4gICAgJ3VzZS1jYXNlLWV4dGVuc2lvbi1wb2ludCcsXHJcbiAgICAnY29tbXVuaWNhdGlvbi1wYXRoJyxcclxuICAgICdub3RlLWNvbm5lY3Rpb24nLFxyXG4gICAgJ3N1YmplY3QnLFxyXG4gICAgJ2F1dG8tbGF5b3V0JyxcclxuICAgICdyZXF1aXJlZC1pbnRlcmZhY2UnLFxyXG4gICAgJ3Byb3ZpZGVkLWludGVyZmFjZScsXHJcbiAgICAnc3ViLWNvbnRlbnQnLFxyXG4gICAgJ2Nvbm5lY3RvcicsXHJcbiAgICAnbG9jYWwtcHJvY2Vzcy1jYWxsJyxcclxuICAgICdhZ2dyZWdhdG9yJyxcclxuICAgICdzcGxpdHRlcicsXHJcbiAgICAnY29udmVydGVyJyxcclxuICAgICdjb250ZW50LW1vZGlmaWVyJyxcclxuICAgICdtZXNzYWdlLXN0YXJ0LWV2ZW50JyxcclxuICAgICdtZXNzYWdlLWVuZC1ldmVudCcsXHJcbiAgICAnZXNjYWxhdGlvbi1lbmQtZXZlbnQnLFxyXG4gICAgJ3N0YXJ0LXRpbWVyLWV2ZW50JyxcclxuICAgICdlcnJvci1zdGFydC1ldmVudCcsXHJcbiAgICAnZXJyb3ItZW5kLWV2ZW50JyxcclxuICAgICdjb250ZW50LWVucmljaGVyJyxcclxuICAgICdyZWFsaXphdGlvbicsXHJcbiAgICAnaW50ZXJmYWNlJyxcclxuICAgICd1c2luZXNzLWNhcGFiaWxpdHknLFxyXG4gICAgJ3Byb2dyZXNzLWdyb3VwJyxcclxuICAgICd2YWx1ZS1zdHJlYW0nLFxyXG4gICAgJ3ZhbHVlLWZsb3cnLFxyXG4gICAgJ2FwcGxpY2F0aW9uJyxcclxuICAgICdldGwtam9iJyxcclxuICAgICdidXNpbmVzcy1zZXJ2aWNlJyxcclxuICAgICdhcHBsaWNhdGlvbi1zZXJ2aWNlJyxcclxuICAgICduZXR3b3JrLW5vZGUnLFxyXG4gICAgJ25ldHdvcmsnLFxyXG4gICAgJ2RlcGxveW1lbnQtaW5zdGFuY2UnLFxyXG4gICAgJ2ludHJhbmV0JyxcclxuICAgICdtb2JpbGUtbmV0d29yaycsXHJcbiAgICAncHJpdmF0ZS1jbG91ZCcsXHJcbiAgICAnYW50ZW5uYScsXHJcbiAgICAnZmlyZXdhbGwnLFxyXG4gICAgJ2h1YicsXHJcbiAgICAnbW9kZW0nLFxyXG4gICAgJ3JlcGVhdGVyJyxcclxuICAgICdyb3V0ZXInLFxyXG4gICAgJ3N3aXRjaCcsXHJcbiAgICAnc2F0ZWxsaXRlJyxcclxuICAgICdzeXN0ZW0tMicsXHJcbiAgICAnc3RhdHVzLWFjdGl2YXRpbmcnLFxyXG4gICAgJ3N0YXR1cy1zdXNwZW5kZWQnLFxyXG4gICAgJ3N0YXR1cy1zdXNwZW5kaW5nJyxcclxuICAgICdzdGF0dXMtdGVybWluYXRlZCcsXHJcbiAgICAnc3RhdHVzLXRlcm1pbmF0aW5nJyxcclxuICAgICdzb2x1dGlvbi1ub3QtbGljZW5zZWQnLFxyXG4gICAgJ2NsZWFyLWFsbC1tYXBwaW5nJyxcclxuICAgICdtYXAtYWxsLWZpZWxkcydcclxuXTtcclxuZXhwb3J0IGNvbnN0IEljb25CdXNpbmVzc1N1aXRlID0gW1xyXG4gICAgJ2hlYXJ0JyxcclxuICAgICdxdWFydGVyJyxcclxuICAgICd5ZWFyJyxcclxuICAgICdlcXVhbGl6ZXInLFxyXG4gICAgJ2NvbXBvbmVudCcsXHJcbiAgICAnY29tcG9uZW50LXByaXZhdGUnLFxyXG4gICAgJ3Jhdy1tYXRlcmlhbCcsXHJcbiAgICAnc21zJyxcclxuICAgICdhZGQtbm90ZScsXHJcbiAgICAnY2hhbmdlLXRpbWUtaG9yaXpvbicsXHJcbiAgICAndGFibGUtY2hhcnQtY3VzdG9taXphdGlvbicsXHJcbiAgICAnZGVsZWdhdGVkLWltcG9ydGFudC10YXNrJyxcclxuICAgICdmb3JrbGlmdCcsXHJcbiAgICAnY29pbnMnLFxyXG4gICAgJ2ZpbHRlci1tZW51JyxcclxuICAgICd0YXJnZXQtdG8tZGF0ZScsXHJcbiAgICAncHJvZ3JhbScsXHJcbiAgICAncGhhc2UnLFxyXG4gICAgJ2NoZWNrbGlzdCcsXHJcbiAgICAnbWlycm9yZWQtdGFzaycsXHJcbiAgICAnc3ViLXByb2plY3QnLFxyXG4gICAgJ2NoZWNrbGlzdC1pdGVtJyxcclxuICAgICdhZGhvYy1hbmFseXNpcycsXHJcbiAgICAnY2hhbmdlLWFuYWx5c2lzJyxcclxuICAgICdyZXZpZXctZGVtYW5kcycsXHJcbiAgICAncHJvamVjdC1kZWZpbml0aW9uJyxcclxuICAgICdkYXRhLWFjY2VzcycsXHJcbiAgICAnZGVmaW5lLXNob3J0YWdlJyxcclxuICAgICdyZXZpZXctc3VwcGxpZXMnLFxyXG4gICAgJ2NoYW5nZS1sb2cnLFxyXG4gICAgJ3ByaW9yaXR5LTEnLFxyXG4gICAgJ3ByaW9yaXR5LTInLFxyXG4gICAgJ2phbScsXHJcbiAgICAnbWlsZXN0b25lJyxcclxuICAgICdidWxsZXRpbmctd2l0aC1udW1iZXJzJyxcclxuICAgICdkZWNyZWFzZS1pbmRlbnQnLFxyXG4gICAgJ2luY3JlYXNlLWluZGVudCcsXHJcbiAgICAnYm9sZCcsXHJcbiAgICAnaXRhbGljJyxcclxuICAgICdzdHJpa2UtdGhyb3VnaCcsXHJcbiAgICAndW5kZXJsaW5lJyxcclxuICAgICdzYXZlLWFzJyxcclxuICAgICdzZWdtZW50YXRpb24nLFxyXG4gICAgJ2NvbnRleHQtbWVudScsXHJcbiAgICAnc25hcHNob3QnLFxyXG4gICAgJ3N1YnRyYWN0aW9uLWItYScsXHJcbiAgICAnc3VidHJhY3Rpb24tYS1iJyxcclxuICAgICdpbnRlcnNlY3Rpb24nLFxyXG4gICAgJ3VuaW9uJyxcclxuICAgICd0b3AnLFxyXG4gICAgJ2JvdHRvbScsXHJcbiAgICAncGFnZS11cCcsXHJcbiAgICAncGFnZS1kb3duJyxcclxuICAgICdjcmVhdGUtZGFzaGJvYXJkJyxcclxuICAgICd4Y2Vsc2l1cy1maWxlJyxcclxuICAgICdvcGVuLWZvbGRlcicsXHJcbiAgICAnbmV1dHJhbCcsXHJcbiAgICAnc3BsaXQtc2VnbWVudGF0aW9uJyxcclxuICAgICdtYW5hZ2UtYnVkZ2V0JyxcclxuICAgICdibG9ja2VkJyxcclxuICAgICdwaXBldHRlJyxcclxuICAgICd0b3AtcmVjaXBlJyxcclxuICAgICdyZWNpcGUnLFxyXG4gICAgJ2luZ3JlZGllbnRzJyxcclxuICAgICdtdWx0aXBsZS1jaGFydHMnLFxyXG4gICAgJ2Rlc2NlbmRpbmctYmFycycsXHJcbiAgICAnZGVzY2VuZGluZy1zdGFja2VkLWJhcnMnLFxyXG4gICAgJ3NjYXR0ZXItcGxvdCcsXHJcbiAgICAnc3BpbGwnLFxyXG4gICAgJ2ZpcmUnLFxyXG4gICAgJ3N0cmF0aWZpY2F0aW9uJyxcclxuICAgICdyZWxhdGlvbnNoaXAnLFxyXG4gICAgJ21hcmdpbi1kZWNvbXBvc2l0aW9uJyxcclxuICAgICdjb250cm9sLWdyb3VwJyxcclxuICAgICdjb21wYXJpc29uLWNoYXJ0JyxcclxuICAgICdyZXNwb25zaWJsZS1hcmVhJyxcclxuICAgICdpbmNyZWFzZScsXHJcbiAgICAnZGVjcmVhc2UnLFxyXG4gICAgJ2N1cnJlbnQtc3RvY2snLFxyXG4gICAgJ2V4cGVkaXRlJyxcclxuICAgICdwb3N0cG9uZScsXHJcbiAgICAnYXBwcm92ZWQnLFxyXG4gICAgJ3BhcnRpYWxseS1kZWxpdmVyZWQnLFxyXG4gICAgJ2xpbmUtYmFyLWNoYXJ0JyxcclxuICAgICdleHBhbmQtYWxsJyxcclxuICAgICdzdWJtaXNzaW9uJyxcclxuICAgICdjaGFuZ2UtcmVxdWVzdCcsXHJcbiAgICAnY29sdW1uLXVuc2VsZWN0ZWQnLFxyXG4gICAgJ2NvbHVtbi1zZWxlY3RlZCcsXHJcbiAgICAncm93LXVuc2VsZWN0ZWQnLFxyXG4gICAgJ3Jvdy1zZWxlY3RlZCcsXHJcbiAgICAnc3RvY2stcmVxdWlyZW1lbnRzJyxcclxuICAgICdnZW5kZXItbWFsZS1hbmQtZmVtYWxlJyxcclxuICAgICdtYXJpdGFsLXN0YXR1cycsXHJcbiAgICAnYmlydGhkYXknLFxyXG4gICAgJ2NsYXNzaWZpY2F0aW9uJyxcclxuICAgICdtYXJrZWQtZm9yLWRlbGV0aW9uJyxcclxuICAgICdidWxsZXQtY2hhcnQnLFxyXG4gICAgJ3JlbW92ZS1maWx0ZXInLFxyXG4gICAgJ2JhbmstYWNjb3VudCcsXHJcbiAgICAnc2F2aW5ncy1hY2NvdW50JyxcclxuICAgICdkZWJpdC1jYXJkJyxcclxuICAgICd2aXAtY3VzdG9tZXInLFxyXG4gICAgJ3VuZGVzaXJhYmxlLWN1c3RvbWVyJyxcclxuICAgICdhbnN3ZXJlZC1jaGFuZ2UtcmVxdWVzdCcsXHJcbiAgICAnY29sbGVjdGVkLWNoYW5nZS1yZXF1ZXN0JyxcclxuICAgICdkcmF3LWZyZWVoYW5kJyxcclxuICAgICdkcmF3LWNpcmNsZScsXHJcbiAgICAnY29tcGxldGVkJyxcclxuICAgICdhbnN3ZXJlZCcsXHJcbiAgICAndHJhZmZpYy1jb25lJyxcclxuICAgICd0cmFmZmljLWxpZ2h0cycsXHJcbiAgICAnY29udGFpbmVyJyxcclxuICAgICdjb250YWluZXItbG9hZGluZycsXHJcbiAgICAndHJhZmZpYy1qYW0nLFxyXG4gICAgJ3Byb2R1Y3RzJyxcclxuICAgICdzaWRlcGFuZWwnLFxyXG4gICAgJ3NwbGl0LXNjcmVlbicsXHJcbiAgICAndHJ1Y2stZHJpdmVyJyxcclxuICAgICdrZWVwLXNlZ21lbnQnLFxyXG4gICAgJ2V4Y2x1ZGUtc2VnbWVudCcsXHJcbiAgICAnc2VwYXJhdGUtc2VnbWVudHMnLFxyXG4gICAgJ2Rpc3RyaWJ1dGUtc2VnbWVudHMnLFxyXG4gICAgJ25leHQtb3Blbi1pdGVtJyxcclxuICAgICd3aGVyZS11c2VkJyxcclxuICAgICdvdXRib3VuZC1kZWxpdmVyeScsXHJcbiAgICAnb3V0Ym91bmQtZGVsaXZlcnktaW5hY3RpdmUnLFxyXG4gICAgJ291dGJvdW5kLWRlbGl2ZXJ5LWFjdGl2ZScsXHJcbiAgICAndGFyZ2V0JyxcclxuICAgICdzb3VyY2UnLFxyXG4gICAgJ21hdGVyaWFsJyxcclxuICAgICdkdWUtZGF0ZScsXHJcbiAgICAnb3ZlcmR1ZScsXHJcbiAgICAnc2V0LWFzLWRlZmF1bHQnLFxyXG4gICAgJ2ZhY2UtdmVyeS1iYWQnLFxyXG4gICAgJ2ZhY2UtYmFkJyxcclxuICAgICdmYWNlLXNrZXB0aWNhbCcsXHJcbiAgICAnZmFjZS1uZXV0cmFsJyxcclxuICAgICdmYWNlLWFzdG9uaXNoZWQnLFxyXG4gICAgJ2ZhY2UtaGFwcHknLFxyXG4gICAgJ2ZhY2UtdmVyeS1oYXBweScsXHJcbiAgICAnZmFjZS1hd2Z1bCcsXHJcbiAgICAnZmFjZS1kZXZhc3RhdGVkJyxcclxuICAgICdmYWNlLW9rZXktZG9rZXknLFxyXG4gICAgJ2FsYXJtJyxcclxuICAgICdhY3RpdmF0ZScsXHJcbiAgICAnc2VnbWVudC1wcmV2aWV3LXJlZmVyZW5jZS1vYmplY3RzJyxcclxuICAgICdyYWRpdXMnLFxyXG4gICAgJ3BvbHlnb25lLWJsYWNrJyxcclxuICAgICdwb2x5Z29uZS13aGl0ZScsXHJcbiAgICAncGxveWdvbmUnLFxyXG4gICAgJ25vLWZpbHRlcicsXHJcbiAgICAnZ3JpcCcsXHJcbiAgICAnd2F0ZXInLFxyXG4gICAgJ2dhcycsXHJcbiAgICAnbGlxdWlkJyxcclxuICAgICd0aW1lLWRlcG9zaXQnLFxyXG4gICAgJ2Vhcmx5LXdpZHRoZHJhd2FsLWZvci10aW1lLWRlcG9zaXRzJyxcclxuICAgICd0cnVjay1sb2FkJyxcclxuICAgICd0cnVjay11bmxvYWQnLFxyXG4gICAgJ3RydWNrLWxvYWQtdW5sb2FkJyxcclxuICAgICdwaGFybWFjeScsXHJcbiAgICAnbWVkaWNpbmUtc3lydXAnLFxyXG4gICAgJ3JlbWluZGVyJyxcclxuICAgICdtZWRpY2luZS1waWxsJyxcclxuICAgICdtZWRpY2luZS1vaW50bWVudCcsXHJcbiAgICAnbWVkaWNpbmUtZHJvcHMnLFxyXG4gICAgJ2Jsb29kLXRlc3QnLFxyXG4gICAgJ3RlbXBlcmF0dXJlJyxcclxuICAgICdtZWRpY2luZS1pbmhhbGVyJyxcclxuICAgICdmb290LXN0ZXBzJyxcclxuICAgICd3ZWlnaHQnLFxyXG4gICAgJ2hlYWx0aC10cmFja2luZycsXHJcbiAgICAnYmxvb2QtcHJlc3N1cmUnLFxyXG4gICAgJ2ltbXVuaXphdGlvbicsXHJcbiAgICAnYWxsZXJnaWVzJyxcclxuICAgICdyZXNjaGVkdWxpbmcyJyxcclxuICAgICdyZXNlcXVlbmNpbmcyJyxcclxuICAgICduby10aW1lLWNoYW5nZScsXHJcbiAgICAndGltZS1jaGFuZ2UnLFxyXG4gICAgJ3NtYXJ0LW1hdGNoZXInLFxyXG4gICAgJ2xlZ2FsLXNlY3Rpb24nLFxyXG4gICAgJ2NhdXNlcycsXHJcbiAgICAnZWZmZWN0cycsXHJcbiAgICAnc2hhcmVkLWJ5LW1lJyxcclxuICAgICdzaGFyZWQtd2l0aC1tZScsXHJcbiAgICAnYWxlcnQtZ3JvdXBzJyxcclxuICAgICdmdW5jdGlvbi1hbGVydCcsXHJcbiAgICAnZnVuY3Rpb24taGllcmFyY2h5JyxcclxuICAgICdyZmlkJyxcclxuICAgICdpbnB1dCcsXHJcbiAgICAnc29mdHdhcmUtaXRlbScsXHJcbiAgICAncHJvZHVjdC12aWV3JyxcclxuICAgICdzb2Z0d2FyZS1pdGVtLXZhcmlhbnQnLFxyXG4gICAgJ2xpZ2h0aG91c2UnLFxyXG4gICAgJ2RlbWFuZC11bml0JyxcclxuICAgICdmbWEtbWFuYWdlbWVudCcsXHJcbiAgICAnZm1hLXZhbGlkYXRpb24nLFxyXG4gICAgJ2ZtYS1hbmFseXRpY3MnLFxyXG4gICAgJ2NsYXNzJyxcclxuICAgICdvdmVydmlldycsXHJcbiAgICAncHJvZHVjdGlvbicsXHJcbiAgICAnc3ViY2xhc3MnLFxyXG4gICAgJ3ZhcmlhbnQtY29uZmlndXJhdGlvbicsXHJcbiAgICAnc3VtJyxcclxuICAgICdlbXB0eS10cmFpbGVyJyxcclxuICAgICdkb29yJyxcclxuICAgICdsb2FkaW5nLXBvaW50JyxcclxuICAgICdzdG9jay13YXJlaG91c2UnLFxyXG4gICAgJ2dhdGUnLFxyXG4gICAgJ3RpbWVzZXJpZXMtd2F0ZXJmYWxsLWNoYXJ0JyxcclxuICAgICdzdGFnZXMtd2FybmluZycsXHJcbiAgICAnZW1wdHktd2FybmluZydcclxuXTtcclxuIl19
@@ -0,0 +1,41 @@
1
+ import { ChangeDetectionStrategy, Component, Self } from '@angular/core';
2
+ import { CalendarService } from 'barsa-calendar';
3
+ import { BaseComponent, DateService, getDateService } from 'barsa-novin-ray-core';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "barsa-calendar";
6
+ import * as i2 from "barsa-novin-ray-core";
7
+ import * as i3 from "@angular/common";
8
+ export class CustomDateTimeComponent extends BaseComponent {
9
+ constructor(_calendarService, _portalService) {
10
+ super();
11
+ this._calendarService = _calendarService;
12
+ this.todayIndex = -1;
13
+ this.rtl$ = _portalService.rtl$;
14
+ this.deviceSize$ = _portalService.deviceSize$;
15
+ this.weekDaysMin = this._calendarService.weekDaysMin();
16
+ this.weekDays = this._calendarService.weekDays();
17
+ this.selectedMonth$ = this._calendarService.selected$;
18
+ this.today = this._calendarService.today;
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomDateTimeComponent, deps: [{ token: i1.CalendarService, self: true }, { token: i2.PortalService }], target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CustomDateTimeComponent, selector: "bsu-custom-date-time", providers: [
22
+ {
23
+ provide: DateService,
24
+ useFactory: getDateService
25
+ },
26
+ CalendarService
27
+ ], usesInheritance: true, ngImport: i0, template: "<ng-container\r\n *ngTemplateOutlet=\"\r\n month;\r\n context: {\r\n $implicit: selectedMonth$ | async,\r\n width: width,\r\n height: height,\r\n rtl: rtl$ | async,\r\n weekDays: weekDays,\r\n weekDaysMin: weekDaysMin,\r\n today: today,\r\n deviceSize: deviceSize$ | async\r\n }\r\n \"\r\n>\r\n</ng-container>\r\n<ng-template\r\n #month\r\n let-selectedMonth\r\n let-width=\"width\"\r\n let-height=\"height\"\r\n let-rtl=\"rtl\"\r\n let-today=\"today\"\r\n let-showEvents=\"showEvents\"\r\n let-deviceSize=\"deviceSize\"\r\n>\r\n <bc-calendar-month\r\n [style.width]=\"width\"\r\n [containerHeight]=\"height\"\r\n [containerWidth]=\"width\"\r\n [rtl]=\"rtl\"\r\n [weekDays]=\"weekDays\"\r\n [weekDaysMin]=\"weekDaysMin\"\r\n [today]=\"today\"\r\n [datePicker]=\"true\"\r\n [dateRange]=\"false\"\r\n [monthInfo]=\"selectedMonth\"\r\n [deviceSize]=\"deviceSize\"\r\n ></bc-calendar-month>\r\n</ng-template>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1.CalendarMonthComponent, selector: "bc-calendar-month", inputs: ["monthWeeksCount", "weekDays", "weekDaysMin", "today", "containerHeight", "days", "calendarFields", "rtl", "deviceSize", "moDataList", "datePicker", "rangePicker", "canDelete", "canAdd", "canEdit", "canView", "selectedDate", "startSelectedDayIndex", "endSelectedDayIndex"], outputs: ["editEvent", "deleteEvent", "daySelect", "dayClick", "dayMouseMove", "dayMouseUp", "dayMouseDown", "showEvent"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomDateTimeComponent, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'bsu-custom-date-time', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
32
+ {
33
+ provide: DateService,
34
+ useFactory: getDateService
35
+ },
36
+ CalendarService
37
+ ], standalone: false, template: "<ng-container\r\n *ngTemplateOutlet=\"\r\n month;\r\n context: {\r\n $implicit: selectedMonth$ | async,\r\n width: width,\r\n height: height,\r\n rtl: rtl$ | async,\r\n weekDays: weekDays,\r\n weekDaysMin: weekDaysMin,\r\n today: today,\r\n deviceSize: deviceSize$ | async\r\n }\r\n \"\r\n>\r\n</ng-container>\r\n<ng-template\r\n #month\r\n let-selectedMonth\r\n let-width=\"width\"\r\n let-height=\"height\"\r\n let-rtl=\"rtl\"\r\n let-today=\"today\"\r\n let-showEvents=\"showEvents\"\r\n let-deviceSize=\"deviceSize\"\r\n>\r\n <bc-calendar-month\r\n [style.width]=\"width\"\r\n [containerHeight]=\"height\"\r\n [containerWidth]=\"width\"\r\n [rtl]=\"rtl\"\r\n [weekDays]=\"weekDays\"\r\n [weekDaysMin]=\"weekDaysMin\"\r\n [today]=\"today\"\r\n [datePicker]=\"true\"\r\n [dateRange]=\"false\"\r\n [monthInfo]=\"selectedMonth\"\r\n [deviceSize]=\"deviceSize\"\r\n ></bc-calendar-month>\r\n</ng-template>\r\n" }]
38
+ }], ctorParameters: () => [{ type: i1.CalendarService, decorators: [{
39
+ type: Self
40
+ }] }, { type: i2.PortalService }] });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWRhdGUtdGltZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9jdXN0b20tZGF0ZS10aW1lL2N1c3RvbS1kYXRlLXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvY3VzdG9tLWRhdGUtdGltZS9jdXN0b20tZGF0ZS10aW1lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpFLE9BQU8sRUFBMEIsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFpQixNQUFNLHNCQUFzQixDQUFDOzs7OztBQWdCakcsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGFBQWE7SUFpQnRELFlBQTRCLGdCQUFpQyxFQUFFLGNBQTZCO1FBQ3hGLEtBQUssRUFBRSxDQUFDO1FBRGdCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFmN0QsZUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBaUJaLElBQUksQ0FBQyxJQUFJLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQyxXQUFXLENBQUM7UUFDOUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDO1FBQ3RELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQztJQUM3QyxDQUFDOytHQXpCUSx1QkFBdUI7bUdBQXZCLHVCQUF1QiwrQ0FUckI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsV0FBVztnQkFDcEIsVUFBVSxFQUFFLGNBQWM7YUFDN0I7WUFDRCxlQUFlO1NBQ2xCLGlEQ2pCTCw0bUNBd0NBOzs0RkRwQmEsdUJBQXVCO2tCQWRuQyxTQUFTOytCQUNJLHNCQUFzQixtQkFHZix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxXQUFXOzRCQUNwQixVQUFVLEVBQUUsY0FBYzt5QkFDN0I7d0JBQ0QsZUFBZTtxQkFDbEIsY0FDVyxLQUFLOzswQkFtQkosSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IERheSwgQ2FsZW5kYXJNb250aEluZm8sIENhbGVuZGFyU2VydmljZSB9IGZyb20gJ2JhcnNhLWNhbGVuZGFyJztcclxuXHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQsIERhdGVTZXJ2aWNlLCBnZXREYXRlU2VydmljZSwgUG9ydGFsU2VydmljZSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LWN1c3RvbS1kYXRlLXRpbWUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS1kYXRlLXRpbWUuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tLWRhdGUtdGltZS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IERhdGVTZXJ2aWNlLFxyXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBnZXREYXRlU2VydmljZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgQ2FsZW5kYXJTZXJ2aWNlXHJcbiAgICBdLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIEN1c3RvbURhdGVUaW1lQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XHJcbiAgICBzZWxlY3RlZERheTogRGF5O1xyXG4gICAgdG9kYXlJbmRleCA9IC0xO1xyXG4gICAgc2VsZWN0ZWRJbmRleDogYW55O1xyXG4gICAgY2FsZW5kYXJzOiBDYWxlbmRhck1vbnRoSW5mb1tdO1xyXG4gICAgc2hvd0V2ZW50czogYm9vbGVhbjtcclxuICAgIHdpZHRoOiBudW1iZXI7XHJcbiAgICBoZWlnaHQ6IG51bWJlcjtcclxuICAgIHNlbGVjdGVkTW9udGgkOiBPYnNlcnZhYmxlPENhbGVuZGFyTW9udGhJbmZvPjtcclxuICAgIHJ0bCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICB0b2RheTogRGF0ZTtcclxuICAgIHdlZWtEYXlzTWluOiBzdHJpbmdbXTtcclxuICAgIHdlZWtEYXlzOiBzdHJpbmdbXTtcclxuICAgIGRldmljZVNpemUkOiBPYnNlcnZhYmxlPHN0cmluZz47XHJcbiAgICBtb2RlJDogT2JzZXJ2YWJsZTwnbW9udGgnIHwgJ3dlZWsnIHwgJ2RheScgfCAneWVhcicgfCAnbGlzdCc+O1xyXG4gICAgc2VsZWN0ZWRXZWVrJDogT2JzZXJ2YWJsZTxudW1iZXI+O1xyXG4gICAgd2Vla01vZGVEYXlzJDogT2JzZXJ2YWJsZTxEYXlbXT47XHJcbiAgICBjb25zdHJ1Y3RvcihAU2VsZigpIHByaXZhdGUgX2NhbGVuZGFyU2VydmljZTogQ2FsZW5kYXJTZXJ2aWNlLCBfcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5ydGwkID0gX3BvcnRhbFNlcnZpY2UucnRsJDtcclxuICAgICAgICB0aGlzLmRldmljZVNpemUkID0gX3BvcnRhbFNlcnZpY2UuZGV2aWNlU2l6ZSQ7XHJcbiAgICAgICAgdGhpcy53ZWVrRGF5c01pbiA9IHRoaXMuX2NhbGVuZGFyU2VydmljZS53ZWVrRGF5c01pbigpO1xyXG4gICAgICAgIHRoaXMud2Vla0RheXMgPSB0aGlzLl9jYWxlbmRhclNlcnZpY2Uud2Vla0RheXMoKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTW9udGgkID0gdGhpcy5fY2FsZW5kYXJTZXJ2aWNlLnNlbGVjdGVkJDtcclxuICAgICAgICB0aGlzLnRvZGF5ID0gdGhpcy5fY2FsZW5kYXJTZXJ2aWNlLnRvZGF5O1xyXG4gICAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXJcclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgbW9udGg7XHJcbiAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAkaW1wbGljaXQ6IHNlbGVjdGVkTW9udGgkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIHdpZHRoOiB3aWR0aCxcclxuICAgICAgICAgICAgaGVpZ2h0OiBoZWlnaHQsXHJcbiAgICAgICAgICAgIHJ0bDogcnRsJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICB3ZWVrRGF5czogd2Vla0RheXMsXHJcbiAgICAgICAgICAgIHdlZWtEYXlzTWluOiB3ZWVrRGF5c01pbixcclxuICAgICAgICAgICAgdG9kYXk6IHRvZGF5LFxyXG4gICAgICAgICAgICBkZXZpY2VTaXplOiBkZXZpY2VTaXplJCB8IGFzeW5jXHJcbiAgICAgICAgfVxyXG4gICAgXCJcclxuPlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLXRlbXBsYXRlXHJcbiAgICAjbW9udGhcclxuICAgIGxldC1zZWxlY3RlZE1vbnRoXHJcbiAgICBsZXQtd2lkdGg9XCJ3aWR0aFwiXHJcbiAgICBsZXQtaGVpZ2h0PVwiaGVpZ2h0XCJcclxuICAgIGxldC1ydGw9XCJydGxcIlxyXG4gICAgbGV0LXRvZGF5PVwidG9kYXlcIlxyXG4gICAgbGV0LXNob3dFdmVudHM9XCJzaG93RXZlbnRzXCJcclxuICAgIGxldC1kZXZpY2VTaXplPVwiZGV2aWNlU2l6ZVwiXHJcbj5cclxuICAgIDxiYy1jYWxlbmRhci1tb250aFxyXG4gICAgICAgIFtzdHlsZS53aWR0aF09XCJ3aWR0aFwiXHJcbiAgICAgICAgW2NvbnRhaW5lckhlaWdodF09XCJoZWlnaHRcIlxyXG4gICAgICAgIFtjb250YWluZXJXaWR0aF09XCJ3aWR0aFwiXHJcbiAgICAgICAgW3J0bF09XCJydGxcIlxyXG4gICAgICAgIFt3ZWVrRGF5c109XCJ3ZWVrRGF5c1wiXHJcbiAgICAgICAgW3dlZWtEYXlzTWluXT1cIndlZWtEYXlzTWluXCJcclxuICAgICAgICBbdG9kYXldPVwidG9kYXlcIlxyXG4gICAgICAgIFtkYXRlUGlja2VyXT1cInRydWVcIlxyXG4gICAgICAgIFtkYXRlUmFuZ2VdPVwiZmFsc2VcIlxyXG4gICAgICAgIFttb250aEluZm9dPVwic2VsZWN0ZWRNb250aFwiXHJcbiAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXHJcbiAgICA+PC9iYy1jYWxlbmRhci1tb250aD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -0,0 +1,24 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { map, takeUntil } from 'rxjs/operators';
3
+ import { FieldBaseComponent, getDeviceIsMobile } from 'barsa-novin-ray-core';
4
+ import * as i0 from "@angular/core";
5
+ export class DeviceInfoFieldBaseComponent extends FieldBaseComponent {
6
+ ngOnInit() {
7
+ super.ngOnInit();
8
+ this.isMobileDevice = getDeviceIsMobile();
9
+ this.deviceSize$ = this._portalService.deviceSize$;
10
+ this.isMobileSize$ = this._portalService.deviceSize$.pipe(takeUntil(this._onDestroy$), map((deviceSize) => (deviceSize === 's' ? true : false)));
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceInfoFieldBaseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DeviceInfoFieldBaseComponent, selector: "bsu-device-info-field-base", usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceInfoFieldBaseComponent, decorators: [{
16
+ type: Component,
17
+ args: [{
18
+ selector: 'bsu-device-info-field-base',
19
+ template: '',
20
+ changeDetection: ChangeDetectionStrategy.OnPush,
21
+ standalone: false
22
+ }]
23
+ }] });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWluZm8tZmllbGQtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2RldmljZS1pbmZvLWZpZWxkLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUUzRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxrQkFBa0IsRUFBeUIsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFRcEcsTUFBTSxPQUFnQiw0QkFBNkIsU0FBUSxrQkFBa0I7SUFLekUsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsY0FBYyxHQUFHLGlCQUFpQixFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQztRQUNuRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDckQsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDM0IsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFVBQVUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDM0QsQ0FBQztJQUNOLENBQUM7K0dBYmlCLDRCQUE0QjttR0FBNUIsNEJBQTRCLHlGQUpwQyxFQUFFOzs0RkFJTSw0QkFBNEI7a0JBTmpELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxLQUFLO2lCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBGaWVsZEJhc2VDb21wb25lbnQsIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSwgZ2V0RGV2aWNlSXNNb2JpbGUgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LWRldmljZS1pbmZvLWZpZWxkLWJhc2UnLFxyXG4gICAgdGVtcGxhdGU6ICcnLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGV2aWNlSW5mb0ZpZWxkQmFzZUNvbXBvbmVudCBleHRlbmRzIEZpZWxkQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBkZXZpY2VTaXplJDogT2JzZXJ2YWJsZTxBYmJyZXZhdGlvbkRldmljZVNpemU+O1xyXG4gICAgaXNNb2JpbGVTaXplJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIGlzTW9iaWxlRGV2aWNlOiBib29sZWFuO1xyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5pc01vYmlsZURldmljZSA9IGdldERldmljZUlzTW9iaWxlKCk7XHJcbiAgICAgICAgdGhpcy5kZXZpY2VTaXplJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UuZGV2aWNlU2l6ZSQ7XHJcbiAgICAgICAgdGhpcy5pc01vYmlsZVNpemUkID0gdGhpcy5fcG9ydGFsU2VydmljZS5kZXZpY2VTaXplJC5waXBlKFxyXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXHJcbiAgICAgICAgICAgIG1hcCgoZGV2aWNlU2l6ZSkgPT4gKGRldmljZVNpemUgPT09ICdzJyA/IHRydWUgOiBmYWxzZSkpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { Directive, HostListener, Input } from '@angular/core';
2
+ import { FileViewerComponent } from './file-viewer/file-viewer.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@fundamental-ngx/core";
5
+ export class DialogHandlerDirective {
6
+ constructor(_dialogService) {
7
+ this._dialogService = _dialogService;
8
+ }
9
+ _handleClick() {
10
+ this._dialogService.open(this.component ?? FileViewerComponent, this.config);
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogHandlerDirective, deps: [{ token: i1.DialogService }], target: i0.ɵɵFactoryTarget.Directive }); }
13
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DialogHandlerDirective, selector: "[diaogHandler]", inputs: { config: "config", component: "component" }, host: { listeners: { "click": "_handleClick()" } }, ngImport: i0 }); }
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogHandlerDirective, decorators: [{
16
+ type: Directive,
17
+ args: [{
18
+ selector: '[diaogHandler]',
19
+ standalone: false
20
+ }]
21
+ }], ctorParameters: () => [{ type: i1.DialogService }], propDecorators: { config: [{
22
+ type: Input
23
+ }], component: [{
24
+ type: Input
25
+ }], _handleClick: [{
26
+ type: HostListener,
27
+ args: ['click']
28
+ }] } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWhhbmRsZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvZGlhbG9nLWhhbmRsZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7OztBQU0xRSxNQUFNLE9BQU8sc0JBQXNCO0lBRy9CLFlBQW9CLGNBQTZCO1FBQTdCLG1CQUFjLEdBQWQsY0FBYyxDQUFlO0lBQUcsQ0FBQztJQUM5QixZQUFZO1FBQy9CLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksbUJBQW1CLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pGLENBQUM7K0dBTlEsc0JBQXNCO21HQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsVUFBVSxFQUFFLEtBQUs7aUJBQ3BCO2tGQUVZLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVpQixZQUFZO3NCQUFsQyxZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIFRlbXBsYXRlUmVmLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERpYWxvZ0NvbmZpZywgRGlhbG9nU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XHJcbmltcG9ydCB7IEZpbGVWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtdmlld2VyL2ZpbGUtdmlld2VyLmNvbXBvbmVudCc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW2RpYW9nSGFuZGxlcl0nLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIERpYWxvZ0hhbmRsZXJEaXJlY3RpdmUge1xyXG4gICAgQElucHV0KCkgY29uZmlnOiBEaWFsb2dDb25maWc7XHJcbiAgICBASW5wdXQoKSBjb21wb25lbnQ6IFR5cGU8YW55PiB8IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlKSB7fVxyXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKSBfaGFuZGxlQ2xpY2soKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZGlhbG9nU2VydmljZS5vcGVuKHRoaXMuY29tcG9uZW50ID8/IEZpbGVWaWV3ZXJDb21wb25lbnQsIHRoaXMuY29uZmlnKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,34 @@
1
+ import { Directive, HostListener, Input } from '@angular/core';
2
+ import { BarsaApi } from 'barsa-novin-ray-core';
3
+ import * as i0 from "@angular/core";
4
+ export class DownloadFilesDirective {
5
+ constructor() { }
6
+ _handleClick() {
7
+ const files = this.files;
8
+ if (!files.length) {
9
+ return;
10
+ }
11
+ const firstFile = files[0];
12
+ if (files.length === 1) {
13
+ BarsaApi.Common.File.Download5({ fileId: firstFile.Id });
14
+ }
15
+ else {
16
+ BarsaApi.Common.File.DownloadAllAsZip(files.map((c) => c.Id));
17
+ }
18
+ }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DownloadFilesDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
20
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DownloadFilesDirective, selector: "[downloadFiles]", inputs: { files: "files" }, host: { listeners: { "click": "_handleClick()" } }, ngImport: i0 }); }
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DownloadFilesDirective, decorators: [{
23
+ type: Directive,
24
+ args: [{
25
+ selector: '[downloadFiles]',
26
+ standalone: false
27
+ }]
28
+ }], ctorParameters: () => [], propDecorators: { files: [{
29
+ type: Input
30
+ }], _handleClick: [{
31
+ type: HostListener,
32
+ args: ['click']
33
+ }] } });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQtZmlsZXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvZG93bmxvYWQtZmlsZXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsUUFBUSxFQUFzQixNQUFNLHNCQUFzQixDQUFDOztBQU1wRSxNQUFNLE9BQU8sc0JBQXNCO0lBRS9CLGdCQUFlLENBQUM7SUFDTyxZQUFZO1FBQy9CLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1gsQ0FBQztRQUNELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDckIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzdELENBQUM7YUFBTSxDQUFDO1lBQ0osUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEUsQ0FBQztJQUNMLENBQUM7K0dBZFEsc0JBQXNCO21HQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLEtBQUs7aUJBQ3BCO3dEQUVZLEtBQUs7c0JBQWIsS0FBSztnQkFFaUIsWUFBWTtzQkFBbEMsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJhcnNhQXBpLCBGaWxlQXR0YWNobWVudEluZm8gfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW2Rvd25sb2FkRmlsZXNdJyxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEb3dubG9hZEZpbGVzRGlyZWN0aXZlIHtcclxuICAgIEBJbnB1dCgpIGZpbGVzOiBGaWxlQXR0YWNobWVudEluZm9bXTtcclxuICAgIGNvbnN0cnVjdG9yKCkge31cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJykgX2hhbmRsZUNsaWNrKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGZpbGVzID0gdGhpcy5maWxlcztcclxuICAgICAgICBpZiAoIWZpbGVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGZpcnN0RmlsZSA9IGZpbGVzWzBdO1xyXG4gICAgICAgIGlmIChmaWxlcy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLkZpbGUuRG93bmxvYWQ1KHsgZmlsZUlkOiBmaXJzdEZpbGUuSWQgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLkZpbGUuRG93bmxvYWRBbGxBc1ppcChmaWxlcy5tYXAoKGMpID0+IGMuSWQpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19