@cuby-ui/core 0.0.447 → 0.0.450

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 (404) hide show
  1. package/components/index.d.ts +0 -1
  2. package/esm2022/components/index.mjs +1 -2
  3. package/esm2022/index.mjs +2 -1
  4. package/esm2022/widgets/assets/constants/index.mjs +2 -0
  5. package/esm2022/widgets/assets/constants/translations.mjs +5 -0
  6. package/esm2022/widgets/assets/i18n/en.json +45 -0
  7. package/esm2022/widgets/assets/i18n/ru.json +45 -0
  8. package/esm2022/widgets/assets/index.mjs +2 -0
  9. package/esm2022/widgets/index.mjs +5 -0
  10. package/esm2022/widgets/model/index.mjs +5 -0
  11. package/esm2022/widgets/model/resource-state-service.interface.mjs +2 -0
  12. package/esm2022/widgets/model/resource-state-service.token.mjs +3 -0
  13. package/esm2022/widgets/model/resources-block.options.mjs +2 -0
  14. package/esm2022/widgets/model/subject-modal-service.interface.mjs +2 -0
  15. package/esm2022/widgets/model/subject-modal-service.token.mjs +3 -0
  16. package/esm2022/widgets/model/used-elements-service.interface.mjs +2 -0
  17. package/esm2022/widgets/model/used-elements-service.token.mjs +3 -0
  18. package/esm2022/widgets/model/utility-service.interface.mjs +2 -0
  19. package/esm2022/widgets/model/utility-service.token.mjs +3 -0
  20. package/esm2022/widgets/service/index.mjs +5 -0
  21. package/esm2022/widgets/service/resource-state-base.service.mjs +19 -0
  22. package/esm2022/widgets/service/subject-modal-base.service.mjs +15 -0
  23. package/esm2022/widgets/service/used-elements-base.service.mjs +17 -0
  24. package/esm2022/widgets/service/utility-base.service.mjs +129 -0
  25. package/esm2022/widgets/ui/assignee-role-item/assignee-role-item.component.mjs +31 -0
  26. package/esm2022/widgets/ui/assignee-role-item/index.mjs +2 -0
  27. package/esm2022/widgets/ui/assignee-roles-tabs/assignee-roles-tabs.component.mjs +48 -0
  28. package/esm2022/widgets/ui/assignee-roles-tabs/index.mjs +2 -0
  29. package/esm2022/widgets/ui/categories/categories.component.mjs +78 -0
  30. package/esm2022/widgets/ui/categories/components/categories-list/categories-list.component.mjs +17 -0
  31. package/esm2022/widgets/ui/categories/components/categories-list/index.mjs +2 -0
  32. package/esm2022/widgets/ui/categories/components/category-form/category-form.component.mjs +79 -0
  33. package/esm2022/widgets/ui/categories/components/category-form/index.mjs +2 -0
  34. package/esm2022/widgets/ui/categories/components/category-item/category-item.component.mjs +126 -0
  35. package/esm2022/widgets/ui/categories/components/category-item/index.mjs +2 -0
  36. package/esm2022/widgets/ui/categories/components/create-category-item/create-category-item.component.mjs +25 -0
  37. package/esm2022/widgets/ui/categories/components/create-category-item/index.mjs +2 -0
  38. package/esm2022/widgets/ui/categories/components/index.mjs +3 -0
  39. package/esm2022/widgets/ui/categories/index.mjs +3 -0
  40. package/esm2022/widgets/ui/categories/services/index.mjs +2 -0
  41. package/esm2022/widgets/ui/categories/services/selected-category.service.mjs +38 -0
  42. package/esm2022/widgets/ui/checklist-block/checklist-block.component.mjs +75 -0
  43. package/esm2022/widgets/ui/checklist-block/checklist-block.options.mjs +2 -0
  44. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list/checklist-block-list.component.mjs +85 -0
  45. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list/index.mjs +2 -0
  46. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-card/checklist-block-list-item-action-card.component.mjs +133 -0
  47. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-card/index.mjs +2 -0
  48. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-with-verification/checklist-block-list-item-action-with-verification.component.mjs +45 -0
  49. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-with-verification/index.mjs +2 -0
  50. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-without-verification/checklist-block-list-item-action-without-verification.component.mjs +35 -0
  51. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-action-without-verification/index.mjs +2 -0
  52. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.component.mjs +152 -0
  53. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.options.mjs +2 -0
  54. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-container/index.mjs +2 -0
  55. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/checklist-block-list-item-evaluation.component.mjs +282 -0
  56. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/checklist-block-list-item-evaluation.options.mjs +2 -0
  57. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/index.mjs +2 -0
  58. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/checklist-block-list-item-evaluation-criteria.component.mjs +117 -0
  59. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/checklist-block-list-item-evaluation-criteria.options.mjs +2 -0
  60. package/esm2022/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/index.mjs +2 -0
  61. package/esm2022/widgets/ui/checklist-block/components/checklist-block-title-control/checklist-block-title-control.component.mjs +39 -0
  62. package/esm2022/widgets/ui/checklist-block/components/checklist-block-title-control/index.mjs +2 -0
  63. package/esm2022/widgets/ui/checklist-block/components/index.mjs +2 -0
  64. package/esm2022/widgets/ui/checklist-block/index.mjs +2 -0
  65. package/esm2022/widgets/ui/checklist-block/services/checklist-block.service.mjs +50 -0
  66. package/esm2022/widgets/ui/checklist-block/services/index.mjs +2 -0
  67. package/esm2022/widgets/ui/consumable-form/components/consumable-form-item/consumable-form-item.component.mjs +78 -0
  68. package/esm2022/widgets/ui/consumable-form/components/consumable-form-item/default-control-delay.mjs +2 -0
  69. package/esm2022/widgets/ui/consumable-form/components/consumable-form-item/index.mjs +3 -0
  70. package/esm2022/widgets/ui/consumable-form/components/consumable-form-item-readonly/consumable-form-item-readonly.component.mjs +17 -0
  71. package/esm2022/widgets/ui/consumable-form/components/consumable-form-item-readonly/index.mjs +2 -0
  72. package/esm2022/widgets/ui/consumable-form/components/index.mjs +4 -0
  73. package/esm2022/widgets/ui/consumable-form/consumable-form.component.mjs +184 -0
  74. package/esm2022/widgets/ui/consumable-form/consumable-form.options.mjs +2 -0
  75. package/esm2022/widgets/ui/consumable-form/index.mjs +2 -0
  76. package/esm2022/widgets/ui/criterion-info/criterion-info.component.mjs +137 -0
  77. package/esm2022/widgets/ui/criterion-info/index.mjs +2 -0
  78. package/esm2022/widgets/ui/criterion-info-form/criterion-info-form.component.mjs +147 -0
  79. package/esm2022/widgets/ui/criterion-info-form/criterion-info-form.options.mjs +2 -0
  80. package/esm2022/widgets/ui/criterion-info-form/index.mjs +2 -0
  81. package/esm2022/widgets/ui/criterion-readonly-info/criterion-readonly-info.component.mjs +72 -0
  82. package/esm2022/widgets/ui/criterion-readonly-info/index.mjs +2 -0
  83. package/esm2022/widgets/ui/delete-modal/delete-modal.component.mjs +39 -0
  84. package/esm2022/widgets/ui/delete-modal/delete-modal.options.mjs +2 -0
  85. package/esm2022/widgets/ui/delete-modal/index.mjs +2 -0
  86. package/esm2022/widgets/ui/framer-preview/framer-preview.component.mjs +77 -0
  87. package/esm2022/widgets/ui/framer-preview/framer-preview.options.mjs +2 -0
  88. package/esm2022/widgets/ui/framer-preview/index.mjs +2 -0
  89. package/esm2022/widgets/ui/general-control-error-hint/general-control-error-hint.component.mjs +21 -0
  90. package/esm2022/widgets/ui/general-control-error-hint/index.mjs +2 -0
  91. package/esm2022/widgets/ui/index.mjs +25 -0
  92. package/esm2022/widgets/ui/inserted/index.mjs +2 -2
  93. package/esm2022/widgets/ui/instruction-info/index.mjs +2 -0
  94. package/esm2022/widgets/ui/instruction-info/instruction-info.component.mjs +147 -0
  95. package/esm2022/widgets/ui/instruction-info-form/index.mjs +2 -0
  96. package/esm2022/widgets/ui/instruction-info-form/instruction-info-form.component.mjs +153 -0
  97. package/esm2022/widgets/ui/instruction-info-form/instruction-info-form.options.mjs +2 -0
  98. package/esm2022/widgets/ui/instruction-readonly-info/index.mjs +2 -0
  99. package/esm2022/widgets/ui/instruction-readonly-info/instruction-readonly-info.component.mjs +72 -0
  100. package/esm2022/widgets/ui/loader/index.mjs +2 -0
  101. package/esm2022/widgets/ui/loader/loader.component.mjs +36 -0
  102. package/esm2022/widgets/ui/modal-criteria-tab/index.mjs +2 -0
  103. package/esm2022/widgets/ui/modal-criteria-tab/modal-criteria-tab.component.mjs +45 -0
  104. package/esm2022/widgets/ui/modal-divided-section/index.mjs +3 -0
  105. package/esm2022/widgets/ui/modal-divided-section/modal-divided-section.component.mjs +55 -0
  106. package/esm2022/widgets/ui/modal-divided-section/modal-divided-section.interfaces.mjs +2 -0
  107. package/esm2022/widgets/ui/modal-header/modal-header.component.mjs +2 -2
  108. package/esm2022/widgets/ui/modal-header-inserted-buttons/index.mjs +2 -0
  109. package/esm2022/widgets/ui/modal-header-inserted-buttons/modal-header-inserted-buttons.component.mjs +22 -0
  110. package/esm2022/widgets/ui/modal-header-tabs/index.mjs +2 -0
  111. package/esm2022/widgets/ui/modal-header-tabs/modal-header-tabs.component.mjs +19 -0
  112. package/esm2022/widgets/ui/modal-info-tab/index.mjs +3 -0
  113. package/esm2022/widgets/ui/modal-info-tab/modal-info-tab.component.mjs +19 -0
  114. package/esm2022/widgets/ui/modal-info-tab/modal-info-tab.options.mjs +2 -0
  115. package/esm2022/widgets/ui/modal-instructions-tab/index.mjs +2 -0
  116. package/esm2022/widgets/ui/modal-instructions-tab/modal-instructions-tab.component.mjs +31 -0
  117. package/esm2022/widgets/ui/modal-operation-part/index.mjs +2 -0
  118. package/esm2022/widgets/ui/modal-operation-part/modal-operation-part.component.mjs +114 -0
  119. package/esm2022/widgets/ui/modal-resources-tab/index.mjs +2 -0
  120. package/esm2022/widgets/ui/modal-resources-tab/modal-resources-tab.component.mjs +33 -0
  121. package/esm2022/widgets/ui/render-dynamic-modal/index.mjs +3 -0
  122. package/esm2022/widgets/ui/render-dynamic-modal/render-dynamic-modal.component.mjs +29 -0
  123. package/esm2022/widgets/ui/render-dynamic-modal/render-dynamic-modal.option.mjs +2 -0
  124. package/esm2022/widgets/ui/resources-block/components/index.mjs +4 -0
  125. package/esm2022/widgets/ui/resources-block/components/resources-block-consumables/index.mjs +2 -0
  126. package/esm2022/widgets/ui/resources-block/components/resources-block-consumables/resources-block-consumables.component.mjs +53 -0
  127. package/esm2022/widgets/ui/resources-block/components/resources-block-consumables/resources-block-consumables.options.mjs +2 -0
  128. package/esm2022/widgets/ui/resources-block/components/resources-block-content/index.mjs +2 -0
  129. package/esm2022/widgets/ui/resources-block/components/resources-block-content/resources-block-content.component.mjs +38 -0
  130. package/esm2022/widgets/ui/resources-block/components/resources-block-part/index.mjs +2 -0
  131. package/esm2022/widgets/ui/resources-block/components/resources-block-part/resources-block-part.component.mjs +57 -0
  132. package/esm2022/widgets/ui/resources-block/components/resources-block-part/resources-block-part.options.mjs +2 -0
  133. package/esm2022/widgets/ui/resources-block/components/resources-block-tabs/index.mjs +2 -0
  134. package/esm2022/widgets/ui/resources-block/components/resources-block-tabs/resources-block-tabs.component.mjs +56 -0
  135. package/esm2022/widgets/ui/resources-block/components/resources-block-tabs/resources-block-tabs.options.mjs +10 -0
  136. package/esm2022/widgets/ui/resources-block/components/resources-block-toolbox/index.mjs +2 -0
  137. package/esm2022/widgets/ui/resources-block/components/resources-block-toolbox/resources-block-toolbox.component.mjs +56 -0
  138. package/esm2022/widgets/ui/resources-block/components/resources-block-toolbox/resources-block-toolbox.options.mjs +2 -0
  139. package/esm2022/widgets/ui/resources-block/components/resources-options/index.mjs +2 -0
  140. package/esm2022/widgets/ui/resources-block/components/resources-options/resources-options.component.mjs +42 -0
  141. package/esm2022/widgets/ui/resources-block/index.mjs +3 -0
  142. package/esm2022/widgets/ui/resources-block/resources-block.component.mjs +137 -0
  143. package/esm2022/widgets/ui/resources-block-tabs/index.mjs +2 -0
  144. package/esm2022/widgets/ui/resources-block-tabs/resources-block-tabs.component.mjs +57 -0
  145. package/esm2022/widgets/ui/resources-block-tabs/resources-block-tabs.options.mjs +10 -0
  146. package/esm2022/widgets/ui/select-modal/components/index.mjs +3 -0
  147. package/esm2022/widgets/ui/select-modal/components/select-modal-folder/index.mjs +2 -0
  148. package/esm2022/widgets/ui/select-modal/components/select-modal-folder/select-modal-folder.component.mjs +21 -0
  149. package/esm2022/widgets/ui/select-modal/components/select-modal-search/index.mjs +2 -0
  150. package/esm2022/widgets/ui/select-modal/components/select-modal-search/select-modal-search.component.mjs +32 -0
  151. package/esm2022/widgets/ui/select-modal/index.mjs +4 -0
  152. package/esm2022/widgets/ui/select-modal/select-modal.component.mjs +35 -0
  153. package/esm2022/widgets/ui/select-modal/select-modal.interfaces.mjs +2 -0
  154. package/esm2022/widgets/ui/select-modal/select-modal.service.mjs +23 -0
  155. package/esm2022/widgets/ui/storage-list/components/index.mjs +2 -0
  156. package/esm2022/widgets/ui/storage-list/components/storage-list-item/index.mjs +2 -0
  157. package/esm2022/widgets/ui/storage-list/components/storage-list-item/storage-list-item.component.mjs +87 -0
  158. package/esm2022/widgets/ui/storage-list/index.mjs +3 -0
  159. package/esm2022/widgets/ui/storage-list/storage-list.component.mjs +17 -0
  160. package/esm2022/widgets/ui/storage-list/storage-list.options.mjs +3 -0
  161. package/esm2022/widgets/ui/toolbox-form/components/index.mjs +2 -0
  162. package/esm2022/widgets/ui/toolbox-form/components/tool-form-readonly/index.mjs +2 -0
  163. package/esm2022/widgets/ui/toolbox-form/components/tool-form-readonly/tool-form-readonly.component.mjs +19 -0
  164. package/esm2022/widgets/ui/toolbox-form/index.mjs +3 -0
  165. package/esm2022/widgets/ui/toolbox-form/tool-form.component.mjs +106 -0
  166. package/esm2022/widgets/ui/toolbox-form/tool-form.options.mjs +2 -0
  167. package/esm2022/widgets/ui/user-action-context-menu/activity-item/activity-item.component.mjs +61 -0
  168. package/esm2022/widgets/ui/user-action-context-menu/activity-item/index.mjs +2 -0
  169. package/esm2022/widgets/ui/user-action-context-menu/company-item/company-item.component.mjs +68 -0
  170. package/esm2022/widgets/ui/user-action-context-menu/company-item/index.mjs +2 -0
  171. package/esm2022/widgets/ui/user-action-context-menu/index.mjs +4 -0
  172. package/esm2022/widgets/ui/user-action-context-menu/services/activity-base.service.mjs +32 -0
  173. package/esm2022/widgets/ui/user-action-context-menu/services/activity.service.mjs +35 -0
  174. package/esm2022/widgets/ui/user-action-context-menu/services/index.mjs +3 -0
  175. package/esm2022/widgets/ui/user-action-context-menu/user-action-context-menu.component.mjs +83 -0
  176. package/esm2022/widgets/ui/user-action-context-menu/user-action-context.option.mjs +3 -0
  177. package/esm2022/widgets/ui/utility-info-readonly/index.mjs +3 -0
  178. package/esm2022/widgets/ui/utility-info-readonly/utility-info-readonly.component.mjs +85 -0
  179. package/esm2022/widgets/ui/utility-info-readonly/utility-info-readonly.options.mjs +2 -0
  180. package/esm2022/widgets/ui/utility-modal/components/criterion-modal-create/criterion-modal-create.component.mjs +41 -0
  181. package/esm2022/widgets/ui/utility-modal/components/criterion-modal-create/index.mjs +2 -0
  182. package/esm2022/widgets/ui/utility-modal/components/index.mjs +5 -0
  183. package/esm2022/widgets/ui/utility-modal/components/instruction-modal-create/index.mjs +2 -0
  184. package/esm2022/widgets/ui/utility-modal/components/instruction-modal-create/instruction-modal-create.component.mjs +41 -0
  185. package/esm2022/widgets/ui/utility-modal/components/readonly-criterion-modal/index.mjs +2 -0
  186. package/esm2022/widgets/ui/utility-modal/components/readonly-criterion-modal/readonly-criterion-modal.component.mjs +40 -0
  187. package/esm2022/widgets/ui/utility-modal/components/readonly-instruction-modal/index.mjs +2 -0
  188. package/esm2022/widgets/ui/utility-modal/components/readonly-instruction-modal/readonly-instruction-modal.component.mjs +40 -0
  189. package/esm2022/widgets/ui/utility-modal/components/readonly-utility-modal/index.mjs +2 -0
  190. package/esm2022/widgets/ui/utility-modal/components/readonly-utility-modal/readonly-utility-modal.component.mjs +43 -0
  191. package/esm2022/widgets/ui/utility-modal/components/utility-modal-create/index.mjs +2 -0
  192. package/esm2022/widgets/ui/utility-modal/components/utility-modal-create/utility-modal-create.component.mjs +55 -0
  193. package/esm2022/widgets/ui/utility-modal/index.mjs +4 -0
  194. package/esm2022/widgets/ui/utility-modal/utility-modal.component.mjs +22 -0
  195. package/esm2022/widgets/ui/utility-modal/utility-modal.options.mjs +3 -0
  196. package/esm2022/widgets/ui/utility-readonly-thumbnail/index.mjs +2 -0
  197. package/esm2022/widgets/ui/utility-readonly-thumbnail/utility-readonly-thumbnail.component.mjs +15 -0
  198. package/esm2022/widgets/ui/utility-thumbnail/index.mjs +2 -0
  199. package/esm2022/widgets/ui/utility-thumbnail/utility-thumbnail.component.mjs +95 -0
  200. package/fesm2022/cuby-ui-core-en-BvvbrGg1.mjs +91 -0
  201. package/fesm2022/cuby-ui-core-en-BvvbrGg1.mjs.map +1 -0
  202. package/fesm2022/cuby-ui-core-ru-bROcEQBf.mjs +91 -0
  203. package/fesm2022/cuby-ui-core-ru-bROcEQBf.mjs.map +1 -0
  204. package/fesm2022/cuby-ui-core.mjs +4178 -18
  205. package/fesm2022/cuby-ui-core.mjs.map +1 -1
  206. package/index.d.ts +1 -0
  207. package/package.json +4 -4
  208. package/widgets/assets/constants/index.d.ts +1 -0
  209. package/widgets/assets/constants/translations.d.ts +2 -0
  210. package/widgets/assets/index.d.ts +1 -0
  211. package/widgets/index.d.ts +4 -0
  212. package/widgets/model/index.d.ts +4 -0
  213. package/widgets/model/resource-state-service.interface.d.ts +4 -0
  214. package/widgets/model/resource-state-service.token.d.ts +3 -0
  215. package/widgets/model/resources-block.options.d.ts +15 -0
  216. package/widgets/model/subject-modal-service.interface.d.ts +7 -0
  217. package/widgets/model/subject-modal-service.token.d.ts +3 -0
  218. package/widgets/model/used-elements-service.interface.d.ts +5 -0
  219. package/widgets/model/used-elements-service.token.d.ts +3 -0
  220. package/widgets/model/utility-service.interface.d.ts +23 -0
  221. package/widgets/model/utility-service.token.d.ts +3 -0
  222. package/widgets/service/index.d.ts +4 -0
  223. package/widgets/service/resource-state-base.service.d.ts +10 -0
  224. package/widgets/service/subject-modal-base.service.d.ts +11 -0
  225. package/widgets/service/used-elements-base.service.d.ts +11 -0
  226. package/widgets/service/utility-base.service.d.ts +29 -0
  227. package/widgets/ui/assignee-role-item/assignee-role-item.component.d.ts +12 -0
  228. package/widgets/ui/assignee-role-item/index.d.ts +1 -0
  229. package/widgets/ui/assignee-roles-tabs/assignee-roles-tabs.component.d.ts +18 -0
  230. package/widgets/ui/assignee-roles-tabs/index.d.ts +1 -0
  231. package/widgets/ui/categories/categories.component.d.ts +25 -0
  232. package/widgets/ui/categories/components/categories-list/categories-list.component.d.ts +8 -0
  233. package/widgets/ui/categories/components/categories-list/index.d.ts +1 -0
  234. package/widgets/ui/categories/components/category-form/category-form.component.d.ts +28 -0
  235. package/widgets/ui/categories/components/category-form/index.d.ts +1 -0
  236. package/widgets/ui/categories/components/category-item/category-item.component.d.ts +42 -0
  237. package/widgets/ui/categories/components/category-item/index.d.ts +1 -0
  238. package/widgets/ui/categories/components/create-category-item/create-category-item.component.d.ts +10 -0
  239. package/widgets/ui/categories/components/create-category-item/index.d.ts +1 -0
  240. package/widgets/ui/categories/components/index.d.ts +2 -0
  241. package/widgets/ui/categories/index.d.ts +2 -0
  242. package/widgets/ui/categories/services/index.d.ts +1 -0
  243. package/widgets/ui/categories/services/selected-category.service.d.ts +18 -0
  244. package/widgets/ui/checklist-block/checklist-block.component.d.ts +21 -0
  245. package/widgets/ui/checklist-block/checklist-block.options.d.ts +12 -0
  246. package/widgets/ui/checklist-block/components/checklist-block-list/checklist-block-list.component.d.ts +27 -0
  247. package/widgets/ui/checklist-block/components/checklist-block-list/index.d.ts +1 -0
  248. package/widgets/ui/checklist-block/components/checklist-block-list-item-action-card/checklist-block-list-item-action-card.component.d.ts +30 -0
  249. package/widgets/ui/checklist-block/components/checklist-block-list-item-action-card/index.d.ts +1 -0
  250. package/widgets/ui/checklist-block/components/checklist-block-list-item-action-with-verification/checklist-block-list-item-action-with-verification.component.d.ts +11 -0
  251. package/widgets/ui/checklist-block/components/checklist-block-list-item-action-with-verification/index.d.ts +1 -0
  252. package/widgets/ui/checklist-block/components/checklist-block-list-item-action-without-verification/checklist-block-list-item-action-without-verification.component.d.ts +10 -0
  253. package/widgets/ui/checklist-block/components/checklist-block-list-item-action-without-verification/index.d.ts +1 -0
  254. package/widgets/ui/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.component.d.ts +41 -0
  255. package/widgets/ui/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.options.d.ts +5 -0
  256. package/widgets/ui/checklist-block/components/checklist-block-list-item-container/index.d.ts +1 -0
  257. package/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/checklist-block-list-item-evaluation.component.d.ts +51 -0
  258. package/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/checklist-block-list-item-evaluation.options.d.ts +14 -0
  259. package/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation/index.d.ts +2 -0
  260. package/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/checklist-block-list-item-evaluation-criteria.component.d.ts +33 -0
  261. package/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/checklist-block-list-item-evaluation-criteria.options.d.ts +4 -0
  262. package/widgets/ui/checklist-block/components/checklist-block-list-item-evaluation-criteria/index.d.ts +1 -0
  263. package/widgets/ui/checklist-block/components/checklist-block-title-control/checklist-block-title-control.component.d.ts +8 -0
  264. package/widgets/ui/checklist-block/components/checklist-block-title-control/index.d.ts +1 -0
  265. package/widgets/ui/checklist-block/components/index.d.ts +1 -0
  266. package/widgets/ui/checklist-block/index.d.ts +1 -0
  267. package/widgets/ui/checklist-block/services/checklist-block.service.d.ts +19 -0
  268. package/widgets/ui/checklist-block/services/index.d.ts +1 -0
  269. package/widgets/ui/consumable-form/components/consumable-form-item/consumable-form-item.component.d.ts +31 -0
  270. package/widgets/ui/consumable-form/components/consumable-form-item/default-control-delay.d.ts +1 -0
  271. package/widgets/ui/consumable-form/components/consumable-form-item/index.d.ts +2 -0
  272. package/widgets/ui/consumable-form/components/consumable-form-item-readonly/consumable-form-item-readonly.component.d.ts +8 -0
  273. package/widgets/ui/consumable-form/components/consumable-form-item-readonly/index.d.ts +1 -0
  274. package/widgets/ui/consumable-form/components/index.d.ts +3 -0
  275. package/widgets/ui/consumable-form/consumable-form.component.d.ts +46 -0
  276. package/widgets/ui/consumable-form/consumable-form.options.d.ts +22 -0
  277. package/widgets/ui/consumable-form/index.d.ts +1 -0
  278. package/widgets/ui/criterion-info/criterion-info.component.d.ts +43 -0
  279. package/widgets/ui/criterion-info/index.d.ts +1 -0
  280. package/widgets/ui/criterion-info-form/criterion-info-form.component.d.ts +39 -0
  281. package/widgets/ui/criterion-info-form/criterion-info-form.options.d.ts +7 -0
  282. package/widgets/ui/criterion-info-form/index.d.ts +2 -0
  283. package/widgets/ui/criterion-readonly-info/criterion-readonly-info.component.d.ts +26 -0
  284. package/widgets/ui/criterion-readonly-info/index.d.ts +1 -0
  285. package/widgets/ui/delete-modal/delete-modal.component.d.ts +13 -0
  286. package/widgets/ui/delete-modal/delete-modal.options.d.ts +7 -0
  287. package/widgets/ui/delete-modal/index.d.ts +2 -0
  288. package/widgets/ui/framer-preview/framer-preview.component.d.ts +26 -0
  289. package/widgets/ui/framer-preview/framer-preview.options.d.ts +5 -0
  290. package/widgets/ui/framer-preview/index.d.ts +2 -0
  291. package/widgets/ui/general-control-error-hint/general-control-error-hint.component.d.ts +9 -0
  292. package/widgets/ui/general-control-error-hint/index.d.ts +1 -0
  293. package/widgets/ui/index.d.ts +24 -0
  294. package/widgets/ui/inserted/index.d.ts +1 -1
  295. package/widgets/ui/instruction-info/index.d.ts +1 -0
  296. package/widgets/ui/instruction-info/instruction-info.component.d.ts +45 -0
  297. package/widgets/ui/instruction-info-form/index.d.ts +2 -0
  298. package/widgets/ui/instruction-info-form/instruction-info-form.component.d.ts +43 -0
  299. package/widgets/ui/instruction-info-form/instruction-info-form.options.d.ts +9 -0
  300. package/widgets/ui/instruction-readonly-info/index.d.ts +1 -0
  301. package/widgets/ui/instruction-readonly-info/instruction-readonly-info.component.d.ts +26 -0
  302. package/widgets/ui/loader/index.d.ts +1 -0
  303. package/widgets/ui/loader/loader.component.d.ts +20 -0
  304. package/widgets/ui/modal-criteria-tab/index.d.ts +1 -0
  305. package/widgets/ui/modal-criteria-tab/modal-criteria-tab.component.d.ts +15 -0
  306. package/widgets/ui/modal-divided-section/index.d.ts +2 -0
  307. package/widgets/ui/modal-divided-section/modal-divided-section.component.d.ts +22 -0
  308. package/widgets/ui/modal-divided-section/modal-divided-section.interfaces.d.ts +6 -0
  309. package/widgets/ui/modal-header-inserted-buttons/index.d.ts +1 -0
  310. package/widgets/ui/modal-header-inserted-buttons/modal-header-inserted-buttons.component.d.ts +7 -0
  311. package/widgets/ui/modal-header-tabs/index.d.ts +1 -0
  312. package/widgets/ui/modal-header-tabs/modal-header-tabs.component.d.ts +8 -0
  313. package/widgets/ui/modal-info-tab/index.d.ts +2 -0
  314. package/widgets/ui/modal-info-tab/modal-info-tab.component.d.ts +8 -0
  315. package/widgets/ui/modal-info-tab/modal-info-tab.options.d.ts +4 -0
  316. package/widgets/ui/modal-instructions-tab/index.d.ts +1 -0
  317. package/widgets/ui/modal-instructions-tab/modal-instructions-tab.component.d.ts +15 -0
  318. package/widgets/ui/modal-operation-part/index.d.ts +1 -0
  319. package/widgets/ui/modal-operation-part/modal-operation-part.component.d.ts +24 -0
  320. package/widgets/ui/modal-resources-tab/index.d.ts +1 -0
  321. package/widgets/ui/modal-resources-tab/modal-resources-tab.component.d.ts +14 -0
  322. package/widgets/ui/render-dynamic-modal/index.d.ts +2 -0
  323. package/widgets/ui/render-dynamic-modal/render-dynamic-modal.component.d.ts +11 -0
  324. package/widgets/ui/render-dynamic-modal/render-dynamic-modal.option.d.ts +5 -0
  325. package/widgets/ui/resources-block/components/index.d.ts +5 -0
  326. package/widgets/ui/resources-block/components/resources-block-consumables/index.d.ts +2 -0
  327. package/widgets/ui/resources-block/components/resources-block-consumables/resources-block-consumables.component.d.ts +17 -0
  328. package/widgets/ui/resources-block/components/resources-block-consumables/resources-block-consumables.options.d.ts +7 -0
  329. package/widgets/ui/resources-block/components/resources-block-content/index.d.ts +1 -0
  330. package/widgets/ui/resources-block/components/resources-block-content/resources-block-content.component.d.ts +19 -0
  331. package/widgets/ui/resources-block/components/resources-block-part/index.d.ts +1 -0
  332. package/widgets/ui/resources-block/components/resources-block-part/resources-block-part.component.d.ts +19 -0
  333. package/widgets/ui/resources-block/components/resources-block-part/resources-block-part.options.d.ts +5 -0
  334. package/widgets/ui/resources-block/components/resources-block-tabs/index.d.ts +1 -0
  335. package/widgets/ui/resources-block/components/resources-block-tabs/resources-block-tabs.component.d.ts +28 -0
  336. package/widgets/ui/resources-block/components/resources-block-tabs/resources-block-tabs.options.d.ts +13 -0
  337. package/widgets/ui/resources-block/components/resources-block-toolbox/index.d.ts +2 -0
  338. package/widgets/ui/resources-block/components/resources-block-toolbox/resources-block-toolbox.component.d.ts +17 -0
  339. package/widgets/ui/resources-block/components/resources-block-toolbox/resources-block-toolbox.options.d.ts +5 -0
  340. package/widgets/ui/resources-block/components/resources-options/index.d.ts +1 -0
  341. package/widgets/ui/resources-block/components/resources-options/resources-options.component.d.ts +20 -0
  342. package/widgets/ui/resources-block/index.d.ts +2 -0
  343. package/widgets/ui/resources-block/resources-block.component.d.ts +35 -0
  344. package/widgets/ui/resources-block-tabs/index.d.ts +1 -0
  345. package/widgets/ui/resources-block-tabs/resources-block-tabs.component.d.ts +28 -0
  346. package/widgets/ui/resources-block-tabs/resources-block-tabs.options.d.ts +14 -0
  347. package/widgets/ui/select-modal/components/index.d.ts +2 -0
  348. package/widgets/ui/select-modal/components/select-modal-folder/index.d.ts +1 -0
  349. package/widgets/ui/select-modal/components/select-modal-folder/select-modal-folder.component.d.ts +10 -0
  350. package/widgets/ui/select-modal/components/select-modal-search/index.d.ts +1 -0
  351. package/widgets/ui/select-modal/components/select-modal-search/select-modal-search.component.d.ts +12 -0
  352. package/widgets/ui/select-modal/index.d.ts +3 -0
  353. package/widgets/ui/select-modal/select-modal.component.d.ts +13 -0
  354. package/widgets/ui/select-modal/select-modal.interfaces.d.ts +15 -0
  355. package/widgets/ui/select-modal/select-modal.service.d.ts +13 -0
  356. package/widgets/ui/storage-list/components/index.d.ts +1 -0
  357. package/widgets/ui/storage-list/components/storage-list-item/index.d.ts +1 -0
  358. package/widgets/ui/storage-list/components/storage-list-item/storage-list-item.component.d.ts +24 -0
  359. package/widgets/ui/storage-list/index.d.ts +2 -0
  360. package/widgets/ui/storage-list/storage-list.component.d.ts +10 -0
  361. package/widgets/ui/storage-list/storage-list.options.d.ts +16 -0
  362. package/widgets/ui/toolbox-form/components/index.d.ts +1 -0
  363. package/widgets/ui/toolbox-form/components/tool-form-readonly/index.d.ts +1 -0
  364. package/widgets/ui/toolbox-form/components/tool-form-readonly/tool-form-readonly.component.d.ts +7 -0
  365. package/widgets/ui/toolbox-form/index.d.ts +2 -0
  366. package/widgets/ui/toolbox-form/tool-form.component.d.ts +34 -0
  367. package/widgets/ui/toolbox-form/tool-form.options.d.ts +5 -0
  368. package/widgets/ui/user-action-context-menu/activity-item/activity-item.component.d.ts +17 -0
  369. package/widgets/ui/user-action-context-menu/activity-item/index.d.ts +1 -0
  370. package/widgets/ui/user-action-context-menu/company-item/company-item.component.d.ts +22 -0
  371. package/widgets/ui/user-action-context-menu/company-item/index.d.ts +1 -0
  372. package/widgets/ui/user-action-context-menu/index.d.ts +3 -0
  373. package/widgets/ui/user-action-context-menu/services/activity-base.service.d.ts +14 -0
  374. package/widgets/ui/user-action-context-menu/services/activity.service.d.ts +14 -0
  375. package/widgets/ui/user-action-context-menu/services/index.d.ts +2 -0
  376. package/widgets/ui/user-action-context-menu/user-action-context-menu.component.d.ts +29 -0
  377. package/widgets/ui/user-action-context-menu/user-action-context.option.d.ts +15 -0
  378. package/widgets/ui/utility-info-readonly/index.d.ts +2 -0
  379. package/widgets/ui/utility-info-readonly/utility-info-readonly.component.d.ts +28 -0
  380. package/widgets/ui/utility-info-readonly/utility-info-readonly.options.d.ts +4 -0
  381. package/widgets/ui/utility-modal/components/criterion-modal-create/criterion-modal-create.component.d.ts +18 -0
  382. package/widgets/ui/utility-modal/components/criterion-modal-create/index.d.ts +1 -0
  383. package/widgets/ui/utility-modal/components/index.d.ts +4 -0
  384. package/widgets/ui/utility-modal/components/instruction-modal-create/index.d.ts +1 -0
  385. package/widgets/ui/utility-modal/components/instruction-modal-create/instruction-modal-create.component.d.ts +18 -0
  386. package/widgets/ui/utility-modal/components/readonly-criterion-modal/index.d.ts +1 -0
  387. package/widgets/ui/utility-modal/components/readonly-criterion-modal/readonly-criterion-modal.component.d.ts +16 -0
  388. package/widgets/ui/utility-modal/components/readonly-instruction-modal/index.d.ts +1 -0
  389. package/widgets/ui/utility-modal/components/readonly-instruction-modal/readonly-instruction-modal.component.d.ts +16 -0
  390. package/widgets/ui/utility-modal/components/readonly-utility-modal/index.d.ts +1 -0
  391. package/widgets/ui/utility-modal/components/readonly-utility-modal/readonly-utility-modal.component.d.ts +18 -0
  392. package/widgets/ui/utility-modal/components/utility-modal-create/index.d.ts +1 -0
  393. package/widgets/ui/utility-modal/components/utility-modal-create/utility-modal-create.component.d.ts +25 -0
  394. package/widgets/ui/utility-modal/index.d.ts +3 -0
  395. package/widgets/ui/utility-modal/utility-modal.component.d.ts +10 -0
  396. package/widgets/ui/utility-modal/utility-modal.options.d.ts +12 -0
  397. package/widgets/ui/utility-readonly-thumbnail/index.d.ts +1 -0
  398. package/widgets/ui/utility-readonly-thumbnail/utility-readonly-thumbnail.component.d.ts +8 -0
  399. package/widgets/ui/utility-thumbnail/index.d.ts +1 -0
  400. package/widgets/ui/utility-thumbnail/utility-thumbnail.component.d.ts +21 -0
  401. package/components/inserted/index.d.ts +0 -1
  402. package/components/inserted/inserted.component.d.ts +0 -5
  403. package/esm2022/components/inserted/index.mjs +0 -2
  404. package/esm2022/components/inserted/inserted.component.mjs +0 -15
