@ytsaurus/ui 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1906) hide show
  1. package/.babelrc +14 -0
  2. package/.dockerignore +45 -0
  3. package/.editorconfig +17 -0
  4. package/.eslintignore +2 -0
  5. package/.eslintrc +10 -0
  6. package/.nvmrc +1 -0
  7. package/.prettierrc.js +1 -0
  8. package/.stylelintrc +9 -0
  9. package/CHANGELOG.md +15 -0
  10. package/Dockerfile +29 -0
  11. package/LICENSE +13 -0
  12. package/README.md +64 -0
  13. package/assets/Manrope/OFL.txt +93 -0
  14. package/assets/Manrope/README.txt +69 -0
  15. package/assets/Manrope/otf/Manrope-Bold.otf +0 -0
  16. package/assets/Manrope/otf/Manrope-ExtraBold.otf +0 -0
  17. package/assets/Manrope/otf/Manrope-ExtraLight.otf +0 -0
  18. package/assets/Manrope/otf/Manrope-Light.otf +0 -0
  19. package/assets/Manrope/otf/Manrope-Medium.otf +0 -0
  20. package/assets/Manrope/otf/Manrope-Regular.otf +0 -0
  21. package/assets/Manrope/otf/Manrope-SemiBold.otf +0 -0
  22. package/assets/Roboto_Mono/LICENSE.txt +202 -0
  23. package/assets/Roboto_Mono/README.txt +77 -0
  24. package/assets/Roboto_Mono/RobotoMono-Italic-VariableFont_wght.ttf +0 -0
  25. package/assets/Roboto_Mono/RobotoMono-VariableFont_wght.ttf +0 -0
  26. package/assets/Roboto_Mono/static/RobotoMono-Bold.ttf +0 -0
  27. package/assets/Roboto_Mono/static/RobotoMono-BoldItalic.ttf +0 -0
  28. package/assets/Roboto_Mono/static/RobotoMono-ExtraLight.ttf +0 -0
  29. package/assets/Roboto_Mono/static/RobotoMono-ExtraLightItalic.ttf +0 -0
  30. package/assets/Roboto_Mono/static/RobotoMono-Italic.ttf +0 -0
  31. package/assets/Roboto_Mono/static/RobotoMono-Light.ttf +0 -0
  32. package/assets/Roboto_Mono/static/RobotoMono-LightItalic.ttf +0 -0
  33. package/assets/Roboto_Mono/static/RobotoMono-Medium.ttf +0 -0
  34. package/assets/Roboto_Mono/static/RobotoMono-MediumItalic.ttf +0 -0
  35. package/assets/Roboto_Mono/static/RobotoMono-Regular.ttf +0 -0
  36. package/assets/Roboto_Mono/static/RobotoMono-SemiBold.ttf +0 -0
  37. package/assets/Roboto_Mono/static/RobotoMono-SemiBoldItalic.ttf +0 -0
  38. package/assets/Roboto_Mono/static/RobotoMono-Thin.ttf +0 -0
  39. package/assets/Roboto_Mono/static/RobotoMono-ThinItalic.ttf +0 -0
  40. package/build.app.config.ts +19 -0
  41. package/build.lib.config.ts +7 -0
  42. package/build.server.tsconfig.json +12 -0
  43. package/clusters-config.json.example +18 -0
  44. package/deploy/.tvm.json.dev-example +25 -0
  45. package/deploy/nginx/includes/yqlkit.conf +23 -0
  46. package/deploy/nginx/nginx.conf +49 -0
  47. package/deploy/nginx/sites-enabled/app.conf +42 -0
  48. package/deploy/nginx/yt.development.conf.example +56 -0
  49. package/deploy/scripts/preflight.sh +14 -0
  50. package/deploy/supervisor/conf.d/app.conf +43 -0
  51. package/deploy/supervisor/supervisord.conf +28 -0
  52. package/img/cluster-2x.svg +6 -0
  53. package/img/cluster.svg +6 -0
  54. package/img/favicon.png +0 -0
  55. package/img/favicon.svg +8 -0
  56. package/img/placeholder.svg +2 -0
  57. package/img/svg/YT-login-page-background-dark.svg +19 -0
  58. package/img/svg/YT-login-page-background-light.svg +19 -0
  59. package/img/svg/YTsaurus-logo-dark.svg +4 -0
  60. package/img/svg/YTsaurus-logo-light.svg +4 -0
  61. package/img/svg/appLogo.svg +5 -0
  62. package/img/svg/calendar.svg +1 -0
  63. package/img/svg/chevron-right.svg +3 -0
  64. package/img/svg/chevron.svg +3 -0
  65. package/img/svg/close-icon.svg +5 -0
  66. package/img/svg/close-tag-icon.svg +4 -0
  67. package/img/svg/data-icon.svg +4 -0
  68. package/img/svg/ellipsis.svg +3 -0
  69. package/img/svg/empty.svg +2 -0
  70. package/img/svg/icons/acl-namespace-map.svg +4 -0
  71. package/img/svg/icons/acl-namespace.svg +5 -0
  72. package/img/svg/icons/acl-object.svg +6 -0
  73. package/img/svg/icons/angle-double-left.svg +3 -0
  74. package/img/svg/icons/angle-double-right.svg +3 -0
  75. package/img/svg/icons/angle-down.svg +3 -0
  76. package/img/svg/icons/angle-left.svg +3 -0
  77. package/img/svg/icons/angle-right.svg +3 -0
  78. package/img/svg/icons/angle-up.svg +3 -0
  79. package/img/svg/icons/arrow-from-bottm.svg +3 -0
  80. package/img/svg/icons/arrow-from-bottom.svg +3 -0
  81. package/img/svg/icons/arrow-from-top.svg +3 -0
  82. package/img/svg/icons/arrow-right-from-square.svg +3 -0
  83. package/img/svg/icons/arrow-to-bottm.svg +3 -0
  84. package/img/svg/icons/arrow-to-bottom.svg +3 -0
  85. package/img/svg/icons/arrow-to-top.svg +3 -0
  86. package/img/svg/icons/at.svg +3 -0
  87. package/img/svg/icons/ban.svg +3 -0
  88. package/img/svg/icons/book.svg +3 -0
  89. package/img/svg/icons/calendar-alt.svg +3 -0
  90. package/img/svg/icons/chart-bar.svg +3 -0
  91. package/img/svg/icons/chart-line.svg +3 -0
  92. package/img/svg/icons/chart_line.svg +3 -0
  93. package/img/svg/icons/check-circle.svg +3 -0
  94. package/img/svg/icons/check.svg +3 -0
  95. package/img/svg/icons/chevron-down.svg +3 -0
  96. package/img/svg/icons/chevron-up.svg +3 -0
  97. package/img/svg/icons/circle.svg +3 -0
  98. package/img/svg/icons/clipboard-list.svg +3 -0
  99. package/img/svg/icons/clock.svg +3 -0
  100. package/img/svg/icons/clone.svg +3 -0
  101. package/img/svg/icons/cloud.svg +3 -0
  102. package/img/svg/icons/code-branch.svg +3 -0
  103. package/img/svg/icons/code-merge.svg +3 -0
  104. package/img/svg/icons/cog.svg +10 -0
  105. package/img/svg/icons/cogs.svg +10 -0
  106. package/img/svg/icons/compress.svg +3 -0
  107. package/img/svg/icons/copy.svg +3 -0
  108. package/img/svg/icons/digging.svg +3 -0
  109. package/img/svg/icons/download.svg +3 -0
  110. package/img/svg/icons/dyn-th.svg +4 -0
  111. package/img/svg/icons/ellipsis-h.svg +3 -0
  112. package/img/svg/icons/eraser.svg +3 -0
  113. package/img/svg/icons/exclamation-circle.svg +3 -0
  114. package/img/svg/icons/exclamation-triangle.svg +3 -0
  115. package/img/svg/icons/exclamation.svg +3 -0
  116. package/img/svg/icons/expand.svg +3 -0
  117. package/img/svg/icons/external-link.svg +3 -0
  118. package/img/svg/icons/eye-slash.svg +3 -0
  119. package/img/svg/icons/eye.svg +3 -0
  120. package/img/svg/icons/file-alt.svg +3 -0
  121. package/img/svg/icons/file-export.svg +3 -0
  122. package/img/svg/icons/file.svg +3 -0
  123. package/img/svg/icons/filter.svg +3 -0
  124. package/img/svg/icons/fire.svg +3 -0
  125. package/img/svg/icons/folder-open.svg +3 -0
  126. package/img/svg/icons/folder-tree.svg +3 -0
  127. package/img/svg/icons/folder.svg +3 -0
  128. package/img/svg/icons/folders.svg +3 -0
  129. package/img/svg/icons/ghost.svg +3 -0
  130. package/img/svg/icons/hand-paper.svg +3 -0
  131. package/img/svg/icons/hashtag.svg +3 -0
  132. package/img/svg/icons/intersection.svg +3 -0
  133. package/img/svg/icons/key.svg +3 -0
  134. package/img/svg/icons/level-down-alt.svg +4 -0
  135. package/img/svg/icons/link.svg +3 -0
  136. package/img/svg/icons/list.svg +3 -0
  137. package/img/svg/icons/not-suported.svg +5 -0
  138. package/img/svg/icons/pause-circle.svg +3 -0
  139. package/img/svg/icons/pencil-alt.svg +3 -0
  140. package/img/svg/icons/pencil.svg +3 -0
  141. package/img/svg/icons/plane.svg +4 -0
  142. package/img/svg/icons/play-circle.svg +3 -0
  143. package/img/svg/icons/plus.svg +3 -0
  144. package/img/svg/icons/poll-people.svg +3 -0
  145. package/img/svg/icons/question-circle.svg +3 -0
  146. package/img/svg/icons/redo.svg +3 -0
  147. package/img/svg/icons/rocket.svg +3 -0
  148. package/img/svg/icons/save.svg +3 -0
  149. package/img/svg/icons/share.svg +3 -0
  150. package/img/svg/icons/snowflake.svg +3 -0
  151. package/img/svg/icons/sort-alt.svg +3 -0
  152. package/img/svg/icons/sort-amount-down-alt.svg +3 -0
  153. package/img/svg/icons/sort-amount-up.svg +3 -0
  154. package/img/svg/icons/sort-down.svg +3 -0
  155. package/img/svg/icons/sort-up.svg +3 -0
  156. package/img/svg/icons/sort.svg +3 -0
  157. package/img/svg/icons/square-semifill.svg +3 -0
  158. package/img/svg/icons/square.svg +3 -0
  159. package/img/svg/icons/star-alt.svg +3 -0
  160. package/img/svg/icons/star.svg +3 -0
  161. package/img/svg/icons/stop-circle.svg +3 -0
  162. package/img/svg/icons/sync-alt.svg +3 -0
  163. package/img/svg/icons/table.svg +3 -0
  164. package/img/svg/icons/tag.svg +11 -0
  165. package/img/svg/icons/tasks.svg +8 -0
  166. package/img/svg/icons/th.svg +3 -0
  167. package/img/svg/icons/times.svg +3 -0
  168. package/img/svg/icons/transpose.svg +3 -0
  169. package/img/svg/icons/trash-alt.svg +3 -0
  170. package/img/svg/icons/trash.svg +3 -0
  171. package/img/svg/icons/triangle.svg +3 -0
  172. package/img/svg/icons/undo.svg +3 -0
  173. package/img/svg/icons/union.svg +3 -0
  174. package/img/svg/icons/unlink.svg +3 -0
  175. package/img/svg/icons/upload.svg +3 -0
  176. package/img/svg/icons/user.svg +3 -0
  177. package/img/svg/icons/weight-hanging.svg +3 -0
  178. package/img/svg/icons/window-maximize.svg +3 -0
  179. package/img/svg/info-icon.svg +4 -0
  180. package/img/svg/info-icon2.svg +3 -0
  181. package/img/svg/jupyter-logo.svg +21 -0
  182. package/img/svg/modal-no-content.svg +32 -0
  183. package/img/svg/no-content.svg +71 -0
  184. package/img/svg/page-accounts.svg +8 -0
  185. package/img/svg/page-components.svg +6 -0
  186. package/img/svg/page-dashboard.svg +4 -0
  187. package/img/svg/page-groups.svg +8 -0
  188. package/img/svg/page-navigation.svg +3 -0
  189. package/img/svg/page-no-icon.svg +2 -0
  190. package/img/svg/page-operations.svg +8 -0
  191. package/img/svg/page-path-viewer.svg +6 -0
  192. package/img/svg/page-query-tracker.svg +5 -0
  193. package/img/svg/page-scheduling.svg +6 -0
  194. package/img/svg/page-system.svg +6 -0
  195. package/img/svg/page-tablet-cell-bundles.svg +6 -0
  196. package/img/svg/page-users.svg +7 -0
  197. package/img/svg/page-versions.svg +9 -0
  198. package/img/svg/palette-icon.svg +3 -0
  199. package/img/svg/pin-solid.svg +3 -0
  200. package/img/svg/pin.svg +3 -0
  201. package/img/svg/play.svg +3 -0
  202. package/img/svg/read-only-icon.svg +5 -0
  203. package/img/svg/remove.svg +4 -0
  204. package/img/svg/reset-icon.svg +3 -0
  205. package/img/svg/settings-2.svg +3 -0
  206. package/img/svg/settings.svg +3 -0
  207. package/img/svg/shield-icon.svg +4 -0
  208. package/img/svg/staff-icon.svg +4 -0
  209. package/img/svg/table-icon.svg +4 -0
  210. package/img/svg/tools-icon.svg +6 -0
  211. package/img/svg/tooltip-icon.svg +4 -0
  212. package/img/svg/warmup-icon.svg +5 -0
  213. package/img/svg/yt.svg +4 -0
  214. package/img/ui-2x.jpg +0 -0
  215. package/img/ui-big.jpg +0 -0
  216. package/img/ui.jpg +0 -0
  217. package/img/unknown-2x.png +0 -0
  218. package/img/unknown.png +0 -0
  219. package/img/user-avatar.svg +6 -0
  220. package/jest.config.js +40 -0
  221. package/package.json +171 -0
  222. package/scripts/changelog.js +62 -0
  223. package/scripts/check-file-names-for-js-duplicates.sh +31 -0
  224. package/scripts/check-start-files.sh +10 -0
  225. package/scripts/dev.localmode-env.sh +25 -0
  226. package/scripts/notify.js +40 -0
  227. package/scripts/yaml-cli.js +54 -0
  228. package/src/.eslintrc +9 -0
  229. package/src/@types/.eslintrc +3 -0
  230. package/src/@types/core.d.ts +119 -0
  231. package/src/@types/types.d.ts +26 -0
  232. package/src/server/.arcignore +9 -0
  233. package/src/server/.eslintrc +3 -0
  234. package/src/server/ServerFactory.ts +61 -0
  235. package/src/server/components/cluster-params.ts +184 -0
  236. package/src/server/components/cluster-queries.ts +150 -0
  237. package/src/server/components/layout-config.ts +67 -0
  238. package/src/server/components/requestsSetup.ts +105 -0
  239. package/src/server/components/settings.ts +128 -0
  240. package/src/server/components/table.ts +85 -0
  241. package/src/server/components/utils.ts +65 -0
  242. package/src/server/config.localcluster.ts +48 -0
  243. package/src/server/config.realcluster.ts +23 -0
  244. package/src/server/configure-app.ts +21 -0
  245. package/src/server/controllers/cluster-info.ts +23 -0
  246. package/src/server/controllers/cluster-params.ts +14 -0
  247. package/src/server/controllers/clusters.ts +13 -0
  248. package/src/server/controllers/home.ts +98 -0
  249. package/src/server/controllers/login.ts +154 -0
  250. package/src/server/controllers/ping.ts +5 -0
  251. package/src/server/controllers/remote-copy.ts +115 -0
  252. package/src/server/controllers/scheduling-pools.ts +88 -0
  253. package/src/server/controllers/settings.ts +59 -0
  254. package/src/server/controllers/table-column-preset.ts +50 -0
  255. package/src/server/controllers/yt-api.ts +141 -0
  256. package/src/server/controllers/yt-proxy-api.ts +61 -0
  257. package/src/server/index.ts +44 -0
  258. package/src/server/lib.ts +2 -0
  259. package/src/server/middlewares/yt-auth.ts +50 -0
  260. package/src/server/render-layout.ts +19 -0
  261. package/src/server/routes.ts +62 -0
  262. package/src/server/tsconfig.json +14 -0
  263. package/src/server/utils/auto-updated-cache.spec.ts +409 -0
  264. package/src/server/utils/auto-updated-cache.ts +43 -0
  265. package/src/server/utils/default-settings.ts +101 -0
  266. package/src/server/utils/index.ts +191 -0
  267. package/src/shared/.eslintrc +6 -0
  268. package/src/shared/constants/index.ts +3 -0
  269. package/src/shared/constants/settings-ts.ts +15 -0
  270. package/src/shared/constants/settings-types.ts +93 -0
  271. package/src/shared/constants/settings.ts +147 -0
  272. package/src/shared/lib.ts +2 -0
  273. package/src/shared/ui-settings.ts +36 -0
  274. package/src/shared/utils/check-is-developer.ts +61 -0
  275. package/src/shared/utils/index.ts +50 -0
  276. package/src/shared/utils/settings.ts +36 -0
  277. package/src/shared/yt-types.ts +162 -0
  278. package/src/ui/.eslintrc +3 -0
  279. package/src/ui/@types/worker.d.ts +7 -0
  280. package/src/ui/UIFactory.tsx +536 -0
  281. package/src/ui/appearance.ts +34 -0
  282. package/src/ui/common/.eslintrc +22 -0
  283. package/src/ui/common/__mocks__/hammer.js +7 -0
  284. package/src/ui/common/hammer/.eslintrc.json +6 -0
  285. package/src/ui/common/hammer/aggregation.js +138 -0
  286. package/src/ui/common/hammer/aggregation.spec.js +303 -0
  287. package/src/ui/common/hammer/filter.js +176 -0
  288. package/src/ui/common/hammer/format.js +136 -0
  289. package/src/ui/common/hammer/guid.js +10 -0
  290. package/src/ui/common/hammer/predicate.spec.js +239 -0
  291. package/src/ui/common/hammer/predicate.ts +109 -0
  292. package/src/ui/common/hammer/stat.js +290 -0
  293. package/src/ui/common/hammer/storage.js +19 -0
  294. package/src/ui/common/hammer/tables-utils.js +11 -0
  295. package/src/ui/common/hammer/tables.js +331 -0
  296. package/src/ui/common/hammer/tables.spec.js +487 -0
  297. package/src/ui/common/hammer/tree-list.spec.js +585 -0
  298. package/src/ui/common/hammer/tree-list.ts +255 -0
  299. package/src/ui/common/hammer/utils.js +254 -0
  300. package/src/ui/common/hammer/utils.spec.js +25 -0
  301. package/src/ui/common/hammer.js +29 -0
  302. package/src/ui/common/thor/unipika.ts +67 -0
  303. package/src/ui/common/thor/ypath.js +87 -0
  304. package/src/ui/common/thor/ypath.spec.js +88 -0
  305. package/src/ui/common/utils/metrics.ts +112 -0
  306. package/src/ui/common/utils/redux.js +4 -0
  307. package/src/ui/common/utils/settings-local-provider.ts +40 -0
  308. package/src/ui/common/utils/settings-remote-provider.ts +72 -0
  309. package/src/ui/common/utils/url-encoder.js +19 -0
  310. package/src/ui/common/utils/url-ts.ts +24 -0
  311. package/src/ui/common/utils/url.js +9 -0
  312. package/src/ui/common/yt-api-init.ts +73 -0
  313. package/src/ui/components/ACL/ACL-connect-helpers.js +180 -0
  314. package/src/ui/components/ACL/ACL.js +806 -0
  315. package/src/ui/components/ACL/ACL.scss +217 -0
  316. package/src/ui/components/ACL/AclColumn.js +45 -0
  317. package/src/ui/components/ACL/AclColumn.scss +9 -0
  318. package/src/ui/components/ACL/ColumnGroups/ColumnGroups.scss +48 -0
  319. package/src/ui/components/ACL/ColumnGroups/ColumnGroups.tsx +193 -0
  320. package/src/ui/components/ACL/ColumnGroups/EditColumnGroupModal.tsx +97 -0
  321. package/src/ui/components/ACL/DeletePermissionModal/DeletePermissionModal.js +130 -0
  322. package/src/ui/components/ACL/DeletePermissionModal/DeletePermissionModal.scss +31 -0
  323. package/src/ui/components/ACL/ManageAcl/ManageAcl.js +222 -0
  324. package/src/ui/components/ACL/ManageAcl/ManageAcl.scss +31 -0
  325. package/src/ui/components/ACL/RequestPermissions/PermissionsControl/PermissionsControl.scss +16 -0
  326. package/src/ui/components/ACL/RequestPermissions/PermissionsControl/PermissionsControl.tsx +90 -0
  327. package/src/ui/components/ACL/RequestPermissions/RequestPermissions.js +192 -0
  328. package/src/ui/components/ACL/RequestPermissions/RequestPermissions.scss +61 -0
  329. package/src/ui/components/ACL/SubjectsControl/SubjectsControl.tsx +32 -0
  330. package/src/ui/components/ACL/UserPermissions/UserPermissions.js +219 -0
  331. package/src/ui/components/ACL/UserPermissions/UserPermissions.scss +58 -0
  332. package/src/ui/components/AclUpdateMessage/AclUpdateMessage.scss +12 -0
  333. package/src/ui/components/AclUpdateMessage/AclUpdateMessage.tsx +56 -0
  334. package/src/ui/components/Alert/Alert.js +19 -0
  335. package/src/ui/components/Alert/Alert.scss +7 -0
  336. package/src/ui/components/AttributesButton/AttributesButton.tsx +21 -0
  337. package/src/ui/components/AttributesButton/ClickableAttributesButton.tsx +63 -0
  338. package/src/ui/components/AttributesModal/AttributesModal.js +80 -0
  339. package/src/ui/components/Block/Block.js +142 -0
  340. package/src/ui/components/Block/Block.scss +61 -0
  341. package/src/ui/components/BundleMetaResourceProgress/BundleMetaResourceProgress.scss +21 -0
  342. package/src/ui/components/BundleMetaResourceProgress/BundleMetaResourceProgress.tsx +85 -0
  343. package/src/ui/components/Button/Button.tsx +68 -0
  344. package/src/ui/components/ChartLink/ChartLink.tsx +41 -0
  345. package/src/ui/components/ClipboardButton/ClipboardButton.js +152 -0
  346. package/src/ui/components/ClipboardButton/ClipboardButton.scss +19 -0
  347. package/src/ui/components/ClusterIcon/ClusterIcon.scss +33 -0
  348. package/src/ui/components/ClusterIcon/ClusterIcon.tsx +42 -0
  349. package/src/ui/components/CollapsableText/CollapsableText.js +107 -0
  350. package/src/ui/components/CollapsableText/CollapsableText.scss +5 -0
  351. package/src/ui/components/CollapsibleList/CollapsibleList.js +31 -0
  352. package/src/ui/components/CollapsibleList/CollapsibleList.scss +11 -0
  353. package/src/ui/components/CollapsibleSection/CollapsibleSection.scss +20 -0
  354. package/src/ui/components/CollapsibleSection/CollapsibleSection.tsx +96 -0
  355. package/src/ui/components/CollapsibleTable/CollapsibleTable.js +47 -0
  356. package/src/ui/components/CollapsibleTable/CollapsibleTable.scss +10 -0
  357. package/src/ui/components/ColumnHeader/ColumnHeader.scss +34 -0
  358. package/src/ui/components/ColumnHeader/ColumnHeader.tsx +102 -0
  359. package/src/ui/components/ColumnSelector/ColumnSelector.js +434 -0
  360. package/src/ui/components/ColumnSelector/ColumnSelector.scss +192 -0
  361. package/src/ui/components/ColumnSelector/constants.scss +2 -0
  362. package/src/ui/components/ColumnSelectorModal/ColumnSelectorModal.js +250 -0
  363. package/src/ui/components/ColumnSelectorModal/ColumnSelectorModal.scss +36 -0
  364. package/src/ui/components/CommaSeparateListWithRestCounter/CommaSeparateListWithRestCounter.js +248 -0
  365. package/src/ui/components/CommaSeparateListWithRestCounter/CommaSeparateListWithRestCounter.scss +46 -0
  366. package/src/ui/components/ConfirmInput/ConfirmInput.js +68 -0
  367. package/src/ui/components/ConfirmInput/ConfirmInput.scss +6 -0
  368. package/src/ui/components/DataTableYT/DataTableYT.scss +90 -0
  369. package/src/ui/components/DataTableYT/DataTableYT.tsx +114 -0
  370. package/src/ui/components/Dialog/Dialog.scss +17 -0
  371. package/src/ui/components/Dialog/Dialog.tsx +209 -0
  372. package/src/ui/components/Dialog/Dialog.types.ts +7 -0
  373. package/src/ui/components/Dialog/controls/AbcControl/AbcControl.tsx +18 -0
  374. package/src/ui/components/Dialog/controls/BytesControl.scss +5 -0
  375. package/src/ui/components/Dialog/controls/BytesControl.tsx +66 -0
  376. package/src/ui/components/Dialog/controls/ClusterSelectControl/ClusterSelectControl.scss +14 -0
  377. package/src/ui/components/Dialog/controls/ClusterSelectControl/ClusterSelectControl.tsx +93 -0
  378. package/src/ui/components/Dialog/controls/EditablePathList/EditablePathList.scss +5 -0
  379. package/src/ui/components/Dialog/controls/EditablePathList/EditablePathList.tsx +70 -0
  380. package/src/ui/components/Dialog/controls/PathEditorControl/PathEditorControl.scss +2 -0
  381. package/src/ui/components/Dialog/controls/PathEditorControl/PathEditorControl.tsx +41 -0
  382. package/src/ui/components/Dialog/controls/PoolSuggestControl/PoolSuggestControl.scss +16 -0
  383. package/src/ui/components/Dialog/controls/PoolSuggestControl/PoolSuggestControl.tsx +126 -0
  384. package/src/ui/components/Dialog/controls/PoolTreeSuggestControl/PoolTreeSuggestControl.tsx +39 -0
  385. package/src/ui/components/Dialog/controls/RoleListControl/RoleListControl.scss +20 -0
  386. package/src/ui/components/Dialog/controls/RoleListControl/RoleListControl.tsx +214 -0
  387. package/src/ui/components/Dialog/controls/SelectWithSubItems/SelectWithSubItems.scss +20 -0
  388. package/src/ui/components/Dialog/controls/SelectWithSubItems/SelectWithSubItems.tsx +106 -0
  389. package/src/ui/components/Dialog/controls/SortableListControl/SortableListControl.scss +44 -0
  390. package/src/ui/components/Dialog/controls/SortableListControl/SortableListControl.tsx +97 -0
  391. package/src/ui/components/Dropdown/Dropdown.js +99 -0
  392. package/src/ui/components/EditableAsText/EditableAsText.scss +15 -0
  393. package/src/ui/components/EditableAsText/EditableAsText.tsx +112 -0
  394. package/src/ui/components/Editor/Editor.js +93 -0
  395. package/src/ui/components/ElementsTable/ElementsTable.js +544 -0
  396. package/src/ui/components/ElementsTable/ElementsTable.scss +329 -0
  397. package/src/ui/components/ElementsTable/ElementsTableFooter.js +70 -0
  398. package/src/ui/components/ElementsTable/ElementsTableHeader.tsx +351 -0
  399. package/src/ui/components/ElementsTable/ElementsTableRow.js +128 -0
  400. package/src/ui/components/ElementsTable/ElementsTableSticky.js +14 -0
  401. package/src/ui/components/ElementsTable/constants.scss +5 -0
  402. package/src/ui/components/ElementsTable/hocs/withKeyboardNavigation.js +175 -0
  403. package/src/ui/components/ElementsTable/hocs/withStickyFooter.js +43 -0
  404. package/src/ui/components/ElementsTable/hocs/withStickyHead.js +70 -0
  405. package/src/ui/components/ElementsTable/utils.js +168 -0
  406. package/src/ui/components/Error/Error.js +19 -0
  407. package/src/ui/components/Error/Error.scss +7 -0
  408. package/src/ui/components/ErrorBoundary/ErrorBoundary.js +47 -0
  409. package/src/ui/components/ErrorDetails/ErrorDetails.js +259 -0
  410. package/src/ui/components/ErrorDetails/ErrorDetails.scss +37 -0
  411. package/src/ui/components/ErrorIcon/ErrorIcon.scss +5 -0
  412. package/src/ui/components/ErrorIcon/ErrorIcon.tsx +26 -0
  413. package/src/ui/components/ErrorMessage/ErrorMessage.js +26 -0
  414. package/src/ui/components/ErrorMessage/ErrorMessage.scss +9 -0
  415. package/src/ui/components/ExpandIcon/ExpandIcon.js +40 -0
  416. package/src/ui/components/ExpandIcon/ExpandIcon.scss +12 -0
  417. package/src/ui/components/Favourites/Favourites.scss +42 -0
  418. package/src/ui/components/Favourites/Favourites.tsx +137 -0
  419. package/src/ui/components/FilePicker/FilePicker.scss +7 -0
  420. package/src/ui/components/FilePicker/FilePicker.tsx +45 -0
  421. package/src/ui/components/Filter/Filter.tsx +187 -0
  422. package/src/ui/components/Filter/FilterWithRegExp.scss +14 -0
  423. package/src/ui/components/Filter/FilterWithRegExp.tsx +128 -0
  424. package/src/ui/components/FlexSplitPane/FlexSplitPane.js +146 -0
  425. package/src/ui/components/FlexSplitPane/FlexSplitPane.scss +73 -0
  426. package/src/ui/components/FullScreen/FullScreen.js +56 -0
  427. package/src/ui/components/HelpLink/HelpLink.scss +5 -0
  428. package/src/ui/components/HelpLink/HelpLink.tsx +38 -0
  429. package/src/ui/components/HighlightedText/HighlightedText.tsx +82 -0
  430. package/src/ui/components/Histogram/Histogram.js +157 -0
  431. package/src/ui/components/Histogram/Histogram.scss +54 -0
  432. package/src/ui/components/Histogram/HistogramChart.tsx +261 -0
  433. package/src/ui/components/Hotkey/Hotkey.tsx +111 -0
  434. package/src/ui/components/Icon/Icon.scss +63 -0
  435. package/src/ui/components/Icon/Icon.tsx +73 -0
  436. package/src/ui/components/Icon/icons-table.md +108 -0
  437. package/src/ui/components/Icon/importGravityIcons.ts +10 -0
  438. package/src/ui/components/Icon/importIcons.ts +212 -0
  439. package/src/ui/components/Info/Info.scss +23 -0
  440. package/src/ui/components/Info/Info.tsx +24 -0
  441. package/src/ui/components/Label/Label.scss +80 -0
  442. package/src/ui/components/Label/Label.tsx +56 -0
  443. package/src/ui/components/LabelsGroup/LabelsGroup.js +86 -0
  444. package/src/ui/components/LabelsGroup/LabelsGroup.scss +53 -0
  445. package/src/ui/components/Link/Link.tsx +69 -0
  446. package/src/ui/components/Linkify/Linkify.tsx +47 -0
  447. package/src/ui/components/LoadDataHandler/LoadDataHandler.tsx +52 -0
  448. package/src/ui/components/Loader/Loader.scss +4 -0
  449. package/src/ui/components/Loader/Loader.tsx +12 -0
  450. package/src/ui/components/Login/ChangePasswordFormPage/ChangePasswordFormPage.tsx +177 -0
  451. package/src/ui/components/Login/LoginFormPage/LoginFormPage.tsx +140 -0
  452. package/src/ui/components/Login/LoginPageWrapper/LoginPageWrapper.scss +154 -0
  453. package/src/ui/components/Login/LoginPageWrapper/LoginPageWrapper.tsx +31 -0
  454. package/src/ui/components/Login/LoginPageWrapper/login-page-theme-dark.scss +8 -0
  455. package/src/ui/components/Login/LoginPageWrapper/login-page-theme-light.scss +8 -0
  456. package/src/ui/components/Markdown/Markdown.scss +10 -0
  457. package/src/ui/components/Markdown/Markdown.tsx +26 -0
  458. package/src/ui/components/MarkdownLinePreview/MarkdownLinePreview.scss +11 -0
  459. package/src/ui/components/MarkdownLinePreview/MarkdownLinePreview.tsx +64 -0
  460. package/src/ui/components/Message/Message.js +63 -0
  461. package/src/ui/components/MetaTable/MetaTable.scss +63 -0
  462. package/src/ui/components/MetaTable/MetaTable.tsx +127 -0
  463. package/src/ui/components/MetaTable/presets/compression.js +20 -0
  464. package/src/ui/components/MetaTable/presets/erasure-replication.js +25 -0
  465. package/src/ui/components/MetaTable/presets/index.js +4 -0
  466. package/src/ui/components/MetaTable/presets/main.js +57 -0
  467. package/src/ui/components/MetaTable/presets/presets.tsx +15 -0
  468. package/src/ui/components/MetaTable/presets/size.js +59 -0
  469. package/src/ui/components/MetaTable/templates/OperationTemplate.js +235 -0
  470. package/src/ui/components/MetaTable/templates/Template.js +220 -0
  471. package/src/ui/components/Modal/Modal.scss +34 -0
  472. package/src/ui/components/Modal/Modal.tsx +153 -0
  473. package/src/ui/components/Modal/SimpleModal.tsx +86 -0
  474. package/src/ui/components/MonacoEditor/MonacoEditor.scss +11 -0
  475. package/src/ui/components/MonacoEditor/MonacoEditor.tsx +121 -0
  476. package/src/ui/components/MonacoEditor/MonacoEditorThemes.tsx +32 -0
  477. package/src/ui/components/MultiSubjectsHelper/MultiSubjectsHelper.scss +17 -0
  478. package/src/ui/components/MultiSubjectsHelper/MultiSubjectsHelper.tsx +99 -0
  479. package/src/ui/components/Multimeter/BarChart.scss +12 -0
  480. package/src/ui/components/Multimeter/BarChart.tsx +43 -0
  481. package/src/ui/components/Multimeter/Multimeter.scss +17 -0
  482. package/src/ui/components/Multimeter/Multimeter.tsx +43 -0
  483. package/src/ui/components/NoContent/NoContent.scss +18 -0
  484. package/src/ui/components/NoContent/NoContent.tsx +25 -0
  485. package/src/ui/components/NoItemsMessage/NoItemsMessage.js +20 -0
  486. package/src/ui/components/NoItemsMessage/NoItemsMessage.scss +9 -0
  487. package/src/ui/components/NumberInput/NumberInput.scss +9 -0
  488. package/src/ui/components/NumberInput/NumberInput.tsx +289 -0
  489. package/src/ui/components/PageCounter/PageCounter.tsx +24 -0
  490. package/src/ui/components/PageHead/PageHead.tsx +31 -0
  491. package/src/ui/components/Pagination/Pagination.js +123 -0
  492. package/src/ui/components/Pagination/Pagination.scss +18 -0
  493. package/src/ui/components/Pagination/SimplePagination.tsx +61 -0
  494. package/src/ui/components/PreloaderErrors/ConnectionErrorRegion.js +116 -0
  495. package/src/ui/components/PreloaderErrors/GeneralErrorRegion.js +51 -0
  496. package/src/ui/components/QuotaEditor/QuotaEditor.scss +32 -0
  497. package/src/ui/components/QuotaEditor/QuotaEditor.tsx +222 -0
  498. package/src/ui/components/QuotaEditor/QuotaEditorWithHide.scss +78 -0
  499. package/src/ui/components/QuotaEditor/QuotaEditorWithHide.tsx +195 -0
  500. package/src/ui/components/RadioButton/RadioButton.tsx +52 -0
  501. package/src/ui/components/Radiobox/Radiobox.scss +15 -0
  502. package/src/ui/components/Radiobox/Radiobox.tsx +35 -0
  503. package/src/ui/components/SchemaDataType/DataType/DataType.js +83 -0
  504. package/src/ui/components/SchemaDataType/DataType/DataType.scss +69 -0
  505. package/src/ui/components/SchemaDataType/SchemaDataType.tsx +137 -0
  506. package/src/ui/components/SchemaDataType/dataTypes.ts +394 -0
  507. package/src/ui/components/Select/Select.scss +80 -0
  508. package/src/ui/components/Select/Select.tsx +303 -0
  509. package/src/ui/components/SortIcon/SortIcon.scss +7 -0
  510. package/src/ui/components/SortIcon/SortIcon.tsx +55 -0
  511. package/src/ui/components/StarTrackLink/StarTrackLink.tsx +19 -0
  512. package/src/ui/components/StatusBlock/StatusBlock.js +34 -0
  513. package/src/ui/components/StatusBlock/StatusBlock.scss +39 -0
  514. package/src/ui/components/StatusBulb/StatusBulb.scss +22 -0
  515. package/src/ui/components/StatusBulb/StatusBulb.tsx +22 -0
  516. package/src/ui/components/StatusLabel/StatusLabel.js +90 -0
  517. package/src/ui/components/StatusLabel/StatusLabel.scss +62 -0
  518. package/src/ui/components/Suggest/Suggest.scss +52 -0
  519. package/src/ui/components/Suggest/Suggest.tsx +449 -0
  520. package/src/ui/components/Support/Support.scss +31 -0
  521. package/src/ui/components/Support/Support.tsx +54 -0
  522. package/src/ui/components/Tabs/Tabs.js +184 -0
  523. package/src/ui/components/Tabs/Tabs.scss +139 -0
  524. package/src/ui/components/Tabs/__mocks__/Tabs.js +5 -0
  525. package/src/ui/components/Tag/Tag.scss +24 -0
  526. package/src/ui/components/Tag/Tag.tsx +30 -0
  527. package/src/ui/components/TagSelector/TagSelector.scss +2 -0
  528. package/src/ui/components/TagSelector/TagSelector.tsx +51 -0
  529. package/src/ui/components/Text/Text.scss +21 -0
  530. package/src/ui/components/Text/Text.tsx +35 -0
  531. package/src/ui/components/TextInputWithDebounce/TextInputWithDebounce.tsx +70 -0
  532. package/src/ui/components/TimeInput/TimeInput.tsx +58 -0
  533. package/src/ui/components/TimePicker/TimePicker.js +124 -0
  534. package/src/ui/components/TimePicker/TimePicker.scss +11 -0
  535. package/src/ui/components/Tooltip/Tooltip.scss +8 -0
  536. package/src/ui/components/Tooltip/Tooltip.tsx +44 -0
  537. package/src/ui/components/UserLink/UserLink.scss +18 -0
  538. package/src/ui/components/UserLink/UserLink.tsx +52 -0
  539. package/src/ui/components/WarningIcon/WarningIcon.scss +19 -0
  540. package/src/ui/components/WarningIcon/WarningIcon.tsx +25 -0
  541. package/src/ui/components/WithStickyToolbar/Toolbar/Toolbar.scss +31 -0
  542. package/src/ui/components/WithStickyToolbar/Toolbar/Toolbar.tsx +58 -0
  543. package/src/ui/components/WithStickyToolbar/WithStickyToolbar.scss +40 -0
  544. package/src/ui/components/WithStickyToolbar/WithStickyToolbar.tsx +92 -0
  545. package/src/ui/components/YTHistogram/YTHistogram.scss +4 -0
  546. package/src/ui/components/YTHistogram/YTHistogram.tsx +162 -0
  547. package/src/ui/components/YagrChartKit/YagrChartKit.tsx +15 -0
  548. package/src/ui/components/YqlValue/YqlValue.js +73 -0
  549. package/src/ui/components/Yson/StructuredYson/StructuredYsonTypes.ts +55 -0
  550. package/src/ui/components/Yson/StructuredYson/flattenUnipika.spec.ts +2215 -0
  551. package/src/ui/components/Yson/StructuredYson/flattenUnipika.ts +504 -0
  552. package/src/ui/components/Yson/StructuredYsonVirtualized/StructuredYsonVirtualized.scss +96 -0
  553. package/src/ui/components/Yson/StructuredYsonVirtualized/StructuredYsonVirtualized.tsx +665 -0
  554. package/src/ui/components/Yson/Yson.tsx +173 -0
  555. package/src/ui/components/action/action.js +70 -0
  556. package/src/ui/components/common/BeforeDatePicker/BeforeDatePicker.scss +12 -0
  557. package/src/ui/components/common/BeforeDatePicker/BeforeDatePicker.tsx +206 -0
  558. package/src/ui/components/common/ColumnSelector/ColumnSelector.scss +15 -0
  559. package/src/ui/components/common/ColumnSelector/ColumnSelector.tsx +138 -0
  560. package/src/ui/components/common/ColumnSelector/i18n/en.json +6 -0
  561. package/src/ui/components/common/ColumnSelector/i18n/index.ts +12 -0
  562. package/src/ui/components/common/ColumnSelector/index.ts +1 -0
  563. package/src/ui/components/common/Datepicker/Calendar/Calendar.js +685 -0
  564. package/src/ui/components/common/Datepicker/Calendar/Calendar.scss +4 -0
  565. package/src/ui/components/common/Datepicker/Datepicker.d.ts +37 -0
  566. package/src/ui/components/common/Datepicker/Datepicker.js +572 -0
  567. package/src/ui/components/common/Datepicker/Datepicker.scss +33 -0
  568. package/src/ui/components/common/Datepicker/Month/Month.js +208 -0
  569. package/src/ui/components/common/Datepicker/Month/Month.scss +112 -0
  570. package/src/ui/components/common/Datepicker/Months/Months.js +159 -0
  571. package/src/ui/components/common/Datepicker/Months/Months.scss +75 -0
  572. package/src/ui/components/common/Datepicker/PopupContent/PopupContent.js +95 -0
  573. package/src/ui/components/common/Datepicker/PopupContent/PopupContent.scss +37 -0
  574. package/src/ui/components/common/Datepicker/Presets/Presets.js +50 -0
  575. package/src/ui/components/common/Datepicker/Presets/Presets.scss +24 -0
  576. package/src/ui/components/common/Datepicker/Quarters/Quarters.js +140 -0
  577. package/src/ui/components/common/Datepicker/Quarters/Quarters.scss +74 -0
  578. package/src/ui/components/common/Datepicker/YearSwitcher/YearSwitcher.js +63 -0
  579. package/src/ui/components/common/Datepicker/YearSwitcher/YearSwitcher.scss +45 -0
  580. package/src/ui/components/common/Datepicker/Years/Years.js +102 -0
  581. package/src/ui/components/common/Datepicker/Years/Years.scss +61 -0
  582. package/src/ui/components/common/Datepicker/constants.js +55 -0
  583. package/src/ui/components/common/Datepicker/i18n/en.json +53 -0
  584. package/src/ui/components/common/Datepicker/i18n/index.ts +12 -0
  585. package/src/ui/components/common/Datepicker/index.tsx +7 -0
  586. package/src/ui/components/common/Datepicker/readme.md +1 -0
  587. package/src/ui/components/common/Datepicker/utils.js +246 -0
  588. package/src/ui/components/common/EnterInput/EnterInput.js +76 -0
  589. package/src/ui/components/common/FieldWrapper/FieldWrapper.scss +24 -0
  590. package/src/ui/components/common/FieldWrapper/FieldWrapper.tsx +25 -0
  591. package/src/ui/components/common/FieldWrapper/index.ts +1 -0
  592. package/src/ui/components/common/ItemSelector/ItemSelector.scss +81 -0
  593. package/src/ui/components/common/ItemSelector/ItemSelector.tsx +188 -0
  594. package/src/ui/components/common/ItemSelector/i18n/en.json +7 -0
  595. package/src/ui/components/common/ItemSelector/i18n/index.ts +12 -0
  596. package/src/ui/components/common/ItemSelector/index.ts +1 -0
  597. package/src/ui/components/common/MobileModal/MobileModal.scss +98 -0
  598. package/src/ui/components/common/MobileModal/MobileModal.tsx +134 -0
  599. package/src/ui/components/common/MobileModal/ModalContent.tsx +484 -0
  600. package/src/ui/components/common/MobileModal/utils.ts +41 -0
  601. package/src/ui/components/common/README.md +1 -0
  602. package/src/ui/components/common/RangeInputPicker/RangeInputPicker.scss +187 -0
  603. package/src/ui/components/common/RangeInputPicker/RangeInputPicker.tsx +510 -0
  604. package/src/ui/components/common/RangeInputPicker/constants.ts +16 -0
  605. package/src/ui/components/common/RangeInputPicker/index.ts +1 -0
  606. package/src/ui/components/common/RangeInputPicker/utils.ts +101 -0
  607. package/src/ui/components/common/SelectControl/SelectControl.scss +99 -0
  608. package/src/ui/components/common/SelectControl/SelectControl.tsx +93 -0
  609. package/src/ui/components/common/Timeline/TimelinePicker/TimelineDatepicker.js +49 -0
  610. package/src/ui/components/common/Timeline/TimelinePicker/TimelinePicker.scss +114 -0
  611. package/src/ui/components/common/Timeline/TimelinePicker/TimelinePicker.tsx +327 -0
  612. package/src/ui/components/common/Timeline/i18n/en.json +4 -0
  613. package/src/ui/components/common/Timeline/i18n/index.ts +11 -0
  614. package/src/ui/components/common/Timeline/index.ts +13 -0
  615. package/src/ui/components/common/Timeline/util.ts +147 -0
  616. package/src/ui/components/formatters/FormattedId/FormattedId.js +34 -0
  617. package/src/ui/components/formatters/FormattedId/FormattedId.scss +21 -0
  618. package/src/ui/components/formatters/FormattedLink.js +42 -0
  619. package/src/ui/components/formatters/FormattedText.js +60 -0
  620. package/src/ui/components/formatters/FormattedTextOrLink.js +15 -0
  621. package/src/ui/components/formatters/index.js +55 -0
  622. package/src/ui/components/index.tsx +3 -0
  623. package/src/ui/components/templates/cluster-menu.js +56 -0
  624. package/src/ui/components/templates/components/components.js +59 -0
  625. package/src/ui/components/templates/components/nodes/node.js +32 -0
  626. package/src/ui/components/templates/components/nodes/nodes.tsx +52 -0
  627. package/src/ui/components/templates/components/versions.js +51 -0
  628. package/src/ui/components/templates/components.js +277 -0
  629. package/src/ui/components/templates/meta.js +40 -0
  630. package/src/ui/components/templates/operations/events.js +44 -0
  631. package/src/ui/components/templates/operations/resources.js +17 -0
  632. package/src/ui/components/templates/operations/specification.js +98 -0
  633. package/src/ui/components/templates/operations/statistics.js +86 -0
  634. package/src/ui/components/templates/operations.js +4 -0
  635. package/src/ui/components/templates/system.js +36 -0
  636. package/src/ui/components/templates/templates.js +8 -0
  637. package/src/ui/components/templates/utils.js +189 -0
  638. package/src/ui/components/templates/utils.scss +18 -0
  639. package/src/ui/config/index.ts +89 -0
  640. package/src/ui/config/yt-config.ts +31 -0
  641. package/src/ui/constants/accounts/accounts.ts +137 -0
  642. package/src/ui/constants/accounts/editor.js +19 -0
  643. package/src/ui/constants/accounts/index.ts +11 -0
  644. package/src/ui/constants/acl.ts +81 -0
  645. package/src/ui/constants/actions.js +15 -0
  646. package/src/ui/constants/cluster-menu.js +54 -0
  647. package/src/ui/constants/colors.ts +16 -0
  648. package/src/ui/constants/components/ban-unban.js +12 -0
  649. package/src/ui/constants/components/main.ts +12 -0
  650. package/src/ui/constants/components/nodes/actions/disable-enable.js +21 -0
  651. package/src/ui/constants/components/nodes/actions/set-resources-limits.js +9 -0
  652. package/src/ui/constants/components/nodes/memory.ts +5 -0
  653. package/src/ui/constants/components/nodes/node.ts +11 -0
  654. package/src/ui/constants/components/nodes/nodes.ts +51 -0
  655. package/src/ui/constants/components/proxies/actions/change-role.js +9 -0
  656. package/src/ui/constants/components/proxies/proxies.js +27 -0
  657. package/src/ui/constants/components/shards.js +10 -0
  658. package/src/ui/constants/components/versions/versions.js +45 -0
  659. package/src/ui/constants/components/versions/versions_v2.js +18 -0
  660. package/src/ui/constants/dashboard/index.js +11 -0
  661. package/src/ui/constants/docsUrls.ts +47 -0
  662. package/src/ui/constants/execute-batch.ts +2 -0
  663. package/src/ui/constants/global/index.ts +6 -0
  664. package/src/ui/constants/groups.js +13 -0
  665. package/src/ui/constants/index.ts +105 -0
  666. package/src/ui/constants/job.ts +40 -0
  667. package/src/ui/constants/modals/attributes-modal.js +7 -0
  668. package/src/ui/constants/modals/errors.js +2 -0
  669. package/src/ui/constants/navigation/content/document.js +7 -0
  670. package/src/ui/constants/navigation/content/file.js +8 -0
  671. package/src/ui/constants/navigation/content/replicated-table.ts +4 -0
  672. package/src/ui/constants/navigation/content/table.js +44 -0
  673. package/src/ui/constants/navigation/content/transaction-map.js +10 -0
  674. package/src/ui/constants/navigation/content/transaction.js +7 -0
  675. package/src/ui/constants/navigation/index.ts +46 -0
  676. package/src/ui/constants/navigation/modals/attributes-editor.ts +4 -0
  677. package/src/ui/constants/navigation/modals/copy-object.js +8 -0
  678. package/src/ui/constants/navigation/modals/create-directory.js +10 -0
  679. package/src/ui/constants/navigation/modals/create-table.ts +41 -0
  680. package/src/ui/constants/navigation/modals/delete-object.js +12 -0
  681. package/src/ui/constants/navigation/modals/dyn-tables-state-modal.ts +1 -0
  682. package/src/ui/constants/navigation/modals/index.ts +2 -0
  683. package/src/ui/constants/navigation/modals/move-object.js +8 -0
  684. package/src/ui/constants/navigation/modals/path-editing-popup.js +28 -0
  685. package/src/ui/constants/navigation/modals/restore-object.js +10 -0
  686. package/src/ui/constants/navigation/modals/table-erase-modal.ts +1 -0
  687. package/src/ui/constants/navigation/modals/table-sort-modal.ts +1 -0
  688. package/src/ui/constants/navigation/path-editor.js +6 -0
  689. package/src/ui/constants/navigation/tabs/access-log.ts +9 -0
  690. package/src/ui/constants/navigation/tabs/annotation.js +7 -0
  691. package/src/ui/constants/navigation/tabs/consumer.ts +23 -0
  692. package/src/ui/constants/navigation/tabs/locks.js +9 -0
  693. package/src/ui/constants/navigation/tabs/queue.ts +24 -0
  694. package/src/ui/constants/navigation/tabs/schema.js +7 -0
  695. package/src/ui/constants/navigation/tabs/tablet-errors.ts +8 -0
  696. package/src/ui/constants/navigation/tabs/tablets.js +13 -0
  697. package/src/ui/constants/navigation/tabs/user-attributes.js +7 -0
  698. package/src/ui/constants/operations/detail.ts +23 -0
  699. package/src/ui/constants/operations/index.ts +15 -0
  700. package/src/ui/constants/operations/jobs.js +17 -0
  701. package/src/ui/constants/operations/list.ts +52 -0
  702. package/src/ui/constants/operations/statistics.ts +22 -0
  703. package/src/ui/constants/path-viewer.js +13 -0
  704. package/src/ui/constants/scheduling/index.ts +55 -0
  705. package/src/ui/constants/slideoutMenu.ts +49 -0
  706. package/src/ui/constants/suggests.ts +3 -0
  707. package/src/ui/constants/system/masters.js +11 -0
  708. package/src/ui/constants/system/nodes.js +20 -0
  709. package/src/ui/constants/system/schedulers.js +5 -0
  710. package/src/ui/constants/tables.js +9 -0
  711. package/src/ui/constants/tablet.js +12 -0
  712. package/src/ui/constants/tablets.ts +32 -0
  713. package/src/ui/constants/users.js +11 -0
  714. package/src/ui/constants/utils.ts +23 -0
  715. package/src/ui/containers/ActionModal/ActionModal.js +208 -0
  716. package/src/ui/containers/App/App.scss +134 -0
  717. package/src/ui/containers/App/App.tsx +127 -0
  718. package/src/ui/containers/App/AppStoreProvider.tsx +13 -0
  719. package/src/ui/containers/AppNavigation/AppNavigation.scss +34 -0
  720. package/src/ui/containers/AppNavigation/AppNavigation.tsx +114 -0
  721. package/src/ui/containers/AppNavigation/AppNavigationComponent.scss +5 -0
  722. package/src/ui/containers/AppNavigation/AppNavigationComponent.tsx +181 -0
  723. package/src/ui/containers/AppNavigation/PagesEditorPanel.scss +34 -0
  724. package/src/ui/containers/AppNavigation/PagesEditorPanel.tsx +68 -0
  725. package/src/ui/containers/AppNavigation/PagesPanel.scss +44 -0
  726. package/src/ui/containers/AppNavigation/PagesPanel.tsx +107 -0
  727. package/src/ui/containers/AppNavigation/PagesSettingsEditor.scss +51 -0
  728. package/src/ui/containers/AppNavigation/PagesSettingsEditor.tsx +107 -0
  729. package/src/ui/containers/AppNavigation/TopRowContent/SectionName.scss +34 -0
  730. package/src/ui/containers/AppNavigation/TopRowContent/SectionName.tsx +67 -0
  731. package/src/ui/containers/AppNavigation/TopRowContent/TopRowContent.tsx +51 -0
  732. package/src/ui/containers/BanPage/BanPage.js +57 -0
  733. package/src/ui/containers/ClusterPage/ClusterPage.js +447 -0
  734. package/src/ui/containers/ClusterPage/ClusterPage.scss +45 -0
  735. package/src/ui/containers/ClusterPage/ClusterPageWithNavigation.scss +9 -0
  736. package/src/ui/containers/ClusterPage/ExtraClusterPageRoutes.tsx +24 -0
  737. package/src/ui/containers/ClusterPage/OngoingEventsNotice.scss +41 -0
  738. package/src/ui/containers/ClusterPage/PageTracker.js +55 -0
  739. package/src/ui/containers/ClusterPage/SupportedFeaturesUpdater.tsx +20 -0
  740. package/src/ui/containers/ClusterPageHeader/ClusterColor.scss +46 -0
  741. package/src/ui/containers/ClusterPageHeader/ClusterColor.ts +10 -0
  742. package/src/ui/containers/ClusterPageHeader/ClusterPageHeader.scss +48 -0
  743. package/src/ui/containers/ClusterPageHeader/ClusterPageHeader.tsx +111 -0
  744. package/src/ui/containers/ClusterPageHeader/ClustersPanel.scss +90 -0
  745. package/src/ui/containers/ClusterPageHeader/ClustersPanel.tsx +276 -0
  746. package/src/ui/containers/ClusterPageWrapper/ClusterPageWrapper.tsx +27 -0
  747. package/src/ui/containers/ClustersMenu/ClusterMenuBody.scss +7 -0
  748. package/src/ui/containers/ClustersMenu/ClusterMenuHeader.scss +56 -0
  749. package/src/ui/containers/ClustersMenu/ClustersMenu.js +21 -0
  750. package/src/ui/containers/ClustersMenu/ClustersMenuBody.js +300 -0
  751. package/src/ui/containers/ClustersMenu/ClustersMenuHeader.js +79 -0
  752. package/src/ui/containers/ClustersMenu/HeaderLinks.tsx +158 -0
  753. package/src/ui/containers/ClustersMenu/header-links-items.ts +24 -0
  754. package/src/ui/containers/Host/Host.scss +9 -0
  755. package/src/ui/containers/Host/Host.tsx +44 -0
  756. package/src/ui/containers/MaintenancePage/HandleRedirect.js +62 -0
  757. package/src/ui/containers/MaintenancePage/MaintenancePage.js +232 -0
  758. package/src/ui/containers/MaintenancePage/MaintenancePage.scss +92 -0
  759. package/src/ui/containers/ModalErrors/ModalErrors.tsx +77 -0
  760. package/src/ui/containers/NavigationExtraActions/NavigationExtraActions.tsx +28 -0
  761. package/src/ui/containers/PathEditor/PathEditor.js +368 -0
  762. package/src/ui/containers/PathEditor/PathEditor.scss +56 -0
  763. package/src/ui/containers/PathEditor/PathEditor.spec.js +483 -0
  764. package/src/ui/containers/PathEditor/__snapshots__/PathEditor.spec.js.snap +239 -0
  765. package/src/ui/containers/PathFragment/PathFragment.tsx +47 -0
  766. package/src/ui/containers/RetryBatchModal/RetryBatchModal.tsx +84 -0
  767. package/src/ui/containers/RootPage/RootPage.scss +6 -0
  768. package/src/ui/containers/RootPage/RootPage.tsx +40 -0
  769. package/src/ui/containers/SettingsMenu/SettingsMenu.scss +67 -0
  770. package/src/ui/containers/SettingsMenu/SettingsMenuInput.js +77 -0
  771. package/src/ui/containers/SettingsMenu/SettingsMenuItem.js +82 -0
  772. package/src/ui/containers/SettingsMenu/SettingsMenuRadio.tsx +82 -0
  773. package/src/ui/containers/SettingsPanel/SettingsPanel.scss +13 -0
  774. package/src/ui/containers/SettingsPanel/SettingsPanel.tsx +53 -0
  775. package/src/ui/containers/SettingsPanel/settings-description.tsx +587 -0
  776. package/src/ui/containers/UserSuggest/UserSuggest.tsx +19 -0
  777. package/src/ui/containers/UserSuggest/YTUserSuggest.tsx +30 -0
  778. package/src/ui/entries/main.scss +24 -0
  779. package/src/ui/entries/main.tsx +19 -0
  780. package/src/ui/global.d.ts +9 -0
  781. package/src/ui/hocs/components/Modal/withHandledScrollBar.js +56 -0
  782. package/src/ui/hocs/components/Modal/withScope.js +49 -0
  783. package/src/ui/hocs/pages/components/nodes/withDisableAction.js +150 -0
  784. package/src/ui/hocs/pages/withDataLoader.js +86 -0
  785. package/src/ui/hocs/withBlockedNavigation.js +35 -0
  786. package/src/ui/hocs/withCollapsible.js +78 -0
  787. package/src/ui/hocs/withSplit.js +18 -0
  788. package/src/ui/hocs/withVisible.tsx +50 -0
  789. package/src/ui/hooks/global.tsx +87 -0
  790. package/src/ui/hooks/use-cluster.ts +11 -0
  791. package/src/ui/hooks/use-updater.ts +16 -0
  792. package/src/ui/hooks/useResizeObserver.tsx +23 -0
  793. package/src/ui/icons/Chevron.tsx +17 -0
  794. package/src/ui/legacy-styles/cluster-menu/cluster-menu.scss +416 -0
  795. package/src/ui/legacy-styles/cluster-page/cluster-page.scss +24 -0
  796. package/src/ui/legacy-styles/elements/attributes-modal/attributes-modal.scss +10 -0
  797. package/src/ui/legacy-styles/elements/base.scss +3 -0
  798. package/src/ui/legacy-styles/elements/button/button.scss +9 -0
  799. package/src/ui/legacy-styles/elements/code/code.scss +21 -0
  800. package/src/ui/legacy-styles/elements/confirmation/confirmation.scss +17 -0
  801. package/src/ui/legacy-styles/elements/definition-list/definition-list.scss +40 -0
  802. package/src/ui/legacy-styles/elements/elements.scss +27 -0
  803. package/src/ui/legacy-styles/elements/ellipsis.scss +33 -0
  804. package/src/ui/legacy-styles/elements/error-message/error-message.scss +32 -0
  805. package/src/ui/legacy-styles/elements/filter/filter.scss +13 -0
  806. package/src/ui/legacy-styles/elements/form/form.scss +110 -0
  807. package/src/ui/legacy-styles/elements/globals.scss +6 -0
  808. package/src/ui/legacy-styles/elements/heading/heading.scss +44 -0
  809. package/src/ui/legacy-styles/elements/histogram/histogram.scss +56 -0
  810. package/src/ui/legacy-styles/elements/island/island.scss +8 -0
  811. package/src/ui/legacy-styles/elements/link.scss +28 -0
  812. package/src/ui/legacy-styles/elements/list/list.scss +21 -0
  813. package/src/ui/legacy-styles/elements/message/message.scss +53 -0
  814. package/src/ui/legacy-styles/elements/meta/meta.scss +48 -0
  815. package/src/ui/legacy-styles/elements/mixins.scss +11 -0
  816. package/src/ui/legacy-styles/elements/modals/modals.scss +209 -0
  817. package/src/ui/legacy-styles/elements/monospace.scss +5 -0
  818. package/src/ui/legacy-styles/elements/page/page.scss +48 -0
  819. package/src/ui/legacy-styles/elements/preloader.scss +52 -0
  820. package/src/ui/legacy-styles/elements/pretty-scroll/pretty-scroll.scss +63 -0
  821. package/src/ui/legacy-styles/elements/section/section.scss +39 -0
  822. package/src/ui/legacy-styles/elements/suggest/suggest.scss +83 -0
  823. package/src/ui/legacy-styles/elements/toolbar/toolbar.scss +50 -0
  824. package/src/ui/legacy-styles/elements/unipika/unipika.scss +75 -0
  825. package/src/ui/legacy-styles/elements/user-suggest/user-suggest.scss +39 -0
  826. package/src/ui/legacy-styles/legacy.scss +12 -0
  827. package/src/ui/lib.tsx +7 -0
  828. package/src/ui/libs/monaco-yql-languages/_.contribution.ts +246 -0
  829. package/src/ui/libs/monaco-yql-languages/clickhouse/clickhouse.contribution.ts +31 -0
  830. package/src/ui/libs/monaco-yql-languages/clickhouse/clickhouse.keywords.ts +1306 -0
  831. package/src/ui/libs/monaco-yql-languages/clickhouse/clickhouse.ts +232 -0
  832. package/src/ui/libs/monaco-yql-languages/completion.ts +124 -0
  833. package/src/ui/libs/monaco-yql-languages/fillers/monaco-editor-core.ts +1 -0
  834. package/src/ui/libs/monaco-yql-languages/monaco.contribution.ts +5 -0
  835. package/src/ui/libs/monaco-yql-languages/s-expressions/s-expressions.contribution.ts +9 -0
  836. package/src/ui/libs/monaco-yql-languages/s-expressions/s-expressions.keywords.ts +11 -0
  837. package/src/ui/libs/monaco-yql-languages/s-expressions/s-expressions.ts +90 -0
  838. package/src/ui/libs/monaco-yql-languages/themes/themes.contribution.ts +49 -0
  839. package/src/ui/libs/monaco-yql-languages/yql/yql.contribution.ts +15 -0
  840. package/src/ui/libs/monaco-yql-languages/yql/yql.keywords.ts +13 -0
  841. package/src/ui/libs/monaco-yql-languages/yql/yql.ts +194 -0
  842. package/src/ui/libs/monaco-yql-languages/yql/yql_ansi.contribution.ts +15 -0
  843. package/src/ui/navigation/Navigation/PathEditorModal/CreateTableModal/CreateTableModal.scss +17 -0
  844. package/src/ui/navigation/Navigation/PathEditorModal/CreateTableModal/CreateTableModal.tsx +909 -0
  845. package/src/ui/navigation/Navigation/PathEditorModal/CreateTableModal/CreateTableSuggests/CreateTableSuggests.tsx +71 -0
  846. package/src/ui/navigation/Navigation/PathEditorModal/CreateTableModal/CreateTableTabField/CreateTableTabField.scss +72 -0
  847. package/src/ui/navigation/Navigation/PathEditorModal/CreateTableModal/CreateTableTabField/CreateTableTabField.tsx +270 -0
  848. package/src/ui/pages/accounts/AccountLink.tsx +26 -0
  849. package/src/ui/pages/accounts/AccountQuota/AccountQuota.scss +29 -0
  850. package/src/ui/pages/accounts/AccountQuota/AccountQuota.tsx +218 -0
  851. package/src/ui/pages/accounts/Accounts/Accounts.js +173 -0
  852. package/src/ui/pages/accounts/Accounts/Accounts.scss +22 -0
  853. package/src/ui/pages/accounts/Accounts/AccountsTopRowContent.scss +36 -0
  854. package/src/ui/pages/accounts/Accounts/AccountsTopRowContent.tsx +168 -0
  855. package/src/ui/pages/accounts/Accounts/AccountsUpdater.tsx +20 -0
  856. package/src/ui/pages/accounts/AccountsNoContent.js +12 -0
  857. package/src/ui/pages/accounts/AccountsSuggest.scss +7 -0
  858. package/src/ui/pages/accounts/AccountsSuggest.tsx +138 -0
  859. package/src/ui/pages/accounts/UsableAccountSuggest.tsx +50 -0
  860. package/src/ui/pages/accounts/selector.js +118 -0
  861. package/src/ui/pages/accounts/tabs/acl/AccountsAclTab.js +35 -0
  862. package/src/ui/pages/accounts/tabs/detailed-usage/AccountUsageColumnsButton.tsx +94 -0
  863. package/src/ui/pages/accounts/tabs/detailed-usage/AccountUsageDetails.scss +41 -0
  864. package/src/ui/pages/accounts/tabs/detailed-usage/AccountUsageDetails.tsx +626 -0
  865. package/src/ui/pages/accounts/tabs/detailed-usage/AccountUsageTab.tsx +40 -0
  866. package/src/ui/pages/accounts/tabs/detailed-usage/AccountUsageToolbar.scss +55 -0
  867. package/src/ui/pages/accounts/tabs/detailed-usage/AccountUsageToolbar.tsx +529 -0
  868. package/src/ui/pages/accounts/tabs/general/AccountAlerts.scss +6 -0
  869. package/src/ui/pages/accounts/tabs/general/AccountAlerts.tsx +49 -0
  870. package/src/ui/pages/accounts/tabs/general/AccountStaticConfiguration/AccountStaticConfiguration.scss +16 -0
  871. package/src/ui/pages/accounts/tabs/general/AccountStaticConfiguration/AccountStaticConfiguration.tsx +112 -0
  872. package/src/ui/pages/accounts/tabs/general/AccountsGeneralTab.js +849 -0
  873. package/src/ui/pages/accounts/tabs/general/AccountsGeneralTab.scss +312 -0
  874. package/src/ui/pages/accounts/tabs/general/AccountsTotal.tsx +139 -0
  875. package/src/ui/pages/accounts/tabs/general/Editor/AccountCreate.js +40 -0
  876. package/src/ui/pages/accounts/tabs/general/Editor/AccountCreateDialog.scss +11 -0
  877. package/src/ui/pages/accounts/tabs/general/Editor/AccountCreateDialog.tsx +161 -0
  878. package/src/ui/pages/accounts/tabs/general/Editor/AccountTransferQuotaMessage.tsx +27 -0
  879. package/src/ui/pages/accounts/tabs/general/Editor/ConfirmMessage.js +38 -0
  880. package/src/ui/pages/accounts/tabs/general/Editor/Editor.js +67 -0
  881. package/src/ui/pages/accounts/tabs/general/Editor/Editor.scss +77 -0
  882. package/src/ui/pages/accounts/tabs/general/Editor/content/ChunksContent.tsx +27 -0
  883. package/src/ui/pages/accounts/tabs/general/Editor/content/DeleteContent.js +91 -0
  884. package/src/ui/pages/accounts/tabs/general/Editor/content/GeneralContent.tsx +166 -0
  885. package/src/ui/pages/accounts/tabs/general/Editor/content/MasterMemoryContent.tsx +37 -0
  886. package/src/ui/pages/accounts/tabs/general/Editor/content/MediumContent.tsx +88 -0
  887. package/src/ui/pages/accounts/tabs/general/Editor/content/NodesContent.tsx +28 -0
  888. package/src/ui/pages/accounts/tabs/general/Editor/content/TabletsContent.scss +5 -0
  889. package/src/ui/pages/accounts/tabs/general/Editor/content/TabletsContent.tsx +99 -0
  890. package/src/ui/pages/accounts/tabs/general/MasterMemoryTableMode.tsx +59 -0
  891. package/src/ui/pages/accounts/tabs/general/ProgressStack.js +174 -0
  892. package/src/ui/pages/accounts/tabs/general/ProgressTooltip.scss +41 -0
  893. package/src/ui/pages/accounts/tabs/general/ProgressTooltip.tsx +85 -0
  894. package/src/ui/pages/accounts/tabs/monitor/AccountsMonitorTab.tsx +28 -0
  895. package/src/ui/pages/accounts/tabs/statistic/AccountStatisticTab.tsx +31 -0
  896. package/src/ui/pages/chaos_cell_bundles/ChaosCellBundlesTopRowContent.connected.ts +34 -0
  897. package/src/ui/pages/chaos_cell_bundles/bundles/Bundles.tsx +35 -0
  898. package/src/ui/pages/chaos_cell_bundles/bundles/BundlesTable.connected.ts +56 -0
  899. package/src/ui/pages/chaos_cell_bundles/bundles/BundlesTableInstruments.connected.ts +42 -0
  900. package/src/ui/pages/chaos_cell_bundles/bundles/ChaosBundleEditorDialog/ChaosBundleEditorDialog.connected.ts +26 -0
  901. package/src/ui/pages/chaos_cell_bundles/bundles/ChaosBundleEditorDialog/ChaosBundleEditorDialog.scss +39 -0
  902. package/src/ui/pages/chaos_cell_bundles/bundles/ChaosBundleEditorDialog/ChaosBundleEditorDialog.tsx +307 -0
  903. package/src/ui/pages/chaos_cell_bundles/cells/Cells.tsx +14 -0
  904. package/src/ui/pages/chaos_cell_bundles/cells/CellsInstruments.connected.ts +36 -0
  905. package/src/ui/pages/chaos_cell_bundles/cells/CellsTable.connected.ts +50 -0
  906. package/src/ui/pages/components/BanModal/BanModal.js +78 -0
  907. package/src/ui/pages/components/BanModal/BanModal.scss +5 -0
  908. package/src/ui/pages/components/Components/Component.scss +5 -0
  909. package/src/ui/pages/components/Components/Components.js +108 -0
  910. package/src/ui/pages/components/Components/ComponentsTopRowContent.scss +21 -0
  911. package/src/ui/pages/components/Components/ComponentsTopRowContent.tsx +99 -0
  912. package/src/ui/pages/components/GroupSuggest/GroupSuggest.scss +3 -0
  913. package/src/ui/pages/components/GroupSuggest/GroupSuggest.tsx +88 -0
  914. package/src/ui/pages/components/OperationShortInfo/OperationShortInfo.scss +17 -0
  915. package/src/ui/pages/components/OperationShortInfo/OperationShortInfo.tsx +117 -0
  916. package/src/ui/pages/components/Placeholder.tsx +26 -0
  917. package/src/ui/pages/components/RequestQoutaButton/RequestQuotaButton.tsx +33 -0
  918. package/src/ui/pages/components/TableInfo/TableInfo.js +28 -0
  919. package/src/ui/pages/components/TableInfo/TableInfo.scss +34 -0
  920. package/src/ui/pages/components/TabletCellBundlesSuggest/TabletCellBundlesSuggest.tsx +55 -0
  921. package/src/ui/pages/components/UnbanModal/UnbanModal.js +54 -0
  922. package/src/ui/pages/components/tabs/Proxies/Proxies.js +421 -0
  923. package/src/ui/pages/components/tabs/Proxies/Proxies.scss +93 -0
  924. package/src/ui/pages/components/tabs/Proxies/ProxyActions/ChangeRoleModal/ChangeRoleModal.js +79 -0
  925. package/src/ui/pages/components/tabs/Proxies/ProxyActions/ChangeRoleModal/ChangeRoleModal.scss +5 -0
  926. package/src/ui/pages/components/tabs/Proxies/ProxyActions/ProxyActions.js +120 -0
  927. package/src/ui/pages/components/tabs/Proxies/ProxyCard/ProxyCard.js +135 -0
  928. package/src/ui/pages/components/tabs/Proxies/ProxyCard/ProxyCard.scss +21 -0
  929. package/src/ui/pages/components/tabs/Proxies/__mocks__/Proxies.js +5 -0
  930. package/src/ui/pages/components/tabs/Shards/Name.js +107 -0
  931. package/src/ui/pages/components/tabs/Shards/NodeCount.js +44 -0
  932. package/src/ui/pages/components/tabs/Shards/Shards.js +144 -0
  933. package/src/ui/pages/components/tabs/Shards/Shards.scss +45 -0
  934. package/src/ui/pages/components/tabs/Shards/__mocks__/Shards.js +5 -0
  935. package/src/ui/pages/components/tabs/Versions/VersionCell.scss +9 -0
  936. package/src/ui/pages/components/tabs/Versions/VersionCell.tsx +64 -0
  937. package/src/ui/pages/components/tabs/Versions/VersionSummary.scss +60 -0
  938. package/src/ui/pages/components/tabs/Versions/VersionSummary.tsx +226 -0
  939. package/src/ui/pages/components/tabs/Versions/Versions.scss +82 -0
  940. package/src/ui/pages/components/tabs/Versions/VersionsV2.js +308 -0
  941. package/src/ui/pages/components/tabs/Versions/__mocks__/Versions.js +5 -0
  942. package/src/ui/pages/components/tabs/Versions/__mocks__/VersionsV2.js +5 -0
  943. package/src/ui/pages/components/tabs/node/NodeAlerts/NodeAlerts.tsx +19 -0
  944. package/src/ui/pages/components/tabs/node/NodeBundles/NodeBundles.tsx +46 -0
  945. package/src/ui/pages/components/tabs/node/NodeBundlesTotal/NodeBundlesTotal.scss +40 -0
  946. package/src/ui/pages/components/tabs/node/NodeBundlesTotal/NodeBundlesTotal.tsx +239 -0
  947. package/src/ui/pages/components/tabs/node/NodeCpuAndMemory/NodeCpuAndMemory.tsx +58 -0
  948. package/src/ui/pages/components/tabs/node/NodeGeneralTab/NodeGeneralTab.scss +20 -0
  949. package/src/ui/pages/components/tabs/node/NodeGeneralTab/NodeGeneralTab.tsx +64 -0
  950. package/src/ui/pages/components/tabs/node/NodeLocations/NodeLocations.tsx +112 -0
  951. package/src/ui/pages/components/tabs/node/NodeMemoryDetailsTable/NodeMemoryDetailsTable.scss +19 -0
  952. package/src/ui/pages/components/tabs/node/NodeMemoryDetailsTable/NodeMemoryDetailsTable.tsx +212 -0
  953. package/src/ui/pages/components/tabs/node/NodeMemoryUsage/NodeMemoryUsage.tsx +61 -0
  954. package/src/ui/pages/components/tabs/node/NodeMemoryUsage/NodeMemoryUsageToolbar.scss +8 -0
  955. package/src/ui/pages/components/tabs/node/NodeMemoryUsage/NodeMemoryUsageToolbar.tsx +67 -0
  956. package/src/ui/pages/components/tabs/node/NodeMeta/NodeMeta.scss +24 -0
  957. package/src/ui/pages/components/tabs/node/NodeMeta/NodeMeta.tsx +195 -0
  958. package/src/ui/pages/components/tabs/node/NodePage.scss +6 -0
  959. package/src/ui/pages/components/tabs/node/NodePage.tsx +134 -0
  960. package/src/ui/pages/components/tabs/node/NodeResources/NodeResources.tsx +91 -0
  961. package/src/ui/pages/components/tabs/node/NodeStorage/NodeStorage.scss +25 -0
  962. package/src/ui/pages/components/tabs/node/NodeStorage/NodeStorage.tsx +69 -0
  963. package/src/ui/pages/components/tabs/node/NodeTables/NodeTables.tsx +45 -0
  964. package/src/ui/pages/components/tabs/node/NodeTabletSlots/NodeTabletSlots.tsx +64 -0
  965. package/src/ui/pages/components/tabs/node/NodeTabletSlotsTab/NodeTabletSlotsTab.tsx +20 -0
  966. package/src/ui/pages/components/tabs/nodes/FilterPresets/FiltersPresets.js +84 -0
  967. package/src/ui/pages/components/tabs/nodes/FilterPresets/FiltersPresets.scss +48 -0
  968. package/src/ui/pages/components/tabs/nodes/MemoryProgress/MemoryProgress.js +89 -0
  969. package/src/ui/pages/components/tabs/nodes/MemoryProgress/MemoryProgress.scss +47 -0
  970. package/src/ui/pages/components/tabs/nodes/NodeActions/DecommissionNodeModal.tsx +77 -0
  971. package/src/ui/pages/components/tabs/nodes/NodeActions/DisableModal.js +42 -0
  972. package/src/ui/pages/components/tabs/nodes/NodeActions/NodeActions.js +200 -0
  973. package/src/ui/pages/components/tabs/nodes/NodeActions/NodeActions.scss +5 -0
  974. package/src/ui/pages/components/tabs/nodes/NodeActions/ResourcesLimitsModal/ResourcesLimitsModal.js +274 -0
  975. package/src/ui/pages/components/tabs/nodes/NodeActions/ResourcesLimitsModal/ResourcesLimitsModal.scss +33 -0
  976. package/src/ui/pages/components/tabs/nodes/NodeCard/NodeCard.js +422 -0
  977. package/src/ui/pages/components/tabs/nodes/NodeCard/NodeCard.scss +67 -0
  978. package/src/ui/pages/components/tabs/nodes/Nodes/Nodes.js +471 -0
  979. package/src/ui/pages/components/tabs/nodes/Nodes/Nodes.scss +246 -0
  980. package/src/ui/pages/components/tabs/nodes/Nodes/__mocks__/Nodes.js +5 -0
  981. package/src/ui/pages/components/tabs/nodes/SetupModal/SetupModal.js +821 -0
  982. package/src/ui/pages/components/tabs/nodes/SetupModal/SetupModal.scss +72 -0
  983. package/src/ui/pages/components/tabs/nodes/SetupModal/TagsFilter/TagsFilter.scss +15 -0
  984. package/src/ui/pages/components/tabs/nodes/SetupModal/TagsFilter/TagsFilter.tsx +145 -0
  985. package/src/ui/pages/components/tabs/nodes/Version.js +67 -0
  986. package/src/ui/pages/dashboard/Dashboard/Dashboard.js +84 -0
  987. package/src/ui/pages/dashboard/Dashboard/Dashboard.scss +17 -0
  988. package/src/ui/pages/dashboard/Dashboard/DashboardTopRowContent.scss +4 -0
  989. package/src/ui/pages/dashboard/Dashboard/DashboardTopRowContent.tsx +21 -0
  990. package/src/ui/pages/dashboard/Links/Links.js +179 -0
  991. package/src/ui/pages/dashboard/Links/Links.scss +42 -0
  992. package/src/ui/pages/groups/GroupEditorDialog/GroupEditorDialog.js +218 -0
  993. package/src/ui/pages/groups/GroupEditorDialog/GroupEditorDialog.scss +9 -0
  994. package/src/ui/pages/groups/GroupsPage.js +20 -0
  995. package/src/ui/pages/groups/GroupsPageFilters/GroupsPageFilters.js +64 -0
  996. package/src/ui/pages/groups/GroupsPageFilters/GroupsPageFilters.scss +25 -0
  997. package/src/ui/pages/groups/GroupsPageTable/GroupsPageTable.js +336 -0
  998. package/src/ui/pages/groups/GroupsPageTable/GroupsPageTable.scss +119 -0
  999. package/src/ui/pages/job/Job.tsx +26 -0
  1000. package/src/ui/pages/job/JobActions/JobActions.scss +12 -0
  1001. package/src/ui/pages/job/JobActions/JobActions.tsx +307 -0
  1002. package/src/ui/pages/job/JobBreadcrumbs/JobBreadcrumbs.scss +30 -0
  1003. package/src/ui/pages/job/JobBreadcrumbs/JobBreadcrumbs.tsx +81 -0
  1004. package/src/ui/pages/job/JobDetails/JobDetails.scss +10 -0
  1005. package/src/ui/pages/job/JobDetails/JobDetails.tsx +56 -0
  1006. package/src/ui/pages/job/JobGeneral/JobGeneral.scss +54 -0
  1007. package/src/ui/pages/job/JobGeneral/JobGeneral.tsx +266 -0
  1008. package/src/ui/pages/job/tabs/Details/Details.scss +43 -0
  1009. package/src/ui/pages/job/tabs/Details/Details.tsx +105 -0
  1010. package/src/ui/pages/job/tabs/PivotKeys/PivotKeys.scss +3 -0
  1011. package/src/ui/pages/job/tabs/PivotKeys/PivotKeys.tsx +118 -0
  1012. package/src/ui/pages/job/tabs/Specification/Specification.scss +16 -0
  1013. package/src/ui/pages/job/tabs/Specification/Specification.tsx +127 -0
  1014. package/src/ui/pages/job/tabs/Speculative/Speculative.scss +33 -0
  1015. package/src/ui/pages/job/tabs/Speculative/Speculative.tsx +159 -0
  1016. package/src/ui/pages/job/tabs/Statistics/Statistics.scss +42 -0
  1017. package/src/ui/pages/job/tabs/Statistics/Statistics.tsx +223 -0
  1018. package/src/ui/pages/job/tabs/Statistics/Toolbar.tsx +64 -0
  1019. package/src/ui/pages/job/tabs/StatisticsIO/StatisticsIO.scss +24 -0
  1020. package/src/ui/pages/job/tabs/StatisticsIO/StatisticsIO.tsx +162 -0
  1021. package/src/ui/pages/navigation/AnnotationEditor/AnnotationEditor.scss +34 -0
  1022. package/src/ui/pages/navigation/AnnotationEditor/AnnotationEditor.tsx +153 -0
  1023. package/src/ui/pages/navigation/AnnotationEditor/TabbedContent.scss +59 -0
  1024. package/src/ui/pages/navigation/AnnotationEditor/TabbedContent.tsx +68 -0
  1025. package/src/ui/pages/navigation/Navigation/ContentViewer/ContentViewer.js +112 -0
  1026. package/src/ui/pages/navigation/Navigation/Navigation.js +519 -0
  1027. package/src/ui/pages/navigation/Navigation/Navigation.scss +170 -0
  1028. package/src/ui/pages/navigation/Navigation/NavigationPermissionsNotice.scss +7 -0
  1029. package/src/ui/pages/navigation/Navigation/NavigationPermissionsNotice.tsx +52 -0
  1030. package/src/ui/pages/navigation/Navigation/NavigationTopRowContent.scss +63 -0
  1031. package/src/ui/pages/navigation/Navigation/NavigationTopRowContent.tsx +356 -0
  1032. package/src/ui/pages/navigation/Navigation/PathEditorModal/CopyObjectModal/CopyObjectModal.js +150 -0
  1033. package/src/ui/pages/navigation/Navigation/PathEditorModal/CreateDirectoryModal/CreateDirectoryModal.js +105 -0
  1034. package/src/ui/pages/navigation/Navigation/PathEditorModal/DeleteObjectModal/DeleteObjectModal.js +310 -0
  1035. package/src/ui/pages/navigation/Navigation/PathEditorModal/DeleteObjectModal/DeleteObjectModal.scss +74 -0
  1036. package/src/ui/pages/navigation/Navigation/PathEditorModal/MoveObjectModal/MoveObjectModal.js +185 -0
  1037. package/src/ui/pages/navigation/Navigation/PathEditorModal/PathEditorModal.js +171 -0
  1038. package/src/ui/pages/navigation/Navigation/PathEditorModal/PathEditorModal.scss +22 -0
  1039. package/src/ui/pages/navigation/Navigation/PathEditorModal/RestoreObjectModal/RestoreObjectModal.js +98 -0
  1040. package/src/ui/pages/navigation/Navigation/PathEditorModal/index.js +6 -0
  1041. package/src/ui/pages/navigation/NavigationDiscription/NavigationDescription.scss +7 -0
  1042. package/src/ui/pages/navigation/NavigationDiscription/NavigationDescription.tsx +106 -0
  1043. package/src/ui/pages/navigation/content/Document/Document.js +141 -0
  1044. package/src/ui/pages/navigation/content/Document/Document.scss +10 -0
  1045. package/src/ui/pages/navigation/content/File/File.js +190 -0
  1046. package/src/ui/pages/navigation/content/File/File.scss +20 -0
  1047. package/src/ui/pages/navigation/content/Link/Link.js +69 -0
  1048. package/src/ui/pages/navigation/content/MapNode/Chooser.tsx +17 -0
  1049. package/src/ui/pages/navigation/content/MapNode/MapNode.js +339 -0
  1050. package/src/ui/pages/navigation/content/MapNode/MapNode.scss +193 -0
  1051. package/src/ui/pages/navigation/content/MapNode/MapNodesTable.js +404 -0
  1052. package/src/ui/pages/navigation/content/MapNode/MultipleActions.scss +9 -0
  1053. package/src/ui/pages/navigation/content/MapNode/MultipleActions.tsx +271 -0
  1054. package/src/ui/pages/navigation/content/MapNode/NodesTypes/NodesTypes.js +91 -0
  1055. package/src/ui/pages/navigation/content/MapNode/NodesTypes/NodesTypes.scss +46 -0
  1056. package/src/ui/pages/navigation/content/MapNode/PathActions.tsx +344 -0
  1057. package/src/ui/pages/navigation/content/ReplicatedTable/ReplicatedTable.js +403 -0
  1058. package/src/ui/pages/navigation/content/ReplicatedTable/ReplicatedTable.scss +50 -0
  1059. package/src/ui/pages/navigation/content/ReplicatedTable/ReplicatedTableSettings.scss +5 -0
  1060. package/src/ui/pages/navigation/content/ReplicatedTable/ReplicatedTableSettings.tsx +151 -0
  1061. package/src/ui/pages/navigation/content/Table/DataTableWrapper/DataTableWrapper.js +218 -0
  1062. package/src/ui/pages/navigation/content/Table/DataTableWrapper/DataTableWrapper.scss +74 -0
  1063. package/src/ui/pages/navigation/content/Table/DownloadManager/DownloadManager.js +917 -0
  1064. package/src/ui/pages/navigation/content/Table/DownloadManager/DownloadManager.scss +88 -0
  1065. package/src/ui/pages/navigation/content/Table/DownloadManager/SeparatorInput.scss +22 -0
  1066. package/src/ui/pages/navigation/content/Table/DownloadManager/SeparatorInput.tsx +53 -0
  1067. package/src/ui/pages/navigation/content/Table/OffsetSelectorModal/OffsetSelectorModal.js +183 -0
  1068. package/src/ui/pages/navigation/content/Table/OffsetSelectorModal/OffsetSelectorModal.scss +26 -0
  1069. package/src/ui/pages/navigation/content/Table/Table.js +269 -0
  1070. package/src/ui/pages/navigation/content/Table/Table.scss +27 -0
  1071. package/src/ui/pages/navigation/content/Table/TableMeta/AutomaticModeSwitch.tsx +101 -0
  1072. package/src/ui/pages/navigation/content/Table/TableMeta/TableMeta.js +225 -0
  1073. package/src/ui/pages/navigation/content/Table/TableMeta/TableMeta.scss +8 -0
  1074. package/src/ui/pages/navigation/content/Table/TableOverview/ColumnSelectorButton.tsx +92 -0
  1075. package/src/ui/pages/navigation/content/Table/TableOverview/ColumnsPresetButton.tsx +53 -0
  1076. package/src/ui/pages/navigation/content/Table/TableOverview/DatalensButton.tsx +70 -0
  1077. package/src/ui/pages/navigation/content/Table/TableOverview/EditTableAction.scss +5 -0
  1078. package/src/ui/pages/navigation/content/Table/TableOverview/EditTableActions.tsx +35 -0
  1079. package/src/ui/pages/navigation/content/Table/TableOverview/FullScreenButton.js +48 -0
  1080. package/src/ui/pages/navigation/content/Table/TableOverview/JupyterButton.js +49 -0
  1081. package/src/ui/pages/navigation/content/Table/TableOverview/OffsetInput.js +119 -0
  1082. package/src/ui/pages/navigation/content/Table/TableOverview/OffsetSelectorButton.js +63 -0
  1083. package/src/ui/pages/navigation/content/Table/TableOverview/Paginator.js +122 -0
  1084. package/src/ui/pages/navigation/content/Table/TableOverview/SettingsButton.tsx +112 -0
  1085. package/src/ui/pages/navigation/content/Table/TableOverview/TableActions.js +85 -0
  1086. package/src/ui/pages/navigation/content/Table/TableOverview/TableColumnsPresetNotice.scss +8 -0
  1087. package/src/ui/pages/navigation/content/Table/TableOverview/TableColumnsPresetNotice.tsx +64 -0
  1088. package/src/ui/pages/navigation/content/Table/TableOverview/TableOverview.js +74 -0
  1089. package/src/ui/pages/navigation/content/Table/TableOverview/TableOverview.scss +151 -0
  1090. package/src/ui/pages/navigation/content/Table/UploadManager/UploadManager.scss +61 -0
  1091. package/src/ui/pages/navigation/content/Table/UploadManager/UploadManager.tsx +660 -0
  1092. package/src/ui/pages/navigation/content/Table/UploadManager/UploadManagerCreate.tsx +502 -0
  1093. package/src/ui/pages/navigation/content/Transaction/Transaction.js +121 -0
  1094. package/src/ui/pages/navigation/content/TransactionMap/TransactionMap.js +218 -0
  1095. package/src/ui/pages/navigation/content/TransactionMap/TransactionMap.scss +50 -0
  1096. package/src/ui/pages/navigation/modals/AttributesEditor.scss +55 -0
  1097. package/src/ui/pages/navigation/modals/AttributesEditor.tsx +514 -0
  1098. package/src/ui/pages/navigation/modals/DynTablesStateModal.scss +6 -0
  1099. package/src/ui/pages/navigation/modals/DynTablesStateModal.tsx +124 -0
  1100. package/src/ui/pages/navigation/modals/LinkToModal.tsx +102 -0
  1101. package/src/ui/pages/navigation/modals/RemoteCopyModal.tsx +216 -0
  1102. package/src/ui/pages/navigation/modals/TableEraseModal.tsx +110 -0
  1103. package/src/ui/pages/navigation/modals/TableMergeSortModal/TableChunkSize.scss +14 -0
  1104. package/src/ui/pages/navigation/modals/TableMergeSortModal/TableChunkSize.tsx +58 -0
  1105. package/src/ui/pages/navigation/modals/TableMergeSortModal/TableMergeModal.tsx +223 -0
  1106. package/src/ui/pages/navigation/modals/TableMergeSortModal/TableSortByControl.scss +22 -0
  1107. package/src/ui/pages/navigation/modals/TableMergeSortModal/TableSortByControl.tsx +86 -0
  1108. package/src/ui/pages/navigation/modals/TableMergeSortModal/TableSortModal.scss +5 -0
  1109. package/src/ui/pages/navigation/modals/TableMergeSortModal/TableSortModal.tsx +192 -0
  1110. package/src/ui/pages/navigation/tabs/ACL/ACL.js +66 -0
  1111. package/src/ui/pages/navigation/tabs/ACL/RequestPermissions/RequestPermissions.js +25 -0
  1112. package/src/ui/pages/navigation/tabs/AccessLog/AccessLog.tsx +40 -0
  1113. package/src/ui/pages/navigation/tabs/AccessLog/AccessLogError.tsx +13 -0
  1114. package/src/ui/pages/navigation/tabs/AccessLog/AccessLogFilters.scss +19 -0
  1115. package/src/ui/pages/navigation/tabs/AccessLog/AccessLogFilters.tsx +463 -0
  1116. package/src/ui/pages/navigation/tabs/AccessLog/AccessLogTable.scss +25 -0
  1117. package/src/ui/pages/navigation/tabs/AccessLog/AccessLogTable.tsx +217 -0
  1118. package/src/ui/pages/navigation/tabs/AccessLog/AccountsLogTransactionInfo.scss +16 -0
  1119. package/src/ui/pages/navigation/tabs/AccessLog/AccountsLogTransactionInfo.tsx +64 -0
  1120. package/src/ui/pages/navigation/tabs/Attributes/Attributes.js +51 -0
  1121. package/src/ui/pages/navigation/tabs/Consumer/Consumer.tsx +103 -0
  1122. package/src/ui/pages/navigation/tabs/Consumer/Meta/Meta.scss +7 -0
  1123. package/src/ui/pages/navigation/tabs/Consumer/Meta/Meta.tsx +112 -0
  1124. package/src/ui/pages/navigation/tabs/Consumer/Toolbar/Toolbar.scss +5 -0
  1125. package/src/ui/pages/navigation/tabs/Consumer/Toolbar/Toolbar.tsx +52 -0
  1126. package/src/ui/pages/navigation/tabs/Consumer/views/ConsumerMetrics/ConsumerMetrics.tsx +22 -0
  1127. package/src/ui/pages/navigation/tabs/Consumer/views/Partitions/Partitions.scss +5 -0
  1128. package/src/ui/pages/navigation/tabs/Consumer/views/Partitions/Partitions.tsx +119 -0
  1129. package/src/ui/pages/navigation/tabs/Consumer/views/Partitions/PartitionsExtraControls.scss +10 -0
  1130. package/src/ui/pages/navigation/tabs/Consumer/views/Partitions/PartitionsExtraControls.tsx +144 -0
  1131. package/src/ui/pages/navigation/tabs/Locks/Locks.js +340 -0
  1132. package/src/ui/pages/navigation/tabs/Locks/Locks.scss +39 -0
  1133. package/src/ui/pages/navigation/tabs/Queue/ColumnsButton/ColumnsButton.tsx +56 -0
  1134. package/src/ui/pages/navigation/tabs/Queue/Meta/Meta.scss +7 -0
  1135. package/src/ui/pages/navigation/tabs/Queue/Meta/Meta.tsx +80 -0
  1136. package/src/ui/pages/navigation/tabs/Queue/Queue.tsx +95 -0
  1137. package/src/ui/pages/navigation/tabs/Queue/Toolbar/Toolbar.scss +5 -0
  1138. package/src/ui/pages/navigation/tabs/Queue/Toolbar/Toolbar.tsx +56 -0
  1139. package/src/ui/pages/navigation/tabs/Queue/utils/column-builder.tsx +132 -0
  1140. package/src/ui/pages/navigation/tabs/Queue/views/Consumers/Consumers.scss +5 -0
  1141. package/src/ui/pages/navigation/tabs/Queue/views/Consumers/Consumers.tsx +92 -0
  1142. package/src/ui/pages/navigation/tabs/Queue/views/Consumers/ConsumersExtraControls.scss +10 -0
  1143. package/src/ui/pages/navigation/tabs/Queue/views/Consumers/ConsumersExtraControls.tsx +87 -0
  1144. package/src/ui/pages/navigation/tabs/Queue/views/Partitions/ColumnsButton.connected.ts +70 -0
  1145. package/src/ui/pages/navigation/tabs/Queue/views/Partitions/Partitions.scss +19 -0
  1146. package/src/ui/pages/navigation/tabs/Queue/views/Partitions/Partitions.tsx +129 -0
  1147. package/src/ui/pages/navigation/tabs/Queue/views/Partitions/PartitionsExtraControls.scss +10 -0
  1148. package/src/ui/pages/navigation/tabs/Queue/views/Partitions/PartitionsExtraControls.tsx +120 -0
  1149. package/src/ui/pages/navigation/tabs/Queue/views/QueueMetrics/QueueMetrics.tsx +20 -0
  1150. package/src/ui/pages/navigation/tabs/Schema/ExternalDescription/ExternalDescription.scss +17 -0
  1151. package/src/ui/pages/navigation/tabs/Schema/ExternalDescription/ExternalDescription.tsx +78 -0
  1152. package/src/ui/pages/navigation/tabs/Schema/Schema.js +289 -0
  1153. package/src/ui/pages/navigation/tabs/Schema/Schema.scss +65 -0
  1154. package/src/ui/pages/navigation/tabs/TableMountConfig/TableMountConfig.tsx +27 -0
  1155. package/src/ui/pages/navigation/tabs/TabletErrors/TabletErrors.scss +33 -0
  1156. package/src/ui/pages/navigation/tabs/TabletErrors/TabletErrors.tsx +225 -0
  1157. package/src/ui/pages/navigation/tabs/Tablets/Tablets.js +681 -0
  1158. package/src/ui/pages/navigation/tabs/Tablets/Tablets.scss +157 -0
  1159. package/src/ui/pages/navigation/tabs/UserAttributes/UserAttributes.js +113 -0
  1160. package/src/ui/pages/navigation/tabs/UserAttributes/UserAttributes.scss +8 -0
  1161. package/src/ui/pages/operations/OperationDetail/ExperimentAssignments/ExperimentAssignments.scss +3 -0
  1162. package/src/ui/pages/operations/OperationDetail/ExperimentAssignments/ExperimentAssignments.tsx +107 -0
  1163. package/src/ui/pages/operations/OperationDetail/OperationDetail.js +437 -0
  1164. package/src/ui/pages/operations/OperationDetail/OperationDetail.scss +84 -0
  1165. package/src/ui/pages/operations/OperationDetail/tabs/Jobs/Jobs.js +104 -0
  1166. package/src/ui/pages/operations/OperationDetail/tabs/Jobs/OperationJobsErrors/OperationJobsErrors.scss +3 -0
  1167. package/src/ui/pages/operations/OperationDetail/tabs/Jobs/OperationJobsErrors/OperationJobsErrors.tsx +25 -0
  1168. package/src/ui/pages/operations/OperationDetail/tabs/Jobs/OperationJobsTable/JobTemplate.js +110 -0
  1169. package/src/ui/pages/operations/OperationDetail/tabs/Jobs/OperationJobsTable/OperationJobsTable.js +542 -0
  1170. package/src/ui/pages/operations/OperationDetail/tabs/Jobs/OperationJobsTable/OperationJobsTable.scss +119 -0
  1171. package/src/ui/pages/operations/OperationDetail/tabs/Jobs/OperationJobsToolbar/JobsAttributesFilter.tsx +32 -0
  1172. package/src/ui/pages/operations/OperationDetail/tabs/Jobs/OperationJobsToolbar/JobsFilterBy.tsx +70 -0
  1173. package/src/ui/pages/operations/OperationDetail/tabs/Jobs/OperationJobsToolbar/JobsPaginator.js +56 -0
  1174. package/src/ui/pages/operations/OperationDetail/tabs/Jobs/OperationJobsToolbar/JobsSelectFilter.js +22 -0
  1175. package/src/ui/pages/operations/OperationDetail/tabs/Jobs/OperationJobsToolbar/JobsSuggestFilter.js +21 -0
  1176. package/src/ui/pages/operations/OperationDetail/tabs/Jobs/OperationJobsToolbar/OperationJobsToolbar.js +87 -0
  1177. package/src/ui/pages/operations/OperationDetail/tabs/Jobs/OperationJobsToolbar/OperationJobsToolbar.scss +33 -0
  1178. package/src/ui/pages/operations/OperationDetail/tabs/Jobs/job-selector.js +118 -0
  1179. package/src/ui/pages/operations/OperationDetail/tabs/Jobs/utils.js +57 -0
  1180. package/src/ui/pages/operations/OperationDetail/tabs/JobsMonitor/JobsMonitor.tsx +30 -0
  1181. package/src/ui/pages/operations/OperationDetail/tabs/attributes/OperationAttributes.tsx +45 -0
  1182. package/src/ui/pages/operations/OperationDetail/tabs/details/AlertEvents/AlertEvents.scss +7 -0
  1183. package/src/ui/pages/operations/OperationDetail/tabs/details/AlertEvents/AlertEvents.tsx +171 -0
  1184. package/src/ui/pages/operations/OperationDetail/tabs/details/DataFlow/DataFlow.js +216 -0
  1185. package/src/ui/pages/operations/OperationDetail/tabs/details/DataFlow/DataFlow.scss +37 -0
  1186. package/src/ui/pages/operations/OperationDetail/tabs/details/Description.js +55 -0
  1187. package/src/ui/pages/operations/OperationDetail/tabs/details/DetailedJobsCounter/DetailedJobsCounter.js +148 -0
  1188. package/src/ui/pages/operations/OperationDetail/tabs/details/DetailedJobsCounter/DetailedJobsCounter.scss +5 -0
  1189. package/src/ui/pages/operations/OperationDetail/tabs/details/Details/Details.js +252 -0
  1190. package/src/ui/pages/operations/OperationDetail/tabs/details/Details/Details.scss +33 -0
  1191. package/src/ui/pages/operations/OperationDetail/tabs/details/Events/Events.js +140 -0
  1192. package/src/ui/pages/operations/OperationDetail/tabs/details/Events/Events.scss +51 -0
  1193. package/src/ui/pages/operations/OperationDetail/tabs/details/FilterOverview/FilterOverview.js +63 -0
  1194. package/src/ui/pages/operations/OperationDetail/tabs/details/Runtime/Runtime.js +192 -0
  1195. package/src/ui/pages/operations/OperationDetail/tabs/details/Specification/Specification.js +239 -0
  1196. package/src/ui/pages/operations/OperationDetail/tabs/details/Specification/Specification.scss +73 -0
  1197. package/src/ui/pages/operations/OperationDetail/tabs/details/Tasks/Tasks.js +404 -0
  1198. package/src/ui/pages/operations/OperationDetail/tabs/details/Tasks/Tasks.scss +70 -0
  1199. package/src/ui/pages/operations/OperationDetail/tabs/job-sizes/JobSizes/JobSizes.scss +35 -0
  1200. package/src/ui/pages/operations/OperationDetail/tabs/job-sizes/JobSizes/JobSizes.tsx +221 -0
  1201. package/src/ui/pages/operations/OperationDetail/tabs/monitor/OperationDetailsMonitor.tsx +23 -0
  1202. package/src/ui/pages/operations/OperationDetail/tabs/partition-sizes/PartitionSizes/PartitionSizes.scss +7 -0
  1203. package/src/ui/pages/operations/OperationDetail/tabs/partition-sizes/PartitionSizes/PartitionSizes.tsx +121 -0
  1204. package/src/ui/pages/operations/OperationDetail/tabs/specification/Specification.js +162 -0
  1205. package/src/ui/pages/operations/OperationDetail/tabs/specification/Specification.scss +11 -0
  1206. package/src/ui/pages/operations/OperationDetail/tabs/statistics/OperationStatisticName.scss +7 -0
  1207. package/src/ui/pages/operations/OperationDetail/tabs/statistics/OperationStatisticName.tsx +102 -0
  1208. package/src/ui/pages/operations/OperationDetail/tabs/statistics/Statistics.js +205 -0
  1209. package/src/ui/pages/operations/OperationDetail/tabs/statistics/Statistics.scss +7 -0
  1210. package/src/ui/pages/operations/OperationIOLink/OperationIOLink.tsx +57 -0
  1211. package/src/ui/pages/operations/OperationPool/OperationPool.js +91 -0
  1212. package/src/ui/pages/operations/OperationPool/OperationPool.scss +45 -0
  1213. package/src/ui/pages/operations/OperationProgress/OperationProgress.js +200 -0
  1214. package/src/ui/pages/operations/OperationProgress/OperationProgress.scss +25 -0
  1215. package/src/ui/pages/operations/OperationSelectFilter/OperationSelectFilter.js +80 -0
  1216. package/src/ui/pages/operations/OperationSuggestFilter/OperationSuggestFilter.js +50 -0
  1217. package/src/ui/pages/operations/OperationWeight/OperationWeight.js +51 -0
  1218. package/src/ui/pages/operations/OperationWeight/OperationWeight.scss +17 -0
  1219. package/src/ui/pages/operations/Operations/Operations.js +38 -0
  1220. package/src/ui/pages/operations/OperationsList/OperationsList.js +161 -0
  1221. package/src/ui/pages/operations/OperationsList/OperationsListTable/OperationsListTable.js +379 -0
  1222. package/src/ui/pages/operations/OperationsList/OperationsListTable/OperationsListTable.scss +168 -0
  1223. package/src/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsArchiveFilter.js +259 -0
  1224. package/src/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsArchiveFilter.scss +21 -0
  1225. package/src/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsFilterPresets.js +209 -0
  1226. package/src/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsFilterPresets.scss +36 -0
  1227. package/src/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsListPaginator.js +70 -0
  1228. package/src/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsListSuggestFilters.tsx +87 -0
  1229. package/src/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsListToolbar.js +293 -0
  1230. package/src/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsListToolbar.scss +42 -0
  1231. package/src/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsSelectFilter.js +21 -0
  1232. package/src/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsTextFilter.js +103 -0
  1233. package/src/ui/pages/operations/PoolsWeightsEditModal/PoolsWeightsEditModal.js +204 -0
  1234. package/src/ui/pages/operations/PoolsWeightsEditModal/PoolsWeightsEditModal.scss +26 -0
  1235. package/src/ui/pages/operations/selectors.ts +302 -0
  1236. package/src/ui/pages/path-viewer/PathViewer.js +194 -0
  1237. package/src/ui/pages/path-viewer/PathViewer.scss +64 -0
  1238. package/src/ui/pages/query-tracker/NotRenderUntilFirstVisible/Freeze.tsx +43 -0
  1239. package/src/ui/pages/query-tracker/NotRenderUntilFirstVisible/NotRenderUntilFirstVisible.tsx +32 -0
  1240. package/src/ui/pages/query-tracker/QueriesHistoryList/QueriesHistoryFilter/index.scss +20 -0
  1241. package/src/ui/pages/query-tracker/QueriesHistoryList/QueriesHistoryFilter/index.tsx +93 -0
  1242. package/src/ui/pages/query-tracker/QueriesHistoryList/index.scss +85 -0
  1243. package/src/ui/pages/query-tracker/QueriesHistoryList/index.tsx +297 -0
  1244. package/src/ui/pages/query-tracker/QueriesList/index.scss +15 -0
  1245. package/src/ui/pages/query-tracker/QueriesList/index.tsx +18 -0
  1246. package/src/ui/pages/query-tracker/QueryDuration/index.tsx +32 -0
  1247. package/src/ui/pages/query-tracker/QueryEditor/QueryEditor.scss +62 -0
  1248. package/src/ui/pages/query-tracker/QueryEditor/QueryEditor.tsx +171 -0
  1249. package/src/ui/pages/query-tracker/QueryMetaTable/index.scss +36 -0
  1250. package/src/ui/pages/query-tracker/QueryMetaTable/index.tsx +85 -0
  1251. package/src/ui/pages/query-tracker/QueryResults/QueryMetaRow/index.scss +8 -0
  1252. package/src/ui/pages/query-tracker/QueryResults/QueryMetaRow/index.tsx +52 -0
  1253. package/src/ui/pages/query-tracker/QueryResults/QueryResultActions/QueryResultDownloadManager.tsx +95 -0
  1254. package/src/ui/pages/query-tracker/QueryResults/QueryResultActions/TableColumnsSelector.tsx +55 -0
  1255. package/src/ui/pages/query-tracker/QueryResults/QueryResultActions/index.scss +6 -0
  1256. package/src/ui/pages/query-tracker/QueryResults/QueryResultActions/index.tsx +121 -0
  1257. package/src/ui/pages/query-tracker/QueryResults/hooks/useCurrentQuery.ts +31 -0
  1258. package/src/ui/pages/query-tracker/QueryResults/hooks/useQueryResultTabs.ts +91 -0
  1259. package/src/ui/pages/query-tracker/QueryResults/index.scss +51 -0
  1260. package/src/ui/pages/query-tracker/QueryResults/index.tsx +82 -0
  1261. package/src/ui/pages/query-tracker/QueryResultsView/DataTypePopup/DataTypePopup.scss +20 -0
  1262. package/src/ui/pages/query-tracker/QueryResultsView/DataTypePopup/DataTypePopup.tsx +43 -0
  1263. package/src/ui/pages/query-tracker/QueryResultsView/ResultPaginator/index.scss +7 -0
  1264. package/src/ui/pages/query-tracker/QueryResultsView/ResultPaginator/index.tsx +106 -0
  1265. package/src/ui/pages/query-tracker/QueryResultsView/ResultsTable.tsx +89 -0
  1266. package/src/ui/pages/query-tracker/QueryResultsView/YQLSchemeTable/index.scss +25 -0
  1267. package/src/ui/pages/query-tracker/QueryResultsView/YQLSchemeTable/index.tsx +77 -0
  1268. package/src/ui/pages/query-tracker/QueryResultsView/YQLStatistics/CollapsibleTable/CollapsibleTable.scss +37 -0
  1269. package/src/ui/pages/query-tracker/QueryResultsView/YQLStatistics/CollapsibleTable/CollapsibleTable.tsx +226 -0
  1270. package/src/ui/pages/query-tracker/QueryResultsView/YQLStatistics/CollapsibleTable/utils.ts +134 -0
  1271. package/src/ui/pages/query-tracker/QueryResultsView/YQLStatistics/index.scss +3 -0
  1272. package/src/ui/pages/query-tracker/QueryResultsView/YQLStatistics/index.tsx +153 -0
  1273. package/src/ui/pages/query-tracker/QueryResultsView/YQLTable/YQLTable.scss +82 -0
  1274. package/src/ui/pages/query-tracker/QueryResultsView/YQLTable/YQLTable.tsx +439 -0
  1275. package/src/ui/pages/query-tracker/QueryResultsView/YQLTable/utils.ts +11 -0
  1276. package/src/ui/pages/query-tracker/QueryResultsView/index.scss +36 -0
  1277. package/src/ui/pages/query-tracker/QueryResultsView/index.tsx +69 -0
  1278. package/src/ui/pages/query-tracker/QuerySettingsButton/index.scss +41 -0
  1279. package/src/ui/pages/query-tracker/QuerySettingsButton/index.tsx +350 -0
  1280. package/src/ui/pages/query-tracker/QueryStatus/index.scss +25 -0
  1281. package/src/ui/pages/query-tracker/QueryStatus/index.tsx +55 -0
  1282. package/src/ui/pages/query-tracker/QueryTracker/QueryTracker.scss +7 -0
  1283. package/src/ui/pages/query-tracker/QueryTracker/QueryTracker.tsx +84 -0
  1284. package/src/ui/pages/query-tracker/QueryTrackerTopRow/index.scss +31 -0
  1285. package/src/ui/pages/query-tracker/QueryTrackerTopRow/index.tsx +175 -0
  1286. package/src/ui/pages/query-tracker/hooks/QueriesPooling/QueriesPolling.tsx +133 -0
  1287. package/src/ui/pages/query-tracker/hooks/QueriesPooling/context.tsx +19 -0
  1288. package/src/ui/pages/query-tracker/hooks/QueryListFilter/index.ts +30 -0
  1289. package/src/ui/pages/query-tracker/module/api.ts +259 -0
  1290. package/src/ui/pages/query-tracker/module/index.ts +10 -0
  1291. package/src/ui/pages/query-tracker/module/queries_list/actions.ts +140 -0
  1292. package/src/ui/pages/query-tracker/module/queries_list/reducer.ts +105 -0
  1293. package/src/ui/pages/query-tracker/module/queries_list/selectors.ts +53 -0
  1294. package/src/ui/pages/query-tracker/module/queries_list/types.ts +10 -0
  1295. package/src/ui/pages/query-tracker/module/query/actions.ts +112 -0
  1296. package/src/ui/pages/query-tracker/module/query/reducer.ts +87 -0
  1297. package/src/ui/pages/query-tracker/module/query/selectors.ts +22 -0
  1298. package/src/ui/pages/query-tracker/module/query/url_mapping.ts +21 -0
  1299. package/src/ui/pages/query-tracker/module/query_result/actions.ts +235 -0
  1300. package/src/ui/pages/query-tracker/module/query_result/reducer.ts +118 -0
  1301. package/src/ui/pages/query-tracker/module/query_result/selectors.ts +58 -0
  1302. package/src/ui/pages/query-tracker/module/query_result/types.ts +47 -0
  1303. package/src/ui/pages/query-tracker/module/query_result/utils/format.ts +111 -0
  1304. package/src/ui/pages/query-tracker/module/types/plan.ts +63 -0
  1305. package/src/ui/pages/query-tracker/utils/date.ts +12 -0
  1306. package/src/ui/pages/query-tracker/utils/navigation.ts +11 -0
  1307. package/src/ui/pages/query-tracker/utils/query.ts +15 -0
  1308. package/src/ui/pages/scheduling/Alerts.js +39 -0
  1309. package/src/ui/pages/scheduling/Content/Content.js +124 -0
  1310. package/src/ui/pages/scheduling/Content/Content.scss +5 -0
  1311. package/src/ui/pages/scheduling/Content/PoolMetaData.tsx +61 -0
  1312. package/src/ui/pages/scheduling/Content/SchedulingOperationsUpdater.tsx +21 -0
  1313. package/src/ui/pages/scheduling/Content/SchedulingResources.scss +8 -0
  1314. package/src/ui/pages/scheduling/Content/SchedulingResources.tsx +33 -0
  1315. package/src/ui/pages/scheduling/Content/controls/ShareUsageBar.scss +18 -0
  1316. package/src/ui/pages/scheduling/Content/controls/ShareUsageBar.tsx +73 -0
  1317. package/src/ui/pages/scheduling/Content/tabs/Details/Details.js +601 -0
  1318. package/src/ui/pages/scheduling/Content/tabs/Details/Details.scss +217 -0
  1319. package/src/ui/pages/scheduling/Content/tabs/Overview/Overview.js +655 -0
  1320. package/src/ui/pages/scheduling/Content/tabs/Overview/Overview.scss +241 -0
  1321. package/src/ui/pages/scheduling/Content/tabs/Overview/PoolTags.scss +20 -0
  1322. package/src/ui/pages/scheduling/Content/tabs/Overview/PoolTags.tsx +46 -0
  1323. package/src/ui/pages/scheduling/Content/tabs/PoolAcl/PoolAcl.js +69 -0
  1324. package/src/ui/pages/scheduling/Content/tabs/SchedulingOperationsError/SchedulingOperationsError.tsx +12 -0
  1325. package/src/ui/pages/scheduling/Content/tabs/ScherdulingOperataionsLoader/SchedulingOperationsLoader.tsx +11 -0
  1326. package/src/ui/pages/scheduling/Instruments/CreatePoolDialog/CreatePoolDialog.tsx +235 -0
  1327. package/src/ui/pages/scheduling/Instruments/CreatePoolDialog/CreatePoolParentSuggest.tsx +52 -0
  1328. package/src/ui/pages/scheduling/PoolQoutaEditor/PoolQuotaEditor.tsx +157 -0
  1329. package/src/ui/pages/scheduling/PoolStaticConfiguration/SchedulingStaticConfiguration.scss +26 -0
  1330. package/src/ui/pages/scheduling/PoolStaticConfiguration/SchedulingStaticConfiguration.tsx +256 -0
  1331. package/src/ui/pages/scheduling/Scheduling/PoolEditorDialog/PoolEditorDialog.scss +32 -0
  1332. package/src/ui/pages/scheduling/Scheduling/PoolEditorDialog/PoolEditorDialog.tsx +594 -0
  1333. package/src/ui/pages/scheduling/Scheduling/Scheduling.scss +22 -0
  1334. package/src/ui/pages/scheduling/Scheduling/Scheduling.tsx +133 -0
  1335. package/src/ui/pages/scheduling/Scheduling/SchedulingTopRowContent.scss +76 -0
  1336. package/src/ui/pages/scheduling/Scheduling/SchedulingTopRowContent.tsx +275 -0
  1337. package/src/ui/pages/system/Chunks/Chunks.js +260 -0
  1338. package/src/ui/pages/system/Chunks/Chunks.scss +45 -0
  1339. package/src/ui/pages/system/Masters/MasterGroup.js +208 -0
  1340. package/src/ui/pages/system/Masters/MasterGroup.scss +108 -0
  1341. package/src/ui/pages/system/Masters/Masters.js +254 -0
  1342. package/src/ui/pages/system/Masters/Masters.scss +52 -0
  1343. package/src/ui/pages/system/NodeQuad/NodeQuad.scss +42 -0
  1344. package/src/ui/pages/system/NodeQuad/NodeQuad.tsx +27 -0
  1345. package/src/ui/pages/system/NodeRackGroup/NodeRackGroup.js +159 -0
  1346. package/src/ui/pages/system/NodeRacks/NodeRacks.scss +163 -0
  1347. package/src/ui/pages/system/NodeRacks/NodeRacks.tsx +132 -0
  1348. package/src/ui/pages/system/Nodes/Nodes.js +139 -0
  1349. package/src/ui/pages/system/Nodes/Nodes.scss +11 -0
  1350. package/src/ui/pages/system/Proxies/Proxies.js +104 -0
  1351. package/src/ui/pages/system/Resources/Resources.js +176 -0
  1352. package/src/ui/pages/system/Resources/Resources.scss +30 -0
  1353. package/src/ui/pages/system/RpcProxy/RpcProxy.js +101 -0
  1354. package/src/ui/pages/system/SchedulersAndAgents/Scheduler/Scheduler.js +52 -0
  1355. package/src/ui/pages/system/SchedulersAndAgents/Schedulers.scss +50 -0
  1356. package/src/ui/pages/system/SchedulersAndAgents/SchedulersAndAgents.js +175 -0
  1357. package/src/ui/pages/system/SchedulersAndAgents/prepareTags.js +84 -0
  1358. package/src/ui/pages/system/System/System.js +45 -0
  1359. package/src/ui/pages/system/System/System.scss +17 -0
  1360. package/src/ui/pages/system/System/SystemTopRowContent.scss +6 -0
  1361. package/src/ui/pages/system/System/SystemTopRowContent.tsx +45 -0
  1362. package/src/ui/pages/system/SystemCounters/SystemCounters.js +142 -0
  1363. package/src/ui/pages/system/SystemCounters/SystemCounters.scss +46 -0
  1364. package/src/ui/pages/system/SystemStateOverview/SystemStateOverview.js +44 -0
  1365. package/src/ui/pages/system/SystemStateOverview/SystemStateOverview.scss +18 -0
  1366. package/src/ui/pages/system/VisibleHostTypeRadioButton.js +46 -0
  1367. package/src/ui/pages/tablet/Tablet.js +27 -0
  1368. package/src/ui/pages/tablet/TabletDetails/Overview.js +348 -0
  1369. package/src/ui/pages/tablet/TabletDetails/Partitions.js +290 -0
  1370. package/src/ui/pages/tablet/TabletDetails/Stores.js +241 -0
  1371. package/src/ui/pages/tablet/TabletDetails/Stores.scss +14 -0
  1372. package/src/ui/pages/tablet/TabletDetails/StoresDialog.tsx +37 -0
  1373. package/src/ui/pages/tablet/TabletDetails/TabletDetails.js +64 -0
  1374. package/src/ui/pages/tablet/TabletDetails/TabletDetails.scss +128 -0
  1375. package/src/ui/pages/tablet/TabletTopRowContent.scss +16 -0
  1376. package/src/ui/pages/tablet/TabletTopRowContent.tsx +52 -0
  1377. package/src/ui/pages/tablet_cell_bundles/TabletCellBundles.scss +40 -0
  1378. package/src/ui/pages/tablet_cell_bundles/TabletCellBundles.tsx +259 -0
  1379. package/src/ui/pages/tablet_cell_bundles/TabletCellBundlesTopRowContent.connected.ts +33 -0
  1380. package/src/ui/pages/tablet_cell_bundles/TabletCellBundlesTopRowContent.scss +21 -0
  1381. package/src/ui/pages/tablet_cell_bundles/TabletCellBundlesTopRowContent.tsx +174 -0
  1382. package/src/ui/pages/tablet_cell_bundles/bundle/BundleAclTab.tsx +21 -0
  1383. package/src/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.scss +32 -0
  1384. package/src/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.tsx +273 -0
  1385. package/src/ui/pages/tablet_cell_bundles/bundle/BundleGeneralMeta.scss +41 -0
  1386. package/src/ui/pages/tablet_cell_bundles/bundle/BundleGeneralMeta.tsx +149 -0
  1387. package/src/ui/pages/tablet_cell_bundles/bundle/BundleInstancesTab.tsx +16 -0
  1388. package/src/ui/pages/tablet_cell_bundles/bundle/BundleMetaTable.scss +18 -0
  1389. package/src/ui/pages/tablet_cell_bundles/bundle/BundleMetaTable.tsx +21 -0
  1390. package/src/ui/pages/tablet_cell_bundles/bundle/BundleMonitorTab.scss +31 -0
  1391. package/src/ui/pages/tablet_cell_bundles/bundle/BundleMonitorTab.tsx +39 -0
  1392. package/src/ui/pages/tablet_cell_bundles/bundle/BundleProxiesTab.tsx +15 -0
  1393. package/src/ui/pages/tablet_cell_bundles/bundle/BundleStatisticsTab.tsx +33 -0
  1394. package/src/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.scss +54 -0
  1395. package/src/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.tsx +632 -0
  1396. package/src/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.scss +78 -0
  1397. package/src/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.tsx +192 -0
  1398. package/src/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleParamsList/BundleParamsList.scss +32 -0
  1399. package/src/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleParamsList/BundleParamsList.tsx +34 -0
  1400. package/src/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTableField/BundleTableField.tsx +78 -0
  1401. package/src/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.scss +20 -0
  1402. package/src/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.tsx +48 -0
  1403. package/src/ui/pages/tablet_cell_bundles/bundles/Bundles.tsx +35 -0
  1404. package/src/ui/pages/tablet_cell_bundles/bundles/BundlesTable.connected.ts +95 -0
  1405. package/src/ui/pages/tablet_cell_bundles/bundles/BundlesTable.scss +70 -0
  1406. package/src/ui/pages/tablet_cell_bundles/bundles/BundlesTable.tsx +524 -0
  1407. package/src/ui/pages/tablet_cell_bundles/bundles/BundlesTableInstruments.connected.ts +42 -0
  1408. package/src/ui/pages/tablet_cell_bundles/bundles/BundlesTableInstruments.scss +21 -0
  1409. package/src/ui/pages/tablet_cell_bundles/bundles/BundlesTableInstruments.tsx +127 -0
  1410. package/src/ui/pages/tablet_cell_bundles/bundles/BundlesTableModeRadio.tsx +34 -0
  1411. package/src/ui/pages/tablet_cell_bundles/cells/Cells.tsx +14 -0
  1412. package/src/ui/pages/tablet_cell_bundles/cells/CellsBundleController.scss +35 -0
  1413. package/src/ui/pages/tablet_cell_bundles/cells/CellsBundleController.tsx +272 -0
  1414. package/src/ui/pages/tablet_cell_bundles/cells/CellsInstruments.connected.ts +36 -0
  1415. package/src/ui/pages/tablet_cell_bundles/cells/CellsInstruments.scss +38 -0
  1416. package/src/ui/pages/tablet_cell_bundles/cells/CellsInstruments.tsx +163 -0
  1417. package/src/ui/pages/tablet_cell_bundles/cells/CellsTable.connected.ts +57 -0
  1418. package/src/ui/pages/tablet_cell_bundles/cells/CellsTable.scss +55 -0
  1419. package/src/ui/pages/tablet_cell_bundles/cells/CellsTable.tsx +297 -0
  1420. package/src/ui/pages/users/UsersPage.js +20 -0
  1421. package/src/ui/pages/users/UsersPageEditor/UsersPageEditor.scss +5 -0
  1422. package/src/ui/pages/users/UsersPageEditor/UsersPageEditor.tsx +332 -0
  1423. package/src/ui/pages/users/UsersPageFilters/UsersPageFilters.js +117 -0
  1424. package/src/ui/pages/users/UsersPageFilters/UsersPageFilters.scss +32 -0
  1425. package/src/ui/pages/users/UsersPageTable/UsersPageTable.js +336 -0
  1426. package/src/ui/pages/users/UsersPageTable/UsersPageTable.scss +90 -0
  1427. package/src/ui/pages.ts +101 -0
  1428. package/src/ui/redefinitions.ts +20 -0
  1429. package/src/ui/render-app.tsx +36 -0
  1430. package/src/ui/rum/RumUiContext.tsx +220 -0
  1431. package/src/ui/rum/constants.ts +10 -0
  1432. package/src/ui/rum/rum-app-measures.ts +12 -0
  1433. package/src/ui/rum/rum-counter.ts +181 -0
  1434. package/src/ui/rum/rum-measure-types.ts +47 -0
  1435. package/src/ui/rum/rum-wrap-api.ts +294 -0
  1436. package/src/ui/services/parse-accounts.worker.ts +13 -0
  1437. package/src/ui/services/promisified-worker.ts +164 -0
  1438. package/src/ui/state-url-mapping.js +47 -0
  1439. package/src/ui/store/__mocks__/index.js +4 -0
  1440. package/src/ui/store/actions/accounts/account-usage-diff.ts +160 -0
  1441. package/src/ui/store/actions/accounts/account-usage.ts +363 -0
  1442. package/src/ui/store/actions/accounts/accounts-ts.ts +27 -0
  1443. package/src/ui/store/actions/accounts/accounts.js +317 -0
  1444. package/src/ui/store/actions/accounts/editor-ts.tsx +61 -0
  1445. package/src/ui/store/actions/accounts/editor.js +39 -0
  1446. package/src/ui/store/actions/acl.js +313 -0
  1447. package/src/ui/store/actions/actions.js +80 -0
  1448. package/src/ui/store/actions/chaos_cell_bundles/index.ts +196 -0
  1449. package/src/ui/store/actions/chaos_cell_bundles/tablet-cell-bundle-editor.ts +138 -0
  1450. package/src/ui/store/actions/cluster-params.ts +226 -0
  1451. package/src/ui/store/actions/clusters-menu.js +47 -0
  1452. package/src/ui/store/actions/components/ban-unban.js +32 -0
  1453. package/src/ui/store/actions/components/node/memory.ts +96 -0
  1454. package/src/ui/store/actions/components/node/node.ts +37 -0
  1455. package/src/ui/store/actions/components/nodes/actions/ban-unban.js +67 -0
  1456. package/src/ui/store/actions/components/nodes/actions/decommission.ts +73 -0
  1457. package/src/ui/store/actions/components/nodes/actions/disable-enable.js +140 -0
  1458. package/src/ui/store/actions/components/nodes/actions/set-resources-limits.js +50 -0
  1459. package/src/ui/store/actions/components/nodes/nodes.ts +244 -0
  1460. package/src/ui/store/actions/components/proxies/actions/ban-unban.js +70 -0
  1461. package/src/ui/store/actions/components/proxies/actions/change-role.js +45 -0
  1462. package/src/ui/store/actions/components/proxies/proxies.js +116 -0
  1463. package/src/ui/store/actions/components/shards.js +83 -0
  1464. package/src/ui/store/actions/components/versions/version_v2-ts.ts +34 -0
  1465. package/src/ui/store/actions/components/versions/versions.js +108 -0
  1466. package/src/ui/store/actions/components/versions/versions.spec.js +200 -0
  1467. package/src/ui/store/actions/components/versions/versions_v2.ts +105 -0
  1468. package/src/ui/store/actions/dashboard/dashboad.js +8 -0
  1469. package/src/ui/store/actions/execute-batch.ts +225 -0
  1470. package/src/ui/store/actions/favourites.js +130 -0
  1471. package/src/ui/store/actions/global/index.ts +323 -0
  1472. package/src/ui/store/actions/global/supported-features.ts +46 -0
  1473. package/src/ui/store/actions/groups.js +179 -0
  1474. package/src/ui/store/actions/job/competitors.ts +92 -0
  1475. package/src/ui/store/actions/job/general.ts +87 -0
  1476. package/src/ui/store/actions/job/specification.ts +148 -0
  1477. package/src/ui/store/actions/job/statistics.ts +51 -0
  1478. package/src/ui/store/actions/menu.js +96 -0
  1479. package/src/ui/store/actions/modals/attributes-modal.js +49 -0
  1480. package/src/ui/store/actions/modals/errors.ts +15 -0
  1481. package/src/ui/store/actions/navigation/content/document.js +54 -0
  1482. package/src/ui/store/actions/navigation/content/file.js +49 -0
  1483. package/src/ui/store/actions/navigation/content/map-node.js +301 -0
  1484. package/src/ui/store/actions/navigation/content/replicated-table.js +118 -0
  1485. package/src/ui/store/actions/navigation/content/table/columns-preset.ts +127 -0
  1486. package/src/ui/store/actions/navigation/content/table/pagination.js +142 -0
  1487. package/src/ui/store/actions/navigation/content/table/table-mount-config.ts +41 -0
  1488. package/src/ui/store/actions/navigation/content/table/table-rum-id.ts +9 -0
  1489. package/src/ui/store/actions/navigation/content/table/table.js +684 -0
  1490. package/src/ui/store/actions/navigation/content/transaction-map.js +73 -0
  1491. package/src/ui/store/actions/navigation/content/transaction.js +32 -0
  1492. package/src/ui/store/actions/navigation/index.js +262 -0
  1493. package/src/ui/store/actions/navigation/modals/attributes-editor.tsx +259 -0
  1494. package/src/ui/store/actions/navigation/modals/copy-object.tsx +163 -0
  1495. package/src/ui/store/actions/navigation/modals/create-directory.js +67 -0
  1496. package/src/ui/store/actions/navigation/modals/create-table.js +122 -0
  1497. package/src/ui/store/actions/navigation/modals/delete-object.js +446 -0
  1498. package/src/ui/store/actions/navigation/modals/dyn-tables-state-modal.ts +132 -0
  1499. package/src/ui/store/actions/navigation/modals/link-to-modal.tsx +59 -0
  1500. package/src/ui/store/actions/navigation/modals/move-object.tsx +184 -0
  1501. package/src/ui/store/actions/navigation/modals/path-editing-popup.js +39 -0
  1502. package/src/ui/store/actions/navigation/modals/remote-copy-modal.tsx +96 -0
  1503. package/src/ui/store/actions/navigation/modals/restore-object.js +161 -0
  1504. package/src/ui/store/actions/navigation/modals/table-erase-modal.tsx +65 -0
  1505. package/src/ui/store/actions/navigation/modals/table-merge-sort-modal.tsx +207 -0
  1506. package/src/ui/store/actions/navigation/path-editor/path-editor.js +48 -0
  1507. package/src/ui/store/actions/navigation/path-editor/path-editor.spec.js +152 -0
  1508. package/src/ui/store/actions/navigation/tabs/access-log/access-log.ts +136 -0
  1509. package/src/ui/store/actions/navigation/tabs/annotation.js +66 -0
  1510. package/src/ui/store/actions/navigation/tabs/consumer/filters.ts +56 -0
  1511. package/src/ui/store/actions/navigation/tabs/consumer/partitions.ts +42 -0
  1512. package/src/ui/store/actions/navigation/tabs/consumer/status.ts +45 -0
  1513. package/src/ui/store/actions/navigation/tabs/locks.js +106 -0
  1514. package/src/ui/store/actions/navigation/tabs/queue/filters.ts +82 -0
  1515. package/src/ui/store/actions/navigation/tabs/queue/partitions.ts +39 -0
  1516. package/src/ui/store/actions/navigation/tabs/queue/status.ts +42 -0
  1517. package/src/ui/store/actions/navigation/tabs/schema.js +8 -0
  1518. package/src/ui/store/actions/navigation/tabs/tablet-errors.ts +145 -0
  1519. package/src/ui/store/actions/navigation/tabs/tablets.js +100 -0
  1520. package/src/ui/store/actions/navigation/tabs/user-attributes.js +52 -0
  1521. package/src/ui/store/actions/operations/detail.js +234 -0
  1522. package/src/ui/store/actions/operations/index.js +99 -0
  1523. package/src/ui/store/actions/operations/jobs-monitor.ts +39 -0
  1524. package/src/ui/store/actions/operations/jobs.js +290 -0
  1525. package/src/ui/store/actions/operations/list.js +327 -0
  1526. package/src/ui/store/actions/operations/monitor.ts +19 -0
  1527. package/src/ui/store/actions/operations/statistics.js +52 -0
  1528. package/src/ui/store/actions/operations/utils.js +114 -0
  1529. package/src/ui/store/actions/path-viewer.js +95 -0
  1530. package/src/ui/store/actions/scheduling/create-pool-dialog.tsx +148 -0
  1531. package/src/ui/store/actions/scheduling/monitor.ts +24 -0
  1532. package/src/ui/store/actions/scheduling/scheduling-operations.tsx +314 -0
  1533. package/src/ui/store/actions/scheduling/scheduling-ts.ts +105 -0
  1534. package/src/ui/store/actions/scheduling/scheduling.js +649 -0
  1535. package/src/ui/store/actions/settings/index.ts +134 -0
  1536. package/src/ui/store/actions/settings/settings.ts +223 -0
  1537. package/src/ui/store/actions/slideoutMenu.ts +95 -0
  1538. package/src/ui/store/actions/suggests/index.ts +41 -0
  1539. package/src/ui/store/actions/system/chunks.js +211 -0
  1540. package/src/ui/store/actions/system/index.js +65 -0
  1541. package/src/ui/store/actions/system/masters.js +420 -0
  1542. package/src/ui/store/actions/system/nodes.js +105 -0
  1543. package/src/ui/store/actions/system/proxies.js +71 -0
  1544. package/src/ui/store/actions/system/resources.js +99 -0
  1545. package/src/ui/store/actions/system/rpc-proxies.js +74 -0
  1546. package/src/ui/store/actions/system/schedulers.js +125 -0
  1547. package/src/ui/store/actions/tables.ts +62 -0
  1548. package/src/ui/store/actions/tablet/stores.js +62 -0
  1549. package/src/ui/store/actions/tablet/tablet.js +202 -0
  1550. package/src/ui/store/actions/tablet_cell_bundles/index.ts +206 -0
  1551. package/src/ui/store/actions/tablet_cell_bundles/tablet-cell-bundle-editor.ts +279 -0
  1552. package/src/ui/store/actions/users.js +171 -0
  1553. package/src/ui/store/index.ts +34 -0
  1554. package/src/ui/store/location.ts +274 -0
  1555. package/src/ui/store/reducers/accounts/accounts/index.js +190 -0
  1556. package/src/ui/store/reducers/accounts/accounts/url-mapping.ts +189 -0
  1557. package/src/ui/store/reducers/accounts/editor/index.js +74 -0
  1558. package/src/ui/store/reducers/accounts/index.ts +11 -0
  1559. package/src/ui/store/reducers/accounts/usage/account-usage-types.d.ts +56 -0
  1560. package/src/ui/store/reducers/accounts/usage/accounts-usage-filters.ts +65 -0
  1561. package/src/ui/store/reducers/accounts/usage/accounts-usage-list-diff.ts +62 -0
  1562. package/src/ui/store/reducers/accounts/usage/accounts-usage-list.ts +52 -0
  1563. package/src/ui/store/reducers/accounts/usage/accounts-usage-snapshots.ts +52 -0
  1564. package/src/ui/store/reducers/accounts/usage/accounts-usage-tree-diff.ts +59 -0
  1565. package/src/ui/store/reducers/accounts/usage/accounts-usage-tree.ts +52 -0
  1566. package/src/ui/store/reducers/accounts/usage/index.ts +17 -0
  1567. package/src/ui/store/reducers/acl/acl.js +180 -0
  1568. package/src/ui/store/reducers/actions.js +92 -0
  1569. package/src/ui/store/reducers/chaos_cell_bundles/index.ts +190 -0
  1570. package/src/ui/store/reducers/chaos_cell_bundles/tablet-cell-bundle-editor.ts +64 -0
  1571. package/src/ui/store/reducers/chaos_cell_bundles/url-mapping.ts +94 -0
  1572. package/src/ui/store/reducers/clusters-menu/clusters-menu.js +73 -0
  1573. package/src/ui/store/reducers/clusters-menu/url-mapping.ts +40 -0
  1574. package/src/ui/store/reducers/components/ban-unban.js +70 -0
  1575. package/src/ui/store/reducers/components/decommission.ts +25 -0
  1576. package/src/ui/store/reducers/components/index.ts +21 -0
  1577. package/src/ui/store/reducers/components/node/index.ts +9 -0
  1578. package/src/ui/store/reducers/components/node/memory.ts +86 -0
  1579. package/src/ui/store/reducers/components/node/node.ts +70 -0
  1580. package/src/ui/store/reducers/components/nodes/actions/disable-enable.js +103 -0
  1581. package/src/ui/store/reducers/components/nodes/actions/set-resources-limits.js +47 -0
  1582. package/src/ui/store/reducers/components/nodes/index.js +13 -0
  1583. package/src/ui/store/reducers/components/nodes/nodes/node.tsx +521 -0
  1584. package/src/ui/store/reducers/components/nodes/nodes/nodes.ts +177 -0
  1585. package/src/ui/store/reducers/components/nodes/setup/setup.ts +214 -0
  1586. package/src/ui/store/reducers/components/nodes/url-mapping.ts +185 -0
  1587. package/src/ui/store/reducers/components/proxies/actions/change-role.js +33 -0
  1588. package/src/ui/store/reducers/components/proxies/index.js +9 -0
  1589. package/src/ui/store/reducers/components/proxies/proxies/proxies.js +70 -0
  1590. package/src/ui/store/reducers/components/proxies/proxies/proxy.js +24 -0
  1591. package/src/ui/store/reducers/components/proxies/proxies/url-mapping.ts +54 -0
  1592. package/src/ui/store/reducers/components/shards.js +107 -0
  1593. package/src/ui/store/reducers/components/versions/index.js +163 -0
  1594. package/src/ui/store/reducers/components/versions/index.spec.js +378 -0
  1595. package/src/ui/store/reducers/components/versions/url-mapping_v2.ts +72 -0
  1596. package/src/ui/store/reducers/components/versions/versions_v2.js +134 -0
  1597. package/src/ui/store/reducers/dashboard/index.js +15 -0
  1598. package/src/ui/store/reducers/dashboard/url-mapping.js +47 -0
  1599. package/src/ui/store/reducers/execute-batch.ts +55 -0
  1600. package/src/ui/store/reducers/global/cluster-ui-config.ts +9 -0
  1601. package/src/ui/store/reducers/global/index.js +222 -0
  1602. package/src/ui/store/reducers/global/supported-features.ts +58 -0
  1603. package/src/ui/store/reducers/groups/editor.js +56 -0
  1604. package/src/ui/store/reducers/groups/index.js +8 -0
  1605. package/src/ui/store/reducers/groups/table.js +53 -0
  1606. package/src/ui/store/reducers/groups/url-mapping.ts +25 -0
  1607. package/src/ui/store/reducers/index.ts +125 -0
  1608. package/src/ui/store/reducers/job/competitors.ts +56 -0
  1609. package/src/ui/store/reducers/job/general.ts +81 -0
  1610. package/src/ui/store/reducers/job/index.ts +13 -0
  1611. package/src/ui/store/reducers/job/specification.ts +99 -0
  1612. package/src/ui/store/reducers/job/statistics.ts +69 -0
  1613. package/src/ui/store/reducers/modals/attributes-modal.js +52 -0
  1614. package/src/ui/store/reducers/modals/errors.ts +50 -0
  1615. package/src/ui/store/reducers/modals/index.js +9 -0
  1616. package/src/ui/store/reducers/navigation/content/document.js +42 -0
  1617. package/src/ui/store/reducers/navigation/content/file.js +42 -0
  1618. package/src/ui/store/reducers/navigation/content/index.ts +21 -0
  1619. package/src/ui/store/reducers/navigation/content/map-node/map-node.js +136 -0
  1620. package/src/ui/store/reducers/navigation/content/map-node/url-mapping.ts +46 -0
  1621. package/src/ui/store/reducers/navigation/content/replicated-table.ts +83 -0
  1622. package/src/ui/store/reducers/navigation/content/table/table-mount-config.ts +42 -0
  1623. package/src/ui/store/reducers/navigation/content/table/table.js +188 -0
  1624. package/src/ui/store/reducers/navigation/content/table/url-mapping.ts +42 -0
  1625. package/src/ui/store/reducers/navigation/content/transaction-map/transaction-map.js +61 -0
  1626. package/src/ui/store/reducers/navigation/content/transaction-map/url-mapping.ts +41 -0
  1627. package/src/ui/store/reducers/navigation/content/transaction.js +31 -0
  1628. package/src/ui/store/reducers/navigation/index.ts +15 -0
  1629. package/src/ui/store/reducers/navigation/modals/attributes-editor.ts +69 -0
  1630. package/src/ui/store/reducers/navigation/modals/copy-object.js +89 -0
  1631. package/src/ui/store/reducers/navigation/modals/create-directory.js +79 -0
  1632. package/src/ui/store/reducers/navigation/modals/create-table.js +37 -0
  1633. package/src/ui/store/reducers/navigation/modals/delete-object.js +107 -0
  1634. package/src/ui/store/reducers/navigation/modals/dyn-tables-state-modal.ts +32 -0
  1635. package/src/ui/store/reducers/navigation/modals/index.ts +29 -0
  1636. package/src/ui/store/reducers/navigation/modals/link-to-modal.ts +23 -0
  1637. package/src/ui/store/reducers/navigation/modals/move-object.js +88 -0
  1638. package/src/ui/store/reducers/navigation/modals/remote-copy-modal.ts +30 -0
  1639. package/src/ui/store/reducers/navigation/modals/restore-object.js +76 -0
  1640. package/src/ui/store/reducers/navigation/modals/table-erase-modal.ts +21 -0
  1641. package/src/ui/store/reducers/navigation/modals/table-merge-sort-modal.ts +36 -0
  1642. package/src/ui/store/reducers/navigation/navigation.js +103 -0
  1643. package/src/ui/store/reducers/navigation/path-editor/path-editor.js +49 -0
  1644. package/src/ui/store/reducers/navigation/path-editor/path-editor.spec.js +66 -0
  1645. package/src/ui/store/reducers/navigation/tabs/access-log/access-log-filters.ts +96 -0
  1646. package/src/ui/store/reducers/navigation/tabs/access-log/access-log.ts +100 -0
  1647. package/src/ui/store/reducers/navigation/tabs/access-log/index.ts +9 -0
  1648. package/src/ui/store/reducers/navigation/tabs/access-log/url-mapping.ts +94 -0
  1649. package/src/ui/store/reducers/navigation/tabs/acl/url-mapping.ts +31 -0
  1650. package/src/ui/store/reducers/navigation/tabs/annotation.js +31 -0
  1651. package/src/ui/store/reducers/navigation/tabs/consumer/filters.ts +69 -0
  1652. package/src/ui/store/reducers/navigation/tabs/consumer/index.ts +11 -0
  1653. package/src/ui/store/reducers/navigation/tabs/consumer/partitions.ts +56 -0
  1654. package/src/ui/store/reducers/navigation/tabs/consumer/status.ts +56 -0
  1655. package/src/ui/store/reducers/navigation/tabs/consumer/types.ts +29 -0
  1656. package/src/ui/store/reducers/navigation/tabs/consumer/url-mapping.ts +40 -0
  1657. package/src/ui/store/reducers/navigation/tabs/index.ts +23 -0
  1658. package/src/ui/store/reducers/navigation/tabs/locks.js +50 -0
  1659. package/src/ui/store/reducers/navigation/tabs/queue/filters.ts +74 -0
  1660. package/src/ui/store/reducers/navigation/tabs/queue/index.ts +11 -0
  1661. package/src/ui/store/reducers/navigation/tabs/queue/partitions.ts +56 -0
  1662. package/src/ui/store/reducers/navigation/tabs/queue/status.ts +56 -0
  1663. package/src/ui/store/reducers/navigation/tabs/queue/types.ts +49 -0
  1664. package/src/ui/store/reducers/navigation/tabs/queue/url-mapping.ts +76 -0
  1665. package/src/ui/store/reducers/navigation/tabs/schema/schema.js +15 -0
  1666. package/src/ui/store/reducers/navigation/tabs/schema/url-mapping.ts +21 -0
  1667. package/src/ui/store/reducers/navigation/tabs/tablet-errors.ts +63 -0
  1668. package/src/ui/store/reducers/navigation/tabs/tablets/tablets.js +78 -0
  1669. package/src/ui/store/reducers/navigation/tabs/tablets/url-mapping.ts +36 -0
  1670. package/src/ui/store/reducers/navigation/tabs/user-attributes.js +42 -0
  1671. package/src/ui/store/reducers/navigation/url-mapping.ts +114 -0
  1672. package/src/ui/store/reducers/operations/detail.js +137 -0
  1673. package/src/ui/store/reducers/operations/index.ts +17 -0
  1674. package/src/ui/store/reducers/operations/jobs/jobs-monitor.ts +51 -0
  1675. package/src/ui/store/reducers/operations/jobs/jobs.js +292 -0
  1676. package/src/ui/store/reducers/operations/jobs/url-mapping.ts +135 -0
  1677. package/src/ui/store/reducers/operations/list/list.ts +366 -0
  1678. package/src/ui/store/reducers/operations/list/url-mapping.ts +123 -0
  1679. package/src/ui/store/reducers/operations/page.js +93 -0
  1680. package/src/ui/store/reducers/operations/statistics/statistics.ts +100 -0
  1681. package/src/ui/store/reducers/operations/statistics/url-mapping.ts +33 -0
  1682. package/src/ui/store/reducers/path-viewer/index.js +79 -0
  1683. package/src/ui/store/reducers/path-viewer/url-mapping.ts +51 -0
  1684. package/src/ui/store/reducers/scheduling/create-pool-dialog.ts +82 -0
  1685. package/src/ui/store/reducers/scheduling/index.ts +252 -0
  1686. package/src/ui/store/reducers/scheduling/scheduling-operations.ts +80 -0
  1687. package/src/ui/store/reducers/scheduling/url-mapping.ts +114 -0
  1688. package/src/ui/store/reducers/settings.ts +70 -0
  1689. package/src/ui/store/reducers/slideoutMenu.js +68 -0
  1690. package/src/ui/store/reducers/suggests/index.ts +7 -0
  1691. package/src/ui/store/reducers/suggests/tablet-cell-bundless.ts +51 -0
  1692. package/src/ui/store/reducers/system/chunks.js +30 -0
  1693. package/src/ui/store/reducers/system/index.js +19 -0
  1694. package/src/ui/store/reducers/system/masters.ts +394 -0
  1695. package/src/ui/store/reducers/system/nodes.js +209 -0
  1696. package/src/ui/store/reducers/system/proxies.js +54 -0
  1697. package/src/ui/store/reducers/system/resources.js +38 -0
  1698. package/src/ui/store/reducers/system/rpc-proxies.js +36 -0
  1699. package/src/ui/store/reducers/system/schedulers.js +38 -0
  1700. package/src/ui/store/reducers/tables.js +73 -0
  1701. package/src/ui/store/reducers/tablet/index.js +9 -0
  1702. package/src/ui/store/reducers/tablet/stores.js +43 -0
  1703. package/src/ui/store/reducers/tablet/tablet.js +71 -0
  1704. package/src/ui/store/reducers/tablet/url-mapping.ts +44 -0
  1705. package/src/ui/store/reducers/tablet_cell_bundles/index.ts +296 -0
  1706. package/src/ui/store/reducers/tablet_cell_bundles/tablet-cell-bundle-editor.ts +87 -0
  1707. package/src/ui/store/reducers/tablet_cell_bundles/url-mapping.ts +93 -0
  1708. package/src/ui/store/reducers/url-mapping.ts +23 -0
  1709. package/src/ui/store/reducers/users/edit-user.js +48 -0
  1710. package/src/ui/store/reducers/users/index.js +8 -0
  1711. package/src/ui/store/reducers/users/table.js +54 -0
  1712. package/src/ui/store/reducers/users/url-mapping.ts +35 -0
  1713. package/src/ui/store/reducers/utils.ts +25 -0
  1714. package/src/ui/store/selectors/accounts/account-usage.ts +335 -0
  1715. package/src/ui/store/selectors/accounts/accounts-ts.ts +625 -0
  1716. package/src/ui/store/selectors/accounts/accounts.js +274 -0
  1717. package/src/ui/store/selectors/accounts/dashboard.js +46 -0
  1718. package/src/ui/store/selectors/acl.js +287 -0
  1719. package/src/ui/store/selectors/chaos_cell_bundles/index.ts +272 -0
  1720. package/src/ui/store/selectors/chaos_cell_bundles/tablet-cell-bundle-editor.ts +3 -0
  1721. package/src/ui/store/selectors/components/node/memory.ts +361 -0
  1722. package/src/ui/store/selectors/components/node/node.ts +7 -0
  1723. package/src/ui/store/selectors/components/nodes/decommission.ts +3 -0
  1724. package/src/ui/store/selectors/components/nodes/filters-presets.js +19 -0
  1725. package/src/ui/store/selectors/components/nodes/node-card.ts +19 -0
  1726. package/src/ui/store/selectors/components/nodes/nodes/data.ts +141 -0
  1727. package/src/ui/store/selectors/components/nodes/nodes/index.ts +2 -0
  1728. package/src/ui/store/selectors/components/nodes/nodes/predicates.ts +536 -0
  1729. package/src/ui/store/selectors/components/proxies/proxies.js +101 -0
  1730. package/src/ui/store/selectors/components/versions/versions_v2-ts.ts +52 -0
  1731. package/src/ui/store/selectors/components/versions/versions_v2.js +168 -0
  1732. package/src/ui/store/selectors/execute-batch.ts +5 -0
  1733. package/src/ui/store/selectors/favourites.js +111 -0
  1734. package/src/ui/store/selectors/global/index.ts +187 -0
  1735. package/src/ui/store/selectors/global/supported-features.ts +184 -0
  1736. package/src/ui/store/selectors/groups.js +158 -0
  1737. package/src/ui/store/selectors/histogram.js +46 -0
  1738. package/src/ui/store/selectors/job/detail.ts +175 -0
  1739. package/src/ui/store/selectors/job/statistics.ts +89 -0
  1740. package/src/ui/store/selectors/modals/errors.ts +10 -0
  1741. package/src/ui/store/selectors/navigation/content/document.ts +14 -0
  1742. package/src/ui/store/selectors/navigation/content/file.js +36 -0
  1743. package/src/ui/store/selectors/navigation/content/map-node-ts.ts +46 -0
  1744. package/src/ui/store/selectors/navigation/content/map-node.js +329 -0
  1745. package/src/ui/store/selectors/navigation/content/replicated-table.ts +68 -0
  1746. package/src/ui/store/selectors/navigation/content/table-mount-config.ts +19 -0
  1747. package/src/ui/store/selectors/navigation/content/table-ts.ts +80 -0
  1748. package/src/ui/store/selectors/navigation/content/table.js +198 -0
  1749. package/src/ui/store/selectors/navigation/content/transaction-map.js +36 -0
  1750. package/src/ui/store/selectors/navigation/index.js +42 -0
  1751. package/src/ui/store/selectors/navigation/modals/attributes-editor.ts +63 -0
  1752. package/src/ui/store/selectors/navigation/modals/create-table.js +22 -0
  1753. package/src/ui/store/selectors/navigation/modals/dyn-tables-state-modal.ts +8 -0
  1754. package/src/ui/store/selectors/navigation/modals/link-to-modal.ts +3 -0
  1755. package/src/ui/store/selectors/navigation/modals/remote-copy-modal.ts +32 -0
  1756. package/src/ui/store/selectors/navigation/modals/table-erase-modal.ts +6 -0
  1757. package/src/ui/store/selectors/navigation/modals/table-merge-sort-modal.tsx +12 -0
  1758. package/src/ui/store/selectors/navigation/navigation.ts +124 -0
  1759. package/src/ui/store/selectors/navigation/tabs/access-log.ts +109 -0
  1760. package/src/ui/store/selectors/navigation/tabs/annotation.ts +20 -0
  1761. package/src/ui/store/selectors/navigation/tabs/consumer.ts +74 -0
  1762. package/src/ui/store/selectors/navigation/tabs/locks.ts +27 -0
  1763. package/src/ui/store/selectors/navigation/tabs/queue.ts +111 -0
  1764. package/src/ui/store/selectors/navigation/tabs/schema.js +80 -0
  1765. package/src/ui/store/selectors/navigation/tabs/tablet-errors.ts +94 -0
  1766. package/src/ui/store/selectors/navigation/tabs/tablets-ts.ts +185 -0
  1767. package/src/ui/store/selectors/navigation/tabs/tablets.js +83 -0
  1768. package/src/ui/store/selectors/navigation/tabs/user-attributes.js +19 -0
  1769. package/src/ui/store/selectors/operations/index.ts +186 -0
  1770. package/src/ui/store/selectors/operations/jobs-monitor.ts +58 -0
  1771. package/src/ui/store/selectors/operations/jobs.ts +4 -0
  1772. package/src/ui/store/selectors/operations/operation.ts +158 -0
  1773. package/src/ui/store/selectors/operations/operations-list.ts +112 -0
  1774. package/src/ui/store/selectors/operations/statistics.js +41 -0
  1775. package/src/ui/store/selectors/scheduling/create-pool-dialog.ts +31 -0
  1776. package/src/ui/store/selectors/scheduling/index.ts +15 -0
  1777. package/src/ui/store/selectors/scheduling/monitor.ts +6 -0
  1778. package/src/ui/store/selectors/scheduling/scheduling-operations.ts +23 -0
  1779. package/src/ui/store/selectors/scheduling/scheduling-pools.ts +177 -0
  1780. package/src/ui/store/selectors/scheduling/scheduling-ts.tsx +244 -0
  1781. package/src/ui/store/selectors/scheduling/scheduling.ts +335 -0
  1782. package/src/ui/store/selectors/settings-ts.ts +138 -0
  1783. package/src/ui/store/selectors/settings.js +220 -0
  1784. package/src/ui/store/selectors/slideoutMenu.ts +130 -0
  1785. package/src/ui/store/selectors/suggests/index.ts +4 -0
  1786. package/src/ui/store/selectors/system/index.js +4 -0
  1787. package/src/ui/store/selectors/system/masters.ts +53 -0
  1788. package/src/ui/store/selectors/system/schedulers.js +106 -0
  1789. package/src/ui/store/selectors/tables.js +3 -0
  1790. package/src/ui/store/selectors/tablet/stores.js +11 -0
  1791. package/src/ui/store/selectors/tablet/tablet.js +50 -0
  1792. package/src/ui/store/selectors/tablet_cell_bundles/index.ts +387 -0
  1793. package/src/ui/store/selectors/tablet_cell_bundles/tablet-cell-bundle-editor.ts +5 -0
  1794. package/src/ui/store/selectors/thor/.eslintrc +5 -0
  1795. package/src/ui/store/selectors/thor/index.js +17 -0
  1796. package/src/ui/store/selectors/thor/support.js +239 -0
  1797. package/src/ui/store/selectors/thor/support.spec.js +209 -0
  1798. package/src/ui/store/selectors/thor/unipika.ts +56 -0
  1799. package/src/ui/store/selectors/users.js +47 -0
  1800. package/src/ui/store/window-store.ts +34 -0
  1801. package/src/ui/styles/common.scss +43 -0
  1802. package/src/ui/styles/fonts.scss +22 -0
  1803. package/src/ui/styles/mixins.scss +68 -0
  1804. package/src/ui/styles/redefinitions/DataTable.scss +14 -0
  1805. package/src/ui/styles/redefinitions/chartkit.scss +14 -0
  1806. package/src/ui/styles/redefinitions/common/Breadcrumbs.scss +20 -0
  1807. package/src/ui/styles/redefinitions/common/common.scss +5 -0
  1808. package/src/ui/styles/redefinitions/common/icon.scss +9 -0
  1809. package/src/ui/styles/redefinitions/common/link.scss +29 -0
  1810. package/src/ui/styles/redefinitions/common/progress.scss +35 -0
  1811. package/src/ui/styles/redefinitions/redefinitions.scss +43 -0
  1812. package/src/ui/styles/themes/dark-theme.scss +128 -0
  1813. package/src/ui/styles/themes/light-theme.scss +130 -0
  1814. package/src/ui/tsconfig.json +16 -0
  1815. package/src/ui/types/index.ts +56 -0
  1816. package/src/ui/types/job/index.ts +210 -0
  1817. package/src/ui/types/node/node.ts +83 -0
  1818. package/src/ui/utils/accounts/accounts-selector.ts +348 -0
  1819. package/src/ui/utils/accounts/accounts.ts +14 -0
  1820. package/src/ui/utils/accounts/accountsTotal.ts +283 -0
  1821. package/src/ui/utils/accounts/editor.js +195 -0
  1822. package/src/ui/utils/accounts/index.ts +111 -0
  1823. package/src/ui/utils/accounts/tables.js +339 -0
  1824. package/src/ui/utils/acl/acl-api.ts +146 -0
  1825. package/src/ui/utils/acl/acl-types.ts +245 -0
  1826. package/src/ui/utils/acl/external-acl-api.ts +102 -0
  1827. package/src/ui/utils/acl/index.ts +118 -0
  1828. package/src/ui/utils/actions.js +1 -0
  1829. package/src/ui/utils/app-url.ts +15 -0
  1830. package/src/ui/utils/axios-no-xsrf.js +8 -0
  1831. package/src/ui/utils/cancel-helper.ts +36 -0
  1832. package/src/ui/utils/clusters.ts +26 -0
  1833. package/src/ui/utils/components/nodes/node.ts +52 -0
  1834. package/src/ui/utils/components/nodes/setup.ts +43 -0
  1835. package/src/ui/utils/components/nodes/tables.tsx +900 -0
  1836. package/src/ui/utils/components/proxies/table.js +68 -0
  1837. package/src/ui/utils/components/tablet-cells/index.js +221 -0
  1838. package/src/ui/utils/components/versions/index.js +177 -0
  1839. package/src/ui/utils/components/versions/tables.js +173 -0
  1840. package/src/ui/utils/components/versions/tables_v2.js +263 -0
  1841. package/src/ui/utils/cypress-attributes.ts +251 -0
  1842. package/src/ui/utils/errors/index.ts +22 -0
  1843. package/src/ui/utils/favourites.js +49 -0
  1844. package/src/ui/utils/hammer/updater.ts +56 -0
  1845. package/src/ui/utils/index.ts +340 -0
  1846. package/src/ui/utils/job/tabs/statistics.ts +83 -0
  1847. package/src/ui/utils/logger.ts +69 -0
  1848. package/src/ui/utils/navigation/content/map-nodes/node.js +119 -0
  1849. package/src/ui/utils/navigation/content/table/columns.js +222 -0
  1850. package/src/ui/utils/navigation/content/table/query.js +122 -0
  1851. package/src/ui/utils/navigation/content/table/table-ts.ts +27 -0
  1852. package/src/ui/utils/navigation/content/table/table.js +97 -0
  1853. package/src/ui/utils/navigation/content/transaction-map/table.js +36 -0
  1854. package/src/ui/utils/navigation/content/transaction-map/transaction.js +20 -0
  1855. package/src/ui/utils/navigation/favourites.js +43 -0
  1856. package/src/ui/utils/navigation/index.ts +152 -0
  1857. package/src/ui/utils/navigation/navigation.ts +5 -0
  1858. package/src/ui/utils/navigation/path-editing-popup.js +22 -0
  1859. package/src/ui/utils/navigation/path-editor.js +111 -0
  1860. package/src/ui/utils/navigation/restore-object.js +32 -0
  1861. package/src/ui/utils/navigation/tabs/access-log.ts +98 -0
  1862. package/src/ui/utils/navigation/tabs/tables.js +360 -0
  1863. package/src/ui/utils/navigation/tabs/tablets.js +50 -0
  1864. package/src/ui/utils/operations/detail.js +128 -0
  1865. package/src/ui/utils/operations/jobs.ts +12 -0
  1866. package/src/ui/utils/operations/list.js +10 -0
  1867. package/src/ui/utils/operations/tabs/details/alerts.ts +18 -0
  1868. package/src/ui/utils/operations/tabs/details/data-flow.js +121 -0
  1869. package/src/ui/utils/operations/tabs/details/error.js +7 -0
  1870. package/src/ui/utils/operations/tabs/details/events/events.js +119 -0
  1871. package/src/ui/utils/operations/tabs/details/events/eventsTablesProps.js +104 -0
  1872. package/src/ui/utils/operations/tabs/details/resources/resourcesTablesProps.js +96 -0
  1873. package/src/ui/utils/operations/tabs/details/runtime.js +24 -0
  1874. package/src/ui/utils/operations/tabs/details/specification/specification.js +407 -0
  1875. package/src/ui/utils/operations/tabs/details/specification/specificationTablesProps.js +69 -0
  1876. package/src/ui/utils/operations/tabs/details/tasks.js +296 -0
  1877. package/src/ui/utils/operations/tabs/statistics/statistics.js +117 -0
  1878. package/src/ui/utils/operations/tabs/statistics/statisticsTableProps.js +52 -0
  1879. package/src/ui/utils/parse-serialize.spec.ts +47 -0
  1880. package/src/ui/utils/parse-serialize.ts +143 -0
  1881. package/src/ui/utils/poolTrees.ts +59 -0
  1882. package/src/ui/utils/progress.ts +48 -0
  1883. package/src/ui/utils/scheduling/details.js +29 -0
  1884. package/src/ui/utils/scheduling/detailsTable.js +381 -0
  1885. package/src/ui/utils/scheduling/index.ts +15 -0
  1886. package/src/ui/utils/scheduling/overview.js +68 -0
  1887. package/src/ui/utils/scheduling/overviewTable.js +107 -0
  1888. package/src/ui/utils/scheduling/pool-child.js +167 -0
  1889. package/src/ui/utils/scheduling/scheduling.ts +270 -0
  1890. package/src/ui/utils/sort-helpers.spec.ts +1038 -0
  1891. package/src/ui/utils/sort-helpers.ts +285 -0
  1892. package/src/ui/utils/system/proxies.js +69 -0
  1893. package/src/ui/utils/tablet/partition.js +25 -0
  1894. package/src/ui/utils/tablet/store.js +24 -0
  1895. package/src/ui/utils/tablet/stores.js +27 -0
  1896. package/src/ui/utils/tablet/table.js +107 -0
  1897. package/src/ui/utils/tablet/tablet.js +38 -0
  1898. package/src/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.ts +270 -0
  1899. package/src/ui/utils/tablet_cell_bundles.ts +12 -0
  1900. package/src/ui/utils/url-mapping.spec.ts +105 -0
  1901. package/src/ui/utils/url-mapping.ts +63 -0
  1902. package/src/ui/utils/users-groups.ts +29 -0
  1903. package/src/ui/utils/utils.tsx +397 -0
  1904. package/src/ui/utils/yt-local-storage.ts +32 -0
  1905. package/tsconfig.json +7 -0
  1906. package/tsconfig.publish.json +13 -0
