@ytsaurus/ui 1.14.0 → 1.14.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) hide show
  1. package/build/cjs/@types/types.d.ts +1 -0
  2. package/build/cjs/server/controllers/home.js +1 -1
  3. package/build/cjs/server/controllers/home.js.map +1 -1
  4. package/build/cjs/shared/utils/index.js +3 -3
  5. package/build/cjs/shared/utils/index.js.map +1 -1
  6. package/build/cjs/ui/components/AttributesModal/AttributesModal.d.ts +1 -1
  7. package/build/cjs/ui/containers/RetryBatchModal/RetryBatchModal.js +1 -2
  8. package/build/cjs/ui/containers/RetryBatchModal/RetryBatchModal.js.map +1 -1
  9. package/build/cjs/ui/pages/navigation/content/Table/TableMeta/TableMeta.d.ts +1 -1
  10. package/build/cjs/ui/pages/operations/selectors.d.ts +1 -1
  11. package/build/cjs/ui/pages/query-tracker/module/api.js +1 -1
  12. package/build/cjs/ui/pages/query-tracker/module/api.js.map +1 -1
  13. package/build/cjs/ui/pages/query-tracker/module/queries_list/selectors.d.ts +4 -4
  14. package/build/cjs/ui/pages/query-tracker/module/query/selectors.d.ts +1 -1
  15. package/build/cjs/ui/pages/query-tracker/module/settings/selector.d.ts +1 -1
  16. package/build/cjs/ui/rum/constants.d.ts +2 -0
  17. package/build/cjs/ui/rum/constants.js +4 -1
  18. package/build/cjs/ui/rum/constants.js.map +1 -1
  19. package/build/cjs/ui/rum/rum-counter.js +28 -1
  20. package/build/cjs/ui/rum/rum-counter.js.map +1 -1
  21. package/build/cjs/ui/store/actions/chaos_cell_bundles/tablet-cell-bundle-editor.js +2 -1
  22. package/build/cjs/ui/store/actions/chaos_cell_bundles/tablet-cell-bundle-editor.js.map +1 -1
  23. package/build/cjs/ui/store/actions/components/node/node.js +0 -1
  24. package/build/cjs/ui/store/actions/components/node/node.js.map +1 -1
  25. package/build/cjs/ui/store/actions/components/nodes/nodes.js +1 -1
  26. package/build/cjs/ui/store/actions/components/nodes/nodes.js.map +1 -1
  27. package/build/cjs/ui/store/actions/execute-batch.d.ts +2 -1
  28. package/build/cjs/ui/store/actions/execute-batch.js +8 -5
  29. package/build/cjs/ui/store/actions/execute-batch.js.map +1 -1
  30. package/build/cjs/ui/store/actions/job/competitors.js +6 -3
  31. package/build/cjs/ui/store/actions/job/competitors.js.map +1 -1
  32. package/build/cjs/ui/store/actions/job/general.js +6 -3
  33. package/build/cjs/ui/store/actions/job/general.js.map +1 -1
  34. package/build/cjs/ui/store/actions/job/specification.js +8 -5
  35. package/build/cjs/ui/store/actions/job/specification.js.map +1 -1
  36. package/build/cjs/ui/store/actions/navigation/content/file.js +8 -5
  37. package/build/cjs/ui/store/actions/navigation/content/file.js.map +1 -1
  38. package/build/cjs/ui/store/actions/navigation/content/map-node.js +1 -1
  39. package/build/cjs/ui/store/actions/navigation/content/map-node.js.map +1 -1
  40. package/build/cjs/ui/store/actions/navigation/content/table/table.js +17 -11
  41. package/build/cjs/ui/store/actions/navigation/content/table/table.js.map +1 -1
  42. package/build/cjs/ui/store/actions/navigation/content/transaction.js +5 -2
  43. package/build/cjs/ui/store/actions/navigation/content/transaction.js.map +1 -1
  44. package/build/cjs/ui/store/actions/navigation/index.js +1 -1
  45. package/build/cjs/ui/store/actions/navigation/index.js.map +1 -1
  46. package/build/cjs/ui/store/actions/navigation/modals/attributes-editor.js +9 -3
  47. package/build/cjs/ui/store/actions/navigation/modals/attributes-editor.js.map +1 -1
  48. package/build/cjs/ui/store/actions/navigation/modals/copy-object.js +22 -20
  49. package/build/cjs/ui/store/actions/navigation/modals/copy-object.js.map +1 -1
  50. package/build/cjs/ui/store/actions/navigation/modals/create-directory.js +7 -4
  51. package/build/cjs/ui/store/actions/navigation/modals/create-directory.js.map +1 -1
  52. package/build/cjs/ui/store/actions/navigation/modals/delete-object.js +13 -14
  53. package/build/cjs/ui/store/actions/navigation/modals/delete-object.js.map +1 -1
  54. package/build/cjs/ui/store/actions/navigation/modals/dyn-tables-state-modal.js +9 -5
  55. package/build/cjs/ui/store/actions/navigation/modals/dyn-tables-state-modal.js.map +1 -1
  56. package/build/cjs/ui/store/actions/navigation/modals/move-object.js +22 -20
  57. package/build/cjs/ui/store/actions/navigation/modals/move-object.js.map +1 -1
  58. package/build/cjs/ui/store/actions/navigation/modals/restore-object.js +3 -11
  59. package/build/cjs/ui/store/actions/navigation/modals/restore-object.js.map +1 -1
  60. package/build/cjs/ui/store/actions/navigation/tabs/locks.js +1 -1
  61. package/build/cjs/ui/store/actions/navigation/tabs/locks.js.map +1 -1
  62. package/build/cjs/ui/store/actions/navigation/tabs/tablet-errors.js +15 -12
  63. package/build/cjs/ui/store/actions/navigation/tabs/tablet-errors.js.map +1 -1
  64. package/build/cjs/ui/store/actions/operations/jobs.js +8 -2
  65. package/build/cjs/ui/store/actions/operations/jobs.js.map +1 -1
  66. package/build/cjs/ui/store/actions/operations/list.js +4 -2
  67. package/build/cjs/ui/store/actions/operations/list.js.map +1 -1
  68. package/build/cjs/ui/store/actions/scheduling/expanded-pools.js +2 -3
  69. package/build/cjs/ui/store/actions/scheduling/expanded-pools.js.map +1 -1
  70. package/build/cjs/ui/store/actions/scheduling/scheduling-ts.js +3 -3
  71. package/build/cjs/ui/store/actions/scheduling/scheduling-ts.js.map +1 -1
  72. package/build/cjs/ui/store/actions/scheduling/scheduling.js +1 -1
  73. package/build/cjs/ui/store/actions/scheduling/scheduling.js.map +1 -1
  74. package/build/cjs/ui/store/actions/system/nodes.js +1 -1
  75. package/build/cjs/ui/store/actions/system/nodes.js.map +1 -1
  76. package/build/cjs/ui/store/actions/system/schedulers.js +2 -2
  77. package/build/cjs/ui/store/actions/system/schedulers.js.map +1 -1
  78. package/build/cjs/ui/store/actions/tablet/stores.js +1 -1
  79. package/build/cjs/ui/store/actions/tablet/stores.js.map +1 -1
  80. package/build/cjs/ui/store/actions/tablet_cell_bundles/index.js +1 -1
  81. package/build/cjs/ui/store/actions/tablet_cell_bundles/index.js.map +1 -1
  82. package/build/cjs/ui/store/actions/tablet_cell_bundles/tablet-cell-bundle-editor.js +5 -5
  83. package/build/cjs/ui/store/actions/tablet_cell_bundles/tablet-cell-bundle-editor.js.map +1 -1
  84. package/build/cjs/ui/store/actions/users.js +1 -1
  85. package/build/cjs/ui/store/actions/users.js.map +1 -1
  86. package/build/cjs/ui/store/reducers/execute-batch.d.ts +1 -1
  87. package/build/cjs/ui/store/reducers/execute-batch.js.map +1 -1
  88. package/build/cjs/ui/store/reducers/index.d.ts +1 -1
  89. package/build/cjs/ui/store/reducers/navigation/index.d.ts +1 -1
  90. package/build/cjs/ui/store/selectors/accounts/account-usage.d.ts +8 -8
  91. package/build/cjs/ui/store/selectors/accounts/accounts-ts.d.ts +8 -8
  92. package/build/cjs/ui/store/selectors/chaos_cell_bundles/index.d.ts +11 -11
  93. package/build/cjs/ui/store/selectors/chyt/index.d.ts +7 -7
  94. package/build/cjs/ui/store/selectors/components/node/memory.d.ts +7 -7
  95. package/build/cjs/ui/store/selectors/components/node-maintenance-modal.d.ts +3 -3
  96. package/build/cjs/ui/store/selectors/components/nodes/node-card.d.ts +1 -1
  97. package/build/cjs/ui/store/selectors/components/nodes/nodes/data.d.ts +2 -2
  98. package/build/cjs/ui/store/selectors/components/nodes/nodes/predicates.d.ts +6 -6
  99. package/build/cjs/ui/store/selectors/components/versions/versions_v2-ts.d.ts +2 -2
  100. package/build/cjs/ui/store/selectors/components/versions/versions_v2.d.ts +5 -5
  101. package/build/cjs/ui/store/selectors/global/index.d.ts +14 -14
  102. package/build/cjs/ui/store/selectors/global/supported-features.d.ts +6 -6
  103. package/build/cjs/ui/store/selectors/modals/errors.d.ts +1 -1
  104. package/build/cjs/ui/store/selectors/navigation/content/document.d.ts +1 -1
  105. package/build/cjs/ui/store/selectors/navigation/content/replicated-table.d.ts +3 -3
  106. package/build/cjs/ui/store/selectors/navigation/content/table-mount-config.d.ts +1 -1
  107. package/build/cjs/ui/store/selectors/navigation/content/table-ts.d.ts +4 -4
  108. package/build/cjs/ui/store/selectors/navigation/content/table.d.ts +7 -7
  109. package/build/cjs/ui/store/selectors/navigation/modals/attributes-editor.d.ts +3 -3
  110. package/build/cjs/ui/store/selectors/navigation/modals/remote-copy-modal.d.ts +1 -1
  111. package/build/cjs/ui/store/selectors/navigation/navigation.d.ts +4 -4
  112. package/build/cjs/ui/store/selectors/navigation/tabs/access-log.d.ts +1 -1
  113. package/build/cjs/ui/store/selectors/navigation/tabs/annotation.d.ts +1 -1
  114. package/build/cjs/ui/store/selectors/navigation/tabs/consumer.d.ts +1 -1
  115. package/build/cjs/ui/store/selectors/navigation/tabs/locks.d.ts +2 -2
  116. package/build/cjs/ui/store/selectors/navigation/tabs/queue.d.ts +2 -2
  117. package/build/cjs/ui/store/selectors/navigation/tabs/tablet-errors.d.ts +1 -1
  118. package/build/cjs/ui/store/selectors/operations/index.d.ts +12 -12
  119. package/build/cjs/ui/store/selectors/operations/jobs-monitor.d.ts +4 -4
  120. package/build/cjs/ui/store/selectors/operations/operation.d.ts +12 -12
  121. package/build/cjs/ui/store/selectors/operations/operations-list.d.ts +3 -3
  122. package/build/cjs/ui/store/selectors/operations/statistics-v2.d.ts +8 -8
  123. package/build/cjs/ui/store/selectors/scheduling/attributes-to-filter.d.ts +1 -1
  124. package/build/cjs/ui/store/selectors/scheduling/create-pool-dialog.d.ts +1 -1
  125. package/build/cjs/ui/store/selectors/scheduling/expanded-pools.d.ts +1 -1
  126. package/build/cjs/ui/store/selectors/scheduling/index.d.ts +1 -1
  127. package/build/cjs/ui/store/selectors/scheduling/scheduling-pools.d.ts +3 -3
  128. package/build/cjs/ui/store/selectors/scheduling/scheduling-ts.d.ts +6 -6
  129. package/build/cjs/ui/store/selectors/scheduling/scheduling.d.ts +20 -20
  130. package/build/cjs/ui/store/selectors/tablet_cell_bundles/index.d.ts +15 -15
  131. package/build/cjs/ui/store/selectors/thor/support.d.ts +5 -5
  132. package/build/cjs/ui/utils/acl/acl-api.js +4 -4
  133. package/build/cjs/ui/utils/acl/acl-api.js.map +1 -1
  134. package/build/cjs/ui/utils/batch.d.ts +2 -2
  135. package/build/cjs/ui/utils/cypress-attributes.js +1 -1
  136. package/build/cjs/ui/utils/cypress-attributes.js.map +1 -1
  137. package/build/cjs/ui/utils/errors/ui-error.d.ts +14 -0
  138. package/build/cjs/ui/utils/errors/ui-error.js +24 -0
  139. package/build/cjs/ui/utils/errors/ui-error.js.map +1 -0
  140. package/build/cjs/ui/utils/utils.d.ts +14 -8
  141. package/build/cjs/ui/utils/utils.js +9 -14
  142. package/build/cjs/ui/utils/utils.js.map +1 -1
  143. package/build/esm/@types/types.d.ts +1 -0
  144. package/build/esm/server/controllers/home.js +1 -1
  145. package/build/esm/server/controllers/home.js.map +1 -1
  146. package/build/esm/shared/utils/index.js +4 -8
  147. package/build/esm/shared/utils/index.js.map +1 -1
  148. package/build/esm/ui/components/AttributesModal/AttributesModal.d.ts +1 -1
  149. package/build/esm/ui/containers/RetryBatchModal/RetryBatchModal.js +1 -2
  150. package/build/esm/ui/containers/RetryBatchModal/RetryBatchModal.js.map +1 -1
  151. package/build/esm/ui/pages/navigation/content/Table/TableMeta/TableMeta.d.ts +1 -1
  152. package/build/esm/ui/pages/operations/selectors.d.ts +1 -1
  153. package/build/esm/ui/pages/query-tracker/module/api.js +1 -1
  154. package/build/esm/ui/pages/query-tracker/module/api.js.map +1 -1
  155. package/build/esm/ui/pages/query-tracker/module/queries_list/selectors.d.ts +4 -4
  156. package/build/esm/ui/pages/query-tracker/module/query/selectors.d.ts +1 -1
  157. package/build/esm/ui/pages/query-tracker/module/settings/selector.d.ts +1 -1
  158. package/build/esm/ui/rum/constants.d.ts +2 -0
  159. package/build/esm/ui/rum/constants.js +4 -1
  160. package/build/esm/ui/rum/constants.js.map +1 -1
  161. package/build/esm/ui/rum/rum-counter.js +28 -1
  162. package/build/esm/ui/rum/rum-counter.js.map +1 -1
  163. package/build/esm/ui/store/actions/chaos_cell_bundles/tablet-cell-bundle-editor.js +2 -1
  164. package/build/esm/ui/store/actions/chaos_cell_bundles/tablet-cell-bundle-editor.js.map +1 -1
  165. package/build/esm/ui/store/actions/components/node/node.js +0 -1
  166. package/build/esm/ui/store/actions/components/node/node.js.map +1 -1
  167. package/build/esm/ui/store/actions/components/nodes/nodes.js +1 -1
  168. package/build/esm/ui/store/actions/components/nodes/nodes.js.map +1 -1
  169. package/build/esm/ui/store/actions/execute-batch.d.ts +2 -1
  170. package/build/esm/ui/store/actions/execute-batch.js +8 -5
  171. package/build/esm/ui/store/actions/execute-batch.js.map +1 -1
  172. package/build/esm/ui/store/actions/job/competitors.js +6 -3
  173. package/build/esm/ui/store/actions/job/competitors.js.map +1 -1
  174. package/build/esm/ui/store/actions/job/general.js +6 -3
  175. package/build/esm/ui/store/actions/job/general.js.map +1 -1
  176. package/build/esm/ui/store/actions/job/specification.js +8 -5
  177. package/build/esm/ui/store/actions/job/specification.js.map +1 -1
  178. package/build/esm/ui/store/actions/navigation/content/file.js +8 -5
  179. package/build/esm/ui/store/actions/navigation/content/file.js.map +1 -1
  180. package/build/esm/ui/store/actions/navigation/content/map-node.js +1 -1
  181. package/build/esm/ui/store/actions/navigation/content/map-node.js.map +1 -1
  182. package/build/esm/ui/store/actions/navigation/content/table/table.js +17 -11
  183. package/build/esm/ui/store/actions/navigation/content/table/table.js.map +1 -1
  184. package/build/esm/ui/store/actions/navigation/content/transaction.js +5 -2
  185. package/build/esm/ui/store/actions/navigation/content/transaction.js.map +1 -1
  186. package/build/esm/ui/store/actions/navigation/index.js +1 -1
  187. package/build/esm/ui/store/actions/navigation/index.js.map +1 -1
  188. package/build/esm/ui/store/actions/navigation/modals/attributes-editor.js +9 -3
  189. package/build/esm/ui/store/actions/navigation/modals/attributes-editor.js.map +1 -1
  190. package/build/esm/ui/store/actions/navigation/modals/copy-object.js +23 -21
  191. package/build/esm/ui/store/actions/navigation/modals/copy-object.js.map +1 -1
  192. package/build/esm/ui/store/actions/navigation/modals/create-directory.js +7 -4
  193. package/build/esm/ui/store/actions/navigation/modals/create-directory.js.map +1 -1
  194. package/build/esm/ui/store/actions/navigation/modals/delete-object.js +14 -15
  195. package/build/esm/ui/store/actions/navigation/modals/delete-object.js.map +1 -1
  196. package/build/esm/ui/store/actions/navigation/modals/dyn-tables-state-modal.js +9 -5
  197. package/build/esm/ui/store/actions/navigation/modals/dyn-tables-state-modal.js.map +1 -1
  198. package/build/esm/ui/store/actions/navigation/modals/move-object.js +23 -21
  199. package/build/esm/ui/store/actions/navigation/modals/move-object.js.map +1 -1
  200. package/build/esm/ui/store/actions/navigation/modals/restore-object.js +4 -12
  201. package/build/esm/ui/store/actions/navigation/modals/restore-object.js.map +1 -1
  202. package/build/esm/ui/store/actions/navigation/tabs/locks.js +1 -1
  203. package/build/esm/ui/store/actions/navigation/tabs/locks.js.map +1 -1
  204. package/build/esm/ui/store/actions/navigation/tabs/tablet-errors.js +15 -12
  205. package/build/esm/ui/store/actions/navigation/tabs/tablet-errors.js.map +1 -1
  206. package/build/esm/ui/store/actions/operations/jobs.js +8 -2
  207. package/build/esm/ui/store/actions/operations/jobs.js.map +1 -1
  208. package/build/esm/ui/store/actions/operations/list.js +4 -2
  209. package/build/esm/ui/store/actions/operations/list.js.map +1 -1
  210. package/build/esm/ui/store/actions/scheduling/expanded-pools.js +2 -3
  211. package/build/esm/ui/store/actions/scheduling/expanded-pools.js.map +1 -1
  212. package/build/esm/ui/store/actions/scheduling/scheduling-ts.js +3 -3
  213. package/build/esm/ui/store/actions/scheduling/scheduling-ts.js.map +1 -1
  214. package/build/esm/ui/store/actions/scheduling/scheduling.js +1 -1
  215. package/build/esm/ui/store/actions/scheduling/scheduling.js.map +1 -1
  216. package/build/esm/ui/store/actions/system/nodes.js +1 -1
  217. package/build/esm/ui/store/actions/system/nodes.js.map +1 -1
  218. package/build/esm/ui/store/actions/system/schedulers.js +2 -2
  219. package/build/esm/ui/store/actions/system/schedulers.js.map +1 -1
  220. package/build/esm/ui/store/actions/tablet/stores.js +1 -1
  221. package/build/esm/ui/store/actions/tablet/stores.js.map +1 -1
  222. package/build/esm/ui/store/actions/tablet_cell_bundles/index.js +1 -1
  223. package/build/esm/ui/store/actions/tablet_cell_bundles/index.js.map +1 -1
  224. package/build/esm/ui/store/actions/tablet_cell_bundles/tablet-cell-bundle-editor.js +5 -5
  225. package/build/esm/ui/store/actions/tablet_cell_bundles/tablet-cell-bundle-editor.js.map +1 -1
  226. package/build/esm/ui/store/actions/users.js +1 -1
  227. package/build/esm/ui/store/actions/users.js.map +1 -1
  228. package/build/esm/ui/store/reducers/execute-batch.d.ts +1 -1
  229. package/build/esm/ui/store/reducers/execute-batch.js.map +1 -1
  230. package/build/esm/ui/store/reducers/index.d.ts +1 -1
  231. package/build/esm/ui/store/reducers/navigation/index.d.ts +1 -1
  232. package/build/esm/ui/store/selectors/accounts/account-usage.d.ts +8 -8
  233. package/build/esm/ui/store/selectors/accounts/accounts-ts.d.ts +8 -8
  234. package/build/esm/ui/store/selectors/chaos_cell_bundles/index.d.ts +11 -11
  235. package/build/esm/ui/store/selectors/chyt/index.d.ts +7 -7
  236. package/build/esm/ui/store/selectors/components/node/memory.d.ts +7 -7
  237. package/build/esm/ui/store/selectors/components/node-maintenance-modal.d.ts +3 -3
  238. package/build/esm/ui/store/selectors/components/nodes/node-card.d.ts +1 -1
  239. package/build/esm/ui/store/selectors/components/nodes/nodes/data.d.ts +2 -2
  240. package/build/esm/ui/store/selectors/components/nodes/nodes/predicates.d.ts +6 -6
  241. package/build/esm/ui/store/selectors/components/versions/versions_v2-ts.d.ts +2 -2
  242. package/build/esm/ui/store/selectors/components/versions/versions_v2.d.ts +5 -5
  243. package/build/esm/ui/store/selectors/global/index.d.ts +14 -14
  244. package/build/esm/ui/store/selectors/global/supported-features.d.ts +6 -6
  245. package/build/esm/ui/store/selectors/modals/errors.d.ts +1 -1
  246. package/build/esm/ui/store/selectors/navigation/content/document.d.ts +1 -1
  247. package/build/esm/ui/store/selectors/navigation/content/replicated-table.d.ts +3 -3
  248. package/build/esm/ui/store/selectors/navigation/content/table-mount-config.d.ts +1 -1
  249. package/build/esm/ui/store/selectors/navigation/content/table-ts.d.ts +4 -4
  250. package/build/esm/ui/store/selectors/navigation/content/table.d.ts +7 -7
  251. package/build/esm/ui/store/selectors/navigation/modals/attributes-editor.d.ts +3 -3
  252. package/build/esm/ui/store/selectors/navigation/modals/remote-copy-modal.d.ts +1 -1
  253. package/build/esm/ui/store/selectors/navigation/navigation.d.ts +4 -4
  254. package/build/esm/ui/store/selectors/navigation/tabs/access-log.d.ts +1 -1
  255. package/build/esm/ui/store/selectors/navigation/tabs/annotation.d.ts +1 -1
  256. package/build/esm/ui/store/selectors/navigation/tabs/consumer.d.ts +1 -1
  257. package/build/esm/ui/store/selectors/navigation/tabs/locks.d.ts +2 -2
  258. package/build/esm/ui/store/selectors/navigation/tabs/queue.d.ts +2 -2
  259. package/build/esm/ui/store/selectors/navigation/tabs/tablet-errors.d.ts +1 -1
  260. package/build/esm/ui/store/selectors/operations/index.d.ts +12 -12
  261. package/build/esm/ui/store/selectors/operations/jobs-monitor.d.ts +4 -4
  262. package/build/esm/ui/store/selectors/operations/operation.d.ts +12 -12
  263. package/build/esm/ui/store/selectors/operations/operations-list.d.ts +3 -3
  264. package/build/esm/ui/store/selectors/operations/statistics-v2.d.ts +8 -8
  265. package/build/esm/ui/store/selectors/scheduling/attributes-to-filter.d.ts +1 -1
  266. package/build/esm/ui/store/selectors/scheduling/create-pool-dialog.d.ts +1 -1
  267. package/build/esm/ui/store/selectors/scheduling/expanded-pools.d.ts +1 -1
  268. package/build/esm/ui/store/selectors/scheduling/index.d.ts +1 -1
  269. package/build/esm/ui/store/selectors/scheduling/scheduling-pools.d.ts +3 -3
  270. package/build/esm/ui/store/selectors/scheduling/scheduling-ts.d.ts +6 -6
  271. package/build/esm/ui/store/selectors/scheduling/scheduling.d.ts +20 -20
  272. package/build/esm/ui/store/selectors/tablet_cell_bundles/index.d.ts +15 -15
  273. package/build/esm/ui/store/selectors/thor/support.d.ts +5 -5
  274. package/build/esm/ui/utils/acl/acl-api.js +4 -4
  275. package/build/esm/ui/utils/acl/acl-api.js.map +1 -1
  276. package/build/esm/ui/utils/batch.d.ts +2 -2
  277. package/build/esm/ui/utils/cypress-attributes.js +1 -1
  278. package/build/esm/ui/utils/cypress-attributes.js.map +1 -1
  279. package/build/esm/ui/utils/errors/ui-error.d.ts +14 -0
  280. package/build/esm/ui/utils/errors/ui-error.js +17 -0
  281. package/build/esm/ui/utils/errors/ui-error.js.map +1 -0
  282. package/build/esm/ui/utils/utils.d.ts +14 -8
  283. package/build/esm/ui/utils/utils.js +9 -14
  284. package/build/esm/ui/utils/utils.js.map +1 -1
  285. package/dist/public/build/assets-manifest.json +4 -4
  286. package/dist/public/build/js/main.8e777909.js +3 -0
  287. package/dist/public/build/js/{main.64fccb27.js.map → main.8e777909.js.map} +1 -1
  288. package/dist/public/build/manifest.json +2 -2
  289. package/dist/server/controllers/home.js +1 -1
  290. package/dist/shared/utils/index.js +3 -3
  291. package/package.json +3 -4
  292. package/dist/public/build/js/main.64fccb27.js +0 -3
  293. /package/dist/public/build/js/{main.64fccb27.js.LICENSE.txt → main.8e777909.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_cloneDeep","_interopRequireDefault","require","_forEach","_isEqual","_isEmpty","_map","_partition","_yt","_createTable","_utils","_rumWrapApi","obj","__esModule","default","compressionExtras","exports","labels","items","_toConsumableArray","map","value","content","subItemsMap","zlib_","genComperessionLevelItems","zstd_","brotli_","lzma_","bzip2_","from","to","res","i","push","String","compressionCodecValueFromString","SELECT_EMPTY_VALUE","k","startsWith","substr","length","compressionCodecValueToString","isEqual_","join","StorageOptions","REPLICATION","ERASURE","ERASURE_CODECS","title","storageOptionFromErasureCodec","codec","normalizeErasureCodec","erasureCodec","erasureCodecFromStorageOption","type","InMemoryMode","NONE","COMPRESSED","UNCOMPRESSED","makeUiMarker","ui_marker","prepareSetCommandForBatch","path","additionalParameters","undefined","command","parameters","_objectSpread","force","input","CypressNodeTypes","REPLICATED_TABLE","REPLICATION_LOG_TABLE","CHAOS_REPLICATED_TABLE","MAP_NODE","TABLE","createParentsBeforeSet","_x","_x2","_createParentsBeforeSet","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","nodePath","attributesToSet","parentPaths","toCreate","_iterator","_step","_loop","wrap","_callee2$","_context3","prev","next","abrupt","Promise","resolve","forEach_","attr","parents","split","key","slice","Object","keys","sort","_createForOfIteratorHelper","_loop$","_context2","yt","v3","exists","then","isCreated","set","stop","s","n","done","delegateYield","t1","e","f","finish","updateNodeAttributes","changes","isEmpty_","requests","oneLevelDiffsParents","oneLevelDiffs","_ref","attrPath","_attrPath$splice","splice","_attrPath$splice2","_slicedToArray","last","parentPath","_path","diff","all","concat","wrapBatchPromise","ytApiV3Id","executeBatch","YTApiId","promises","map_","_ref2","_callee","p","_callee$","_context","updateAttributes","_x3","_x4","oneLevelDiff","modifyGuarantee","data","cloneDeep_","isExists","get","makeBatchSubRequest","setup","prepareAttributes","attributes","_partition_","partition_","indexOf","_partition_2","paths"],"sources":["cypress-attributes.ts"],"sourcesContent":["import cloneDeep_ from 'lodash/cloneDeep';\nimport forEach_ from 'lodash/forEach';\nimport isEqual_ from 'lodash/isEqual';\nimport isEmpty_ from 'lodash/isEmpty';\nimport map_ from 'lodash/map';\nimport partition_ from 'lodash/partition';\n\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {SELECT_EMPTY_VALUE} from '../constants/navigation/modals/create-table';\nimport {SelectWithSubItemsProps} from '../components/Dialog/controls/SelectWithSubItems/SelectWithSubItems';\nimport {wrapBatchPromise} from './utils';\nimport {YTApiId, ytApiV3Id} from '../rum/rum-wrap-api';\nimport {BatchSubRequest, GetParams} from '../../shared/yt-types';\nimport {ValueOf} from '../../@types/types';\n\nexport interface WithAttrs<T> {\n $attributes: T;\n}\n\nexport const compressionExtras: Pick<SelectWithSubItemsProps, 'labels' | 'items' | 'subItemsMap'> =\n {\n labels: ['codec:', 'level:'],\n items: [\n ...[\n 'none',\n 'snappy',\n 'zlib_',\n 'lz4',\n 'lz4_high_compression',\n 'quick_lz',\n 'zstd_',\n 'brotli_',\n 'lzma_',\n 'bzip2_',\n ].map((value) => ({value, content: value})),\n ],\n subItemsMap: {\n zlib_: genComperessionLevelItems(1, 9),\n zstd_: genComperessionLevelItems(1, 21),\n brotli_: genComperessionLevelItems(1, 11),\n lzma_: genComperessionLevelItems(0, 9),\n bzip2_: genComperessionLevelItems(1, 9),\n },\n };\n\nfunction genComperessionLevelItems(from: number, to: number) {\n const res = [];\n for (let i = from; i <= to; ++i) {\n res.push({value: String(i), content: String(i)});\n }\n return res;\n}\n\nexport function compressionCodecValueFromString(value: string) {\n if (!value) {\n return [SELECT_EMPTY_VALUE];\n }\n\n for (const k in compressionExtras.subItemsMap) {\n if (value.startsWith(k)) {\n return [k, value.substr(k.length)];\n }\n }\n return [value];\n}\n\nexport function compressionCodecValueToString(value: Array<string>) {\n if (isEqual_(value, [SELECT_EMPTY_VALUE])) {\n return '';\n }\n return value?.join('');\n}\n\ntype StorageOptionsType = 'replication' | 'erasure';\n\nexport const StorageOptions = {\n REPLICATION: 'replication' as StorageOptionsType,\n ERASURE: 'erasure' as StorageOptionsType,\n};\n\nexport const ERASURE_CODECS = [\n {value: 'lrc_12_2_2', title: 'lrc_12_2_2 (recommended)'},\n {value: 'reed_solomon_6_3', title: 'reed_solomon_6_3'},\n];\n\nexport function storageOptionFromErasureCodec(codec: string) {\n return !codec || codec === 'none' ? StorageOptions.REPLICATION : StorageOptions.ERASURE;\n}\n\nexport function normalizeErasureCodec(erasureCodec: string) {\n return !erasureCodec || erasureCodec === 'none' ? ERASURE_CODECS[0].value : erasureCodec;\n}\n\nexport function erasureCodecFromStorageOption(type?: StorageOptionsType, erasureCodec?: string) {\n if (type === StorageOptions.REPLICATION) {\n return 'none';\n }\n return erasureCodec || ERASURE_CODECS[0].value;\n}\n\nexport type InMemoryModeType = ValueOf<typeof InMemoryMode>;\n\nexport const InMemoryMode = {\n NONE: 'none',\n COMPRESSED: 'compressed',\n UNCOMPRESSED: 'uncompressed',\n} as const;\n\nexport function makeUiMarker(ui_marker: string) {\n return {ui_marker};\n}\n\nexport function prepareSetCommandForBatch(path: string, value: any, additionalParameters?: object) {\n if (value === undefined || value === null) {\n return {\n command: 'remove' as const,\n parameters: {\n path,\n ...additionalParameters,\n },\n };\n }\n\n return {\n command: 'set' as const,\n parameters: {\n path,\n ...additionalParameters,\n force: true,\n },\n input: value,\n };\n}\n\nexport const CypressNodeTypes = {\n REPLICATED_TABLE: 'replicated_table',\n REPLICATION_LOG_TABLE: 'replication_log_table',\n CHAOS_REPLICATED_TABLE: 'chaos_replicated_table',\n MAP_NODE: 'map_node',\n TABLE: 'table',\n // TODO: add more types\n};\n\nexport async function createParentsBeforeSet(nodePath: string, attributesToSet: Array<string>) {\n if (!attributesToSet.length) {\n return Promise.resolve();\n }\n\n const parentPaths: Record<string, boolean> = {};\n forEach_(attributesToSet, (attr) => {\n const parents = attr.split('/');\n for (let i = 1; i < parents.length; ++i) {\n const key = parents.slice(0, i).join('/');\n if (key) {\n parentPaths[key] = true;\n }\n }\n });\n const toCreate = Object.keys(parentPaths).sort();\n\n for (const attr of toCreate) {\n const path = nodePath + '/@' + attr;\n await yt.v3.exists({path}).then((isCreated: boolean) => {\n if (!isCreated) {\n return yt.v3.set({path}, {});\n }\n });\n }\n}\n\nexport function updateNodeAttributes(\n nodePath: string,\n changes: Array<{attr: string; value: any}>,\n): Promise<unknown> {\n if (isEmpty_(changes)) {\n return Promise.resolve();\n }\n\n const requests: Array<BatchSubRequest> = [];\n\n const oneLevelDiffsParents: Array<string> = [];\n const oneLevelDiffs: Record<string, Record<string, unknown>> = {};\n forEach_(changes, ({attr, value}) => {\n const attrPath = attr.split('/');\n if (attrPath.length === 1) {\n const path = nodePath + '/@' + attrPath.join('/');\n requests.push(prepareSetCommandForBatch(path, value));\n } else {\n const [last] = attrPath.splice(attrPath.length - 1, 1);\n const parentPath = attrPath.join('/');\n oneLevelDiffsParents.push(parentPath);\n const path = nodePath + '/@' + parentPath;\n const diff = (oneLevelDiffs[path] = oneLevelDiffs[path] || {});\n diff[last] = value;\n }\n });\n\n return Promise.all([\n ...(requests.length\n ? [wrapBatchPromise(ytApiV3Id.executeBatch(YTApiId.updateNodeAttributes, {requests}))]\n : []),\n createParentsBeforeSet(nodePath, oneLevelDiffsParents).then(() => {\n if (isEmpty_(oneLevelDiffs)) {\n return Promise.resolve([]);\n }\n\n const promises: Array<Promise<unknown>> = map_(oneLevelDiffs, async (diff, path) => {\n const p = updateAttributes(path, diff);\n await p;\n return p;\n });\n\n return Promise.all(promises);\n }),\n ]);\n}\n\nfunction updateAttributes(path: string, oneLevelDiff: Record<'string', unknown>) {\n if (isEmpty_(oneLevelDiff)) {\n return Promise.resolve();\n }\n\n const modifyGuarantee = (data: any = {}) => {\n const res = cloneDeep_(data);\n forEach_(oneLevelDiff, (value, key) => {\n if (value === undefined) {\n delete res[key];\n } else {\n res[key] = value;\n }\n });\n if (isEqual_(data, res)) {\n return Promise.resolve();\n }\n return yt.v3.set({path}, res);\n };\n\n return yt.v3.exists({path}).then((isExists: boolean) => {\n if (isExists) {\n return ytApiV3Id.get(YTApiId.updateAttributes, {path}).then(modifyGuarantee);\n }\n return modifyGuarantee({});\n });\n}\n\nexport function makeBatchSubRequest<T extends BatchSubRequest>(\n command: T['command'],\n parameters: T['parameters'],\n setup?: T['setup'],\n) {\n return {\n command,\n parameters,\n setup,\n } as BatchSubRequest;\n}\n\nexport function prepareAttributes(attributes: readonly string[]): GetParams['attributes'] {\n const [keys, paths] = partition_(attributes, (k) => -1 === k.indexOf('/'));\n\n if (!paths.length) {\n return keys;\n }\n\n return {keys, paths};\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_cloneDeep","_interopRequireDefault","require","_forEach","_isEqual","_isEmpty","_map","_partition","_yt","_createTable","_utils","_rumWrapApi","obj","__esModule","default","compressionExtras","exports","labels","items","_toConsumableArray","map","value","content","subItemsMap","zlib_","genComperessionLevelItems","zstd_","brotli_","lzma_","bzip2_","from","to","res","i","push","String","compressionCodecValueFromString","SELECT_EMPTY_VALUE","k","startsWith","substr","length","compressionCodecValueToString","isEqual_","join","StorageOptions","REPLICATION","ERASURE","ERASURE_CODECS","title","storageOptionFromErasureCodec","codec","normalizeErasureCodec","erasureCodec","erasureCodecFromStorageOption","type","InMemoryMode","NONE","COMPRESSED","UNCOMPRESSED","makeUiMarker","ui_marker","prepareSetCommandForBatch","path","additionalParameters","undefined","command","parameters","_objectSpread","force","input","CypressNodeTypes","REPLICATED_TABLE","REPLICATION_LOG_TABLE","CHAOS_REPLICATED_TABLE","MAP_NODE","TABLE","createParentsBeforeSet","_x","_x2","_createParentsBeforeSet","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","nodePath","attributesToSet","parentPaths","toCreate","_iterator","_step","_loop","wrap","_callee2$","_context3","prev","next","abrupt","Promise","resolve","forEach_","attr","parents","split","key","slice","Object","keys","sort","_createForOfIteratorHelper","_loop$","_context2","yt","v3","exists","then","isCreated","set","stop","s","n","done","delegateYield","t1","e","f","finish","updateNodeAttributes","changes","isEmpty_","requests","oneLevelDiffsParents","oneLevelDiffs","_ref","attrPath","_attrPath$splice","splice","_attrPath$splice2","_slicedToArray","last","parentPath","_path","diff","all","concat","wrapBatchPromise","ytApiV3Id","executeBatch","YTApiId","promises","map_","_ref2","_callee","p","_callee$","_context","updateAttributes","_x3","_x4","oneLevelDiff","modifyGuarantee","data","cloneDeep_","isExists","get","makeBatchSubRequest","setup","prepareAttributes","attributes","_partition_","partition_","indexOf","_partition_2","paths"],"sources":["cypress-attributes.ts"],"sourcesContent":["import cloneDeep_ from 'lodash/cloneDeep';\nimport forEach_ from 'lodash/forEach';\nimport isEqual_ from 'lodash/isEqual';\nimport isEmpty_ from 'lodash/isEmpty';\nimport map_ from 'lodash/map';\nimport partition_ from 'lodash/partition';\n\n// @ts-ignore\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\n\nimport {SELECT_EMPTY_VALUE} from '../constants/navigation/modals/create-table';\nimport {SelectWithSubItemsProps} from '../components/Dialog/controls/SelectWithSubItems/SelectWithSubItems';\nimport {wrapBatchPromise} from './utils';\nimport {YTApiId, ytApiV3Id} from '../rum/rum-wrap-api';\nimport {BatchSubRequest, GetParams} from '../../shared/yt-types';\nimport {ValueOf} from '../../@types/types';\n\nexport interface WithAttrs<T> {\n $attributes: T;\n}\n\nexport const compressionExtras: Pick<SelectWithSubItemsProps, 'labels' | 'items' | 'subItemsMap'> =\n {\n labels: ['codec:', 'level:'],\n items: [\n ...[\n 'none',\n 'snappy',\n 'zlib_',\n 'lz4',\n 'lz4_high_compression',\n 'quick_lz',\n 'zstd_',\n 'brotli_',\n 'lzma_',\n 'bzip2_',\n ].map((value) => ({value, content: value})),\n ],\n subItemsMap: {\n zlib_: genComperessionLevelItems(1, 9),\n zstd_: genComperessionLevelItems(1, 21),\n brotli_: genComperessionLevelItems(1, 11),\n lzma_: genComperessionLevelItems(0, 9),\n bzip2_: genComperessionLevelItems(1, 9),\n },\n };\n\nfunction genComperessionLevelItems(from: number, to: number) {\n const res = [];\n for (let i = from; i <= to; ++i) {\n res.push({value: String(i), content: String(i)});\n }\n return res;\n}\n\nexport function compressionCodecValueFromString(value: string) {\n if (!value) {\n return [SELECT_EMPTY_VALUE];\n }\n\n for (const k in compressionExtras.subItemsMap) {\n if (value.startsWith(k)) {\n return [k, value.substr(k.length)];\n }\n }\n return [value];\n}\n\nexport function compressionCodecValueToString(value: Array<string>) {\n if (isEqual_(value, [SELECT_EMPTY_VALUE])) {\n return '';\n }\n return value?.join('');\n}\n\ntype StorageOptionsType = 'replication' | 'erasure';\n\nexport const StorageOptions = {\n REPLICATION: 'replication' as StorageOptionsType,\n ERASURE: 'erasure' as StorageOptionsType,\n};\n\nexport const ERASURE_CODECS = [\n {value: 'lrc_12_2_2', title: 'lrc_12_2_2 (recommended)'},\n {value: 'reed_solomon_6_3', title: 'reed_solomon_6_3'},\n];\n\nexport function storageOptionFromErasureCodec(codec: string) {\n return !codec || codec === 'none' ? StorageOptions.REPLICATION : StorageOptions.ERASURE;\n}\n\nexport function normalizeErasureCodec(erasureCodec: string) {\n return !erasureCodec || erasureCodec === 'none' ? ERASURE_CODECS[0].value : erasureCodec;\n}\n\nexport function erasureCodecFromStorageOption(type?: StorageOptionsType, erasureCodec?: string) {\n if (type === StorageOptions.REPLICATION) {\n return 'none';\n }\n return erasureCodec || ERASURE_CODECS[0].value;\n}\n\nexport type InMemoryModeType = ValueOf<typeof InMemoryMode>;\n\nexport const InMemoryMode = {\n NONE: 'none',\n COMPRESSED: 'compressed',\n UNCOMPRESSED: 'uncompressed',\n} as const;\n\nexport function makeUiMarker(ui_marker: string) {\n return {ui_marker};\n}\n\nexport function prepareSetCommandForBatch(path: string, value: any, additionalParameters?: object) {\n if (value === undefined || value === null) {\n return {\n command: 'remove' as const,\n parameters: {\n path,\n ...additionalParameters,\n },\n };\n }\n\n return {\n command: 'set' as const,\n parameters: {\n path,\n ...additionalParameters,\n force: true,\n },\n input: value,\n };\n}\n\nexport const CypressNodeTypes = {\n REPLICATED_TABLE: 'replicated_table',\n REPLICATION_LOG_TABLE: 'replication_log_table',\n CHAOS_REPLICATED_TABLE: 'chaos_replicated_table',\n MAP_NODE: 'map_node',\n TABLE: 'table',\n // TODO: add more types\n};\n\nexport async function createParentsBeforeSet(nodePath: string, attributesToSet: Array<string>) {\n if (!attributesToSet.length) {\n return Promise.resolve();\n }\n\n const parentPaths: Record<string, boolean> = {};\n forEach_(attributesToSet, (attr) => {\n const parents = attr.split('/');\n for (let i = 1; i < parents.length; ++i) {\n const key = parents.slice(0, i).join('/');\n if (key) {\n parentPaths[key] = true;\n }\n }\n });\n const toCreate = Object.keys(parentPaths).sort();\n\n for (const attr of toCreate) {\n const path = nodePath + '/@' + attr;\n await yt.v3.exists({path}).then((isCreated: boolean) => {\n if (!isCreated) {\n return yt.v3.set({path}, {});\n }\n });\n }\n}\n\nexport function updateNodeAttributes(\n nodePath: string,\n changes: Array<{attr: string; value: any}>,\n): Promise<unknown> {\n if (isEmpty_(changes)) {\n return Promise.resolve();\n }\n\n const requests: Array<BatchSubRequest> = [];\n\n const oneLevelDiffsParents: Array<string> = [];\n const oneLevelDiffs: Record<string, Record<string, unknown>> = {};\n forEach_(changes, ({attr, value}) => {\n const attrPath = attr.split('/');\n if (attrPath.length === 1) {\n const path = nodePath + '/@' + attrPath.join('/');\n requests.push(prepareSetCommandForBatch(path, value));\n } else {\n const [last] = attrPath.splice(attrPath.length - 1, 1);\n const parentPath = attrPath.join('/');\n oneLevelDiffsParents.push(parentPath);\n const path = nodePath + '/@' + parentPath;\n const diff = (oneLevelDiffs[path] = oneLevelDiffs[path] || {});\n diff[last] = value;\n }\n });\n\n return Promise.all([\n ...(requests.length\n ? [\n wrapBatchPromise(\n ytApiV3Id.executeBatch(YTApiId.updateNodeAttributes, {requests}),\n 'Failed to update node attributes',\n ),\n ]\n : []),\n createParentsBeforeSet(nodePath, oneLevelDiffsParents).then(() => {\n if (isEmpty_(oneLevelDiffs)) {\n return Promise.resolve([]);\n }\n\n const promises: Array<Promise<unknown>> = map_(oneLevelDiffs, async (diff, path) => {\n const p = updateAttributes(path, diff);\n await p;\n return p;\n });\n\n return Promise.all(promises);\n }),\n ]);\n}\n\nfunction updateAttributes(path: string, oneLevelDiff: Record<'string', unknown>) {\n if (isEmpty_(oneLevelDiff)) {\n return Promise.resolve();\n }\n\n const modifyGuarantee = (data: any = {}) => {\n const res = cloneDeep_(data);\n forEach_(oneLevelDiff, (value, key) => {\n if (value === undefined) {\n delete res[key];\n } else {\n res[key] = value;\n }\n });\n if (isEqual_(data, res)) {\n return Promise.resolve();\n }\n return yt.v3.set({path}, res);\n };\n\n return yt.v3.exists({path}).then((isExists: boolean) => {\n if (isExists) {\n return ytApiV3Id.get(YTApiId.updateAttributes, {path}).then(modifyGuarantee);\n }\n return modifyGuarantee({});\n });\n}\n\nexport function makeBatchSubRequest<T extends BatchSubRequest>(\n command: T['command'],\n parameters: T['parameters'],\n setup?: T['setup'],\n) {\n return {\n command,\n parameters,\n setup,\n } as BatchSubRequest;\n}\n\nexport function prepareAttributes(attributes: readonly string[]): GetParams['attributes'] {\n const [keys, paths] = partition_(attributes, (k) => -1 === k.indexOf('/'));\n\n if (!paths.length) {\n return keys;\n }\n\n return {keys, paths};\n}\n"],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { YTError } from '../../types';
2
+ export declare class UIBatchError implements YTError {
3
+ message: string;
4
+ code?: number;
5
+ attributes?: any;
6
+ inner_errors?: YTError[];
7
+ /**
8
+ * !!! Do not remove the field!!!
9
+ * The field is required to indicate the difference between the UIBatchError and YTerror interfaces
10
+ * in order to force the use of UIBatchError instead of YTError due to a compiler error.
11
+ */
12
+ __use_UIBatchError_instead_of_YTERROR?: boolean;
13
+ constructor(msg: string);
14
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.UIBatchError = void 0;
7
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ var UIBatchError = exports.UIBatchError = /*#__PURE__*/(0, _createClass2.default)(function UIBatchError(msg) {
11
+ (0, _classCallCheck2.default)(this, UIBatchError);
12
+ this.message = void 0;
13
+ this.code = void 0;
14
+ this.attributes = void 0;
15
+ this.inner_errors = void 0;
16
+ /**
17
+ * !!! Do not remove the field!!!
18
+ * The field is required to indicate the difference between the UIBatchError and YTerror interfaces
19
+ * in order to force the use of UIBatchError instead of YTError due to a compiler error.
20
+ */
21
+ this.__use_UIBatchError_instead_of_YTERROR = void 0;
22
+ this.message = msg;
23
+ });
24
+ // #sourceMappingURL=ui-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["UIBatchError","exports","_createClass","msg","_classCallCheck","message","code","attributes","inner_errors","__use_UIBatchError_instead_of_YTERROR"],"sources":["ui-error.ts"],"sourcesContent":["import {YTError} from '../../types';\n\nexport class UIBatchError implements YTError {\n message: string;\n\n code?: number;\n attributes?: any;\n inner_errors?: YTError[];\n\n /**\n * !!! Do not remove the field!!!\n * The field is required to indicate the difference between the UIBatchError and YTerror interfaces\n * in order to force the use of UIBatchError instead of YTError due to a compiler error.\n */\n __use_UIBatchError_instead_of_YTERROR?: boolean;\n\n constructor(msg: string) {\n this.message = msg;\n }\n}\n"],"mappings":";;;;;;;;;AAEA,IAAaA,YAAY,GAAAC,OAAA,CAAAD,YAAA,oBAAAE,qBAAA,EAcrB,SAAAF,aAAYG,GAAW,EAAE;EAAA,IAAAC,wBAAA,QAAAJ,YAAA;EAAA,KAbzBK,OAAO;EAAA,KAEPC,IAAI;EAAA,KACJC,UAAU;EAAA,KACVC,YAAY;EAEZ;AACJ;AACA;AACA;AACA;EAJI,KAKAC,qCAAqC;EAGjC,IAAI,CAACJ,OAAO,GAAGF,GAAG;AACtB,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import React from 'react';
2
+ import { AxiosError } from 'axios';
2
3
  import { TypedKeys, YTError } from '../types';
3
4
  import { ProgressProps } from '@gravity-ui/uikit';
4
5
  import { ThemeThreshold } from '../utils/progress';
5
6
  import { ErrorInfo } from '../store/reducers/modals/errors';
6
7
  import { BatchResultsItem } from '../../shared/yt-types';
7
- import { AxiosError } from 'axios';
8
- export declare function getBatchError<T = unknown>(batchResults: Array<BatchResultsItem<T>>, message?: string): YTError | undefined;
8
+ import { UIBatchError } from './errors/ui-error';
9
+ export declare function getBatchError<T = unknown>(batchResults: Array<BatchResultsItem<T>>, message: string): YTError | undefined;
9
10
  export declare function extractBatchV4Values<V, T extends {
10
11
  value?: V;
11
12
  }>(data: {
@@ -25,22 +26,27 @@ export interface SplitedBatchResults<T> {
25
26
  errorIndices: Array<number>;
26
27
  resultIndices: Array<number>;
27
28
  }
28
- export declare function splitBatchResults<T = unknown>(batchResults: Array<BatchResultsItem<T>>, dstError?: YTError): SplitedBatchResults<T>;
29
+ export declare function splitBatchResults<T = unknown>(batchResults: Array<BatchResultsItem<T>>, inputError: string | UIBatchError): SplitedBatchResults<T>;
29
30
  export declare function getBatchErrorIndices<T>(results: Array<BatchResultsItem<T>>): number[];
30
- interface WrapApiOptions<T> {
31
+ interface CommonWrapApiOptions<T> {
31
32
  toasterName: string;
32
33
  successContent?: React.ReactNode | ((res: T) => React.ReactNode);
33
34
  skipSuccessToast?: boolean;
34
35
  errorContent?: React.ReactNode | ((e: YTError) => React.ReactNode);
35
36
  skipErrorToast?: boolean;
36
37
  successTitle?: string;
37
- errorTitle?: string;
38
38
  timeout?: number;
39
39
  autoHide?: boolean;
40
- isBatch?: boolean;
41
- batchError?: string;
42
40
  }
43
- export declare function wrapBatchPromise<T>(p: Promise<T>): Promise<T>;
41
+ type BatchWrapApiOption = {
42
+ isBatch?: false;
43
+ errorTitle?: string;
44
+ } | {
45
+ isBatch: true;
46
+ errorTitle: string;
47
+ };
48
+ type WrapApiOptions<T> = CommonWrapApiOptions<T> & BatchWrapApiOption;
49
+ export declare function wrapBatchPromise<T>(p: Promise<T>, errorTitle: string): Promise<T>;
44
50
  export declare function wrapApiPromiseByToaster<T>(p: Promise<T>, options: WrapApiOptions<T>): Promise<T>;
45
51
  export declare function calcProgressProps(usage?: number, limit?: number, format?: 'Number' | 'Bytes', themeThresholds?: ThemeThreshold[]): ProgressProps;
46
52
  export declare function formatNumber(value?: number, format?: 'Number' | 'Bytes'): string;
@@ -34,22 +34,19 @@ var _map2 = _interopRequireDefault(require("lodash/map"));
34
34
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
35
35
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
36
36
  var _react = _interopRequireDefault(require("react"));
37
+ var _axios = _interopRequireDefault(require("axios"));
37
38
  var _uikit = require("@gravity-ui/uikit");
38
39
  var _progress = require("../utils/progress");
39
40
  var _hammer = _interopRequireDefault(require("../common/hammer"));
40
41
  var _constants = require("../constants");
41
42
  var _errors = require("../store/actions/modals/errors");
42
- var _axios = _interopRequireDefault(require("axios"));
43
+ var _uiError = require("./errors/ui-error");
43
44
  var _jsxRuntime = require("react/jsx-runtime");
44
45
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
45
46
  var _excluded = ["results"],
46
47
  _excluded2 = ["output"];
47
- var BATCH_ERROR_MESSAGE = 'The following sub-requests are failed:';
48
- function getBatchError(batchResults) {
49
- var message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : BATCH_ERROR_MESSAGE;
50
- return splitBatchResults(batchResults, {
51
- message: message
52
- }).error;
48
+ function getBatchError(batchResults, message) {
49
+ return splitBatchResults(batchResults, new _uiError.UIBatchError(message)).error;
53
50
  }
54
51
  var COMMANDS_V4_WITH_VALUE = {
55
52
  get: true,
@@ -77,10 +74,8 @@ function extractBatchV4Values(data, requests) {
77
74
  results: res
78
75
  });
79
76
  }
80
- function splitBatchResults(batchResults) {
81
- var dstError = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
82
- message: BATCH_ERROR_MESSAGE
83
- };
77
+ function splitBatchResults(batchResults, inputError) {
78
+ var dstError = typeof inputError === 'string' ? new _uiError.UIBatchError(inputError) : inputError;
84
79
  var innerErrors = [];
85
80
  var results = [];
86
81
  var outputs = [];
@@ -122,9 +117,9 @@ function getBatchErrorIndices(results) {
122
117
  }, []);
123
118
  }
124
119
  var toaster = new _uikit.Toaster();
125
- function wrapBatchPromise(p) {
120
+ function wrapBatchPromise(p, errorTitle) {
126
121
  return p.then(function (res) {
127
- var error = getBatchError(res, 'Batch-request is failed');
122
+ var error = getBatchError(res, errorTitle);
128
123
  if (error) {
129
124
  throw error;
130
125
  }
@@ -136,7 +131,7 @@ function wrapApiPromiseByToaster(p, options) {
136
131
  successContent = options.successContent;
137
132
  return p.then(function (res) {
138
133
  if (options.isBatch) {
139
- var error = getBatchError(res, options.batchError || 'Batch-request is failed');
134
+ var error = getBatchError(res, options.errorTitle || 'Missing batch error title');
140
135
  if (error) {
141
136
  throw error;
142
137
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_uikit","_progress","_hammer","_constants","_errors","_axios","_jsxRuntime","obj","__esModule","default","BATCH_ERROR_MESSAGE","getBatchError","batchResults","message","arguments","length","undefined","splitBatchResults","error","COMMANDS_V4_WITH_VALUE","get","list","exists","extractBatchV4Values","data","requests","results","rest","_objectWithoutProperties","_excluded","res","_map","itemData","index","_requests$index","hasValue","command","output","itemRest","_excluded2","_objectSpread","value","dstError","innerErrors","outputs","errorIndices","resultIndices","_forEach","push","_dstError$inner_error","_dstError$inner_error2","inner_errors","apply","getBatchErrorIndices","_reduce","acc","_ref","toaster","Toaster","wrapBatchPromise","p","then","wrapApiPromiseByToaster","options","errorContent","successContent","isBatch","batchError","skipSuccessToast","_options$timeout","add","name","toasterName","type","title","successTitle","content","autoHiding","autoHide","timeout","_error$response","axios","isCancel","Promise","reject","response","code","skipErrorToast","errorTitle","_jsxs","children","actions","label","onClick","showErrorPopup","calcProgressProps","usage","limit","format","themeThresholds","defaultThemeThresholds","computeProgress","theme","getProgressTheme","text","concat","formatNumber","hammer","showToasterError","_error$response2","unescapeSlashX","path","decoded","i","len","currentChar","charAt","nextChar","hexEscapeSequence","String","fromCharCode","parseInt","calculateLoadingStatus","loading","loaded","LOADING_STATUS","LOADING","ERROR","LOADED","UNINITIALIZED","isFinalLoadingStatus","status","delayed","callBack","rej","setTimeout","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","t0","t1","sent","t2","stop","makeLink","url","_jsx","Link","href","target","window","store","dispatch","showErrorModal","toggleBooleanInPlace","key","tmp","moveArrayElement","arr","oldIndex","newIndex","_arr$splice","splice","_arr$splice2","_slicedToArray","item","nanToUndefined","isNaN","visitTreeItems","treeItem","visitorFn","opts","handledSet","Set","visitTreeItemsImpl","isNeedToSkipChildren","has","child","openInNewTab","Object","assign","document","createElement","click","previousProps","showChangedProps","props","verbose","prevProps","console","log","Date","now","keys","changed","v","k","updateIfChanged","isEqual"],"sources":["utils.tsx"],"sourcesContent":["import React from 'react';\nimport _ from 'lodash';\n\nimport {TypedKeys, YTError} from '../types';\nimport {Link, ProgressProps, Toaster} from '@gravity-ui/uikit';\nimport {\n ThemeThreshold,\n computeProgress,\n defaultThemeThresholds,\n getProgressTheme,\n} from '../utils/progress';\nimport hammer from '../common/hammer';\nimport {LOADING_STATUS} from '../constants';\nimport {ErrorInfo} from '../store/reducers/modals/errors';\nimport {showErrorModal} from '../store/actions/modals/errors';\nimport {BatchResultsItem} from '../../shared/yt-types';\nimport axios, {AxiosError} from 'axios';\n\nconst BATCH_ERROR_MESSAGE = 'The following sub-requests are failed:';\n\nexport function getBatchError<T = unknown>(\n batchResults: Array<BatchResultsItem<T>>,\n message: string = BATCH_ERROR_MESSAGE,\n): YTError | undefined {\n return splitBatchResults(batchResults, {message}).error;\n}\n\nconst COMMANDS_V4_WITH_VALUE: Record<string, boolean> = {\n get: true,\n list: true,\n exists: true,\n};\n\nexport function extractBatchV4Values<V, T extends {value?: V}>(\n data: {\n results?: Array<BatchResultsItem<T | V>>;\n },\n requests: Array<{command: string}>,\n) {\n const {results, ...rest} = data;\n const res = !results\n ? []\n : _.map(results, (itemData, index) => {\n const hasValue = COMMANDS_V4_WITH_VALUE[requests[index]?.command];\n if (!hasValue) {\n return itemData;\n }\n\n const {output, ...itemRest} = itemData;\n return {\n ...itemRest,\n ...(hasValue ? {output: (output as any).value} : {output}),\n };\n });\n\n return {...rest, results: res};\n}\n\nexport interface SplitedBatchResults<T> {\n error: YTError | undefined;\n results: Array<T>;\n outputs: Array<T | undefined>;\n errorIndices: Array<number>;\n resultIndices: Array<number>;\n}\n\nexport function splitBatchResults<T = unknown>(\n batchResults: Array<BatchResultsItem<T>>,\n dstError: YTError = {message: BATCH_ERROR_MESSAGE},\n): SplitedBatchResults<T> {\n const innerErrors: Array<YTError> = [];\n const results: Array<T> = [];\n const outputs: Array<T | undefined> = [];\n const errorIndices: Array<number> = [];\n const resultIndices: Array<number> = [];\n _.forEach(batchResults, (res, index) => {\n const {error, output} = res;\n outputs.push(output);\n if (error) {\n innerErrors.push(error);\n errorIndices.push(index);\n } else {\n results.push(output!);\n resultIndices.push(index);\n }\n });\n\n if (innerErrors.length) {\n dstError.inner_errors = dstError.inner_errors ?? [];\n dstError.inner_errors.push(...innerErrors);\n }\n\n const error = !innerErrors.length ? undefined : dstError;\n return {error, results, outputs, errorIndices, resultIndices};\n}\n\nexport function getBatchErrorIndices<T>(results: Array<BatchResultsItem<T>>) {\n return _.reduce(\n results,\n (acc, {error}, index) => {\n if (error) {\n acc.push(index);\n }\n return acc;\n },\n [] as Array<number>,\n );\n}\n\ninterface WrapApiOptions<T> {\n toasterName: string;\n successContent?: React.ReactNode | ((res: T) => React.ReactNode);\n skipSuccessToast?: boolean;\n errorContent?: React.ReactNode | ((e: YTError) => React.ReactNode);\n skipErrorToast?: boolean;\n successTitle?: string;\n errorTitle?: string;\n timeout?: number;\n autoHide?: boolean;\n\n isBatch?: boolean;\n batchError?: string;\n}\n\nconst toaster = new Toaster();\n\nexport function wrapBatchPromise<T>(p: Promise<T>): Promise<T> {\n return p.then((res) => {\n const error = getBatchError(res as any, 'Batch-request is failed');\n if (error) {\n throw error;\n }\n\n return res;\n });\n}\n\nexport function wrapApiPromiseByToaster<T>(p: Promise<T>, options: WrapApiOptions<T>): Promise<T> {\n const {errorContent, successContent} = options;\n return p\n .then((res) => {\n if (options.isBatch) {\n const error = getBatchError(\n res as any,\n options.batchError || 'Batch-request is failed',\n );\n if (error) {\n throw error;\n }\n }\n\n if (!options.skipSuccessToast) {\n toaster.add({\n name: options.toasterName,\n type: 'success',\n title: options.successTitle || 'Success',\n content:\n 'function' === typeof successContent ? successContent(res) : successContent,\n autoHiding: options.autoHide === false ? false : options.timeout ?? 10000,\n });\n }\n return res;\n })\n .catch((error) => {\n if (axios.isCancel(error)) {\n return Promise.reject(error);\n }\n\n const data = error?.response?.data || error;\n const {code, message} = data;\n\n if (!options.skipErrorToast) {\n toaster.add({\n name: options.toasterName,\n type: 'error',\n title: options.errorTitle || 'Failure',\n content:\n 'function' === typeof errorContent\n ? errorContent(error)\n : errorContent || (\n <span>\n [code {code}] {message}\n </span>\n ),\n actions: [{label: ' Details', onClick: () => showErrorPopup(data)}],\n autoHiding: false,\n });\n }\n return Promise.reject(error);\n });\n}\n\nexport function calcProgressProps(\n usage?: number,\n limit?: number,\n format: 'Number' | 'Bytes' = 'Number',\n themeThresholds: ThemeThreshold[] = defaultThemeThresholds,\n): ProgressProps {\n const value = computeProgress(usage, limit);\n return {\n value,\n theme: getProgressTheme(value, themeThresholds),\n text: `${formatNumber(usage, format)} / ${formatNumber(limit, format)}`,\n };\n}\n\nexport function formatNumber(value?: number, format?: 'Number' | 'Bytes'): string {\n return format === 'Bytes' ? hammer.format['Bytes'](value) : hammer.format['Number'](value);\n}\n\nexport function showToasterError(name: string, error: any) {\n const data = error?.response?.data || error;\n const {code, message} = data;\n\n toaster.add({\n name,\n type: 'error',\n title: `${name} failure`,\n content: (\n <span>\n [code {code}] {message}\n </span>\n ),\n actions: [{label: ' view', onClick: () => showErrorPopup(data)}],\n });\n return Promise.reject(error);\n}\n\nexport function unescapeSlashX(path: string) {\n let decoded = '';\n\n for (let i = 0, len = path.length; i < len; i++) {\n const currentChar = path.charAt(i);\n\n if (currentChar === '\\\\') {\n const nextChar = path.charAt((i += 1));\n\n if (nextChar === 'x') {\n // TODO check that next two characters are hexademical and end of string is not reached\n const hexEscapeSequence = path.charAt((i += 1)) + path.charAt((i += 1));\n\n decoded += String.fromCharCode(parseInt(hexEscapeSequence, 16));\n } else {\n decoded += nextChar;\n }\n } else {\n decoded += currentChar;\n }\n }\n\n return decoded;\n}\n\nexport function calculateLoadingStatus(loading: boolean, loaded: boolean, error: any) {\n if (loading) {\n return LOADING_STATUS.LOADING;\n }\n\n if (error) {\n return LOADING_STATUS.ERROR;\n }\n\n if (loaded) {\n return LOADING_STATUS.LOADED;\n }\n\n return LOADING_STATUS.UNINITIALIZED;\n}\n\nexport function isFinalLoadingStatus(status: string) {\n return status === LOADING_STATUS.LOADED || status === LOADING_STATUS.ERROR;\n}\n\nexport function delayed<T>(callBack: () => Promise<T>, timeout: number): Promise<T> {\n return new Promise((res, rej) => {\n setTimeout(async () => {\n try {\n res(await callBack());\n } catch (e) {\n rej(e);\n }\n }, timeout);\n });\n}\n\nexport function makeLink(url: string, text: string) {\n return !url ? undefined : (\n <Link href={url} target={'_blank'}>\n {text}\n </Link>\n );\n}\n\nexport function showErrorPopup(\n error: YTError | AxiosError,\n options: Omit<ErrorInfo, 'error'> = {},\n) {\n (window as any).store.dispatch(showErrorModal(error, options));\n}\n\nexport function toggleBooleanInPlace<T, K extends TypedKeys<T, boolean>>(key: K, obj: T) {\n const tmp: any = obj;\n if (tmp[key]) {\n delete tmp[key];\n } else {\n tmp[key] = true;\n }\n return obj;\n}\n\nexport function moveArrayElement<T>(arr: Array<T>, oldIndex: number, newIndex: number): [] | [T] {\n if (oldIndex < 0 || oldIndex >= arr.length || newIndex < 0 || newIndex >= arr.length) {\n return [];\n }\n\n const [item] = arr.splice(oldIndex, 1);\n arr.splice(newIndex, 0, item);\n\n return [item];\n}\n\nexport function nanToUndefined(value: any) {\n return isNaN(value) ? undefined : value;\n}\n\ntype Tree<T> = T & {\n children?: Array<Tree<T>>;\n};\n\ninterface VisitTreeItemsOptions<T> {\n handledSet: Set<unknown>;\n isNeedToSkipChildren?: (item: T) => boolean;\n}\n\nexport function visitTreeItems<T>(\n treeItem: Tree<T> | undefined,\n visitorFn: (item: T) => void,\n options?: Partial<VisitTreeItemsOptions<T>>,\n) {\n const opts = {\n ...options,\n handledSet: options?.handledSet || new Set(),\n };\n\n return visitTreeItemsImpl(treeItem, visitorFn, opts);\n}\n\nfunction visitTreeItemsImpl<T>(\n treeItem: Tree<T> | undefined,\n visitorFn: (item: T) => void,\n options: VisitTreeItemsOptions<T>,\n) {\n const {handledSet, isNeedToSkipChildren} = options;\n\n if (!treeItem || handledSet.has(treeItem)) {\n return;\n }\n\n handledSet.add(treeItem);\n visitorFn(treeItem);\n\n if (isNeedToSkipChildren && isNeedToSkipChildren(treeItem)) {\n return;\n }\n\n _.forEach(treeItem.children, (child) => visitTreeItemsImpl(child, visitorFn, options));\n}\n\nexport function openInNewTab(href: string) {\n // Safari specific hack to open new tab (not window)\n Object.assign(document.createElement('a'), {\n target: '_blank',\n href,\n }).click();\n}\n\nconst previousProps: Record<string, any> = {};\n\nexport function showChangedProps(key: string, props: object, verbose?: boolean) {\n const prevProps = previousProps[key];\n if (prevProps === undefined) {\n console.log(key, Date.now(), Object.keys(props));\n } else {\n const changed: Array<string> = [];\n _.forEach(props, (v, k) => {\n if (v !== prevProps[k]) {\n changed.push(k);\n if (verbose) {\n console.log(key, k, {prev: prevProps[k], v});\n }\n }\n });\n console.log(key, Date.now(), changed);\n }\n previousProps[key] = props;\n}\n\nexport function updateIfChanged<T, K extends keyof T>(\n obj: T,\n key: K,\n value: T[K],\n isEqual?: (l: T[K], r: T[K]) => boolean,\n) {\n if (isEqual ? !isEqual(obj[key], value) : obj[key] !== value) {\n obj[key] = value;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_axios","_uikit","_progress","_hammer","_constants","_errors","_uiError","_jsxRuntime","obj","__esModule","default","getBatchError","batchResults","message","splitBatchResults","UIBatchError","error","COMMANDS_V4_WITH_VALUE","get","list","exists","extractBatchV4Values","data","requests","results","rest","_objectWithoutProperties","_excluded","res","_map","itemData","index","_requests$index","hasValue","command","output","itemRest","_excluded2","_objectSpread","value","inputError","dstError","innerErrors","outputs","errorIndices","resultIndices","_forEach","push","length","_dstError$inner_error","_dstError$inner_error2","inner_errors","apply","undefined","getBatchErrorIndices","_reduce","acc","_ref","toaster","Toaster","wrapBatchPromise","p","errorTitle","then","wrapApiPromiseByToaster","options","errorContent","successContent","isBatch","skipSuccessToast","_options$timeout","add","name","toasterName","type","title","successTitle","content","autoHiding","autoHide","timeout","_error$response","axios","isCancel","Promise","reject","response","code","skipErrorToast","_jsxs","children","actions","label","onClick","showErrorPopup","calcProgressProps","usage","limit","format","arguments","themeThresholds","defaultThemeThresholds","computeProgress","theme","getProgressTheme","text","concat","formatNumber","hammer","showToasterError","_error$response2","unescapeSlashX","path","decoded","i","len","currentChar","charAt","nextChar","hexEscapeSequence","String","fromCharCode","parseInt","calculateLoadingStatus","loading","loaded","LOADING_STATUS","LOADING","ERROR","LOADED","UNINITIALIZED","isFinalLoadingStatus","status","delayed","callBack","rej","setTimeout","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","t0","t1","sent","t2","stop","makeLink","url","_jsx","Link","href","target","window","store","dispatch","showErrorModal","toggleBooleanInPlace","key","tmp","moveArrayElement","arr","oldIndex","newIndex","_arr$splice","splice","_arr$splice2","_slicedToArray","item","nanToUndefined","isNaN","visitTreeItems","treeItem","visitorFn","opts","handledSet","Set","visitTreeItemsImpl","isNeedToSkipChildren","has","child","openInNewTab","Object","assign","document","createElement","click","previousProps","showChangedProps","props","verbose","prevProps","console","log","Date","now","keys","changed","v","k","updateIfChanged","isEqual"],"sources":["utils.tsx"],"sourcesContent":["import React from 'react';\nimport axios, {AxiosError} from 'axios';\nimport _ from 'lodash';\n\nimport {TypedKeys, YTError} from '../types';\nimport {Link, ProgressProps, Toaster} from '@gravity-ui/uikit';\nimport {\n ThemeThreshold,\n computeProgress,\n defaultThemeThresholds,\n getProgressTheme,\n} from '../utils/progress';\nimport hammer from '../common/hammer';\nimport {LOADING_STATUS} from '../constants';\nimport {ErrorInfo} from '../store/reducers/modals/errors';\nimport {showErrorModal} from '../store/actions/modals/errors';\nimport {BatchResultsItem} from '../../shared/yt-types';\n\nimport {UIBatchError} from './errors/ui-error';\n\nexport function getBatchError<T = unknown>(\n batchResults: Array<BatchResultsItem<T>>,\n message: string,\n): YTError | undefined {\n return splitBatchResults(batchResults, new UIBatchError(message)).error;\n}\n\nconst COMMANDS_V4_WITH_VALUE: Record<string, boolean> = {\n get: true,\n list: true,\n exists: true,\n};\n\nexport function extractBatchV4Values<V, T extends {value?: V}>(\n data: {\n results?: Array<BatchResultsItem<T | V>>;\n },\n requests: Array<{command: string}>,\n) {\n const {results, ...rest} = data;\n const res = !results\n ? []\n : _.map(results, (itemData, index) => {\n const hasValue = COMMANDS_V4_WITH_VALUE[requests[index]?.command];\n if (!hasValue) {\n return itemData;\n }\n\n const {output, ...itemRest} = itemData;\n return {\n ...itemRest,\n ...(hasValue ? {output: (output as any).value} : {output}),\n };\n });\n\n return {...rest, results: res};\n}\n\nexport interface SplitedBatchResults<T> {\n error: YTError | undefined;\n results: Array<T>;\n outputs: Array<T | undefined>;\n errorIndices: Array<number>;\n resultIndices: Array<number>;\n}\n\nexport function splitBatchResults<T = unknown>(\n batchResults: Array<BatchResultsItem<T>>,\n inputError: string | UIBatchError,\n): SplitedBatchResults<T> {\n const dstError: UIBatchError =\n typeof inputError === 'string' ? new UIBatchError(inputError) : inputError;\n\n const innerErrors: Array<YTError> = [];\n const results: Array<T> = [];\n const outputs: Array<T | undefined> = [];\n const errorIndices: Array<number> = [];\n const resultIndices: Array<number> = [];\n _.forEach(batchResults, (res, index) => {\n const {error, output} = res;\n outputs.push(output);\n if (error) {\n innerErrors.push(error);\n errorIndices.push(index);\n } else {\n results.push(output!);\n resultIndices.push(index);\n }\n });\n\n if (innerErrors.length) {\n dstError.inner_errors = dstError.inner_errors ?? [];\n dstError.inner_errors.push(...innerErrors);\n }\n\n const error = !innerErrors.length ? undefined : dstError;\n return {error: error as UIBatchError, results, outputs, errorIndices, resultIndices};\n}\n\nexport function getBatchErrorIndices<T>(results: Array<BatchResultsItem<T>>) {\n return _.reduce(\n results,\n (acc, {error}, index) => {\n if (error) {\n acc.push(index);\n }\n return acc;\n },\n [] as Array<number>,\n );\n}\n\ninterface CommonWrapApiOptions<T> {\n toasterName: string;\n successContent?: React.ReactNode | ((res: T) => React.ReactNode);\n skipSuccessToast?: boolean;\n errorContent?: React.ReactNode | ((e: YTError) => React.ReactNode);\n skipErrorToast?: boolean;\n successTitle?: string;\n timeout?: number;\n autoHide?: boolean;\n}\n\ntype BatchWrapApiOption =\n | {isBatch?: false; errorTitle?: string}\n | {isBatch: true; errorTitle: string};\n\ntype WrapApiOptions<T> = CommonWrapApiOptions<T> & BatchWrapApiOption;\n\nconst toaster = new Toaster();\n\nexport function wrapBatchPromise<T>(p: Promise<T>, errorTitle: string): Promise<T> {\n return p.then((res) => {\n const error = getBatchError(res as any, errorTitle);\n if (error) {\n throw error;\n }\n\n return res;\n });\n}\n\nexport function wrapApiPromiseByToaster<T>(p: Promise<T>, options: WrapApiOptions<T>): Promise<T> {\n const {errorContent, successContent} = options;\n return p\n .then((res) => {\n if (options.isBatch) {\n const error = getBatchError(\n res as any,\n options.errorTitle || 'Missing batch error title',\n );\n if (error) {\n throw error;\n }\n }\n\n if (!options.skipSuccessToast) {\n toaster.add({\n name: options.toasterName,\n type: 'success',\n title: options.successTitle || 'Success',\n content:\n 'function' === typeof successContent ? successContent(res) : successContent,\n autoHiding: options.autoHide === false ? false : options.timeout ?? 10000,\n });\n }\n return res;\n })\n .catch((error) => {\n if (axios.isCancel(error)) {\n return Promise.reject(error);\n }\n\n const data = error?.response?.data || error;\n const {code, message} = data;\n\n if (!options.skipErrorToast) {\n toaster.add({\n name: options.toasterName,\n type: 'error',\n title: options.errorTitle || 'Failure',\n content:\n 'function' === typeof errorContent\n ? errorContent(error)\n : errorContent || (\n <span>\n [code {code}] {message}\n </span>\n ),\n actions: [{label: ' Details', onClick: () => showErrorPopup(data)}],\n autoHiding: false,\n });\n }\n return Promise.reject(error);\n });\n}\n\nexport function calcProgressProps(\n usage?: number,\n limit?: number,\n format: 'Number' | 'Bytes' = 'Number',\n themeThresholds: ThemeThreshold[] = defaultThemeThresholds,\n): ProgressProps {\n const value = computeProgress(usage, limit);\n return {\n value,\n theme: getProgressTheme(value, themeThresholds),\n text: `${formatNumber(usage, format)} / ${formatNumber(limit, format)}`,\n };\n}\n\nexport function formatNumber(value?: number, format?: 'Number' | 'Bytes'): string {\n return format === 'Bytes' ? hammer.format['Bytes'](value) : hammer.format['Number'](value);\n}\n\nexport function showToasterError(name: string, error: any) {\n const data = error?.response?.data || error;\n const {code, message} = data;\n\n toaster.add({\n name,\n type: 'error',\n title: `${name} failure`,\n content: (\n <span>\n [code {code}] {message}\n </span>\n ),\n actions: [{label: ' view', onClick: () => showErrorPopup(data)}],\n });\n return Promise.reject(error);\n}\n\nexport function unescapeSlashX(path: string) {\n let decoded = '';\n\n for (let i = 0, len = path.length; i < len; i++) {\n const currentChar = path.charAt(i);\n\n if (currentChar === '\\\\') {\n const nextChar = path.charAt((i += 1));\n\n if (nextChar === 'x') {\n // TODO check that next two characters are hexademical and end of string is not reached\n const hexEscapeSequence = path.charAt((i += 1)) + path.charAt((i += 1));\n\n decoded += String.fromCharCode(parseInt(hexEscapeSequence, 16));\n } else {\n decoded += nextChar;\n }\n } else {\n decoded += currentChar;\n }\n }\n\n return decoded;\n}\n\nexport function calculateLoadingStatus(loading: boolean, loaded: boolean, error: any) {\n if (loading) {\n return LOADING_STATUS.LOADING;\n }\n\n if (error) {\n return LOADING_STATUS.ERROR;\n }\n\n if (loaded) {\n return LOADING_STATUS.LOADED;\n }\n\n return LOADING_STATUS.UNINITIALIZED;\n}\n\nexport function isFinalLoadingStatus(status: string) {\n return status === LOADING_STATUS.LOADED || status === LOADING_STATUS.ERROR;\n}\n\nexport function delayed<T>(callBack: () => Promise<T>, timeout: number): Promise<T> {\n return new Promise((res, rej) => {\n setTimeout(async () => {\n try {\n res(await callBack());\n } catch (e) {\n rej(e);\n }\n }, timeout);\n });\n}\n\nexport function makeLink(url: string, text: string) {\n return !url ? undefined : (\n <Link href={url} target={'_blank'}>\n {text}\n </Link>\n );\n}\n\nexport function showErrorPopup(\n error: YTError | AxiosError,\n options: Omit<ErrorInfo, 'error'> = {},\n) {\n (window as any).store.dispatch(showErrorModal(error, options));\n}\n\nexport function toggleBooleanInPlace<T, K extends TypedKeys<T, boolean>>(key: K, obj: T) {\n const tmp: any = obj;\n if (tmp[key]) {\n delete tmp[key];\n } else {\n tmp[key] = true;\n }\n return obj;\n}\n\nexport function moveArrayElement<T>(arr: Array<T>, oldIndex: number, newIndex: number): [] | [T] {\n if (oldIndex < 0 || oldIndex >= arr.length || newIndex < 0 || newIndex >= arr.length) {\n return [];\n }\n\n const [item] = arr.splice(oldIndex, 1);\n arr.splice(newIndex, 0, item);\n\n return [item];\n}\n\nexport function nanToUndefined(value: any) {\n return isNaN(value) ? undefined : value;\n}\n\ntype Tree<T> = T & {\n children?: Array<Tree<T>>;\n};\n\ninterface VisitTreeItemsOptions<T> {\n handledSet: Set<unknown>;\n isNeedToSkipChildren?: (item: T) => boolean;\n}\n\nexport function visitTreeItems<T>(\n treeItem: Tree<T> | undefined,\n visitorFn: (item: T) => void,\n options?: Partial<VisitTreeItemsOptions<T>>,\n) {\n const opts = {\n ...options,\n handledSet: options?.handledSet || new Set(),\n };\n\n return visitTreeItemsImpl(treeItem, visitorFn, opts);\n}\n\nfunction visitTreeItemsImpl<T>(\n treeItem: Tree<T> | undefined,\n visitorFn: (item: T) => void,\n options: VisitTreeItemsOptions<T>,\n) {\n const {handledSet, isNeedToSkipChildren} = options;\n\n if (!treeItem || handledSet.has(treeItem)) {\n return;\n }\n\n handledSet.add(treeItem);\n visitorFn(treeItem);\n\n if (isNeedToSkipChildren && isNeedToSkipChildren(treeItem)) {\n return;\n }\n\n _.forEach(treeItem.children, (child) => visitTreeItemsImpl(child, visitorFn, options));\n}\n\nexport function openInNewTab(href: string) {\n // Safari specific hack to open new tab (not window)\n Object.assign(document.createElement('a'), {\n target: '_blank',\n href,\n }).click();\n}\n\nconst previousProps: Record<string, any> = {};\n\nexport function showChangedProps(key: string, props: object, verbose?: boolean) {\n const prevProps = previousProps[key];\n if (prevProps === undefined) {\n console.log(key, Date.now(), Object.keys(props));\n } else {\n const changed: Array<string> = [];\n _.forEach(props, (v, k) => {\n if (v !== prevProps[k]) {\n changed.push(k);\n if (verbose) {\n console.log(key, k, {prev: prevProps[k], v});\n }\n }\n });\n console.log(key, Date.now(), changed);\n }\n previousProps[key] = props;\n}\n\nexport function updateIfChanged<T, K extends keyof T>(\n obj: T,\n key: K,\n value: T[K],\n isEqual?: (l: T[K], r: T[K]) => boolean,\n) {\n if (isEqual ? !isEqual(obj[key], value) : obj[key] !== value) {\n obj[key] = value;\n }\n}\n"],"mappings":"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"}
@@ -6,6 +6,7 @@ export interface YTError {
6
6
  code?: number;
7
7
  attributes?: any;
8
8
  inner_errors?: YTError[];
9
+ yt_javascript_wrapper?: {xYTTraceId?: string; xYTRequestId?: string};
9
10
  }
10
11
 
11
12
  export type ValueOf<T> = T[keyof T];
@@ -66,7 +66,7 @@ function _homeIndex() {
66
66
  res.redirect('/');
67
67
  return _context.abrupt("return");
68
68
  case 20:
69
- res.status(404).send("No config for cluster '".concat(cluster, "' exists.") + '<div>If you are trying to connect to your local cluster please make sure:</div>' + '<ol><li>FQDN of the cluster is correct</li>' + '<li>The port is greater than or equal to 1000.</li></ol>');
69
+ res.status(404).send("No config for cluster <b>".concat(encodeURIComponent(cluster), "</b> exists.") + '<div>If you are trying to connect to your local cluster please make sure:</div>' + '<ol><li>FQDN of the cluster is correct</li>' + '<li>The port is greater than or equal to 1000.</li></ol>');
70
70
  return _context.abrupt("return");
71
71
  case 22:
72
72
  useRemoteSettings = isRemoteSettingsConfigured();
@@ -1 +1 @@
1
- {"version":3,"names":["getLayoutConfig","create","get","isRemoteSettingsConfigured","getClusterConfig","ServerFactory","getApp","isLocalModeByEnvironment","getDafaultUserSettings","ODIN_PAGE_ID","isRootPage","page","_getApp$config","rootPages","concat","_toConsumableArray","config","odinBaseUrl","getExtraRootPages","indexOf","homeRedirect","req","res","cluster","params","referrer","query","url","redirect","homeIndex","_x","_x2","_homeIndex","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_req$yt","_req$yt2","isRoot","ctx","_getClusterConfig","clusterConfig","ytConfig","login","useRemoteSettings","settings","userSettings","message","errorMessage","layoutConfig","html","wrap","_callee$","_context","prev","next","undefined","getHomeRedirectedUrl","sent","abrupt","t0","logError","isLocalCluster","yt","_isEmpty","ytAllowRemoteLocalProxy","status","send","data","meta","username","t1","_objectSpread","t2","uid","renderLayout","stop"],"sources":["home.ts"],"sourcesContent":["import type {Request, Response} from 'express';\nimport _ from 'lodash';\n\nimport {getLayoutConfig} from '../components/layout-config';\nimport {create, get, isRemoteSettingsConfigured} from '../components/settings';\nimport {getClusterConfig} from '../components/utils';\nimport ServerFactory, {getApp} from '../ServerFactory';\nimport {isLocalModeByEnvironment} from '../utils';\nimport {getDafaultUserSettings} from '../utils/default-settings';\nimport {ODIN_PAGE_ID} from '../../shared/constants';\n\nfunction isRootPage(page: string) {\n const rootPages = [\n ...(getApp().config?.odinBaseUrl ? [ODIN_PAGE_ID] : []),\n ...ServerFactory.getExtraRootPages(),\n ];\n return -1 !== rootPages.indexOf(page);\n}\n\nexport function homeRedirect(req: Request, res: Response) {\n const cluster = req.params.cluster;\n const {referrer} = req.query;\n const url = referrer ? (referrer as string) : `/${cluster}`;\n\n res.redirect(url);\n}\n\nexport async function homeIndex(req: Request, res: Response) {\n const isRoot = isRootPage(req.params.cluster);\n const cluster = isRoot ? undefined : req.params.cluster;\n\n try {\n const url = await ServerFactory.getHomeRedirectedUrl(cluster, req);\n if (url) {\n return res.redirect(url);\n }\n } catch (e) {\n req.ctx.logError('Failed to calculate redirects', e);\n }\n\n const {ctx} = req;\n\n const {clusterConfig, ytConfig} = getClusterConfig(cluster);\n const login = ytConfig.isLocalCluster ? 'root' : req.yt?.login;\n // Refuse to serve localRemoteProxy requests erroneously delegated from main interface to another\n // interface running in a container (instead of YT container)\n if (_.isEmpty(clusterConfig) && cluster) {\n if (!req.ctx.config.ytAllowRemoteLocalProxy && !isLocalModeByEnvironment()) {\n res.redirect('/');\n return;\n }\n res.status(404).send(\n `No config for cluster '${cluster}' exists.` +\n '<div>If you are trying to connect to your local cluster please make sure:</div>' +\n '<ol><li>FQDN of the cluster is correct</li>' +\n '<li>The port is greater than or equal to 1000.</li></ol>',\n );\n return;\n }\n\n const useRemoteSettings = isRemoteSettingsConfigured();\n\n const settings = {\n data: getDafaultUserSettings(req.ctx.config),\n meta: {\n useRemoteSettings,\n errorMessage: undefined as string | undefined,\n },\n };\n\n if (login && useRemoteSettings) {\n try {\n await create({ctx, username: login});\n const userSettings = login ? await get({ctx, username: login}) : {};\n settings.data = {...settings.data, ...userSettings};\n } catch (e) {\n const message = `Error in getting user settings for ${login}`;\n req.ctx.logError(message, e);\n\n const errorMessage =\n `Oh, no. ${message}. You are using default settings. ` +\n 'All settings changes will be saved in browser only.\\n' +\n 'Try to reload page. If problem persists please report it via Bug Reporter.';\n\n settings.meta = {\n ...settings.meta,\n useRemoteSettings: false,\n errorMessage,\n };\n }\n }\n\n const layoutConfig = await getLayoutConfig(req, {\n login,\n uid: req.yt?.uid,\n cluster,\n ytConfig,\n settings,\n });\n const html = await ServerFactory.renderLayout(layoutConfig, req, res);\n res.send(html);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["getLayoutConfig","create","get","isRemoteSettingsConfigured","getClusterConfig","ServerFactory","getApp","isLocalModeByEnvironment","getDafaultUserSettings","ODIN_PAGE_ID","isRootPage","page","_getApp$config","rootPages","concat","_toConsumableArray","config","odinBaseUrl","getExtraRootPages","indexOf","homeRedirect","req","res","cluster","params","referrer","query","url","redirect","homeIndex","_x","_x2","_homeIndex","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_req$yt","_req$yt2","isRoot","ctx","_getClusterConfig","clusterConfig","ytConfig","login","useRemoteSettings","settings","userSettings","message","errorMessage","layoutConfig","html","wrap","_callee$","_context","prev","next","undefined","getHomeRedirectedUrl","sent","abrupt","t0","logError","isLocalCluster","yt","_isEmpty","ytAllowRemoteLocalProxy","status","send","encodeURIComponent","data","meta","username","t1","_objectSpread","t2","uid","renderLayout","stop"],"sources":["home.ts"],"sourcesContent":["import type {Request, Response} from 'express';\nimport _ from 'lodash';\n\nimport {getLayoutConfig} from '../components/layout-config';\nimport {create, get, isRemoteSettingsConfigured} from '../components/settings';\nimport {getClusterConfig} from '../components/utils';\nimport ServerFactory, {getApp} from '../ServerFactory';\nimport {isLocalModeByEnvironment} from '../utils';\nimport {getDafaultUserSettings} from '../utils/default-settings';\nimport {ODIN_PAGE_ID} from '../../shared/constants';\n\nfunction isRootPage(page: string) {\n const rootPages = [\n ...(getApp().config?.odinBaseUrl ? [ODIN_PAGE_ID] : []),\n ...ServerFactory.getExtraRootPages(),\n ];\n return -1 !== rootPages.indexOf(page);\n}\n\nexport function homeRedirect(req: Request, res: Response) {\n const cluster = req.params.cluster;\n const {referrer} = req.query;\n const url = referrer ? (referrer as string) : `/${cluster}`;\n\n res.redirect(url);\n}\n\nexport async function homeIndex(req: Request, res: Response) {\n const isRoot = isRootPage(req.params.cluster);\n const cluster = isRoot ? undefined : req.params.cluster;\n\n try {\n const url = await ServerFactory.getHomeRedirectedUrl(cluster, req);\n if (url) {\n return res.redirect(url);\n }\n } catch (e) {\n req.ctx.logError('Failed to calculate redirects', e);\n }\n\n const {ctx} = req;\n\n const {clusterConfig, ytConfig} = getClusterConfig(cluster);\n const login = ytConfig.isLocalCluster ? 'root' : req.yt?.login;\n // Refuse to serve localRemoteProxy requests erroneously delegated from main interface to another\n // interface running in a container (instead of YT container)\n if (_.isEmpty(clusterConfig) && cluster) {\n if (!req.ctx.config.ytAllowRemoteLocalProxy && !isLocalModeByEnvironment()) {\n res.redirect('/');\n return;\n }\n res.status(404).send(\n `No config for cluster <b>${encodeURIComponent(cluster)}</b> exists.` +\n '<div>If you are trying to connect to your local cluster please make sure:</div>' +\n '<ol><li>FQDN of the cluster is correct</li>' +\n '<li>The port is greater than or equal to 1000.</li></ol>',\n );\n return;\n }\n\n const useRemoteSettings = isRemoteSettingsConfigured();\n\n const settings = {\n data: getDafaultUserSettings(req.ctx.config),\n meta: {\n useRemoteSettings,\n errorMessage: undefined as string | undefined,\n },\n };\n\n if (login && useRemoteSettings) {\n try {\n await create({ctx, username: login});\n const userSettings = login ? await get({ctx, username: login}) : {};\n settings.data = {...settings.data, ...userSettings};\n } catch (e) {\n const message = `Error in getting user settings for ${login}`;\n req.ctx.logError(message, e);\n\n const errorMessage =\n `Oh, no. ${message}. You are using default settings. ` +\n 'All settings changes will be saved in browser only.\\n' +\n 'Try to reload page. If problem persists please report it via Bug Reporter.';\n\n settings.meta = {\n ...settings.meta,\n useRemoteSettings: false,\n errorMessage,\n };\n }\n }\n\n const layoutConfig = await getLayoutConfig(req, {\n login,\n uid: req.yt?.uid,\n cluster,\n ytConfig,\n settings,\n });\n const html = await ServerFactory.renderLayout(layoutConfig, req, res);\n res.send(html);\n}\n"],"mappings":"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"}
@@ -38,13 +38,9 @@ export function getYtPageIdParts(url) {
38
38
  }
39
39
  }
40
40
  export function isYTError(error) {
41
- var _ref = error || {},
42
- code = _ref.code,
43
- attributes = _ref.attributes;
44
- var _ref2 = attributes || {},
45
- trace_id = _ref2.trace_id,
46
- pid = _ref2.pid,
47
- tid = _ref2.tid;
48
- return Boolean(code && trace_id && tid && pid);
41
+ var _ref2;
42
+ var _ref = (_ref2 = error) !== null && _ref2 !== void 0 ? _ref2 : {},
43
+ yt_javascript_wrapper = _ref.yt_javascript_wrapper;
44
+ return Boolean((yt_javascript_wrapper === null || yt_javascript_wrapper === void 0 ? void 0 : yt_javascript_wrapper.xYTTraceId) && (yt_javascript_wrapper === null || yt_javascript_wrapper === void 0 ? void 0 : yt_javascript_wrapper.xYTRequestId));
49
45
  }
50
46
  // #sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["YT_LOCAL_CLUSTER_ID","isLocalClusterId","clusterId","getYtPageIdParts","url","_URL","URL","pathname","arr","split","slice","section","splice","cluster","parts","toString","join","getPage","_unused","isYTError","error","_ref","code","attributes","_ref2","trace_id","pid","tid","Boolean"],"sources":["index.ts"],"sourcesContent":["import {YTError} from '../../@types/types';\nimport {YT_LOCAL_CLUSTER_ID} from '../../shared/constants';\n\nexport function isLocalClusterId(clusterId: string) {\n return clusterId === YT_LOCAL_CLUSTER_ID;\n}\n\nexport function getYtPageIdParts(url: string): PageId {\n try {\n const {pathname} = new URL(url);\n const arr = pathname.split('/').slice(1); // cut off first slash;\n\n const section = arr[1];\n\n if (section === 'operations' || section === 'tablet') {\n arr.splice(2, 1);\n } else if (section === 'job') {\n arr.splice(2, 2);\n }\n\n const cluster = arr[0]; // cluster | odin | resource-planner\n\n return {\n parts: arr,\n toString() {\n return arr.join('_');\n },\n getPage() {\n return section || cluster;\n },\n };\n } catch {\n return {\n parts: [],\n toString: () => '',\n getPage: () => '',\n };\n }\n}\n\ninterface PageId {\n parts: Array<string>;\n toString(): string;\n getPage(): string;\n}\n\nexport function isYTError(error: any): error is YTError {\n const {code, attributes} = error || {};\n const {trace_id, pid, tid} = attributes || {};\n return Boolean(code && trace_id && tid && pid);\n}\n"],"mappings":"AACA,SAAQA,mBAAmB,QAAO,wBAAwB;AAE1D,OAAO,SAASC,gBAAgBA,CAACC,SAAiB,EAAE;EAChD,OAAOA,SAAS,KAAKF,mBAAmB;AAC5C;AAEA,OAAO,SAASG,gBAAgBA,CAACC,GAAW,EAAU;EAClD,IAAI;IACA,IAAAC,IAAA,GAAmB,IAAIC,GAAG,CAACF,GAAG,CAAC;MAAxBG,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACf,IAAMC,GAAG,GAAGD,QAAQ,CAACE,KAAK,CAAC,GAAG,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;;IAE1C,IAAMC,OAAO,GAAGH,GAAG,CAAC,CAAC,CAAC;IAEtB,IAAIG,OAAO,KAAK,YAAY,IAAIA,OAAO,KAAK,QAAQ,EAAE;MAClDH,GAAG,CAACI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC,MAAM,IAAID,OAAO,KAAK,KAAK,EAAE;MAC1BH,GAAG,CAACI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IACpB;IAEA,IAAMC,OAAO,GAAGL,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;;IAExB,OAAO;MACHM,KAAK,EAAEN,GAAG;MACVO,QAAQ,WAAAA,SAAA,EAAG;QACP,OAAOP,GAAG,CAACQ,IAAI,CAAC,GAAG,CAAC;MACxB,CAAC;MACDC,OAAO,WAAAA,QAAA,EAAG;QACN,OAAON,OAAO,IAAIE,OAAO;MAC7B;IACJ,CAAC;EACL,CAAC,CAAC,OAAAK,OAAA,EAAM;IACJ,OAAO;MACHJ,KAAK,EAAE,EAAE;MACTC,QAAQ,EAAE,SAAAA,SAAA;QAAA,OAAM,EAAE;MAAA;MAClBE,OAAO,EAAE,SAAAA,QAAA;QAAA,OAAM,EAAE;MAAA;IACrB,CAAC;EACL;AACJ;AAQA,OAAO,SAASE,SAASA,CAACC,KAAU,EAAoB;EACpD,IAAAC,IAAA,GAA2BD,KAAK,IAAI,CAAC,CAAC;IAA/BE,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEC,UAAU,GAAAF,IAAA,CAAVE,UAAU;EACvB,IAAAC,KAAA,GAA6BD,UAAU,IAAI,CAAC,CAAC;IAAtCE,QAAQ,GAAAD,KAAA,CAARC,QAAQ;IAAEC,GAAG,GAAAF,KAAA,CAAHE,GAAG;IAAEC,GAAG,GAAAH,KAAA,CAAHG,GAAG;EACzB,OAAOC,OAAO,CAACN,IAAI,IAAIG,QAAQ,IAAIE,GAAG,IAAID,GAAG,CAAC;AAClD"}
1
+ {"version":3,"names":["YT_LOCAL_CLUSTER_ID","isLocalClusterId","clusterId","getYtPageIdParts","url","_URL","URL","pathname","arr","split","slice","section","splice","cluster","parts","toString","join","getPage","_unused","isYTError","error","_ref2","_ref","yt_javascript_wrapper","Boolean","xYTTraceId","xYTRequestId"],"sources":["index.ts"],"sourcesContent":["import {YTError} from '../../@types/types';\nimport {YT_LOCAL_CLUSTER_ID} from '../../shared/constants';\n\nexport function isLocalClusterId(clusterId: string) {\n return clusterId === YT_LOCAL_CLUSTER_ID;\n}\n\nexport function getYtPageIdParts(url: string): PageId {\n try {\n const {pathname} = new URL(url);\n const arr = pathname.split('/').slice(1); // cut off first slash;\n\n const section = arr[1];\n\n if (section === 'operations' || section === 'tablet') {\n arr.splice(2, 1);\n } else if (section === 'job') {\n arr.splice(2, 2);\n }\n\n const cluster = arr[0]; // cluster | odin | resource-planner\n\n return {\n parts: arr,\n toString() {\n return arr.join('_');\n },\n getPage() {\n return section || cluster;\n },\n };\n } catch {\n return {\n parts: [],\n toString: () => '',\n getPage: () => '',\n };\n }\n}\n\ninterface PageId {\n parts: Array<string>;\n toString(): string;\n getPage(): string;\n}\n\nexport function isYTError(error: any): error is YTError {\n const {yt_javascript_wrapper} = (error as YTError) ?? {};\n return Boolean(yt_javascript_wrapper?.xYTTraceId && yt_javascript_wrapper?.xYTRequestId);\n}\n"],"mappings":"AACA,SAAQA,mBAAmB,QAAO,wBAAwB;AAE1D,OAAO,SAASC,gBAAgBA,CAACC,SAAiB,EAAE;EAChD,OAAOA,SAAS,KAAKF,mBAAmB;AAC5C;AAEA,OAAO,SAASG,gBAAgBA,CAACC,GAAW,EAAU;EAClD,IAAI;IACA,IAAAC,IAAA,GAAmB,IAAIC,GAAG,CAACF,GAAG,CAAC;MAAxBG,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACf,IAAMC,GAAG,GAAGD,QAAQ,CAACE,KAAK,CAAC,GAAG,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;;IAE1C,IAAMC,OAAO,GAAGH,GAAG,CAAC,CAAC,CAAC;IAEtB,IAAIG,OAAO,KAAK,YAAY,IAAIA,OAAO,KAAK,QAAQ,EAAE;MAClDH,GAAG,CAACI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC,MAAM,IAAID,OAAO,KAAK,KAAK,EAAE;MAC1BH,GAAG,CAACI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IACpB;IAEA,IAAMC,OAAO,GAAGL,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;;IAExB,OAAO;MACHM,KAAK,EAAEN,GAAG;MACVO,QAAQ,WAAAA,SAAA,EAAG;QACP,OAAOP,GAAG,CAACQ,IAAI,CAAC,GAAG,CAAC;MACxB,CAAC;MACDC,OAAO,WAAAA,QAAA,EAAG;QACN,OAAON,OAAO,IAAIE,OAAO;MAC7B;IACJ,CAAC;EACL,CAAC,CAAC,OAAAK,OAAA,EAAM;IACJ,OAAO;MACHJ,KAAK,EAAE,EAAE;MACTC,QAAQ,EAAE,SAAAA,SAAA;QAAA,OAAM,EAAE;MAAA;MAClBE,OAAO,EAAE,SAAAA,QAAA;QAAA,OAAM,EAAE;MAAA;IACrB,CAAC;EACL;AACJ;AAQA,OAAO,SAASE,SAASA,CAACC,KAAU,EAAoB;EAAA,IAAAC,KAAA;EACpD,IAAAC,IAAA,IAAAD,KAAA,GAAiCD,KAAK,cAAAC,KAAA,cAAAA,KAAA,GAAgB,CAAC,CAAC;IAAjDE,qBAAqB,GAAAD,IAAA,CAArBC,qBAAqB;EAC5B,OAAOC,OAAO,CAAC,CAAAD,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CAAEE,UAAU,MAAIF,qBAAqB,aAArBA,qBAAqB,uBAArBA,qBAAqB,CAAEG,YAAY,EAAC;AAC5F"}
@@ -50,7 +50,7 @@ declare const _default: import("react-redux").ConnectedComponent<typeof Attribut
50
50
  break: PropTypes.Requireable<boolean>;
51
51
  }>>>;
52
52
  closeAttributesModal: PropTypes.Validator<(...args: any[]) => any>;
53
- }>, "attributes" | "error" | "visible" | "loading" | "loaded" | "title" | "errorData" | "ysonSettings" | "closeAttributesModal">>;
53
+ }>, "error" | "visible" | "attributes" | "loading" | "loaded" | "title" | "errorData" | "ysonSettings" | "closeAttributesModal">>;
54
54
  export default _default;
55
55
  import React from 'react';
56
56
  import PropTypes from 'prop-types';
@@ -17,8 +17,7 @@ function RetryBatchImpl(props) {
17
17
  var id = props.id,
18
18
  error = props.error,
19
19
  showModal = props.showModal,
20
- _props$options = props.options,
21
- options = _props$options === void 0 ? {} : _props$options;
20
+ options = props.options;
22
21
  var disableSkip = options.disableSkip;
23
22
  var handleRetry = React.useCallback(function () {
24
23
  dispatch(retryExecuteBatch(id));
@@ -1 +1 @@
1
- {"version":3,"names":["React","useDispatch","useSelector","Button","Dialog","getExecuteBatchState","ErrorBlock","rumLogError","abortExecuteBatch","retryExecuteBatch","skipExecuteBatch","jsx","_jsx","jsxs","_jsxs","BUTTON_WIDTH_STYLE","width","RetryBatchImpl","props","dispatch","id","error","showModal","_props$options","options","disableSkip","handleRetry","useCallback","handleSkip","handleAbort","handleClose","message","open","hasCloseButton","onClose","children","Header","caption","Body","Footer","preset","showError","listenKeyEnter","textButtonCancel","textButtonApply","onClickButtonApply","onClickButtonCancel","style","onClick","size","RetryBatch","memo","RetryBatchModals","state","Fragment","_map","data","key","_objectSpread"],"sources":["RetryBatchModal.tsx"],"sourcesContent":["import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport _ from 'lodash';\n\nimport {Button, Dialog} from '@gravity-ui/uikit';\n\nimport {getExecuteBatchState} from '../../store/selectors/execute-batch';\nimport {ExecuteBatchStateItem} from '../../store/reducers/execute-batch';\n\nimport ErrorBlock from '../../components/Error/Error';\nimport {rumLogError} from '../../rum/rum-counter';\nimport {\n abortExecuteBatch,\n retryExecuteBatch,\n skipExecuteBatch,\n} from '../../store/actions/execute-batch';\n\nconst BUTTON_WIDTH_STYLE = {width: 128};\n\nfunction RetryBatchImpl(props: ExecuteBatchStateItem) {\n const dispatch = useDispatch();\n const {id, error, showModal, options = {}} = props;\n const {disableSkip} = options;\n\n const handleRetry = React.useCallback(() => {\n dispatch(retryExecuteBatch(id));\n }, [dispatch, id]);\n\n const handleSkip = React.useCallback(() => {\n dispatch(skipExecuteBatch(id));\n }, [dispatch, id]);\n\n const handleAbort = React.useCallback(() => {\n dispatch(abortExecuteBatch(id));\n }, [dispatch, id]);\n\n const handleClose = React.useCallback(() => {\n rumLogError({\n message: 'RetryBatchImpl: handleClose should not be called ever',\n });\n }, []);\n\n return (\n <Dialog open={showModal} hasCloseButton={false} onClose={handleClose}>\n <Dialog.Header caption={'Error'} />\n <Dialog.Body>\n <div>Some sub-requests have been failed. Would you like to try again?</div>\n <ErrorBlock error={error} />\n </Dialog.Body>\n <Dialog.Footer\n preset={'default'}\n showError={false}\n listenKeyEnter={false}\n textButtonCancel={disableSkip ? 'Abort' : 'Skip'}\n textButtonApply={'Retry'}\n onClickButtonApply={handleRetry}\n onClickButtonCancel={disableSkip ? handleAbort : handleSkip}\n >\n {!disableSkip && (\n <div style={BUTTON_WIDTH_STYLE}>\n <Button onClick={handleAbort} size={'l'} width={'max'}>\n Abort\n </Button>\n </div>\n )}\n </Dialog.Footer>\n </Dialog>\n );\n}\n\nconst RetryBatch = React.memo(RetryBatchImpl);\n\nfunction RetryBatchModals() {\n const state = useSelector(getExecuteBatchState);\n return (\n <React.Fragment>\n {_.map(state, (data, key) => {\n return <RetryBatch key={key} {...data} />;\n })}\n </React.Fragment>\n );\n}\n\nexport default React.memo(RetryBatchModals);\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useDispatch","useSelector","Button","Dialog","getExecuteBatchState","ErrorBlock","rumLogError","abortExecuteBatch","retryExecuteBatch","skipExecuteBatch","jsx","_jsx","jsxs","_jsxs","BUTTON_WIDTH_STYLE","width","RetryBatchImpl","props","dispatch","id","error","showModal","options","disableSkip","handleRetry","useCallback","handleSkip","handleAbort","handleClose","message","open","hasCloseButton","onClose","children","Header","caption","Body","Footer","preset","showError","listenKeyEnter","textButtonCancel","textButtonApply","onClickButtonApply","onClickButtonCancel","style","onClick","size","RetryBatch","memo","RetryBatchModals","state","Fragment","_map","data","key","_objectSpread"],"sources":["RetryBatchModal.tsx"],"sourcesContent":["import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport _ from 'lodash';\n\nimport {Button, Dialog} from '@gravity-ui/uikit';\n\nimport {getExecuteBatchState} from '../../store/selectors/execute-batch';\nimport {ExecuteBatchStateItem} from '../../store/reducers/execute-batch';\n\nimport ErrorBlock from '../../components/Error/Error';\nimport {rumLogError} from '../../rum/rum-counter';\nimport {\n abortExecuteBatch,\n retryExecuteBatch,\n skipExecuteBatch,\n} from '../../store/actions/execute-batch';\n\nconst BUTTON_WIDTH_STYLE = {width: 128};\n\nfunction RetryBatchImpl(props: ExecuteBatchStateItem) {\n const dispatch = useDispatch();\n const {id, error, showModal, options} = props;\n const {disableSkip} = options;\n\n const handleRetry = React.useCallback(() => {\n dispatch(retryExecuteBatch(id));\n }, [dispatch, id]);\n\n const handleSkip = React.useCallback(() => {\n dispatch(skipExecuteBatch(id));\n }, [dispatch, id]);\n\n const handleAbort = React.useCallback(() => {\n dispatch(abortExecuteBatch(id));\n }, [dispatch, id]);\n\n const handleClose = React.useCallback(() => {\n rumLogError({\n message: 'RetryBatchImpl: handleClose should not be called ever',\n });\n }, []);\n\n return (\n <Dialog open={showModal} hasCloseButton={false} onClose={handleClose}>\n <Dialog.Header caption={'Error'} />\n <Dialog.Body>\n <div>Some sub-requests have been failed. Would you like to try again?</div>\n <ErrorBlock error={error} />\n </Dialog.Body>\n <Dialog.Footer\n preset={'default'}\n showError={false}\n listenKeyEnter={false}\n textButtonCancel={disableSkip ? 'Abort' : 'Skip'}\n textButtonApply={'Retry'}\n onClickButtonApply={handleRetry}\n onClickButtonCancel={disableSkip ? handleAbort : handleSkip}\n >\n {!disableSkip && (\n <div style={BUTTON_WIDTH_STYLE}>\n <Button onClick={handleAbort} size={'l'} width={'max'}>\n Abort\n </Button>\n </div>\n )}\n </Dialog.Footer>\n </Dialog>\n );\n}\n\nconst RetryBatch = React.memo(RetryBatchImpl);\n\nfunction RetryBatchModals() {\n const state = useSelector(getExecuteBatchState);\n return (\n <React.Fragment>\n {_.map(state, (data, key) => {\n return <RetryBatch key={key} {...data} />;\n })}\n </React.Fragment>\n );\n}\n\nexport default React.memo(RetryBatchModals);\n"],"mappings":"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"}
@@ -11,5 +11,5 @@ interface Props {
11
11
  onEditEnableReplicatedTableTracker: AutomaticModeSwitchProps['onEdit'];
12
12
  }
13
13
  declare function TableMeta({ attributes, mediumList, isDynamic, tableType, collapsibleSize, onEditEnableReplicatedTableTracker, }: Props): React.JSX.Element;
14
- declare const _default: import("react-redux").ConnectedComponent<typeof TableMeta, import("react-redux").Omit<Props, "attributes" | "mediumList" | "collapsibleSize" | "isDynamic" | "tableType">>;
14
+ declare const _default: import("react-redux").ConnectedComponent<typeof TableMeta, import("react-redux").Omit<Props, "mediumList" | "attributes" | "collapsibleSize" | "isDynamic" | "tableType">>;
15
15
  export default _default;
@@ -217,7 +217,7 @@ export declare const getShowCompetitiveJobs: ((state: Omit<import("redux").Combi
217
217
  checkPermissionsError: undefined;
218
218
  } & {
219
219
  path: string;
220
- mode: "attributes" | "acl" | "auto" | "consumer" | "content" | "queue" | "user_attributes" | "locks" | "schema" | "tablets" | "tablet_errors" | "annotation" | "access_log" | "mount_config";
220
+ mode: "acl" | "attributes" | "auto" | "consumer" | "content" | "queue" | "user_attributes" | "locks" | "schema" | "tablets" | "tablet_errors" | "annotation" | "access_log" | "mount_config";
221
221
  };
222
222
  content: import("redux").CombinedState<{
223
223
  replicatedTable: import("../../store/reducers/navigation/content/replicated-table").ReplicatedTableState;
@@ -367,7 +367,7 @@ export function requestQueries(ids) {
367
367
  case 5:
368
368
  resp = _context5.sent;
369
369
  extracted = extractBatchV4Values(resp, requests);
370
- _splitBatchResults = splitBatchResults((_extracted$results = extracted.results) !== null && _extracted$results !== void 0 ? _extracted$results : []), results = _splitBatchResults.results;
370
+ _splitBatchResults = splitBatchResults((_extracted$results = extracted.results) !== null && _extracted$results !== void 0 ? _extracted$results : [], 'Failed to fetch queries'), results = _splitBatchResults.results;
371
371
  return _context5.abrupt("return", results);
372
372
  case 9:
373
373
  case "end":