barsa-sap-ui 2.0.135 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/fesm2022/barsa-sap-ui.mjs +984 -957
  2. package/fesm2022/barsa-sap-ui.mjs.map +1 -1
  3. package/lib/barsa-sap-ui.module.d.ts +5 -4
  4. package/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.d.ts +3 -3
  5. package/lib/ly-tab-container/ly-tab-container.component.d.ts +2 -4
  6. package/lib/ly-tab-page/ly-tab-page.component.d.ts +2 -2
  7. package/lib/report-view-renderer.directive.d.ts +1 -1
  8. package/lib/ui-map/ui-map.component.d.ts +2 -0
  9. package/package.json +3 -5
  10. package/esm2022/barsa-sap-ui.mjs +0 -5
  11. package/esm2022/lib/apply-conditional-formmatings.directive.mjs +0 -89
  12. package/esm2022/lib/avatar-size.pipe.mjs +0 -40
  13. package/esm2022/lib/barsa-answer-card/barsa-answer-card.component.mjs +0 -41
  14. package/esm2022/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +0 -145
  15. package/esm2022/lib/barsa-bar-panel/barsa-bar-panel.component.mjs +0 -23
  16. package/esm2022/lib/barsa-base-panel/barsa-base-layout-panel.component.mjs +0 -29
  17. package/esm2022/lib/barsa-breadcrumbs/barsa-breadcrumbs.component.mjs +0 -24
  18. package/esm2022/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +0 -24
  19. package/esm2022/lib/barsa-card-row-payam/barsa-card-row-payam.component.mjs +0 -30
  20. package/esm2022/lib/barsa-cartable-form/barsa-cartable-form.component.mjs +0 -41
  21. package/esm2022/lib/barsa-cartable-template/barsa-cartable-template.component.mjs +0 -24
  22. package/esm2022/lib/barsa-chat/barsa-chat.component.mjs +0 -242
  23. package/esm2022/lib/barsa-chat/chat.model.mjs +0 -8
  24. package/esm2022/lib/barsa-chat-content/barsa-chat-content.component.mjs +0 -13
  25. package/esm2022/lib/barsa-chat-content-toolbar/barsa-chat-content-toolbar.component.mjs +0 -22
  26. package/esm2022/lib/barsa-chat-list/barsa-chat-list.component.mjs +0 -66
  27. package/esm2022/lib/barsa-chat-message/barsa-chat-message.component.mjs +0 -78
  28. package/esm2022/lib/barsa-chat-thread/barsa-chat-thread.component.mjs +0 -22
  29. package/esm2022/lib/barsa-chat-threads-list/barsa-chat-threads-list.component.mjs +0 -13
  30. package/esm2022/lib/barsa-chat-threads-list-toolbar/barsa-chat-threads-list-toolbar.component.mjs +0 -15
  31. package/esm2022/lib/barsa-chip/barsa-chip.component.mjs +0 -72
  32. package/esm2022/lib/barsa-column-indicator/barsa-column-indicator.component.mjs +0 -23
  33. package/esm2022/lib/barsa-column-rownumber/barsa-column-rownumber.component.mjs +0 -14
  34. package/esm2022/lib/barsa-custom-inline-edit/barsa-custom-inline-edit.component.mjs +0 -14
  35. package/esm2022/lib/barsa-custom-inline-edit-row/barsa-custom-inline-edit-row.component.mjs +0 -26
  36. package/esm2022/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +0 -71
  37. package/esm2022/lib/barsa-dynamic-field/barsa-dynamic-field.component.mjs +0 -40
  38. package/esm2022/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.mjs +0 -61
  39. package/esm2022/lib/barsa-field-key-value/barsa-field-key-value.component.mjs +0 -45
  40. package/esm2022/lib/barsa-form-side-content/barsa-form-side-content.component.mjs +0 -58
  41. package/esm2022/lib/barsa-grid-layout-panel/barsa-grid-layout-panel.component.mjs +0 -27
  42. package/esm2022/lib/barsa-group-cartable/barsa-cartable-group.component.mjs +0 -94
  43. package/esm2022/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.mjs +0 -22
  44. package/esm2022/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.mjs +0 -37
  45. package/esm2022/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +0 -41
  46. package/esm2022/lib/barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component.mjs +0 -29
  47. package/esm2022/lib/barsa-list-layout-panel/barsa-list-layout-panel.component.mjs +0 -23
  48. package/esm2022/lib/barsa-modal/barsa-modal.component.mjs +0 -43
  49. package/esm2022/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +0 -83
  50. package/esm2022/lib/barsa-network-offline/barsa-network-offline.component.mjs +0 -57
  51. package/esm2022/lib/barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.component.mjs +0 -159
  52. package/esm2022/lib/barsa-question-answer-comments-section/barsa-question-answer-comments-section.component.mjs +0 -17
  53. package/esm2022/lib/barsa-question-answer-content-actions-section/barsa-question-answer-content-actions-section.component.mjs +0 -30
  54. package/esm2022/lib/barsa-question-answer-creator-time-section/barsa-question-answer-creator-time-section.component.mjs +0 -14
  55. package/esm2022/lib/barsa-question-answer-form/barsa-question-answer-form.component.mjs +0 -34
  56. package/esm2022/lib/barsa-question-answer-form-add-comment/barsa-question-answer-form-add-comment.component.mjs +0 -46
  57. package/esm2022/lib/barsa-question-answer-vote-section/barsa-question-answer-vote-section.component.mjs +0 -79
  58. package/esm2022/lib/barsa-question-post/barsa-question-post.component.mjs +0 -30
  59. package/esm2022/lib/barsa-report-card-flex-view/barsa-report-card-flex-view.component.mjs +0 -31
  60. package/esm2022/lib/barsa-report-checkbox-switch-button/barsa-report-checkbox-switch-button.component.mjs +0 -28
  61. package/esm2022/lib/barsa-report-one-of-list/barsa-report-one-of-list.component.mjs +0 -102
  62. package/esm2022/lib/barsa-row-inline-actionlist/barsa-row-inline-actionlist.component.mjs +0 -26
  63. package/esm2022/lib/barsa-sap-ui-routing.module.mjs +0 -18
  64. package/esm2022/lib/barsa-sap-ui.module.mjs +0 -370
  65. package/esm2022/lib/barsa-search-form/barsa-search-form.component.mjs +0 -29
  66. package/esm2022/lib/barsa-simple-form/barsa-simple-form.component.mjs +0 -170
  67. package/esm2022/lib/barsa-tab-route-manager/barsa-tab-route-manager.component.mjs +0 -18
  68. package/esm2022/lib/barsa-table-column/barsa-table-column.component.mjs +0 -29
  69. package/esm2022/lib/barsa-table-header/barsa-table-header.component.mjs +0 -222
  70. package/esm2022/lib/barsa-table-row/barsa-table-row.component.mjs +0 -87
  71. package/esm2022/lib/barsa-tag-categories/barsa-tag-categories.component.mjs +0 -60
  72. package/esm2022/lib/barsa-tag-chip/barsa-tag-chip.component.mjs +0 -26
  73. package/esm2022/lib/barsa-tags-category-row/barsa-tags-category-row.component.mjs +0 -23
  74. package/esm2022/lib/barsa-text-ellipsis/barsa-text-ellipsis.component.mjs +0 -37
  75. package/esm2022/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +0 -418
  76. package/esm2022/lib/barsa-toolbaritem-search/barsa-toolbaritem-search.component.mjs +0 -36
  77. package/esm2022/lib/barsa-tree-item/barsa-tree-item.component.mjs +0 -153
  78. package/esm2022/lib/barsa-tree-item/node-has-one-depth-level.pipe.mjs +0 -19
  79. package/esm2022/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +0 -216
  80. package/esm2022/lib/blob-viewer/blob-viewer.component.mjs +0 -74
  81. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +0 -50
  82. package/esm2022/lib/captcha-field/captcha-field.component.mjs +0 -28
  83. package/esm2022/lib/card-item/card-item.component.mjs +0 -64
  84. package/esm2022/lib/card-view-content/card-view-content.component.mjs +0 -46
  85. package/esm2022/lib/col-renderer.directive.mjs +0 -46
  86. package/esm2022/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +0 -56
  87. package/esm2022/lib/column-matrix-renderer/matrix-value.pipe.mjs +0 -60
  88. package/esm2022/lib/column-renderer/column-renderer.component.mjs +0 -88
  89. package/esm2022/lib/constants.mjs +0 -425
  90. package/esm2022/lib/custom-date-time/custom-date-time.component.mjs +0 -41
  91. package/esm2022/lib/device-info-field-base.mjs +0 -23
  92. package/esm2022/lib/dialog-handler.directive.mjs +0 -28
  93. package/esm2022/lib/download-files.directive.mjs +0 -33
  94. package/esm2022/lib/dynamic-page-size.pipe.mjs +0 -26
  95. package/esm2022/lib/file-in-dialog/file-in-dialog.component.mjs +0 -44
  96. package/esm2022/lib/file-viewer/file-viewer.component.mjs +0 -47
  97. package/esm2022/lib/file-viewer-content/file-viewer-content.component.mjs +0 -71
  98. package/esm2022/lib/file-viewer-popover/file-viewer-popover.component.mjs +0 -39
  99. package/esm2022/lib/form-dialog/form-dialog.component.mjs +0 -171
  100. package/esm2022/lib/form-dialog-less/form-dialog-less.component.mjs +0 -50
  101. package/esm2022/lib/form-toolbar/form-toolbar.component.mjs +0 -62
  102. package/esm2022/lib/form-toolbar-button/form-toolbar-button.component.mjs +0 -45
  103. package/esm2022/lib/form-wizard/form-wizard.component.mjs +0 -21
  104. package/esm2022/lib/fullscreen-dialog.directive.mjs +0 -59
  105. package/esm2022/lib/fullscreen-files.directive.mjs +0 -42
  106. package/esm2022/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +0 -215
  107. package/esm2022/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +0 -215
  108. package/esm2022/lib/global-search/global-search.component.mjs +0 -27
  109. package/esm2022/lib/global-search-module/global-search-module.component.mjs +0 -29
  110. package/esm2022/lib/global-search-panel/global-search-panel.component.mjs +0 -25
  111. package/esm2022/lib/header-avatar/header-avatar.component.mjs +0 -18
  112. package/esm2022/lib/htree-create-new/htree-create-new.component.mjs +0 -48
  113. package/esm2022/lib/hyperlink/hyperlink.component.mjs +0 -23
  114. package/esm2022/lib/index.mjs +0 -543
  115. package/esm2022/lib/inline-save-and-cancel/inline-save-and-cancel.component.mjs +0 -32
  116. package/esm2022/lib/layout-actions/layout-actions.component.mjs +0 -70
  117. package/esm2022/lib/layout-control/layout-control.component.mjs +0 -302
  118. package/esm2022/lib/layout-wizard/layout-wizard.component.mjs +0 -183
  119. package/esm2022/lib/list-item/list-item.component.mjs +0 -34
  120. package/esm2022/lib/ly-empty-space/ly-empty-space.component.mjs +0 -42
  121. package/esm2022/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +0 -82
  122. package/esm2022/lib/ly-label/ly-label.component.mjs +0 -37
  123. package/esm2022/lib/ly-layout-container/ly-layout-container.component.mjs +0 -83
  124. package/esm2022/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +0 -17
  125. package/esm2022/lib/ly-layout-field-label/ly-layout-field-label.component.mjs +0 -24
  126. package/esm2022/lib/ly-layout-panel/ly-layout-panel.component.mjs +0 -83
  127. package/esm2022/lib/ly-line/ly-line.component.mjs +0 -56
  128. package/esm2022/lib/ly-simple-label/ly-simple-label.component.mjs +0 -22
  129. package/esm2022/lib/ly-tab-container/ly-tab-container.component.mjs +0 -52
  130. package/esm2022/lib/ly-tab-page/ly-tab-page.component.mjs +0 -44
  131. package/esm2022/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +0 -51
  132. package/esm2022/lib/manage-filters-report/manage-filters-report.component.mjs +0 -43
  133. package/esm2022/lib/mask/mask.component.mjs +0 -22
  134. package/esm2022/lib/message-strip/message-strip.component.mjs +0 -28
  135. package/esm2022/lib/models/grid-data-provider.mjs +0 -114
  136. package/esm2022/lib/models/grid-view.mjs +0 -2
  137. package/esm2022/lib/models/index.mjs +0 -2
  138. package/esm2022/lib/no-data/no-data.component.mjs +0 -31
  139. package/esm2022/lib/notification-item/notification-item.component.mjs +0 -57
  140. package/esm2022/lib/notification-popup.service.mjs +0 -92
  141. package/esm2022/lib/object-status-icon.pipe.mjs +0 -26
  142. package/esm2022/lib/progress-indicator/progress-indicator.component.mjs +0 -18
  143. package/esm2022/lib/report-navigator/report-navigator.component.mjs +0 -68
  144. package/esm2022/lib/report-new-top-form/report-new-top-form.component.mjs +0 -60
  145. package/esm2022/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +0 -35
  146. package/esm2022/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +0 -97
  147. package/esm2022/lib/report-search-panel-save/report-search-panel-save.component.mjs +0 -88
  148. package/esm2022/lib/report-tree-base.mjs +0 -386
  149. package/esm2022/lib/report-view-renderer.directive.mjs +0 -385
  150. package/esm2022/lib/responsive-toolbar/responsive-toolbar.component.mjs +0 -50
  151. package/esm2022/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +0 -84
  152. package/esm2022/lib/rich-text-static/rich-text-static.component.mjs +0 -72
  153. package/esm2022/lib/sap-font-class.pipe.mjs +0 -29
  154. package/esm2022/lib/sap-font.pipe.mjs +0 -29
  155. package/esm2022/lib/sap-size.pipe.mjs +0 -27
  156. package/esm2022/lib/sap-ui-report-base.component.mjs +0 -805
  157. package/esm2022/lib/search-panel/search-panel.component.mjs +0 -63
  158. package/esm2022/lib/static-text/static-text.component.mjs +0 -15
  159. package/esm2022/lib/table-th.directive.mjs +0 -86
  160. package/esm2022/lib/title/title.component.mjs +0 -15
  161. package/esm2022/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.mjs +0 -34
  162. package/esm2022/lib/ui-bpmn-viewer/ui-bpmn-viewer.component.mjs +0 -33
  163. package/esm2022/lib/ui-button/ui-button.component.mjs +0 -32
  164. package/esm2022/lib/ui-calendar/ui-calendar.component.mjs +0 -53
  165. package/esm2022/lib/ui-card-view/ui-card-view.component.mjs +0 -57
  166. package/esm2022/lib/ui-card-view-horizontal-group/ui-card-view-horizontal-group.component.mjs +0 -42
  167. package/esm2022/lib/ui-check-box/ui-check-box.component.mjs +0 -39
  168. package/esm2022/lib/ui-color-ui/ui-color-ui.component.mjs +0 -50
  169. package/esm2022/lib/ui-container-with-button/ui-container-with-button.component.mjs +0 -38
  170. package/esm2022/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +0 -191
  171. package/esm2022/lib/ui-date-time/ui-date-time.component.mjs +0 -150
  172. package/esm2022/lib/ui-editable-grid/ui-editable-grid.component.mjs +0 -110
  173. package/esm2022/lib/ui-exception-form/ui-exception-form.component.mjs +0 -53
  174. package/esm2022/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +0 -121
  175. package/esm2022/lib/ui-form-panel/ui-form-panel.component.mjs +0 -100
  176. package/esm2022/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +0 -32
  177. package/esm2022/lib/ui-graph/ui-graph.component.mjs +0 -17
  178. package/esm2022/lib/ui-grid/ui-grid.component.mjs +0 -25
  179. package/esm2022/lib/ui-grid-columns/ui-grid-columns.component.mjs +0 -43
  180. package/esm2022/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +0 -66
  181. package/esm2022/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +0 -75
  182. package/esm2022/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +0 -58
  183. package/esm2022/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +0 -123
  184. package/esm2022/lib/ui-html-viewer/ui-html-viewer.component.mjs +0 -16
  185. package/esm2022/lib/ui-info-bar-panel/ui-info-bar-panel.component.mjs +0 -11
  186. package/esm2022/lib/ui-label/ui-label.component.mjs +0 -12
  187. package/esm2022/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +0 -379
  188. package/esm2022/lib/ui-list-view/ui-list-view.component.mjs +0 -84
  189. package/esm2022/lib/ui-map/ui-map.component.mjs +0 -58
  190. package/esm2022/lib/ui-matrix-view/ui-matrix-view.component.mjs +0 -124
  191. package/esm2022/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +0 -19
  192. package/esm2022/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.mjs +0 -14
  193. package/esm2022/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +0 -55
  194. package/esm2022/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +0 -429
  195. package/esm2022/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +0 -28
  196. package/esm2022/lib/ui-multi-select-card/ui-multi-select-card.component.mjs +0 -37
  197. package/esm2022/lib/ui-multi-select-checkbox/ui-multi-select-checkbox.component.mjs +0 -59
  198. package/esm2022/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +0 -93
  199. package/esm2022/lib/ui-multi-select-radio/ui-multi-select-radio.component.mjs +0 -36
  200. package/esm2022/lib/ui-multi-select-slider/ui-multi-select-slider.component.mjs +0 -56
  201. package/esm2022/lib/ui-multi-select-smile/ui-multi-select-smile.component.mjs +0 -28
  202. package/esm2022/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +0 -33
  203. package/esm2022/lib/ui-num-int-slider/ui-num-int-slider.component.mjs +0 -27
  204. package/esm2022/lib/ui-num-int-ui/ui-num-int-ui.component.mjs +0 -21
  205. package/esm2022/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +0 -268
  206. package/esm2022/lib/ui-picture-file/ui-picture-file.component.mjs +0 -101
  207. package/esm2022/lib/ui-pictures-info/ui-pictures-info.component.mjs +0 -261
  208. package/esm2022/lib/ui-radio-group/ui-radio-group.component.mjs +0 -48
  209. package/esm2022/lib/ui-read-only-field/ui-read-only-field.component.mjs +0 -36
  210. package/esm2022/lib/ui-report-container/ui-report-container.component.mjs +0 -46
  211. package/esm2022/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.mjs +0 -24
  212. package/esm2022/lib/ui-simple-combo/ui-simple-combo.component.mjs +0 -55
  213. package/esm2022/lib/ui-single-picture/ui-single-picture.component.mjs +0 -36
  214. package/esm2022/lib/ui-switch-button/ui-switch-button.component.mjs +0 -20
  215. package/esm2022/lib/ui-table-view/ui-table-view.component.mjs +0 -289
  216. package/esm2022/lib/ui-text-area/ui-text-area.component.mjs +0 -49
  217. package/esm2022/lib/ui-text-field/ui-text-field.component.mjs +0 -52
  218. package/esm2022/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.mjs +0 -48
  219. package/esm2022/lib/ui-time-span/ui-time-span.component.mjs +0 -24
  220. package/esm2022/lib/ui-tinymce/ui-tinymce.component.mjs +0 -53
  221. package/esm2022/lib/ui-tree/ui-tree.component.mjs +0 -114
  222. package/esm2022/lib/ui-tree-view/ui-tree-view.component.mjs +0 -100
  223. package/esm2022/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +0 -23
  224. package/esm2022/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +0 -306
  225. package/esm2022/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +0 -25
  226. package/esm2022/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +0 -93
  227. package/esm2022/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +0 -119
  228. package/esm2022/lib/ul-notify-popup/ul-notify-popup.component.mjs +0 -32
  229. package/esm2022/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +0 -48
  230. package/esm2022/lib/ulv-column-settings/ulv-column-settings.component.mjs +0 -53
  231. package/esm2022/lib/ulv-context-menu/ulv-context-menu.component.mjs +0 -114
  232. package/esm2022/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +0 -43
  233. package/esm2022/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +0 -196
  234. package/esm2022/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +0 -44
  235. package/esm2022/lib/ulv-paging/ulv-paging.component.mjs +0 -84
  236. package/esm2022/lib/ulv-selection/ulv-selection.component.mjs +0 -65
  237. package/esm2022/lib/ulv-settings/ulv-settings.component.mjs +0 -116
  238. package/esm2022/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +0 -54
  239. package/esm2022/lib/ulv-toolbar/ulv-toolbar.component.mjs +0 -174
  240. package/esm2022/lib/upload-file-status.pipe.mjs +0 -28
  241. package/esm2022/lib/util-chat-time-badge.pipe.mjs +0 -18
  242. package/esm2022/lib/util-date-to-hh-mm.pipe.mjs +0 -23
  243. package/esm2022/lib/wizard-layout.directive.mjs +0 -103
  244. package/esm2022/public-api.mjs +0 -233
