@alauda-fe/dynamic-plugin-shared 0.0.1-alpha.0

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 (415) hide show
  1. package/README.md +7 -0
  2. package/array-form-table/base-string-map-form.component.d.ts +22 -0
  3. package/array-form-table/form/component.d.ts +106 -0
  4. package/array-form-table/form/index.d.ts +2 -0
  5. package/array-form-table/index.d.ts +10 -0
  6. package/array-form-table/key-value-form/component.d.ts +38 -0
  7. package/array-form-table/key-value-table/component.d.ts +9 -0
  8. package/array-form-table/string-array-form/component.d.ts +41 -0
  9. package/assets/images/abnormal.svg +1 -0
  10. package/assets/images/dark/disconnected.svg +1 -0
  11. package/assets/images/dark/license-abnormal.svg +1 -0
  12. package/assets/images/dark/network-abnormal.svg +1 -0
  13. package/assets/images/dark/no-data.svg +1 -0
  14. package/assets/images/dark/no-message.svg +1 -0
  15. package/assets/images/dark/no-permission.svg +1 -0
  16. package/assets/images/dark/no_realtime_alarm.svg +1 -0
  17. package/assets/images/dark/not-deployed.svg +1 -0
  18. package/assets/images/dark/not-found.svg +1 -0
  19. package/assets/images/dark/not-supported.svg +1 -0
  20. package/assets/images/dark/system-abnormal.svg +1 -0
  21. package/assets/images/light/disconnected.svg +1 -0
  22. package/assets/images/light/license-abnormal.svg +1 -0
  23. package/assets/images/light/network-abnormal.svg +1 -0
  24. package/assets/images/light/no-data.svg +1 -0
  25. package/assets/images/light/no-message.svg +1 -0
  26. package/assets/images/light/no-permission.svg +1 -0
  27. package/assets/images/light/no_realtime_alarm.svg +1 -0
  28. package/assets/images/light/not-deployed.svg +1 -0
  29. package/assets/images/light/not-found.svg +1 -0
  30. package/assets/images/light/not-supported.svg +1 -0
  31. package/assets/images/light/system-abnormal.svg +1 -0
  32. package/assets/images/no-data.png +0 -0
  33. package/async-data/async-data-loader.d.ts +31 -0
  34. package/async-data/error-page/component.d.ts +30 -0
  35. package/async-data/index.d.ts +13 -0
  36. package/async-data/page-state/component.d.ts +21 -0
  37. package/async-data/types.d.ts +29 -0
  38. package/code-editor/code-display-dialog/component.d.ts +17 -0
  39. package/code-editor/code-editor-configs.d.ts +19 -0
  40. package/code-editor/index.d.ts +10 -0
  41. package/code-editor/k8s-yaml-display-dialog/component.d.ts +16 -0
  42. package/code-editor/resource-yaml-display/component.d.ts +21 -0
  43. package/components/card-section/card-section.component.d.ts +9 -0
  44. package/components/confirm-delete/confirm-delete.component.d.ts +57 -0
  45. package/components/confirm-delete/utils.d.ts +25 -0
  46. package/components/current-time/component.d.ts +14 -0
  47. package/components/custom-columns-setting/component.d.ts +16 -0
  48. package/components/custom-columns-setting/index.d.ts +1 -0
  49. package/components/date-range-picker/component.d.ts +55 -0
  50. package/components/date-range-picker/index.d.ts +3 -0
  51. package/components/date-range-picker/type.d.ts +36 -0
  52. package/components/date-range-picker/util.d.ts +11 -0
  53. package/components/disabled-container/disabled-container.component.d.ts +21 -0
  54. package/components/disabled-container/index.d.ts +7 -0
  55. package/components/field-set/column/component.d.ts +10 -0
  56. package/components/field-set/group/component.d.ts +6 -0
  57. package/components/field-set/index.d.ts +7 -0
  58. package/components/field-set/item/component.d.ts +13 -0
  59. package/components/foldable-block/component.d.ts +17 -0
  60. package/components/foldable-item-in-table/component.d.ts +21 -0
  61. package/components/help-document/component.d.ts +29 -0
  62. package/components/help-document/directive.d.ts +20 -0
  63. package/components/help-document/index.d.ts +8 -0
  64. package/components/help-document/service.d.ts +20 -0
  65. package/components/index.d.ts +31 -0
  66. package/components/loading-mask/loading-mask.component.d.ts +13 -0
  67. package/components/page-guard/component/component.d.ts +40 -0
  68. package/components/page-guard/component/helper-directives.d.ts +17 -0
  69. package/components/page-guard/component/page-guard.type.d.ts +86 -0
  70. package/components/page-guard/index.d.ts +12 -0
  71. package/components/password-input/component.d.ts +39 -0
  72. package/components/pod-status/component.d.ts +25 -0
  73. package/components/pod-status/index.d.ts +3 -0
  74. package/components/pod-status/status.d.ts +4 -0
  75. package/components/pod-status/typings.d.ts +16 -0
  76. package/components/relative-time/component.d.ts +15 -0
  77. package/components/resource-label/component.d.ts +25 -0
  78. package/components/resource-multi-select/component.d.ts +41 -0
  79. package/components/resource-multi-select/util.d.ts +10 -0
  80. package/components/search-panel/component.d.ts +16 -0
  81. package/components/search-panel/helper.directive.d.ts +5 -0
  82. package/components/search-panel/search-item/component.d.ts +7 -0
  83. package/components/select-prefix-label/directive.d.ts +17 -0
  84. package/components/status-icon/status-icon.component.d.ts +16 -0
  85. package/components/tags-label/component.d.ts +56 -0
  86. package/components/terminating-tag/component.d.ts +7 -0
  87. package/components/text-ellipsis/component.d.ts +9 -0
  88. package/components/text-tooltip/directive.d.ts +21 -0
  89. package/components/text-with-url/component.d.ts +12 -0
  90. package/components/upload-file/component.d.ts +32 -0
  91. package/components/zero-state/zero-state.component.d.ts +16 -0
  92. package/constants/common.d.ts +64 -0
  93. package/constants/index.d.ts +6 -0
  94. package/constants/k8s.d.ts +12 -0
  95. package/constants/patterns.d.ts +124 -0
  96. package/constants/resource-definitions.d.ts +414 -0
  97. package/constants/status-icons.d.ts +34 -0
  98. package/constants/timezones.d.ts +6 -0
  99. package/directives/aui-code-editor.directive.d.ts +13 -0
  100. package/directives/click-outside.directive.d.ts +12 -0
  101. package/directives/declare.directive.d.ts +8 -0
  102. package/directives/disabled.directive.d.ts +28 -0
  103. package/directives/effect-directive/coerce-number.directive.d.ts +8 -0
  104. package/directives/effect-directive/e2e-attribute-binding.directive.d.ts +10 -0
  105. package/directives/effect-directive/event.directive.d.ts +47 -0
  106. package/directives/effect-directive/index.d.ts +12 -0
  107. package/directives/effect-directive/min-max.directive.d.ts +30 -0
  108. package/directives/effect-directive/trim.directive.d.ts +7 -0
  109. package/directives/effect-directive/validators.directive.d.ts +12 -0
  110. package/directives/feature-gate.directive.d.ts +31 -0
  111. package/directives/index.d.ts +12 -0
  112. package/directives/last-form-item.directive.d.ts +8 -0
  113. package/directives/readonly-field.directive.d.ts +39 -0
  114. package/directives/resize.directive.d.ts +17 -0
  115. package/directives/scroll-border-observer.directive.d.ts +23 -0
  116. package/directives/scroll-to-first-invalid.directive.d.ts +24 -0
  117. package/directives/value-trace.directive.d.ts +27 -0
  118. package/esm2022/alauda-fe-dynamic-plugin-shared.mjs +5 -0
  119. package/esm2022/array-form-table/base-string-map-form.component.mjs +92 -0
  120. package/esm2022/array-form-table/form/component.mjs +266 -0
  121. package/esm2022/array-form-table/form/index.mjs +12 -0
  122. package/esm2022/array-form-table/index.mjs +11 -0
  123. package/esm2022/array-form-table/key-value-form/component.mjs +135 -0
  124. package/esm2022/array-form-table/key-value-table/component.mjs +24 -0
  125. package/esm2022/array-form-table/string-array-form/component.mjs +168 -0
  126. package/esm2022/async-data/async-data-loader.mjs +63 -0
  127. package/esm2022/async-data/error-page/component.mjs +54 -0
  128. package/esm2022/async-data/index.mjs +18 -0
  129. package/esm2022/async-data/page-state/component.mjs +62 -0
  130. package/esm2022/async-data/types.mjs +6 -0
  131. package/esm2022/code-editor/code-display-dialog/component.mjs +35 -0
  132. package/esm2022/code-editor/code-editor-configs.mjs +66 -0
  133. package/esm2022/code-editor/index.mjs +11 -0
  134. package/esm2022/code-editor/k8s-yaml-display-dialog/component.mjs +26 -0
  135. package/esm2022/code-editor/resource-yaml-display/component.mjs +67 -0
  136. package/esm2022/components/card-section/card-section.component.mjs +24 -0
  137. package/esm2022/components/confirm-delete/confirm-delete.component.mjs +192 -0
  138. package/esm2022/components/confirm-delete/utils.mjs +8 -0
  139. package/esm2022/components/current-time/component.mjs +39 -0
  140. package/esm2022/components/custom-columns-setting/component.mjs +75 -0
  141. package/esm2022/components/custom-columns-setting/index.mjs +2 -0
  142. package/esm2022/components/date-range-picker/component.mjs +215 -0
  143. package/esm2022/components/date-range-picker/index.mjs +4 -0
  144. package/esm2022/components/date-range-picker/type.mjs +2 -0
  145. package/esm2022/components/date-range-picker/util.mjs +57 -0
  146. package/esm2022/components/disabled-container/disabled-container.component.mjs +81 -0
  147. package/esm2022/components/disabled-container/index.mjs +8 -0
  148. package/esm2022/components/field-set/column/component.mjs +25 -0
  149. package/esm2022/components/field-set/group/component.mjs +16 -0
  150. package/esm2022/components/field-set/index.mjs +14 -0
  151. package/esm2022/components/field-set/item/component.mjs +41 -0
  152. package/esm2022/components/foldable-block/component.mjs +60 -0
  153. package/esm2022/components/foldable-item-in-table/component.mjs +56 -0
  154. package/esm2022/components/help-document/component.mjs +69 -0
  155. package/esm2022/components/help-document/directive.mjs +70 -0
  156. package/esm2022/components/help-document/index.mjs +9 -0
  157. package/esm2022/components/help-document/service.mjs +43 -0
  158. package/esm2022/components/index.mjs +32 -0
  159. package/esm2022/components/loading-mask/loading-mask.component.mjs +35 -0
  160. package/esm2022/components/page-guard/component/component.mjs +101 -0
  161. package/esm2022/components/page-guard/component/helper-directives.mjs +51 -0
  162. package/esm2022/components/page-guard/component/page-guard.type.mjs +82 -0
  163. package/esm2022/components/page-guard/index.mjs +19 -0
  164. package/esm2022/components/password-input/component.mjs +143 -0
  165. package/esm2022/components/pod-status/component.mjs +49 -0
  166. package/esm2022/components/pod-status/index.mjs +4 -0
  167. package/esm2022/components/pod-status/status.mjs +84 -0
  168. package/esm2022/components/pod-status/typings.mjs +19 -0
  169. package/esm2022/components/relative-time/component.mjs +58 -0
  170. package/esm2022/components/resource-label/component.mjs +100 -0
  171. package/esm2022/components/resource-multi-select/component.mjs +152 -0
  172. package/esm2022/components/resource-multi-select/util.mjs +24 -0
  173. package/esm2022/components/search-panel/component.mjs +51 -0
  174. package/esm2022/components/search-panel/helper.directive.mjs +14 -0
  175. package/esm2022/components/search-panel/search-item/component.mjs +15 -0
  176. package/esm2022/components/select-prefix-label/directive.mjs +89 -0
  177. package/esm2022/components/status-icon/status-icon.component.mjs +56 -0
  178. package/esm2022/components/tags-label/component.mjs +224 -0
  179. package/esm2022/components/terminating-tag/component.mjs +16 -0
  180. package/esm2022/components/text-ellipsis/component.mjs +28 -0
  181. package/esm2022/components/text-tooltip/directive.mjs +71 -0
  182. package/esm2022/components/text-with-url/component.mjs +40 -0
  183. package/esm2022/components/upload-file/component.mjs +95 -0
  184. package/esm2022/components/zero-state/zero-state.component.mjs +51 -0
  185. package/esm2022/constants/common.mjs +86 -0
  186. package/esm2022/constants/index.mjs +7 -0
  187. package/esm2022/constants/k8s.mjs +13 -0
  188. package/esm2022/constants/patterns.mjs +142 -0
  189. package/esm2022/constants/resource-definitions.mjs +424 -0
  190. package/esm2022/constants/status-icons.mjs +65 -0
  191. package/esm2022/constants/timezones.mjs +234 -0
  192. package/esm2022/directives/aui-code-editor.directive.mjs +30 -0
  193. package/esm2022/directives/click-outside.directive.mjs +49 -0
  194. package/esm2022/directives/declare.directive.mjs +27 -0
  195. package/esm2022/directives/disabled.directive.mjs +76 -0
  196. package/esm2022/directives/effect-directive/coerce-number.directive.mjs +54 -0
  197. package/esm2022/directives/effect-directive/e2e-attribute-binding.directive.mjs +57 -0
  198. package/esm2022/directives/effect-directive/event.directive.mjs +129 -0
  199. package/esm2022/directives/effect-directive/index.mjs +21 -0
  200. package/esm2022/directives/effect-directive/min-max.directive.mjs +107 -0
  201. package/esm2022/directives/effect-directive/trim.directive.mjs +40 -0
  202. package/esm2022/directives/effect-directive/validators.directive.mjs +43 -0
  203. package/esm2022/directives/feature-gate.directive.mjs +90 -0
  204. package/esm2022/directives/index.mjs +13 -0
  205. package/esm2022/directives/last-form-item.directive.mjs +18 -0
  206. package/esm2022/directives/readonly-field.directive.mjs +145 -0
  207. package/esm2022/directives/resize.directive.mjs +39 -0
  208. package/esm2022/directives/scroll-border-observer.directive.mjs +77 -0
  209. package/esm2022/directives/scroll-to-first-invalid.directive.mjs +126 -0
  210. package/esm2022/directives/value-trace.directive.mjs +61 -0
  211. package/esm2022/form/base-form-container.mjs +126 -0
  212. package/esm2022/form/base-nested-form-control.mjs +190 -0
  213. package/esm2022/form/errors-mapper/base-errors-mapper.mjs +41 -0
  214. package/esm2022/form/errors-mapper/default-errors-mapper.service.mjs +65 -0
  215. package/esm2022/form/errors-mapper/errors-mapper-component/component.mjs +53 -0
  216. package/esm2022/form/errors-mapper/errors-mapper.directive.mjs +109 -0
  217. package/esm2022/form/errors-mapper/index.mjs +10 -0
  218. package/esm2022/form/errors-mapper/types.mjs +2 -0
  219. package/esm2022/form/index.mjs +6 -0
  220. package/esm2022/form/utils.mjs +61 -0
  221. package/esm2022/form/validators/async-function-validator.directive.mjs +49 -0
  222. package/esm2022/form/validators/dns1123-subdomain.mjs +42 -0
  223. package/esm2022/form/validators/function-validator.directive.mjs +49 -0
  224. package/esm2022/form/validators/index.mjs +10 -0
  225. package/esm2022/form/validators/maxlength-minlength-validator.directive.mjs +71 -0
  226. package/esm2022/form/validators/not-be-validator.directive.mjs +56 -0
  227. package/esm2022/form/validators/one-of-validator.directive.mjs +57 -0
  228. package/esm2022/form/validators/resource-limit.mjs +79 -0
  229. package/esm2022/form/validators/strong-password/index.mjs +4 -0
  230. package/esm2022/form/validators/strong-password/strong-password-tooltip/component.mjs +15 -0
  231. package/esm2022/form/validators/strong-password/strong-password-validator.directive.mjs +171 -0
  232. package/esm2022/form/validators/strong-password/strong-password-validator.module.mjs +36 -0
  233. package/esm2022/form/validators/utils.mjs +155 -0
  234. package/esm2022/index.mjs +15 -0
  235. package/esm2022/k8s-resource-list/footer/component.mjs +156 -0
  236. package/esm2022/k8s-resource-list/index.mjs +18 -0
  237. package/esm2022/k8s-resource-list/k8s-resource-list.mjs +224 -0
  238. package/esm2022/k8s-resource-list/k8s-resource-paged-list.mjs +174 -0
  239. package/esm2022/k8s-resource-list/types.mjs +11 -0
  240. package/esm2022/k8s-resource-list/utils.mjs +84 -0
  241. package/esm2022/k8s-shared/constants.mjs +53 -0
  242. package/esm2022/k8s-shared/index.mjs +12 -0
  243. package/esm2022/k8s-shared/k8s-resource-translate-key.pipe.mjs +31 -0
  244. package/esm2022/k8s-shared/k8s-shared-util.service.mjs +152 -0
  245. package/esm2022/k8s-shared/resource-mark/component.mjs +54 -0
  246. package/esm2022/k8s-shared/resource-mark/util.mjs +137 -0
  247. package/esm2022/k8s-shared/update-description-dialog/component.mjs +66 -0
  248. package/esm2022/k8s-shared/update-display-name-dialog/component.mjs +59 -0
  249. package/esm2022/k8s-shared/update-key-value-dialog/component.mjs +76 -0
  250. package/esm2022/page-deactivate/deactivate.directive.mjs +50 -0
  251. package/esm2022/page-deactivate/deactivate.guard.mjs +41 -0
  252. package/esm2022/page-deactivate/deactivate.service.mjs +78 -0
  253. package/esm2022/page-deactivate/index.mjs +4 -0
  254. package/esm2022/pipes/calc.pipe.mjs +21 -0
  255. package/esm2022/pipes/cron-human-readable.pipe.mjs +30 -0
  256. package/esm2022/pipes/crontab-next.pipe.mjs +67 -0
  257. package/esm2022/pipes/duration.pipe.mjs +51 -0
  258. package/esm2022/pipes/field-not-available.pipe.mjs +25 -0
  259. package/esm2022/pipes/img-header.pipe.mjs +18 -0
  260. package/esm2022/pipes/img-theme.pipe.mjs +38 -0
  261. package/esm2022/pipes/index.mjs +19 -0
  262. package/esm2022/pipes/keyvalue.pipe.mjs +20 -0
  263. package/esm2022/pipes/marked.pipe.mjs +18 -0
  264. package/esm2022/pipes/minimum-format.pipe.mjs +25 -0
  265. package/esm2022/pipes/page-env.pipe.mjs +69 -0
  266. package/esm2022/pipes/parse-json-translate.pipe.mjs +28 -0
  267. package/esm2022/pipes/parse-json.pipe.mjs +22 -0
  268. package/esm2022/pipes/pure.pipe.mjs +26 -0
  269. package/esm2022/pipes/safe.pipe.mjs +49 -0
  270. package/esm2022/pipes/sanitize.pipe.mjs +31 -0
  271. package/esm2022/pipes/time.pipe.mjs +113 -0
  272. package/esm2022/pipes/timezone-display.pipe.mjs +21 -0
  273. package/esm2022/services/form-row-duplicate/form-row-duplicate.service.mjs +280 -0
  274. package/esm2022/services/index.mjs +4 -0
  275. package/esm2022/services/on-resize.service.mjs +52 -0
  276. package/esm2022/services/yaml-util.service.mjs +99 -0
  277. package/esm2022/types/common.mjs +6 -0
  278. package/esm2022/types/helpers.mjs +12 -0
  279. package/esm2022/types/index.mjs +9 -0
  280. package/esm2022/types/k8s/core.mjs +2 -0
  281. package/esm2022/types/k8s/crd.mjs +57 -0
  282. package/esm2022/types/k8s/index.mjs +4 -0
  283. package/esm2022/types/k8s/raw.mjs +77 -0
  284. package/esm2022/types/schema.mjs +2 -0
  285. package/esm2022/utils/browser.mjs +21 -0
  286. package/esm2022/utils/cache-store.mjs +83 -0
  287. package/esm2022/utils/color-helpers.mjs +6 -0
  288. package/esm2022/utils/common.mjs +315 -0
  289. package/esm2022/utils/cron-util.mjs +44 -0
  290. package/esm2022/utils/decorators.mjs +137 -0
  291. package/esm2022/utils/disabled-state.mjs +47 -0
  292. package/esm2022/utils/format-number.mjs +227 -0
  293. package/esm2022/utils/index.mjs +24 -0
  294. package/esm2022/utils/local-storage-constants.mjs +2 -0
  295. package/esm2022/utils/node.mjs +18 -0
  296. package/esm2022/utils/observable.mjs +32 -0
  297. package/esm2022/utils/operators.mjs +38 -0
  298. package/esm2022/utils/request-pool.mjs +37 -0
  299. package/esm2022/utils/resources.mjs +66 -0
  300. package/esm2022/utils/router.mjs +20 -0
  301. package/esm2022/utils/sort-fn.mjs +7 -0
  302. package/esm2022/utils/tree.mjs +79 -0
  303. package/esm2022/utils/unit.mjs +191 -0
  304. package/esm2022/utils/version.mjs +76 -0
  305. package/esm2022/utils/with-load-state.mjs +21 -0
  306. package/esm2022/utils/workload.mjs +183 -0
  307. package/esm2022/utils/workspace.mjs +59 -0
  308. package/esm2022/utils/yaml.mjs +54 -0
  309. package/fesm2022/alauda-fe-dynamic-plugin-shared.mjs +11151 -0
  310. package/fesm2022/alauda-fe-dynamic-plugin-shared.mjs.map +1 -0
  311. package/form/base-form-container.d.ts +41 -0
  312. package/form/base-nested-form-control.d.ts +58 -0
  313. package/form/errors-mapper/base-errors-mapper.d.ts +13 -0
  314. package/form/errors-mapper/default-errors-mapper.service.d.ts +10 -0
  315. package/form/errors-mapper/errors-mapper-component/component.d.ts +19 -0
  316. package/form/errors-mapper/errors-mapper.directive.d.ts +39 -0
  317. package/form/errors-mapper/index.d.ts +6 -0
  318. package/form/errors-mapper/types.d.ts +16 -0
  319. package/form/index.d.ts +5 -0
  320. package/form/utils.d.ts +40 -0
  321. package/form/validators/async-function-validator.directive.d.ts +11 -0
  322. package/form/validators/dns1123-subdomain.d.ts +28 -0
  323. package/form/validators/function-validator.directive.d.ts +11 -0
  324. package/form/validators/index.d.ts +9 -0
  325. package/form/validators/maxlength-minlength-validator.directive.d.ts +20 -0
  326. package/form/validators/not-be-validator.directive.d.ts +12 -0
  327. package/form/validators/one-of-validator.directive.d.ts +12 -0
  328. package/form/validators/resource-limit.d.ts +17 -0
  329. package/form/validators/strong-password/index.d.ts +3 -0
  330. package/form/validators/strong-password/strong-password-tooltip/component.d.ts +6 -0
  331. package/form/validators/strong-password/strong-password-validator.directive.d.ts +34 -0
  332. package/form/validators/strong-password/strong-password-validator.module.d.ts +12 -0
  333. package/form/validators/utils.d.ts +67 -0
  334. package/index.d.ts +14 -0
  335. package/k8s-resource-list/footer/component.d.ts +42 -0
  336. package/k8s-resource-list/index.d.ts +13 -0
  337. package/k8s-resource-list/k8s-resource-list.d.ts +42 -0
  338. package/k8s-resource-list/k8s-resource-paged-list.d.ts +61 -0
  339. package/k8s-resource-list/types.d.ts +70 -0
  340. package/k8s-resource-list/utils.d.ts +19 -0
  341. package/k8s-shared/constants.d.ts +7 -0
  342. package/k8s-shared/index.d.ts +11 -0
  343. package/k8s-shared/k8s-resource-translate-key.pipe.d.ts +9 -0
  344. package/k8s-shared/k8s-shared-util.service.d.ts +48 -0
  345. package/k8s-shared/resource-mark/component.d.ts +16 -0
  346. package/k8s-shared/resource-mark/util.d.ts +2 -0
  347. package/k8s-shared/update-description-dialog/component.d.ts +33 -0
  348. package/k8s-shared/update-display-name-dialog/component.d.ts +27 -0
  349. package/k8s-shared/update-key-value-dialog/component.d.ts +38 -0
  350. package/package.json +56 -0
  351. package/page-deactivate/deactivate.directive.d.ts +18 -0
  352. package/page-deactivate/deactivate.guard.d.ts +13 -0
  353. package/page-deactivate/deactivate.service.d.ts +28 -0
  354. package/page-deactivate/index.d.ts +3 -0
  355. package/pipes/calc.pipe.d.ts +11 -0
  356. package/pipes/cron-human-readable.pipe.d.ts +9 -0
  357. package/pipes/crontab-next.pipe.d.ts +18 -0
  358. package/pipes/duration.pipe.d.ts +10 -0
  359. package/pipes/field-not-available.pipe.d.ts +13 -0
  360. package/pipes/img-header.pipe.d.ts +7 -0
  361. package/pipes/img-theme.pipe.d.ts +13 -0
  362. package/pipes/index.d.ts +18 -0
  363. package/pipes/keyvalue.pipe.d.ts +9 -0
  364. package/pipes/marked.pipe.d.ts +8 -0
  365. package/pipes/minimum-format.pipe.d.ts +10 -0
  366. package/pipes/page-env.pipe.d.ts +34 -0
  367. package/pipes/parse-json-translate.pipe.d.ts +8 -0
  368. package/pipes/parse-json.pipe.d.ts +7 -0
  369. package/pipes/pure.pipe.d.ts +17 -0
  370. package/pipes/safe.pipe.d.ts +10 -0
  371. package/pipes/sanitize.pipe.d.ts +10 -0
  372. package/pipes/time.pipe.d.ts +40 -0
  373. package/pipes/timezone-display.pipe.d.ts +10 -0
  374. package/services/form-row-duplicate/form-row-duplicate.service.d.ts +45 -0
  375. package/services/index.d.ts +3 -0
  376. package/services/on-resize.service.d.ts +20 -0
  377. package/services/yaml-util.service.d.ts +20 -0
  378. package/styles/ansi-color.scss +131 -0
  379. package/styles/global.scss +904 -0
  380. package/styles/lib.scss +1 -0
  381. package/styles/markdown-body.scss +107 -0
  382. package/styles/mixins.scss +710 -0
  383. package/styles/var.scss +30 -0
  384. package/types/common.d.ts +42 -0
  385. package/types/helpers.d.ts +35 -0
  386. package/types/index.d.ts +8 -0
  387. package/types/k8s/core.d.ts +100 -0
  388. package/types/k8s/crd.d.ts +497 -0
  389. package/types/k8s/index.d.ts +3 -0
  390. package/types/k8s/raw.d.ts +860 -0
  391. package/types/schema.d.ts +14 -0
  392. package/utils/browser.d.ts +4 -0
  393. package/utils/cache-store.d.ts +35 -0
  394. package/utils/color-helpers.d.ts +4 -0
  395. package/utils/common.d.ts +64 -0
  396. package/utils/cron-util.d.ts +8 -0
  397. package/utils/decorators.d.ts +14 -0
  398. package/utils/disabled-state.d.ts +20 -0
  399. package/utils/format-number.d.ts +11 -0
  400. package/utils/index.d.ts +23 -0
  401. package/utils/local-storage-constants.d.ts +1 -0
  402. package/utils/node.d.ts +8 -0
  403. package/utils/observable.d.ts +5 -0
  404. package/utils/operators.d.ts +22 -0
  405. package/utils/request-pool.d.ts +12 -0
  406. package/utils/resources.d.ts +19 -0
  407. package/utils/router.d.ts +3 -0
  408. package/utils/sort-fn.d.ts +2 -0
  409. package/utils/tree.d.ts +16 -0
  410. package/utils/unit.d.ts +21 -0
  411. package/utils/version.d.ts +39 -0
  412. package/utils/with-load-state.d.ts +11 -0
  413. package/utils/workload.d.ts +66 -0
  414. package/utils/workspace.d.ts +28 -0
  415. package/utils/yaml.d.ts +11 -0