@@ -0,0 +1,57 @@
1
+ import { ChangeDetectionStrategy, Component, effect, inject, input } from '@angular/core';
2
+ import { TranslocoDirective } from '@jsverse/transloco';
3
+ import { EMPTY, map } from 'rxjs';
4
+ import { ToolFormComponent } from '../../../toolbox-form';
5
+ import { CuiFactoryApiService, ResourceContentType } from '@cuby-ui/api';
6
+ import { CuiButtonModule } from '../../../../../components';
7
+ import { CUI_UTILITY_SERVICE_TOKEN } from '../../../../model';
8
+ import * as i0 from "@angular/core";
9
+ export class ResourcesBlockPartComponent {
10
+ constructor() {
11
+ this.factoryApiService = inject(CuiFactoryApiService);
12
+ this.utilityService = inject(CUI_UTILITY_SERVICE_TOKEN);
13
+ this.utilityId = input.required();
14
+ this.containerId = input.required();
15
+ this.elements = input.required();
16
+ this.readonly = input(false);
17
+ this.ResourceContentType = ResourceContentType;
18
+ this.initPartsStructure();
19
+ }
20
+ onPartChanged(part) {
21
+ this.utilityService.updateResource(part, this.containerId());
22
+ }
23
+ onPartDeleted(partId) {
24
+ this.utilityService.removeResource(partId, this.containerId());
25
+ }
26
+ initPartsStructure() {
27
+ const effectRef = effect(() => {
28
+ const parts = this.elements();
29
+ const arePartsWithFullInfo = parts.every((part) => part.name);
30
+ if (arePartsWithFullInfo) {
31
+ return;
32
+ }
33
+ this.getAddintionalResourceInfo(parts).subscribe((part) => {
34
+ this.utilityService.updateResource(part, this.containerId());
35
+ });
36
+ effectRef.destroy();
37
+ });
38
+ }
39
+ getAddintionalResourceInfo(resources) {
40
+ if (!resources.length) {
41
+ return EMPTY;
42
+ }
43
+ const ids = resources.map((resource) => resource.id);
44
+ return this.factoryApiService.getPartsByIdsStream(ids).pipe(map((factoryElement) => ({
45
+ ...resources.find((resource) => factoryElement.id === resource.id),
46
+ isDelete: factoryElement.isDelete,
47
+ name: factoryElement.name
48
+ })));
49
+ }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResourcesBlockPartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
51
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ResourcesBlockPartComponent, isStandalone: true, selector: "cui-resources-block-part", inputs: { utilityId: { classPropertyName: "utilityId", publicName: "utilityId", isSignal: true, isRequired: true, transformFunction: null }, containerId: { classPropertyName: "containerId", publicName: "containerId", isSignal: true, isRequired: true, transformFunction: null }, elements: { classPropertyName: "elements", publicName: "elements", isSignal: true, isRequired: true, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<table\n *transloco=\"let t\"\n class=\"cc-table table\"\n [class.table_readonly]=\"readonly()\"\n>\n <thead class=\"cc-table__thead\">\n <tr class=\"cc-table__tr\">\n <th class=\"cc-table__th custom\">{{ t('TITLE') }}</th>\n <th class=\"cc-table__th custom\">{{ t('QUANTITY') }}</th>\n <th class=\"cc-table__th custom\">{{ t('UNIT') }}</th>\n </tr>\n </thead>\n <tbody class=\"cc-table__tbody\">\n @for (part of elements(); track part.id) {\n <tr class=\"cc-table__tr custom-row\">\n <cui-tool-form\n [tool]=\"part\"\n [utilityId]=\"utilityId()\"\n [readonly]=\"readonly()\"\n [resourceType]=\"ResourceContentType.Part\"\n (toolChanged)=\"onPartChanged($event)\"\n (toolDeleted)=\"onPartDeleted($event)\"\n />\n </tr>\n }\n </tbody>\n</table>\n", styles: [":host{display:contents}.table{grid-template-columns:5fr 3fr 3fr 1fr}.table_readonly{grid-template-columns:5fr 2fr 1.5fr}.custom{padding-right:4px;padding-left:4px}.custom-row{place-items:baseline}\n"], dependencies: [{ kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: ToolFormComponent, selector: "cui-tool-form", inputs: ["utilityId", "tool", "readonly", "resourceType"], outputs: ["toolChanged", "toolDeleted"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResourcesBlockPartComponent, decorators: [{
54
+ type: Component,
55
+ args: [{ selector: 'cui-resources-block-part', imports: [TranslocoDirective, CuiButtonModule, ToolFormComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<table\n *transloco=\"let t\"\n class=\"cc-table table\"\n [class.table_readonly]=\"readonly()\"\n>\n <thead class=\"cc-table__thead\">\n <tr class=\"cc-table__tr\">\n <th class=\"cc-table__th custom\">{{ t('TITLE') }}</th>\n <th class=\"cc-table__th custom\">{{ t('QUANTITY') }}</th>\n <th class=\"cc-table__th custom\">{{ t('UNIT') }}</th>\n </tr>\n </thead>\n <tbody class=\"cc-table__tbody\">\n @for (part of elements(); track part.id) {\n <tr class=\"cc-table__tr custom-row\">\n <cui-tool-form\n [tool]=\"part\"\n [utilityId]=\"utilityId()\"\n [readonly]=\"readonly()\"\n [resourceType]=\"ResourceContentType.Part\"\n (toolChanged)=\"onPartChanged($event)\"\n (toolDeleted)=\"onPartDeleted($event)\"\n />\n </tr>\n }\n </tbody>\n</table>\n", styles: [":host{display:contents}.table{grid-template-columns:5fr 3fr 3fr 1fr}.table_readonly{grid-template-columns:5fr 2fr 1.5fr}.custom{padding-right:4px;padding-left:4px}.custom-row{place-items:baseline}\n"] }]
56
+ }], ctorParameters: () => [] });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLWJsb2NrLXBhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS93aWRnZXRzL3VpL3Jlc291cmNlcy1ibG9jay9jb21wb25lbnRzL3Jlc291cmNlcy1ibG9jay1wYXJ0L3Jlc291cmNlcy1ibG9jay1wYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9yZXNvdXJjZXMtYmxvY2svY29tcG9uZW50cy9yZXNvdXJjZXMtYmxvY2stcGFydC9yZXNvdXJjZXMtYmxvY2stcGFydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXhELE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBa0IsTUFBTSxjQUFjLENBQUM7QUFDekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQVU5RCxNQUFNLE9BQU8sMkJBQTJCO0lBU3BDO1FBUmlCLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2pELG1CQUFjLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFFcEQsY0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUNyQyxnQkFBVyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUN2QyxhQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBeUIsQ0FBQztRQUNuRCxhQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBa0RyQix3QkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztRQS9DekQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVTLGFBQWEsQ0FBQyxJQUF5QjtRQUM3QyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVTLGFBQWEsQ0FBQyxNQUFjO1FBQ2xDLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU8sa0JBQWtCO1FBQ3RCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzlCLE1BQU0sb0JBQW9CLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTlELElBQUksb0JBQW9CLEVBQUUsQ0FBQztnQkFDdkIsT0FBTztZQUNYLENBQUM7WUFFRCxJQUFJLENBQUMsMEJBQTBCLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3RELElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztZQUNqRSxDQUFDLENBQUMsQ0FBQztZQUVILFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTywwQkFBMEIsQ0FBQyxTQUEyQjtRQUMxRCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7UUFFRCxNQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFckQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUN2RCxHQUFHLENBQ0MsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUNmLENBQUM7WUFDRyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEtBQUssUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNsRSxRQUFRLEVBQUUsY0FBYyxDQUFDLFFBQVE7WUFDakMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxJQUFJO1NBQzVCLENBQXdCLENBQ2hDLENBQ0osQ0FBQztJQUNOLENBQUM7K0dBdkRRLDJCQUEyQjttR0FBM0IsMkJBQTJCLDZtQkNwQnhDLG0rQkEyQkEsZ1FEYmMsa0JBQWtCLCtMQUFFLGVBQWUsK0JBQUUsaUJBQWlCOzs0RkFNdkQsMkJBQTJCO2tCQVJ2QyxTQUFTOytCQUNJLDBCQUEwQixXQUMzQixDQUFDLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQyxtQkFHaEQsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZWZmZWN0LCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xvY29EaXJlY3RpdmUgfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xuaW1wb3J0IHR5cGUgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFTVBUWSwgbWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFRvb2xGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vdG9vbGJveC1mb3JtJztcblxuaW1wb3J0IHR5cGUgeyBSZXNvdXJjZVV0aWxpdHlQYXJ0IH0gZnJvbSAnLi9yZXNvdXJjZXMtYmxvY2stcGFydC5vcHRpb25zJztcbmltcG9ydCB7IEN1aUZhY3RvcnlBcGlTZXJ2aWNlLCBSZXNvdXJjZUNvbnRlbnRUeXBlLCBVdGlsaXR5U3ViamVjdCB9IGZyb20gJ0BjdWJ5LXVpL2FwaSc7XG5pbXBvcnQgeyBDdWlCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzJztcbmltcG9ydCB7IENVSV9VVElMSVRZX1NFUlZJQ0VfVE9LRU4gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY3VpLXJlc291cmNlcy1ibG9jay1wYXJ0JyxcbiAgICBpbXBvcnRzOiBbVHJhbnNsb2NvRGlyZWN0aXZlLCBDdWlCdXR0b25Nb2R1bGUsIFRvb2xGb3JtQ29tcG9uZW50XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVzb3VyY2VzLWJsb2NrLXBhcnQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9yZXNvdXJjZXMtYmxvY2stcGFydC5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZXNCbG9ja1BhcnRDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmFjdG9yeUFwaVNlcnZpY2UgPSBpbmplY3QoQ3VpRmFjdG9yeUFwaVNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXRpbGl0eVNlcnZpY2UgPSBpbmplY3QoQ1VJX1VUSUxJVFlfU0VSVklDRV9UT0tFTik7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgdXRpbGl0eUlkID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICAgIHB1YmxpYyByZWFkb25seSBjb250YWluZXJJZCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudHMgPSBpbnB1dC5yZXF1aXJlZDxSZXNvdXJjZVV0aWxpdHlQYXJ0W10+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IHJlYWRvbmx5ID0gaW5wdXQoZmFsc2UpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuaW5pdFBhcnRzU3RydWN0dXJlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uUGFydENoYW5nZWQocGFydDogUmVzb3VyY2VVdGlsaXR5UGFydCk6IHZvaWQge1xuICAgICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnVwZGF0ZVJlc291cmNlKHBhcnQsIHRoaXMuY29udGFpbmVySWQoKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uUGFydERlbGV0ZWQocGFydElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51dGlsaXR5U2VydmljZS5yZW1vdmVSZXNvdXJjZShwYXJ0SWQsIHRoaXMuY29udGFpbmVySWQoKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0UGFydHNTdHJ1Y3R1cmUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGVmZmVjdFJlZiA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwYXJ0cyA9IHRoaXMuZWxlbWVudHMoKTtcbiAgICAgICAgICAgIGNvbnN0IGFyZVBhcnRzV2l0aEZ1bGxJbmZvID0gcGFydHMuZXZlcnkoKHBhcnQpID0+IHBhcnQubmFtZSk7XG5cbiAgICAgICAgICAgIGlmIChhcmVQYXJ0c1dpdGhGdWxsSW5mbykge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5nZXRBZGRpbnRpb25hbFJlc291cmNlSW5mbyhwYXJ0cykuc3Vic2NyaWJlKChwYXJ0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51dGlsaXR5U2VydmljZS51cGRhdGVSZXNvdXJjZShwYXJ0LCB0aGlzLmNvbnRhaW5lcklkKCkpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGVmZmVjdFJlZi5kZXN0cm95KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QWRkaW50aW9uYWxSZXNvdXJjZUluZm8ocmVzb3VyY2VzOiBVdGlsaXR5U3ViamVjdFtdKTogT2JzZXJ2YWJsZTxSZXNvdXJjZVV0aWxpdHlQYXJ0PiB7XG4gICAgICAgIGlmICghcmVzb3VyY2VzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaWRzID0gcmVzb3VyY2VzLm1hcCgocmVzb3VyY2UpID0+IHJlc291cmNlLmlkKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5mYWN0b3J5QXBpU2VydmljZS5nZXRQYXJ0c0J5SWRzU3RyZWFtKGlkcykucGlwZShcbiAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAoZmFjdG9yeUVsZW1lbnQpID0+XG4gICAgICAgICAgICAgICAgICAgICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5yZXNvdXJjZXMuZmluZCgocmVzb3VyY2UpID0+IGZhY3RvcnlFbGVtZW50LmlkID09PSByZXNvdXJjZS5pZCksXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0RlbGV0ZTogZmFjdG9yeUVsZW1lbnQuaXNEZWxldGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBmYWN0b3J5RWxlbWVudC5uYW1lXG4gICAgICAgICAgICAgICAgICAgIH0pIGFzIFJlc291cmNlVXRpbGl0eVBhcnRcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgUmVzb3VyY2VDb250ZW50VHlwZSA9IFJlc291cmNlQ29udGVudFR5cGU7XG59XG4iLCI8dGFibGVcbiAgICAqdHJhbnNsb2NvPVwibGV0IHRcIlxuICAgIGNsYXNzPVwiY2MtdGFibGUgdGFibGVcIlxuICAgIFtjbGFzcy50YWJsZV9yZWFkb25seV09XCJyZWFkb25seSgpXCJcbj5cbiAgICA8dGhlYWQgY2xhc3M9XCJjYy10YWJsZV9fdGhlYWRcIj5cbiAgICAgICAgPHRyIGNsYXNzPVwiY2MtdGFibGVfX3RyXCI+XG4gICAgICAgICAgICA8dGggY2xhc3M9XCJjYy10YWJsZV9fdGggY3VzdG9tXCI+e3sgdCgnVElUTEUnKSB9fTwvdGg+XG4gICAgICAgICAgICA8dGggY2xhc3M9XCJjYy10YWJsZV9fdGggY3VzdG9tXCI+e3sgdCgnUVVBTlRJVFknKSB9fTwvdGg+XG4gICAgICAgICAgICA8dGggY2xhc3M9XCJjYy10YWJsZV9fdGggY3VzdG9tXCI+e3sgdCgnVU5JVCcpIH19PC90aD5cbiAgICAgICAgPC90cj5cbiAgICA8L3RoZWFkPlxuICAgIDx0Ym9keSBjbGFzcz1cImNjLXRhYmxlX190Ym9keVwiPlxuICAgICAgICBAZm9yIChwYXJ0IG9mIGVsZW1lbnRzKCk7IHRyYWNrIHBhcnQuaWQpIHtcbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImNjLXRhYmxlX190ciBjdXN0b20tcm93XCI+XG4gICAgICAgICAgICAgICAgPGN1aS10b29sLWZvcm1cbiAgICAgICAgICAgICAgICAgICAgW3Rvb2xdPVwicGFydFwiXG4gICAgICAgICAgICAgICAgICAgIFt1dGlsaXR5SWRdPVwidXRpbGl0eUlkKClcIlxuICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHkoKVwiXG4gICAgICAgICAgICAgICAgICAgIFtyZXNvdXJjZVR5cGVdPVwiUmVzb3VyY2VDb250ZW50VHlwZS5QYXJ0XCJcbiAgICAgICAgICAgICAgICAgICAgKHRvb2xDaGFuZ2VkKT1cIm9uUGFydENoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICh0b29sRGVsZXRlZCk9XCJvblBhcnREZWxldGVkKCRldmVudClcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICB9XG4gICAgPC90Ym9keT5cbjwvdGFibGU+XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLWJsb2NrLXBhcnQub3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9yZXNvdXJjZXMtYmxvY2svY29tcG9uZW50cy9yZXNvdXJjZXMtYmxvY2stcGFydC9yZXNvdXJjZXMtYmxvY2stcGFydC5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUb29sYm94VHlwZSB9IGZyb20gJ0BjdWJ5LXVpL2FwaSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VVdGlsaXR5UGFydCBleHRlbmRzIFRvb2xib3hUeXBlIHtcbiAgICByZWFkb25seSBpc0RlbGV0ZTogYm9vbGVhbjtcbiAgICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export { ResourcesBlockTabsComponent } from './resources-block-tabs.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvcmVzb3VyY2VzLWJsb2NrL2NvbXBvbmVudHMvcmVzb3VyY2VzLWJsb2NrLXRhYnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBSZXNvdXJjZXNCbG9ja1RhYnNDb21wb25lbnQgfSBmcm9tICcuL3Jlc291cmNlcy1ibG9jay10YWJzLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,56 @@
1
+ import { NgComponentOutlet, TitleCasePipe } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, inject, input, output } from '@angular/core';
3
+ import { CuiTypedTemplateDirective } from '@cuby-ui/cdk';
4
+ import { COMPONENTS_CONTENT } from './resources-block-tabs.options';
5
+ import { AssigneeRoleItemComponent } from '../../../assignee-role-item';
6
+ import { AssigneeRolesTabsComponent } from '../../../assignee-roles-tabs';
7
+ import { CuiButtonModule, CuiDialogService } from '../../../../../components';
8
+ import { UtilityApiService } from '@cuby-ui/api';
9
+ import { CuiDeleteModalComponent } from '../../../delete-modal';
10
+ import { ResourcesBlockContentComponent } from '../resources-block-content';
11
+ import * as i0 from "@angular/core";
12
+ export class ResourcesBlockTabsComponent {
13
+ constructor() {
14
+ this.utilityApiService = inject(UtilityApiService);
15
+ this.cuiDialogService = inject(CuiDialogService);
16
+ this.COMPONENTS_CONTENT = COMPONENTS_CONTENT;
17
+ this.resourceComponent = input.required();
18
+ this.utilityId = input.required();
19
+ this.buttonSlot = input.required();
20
+ this.readonly = input(false);
21
+ this.selectedIndex = input(0);
22
+ this.resourceAdded = output();
23
+ this.resourceDeleted = output();
24
+ this.selectedIndexChange = output();
25
+ }
26
+ onOpenDeleteResourceModal(resource) {
27
+ const content = [`ACTION_WILL_DELETE_${resource.contentType}_FROM_RESOURCES`];
28
+ this.cuiDialogService
29
+ .open(CuiDeleteModalComponent, {
30
+ data: {
31
+ title: `DELETE_${resource.contentType}_QUESTION`,
32
+ content,
33
+ delete: () => this.utilityApiService.deleteStructure(this.utilityId(), "RESOURCES" /* UtilityComponentType.Resources */, resource.id)
34
+ }
35
+ })
36
+ .subscribe((data) => data?.canceled || this.resourceDeleted.emit(resource));
37
+ }
38
+ onResourcesAdded(resources, container) {
39
+ this.resourceAdded.emit({ resources, container });
40
+ }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResourcesBlockTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: ResourcesBlockTabsComponent, isStandalone: true, selector: "cui-resources-block-tabs", inputs: { resourceComponent: { classPropertyName: "resourceComponent", publicName: "resourceComponent", isSignal: true, isRequired: true, transformFunction: null }, utilityId: { classPropertyName: "utilityId", publicName: "utilityId", isSignal: true, isRequired: true, transformFunction: null }, buttonSlot: { classPropertyName: "buttonSlot", publicName: "buttonSlot", isSignal: true, isRequired: true, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, selectedIndex: { classPropertyName: "selectedIndex", publicName: "selectedIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { resourceAdded: "resourceAdded", resourceDeleted: "resourceDeleted", selectedIndexChange: "selectedIndexChange" }, ngImport: i0, template: "<cui-assignee-roles-tabs\n [tabs]=\"resourceComponent().structure\"\n [itemSlot]=\"itemSlot\"\n [buttonSlot]=\"buttonSlot()\"\n [contentSlot]=\"contentSlot\"\n [selectedIndex]=\"selectedIndex()\"\n (selectedIndexChange)=\"selectedIndexChange.emit($event)\"\n>\n <ng-template\n #itemSlot\n let-element\n >\n <cui-assignee-role-item\n [role]=\"element.contentType | titlecase\"\n [readonly]=\"readonly()\"\n [empty]=\"!element.elements.length\"\n (deleteClicked)=\"onOpenDeleteResourceModal(element)\"\n />\n </ng-template>\n\n <ng-template\n #contentSlot\n let-element\n [cuiTypedTemplate]=\"UTILITY_TEMPLATE_CONTEXT\"\n >\n <cui-resources-block-content\n [type]=\"element.contentType\"\n [utilityId]=\"utilityId()\"\n [empty]=\"!element.elements.length\"\n [readonly]=\"readonly()\"\n (resourcesAdded)=\"onResourcesAdded($event, element)\"\n >\n <ng-container\n [ngComponentOutlet]=\"COMPONENTS_CONTENT[element.contentType]\"\n [ngComponentOutletInputs]=\"{\n elements: element.elements,\n containerId: element.id,\n utilityId: utilityId(),\n readonly: readonly()\n }\"\n />\n </cui-resources-block-content>\n </ng-template>\n</cui-assignee-roles-tabs>\n", dependencies: [{ kind: "ngmodule", type: CuiButtonModule }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: CuiTypedTemplateDirective, selector: "ng-template[cuiTypedTemplate]", inputs: ["cuiTypedTemplate"], exportAs: ["cuiTypedTemplate"] }, { kind: "component", type: AssigneeRoleItemComponent, selector: "cui-assignee-role-item", inputs: ["role", "readonly", "empty"], outputs: ["deleteClicked"] }, { kind: "component", type: AssigneeRolesTabsComponent, selector: "cui-assignee-roles-tabs", inputs: ["tabs", "itemSlot", "buttonSlot", "contentSlot", "selectedIndex"], outputs: ["selectedIndexChange"] }, { kind: "component", type: ResourcesBlockContentComponent, selector: "cui-resources-block-content", inputs: ["type", "utilityId", "empty", "readonly"], outputs: ["resourcesAdded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResourcesBlockTabsComponent, decorators: [{
45
+ type: Component,
46
+ args: [{ selector: 'cui-resources-block-tabs', imports: [
47
+ CuiButtonModule,
48
+ TitleCasePipe,
49
+ NgComponentOutlet,
50
+ CuiTypedTemplateDirective,
51
+ AssigneeRoleItemComponent,
52
+ AssigneeRolesTabsComponent,
53
+ ResourcesBlockContentComponent
54
+ ], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<cui-assignee-roles-tabs\n [tabs]=\"resourceComponent().structure\"\n [itemSlot]=\"itemSlot\"\n [buttonSlot]=\"buttonSlot()\"\n [contentSlot]=\"contentSlot\"\n [selectedIndex]=\"selectedIndex()\"\n (selectedIndexChange)=\"selectedIndexChange.emit($event)\"\n>\n <ng-template\n #itemSlot\n let-element\n >\n <cui-assignee-role-item\n [role]=\"element.contentType | titlecase\"\n [readonly]=\"readonly()\"\n [empty]=\"!element.elements.length\"\n (deleteClicked)=\"onOpenDeleteResourceModal(element)\"\n />\n </ng-template>\n\n <ng-template\n #contentSlot\n let-element\n [cuiTypedTemplate]=\"UTILITY_TEMPLATE_CONTEXT\"\n >\n <cui-resources-block-content\n [type]=\"element.contentType\"\n [utilityId]=\"utilityId()\"\n [empty]=\"!element.elements.length\"\n [readonly]=\"readonly()\"\n (resourcesAdded)=\"onResourcesAdded($event, element)\"\n >\n <ng-container\n [ngComponentOutlet]=\"COMPONENTS_CONTENT[element.contentType]\"\n [ngComponentOutletInputs]=\"{\n elements: element.elements,\n containerId: element.id,\n utilityId: utilityId(),\n readonly: readonly()\n }\"\n />\n </cui-resources-block-content>\n </ng-template>\n</cui-assignee-roles-tabs>\n" }]
55
+ }] });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLWJsb2NrLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS93aWRnZXRzL3VpL3Jlc291cmNlcy1ibG9jay9jb21wb25lbnRzL3Jlc291cmNlcy1ibG9jay10YWJzL3Jlc291cmNlcy1ibG9jay10YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9yZXNvdXJjZXMtYmxvY2svY29tcG9uZW50cy9yZXNvdXJjZXMtYmxvY2stdGFicy9yZXNvdXJjZXMtYmxvY2stdGFicy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQXNCLHlCQUF5QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RSxPQUFPLEVBQVksaUJBQWlCLEVBQXVELE1BQU0sY0FBYyxDQUFDO0FBRWhILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQWlCNUUsTUFBTSxPQUFPLDJCQUEyQjtJQWZ4QztRQWdCcUIsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUMscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFHMUMsdUJBQWtCLEdBQUcsa0JBQWtCLENBQUM7UUFFM0Msc0JBQWlCLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBaUMsQ0FBQztRQUNwRSxjQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ3JDLGVBQVUsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUF3QixDQUFDO1FBQ3BELGFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsa0JBQWEsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFekIsa0JBQWEsR0FBRyxNQUFNLEVBQXdCLENBQUM7UUFDL0Msb0JBQWUsR0FBRyxNQUFNLEVBQVksQ0FBQztRQUNyQyx3QkFBbUIsR0FBRyxNQUFNLEVBQVUsQ0FBQztLQXdCMUQ7SUF0QmEseUJBQXlCLENBQUMsUUFBa0I7UUFDbEQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxzQkFBc0IsUUFBUSxDQUFDLFdBQVcsaUJBQWlCLENBQUMsQ0FBQztRQUU5RSxJQUFJLENBQUMsZ0JBQWdCO2FBQ2hCLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtZQUMzQixJQUFJLEVBQUU7Z0JBQ0YsS0FBSyxFQUFFLFVBQVUsUUFBUSxDQUFDLFdBQVcsV0FBVztnQkFDaEQsT0FBTztnQkFDUCxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQ1QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FDbEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxvREFFaEIsUUFBUSxDQUFDLEVBQUUsQ0FDZDthQUNSO1NBQ0osQ0FBQzthQUNELFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLFFBQVEsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxTQUEyQixFQUFFLFNBQW1CO1FBQ3ZFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQzsrR0F0Q1EsMkJBQTJCO21HQUEzQiwyQkFBMkIsazVCQzlCeEMsZytDQTRDQSwyQ0QxQlEsZUFBZSwwQkFDZixhQUFhLGtEQUNiLGlCQUFpQixvUEFDakIseUJBQXlCLHdJQUN6Qix5QkFBeUIsc0lBQ3pCLDBCQUEwQixrTEFDMUIsOEJBQThCOzs0RkFNekIsMkJBQTJCO2tCQWZ2QyxTQUFTOytCQUNJLDBCQUEwQixXQUMzQjt3QkFDTCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQix5QkFBeUI7d0JBQ3pCLHlCQUF5Qjt3QkFDekIsMEJBQTBCO3dCQUMxQiw4QkFBOEI7cUJBQ2pDLG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NvbXBvbmVudE91dGxldCwgVGl0bGVDYXNlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEN1aVRlbXBsYXRlQ29udGV4dCwgQ3VpVHlwZWRUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5cbmltcG9ydCB0eXBlIHsgUmVzb3VyY2VEZWxldGVPdXRwdXQgfSBmcm9tICcuL3Jlc291cmNlcy1ibG9jay10YWJzLm9wdGlvbnMnO1xuaW1wb3J0IHsgQ09NUE9ORU5UU19DT05URU5UIH0gZnJvbSAnLi9yZXNvdXJjZXMtYmxvY2stdGFicy5vcHRpb25zJztcbmltcG9ydCB7IEFzc2lnbmVlUm9sZUl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9hc3NpZ25lZS1yb2xlLWl0ZW0nO1xuaW1wb3J0IHsgQXNzaWduZWVSb2xlc1RhYnNDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9hc3NpZ25lZS1yb2xlcy10YWJzJztcbmltcG9ydCB7IEN1aUJ1dHRvbk1vZHVsZSwgQ3VpRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgUmVzb3VyY2UsIFV0aWxpdHlBcGlTZXJ2aWNlLCBVdGlsaXR5Q29tcG9uZW50VHlwZSwgVXRpbGl0eUNvbXBvbmVudFdpdGhSZXNvdXJjZXMgfSBmcm9tICdAY3VieS11aS9hcGknO1xuaW1wb3J0IHsgVXRpbGl0eVN1YmplY3QgfSBmcm9tICdAY3VieS11aS9hcGknO1xuaW1wb3J0IHsgQ3VpRGVsZXRlTW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9kZWxldGUtbW9kYWwnO1xuaW1wb3J0IHsgUmVzb3VyY2VzQmxvY2tDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vcmVzb3VyY2VzLWJsb2NrLWNvbnRlbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2N1aS1yZXNvdXJjZXMtYmxvY2stdGFicycsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDdWlCdXR0b25Nb2R1bGUsXG4gICAgICAgIFRpdGxlQ2FzZVBpcGUsXG4gICAgICAgIE5nQ29tcG9uZW50T3V0bGV0LFxuICAgICAgICBDdWlUeXBlZFRlbXBsYXRlRGlyZWN0aXZlLFxuICAgICAgICBBc3NpZ25lZVJvbGVJdGVtQ29tcG9uZW50LFxuICAgICAgICBBc3NpZ25lZVJvbGVzVGFic0NvbXBvbmVudCxcbiAgICAgICAgUmVzb3VyY2VzQmxvY2tDb250ZW50Q29tcG9uZW50XG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVzb3VyY2VzLWJsb2NrLXRhYnMuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgUmVzb3VyY2VzQmxvY2tUYWJzQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHV0aWxpdHlBcGlTZXJ2aWNlID0gaW5qZWN0KFV0aWxpdHlBcGlTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1aURpYWxvZ1NlcnZpY2UgPSBpbmplY3QoQ3VpRGlhbG9nU2VydmljZSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgVVRJTElUWV9URU1QTEFURV9DT05URVhUITogQ3VpVGVtcGxhdGVDb250ZXh0PFJlc291cmNlPjtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgQ09NUE9ORU5UU19DT05URU5UID0gQ09NUE9ORU5UU19DT05URU5UO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlQ29tcG9uZW50ID0gaW5wdXQucmVxdWlyZWQ8VXRpbGl0eUNvbXBvbmVudFdpdGhSZXNvdXJjZXM+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IHV0aWxpdHlJZCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgYnV0dG9uU2xvdCA9IGlucHV0LnJlcXVpcmVkPFRlbXBsYXRlUmVmPHVua25vd24+PigpO1xuICAgIHB1YmxpYyByZWFkb25seSByZWFkb25seSA9IGlucHV0KGZhbHNlKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRJbmRleCA9IGlucHV0KDApO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlQWRkZWQgPSBvdXRwdXQ8UmVzb3VyY2VEZWxldGVPdXRwdXQ+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlRGVsZXRlZCA9IG91dHB1dDxSZXNvdXJjZT4oKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRJbmRleENoYW5nZSA9IG91dHB1dDxudW1iZXI+KCk7XG5cbiAgICBwcm90ZWN0ZWQgb25PcGVuRGVsZXRlUmVzb3VyY2VNb2RhbChyZXNvdXJjZTogUmVzb3VyY2UpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29udGVudCA9IFtgQUNUSU9OX1dJTExfREVMRVRFXyR7cmVzb3VyY2UuY29udGVudFR5cGV9X0ZST01fUkVTT1VSQ0VTYF07XG5cbiAgICAgICAgdGhpcy5jdWlEaWFsb2dTZXJ2aWNlXG4gICAgICAgICAgICAub3BlbihDdWlEZWxldGVNb2RhbENvbXBvbmVudCwge1xuICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGBERUxFVEVfJHtyZXNvdXJjZS5jb250ZW50VHlwZX1fUVVFU1RJT05gLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50LFxuICAgICAgICAgICAgICAgICAgICBkZWxldGU6ICgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnV0aWxpdHlBcGlTZXJ2aWNlLmRlbGV0ZVN0cnVjdHVyZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnV0aWxpdHlJZCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFV0aWxpdHlDb21wb25lbnRUeXBlLlJlc291cmNlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvdXJjZS5pZFxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiBkYXRhPy5jYW5jZWxlZCB8fCB0aGlzLnJlc291cmNlRGVsZXRlZC5lbWl0KHJlc291cmNlKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uUmVzb3VyY2VzQWRkZWQocmVzb3VyY2VzOiBVdGlsaXR5U3ViamVjdFtdLCBjb250YWluZXI6IFJlc291cmNlKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVzb3VyY2VBZGRlZC5lbWl0KHsgcmVzb3VyY2VzLCBjb250YWluZXIgfSk7XG4gICAgfVxufVxuIiwiPGN1aS1hc3NpZ25lZS1yb2xlcy10YWJzXG4gICAgW3RhYnNdPVwicmVzb3VyY2VDb21wb25lbnQoKS5zdHJ1Y3R1cmVcIlxuICAgIFtpdGVtU2xvdF09XCJpdGVtU2xvdFwiXG4gICAgW2J1dHRvblNsb3RdPVwiYnV0dG9uU2xvdCgpXCJcbiAgICBbY29udGVudFNsb3RdPVwiY29udGVudFNsb3RcIlxuICAgIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkSW5kZXgoKVwiXG4gICAgKHNlbGVjdGVkSW5kZXhDaGFuZ2UpPVwic2VsZWN0ZWRJbmRleENoYW5nZS5lbWl0KCRldmVudClcIlxuPlxuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAjaXRlbVNsb3RcbiAgICAgICAgbGV0LWVsZW1lbnRcbiAgICA+XG4gICAgICAgIDxjdWktYXNzaWduZWUtcm9sZS1pdGVtXG4gICAgICAgICAgICBbcm9sZV09XCJlbGVtZW50LmNvbnRlbnRUeXBlIHwgdGl0bGVjYXNlXCJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seSgpXCJcbiAgICAgICAgICAgIFtlbXB0eV09XCIhZWxlbWVudC5lbGVtZW50cy5sZW5ndGhcIlxuICAgICAgICAgICAgKGRlbGV0ZUNsaWNrZWQpPVwib25PcGVuRGVsZXRlUmVzb3VyY2VNb2RhbChlbGVtZW50KVwiXG4gICAgICAgIC8+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAjY29udGVudFNsb3RcbiAgICAgICAgbGV0LWVsZW1lbnRcbiAgICAgICAgW2N1aVR5cGVkVGVtcGxhdGVdPVwiVVRJTElUWV9URU1QTEFURV9DT05URVhUXCJcbiAgICA+XG4gICAgICAgIDxjdWktcmVzb3VyY2VzLWJsb2NrLWNvbnRlbnRcbiAgICAgICAgICAgIFt0eXBlXT1cImVsZW1lbnQuY29udGVudFR5cGVcIlxuICAgICAgICAgICAgW3V0aWxpdHlJZF09XCJ1dGlsaXR5SWQoKVwiXG4gICAgICAgICAgICBbZW1wdHldPVwiIWVsZW1lbnQuZWxlbWVudHMubGVuZ3RoXCJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seSgpXCJcbiAgICAgICAgICAgIChyZXNvdXJjZXNBZGRlZCk9XCJvblJlc291cmNlc0FkZGVkKCRldmVudCwgZWxlbWVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgW25nQ29tcG9uZW50T3V0bGV0XT1cIkNPTVBPTkVOVFNfQ09OVEVOVFtlbGVtZW50LmNvbnRlbnRUeXBlXVwiXG4gICAgICAgICAgICAgICAgW25nQ29tcG9uZW50T3V0bGV0SW5wdXRzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudHM6IGVsZW1lbnQuZWxlbWVudHMsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcklkOiBlbGVtZW50LmlkLFxuICAgICAgICAgICAgICAgICAgICB1dGlsaXR5SWQ6IHV0aWxpdHlJZCgpLFxuICAgICAgICAgICAgICAgICAgICByZWFkb25seTogcmVhZG9ubHkoKVxuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9jdWktcmVzb3VyY2VzLWJsb2NrLWNvbnRlbnQ+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvY3VpLWFzc2lnbmVlLXJvbGVzLXRhYnM+XG4iXX0=
@@ -0,0 +1,10 @@
1
+ import { ResourcesBlockConsumablesComponent } from '../resources-block-consumables';
2
+ import { ResourcesBlockPartComponent } from '../resources-block-part';
3
+ import { ResourcesBlockToolboxComponent } from '../resources-block-toolbox';
4
+ import { ResourceContentType } from '@cuby-ui/api';
5
+ export const COMPONENTS_CONTENT = {
6
+ [ResourceContentType.Consumables]: ResourcesBlockConsumablesComponent,
7
+ [ResourceContentType.Toolbox]: ResourcesBlockToolboxComponent,
8
+ [ResourceContentType.Part]: ResourcesBlockPartComponent
9
+ };
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLWJsb2NrLXRhYnMub3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9yZXNvdXJjZXMtYmxvY2svY29tcG9uZW50cy9yZXNvdXJjZXMtYmxvY2stdGFicy9yZXNvdXJjZXMtYmxvY2stdGFicy5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTVFLE9BQU8sRUFBWSxtQkFBbUIsRUFBa0IsTUFBTSxjQUFjLENBQUM7QUFFN0UsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDOUIsQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsRUFBRSxrQ0FBa0M7SUFDckUsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsRUFBRSw4QkFBOEI7SUFDN0QsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSwyQkFBMkI7Q0FDMUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc291cmNlc0Jsb2NrQ29uc3VtYWJsZXNDb21wb25lbnQgfSBmcm9tICcuLi9yZXNvdXJjZXMtYmxvY2stY29uc3VtYWJsZXMnO1xuaW1wb3J0IHsgUmVzb3VyY2VzQmxvY2tQYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi4vcmVzb3VyY2VzLWJsb2NrLXBhcnQnO1xuaW1wb3J0IHsgUmVzb3VyY2VzQmxvY2tUb29sYm94Q29tcG9uZW50IH0gZnJvbSAnLi4vcmVzb3VyY2VzLWJsb2NrLXRvb2xib3gnO1xuXG5pbXBvcnQgeyBSZXNvdXJjZSwgUmVzb3VyY2VDb250ZW50VHlwZSwgVXRpbGl0eVN1YmplY3QgfSBmcm9tICdAY3VieS11aS9hcGknO1xuXG5leHBvcnQgY29uc3QgQ09NUE9ORU5UU19DT05URU5UID0ge1xuICAgIFtSZXNvdXJjZUNvbnRlbnRUeXBlLkNvbnN1bWFibGVzXTogUmVzb3VyY2VzQmxvY2tDb25zdW1hYmxlc0NvbXBvbmVudCxcbiAgICBbUmVzb3VyY2VDb250ZW50VHlwZS5Ub29sYm94XTogUmVzb3VyY2VzQmxvY2tUb29sYm94Q29tcG9uZW50LFxuICAgIFtSZXNvdXJjZUNvbnRlbnRUeXBlLlBhcnRdOiBSZXNvdXJjZXNCbG9ja1BhcnRDb21wb25lbnRcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VEZWxldGVPdXRwdXQge1xuICAgIHJlYWRvbmx5IHJlc291cmNlczogVXRpbGl0eVN1YmplY3RbXTtcbiAgICByZWFkb25seSBjb250YWluZXI6IFJlc291cmNlO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export { ResourcesBlockToolboxComponent } from './resources-block-toolbox.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvcmVzb3VyY2VzLWJsb2NrL2NvbXBvbmVudHMvcmVzb3VyY2VzLWJsb2NrLXRvb2xib3gvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUNBQXFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBSZXNvdXJjZXNCbG9ja1Rvb2xib3hDb21wb25lbnQgfSBmcm9tICcuL3Jlc291cmNlcy1ibG9jay10b29sYm94LmNvbXBvbmVudCc7XG5leHBvcnQgdHlwZSB7IFJlc291cmNlVXRpbGl0eVRvb2wgfSBmcm9tICcuL3Jlc291cmNlcy1ibG9jay10b29sYm94Lm9wdGlvbnMnO1xuIl19
@@ -0,0 +1,56 @@
1
+ import { ChangeDetectionStrategy, Component, effect, inject, input } from '@angular/core';
2
+ import { TranslocoDirective } from '@jsverse/transloco';
3
+ import { EMPTY, map } from 'rxjs';
4
+ import { CuiFactoryApiService } from '@cuby-ui/api';
5
+ import { ToolFormComponent } from '../../../toolbox-form';
6
+ import { CUI_UTILITY_SERVICE_TOKEN } from '../../../../model';
7
+ import { CuiButtonModule } from '../../../../../components';
8
+ import * as i0 from "@angular/core";
9
+ export class ResourcesBlockToolboxComponent {
10
+ constructor() {
11
+ this.factoryApiService = inject(CuiFactoryApiService);
12
+ this.utilityService = inject(CUI_UTILITY_SERVICE_TOKEN);
13
+ this.utilityId = input.required();
14
+ this.containerId = input.required();
15
+ this.elements = input.required();
16
+ this.readonly = input(false);
17
+ this.initToolsStructure();
18
+ }
19
+ onToolChanged(tool) {
20
+ this.utilityService.updateResource(tool, this.containerId());
21
+ }
22
+ onToolDeleted(toolId) {
23
+ this.utilityService.removeResource(toolId, this.containerId());
24
+ }
25
+ initToolsStructure() {
26
+ const effectRef = effect(() => {
27
+ const tools = this.elements();
28
+ const areToolsWithFullInfo = tools.every((tool) => tool.name);
29
+ if (areToolsWithFullInfo) {
30
+ return;
31
+ }
32
+ this.getAddintionalResourceInfo(tools).subscribe((tool) => {
33
+ this.utilityService.updateResource(tool, this.containerId());
34
+ });
35
+ effectRef.destroy();
36
+ });
37
+ }
38
+ getAddintionalResourceInfo(resources) {
39
+ if (!resources.length) {
40
+ return EMPTY;
41
+ }
42
+ const ids = resources.map((resource) => resource.id);
43
+ return this.factoryApiService.getToolsByIdsStream(ids).pipe(map((factoryElement) => ({
44
+ ...resources.find((resource) => factoryElement.id === resource.id),
45
+ isDelete: factoryElement.isDelete,
46
+ name: factoryElement.name
47
+ })));
48
+ }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResourcesBlockToolboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
50
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ResourcesBlockToolboxComponent, isStandalone: true, selector: "cui-resources-block-toolbox", inputs: { utilityId: { classPropertyName: "utilityId", publicName: "utilityId", isSignal: true, isRequired: true, transformFunction: null }, containerId: { classPropertyName: "containerId", publicName: "containerId", isSignal: true, isRequired: true, transformFunction: null }, elements: { classPropertyName: "elements", publicName: "elements", isSignal: true, isRequired: true, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<table\n *transloco=\"let t\"\n class=\"cc-table table\"\n [class.table_readonly]=\"readonly()\"\n>\n <thead class=\"cc-table__thead\">\n <tr class=\"cc-table__tr\">\n <th class=\"cc-table__th custom\">{{ t('TITLE') }}</th>\n <th class=\"cc-table__th custom\">{{ t('QUANTITY') }}</th>\n <th class=\"cc-table__th custom\">{{ t('UNIT') }}</th>\n </tr>\n </thead>\n <tbody class=\"cc-table__tbody\">\n @for (tool of elements(); track tool.id) {\n <tr class=\"cc-table__tr custom-row\">\n <cui-tool-form\n [tool]=\"tool\"\n [utilityId]=\"utilityId()\"\n [readonly]=\"readonly()\"\n (toolChanged)=\"onToolChanged($event)\"\n (toolDeleted)=\"onToolDeleted($event)\"\n />\n </tr>\n }\n </tbody>\n</table>\n", styles: [":host{display:contents}.table{grid-template-columns:5fr 3fr 3fr 1fr}.table_readonly{grid-template-columns:5fr 2fr 1.5fr}.custom{padding-right:4px;padding-left:4px}.custom-row{place-items:baseline}\n"], dependencies: [{ kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: ToolFormComponent, selector: "cui-tool-form", inputs: ["utilityId", "tool", "readonly", "resourceType"], outputs: ["toolChanged", "toolDeleted"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResourcesBlockToolboxComponent, decorators: [{
53
+ type: Component,
54
+ args: [{ selector: 'cui-resources-block-toolbox', imports: [TranslocoDirective, CuiButtonModule, ToolFormComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<table\n *transloco=\"let t\"\n class=\"cc-table table\"\n [class.table_readonly]=\"readonly()\"\n>\n <thead class=\"cc-table__thead\">\n <tr class=\"cc-table__tr\">\n <th class=\"cc-table__th custom\">{{ t('TITLE') }}</th>\n <th class=\"cc-table__th custom\">{{ t('QUANTITY') }}</th>\n <th class=\"cc-table__th custom\">{{ t('UNIT') }}</th>\n </tr>\n </thead>\n <tbody class=\"cc-table__tbody\">\n @for (tool of elements(); track tool.id) {\n <tr class=\"cc-table__tr custom-row\">\n <cui-tool-form\n [tool]=\"tool\"\n [utilityId]=\"utilityId()\"\n [readonly]=\"readonly()\"\n (toolChanged)=\"onToolChanged($event)\"\n (toolDeleted)=\"onToolDeleted($event)\"\n />\n </tr>\n }\n </tbody>\n</table>\n", styles: [":host{display:contents}.table{grid-template-columns:5fr 3fr 3fr 1fr}.table_readonly{grid-template-columns:5fr 2fr 1.5fr}.custom{padding-right:4px;padding-left:4px}.custom-row{place-items:baseline}\n"] }]
55
+ }], ctorParameters: () => [] });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLWJsb2NrLXRvb2xib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS93aWRnZXRzL3VpL3Jlc291cmNlcy1ibG9jay9jb21wb25lbnRzL3Jlc291cmNlcy1ibG9jay10b29sYm94L3Jlc291cmNlcy1ibG9jay10b29sYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9yZXNvdXJjZXMtYmxvY2svY29tcG9uZW50cy9yZXNvdXJjZXMtYmxvY2stdG9vbGJveC9yZXNvdXJjZXMtYmxvY2stdG9vbGJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXhELE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxvQkFBb0IsRUFBa0IsTUFBTSxjQUFjLENBQUM7QUFFcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQVc1RCxNQUFNLE9BQU8sOEJBQThCO0lBU3ZDO1FBUmlCLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2pELG1CQUFjLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFFcEQsY0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUNyQyxnQkFBVyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUN2QyxhQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBeUIsQ0FBQztRQUNuRCxhQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBR3BDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFUyxhQUFhLENBQUMsSUFBeUI7UUFDN0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFUyxhQUFhLENBQUMsTUFBYztRQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVPLGtCQUFrQjtRQUN0QixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQzFCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM5QixNQUFNLG9CQUFvQixHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUU5RCxJQUFJLG9CQUFvQixFQUFFLENBQUM7Z0JBQ3ZCLE9BQU87WUFDWCxDQUFDO1lBRUQsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUN0RCxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDakUsQ0FBQyxDQUFDLENBQUM7WUFFSCxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sMEJBQTBCLENBQUMsU0FBMkI7UUFDMUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwQixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBRUQsTUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXJELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDdkQsR0FBRyxDQUNDLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FDZixDQUFDO1lBQ0csR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxLQUFLLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDbEUsUUFBUSxFQUFFLGNBQWMsQ0FBQyxRQUFRO1lBQ2pDLElBQUksRUFBRSxjQUFjLENBQUMsSUFBSTtTQUM1QixDQUF3QixDQUNoQyxDQUNKLENBQUM7SUFDTixDQUFDOytHQXZEUSw4QkFBOEI7bUdBQTlCLDhCQUE4QixnbkJDbkIzQyxrNkJBMEJBLGdRRGJjLGtCQUFrQiwrTEFBRSxlQUFlLCtCQUFFLGlCQUFpQjs7NEZBTXZELDhCQUE4QjtrQkFSMUMsU0FBUzsrQkFDSSw2QkFBNkIsV0FDOUIsQ0FBQyxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLENBQUMsbUJBR2hELHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGVmZmVjdCwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsb2NvRGlyZWN0aXZlIH0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJztcbmltcG9ydCB0eXBlIHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRU1QVFksIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ3VpRmFjdG9yeUFwaVNlcnZpY2UsIFV0aWxpdHlTdWJqZWN0IH0gZnJvbSAnQGN1YnktdWkvYXBpJztcblxuaW1wb3J0IHsgVG9vbEZvcm1Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi90b29sYm94LWZvcm0nO1xuaW1wb3J0IHsgQ1VJX1VUSUxJVFlfU0VSVklDRV9UT0tFTiB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVsJztcbmltcG9ydCB7IEN1aUJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgUmVzb3VyY2VVdGlsaXR5VG9vbCB9IGZyb20gJy4vcmVzb3VyY2VzLWJsb2NrLXRvb2xib3gub3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY3VpLXJlc291cmNlcy1ibG9jay10b29sYm94JyxcbiAgICBpbXBvcnRzOiBbVHJhbnNsb2NvRGlyZWN0aXZlLCBDdWlCdXR0b25Nb2R1bGUsIFRvb2xGb3JtQ29tcG9uZW50XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVzb3VyY2VzLWJsb2NrLXRvb2xib3guY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9yZXNvdXJjZXMtYmxvY2stdG9vbGJveC5jb21wb25lbnQuc2NzcycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZXNCbG9ja1Rvb2xib3hDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmFjdG9yeUFwaVNlcnZpY2UgPSBpbmplY3QoQ3VpRmFjdG9yeUFwaVNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXRpbGl0eVNlcnZpY2UgPSBpbmplY3QoQ1VJX1VUSUxJVFlfU0VSVklDRV9UT0tFTik7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgdXRpbGl0eUlkID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICAgIHB1YmxpYyByZWFkb25seSBjb250YWluZXJJZCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudHMgPSBpbnB1dC5yZXF1aXJlZDxSZXNvdXJjZVV0aWxpdHlUb29sW10+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IHJlYWRvbmx5ID0gaW5wdXQoZmFsc2UpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuaW5pdFRvb2xzU3RydWN0dXJlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uVG9vbENoYW5nZWQodG9vbDogUmVzb3VyY2VVdGlsaXR5VG9vbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnVwZGF0ZVJlc291cmNlKHRvb2wsIHRoaXMuY29udGFpbmVySWQoKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uVG9vbERlbGV0ZWQodG9vbElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51dGlsaXR5U2VydmljZS5yZW1vdmVSZXNvdXJjZSh0b29sSWQsIHRoaXMuY29udGFpbmVySWQoKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0VG9vbHNTdHJ1Y3R1cmUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGVmZmVjdFJlZiA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0b29scyA9IHRoaXMuZWxlbWVudHMoKTtcbiAgICAgICAgICAgIGNvbnN0IGFyZVRvb2xzV2l0aEZ1bGxJbmZvID0gdG9vbHMuZXZlcnkoKHRvb2wpID0+IHRvb2wubmFtZSk7XG5cbiAgICAgICAgICAgIGlmIChhcmVUb29sc1dpdGhGdWxsSW5mbykge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5nZXRBZGRpbnRpb25hbFJlc291cmNlSW5mbyh0b29scykuc3Vic2NyaWJlKCh0b29sKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51dGlsaXR5U2VydmljZS51cGRhdGVSZXNvdXJjZSh0b29sLCB0aGlzLmNvbnRhaW5lcklkKCkpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGVmZmVjdFJlZi5kZXN0cm95KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QWRkaW50aW9uYWxSZXNvdXJjZUluZm8ocmVzb3VyY2VzOiBVdGlsaXR5U3ViamVjdFtdKTogT2JzZXJ2YWJsZTxSZXNvdXJjZVV0aWxpdHlUb29sPiB7XG4gICAgICAgIGlmICghcmVzb3VyY2VzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaWRzID0gcmVzb3VyY2VzLm1hcCgocmVzb3VyY2UpID0+IHJlc291cmNlLmlkKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5mYWN0b3J5QXBpU2VydmljZS5nZXRUb29sc0J5SWRzU3RyZWFtKGlkcykucGlwZShcbiAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAoZmFjdG9yeUVsZW1lbnQpID0+XG4gICAgICAgICAgICAgICAgICAgICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5yZXNvdXJjZXMuZmluZCgocmVzb3VyY2UpID0+IGZhY3RvcnlFbGVtZW50LmlkID09PSByZXNvdXJjZS5pZCksXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0RlbGV0ZTogZmFjdG9yeUVsZW1lbnQuaXNEZWxldGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBmYWN0b3J5RWxlbWVudC5uYW1lXG4gICAgICAgICAgICAgICAgICAgIH0pIGFzIFJlc291cmNlVXRpbGl0eVRvb2xcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8dGFibGVcbiAgICAqdHJhbnNsb2NvPVwibGV0IHRcIlxuICAgIGNsYXNzPVwiY2MtdGFibGUgdGFibGVcIlxuICAgIFtjbGFzcy50YWJsZV9yZWFkb25seV09XCJyZWFkb25seSgpXCJcbj5cbiAgICA8dGhlYWQgY2xhc3M9XCJjYy10YWJsZV9fdGhlYWRcIj5cbiAgICAgICAgPHRyIGNsYXNzPVwiY2MtdGFibGVfX3RyXCI+XG4gICAgICAgICAgICA8dGggY2xhc3M9XCJjYy10YWJsZV9fdGggY3VzdG9tXCI+e3sgdCgnVElUTEUnKSB9fTwvdGg+XG4gICAgICAgICAgICA8dGggY2xhc3M9XCJjYy10YWJsZV9fdGggY3VzdG9tXCI+e3sgdCgnUVVBTlRJVFknKSB9fTwvdGg+XG4gICAgICAgICAgICA8dGggY2xhc3M9XCJjYy10YWJsZV9fdGggY3VzdG9tXCI+e3sgdCgnVU5JVCcpIH19PC90aD5cbiAgICAgICAgPC90cj5cbiAgICA8L3RoZWFkPlxuICAgIDx0Ym9keSBjbGFzcz1cImNjLXRhYmxlX190Ym9keVwiPlxuICAgICAgICBAZm9yICh0b29sIG9mIGVsZW1lbnRzKCk7IHRyYWNrIHRvb2wuaWQpIHtcbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImNjLXRhYmxlX190ciBjdXN0b20tcm93XCI+XG4gICAgICAgICAgICAgICAgPGN1aS10b29sLWZvcm1cbiAgICAgICAgICAgICAgICAgICAgW3Rvb2xdPVwidG9vbFwiXG4gICAgICAgICAgICAgICAgICAgIFt1dGlsaXR5SWRdPVwidXRpbGl0eUlkKClcIlxuICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHkoKVwiXG4gICAgICAgICAgICAgICAgICAgICh0b29sQ2hhbmdlZCk9XCJvblRvb2xDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAodG9vbERlbGV0ZWQpPVwib25Ub29sRGVsZXRlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgfVxuICAgIDwvdGJvZHk+XG48L3RhYmxlPlxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLWJsb2NrLXRvb2xib3gub3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9yZXNvdXJjZXMtYmxvY2svY29tcG9uZW50cy9yZXNvdXJjZXMtYmxvY2stdG9vbGJveC9yZXNvdXJjZXMtYmxvY2stdG9vbGJveC5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUb29sYm94VHlwZSB9IGZyb20gJ0BjdWJ5LXVpL2FwaSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VVdGlsaXR5VG9vbCBleHRlbmRzIFRvb2xib3hUeXBlIHtcbiAgICByZWFkb25seSBpc0RlbGV0ZTogYm9vbGVhbjtcbiAgICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export { ResourcesOptionsComponent } from './resources-options.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvcmVzb3VyY2VzLWJsb2NrL2NvbXBvbmVudHMvcmVzb3VyY2VzLW9wdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBSZXNvdXJjZXNPcHRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9yZXNvdXJjZXMtb3B0aW9ucy5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,42 @@
1
+ import { ChangeDetectionStrategy, Component, computed, inject, input, output, signal } from '@angular/core';
2
+ import { CuiClickOutsideDirective, CuiElementDirective } from '@cuby-ui/cdk';
3
+ import { TranslocoDirective } from '@jsverse/transloco';
4
+ import { finalize } from 'rxjs';
5
+ import { CuiQuantumGroupResourcesStructureApiService } from '@cuby-ui/api';
6
+ import { CuiButtonModule, CuiContextMenuModule } from '../../../../../components';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@cuby-ui/cdk";
9
+ import * as i2 from "../../../../../components/button/button.component";
10
+ import * as i3 from "../../../../../components/context-menu/context-menu.component";
11
+ export class ResourcesOptionsComponent {
12
+ constructor() {
13
+ this.quantumGroupResourcesStructureApiService = inject(CuiQuantumGroupResourcesStructureApiService);
14
+ this.options = computed(() => this.types().map((type) => ({
15
+ label: type,
16
+ command: () => this.addResource(type)
17
+ })));
18
+ this.isWithTitle = computed(() => this.appearance() === 'flat');
19
+ this.isLoading = signal(false);
20
+ this.types = input.required();
21
+ this.utilityId = input.required();
22
+ this.appearance = input('flat');
23
+ this.disabled = input(false);
24
+ this.resourceAdded = output();
25
+ }
26
+ addResource(type) {
27
+ this.isLoading.set(true);
28
+ this.quantumGroupResourcesStructureApiService
29
+ .addElementForStructure(this.utilityId(), type)
30
+ .pipe(finalize(() => this.isLoading.set(false)))
31
+ .subscribe((resource) => this.resourceAdded.emit(resource));
32
+ }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResourcesOptionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ResourcesOptionsComponent, isStandalone: true, selector: "cui-resources-options", inputs: { types: { classPropertyName: "types", publicName: "types", isSignal: true, isRequired: true, transformFunction: null }, utilityId: { classPropertyName: "utilityId", publicName: "utilityId", isSignal: true, isRequired: true, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { resourceAdded: "resourceAdded" }, host: { properties: { "class._flat": "appearance() === 'flat'" } }, hostDirectives: [{ directive: i1.CuiClickOutsideDirective }], ngImport: i0, template: "<ng-container *transloco=\"let t\">\n <div class=\"utility\">\n <button\n #actionButton=\"elementRef\"\n cuiElement\n cuiButton\n type=\"button\"\n [appearance]=\"appearance()\"\n [isLoaderShown]=\"isLoading()\"\n [disabled]=\"disabled()\"\n size=\"xxs\"\n icon=\"cuiIconPlus\"\n >\n @if (isWithTitle()) {\n {{ t('ADD_UTILITY') }}\n }\n </button>\n\n <cui-context-menu\n [items]=\"options()\"\n [target]=\"actionButton.nativeElement\"\n />\n </div>\n</ng-container>\n", styles: [":host{display:flex;align-items:center;justify-content:space-evenly;flex:1;overflow:scroll hidden;scrollbar-width:none;margin-bottom:-2px}:host._flat{padding:7px;border-radius:8px;border:1px dashed var(--cui-base-200)}\n"], dependencies: [{ kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: i2.CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "directive", type: CuiElementDirective, selector: "[cuiElement]", exportAs: ["elementRef"] }, { kind: "ngmodule", type: CuiContextMenuModule }, { kind: "component", type: i3.CuiContextMenuComponent, selector: "cui-context-menu[items][target]", inputs: ["items", "target", "width", "withPaddings"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResourcesOptionsComponent, decorators: [{
37
+ type: Component,
38
+ args: [{ selector: 'cui-resources-options', imports: [CuiButtonModule, CuiElementDirective, CuiContextMenuModule, TranslocoDirective], changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [CuiClickOutsideDirective], host: {
39
+ '[class._flat]': "appearance() === 'flat'"
40
+ }, standalone: true, template: "<ng-container *transloco=\"let t\">\n <div class=\"utility\">\n <button\n #actionButton=\"elementRef\"\n cuiElement\n cuiButton\n type=\"button\"\n [appearance]=\"appearance()\"\n [isLoaderShown]=\"isLoading()\"\n [disabled]=\"disabled()\"\n size=\"xxs\"\n icon=\"cuiIconPlus\"\n >\n @if (isWithTitle()) {\n {{ t('ADD_UTILITY') }}\n }\n </button>\n\n <cui-context-menu\n [items]=\"options()\"\n [target]=\"actionButton.nativeElement\"\n />\n </div>\n</ng-container>\n", styles: [":host{display:flex;align-items:center;justify-content:space-evenly;flex:1;overflow:scroll hidden;scrollbar-width:none;margin-bottom:-2px}:host._flat{padding:7px;border-radius:8px;border:1px dashed var(--cui-base-200)}\n"] }]
41
+ }] });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLW9wdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS93aWRnZXRzL3VpL3Jlc291cmNlcy1ibG9jay9jb21wb25lbnRzL3Jlc291cmNlcy1vcHRpb25zL3Jlc291cmNlcy1vcHRpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9yZXNvdXJjZXMtYmxvY2svY29tcG9uZW50cy9yZXNvdXJjZXMtb3B0aW9ucy9yZXNvdXJjZXMtb3B0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFFLDJDQUEyQyxFQUFpQyxNQUFNLGNBQWMsQ0FBQztBQUUxRyxPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7O0FBY2xGLE1BQU0sT0FBTyx5QkFBeUI7SUFadEM7UUFhcUIsNkNBQXdDLEdBQUcsTUFBTSxDQUFDLDJDQUEyQyxDQUFDLENBQUM7UUFFN0YsWUFBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDdkMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN4QixLQUFLLEVBQUUsSUFBSTtZQUNYLE9BQU8sRUFBRSxHQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztTQUM5QyxDQUFDLENBQUMsQ0FDTixDQUFDO1FBQ2lCLGdCQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxNQUFNLENBQUMsQ0FBQztRQUM5RCxjQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFCLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUF5QixDQUFDO1FBQ2hELGNBQVMsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDckMsZUFBVSxHQUFHLEtBQUssQ0FBbUIsTUFBTSxDQUFDLENBQUM7UUFDN0MsYUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV4QixrQkFBYSxHQUFHLE1BQU0sRUFBWSxDQUFDO0tBU3REO0lBUGEsV0FBVyxDQUFDLElBQXlCO1FBQzNDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyx3Q0FBd0M7YUFDeEMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQzthQUM5QyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDL0MsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7K0dBekJRLHlCQUF5QjttR0FBekIseUJBQXlCLDh3QkNwQnRDLDRwQkF3QkEsb1JEZGMsZUFBZSxvT0FBRSxtQkFBbUIsa0ZBQUUsb0JBQW9CLDJMQUFFLGtCQUFrQjs7NEZBVS9FLHlCQUF5QjtrQkFackMsU0FBUzsrQkFDSSx1QkFBdUIsV0FDeEIsQ0FBQyxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLENBQUMsbUJBR3hFLHVCQUF1QixDQUFDLE1BQU0sa0JBQy9CLENBQUMsd0JBQXdCLENBQUMsUUFDcEM7d0JBQ0YsZUFBZSxFQUFFLHlCQUF5QjtxQkFDN0MsY0FDVyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgaW5wdXQsIG91dHB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDdWlDbGlja091dHNpZGVEaXJlY3RpdmUsIEN1aUVsZW1lbnREaXJlY3RpdmUgfSBmcm9tICdAY3VieS11aS9jZGsnO1xuaW1wb3J0IHsgVHJhbnNsb2NvRGlyZWN0aXZlIH0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJztcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDdWlRdWFudHVtR3JvdXBSZXNvdXJjZXNTdHJ1Y3R1cmVBcGlTZXJ2aWNlLCBSZXNvdXJjZSwgUmVzb3VyY2VDb250ZW50VHlwZSB9IGZyb20gJ0BjdWJ5LXVpL2FwaSc7XG5cbmltcG9ydCB7IEN1aUJ1dHRvbk1vZHVsZSwgQ3VpQ29udGV4dE1lbnVNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjdWktcmVzb3VyY2VzLW9wdGlvbnMnLFxuICAgIGltcG9ydHM6IFtDdWlCdXR0b25Nb2R1bGUsIEN1aUVsZW1lbnREaXJlY3RpdmUsIEN1aUNvbnRleHRNZW51TW9kdWxlLCBUcmFuc2xvY29EaXJlY3RpdmVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yZXNvdXJjZXMtb3B0aW9ucy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3Jlc291cmNlcy1vcHRpb25zLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0RGlyZWN0aXZlczogW0N1aUNsaWNrT3V0c2lkZURpcmVjdGl2ZV0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLl9mbGF0XSc6IFwiYXBwZWFyYW5jZSgpID09PSAnZmxhdCdcIlxuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZXNPcHRpb25zQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHF1YW50dW1Hcm91cFJlc291cmNlc1N0cnVjdHVyZUFwaVNlcnZpY2UgPSBpbmplY3QoQ3VpUXVhbnR1bUdyb3VwUmVzb3VyY2VzU3RydWN0dXJlQXBpU2VydmljZSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMudHlwZXMoKS5tYXAoKHR5cGUpID0+ICh7XG4gICAgICAgICAgICBsYWJlbDogdHlwZSxcbiAgICAgICAgICAgIGNvbW1hbmQ6ICgpOiB2b2lkID0+IHRoaXMuYWRkUmVzb3VyY2UodHlwZSlcbiAgICAgICAgfSkpXG4gICAgKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNXaXRoVGl0bGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmFwcGVhcmFuY2UoKSA9PT0gJ2ZsYXQnKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgaXNMb2FkaW5nID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIHB1YmxpYyByZWFkb25seSB0eXBlcyA9IGlucHV0LnJlcXVpcmVkPFJlc291cmNlQ29udGVudFR5cGVbXT4oKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgdXRpbGl0eUlkID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICAgIHB1YmxpYyByZWFkb25seSBhcHBlYXJhbmNlID0gaW5wdXQ8J2dob3N0JyB8ICdmbGF0Jz4oJ2ZsYXQnKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVzb3VyY2VBZGRlZCA9IG91dHB1dDxSZXNvdXJjZT4oKTtcblxuICAgIHByb3RlY3RlZCBhZGRSZXNvdXJjZSh0eXBlOiBSZXNvdXJjZUNvbnRlbnRUeXBlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nLnNldCh0cnVlKTtcbiAgICAgICAgdGhpcy5xdWFudHVtR3JvdXBSZXNvdXJjZXNTdHJ1Y3R1cmVBcGlTZXJ2aWNlXG4gICAgICAgICAgICAuYWRkRWxlbWVudEZvclN0cnVjdHVyZSh0aGlzLnV0aWxpdHlJZCgpLCB0eXBlKVxuICAgICAgICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gdGhpcy5pc0xvYWRpbmcuc2V0KGZhbHNlKSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXNvdXJjZSkgPT4gdGhpcy5yZXNvdXJjZUFkZGVkLmVtaXQocmVzb3VyY2UpKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdFwiPlxuICAgIDxkaXYgY2xhc3M9XCJ1dGlsaXR5XCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICNhY3Rpb25CdXR0b249XCJlbGVtZW50UmVmXCJcbiAgICAgICAgICAgIGN1aUVsZW1lbnRcbiAgICAgICAgICAgIGN1aUJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlKClcIlxuICAgICAgICAgICAgW2lzTG9hZGVyU2hvd25dPVwiaXNMb2FkaW5nKClcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICAgICAgc2l6ZT1cInh4c1wiXG4gICAgICAgICAgICBpY29uPVwiY3VpSWNvblBsdXNcIlxuICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKGlzV2l0aFRpdGxlKCkpIHtcbiAgICAgICAgICAgICAgICB7eyB0KCdBRERfVVRJTElUWScpIH19XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxjdWktY29udGV4dC1tZW51XG4gICAgICAgICAgICBbaXRlbXNdPVwib3B0aW9ucygpXCJcbiAgICAgICAgICAgIFt0YXJnZXRdPVwiYWN0aW9uQnV0dG9uLm5hdGl2ZUVsZW1lbnRcIlxuICAgICAgICAvPlxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export { ResourcesBlockComponent } from './resources-block.component';
2
+ export * from './components';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvcmVzb3VyY2VzLWJsb2NrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgUmVzb3VyY2VzQmxvY2tDb21wb25lbnQgfSBmcm9tICcuL3Jlc291cmNlcy1ibG9jay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzJztcbiJdfQ==
@@ -0,0 +1,137 @@
1
+ import { Component, computed, effect, ElementRef, inject, input, output, Renderer2, signal } from '@angular/core';
2
+ import { CuiContentWrapperComponent, CuiDialogService } from '../../../components';
3
+ import { AlertHintComponent } from '../../../components/alert-hint/alert-hint.component';
4
+ import { OptionsButtonComponent } from '../../../components/options-button/options-button.component';
5
+ import { ResourcesBlockTabsComponent } from '../resources-block-tabs';
6
+ import { TranslocoDirective } from '@jsverse/transloco';
7
+ import { ResourcesOptionsComponent } from './components';
8
+ import { CuiFactoryApiService, ResourceContentType, UtilityApiService } from '@cuby-ui/api';
9
+ import { map, toArray } from 'rxjs';
10
+ import { CUI_UTILITY_SERVICE_TOKEN } from '../../model';
11
+ import { CUI_USED_ELEMENTS_SERVICE_TOKEN } from '../../model/used-elements-service.token';
12
+ import { CUI_RESOURCE_STATE_SERVICE_TOKEN } from '../../model/resource-state-service.token';
13
+ import { CuiDeleteModalComponent } from '../delete-modal';
14
+ import { ContentHeaderComponent } from '../../../components/content-header';
15
+ import * as i0 from "@angular/core";
16
+ export class ResourcesBlockComponent {
17
+ constructor() {
18
+ this.el = inject((ElementRef));
19
+ this.r2 = inject(Renderer2);
20
+ this.factoryApiService = inject(CuiFactoryApiService);
21
+ this.cuiDialogService = inject(CuiDialogService);
22
+ this.utilityApiService = inject(UtilityApiService);
23
+ this.utilityService = inject(CUI_UTILITY_SERVICE_TOKEN);
24
+ this.usedElementsService = inject(CUI_USED_ELEMENTS_SERVICE_TOKEN);
25
+ this.resourceStateService = inject(CUI_RESOURCE_STATE_SERVICE_TOKEN);
26
+ this.TYPES = [ResourceContentType.Consumables, ResourceContentType.Toolbox, ResourceContentType.Part];
27
+ this.RESOURCES_COMPONENT_OPTIONS = [
28
+ {
29
+ label: 'Delete',
30
+ icon: 'cuiIconTrash',
31
+ color: 'var(--cui-danger)',
32
+ command: this.openDeleteResourceComponentModal.bind(this)
33
+ }
34
+ ];
35
+ this.currentTabIndex = signal(0);
36
+ this.resources = computed(() => this.resourceComponent().structure);
37
+ this.availableTypes = computed(() => this.TYPES.filter((type) => !this.resourceComponent().structure.find((resource) => resource.contentType === type)));
38
+ this.title = input.required();
39
+ this.resourceComponent = input.required();
40
+ this.utilityId = input.required();
41
+ this.resourceComponentDeleted = output();
42
+ this.initUsedElementsEffect();
43
+ effect(() => {
44
+ const length = this.resourceComponent().structure.length;
45
+ const idx = this.currentTabIndex();
46
+ if (length > 0 && idx >= length) {
47
+ this.currentTabIndex.set(length - 1);
48
+ }
49
+ });
50
+ }
51
+ ngAfterViewInit() {
52
+ const host = this.el.nativeElement;
53
+ const targetWrapper = host.querySelector('cui-content-wrapper.custom-wrapper:last-child');
54
+ const update = () => {
55
+ if (host.offsetWidth > 600 && targetWrapper) {
56
+ this.r2.addClass(targetWrapper, 'wide');
57
+ }
58
+ else if (targetWrapper) {
59
+ this.r2.removeClass(targetWrapper, 'wide');
60
+ }
61
+ };
62
+ this.ro = new ResizeObserver(update);
63
+ this.ro.observe(host);
64
+ update();
65
+ }
66
+ ngOnDestroy() {
67
+ this.ro?.disconnect();
68
+ }
69
+ onAddResourcesType(resource) {
70
+ this.utilityService.addResourceStructure(resource);
71
+ }
72
+ onResourcesAdded(resources, container) {
73
+ this.getAddintionalResourceInfo(resources, container.contentType).subscribe((structure) => {
74
+ this.utilityService.addResources(structure, container.id);
75
+ const updatedResources = this.resourceComponent().structure.map((resource) => resource.id === container.id
76
+ ? {
77
+ ...resource,
78
+ elements: [
79
+ ...resource.elements,
80
+ ...structure.filter((s) => !resource.elements.some((e) => e.id === s.id))
81
+ ]
82
+ }
83
+ : resource);
84
+ this.resourceStateService.updateResources(this.utilityId(), updatedResources);
85
+ });
86
+ }
87
+ onResourceStructureRemoved(resource) {
88
+ this.utilityService.removeResourceStructure(resource.id);
89
+ const updatedResources = this.resourceComponent().structure.filter((r) => r.id !== resource.id);
90
+ this.resourceStateService.updateResources(this.utilityId(), updatedResources);
91
+ }
92
+ initUsedElementsEffect() {
93
+ effect(() => {
94
+ this.usedElementsService.setAll(this.resourceComponent().structure.flatMap((structure) => structure.elements));
95
+ });
96
+ }
97
+ openDeleteResourceComponentModal() {
98
+ const content = ['ACTION_WILL_DELETE_RESOURCE_COMPONENT'];
99
+ const componentId = this.resourceComponent().id;
100
+ this.cuiDialogService
101
+ .open(CuiDeleteModalComponent, {
102
+ data: {
103
+ title: 'DELETE_RESOURCE_COMPONENT_QUESTION',
104
+ content,
105
+ delete: () => this.utilityApiService.deleteComponent(this.utilityId(), componentId)
106
+ }
107
+ })
108
+ .subscribe((data) => data?.canceled || this.resourceComponentDeleted.emit("RESOURCES" /* UtilityComponentType.Resources */));
109
+ }
110
+ getAddintionalResourceInfo(resources, contentType) {
111
+ const ids = resources.map((resource) => resource.id);
112
+ const requests = {
113
+ [ResourceContentType.Consumables]: this.factoryApiService.getMaterialsByIds(ids),
114
+ [ResourceContentType.Toolbox]: this.factoryApiService.getToolsByIdsStream(ids),
115
+ [ResourceContentType.Part]: this.factoryApiService.getPartsByIdsStream(ids)
116
+ };
117
+ return requests[contentType].pipe(toArray(), map((factoryElements) => factoryElements.map((element, index) => ({
118
+ ...resources[index],
119
+ ...element
120
+ }))));
121
+ }
122
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResourcesBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
123
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ResourcesBlockComponent, isStandalone: true, selector: "cui-resources-block", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, resourceComponent: { classPropertyName: "resourceComponent", publicName: "resourceComponent", isSignal: true, isRequired: true, transformFunction: null }, utilityId: { classPropertyName: "utilityId", publicName: "utilityId", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { resourceComponentDeleted: "resourceComponentDeleted" }, ngImport: i0, template: "@let structure = resourceComponent().structure;\n\n<cui-content-wrapper\n class=\"custom-wrapper\"\n *transloco=\"let t\"\n backgroundColor=\"var(--cui-base-10)\"\n [gap]=\"16\"\n>\n <header\n cuiContentHeader\n [heading]=\"title()\"\n >\n <div class=\"content\">\n @if (!structure.length) {\n <cui-alert-hint\n status=\"warning\"\n [tooltipText]=\"t('NO_ENTITIES_ADDED')\"\n />\n }\n <cui-options-button [options]=\"RESOURCES_COMPONENT_OPTIONS\" />\n </div>\n </header>\n\n <cui-content-wrapper class=\"custom-wrapper\">\n @if (structure.length) {\n <cui-resources-block-tabs\n [utilityId]=\"utilityId()\"\n [buttonSlot]=\"buttonSlot\"\n [resourceComponent]=\"resourceComponent()\"\n [selectedIndex]=\"currentTabIndex()\"\n (selectedIndexChange)=\"currentTabIndex.set($event)\"\n (resourceAdded)=\"onResourcesAdded($event.resources, $event.container)\"\n (resourceDeleted)=\"onResourceStructureRemoved($event)\"\n />\n } @else {\n <cui-resources-options\n [utilityId]=\"utilityId()\"\n [types]=\"availableTypes()\"\n (resourceAdded)=\"onAddResourcesType($event)\"\n />\n }\n </cui-content-wrapper>\n</cui-content-wrapper>\n\n<ng-template #buttonSlot>\n <cui-resources-options\n [utilityId]=\"utilityId()\"\n [types]=\"availableTypes()\"\n [disabled]=\"!availableTypes().length\"\n appearance=\"ghost\"\n (resourceAdded)=\"onAddResourcesType($event)\"\n />\n</ng-template>\n", styles: [":host{display:flex;align-items:center;justify-content:space-evenly;flex:1;overflow:scroll hidden;scrollbar-width:none;margin-bottom:-2px}:host._flat{padding:7px;border-radius:8px;border:1px dashed var(--cui-base-200)}\n"], dependencies: [{ kind: "component", type: CuiContentWrapperComponent, selector: "cui-content-wrapper, [cuiContentWrapper]", inputs: ["backgroundColor", "gap"] }, { kind: "component", type: AlertHintComponent, selector: "cui-alert-hint", inputs: ["status", "tooltipText"] }, { kind: "component", type: OptionsButtonComponent, selector: "cui-options-button", inputs: ["options", "hoverBackgroundColor"] }, { kind: "component", type: ResourcesBlockTabsComponent, selector: "cui-resources-block-tabs", inputs: ["resourceComponent", "utilityId", "buttonSlot", "readonly", "selectedIndex"], outputs: ["resourceAdded", "resourceDeleted", "selectedIndexChange"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: ResourcesOptionsComponent, selector: "cui-resources-options", inputs: ["types", "utilityId", "appearance", "disabled"], outputs: ["resourceAdded"] }, { kind: "component", type: ContentHeaderComponent, selector: "header[cuiContentHeader]", inputs: ["heading", "subheading", "tooltip"] }] }); }
124
+ }
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResourcesBlockComponent, decorators: [{
126
+ type: Component,
127
+ args: [{ selector: 'cui-resources-block', standalone: true, imports: [
128
+ CuiContentWrapperComponent,
129
+ AlertHintComponent,
130
+ OptionsButtonComponent,
131
+ ResourcesBlockTabsComponent,
132
+ TranslocoDirective,
133
+ ResourcesOptionsComponent,
134
+ ContentHeaderComponent
135
+ ], template: "@let structure = resourceComponent().structure;\n\n<cui-content-wrapper\n class=\"custom-wrapper\"\n *transloco=\"let t\"\n backgroundColor=\"var(--cui-base-10)\"\n [gap]=\"16\"\n>\n <header\n cuiContentHeader\n [heading]=\"title()\"\n >\n <div class=\"content\">\n @if (!structure.length) {\n <cui-alert-hint\n status=\"warning\"\n [tooltipText]=\"t('NO_ENTITIES_ADDED')\"\n />\n }\n <cui-options-button [options]=\"RESOURCES_COMPONENT_OPTIONS\" />\n </div>\n </header>\n\n <cui-content-wrapper class=\"custom-wrapper\">\n @if (structure.length) {\n <cui-resources-block-tabs\n [utilityId]=\"utilityId()\"\n [buttonSlot]=\"buttonSlot\"\n [resourceComponent]=\"resourceComponent()\"\n [selectedIndex]=\"currentTabIndex()\"\n (selectedIndexChange)=\"currentTabIndex.set($event)\"\n (resourceAdded)=\"onResourcesAdded($event.resources, $event.container)\"\n (resourceDeleted)=\"onResourceStructureRemoved($event)\"\n />\n } @else {\n <cui-resources-options\n [utilityId]=\"utilityId()\"\n [types]=\"availableTypes()\"\n (resourceAdded)=\"onAddResourcesType($event)\"\n />\n }\n </cui-content-wrapper>\n</cui-content-wrapper>\n\n<ng-template #buttonSlot>\n <cui-resources-options\n [utilityId]=\"utilityId()\"\n [types]=\"availableTypes()\"\n [disabled]=\"!availableTypes().length\"\n appearance=\"ghost\"\n (resourceAdded)=\"onAddResourcesType($event)\"\n />\n</ng-template>\n", styles: [":host{display:flex;align-items:center;justify-content:space-evenly;flex:1;overflow:scroll hidden;scrollbar-width:none;margin-bottom:-2px}:host._flat{padding:7px;border-radius:8px;border:1px dashed var(--cui-base-200)}\n"] }]
136
+ }], ctorParameters: () => [] });
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLWJsb2NrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9yZXNvdXJjZXMtYmxvY2svcmVzb3VyY2VzLWJsb2NrLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvd2lkZ2V0cy91aS9yZXNvdXJjZXMtYmxvY2svcmVzb3VyY2VzLWJsb2NrLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFDTixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUN6RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUNyRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUseUJBQXlCLEVBQTJCLE1BQU0sY0FBYyxDQUFDO0FBQ2xGLE9BQU8sRUFDSCxvQkFBb0IsRUFFcEIsbUJBQW1CLEVBRW5CLGlCQUFpQixFQUlwQixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQUUsR0FBRyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUYs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R0FBRyxDQUNmLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQ2YsQ0FBQztZQUNHLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQztZQUNuQixHQUFHLE9BQU87U0FDYixDQUE0QixDQUNwQyxDQUNKLENBQ0osQ0FBQztJQUNOLENBQUM7K0dBbEpRLHVCQUF1QjttR0FBdkIsdUJBQXVCLG1qQkNwRHBDLDR2REFxREEscVJEWlEsMEJBQTBCLHlIQUMxQixrQkFBa0IsOEZBQ2xCLHNCQUFzQiw0R0FDdEIsMkJBQTJCLGtPQUMzQixrQkFBa0IsZ01BQ2xCLHlCQUF5Qix3SkFDekIsc0JBQXNCOzs0RkFLakIsdUJBQXVCO2tCQWZuQyxTQUFTOytCQUNJLHFCQUFxQixjQUNuQixJQUFJLFdBQ1A7d0JBQ0wsMEJBQTBCO3dCQUMxQixrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsMkJBQTJCO3dCQUMzQixrQkFBa0I7d0JBQ2xCLHlCQUF5Qjt3QkFDekIsc0JBQXNCO3FCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgZWZmZWN0LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBvdXRwdXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIHNpZ25hbFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEN1aUNvbnRlbnRXcmFwcGVyQ29tcG9uZW50LCBDdWlEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBbGVydEhpbnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2FsZXJ0LWhpbnQvYWxlcnQtaGludC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3B0aW9uc0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvb3B0aW9ucy1idXR0b24vb3B0aW9ucy1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFJlc291cmNlc0Jsb2NrVGFic0NvbXBvbmVudCB9IGZyb20gJy4uL3Jlc291cmNlcy1ibG9jay10YWJzJztcbmltcG9ydCB7IFRyYW5zbG9jb0RpcmVjdGl2ZSB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbyc7XG5pbXBvcnQgeyBSZXNvdXJjZXNPcHRpb25zQ29tcG9uZW50LCBSZXNvdXJjZVV0aWxpdHlNYXRlcmlhbCB9IGZyb20gJy4vY29tcG9uZW50cyc7XG5pbXBvcnQge1xuICAgIEN1aUZhY3RvcnlBcGlTZXJ2aWNlLFxuICAgIFJlc291cmNlLFxuICAgIFJlc291cmNlQ29udGVudFR5cGUsXG4gICAgUmVzb3VyY2VNYXRlcmlhbEVsZW1lbnQsXG4gICAgVXRpbGl0eUFwaVNlcnZpY2UsXG4gICAgVXRpbGl0eUNvbXBvbmVudFR5cGUsXG4gICAgVXRpbGl0eUNvbXBvbmVudFdpdGhSZXNvdXJjZXMsXG4gICAgVXRpbGl0eVN1YmplY3Rcbn0gZnJvbSAnQGN1YnktdWkvYXBpJztcbmltcG9ydCB7IEN1aUNvbnRleHRNZW51SXRlbSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCB0b0FycmF5IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDVUlfVVRJTElUWV9TRVJWSUNFX1RPS0VOIH0gZnJvbSAnLi4vLi4vbW9kZWwnO1xuaW1wb3J0IHsgQ1VJX1VTRURfRUxFTUVOVFNfU0VSVklDRV9UT0tFTiB9IGZyb20gJy4uLy4uL21vZGVsL3VzZWQtZWxlbWVudHMtc2VydmljZS50b2tlbic7XG5pbXBvcnQgeyBDVUlfUkVTT1VSQ0VfU1RBVEVfU0VSVklDRV9UT0tFTiB9IGZyb20gJy4uLy4uL21vZGVsL3Jlc291cmNlLXN0YXRlLXNlcnZpY2UudG9rZW4nO1xuaW1wb3J0IHsgQ3VpRGVsZXRlTW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi9kZWxldGUtbW9kYWwnO1xuaW1wb3J0IHsgQ29udGVudEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvY29udGVudC1oZWFkZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2N1aS1yZXNvdXJjZXMtYmxvY2snLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDdWlDb250ZW50V3JhcHBlckNvbXBvbmVudCxcbiAgICAgICAgQWxlcnRIaW50Q29tcG9uZW50LFxuICAgICAgICBPcHRpb25zQnV0dG9uQ29tcG9uZW50LFxuICAgICAgICBSZXNvdXJjZXNCbG9ja1RhYnNDb21wb25lbnQsXG4gICAgICAgIFRyYW5zbG9jb0RpcmVjdGl2ZSxcbiAgICAgICAgUmVzb3VyY2VzT3B0aW9uc0NvbXBvbmVudCxcbiAgICAgICAgQ29udGVudEhlYWRlckNvbXBvbmVudFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Jlc291cmNlcy1ibG9jay5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3Jlc291cmNlcy1ibG9jay5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgUmVzb3VyY2VzQmxvY2tDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSBpbmplY3QoRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcjIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZhY3RvcnlBcGlTZXJ2aWNlID0gaW5qZWN0KEN1aUZhY3RvcnlBcGlTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1aURpYWxvZ1NlcnZpY2UgPSBpbmplY3QoQ3VpRGlhbG9nU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB1dGlsaXR5QXBpU2VydmljZSA9IGluamVjdChVdGlsaXR5QXBpU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB1dGlsaXR5U2VydmljZSA9IGluamVjdChDVUlfVVRJTElUWV9TRVJWSUNFX1RPS0VOKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZWRFbGVtZW50c1NlcnZpY2UgPSBpbmplY3QoQ1VJX1VTRURfRUxFTUVOVFNfU0VSVklDRV9UT0tFTik7XG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNvdXJjZVN0YXRlU2VydmljZSA9IGluamVjdChDVUlfUkVTT1VSQ0VfU1RBVEVfU0VSVklDRV9UT0tFTik7XG4gICAgcHJpdmF0ZSBybz86IFJlc2l6ZU9ic2VydmVyO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IFRZUEVTID0gW1Jlc291cmNlQ29udGVudFR5cGUuQ29uc3VtYWJsZXMsIFJlc291cmNlQ29udGVudFR5cGUuVG9vbGJveCwgUmVzb3VyY2VDb250ZW50VHlwZS5QYXJ0XTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgUkVTT1VSQ0VTX0NPTVBPTkVOVF9PUFRJT05TOiBDdWlDb250ZXh0TWVudUl0ZW1bXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6ICdEZWxldGUnLFxuICAgICAgICAgICAgaWNvbjogJ2N1aUljb25UcmFzaCcsXG4gICAgICAgICAgICBjb2xvcjogJ3ZhcigtLWN1aS1kYW5nZXIpJyxcbiAgICAgICAgICAgIGNvbW1hbmQ6IHRoaXMub3BlbkRlbGV0ZVJlc291cmNlQ29tcG9uZW50TW9kYWwuYmluZCh0aGlzKVxuICAgICAgICB9XG4gICAgXTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjdXJyZW50VGFiSW5kZXggPSBzaWduYWwoMCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlc291cmNlcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmVzb3VyY2VDb21wb25lbnQoKS5zdHJ1Y3R1cmUpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBhdmFpbGFibGVUeXBlcyA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMuVFlQRVMuZmlsdGVyKFxuICAgICAgICAgICAgKHR5cGUpID0+ICF0aGlzLnJlc291cmNlQ29tcG9uZW50KCkuc3RydWN0dXJlLmZpbmQoKHJlc291cmNlKSA9PiByZXNvdXJjZS5jb250ZW50VHlwZSA9PT0gdHlwZSlcbiAgICAgICAgKVxuICAgICk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgdGl0bGUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlQ29tcG9uZW50ID0gaW5wdXQucmVxdWlyZWQ8VXRpbGl0eUNvbXBvbmVudFdpdGhSZXNvdXJjZXM+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IHV0aWxpdHlJZCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcblxuICAgIHB1YmxpYyByZWFkb25seSByZXNvdXJjZUNvbXBvbmVudERlbGV0ZWQgPSBvdXRwdXQ8VXRpbGl0eUNvbXBvbmVudFR5cGU+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5pbml0VXNlZEVsZW1lbnRzRWZmZWN0KCk7XG5cbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMucmVzb3VyY2VDb21wb25lbnQoKS5zdHJ1Y3R1cmUubGVuZ3RoO1xuICAgICAgICAgICAgY29uc3QgaWR4ID0gdGhpcy5jdXJyZW50VGFiSW5kZXgoKTtcblxuICAgICAgICAgICAgaWYgKGxlbmd0aCA+IDAgJiYgaWR4ID49IGxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFRhYkluZGV4LnNldChsZW5ndGggLSAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaG9zdCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgdGFyZ2V0V3JhcHBlciA9IGhvc3QucXVlcnlTZWxlY3RvcignY3VpLWNvbnRlbnQtd3JhcHBlci5jdXN0b20td3JhcHBlcjpsYXN0LWNoaWxkJykgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgICAgY29uc3QgdXBkYXRlID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgaWYgKGhvc3Qub2Zmc2V0V2lkdGggPiA2MDAgJiYgdGFyZ2V0V3JhcHBlcikge1xuICAgICAgICAgICAgICAgIHRoaXMucjIuYWRkQ2xhc3ModGFyZ2V0V3JhcHBlciwgJ3dpZGUnKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGFyZ2V0V3JhcHBlcikge1xuICAgICAgICAgICAgICAgIHRoaXMucjIucmVtb3ZlQ2xhc3ModGFyZ2V0V3JhcHBlciwgJ3dpZGUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLnJvID0gbmV3IFJlc2l6ZU9ic2VydmVyKHVwZGF0ZSk7XG4gICAgICAgIHRoaXMucm8ub2JzZXJ2ZShob3N0KTtcbiAgICAgICAgdXBkYXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJvPy5kaXNjb25uZWN0KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQWRkUmVzb3VyY2VzVHlwZShyZXNvdXJjZTogUmVzb3VyY2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51dGlsaXR5U2VydmljZS5hZGRSZXNvdXJjZVN0cnVjdHVyZShyZXNvdXJjZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uUmVzb3VyY2VzQWRkZWQocmVzb3VyY2VzOiBVdGlsaXR5U3ViamVjdFtdLCBjb250YWluZXI6IFJlc291cmNlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ2V0QWRkaW50aW9uYWxSZXNvdXJjZUluZm8ocmVzb3VyY2VzLCBjb250YWluZXIuY29udGVudFR5cGUpLnN1YnNjcmliZSgoc3RydWN0dXJlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLmFkZFJlc291cmNlcyhzdHJ1Y3R1cmUsIGNvbnRhaW5lci5pZCk7XG5cbiAgICAgICAgICAgIGNvbnN0IHVwZGF0ZWRSZXNvdXJjZXMgPSB0aGlzLnJlc291cmNlQ29tcG9uZW50KCkuc3RydWN0dXJlLm1hcCgocmVzb3VyY2UpID0+XG4gICAgICAgICAgICAgICAgcmVzb3VyY2UuaWQgPT09IGNvbnRhaW5lci5pZFxuICAgICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucmVzb3VyY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5yZXNvdXJjZS5lbGVtZW50cyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnN0cnVjdHVyZS5maWx0ZXIoKHMpID0+ICFyZXNvdXJjZS5lbGVtZW50cy5zb21lKChlKSA9PiBlLmlkID09PSBzLmlkKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXSBhcyBSZXNvdXJjZU1hdGVyaWFsRWxlbWVudFtdXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA6IHJlc291cmNlXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB0aGlzLnJlc291cmNlU3RhdGVTZXJ2aWNlLnVwZGF0ZVJlc291cmNlcyh0aGlzLnV0aWxpdHlJZCgpLCB1cGRhdGVkUmVzb3VyY2VzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uUmVzb3VyY2VTdHJ1Y3R1cmVSZW1vdmVkKHJlc291cmNlOiBSZXNvdXJjZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnJlbW92ZVJlc291cmNlU3RydWN0dXJlKHJlc291cmNlLmlkKTtcblxuICAgICAgICBjb25zdCB1cGRhdGVkUmVzb3VyY2VzID0gdGhpcy5yZXNvdXJjZUNvbXBvbmVudCgpLnN0cnVjdHVyZS5maWx0ZXIoKHIpID0+IHIuaWQgIT09IHJlc291cmNlLmlkKTtcbiAgICAgICAgdGhpcy5yZXNvdXJjZVN0YXRlU2VydmljZS51cGRhdGVSZXNvdXJjZXModGhpcy51dGlsaXR5SWQoKSwgdXBkYXRlZFJlc291cmNlcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0VXNlZEVsZW1lbnRzRWZmZWN0KCk6IHZvaWQge1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy51c2VkRWxlbWVudHNTZXJ2aWNlLnNldEFsbChcbiAgICAgICAgICAgICAgICB0aGlzLnJlc291cmNlQ29tcG9uZW50KCkuc3RydWN0dXJlLmZsYXRNYXAoKHN0cnVjdHVyZSkgPT4gc3RydWN0dXJlLmVsZW1lbnRzKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcGVuRGVsZXRlUmVzb3VyY2VDb21wb25lbnRNb2RhbCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29udGVudCA9IFsnQUNUSU9OX1dJTExfREVMRVRFX1JFU09VUkNFX0NPTVBPTkVOVCddO1xuICAgICAgICBjb25zdCBjb21wb25lbnRJZCA9IHRoaXMucmVzb3VyY2VDb21wb25lbnQoKS5pZDtcblxuICAgICAgICB0aGlzLmN1aURpYWxvZ1NlcnZpY2VcbiAgICAgICAgICAgIC5vcGVuKEN1aURlbGV0ZU1vZGFsQ29tcG9uZW50LCB7XG4gICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0RFTEVURV9SRVNPVVJDRV9DT01QT05FTlRfUVVFU1RJT04nLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50LFxuICAgICAgICAgICAgICAgICAgICBkZWxldGU6ICgpID0+IHRoaXMudXRpbGl0eUFwaVNlcnZpY2UuZGVsZXRlQ29tcG9uZW50KHRoaXMudXRpbGl0eUlkKCksIGNvbXBvbmVudElkKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhKSA9PiBkYXRhPy5jYW5jZWxlZCB8fCB0aGlzLnJlc291cmNlQ29tcG9uZW50RGVsZXRlZC5lbWl0KFV0aWxpdHlDb21wb25lbnRUeXBlLlJlc291cmNlcykpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QWRkaW50aW9uYWxSZXNvdXJjZUluZm8oXG4gICAgICAgIHJlc291cmNlczogVXRpbGl0eVN1YmplY3RbXSxcbiAgICAgICAgY29udGVudFR5cGU6IFJlc291cmNlQ29udGVudFR5cGVcbiAgICApOiBPYnNlcnZhYmxlPFJlc291cmNlVXRpbGl0eU1hdGVyaWFsW10+IHtcbiAgICAgICAgY29uc3QgaWRzID0gcmVzb3VyY2VzLm1hcCgocmVzb3VyY2UpID0+IHJlc291cmNlLmlkKTtcbiAgICAgICAgY29uc3QgcmVxdWVzdHMgPSB7XG4gICAgICAgICAgICBbUmVzb3VyY2VDb250ZW50VHlwZS5Db25zdW1hYmxlc106IHRoaXMuZmFjdG9yeUFwaVNlcnZpY2UuZ2V0TWF0ZXJpYWxzQnlJZHMoaWRzKSxcbiAgICAgICAgICAgIFtSZXNvdXJjZUNvbnRlbnRUeXBlLlRvb2xib3hdOiB0aGlzLmZhY3RvcnlBcGlTZXJ2aWNlLmdldFRvb2xzQnlJZHNTdHJlYW0oaWRzKSxcbiAgICAgICAgICAgIFtSZXNvdXJjZUNvbnRlbnRUeXBlLlBhcnRdOiB0aGlzLmZhY3RvcnlBcGlTZXJ2aWNlLmdldFBhcnRzQnlJZHNTdHJlYW0oaWRzKVxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiByZXF1ZXN0c1tjb250ZW50VHlwZV0ucGlwZShcbiAgICAgICAgICAgIHRvQXJyYXkoKSxcbiAgICAgICAgICAgIG1hcCgoZmFjdG9yeUVsZW1lbnRzKSA9PlxuICAgICAgICAgICAgICAgIGZhY3RvcnlFbGVtZW50cy5tYXAoXG4gICAgICAgICAgICAgICAgICAgIChlbGVtZW50LCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucmVzb3VyY2VzW2luZGV4XSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5lbGVtZW50XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSBhcyBSZXNvdXJjZVV0aWxpdHlNYXRlcmlhbFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCJAbGV0IHN0cnVjdHVyZSA9IHJlc291cmNlQ29tcG9uZW50KCkuc3RydWN0dXJlO1xuXG48Y3VpLWNvbnRlbnQtd3JhcHBlclxuICAgIGNsYXNzPVwiY3VzdG9tLXdyYXBwZXJcIlxuICAgICp0cmFuc2xvY289XCJsZXQgdFwiXG4gICAgYmFja2dyb3VuZENvbG9yPVwidmFyKC0tY3VpLWJhc2UtMTApXCJcbiAgICBbZ2FwXT1cIjE2XCJcbj5cbiAgICA8aGVhZGVyXG4gICAgICAgIGN1aUNvbnRlbnRIZWFkZXJcbiAgICAgICAgW2hlYWRpbmddPVwidGl0bGUoKVwiXG4gICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgICAgICAgICAgQGlmICghc3RydWN0dXJlLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIDxjdWktYWxlcnQtaGludFxuICAgICAgICAgICAgICAgICAgICBzdGF0dXM9XCJ3YXJuaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cInQoJ05PX0VOVElUSUVTX0FEREVEJylcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8Y3VpLW9wdGlvbnMtYnV0dG9uIFtvcHRpb25zXT1cIlJFU09VUkNFU19DT01QT05FTlRfT1BUSU9OU1wiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvaGVhZGVyPlxuXG4gICAgPGN1aS1jb250ZW50LXdyYXBwZXIgY2xhc3M9XCJjdXN0b20td3JhcHBlclwiPlxuICAgICAgICBAaWYgKHN0cnVjdHVyZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIDxjdWktcmVzb3VyY2VzLWJsb2NrLXRhYnNcbiAgICAgICAgICAgICAgICBbdXRpbGl0eUlkXT1cInV0aWxpdHlJZCgpXCJcbiAgICAgICAgICAgICAgICBbYnV0dG9uU2xvdF09XCJidXR0b25TbG90XCJcbiAgICAgICAgICAgICAgICBbcmVzb3VyY2VDb21wb25lbnRdPVwicmVzb3VyY2VDb21wb25lbnQoKVwiXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkSW5kZXhdPVwiY3VycmVudFRhYkluZGV4KClcIlxuICAgICAgICAgICAgICAgIChzZWxlY3RlZEluZGV4Q2hhbmdlKT1cImN1cnJlbnRUYWJJbmRleC5zZXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKHJlc291cmNlQWRkZWQpPVwib25SZXNvdXJjZXNBZGRlZCgkZXZlbnQucmVzb3VyY2VzLCAkZXZlbnQuY29udGFpbmVyKVwiXG4gICAgICAgICAgICAgICAgKHJlc291cmNlRGVsZXRlZCk9XCJvblJlc291cmNlU3RydWN0dXJlUmVtb3ZlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGN1aS1yZXNvdXJjZXMtb3B0aW9uc1xuICAgICAgICAgICAgICAgIFt1dGlsaXR5SWRdPVwidXRpbGl0eUlkKClcIlxuICAgICAgICAgICAgICAgIFt0eXBlc109XCJhdmFpbGFibGVUeXBlcygpXCJcbiAgICAgICAgICAgICAgICAocmVzb3VyY2VBZGRlZCk9XCJvbkFkZFJlc291cmNlc1R5cGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgPC9jdWktY29udGVudC13cmFwcGVyPlxuPC9jdWktY29udGVudC13cmFwcGVyPlxuXG48bmctdGVtcGxhdGUgI2J1dHRvblNsb3Q+XG4gICAgPGN1aS1yZXNvdXJjZXMtb3B0aW9uc1xuICAgICAgICBbdXRpbGl0eUlkXT1cInV0aWxpdHlJZCgpXCJcbiAgICAgICAgW3R5cGVzXT1cImF2YWlsYWJsZVR5cGVzKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIWF2YWlsYWJsZVR5cGVzKCkubGVuZ3RoXCJcbiAgICAgICAgYXBwZWFyYW5jZT1cImdob3N0XCJcbiAgICAgICAgKHJlc291cmNlQWRkZWQpPVwib25BZGRSZXNvdXJjZXNUeXBlKCRldmVudClcIlxuICAgIC8+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,2 @@
1
+ export { ResourcesBlockTabsComponent } from './resources-block-tabs.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3dpZGdldHMvdWkvcmVzb3VyY2VzLWJsb2NrLXRhYnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBSZXNvdXJjZXNCbG9ja1RhYnNDb21wb25lbnQgfSBmcm9tICcuL3Jlc291cmNlcy1ibG9jay10YWJzLmNvbXBvbmVudCc7XG4iXX0=