@@ -1,32 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core';
2
- import { BaseComponent } from 'barsa-novin-ray-core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@fundamental-ngx/core/button";
5
- export class InlineSaveAndCancelComponent extends BaseComponent {
6
- constructor() {
7
- super(...arguments);
8
- this.save = new EventEmitter();
9
- this.cancel = new EventEmitter();
10
- }
11
- onSave(e) {
12
- this.save.emit();
13
- e.stopPropagation();
14
- e.preventDefault();
15
- }
16
- onCancel(e) {
17
- this.cancel.emit();
18
- e.stopPropagation();
19
- e.preventDefault();
20
- }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: InlineSaveAndCancelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: InlineSaveAndCancelComponent, selector: "bsu-inline-save-and-cancel,[inlineSaveAndCancel]", outputs: { save: "save", cancel: "cancel" }, usesInheritance: true, ngImport: i0, template: "<button fd-button glyph=\"accept\" role=\"save\" (click)=\"onSave($event)\"></button>\n<button fd-button fdType=\"negative\" glyph=\"decline\" role=\"canecl form\" (click)=\"onCancel($event)\"></button>\n", styles: [":host{display:flex;justify-content:space-evenly;align-items:center;width:100%}\n"], dependencies: [{ kind: "component", type: i1.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
- }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: InlineSaveAndCancelComponent, decorators: [{
25
- type: Component,
26
- args: [{ selector: 'bsu-inline-save-and-cancel,[inlineSaveAndCancel]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button fd-button glyph=\"accept\" role=\"save\" (click)=\"onSave($event)\"></button>\n<button fd-button fdType=\"negative\" glyph=\"decline\" role=\"canecl form\" (click)=\"onCancel($event)\"></button>\n", styles: [":host{display:flex;justify-content:space-evenly;align-items:center;width:100%}\n"] }]
27
- }], propDecorators: { save: [{
28
- type: Output
29
- }], cancel: [{
30
- type: Output
31
- }] } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLXNhdmUtYW5kLWNhbmNlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9pbmxpbmUtc2F2ZS1hbmQtY2FuY2VsL2lubGluZS1zYXZlLWFuZC1jYW5jZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvaW5saW5lLXNhdmUtYW5kLWNhbmNlbC9pbmxpbmUtc2F2ZS1hbmQtY2FuY2VsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQU9yRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsYUFBYTtJQU4vRDs7UUFPYyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMxQixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQVl6QztJQVZHLE1BQU0sQ0FBQyxDQUFDO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQixDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxRQUFRLENBQUMsQ0FBQztRQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN2QixDQUFDOzhHQWJRLDRCQUE0QjtrR0FBNUIsNEJBQTRCLDRKQ1R6Qyw4TUFFQTs7MkZET2EsNEJBQTRCO2tCQU54QyxTQUFTOytCQUNJLGtEQUFrRCxtQkFHM0MsdUJBQXVCLENBQUMsTUFBTTs4QkFHckMsSUFBSTtzQkFBYixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LWlubGluZS1zYXZlLWFuZC1jYW5jZWwsW2lubGluZVNhdmVBbmRDYW5jZWxdJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbmxpbmUtc2F2ZS1hbmQtY2FuY2VsLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2lubGluZS1zYXZlLWFuZC1jYW5jZWwuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbmxpbmVTYXZlQW5kQ2FuY2VsQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XHJcbiAgICBAT3V0cHV0KCkgc2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIEBPdXRwdXQoKSBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICAgb25TYXZlKGUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNhdmUuZW1pdCgpO1xyXG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gICAgb25DYW5jZWwoZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY2FuY2VsLmVtaXQoKTtcclxuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxufVxyXG4iLCI8YnV0dG9uIGZkLWJ1dHRvbiBnbHlwaD1cImFjY2VwdFwiIHJvbGU9XCJzYXZlXCIgKGNsaWNrKT1cIm9uU2F2ZSgkZXZlbnQpXCI+PC9idXR0b24+XG48YnV0dG9uIGZkLWJ1dHRvbiBmZFR5cGU9XCJuZWdhdGl2ZVwiIGdseXBoPVwiZGVjbGluZVwiIHJvbGU9XCJjYW5lY2wgZm9ybVwiIChjbGljayk9XCJvbkNhbmNlbCgkZXZlbnQpXCI+PC9idXR0b24+XG4iXX0=
@@ -1,70 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { FormToolbarBaseComponent, getDeviceIsMobile } from 'barsa-novin-ray-core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/cdk/overlay";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "barsa-novin-ray-core";
7
- import * as i4 from "@fundamental-ngx/core/bar";
8
- import * as i5 from "@fundamental-ngx/core/button";
9
- import * as i6 from "@fundamental-ngx/core/menu";
10
- import * as i7 from "@fundamental-ngx/core/popover";
11
- export class LayoutActionsComponent extends FormToolbarBaseComponent {
12
- constructor(_overlay) {
13
- super();
14
- this._overlay = _overlay;
15
- this.workflowChoiceSelect = new EventEmitter();
16
- this.autoClose = false;
17
- this.mobileBottomBar = false;
18
- this.hasButtons = false;
19
- this.scrollThrottle = 0;
20
- }
21
- ngOnInit() {
22
- super.ngOnInit();
23
- this.hasButtons = this.workflowButtons.length > 0 || this.buttons.length > 0;
24
- this.isMobile = getDeviceIsMobile();
25
- this.mobileBottomBar = this.isMobile && !this.standalone && this.hasButtons;
26
- this.repositionScrollStrategy = this._overlay.scrollStrategies.reposition({
27
- autoClose: this.autoClose,
28
- scrollThrottle: this.scrollThrottle
29
- });
30
- const workflowButtons = this.workflowButtons;
31
- // this.workflowButtonsComboMode = true;
32
- if (workflowButtons.length > 0) {
33
- this.buttons.forEach((c) => {
34
- if (typeof c === 'object') {
35
- c.design = 'standard';
36
- }
37
- });
38
- const lastButton = workflowButtons[workflowButtons.length - 1];
39
- if (lastButton.Choice) {
40
- lastButton.design = 'emphasized';
41
- }
42
- }
43
- }
44
- onAcceptWorkflow() {
45
- this.onToolClick(this.selectedWorkflowButton);
46
- }
47
- onWorkflowButtonSelected(workflowButton) {
48
- this.selectedWorkflowButton = workflowButton;
49
- this.workflowChoiceSelect.emit(workflowButton.Data);
50
- }
51
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: LayoutActionsComponent, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }
52
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: LayoutActionsComponent, selector: "bsu-layout-actions", inputs: { workflowButtons: "workflowButtons", workflowButtonsComboMode: "workflowButtonsComboMode", canSend: "canSend", simple: "simple", footerDesign: "footerDesign" }, outputs: { workflowChoiceSelect: "workflowChoiceSelect" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"simple ? buttonsMode : defaultTemplate\"> </ng-container>\n<ng-template #defaultTemplate>\n @if (visible) { @if (hasButtons) {\n <div fd-bar [barDesign]=\"footerDesign ? footerDesign : 'footer'\" [inPage]=\"true\">\n @if (canSend && false) {\n <div fd-bar-left>\n <fd-bar-element class=\"forward\">\n <fd-popover\n [focusTrapped]=\"true\"\n [focusAutoCapture]=\"true\"\n [closeOnOutsideClick]=\"false\"\n [scrollStrategy]=\"repositionScrollStrategy\"\n #forwardPopover\n >\n <fd-popover-control class=\"forward\">\n <button fd-button [fdType]=\"'standard'\" [label]=\"'Forward' | bbbTranslate\"></button>\n </fd-popover-control>\n <fd-popover-body style=\"min-width: 30vw; max-width: 30vw; min-height: 30vh\">\n <div fd-popover-body-header>\n <div fd-bar barDesign=\"header\" [cozy]=\"true\">\n <div fd-bar-right>\n <fd-bar-element\n ><button\n fd-button\n (click)=\"forwardPopover.close()\"\n [fdType]=\"'transparent'\"\n [glyph]=\"'decline'\"\n ></button>\n </fd-bar-element>\n <div fd-bar-left>\n <fd-bar-element>\u0627\u0631\u062C\u0627\u0639 \u0641\u0631\u0645 \u0628\u0647 \u0634\u062E\u0635 \u062F\u06CC\u06AF\u0631 </fd-bar-element>\n </div>\n </div>\n </div>\n </div>\n <bnrc-form-new\n class=\"form-erja\"\n [settings]=\"{\n MetaTypeDef: { Id: '', $Caption: '' },\n MetaView: { Id: '', $Caption: '' },\n DisableGenerateId: true\n }\"\n ></bnrc-form-new>\n <div fd-popover-body-footer>\n <div fd-bar barDesign=\"footer\" [cozy]=\"true\">\n <div fd-bar-right>\n <fd-button-bar [label]=\"'Send' | bbbTranslate\" fdType=\"emphasized\"></fd-button-bar>\n <fd-button-bar\n [label]=\"'Cancel' | bbbTranslate\"\n [fdType]=\"'transparent'\"\n (click)=\"forwardPopover.close()\"\n ></fd-button-bar>\n </div>\n </div>\n </div>\n </fd-popover-body>\n </fd-popover>\n </fd-bar-element>\n </div>\n }\n <div fd-bar-right>\n @if (workflowButtonsComboMode && workflowButtons.length > 0) {\n <button\n fd-button\n [fdMenu]=\"true\"\n fdType=\"emphasized\"\n [label]=\"selectedWorkflowButton?.text || 'Select' | bbbTranslate\"\n [ariaLabel]=\"selectedWorkflowButton?.text || 'Select' | bbbTranslate\"\n [fdMenuTrigger]=\"menu\"\n ></button>\n <fd-menu #menu>\n @for (btn of workflowButtons; track btn) {\n <li fd-menu-item (click)=\"menu.close(); onWorkflowButtonSelected(btn)\">\n <div fd-menu-interactive>\n <span fd-menu-title>{{ btn.text }}</span>\n </div>\n </li>\n }\n </fd-menu>\n <fd-button-bar\n [fdType]=\"'positive'\"\n [label]=\"'Send' | bbbTranslate\"\n [disabled]=\"!selectedWorkflowButton\"\n [glyph]=\"'accept'\"\n (click)=\"onAcceptWorkflow()\"\n ></fd-button-bar>\n } @for (btn of buttons; track btn; let i = $index) { @if (btn.Data?.CustomUi?.Selector) {\n <bnrc-dynamic-form-toolbaritem\n class=\"fd-bar__element\"\n [component]=\"btn.Data.CustomUi\"\n [context]=\"btn\"\n [isEnable]=\"btn.Command?._isEnable\"\n (btnClick)=\"onToolClick(btn)\"\n ></bnrc-dynamic-form-toolbaritem>\n } @if (btn !== '-' && !btn.Data?.CustomUi?.Selector) {\n <fd-button-bar\n [fdType]=\"btn.design ? btn.design : btn.Data?.JsonExtraProp?.Design\"\n [label]=\"btn.text | bbbTranslate\"\n [glyph]=\"btn.newIcon ? btn.newIcon : btn.Data?.JsonExtraProp?.Icon\"\n (click)=\"onToolClick(btn)\"\n ></fd-button-bar>\n } }\n </div>\n </div>\n } } @if (mobileBottomBar) {\n <div style=\"background-color: transparent; height: 4rem\"></div>\n }\n</ng-template>\n<ng-template #buttonsMode>\n @for (btn of workflowButtons; track btn; let i = $index) { @if (btn !== '-') {\n <fd-button-bar\n [attr.workflowButton]=\"true\"\n [fdType]=\"btn.design ? btn.design : btn.Data?.JsonExtraProp?.Design\"\n [label]=\"btn.text | bbbTranslate\"\n [glyph]=\"btn.newIcon ? btn.newIcon : btn.Data?.JsonExtraProp?.Icon\"\n (click)=\"onToolClick(btn)\"\n ></fd-button-bar>\n } }\n</ng-template>\n", styles: [":host[rtl=true] fd-split-button{margin-left:.5rem}:host[rtl=false] fd-split-button{margin-right:.5rem}.forward button{min-width:6rem}.form-erja{padding-top:1rem;padding-bottom:1rem}\n"], dependencies: [{ kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.FormNewComponent, selector: "bnrc-form-new", inputs: ["settings"] }, { kind: "component", type: i3.DynamicFormToolbaritemComponent, selector: "bnrc-dynamic-form-toolbaritem", inputs: ["mo", "index", "deviceName", "deviceSize", "context", "btn", "isEnable", "showText", "allColumns", "conditionalFormats"], outputs: ["btnClick"] }, { kind: "component", type: i4.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i4.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i4.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i4.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "component", type: i4.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i6.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i6.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i6.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i6.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "directive", type: i6.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i7.PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: i7.PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "directive", type: i7.PopoverBodyHeaderDirective, selector: "[fdPopoverBodyHeader], [fd-popover-body-header]" }, { kind: "directive", type: i7.PopoverBodyFooterDirective, selector: "[fdPopoverBodyFooter], [fd-popover-body-footer]" }, { kind: "component", type: i7.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "pipe", type: i3.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
53
- }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: LayoutActionsComponent, decorators: [{
55
- type: Component,
56
- args: [{ selector: 'bsu-layout-actions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngTemplateOutlet=\"simple ? buttonsMode : defaultTemplate\"> </ng-container>\n<ng-template #defaultTemplate>\n @if (visible) { @if (hasButtons) {\n <div fd-bar [barDesign]=\"footerDesign ? footerDesign : 'footer'\" [inPage]=\"true\">\n @if (canSend && false) {\n <div fd-bar-left>\n <fd-bar-element class=\"forward\">\n <fd-popover\n [focusTrapped]=\"true\"\n [focusAutoCapture]=\"true\"\n [closeOnOutsideClick]=\"false\"\n [scrollStrategy]=\"repositionScrollStrategy\"\n #forwardPopover\n >\n <fd-popover-control class=\"forward\">\n <button fd-button [fdType]=\"'standard'\" [label]=\"'Forward' | bbbTranslate\"></button>\n </fd-popover-control>\n <fd-popover-body style=\"min-width: 30vw; max-width: 30vw; min-height: 30vh\">\n <div fd-popover-body-header>\n <div fd-bar barDesign=\"header\" [cozy]=\"true\">\n <div fd-bar-right>\n <fd-bar-element\n ><button\n fd-button\n (click)=\"forwardPopover.close()\"\n [fdType]=\"'transparent'\"\n [glyph]=\"'decline'\"\n ></button>\n </fd-bar-element>\n <div fd-bar-left>\n <fd-bar-element>\u0627\u0631\u062C\u0627\u0639 \u0641\u0631\u0645 \u0628\u0647 \u0634\u062E\u0635 \u062F\u06CC\u06AF\u0631 </fd-bar-element>\n </div>\n </div>\n </div>\n </div>\n <bnrc-form-new\n class=\"form-erja\"\n [settings]=\"{\n MetaTypeDef: { Id: '', $Caption: '' },\n MetaView: { Id: '', $Caption: '' },\n DisableGenerateId: true\n }\"\n ></bnrc-form-new>\n <div fd-popover-body-footer>\n <div fd-bar barDesign=\"footer\" [cozy]=\"true\">\n <div fd-bar-right>\n <fd-button-bar [label]=\"'Send' | bbbTranslate\" fdType=\"emphasized\"></fd-button-bar>\n <fd-button-bar\n [label]=\"'Cancel' | bbbTranslate\"\n [fdType]=\"'transparent'\"\n (click)=\"forwardPopover.close()\"\n ></fd-button-bar>\n </div>\n </div>\n </div>\n </fd-popover-body>\n </fd-popover>\n </fd-bar-element>\n </div>\n }\n <div fd-bar-right>\n @if (workflowButtonsComboMode && workflowButtons.length > 0) {\n <button\n fd-button\n [fdMenu]=\"true\"\n fdType=\"emphasized\"\n [label]=\"selectedWorkflowButton?.text || 'Select' | bbbTranslate\"\n [ariaLabel]=\"selectedWorkflowButton?.text || 'Select' | bbbTranslate\"\n [fdMenuTrigger]=\"menu\"\n ></button>\n <fd-menu #menu>\n @for (btn of workflowButtons; track btn) {\n <li fd-menu-item (click)=\"menu.close(); onWorkflowButtonSelected(btn)\">\n <div fd-menu-interactive>\n <span fd-menu-title>{{ btn.text }}</span>\n </div>\n </li>\n }\n </fd-menu>\n <fd-button-bar\n [fdType]=\"'positive'\"\n [label]=\"'Send' | bbbTranslate\"\n [disabled]=\"!selectedWorkflowButton\"\n [glyph]=\"'accept'\"\n (click)=\"onAcceptWorkflow()\"\n ></fd-button-bar>\n } @for (btn of buttons; track btn; let i = $index) { @if (btn.Data?.CustomUi?.Selector) {\n <bnrc-dynamic-form-toolbaritem\n class=\"fd-bar__element\"\n [component]=\"btn.Data.CustomUi\"\n [context]=\"btn\"\n [isEnable]=\"btn.Command?._isEnable\"\n (btnClick)=\"onToolClick(btn)\"\n ></bnrc-dynamic-form-toolbaritem>\n } @if (btn !== '-' && !btn.Data?.CustomUi?.Selector) {\n <fd-button-bar\n [fdType]=\"btn.design ? btn.design : btn.Data?.JsonExtraProp?.Design\"\n [label]=\"btn.text | bbbTranslate\"\n [glyph]=\"btn.newIcon ? btn.newIcon : btn.Data?.JsonExtraProp?.Icon\"\n (click)=\"onToolClick(btn)\"\n ></fd-button-bar>\n } }\n </div>\n </div>\n } } @if (mobileBottomBar) {\n <div style=\"background-color: transparent; height: 4rem\"></div>\n }\n</ng-template>\n<ng-template #buttonsMode>\n @for (btn of workflowButtons; track btn; let i = $index) { @if (btn !== '-') {\n <fd-button-bar\n [attr.workflowButton]=\"true\"\n [fdType]=\"btn.design ? btn.design : btn.Data?.JsonExtraProp?.Design\"\n [label]=\"btn.text | bbbTranslate\"\n [glyph]=\"btn.newIcon ? btn.newIcon : btn.Data?.JsonExtraProp?.Icon\"\n (click)=\"onToolClick(btn)\"\n ></fd-button-bar>\n } }\n</ng-template>\n", styles: [":host[rtl=true] fd-split-button{margin-left:.5rem}:host[rtl=false] fd-split-button{margin-right:.5rem}.forward button{min-width:6rem}.form-erja{padding-top:1rem;padding-bottom:1rem}\n"] }]
57
- }], ctorParameters: () => [{ type: i1.Overlay }], propDecorators: { workflowButtons: [{
58
- type: Input
59
- }], workflowButtonsComboMode: [{
60
- type: Input
61
- }], canSend: [{
62
- type: Input
63
- }], simple: [{
64
- type: Input
65
- }], footerDesign: [{
66
- type: Input
67
- }], workflowChoiceSelect: [{
68
- type: Output
69
- }] } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWFjdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbGF5b3V0LWFjdGlvbnMvbGF5b3V0LWFjdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbGF5b3V0LWFjdGlvbnMvbGF5b3V0LWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd4RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7O0FBT25GLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx3QkFBd0I7SUFjaEUsWUFBc0IsUUFBaUI7UUFDbkMsS0FBSyxFQUFFLENBQUM7UUFEVSxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBUjdCLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFJekQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLG1CQUFjLEdBQUcsQ0FBQyxDQUFDO0lBR25CLENBQUM7SUFDRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsUUFBUSxHQUFHLGlCQUFpQixFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzVFLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQztZQUN0RSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1NBQ3RDLENBQUMsQ0FBQztRQUNILE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDN0Msd0NBQXdDO1FBQ3hDLElBQUksZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUN2QixJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO29CQUN4QixDQUFDLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQztnQkFDMUIsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDL0QsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3BCLFVBQVUsQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDO1lBQ3JDLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUNELGdCQUFnQjtRQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELHdCQUF3QixDQUFDLGNBQWM7UUFDbkMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLGNBQWMsQ0FBQztRQUM3QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4RCxDQUFDOzhHQTlDUSxzQkFBc0I7a0dBQXRCLHNCQUFzQixzVENYbkMsNHlMQXVIQTs7MkZENUdhLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDSSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTTs0RUFHdEMsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyx3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLG9CQUFvQjtzQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXksIFNjcm9sbFN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhckRlc2lnblR5cGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUnO1xuXG5pbXBvcnQgeyBGb3JtVG9vbGJhckJhc2VDb21wb25lbnQsIGdldERldmljZUlzTW9iaWxlIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtbGF5b3V0LWFjdGlvbnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQtYWN0aW9ucy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbGF5b3V0LWFjdGlvbnMuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXRBY3Rpb25zQ29tcG9uZW50IGV4dGVuZHMgRm9ybVRvb2xiYXJCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSB3b3JrZmxvd0J1dHRvbnM6IGFueVtdO1xuICAgIEBJbnB1dCgpIHdvcmtmbG93QnV0dG9uc0NvbWJvTW9kZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjYW5TZW5kOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHNpbXBsZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBmb290ZXJEZXNpZ246IEJhckRlc2lnblR5cGU7XG4gICAgQE91dHB1dCgpIHdvcmtmbG93Q2hvaWNlU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgc2VsZWN0ZWRXb3JrZmxvd0J1dHRvbjogYW55O1xuICAgIGlzTW9iaWxlOiBib29sZWFuO1xuICAgIHJlcG9zaXRpb25TY3JvbGxTdHJhdGVneTogU2Nyb2xsU3RyYXRlZ3k7XG4gICAgYXV0b0Nsb3NlID0gZmFsc2U7XG4gICAgbW9iaWxlQm90dG9tQmFyID0gZmFsc2U7XG4gICAgaGFzQnV0dG9ucyA9IGZhbHNlO1xuICAgIHNjcm9sbFRocm90dGxlID0gMDtcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX292ZXJsYXk6IE92ZXJsYXkpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuaGFzQnV0dG9ucyA9IHRoaXMud29ya2Zsb3dCdXR0b25zLmxlbmd0aCA+IDAgfHwgdGhpcy5idXR0b25zLmxlbmd0aCA+IDA7XG4gICAgICAgIHRoaXMuaXNNb2JpbGUgPSBnZXREZXZpY2VJc01vYmlsZSgpO1xuICAgICAgICB0aGlzLm1vYmlsZUJvdHRvbUJhciA9IHRoaXMuaXNNb2JpbGUgJiYgIXRoaXMuc3RhbmRhbG9uZSAmJiB0aGlzLmhhc0J1dHRvbnM7XG4gICAgICAgIHRoaXMucmVwb3NpdGlvblNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5fb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oe1xuICAgICAgICAgICAgYXV0b0Nsb3NlOiB0aGlzLmF1dG9DbG9zZSxcbiAgICAgICAgICAgIHNjcm9sbFRocm90dGxlOiB0aGlzLnNjcm9sbFRocm90dGxlXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCB3b3JrZmxvd0J1dHRvbnMgPSB0aGlzLndvcmtmbG93QnV0dG9ucztcbiAgICAgICAgLy8gdGhpcy53b3JrZmxvd0J1dHRvbnNDb21ib01vZGUgPSB0cnVlO1xuICAgICAgICBpZiAod29ya2Zsb3dCdXR0b25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9ucy5mb3JFYWNoKChjKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgICAgICBjLmRlc2lnbiA9ICdzdGFuZGFyZCc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCBsYXN0QnV0dG9uID0gd29ya2Zsb3dCdXR0b25zW3dvcmtmbG93QnV0dG9ucy5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgIGlmIChsYXN0QnV0dG9uLkNob2ljZSkge1xuICAgICAgICAgICAgICAgIGxhc3RCdXR0b24uZGVzaWduID0gJ2VtcGhhc2l6ZWQnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIG9uQWNjZXB0V29ya2Zsb3coKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub29sQ2xpY2sodGhpcy5zZWxlY3RlZFdvcmtmbG93QnV0dG9uKTtcbiAgICB9XG4gICAgb25Xb3JrZmxvd0J1dHRvblNlbGVjdGVkKHdvcmtmbG93QnV0dG9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRXb3JrZmxvd0J1dHRvbiA9IHdvcmtmbG93QnV0dG9uO1xuICAgICAgICB0aGlzLndvcmtmbG93Q2hvaWNlU2VsZWN0LmVtaXQod29ya2Zsb3dCdXR0b24uRGF0YSk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNpbXBsZSA/IGJ1dHRvbnNNb2RlIDogZGVmYXVsdFRlbXBsYXRlXCI+IDwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGU+XG4gICAgQGlmICh2aXNpYmxlKSB7IEBpZiAoaGFzQnV0dG9ucykge1xuICAgIDxkaXYgZmQtYmFyIFtiYXJEZXNpZ25dPVwiZm9vdGVyRGVzaWduID8gZm9vdGVyRGVzaWduIDogJ2Zvb3RlcidcIiBbaW5QYWdlXT1cInRydWVcIj5cbiAgICAgICAgQGlmIChjYW5TZW5kICYmIGZhbHNlKSB7XG4gICAgICAgIDxkaXYgZmQtYmFyLWxlZnQ+XG4gICAgICAgICAgICA8ZmQtYmFyLWVsZW1lbnQgY2xhc3M9XCJmb3J3YXJkXCI+XG4gICAgICAgICAgICAgICAgPGZkLXBvcG92ZXJcbiAgICAgICAgICAgICAgICAgICAgW2ZvY3VzVHJhcHBlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2ZvY3VzQXV0b0NhcHR1cmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbG9zZU9uT3V0c2lkZUNsaWNrXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgW3Njcm9sbFN0cmF0ZWd5XT1cInJlcG9zaXRpb25TY3JvbGxTdHJhdGVneVwiXG4gICAgICAgICAgICAgICAgICAgICNmb3J3YXJkUG9wb3ZlclxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGZkLXBvcG92ZXItY29udHJvbCBjbGFzcz1cImZvcndhcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gZmQtYnV0dG9uIFtmZFR5cGVdPVwiJ3N0YW5kYXJkJ1wiIFtsYWJlbF09XCInRm9yd2FyZCcgfCBiYmJUcmFuc2xhdGVcIj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICAgICAgICAgIDxmZC1wb3BvdmVyLWJvZHkgc3R5bGU9XCJtaW4td2lkdGg6IDMwdnc7IG1heC13aWR0aDogMzB2dzsgbWluLWhlaWdodDogMzB2aFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmZC1wb3BvdmVyLWJvZHktaGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZmQtYmFyIGJhckRlc2lnbj1cImhlYWRlclwiIFtjb3p5XT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmZC1iYXItcmlnaHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtYmFyLWVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImZvcndhcmRQb3BvdmVyLmNsb3NlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiJ2RlY2xpbmUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmZC1iYXItbGVmdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmQtYmFyLWVsZW1lbnQ+2KfYsdis2KfYuSDZgdix2YUg2KjZhyDYtNiu2LUg2K/bjNqv2LEgPC9mZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJucmMtZm9ybS1uZXdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tZXJqYVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NldHRpbmdzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWV0YVR5cGVEZWY6IHsgSWQ6ICcnLCAkQ2FwdGlvbjogJycgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWV0YVZpZXc6IHsgSWQ6ICcnLCAkQ2FwdGlvbjogJycgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGlzYWJsZUdlbmVyYXRlSWQ6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2JucmMtZm9ybS1uZXc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkLXBvcG92ZXItYm9keS1mb290ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBmZC1iYXIgYmFyRGVzaWduPVwiZm9vdGVyXCIgW2NvenldPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkLWJhci1yaWdodD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1idXR0b24tYmFyIFtsYWJlbF09XCInU2VuZCcgfCBiYmJUcmFuc2xhdGVcIiBmZFR5cGU9XCJlbXBoYXNpemVkXCI+PC9mZC1idXR0b24tYmFyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0NhbmNlbCcgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmZFR5cGVdPVwiJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImZvcndhcmRQb3BvdmVyLmNsb3NlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvZmQtYnV0dG9uLWJhcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWJvZHk+XG4gICAgICAgICAgICAgICAgPC9mZC1wb3BvdmVyPlxuICAgICAgICAgICAgPC9mZC1iYXItZWxlbWVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgPGRpdiBmZC1iYXItcmlnaHQ+XG4gICAgICAgICAgICBAaWYgKHdvcmtmbG93QnV0dG9uc0NvbWJvTW9kZSAmJiB3b3JrZmxvd0J1dHRvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgIFtmZE1lbnVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgZmRUeXBlPVwiZW1waGFzaXplZFwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cInNlbGVjdGVkV29ya2Zsb3dCdXR0b24/LnRleHQgfHwgJ1NlbGVjdCcgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwic2VsZWN0ZWRXb3JrZmxvd0J1dHRvbj8udGV4dCB8fCAnU2VsZWN0JyB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW2ZkTWVudVRyaWdnZXJdPVwibWVudVwiXG4gICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8ZmQtbWVudSAjbWVudT5cbiAgICAgICAgICAgICAgICBAZm9yIChidG4gb2Ygd29ya2Zsb3dCdXR0b25zOyB0cmFjayBidG4pIHtcbiAgICAgICAgICAgICAgICA8bGkgZmQtbWVudS1pdGVtIChjbGljayk9XCJtZW51LmNsb3NlKCk7IG9uV29ya2Zsb3dCdXR0b25TZWxlY3RlZChidG4pXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZmQtbWVudS1pbnRlcmFjdGl2ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLW1lbnUtdGl0bGU+e3sgYnRuLnRleHQgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9mZC1tZW51PlxuICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgICAgICBbZmRUeXBlXT1cIidwb3NpdGl2ZSdcIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCInU2VuZCcgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhc2VsZWN0ZWRXb3JrZmxvd0J1dHRvblwiXG4gICAgICAgICAgICAgICAgW2dseXBoXT1cIidhY2NlcHQnXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25BY2NlcHRXb3JrZmxvdygpXCJcbiAgICAgICAgICAgID48L2ZkLWJ1dHRvbi1iYXI+XG4gICAgICAgICAgICB9IEBmb3IgKGJ0biBvZiBidXR0b25zOyB0cmFjayBidG47IGxldCBpID0gJGluZGV4KSB7IEBpZiAoYnRuLkRhdGE/LkN1c3RvbVVpPy5TZWxlY3Rvcikge1xuICAgICAgICAgICAgPGJucmMtZHluYW1pYy1mb3JtLXRvb2xiYXJpdGVtXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1iYXJfX2VsZW1lbnRcIlxuICAgICAgICAgICAgICAgIFtjb21wb25lbnRdPVwiYnRuLkRhdGEuQ3VzdG9tVWlcIlxuICAgICAgICAgICAgICAgIFtjb250ZXh0XT1cImJ0blwiXG4gICAgICAgICAgICAgICAgW2lzRW5hYmxlXT1cImJ0bi5Db21tYW5kPy5faXNFbmFibGVcIlxuICAgICAgICAgICAgICAgIChidG5DbGljayk9XCJvblRvb2xDbGljayhidG4pXCJcbiAgICAgICAgICAgID48L2JucmMtZHluYW1pYy1mb3JtLXRvb2xiYXJpdGVtPlxuICAgICAgICAgICAgfSBAaWYgKGJ0biAhPT0gJy0nICYmICFidG4uRGF0YT8uQ3VzdG9tVWk/LlNlbGVjdG9yKSB7XG4gICAgICAgICAgICA8ZmQtYnV0dG9uLWJhclxuICAgICAgICAgICAgICAgIFtmZFR5cGVdPVwiYnRuLmRlc2lnbiA/IGJ0bi5kZXNpZ24gOiBidG4uRGF0YT8uSnNvbkV4dHJhUHJvcD8uRGVzaWduXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiYnRuLnRleHQgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFtnbHlwaF09XCJidG4ubmV3SWNvbiA/IGJ0bi5uZXdJY29uIDogYnRuLkRhdGE/Lkpzb25FeHRyYVByb3A/Lkljb25cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblRvb2xDbGljayhidG4pXCJcbiAgICAgICAgICAgID48L2ZkLWJ1dHRvbi1iYXI+XG4gICAgICAgICAgICB9IH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgfSB9IEBpZiAobW9iaWxlQm90dG9tQmFyKSB7XG4gICAgPGRpdiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBoZWlnaHQ6IDRyZW1cIj48L2Rpdj5cbiAgICB9XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNidXR0b25zTW9kZT5cbiAgICBAZm9yIChidG4gb2Ygd29ya2Zsb3dCdXR0b25zOyB0cmFjayBidG47IGxldCBpID0gJGluZGV4KSB7IEBpZiAoYnRuICE9PSAnLScpIHtcbiAgICA8ZmQtYnV0dG9uLWJhclxuICAgICAgICBbYXR0ci53b3JrZmxvd0J1dHRvbl09XCJ0cnVlXCJcbiAgICAgICAgW2ZkVHlwZV09XCJidG4uZGVzaWduID8gYnRuLmRlc2lnbiA6IGJ0bi5EYXRhPy5Kc29uRXh0cmFQcm9wPy5EZXNpZ25cIlxuICAgICAgICBbbGFiZWxdPVwiYnRuLnRleHQgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICBbZ2x5cGhdPVwiYnRuLm5ld0ljb24gPyBidG4ubmV3SWNvbiA6IGJ0bi5EYXRhPy5Kc29uRXh0cmFQcm9wPy5JY29uXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uVG9vbENsaWNrKGJ0bilcIlxuICAgID48L2ZkLWJ1dHRvbi1iYXI+XG4gICAgfSB9XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,302 +0,0 @@
1
- import { Component, ElementRef, HostBinding, Input, ViewChild, ChangeDetectionStrategy, SkipSelf, Output, EventEmitter } from '@angular/core';
2
- import { BarsaApi, LayoutItemBaseComponent, LayoutService, getDeviceIsMobile, measureText, getLabelWidth } from 'barsa-novin-ray-core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "barsa-novin-ray-core";
5
- import * as i2 from "@fundamental-ngx/core";
6
- import * as i3 from "@angular/platform-browser";
7
- import * as i4 from "../ly-label/ly-label.component";
8
- import * as i5 from "@angular/common";
9
- export class LayoutControlComponent extends LayoutItemBaseComponent {
10
- constructor(formPanelService, el, _contentDensityService, domSanitizer, _cdr, _ngZone, _renderer2, _bbbTranslate, _parentLayoutService) {
11
- super(formPanelService, _cdr);
12
- this.formPanelService = formPanelService;
13
- this.el = el;
14
- this.domSanitizer = domSanitizer;
15
- this._cdr = _cdr;
16
- this._ngZone = _ngZone;
17
- this._renderer2 = _renderer2;
18
- this._bbbTranslate = _bbbTranslate;
19
- this._parentLayoutService = _parentLayoutService;
20
- this.layoutControlClass = true;
21
- this.isContainer = true;
22
- this.minHeight = '2.25rem';
23
- this.controlIsReadonly = false;
24
- this.isMobile = getDeviceIsMobile();
25
- this.events = new EventEmitter();
26
- this.hide = true;
27
- this.emptyText = this.domSanitizer.bypassSecurityTrustHtml('&#8203;');
28
- this.checkboxWidth = 'fit-content';
29
- /* eslint-disable */
30
- this.RefreshLabel = () => {
31
- this._refreshLabel();
32
- this.events.emit({ title: 'refreshLabel', data: this.config });
33
- this._cdr.markForCheck();
34
- };
35
- /* eslint-disable */
36
- this.SetVisible = (visible, refresh) => {
37
- this._ngZone.run(() => {
38
- this.config.FieldUi.Setting.IsVisible = visible;
39
- this._setHide(!visible);
40
- // this.config.FieldUi.Setting.$BRuleHide = !visible;
41
- this._cdr.detectChanges();
42
- });
43
- };
44
- if (this.contentDensity === 'compact') {
45
- this.minHeight = '2rem';
46
- }
47
- }
48
- ngOnChanges(changes) {
49
- super.ngOnChanges(changes);
50
- const { flex, maxLabelWidth } = changes;
51
- if (flex) {
52
- this._setFlex(flex.currentValue);
53
- }
54
- if (maxLabelWidth && !maxLabelWidth.firstChange) {
55
- this._setLabelWidth(maxLabelWidth.currentValue);
56
- }
57
- }
58
- ngOnInit() {
59
- super.ngOnInit();
60
- this.formHeight$ = this.formPanelService.formHeight$;
61
- this._setFlex(this.flex);
62
- this.layoutControlWidth = this.el.nativeElement.clientWidth;
63
- const config = this.config;
64
- const minHeightAuto = BarsaApi.Common.Util.TryGetValue(config, 'FieldUi.Setting.CustomUi.Parameters.MinHeightAuto', false);
65
- if (this.inlineEdit || minHeightAuto || this.isMobile) {
66
- this.minHeight = 'auto';
67
- }
68
- if (config.FieldUi.originalXtype === 'Ui.UlvMainUi') {
69
- this.isUlv = true;
70
- this._renderer2.addClass(this.el.nativeElement, 'isUlv');
71
- }
72
- this.attrCaption = config.Caption.replace(':', '');
73
- this.attrControlId = config.ControlId;
74
- this.isButton = config.FieldUi.originalXtype === 'Ui.Button';
75
- this._refreshLabel();
76
- this.isRowDirection = config.TextLocation === 'Right' || config.TextLocation === 'Default';
77
- this.isRowReverseDirection = config.TextLocation === 'Left';
78
- this.isColumnDirection = config.TextLocation === 'Top' || this.isSearchPanel;
79
- this.isColumnReverseDirection = config.TextLocation === 'Bottom';
80
- config.FieldUi.LayoutControl = this;
81
- this.helpDescription = BarsaApi.Common.Util.TryGetValue(config.FieldUi, 'Setting.HelpDescription', '');
82
- this.fieldIcon = config.FieldUi.Setting.FieldIcon;
83
- this.controlIsReadonly = config.FieldUi.Setting.ControlIsReadOnly;
84
- this.controlIsReadonly =
85
- this.controlIsReadonly ||
86
- config.FieldUi.Setting.InnerCtrlr?.IsReadOnly ||
87
- config.FieldUi.Setting.InnerCtrlr?.xtype === 'Ul.ReadOnlyFieldCtrlr';
88
- this.originalXtype = config.FieldUi.originalXtype;
89
- this.textVisible = config.TextVisible;
90
- if (config.FieldUi.originalXtype === 'Ui.SearchCommandInfoUi') {
91
- this.labelCaption = '&#8203;';
92
- this.labelVisible = true;
93
- this.textVisible = true;
94
- }
95
- this.prepareMinAndMaxSize();
96
- this._setLabelWidth(this.maxLabelWidth);
97
- }
98
- _refreshLabel() {
99
- const config = this.config;
100
- const labelCaption = config.Caption;
101
- // if (config.FieldUi.Setting?.IsMandatory) {
102
- // if (labelCaption.indexOf('*') < 0) {
103
- // labelCaption = labelCaption + ' *';
104
- // }
105
- // } else {
106
- // labelCaption = labelCaption.replace('*', '');
107
- // }
108
- this.isCheckbox = config.FieldUi.originalXtype === 'Ui.CheckBox';
109
- if (this.isCheckbox) {
110
- const x = measureText(labelCaption);
111
- if (x < this.maxLabelWidth && !this.isMobile) {
112
- this.checkboxWidth = `${this.maxLabelWidth}px`;
113
- }
114
- }
115
- this.isSinglePicture = config.FieldUi.originalXtype === 'Ui.SinglePicture';
116
- const colonLabel = this.formPanelService.ColonInLabel ? ':' : '';
117
- let translateCaption = `${this._bbbTranslate.transform(labelCaption)}${this.isSearchPanel || labelCaption === '&zwnj;' ? '' : colonLabel}`;
118
- this.isMandatory = config.FieldUi.Setting?.IsMandatory;
119
- if (this.isMandatory) {
120
- translateCaption = translateCaption.replace('*', '');
121
- translateCaption += `<strong class="field-mandatory">*</strong>`;
122
- }
123
- this.labelCaption = this.domSanitizer.bypassSecurityTrustHtml(translateCaption);
124
- this.labelVisible = config.TextVisible && this.showLabel !== false;
125
- const controlWidth = getLabelWidth(this.config);
126
- if (controlWidth && controlWidth > this.maxLabelWidth) {
127
- this._parentLayoutService.setMaxWidth(controlWidth);
128
- }
129
- this._setHide(config.FieldUi.Setting.IsVisible === false ? true : false);
130
- }
131
- _setLabelWidth(maxLabelWidth) {
132
- if (!this.tempLabelRef) {
133
- return;
134
- }
135
- const val = this.config.CaptionSetting?.AlignMode === 'AutoSize' ||
136
- (this.isMobile && (this.isCheckbox || this.controlIsReadonly))
137
- ? 'auto'
138
- : this.isColumnDirection || this.isColumnReverseDirection
139
- ? '100%'
140
- : maxLabelWidth + 'px';
141
- this._renderer2.setStyle(this.tempLabelRef.nativeElement, 'width', val);
142
- const minWidth = this.isCheckbox
143
- ? this.checkboxWidth
144
- : this.config.CaptionSetting?.AlignMode === 'AutoSize' || (this.isMobile && this.controlIsReadonly)
145
- ? 'fit-content'
146
- : this.isColumnDirection || this.isColumnReverseDirection
147
- ? '100%'
148
- : maxLabelWidth + 'px';
149
- this._renderer2.setStyle(this.tempLabelRef.nativeElement, 'min-width', minWidth);
150
- }
151
- _resizeUlvByDevice(device) {
152
- if (!this.isUlv) {
153
- return;
154
- }
155
- let deviceHeight = 'DesktopHeight';
156
- switch (device) {
157
- case 's':
158
- deviceHeight = 'MobileHeight';
159
- break;
160
- case 'm':
161
- deviceHeight = 'TabletHeight';
162
- break;
163
- }
164
- this.height = BarsaApi.Common.Util.TryGetValue(this.config, 'FieldUi.Setting.ClassNames.CustomUi.Parameters.' + deviceHeight, 'auto');
165
- this._cdr.detectChanges();
166
- }
167
- prepareMinAndMaxSize() {
168
- const config = this.config;
169
- const layoutInfo = config;
170
- const isButton = this.isButton;
171
- const isSinglePicture = this.isSinglePicture;
172
- const isCheckbox = this.isCheckbox;
173
- if (!this.inlineEdit && layoutInfo && (isButton || isCheckbox || isSinglePicture)) {
174
- this.attrMinWidth = config.Bounds.width;
175
- let extraVal = 0;
176
- if (((isButton || isCheckbox) && layoutInfo.FieldUi.Setting?.FieldIcon) ||
177
- layoutInfo.FieldUi.Setting.JsonExtraProp?.Glyph) {
178
- extraVal = 18;
179
- }
180
- const { MaxSize, MinSize } = layoutInfo;
181
- if (MaxSize?.width > 0 && !this.isCheckbox) {
182
- this.maxWidth = MaxSize.width + extraVal + 'px';
183
- }
184
- if (MinSize?.width > 0) {
185
- this.minWidth = MinSize.width + extraVal + 'px';
186
- }
187
- }
188
- if (this.isSearchPanel) {
189
- this.attrMinWidth = this.maxLabelWidth + 200;
190
- if (!this.isSearcPanelInSideContent) {
191
- this.maxWidth = '320px';
192
- }
193
- }
194
- if (this.isMobile) {
195
- this.minWidth = null;
196
- }
197
- }
198
- _setHide(hide) {
199
- hide = this.config.FieldUi.Setting.HideSearchCommandInfoUi === true ? true : hide; // hide default buttons of search panel
200
- this.hide = hide;
201
- if (hide) {
202
- this._renderer2.addClass(this.el.nativeElement, 'hide-form-item');
203
- }
204
- else {
205
- this._renderer2.removeClass(this.el.nativeElement, 'hide-form-item');
206
- }
207
- }
208
- _setFlex(flex) {
209
- if (typeof flex !== 'undefined') {
210
- if (!this.isMobile || this.config.FieldUi.originalXtype !== 'Ui.TextArea')
211
- this._renderer2.setStyle(this.el.nativeElement, 'flex', flex);
212
- }
213
- }
214
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: LayoutControlComponent, deps: [{ token: i1.FormPanelService }, { token: i0.ElementRef }, { token: i2.ContentDensityService }, { token: i3.DomSanitizer }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.BbbTranslatePipe }, { token: i1.LayoutService, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component }); }
215
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: LayoutControlComponent, selector: "bsu-layout-control", inputs: { inlineEdit: "inlineEdit", caption: "caption", focusControl: "focusControl", showLabel: "showLabel", maxLabelWidth: "maxLabelWidth", hasHorizontalText: "hasHorizontalText", contentDensity: "contentDensity", flex: "flex", RefreshLabel: "RefreshLabel", SetVisible: "SetVisible" }, outputs: { events: "events" }, host: { properties: { "class.layout-control": "this.layoutControlClass", "class.row-direction": "this.isRowDirection", "class.row-reverse-direction": "this.isRowReverseDirection", "class.column-direction": "this.isColumnDirection", "class.column-reverse-direction": "this.isColumnReverseDirection", "class.container-field": "this.isContainer", "style.max-width": "this.maxWidth", "style.min-width": "this.minWidth", "style.min-height": "this.minHeight", "style.height": "this.height", "attr.isCheckbox": "this.isCheckbox", "attr.controlIsReadonly": "this.controlIsReadonly", "attr.isButton": "this.isButton", "attr.issinglepicture": "this.isSinglePicture", "attr.minWidth": "this.attrMinWidth", "attr.ismobile": "this.isMobile", "attr.controlId": "this.attrControlId", "attr.caption": "this.attrCaption" } }, providers: [LayoutService], viewQueries: [{ propertyName: "tempLabelRef", first: true, predicate: ["tempLabelRef"], descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (!hide) { @if (labelVisible) {\n<bsu-ly-label\n [attr.labelWidth]=\"labelWidth\"\n [attrRtl]\n #tempLabelRef\n [class.no-padding]=\"config.Padding[0] === 0\"\n [config]=\"config\"\n [caption]=\"labelCaption\"\n [originalWidth]=\"labelWidth\"\n [style.min-width]=\"\n isCheckbox\n ? checkboxWidth\n : config.CaptionSetting?.AlignMode === 'AutoSize' || (isMobile && controlIsReadonly)\n ? 'fit-content'\n : isColumnDirection || isColumnReverseDirection\n ? '100%'\n : maxLabelWidth + 'px'\n \"\n [style.width]=\"\n config.CaptionSetting?.AlignMode === 'AutoSize' || (isMobile && (isCheckbox || controlIsReadonly))\n ? 'auto'\n : isColumnDirection || isColumnReverseDirection\n ? '100%'\n : maxLabelWidth + 'px'\n \"\n [isMandatory]=\"isMandatory\"\n [fieldIcon]=\"fieldIcon\"\n [helpDescription]=\"helpDescription\"\n [originalXtype]=\"originalXtype\"\n [textVisible]=\"textVisible\"\n [isColumn]=\"isColumnDirection || isColumnReverseDirection\"\n></bsu-ly-label>\n}\n<label [attr.visible]=\"labelVisible\" class=\"horizontal-label\" [innerHtml]=\"emptyText\"></label>\n<bnrc-field-ui\n [attr.xtype]=\"config.FieldUi.originalXtype\"\n [attr.fieldWidth]=\"layoutControlWidth\"\n [attr.isCheckbox]=\"isCheckbox\"\n [attr.isbutton]=\"isButton\"\n [style.flex-grow]=\"isCheckbox ? 1 : 0\"\n [class.no-padding]=\"config.Padding[0] === 0\"\n [customField]=\"config.FieldUi\"\n [layoutInfo]=\"config\"\n [inlineEdit]=\"inlineEdit\"\n [formHeight]=\"(formHeight$ | async)!!\"\n [focusControl]=\"focusControl\"\n [isSearchPanel]=\"isSearchPanel\"\n [style.height]=\"isUlv ? '100%' : 'auto'\"\n [attr.isulv]=\"isUlv\"\n></bnrc-field-ui>\n}\n", styles: [":host{width:100%;display:flex}:host[ismobile=true].isUlv{width:100%!important}.form-item-label-container{display:flex;position:relative}.lbl-temp{position:absolute;visibility:hidden}bsu-ly-label{padding:0 5px;margin:auto}bnrc-field-ui{padding:0 5px;margin:auto}bnrc-field-ui[xtype=\"Ui.CheckBox\"]{padding:0}@media screen and (max-width: 599px){:host{height:auto}:host:not([isbutton=true]){min-width:7rem}bnrc-field-ui:not([isbutton=true]){height:auto!important}}\n"], dependencies: [{ kind: "component", type: i1.FieldUiComponent, selector: "bnrc-field-ui", inputs: ["isSearchPanel", "customField", "componentUi", "layoutInfo", "inlineEdit", "focusControl", "formHeight"] }, { kind: "directive", type: i1.AttrRtlDirective, selector: "[attrRtl]", inputs: ["attrRtl"] }, { kind: "component", type: i4.LyLabelComponent, selector: "bsu-ly-label", inputs: ["originalWidth", "minWidth", "caption", "captionIcon", "helpDescription", "isColumn", "isMandatory", "fieldIcon", "originalXtype", "textVisible"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
216
- }
217
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: LayoutControlComponent, decorators: [{
218
- type: Component,
219
- args: [{ selector: 'bsu-layout-control', providers: [LayoutService], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (!hide) { @if (labelVisible) {\n<bsu-ly-label\n [attr.labelWidth]=\"labelWidth\"\n [attrRtl]\n #tempLabelRef\n [class.no-padding]=\"config.Padding[0] === 0\"\n [config]=\"config\"\n [caption]=\"labelCaption\"\n [originalWidth]=\"labelWidth\"\n [style.min-width]=\"\n isCheckbox\n ? checkboxWidth\n : config.CaptionSetting?.AlignMode === 'AutoSize' || (isMobile && controlIsReadonly)\n ? 'fit-content'\n : isColumnDirection || isColumnReverseDirection\n ? '100%'\n : maxLabelWidth + 'px'\n \"\n [style.width]=\"\n config.CaptionSetting?.AlignMode === 'AutoSize' || (isMobile && (isCheckbox || controlIsReadonly))\n ? 'auto'\n : isColumnDirection || isColumnReverseDirection\n ? '100%'\n : maxLabelWidth + 'px'\n \"\n [isMandatory]=\"isMandatory\"\n [fieldIcon]=\"fieldIcon\"\n [helpDescription]=\"helpDescription\"\n [originalXtype]=\"originalXtype\"\n [textVisible]=\"textVisible\"\n [isColumn]=\"isColumnDirection || isColumnReverseDirection\"\n></bsu-ly-label>\n}\n<label [attr.visible]=\"labelVisible\" class=\"horizontal-label\" [innerHtml]=\"emptyText\"></label>\n<bnrc-field-ui\n [attr.xtype]=\"config.FieldUi.originalXtype\"\n [attr.fieldWidth]=\"layoutControlWidth\"\n [attr.isCheckbox]=\"isCheckbox\"\n [attr.isbutton]=\"isButton\"\n [style.flex-grow]=\"isCheckbox ? 1 : 0\"\n [class.no-padding]=\"config.Padding[0] === 0\"\n [customField]=\"config.FieldUi\"\n [layoutInfo]=\"config\"\n [inlineEdit]=\"inlineEdit\"\n [formHeight]=\"(formHeight$ | async)!!\"\n [focusControl]=\"focusControl\"\n [isSearchPanel]=\"isSearchPanel\"\n [style.height]=\"isUlv ? '100%' : 'auto'\"\n [attr.isulv]=\"isUlv\"\n></bnrc-field-ui>\n}\n", styles: [":host{width:100%;display:flex}:host[ismobile=true].isUlv{width:100%!important}.form-item-label-container{display:flex;position:relative}.lbl-temp{position:absolute;visibility:hidden}bsu-ly-label{padding:0 5px;margin:auto}bnrc-field-ui{padding:0 5px;margin:auto}bnrc-field-ui[xtype=\"Ui.CheckBox\"]{padding:0}@media screen and (max-width: 599px){:host{height:auto}:host:not([isbutton=true]){min-width:7rem}bnrc-field-ui:not([isbutton=true]){height:auto!important}}\n"] }]
220
- }], ctorParameters: () => [{ type: i1.FormPanelService }, { type: i0.ElementRef }, { type: i2.ContentDensityService }, { type: i3.DomSanitizer }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.BbbTranslatePipe }, { type: i1.LayoutService, decorators: [{
221
- type: SkipSelf
222
- }] }], propDecorators: { tempLabelRef: [{
223
- type: ViewChild,
224
- args: ['tempLabelRef', { read: ElementRef }]
225
- }], layoutControlClass: [{
226
- type: HostBinding,
227
- args: ['class.layout-control']
228
- }], isRowDirection: [{
229
- type: HostBinding,
230
- args: ['class.row-direction']
231
- }], isRowReverseDirection: [{
232
- type: HostBinding,
233
- args: ['class.row-reverse-direction']
234
- }], isColumnDirection: [{
235
- type: HostBinding,
236
- args: ['class.column-direction']
237
- }], isColumnReverseDirection: [{
238
- type: HostBinding,
239
- args: ['class.column-reverse-direction']
240
- }], isContainer: [{
241
- type: HostBinding,
242
- args: ['class.container-field']
243
- }], maxWidth: [{
244
- type: HostBinding,
245
- args: ['style.max-width']
246
- }], minWidth: [{
247
- type: HostBinding,
248
- args: ['style.min-width']
249
- }], minHeight: [{
250
- type: HostBinding,
251
- args: ['style.min-height']
252
- }], height: [{
253
- type: HostBinding,
254
- args: ['style.height']
255
- }], isCheckbox: [{
256
- type: HostBinding,
257
- args: ['attr.isCheckbox']
258
- }], controlIsReadonly: [{
259
- type: HostBinding,
260
- args: ['attr.controlIsReadonly']
261
- }], isButton: [{
262
- type: HostBinding,
263
- args: ['attr.isButton']
264
- }], isSinglePicture: [{
265
- type: HostBinding,
266
- args: ['attr.issinglepicture']
267
- }], attrMinWidth: [{
268
- type: HostBinding,
269
- args: ['attr.minWidth']
270
- }], isMobile: [{
271
- type: HostBinding,
272
- args: ['attr.ismobile']
273
- }], attrControlId: [{
274
- type: HostBinding,
275
- args: ['attr.controlId']
276
- }], attrCaption: [{
277
- type: HostBinding,
278
- args: ['attr.caption']
279
- }], inlineEdit: [{
280
- type: Input
281
- }], caption: [{
282
- type: Input
283
- }], focusControl: [{
284
- type: Input
285
- }], showLabel: [{
286
- type: Input
287
- }], maxLabelWidth: [{
288
- type: Input
289
- }], hasHorizontalText: [{
290
- type: Input
291
- }], contentDensity: [{
292
- type: Input
293
- }], flex: [{
294
- type: Input
295
- }], events: [{
296
- type: Output
297
- }], RefreshLabel: [{
298
- type: Input
299
- }], SetVisible: [{
300
- type: Input
301
- }] } });
302
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbGF5b3V0LWNvbnRyb2wvbGF5b3V0LWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbGF5b3V0LWNvbnRyb2wvbGF5b3V0LWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBTXZCLFFBQVEsRUFDUixNQUFNLEVBQ04sWUFBWSxFQUNmLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFDSCxRQUFRLEVBQ1IsdUJBQXVCLEVBQ3ZCLGFBQWEsRUFFYixpQkFBaUIsRUFFakIsV0FBVyxFQUNYLGFBQWEsRUFDaEIsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQVM5QixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsdUJBQXVCO0lBbUQvRCxZQUNjLGdCQUFrQyxFQUNyQyxFQUFjLEVBQ3JCLHNCQUE2QyxFQUNuQyxZQUEwQixFQUMxQixJQUF1QixFQUN2QixPQUFlLEVBQ2YsVUFBcUIsRUFDckIsYUFBK0IsRUFDbkIsb0JBQW1DO1FBRXpELEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQztRQVZwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ3JDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFFWCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN2QixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQUNyQixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDbkIs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QkFBcEIsS0FBSztnQkFNRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgTmdab25lLFxuICAgIFJlbmRlcmVyMixcbiAgICBPbkluaXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBTa2lwU2VsZixcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eSwgQ29udGVudERlbnNpdHlTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcblxuaW1wb3J0IHtcbiAgICBCYXJzYUFwaSxcbiAgICBMYXlvdXRJdGVtQmFzZUNvbXBvbmVudCxcbiAgICBMYXlvdXRTZXJ2aWNlLFxuICAgIEZvcm1QYW5lbFNlcnZpY2UsXG4gICAgZ2V0RGV2aWNlSXNNb2JpbGUsXG4gICAgQmJiVHJhbnNsYXRlUGlwZSxcbiAgICBtZWFzdXJlVGV4dCxcbiAgICBnZXRMYWJlbFdpZHRoXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtbGF5b3V0LWNvbnRyb2wnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQtY29udHJvbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbGF5b3V0LWNvbnRyb2wuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtMYXlvdXRTZXJ2aWNlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXRDb250cm9sQ29tcG9uZW50IGV4dGVuZHMgTGF5b3V0SXRlbUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoJ3RlbXBMYWJlbFJlZicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICAgIHRlbXBMYWJlbFJlZjogRWxlbWVudFJlZjtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MubGF5b3V0LWNvbnRyb2wnKSBsYXlvdXRDb250cm9sQ2xhc3MgPSB0cnVlO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3Mucm93LWRpcmVjdGlvbicpIGlzUm93RGlyZWN0aW9uO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3Mucm93LXJldmVyc2UtZGlyZWN0aW9uJykgaXNSb3dSZXZlcnNlRGlyZWN0aW9uO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY29sdW1uLWRpcmVjdGlvbicpIGlzQ29sdW1uRGlyZWN0aW9uO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY29sdW1uLXJldmVyc2UtZGlyZWN0aW9uJykgaXNDb2x1bW5SZXZlcnNlRGlyZWN0aW9uO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY29udGFpbmVyLWZpZWxkJykgaXNDb250YWluZXIgPSB0cnVlO1xuICAgIC8vIEBIb3N0QmluZGluZygnc3R5bGUudmlzaWJpbGl0eScpIHZpc2liaWxpdHk6IHN0cmluZztcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC13aWR0aCcpIG1heFdpZHRoO1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUubWluLXdpZHRoJykgbWluV2lkdGg7XG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5taW4taGVpZ2h0JykgbWluSGVpZ2h0ID0gJzIuMjVyZW0nO1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0JykgaGVpZ2h0O1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5pc0NoZWNrYm94JykgaXNDaGVja2JveDtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuY29udHJvbElzUmVhZG9ubHknKSBjb250cm9sSXNSZWFkb25seSA9IGZhbHNlO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5pc0J1dHRvbicpIGlzQnV0dG9uO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5pc3NpbmdsZXBpY3R1cmUnKSBpc1NpbmdsZVBpY3R1cmU7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLm1pbldpZHRoJykgYXR0ck1pbldpZHRoO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5pc21vYmlsZScpIGlzTW9iaWxlID0gZ2V0RGV2aWNlSXNNb2JpbGUoKTtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuY29udHJvbElkJykgYXR0ckNvbnRyb2xJZDtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuY2FwdGlvbicpIGF0dHJDYXB0aW9uO1xuICAgIEBJbnB1dCgpIGlubGluZUVkaXQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgY2FwdGlvbjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGZvY3VzQ29udHJvbDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBzaG93TGFiZWw6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbWF4TGFiZWxXaWR0aDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGhhc0hvcml6b250YWxUZXh0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGNvbnRlbnREZW5zaXR5OiBDb250ZW50RGVuc2l0eTtcbiAgICBASW5wdXQoKSBmbGV4OiBzdHJpbmc7XG4gICAgQE91dHB1dCgpIGV2ZW50cyA9IG5ldyBFdmVudEVtaXR0ZXI8eyB0aXRsZTogc3RyaW5nOyBkYXRhPzogYW55IH0+KCk7XG5cbiAgICBoaWRlID0gdHJ1ZTtcbiAgICBsYXlvdXRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICB3cmFwQ29udGVudDogYm9vbGVhbjtcbiAgICBsYWJlbFdpZHRoOiBudW1iZXI7XG4gICAgbGFiZWxDYXB0aW9uOiBzdHJpbmcgfCBTYWZlSHRtbDtcbiAgICBsYWJlbFZpc2libGU/OiBib29sZWFuO1xuICAgIGxheW91dFNldFNpemU6IGJvb2xlYW47XG4gICAgcnRsJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBpc1VsdjogYm9vbGVhbjtcbiAgICBpc01hbmRhdG9yeTogYm9vbGVhbjtcbiAgICBmaWVsZEljb246IHN0cmluZztcbiAgICBvcmlnaW5hbFh0eXBlOiBzdHJpbmc7XG4gICAgdGV4dFZpc2libGU6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgZW1wdHlUZXh0ID0gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoJyYjODIwMzsnKTtcbiAgICBsYXlvdXRDb250cm9sV2lkdGg6IG51bWJlcjtcbiAgICBmb3JtSGVpZ2h0JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICAgIGNoZWNrYm94V2lkdGggPSAnZml0LWNvbnRlbnQnO1xuICAgIGhlbHBEZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgZm9ybVBhbmVsU2VydmljZTogRm9ybVBhbmVsU2VydmljZSxcbiAgICAgICAgcHVibGljIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBfY29udGVudERlbnNpdHlTZXJ2aWNlOiBDb250ZW50RGVuc2l0eVNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICAgICAgcHJvdGVjdGVkIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcm90ZWN0ZWQgX25nWm9uZTogTmdab25lLFxuICAgICAgICBwcm90ZWN0ZWQgX3JlbmRlcmVyMjogUmVuZGVyZXIyLFxuICAgICAgICBwcm90ZWN0ZWQgX2JiYlRyYW5zbGF0ZTogQmJiVHJhbnNsYXRlUGlwZSxcbiAgICAgICAgQFNraXBTZWxmKCkgcHJvdGVjdGVkIF9wYXJlbnRMYXlvdXRTZXJ2aWNlOiBMYXlvdXRTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGZvcm1QYW5lbFNlcnZpY2UsIF9jZHIpO1xuICAgICAgICBpZiAodGhpcy5jb250ZW50RGVuc2l0eSA9PT0gJ2NvbXBhY3QnKSB7XG4gICAgICAgICAgICB0aGlzLm1pbkhlaWdodCA9ICcycmVtJztcbiAgICAgICAgfVxuICAgIH1cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xuICAgICAgICBjb25zdCB7IGZsZXgsIG1heExhYmVsV2lkdGggfSA9IGNoYW5nZXM7XG4gICAgICAgIGlmIChmbGV4KSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRGbGV4KGZsZXguY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobWF4TGFiZWxXaWR0aCAmJiAhbWF4TGFiZWxXaWR0aC5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5fc2V0TGFiZWxXaWR0aChtYXhMYWJlbFdpZHRoLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuZm9ybUhlaWdodCQgPSB0aGlzLmZvcm1QYW5lbFNlcnZpY2UuZm9ybUhlaWdodCQ7XG4gICAgICAgIHRoaXMuX3NldEZsZXgodGhpcy5mbGV4KTtcblxuICAgICAgICB0aGlzLmxheW91dENvbnRyb2xXaWR0aCA9ICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmNsaWVudFdpZHRoO1xuICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZztcbiAgICAgICAgY29uc3QgbWluSGVpZ2h0QXV0byA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKFxuICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgJ0ZpZWxkVWkuU2V0dGluZy5DdXN0b21VaS5QYXJhbWV0ZXJzLk1pbkhlaWdodEF1dG8nLFxuICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHRoaXMuaW5saW5lRWRpdCB8fCBtaW5IZWlnaHRBdXRvIHx8IHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMubWluSGVpZ2h0ID0gJ2F1dG8nO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb25maWcuRmllbGRVaS5vcmlnaW5hbFh0eXBlID09PSAnVWkuVWx2TWFpblVpJykge1xuICAgICAgICAgICAgdGhpcy5pc1VsdiA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlcjIuYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnaXNVbHYnKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmF0dHJDYXB0aW9uID0gY29uZmlnLkNhcHRpb24ucmVwbGFjZSgnOicsICcnKTtcbiAgICAgICAgdGhpcy5hdHRyQ29udHJvbElkID0gY29uZmlnLkNvbnRyb2xJZDtcbiAgICAgICAgdGhpcy5pc0J1dHRvbiA9IGNvbmZpZy5GaWVsZFVpLm9yaWdpbmFsWHR5cGUgPT09ICdVaS5CdXR0b24nO1xuICAgICAgICB0aGlzLl9yZWZyZXNoTGFiZWwoKTtcblxuICAgICAgICB0aGlzLmlzUm93RGlyZWN0aW9uID0gY29uZmlnLlRleHRMb2NhdGlvbiA9PT0gJ1JpZ2h0JyB8fCBjb25maWcuVGV4dExvY2F0aW9uID09PSAnRGVmYXVsdCc7XG4gICAgICAgIHRoaXMuaXNSb3dSZXZlcnNlRGlyZWN0aW9uID0gY29uZmlnLlRleHRMb2NhdGlvbiA9PT0gJ0xlZnQnO1xuICAgICAgICB0aGlzLmlzQ29sdW1uRGlyZWN0aW9uID0gY29uZmlnLlRleHRMb2NhdGlvbiA9PT0gJ1RvcCcgfHwgdGhpcy5pc1NlYXJjaFBhbmVsO1xuICAgICAgICB0aGlzLmlzQ29sdW1uUmV2ZXJzZURpcmVjdGlvbiA9IGNvbmZpZy5UZXh0TG9jYXRpb24gPT09ICdCb3R0b20nO1xuXG4gICAgICAgIGNvbmZpZy5GaWVsZFVpLkxheW91dENvbnRyb2wgPSB0aGlzO1xuICAgICAgICB0aGlzLmhlbHBEZXNjcmlwdGlvbiA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKGNvbmZpZy5GaWVsZFVpLCAnU2V0dGluZy5IZWxwRGVzY3JpcHRpb24nLCAnJyk7XG5cbiAgICAgICAgdGhpcy5maWVsZEljb24gPSBjb25maWcuRmllbGRVaS5TZXR0aW5nLkZpZWxkSWNvbjtcbiAgICAgICAgdGhpcy5jb250cm9sSXNSZWFkb25seSA9IGNvbmZpZy5GaWVsZFVpLlNldHRpbmcuQ29udHJvbElzUmVhZE9ubHk7XG4gICAgICAgIHRoaXMuY29udHJvbElzUmVhZG9ubHkgPVxuICAgICAgICAgICAgdGhpcy5jb250cm9sSXNSZWFkb25seSB8fFxuICAgICAgICAgICAgY29uZmlnLkZpZWxkVWkuU2V0dGluZy5Jbm5lckN0cmxyPy5Jc1JlYWRPbmx5IHx8XG4gICAgICAgICAgICBjb25maWcuRmllbGRVaS5TZXR0aW5nLklubmVyQ3RybHI/Lnh0eXBlID09PSAnVWwuUmVhZE9ubHlGaWVsZEN0cmxyJztcbiAgICAgICAgdGhpcy5vcmlnaW5hbFh0eXBlID0gY29uZmlnLkZpZWxkVWkub3JpZ2luYWxYdHlwZTtcbiAgICAgICAgdGhpcy50ZXh0VmlzaWJsZSA9IGNvbmZpZy5UZXh0VmlzaWJsZTtcbiAgICAgICAgaWYgKGNvbmZpZy5GaWVsZFVpLm9yaWdpbmFsWHR5cGUgPT09ICdVaS5TZWFyY2hDb21tYW5kSW5mb1VpJykge1xuICAgICAgICAgICAgdGhpcy5sYWJlbENhcHRpb24gPSAnJiM4MjAzOyc7XG4gICAgICAgICAgICB0aGlzLmxhYmVsVmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnRleHRWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnByZXBhcmVNaW5BbmRNYXhTaXplKCk7XG4gICAgICAgIHRoaXMuX3NldExhYmVsV2lkdGgodGhpcy5tYXhMYWJlbFdpZHRoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfcmVmcmVzaExhYmVsKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZztcbiAgICAgICAgY29uc3QgbGFiZWxDYXB0aW9uID0gY29uZmlnLkNhcHRpb247XG4gICAgICAgIC8vIGlmIChjb25maWcuRmllbGRVaS5TZXR0aW5nPy5Jc01hbmRhdG9yeSkge1xuICAgICAgICAvLyAgICAgaWYgKGxhYmVsQ2FwdGlvbi5pbmRleE9mKCcqJykgPCAwKSB7XG4gICAgICAgIC8vICAgICAgICAgbGFiZWxDYXB0aW9uID0gbGFiZWxDYXB0aW9uICsgJyAqJztcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfSBlbHNlIHtcbiAgICAgICAgLy8gICAgIGxhYmVsQ2FwdGlvbiA9IGxhYmVsQ2FwdGlvbi5yZXBsYWNlKCcqJywgJycpO1xuICAgICAgICAvLyB9XG5cbiAgICAgICAgdGhpcy5pc0NoZWNrYm94ID0gY29uZmlnLkZpZWxkVWkub3JpZ2luYWxYdHlwZSA9PT0gJ1VpLkNoZWNrQm94JztcbiAgICAgICAgaWYgKHRoaXMuaXNDaGVja2JveCkge1xuICAgICAgICAgICAgY29uc3QgeCA9IG1lYXN1cmVUZXh0KGxhYmVsQ2FwdGlvbik7XG4gICAgICAgICAgICBpZiAoeCA8IHRoaXMubWF4TGFiZWxXaWR0aCAmJiAhdGhpcy5pc01vYmlsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tib3hXaWR0aCA9IGAke3RoaXMubWF4TGFiZWxXaWR0aH1weGA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzU2luZ2xlUGljdHVyZSA9IGNvbmZpZy5GaWVsZFVpLm9yaWdpbmFsWHR5cGUgPT09ICdVaS5TaW5nbGVQaWN0dXJlJztcbiAgICAgICAgY29uc3QgY29sb25MYWJlbCA9IHRoaXMuZm9ybVBhbmVsU2VydmljZS5Db2xvbkluTGFiZWwgPyAnOicgOiAnJztcbiAgICAgICAgbGV0IHRyYW5zbGF0ZUNhcHRpb24gPSBgJHt0aGlzLl9iYmJUcmFuc2xhdGUudHJhbnNmb3JtKGxhYmVsQ2FwdGlvbil9JHtcbiAgICAgICAgICAgIHRoaXMuaXNTZWFyY2hQYW5lbCB8fCBsYWJlbENhcHRpb24gPT09ICcmenduajsnID8gJycgOiBjb2xvbkxhYmVsXG4gICAgICAgIH1gO1xuICAgICAgICB0aGlzLmlzTWFuZGF0b3J5ID0gY29uZmlnLkZpZWxkVWkuU2V0dGluZz8uSXNNYW5kYXRvcnk7XG4gICAgICAgIGlmICh0aGlzLmlzTWFuZGF0b3J5KSB7XG4gICAgICAgICAgICB0cmFuc2xhdGVDYXB0aW9uID0gdHJhbnNsYXRlQ2FwdGlvbi5yZXBsYWNlKCcqJywgJycpO1xuICAgICAgICAgICAgdHJhbnNsYXRlQ2FwdGlvbiArPSBgPHN0cm9uZyBjbGFzcz1cImZpZWxkLW1hbmRhdG9yeVwiPio8L3N0cm9uZz5gO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubGFiZWxDYXB0aW9uID0gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodHJhbnNsYXRlQ2FwdGlvbik7XG4gICAgICAgIHRoaXMubGFiZWxWaXNpYmxlID0gY29uZmlnLlRleHRWaXNpYmxlICYmIHRoaXMuc2hvd0xhYmVsICE9PSBmYWxzZTtcbiAgICAgICAgY29uc3QgY29udHJvbFdpZHRoID0gZ2V0TGFiZWxXaWR0aCh0aGlzLmNvbmZpZyk7XG4gICAgICAgIGlmIChjb250cm9sV2lkdGggJiYgY29udHJvbFdpZHRoID4gdGhpcy5tYXhMYWJlbFdpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLl9wYXJlbnRMYXlvdXRTZXJ2aWNlLnNldE1heFdpZHRoKGNvbnRyb2xXaWR0aCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2V0SGlkZShjb25maWcuRmllbGRVaS5TZXR0aW5nLklzVmlzaWJsZSA9PT0gZmFsc2UgPyB0cnVlIDogZmFsc2UpO1xuICAgIH1cbiAgICBfc2V0TGFiZWxXaWR0aChtYXhMYWJlbFdpZHRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnRlbXBMYWJlbFJlZikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHZhbCA9XG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5DYXB0aW9uU2V0dGluZz8uQWxpZ25Nb2RlID09PSAnQXV0b1NpemUnIHx8XG4gICAgICAgICAgICAodGhpcy5pc01vYmlsZSAmJiAodGhpcy5pc0NoZWNrYm94IHx8IHRoaXMuY29udHJvbElzUmVhZG9ubHkpKVxuICAgICAgICAgICAgICAgID8gJ2F1dG8nXG4gICAgICAgICAgICAgICAgOiB0aGlzLmlzQ29sdW1uRGlyZWN0aW9uIHx8IHRoaXMuaXNDb2x1bW5SZXZlcnNlRGlyZWN0aW9uXG4gICAgICAgICAgICAgICAgPyAnMTAwJSdcbiAgICAgICAgICAgICAgICA6IG1heExhYmVsV2lkdGggKyAncHgnO1xuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUodGhpcy50ZW1wTGFiZWxSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgdmFsKTtcblxuICAgICAgICBjb25zdCBtaW5XaWR0aCA9IHRoaXMuaXNDaGVja2JveFxuICAgICAgICAgICAgPyB0aGlzLmNoZWNrYm94V2lkdGhcbiAgICAgICAgICAgIDogdGhpcy5jb25maWcuQ2FwdGlvblNldHRpbmc/LkFsaWduTW9kZSA9PT0gJ0F1dG9TaXplJyB8fCAodGhpcy5pc01vYmlsZSAmJiB0aGlzLmNvbnRyb2xJc1JlYWRvbmx5KVxuICAgICAgICAgICAgPyAnZml0LWNvbnRlbnQnXG4gICAgICAgICAgICA6IHRoaXMuaXNDb2x1bW5EaXJlY3Rpb24gfHwgdGhpcy5pc0NvbHVtblJldmVyc2VEaXJlY3Rpb25cbiAgICAgICAgICAgID8gJzEwMCUnXG4gICAgICAgICAgICA6IG1heExhYmVsV2lkdGggKyAncHgnO1xuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUodGhpcy50ZW1wTGFiZWxSZWYubmF0aXZlRWxlbWVudCwgJ21pbi13aWR0aCcsIG1pbldpZHRoKTtcbiAgICB9XG4gICAgX3Jlc2l6ZVVsdkJ5RGV2aWNlKGRldmljZSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNVbHYpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZGV2aWNlSGVpZ2h0ID0gJ0Rlc2t0b3BIZWlnaHQnO1xuICAgICAgICBzd2l0Y2ggKGRldmljZSkge1xuICAgICAgICAgICAgY2FzZSAncyc6XG4gICAgICAgICAgICAgICAgZGV2aWNlSGVpZ2h0ID0gJ01vYmlsZUhlaWdodCc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdtJzpcbiAgICAgICAgICAgICAgICBkZXZpY2VIZWlnaHQgPSAnVGFibGV0SGVpZ2h0JztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhlaWdodCA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKFxuICAgICAgICAgICAgdGhpcy5jb25maWcsXG4gICAgICAgICAgICAnRmllbGRVaS5TZXR0aW5nLkNsYXNzTmFtZXMuQ3VzdG9tVWkuUGFyYW1ldGVycy4nICsgZGV2aWNlSGVpZ2h0LFxuICAgICAgICAgICAgJ2F1dG8nXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICAgIHByZXBhcmVNaW5BbmRNYXhTaXplKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZztcbiAgICAgICAgY29uc3QgbGF5b3V0SW5mbyA9IGNvbmZpZztcbiAgICAgICAgY29uc3QgaXNCdXR0b24gPSB0aGlzLmlzQnV0dG9uO1xuICAgICAgICBjb25zdCBpc1NpbmdsZVBpY3R1cmUgPSB0aGlzLmlzU2luZ2xlUGljdHVyZTtcbiAgICAgICAgY29uc3QgaXNDaGVja2JveCA9IHRoaXMuaXNDaGVja2JveDtcbiAgICAgICAgaWYgKCF0aGlzLmlubGluZUVkaXQgJiYgbGF5b3V0SW5mbyAmJiAoaXNCdXR0b24gfHwgaXNDaGVja2JveCB8fCBpc1NpbmdsZVBpY3R1cmUpKSB7XG4gICAgICAgICAgICB0aGlzLmF0dHJNaW5XaWR0aCA9IGNvbmZpZy5Cb3VuZHMud2lkdGg7XG4gICAgICAgICAgICBsZXQgZXh0cmFWYWwgPSAwO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICgoaXNCdXR0b24gfHwgaXNDaGVja2JveCkgJiYgbGF5b3V0SW5mby5GaWVsZFVpLlNldHRpbmc/LkZpZWxkSWNvbikgfHxcbiAgICAgICAgICAgICAgICBsYXlvdXRJbmZvLkZpZWxkVWkuU2V0dGluZy5Kc29uRXh0cmFQcm9wPy5HbHlwaFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgZXh0cmFWYWwgPSAxODtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHsgTWF4U2l6ZSwgTWluU2l6ZSB9ID0gbGF5b3V0SW5mbztcbiAgICAgICAgICAgIGlmIChNYXhTaXplPy53aWR0aCA+IDAgJiYgIXRoaXMuaXNDaGVja2JveCkge1xuICAgICAgICAgICAgICAgIHRoaXMubWF4V2lkdGggPSBNYXhTaXplLndpZHRoICsgZXh0cmFWYWwgKyAncHgnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKE1pblNpemU/LndpZHRoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMubWluV2lkdGggPSBNaW5TaXplLndpZHRoICsgZXh0cmFWYWwgKyAncHgnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlzU2VhcmNoUGFuZWwpIHtcbiAgICAgICAgICAgIHRoaXMuYXR0ck1pbldpZHRoID0gdGhpcy5tYXhMYWJlbFdpZHRoICsgMjAwO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNTZWFyY1BhbmVsSW5TaWRlQ29udGVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMubWF4V2lkdGggPSAnMzIwcHgnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLm1pbldpZHRoID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIEBJbnB1dCgpIFJlZnJlc2hMYWJlbCA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5fcmVmcmVzaExhYmVsKCk7XG4gICAgICAgIHRoaXMuZXZlbnRzLmVtaXQoeyB0aXRsZTogJ3JlZnJlc2hMYWJlbCcsIGRhdGE6IHRoaXMuY29uZmlnIH0pO1xuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfTtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIEBJbnB1dCgpIFNldFZpc2libGUgPSAodmlzaWJsZSwgcmVmcmVzaCkgPT4ge1xuICAgICAgICB0aGlzLl9uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLkZpZWxkVWkuU2V0dGluZy5Jc1Zpc2libGUgPSB2aXNpYmxlO1xuICAgICAgICAgICAgdGhpcy5fc2V0SGlkZSghdmlzaWJsZSk7XG4gICAgICAgICAgICAvLyB0aGlzLmNvbmZpZy5GaWVsZFVpLlNldHRpbmcuJEJSdWxlSGlkZSA9ICF2aXNpYmxlO1xuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBwcml2YXRlIF9zZXRIaWRlKGhpZGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaGlkZSA9IHRoaXMuY29uZmlnLkZpZWxkVWkuU2V0dGluZy5IaWRlU2VhcmNoQ29tbWFuZEluZm9VaSA9PT0gdHJ1ZSA/IHRydWUgOiBoaWRlOyAvLyBoaWRlIGRlZmF1bHQgYnV0dG9ucyBvZiBzZWFyY2ggcGFuZWxcbiAgICAgICAgdGhpcy5oaWRlID0gaGlkZTtcbiAgICAgICAgaWYgKGhpZGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdoaWRlLWZvcm0taXRlbScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIyLnJlbW92ZUNsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2hpZGUtZm9ybS1pdGVtJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcHJpdmF0ZSBfc2V0RmxleChmbGV4OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR5cGVvZiBmbGV4ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmlzTW9iaWxlIHx8IHRoaXMuY29uZmlnLkZpZWxkVWkub3JpZ2luYWxYdHlwZSAhPT0gJ1VpLlRleHRBcmVhJylcbiAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnZmxleCcsIGZsZXgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGlmICghaGlkZSkgeyBAaWYgKGxhYmVsVmlzaWJsZSkge1xuPGJzdS1seS1sYWJlbFxuICAgIFthdHRyLmxhYmVsV2lkdGhdPVwibGFiZWxXaWR0aFwiXG4gICAgW2F0dHJSdGxdXG4gICAgI3RlbXBMYWJlbFJlZlxuICAgIFtjbGFzcy5uby1wYWRkaW5nXT1cImNvbmZpZy5QYWRkaW5nWzBdID09PSAwXCJcbiAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgW2NhcHRpb25dPVwibGFiZWxDYXB0aW9uXCJcbiAgICBbb3JpZ2luYWxXaWR0aF09XCJsYWJlbFdpZHRoXCJcbiAgICBbc3R5bGUubWluLXdpZHRoXT1cIlxuICAgICAgICBpc0NoZWNrYm94XG4gICAgICAgICAgICA/IGNoZWNrYm94V2lkdGhcbiAgICAgICAgICAgIDogY29uZmlnLkNhcHRpb25TZXR0aW5nPy5BbGlnbk1vZGUgPT09ICdBdXRvU2l6ZScgfHwgKGlzTW9iaWxlICYmIGNvbnRyb2xJc1JlYWRvbmx5KVxuICAgICAgICAgICAgPyAnZml0LWNvbnRlbnQnXG4gICAgICAgICAgICA6IGlzQ29sdW1uRGlyZWN0aW9uIHx8IGlzQ29sdW1uUmV2ZXJzZURpcmVjdGlvblxuICAgICAgICAgICAgPyAnMTAwJSdcbiAgICAgICAgICAgIDogbWF4TGFiZWxXaWR0aCArICdweCdcbiAgICBcIlxuICAgIFtzdHlsZS53aWR0aF09XCJcbiAgICAgICAgY29uZmlnLkNhcHRpb25TZXR0aW5nPy5BbGlnbk1vZGUgPT09ICdBdXRvU2l6ZScgfHwgKGlzTW9iaWxlICYmIChpc0NoZWNrYm94IHx8IGNvbnRyb2xJc1JlYWRvbmx5KSlcbiAgICAgICAgICAgID8gJ2F1dG8nXG4gICAgICAgICAgICA6IGlzQ29sdW1uRGlyZWN0aW9uIHx8IGlzQ29sdW1uUmV2ZXJzZURpcmVjdGlvblxuICAgICAgICAgICAgPyAnMTAwJSdcbiAgICAgICAgICAgIDogbWF4TGFiZWxXaWR0aCArICdweCdcbiAgICBcIlxuICAgIFtpc01hbmRhdG9yeV09XCJpc01hbmRhdG9yeVwiXG4gICAgW2ZpZWxkSWNvbl09XCJmaWVsZEljb25cIlxuICAgIFtoZWxwRGVzY3JpcHRpb25dPVwiaGVscERlc2NyaXB0aW9uXCJcbiAgICBbb3JpZ2luYWxYdHlwZV09XCJvcmlnaW5hbFh0eXBlXCJcbiAgICBbdGV4dFZpc2libGVdPVwidGV4dFZpc2libGVcIlxuICAgIFtpc0NvbHVtbl09XCJpc0NvbHVtbkRpcmVjdGlvbiB8fCBpc0NvbHVtblJldmVyc2VEaXJlY3Rpb25cIlxuPjwvYnN1LWx5LWxhYmVsPlxufVxuPGxhYmVsIFthdHRyLnZpc2libGVdPVwibGFiZWxWaXNpYmxlXCIgY2xhc3M9XCJob3Jpem9udGFsLWxhYmVsXCIgW2lubmVySHRtbF09XCJlbXB0eVRleHRcIj48L2xhYmVsPlxuPGJucmMtZmllbGQtdWlcbiAgICBbYXR0ci54dHlwZV09XCJjb25maWcuRmllbGRVaS5vcmlnaW5hbFh0eXBlXCJcbiAgICBbYXR0ci5maWVsZFdpZHRoXT1cImxheW91dENvbnRyb2xXaWR0aFwiXG4gICAgW2F0dHIuaXNDaGVja2JveF09XCJpc0NoZWNrYm94XCJcbiAgICBbYXR0ci5pc2J1dHRvbl09XCJpc0J1dHRvblwiXG4gICAgW3N0eWxlLmZsZXgtZ3Jvd109XCJpc0NoZWNrYm94ID8gMSA6IDBcIlxuICAgIFtjbGFzcy5uby1wYWRkaW5nXT1cImNvbmZpZy5QYWRkaW5nWzBdID09PSAwXCJcbiAgICBbY3VzdG9tRmllbGRdPVwiY29uZmlnLkZpZWxkVWlcIlxuICAgIFtsYXlvdXRJbmZvXT1cImNvbmZpZ1wiXG4gICAgW2lubGluZUVkaXRdPVwiaW5saW5lRWRpdFwiXG4gICAgW2Zvcm1IZWlnaHRdPVwiKGZvcm1IZWlnaHQkIHwgYXN5bmMpISFcIlxuICAgIFtmb2N1c0NvbnRyb2xdPVwiZm9jdXNDb250cm9sXCJcbiAgICBbaXNTZWFyY2hQYW5lbF09XCJpc1NlYXJjaFBhbmVsXCJcbiAgICBbc3R5bGUuaGVpZ2h0XT1cImlzVWx2ID8gJzEwMCUnIDogJ2F1dG8nXCJcbiAgICBbYXR0ci5pc3Vsdl09XCJpc1VsdlwiXG4+PC9ibnJjLWZpZWxkLXVpPlxufVxuIl19