@@ -0,0 +1,2215 @@
1
+ // @ts-ignore
2
+ import unipika from '@gravity-ui/unipika/lib/unipika';
3
+ import {flattenUnipika, FlattenUnipikaResult, UnipikaFlattenTree} from './flattenUnipika';
4
+
5
+ describe('flattenUnipika', () => {
6
+ describe('YSON', () => {
7
+ describe('YSON without attributes', () => {
8
+ it('null', () => {
9
+ const converted = unipika.converters.raw(null);
10
+ const expected: UnipikaFlattenTree = [
11
+ {
12
+ level: 0,
13
+ value: {$value: null, $type: 'null'},
14
+ },
15
+ ];
16
+ expect(flattenUnipika(converted)).toEqual({
17
+ data: expected,
18
+ searchIndex: {},
19
+ });
20
+ });
21
+ it('number', () => {
22
+ const converted = unipika.converters.raw(123);
23
+ const expected: UnipikaFlattenTree = [
24
+ {
25
+ level: 0,
26
+ value: {$type: 'number', $value: 123},
27
+ },
28
+ ];
29
+ expect(flattenUnipika(converted)).toEqual({
30
+ data: expected,
31
+ searchIndex: {},
32
+ });
33
+ });
34
+ it('string', () => {
35
+ const converted = unipika.converters.raw('hello');
36
+ const expected: UnipikaFlattenTree = [
37
+ {
38
+ level: 0,
39
+ value: {$value: 'hello', $type: 'string'},
40
+ },
41
+ ];
42
+ expect(flattenUnipika(converted)).toEqual({
43
+ data: expected,
44
+ searchIndex: {},
45
+ });
46
+ });
47
+ it('boolean', () => {
48
+ const converted = unipika.converters.raw(true);
49
+ const expected: UnipikaFlattenTree = [
50
+ {
51
+ level: 0,
52
+ value: {$value: true, $type: 'boolean'},
53
+ },
54
+ ];
55
+ expect(flattenUnipika(converted)).toEqual({
56
+ data: expected,
57
+ searchIndex: {},
58
+ });
59
+ });
60
+ it('list', () => {
61
+ const converted = unipika.converters.raw([1, 2, 'three']);
62
+ const expected: UnipikaFlattenTree = [
63
+ {level: 0, open: 'array'},
64
+ {
65
+ level: 1,
66
+ value: {$type: 'number', $value: 1},
67
+ hasDelimiter: true,
68
+ },
69
+ {
70
+ level: 1,
71
+ value: {$type: 'number', $value: 2},
72
+ hasDelimiter: true,
73
+ },
74
+ {level: 1, value: {$type: 'string', $value: 'three'}},
75
+ {level: 0, close: 'array'},
76
+ ];
77
+ expect(flattenUnipika(converted)).toEqual({
78
+ data: expected,
79
+ searchIndex: {},
80
+ });
81
+ });
82
+ it('map', () => {
83
+ const converted = unipika.converters.raw({
84
+ a: 'A',
85
+ b: 'B',
86
+ c: 'C',
87
+ });
88
+ const expected: UnipikaFlattenTree = [
89
+ {level: 0, open: 'object'},
90
+ {
91
+ level: 1,
92
+ key: {$key: true, $value: 'a', $type: 'string'},
93
+ value: {$value: 'A', $type: 'string'},
94
+ hasDelimiter: true,
95
+ },
96
+ {
97
+ level: 1,
98
+ key: {$key: true, $value: 'b', $type: 'string'},
99
+ value: {$value: 'B', $type: 'string'},
100
+ hasDelimiter: true,
101
+ },
102
+ {
103
+ level: 1,
104
+ key: {$key: true, $value: 'c', $type: 'string'},
105
+ value: {$value: 'C', $type: 'string'},
106
+ },
107
+ {level: 0, close: 'object'},
108
+ ];
109
+ expect(flattenUnipika(converted)).toEqual({
110
+ data: expected,
111
+ searchIndex: {},
112
+ });
113
+ });
114
+ it('list -> map -> list', () => {
115
+ const converted = unipika.converters.raw([
116
+ 'a',
117
+ {
118
+ b: 'B',
119
+ c: [1, 2],
120
+ },
121
+ ]);
122
+ const expected: UnipikaFlattenTree = [
123
+ {level: 0, open: 'array'},
124
+ {
125
+ level: 1,
126
+ value: {$type: 'string', $value: 'a'},
127
+ hasDelimiter: true,
128
+ },
129
+ {level: 1, open: 'object', path: '1'},
130
+ {
131
+ level: 2,
132
+ key: {$key: true, $value: 'b', $type: 'string'},
133
+ value: {$type: 'string', $value: 'B'},
134
+ hasDelimiter: true,
135
+ },
136
+ {
137
+ level: 2,
138
+ key: {$key: true, $value: 'c', $type: 'string'},
139
+ open: 'array',
140
+ path: '1/c',
141
+ },
142
+ {
143
+ level: 3,
144
+ value: {$type: 'number', $value: 1},
145
+ hasDelimiter: true,
146
+ },
147
+ {level: 3, value: {$type: 'number', $value: 2}},
148
+ {level: 2, close: 'array'},
149
+ {level: 1, close: 'object'},
150
+ {level: 0, close: 'array'},
151
+ ];
152
+ expect(flattenUnipika(converted)).toEqual({
153
+ data: expected,
154
+ searchIndex: {},
155
+ });
156
+ });
157
+ it('list -> list -> list', () => {
158
+ const converted = unipika.converters.raw([1, [2, [3, 4], 5], 6]);
159
+ const expected: UnipikaFlattenTree = [
160
+ {level: 0, open: 'array'},
161
+ {
162
+ level: 1,
163
+ value: makeRawValue(1, 'number'),
164
+ hasDelimiter: true,
165
+ },
166
+ {level: 1, open: 'array', path: '1'},
167
+ {
168
+ level: 2,
169
+ value: makeRawValue(2, 'number'),
170
+ hasDelimiter: true,
171
+ },
172
+ {level: 2, open: 'array', path: '1/1'},
173
+ {
174
+ level: 3,
175
+ value: makeRawValue(3, 'number'),
176
+ hasDelimiter: true,
177
+ },
178
+ {level: 3, value: makeRawValue(4, 'number')},
179
+ {level: 2, close: 'array', hasDelimiter: true},
180
+ {level: 2, value: makeRawValue(5, 'number')},
181
+ {level: 1, close: 'array', hasDelimiter: true},
182
+ {level: 1, value: makeRawValue(6, 'number')},
183
+ {level: 0, close: 'array'},
184
+ ];
185
+ expect(flattenUnipika(converted)).toEqual({
186
+ data: expected,
187
+ searchIndex: {},
188
+ });
189
+ });
190
+ it('map -> list -> map', () => {
191
+ const converted = unipika.converters.yson({
192
+ a: 'A',
193
+ b: [
194
+ 'C',
195
+ {
196
+ e: 'E',
197
+ },
198
+ 'F',
199
+ ],
200
+ g: 'G',
201
+ });
202
+ const expected: UnipikaFlattenTree = [
203
+ {level: 0, open: 'object'},
204
+ {
205
+ level: 1,
206
+ key: makeKey('a'),
207
+ value: makeValue('A', 'string'),
208
+ hasDelimiter: true,
209
+ },
210
+ {level: 1, key: makeKey('b'), open: 'array', path: 'b'},
211
+ {
212
+ level: 2,
213
+ value: makeValue('C', 'string'),
214
+ hasDelimiter: true,
215
+ },
216
+ {level: 2, open: 'object', path: 'b/1'},
217
+ {
218
+ level: 3,
219
+ key: makeKey('e'),
220
+ value: makeValue('E', 'string'),
221
+ },
222
+ {level: 2, close: 'object', hasDelimiter: true},
223
+ {level: 2, value: makeValue('F', 'string')},
224
+ {level: 1, close: 'array', hasDelimiter: true},
225
+ {
226
+ level: 1,
227
+ key: makeKey('g'),
228
+ value: makeValue('G', 'string'),
229
+ },
230
+ {level: 0, close: 'object'},
231
+ ];
232
+ expect(flattenUnipika(converted)).toEqual({
233
+ data: expected,
234
+ searchIndex: {},
235
+ });
236
+ });
237
+ it('map -> map -> map', () => {
238
+ const converted = unipika.converters.raw({
239
+ a: 'A',
240
+ b: {
241
+ c: 'C',
242
+ d: {
243
+ e: 'E',
244
+ },
245
+ f: 'F',
246
+ },
247
+ g: 'G',
248
+ });
249
+ const expected: UnipikaFlattenTree = [
250
+ {level: 0, open: 'object'},
251
+ {
252
+ level: 1,
253
+ key: makeRawKey('a'),
254
+ value: makeRawValue('A', 'string'),
255
+ hasDelimiter: true,
256
+ },
257
+ {
258
+ level: 1,
259
+ key: makeRawKey('b'),
260
+ open: 'object',
261
+ path: 'b',
262
+ },
263
+ {
264
+ level: 2,
265
+ key: makeRawKey('c'),
266
+ value: makeRawValue('C', 'string'),
267
+ hasDelimiter: true,
268
+ },
269
+ {
270
+ level: 2,
271
+ key: makeRawKey('d'),
272
+ open: 'object',
273
+ path: 'b/d',
274
+ },
275
+ {
276
+ level: 3,
277
+ key: makeRawKey('e'),
278
+ value: makeRawValue('E', 'string'),
279
+ },
280
+ {level: 2, close: 'object', hasDelimiter: true},
281
+ {
282
+ level: 2,
283
+ key: makeRawKey('f'),
284
+ value: makeRawValue('F', 'string'),
285
+ },
286
+ {level: 1, close: 'object', hasDelimiter: true},
287
+ {
288
+ level: 1,
289
+ key: makeRawKey('g'),
290
+ value: makeRawValue('G', 'string'),
291
+ },
292
+ {level: 0, close: 'object'},
293
+ ];
294
+ expect(flattenUnipika(converted)).toEqual({
295
+ data: expected,
296
+ searchIndex: {},
297
+ });
298
+ });
299
+ });
300
+
301
+ describe('YSON with attributes', () => {
302
+ it('null with attributes', () => {
303
+ const converted = unipika.converters.yson({
304
+ $value: null,
305
+ $attributes: {a: 'A'},
306
+ });
307
+ const expected: UnipikaFlattenTree = [
308
+ {level: 1, open: 'attributes', path: '@'},
309
+ {
310
+ level: 2,
311
+ key: makeKey('a'),
312
+ value: makeValue('A', 'string'),
313
+ },
314
+ {level: 1, close: 'attributes'},
315
+ {
316
+ level: 1,
317
+ value: makeValue(null, 'null'),
318
+ isAfterAttributes: true,
319
+ },
320
+ ];
321
+ expect(flattenUnipika(converted)).toEqual({
322
+ data: expected,
323
+ searchIndex: {},
324
+ });
325
+ });
326
+ it('number with deep attributes', () => {
327
+ const converted = unipika.converters.yson({
328
+ $attributes: {
329
+ schema: {
330
+ $attributes: {
331
+ columns: {
332
+ $value: ['a', 'b'],
333
+ },
334
+ writeable: false,
335
+ },
336
+ $value: [1, 2],
337
+ },
338
+ rowCount: 22,
339
+ },
340
+ $value: 123,
341
+ });
342
+ const expected: UnipikaFlattenTree = [
343
+ {level: 1, open: 'attributes', path: '@'},
344
+ {level: 2, key: makeKey('schema'), path: '@/schema'},
345
+ {level: 3, open: 'attributes', path: '@/schema/@'},
346
+ {
347
+ level: 4,
348
+ open: 'array',
349
+ key: makeKey('columns'),
350
+ path: '@/schema/@/columns',
351
+ },
352
+ {
353
+ level: 5,
354
+ value: makeValue('a', 'string'),
355
+ hasDelimiter: true,
356
+ },
357
+ {level: 5, value: makeValue('b', 'string')},
358
+ {level: 4, close: 'array', hasDelimiter: true},
359
+ {
360
+ level: 4,
361
+ key: makeKey('writeable'),
362
+ value: makeValue(false, 'boolean'),
363
+ },
364
+ {level: 3, close: 'attributes'},
365
+ {
366
+ level: 3,
367
+ open: 'array',
368
+ isAfterAttributes: true,
369
+ path: '@/schema/$',
370
+ },
371
+ {
372
+ level: 4,
373
+ value: makeValue(1, 'number'),
374
+ hasDelimiter: true,
375
+ },
376
+ {level: 4, value: makeValue(2, 'number')},
377
+ {level: 3, close: 'array', hasDelimiter: true},
378
+ {
379
+ level: 2,
380
+ key: makeKey('rowCount'),
381
+ value: makeValue(22, 'number'),
382
+ },
383
+ {level: 1, close: 'attributes'},
384
+ {
385
+ level: 1,
386
+ value: makeValue(123, 'number'),
387
+ isAfterAttributes: true,
388
+ },
389
+ ];
390
+ expect(flattenUnipika(converted)).toEqual({
391
+ data: expected,
392
+ searchIndex: {},
393
+ });
394
+ });
395
+ it('array with attributes', () => {
396
+ const converted = unipika.converters.yson({
397
+ $attributes: {attr1: 'Attr1'},
398
+ $value: [
399
+ {
400
+ $attributes: {attr2: 'Attr2'},
401
+ $value: ['test', ['result', 42]],
402
+ },
403
+ 'foo',
404
+ ],
405
+ });
406
+
407
+ const expected: UnipikaFlattenTree = [
408
+ {level: 1, open: 'attributes', path: '@'},
409
+ {
410
+ level: 2,
411
+ key: makeKey('attr1'),
412
+ value: makeValue('Attr1', 'string'),
413
+ },
414
+ {level: 1, close: 'attributes'},
415
+ {
416
+ level: 1,
417
+ open: 'array',
418
+ isAfterAttributes: true,
419
+ path: '$',
420
+ },
421
+ {level: 2, open: 'attributes', path: '$/0/@'},
422
+ {
423
+ level: 3,
424
+ key: makeKey('attr2'),
425
+ value: makeValue('Attr2', 'string'),
426
+ },
427
+ {level: 2, close: 'attributes'},
428
+ {
429
+ level: 2,
430
+ open: 'array',
431
+ isAfterAttributes: true,
432
+ path: '$/0/$',
433
+ },
434
+ {
435
+ level: 3,
436
+ value: makeValue('test', 'string'),
437
+ hasDelimiter: true,
438
+ },
439
+ {level: 3, open: 'array', path: '$/0/$/1'},
440
+ {
441
+ level: 4,
442
+ value: makeValue('result', 'string'),
443
+ hasDelimiter: true,
444
+ },
445
+ {level: 4, value: makeValue(42, 'number')},
446
+ {level: 3, close: 'array'},
447
+ {level: 2, close: 'array', hasDelimiter: true},
448
+ {level: 2, value: makeValue('foo', 'string')},
449
+ {level: 1, close: 'array'},
450
+ ];
451
+ expect(flattenUnipika(converted)).toEqual({
452
+ data: expected,
453
+ searchIndex: {},
454
+ });
455
+ });
456
+ it("a map's expandable field with attributes", () => {
457
+ const converted = unipika.converters.yson({
458
+ a: {
459
+ $attributes: {b: 'B'},
460
+ $value: 'C',
461
+ },
462
+ });
463
+ const expected: UnipikaFlattenTree = [
464
+ {level: 0, open: 'object'},
465
+ {level: 1, key: makeKey('a'), path: 'a'},
466
+ {level: 2, open: 'attributes', path: 'a/@'},
467
+ {
468
+ level: 3,
469
+ key: makeKey('b'),
470
+ value: makeValue('B', 'string'),
471
+ },
472
+ {level: 2, close: 'attributes'},
473
+ {
474
+ level: 2,
475
+ value: makeValue('C', 'string'),
476
+ isAfterAttributes: true,
477
+ },
478
+ {level: 0, close: 'object'},
479
+ ];
480
+ expect(flattenUnipika(converted)).toEqual({
481
+ data: expected,
482
+ searchIndex: {},
483
+ });
484
+ });
485
+ it('map with attributes', () => {
486
+ const converted = unipika.converters.yson({
487
+ $attributes: {attr2: false, attr3: 'Attr3'},
488
+ $value: {
489
+ a: 'test',
490
+ b: {
491
+ $attributes: {attr3: 'Attr3'},
492
+ $value: {
493
+ c: 'C',
494
+ d: {
495
+ $attributes: {attr4: 'Attr4'},
496
+ $value: {e: 'E', f: 'F'},
497
+ },
498
+ g: 'G',
499
+ },
500
+ },
501
+ },
502
+ });
503
+ const expected: UnipikaFlattenTree = [
504
+ {level: 1, open: 'attributes', path: '@'},
505
+ {
506
+ level: 2,
507
+ key: makeKey('attr2'),
508
+ value: makeValue(false, 'boolean'),
509
+ hasDelimiter: true,
510
+ },
511
+ {
512
+ level: 2,
513
+ key: makeKey('attr3'),
514
+ value: makeValue('Attr3', 'string'),
515
+ },
516
+ {level: 1, close: 'attributes'},
517
+ {
518
+ level: 1,
519
+ open: 'object',
520
+ isAfterAttributes: true,
521
+ path: '$',
522
+ },
523
+ {
524
+ level: 2,
525
+ key: makeKey('a'),
526
+ value: makeValue('test', 'string'),
527
+ hasDelimiter: true,
528
+ },
529
+ {level: 2, key: makeKey('b'), path: '$/b'},
530
+ {level: 3, open: 'attributes', path: '$/b/@'},
531
+ {
532
+ level: 4,
533
+ key: makeKey('attr3'),
534
+ value: makeValue('Attr3', 'string'),
535
+ },
536
+ {level: 3, close: 'attributes'},
537
+ {
538
+ level: 3,
539
+ open: 'object',
540
+ isAfterAttributes: true,
541
+ path: '$/b/$',
542
+ },
543
+ {
544
+ level: 4,
545
+ key: makeKey('c'),
546
+ value: makeValue('C', 'string'),
547
+ hasDelimiter: true,
548
+ },
549
+ {level: 4, key: makeKey('d'), path: '$/b/$/d'},
550
+ {level: 5, open: 'attributes', path: '$/b/$/d/@'},
551
+ {
552
+ level: 6,
553
+ key: makeKey('attr4'),
554
+ value: makeValue('Attr4', 'string'),
555
+ },
556
+ {level: 5, close: 'attributes'},
557
+ {
558
+ level: 5,
559
+ open: 'object',
560
+ isAfterAttributes: true,
561
+ path: '$/b/$/d/$',
562
+ },
563
+ {
564
+ level: 6,
565
+ key: makeKey('e'),
566
+ value: makeValue('E', 'string'),
567
+ hasDelimiter: true,
568
+ },
569
+ {
570
+ level: 6,
571
+ key: makeKey('f'),
572
+ value: makeValue('F', 'string'),
573
+ },
574
+ {level: 5, close: 'object', hasDelimiter: true},
575
+ {
576
+ level: 4,
577
+ key: makeKey('g'),
578
+ value: makeValue('G', 'string'),
579
+ },
580
+ {level: 3, close: 'object'},
581
+ {level: 1, close: 'object'},
582
+ ];
583
+ expect(flattenUnipika(converted)).toEqual({
584
+ data: expected,
585
+ searchIndex: {},
586
+ });
587
+ });
588
+ });
589
+
590
+ describe('YSON light containers', () => {
591
+ it('empty list', () => {
592
+ const converted = unipika.converters.yson([]);
593
+ const expected: UnipikaFlattenTree = [{level: 0, open: 'array', close: 'array'}];
594
+ expect(flattenUnipika(converted)).toEqual({
595
+ data: expected,
596
+ searchIndex: {},
597
+ });
598
+ });
599
+ it('empty list -> empty list', () => {
600
+ const converted = unipika.converters.yson([[]]);
601
+ const expected: UnipikaFlattenTree = [
602
+ {level: 0, open: 'array'},
603
+ {level: 1, open: 'array', close: 'array'},
604
+ {level: 0, close: 'array'},
605
+ ];
606
+ expect(flattenUnipika(converted)).toEqual({
607
+ data: expected,
608
+ searchIndex: {},
609
+ });
610
+ });
611
+ it('empty map', () => {
612
+ const converted = unipika.converters.yson({});
613
+ const expected: UnipikaFlattenTree = [{level: 0, open: 'object', close: 'object'}];
614
+ expect(flattenUnipika(converted)).toEqual({
615
+ data: expected,
616
+ searchIndex: {},
617
+ });
618
+ });
619
+ it('list -> empty map', () => {
620
+ const converted = unipika.converters.yson([{}]);
621
+ const expected: UnipikaFlattenTree = [
622
+ {level: 0, open: 'array'},
623
+ {level: 1, open: 'object', close: 'object'},
624
+ {level: 0, close: 'array'},
625
+ ];
626
+ expect(flattenUnipika(converted)).toEqual({
627
+ data: expected,
628
+ searchIndex: {},
629
+ });
630
+ });
631
+ it('map -> empty list', () => {
632
+ const converted = unipika.converters.yson({a: []});
633
+ const expected: UnipikaFlattenTree = [
634
+ {level: 0, open: 'object'},
635
+ {
636
+ level: 1,
637
+ key: makeKey('a'),
638
+ open: 'array',
639
+ close: 'array',
640
+ },
641
+ {level: 0, close: 'object'},
642
+ ];
643
+ expect(flattenUnipika(converted)).toEqual({
644
+ data: expected,
645
+ searchIndex: {},
646
+ });
647
+ });
648
+ });
649
+ });
650
+
651
+ describe('JSON', () => {
652
+ describe('JSON without attributes', () => {
653
+ it('null', () => {
654
+ const converted = unipika.converters.raw(null);
655
+ const expected: UnipikaFlattenTree = [
656
+ {
657
+ level: 0,
658
+ value: {$value: null, $type: 'null'},
659
+ },
660
+ ];
661
+ expect(flattenUnipika(converted, {isJson: true})).toEqual({
662
+ data: expected,
663
+ searchIndex: {},
664
+ });
665
+ });
666
+ it('number', () => {
667
+ const converted = unipika.converters.raw(123);
668
+ const expected: UnipikaFlattenTree = [
669
+ {
670
+ level: 0,
671
+ value: {$type: 'number', $value: 123},
672
+ },
673
+ ];
674
+ expect(flattenUnipika(converted, {isJson: true})).toEqual({
675
+ data: expected,
676
+ searchIndex: {},
677
+ });
678
+ });
679
+ it('string', () => {
680
+ const converted = unipika.converters.raw('hello');
681
+ const expected: UnipikaFlattenTree = [
682
+ {
683
+ level: 0,
684
+ value: {$value: 'hello', $type: 'string'},
685
+ },
686
+ ];
687
+ expect(flattenUnipika(converted, {isJson: true})).toEqual({
688
+ data: expected,
689
+ searchIndex: {},
690
+ });
691
+ });
692
+ it('boolean', () => {
693
+ const converted = unipika.converters.raw(true);
694
+ const expected: UnipikaFlattenTree = [
695
+ {
696
+ level: 0,
697
+ value: {$value: true, $type: 'boolean'},
698
+ },
699
+ ];
700
+ expect(flattenUnipika(converted, {isJson: true})).toEqual({
701
+ data: expected,
702
+ searchIndex: {},
703
+ });
704
+ });
705
+ it('list', () => {
706
+ const converted = unipika.converters.raw([1, 2, 'three']);
707
+ const expected: UnipikaFlattenTree = [
708
+ {level: 0, open: 'array'},
709
+ {
710
+ level: 1,
711
+ value: {$type: 'number', $value: 1},
712
+ hasDelimiter: true,
713
+ },
714
+ {
715
+ level: 1,
716
+ value: {$type: 'number', $value: 2},
717
+ hasDelimiter: true,
718
+ },
719
+ {level: 1, value: {$type: 'string', $value: 'three'}},
720
+ {level: 0, close: 'array'},
721
+ ];
722
+ expect(flattenUnipika(converted, {isJson: true})).toEqual({
723
+ data: expected,
724
+ searchIndex: {},
725
+ });
726
+ });
727
+ it('map', () => {
728
+ const converted = unipika.converters.raw({
729
+ a: 'A',
730
+ b: 'B',
731
+ c: 'C',
732
+ });
733
+ const expected: UnipikaFlattenTree = [
734
+ {level: 0, open: 'object'},
735
+ {
736
+ level: 1,
737
+ key: {$key: true, $value: 'a', $type: 'string'},
738
+ value: {$value: 'A', $type: 'string'},
739
+ hasDelimiter: true,
740
+ },
741
+ {
742
+ level: 1,
743
+ key: {$key: true, $value: 'b', $type: 'string'},
744
+ value: {$value: 'B', $type: 'string'},
745
+ hasDelimiter: true,
746
+ },
747
+ {
748
+ level: 1,
749
+ key: {$key: true, $value: 'c', $type: 'string'},
750
+ value: {$value: 'C', $type: 'string'},
751
+ },
752
+ {level: 0, close: 'object'},
753
+ ];
754
+ expect(flattenUnipika(converted, {isJson: true})).toEqual({
755
+ data: expected,
756
+ searchIndex: {},
757
+ });
758
+ });
759
+ it('list -> map -> list', () => {
760
+ const converted = unipika.converters.raw([
761
+ 'a',
762
+ {
763
+ b: 'B',
764
+ c: [1, 2],
765
+ },
766
+ ]);
767
+ const expected: UnipikaFlattenTree = [
768
+ {level: 0, open: 'array'},
769
+ {
770
+ level: 1,
771
+ value: {$type: 'string', $value: 'a'},
772
+ hasDelimiter: true,
773
+ },
774
+ {level: 1, open: 'object', path: '1'},
775
+ {
776
+ level: 2,
777
+ key: {$key: true, $value: 'b', $type: 'string'},
778
+ value: {$type: 'string', $value: 'B'},
779
+ hasDelimiter: true,
780
+ },
781
+ {
782
+ level: 2,
783
+ key: {$key: true, $value: 'c', $type: 'string'},
784
+ open: 'array',
785
+ path: '1/c',
786
+ },
787
+ {
788
+ level: 3,
789
+ value: {$type: 'number', $value: 1},
790
+ hasDelimiter: true,
791
+ },
792
+ {level: 3, value: {$type: 'number', $value: 2}},
793
+ {level: 2, close: 'array'},
794
+ {level: 1, close: 'object'},
795
+ {level: 0, close: 'array'},
796
+ ];
797
+ expect(flattenUnipika(converted, {isJson: true})).toEqual({
798
+ data: expected,
799
+ searchIndex: {},
800
+ });
801
+ });
802
+ it('list -> list -> list', () => {
803
+ const converted = unipika.converters.raw([1, [2, [3, 4], 5], 6]);
804
+ const expected: UnipikaFlattenTree = [
805
+ {level: 0, open: 'array'},
806
+ {
807
+ level: 1,
808
+ value: makeRawValue(1, 'number'),
809
+ hasDelimiter: true,
810
+ },
811
+ {level: 1, open: 'array', path: '1'},
812
+ {
813
+ level: 2,
814
+ value: makeRawValue(2, 'number'),
815
+ hasDelimiter: true,
816
+ },
817
+ {level: 2, open: 'array', path: '1/1'},
818
+ {
819
+ level: 3,
820
+ value: makeRawValue(3, 'number'),
821
+ hasDelimiter: true,
822
+ },
823
+ {level: 3, value: makeRawValue(4, 'number')},
824
+ {level: 2, close: 'array', hasDelimiter: true},
825
+ {level: 2, value: makeRawValue(5, 'number')},
826
+ {level: 1, close: 'array', hasDelimiter: true},
827
+ {level: 1, value: makeRawValue(6, 'number')},
828
+ {level: 0, close: 'array'},
829
+ ];
830
+ expect(flattenUnipika(converted, {isJson: true})).toEqual({
831
+ data: expected,
832
+ searchIndex: {},
833
+ });
834
+ });
835
+ it('map -> list -> map', () => {
836
+ const converted = unipika.converters.yson({
837
+ a: 'A',
838
+ b: [
839
+ 'C',
840
+ {
841
+ e: 'E',
842
+ },
843
+ 'F',
844
+ ],
845
+ g: 'G',
846
+ });
847
+ const expected: UnipikaFlattenTree = [
848
+ {level: 0, open: 'object'},
849
+ {
850
+ level: 1,
851
+ key: makeKey('a'),
852
+ value: makeValue('A', 'string'),
853
+ hasDelimiter: true,
854
+ },
855
+ {level: 1, key: makeKey('b'), open: 'array', path: 'b'},
856
+ {
857
+ level: 2,
858
+ value: makeValue('C', 'string'),
859
+ hasDelimiter: true,
860
+ },
861
+ {level: 2, open: 'object', path: 'b/1'},
862
+ {
863
+ level: 3,
864
+ key: makeKey('e'),
865
+ value: makeValue('E', 'string'),
866
+ },
867
+ {level: 2, close: 'object', hasDelimiter: true},
868
+ {level: 2, value: makeValue('F', 'string')},
869
+ {level: 1, close: 'array', hasDelimiter: true},
870
+ {
871
+ level: 1,
872
+ key: makeKey('g'),
873
+ value: makeValue('G', 'string'),
874
+ },
875
+ {level: 0, close: 'object'},
876
+ ];
877
+ expect(flattenUnipika(converted, {isJson: true})).toEqual({
878
+ data: expected,
879
+ searchIndex: {},
880
+ });
881
+ });
882
+ it('map -> map -> map', () => {
883
+ const converted = unipika.converters.raw({
884
+ a: 'A',
885
+ b: {
886
+ c: 'C',
887
+ d: {
888
+ e: 'E',
889
+ },
890
+ f: 'F',
891
+ },
892
+ g: 'G',
893
+ });
894
+ const expected: UnipikaFlattenTree = [
895
+ {level: 0, open: 'object'},
896
+ {
897
+ level: 1,
898
+ key: makeRawKey('a'),
899
+ value: makeRawValue('A', 'string'),
900
+ hasDelimiter: true,
901
+ },
902
+ {
903
+ level: 1,
904
+ key: makeRawKey('b'),
905
+ open: 'object',
906
+ path: 'b',
907
+ },
908
+ {
909
+ level: 2,
910
+ key: makeRawKey('c'),
911
+ value: makeRawValue('C', 'string'),
912
+ hasDelimiter: true,
913
+ },
914
+ {
915
+ level: 2,
916
+ key: makeRawKey('d'),
917
+ open: 'object',
918
+ path: 'b/d',
919
+ },
920
+ {
921
+ level: 3,
922
+ key: makeRawKey('e'),
923
+ value: makeRawValue('E', 'string'),
924
+ },
925
+ {level: 2, close: 'object', hasDelimiter: true},
926
+ {
927
+ level: 2,
928
+ key: makeRawKey('f'),
929
+ value: makeRawValue('F', 'string'),
930
+ },
931
+ {level: 1, close: 'object', hasDelimiter: true},
932
+ {
933
+ level: 1,
934
+ key: makeRawKey('g'),
935
+ value: makeRawValue('G', 'string'),
936
+ },
937
+ {level: 0, close: 'object'},
938
+ ];
939
+ expect(flattenUnipika(converted, {isJson: true})).toEqual({
940
+ data: expected,
941
+ searchIndex: {},
942
+ });
943
+ });
944
+ });
945
+
946
+ describe('JSON with attributes', () => {
947
+ it('null with attributes', () => {
948
+ const converted = unipika.converters.yson({
949
+ $value: null,
950
+ $attributes: {a: 'A'},
951
+ });
952
+ const expected: UnipikaFlattenTree = [
953
+ {level: 0, open: 'attributes-value'},
954
+ {level: 1, open: 'attributes', path: '@'},
955
+ {
956
+ level: 2,
957
+ key: makeKey('a'),
958
+ value: makeValue('A', 'string'),
959
+ },
960
+ {level: 1, close: 'attributes', hasDelimiter: true},
961
+ {
962
+ level: 1,
963
+ value: makeValue(null, 'null'),
964
+ isAfterAttributes: true,
965
+ },
966
+ {level: 0, close: 'attributes-value'},
967
+ ];
968
+ expect(flattenUnipika(converted, {isJson: true})).toEqual({
969
+ data: expected,
970
+ searchIndex: {},
971
+ });
972
+ });
973
+ it('number with deep attributes', () => {
974
+ const converted = unipika.converters.yson({
975
+ $attributes: {
976
+ schema: {
977
+ $attributes: {
978
+ columns: {
979
+ $value: ['a', 'b'],
980
+ },
981
+ writeable: false,
982
+ },
983
+ $value: [1, 2],
984
+ },
985
+ rowCount: 22,
986
+ },
987
+ $value: 123,
988
+ });
989
+ const expected: UnipikaFlattenTree = [
990
+ {level: 0, open: 'attributes-value'},
991
+ {level: 1, open: 'attributes', path: '@'},
992
+ {
993
+ level: 2,
994
+ key: makeKey('schema'),
995
+ open: 'attributes-value',
996
+ path: '@/schema',
997
+ },
998
+ {level: 3, open: 'attributes', path: '@/schema/@'},
999
+ {
1000
+ level: 4,
1001
+ key: makeKey('columns'),
1002
+ open: 'array',
1003
+ path: '@/schema/@/columns',
1004
+ },
1005
+ {
1006
+ level: 5,
1007
+ value: makeValue('a', 'string'),
1008
+ hasDelimiter: true,
1009
+ },
1010
+ {level: 5, value: makeValue('b', 'string')},
1011
+ {level: 4, close: 'array', hasDelimiter: true},
1012
+ {
1013
+ level: 4,
1014
+ key: makeKey('writeable'),
1015
+ value: makeValue(false, 'boolean'),
1016
+ },
1017
+ {level: 3, close: 'attributes', hasDelimiter: true},
1018
+ {
1019
+ level: 3,
1020
+ open: 'array',
1021
+ isAfterAttributes: true,
1022
+ path: '@/schema/$',
1023
+ },
1024
+ {
1025
+ level: 4,
1026
+ value: makeValue(1, 'number'),
1027
+ hasDelimiter: true,
1028
+ },
1029
+ {level: 4, value: makeValue(2, 'number')},
1030
+ {level: 3, close: 'array'},
1031
+ {level: 2, close: 'attributes-value', hasDelimiter: true},
1032
+ {
1033
+ level: 2,
1034
+ key: makeKey('rowCount'),
1035
+ value: makeValue(22, 'number'),
1036
+ },
1037
+ {level: 1, close: 'attributes', hasDelimiter: true},
1038
+ {
1039
+ level: 1,
1040
+ value: makeValue(123, 'number'),
1041
+ isAfterAttributes: true,
1042
+ },
1043
+ {level: 0, close: 'attributes-value'},
1044
+ ];
1045
+ expect(flattenUnipika(converted, {isJson: true})).toEqual({
1046
+ data: expected,
1047
+ searchIndex: {},
1048
+ });
1049
+ });
1050
+ it('array with attributes', () => {
1051
+ const converted = unipika.converters.yson({
1052
+ $attributes: {
1053
+ attr1: 'Attr1',
1054
+ attr2: [
1055
+ 1,
1056
+ {
1057
+ $attributes: {
1058
+ a: 'A',
1059
+ b: 'B',
1060
+ },
1061
+ $value: [2, 3, 4],
1062
+ },
1063
+ ],
1064
+ q: 42,
1065
+ },
1066
+ $value: [
1067
+ {
1068
+ $attributes: {attr3: 'Attr3'},
1069
+ $value: 'test',
1070
+ },
1071
+ ],
1072
+ });
1073
+
1074
+ const expected: UnipikaFlattenTree = [
1075
+ {level: 0, open: 'attributes-value'},
1076
+ {level: 1, open: 'attributes', path: '@'},
1077
+ {
1078
+ level: 2,
1079
+ key: makeKey('attr1'),
1080
+ value: makeValue('Attr1', 'string'),
1081
+ hasDelimiter: true,
1082
+ },
1083
+ {
1084
+ level: 2,
1085
+ open: 'array',
1086
+ key: makeKey('attr2'),
1087
+ path: '@/attr2',
1088
+ },
1089
+ {
1090
+ level: 3,
1091
+ value: makeValue(1, 'number'),
1092
+ hasDelimiter: true,
1093
+ },
1094
+ {level: 3, open: 'attributes-value', path: '@/attr2/1'},
1095
+ {level: 4, open: 'attributes', path: '@/attr2/1/@'},
1096
+ {
1097
+ level: 5,
1098
+ key: makeKey('a'),
1099
+ value: makeValue('A', 'string'),
1100
+ hasDelimiter: true,
1101
+ },
1102
+ {
1103
+ level: 5,
1104
+ key: makeKey('b'),
1105
+ value: makeValue('B', 'string'),
1106
+ },
1107
+ {level: 4, close: 'attributes', hasDelimiter: true},
1108
+ {
1109
+ level: 4,
1110
+ open: 'array',
1111
+ path: '@/attr2/1/$',
1112
+ isAfterAttributes: true,
1113
+ },
1114
+ {
1115
+ level: 5,
1116
+ value: makeValue(2, 'number'),
1117
+ hasDelimiter: true,
1118
+ },
1119
+ {
1120
+ level: 5,
1121
+ value: makeValue(3, 'number'),
1122
+ hasDelimiter: true,
1123
+ },
1124
+ {level: 5, value: makeValue(4, 'number')},
1125
+ {level: 4, close: 'array'},
1126
+ {level: 3, close: 'attributes-value'},
1127
+ {level: 2, close: 'array', hasDelimiter: true},
1128
+ {
1129
+ level: 2,
1130
+ key: makeKey('q'),
1131
+ value: makeValue(42, 'number'),
1132
+ },
1133
+ {level: 1, close: 'attributes', hasDelimiter: true},
1134
+ {
1135
+ level: 1,
1136
+ open: 'array',
1137
+ isAfterAttributes: true,
1138
+ path: '$',
1139
+ },
1140
+ {level: 2, open: 'attributes-value', path: '$/0'},
1141
+ {level: 3, open: 'attributes', path: '$/0/@'},
1142
+ {
1143
+ level: 4,
1144
+ key: makeKey('attr3'),
1145
+ value: makeValue('Attr3', 'string'),
1146
+ },
1147
+ {level: 3, close: 'attributes', hasDelimiter: true},
1148
+ {
1149
+ level: 3,
1150
+ value: makeValue('test', 'string'),
1151
+ isAfterAttributes: true,
1152
+ },
1153
+ {level: 2, close: 'attributes-value'},
1154
+ {level: 1, close: 'array'},
1155
+ {level: 0, close: 'attributes-value'},
1156
+ ];
1157
+ expect(flattenUnipika(converted, {isJson: true})).toEqual({
1158
+ data: expected,
1159
+ searchIndex: {},
1160
+ });
1161
+ });
1162
+ it('map with attributes', () => {
1163
+ const converted = unipika.converters.yson({
1164
+ $attributes: {
1165
+ attr2: false,
1166
+ attr3: {
1167
+ $attributes: {
1168
+ foo: 'bar',
1169
+ },
1170
+ $value: 'Attr3',
1171
+ },
1172
+ attr4: 100,
1173
+ },
1174
+ $value: {
1175
+ a: 'test',
1176
+ b: {
1177
+ $attributes: {
1178
+ attr3: 'Attr3',
1179
+ },
1180
+ $value: {
1181
+ c: 'C',
1182
+ },
1183
+ },
1184
+ d: 'D',
1185
+ },
1186
+ });
1187
+ const expected: UnipikaFlattenTree = [
1188
+ {level: 0, open: 'attributes-value'},
1189
+ {level: 1, open: 'attributes', path: '@'},
1190
+ {
1191
+ level: 2,
1192
+ key: makeKey('attr2'),
1193
+ value: makeValue(false, 'boolean'),
1194
+ hasDelimiter: true,
1195
+ },
1196
+ {
1197
+ level: 2,
1198
+ key: makeKey('attr3'),
1199
+ open: 'attributes-value',
1200
+ path: '@/attr3',
1201
+ },
1202
+ {level: 3, open: 'attributes', path: '@/attr3/@'},
1203
+ {
1204
+ level: 4,
1205
+ key: makeKey('foo'),
1206
+ value: makeValue('bar', 'string'),
1207
+ },
1208
+ {level: 3, close: 'attributes', hasDelimiter: true},
1209
+ {
1210
+ level: 3,
1211
+ value: makeValue('Attr3', 'string'),
1212
+ isAfterAttributes: true,
1213
+ },
1214
+ {level: 2, close: 'attributes-value', hasDelimiter: true},
1215
+ {
1216
+ level: 2,
1217
+ key: makeKey('attr4'),
1218
+ value: makeValue(100, 'number'),
1219
+ },
1220
+ {level: 1, close: 'attributes', hasDelimiter: true},
1221
+ {
1222
+ level: 1,
1223
+ open: 'object',
1224
+ isAfterAttributes: true,
1225
+ path: '$',
1226
+ },
1227
+ {
1228
+ level: 2,
1229
+ key: makeKey('a'),
1230
+ value: makeValue('test', 'string'),
1231
+ hasDelimiter: true,
1232
+ },
1233
+ {
1234
+ level: 2,
1235
+ key: makeKey('b'),
1236
+ open: 'attributes-value',
1237
+ path: '$/b',
1238
+ },
1239
+ {level: 3, open: 'attributes', path: '$/b/@'},
1240
+ {
1241
+ level: 4,
1242
+ key: makeKey('attr3'),
1243
+ value: makeValue('Attr3', 'string'),
1244
+ },
1245
+ {level: 3, close: 'attributes', hasDelimiter: true},
1246
+ {
1247
+ level: 3,
1248
+ open: 'object',
1249
+ isAfterAttributes: true,
1250
+ path: '$/b/$',
1251
+ },
1252
+ {
1253
+ level: 4,
1254
+ key: makeKey('c'),
1255
+ value: makeValue('C', 'string'),
1256
+ },
1257
+ {level: 3, close: 'object'},
1258
+ {level: 2, close: 'attributes-value', hasDelimiter: true},
1259
+ {
1260
+ level: 2,
1261
+ key: makeKey('d'),
1262
+ value: makeValue('D', 'string'),
1263
+ },
1264
+ {level: 1, close: 'object'},
1265
+ {level: 0, close: 'attributes-value'},
1266
+ ];
1267
+ expect(flattenUnipika(converted, {isJson: true})).toEqual({
1268
+ data: expected,
1269
+ searchIndex: {},
1270
+ });
1271
+ });
1272
+ it("a map's expandable field with attributes", () => {
1273
+ const converted = unipika.converters.yson({
1274
+ a: {
1275
+ $attributes: {b: 'B'},
1276
+ $value: 'C',
1277
+ },
1278
+ });
1279
+ const expected: UnipikaFlattenTree = [
1280
+ {level: 0, open: 'object'},
1281
+ {
1282
+ level: 1,
1283
+ key: makeKey('a'),
1284
+ open: 'attributes-value',
1285
+ path: 'a',
1286
+ },
1287
+ {level: 2, open: 'attributes', path: 'a/@'},
1288
+ {
1289
+ level: 3,
1290
+ key: makeKey('b'),
1291
+ value: makeValue('B', 'string'),
1292
+ },
1293
+ {level: 2, close: 'attributes', hasDelimiter: true},
1294
+ {
1295
+ level: 2,
1296
+ value: makeValue('C', 'string'),
1297
+ isAfterAttributes: true,
1298
+ },
1299
+ {level: 1, close: 'attributes-value'},
1300
+ {level: 0, close: 'object'},
1301
+ ];
1302
+ expect(flattenUnipika(converted, {isJson: true})).toEqual({
1303
+ data: expected,
1304
+ searchIndex: {},
1305
+ });
1306
+ });
1307
+ });
1308
+
1309
+ describe('JSON light containers', () => {
1310
+ it('empty list', () => {
1311
+ const converted = unipika.converters.yson([]);
1312
+ const expected: UnipikaFlattenTree = [{level: 0, open: 'array', close: 'array'}];
1313
+ expect(flattenUnipika(converted, {isJson: true})).toEqual({
1314
+ data: expected,
1315
+ searchIndex: {},
1316
+ });
1317
+ });
1318
+ it('list -> empty list', () => {
1319
+ const converted = unipika.converters.yson([[]]);
1320
+ const expected: UnipikaFlattenTree = [
1321
+ {level: 0, open: 'array'},
1322
+ {level: 1, open: 'array', close: 'array'},
1323
+ {level: 0, close: 'array'},
1324
+ ];
1325
+ expect(flattenUnipika(converted, {isJson: true})).toEqual({
1326
+ data: expected,
1327
+ searchIndex: {},
1328
+ });
1329
+ });
1330
+ it('empty map', () => {
1331
+ const converted = unipika.converters.yson({});
1332
+ const expected: UnipikaFlattenTree = [{level: 0, open: 'object', close: 'object'}];
1333
+ expect(flattenUnipika(converted, {isJson: true})).toEqual({
1334
+ data: expected,
1335
+ searchIndex: {},
1336
+ });
1337
+ });
1338
+ it('list -> empty map', () => {
1339
+ const converted = unipika.converters.yson([{}]);
1340
+ const expected: UnipikaFlattenTree = [
1341
+ {level: 0, open: 'array'},
1342
+ {level: 1, open: 'object', close: 'object'},
1343
+ {level: 0, close: 'array'},
1344
+ ];
1345
+ expect(flattenUnipika(converted, {isJson: true})).toEqual({
1346
+ data: expected,
1347
+ searchIndex: {},
1348
+ });
1349
+ });
1350
+ it('map -> empty list', () => {
1351
+ const converted = unipika.converters.yson({a: []});
1352
+ const expected: UnipikaFlattenTree = [
1353
+ {level: 0, open: 'object'},
1354
+ {
1355
+ level: 1,
1356
+ key: makeKey('a'),
1357
+ open: 'array',
1358
+ close: 'array',
1359
+ },
1360
+ {level: 0, close: 'object'},
1361
+ ];
1362
+ expect(flattenUnipika(converted, {isJson: true})).toEqual({
1363
+ data: expected,
1364
+ searchIndex: {},
1365
+ });
1366
+ });
1367
+ });
1368
+ });
1369
+
1370
+ describe('With collapsedState', () => {
1371
+ describe('YSON', () => {
1372
+ it('list -> list -> list with collapsedState', () => {
1373
+ const converted = unipika.converters.yson([
1374
+ 1,
1375
+ [2, [3, 4], 5],
1376
+ 6,
1377
+ {
1378
+ $attributes: {a: 'A', b: 'B'},
1379
+ $value: [7, [8, 9], 10],
1380
+ },
1381
+ ]);
1382
+ const expected: UnipikaFlattenTree = [
1383
+ {level: 0, open: 'array'},
1384
+ {
1385
+ level: 1,
1386
+ value: makeValue(1, 'number'),
1387
+ hasDelimiter: true,
1388
+ },
1389
+ {level: 1, open: 'array', path: '1'},
1390
+ {
1391
+ level: 2,
1392
+ value: makeValue(2, 'number'),
1393
+ hasDelimiter: true,
1394
+ },
1395
+ {
1396
+ level: 2,
1397
+ open: 'array',
1398
+ path: '1/1',
1399
+ collapsed: true,
1400
+ close: 'array',
1401
+ hasDelimiter: true,
1402
+ },
1403
+ {level: 2, value: makeValue(5, 'number')},
1404
+ {level: 1, close: 'array', hasDelimiter: true},
1405
+ {
1406
+ level: 1,
1407
+ value: makeValue(6, 'number'),
1408
+ hasDelimiter: true,
1409
+ },
1410
+ {
1411
+ level: 1,
1412
+ open: 'array',
1413
+ path: '3',
1414
+ collapsed: true,
1415
+ close: 'array',
1416
+ },
1417
+ {level: 0, close: 'array'},
1418
+ ];
1419
+ const result = flattenUnipika(converted, {
1420
+ collapsedState: {
1421
+ '1/1': true,
1422
+ '3': true,
1423
+ },
1424
+ });
1425
+ expect(result).toEqual({data: expected, searchIndex: {}});
1426
+ });
1427
+ it('list -> map -> list with collapsedState', () => {
1428
+ const converted = unipika.converters.yson([
1429
+ 'a',
1430
+ {
1431
+ b: 'B',
1432
+ c: [1, 2],
1433
+ z: 'Z',
1434
+ },
1435
+ {
1436
+ $attributes: {columns: ['col1', 'col2']},
1437
+ $value: {
1438
+ d: 'd',
1439
+ f: [3, 4],
1440
+ },
1441
+ },
1442
+ ]);
1443
+ const expected: UnipikaFlattenTree = [
1444
+ {level: 0, open: 'array'},
1445
+ {
1446
+ level: 1,
1447
+ value: makeValue('a', 'string'),
1448
+ hasDelimiter: true,
1449
+ },
1450
+ {level: 1, open: 'object', path: '1'},
1451
+ {
1452
+ level: 2,
1453
+ key: makeKey('b'),
1454
+ value: makeValue('B', 'string'),
1455
+ hasDelimiter: true,
1456
+ },
1457
+ {
1458
+ level: 2,
1459
+ key: makeKey('c'),
1460
+ open: 'array',
1461
+ path: '1/c',
1462
+ collapsed: true,
1463
+ close: 'array',
1464
+ hasDelimiter: true,
1465
+ },
1466
+ {
1467
+ level: 2,
1468
+ key: makeKey('z'),
1469
+ value: makeValue('Z', 'string'),
1470
+ },
1471
+ {level: 1, close: 'object', hasDelimiter: true},
1472
+ {
1473
+ level: 1,
1474
+ open: 'object',
1475
+ path: '2',
1476
+ collapsed: true,
1477
+ close: 'object',
1478
+ },
1479
+ {level: 0, close: 'array'},
1480
+ ];
1481
+ const result = flattenUnipika(converted, {
1482
+ collapsedState: {
1483
+ '1/c': true,
1484
+ '2': true,
1485
+ },
1486
+ });
1487
+ expect(result).toEqual({data: expected, searchIndex: {}});
1488
+ });
1489
+
1490
+ it('list -> collapsed item with attribute', () => {
1491
+ const converted = unipika.converters.yson([
1492
+ {
1493
+ $attributes: {a: 'A'},
1494
+ $value: 'B',
1495
+ },
1496
+ 1,
1497
+ ]);
1498
+ const expected = [
1499
+ {level: 0, open: 'array'},
1500
+ {
1501
+ level: 1,
1502
+ open: 'attributes-value',
1503
+ close: 'attributes-value',
1504
+ collapsed: true,
1505
+ hasDelimiter: true,
1506
+ path: '0',
1507
+ },
1508
+ {level: 1, value: makeValue(1, 'number')},
1509
+ {level: 0, close: 'array'},
1510
+ ];
1511
+ const result = flattenUnipika(converted, {
1512
+ collapsedState: {
1513
+ '0': true,
1514
+ },
1515
+ });
1516
+ expect(result).toEqual({data: expected, searchIndex: {}});
1517
+ });
1518
+
1519
+ // TODO: it.todo('Collapsed values');
1520
+ });
1521
+
1522
+ describe('JSON', () => {
1523
+ it('list -> list -> list with collapsedState', () => {
1524
+ const converted = unipika.converters.yson([
1525
+ 1,
1526
+ [2, [3, 4], 5],
1527
+ 6,
1528
+ {
1529
+ $attributes: {a: 'A', b: 'B'},
1530
+ $value: [7, [8, 9], 10],
1531
+ },
1532
+ ]);
1533
+ const expected: UnipikaFlattenTree = [
1534
+ {level: 0, open: 'array'},
1535
+ {
1536
+ level: 1,
1537
+ value: makeValue(1, 'number'),
1538
+ hasDelimiter: true,
1539
+ },
1540
+ {level: 1, open: 'array', path: '1'},
1541
+ {
1542
+ level: 2,
1543
+ value: makeValue(2, 'number'),
1544
+ hasDelimiter: true,
1545
+ },
1546
+ {
1547
+ level: 2,
1548
+ open: 'array',
1549
+ path: '1/1',
1550
+ collapsed: true,
1551
+ close: 'array',
1552
+ hasDelimiter: true,
1553
+ },
1554
+ {level: 2, value: makeValue(5, 'number')},
1555
+ {level: 1, close: 'array', hasDelimiter: true},
1556
+ {
1557
+ level: 1,
1558
+ value: makeValue(6, 'number'),
1559
+ hasDelimiter: true,
1560
+ },
1561
+ {
1562
+ level: 1,
1563
+ open: 'array',
1564
+ path: '3',
1565
+ collapsed: true,
1566
+ close: 'array',
1567
+ },
1568
+ {level: 0, close: 'array'},
1569
+ ];
1570
+ const result = flattenUnipika(converted, {
1571
+ isJson: true,
1572
+ collapsedState: {
1573
+ '1/1': true,
1574
+ '3': true,
1575
+ },
1576
+ });
1577
+ expect(result).toEqual({data: expected, searchIndex: {}});
1578
+ });
1579
+ it('list -> map -> list with collapsedState', () => {
1580
+ const converted = unipika.converters.raw([
1581
+ 'a',
1582
+ {
1583
+ b: 'B',
1584
+ c: [1, 2],
1585
+ z: 'Z',
1586
+ },
1587
+ {
1588
+ $attributes: {columns: ['col1', 'col2']},
1589
+ $value: {
1590
+ d: 'd',
1591
+ f: [3, 4],
1592
+ },
1593
+ },
1594
+ ]);
1595
+ const expected: UnipikaFlattenTree = [
1596
+ {level: 0, open: 'array'},
1597
+ {
1598
+ level: 1,
1599
+ value: {$type: 'string', $value: 'a'},
1600
+ hasDelimiter: true,
1601
+ },
1602
+ {level: 1, open: 'object', path: '1'},
1603
+ {
1604
+ level: 2,
1605
+ key: {$key: true, $value: 'b', $type: 'string'},
1606
+ value: {$type: 'string', $value: 'B'},
1607
+ hasDelimiter: true,
1608
+ },
1609
+ {
1610
+ level: 2,
1611
+ key: {$key: true, $value: 'c', $type: 'string'},
1612
+ open: 'array',
1613
+ path: '1/c',
1614
+ collapsed: true,
1615
+ close: 'array',
1616
+ hasDelimiter: true,
1617
+ },
1618
+ {
1619
+ level: 2,
1620
+ key: makeRawKey('z'),
1621
+ value: makeRawValue('Z', 'string'),
1622
+ },
1623
+ {level: 1, close: 'object', hasDelimiter: true},
1624
+ {
1625
+ level: 1,
1626
+ open: 'object',
1627
+ path: '2',
1628
+ collapsed: true,
1629
+ close: 'object',
1630
+ },
1631
+ {level: 0, close: 'array'},
1632
+ ];
1633
+ const result = flattenUnipika(converted, {
1634
+ isJson: true,
1635
+ collapsedState: {
1636
+ '1/c': true,
1637
+ '2': true,
1638
+ },
1639
+ });
1640
+ expect(result).toEqual({data: expected, searchIndex: {}});
1641
+ });
1642
+
1643
+ it('list -> collapsed item with attribute', () => {
1644
+ const converted = unipika.converters.yson([
1645
+ {
1646
+ $attributes: {a: 'A'},
1647
+ $value: 'B',
1648
+ },
1649
+ 1,
1650
+ ]);
1651
+ const expected = [
1652
+ {level: 0, open: 'array'},
1653
+ {
1654
+ level: 1,
1655
+ open: 'attributes-value',
1656
+ close: 'attributes-value',
1657
+ collapsed: true,
1658
+ hasDelimiter: true,
1659
+ path: '0',
1660
+ },
1661
+ {level: 1, value: makeValue(1, 'number')},
1662
+ {level: 0, close: 'array'},
1663
+ ];
1664
+ const result = flattenUnipika(converted, {
1665
+ collapsedState: {
1666
+ '0': true,
1667
+ },
1668
+ });
1669
+ expect(result).toEqual({data: expected, searchIndex: {}});
1670
+ });
1671
+
1672
+ it('null with collapsed attributes', () => {
1673
+ const converted = unipika.converters.yson({
1674
+ $attributes: {
1675
+ values: [1, {a: 1}, 3],
1676
+ },
1677
+ $value: null,
1678
+ });
1679
+ const result = flattenUnipika(converted, {
1680
+ isJson: true,
1681
+ collapsedState: {
1682
+ '@': true,
1683
+ '@/2': true,
1684
+ },
1685
+ });
1686
+ const expected: UnipikaFlattenTree = [
1687
+ {level: 0, open: 'attributes-value'},
1688
+ {
1689
+ level: 1,
1690
+ open: 'attributes',
1691
+ collapsed: true,
1692
+ path: '@',
1693
+ close: 'attributes',
1694
+ hasDelimiter: true,
1695
+ },
1696
+ {
1697
+ level: 1,
1698
+ value: makeValue(null, 'null'),
1699
+ isAfterAttributes: true,
1700
+ },
1701
+ {level: 0, close: 'attributes-value'},
1702
+ ];
1703
+ expect(result).toEqual({data: expected, searchIndex: {}});
1704
+ });
1705
+
1706
+ it('collapsed attributes', () => {
1707
+ const converted = unipika.converters.yson([
1708
+ {
1709
+ $attributes: {
1710
+ columns: ['col1', 'col2'],
1711
+ data: {
1712
+ a: {
1713
+ $attributes: {test: 123},
1714
+ $value: 1,
1715
+ },
1716
+ b: {a: 1},
1717
+ c: [100, 200],
1718
+ },
1719
+ },
1720
+ $value: null,
1721
+ },
1722
+ {
1723
+ $attributes: {value: [1, {c: 1}, 3]},
1724
+ $value: null,
1725
+ },
1726
+ ]);
1727
+ const result = flattenUnipika(converted, {
1728
+ isJson: true,
1729
+ collapsedState: {
1730
+ '0/@/columns': true,
1731
+ '0/@/data/a/@': true,
1732
+ '0/@/data/b': true,
1733
+ '0/@/data/c': true,
1734
+ '1/@': true,
1735
+ },
1736
+ });
1737
+ const expected: UnipikaFlattenTree = [
1738
+ {level: 0, open: 'array'},
1739
+ {level: 1, open: 'attributes-value', path: '0'},
1740
+ {level: 2, open: 'attributes', path: '0/@'},
1741
+ {
1742
+ level: 3,
1743
+ open: 'array',
1744
+ key: makeKey('columns'),
1745
+ collapsed: true,
1746
+ path: '0/@/columns',
1747
+ close: 'array',
1748
+ hasDelimiter: true,
1749
+ },
1750
+ {
1751
+ level: 3,
1752
+ open: 'object',
1753
+ key: makeKey('data'),
1754
+ path: '0/@/data',
1755
+ },
1756
+
1757
+ {
1758
+ level: 4,
1759
+ key: makeKey('a'),
1760
+ open: 'attributes-value',
1761
+ path: '0/@/data/a',
1762
+ },
1763
+ {
1764
+ level: 5,
1765
+ open: 'attributes',
1766
+ path: '0/@/data/a/@',
1767
+ collapsed: true,
1768
+ close: 'attributes',
1769
+ hasDelimiter: true,
1770
+ },
1771
+ {
1772
+ level: 5,
1773
+ value: makeValue(1, 'number'),
1774
+ isAfterAttributes: true,
1775
+ },
1776
+ {level: 4, close: 'attributes-value', hasDelimiter: true},
1777
+
1778
+ {
1779
+ level: 4,
1780
+ open: 'object',
1781
+ key: makeKey('b'),
1782
+ collapsed: true,
1783
+ path: '0/@/data/b',
1784
+ close: 'object',
1785
+ hasDelimiter: true,
1786
+ },
1787
+ {
1788
+ level: 4,
1789
+ open: 'array',
1790
+ key: makeKey('c'),
1791
+ collapsed: true,
1792
+ path: '0/@/data/c',
1793
+ close: 'array',
1794
+ },
1795
+ {level: 3, close: 'object'},
1796
+ {level: 2, close: 'attributes', hasDelimiter: true},
1797
+ {
1798
+ level: 2,
1799
+ value: makeValue(null, 'null'),
1800
+ isAfterAttributes: true,
1801
+ },
1802
+ {level: 1, close: 'attributes-value', hasDelimiter: true},
1803
+
1804
+ {level: 1, open: 'attributes-value', path: '1'},
1805
+ {
1806
+ level: 2,
1807
+ open: 'attributes',
1808
+ path: '1/@',
1809
+ collapsed: true,
1810
+ close: 'attributes',
1811
+ hasDelimiter: true,
1812
+ },
1813
+ {
1814
+ level: 2,
1815
+ value: makeValue(null, 'null'),
1816
+ isAfterAttributes: true,
1817
+ },
1818
+ {level: 1, close: 'attributes-value'},
1819
+ {level: 0, close: 'array'},
1820
+ ];
1821
+ expect(result).toEqual({data: expected, searchIndex: {}});
1822
+ });
1823
+
1824
+ it('collapsed values', () => {
1825
+ const converted = unipika.converters.yson({
1826
+ $attributes: {
1827
+ a: {
1828
+ $attributes: {test: 123},
1829
+ $value: [1, 2, 3],
1830
+ },
1831
+ },
1832
+ $value: {
1833
+ d: [1, 2, 3],
1834
+ e: {
1835
+ f: {
1836
+ $attributes: {a: [5, 6, 7, 8]},
1837
+ $value: 'F',
1838
+ },
1839
+ // g: {
1840
+ // h: 'H',
1841
+ // j: 'J',
1842
+ // },
1843
+ },
1844
+ },
1845
+ });
1846
+ const result = flattenUnipika(converted, {
1847
+ isJson: true,
1848
+ collapsedState: {
1849
+ '@/a/$': true,
1850
+ '$/d': true,
1851
+ '$/e/f/@': true,
1852
+ '$/e/g': true,
1853
+ },
1854
+ });
1855
+ const expected: UnipikaFlattenTree = [
1856
+ {level: 0, open: 'attributes-value'},
1857
+ {level: 1, open: 'attributes', path: '@'},
1858
+ {
1859
+ level: 2,
1860
+ key: makeKey('a'),
1861
+ open: 'attributes-value',
1862
+ path: '@/a',
1863
+ },
1864
+ {level: 3, open: 'attributes', path: '@/a/@'},
1865
+ {
1866
+ level: 4,
1867
+ key: makeKey('test'),
1868
+ value: makeValue(123, 'number'),
1869
+ },
1870
+ {level: 3, close: 'attributes', hasDelimiter: true},
1871
+ {
1872
+ level: 3,
1873
+ open: 'array',
1874
+ collapsed: true,
1875
+ path: '@/a/$',
1876
+ isAfterAttributes: true,
1877
+ close: 'array',
1878
+ },
1879
+ {level: 2, close: 'attributes-value'},
1880
+ {level: 1, close: 'attributes', hasDelimiter: true},
1881
+ {
1882
+ level: 1,
1883
+ open: 'object',
1884
+ isAfterAttributes: true,
1885
+ path: '$',
1886
+ },
1887
+ {
1888
+ level: 2,
1889
+ open: 'array',
1890
+ key: makeKey('d'),
1891
+ path: '$/d',
1892
+ collapsed: true,
1893
+ close: 'array',
1894
+ hasDelimiter: true,
1895
+ },
1896
+ {
1897
+ level: 2,
1898
+ open: 'object',
1899
+ key: makeKey('e'),
1900
+ path: '$/e',
1901
+ },
1902
+ {
1903
+ level: 3,
1904
+ key: makeKey('f'),
1905
+ open: 'attributes-value',
1906
+ path: '$/e/f',
1907
+ },
1908
+ {
1909
+ level: 4,
1910
+ open: 'attributes',
1911
+ path: '$/e/f/@',
1912
+ collapsed: true,
1913
+ close: 'attributes',
1914
+ hasDelimiter: true,
1915
+ },
1916
+ {
1917
+ level: 4,
1918
+ value: makeValue('F', 'string'),
1919
+ isAfterAttributes: true,
1920
+ },
1921
+ {level: 3, close: 'attributes-value'},
1922
+ {level: 2, close: 'object'},
1923
+ {level: 1, close: 'object'},
1924
+ {level: 0, close: 'attributes-value'},
1925
+ ];
1926
+ expect(result).toEqual({data: expected, searchIndex: {}});
1927
+ });
1928
+ });
1929
+ });
1930
+
1931
+ describe('with matchedState', () => {
1932
+ describe('YSON', () => {
1933
+ let converted: any;
1934
+ let expected: UnipikaFlattenTree;
1935
+
1936
+ beforeEach(() => {
1937
+ converted = unipika.converters.yson({
1938
+ allow_aggressive: true,
1939
+ auto_merge: {
1940
+ chunk_size_size: 134217728,
1941
+ mode: 'disabled_size',
1942
+ job_io: {
1943
+ table_writer: {
1944
+ max_key_weight: 16384,
1945
+ desired_chunk_size: 2147483648,
1946
+ group_size: '1size_2size_3size',
1947
+ },
1948
+ },
1949
+ },
1950
+ });
1951
+
1952
+ expected = [
1953
+ {level: 0, open: 'object'},
1954
+ {
1955
+ level: 1,
1956
+ key: makeKey('allow_aggressive'),
1957
+ value: makeValue(true, 'boolean'),
1958
+ hasDelimiter: true,
1959
+ },
1960
+ {
1961
+ level: 1,
1962
+ open: 'object',
1963
+ key: makeKey('auto_merge'),
1964
+ path: 'auto_merge',
1965
+ },
1966
+ {
1967
+ level: 2,
1968
+ key: makeKey('chunk_size_size'),
1969
+ value: makeValue(134217728, 'number'),
1970
+ hasDelimiter: true,
1971
+ },
1972
+ {
1973
+ level: 2,
1974
+ key: makeKey('mode'),
1975
+ value: makeValue('disabled_size', 'string'),
1976
+ hasDelimiter: true,
1977
+ },
1978
+ {
1979
+ level: 2,
1980
+ open: 'object',
1981
+ key: makeKey('job_io'),
1982
+ path: 'auto_merge/job_io',
1983
+ },
1984
+ {
1985
+ level: 3,
1986
+ open: 'object',
1987
+ key: makeKey('table_writer'),
1988
+ path: 'auto_merge/job_io/table_writer',
1989
+ },
1990
+ {
1991
+ level: 4,
1992
+ key: makeKey('max_key_weight'),
1993
+ value: makeValue(16384, 'number'),
1994
+ hasDelimiter: true,
1995
+ },
1996
+ {
1997
+ level: 4,
1998
+ key: makeKey('desired_chunk_size'),
1999
+ value: makeValue(2147483648, 'number'),
2000
+ hasDelimiter: true,
2001
+ },
2002
+ {
2003
+ level: 4,
2004
+ key: makeKey('group_size'),
2005
+ value: makeValue('1size_2size_3size', 'string'),
2006
+ },
2007
+ {level: 3, close: 'object'},
2008
+ {level: 2, close: 'object'},
2009
+ {level: 1, close: 'object'},
2010
+ {level: 0, close: 'object'},
2011
+ ];
2012
+ });
2013
+ it('find part of a string', () => {
2014
+ const searchIndex: FlattenUnipikaResult['searchIndex'] = {
2015
+ '3': {
2016
+ keyMatch: [6, 11],
2017
+ },
2018
+ '4': {
2019
+ valueMatch: [9],
2020
+ },
2021
+ '8': {
2022
+ keyMatch: [14],
2023
+ },
2024
+ '9': {
2025
+ keyMatch: [6],
2026
+ valueMatch: [1, 7, 13],
2027
+ },
2028
+ };
2029
+ const result = flattenUnipika(converted, {
2030
+ filter: 'size',
2031
+ settings: {format: 'yson'},
2032
+ });
2033
+ expect(result).toEqual({data: expected, searchIndex});
2034
+ });
2035
+ it('find part of a number', () => {
2036
+ const searchIndex: FlattenUnipikaResult['searchIndex'] = {
2037
+ '3': {
2038
+ valueMatch: [3],
2039
+ },
2040
+ };
2041
+ const result = flattenUnipika(converted, {
2042
+ filter: '2177',
2043
+ settings: {format: 'yson'},
2044
+ });
2045
+ expect(result).toEqual({data: expected, searchIndex});
2046
+ });
2047
+ it('find part of a boolean', () => {
2048
+ const searchIndex: FlattenUnipikaResult['searchIndex'] = {
2049
+ '1': {
2050
+ valueMatch: [0],
2051
+ },
2052
+ };
2053
+ const result = flattenUnipika(converted, {
2054
+ filter: '%true',
2055
+ settings: {format: 'yson'},
2056
+ });
2057
+ expect(result).toEqual({data: expected, searchIndex});
2058
+ });
2059
+ });
2060
+ describe('JSON', () => {
2061
+ let converted: any;
2062
+ let expected: UnipikaFlattenTree;
2063
+
2064
+ beforeEach(() => {
2065
+ converted = unipika.converters.yson({
2066
+ allow_aggressive: true,
2067
+ auto_merge: {
2068
+ chunk_size_size: 134217728,
2069
+ mode: 'disabled_size',
2070
+ job_io: {
2071
+ table_writer: {
2072
+ max_key_weight: 16384,
2073
+ desired_chunk_size: 2147483648,
2074
+ group_size: '1size_2size_3size',
2075
+ },
2076
+ },
2077
+ },
2078
+ });
2079
+
2080
+ expected = [
2081
+ {level: 0, open: 'object'},
2082
+ {
2083
+ level: 1,
2084
+ key: makeKey('allow_aggressive'),
2085
+ value: makeValue(true, 'boolean'),
2086
+ hasDelimiter: true,
2087
+ },
2088
+ {
2089
+ level: 1,
2090
+ open: 'object',
2091
+ key: makeKey('auto_merge'),
2092
+ path: 'auto_merge',
2093
+ },
2094
+ {
2095
+ level: 2,
2096
+ key: makeKey('chunk_size_size'),
2097
+ value: makeValue(134217728, 'number'),
2098
+ hasDelimiter: true,
2099
+ },
2100
+ {
2101
+ level: 2,
2102
+ key: makeKey('mode'),
2103
+ value: makeValue('disabled_size', 'string'),
2104
+ hasDelimiter: true,
2105
+ },
2106
+ {
2107
+ level: 2,
2108
+ open: 'object',
2109
+ key: makeKey('job_io'),
2110
+ path: 'auto_merge/job_io',
2111
+ },
2112
+ {
2113
+ level: 3,
2114
+ open: 'object',
2115
+ key: makeKey('table_writer'),
2116
+ path: 'auto_merge/job_io/table_writer',
2117
+ },
2118
+ {
2119
+ level: 4,
2120
+ key: makeKey('max_key_weight'),
2121
+ value: makeValue(16384, 'number'),
2122
+ hasDelimiter: true,
2123
+ },
2124
+ {
2125
+ level: 4,
2126
+ key: makeKey('desired_chunk_size'),
2127
+ value: makeValue(2147483648, 'number'),
2128
+ hasDelimiter: true,
2129
+ },
2130
+ {
2131
+ level: 4,
2132
+ key: makeKey('group_size'),
2133
+ value: makeValue('1size_2size_3size', 'string'),
2134
+ },
2135
+ {level: 3, close: 'object'},
2136
+ {level: 2, close: 'object'},
2137
+ {level: 1, close: 'object'},
2138
+ {level: 0, close: 'object'},
2139
+ ];
2140
+ });
2141
+ it('find part of a string', () => {
2142
+ const searchIndex: FlattenUnipikaResult['searchIndex'] = {
2143
+ '3': {
2144
+ keyMatch: [6, 11],
2145
+ },
2146
+ '4': {
2147
+ valueMatch: [9],
2148
+ },
2149
+ '8': {
2150
+ keyMatch: [14],
2151
+ },
2152
+ '9': {
2153
+ keyMatch: [6],
2154
+ valueMatch: [1, 7, 13],
2155
+ },
2156
+ };
2157
+ const result = flattenUnipika(converted, {
2158
+ filter: 'size',
2159
+ isJson: true,
2160
+ settings: {format: 'json'},
2161
+ });
2162
+ expect(result).toEqual({data: expected, searchIndex});
2163
+ });
2164
+ it('find part of a number', () => {
2165
+ const searchIndex: FlattenUnipikaResult['searchIndex'] = {
2166
+ '3': {
2167
+ valueMatch: [3],
2168
+ },
2169
+ };
2170
+ const result = flattenUnipika(converted, {
2171
+ filter: '2177',
2172
+ isJson: true,
2173
+ settings: {format: 'json'},
2174
+ });
2175
+ expect(result).toEqual({data: expected, searchIndex});
2176
+ });
2177
+ it('find part of a boolean', () => {
2178
+ const searchIndex: FlattenUnipikaResult['searchIndex'] = {
2179
+ '1': {
2180
+ valueMatch: [1],
2181
+ },
2182
+ };
2183
+ const result = flattenUnipika(converted, {
2184
+ filter: 'rue',
2185
+ isJson: true,
2186
+ settings: {format: 'json'},
2187
+ });
2188
+ expect(result).toEqual({data: expected, searchIndex});
2189
+ });
2190
+ });
2191
+ });
2192
+ });
2193
+
2194
+ function makeRawKey(key: string) {
2195
+ const $type = 'string' as 'string';
2196
+ const $key = true as true;
2197
+ return {$value: key, $type, $key};
2198
+ }
2199
+
2200
+ function makeKey(key: string) {
2201
+ const $type = 'string' as 'string';
2202
+ const $key = true as true;
2203
+ return {$value: key, $type, $key, $decoded_value: key};
2204
+ }
2205
+
2206
+ function makeRawValue<V, T>(value: V, type: T) {
2207
+ return {$value: value, $type: type};
2208
+ }
2209
+
2210
+ function makeValue<V, T>(value: V, type: T) {
2211
+ if (type === ('string' as unknown)) {
2212
+ return {$value: value, $type: type, $decoded_value: value};
2213
+ }
2214
+ return {$value: value, $type: type || (typeof value as any as T)};
2215
+ }