@@ -0,0 +1,54 @@
1
+ import { TagModule, ThemeService, TooltipModule } from '@alauda/ui';
2
+ import { CommonModule } from '@angular/common';
3
+ import { Component, ChangeDetectionStrategy, input, computed, Input, } from '@angular/core';
4
+ import { toSignal } from '@angular/core/rxjs-interop';
5
+ import { getResourceMark, getResourceColor } from './util';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@alauda/ui";
8
+ export class K8sResourceMarkComponent {
9
+ constructor(theme) {
10
+ this.theme = theme;
11
+ this.size = 'mini';
12
+ this.currentTheme = toSignal(this.theme.currentTheme$);
13
+ this.kind = input();
14
+ this.apiVersion = input();
15
+ this.resource = input();
16
+ this.mark = computed(() => {
17
+ const apiGroup = (this.resource()?.apiVersion || this.apiVersion())?.split('/')?.[0];
18
+ return this.resource()
19
+ ? getResourceMark(this.resource()?.kind, apiGroup)
20
+ : getResourceMark(this.kind(), apiGroup);
21
+ });
22
+ this.color = computed(() => {
23
+ const kind = this.resource()?.kind || this.kind();
24
+ return `#fff,${getResourceColor(kind, this.currentTheme())}`;
25
+ });
26
+ }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: K8sResourceMarkComponent, deps: [{ token: i1.ThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.1.1", type: K8sResourceMarkComponent, isStandalone: true, selector: "acl-k8s-mark", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null }, kind: { classPropertyName: "kind", publicName: "kind", isSignal: true, isRequired: false, transformFunction: null }, apiVersion: { classPropertyName: "apiVersion", publicName: "apiVersion", isSignal: true, isRequired: false, transformFunction: null }, resource: { classPropertyName: "resource", publicName: "resource", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
29
+ <aui-tag
30
+ [size]="size"
31
+ [solid]="true"
32
+ [color]="color()"
33
+ [auiTooltip]="resource()?.kind || kind()"
34
+ >
35
+ {{ mark() }}
36
+ </aui-tag>
37
+ `, isInline: true, styles: [":host aui-tag{margin-right:8px}:is() .aui-tag{min-width:24px;justify-content:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i1.TagComponent, selector: "aui-tag", inputs: ["type", "size", "closeable", "border", "solid", "invalid", "round", "color", "allowClick"], outputs: ["close"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i1.TooltipDirective, selector: "[auiTooltip]", inputs: ["auiTooltip", "auiTooltipContext", "auiTooltipClass", "auiTooltipType", "auiTooltipPosition", "auiTooltipTrigger", "auiTooltipDisabled", "auiTooltipHideOnClick", "auiTooltipAnimType"], outputs: ["auiTooltipVisibleChange"], exportAs: ["auiTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: K8sResourceMarkComponent, decorators: [{
40
+ type: Component,
41
+ args: [{ selector: 'acl-k8s-mark', standalone: true, imports: [CommonModule, TagModule, TooltipModule], template: `
42
+ <aui-tag
43
+ [size]="size"
44
+ [solid]="true"
45
+ [color]="color()"
46
+ [auiTooltip]="resource()?.kind || kind()"
47
+ >
48
+ {{ mark() }}
49
+ </aui-tag>
50
+ `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host aui-tag{margin-right:8px}:is() .aui-tag{min-width:24px;justify-content:center}\n"] }]
51
+ }], ctorParameters: () => [{ type: i1.ThemeService }], propDecorators: { size: [{
52
+ type: Input
53
+ }] } });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL2s4cy1zaGFyZWQvcmVzb3VyY2UtbWFyay9jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULHVCQUF1QixFQUN2QixLQUFLLEVBQ0wsUUFBUSxFQUNSLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7O0FBK0IzRCxNQUFNLE9BQU8sd0JBQXdCO0lBTW5DLFlBQW9CLEtBQW1CO1FBQW5CLFVBQUssR0FBTCxLQUFLLENBQWM7UUFKdkMsU0FBSSxHQUFxQixNQUFNLENBQUM7UUFFaEMsaUJBQVksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUlsRCxTQUFJLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDdkIsZUFBVSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQzdCLGFBQVEsR0FBRyxLQUFLLEVBQXNCLENBQUM7UUFFdkMsU0FBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDbkIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FDeEUsR0FBRyxDQUNKLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDcEIsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQztnQkFDbEQsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7UUFFSCxVQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNwQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsRCxPQUFPLFFBQVEsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDL0QsQ0FBQyxDQUFDLENBQUM7SUFsQnVDLENBQUM7OEdBTmhDLHdCQUF3QjtrR0FBeEIsd0JBQXdCLHVrQkF6QnpCOzs7Ozs7Ozs7R0FTVCwrSkFWUyxZQUFZLDhCQUFFLFNBQVMsME5BQUUsYUFBYTs7MkZBMEJyQyx3QkFBd0I7a0JBN0JwQyxTQUFTOytCQUNFLGNBQWMsY0FDWixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLGFBQWEsQ0FBQyxZQUN2Qzs7Ozs7Ozs7O0dBU1QsbUJBY2dCLHVCQUF1QixDQUFDLE1BQU07aUZBSS9DLElBQUk7c0JBREgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhZ01vZHVsZSwgVGhlbWVTZXJ2aWNlLCBUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgaW5wdXQsXG4gIGNvbXB1dGVkLFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuaW1wb3J0IHsgS3ViZXJuZXRlc1Jlc291cmNlIH0gZnJvbSAnLi4vLi4vdHlwZXMvazhzL2NvcmUnO1xuXG5pbXBvcnQgeyBnZXRSZXNvdXJjZU1hcmssIGdldFJlc291cmNlQ29sb3IgfSBmcm9tICcuL3V0aWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtazhzLW1hcmsnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUYWdNb2R1bGUsIFRvb2x0aXBNb2R1bGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxhdWktdGFnXG4gICAgICBbc2l6ZV09XCJzaXplXCJcbiAgICAgIFtzb2xpZF09XCJ0cnVlXCJcbiAgICAgIFtjb2xvcl09XCJjb2xvcigpXCJcbiAgICAgIFthdWlUb29sdGlwXT1cInJlc291cmNlKCk/LmtpbmQgfHwga2luZCgpXCJcbiAgICA+XG4gICAgICB7eyBtYXJrKCkgfX1cbiAgICA8L2F1aS10YWc+XG4gIGAsXG4gIHN0eWxlczogYFxuICAgIDpob3N0IHtcbiAgICAgIGF1aS10YWcge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgOjpuZy1kZWVwIHtcbiAgICAgICAgICAuYXVpLXRhZyB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDI0cHg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBLOHNSZXNvdXJjZU1hcmtDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBzaXplOiAnc21hbGwnIHwgJ21pbmknID0gJ21pbmknO1xuXG4gIGN1cnJlbnRUaGVtZSA9IHRvU2lnbmFsKHRoaXMudGhlbWUuY3VycmVudFRoZW1lJCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0aGVtZTogVGhlbWVTZXJ2aWNlKSB7fVxuXG4gIGtpbmQgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIGFwaVZlcnNpb24gPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHJlc291cmNlID0gaW5wdXQ8S3ViZXJuZXRlc1Jlc291cmNlPigpO1xuXG4gIG1hcmsgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgYXBpR3JvdXAgPSAodGhpcy5yZXNvdXJjZSgpPy5hcGlWZXJzaW9uIHx8IHRoaXMuYXBpVmVyc2lvbigpKT8uc3BsaXQoXG4gICAgICAnLycsXG4gICAgKT8uWzBdO1xuICAgIHJldHVybiB0aGlzLnJlc291cmNlKClcbiAgICAgID8gZ2V0UmVzb3VyY2VNYXJrKHRoaXMucmVzb3VyY2UoKT8ua2luZCwgYXBpR3JvdXApXG4gICAgICA6IGdldFJlc291cmNlTWFyayh0aGlzLmtpbmQoKSwgYXBpR3JvdXApO1xuICB9KTtcblxuICBjb2xvciA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBraW5kID0gdGhpcy5yZXNvdXJjZSgpPy5raW5kIHx8IHRoaXMua2luZCgpO1xuICAgIHJldHVybiBgI2ZmZiwke2dldFJlc291cmNlQ29sb3Ioa2luZCwgdGhpcy5jdXJyZW50VGhlbWUoKSl9YDtcbiAgfSk7XG59XG4iXX0=
@@ -0,0 +1,137 @@
1
+ const RESOURCE_MARKS = {
2
+ Namespace: {
3
+ abbr: 'NS',
4
+ colors: { light: '#CFAF0F', dark: '#B59618' },
5
+ },
6
+ Project: {
7
+ abbr: 'PR',
8
+ colors: { light: '#2A5ADF', dark: '#2D54D3' },
9
+ },
10
+ Service: {
11
+ abbr: 'SVC',
12
+ colors: { light: '#CC9213', dark: '#CC9827' },
13
+ },
14
+ Prometheus: {
15
+ abbr: 'PROM',
16
+ colors: { light: '#8D4EDA', dark: '#9257DA' },
17
+ },
18
+ PrometheusRule: {
19
+ abbr: 'PROR',
20
+ colors: { light: '#722ED1', dark: '#6229BF' },
21
+ },
22
+ Dashboard: {
23
+ abbr: 'DASH',
24
+ colors: { light: '#3C4DC3', dark: '#4656C3' },
25
+ },
26
+ ServiceMonitor: {
27
+ abbr: 'SVCM',
28
+ colors: { light: '#C98612', dark: '#B77B22' },
29
+ },
30
+ Container: {
31
+ abbr: 'C',
32
+ colors: { light: '#0ABD78', dark: '#19AD74' },
33
+ },
34
+ 'app.k8s.io/Application': {
35
+ abbr: 'APP',
36
+ colors: { light: '#00AB28', dark: '#1BAB3D' },
37
+ },
38
+ 'core.oam.dev/Application': {
39
+ abbr: 'OAM',
40
+ colors: { light: '#009A29', dark: '#129334' },
41
+ },
42
+ 'argoproj.io/Application': {
43
+ abbr: 'GOPS',
44
+ colors: { light: '#008026', dark: '#0A7C2C' },
45
+ },
46
+ Deployment: {
47
+ abbr: 'D',
48
+ colors: { light: '#3170FF', dark: '#325FD9' },
49
+ },
50
+ DaemonSet: {
51
+ abbr: 'DS',
52
+ colors: { light: '#54B38D', dark: '#3C9977' },
53
+ },
54
+ StatefulSet: {
55
+ abbr: 'SS',
56
+ colors: { light: '#EF7A0A', dark: '#D67517' },
57
+ },
58
+ Job: {
59
+ abbr: 'J',
60
+ colors: { light: '#4661C1', dark: '#3D56B3' },
61
+ },
62
+ CronJob: {
63
+ abbr: 'CJ',
64
+ colors: { light: '#5A7BDC', dark: '#5475D5' },
65
+ },
66
+ Ingress: {
67
+ abbr: 'I',
68
+ colors: { light: '#14C9C9', dark: '#2CC1C1' },
69
+ },
70
+ ConfigMap: {
71
+ abbr: 'CM',
72
+ colors: { light: '#8E4AA9', dark: '#7D4095' },
73
+ },
74
+ Secret: {
75
+ abbr: 'S',
76
+ colors: { light: '#31BFFF', dark: '#2FB4F1' },
77
+ },
78
+ HorizontalPodAutoscaler: {
79
+ abbr: 'HPA',
80
+ colors: { light: '#3491FA', dark: '#358CEE' },
81
+ },
82
+ MonitorDashboard: {
83
+ abbr: 'MD',
84
+ colors: { light: '#AE6F83', dark: '#AE6D82' },
85
+ },
86
+ ReplicaSet: {
87
+ abbr: 'RS',
88
+ colors: { light: '#9A6632', dark: '#9A6A3A' },
89
+ },
90
+ Node: {
91
+ abbr: 'N',
92
+ colors: { light: '#8D4EDA', dark: '#9257DA' },
93
+ },
94
+ Group: {
95
+ abbr: 'G',
96
+ colors: { light: '#429456', dark: '#328248' },
97
+ },
98
+ Operator: {
99
+ abbr: 'O',
100
+ colors: { light: '#0DA5AA', dark: '#25A6AA' },
101
+ },
102
+ PersistentVolumeClaim: {
103
+ abbr: 'PVC',
104
+ colors: { light: '#F5B433', dark: '#E1A938' },
105
+ },
106
+ Pod: {
107
+ abbr: 'P',
108
+ colors: { light: '#437802', dark: '#4B7814' },
109
+ },
110
+ };
111
+ // 获取资源的缩写标记
112
+ export function getResourceMark(kind, apiGroup) {
113
+ if (!kind) {
114
+ return '';
115
+ }
116
+ // 检查是否有预定义的缩写
117
+ const matchKey = apiGroup ? `${apiGroup}/${kind}` : kind;
118
+ const config = RESOURCE_MARKS[matchKey];
119
+ if (config) {
120
+ return config.abbr;
121
+ }
122
+ // 处理全小写的情况
123
+ if (kind === kind.toLowerCase()) {
124
+ return kind.slice(0, 4);
125
+ }
126
+ // 获取大写字母组成缩写
127
+ const upperChars = kind.match(/[A-Z]/g) || [];
128
+ return upperChars.slice(0, 4).join('');
129
+ }
130
+ export function getResourceColor(kind, theme) {
131
+ const config = RESOURCE_MARKS[kind];
132
+ if (!config) {
133
+ return theme === 'light' ? '#0067D0' : '#1974D0';
134
+ }
135
+ return config.colors[theme];
136
+ }
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZHluYW1pYy1wbHVnaW4tc2hhcmVkL3NyYy9rOHMtc2hhcmVkL3Jlc291cmNlLW1hcmsvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLGNBQWMsR0FBdUM7SUFDekQsU0FBUyxFQUFFO1FBQ1QsSUFBSSxFQUFFLElBQUk7UUFDVixNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7S0FDOUM7SUFDRCxPQUFPLEVBQUU7UUFDUCxJQUFJLEVBQUUsSUFBSTtRQUNWLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtLQUM5QztJQUNELE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxLQUFLO1FBQ1gsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0tBQzlDO0lBQ0QsVUFBVSxFQUFFO1FBQ1YsSUFBSSxFQUFFLE1BQU07UUFDWixNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7S0FDOUM7SUFDRCxjQUFjLEVBQUU7UUFDZCxJQUFJLEVBQUUsTUFBTTtRQUNaLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtLQUM5QztJQUNELFNBQVMsRUFBRTtRQUNULElBQUksRUFBRSxNQUFNO1FBQ1osTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0tBQzlDO0lBQ0QsY0FBYyxFQUFFO1FBQ2QsSUFBSSxFQUFFLE1BQU07UUFDWixNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7S0FDOUM7SUFDRCxTQUFTLEVBQUU7UUFDVCxJQUFJLEVBQUUsR0FBRztRQUNULE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtLQUM5QztJQUNELHdCQUF3QixFQUFFO1FBQ3hCLElBQUksRUFBRSxLQUFLO1FBQ1gsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0tBQzlDO0lBQ0QsMEJBQTBCLEVBQUU7UUFDMUIsSUFBSSxFQUFFLEtBQUs7UUFDWCxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7S0FDOUM7SUFDRCx5QkFBeUIsRUFBRTtRQUN6QixJQUFJLEVBQUUsTUFBTTtRQUNaLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtLQUM5QztJQUNELFVBQVUsRUFBRTtRQUNWLElBQUksRUFBRSxHQUFHO1FBQ1QsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0tBQzlDO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsSUFBSSxFQUFFLElBQUk7UUFDVixNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7S0FDOUM7SUFDRCxXQUFXLEVBQUU7UUFDWCxJQUFJLEVBQUUsSUFBSTtRQUNWLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtLQUM5QztJQUNELEdBQUcsRUFBRTtRQUNILElBQUksRUFBRSxHQUFHO1FBQ1QsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0tBQzlDO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsSUFBSSxFQUFFLElBQUk7UUFDVixNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7S0FDOUM7SUFDRCxPQUFPLEVBQUU7UUFDUCxJQUFJLEVBQUUsR0FBRztRQUNULE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtLQUM5QztJQUNELFNBQVMsRUFBRTtRQUNULElBQUksRUFBRSxJQUFJO1FBQ1YsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0tBQzlDO0lBQ0QsTUFBTSxFQUFFO1FBQ04sSUFBSSxFQUFFLEdBQUc7UUFDVCxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7S0FDOUM7SUFDRCx1QkFBdUIsRUFBRTtRQUN2QixJQUFJLEVBQUUsS0FBSztRQUNYLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtLQUM5QztJQUNELGdCQUFnQixFQUFFO1FBQ2hCLElBQUksRUFBRSxJQUFJO1FBQ1YsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0tBQzlDO0lBQ0QsVUFBVSxFQUFFO1FBQ1YsSUFBSSxFQUFFLElBQUk7UUFDVixNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7S0FDOUM7SUFDRCxJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUUsR0FBRztRQUNULE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtLQUM5QztJQUNELEtBQUssRUFBRTtRQUNMLElBQUksRUFBRSxHQUFHO1FBQ1QsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0tBQzlDO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsSUFBSSxFQUFFLEdBQUc7UUFDVCxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7S0FDOUM7SUFDRCxxQkFBcUIsRUFBRTtRQUNyQixJQUFJLEVBQUUsS0FBSztRQUNYLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtLQUM5QztJQUNELEdBQUcsRUFBRTtRQUNILElBQUksRUFBRSxHQUFHO1FBQ1QsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0tBQzlDO0NBQ0YsQ0FBQztBQUVGLFlBQVk7QUFDWixNQUFNLFVBQVUsZUFBZSxDQUFDLElBQVksRUFBRSxRQUFpQjtJQUM3RCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDVixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxjQUFjO0lBQ2QsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3pELE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4QyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1gsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO0lBQ1gsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsYUFBYTtJQUNiLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlDLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsSUFBWSxFQUFFLEtBQWE7SUFDMUQsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNaLE9BQU8sS0FBSyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDbkQsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFtQyxDQUFDLENBQUM7QUFDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImludGVyZmFjZSBSZXNvdXJjZU1hcmtDb25maWcge1xuICBhYmJyOiBzdHJpbmc7XG4gIGNvbG9yczoge1xuICAgIGxpZ2h0OiBzdHJpbmc7XG4gICAgZGFyazogc3RyaW5nO1xuICB9O1xufVxuXG5jb25zdCBSRVNPVVJDRV9NQVJLUzogUmVjb3JkPHN0cmluZywgUmVzb3VyY2VNYXJrQ29uZmlnPiA9IHtcbiAgTmFtZXNwYWNlOiB7XG4gICAgYWJicjogJ05TJyxcbiAgICBjb2xvcnM6IHsgbGlnaHQ6ICcjQ0ZBRjBGJywgZGFyazogJyNCNTk2MTgnIH0sXG4gIH0sXG4gIFByb2plY3Q6IHtcbiAgICBhYmJyOiAnUFInLFxuICAgIGNvbG9yczogeyBsaWdodDogJyMyQTVBREYnLCBkYXJrOiAnIzJENTREMycgfSxcbiAgfSxcbiAgU2VydmljZToge1xuICAgIGFiYnI6ICdTVkMnLFxuICAgIGNvbG9yczogeyBsaWdodDogJyNDQzkyMTMnLCBkYXJrOiAnI0NDOTgyNycgfSxcbiAgfSxcbiAgUHJvbWV0aGV1czoge1xuICAgIGFiYnI6ICdQUk9NJyxcbiAgICBjb2xvcnM6IHsgbGlnaHQ6ICcjOEQ0RURBJywgZGFyazogJyM5MjU3REEnIH0sXG4gIH0sXG4gIFByb21ldGhldXNSdWxlOiB7XG4gICAgYWJicjogJ1BST1InLFxuICAgIGNvbG9yczogeyBsaWdodDogJyM3MjJFRDEnLCBkYXJrOiAnIzYyMjlCRicgfSxcbiAgfSxcbiAgRGFzaGJvYXJkOiB7XG4gICAgYWJicjogJ0RBU0gnLFxuICAgIGNvbG9yczogeyBsaWdodDogJyMzQzREQzMnLCBkYXJrOiAnIzQ2NTZDMycgfSxcbiAgfSxcbiAgU2VydmljZU1vbml0b3I6IHtcbiAgICBhYmJyOiAnU1ZDTScsXG4gICAgY29sb3JzOiB7IGxpZ2h0OiAnI0M5ODYxMicsIGRhcms6ICcjQjc3QjIyJyB9LFxuICB9LFxuICBDb250YWluZXI6IHtcbiAgICBhYmJyOiAnQycsXG4gICAgY29sb3JzOiB7IGxpZ2h0OiAnIzBBQkQ3OCcsIGRhcms6ICcjMTlBRDc0JyB9LFxuICB9LFxuICAnYXBwLms4cy5pby9BcHBsaWNhdGlvbic6IHtcbiAgICBhYmJyOiAnQVBQJyxcbiAgICBjb2xvcnM6IHsgbGlnaHQ6ICcjMDBBQjI4JywgZGFyazogJyMxQkFCM0QnIH0sXG4gIH0sXG4gICdjb3JlLm9hbS5kZXYvQXBwbGljYXRpb24nOiB7XG4gICAgYWJicjogJ09BTScsXG4gICAgY29sb3JzOiB7IGxpZ2h0OiAnIzAwOUEyOScsIGRhcms6ICcjMTI5MzM0JyB9LFxuICB9LFxuICAnYXJnb3Byb2ouaW8vQXBwbGljYXRpb24nOiB7XG4gICAgYWJicjogJ0dPUFMnLFxuICAgIGNvbG9yczogeyBsaWdodDogJyMwMDgwMjYnLCBkYXJrOiAnIzBBN0MyQycgfSxcbiAgfSxcbiAgRGVwbG95bWVudDoge1xuICAgIGFiYnI6ICdEJyxcbiAgICBjb2xvcnM6IHsgbGlnaHQ6ICcjMzE3MEZGJywgZGFyazogJyMzMjVGRDknIH0sXG4gIH0sXG4gIERhZW1vblNldDoge1xuICAgIGFiYnI6ICdEUycsXG4gICAgY29sb3JzOiB7IGxpZ2h0OiAnIzU0QjM4RCcsIGRhcms6ICcjM0M5OTc3JyB9LFxuICB9LFxuICBTdGF0ZWZ1bFNldDoge1xuICAgIGFiYnI6ICdTUycsXG4gICAgY29sb3JzOiB7IGxpZ2h0OiAnI0VGN0EwQScsIGRhcms6ICcjRDY3NTE3JyB9LFxuICB9LFxuICBKb2I6IHtcbiAgICBhYmJyOiAnSicsXG4gICAgY29sb3JzOiB7IGxpZ2h0OiAnIzQ2NjFDMScsIGRhcms6ICcjM0Q1NkIzJyB9LFxuICB9LFxuICBDcm9uSm9iOiB7XG4gICAgYWJicjogJ0NKJyxcbiAgICBjb2xvcnM6IHsgbGlnaHQ6ICcjNUE3QkRDJywgZGFyazogJyM1NDc1RDUnIH0sXG4gIH0sXG4gIEluZ3Jlc3M6IHtcbiAgICBhYmJyOiAnSScsXG4gICAgY29sb3JzOiB7IGxpZ2h0OiAnIzE0QzlDOScsIGRhcms6ICcjMkNDMUMxJyB9LFxuICB9LFxuICBDb25maWdNYXA6IHtcbiAgICBhYmJyOiAnQ00nLFxuICAgIGNvbG9yczogeyBsaWdodDogJyM4RTRBQTknLCBkYXJrOiAnIzdENDA5NScgfSxcbiAgfSxcbiAgU2VjcmV0OiB7XG4gICAgYWJicjogJ1MnLFxuICAgIGNvbG9yczogeyBsaWdodDogJyMzMUJGRkYnLCBkYXJrOiAnIzJGQjRGMScgfSxcbiAgfSxcbiAgSG9yaXpvbnRhbFBvZEF1dG9zY2FsZXI6IHtcbiAgICBhYmJyOiAnSFBBJyxcbiAgICBjb2xvcnM6IHsgbGlnaHQ6ICcjMzQ5MUZBJywgZGFyazogJyMzNThDRUUnIH0sXG4gIH0sXG4gIE1vbml0b3JEYXNoYm9hcmQ6IHtcbiAgICBhYmJyOiAnTUQnLFxuICAgIGNvbG9yczogeyBsaWdodDogJyNBRTZGODMnLCBkYXJrOiAnI0FFNkQ4MicgfSxcbiAgfSxcbiAgUmVwbGljYVNldDoge1xuICAgIGFiYnI6ICdSUycsXG4gICAgY29sb3JzOiB7IGxpZ2h0OiAnIzlBNjYzMicsIGRhcms6ICcjOUE2QTNBJyB9LFxuICB9LFxuICBOb2RlOiB7XG4gICAgYWJicjogJ04nLFxuICAgIGNvbG9yczogeyBsaWdodDogJyM4RDRFREEnLCBkYXJrOiAnIzkyNTdEQScgfSxcbiAgfSxcbiAgR3JvdXA6IHtcbiAgICBhYmJyOiAnRycsXG4gICAgY29sb3JzOiB7IGxpZ2h0OiAnIzQyOTQ1NicsIGRhcms6ICcjMzI4MjQ4JyB9LFxuICB9LFxuICBPcGVyYXRvcjoge1xuICAgIGFiYnI6ICdPJyxcbiAgICBjb2xvcnM6IHsgbGlnaHQ6ICcjMERBNUFBJywgZGFyazogJyMyNUE2QUEnIH0sXG4gIH0sXG4gIFBlcnNpc3RlbnRWb2x1bWVDbGFpbToge1xuICAgIGFiYnI6ICdQVkMnLFxuICAgIGNvbG9yczogeyBsaWdodDogJyNGNUI0MzMnLCBkYXJrOiAnI0UxQTkzOCcgfSxcbiAgfSxcbiAgUG9kOiB7XG4gICAgYWJicjogJ1AnLFxuICAgIGNvbG9yczogeyBsaWdodDogJyM0Mzc4MDInLCBkYXJrOiAnIzRCNzgxNCcgfSxcbiAgfSxcbn07XG5cbi8vIOiOt+WPlui1hOa6kOeahOe8qeWGmeagh+iusFxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlc291cmNlTWFyayhraW5kOiBzdHJpbmcsIGFwaUdyb3VwPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKCFraW5kKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgLy8g5qOA5p+l5piv5ZCm5pyJ6aKE5a6a5LmJ55qE57yp5YaZXG4gIGNvbnN0IG1hdGNoS2V5ID0gYXBpR3JvdXAgPyBgJHthcGlHcm91cH0vJHtraW5kfWAgOiBraW5kO1xuICBjb25zdCBjb25maWcgPSBSRVNPVVJDRV9NQVJLU1ttYXRjaEtleV07XG4gIGlmIChjb25maWcpIHtcbiAgICByZXR1cm4gY29uZmlnLmFiYnI7XG4gIH1cblxuICAvLyDlpITnkIblhajlsI/lhpnnmoTmg4XlhrVcbiAgaWYgKGtpbmQgPT09IGtpbmQudG9Mb3dlckNhc2UoKSkge1xuICAgIHJldHVybiBraW5kLnNsaWNlKDAsIDQpO1xuICB9XG5cbiAgLy8g6I635Y+W5aSn5YaZ5a2X5q+N57uE5oiQ57yp5YaZXG4gIGNvbnN0IHVwcGVyQ2hhcnMgPSBraW5kLm1hdGNoKC9bQS1aXS9nKSB8fCBbXTtcbiAgcmV0dXJuIHVwcGVyQ2hhcnMuc2xpY2UoMCwgNCkuam9pbignJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUNvbG9yKGtpbmQ6IHN0cmluZywgdGhlbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGNvbmZpZyA9IFJFU09VUkNFX01BUktTW2tpbmRdO1xuICBpZiAoIWNvbmZpZykge1xuICAgIHJldHVybiB0aGVtZSA9PT0gJ2xpZ2h0JyA/ICcjMDA2N0QwJyA6ICcjMTk3NEQwJztcbiAgfVxuICByZXR1cm4gY29uZmlnLmNvbG9yc1t0aGVtZSBhcyBrZXlvZiB0eXBlb2YgY29uZmlnLmNvbG9yc107XG59XG4iXX0=
@@ -0,0 +1,66 @@
1
+ import { DialogRef, DIALOG_DATA, DialogModule, FormModule, ButtonModule, InputModule, } from '@alauda/ui';
2
+ import { K8sApiService, TranslatePipe, K8S_UTIL_PIPES_MODULE, K8sUtilService, } from '@alauda-fe/dynamic-plugin-sdk';
3
+ import { AsyncPipe } from '@angular/common';
4
+ import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
5
+ import { FormsModule } from '@angular/forms';
6
+ import { snakeCase } from 'lodash-es';
7
+ import { BehaviorSubject, finalize } from 'rxjs';
8
+ import { DESCRIPTION } from '../../constants';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@alauda/ui";
11
+ import * as i2 from "@alauda-fe/dynamic-plugin-sdk";
12
+ import * as i3 from "@angular/forms";
13
+ export class UpdateDescriptionDialogComponent {
14
+ constructor(dialogRef, k8sApi, k8sUtil, data) {
15
+ this.dialogRef = dialogRef;
16
+ this.k8sApi = k8sApi;
17
+ this.k8sUtil = k8sUtil;
18
+ this.data = data;
19
+ this.description = this.k8sUtil.getDescription(this.data.resource);
20
+ this.confirming$$ = new BehaviorSubject(false);
21
+ }
22
+ confirm() {
23
+ this.confirming$$.next(true);
24
+ this.k8sApi
25
+ .patchResource({
26
+ ...(this.data.definition
27
+ ? {
28
+ definition: this.data.definition,
29
+ }
30
+ : {
31
+ type: this.data.type ||
32
+ snakeCase(this.data.resource.kind).toUpperCase(),
33
+ }),
34
+ cluster: this.data.cluster,
35
+ resource: this.data.resource,
36
+ part: {
37
+ metadata: {
38
+ annotations: {
39
+ [this.k8sUtil.normalizeType(DESCRIPTION)]: this.description,
40
+ },
41
+ },
42
+ },
43
+ })
44
+ .pipe(finalize(() => this.confirming$$.next(false)))
45
+ .subscribe(resource => this.dialogRef.close(resource));
46
+ }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: UpdateDescriptionDialogComponent, deps: [{ token: i1.DialogRef }, { token: i2.K8sApiService }, { token: i2.K8sUtilService }, { token: DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: UpdateDescriptionDialogComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<aui-dialog-header>\n {{ 'update_description' | translate }}\n</aui-dialog-header>\n<aui-dialog-content>\n <aui-form-item>\n <label auiFormItemLabel>\n {{ 'name' | translate }}\n </label>\n {{ data.resource | aclName }}\n </aui-form-item>\n <aui-form-item class=\"last-form-item-no-margin\">\n <label auiFormItemLabel>\n {{ 'description' | translate }}\n </label>\n <textarea\n aui-input\n name=\"description\"\n [(ngModel)]=\"description\"\n ></textarea>\n </aui-form-item>\n</aui-dialog-content>\n<aui-dialog-footer>\n <button\n aui-button=\"primary\"\n [loading]=\"confirming$$ | async\"\n [disabled]=\"confirming$$ | async\"\n (click)=\"confirm()\"\n >\n {{ 'update' | translate }}\n </button>\n <button\n aui-button\n auiDialogClose\n >\n {{ 'cancel' | translate }}\n </button>\n</aui-dialog-footer>\n", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.ButtonComponent, selector: "button[aui-button]", inputs: ["aui-button", "size", "plain", "loading", "round", "square"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i1.DialogHeaderComponent, selector: "aui-dialog-header", inputs: ["divider", "closeable", "result"] }, { kind: "component", type: i1.DialogContentComponent, selector: "aui-dialog-content" }, { kind: "component", type: i1.DialogFooterComponent, selector: "aui-dialog-footer" }, { kind: "directive", type: i1.DialogCloseDirective, selector: "[auiDialogClose]", inputs: ["auiDialogClose"], exportAs: ["auiDialogClose"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i1.InputComponent, selector: "input[aui-input],textarea[aui-input]", inputs: ["size", "disabled"] }, { kind: "ngmodule", type: FormModule }, { kind: "component", type: i1.FormItemComponent, selector: "aui-form-item", inputs: ["labelWidth", "width", "labelPosition", "emptyAddon", "plain"] }, { kind: "directive", type: i1.FormItemLabelDirective, selector: "label[auiFormItemLabel]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: i2.K8sNamePipe, name: "aclName" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
49
+ }
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: UpdateDescriptionDialogComponent, decorators: [{
51
+ type: Component,
52
+ args: [{ standalone: true, preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
53
+ AsyncPipe,
54
+ ButtonModule,
55
+ DialogModule,
56
+ InputModule,
57
+ FormModule,
58
+ FormsModule,
59
+ TranslatePipe,
60
+ K8S_UTIL_PIPES_MODULE,
61
+ ], template: "<aui-dialog-header>\n {{ 'update_description' | translate }}\n</aui-dialog-header>\n<aui-dialog-content>\n <aui-form-item>\n <label auiFormItemLabel>\n {{ 'name' | translate }}\n </label>\n {{ data.resource | aclName }}\n </aui-form-item>\n <aui-form-item class=\"last-form-item-no-margin\">\n <label auiFormItemLabel>\n {{ 'description' | translate }}\n </label>\n <textarea\n aui-input\n name=\"description\"\n [(ngModel)]=\"description\"\n ></textarea>\n </aui-form-item>\n</aui-dialog-content>\n<aui-dialog-footer>\n <button\n aui-button=\"primary\"\n [loading]=\"confirming$$ | async\"\n [disabled]=\"confirming$$ | async\"\n (click)=\"confirm()\"\n >\n {{ 'update' | translate }}\n </button>\n <button\n aui-button\n auiDialogClose\n >\n {{ 'cancel' | translate }}\n </button>\n</aui-dialog-footer>\n" }]
62
+ }], ctorParameters: () => [{ type: i1.DialogRef }, { type: i2.K8sApiService }, { type: i2.K8sUtilService }, { type: undefined, decorators: [{
63
+ type: Inject,
64
+ args: [DIALOG_DATA]
65
+ }] }] });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL2s4cy1zaGFyZWQvdXBkYXRlLWRlc2NyaXB0aW9uLWRpYWxvZy9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvazhzLXNoYXJlZC91cGRhdGUtZGVzY3JpcHRpb24tZGlhbG9nL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxHQUNaLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFDTCxhQUFhLEVBQ2IsYUFBYSxFQUViLHFCQUFxQixFQUNyQixjQUFjLEdBRWYsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQW1COUMsTUFBTSxPQUFPLGdDQUFnQztJQUszQyxZQUNtQixTQUFvQixFQUNwQixNQUFxQixFQUNyQixPQUF1QixFQUVqQyxJQVFOO1FBWmdCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUVqQyxTQUFJLEdBQUosSUFBSSxDQVFWO1FBakJILGdCQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU5RCxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBZ0J2QyxDQUFDO0lBRUosT0FBTztRQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNO2FBQ1IsYUFBYSxDQUFJO1lBQ2hCLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVU7Z0JBQ3RCLENBQUMsQ0FBQztvQkFDRSxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO2lCQUNqQztnQkFDSCxDQUFDLENBQUM7b0JBQ0UsSUFBSSxFQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTt3QkFDYixTQUFTLENBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUN4QixDQUFDLFdBQVcsRUFBbUI7aUJBQ25DLENBQUM7WUFDTixPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQzFCLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFDNUIsSUFBSSxFQUFFO2dCQUNKLFFBQVEsRUFBRTtvQkFDUixXQUFXLEVBQUU7d0JBQ1gsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxXQUFXO3FCQUM1RDtpQkFDRjthQUNnQjtTQUNwQixDQUFDO2FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQ25ELFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQzs4R0FoRFUsZ0NBQWdDLHNHQVNqQyxXQUFXO2tHQVRWLGdDQUFnQyx3RUMxQzdDLHkzQkFxQ0EsdUNETEksU0FBUyw2Q0FDVCxZQUFZLHNMQUNaLFlBQVksNGRBQ1osV0FBVyw4SkFDWCxVQUFVLGtSQUNWLFdBQVcsMG1CQUNYLGFBQWE7OzJGQUlKLGdDQUFnQztrQkFoQjVDLFNBQVM7aUNBQ0ksSUFBSSx1QkFFSyxLQUFLLG1CQUNULHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsU0FBUzt3QkFDVCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxVQUFVO3dCQUNWLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixxQkFBcUI7cUJBQ3RCOzswQkFXRSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaWFsb2dSZWYsXG4gIERJQUxPR19EQVRBLFxuICBEaWFsb2dNb2R1bGUsXG4gIEZvcm1Nb2R1bGUsXG4gIEJ1dHRvbk1vZHVsZSxcbiAgSW5wdXRNb2R1bGUsXG59IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHtcbiAgSzhzQXBpU2VydmljZSxcbiAgVHJhbnNsYXRlUGlwZSxcbiAgSzhzUmVzb3VyY2VEZWZpbml0aW9uLFxuICBLOFNfVVRJTF9QSVBFU19NT0RVTEUsXG4gIEs4c1V0aWxTZXJ2aWNlLFxuICBSZXNvdXJjZVR5cGUsXG59IGZyb20gJ0BhbGF1ZGEtZmUvZHluYW1pYy1wbHVnaW4tc2RrJztcbmltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgc25ha2VDYXNlIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmluYWxpemUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERlZXBQYXJ0aWFsIH0gZnJvbSAndHMtZXNzZW50aWFscy9kaXN0L2RlZXAtcGFydGlhbCc7XG5cbmltcG9ydCB7IERFU0NSSVBUSU9OIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEt1YmVybmV0ZXNSZXNvdXJjZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiAndGVtcGxhdGUuaHRtbCcsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIEFzeW5jUGlwZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgRGlhbG9nTW9kdWxlLFxuICAgIElucHV0TW9kdWxlLFxuICAgIEZvcm1Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgVHJhbnNsYXRlUGlwZSxcbiAgICBLOFNfVVRJTF9QSVBFU19NT0RVTEUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFVwZGF0ZURlc2NyaXB0aW9uRGlhbG9nQ29tcG9uZW50PFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+IHtcbiAgZGVzY3JpcHRpb24gPSB0aGlzLms4c1V0aWwuZ2V0RGVzY3JpcHRpb24odGhpcy5kYXRhLnJlc291cmNlKTtcblxuICBjb25maXJtaW5nJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1JlZjogRGlhbG9nUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgazhzQXBpOiBLOHNBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgazhzVXRpbDogSzhzVXRpbFNlcnZpY2UsXG4gICAgQEluamVjdChESUFMT0dfREFUQSlcbiAgICBwdWJsaWMgZGF0YToge1xuICAgICAgZGVmaW5pdGlvbj86IEs4c1Jlc291cmNlRGVmaW5pdGlvbjtcbiAgICAgIC8qKlxuICAgICAgICogQGRlcHJlY2F0ZWQgdXNlIGBkZWZpbml0aW9uYCBpbnN0ZWFkXG4gICAgICAgKi9cbiAgICAgIHR5cGU/OiBSZXNvdXJjZVR5cGU7XG4gICAgICBjbHVzdGVyPzogc3RyaW5nO1xuICAgICAgcmVzb3VyY2U6IFQ7XG4gICAgfSxcbiAgKSB7fVxuXG4gIGNvbmZpcm0oKSB7XG4gICAgdGhpcy5jb25maXJtaW5nJCQubmV4dCh0cnVlKTtcbiAgICB0aGlzLms4c0FwaVxuICAgICAgLnBhdGNoUmVzb3VyY2U8VD4oe1xuICAgICAgICAuLi4odGhpcy5kYXRhLmRlZmluaXRpb25cbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgZGVmaW5pdGlvbjogdGhpcy5kYXRhLmRlZmluaXRpb24sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7XG4gICAgICAgICAgICAgIHR5cGU6XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhLnR5cGUgfHxcbiAgICAgICAgICAgICAgICAoc25ha2VDYXNlKFxuICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhLnJlc291cmNlLmtpbmQsXG4gICAgICAgICAgICAgICAgKS50b1VwcGVyQ2FzZSgpIGFzIFJlc291cmNlVHlwZSksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgY2x1c3RlcjogdGhpcy5kYXRhLmNsdXN0ZXIsXG4gICAgICAgIHJlc291cmNlOiB0aGlzLmRhdGEucmVzb3VyY2UsXG4gICAgICAgIHBhcnQ6IHtcbiAgICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgYW5ub3RhdGlvbnM6IHtcbiAgICAgICAgICAgICAgW3RoaXMuazhzVXRpbC5ub3JtYWxpemVUeXBlKERFU0NSSVBUSU9OKV06IHRoaXMuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0gYXMgRGVlcFBhcnRpYWw8VD4sXG4gICAgICB9KVxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gdGhpcy5jb25maXJtaW5nJCQubmV4dChmYWxzZSkpKVxuICAgICAgLnN1YnNjcmliZShyZXNvdXJjZSA9PiB0aGlzLmRpYWxvZ1JlZi5jbG9zZShyZXNvdXJjZSkpO1xuICB9XG59XG4iLCI8YXVpLWRpYWxvZy1oZWFkZXI+XG4gIHt7ICd1cGRhdGVfZGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlIH19XG48L2F1aS1kaWFsb2ctaGVhZGVyPlxuPGF1aS1kaWFsb2ctY29udGVudD5cbiAgPGF1aS1mb3JtLWl0ZW0+XG4gICAgPGxhYmVsIGF1aUZvcm1JdGVtTGFiZWw+XG4gICAgICB7eyAnbmFtZScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2xhYmVsPlxuICAgIHt7IGRhdGEucmVzb3VyY2UgfCBhY2xOYW1lIH19XG4gIDwvYXVpLWZvcm0taXRlbT5cbiAgPGF1aS1mb3JtLWl0ZW0gY2xhc3M9XCJsYXN0LWZvcm0taXRlbS1uby1tYXJnaW5cIj5cbiAgICA8bGFiZWwgYXVpRm9ybUl0ZW1MYWJlbD5cbiAgICAgIHt7ICdkZXNjcmlwdGlvbicgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2xhYmVsPlxuICAgIDx0ZXh0YXJlYVxuICAgICAgYXVpLWlucHV0XG4gICAgICBuYW1lPVwiZGVzY3JpcHRpb25cIlxuICAgICAgWyhuZ01vZGVsKV09XCJkZXNjcmlwdGlvblwiXG4gICAgPjwvdGV4dGFyZWE+XG4gIDwvYXVpLWZvcm0taXRlbT5cbjwvYXVpLWRpYWxvZy1jb250ZW50PlxuPGF1aS1kaWFsb2ctZm9vdGVyPlxuICA8YnV0dG9uXG4gICAgYXVpLWJ1dHRvbj1cInByaW1hcnlcIlxuICAgIFtsb2FkaW5nXT1cImNvbmZpcm1pbmckJCB8IGFzeW5jXCJcbiAgICBbZGlzYWJsZWRdPVwiY29uZmlybWluZyQkIHwgYXN5bmNcIlxuICAgIChjbGljayk9XCJjb25maXJtKClcIlxuICA+XG4gICAge3sgJ3VwZGF0ZScgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG4gIDxidXR0b25cbiAgICBhdWktYnV0dG9uXG4gICAgYXVpRGlhbG9nQ2xvc2VcbiAgPlxuICAgIHt7ICdjYW5jZWwnIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuPC9hdWktZGlhbG9nLWZvb3Rlcj5cbiJdfQ==
@@ -0,0 +1,59 @@
1
+ import { DialogRef, DIALOG_DATA, ButtonModule, DialogModule, InputModule, FormModule, } from '@alauda/ui';
2
+ import { K8sApiService, K8sUtilService, K8S_UTIL_PIPES_MODULE, TRANSLATE_MODULE, } from '@alauda-fe/dynamic-plugin-sdk';
3
+ import { AsyncPipe, NgIf } from '@angular/common';
4
+ import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
5
+ import { FormsModule } from '@angular/forms';
6
+ import { BehaviorSubject, finalize } from 'rxjs';
7
+ import { DISPLAY_NAME } from '../../constants';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@alauda/ui";
10
+ import * as i2 from "@alauda-fe/dynamic-plugin-sdk";
11
+ import * as i3 from "@angular/forms";
12
+ export class UpdateDisplayNameDialogComponent {
13
+ constructor(dialogRef, k8sApi, k8sUtil, data) {
14
+ this.dialogRef = dialogRef;
15
+ this.k8sApi = k8sApi;
16
+ this.k8sUtil = k8sUtil;
17
+ this.data = data;
18
+ this.displayName = this.k8sUtil.getDisplayName(this.data.resource);
19
+ this.confirming$$ = new BehaviorSubject(false);
20
+ }
21
+ confirm() {
22
+ this.confirming$$.next(true);
23
+ this.k8sApi
24
+ .patchResource({
25
+ definition: this.data.definition,
26
+ cluster: this.data.cluster,
27
+ resource: this.data.resource,
28
+ part: {
29
+ metadata: {
30
+ annotations: {
31
+ [this.k8sUtil.normalizeType(DISPLAY_NAME)]: this.displayName,
32
+ },
33
+ },
34
+ },
35
+ })
36
+ .pipe(finalize(() => this.confirming$$.next(false)))
37
+ .subscribe(resource => this.dialogRef.close(resource));
38
+ }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: UpdateDisplayNameDialogComponent, deps: [{ token: i1.DialogRef }, { token: i2.K8sApiService }, { token: i2.K8sUtilService }, { token: DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
40
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: UpdateDisplayNameDialogComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<aui-dialog-header>\n {{ 'update_display_name' | translate }}\n</aui-dialog-header>\n<aui-dialog-content>\n <aui-form-item>\n <label auiFormItemLabel>\n {{ 'name' | translate }}\n </label>\n {{ data.resource | aclName }}\n </aui-form-item>\n <aui-form-item class=\"last-form-item-no-margin\">\n <label auiFormItemLabel>\n {{ 'display_name' | translate }}\n </label>\n <input\n *ngIf=\"!data.validateMaxLength; else validateMaxLength\"\n aui-input\n name=\"displayName\"\n autocomplete=\"off\"\n [(ngModel)]=\"displayName\"\n />\n <ng-template #validateMaxLength>\n <input\n aui-input\n name=\"displayName\"\n autocomplete=\"off\"\n [(ngModel)]=\"displayName\"\n [maxlength]=\"64\"\n />\n </ng-template>\n </aui-form-item>\n</aui-dialog-content>\n<aui-dialog-footer>\n <button\n aui-button=\"primary\"\n [loading]=\"confirming$$ | async\"\n [disabled]=\"confirming$$ | async\"\n (click)=\"confirm()\"\n >\n {{ 'update' | translate }}\n </button>\n <button\n aui-button\n auiDialogClose\n >\n {{ 'cancel' | translate }}\n </button>\n</aui-dialog-footer>\n", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.ButtonComponent, selector: "button[aui-button]", inputs: ["aui-button", "size", "plain", "loading", "round", "square"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i1.DialogHeaderComponent, selector: "aui-dialog-header", inputs: ["divider", "closeable", "result"] }, { kind: "component", type: i1.DialogContentComponent, selector: "aui-dialog-content" }, { kind: "component", type: i1.DialogFooterComponent, selector: "aui-dialog-footer" }, { kind: "directive", type: i1.DialogCloseDirective, selector: "[auiDialogClose]", inputs: ["auiDialogClose"], exportAs: ["auiDialogClose"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i1.InputComponent, selector: "input[aui-input],textarea[aui-input]", inputs: ["size", "disabled"] }, { kind: "ngmodule", type: FormModule }, { kind: "component", type: i1.FormItemComponent, selector: "aui-form-item", inputs: ["labelWidth", "width", "labelPosition", "emptyAddon", "plain"] }, { kind: "directive", type: i1.FormItemLabelDirective, selector: "label[auiFormItemLabel]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: i2.K8sNamePipe, name: "aclName" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
41
+ }
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: UpdateDisplayNameDialogComponent, decorators: [{
43
+ type: Component,
44
+ args: [{ standalone: true, preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
45
+ AsyncPipe,
46
+ ButtonModule,
47
+ DialogModule,
48
+ NgIf,
49
+ InputModule,
50
+ FormModule,
51
+ FormsModule,
52
+ TRANSLATE_MODULE,
53
+ K8S_UTIL_PIPES_MODULE,
54
+ ], template: "<aui-dialog-header>\n {{ 'update_display_name' | translate }}\n</aui-dialog-header>\n<aui-dialog-content>\n <aui-form-item>\n <label auiFormItemLabel>\n {{ 'name' | translate }}\n </label>\n {{ data.resource | aclName }}\n </aui-form-item>\n <aui-form-item class=\"last-form-item-no-margin\">\n <label auiFormItemLabel>\n {{ 'display_name' | translate }}\n </label>\n <input\n *ngIf=\"!data.validateMaxLength; else validateMaxLength\"\n aui-input\n name=\"displayName\"\n autocomplete=\"off\"\n [(ngModel)]=\"displayName\"\n />\n <ng-template #validateMaxLength>\n <input\n aui-input\n name=\"displayName\"\n autocomplete=\"off\"\n [(ngModel)]=\"displayName\"\n [maxlength]=\"64\"\n />\n </ng-template>\n </aui-form-item>\n</aui-dialog-content>\n<aui-dialog-footer>\n <button\n aui-button=\"primary\"\n [loading]=\"confirming$$ | async\"\n [disabled]=\"confirming$$ | async\"\n (click)=\"confirm()\"\n >\n {{ 'update' | translate }}\n </button>\n <button\n aui-button\n auiDialogClose\n >\n {{ 'cancel' | translate }}\n </button>\n</aui-dialog-footer>\n" }]
55
+ }], ctorParameters: () => [{ type: i1.DialogRef }, { type: i2.K8sApiService }, { type: i2.K8sUtilService }, { type: undefined, decorators: [{
56
+ type: Inject,
57
+ args: [DIALOG_DATA]
58
+ }] }] });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL2s4cy1zaGFyZWQvdXBkYXRlLWRpc3BsYXktbmFtZS1kaWFsb2cvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL2s4cy1zaGFyZWQvdXBkYXRlLWRpc3BsYXktbmFtZS1kaWFsb2cvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFdBQVcsRUFDWCxZQUFZLEVBQ1osWUFBWSxFQUNaLFdBQVcsRUFDWCxVQUFVLEdBQ1gsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUNMLGFBQWEsRUFFYixjQUFjLEVBQ2QscUJBQXFCLEVBQ3JCLGdCQUFnQixHQUNqQixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFvQi9DLE1BQU0sT0FBTyxnQ0FBZ0M7SUFLM0MsWUFDbUIsU0FBb0IsRUFDcEIsTUFBcUIsRUFDckIsT0FBdUIsRUFFakMsSUFLTjtRQVRnQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFFakMsU0FBSSxHQUFKLElBQUksQ0FLVjtRQWRILGdCQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU5RCxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBYXZDLENBQUM7SUFFSixPQUFPO1FBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU07YUFDUixhQUFhLENBQUk7WUFDaEIsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUNoQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQzFCLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFDNUIsSUFBSSxFQUFFO2dCQUNKLFFBQVEsRUFBRTtvQkFDUixXQUFXLEVBQUU7d0JBQ1gsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxXQUFXO3FCQUM3RDtpQkFDRjthQUNnQjtTQUNwQixDQUFDO2FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQ25ELFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQzs4R0FuQ1UsZ0NBQWdDLHNHQVNqQyxXQUFXO2tHQVRWLGdDQUFnQyx3RUN6QzdDLDZxQ0FnREEsdUNEbEJJLFNBQVMsNkNBQ1QsWUFBWSxzTEFDWixZQUFZLDZkQUNaLElBQUksNEZBQ0osV0FBVyw4SkFDWCxVQUFVLGtSQUNWLFdBQVc7OzJGQUtGLGdDQUFnQztrQkFqQjVDLFNBQVM7aUNBQ0ksSUFBSSx1QkFFSyxLQUFLLG1CQUNULHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsU0FBUzt3QkFDVCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osSUFBSTt3QkFDSixXQUFXO3dCQUNYLFVBQVU7d0JBQ1YsV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLHFCQUFxQjtxQkFDdEI7OzBCQVdFLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpYWxvZ1JlZixcbiAgRElBTE9HX0RBVEEsXG4gIEJ1dHRvbk1vZHVsZSxcbiAgRGlhbG9nTW9kdWxlLFxuICBJbnB1dE1vZHVsZSxcbiAgRm9ybU1vZHVsZSxcbn0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQge1xuICBLOHNBcGlTZXJ2aWNlLFxuICBLOHNSZXNvdXJjZURlZmluaXRpb24sXG4gIEs4c1V0aWxTZXJ2aWNlLFxuICBLOFNfVVRJTF9QSVBFU19NT0RVTEUsXG4gIFRSQU5TTEFURV9NT0RVTEUsXG59IGZyb20gJ0BhbGF1ZGEtZmUvZHluYW1pYy1wbHVnaW4tc2RrJztcbmltcG9ydCB7IEFzeW5jUGlwZSwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaW5hbGl6ZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGVlcFBhcnRpYWwgfSBmcm9tICd0cy1lc3NlbnRpYWxzL2Rpc3QvZGVlcC1wYXJ0aWFsJztcblxuaW1wb3J0IHsgRElTUExBWV9OQU1FIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEt1YmVybmV0ZXNSZXNvdXJjZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiAndGVtcGxhdGUuaHRtbCcsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIEFzeW5jUGlwZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgRGlhbG9nTW9kdWxlLFxuICAgIE5nSWYsXG4gICAgSW5wdXRNb2R1bGUsXG4gICAgRm9ybU1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBUUkFOU0xBVEVfTU9EVUxFLFxuICAgIEs4U19VVElMX1BJUEVTX01PRFVMRSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVXBkYXRlRGlzcGxheU5hbWVEaWFsb2dDb21wb25lbnQ8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4ge1xuICBkaXNwbGF5TmFtZSA9IHRoaXMuazhzVXRpbC5nZXREaXNwbGF5TmFtZSh0aGlzLmRhdGEucmVzb3VyY2UpO1xuXG4gIGNvbmZpcm1pbmckJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nUmVmOiBEaWFsb2dSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSBrOHNBcGk6IEs4c0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBrOHNVdGlsOiBLOHNVdGlsU2VydmljZSxcbiAgICBASW5qZWN0KERJQUxPR19EQVRBKVxuICAgIHB1YmxpYyBkYXRhOiB7XG4gICAgICBkZWZpbml0aW9uPzogSzhzUmVzb3VyY2VEZWZpbml0aW9uO1xuICAgICAgY2x1c3Rlcj86IHN0cmluZztcbiAgICAgIHJlc291cmNlOiBUO1xuICAgICAgdmFsaWRhdGVNYXhMZW5ndGg/OiBib29sZWFuO1xuICAgIH0sXG4gICkge31cblxuICBjb25maXJtKCkge1xuICAgIHRoaXMuY29uZmlybWluZyQkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5rOHNBcGlcbiAgICAgIC5wYXRjaFJlc291cmNlPFQ+KHtcbiAgICAgICAgZGVmaW5pdGlvbjogdGhpcy5kYXRhLmRlZmluaXRpb24sXG4gICAgICAgIGNsdXN0ZXI6IHRoaXMuZGF0YS5jbHVzdGVyLFxuICAgICAgICByZXNvdXJjZTogdGhpcy5kYXRhLnJlc291cmNlLFxuICAgICAgICBwYXJ0OiB7XG4gICAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIGFubm90YXRpb25zOiB7XG4gICAgICAgICAgICAgIFt0aGlzLms4c1V0aWwubm9ybWFsaXplVHlwZShESVNQTEFZX05BTUUpXTogdGhpcy5kaXNwbGF5TmFtZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSBhcyBEZWVwUGFydGlhbDxUPixcbiAgICAgIH0pXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiB0aGlzLmNvbmZpcm1pbmckJC5uZXh0KGZhbHNlKSkpXG4gICAgICAuc3Vic2NyaWJlKHJlc291cmNlID0+IHRoaXMuZGlhbG9nUmVmLmNsb3NlKHJlc291cmNlKSk7XG4gIH1cbn1cbiIsIjxhdWktZGlhbG9nLWhlYWRlcj5cbiAge3sgJ3VwZGF0ZV9kaXNwbGF5X25hbWUnIHwgdHJhbnNsYXRlIH19XG48L2F1aS1kaWFsb2ctaGVhZGVyPlxuPGF1aS1kaWFsb2ctY29udGVudD5cbiAgPGF1aS1mb3JtLWl0ZW0+XG4gICAgPGxhYmVsIGF1aUZvcm1JdGVtTGFiZWw+XG4gICAgICB7eyAnbmFtZScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2xhYmVsPlxuICAgIHt7IGRhdGEucmVzb3VyY2UgfCBhY2xOYW1lIH19XG4gIDwvYXVpLWZvcm0taXRlbT5cbiAgPGF1aS1mb3JtLWl0ZW0gY2xhc3M9XCJsYXN0LWZvcm0taXRlbS1uby1tYXJnaW5cIj5cbiAgICA8bGFiZWwgYXVpRm9ybUl0ZW1MYWJlbD5cbiAgICAgIHt7ICdkaXNwbGF5X25hbWUnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9sYWJlbD5cbiAgICA8aW5wdXRcbiAgICAgICpuZ0lmPVwiIWRhdGEudmFsaWRhdGVNYXhMZW5ndGg7IGVsc2UgdmFsaWRhdGVNYXhMZW5ndGhcIlxuICAgICAgYXVpLWlucHV0XG4gICAgICBuYW1lPVwiZGlzcGxheU5hbWVcIlxuICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgIFsobmdNb2RlbCldPVwiZGlzcGxheU5hbWVcIlxuICAgIC8+XG4gICAgPG5nLXRlbXBsYXRlICN2YWxpZGF0ZU1heExlbmd0aD5cbiAgICAgIDxpbnB1dFxuICAgICAgICBhdWktaW5wdXRcbiAgICAgICAgbmFtZT1cImRpc3BsYXlOYW1lXCJcbiAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJkaXNwbGF5TmFtZVwiXG4gICAgICAgIFttYXhsZW5ndGhdPVwiNjRcIlxuICAgICAgLz5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2F1aS1mb3JtLWl0ZW0+XG48L2F1aS1kaWFsb2ctY29udGVudD5cbjxhdWktZGlhbG9nLWZvb3Rlcj5cbiAgPGJ1dHRvblxuICAgIGF1aS1idXR0b249XCJwcmltYXJ5XCJcbiAgICBbbG9hZGluZ109XCJjb25maXJtaW5nJCQgfCBhc3luY1wiXG4gICAgW2Rpc2FibGVkXT1cImNvbmZpcm1pbmckJCB8IGFzeW5jXCJcbiAgICAoY2xpY2spPVwiY29uZmlybSgpXCJcbiAgPlxuICAgIHt7ICd1cGRhdGUnIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuICA8YnV0dG9uXG4gICAgYXVpLWJ1dHRvblxuICAgIGF1aURpYWxvZ0Nsb3NlXG4gID5cbiAgICB7eyAnY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbjwvYXVpLWRpYWxvZy1mb290ZXI+XG4iXX0=
@@ -0,0 +1,76 @@
1
+ import { ButtonComponent, DIALOG_DATA, DialogModule, DialogRef, MessageService, } from '@alauda/ui';
2
+ import { isEqual, TranslatePipe, TranslateService, } from '@alauda-fe/dynamic-plugin-sdk';
3
+ import { AsyncPipe } from '@angular/common';
4
+ import { ChangeDetectionStrategy, Component, Inject, Optional, } from '@angular/core';
5
+ import { FormsModule } from '@angular/forms';
6
+ import { cloneDeep } from 'lodash-es';
7
+ import { BehaviorSubject, EMPTY, Subject, from, catchError, switchMap, takeUntil, tap, } from 'rxjs';
8
+ import { KeyValueFormTableComponent } from '../../array-form-table/key-value-form/component';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@alauda/ui";
11
+ import * as i2 from "@alauda-fe/dynamic-plugin-sdk";
12
+ import * as i3 from "@angular/forms";
13
+ export class UpdateKeyValueDialogComponent {
14
+ constructor(dialogRef, message, translate, data = {}) {
15
+ this.dialogRef = dialogRef;
16
+ this.message = message;
17
+ this.translate = translate;
18
+ this.data = data;
19
+ this.onUpdate$$ = new Subject();
20
+ this.submitting$$ = new BehaviorSubject(false);
21
+ this.destroy$$ = new Subject();
22
+ this.originalKeyValues = this.data.keyValues || {};
23
+ this.keyValues = cloneDeep(this.originalKeyValues);
24
+ }
25
+ ngOnInit() {
26
+ const { context, onUpdate, updateSuccessMsg, updateFailMsg, showMessage } = this.data;
27
+ if (!onUpdate) {
28
+ return;
29
+ }
30
+ this.onUpdate$$
31
+ .pipe(takeUntil(this.destroy$$), tap(() => this.submitting$$.next(true)), switchMap(() => {
32
+ // nothing changed
33
+ if (isEqual(this.originalKeyValues, this.keyValues)) {
34
+ this.dialogRef.close();
35
+ return EMPTY;
36
+ }
37
+ return from(onUpdate.call(context, this.keyValues)).pipe(tap(() => {
38
+ if (showMessage ?? true) {
39
+ this.message.success(this.translate.get(updateSuccessMsg || 'update_succeeded'));
40
+ }
41
+ this.submitting$$.next(false);
42
+ this.dialogRef.close();
43
+ }), catchError(() => {
44
+ if (showMessage ?? true) {
45
+ this.message.error(this.translate.get(updateFailMsg || 'update_failed'));
46
+ }
47
+ this.submitting$$.next(false);
48
+ return EMPTY;
49
+ }));
50
+ }))
51
+ .subscribe();
52
+ }
53
+ ngOnDestroy() {
54
+ this.destroy$$.next();
55
+ this.destroy$$.complete();
56
+ }
57
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: UpdateKeyValueDialogComponent, deps: [{ token: i1.DialogRef }, { token: i1.MessageService }, { token: i2.TranslateService }, { token: DIALOG_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
58
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: UpdateKeyValueDialogComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<aui-dialog-header>\n {{ data.title || 'update' | translate }}\n</aui-dialog-header>\n<aui-dialog-content>\n <form\n #ngForm=\"ngForm\"\n (ngSubmit)=\"ngForm.valid && onUpdate$$.next()\"\n >\n <acl-key-value-form-table\n [(ngModel)]=\"keyValues\"\n [readonlyKeys]=\"data.readonlyKeys\"\n [validator]=\"data.validator\"\n [errorMapper]=\"data.errorMapper\"\n name=\"key-values\"\n ></acl-key-value-form-table>\n </form>\n</aui-dialog-content>\n<aui-dialog-footer>\n <button\n aui-button=\"primary\"\n [loading]=\"submitting$$ | async\"\n [disabled]=\"submitting$$ | async\"\n (click)=\"ngForm.onSubmit(null)\"\n >\n {{ data.confirmButton || 'update' | translate }}\n </button>\n <button\n aui-button\n type=\"button\"\n auiDialogClose\n >\n {{ 'cancel' | translate }}\n </button>\n</aui-dialog-footer>\n", dependencies: [{ kind: "ngmodule", type: DialogModule }, { kind: "component", type: i1.DialogHeaderComponent, selector: "aui-dialog-header", inputs: ["divider", "closeable", "result"] }, { kind: "component", type: i1.DialogContentComponent, selector: "aui-dialog-content" }, { kind: "component", type: i1.DialogFooterComponent, selector: "aui-dialog-footer" }, { kind: "directive", type: i1.DialogCloseDirective, selector: "[auiDialogClose]", inputs: ["auiDialogClose"], exportAs: ["auiDialogClose"] }, { kind: "component", type: KeyValueFormTableComponent, selector: "acl-key-value-form-table", inputs: ["resourceName", "resourceNameTranslated", "multiLineValue", "validator", "errorMapper", "placeholder", "readonly", "textKey", "maxRow", "minRow", "readonlyKeys", "zeroStateTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: ButtonComponent, selector: "button[aui-button]", inputs: ["aui-button", "size", "plain", "loading", "round", "square"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
59
+ }
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: UpdateKeyValueDialogComponent, decorators: [{
61
+ type: Component,
62
+ args: [{ standalone: true, preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
63
+ DialogModule,
64
+ KeyValueFormTableComponent,
65
+ FormsModule,
66
+ TranslatePipe,
67
+ ButtonComponent,
68
+ AsyncPipe,
69
+ ], template: "<aui-dialog-header>\n {{ data.title || 'update' | translate }}\n</aui-dialog-header>\n<aui-dialog-content>\n <form\n #ngForm=\"ngForm\"\n (ngSubmit)=\"ngForm.valid && onUpdate$$.next()\"\n >\n <acl-key-value-form-table\n [(ngModel)]=\"keyValues\"\n [readonlyKeys]=\"data.readonlyKeys\"\n [validator]=\"data.validator\"\n [errorMapper]=\"data.errorMapper\"\n name=\"key-values\"\n ></acl-key-value-form-table>\n </form>\n</aui-dialog-content>\n<aui-dialog-footer>\n <button\n aui-button=\"primary\"\n [loading]=\"submitting$$ | async\"\n [disabled]=\"submitting$$ | async\"\n (click)=\"ngForm.onSubmit(null)\"\n >\n {{ data.confirmButton || 'update' | translate }}\n </button>\n <button\n aui-button\n type=\"button\"\n auiDialogClose\n >\n {{ 'cancel' | translate }}\n </button>\n</aui-dialog-footer>\n" }]
70
+ }], ctorParameters: () => [{ type: i1.DialogRef }, { type: i1.MessageService }, { type: i2.TranslateService }, { type: undefined, decorators: [{
71
+ type: Optional
72
+ }, {
73
+ type: Inject,
74
+ args: [DIALOG_DATA]
75
+ }] }] });
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL2s4cy1zaGFyZWQvdXBkYXRlLWtleS12YWx1ZS1kaWFsb2cvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL2s4cy1zaGFyZWQvdXBkYXRlLWtleS12YWx1ZS1kaWFsb2cvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZUFBZSxFQUNmLFdBQVcsRUFDWCxZQUFZLEVBQ1osU0FBUyxFQUNULGNBQWMsR0FDZixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQ0wsT0FBTyxFQUVQLGFBQWEsRUFDYixnQkFBZ0IsR0FDakIsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUdOLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQ0wsZUFBZSxFQUNmLEtBQUssRUFFTCxPQUFPLEVBQ1AsSUFBSSxFQUNKLFVBQVUsRUFDVixTQUFTLEVBQ1QsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7OztBQXFDN0YsTUFBTSxPQUFPLDZCQUE2QjtJQWlCeEMsWUFDbUIsU0FHaEIsRUFDZ0IsT0FBdUIsRUFDdkIsU0FBMkIsRUFHckMsT0FBZ0QsRUFBRTtRQVJ4QyxjQUFTLEdBQVQsU0FBUyxDQUd6QjtRQUNnQixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUdyQyxTQUFJLEdBQUosSUFBSSxDQUE4QztRQW5CbEQsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFakMsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQU1sQyxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQWEvQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUssRUFBUSxDQUFDO1FBQzFELElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxRQUFRO1FBQ04sTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxHQUN2RSxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ1osSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2QsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVTthQUNaLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUN6QixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDdkMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNiLGtCQUFrQjtZQUNsQixJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3ZCLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDdEQsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDUCxJQUFJLFdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixJQUFJLGtCQUFrQixDQUFDLENBQzNELENBQUM7Z0JBQ0osQ0FBQztnQkFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN6QixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksV0FBVyxJQUFJLElBQUksRUFBRSxDQUFDO29CQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsYUFBYSxJQUFJLGVBQWUsQ0FBQyxDQUNyRCxDQUFDO2dCQUNKLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzlCLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs4R0E1RVUsNkJBQTZCLHlHQXlCOUIsV0FBVztrR0F6QlYsNkJBQTZCLHdFQ3pFMUMsODJCQWtDQSwyQ0QrQkksWUFBWSw2ZEFDWiwwQkFBMEIscVFBQzFCLFdBQVcsbXhCQUNYLGFBQWEsa0RBQ2IsZUFBZSxpSUFDZixTQUFTOzsyRkFHQSw2QkFBNkI7a0JBZHpDLFNBQVM7aUNBQ0ksSUFBSSx1QkFFSyxLQUFLLG1CQUNULHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsWUFBWTt3QkFDWiwwQkFBMEI7d0JBQzFCLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYixlQUFlO3dCQUNmLFNBQVM7cUJBQ1Y7OzBCQTBCRSxRQUFROzswQkFDUixNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCdXR0b25Db21wb25lbnQsXG4gIERJQUxPR19EQVRBLFxuICBEaWFsb2dNb2R1bGUsXG4gIERpYWxvZ1JlZixcbiAgTWVzc2FnZVNlcnZpY2UsXG59IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHtcbiAgaXNFcXVhbCxcbiAgU3RyaW5nTWFwLFxuICBUcmFuc2xhdGVQaXBlLFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxufSBmcm9tICdAYWxhdWRhLWZlL2R5bmFtaWMtcGx1Z2luLXNkayc7XG5pbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5qZWN0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgRU1QVFksXG4gIE9ic2VydmFibGUsXG4gIFN1YmplY3QsXG4gIGZyb20sXG4gIGNhdGNoRXJyb3IsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZVVudGlsLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBLZXlWYWx1ZUZvcm1UYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2FycmF5LWZvcm0tdGFibGUva2V5LXZhbHVlLWZvcm0vY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVLZXlWYWx1ZURpYWxvZ0RhdGE8XG4gIFIgPSB1bmtub3duLFxuICBDb250ZXh0ID0gdW5rbm93bixcbiAgVCA9IFN0cmluZ01hcCxcbj4ge1xuICB0aXRsZT86IHN0cmluZztcbiAga2V5VmFsdWVzPzogVDtcbiAgY29uZmlybUJ1dHRvbj86IHN0cmluZztcbiAgcmVhZG9ubHlLZXlzPzogQXJyYXk8c3RyaW5nIHwgUmVnRXhwPjtcbiAgb25VcGRhdGU/OiAoa2V5VmFsdWVzOiBUKSA9PiBQcm9taXNlPFI+IHwgT2JzZXJ2YWJsZTxSPjtcbiAgY29udGV4dD86IENvbnRleHQ7XG4gIHVwZGF0ZVN1Y2Nlc3NNc2c/OiBzdHJpbmc7XG4gIHVwZGF0ZUZhaWxNc2c/OiBzdHJpbmc7XG4gIHZhbGlkYXRvcj86IHtcbiAgICBrZXk6IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXTtcbiAgICB2YWx1ZT86IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXTtcbiAgfTtcbiAgZXJyb3JNYXBwZXI/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgc2hvd01lc3NhZ2U/OiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlLmh0bWwnLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBEaWFsb2dNb2R1bGUsXG4gICAgS2V5VmFsdWVGb3JtVGFibGVDb21wb25lbnQsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgVHJhbnNsYXRlUGlwZSxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgQXN5bmNQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBVcGRhdGVLZXlWYWx1ZURpYWxvZ0NvbXBvbmVudDxcbiAgICBSID0gdW5rbm93bixcbiAgICBDb250ZXh0ID0gdW5rbm93bixcbiAgICBUID0gU3RyaW5nTWFwLFxuICA+XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgcmVhZG9ubHkgb25VcGRhdGUkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcmVhZG9ubHkgc3VibWl0dGluZyQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBvcmlnaW5hbEtleVZhbHVlczogVDtcblxuICBrZXlWYWx1ZXM6IFQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nUmVmOiBEaWFsb2dSZWY8XG4gICAgICBVcGRhdGVLZXlWYWx1ZURpYWxvZ0NvbXBvbmVudDxSLCBDb250ZXh0LCBUPixcbiAgICAgIFVwZGF0ZUtleVZhbHVlRGlhbG9nRGF0YTxSLCBDb250ZXh0LCBUPlxuICAgID4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBtZXNzYWdlOiBNZXNzYWdlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoRElBTE9HX0RBVEEpXG4gICAgcHVibGljIGRhdGE6IFVwZGF0ZUtleVZhbHVlRGlhbG9nRGF0YTxSLCBDb250ZXh0LCBUPiA9IHt9LFxuICApIHtcbiAgICB0aGlzLm9yaWdpbmFsS2V5VmFsdWVzID0gdGhpcy5kYXRhLmtleVZhbHVlcyB8fCAoe30gYXMgVCk7XG4gICAgdGhpcy5rZXlWYWx1ZXMgPSBjbG9uZURlZXAodGhpcy5vcmlnaW5hbEtleVZhbHVlcyk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCB7IGNvbnRleHQsIG9uVXBkYXRlLCB1cGRhdGVTdWNjZXNzTXNnLCB1cGRhdGVGYWlsTXNnLCBzaG93TWVzc2FnZSB9ID1cbiAgICAgIHRoaXMuZGF0YTtcbiAgICBpZiAoIW9uVXBkYXRlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMub25VcGRhdGUkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLnN1Ym1pdHRpbmckJC5uZXh0KHRydWUpKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgICAvLyBub3RoaW5nIGNoYW5nZWRcbiAgICAgICAgICBpZiAoaXNFcXVhbCh0aGlzLm9yaWdpbmFsS2V5VmFsdWVzLCB0aGlzLmtleVZhbHVlcykpIHtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBmcm9tKG9uVXBkYXRlLmNhbGwoY29udGV4dCwgdGhpcy5rZXlWYWx1ZXMpKS5waXBlKFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHNob3dNZXNzYWdlID8/IHRydWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2Uuc3VjY2VzcyhcbiAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCh1cGRhdGVTdWNjZXNzTXNnIHx8ICd1cGRhdGVfc3VjY2VlZGVkJyksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB0aGlzLnN1Ym1pdHRpbmckJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChzaG93TWVzc2FnZSA/PyB0cnVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KHVwZGF0ZUZhaWxNc2cgfHwgJ3VwZGF0ZV9mYWlsZWQnKSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRoaXMuc3VibWl0dGluZyQkLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkJC5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8YXVpLWRpYWxvZy1oZWFkZXI+XG4gIHt7IGRhdGEudGl0bGUgfHwgJ3VwZGF0ZScgfCB0cmFuc2xhdGUgfX1cbjwvYXVpLWRpYWxvZy1oZWFkZXI+XG48YXVpLWRpYWxvZy1jb250ZW50PlxuICA8Zm9ybVxuICAgICNuZ0Zvcm09XCJuZ0Zvcm1cIlxuICAgIChuZ1N1Ym1pdCk9XCJuZ0Zvcm0udmFsaWQgJiYgb25VcGRhdGUkJC5uZXh0KClcIlxuICA+XG4gICAgPGFjbC1rZXktdmFsdWUtZm9ybS10YWJsZVxuICAgICAgWyhuZ01vZGVsKV09XCJrZXlWYWx1ZXNcIlxuICAgICAgW3JlYWRvbmx5S2V5c109XCJkYXRhLnJlYWRvbmx5S2V5c1wiXG4gICAgICBbdmFsaWRhdG9yXT1cImRhdGEudmFsaWRhdG9yXCJcbiAgICAgIFtlcnJvck1hcHBlcl09XCJkYXRhLmVycm9yTWFwcGVyXCJcbiAgICAgIG5hbWU9XCJrZXktdmFsdWVzXCJcbiAgICA+PC9hY2wta2V5LXZhbHVlLWZvcm0tdGFibGU+XG4gIDwvZm9ybT5cbjwvYXVpLWRpYWxvZy1jb250ZW50PlxuPGF1aS1kaWFsb2ctZm9vdGVyPlxuICA8YnV0dG9uXG4gICAgYXVpLWJ1dHRvbj1cInByaW1hcnlcIlxuICAgIFtsb2FkaW5nXT1cInN1Ym1pdHRpbmckJCB8IGFzeW5jXCJcbiAgICBbZGlzYWJsZWRdPVwic3VibWl0dGluZyQkIHwgYXN5bmNcIlxuICAgIChjbGljayk9XCJuZ0Zvcm0ub25TdWJtaXQobnVsbClcIlxuICA+XG4gICAge3sgZGF0YS5jb25maXJtQnV0dG9uIHx8ICd1cGRhdGUnIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuICA8YnV0dG9uXG4gICAgYXVpLWJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGF1aURpYWxvZ0Nsb3NlXG4gID5cbiAgICB7eyAnY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbjwvYXVpLWRpYWxvZy1mb290ZXI+XG4iXX0=
@@ -0,0 +1,50 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { coerceAttrBoolean } from '@alauda/ui';
3
+ import { Directive, ElementRef, HostListener, Input, isDevMode, } from '@angular/core';
4
+ import { fromEvent, map, Observable, Subject, takeUntil, withLatestFrom, } from 'rxjs';
5
+ import { ObservableInput } from '../utils';
6
+ import { InterceptDeactivateService } from './deactivate.service';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "./deactivate.service";
9
+ export class InterceptDeactivateDirective {
10
+ constructor(elRef, interceptDeactivate) {
11
+ this.elRef = elRef;
12
+ this.interceptDeactivate = interceptDeactivate;
13
+ this.enabled$ = this.enabled$$.pipe(map(coerceAttrBoolean));
14
+ this.destroy$$ = new Subject();
15
+ }
16
+ ngAfterViewInit() {
17
+ fromEvent(this.elRef.nativeElement, 'click')
18
+ .pipe(withLatestFrom(this.enabled$), takeUntil(this.destroy$$))
19
+ .subscribe(([, enabled]) => {
20
+ this.interceptDeactivate.back(!enabled);
21
+ });
22
+ }
23
+ ngOnDestroy() {
24
+ this.destroy$$.next();
25
+ this.destroy$$.complete();
26
+ }
27
+ onBeforeUnload() {
28
+ return isDevMode() || !this.enabled;
29
+ }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InterceptDeactivateDirective, deps: [{ token: i0.ElementRef }, { token: i1.InterceptDeactivateService }], target: i0.ɵɵFactoryTarget.Directive }); }
31
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: InterceptDeactivateDirective, isStandalone: true, selector: "[aclInterceptDeactivate]", inputs: { enabled: ["aclInterceptDeactivate", "enabled"] }, host: { listeners: { "window:beforeunload": "onBeforeUnload()" } }, ngImport: i0 }); }
32
+ }
33
+ __decorate([
34
+ ObservableInput(),
35
+ __metadata("design:type", Observable)
36
+ ], InterceptDeactivateDirective.prototype, "enabled$$", void 0);
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InterceptDeactivateDirective, decorators: [{
38
+ type: Directive,
39
+ args: [{
40
+ selector: '[aclInterceptDeactivate]',
41
+ standalone: true,
42
+ }]
43
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.InterceptDeactivateService }], propDecorators: { enabled: [{
44
+ type: Input,
45
+ args: ['aclInterceptDeactivate']
46
+ }], enabled$$: [], onBeforeUnload: [{
47
+ type: HostListener,
48
+ args: ['window:beforeunload']
49
+ }] } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVhY3RpdmF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvcGFnZS1kZWFjdGl2YXRlL2RlYWN0aXZhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDL0MsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLFNBQVMsRUFDVCxHQUFHLEVBQ0gsVUFBVSxFQUNWLE9BQU8sRUFDUCxTQUFTLEVBQ1QsY0FBYyxHQUNmLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBTWxFLE1BQU0sT0FBTyw0QkFBNEI7SUFXdkMsWUFDbUIsS0FBOEIsRUFDOUIsbUJBQStDO1FBRC9DLFVBQUssR0FBTCxLQUFLLENBQXlCO1FBQzlCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBNEI7UUFObEUsYUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7UUFFdkQsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFLN0IsQ0FBQztJQUVKLGVBQWU7UUFDYixTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDO2FBQ3pDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDOUQsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUU7WUFDekIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUdELGNBQWM7UUFDWixPQUFPLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QyxDQUFDOzhHQWhDVSw0QkFBNEI7a0dBQTVCLDRCQUE0Qjs7QUFLdkM7SUFEQyxlQUFlLEVBQUU7OEJBQ04sVUFBVTsrREFBZTsyRkFMMUIsNEJBQTRCO2tCQUp4QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjt3SEFHQyxPQUFPO3NCQUROLEtBQUs7dUJBQUMsd0JBQXdCO2dCQUkvQixTQUFTLE1BeUJULGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VBdHRyQm9vbGVhbiB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBpc0Rldk1vZGUsXG4gIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBmcm9tRXZlbnQsXG4gIG1hcCxcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgdGFrZVVudGlsLFxuICB3aXRoTGF0ZXN0RnJvbSxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE9ic2VydmFibGVJbnB1dCB9IGZyb20gJy4uL3V0aWxzJztcblxuaW1wb3J0IHsgSW50ZXJjZXB0RGVhY3RpdmF0ZVNlcnZpY2UgfSBmcm9tICcuL2RlYWN0aXZhdGUuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thY2xJbnRlcmNlcHREZWFjdGl2YXRlXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEludGVyY2VwdERlYWN0aXZhdGVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoJ2FjbEludGVyY2VwdERlYWN0aXZhdGUnKVxuICBlbmFibGVkOiBib29sZWFuIHwgJyc7XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGVuYWJsZWQkJCE6IE9ic2VydmFibGU8Ym9vbGVhbiB8ICcnPjtcblxuICBlbmFibGVkJCA9IHRoaXMuZW5hYmxlZCQkLnBpcGUobWFwKGNvZXJjZUF0dHJCb29sZWFuKSk7XG5cbiAgZGVzdHJveSQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGludGVyY2VwdERlYWN0aXZhdGU6IEludGVyY2VwdERlYWN0aXZhdGVTZXJ2aWNlLFxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGZyb21FdmVudCh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICdjbGljaycpXG4gICAgICAucGlwZSh3aXRoTGF0ZXN0RnJvbSh0aGlzLmVuYWJsZWQkKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKFssIGVuYWJsZWRdKSA9PiB7XG4gICAgICAgIHRoaXMuaW50ZXJjZXB0RGVhY3RpdmF0ZS5iYWNrKCFlbmFibGVkKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6YmVmb3JldW5sb2FkJylcbiAgb25CZWZvcmVVbmxvYWQoKSB7XG4gICAgcmV0dXJuIGlzRGV2TW9kZSgpIHx8ICF0aGlzLmVuYWJsZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,41 @@
1
+ import { Injectable, Injector } from '@angular/core';
2
+ import { from, Observable, of, switchMap } from 'rxjs';
3
+ import { InterceptDeactivateService } from './deactivate.service';
4
+ import * as i0 from "@angular/core";
5
+ export const ESCAPE_DEACTIVATE_GUARD = '__ESCAPE_DEACTIVATE_GUARD__';
6
+ export const CURR_ESCAPE_DEACTIVATE_GUARD = '__CURR_ESCAPE_DEACTIVATE_GUARD__';
7
+ export class InterceptDeactivateGuard {
8
+ constructor(injector) {
9
+ this.injector = injector;
10
+ }
11
+ canDeactivate(component, currentRoute, currentState, nextState) {
12
+ let { canDeactivate } = component;
13
+ if (typeof canDeactivate === 'function') {
14
+ canDeactivate = canDeactivate();
15
+ }
16
+ const result$ = canDeactivate instanceof Observable || canDeactivate instanceof Promise
17
+ ? from(canDeactivate)
18
+ : of(!!canDeactivate);
19
+ return result$.pipe(switchMap(canDeactivate => {
20
+ if (canDeactivate ||
21
+ CURR_ESCAPE_DEACTIVATE_GUARD === currentState.root.fragment ||
22
+ CURR_ESCAPE_DEACTIVATE_GUARD === nextState.root.fragment ||
23
+ ESCAPE_DEACTIVATE_GUARD === nextState.root.fragment) {
24
+ return of(true);
25
+ }
26
+ return this.injector.get(InterceptDeactivateService).intercept({
27
+ title: currentRoute.data.interceptDeactivateTitle,
28
+ content: currentRoute.data.interceptDeactivateContent,
29
+ context: component,
30
+ errorFallback: false,
31
+ });
32
+ }));
33
+ }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InterceptDeactivateGuard, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
35
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InterceptDeactivateGuard, providedIn: 'root' }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InterceptDeactivateGuard, decorators: [{
38
+ type: Injectable,
39
+ args: [{ providedIn: 'root' }]
40
+ }], ctorParameters: () => [{ type: i0.Injector }] });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVhY3RpdmF0ZS5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZHluYW1pYy1wbHVnaW4tc2hhcmVkL3NyYy9wYWdlLWRlYWN0aXZhdGUvZGVhY3RpdmF0ZS5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU1yRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUVsRSxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyw2QkFBNkIsQ0FBQztBQUNyRSxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxrQ0FBa0MsQ0FBQztBQUcvRSxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLFlBQTZCLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRyxDQUFDO0lBRW5ELGFBQWEsQ0FDWCxTQUFpQixFQUNqQixZQUFvQyxFQUNwQyxZQUFpQyxFQUNqQyxTQUE4QjtRQUU5QixJQUFJLEVBQUUsYUFBYSxFQUFFLEdBQUcsU0FBd0MsQ0FBQztRQUVqRSxJQUFJLE9BQU8sYUFBYSxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ3hDLGFBQWEsR0FBRyxhQUFhLEVBQUUsQ0FBQztRQUNsQyxDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQ1gsYUFBYSxZQUFZLFVBQVUsSUFBSSxhQUFhLFlBQVksT0FBTztZQUNyRSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUNyQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUUxQixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQ2pCLFNBQVMsQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUN4QixJQUNFLGFBQWE7Z0JBQ2IsNEJBQTRCLEtBQUssWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRO2dCQUMzRCw0QkFBNEIsS0FBSyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVE7Z0JBQ3hELHVCQUF1QixLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUNuRCxDQUFDO2dCQUNELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xCLENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUM3RCxLQUFLLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyx3QkFBd0I7Z0JBQ2pELE9BQU8sRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLDBCQUEwQjtnQkFDckQsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLGFBQWEsRUFBRSxLQUFLO2FBQ3JCLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOzhHQXZDVSx3QkFBd0I7a0hBQXhCLHdCQUF3QixjQURYLE1BQU07OzJGQUNuQix3QkFBd0I7a0JBRHBDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gIENhbkRlYWN0aXZhdGUsXG4gIFJvdXRlclN0YXRlU25hcHNob3QsXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEludGVyY2VwdERlYWN0aXZhdGVTZXJ2aWNlIH0gZnJvbSAnLi9kZWFjdGl2YXRlLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgRVNDQVBFX0RFQUNUSVZBVEVfR1VBUkQgPSAnX19FU0NBUEVfREVBQ1RJVkFURV9HVUFSRF9fJztcbmV4cG9ydCBjb25zdCBDVVJSX0VTQ0FQRV9ERUFDVElWQVRFX0dVQVJEID0gJ19fQ1VSUl9FU0NBUEVfREVBQ1RJVkFURV9HVUFSRF9fJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBJbnRlcmNlcHREZWFjdGl2YXRlR3VhcmQgaW1wbGVtZW50cyBDYW5EZWFjdGl2YXRlPHVua25vd24+IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cbiAgY2FuRGVhY3RpdmF0ZShcbiAgICBjb21wb25lbnQ6IG9iamVjdCxcbiAgICBjdXJyZW50Um91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gICAgY3VycmVudFN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LFxuICAgIG5leHRTdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCxcbiAgKSB7XG4gICAgbGV0IHsgY2FuRGVhY3RpdmF0ZSB9ID0gY29tcG9uZW50IGFzIHsgY2FuRGVhY3RpdmF0ZT86IHVua25vd24gfTtcblxuICAgIGlmICh0eXBlb2YgY2FuRGVhY3RpdmF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY2FuRGVhY3RpdmF0ZSA9IGNhbkRlYWN0aXZhdGUoKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQkID1cbiAgICAgIGNhbkRlYWN0aXZhdGUgaW5zdGFuY2VvZiBPYnNlcnZhYmxlIHx8IGNhbkRlYWN0aXZhdGUgaW5zdGFuY2VvZiBQcm9taXNlXG4gICAgICAgID8gZnJvbShjYW5EZWFjdGl2YXRlKVxuICAgICAgICA6IG9mKCEhY2FuRGVhY3RpdmF0ZSk7XG5cbiAgICByZXR1cm4gcmVzdWx0JC5waXBlKFxuICAgICAgc3dpdGNoTWFwKGNhbkRlYWN0aXZhdGUgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgY2FuRGVhY3RpdmF0ZSB8fFxuICAgICAgICAgIENVUlJfRVNDQVBFX0RFQUNUSVZBVEVfR1VBUkQgPT09IGN1cnJlbnRTdGF0ZS5yb290LmZyYWdtZW50IHx8XG4gICAgICAgICAgQ1VSUl9FU0NBUEVfREVBQ1RJVkFURV9HVUFSRCA9PT0gbmV4dFN0YXRlLnJvb3QuZnJhZ21lbnQgfHxcbiAgICAgICAgICBFU0NBUEVfREVBQ1RJVkFURV9HVUFSRCA9PT0gbmV4dFN0YXRlLnJvb3QuZnJhZ21lbnRcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaW5qZWN0b3IuZ2V0KEludGVyY2VwdERlYWN0aXZhdGVTZXJ2aWNlKS5pbnRlcmNlcHQoe1xuICAgICAgICAgIHRpdGxlOiBjdXJyZW50Um91dGUuZGF0YS5pbnRlcmNlcHREZWFjdGl2YXRlVGl0bGUsXG4gICAgICAgICAgY29udGVudDogY3VycmVudFJvdXRlLmRhdGEuaW50ZXJjZXB0RGVhY3RpdmF0ZUNvbnRlbnQsXG4gICAgICAgICAgY29udGV4dDogY29tcG9uZW50LFxuICAgICAgICAgIGVycm9yRmFsbGJhY2s6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==