@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.
- package/.babelrc +14 -0
- package/.dockerignore +45 -0
- package/.editorconfig +17 -0
- package/.eslintignore +2 -0
- package/.eslintrc +10 -0
- package/.nvmrc +1 -0
- package/.prettierrc.js +1 -0
- package/.stylelintrc +9 -0
- package/CHANGELOG.md +15 -0
- package/Dockerfile +29 -0
- package/LICENSE +13 -0
- package/README.md +64 -0
- package/assets/Manrope/OFL.txt +93 -0
- package/assets/Manrope/README.txt +69 -0
- package/assets/Manrope/otf/Manrope-Bold.otf +0 -0
- package/assets/Manrope/otf/Manrope-ExtraBold.otf +0 -0
- package/assets/Manrope/otf/Manrope-ExtraLight.otf +0 -0
- package/assets/Manrope/otf/Manrope-Light.otf +0 -0
- package/assets/Manrope/otf/Manrope-Medium.otf +0 -0
- package/assets/Manrope/otf/Manrope-Regular.otf +0 -0
- package/assets/Manrope/otf/Manrope-SemiBold.otf +0 -0
- package/assets/Roboto_Mono/LICENSE.txt +202 -0
- package/assets/Roboto_Mono/README.txt +77 -0
- package/assets/Roboto_Mono/RobotoMono-Italic-VariableFont_wght.ttf +0 -0
- package/assets/Roboto_Mono/RobotoMono-VariableFont_wght.ttf +0 -0
- package/assets/Roboto_Mono/static/RobotoMono-Bold.ttf +0 -0
- package/assets/Roboto_Mono/static/RobotoMono-BoldItalic.ttf +0 -0
- package/assets/Roboto_Mono/static/RobotoMono-ExtraLight.ttf +0 -0
- package/assets/Roboto_Mono/static/RobotoMono-ExtraLightItalic.ttf +0 -0
- package/assets/Roboto_Mono/static/RobotoMono-Italic.ttf +0 -0
- package/assets/Roboto_Mono/static/RobotoMono-Light.ttf +0 -0
- package/assets/Roboto_Mono/static/RobotoMono-LightItalic.ttf +0 -0
- package/assets/Roboto_Mono/static/RobotoMono-Medium.ttf +0 -0
- package/assets/Roboto_Mono/static/RobotoMono-MediumItalic.ttf +0 -0
- package/assets/Roboto_Mono/static/RobotoMono-Regular.ttf +0 -0
- package/assets/Roboto_Mono/static/RobotoMono-SemiBold.ttf +0 -0
- package/assets/Roboto_Mono/static/RobotoMono-SemiBoldItalic.ttf +0 -0
- package/assets/Roboto_Mono/static/RobotoMono-Thin.ttf +0 -0
- package/assets/Roboto_Mono/static/RobotoMono-ThinItalic.ttf +0 -0
- package/build.app.config.ts +19 -0
- package/build.lib.config.ts +7 -0
- package/build.server.tsconfig.json +12 -0
- package/clusters-config.json.example +18 -0
- package/deploy/.tvm.json.dev-example +25 -0
- package/deploy/nginx/includes/yqlkit.conf +23 -0
- package/deploy/nginx/nginx.conf +49 -0
- package/deploy/nginx/sites-enabled/app.conf +42 -0
- package/deploy/nginx/yt.development.conf.example +56 -0
- package/deploy/scripts/preflight.sh +14 -0
- package/deploy/supervisor/conf.d/app.conf +43 -0
- package/deploy/supervisor/supervisord.conf +28 -0
- package/img/cluster-2x.svg +6 -0
- package/img/cluster.svg +6 -0
- package/img/favicon.png +0 -0
- package/img/favicon.svg +8 -0
- package/img/placeholder.svg +2 -0
- package/img/svg/YT-login-page-background-dark.svg +19 -0
- package/img/svg/YT-login-page-background-light.svg +19 -0
- package/img/svg/YTsaurus-logo-dark.svg +4 -0
- package/img/svg/YTsaurus-logo-light.svg +4 -0
- package/img/svg/appLogo.svg +5 -0
- package/img/svg/calendar.svg +1 -0
- package/img/svg/chevron-right.svg +3 -0
- package/img/svg/chevron.svg +3 -0
- package/img/svg/close-icon.svg +5 -0
- package/img/svg/close-tag-icon.svg +4 -0
- package/img/svg/data-icon.svg +4 -0
- package/img/svg/ellipsis.svg +3 -0
- package/img/svg/empty.svg +2 -0
- package/img/svg/icons/acl-namespace-map.svg +4 -0
- package/img/svg/icons/acl-namespace.svg +5 -0
- package/img/svg/icons/acl-object.svg +6 -0
- package/img/svg/icons/angle-double-left.svg +3 -0
- package/img/svg/icons/angle-double-right.svg +3 -0
- package/img/svg/icons/angle-down.svg +3 -0
- package/img/svg/icons/angle-left.svg +3 -0
- package/img/svg/icons/angle-right.svg +3 -0
- package/img/svg/icons/angle-up.svg +3 -0
- package/img/svg/icons/arrow-from-bottm.svg +3 -0
- package/img/svg/icons/arrow-from-bottom.svg +3 -0
- package/img/svg/icons/arrow-from-top.svg +3 -0
- package/img/svg/icons/arrow-right-from-square.svg +3 -0
- package/img/svg/icons/arrow-to-bottm.svg +3 -0
- package/img/svg/icons/arrow-to-bottom.svg +3 -0
- package/img/svg/icons/arrow-to-top.svg +3 -0
- package/img/svg/icons/at.svg +3 -0
- package/img/svg/icons/ban.svg +3 -0
- package/img/svg/icons/book.svg +3 -0
- package/img/svg/icons/calendar-alt.svg +3 -0
- package/img/svg/icons/chart-bar.svg +3 -0
- package/img/svg/icons/chart-line.svg +3 -0
- package/img/svg/icons/chart_line.svg +3 -0
- package/img/svg/icons/check-circle.svg +3 -0
- package/img/svg/icons/check.svg +3 -0
- package/img/svg/icons/chevron-down.svg +3 -0
- package/img/svg/icons/chevron-up.svg +3 -0
- package/img/svg/icons/circle.svg +3 -0
- package/img/svg/icons/clipboard-list.svg +3 -0
- package/img/svg/icons/clock.svg +3 -0
- package/img/svg/icons/clone.svg +3 -0
- package/img/svg/icons/cloud.svg +3 -0
- package/img/svg/icons/code-branch.svg +3 -0
- package/img/svg/icons/code-merge.svg +3 -0
- package/img/svg/icons/cog.svg +10 -0
- package/img/svg/icons/cogs.svg +10 -0
- package/img/svg/icons/compress.svg +3 -0
- package/img/svg/icons/copy.svg +3 -0
- package/img/svg/icons/digging.svg +3 -0
- package/img/svg/icons/download.svg +3 -0
- package/img/svg/icons/dyn-th.svg +4 -0
- package/img/svg/icons/ellipsis-h.svg +3 -0
- package/img/svg/icons/eraser.svg +3 -0
- package/img/svg/icons/exclamation-circle.svg +3 -0
- package/img/svg/icons/exclamation-triangle.svg +3 -0
- package/img/svg/icons/exclamation.svg +3 -0
- package/img/svg/icons/expand.svg +3 -0
- package/img/svg/icons/external-link.svg +3 -0
- package/img/svg/icons/eye-slash.svg +3 -0
- package/img/svg/icons/eye.svg +3 -0
- package/img/svg/icons/file-alt.svg +3 -0
- package/img/svg/icons/file-export.svg +3 -0
- package/img/svg/icons/file.svg +3 -0
- package/img/svg/icons/filter.svg +3 -0
- package/img/svg/icons/fire.svg +3 -0
- package/img/svg/icons/folder-open.svg +3 -0
- package/img/svg/icons/folder-tree.svg +3 -0
- package/img/svg/icons/folder.svg +3 -0
- package/img/svg/icons/folders.svg +3 -0
- package/img/svg/icons/ghost.svg +3 -0
- package/img/svg/icons/hand-paper.svg +3 -0
- package/img/svg/icons/hashtag.svg +3 -0
- package/img/svg/icons/intersection.svg +3 -0
- package/img/svg/icons/key.svg +3 -0
- package/img/svg/icons/level-down-alt.svg +4 -0
- package/img/svg/icons/link.svg +3 -0
- package/img/svg/icons/list.svg +3 -0
- package/img/svg/icons/not-suported.svg +5 -0
- package/img/svg/icons/pause-circle.svg +3 -0
- package/img/svg/icons/pencil-alt.svg +3 -0
- package/img/svg/icons/pencil.svg +3 -0
- package/img/svg/icons/plane.svg +4 -0
- package/img/svg/icons/play-circle.svg +3 -0
- package/img/svg/icons/plus.svg +3 -0
- package/img/svg/icons/poll-people.svg +3 -0
- package/img/svg/icons/question-circle.svg +3 -0
- package/img/svg/icons/redo.svg +3 -0
- package/img/svg/icons/rocket.svg +3 -0
- package/img/svg/icons/save.svg +3 -0
- package/img/svg/icons/share.svg +3 -0
- package/img/svg/icons/snowflake.svg +3 -0
- package/img/svg/icons/sort-alt.svg +3 -0
- package/img/svg/icons/sort-amount-down-alt.svg +3 -0
- package/img/svg/icons/sort-amount-up.svg +3 -0
- package/img/svg/icons/sort-down.svg +3 -0
- package/img/svg/icons/sort-up.svg +3 -0
- package/img/svg/icons/sort.svg +3 -0
- package/img/svg/icons/square-semifill.svg +3 -0
- package/img/svg/icons/square.svg +3 -0
- package/img/svg/icons/star-alt.svg +3 -0
- package/img/svg/icons/star.svg +3 -0
- package/img/svg/icons/stop-circle.svg +3 -0
- package/img/svg/icons/sync-alt.svg +3 -0
- package/img/svg/icons/table.svg +3 -0
- package/img/svg/icons/tag.svg +11 -0
- package/img/svg/icons/tasks.svg +8 -0
- package/img/svg/icons/th.svg +3 -0
- package/img/svg/icons/times.svg +3 -0
- package/img/svg/icons/transpose.svg +3 -0
- package/img/svg/icons/trash-alt.svg +3 -0
- package/img/svg/icons/trash.svg +3 -0
- package/img/svg/icons/triangle.svg +3 -0
- package/img/svg/icons/undo.svg +3 -0
- package/img/svg/icons/union.svg +3 -0
- package/img/svg/icons/unlink.svg +3 -0
- package/img/svg/icons/upload.svg +3 -0
- package/img/svg/icons/user.svg +3 -0
- package/img/svg/icons/weight-hanging.svg +3 -0
- package/img/svg/icons/window-maximize.svg +3 -0
- package/img/svg/info-icon.svg +4 -0
- package/img/svg/info-icon2.svg +3 -0
- package/img/svg/jupyter-logo.svg +21 -0
- package/img/svg/modal-no-content.svg +32 -0
- package/img/svg/no-content.svg +71 -0
- package/img/svg/page-accounts.svg +8 -0
- package/img/svg/page-components.svg +6 -0
- package/img/svg/page-dashboard.svg +4 -0
- package/img/svg/page-groups.svg +8 -0
- package/img/svg/page-navigation.svg +3 -0
- package/img/svg/page-no-icon.svg +2 -0
- package/img/svg/page-operations.svg +8 -0
- package/img/svg/page-path-viewer.svg +6 -0
- package/img/svg/page-query-tracker.svg +5 -0
- package/img/svg/page-scheduling.svg +6 -0
- package/img/svg/page-system.svg +6 -0
- package/img/svg/page-tablet-cell-bundles.svg +6 -0
- package/img/svg/page-users.svg +7 -0
- package/img/svg/page-versions.svg +9 -0
- package/img/svg/palette-icon.svg +3 -0
- package/img/svg/pin-solid.svg +3 -0
- package/img/svg/pin.svg +3 -0
- package/img/svg/play.svg +3 -0
- package/img/svg/read-only-icon.svg +5 -0
- package/img/svg/remove.svg +4 -0
- package/img/svg/reset-icon.svg +3 -0
- package/img/svg/settings-2.svg +3 -0
- package/img/svg/settings.svg +3 -0
- package/img/svg/shield-icon.svg +4 -0
- package/img/svg/staff-icon.svg +4 -0
- package/img/svg/table-icon.svg +4 -0
- package/img/svg/tools-icon.svg +6 -0
- package/img/svg/tooltip-icon.svg +4 -0
- package/img/svg/warmup-icon.svg +5 -0
- package/img/svg/yt.svg +4 -0
- package/img/ui-2x.jpg +0 -0
- package/img/ui-big.jpg +0 -0
- package/img/ui.jpg +0 -0
- package/img/unknown-2x.png +0 -0
- package/img/unknown.png +0 -0
- package/img/user-avatar.svg +6 -0
- package/jest.config.js +40 -0
- package/package.json +171 -0
- package/scripts/changelog.js +62 -0
- package/scripts/check-file-names-for-js-duplicates.sh +31 -0
- package/scripts/check-start-files.sh +10 -0
- package/scripts/dev.localmode-env.sh +25 -0
- package/scripts/notify.js +40 -0
- package/scripts/yaml-cli.js +54 -0
- package/src/.eslintrc +9 -0
- package/src/@types/.eslintrc +3 -0
- package/src/@types/core.d.ts +119 -0
- package/src/@types/types.d.ts +26 -0
- package/src/server/.arcignore +9 -0
- package/src/server/.eslintrc +3 -0
- package/src/server/ServerFactory.ts +61 -0
- package/src/server/components/cluster-params.ts +184 -0
- package/src/server/components/cluster-queries.ts +150 -0
- package/src/server/components/layout-config.ts +67 -0
- package/src/server/components/requestsSetup.ts +105 -0
- package/src/server/components/settings.ts +128 -0
- package/src/server/components/table.ts +85 -0
- package/src/server/components/utils.ts +65 -0
- package/src/server/config.localcluster.ts +48 -0
- package/src/server/config.realcluster.ts +23 -0
- package/src/server/configure-app.ts +21 -0
- package/src/server/controllers/cluster-info.ts +23 -0
- package/src/server/controllers/cluster-params.ts +14 -0
- package/src/server/controllers/clusters.ts +13 -0
- package/src/server/controllers/home.ts +98 -0
- package/src/server/controllers/login.ts +154 -0
- package/src/server/controllers/ping.ts +5 -0
- package/src/server/controllers/remote-copy.ts +115 -0
- package/src/server/controllers/scheduling-pools.ts +88 -0
- package/src/server/controllers/settings.ts +59 -0
- package/src/server/controllers/table-column-preset.ts +50 -0
- package/src/server/controllers/yt-api.ts +141 -0
- package/src/server/controllers/yt-proxy-api.ts +61 -0
- package/src/server/index.ts +44 -0
- package/src/server/lib.ts +2 -0
- package/src/server/middlewares/yt-auth.ts +50 -0
- package/src/server/render-layout.ts +19 -0
- package/src/server/routes.ts +62 -0
- package/src/server/tsconfig.json +14 -0
- package/src/server/utils/auto-updated-cache.spec.ts +409 -0
- package/src/server/utils/auto-updated-cache.ts +43 -0
- package/src/server/utils/default-settings.ts +101 -0
- package/src/server/utils/index.ts +191 -0
- package/src/shared/.eslintrc +6 -0
- package/src/shared/constants/index.ts +3 -0
- package/src/shared/constants/settings-ts.ts +15 -0
- package/src/shared/constants/settings-types.ts +93 -0
- package/src/shared/constants/settings.ts +147 -0
- package/src/shared/lib.ts +2 -0
- package/src/shared/ui-settings.ts +36 -0
- package/src/shared/utils/check-is-developer.ts +61 -0
- package/src/shared/utils/index.ts +50 -0
- package/src/shared/utils/settings.ts +36 -0
- package/src/shared/yt-types.ts +162 -0
- package/src/ui/.eslintrc +3 -0
- package/src/ui/@types/worker.d.ts +7 -0
- package/src/ui/UIFactory.tsx +536 -0
- package/src/ui/appearance.ts +34 -0
- package/src/ui/common/.eslintrc +22 -0
- package/src/ui/common/__mocks__/hammer.js +7 -0
- package/src/ui/common/hammer/.eslintrc.json +6 -0
- package/src/ui/common/hammer/aggregation.js +138 -0
- package/src/ui/common/hammer/aggregation.spec.js +303 -0
- package/src/ui/common/hammer/filter.js +176 -0
- package/src/ui/common/hammer/format.js +136 -0
- package/src/ui/common/hammer/guid.js +10 -0
- package/src/ui/common/hammer/predicate.spec.js +239 -0
- package/src/ui/common/hammer/predicate.ts +109 -0
- package/src/ui/common/hammer/stat.js +290 -0
- package/src/ui/common/hammer/storage.js +19 -0
- package/src/ui/common/hammer/tables-utils.js +11 -0
- package/src/ui/common/hammer/tables.js +331 -0
- package/src/ui/common/hammer/tables.spec.js +487 -0
- package/src/ui/common/hammer/tree-list.spec.js +585 -0
- package/src/ui/common/hammer/tree-list.ts +255 -0
- package/src/ui/common/hammer/utils.js +254 -0
- package/src/ui/common/hammer/utils.spec.js +25 -0
- package/src/ui/common/hammer.js +29 -0
- package/src/ui/common/thor/unipika.ts +67 -0
- package/src/ui/common/thor/ypath.js +87 -0
- package/src/ui/common/thor/ypath.spec.js +88 -0
- package/src/ui/common/utils/metrics.ts +112 -0
- package/src/ui/common/utils/redux.js +4 -0
- package/src/ui/common/utils/settings-local-provider.ts +40 -0
- package/src/ui/common/utils/settings-remote-provider.ts +72 -0
- package/src/ui/common/utils/url-encoder.js +19 -0
- package/src/ui/common/utils/url-ts.ts +24 -0
- package/src/ui/common/utils/url.js +9 -0
- package/src/ui/common/yt-api-init.ts +73 -0
- package/src/ui/components/ACL/ACL-connect-helpers.js +180 -0
- package/src/ui/components/ACL/ACL.js +806 -0
- package/src/ui/components/ACL/ACL.scss +217 -0
- package/src/ui/components/ACL/AclColumn.js +45 -0
- package/src/ui/components/ACL/AclColumn.scss +9 -0
- package/src/ui/components/ACL/ColumnGroups/ColumnGroups.scss +48 -0
- package/src/ui/components/ACL/ColumnGroups/ColumnGroups.tsx +193 -0
- package/src/ui/components/ACL/ColumnGroups/EditColumnGroupModal.tsx +97 -0
- package/src/ui/components/ACL/DeletePermissionModal/DeletePermissionModal.js +130 -0
- package/src/ui/components/ACL/DeletePermissionModal/DeletePermissionModal.scss +31 -0
- package/src/ui/components/ACL/ManageAcl/ManageAcl.js +222 -0
- package/src/ui/components/ACL/ManageAcl/ManageAcl.scss +31 -0
- package/src/ui/components/ACL/RequestPermissions/PermissionsControl/PermissionsControl.scss +16 -0
- package/src/ui/components/ACL/RequestPermissions/PermissionsControl/PermissionsControl.tsx +90 -0
- package/src/ui/components/ACL/RequestPermissions/RequestPermissions.js +192 -0
- package/src/ui/components/ACL/RequestPermissions/RequestPermissions.scss +61 -0
- package/src/ui/components/ACL/SubjectsControl/SubjectsControl.tsx +32 -0
- package/src/ui/components/ACL/UserPermissions/UserPermissions.js +219 -0
- package/src/ui/components/ACL/UserPermissions/UserPermissions.scss +58 -0
- package/src/ui/components/AclUpdateMessage/AclUpdateMessage.scss +12 -0
- package/src/ui/components/AclUpdateMessage/AclUpdateMessage.tsx +56 -0
- package/src/ui/components/Alert/Alert.js +19 -0
- package/src/ui/components/Alert/Alert.scss +7 -0
- package/src/ui/components/AttributesButton/AttributesButton.tsx +21 -0
- package/src/ui/components/AttributesButton/ClickableAttributesButton.tsx +63 -0
- package/src/ui/components/AttributesModal/AttributesModal.js +80 -0
- package/src/ui/components/Block/Block.js +142 -0
- package/src/ui/components/Block/Block.scss +61 -0
- package/src/ui/components/BundleMetaResourceProgress/BundleMetaResourceProgress.scss +21 -0
- package/src/ui/components/BundleMetaResourceProgress/BundleMetaResourceProgress.tsx +85 -0
- package/src/ui/components/Button/Button.tsx +68 -0
- package/src/ui/components/ChartLink/ChartLink.tsx +41 -0
- package/src/ui/components/ClipboardButton/ClipboardButton.js +152 -0
- package/src/ui/components/ClipboardButton/ClipboardButton.scss +19 -0
- package/src/ui/components/ClusterIcon/ClusterIcon.scss +33 -0
- package/src/ui/components/ClusterIcon/ClusterIcon.tsx +42 -0
- package/src/ui/components/CollapsableText/CollapsableText.js +107 -0
- package/src/ui/components/CollapsableText/CollapsableText.scss +5 -0
- package/src/ui/components/CollapsibleList/CollapsibleList.js +31 -0
- package/src/ui/components/CollapsibleList/CollapsibleList.scss +11 -0
- package/src/ui/components/CollapsibleSection/CollapsibleSection.scss +20 -0
- package/src/ui/components/CollapsibleSection/CollapsibleSection.tsx +96 -0
- package/src/ui/components/CollapsibleTable/CollapsibleTable.js +47 -0
- package/src/ui/components/CollapsibleTable/CollapsibleTable.scss +10 -0
- package/src/ui/components/ColumnHeader/ColumnHeader.scss +34 -0
- package/src/ui/components/ColumnHeader/ColumnHeader.tsx +102 -0
- package/src/ui/components/ColumnSelector/ColumnSelector.js +434 -0
- package/src/ui/components/ColumnSelector/ColumnSelector.scss +192 -0
- package/src/ui/components/ColumnSelector/constants.scss +2 -0
- package/src/ui/components/ColumnSelectorModal/ColumnSelectorModal.js +250 -0
- package/src/ui/components/ColumnSelectorModal/ColumnSelectorModal.scss +36 -0
- package/src/ui/components/CommaSeparateListWithRestCounter/CommaSeparateListWithRestCounter.js +248 -0
- package/src/ui/components/CommaSeparateListWithRestCounter/CommaSeparateListWithRestCounter.scss +46 -0
- package/src/ui/components/ConfirmInput/ConfirmInput.js +68 -0
- package/src/ui/components/ConfirmInput/ConfirmInput.scss +6 -0
- package/src/ui/components/DataTableYT/DataTableYT.scss +90 -0
- package/src/ui/components/DataTableYT/DataTableYT.tsx +114 -0
- package/src/ui/components/Dialog/Dialog.scss +17 -0
- package/src/ui/components/Dialog/Dialog.tsx +209 -0
- package/src/ui/components/Dialog/Dialog.types.ts +7 -0
- package/src/ui/components/Dialog/controls/AbcControl/AbcControl.tsx +18 -0
- package/src/ui/components/Dialog/controls/BytesControl.scss +5 -0
- package/src/ui/components/Dialog/controls/BytesControl.tsx +66 -0
- package/src/ui/components/Dialog/controls/ClusterSelectControl/ClusterSelectControl.scss +14 -0
- package/src/ui/components/Dialog/controls/ClusterSelectControl/ClusterSelectControl.tsx +93 -0
- package/src/ui/components/Dialog/controls/EditablePathList/EditablePathList.scss +5 -0
- package/src/ui/components/Dialog/controls/EditablePathList/EditablePathList.tsx +70 -0
- package/src/ui/components/Dialog/controls/PathEditorControl/PathEditorControl.scss +2 -0
- package/src/ui/components/Dialog/controls/PathEditorControl/PathEditorControl.tsx +41 -0
- package/src/ui/components/Dialog/controls/PoolSuggestControl/PoolSuggestControl.scss +16 -0
- package/src/ui/components/Dialog/controls/PoolSuggestControl/PoolSuggestControl.tsx +126 -0
- package/src/ui/components/Dialog/controls/PoolTreeSuggestControl/PoolTreeSuggestControl.tsx +39 -0
- package/src/ui/components/Dialog/controls/RoleListControl/RoleListControl.scss +20 -0
- package/src/ui/components/Dialog/controls/RoleListControl/RoleListControl.tsx +214 -0
- package/src/ui/components/Dialog/controls/SelectWithSubItems/SelectWithSubItems.scss +20 -0
- package/src/ui/components/Dialog/controls/SelectWithSubItems/SelectWithSubItems.tsx +106 -0
- package/src/ui/components/Dialog/controls/SortableListControl/SortableListControl.scss +44 -0
- package/src/ui/components/Dialog/controls/SortableListControl/SortableListControl.tsx +97 -0
- package/src/ui/components/Dropdown/Dropdown.js +99 -0
- package/src/ui/components/EditableAsText/EditableAsText.scss +15 -0
- package/src/ui/components/EditableAsText/EditableAsText.tsx +112 -0
- package/src/ui/components/Editor/Editor.js +93 -0
- package/src/ui/components/ElementsTable/ElementsTable.js +544 -0
- package/src/ui/components/ElementsTable/ElementsTable.scss +329 -0
- package/src/ui/components/ElementsTable/ElementsTableFooter.js +70 -0
- package/src/ui/components/ElementsTable/ElementsTableHeader.tsx +351 -0
- package/src/ui/components/ElementsTable/ElementsTableRow.js +128 -0
- package/src/ui/components/ElementsTable/ElementsTableSticky.js +14 -0
- package/src/ui/components/ElementsTable/constants.scss +5 -0
- package/src/ui/components/ElementsTable/hocs/withKeyboardNavigation.js +175 -0
- package/src/ui/components/ElementsTable/hocs/withStickyFooter.js +43 -0
- package/src/ui/components/ElementsTable/hocs/withStickyHead.js +70 -0
- package/src/ui/components/ElementsTable/utils.js +168 -0
- package/src/ui/components/Error/Error.js +19 -0
- package/src/ui/components/Error/Error.scss +7 -0
- package/src/ui/components/ErrorBoundary/ErrorBoundary.js +47 -0
- package/src/ui/components/ErrorDetails/ErrorDetails.js +259 -0
- package/src/ui/components/ErrorDetails/ErrorDetails.scss +37 -0
- package/src/ui/components/ErrorIcon/ErrorIcon.scss +5 -0
- package/src/ui/components/ErrorIcon/ErrorIcon.tsx +26 -0
- package/src/ui/components/ErrorMessage/ErrorMessage.js +26 -0
- package/src/ui/components/ErrorMessage/ErrorMessage.scss +9 -0
- package/src/ui/components/ExpandIcon/ExpandIcon.js +40 -0
- package/src/ui/components/ExpandIcon/ExpandIcon.scss +12 -0
- package/src/ui/components/Favourites/Favourites.scss +42 -0
- package/src/ui/components/Favourites/Favourites.tsx +137 -0
- package/src/ui/components/FilePicker/FilePicker.scss +7 -0
- package/src/ui/components/FilePicker/FilePicker.tsx +45 -0
- package/src/ui/components/Filter/Filter.tsx +187 -0
- package/src/ui/components/Filter/FilterWithRegExp.scss +14 -0
- package/src/ui/components/Filter/FilterWithRegExp.tsx +128 -0
- package/src/ui/components/FlexSplitPane/FlexSplitPane.js +146 -0
- package/src/ui/components/FlexSplitPane/FlexSplitPane.scss +73 -0
- package/src/ui/components/FullScreen/FullScreen.js +56 -0
- package/src/ui/components/HelpLink/HelpLink.scss +5 -0
- package/src/ui/components/HelpLink/HelpLink.tsx +38 -0
- package/src/ui/components/HighlightedText/HighlightedText.tsx +82 -0
- package/src/ui/components/Histogram/Histogram.js +157 -0
- package/src/ui/components/Histogram/Histogram.scss +54 -0
- package/src/ui/components/Histogram/HistogramChart.tsx +261 -0
- package/src/ui/components/Hotkey/Hotkey.tsx +111 -0
- package/src/ui/components/Icon/Icon.scss +63 -0
- package/src/ui/components/Icon/Icon.tsx +73 -0
- package/src/ui/components/Icon/icons-table.md +108 -0
- package/src/ui/components/Icon/importGravityIcons.ts +10 -0
- package/src/ui/components/Icon/importIcons.ts +212 -0
- package/src/ui/components/Info/Info.scss +23 -0
- package/src/ui/components/Info/Info.tsx +24 -0
- package/src/ui/components/Label/Label.scss +80 -0
- package/src/ui/components/Label/Label.tsx +56 -0
- package/src/ui/components/LabelsGroup/LabelsGroup.js +86 -0
- package/src/ui/components/LabelsGroup/LabelsGroup.scss +53 -0
- package/src/ui/components/Link/Link.tsx +69 -0
- package/src/ui/components/Linkify/Linkify.tsx +47 -0
- package/src/ui/components/LoadDataHandler/LoadDataHandler.tsx +52 -0
- package/src/ui/components/Loader/Loader.scss +4 -0
- package/src/ui/components/Loader/Loader.tsx +12 -0
- package/src/ui/components/Login/ChangePasswordFormPage/ChangePasswordFormPage.tsx +177 -0
- package/src/ui/components/Login/LoginFormPage/LoginFormPage.tsx +140 -0
- package/src/ui/components/Login/LoginPageWrapper/LoginPageWrapper.scss +154 -0
- package/src/ui/components/Login/LoginPageWrapper/LoginPageWrapper.tsx +31 -0
- package/src/ui/components/Login/LoginPageWrapper/login-page-theme-dark.scss +8 -0
- package/src/ui/components/Login/LoginPageWrapper/login-page-theme-light.scss +8 -0
- package/src/ui/components/Markdown/Markdown.scss +10 -0
- package/src/ui/components/Markdown/Markdown.tsx +26 -0
- package/src/ui/components/MarkdownLinePreview/MarkdownLinePreview.scss +11 -0
- package/src/ui/components/MarkdownLinePreview/MarkdownLinePreview.tsx +64 -0
- package/src/ui/components/Message/Message.js +63 -0
- package/src/ui/components/MetaTable/MetaTable.scss +63 -0
- package/src/ui/components/MetaTable/MetaTable.tsx +127 -0
- package/src/ui/components/MetaTable/presets/compression.js +20 -0
- package/src/ui/components/MetaTable/presets/erasure-replication.js +25 -0
- package/src/ui/components/MetaTable/presets/index.js +4 -0
- package/src/ui/components/MetaTable/presets/main.js +57 -0
- package/src/ui/components/MetaTable/presets/presets.tsx +15 -0
- package/src/ui/components/MetaTable/presets/size.js +59 -0
- package/src/ui/components/MetaTable/templates/OperationTemplate.js +235 -0
- package/src/ui/components/MetaTable/templates/Template.js +220 -0
- package/src/ui/components/Modal/Modal.scss +34 -0
- package/src/ui/components/Modal/Modal.tsx +153 -0
- package/src/ui/components/Modal/SimpleModal.tsx +86 -0
- package/src/ui/components/MonacoEditor/MonacoEditor.scss +11 -0
- package/src/ui/components/MonacoEditor/MonacoEditor.tsx +121 -0
- package/src/ui/components/MonacoEditor/MonacoEditorThemes.tsx +32 -0
- package/src/ui/components/MultiSubjectsHelper/MultiSubjectsHelper.scss +17 -0
- package/src/ui/components/MultiSubjectsHelper/MultiSubjectsHelper.tsx +99 -0
- package/src/ui/components/Multimeter/BarChart.scss +12 -0
- package/src/ui/components/Multimeter/BarChart.tsx +43 -0
- package/src/ui/components/Multimeter/Multimeter.scss +17 -0
- package/src/ui/components/Multimeter/Multimeter.tsx +43 -0
- package/src/ui/components/NoContent/NoContent.scss +18 -0
- package/src/ui/components/NoContent/NoContent.tsx +25 -0
- package/src/ui/components/NoItemsMessage/NoItemsMessage.js +20 -0
- package/src/ui/components/NoItemsMessage/NoItemsMessage.scss +9 -0
- package/src/ui/components/NumberInput/NumberInput.scss +9 -0
- package/src/ui/components/NumberInput/NumberInput.tsx +289 -0
- package/src/ui/components/PageCounter/PageCounter.tsx +24 -0
- package/src/ui/components/PageHead/PageHead.tsx +31 -0
- package/src/ui/components/Pagination/Pagination.js +123 -0
- package/src/ui/components/Pagination/Pagination.scss +18 -0
- package/src/ui/components/Pagination/SimplePagination.tsx +61 -0
- package/src/ui/components/PreloaderErrors/ConnectionErrorRegion.js +116 -0
- package/src/ui/components/PreloaderErrors/GeneralErrorRegion.js +51 -0
- package/src/ui/components/QuotaEditor/QuotaEditor.scss +32 -0
- package/src/ui/components/QuotaEditor/QuotaEditor.tsx +222 -0
- package/src/ui/components/QuotaEditor/QuotaEditorWithHide.scss +78 -0
- package/src/ui/components/QuotaEditor/QuotaEditorWithHide.tsx +195 -0
- package/src/ui/components/RadioButton/RadioButton.tsx +52 -0
- package/src/ui/components/Radiobox/Radiobox.scss +15 -0
- package/src/ui/components/Radiobox/Radiobox.tsx +35 -0
- package/src/ui/components/SchemaDataType/DataType/DataType.js +83 -0
- package/src/ui/components/SchemaDataType/DataType/DataType.scss +69 -0
- package/src/ui/components/SchemaDataType/SchemaDataType.tsx +137 -0
- package/src/ui/components/SchemaDataType/dataTypes.ts +394 -0
- package/src/ui/components/Select/Select.scss +80 -0
- package/src/ui/components/Select/Select.tsx +303 -0
- package/src/ui/components/SortIcon/SortIcon.scss +7 -0
- package/src/ui/components/SortIcon/SortIcon.tsx +55 -0
- package/src/ui/components/StarTrackLink/StarTrackLink.tsx +19 -0
- package/src/ui/components/StatusBlock/StatusBlock.js +34 -0
- package/src/ui/components/StatusBlock/StatusBlock.scss +39 -0
- package/src/ui/components/StatusBulb/StatusBulb.scss +22 -0
- package/src/ui/components/StatusBulb/StatusBulb.tsx +22 -0
- package/src/ui/components/StatusLabel/StatusLabel.js +90 -0
- package/src/ui/components/StatusLabel/StatusLabel.scss +62 -0
- package/src/ui/components/Suggest/Suggest.scss +52 -0
- package/src/ui/components/Suggest/Suggest.tsx +449 -0
- package/src/ui/components/Support/Support.scss +31 -0
- package/src/ui/components/Support/Support.tsx +54 -0
- package/src/ui/components/Tabs/Tabs.js +184 -0
- package/src/ui/components/Tabs/Tabs.scss +139 -0
- package/src/ui/components/Tabs/__mocks__/Tabs.js +5 -0
- package/src/ui/components/Tag/Tag.scss +24 -0
- package/src/ui/components/Tag/Tag.tsx +30 -0
- package/src/ui/components/TagSelector/TagSelector.scss +2 -0
- package/src/ui/components/TagSelector/TagSelector.tsx +51 -0
- package/src/ui/components/Text/Text.scss +21 -0
- package/src/ui/components/Text/Text.tsx +35 -0
- package/src/ui/components/TextInputWithDebounce/TextInputWithDebounce.tsx +70 -0
- package/src/ui/components/TimeInput/TimeInput.tsx +58 -0
- package/src/ui/components/TimePicker/TimePicker.js +124 -0
- package/src/ui/components/TimePicker/TimePicker.scss +11 -0
- package/src/ui/components/Tooltip/Tooltip.scss +8 -0
- package/src/ui/components/Tooltip/Tooltip.tsx +44 -0
- package/src/ui/components/UserLink/UserLink.scss +18 -0
- package/src/ui/components/UserLink/UserLink.tsx +52 -0
- package/src/ui/components/WarningIcon/WarningIcon.scss +19 -0
- package/src/ui/components/WarningIcon/WarningIcon.tsx +25 -0
- package/src/ui/components/WithStickyToolbar/Toolbar/Toolbar.scss +31 -0
- package/src/ui/components/WithStickyToolbar/Toolbar/Toolbar.tsx +58 -0
- package/src/ui/components/WithStickyToolbar/WithStickyToolbar.scss +40 -0
- package/src/ui/components/WithStickyToolbar/WithStickyToolbar.tsx +92 -0
- package/src/ui/components/YTHistogram/YTHistogram.scss +4 -0
- package/src/ui/components/YTHistogram/YTHistogram.tsx +162 -0
- package/src/ui/components/YagrChartKit/YagrChartKit.tsx +15 -0
- package/src/ui/components/YqlValue/YqlValue.js +73 -0
- package/src/ui/components/Yson/StructuredYson/StructuredYsonTypes.ts +55 -0
- package/src/ui/components/Yson/StructuredYson/flattenUnipika.spec.ts +2215 -0
- package/src/ui/components/Yson/StructuredYson/flattenUnipika.ts +504 -0
- package/src/ui/components/Yson/StructuredYsonVirtualized/StructuredYsonVirtualized.scss +96 -0
- package/src/ui/components/Yson/StructuredYsonVirtualized/StructuredYsonVirtualized.tsx +665 -0
- package/src/ui/components/Yson/Yson.tsx +173 -0
- package/src/ui/components/action/action.js +70 -0
- package/src/ui/components/common/BeforeDatePicker/BeforeDatePicker.scss +12 -0
- package/src/ui/components/common/BeforeDatePicker/BeforeDatePicker.tsx +206 -0
- package/src/ui/components/common/ColumnSelector/ColumnSelector.scss +15 -0
- package/src/ui/components/common/ColumnSelector/ColumnSelector.tsx +138 -0
- package/src/ui/components/common/ColumnSelector/i18n/en.json +6 -0
- package/src/ui/components/common/ColumnSelector/i18n/index.ts +12 -0
- package/src/ui/components/common/ColumnSelector/index.ts +1 -0
- package/src/ui/components/common/Datepicker/Calendar/Calendar.js +685 -0
- package/src/ui/components/common/Datepicker/Calendar/Calendar.scss +4 -0
- package/src/ui/components/common/Datepicker/Datepicker.d.ts +37 -0
- package/src/ui/components/common/Datepicker/Datepicker.js +572 -0
- package/src/ui/components/common/Datepicker/Datepicker.scss +33 -0
- package/src/ui/components/common/Datepicker/Month/Month.js +208 -0
- package/src/ui/components/common/Datepicker/Month/Month.scss +112 -0
- package/src/ui/components/common/Datepicker/Months/Months.js +159 -0
- package/src/ui/components/common/Datepicker/Months/Months.scss +75 -0
- package/src/ui/components/common/Datepicker/PopupContent/PopupContent.js +95 -0
- package/src/ui/components/common/Datepicker/PopupContent/PopupContent.scss +37 -0
- package/src/ui/components/common/Datepicker/Presets/Presets.js +50 -0
- package/src/ui/components/common/Datepicker/Presets/Presets.scss +24 -0
- package/src/ui/components/common/Datepicker/Quarters/Quarters.js +140 -0
- package/src/ui/components/common/Datepicker/Quarters/Quarters.scss +74 -0
- package/src/ui/components/common/Datepicker/YearSwitcher/YearSwitcher.js +63 -0
- package/src/ui/components/common/Datepicker/YearSwitcher/YearSwitcher.scss +45 -0
- package/src/ui/components/common/Datepicker/Years/Years.js +102 -0
- package/src/ui/components/common/Datepicker/Years/Years.scss +61 -0
- package/src/ui/components/common/Datepicker/constants.js +55 -0
- package/src/ui/components/common/Datepicker/i18n/en.json +53 -0
- package/src/ui/components/common/Datepicker/i18n/index.ts +12 -0
- package/src/ui/components/common/Datepicker/index.tsx +7 -0
- package/src/ui/components/common/Datepicker/readme.md +1 -0
- package/src/ui/components/common/Datepicker/utils.js +246 -0
- package/src/ui/components/common/EnterInput/EnterInput.js +76 -0
- package/src/ui/components/common/FieldWrapper/FieldWrapper.scss +24 -0
- package/src/ui/components/common/FieldWrapper/FieldWrapper.tsx +25 -0
- package/src/ui/components/common/FieldWrapper/index.ts +1 -0
- package/src/ui/components/common/ItemSelector/ItemSelector.scss +81 -0
- package/src/ui/components/common/ItemSelector/ItemSelector.tsx +188 -0
- package/src/ui/components/common/ItemSelector/i18n/en.json +7 -0
- package/src/ui/components/common/ItemSelector/i18n/index.ts +12 -0
- package/src/ui/components/common/ItemSelector/index.ts +1 -0
- package/src/ui/components/common/MobileModal/MobileModal.scss +98 -0
- package/src/ui/components/common/MobileModal/MobileModal.tsx +134 -0
- package/src/ui/components/common/MobileModal/ModalContent.tsx +484 -0
- package/src/ui/components/common/MobileModal/utils.ts +41 -0
- package/src/ui/components/common/README.md +1 -0
- package/src/ui/components/common/RangeInputPicker/RangeInputPicker.scss +187 -0
- package/src/ui/components/common/RangeInputPicker/RangeInputPicker.tsx +510 -0
- package/src/ui/components/common/RangeInputPicker/constants.ts +16 -0
- package/src/ui/components/common/RangeInputPicker/index.ts +1 -0
- package/src/ui/components/common/RangeInputPicker/utils.ts +101 -0
- package/src/ui/components/common/SelectControl/SelectControl.scss +99 -0
- package/src/ui/components/common/SelectControl/SelectControl.tsx +93 -0
- package/src/ui/components/common/Timeline/TimelinePicker/TimelineDatepicker.js +49 -0
- package/src/ui/components/common/Timeline/TimelinePicker/TimelinePicker.scss +114 -0
- package/src/ui/components/common/Timeline/TimelinePicker/TimelinePicker.tsx +327 -0
- package/src/ui/components/common/Timeline/i18n/en.json +4 -0
- package/src/ui/components/common/Timeline/i18n/index.ts +11 -0
- package/src/ui/components/common/Timeline/index.ts +13 -0
- package/src/ui/components/common/Timeline/util.ts +147 -0
- package/src/ui/components/formatters/FormattedId/FormattedId.js +34 -0
- package/src/ui/components/formatters/FormattedId/FormattedId.scss +21 -0
- package/src/ui/components/formatters/FormattedLink.js +42 -0
- package/src/ui/components/formatters/FormattedText.js +60 -0
- package/src/ui/components/formatters/FormattedTextOrLink.js +15 -0
- package/src/ui/components/formatters/index.js +55 -0
- package/src/ui/components/index.tsx +3 -0
- package/src/ui/components/templates/cluster-menu.js +56 -0
- package/src/ui/components/templates/components/components.js +59 -0
- package/src/ui/components/templates/components/nodes/node.js +32 -0
- package/src/ui/components/templates/components/nodes/nodes.tsx +52 -0
- package/src/ui/components/templates/components/versions.js +51 -0
- package/src/ui/components/templates/components.js +277 -0
- package/src/ui/components/templates/meta.js +40 -0
- package/src/ui/components/templates/operations/events.js +44 -0
- package/src/ui/components/templates/operations/resources.js +17 -0
- package/src/ui/components/templates/operations/specification.js +98 -0
- package/src/ui/components/templates/operations/statistics.js +86 -0
- package/src/ui/components/templates/operations.js +4 -0
- package/src/ui/components/templates/system.js +36 -0
- package/src/ui/components/templates/templates.js +8 -0
- package/src/ui/components/templates/utils.js +189 -0
- package/src/ui/components/templates/utils.scss +18 -0
- package/src/ui/config/index.ts +89 -0
- package/src/ui/config/yt-config.ts +31 -0
- package/src/ui/constants/accounts/accounts.ts +137 -0
- package/src/ui/constants/accounts/editor.js +19 -0
- package/src/ui/constants/accounts/index.ts +11 -0
- package/src/ui/constants/acl.ts +81 -0
- package/src/ui/constants/actions.js +15 -0
- package/src/ui/constants/cluster-menu.js +54 -0
- package/src/ui/constants/colors.ts +16 -0
- package/src/ui/constants/components/ban-unban.js +12 -0
- package/src/ui/constants/components/main.ts +12 -0
- package/src/ui/constants/components/nodes/actions/disable-enable.js +21 -0
- package/src/ui/constants/components/nodes/actions/set-resources-limits.js +9 -0
- package/src/ui/constants/components/nodes/memory.ts +5 -0
- package/src/ui/constants/components/nodes/node.ts +11 -0
- package/src/ui/constants/components/nodes/nodes.ts +51 -0
- package/src/ui/constants/components/proxies/actions/change-role.js +9 -0
- package/src/ui/constants/components/proxies/proxies.js +27 -0
- package/src/ui/constants/components/shards.js +10 -0
- package/src/ui/constants/components/versions/versions.js +45 -0
- package/src/ui/constants/components/versions/versions_v2.js +18 -0
- package/src/ui/constants/dashboard/index.js +11 -0
- package/src/ui/constants/docsUrls.ts +47 -0
- package/src/ui/constants/execute-batch.ts +2 -0
- package/src/ui/constants/global/index.ts +6 -0
- package/src/ui/constants/groups.js +13 -0
- package/src/ui/constants/index.ts +105 -0
- package/src/ui/constants/job.ts +40 -0
- package/src/ui/constants/modals/attributes-modal.js +7 -0
- package/src/ui/constants/modals/errors.js +2 -0
- package/src/ui/constants/navigation/content/document.js +7 -0
- package/src/ui/constants/navigation/content/file.js +8 -0
- package/src/ui/constants/navigation/content/replicated-table.ts +4 -0
- package/src/ui/constants/navigation/content/table.js +44 -0
- package/src/ui/constants/navigation/content/transaction-map.js +10 -0
- package/src/ui/constants/navigation/content/transaction.js +7 -0
- package/src/ui/constants/navigation/index.ts +46 -0
- package/src/ui/constants/navigation/modals/attributes-editor.ts +4 -0
- package/src/ui/constants/navigation/modals/copy-object.js +8 -0
- package/src/ui/constants/navigation/modals/create-directory.js +10 -0
- package/src/ui/constants/navigation/modals/create-table.ts +41 -0
- package/src/ui/constants/navigation/modals/delete-object.js +12 -0
- package/src/ui/constants/navigation/modals/dyn-tables-state-modal.ts +1 -0
- package/src/ui/constants/navigation/modals/index.ts +2 -0
- package/src/ui/constants/navigation/modals/move-object.js +8 -0
- package/src/ui/constants/navigation/modals/path-editing-popup.js +28 -0
- package/src/ui/constants/navigation/modals/restore-object.js +10 -0
- package/src/ui/constants/navigation/modals/table-erase-modal.ts +1 -0
- package/src/ui/constants/navigation/modals/table-sort-modal.ts +1 -0
- package/src/ui/constants/navigation/path-editor.js +6 -0
- package/src/ui/constants/navigation/tabs/access-log.ts +9 -0
- package/src/ui/constants/navigation/tabs/annotation.js +7 -0
- package/src/ui/constants/navigation/tabs/consumer.ts +23 -0
- package/src/ui/constants/navigation/tabs/locks.js +9 -0
- package/src/ui/constants/navigation/tabs/queue.ts +24 -0
- package/src/ui/constants/navigation/tabs/schema.js +7 -0
- package/src/ui/constants/navigation/tabs/tablet-errors.ts +8 -0
- package/src/ui/constants/navigation/tabs/tablets.js +13 -0
- package/src/ui/constants/navigation/tabs/user-attributes.js +7 -0
- package/src/ui/constants/operations/detail.ts +23 -0
- package/src/ui/constants/operations/index.ts +15 -0
- package/src/ui/constants/operations/jobs.js +17 -0
- package/src/ui/constants/operations/list.ts +52 -0
- package/src/ui/constants/operations/statistics.ts +22 -0
- package/src/ui/constants/path-viewer.js +13 -0
- package/src/ui/constants/scheduling/index.ts +55 -0
- package/src/ui/constants/slideoutMenu.ts +49 -0
- package/src/ui/constants/suggests.ts +3 -0
- package/src/ui/constants/system/masters.js +11 -0
- package/src/ui/constants/system/nodes.js +20 -0
- package/src/ui/constants/system/schedulers.js +5 -0
- package/src/ui/constants/tables.js +9 -0
- package/src/ui/constants/tablet.js +12 -0
- package/src/ui/constants/tablets.ts +32 -0
- package/src/ui/constants/users.js +11 -0
- package/src/ui/constants/utils.ts +23 -0
- package/src/ui/containers/ActionModal/ActionModal.js +208 -0
- package/src/ui/containers/App/App.scss +134 -0
- package/src/ui/containers/App/App.tsx +127 -0
- package/src/ui/containers/App/AppStoreProvider.tsx +13 -0
- package/src/ui/containers/AppNavigation/AppNavigation.scss +34 -0
- package/src/ui/containers/AppNavigation/AppNavigation.tsx +114 -0
- package/src/ui/containers/AppNavigation/AppNavigationComponent.scss +5 -0
- package/src/ui/containers/AppNavigation/AppNavigationComponent.tsx +181 -0
- package/src/ui/containers/AppNavigation/PagesEditorPanel.scss +34 -0
- package/src/ui/containers/AppNavigation/PagesEditorPanel.tsx +68 -0
- package/src/ui/containers/AppNavigation/PagesPanel.scss +44 -0
- package/src/ui/containers/AppNavigation/PagesPanel.tsx +107 -0
- package/src/ui/containers/AppNavigation/PagesSettingsEditor.scss +51 -0
- package/src/ui/containers/AppNavigation/PagesSettingsEditor.tsx +107 -0
- package/src/ui/containers/AppNavigation/TopRowContent/SectionName.scss +34 -0
- package/src/ui/containers/AppNavigation/TopRowContent/SectionName.tsx +67 -0
- package/src/ui/containers/AppNavigation/TopRowContent/TopRowContent.tsx +51 -0
- package/src/ui/containers/BanPage/BanPage.js +57 -0
- package/src/ui/containers/ClusterPage/ClusterPage.js +447 -0
- package/src/ui/containers/ClusterPage/ClusterPage.scss +45 -0
- package/src/ui/containers/ClusterPage/ClusterPageWithNavigation.scss +9 -0
- package/src/ui/containers/ClusterPage/ExtraClusterPageRoutes.tsx +24 -0
- package/src/ui/containers/ClusterPage/OngoingEventsNotice.scss +41 -0
- package/src/ui/containers/ClusterPage/PageTracker.js +55 -0
- package/src/ui/containers/ClusterPage/SupportedFeaturesUpdater.tsx +20 -0
- package/src/ui/containers/ClusterPageHeader/ClusterColor.scss +46 -0
- package/src/ui/containers/ClusterPageHeader/ClusterColor.ts +10 -0
- package/src/ui/containers/ClusterPageHeader/ClusterPageHeader.scss +48 -0
- package/src/ui/containers/ClusterPageHeader/ClusterPageHeader.tsx +111 -0
- package/src/ui/containers/ClusterPageHeader/ClustersPanel.scss +90 -0
- package/src/ui/containers/ClusterPageHeader/ClustersPanel.tsx +276 -0
- package/src/ui/containers/ClusterPageWrapper/ClusterPageWrapper.tsx +27 -0
- package/src/ui/containers/ClustersMenu/ClusterMenuBody.scss +7 -0
- package/src/ui/containers/ClustersMenu/ClusterMenuHeader.scss +56 -0
- package/src/ui/containers/ClustersMenu/ClustersMenu.js +21 -0
- package/src/ui/containers/ClustersMenu/ClustersMenuBody.js +300 -0
- package/src/ui/containers/ClustersMenu/ClustersMenuHeader.js +79 -0
- package/src/ui/containers/ClustersMenu/HeaderLinks.tsx +158 -0
- package/src/ui/containers/ClustersMenu/header-links-items.ts +24 -0
- package/src/ui/containers/Host/Host.scss +9 -0
- package/src/ui/containers/Host/Host.tsx +44 -0
- package/src/ui/containers/MaintenancePage/HandleRedirect.js +62 -0
- package/src/ui/containers/MaintenancePage/MaintenancePage.js +232 -0
- package/src/ui/containers/MaintenancePage/MaintenancePage.scss +92 -0
- package/src/ui/containers/ModalErrors/ModalErrors.tsx +77 -0
- package/src/ui/containers/NavigationExtraActions/NavigationExtraActions.tsx +28 -0
- package/src/ui/containers/PathEditor/PathEditor.js +368 -0
- package/src/ui/containers/PathEditor/PathEditor.scss +56 -0
- package/src/ui/containers/PathEditor/PathEditor.spec.js +483 -0
- package/src/ui/containers/PathEditor/__snapshots__/PathEditor.spec.js.snap +239 -0
- package/src/ui/containers/PathFragment/PathFragment.tsx +47 -0
- package/src/ui/containers/RetryBatchModal/RetryBatchModal.tsx +84 -0
- package/src/ui/containers/RootPage/RootPage.scss +6 -0
- package/src/ui/containers/RootPage/RootPage.tsx +40 -0
- package/src/ui/containers/SettingsMenu/SettingsMenu.scss +67 -0
- package/src/ui/containers/SettingsMenu/SettingsMenuInput.js +77 -0
- package/src/ui/containers/SettingsMenu/SettingsMenuItem.js +82 -0
- package/src/ui/containers/SettingsMenu/SettingsMenuRadio.tsx +82 -0
- package/src/ui/containers/SettingsPanel/SettingsPanel.scss +13 -0
- package/src/ui/containers/SettingsPanel/SettingsPanel.tsx +53 -0
- package/src/ui/containers/SettingsPanel/settings-description.tsx +587 -0
- package/src/ui/containers/UserSuggest/UserSuggest.tsx +19 -0
- package/src/ui/containers/UserSuggest/YTUserSuggest.tsx +30 -0
- package/src/ui/entries/main.scss +24 -0
- package/src/ui/entries/main.tsx +19 -0
- package/src/ui/global.d.ts +9 -0
- package/src/ui/hocs/components/Modal/withHandledScrollBar.js +56 -0
- package/src/ui/hocs/components/Modal/withScope.js +49 -0
- package/src/ui/hocs/pages/components/nodes/withDisableAction.js +150 -0
- package/src/ui/hocs/pages/withDataLoader.js +86 -0
- package/src/ui/hocs/withBlockedNavigation.js +35 -0
- package/src/ui/hocs/withCollapsible.js +78 -0
- package/src/ui/hocs/withSplit.js +18 -0
- package/src/ui/hocs/withVisible.tsx +50 -0
- package/src/ui/hooks/global.tsx +87 -0
- package/src/ui/hooks/use-cluster.ts +11 -0
- package/src/ui/hooks/use-updater.ts +16 -0
- package/src/ui/hooks/useResizeObserver.tsx +23 -0
- package/src/ui/icons/Chevron.tsx +17 -0
- package/src/ui/legacy-styles/cluster-menu/cluster-menu.scss +416 -0
- package/src/ui/legacy-styles/cluster-page/cluster-page.scss +24 -0
- package/src/ui/legacy-styles/elements/attributes-modal/attributes-modal.scss +10 -0
- package/src/ui/legacy-styles/elements/base.scss +3 -0
- package/src/ui/legacy-styles/elements/button/button.scss +9 -0
- package/src/ui/legacy-styles/elements/code/code.scss +21 -0
- package/src/ui/legacy-styles/elements/confirmation/confirmation.scss +17 -0
- package/src/ui/legacy-styles/elements/definition-list/definition-list.scss +40 -0
- package/src/ui/legacy-styles/elements/elements.scss +27 -0
- package/src/ui/legacy-styles/elements/ellipsis.scss +33 -0
- package/src/ui/legacy-styles/elements/error-message/error-message.scss +32 -0
- package/src/ui/legacy-styles/elements/filter/filter.scss +13 -0
- package/src/ui/legacy-styles/elements/form/form.scss +110 -0
- package/src/ui/legacy-styles/elements/globals.scss +6 -0
- package/src/ui/legacy-styles/elements/heading/heading.scss +44 -0
- package/src/ui/legacy-styles/elements/histogram/histogram.scss +56 -0
- package/src/ui/legacy-styles/elements/island/island.scss +8 -0
- package/src/ui/legacy-styles/elements/link.scss +28 -0
- package/src/ui/legacy-styles/elements/list/list.scss +21 -0
- package/src/ui/legacy-styles/elements/message/message.scss +53 -0
- package/src/ui/legacy-styles/elements/meta/meta.scss +48 -0
- package/src/ui/legacy-styles/elements/mixins.scss +11 -0
- package/src/ui/legacy-styles/elements/modals/modals.scss +209 -0
- package/src/ui/legacy-styles/elements/monospace.scss +5 -0
- package/src/ui/legacy-styles/elements/page/page.scss +48 -0
- package/src/ui/legacy-styles/elements/preloader.scss +52 -0
- package/src/ui/legacy-styles/elements/pretty-scroll/pretty-scroll.scss +63 -0
- package/src/ui/legacy-styles/elements/section/section.scss +39 -0
- package/src/ui/legacy-styles/elements/suggest/suggest.scss +83 -0
- package/src/ui/legacy-styles/elements/toolbar/toolbar.scss +50 -0
- package/src/ui/legacy-styles/elements/unipika/unipika.scss +75 -0
- package/src/ui/legacy-styles/elements/user-suggest/user-suggest.scss +39 -0
- package/src/ui/legacy-styles/legacy.scss +12 -0
- package/src/ui/lib.tsx +7 -0
- package/src/ui/libs/monaco-yql-languages/_.contribution.ts +246 -0
- package/src/ui/libs/monaco-yql-languages/clickhouse/clickhouse.contribution.ts +31 -0
- package/src/ui/libs/monaco-yql-languages/clickhouse/clickhouse.keywords.ts +1306 -0
- package/src/ui/libs/monaco-yql-languages/clickhouse/clickhouse.ts +232 -0
- package/src/ui/libs/monaco-yql-languages/completion.ts +124 -0
- package/src/ui/libs/monaco-yql-languages/fillers/monaco-editor-core.ts +1 -0
- package/src/ui/libs/monaco-yql-languages/monaco.contribution.ts +5 -0
- package/src/ui/libs/monaco-yql-languages/s-expressions/s-expressions.contribution.ts +9 -0
- package/src/ui/libs/monaco-yql-languages/s-expressions/s-expressions.keywords.ts +11 -0
- package/src/ui/libs/monaco-yql-languages/s-expressions/s-expressions.ts +90 -0
- package/src/ui/libs/monaco-yql-languages/themes/themes.contribution.ts +49 -0
- package/src/ui/libs/monaco-yql-languages/yql/yql.contribution.ts +15 -0
- package/src/ui/libs/monaco-yql-languages/yql/yql.keywords.ts +13 -0
- package/src/ui/libs/monaco-yql-languages/yql/yql.ts +194 -0
- package/src/ui/libs/monaco-yql-languages/yql/yql_ansi.contribution.ts +15 -0
- package/src/ui/navigation/Navigation/PathEditorModal/CreateTableModal/CreateTableModal.scss +17 -0
- package/src/ui/navigation/Navigation/PathEditorModal/CreateTableModal/CreateTableModal.tsx +909 -0
- package/src/ui/navigation/Navigation/PathEditorModal/CreateTableModal/CreateTableSuggests/CreateTableSuggests.tsx +71 -0
- package/src/ui/navigation/Navigation/PathEditorModal/CreateTableModal/CreateTableTabField/CreateTableTabField.scss +72 -0
- package/src/ui/navigation/Navigation/PathEditorModal/CreateTableModal/CreateTableTabField/CreateTableTabField.tsx +270 -0
- package/src/ui/pages/accounts/AccountLink.tsx +26 -0
- package/src/ui/pages/accounts/AccountQuota/AccountQuota.scss +29 -0
- package/src/ui/pages/accounts/AccountQuota/AccountQuota.tsx +218 -0
- package/src/ui/pages/accounts/Accounts/Accounts.js +173 -0
- package/src/ui/pages/accounts/Accounts/Accounts.scss +22 -0
- package/src/ui/pages/accounts/Accounts/AccountsTopRowContent.scss +36 -0
- package/src/ui/pages/accounts/Accounts/AccountsTopRowContent.tsx +168 -0
- package/src/ui/pages/accounts/Accounts/AccountsUpdater.tsx +20 -0
- package/src/ui/pages/accounts/AccountsNoContent.js +12 -0
- package/src/ui/pages/accounts/AccountsSuggest.scss +7 -0
- package/src/ui/pages/accounts/AccountsSuggest.tsx +138 -0
- package/src/ui/pages/accounts/UsableAccountSuggest.tsx +50 -0
- package/src/ui/pages/accounts/selector.js +118 -0
- package/src/ui/pages/accounts/tabs/acl/AccountsAclTab.js +35 -0
- package/src/ui/pages/accounts/tabs/detailed-usage/AccountUsageColumnsButton.tsx +94 -0
- package/src/ui/pages/accounts/tabs/detailed-usage/AccountUsageDetails.scss +41 -0
- package/src/ui/pages/accounts/tabs/detailed-usage/AccountUsageDetails.tsx +626 -0
- package/src/ui/pages/accounts/tabs/detailed-usage/AccountUsageTab.tsx +40 -0
- package/src/ui/pages/accounts/tabs/detailed-usage/AccountUsageToolbar.scss +55 -0
- package/src/ui/pages/accounts/tabs/detailed-usage/AccountUsageToolbar.tsx +529 -0
- package/src/ui/pages/accounts/tabs/general/AccountAlerts.scss +6 -0
- package/src/ui/pages/accounts/tabs/general/AccountAlerts.tsx +49 -0
- package/src/ui/pages/accounts/tabs/general/AccountStaticConfiguration/AccountStaticConfiguration.scss +16 -0
- package/src/ui/pages/accounts/tabs/general/AccountStaticConfiguration/AccountStaticConfiguration.tsx +112 -0
- package/src/ui/pages/accounts/tabs/general/AccountsGeneralTab.js +849 -0
- package/src/ui/pages/accounts/tabs/general/AccountsGeneralTab.scss +312 -0
- package/src/ui/pages/accounts/tabs/general/AccountsTotal.tsx +139 -0
- package/src/ui/pages/accounts/tabs/general/Editor/AccountCreate.js +40 -0
- package/src/ui/pages/accounts/tabs/general/Editor/AccountCreateDialog.scss +11 -0
- package/src/ui/pages/accounts/tabs/general/Editor/AccountCreateDialog.tsx +161 -0
- package/src/ui/pages/accounts/tabs/general/Editor/AccountTransferQuotaMessage.tsx +27 -0
- package/src/ui/pages/accounts/tabs/general/Editor/ConfirmMessage.js +38 -0
- package/src/ui/pages/accounts/tabs/general/Editor/Editor.js +67 -0
- package/src/ui/pages/accounts/tabs/general/Editor/Editor.scss +77 -0
- package/src/ui/pages/accounts/tabs/general/Editor/content/ChunksContent.tsx +27 -0
- package/src/ui/pages/accounts/tabs/general/Editor/content/DeleteContent.js +91 -0
- package/src/ui/pages/accounts/tabs/general/Editor/content/GeneralContent.tsx +166 -0
- package/src/ui/pages/accounts/tabs/general/Editor/content/MasterMemoryContent.tsx +37 -0
- package/src/ui/pages/accounts/tabs/general/Editor/content/MediumContent.tsx +88 -0
- package/src/ui/pages/accounts/tabs/general/Editor/content/NodesContent.tsx +28 -0
- package/src/ui/pages/accounts/tabs/general/Editor/content/TabletsContent.scss +5 -0
- package/src/ui/pages/accounts/tabs/general/Editor/content/TabletsContent.tsx +99 -0
- package/src/ui/pages/accounts/tabs/general/MasterMemoryTableMode.tsx +59 -0
- package/src/ui/pages/accounts/tabs/general/ProgressStack.js +174 -0
- package/src/ui/pages/accounts/tabs/general/ProgressTooltip.scss +41 -0
- package/src/ui/pages/accounts/tabs/general/ProgressTooltip.tsx +85 -0
- package/src/ui/pages/accounts/tabs/monitor/AccountsMonitorTab.tsx +28 -0
- package/src/ui/pages/accounts/tabs/statistic/AccountStatisticTab.tsx +31 -0
- package/src/ui/pages/chaos_cell_bundles/ChaosCellBundlesTopRowContent.connected.ts +34 -0
- package/src/ui/pages/chaos_cell_bundles/bundles/Bundles.tsx +35 -0
- package/src/ui/pages/chaos_cell_bundles/bundles/BundlesTable.connected.ts +56 -0
- package/src/ui/pages/chaos_cell_bundles/bundles/BundlesTableInstruments.connected.ts +42 -0
- package/src/ui/pages/chaos_cell_bundles/bundles/ChaosBundleEditorDialog/ChaosBundleEditorDialog.connected.ts +26 -0
- package/src/ui/pages/chaos_cell_bundles/bundles/ChaosBundleEditorDialog/ChaosBundleEditorDialog.scss +39 -0
- package/src/ui/pages/chaos_cell_bundles/bundles/ChaosBundleEditorDialog/ChaosBundleEditorDialog.tsx +307 -0
- package/src/ui/pages/chaos_cell_bundles/cells/Cells.tsx +14 -0
- package/src/ui/pages/chaos_cell_bundles/cells/CellsInstruments.connected.ts +36 -0
- package/src/ui/pages/chaos_cell_bundles/cells/CellsTable.connected.ts +50 -0
- package/src/ui/pages/components/BanModal/BanModal.js +78 -0
- package/src/ui/pages/components/BanModal/BanModal.scss +5 -0
- package/src/ui/pages/components/Components/Component.scss +5 -0
- package/src/ui/pages/components/Components/Components.js +108 -0
- package/src/ui/pages/components/Components/ComponentsTopRowContent.scss +21 -0
- package/src/ui/pages/components/Components/ComponentsTopRowContent.tsx +99 -0
- package/src/ui/pages/components/GroupSuggest/GroupSuggest.scss +3 -0
- package/src/ui/pages/components/GroupSuggest/GroupSuggest.tsx +88 -0
- package/src/ui/pages/components/OperationShortInfo/OperationShortInfo.scss +17 -0
- package/src/ui/pages/components/OperationShortInfo/OperationShortInfo.tsx +117 -0
- package/src/ui/pages/components/Placeholder.tsx +26 -0
- package/src/ui/pages/components/RequestQoutaButton/RequestQuotaButton.tsx +33 -0
- package/src/ui/pages/components/TableInfo/TableInfo.js +28 -0
- package/src/ui/pages/components/TableInfo/TableInfo.scss +34 -0
- package/src/ui/pages/components/TabletCellBundlesSuggest/TabletCellBundlesSuggest.tsx +55 -0
- package/src/ui/pages/components/UnbanModal/UnbanModal.js +54 -0
- package/src/ui/pages/components/tabs/Proxies/Proxies.js +421 -0
- package/src/ui/pages/components/tabs/Proxies/Proxies.scss +93 -0
- package/src/ui/pages/components/tabs/Proxies/ProxyActions/ChangeRoleModal/ChangeRoleModal.js +79 -0
- package/src/ui/pages/components/tabs/Proxies/ProxyActions/ChangeRoleModal/ChangeRoleModal.scss +5 -0
- package/src/ui/pages/components/tabs/Proxies/ProxyActions/ProxyActions.js +120 -0
- package/src/ui/pages/components/tabs/Proxies/ProxyCard/ProxyCard.js +135 -0
- package/src/ui/pages/components/tabs/Proxies/ProxyCard/ProxyCard.scss +21 -0
- package/src/ui/pages/components/tabs/Proxies/__mocks__/Proxies.js +5 -0
- package/src/ui/pages/components/tabs/Shards/Name.js +107 -0
- package/src/ui/pages/components/tabs/Shards/NodeCount.js +44 -0
- package/src/ui/pages/components/tabs/Shards/Shards.js +144 -0
- package/src/ui/pages/components/tabs/Shards/Shards.scss +45 -0
- package/src/ui/pages/components/tabs/Shards/__mocks__/Shards.js +5 -0
- package/src/ui/pages/components/tabs/Versions/VersionCell.scss +9 -0
- package/src/ui/pages/components/tabs/Versions/VersionCell.tsx +64 -0
- package/src/ui/pages/components/tabs/Versions/VersionSummary.scss +60 -0
- package/src/ui/pages/components/tabs/Versions/VersionSummary.tsx +226 -0
- package/src/ui/pages/components/tabs/Versions/Versions.scss +82 -0
- package/src/ui/pages/components/tabs/Versions/VersionsV2.js +308 -0
- package/src/ui/pages/components/tabs/Versions/__mocks__/Versions.js +5 -0
- package/src/ui/pages/components/tabs/Versions/__mocks__/VersionsV2.js +5 -0
- package/src/ui/pages/components/tabs/node/NodeAlerts/NodeAlerts.tsx +19 -0
- package/src/ui/pages/components/tabs/node/NodeBundles/NodeBundles.tsx +46 -0
- package/src/ui/pages/components/tabs/node/NodeBundlesTotal/NodeBundlesTotal.scss +40 -0
- package/src/ui/pages/components/tabs/node/NodeBundlesTotal/NodeBundlesTotal.tsx +239 -0
- package/src/ui/pages/components/tabs/node/NodeCpuAndMemory/NodeCpuAndMemory.tsx +58 -0
- package/src/ui/pages/components/tabs/node/NodeGeneralTab/NodeGeneralTab.scss +20 -0
- package/src/ui/pages/components/tabs/node/NodeGeneralTab/NodeGeneralTab.tsx +64 -0
- package/src/ui/pages/components/tabs/node/NodeLocations/NodeLocations.tsx +112 -0
- package/src/ui/pages/components/tabs/node/NodeMemoryDetailsTable/NodeMemoryDetailsTable.scss +19 -0
- package/src/ui/pages/components/tabs/node/NodeMemoryDetailsTable/NodeMemoryDetailsTable.tsx +212 -0
- package/src/ui/pages/components/tabs/node/NodeMemoryUsage/NodeMemoryUsage.tsx +61 -0
- package/src/ui/pages/components/tabs/node/NodeMemoryUsage/NodeMemoryUsageToolbar.scss +8 -0
- package/src/ui/pages/components/tabs/node/NodeMemoryUsage/NodeMemoryUsageToolbar.tsx +67 -0
- package/src/ui/pages/components/tabs/node/NodeMeta/NodeMeta.scss +24 -0
- package/src/ui/pages/components/tabs/node/NodeMeta/NodeMeta.tsx +195 -0
- package/src/ui/pages/components/tabs/node/NodePage.scss +6 -0
- package/src/ui/pages/components/tabs/node/NodePage.tsx +134 -0
- package/src/ui/pages/components/tabs/node/NodeResources/NodeResources.tsx +91 -0
- package/src/ui/pages/components/tabs/node/NodeStorage/NodeStorage.scss +25 -0
- package/src/ui/pages/components/tabs/node/NodeStorage/NodeStorage.tsx +69 -0
- package/src/ui/pages/components/tabs/node/NodeTables/NodeTables.tsx +45 -0
- package/src/ui/pages/components/tabs/node/NodeTabletSlots/NodeTabletSlots.tsx +64 -0
- package/src/ui/pages/components/tabs/node/NodeTabletSlotsTab/NodeTabletSlotsTab.tsx +20 -0
- package/src/ui/pages/components/tabs/nodes/FilterPresets/FiltersPresets.js +84 -0
- package/src/ui/pages/components/tabs/nodes/FilterPresets/FiltersPresets.scss +48 -0
- package/src/ui/pages/components/tabs/nodes/MemoryProgress/MemoryProgress.js +89 -0
- package/src/ui/pages/components/tabs/nodes/MemoryProgress/MemoryProgress.scss +47 -0
- package/src/ui/pages/components/tabs/nodes/NodeActions/DecommissionNodeModal.tsx +77 -0
- package/src/ui/pages/components/tabs/nodes/NodeActions/DisableModal.js +42 -0
- package/src/ui/pages/components/tabs/nodes/NodeActions/NodeActions.js +200 -0
- package/src/ui/pages/components/tabs/nodes/NodeActions/NodeActions.scss +5 -0
- package/src/ui/pages/components/tabs/nodes/NodeActions/ResourcesLimitsModal/ResourcesLimitsModal.js +274 -0
- package/src/ui/pages/components/tabs/nodes/NodeActions/ResourcesLimitsModal/ResourcesLimitsModal.scss +33 -0
- package/src/ui/pages/components/tabs/nodes/NodeCard/NodeCard.js +422 -0
- package/src/ui/pages/components/tabs/nodes/NodeCard/NodeCard.scss +67 -0
- package/src/ui/pages/components/tabs/nodes/Nodes/Nodes.js +471 -0
- package/src/ui/pages/components/tabs/nodes/Nodes/Nodes.scss +246 -0
- package/src/ui/pages/components/tabs/nodes/Nodes/__mocks__/Nodes.js +5 -0
- package/src/ui/pages/components/tabs/nodes/SetupModal/SetupModal.js +821 -0
- package/src/ui/pages/components/tabs/nodes/SetupModal/SetupModal.scss +72 -0
- package/src/ui/pages/components/tabs/nodes/SetupModal/TagsFilter/TagsFilter.scss +15 -0
- package/src/ui/pages/components/tabs/nodes/SetupModal/TagsFilter/TagsFilter.tsx +145 -0
- package/src/ui/pages/components/tabs/nodes/Version.js +67 -0
- package/src/ui/pages/dashboard/Dashboard/Dashboard.js +84 -0
- package/src/ui/pages/dashboard/Dashboard/Dashboard.scss +17 -0
- package/src/ui/pages/dashboard/Dashboard/DashboardTopRowContent.scss +4 -0
- package/src/ui/pages/dashboard/Dashboard/DashboardTopRowContent.tsx +21 -0
- package/src/ui/pages/dashboard/Links/Links.js +179 -0
- package/src/ui/pages/dashboard/Links/Links.scss +42 -0
- package/src/ui/pages/groups/GroupEditorDialog/GroupEditorDialog.js +218 -0
- package/src/ui/pages/groups/GroupEditorDialog/GroupEditorDialog.scss +9 -0
- package/src/ui/pages/groups/GroupsPage.js +20 -0
- package/src/ui/pages/groups/GroupsPageFilters/GroupsPageFilters.js +64 -0
- package/src/ui/pages/groups/GroupsPageFilters/GroupsPageFilters.scss +25 -0
- package/src/ui/pages/groups/GroupsPageTable/GroupsPageTable.js +336 -0
- package/src/ui/pages/groups/GroupsPageTable/GroupsPageTable.scss +119 -0
- package/src/ui/pages/job/Job.tsx +26 -0
- package/src/ui/pages/job/JobActions/JobActions.scss +12 -0
- package/src/ui/pages/job/JobActions/JobActions.tsx +307 -0
- package/src/ui/pages/job/JobBreadcrumbs/JobBreadcrumbs.scss +30 -0
- package/src/ui/pages/job/JobBreadcrumbs/JobBreadcrumbs.tsx +81 -0
- package/src/ui/pages/job/JobDetails/JobDetails.scss +10 -0
- package/src/ui/pages/job/JobDetails/JobDetails.tsx +56 -0
- package/src/ui/pages/job/JobGeneral/JobGeneral.scss +54 -0
- package/src/ui/pages/job/JobGeneral/JobGeneral.tsx +266 -0
- package/src/ui/pages/job/tabs/Details/Details.scss +43 -0
- package/src/ui/pages/job/tabs/Details/Details.tsx +105 -0
- package/src/ui/pages/job/tabs/PivotKeys/PivotKeys.scss +3 -0
- package/src/ui/pages/job/tabs/PivotKeys/PivotKeys.tsx +118 -0
- package/src/ui/pages/job/tabs/Specification/Specification.scss +16 -0
- package/src/ui/pages/job/tabs/Specification/Specification.tsx +127 -0
- package/src/ui/pages/job/tabs/Speculative/Speculative.scss +33 -0
- package/src/ui/pages/job/tabs/Speculative/Speculative.tsx +159 -0
- package/src/ui/pages/job/tabs/Statistics/Statistics.scss +42 -0
- package/src/ui/pages/job/tabs/Statistics/Statistics.tsx +223 -0
- package/src/ui/pages/job/tabs/Statistics/Toolbar.tsx +64 -0
- package/src/ui/pages/job/tabs/StatisticsIO/StatisticsIO.scss +24 -0
- package/src/ui/pages/job/tabs/StatisticsIO/StatisticsIO.tsx +162 -0
- package/src/ui/pages/navigation/AnnotationEditor/AnnotationEditor.scss +34 -0
- package/src/ui/pages/navigation/AnnotationEditor/AnnotationEditor.tsx +153 -0
- package/src/ui/pages/navigation/AnnotationEditor/TabbedContent.scss +59 -0
- package/src/ui/pages/navigation/AnnotationEditor/TabbedContent.tsx +68 -0
- package/src/ui/pages/navigation/Navigation/ContentViewer/ContentViewer.js +112 -0
- package/src/ui/pages/navigation/Navigation/Navigation.js +519 -0
- package/src/ui/pages/navigation/Navigation/Navigation.scss +170 -0
- package/src/ui/pages/navigation/Navigation/NavigationPermissionsNotice.scss +7 -0
- package/src/ui/pages/navigation/Navigation/NavigationPermissionsNotice.tsx +52 -0
- package/src/ui/pages/navigation/Navigation/NavigationTopRowContent.scss +63 -0
- package/src/ui/pages/navigation/Navigation/NavigationTopRowContent.tsx +356 -0
- package/src/ui/pages/navigation/Navigation/PathEditorModal/CopyObjectModal/CopyObjectModal.js +150 -0
- package/src/ui/pages/navigation/Navigation/PathEditorModal/CreateDirectoryModal/CreateDirectoryModal.js +105 -0
- package/src/ui/pages/navigation/Navigation/PathEditorModal/DeleteObjectModal/DeleteObjectModal.js +310 -0
- package/src/ui/pages/navigation/Navigation/PathEditorModal/DeleteObjectModal/DeleteObjectModal.scss +74 -0
- package/src/ui/pages/navigation/Navigation/PathEditorModal/MoveObjectModal/MoveObjectModal.js +185 -0
- package/src/ui/pages/navigation/Navigation/PathEditorModal/PathEditorModal.js +171 -0
- package/src/ui/pages/navigation/Navigation/PathEditorModal/PathEditorModal.scss +22 -0
- package/src/ui/pages/navigation/Navigation/PathEditorModal/RestoreObjectModal/RestoreObjectModal.js +98 -0
- package/src/ui/pages/navigation/Navigation/PathEditorModal/index.js +6 -0
- package/src/ui/pages/navigation/NavigationDiscription/NavigationDescription.scss +7 -0
- package/src/ui/pages/navigation/NavigationDiscription/NavigationDescription.tsx +106 -0
- package/src/ui/pages/navigation/content/Document/Document.js +141 -0
- package/src/ui/pages/navigation/content/Document/Document.scss +10 -0
- package/src/ui/pages/navigation/content/File/File.js +190 -0
- package/src/ui/pages/navigation/content/File/File.scss +20 -0
- package/src/ui/pages/navigation/content/Link/Link.js +69 -0
- package/src/ui/pages/navigation/content/MapNode/Chooser.tsx +17 -0
- package/src/ui/pages/navigation/content/MapNode/MapNode.js +339 -0
- package/src/ui/pages/navigation/content/MapNode/MapNode.scss +193 -0
- package/src/ui/pages/navigation/content/MapNode/MapNodesTable.js +404 -0
- package/src/ui/pages/navigation/content/MapNode/MultipleActions.scss +9 -0
- package/src/ui/pages/navigation/content/MapNode/MultipleActions.tsx +271 -0
- package/src/ui/pages/navigation/content/MapNode/NodesTypes/NodesTypes.js +91 -0
- package/src/ui/pages/navigation/content/MapNode/NodesTypes/NodesTypes.scss +46 -0
- package/src/ui/pages/navigation/content/MapNode/PathActions.tsx +344 -0
- package/src/ui/pages/navigation/content/ReplicatedTable/ReplicatedTable.js +403 -0
- package/src/ui/pages/navigation/content/ReplicatedTable/ReplicatedTable.scss +50 -0
- package/src/ui/pages/navigation/content/ReplicatedTable/ReplicatedTableSettings.scss +5 -0
- package/src/ui/pages/navigation/content/ReplicatedTable/ReplicatedTableSettings.tsx +151 -0
- package/src/ui/pages/navigation/content/Table/DataTableWrapper/DataTableWrapper.js +218 -0
- package/src/ui/pages/navigation/content/Table/DataTableWrapper/DataTableWrapper.scss +74 -0
- package/src/ui/pages/navigation/content/Table/DownloadManager/DownloadManager.js +917 -0
- package/src/ui/pages/navigation/content/Table/DownloadManager/DownloadManager.scss +88 -0
- package/src/ui/pages/navigation/content/Table/DownloadManager/SeparatorInput.scss +22 -0
- package/src/ui/pages/navigation/content/Table/DownloadManager/SeparatorInput.tsx +53 -0
- package/src/ui/pages/navigation/content/Table/OffsetSelectorModal/OffsetSelectorModal.js +183 -0
- package/src/ui/pages/navigation/content/Table/OffsetSelectorModal/OffsetSelectorModal.scss +26 -0
- package/src/ui/pages/navigation/content/Table/Table.js +269 -0
- package/src/ui/pages/navigation/content/Table/Table.scss +27 -0
- package/src/ui/pages/navigation/content/Table/TableMeta/AutomaticModeSwitch.tsx +101 -0
- package/src/ui/pages/navigation/content/Table/TableMeta/TableMeta.js +225 -0
- package/src/ui/pages/navigation/content/Table/TableMeta/TableMeta.scss +8 -0
- package/src/ui/pages/navigation/content/Table/TableOverview/ColumnSelectorButton.tsx +92 -0
- package/src/ui/pages/navigation/content/Table/TableOverview/ColumnsPresetButton.tsx +53 -0
- package/src/ui/pages/navigation/content/Table/TableOverview/DatalensButton.tsx +70 -0
- package/src/ui/pages/navigation/content/Table/TableOverview/EditTableAction.scss +5 -0
- package/src/ui/pages/navigation/content/Table/TableOverview/EditTableActions.tsx +35 -0
- package/src/ui/pages/navigation/content/Table/TableOverview/FullScreenButton.js +48 -0
- package/src/ui/pages/navigation/content/Table/TableOverview/JupyterButton.js +49 -0
- package/src/ui/pages/navigation/content/Table/TableOverview/OffsetInput.js +119 -0
- package/src/ui/pages/navigation/content/Table/TableOverview/OffsetSelectorButton.js +63 -0
- package/src/ui/pages/navigation/content/Table/TableOverview/Paginator.js +122 -0
- package/src/ui/pages/navigation/content/Table/TableOverview/SettingsButton.tsx +112 -0
- package/src/ui/pages/navigation/content/Table/TableOverview/TableActions.js +85 -0
- package/src/ui/pages/navigation/content/Table/TableOverview/TableColumnsPresetNotice.scss +8 -0
- package/src/ui/pages/navigation/content/Table/TableOverview/TableColumnsPresetNotice.tsx +64 -0
- package/src/ui/pages/navigation/content/Table/TableOverview/TableOverview.js +74 -0
- package/src/ui/pages/navigation/content/Table/TableOverview/TableOverview.scss +151 -0
- package/src/ui/pages/navigation/content/Table/UploadManager/UploadManager.scss +61 -0
- package/src/ui/pages/navigation/content/Table/UploadManager/UploadManager.tsx +660 -0
- package/src/ui/pages/navigation/content/Table/UploadManager/UploadManagerCreate.tsx +502 -0
- package/src/ui/pages/navigation/content/Transaction/Transaction.js +121 -0
- package/src/ui/pages/navigation/content/TransactionMap/TransactionMap.js +218 -0
- package/src/ui/pages/navigation/content/TransactionMap/TransactionMap.scss +50 -0
- package/src/ui/pages/navigation/modals/AttributesEditor.scss +55 -0
- package/src/ui/pages/navigation/modals/AttributesEditor.tsx +514 -0
- package/src/ui/pages/navigation/modals/DynTablesStateModal.scss +6 -0
- package/src/ui/pages/navigation/modals/DynTablesStateModal.tsx +124 -0
- package/src/ui/pages/navigation/modals/LinkToModal.tsx +102 -0
- package/src/ui/pages/navigation/modals/RemoteCopyModal.tsx +216 -0
- package/src/ui/pages/navigation/modals/TableEraseModal.tsx +110 -0
- package/src/ui/pages/navigation/modals/TableMergeSortModal/TableChunkSize.scss +14 -0
- package/src/ui/pages/navigation/modals/TableMergeSortModal/TableChunkSize.tsx +58 -0
- package/src/ui/pages/navigation/modals/TableMergeSortModal/TableMergeModal.tsx +223 -0
- package/src/ui/pages/navigation/modals/TableMergeSortModal/TableSortByControl.scss +22 -0
- package/src/ui/pages/navigation/modals/TableMergeSortModal/TableSortByControl.tsx +86 -0
- package/src/ui/pages/navigation/modals/TableMergeSortModal/TableSortModal.scss +5 -0
- package/src/ui/pages/navigation/modals/TableMergeSortModal/TableSortModal.tsx +192 -0
- package/src/ui/pages/navigation/tabs/ACL/ACL.js +66 -0
- package/src/ui/pages/navigation/tabs/ACL/RequestPermissions/RequestPermissions.js +25 -0
- package/src/ui/pages/navigation/tabs/AccessLog/AccessLog.tsx +40 -0
- package/src/ui/pages/navigation/tabs/AccessLog/AccessLogError.tsx +13 -0
- package/src/ui/pages/navigation/tabs/AccessLog/AccessLogFilters.scss +19 -0
- package/src/ui/pages/navigation/tabs/AccessLog/AccessLogFilters.tsx +463 -0
- package/src/ui/pages/navigation/tabs/AccessLog/AccessLogTable.scss +25 -0
- package/src/ui/pages/navigation/tabs/AccessLog/AccessLogTable.tsx +217 -0
- package/src/ui/pages/navigation/tabs/AccessLog/AccountsLogTransactionInfo.scss +16 -0
- package/src/ui/pages/navigation/tabs/AccessLog/AccountsLogTransactionInfo.tsx +64 -0
- package/src/ui/pages/navigation/tabs/Attributes/Attributes.js +51 -0
- package/src/ui/pages/navigation/tabs/Consumer/Consumer.tsx +103 -0
- package/src/ui/pages/navigation/tabs/Consumer/Meta/Meta.scss +7 -0
- package/src/ui/pages/navigation/tabs/Consumer/Meta/Meta.tsx +112 -0
- package/src/ui/pages/navigation/tabs/Consumer/Toolbar/Toolbar.scss +5 -0
- package/src/ui/pages/navigation/tabs/Consumer/Toolbar/Toolbar.tsx +52 -0
- package/src/ui/pages/navigation/tabs/Consumer/views/ConsumerMetrics/ConsumerMetrics.tsx +22 -0
- package/src/ui/pages/navigation/tabs/Consumer/views/Partitions/Partitions.scss +5 -0
- package/src/ui/pages/navigation/tabs/Consumer/views/Partitions/Partitions.tsx +119 -0
- package/src/ui/pages/navigation/tabs/Consumer/views/Partitions/PartitionsExtraControls.scss +10 -0
- package/src/ui/pages/navigation/tabs/Consumer/views/Partitions/PartitionsExtraControls.tsx +144 -0
- package/src/ui/pages/navigation/tabs/Locks/Locks.js +340 -0
- package/src/ui/pages/navigation/tabs/Locks/Locks.scss +39 -0
- package/src/ui/pages/navigation/tabs/Queue/ColumnsButton/ColumnsButton.tsx +56 -0
- package/src/ui/pages/navigation/tabs/Queue/Meta/Meta.scss +7 -0
- package/src/ui/pages/navigation/tabs/Queue/Meta/Meta.tsx +80 -0
- package/src/ui/pages/navigation/tabs/Queue/Queue.tsx +95 -0
- package/src/ui/pages/navigation/tabs/Queue/Toolbar/Toolbar.scss +5 -0
- package/src/ui/pages/navigation/tabs/Queue/Toolbar/Toolbar.tsx +56 -0
- package/src/ui/pages/navigation/tabs/Queue/utils/column-builder.tsx +132 -0
- package/src/ui/pages/navigation/tabs/Queue/views/Consumers/Consumers.scss +5 -0
- package/src/ui/pages/navigation/tabs/Queue/views/Consumers/Consumers.tsx +92 -0
- package/src/ui/pages/navigation/tabs/Queue/views/Consumers/ConsumersExtraControls.scss +10 -0
- package/src/ui/pages/navigation/tabs/Queue/views/Consumers/ConsumersExtraControls.tsx +87 -0
- package/src/ui/pages/navigation/tabs/Queue/views/Partitions/ColumnsButton.connected.ts +70 -0
- package/src/ui/pages/navigation/tabs/Queue/views/Partitions/Partitions.scss +19 -0
- package/src/ui/pages/navigation/tabs/Queue/views/Partitions/Partitions.tsx +129 -0
- package/src/ui/pages/navigation/tabs/Queue/views/Partitions/PartitionsExtraControls.scss +10 -0
- package/src/ui/pages/navigation/tabs/Queue/views/Partitions/PartitionsExtraControls.tsx +120 -0
- package/src/ui/pages/navigation/tabs/Queue/views/QueueMetrics/QueueMetrics.tsx +20 -0
- package/src/ui/pages/navigation/tabs/Schema/ExternalDescription/ExternalDescription.scss +17 -0
- package/src/ui/pages/navigation/tabs/Schema/ExternalDescription/ExternalDescription.tsx +78 -0
- package/src/ui/pages/navigation/tabs/Schema/Schema.js +289 -0
- package/src/ui/pages/navigation/tabs/Schema/Schema.scss +65 -0
- package/src/ui/pages/navigation/tabs/TableMountConfig/TableMountConfig.tsx +27 -0
- package/src/ui/pages/navigation/tabs/TabletErrors/TabletErrors.scss +33 -0
- package/src/ui/pages/navigation/tabs/TabletErrors/TabletErrors.tsx +225 -0
- package/src/ui/pages/navigation/tabs/Tablets/Tablets.js +681 -0
- package/src/ui/pages/navigation/tabs/Tablets/Tablets.scss +157 -0
- package/src/ui/pages/navigation/tabs/UserAttributes/UserAttributes.js +113 -0
- package/src/ui/pages/navigation/tabs/UserAttributes/UserAttributes.scss +8 -0
- package/src/ui/pages/operations/OperationDetail/ExperimentAssignments/ExperimentAssignments.scss +3 -0
- package/src/ui/pages/operations/OperationDetail/ExperimentAssignments/ExperimentAssignments.tsx +107 -0
- package/src/ui/pages/operations/OperationDetail/OperationDetail.js +437 -0
- package/src/ui/pages/operations/OperationDetail/OperationDetail.scss +84 -0
- package/src/ui/pages/operations/OperationDetail/tabs/Jobs/Jobs.js +104 -0
- package/src/ui/pages/operations/OperationDetail/tabs/Jobs/OperationJobsErrors/OperationJobsErrors.scss +3 -0
- package/src/ui/pages/operations/OperationDetail/tabs/Jobs/OperationJobsErrors/OperationJobsErrors.tsx +25 -0
- package/src/ui/pages/operations/OperationDetail/tabs/Jobs/OperationJobsTable/JobTemplate.js +110 -0
- package/src/ui/pages/operations/OperationDetail/tabs/Jobs/OperationJobsTable/OperationJobsTable.js +542 -0
- package/src/ui/pages/operations/OperationDetail/tabs/Jobs/OperationJobsTable/OperationJobsTable.scss +119 -0
- package/src/ui/pages/operations/OperationDetail/tabs/Jobs/OperationJobsToolbar/JobsAttributesFilter.tsx +32 -0
- package/src/ui/pages/operations/OperationDetail/tabs/Jobs/OperationJobsToolbar/JobsFilterBy.tsx +70 -0
- package/src/ui/pages/operations/OperationDetail/tabs/Jobs/OperationJobsToolbar/JobsPaginator.js +56 -0
- package/src/ui/pages/operations/OperationDetail/tabs/Jobs/OperationJobsToolbar/JobsSelectFilter.js +22 -0
- package/src/ui/pages/operations/OperationDetail/tabs/Jobs/OperationJobsToolbar/JobsSuggestFilter.js +21 -0
- package/src/ui/pages/operations/OperationDetail/tabs/Jobs/OperationJobsToolbar/OperationJobsToolbar.js +87 -0
- package/src/ui/pages/operations/OperationDetail/tabs/Jobs/OperationJobsToolbar/OperationJobsToolbar.scss +33 -0
- package/src/ui/pages/operations/OperationDetail/tabs/Jobs/job-selector.js +118 -0
- package/src/ui/pages/operations/OperationDetail/tabs/Jobs/utils.js +57 -0
- package/src/ui/pages/operations/OperationDetail/tabs/JobsMonitor/JobsMonitor.tsx +30 -0
- package/src/ui/pages/operations/OperationDetail/tabs/attributes/OperationAttributes.tsx +45 -0
- package/src/ui/pages/operations/OperationDetail/tabs/details/AlertEvents/AlertEvents.scss +7 -0
- package/src/ui/pages/operations/OperationDetail/tabs/details/AlertEvents/AlertEvents.tsx +171 -0
- package/src/ui/pages/operations/OperationDetail/tabs/details/DataFlow/DataFlow.js +216 -0
- package/src/ui/pages/operations/OperationDetail/tabs/details/DataFlow/DataFlow.scss +37 -0
- package/src/ui/pages/operations/OperationDetail/tabs/details/Description.js +55 -0
- package/src/ui/pages/operations/OperationDetail/tabs/details/DetailedJobsCounter/DetailedJobsCounter.js +148 -0
- package/src/ui/pages/operations/OperationDetail/tabs/details/DetailedJobsCounter/DetailedJobsCounter.scss +5 -0
- package/src/ui/pages/operations/OperationDetail/tabs/details/Details/Details.js +252 -0
- package/src/ui/pages/operations/OperationDetail/tabs/details/Details/Details.scss +33 -0
- package/src/ui/pages/operations/OperationDetail/tabs/details/Events/Events.js +140 -0
- package/src/ui/pages/operations/OperationDetail/tabs/details/Events/Events.scss +51 -0
- package/src/ui/pages/operations/OperationDetail/tabs/details/FilterOverview/FilterOverview.js +63 -0
- package/src/ui/pages/operations/OperationDetail/tabs/details/Runtime/Runtime.js +192 -0
- package/src/ui/pages/operations/OperationDetail/tabs/details/Specification/Specification.js +239 -0
- package/src/ui/pages/operations/OperationDetail/tabs/details/Specification/Specification.scss +73 -0
- package/src/ui/pages/operations/OperationDetail/tabs/details/Tasks/Tasks.js +404 -0
- package/src/ui/pages/operations/OperationDetail/tabs/details/Tasks/Tasks.scss +70 -0
- package/src/ui/pages/operations/OperationDetail/tabs/job-sizes/JobSizes/JobSizes.scss +35 -0
- package/src/ui/pages/operations/OperationDetail/tabs/job-sizes/JobSizes/JobSizes.tsx +221 -0
- package/src/ui/pages/operations/OperationDetail/tabs/monitor/OperationDetailsMonitor.tsx +23 -0
- package/src/ui/pages/operations/OperationDetail/tabs/partition-sizes/PartitionSizes/PartitionSizes.scss +7 -0
- package/src/ui/pages/operations/OperationDetail/tabs/partition-sizes/PartitionSizes/PartitionSizes.tsx +121 -0
- package/src/ui/pages/operations/OperationDetail/tabs/specification/Specification.js +162 -0
- package/src/ui/pages/operations/OperationDetail/tabs/specification/Specification.scss +11 -0
- package/src/ui/pages/operations/OperationDetail/tabs/statistics/OperationStatisticName.scss +7 -0
- package/src/ui/pages/operations/OperationDetail/tabs/statistics/OperationStatisticName.tsx +102 -0
- package/src/ui/pages/operations/OperationDetail/tabs/statistics/Statistics.js +205 -0
- package/src/ui/pages/operations/OperationDetail/tabs/statistics/Statistics.scss +7 -0
- package/src/ui/pages/operations/OperationIOLink/OperationIOLink.tsx +57 -0
- package/src/ui/pages/operations/OperationPool/OperationPool.js +91 -0
- package/src/ui/pages/operations/OperationPool/OperationPool.scss +45 -0
- package/src/ui/pages/operations/OperationProgress/OperationProgress.js +200 -0
- package/src/ui/pages/operations/OperationProgress/OperationProgress.scss +25 -0
- package/src/ui/pages/operations/OperationSelectFilter/OperationSelectFilter.js +80 -0
- package/src/ui/pages/operations/OperationSuggestFilter/OperationSuggestFilter.js +50 -0
- package/src/ui/pages/operations/OperationWeight/OperationWeight.js +51 -0
- package/src/ui/pages/operations/OperationWeight/OperationWeight.scss +17 -0
- package/src/ui/pages/operations/Operations/Operations.js +38 -0
- package/src/ui/pages/operations/OperationsList/OperationsList.js +161 -0
- package/src/ui/pages/operations/OperationsList/OperationsListTable/OperationsListTable.js +379 -0
- package/src/ui/pages/operations/OperationsList/OperationsListTable/OperationsListTable.scss +168 -0
- package/src/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsArchiveFilter.js +259 -0
- package/src/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsArchiveFilter.scss +21 -0
- package/src/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsFilterPresets.js +209 -0
- package/src/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsFilterPresets.scss +36 -0
- package/src/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsListPaginator.js +70 -0
- package/src/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsListSuggestFilters.tsx +87 -0
- package/src/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsListToolbar.js +293 -0
- package/src/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsListToolbar.scss +42 -0
- package/src/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsSelectFilter.js +21 -0
- package/src/ui/pages/operations/OperationsList/OperationsListToolbar/OperationsTextFilter.js +103 -0
- package/src/ui/pages/operations/PoolsWeightsEditModal/PoolsWeightsEditModal.js +204 -0
- package/src/ui/pages/operations/PoolsWeightsEditModal/PoolsWeightsEditModal.scss +26 -0
- package/src/ui/pages/operations/selectors.ts +302 -0
- package/src/ui/pages/path-viewer/PathViewer.js +194 -0
- package/src/ui/pages/path-viewer/PathViewer.scss +64 -0
- package/src/ui/pages/query-tracker/NotRenderUntilFirstVisible/Freeze.tsx +43 -0
- package/src/ui/pages/query-tracker/NotRenderUntilFirstVisible/NotRenderUntilFirstVisible.tsx +32 -0
- package/src/ui/pages/query-tracker/QueriesHistoryList/QueriesHistoryFilter/index.scss +20 -0
- package/src/ui/pages/query-tracker/QueriesHistoryList/QueriesHistoryFilter/index.tsx +93 -0
- package/src/ui/pages/query-tracker/QueriesHistoryList/index.scss +85 -0
- package/src/ui/pages/query-tracker/QueriesHistoryList/index.tsx +297 -0
- package/src/ui/pages/query-tracker/QueriesList/index.scss +15 -0
- package/src/ui/pages/query-tracker/QueriesList/index.tsx +18 -0
- package/src/ui/pages/query-tracker/QueryDuration/index.tsx +32 -0
- package/src/ui/pages/query-tracker/QueryEditor/QueryEditor.scss +62 -0
- package/src/ui/pages/query-tracker/QueryEditor/QueryEditor.tsx +171 -0
- package/src/ui/pages/query-tracker/QueryMetaTable/index.scss +36 -0
- package/src/ui/pages/query-tracker/QueryMetaTable/index.tsx +85 -0
- package/src/ui/pages/query-tracker/QueryResults/QueryMetaRow/index.scss +8 -0
- package/src/ui/pages/query-tracker/QueryResults/QueryMetaRow/index.tsx +52 -0
- package/src/ui/pages/query-tracker/QueryResults/QueryResultActions/QueryResultDownloadManager.tsx +95 -0
- package/src/ui/pages/query-tracker/QueryResults/QueryResultActions/TableColumnsSelector.tsx +55 -0
- package/src/ui/pages/query-tracker/QueryResults/QueryResultActions/index.scss +6 -0
- package/src/ui/pages/query-tracker/QueryResults/QueryResultActions/index.tsx +121 -0
- package/src/ui/pages/query-tracker/QueryResults/hooks/useCurrentQuery.ts +31 -0
- package/src/ui/pages/query-tracker/QueryResults/hooks/useQueryResultTabs.ts +91 -0
- package/src/ui/pages/query-tracker/QueryResults/index.scss +51 -0
- package/src/ui/pages/query-tracker/QueryResults/index.tsx +82 -0
- package/src/ui/pages/query-tracker/QueryResultsView/DataTypePopup/DataTypePopup.scss +20 -0
- package/src/ui/pages/query-tracker/QueryResultsView/DataTypePopup/DataTypePopup.tsx +43 -0
- package/src/ui/pages/query-tracker/QueryResultsView/ResultPaginator/index.scss +7 -0
- package/src/ui/pages/query-tracker/QueryResultsView/ResultPaginator/index.tsx +106 -0
- package/src/ui/pages/query-tracker/QueryResultsView/ResultsTable.tsx +89 -0
- package/src/ui/pages/query-tracker/QueryResultsView/YQLSchemeTable/index.scss +25 -0
- package/src/ui/pages/query-tracker/QueryResultsView/YQLSchemeTable/index.tsx +77 -0
- package/src/ui/pages/query-tracker/QueryResultsView/YQLStatistics/CollapsibleTable/CollapsibleTable.scss +37 -0
- package/src/ui/pages/query-tracker/QueryResultsView/YQLStatistics/CollapsibleTable/CollapsibleTable.tsx +226 -0
- package/src/ui/pages/query-tracker/QueryResultsView/YQLStatistics/CollapsibleTable/utils.ts +134 -0
- package/src/ui/pages/query-tracker/QueryResultsView/YQLStatistics/index.scss +3 -0
- package/src/ui/pages/query-tracker/QueryResultsView/YQLStatistics/index.tsx +153 -0
- package/src/ui/pages/query-tracker/QueryResultsView/YQLTable/YQLTable.scss +82 -0
- package/src/ui/pages/query-tracker/QueryResultsView/YQLTable/YQLTable.tsx +439 -0
- package/src/ui/pages/query-tracker/QueryResultsView/YQLTable/utils.ts +11 -0
- package/src/ui/pages/query-tracker/QueryResultsView/index.scss +36 -0
- package/src/ui/pages/query-tracker/QueryResultsView/index.tsx +69 -0
- package/src/ui/pages/query-tracker/QuerySettingsButton/index.scss +41 -0
- package/src/ui/pages/query-tracker/QuerySettingsButton/index.tsx +350 -0
- package/src/ui/pages/query-tracker/QueryStatus/index.scss +25 -0
- package/src/ui/pages/query-tracker/QueryStatus/index.tsx +55 -0
- package/src/ui/pages/query-tracker/QueryTracker/QueryTracker.scss +7 -0
- package/src/ui/pages/query-tracker/QueryTracker/QueryTracker.tsx +84 -0
- package/src/ui/pages/query-tracker/QueryTrackerTopRow/index.scss +31 -0
- package/src/ui/pages/query-tracker/QueryTrackerTopRow/index.tsx +175 -0
- package/src/ui/pages/query-tracker/hooks/QueriesPooling/QueriesPolling.tsx +133 -0
- package/src/ui/pages/query-tracker/hooks/QueriesPooling/context.tsx +19 -0
- package/src/ui/pages/query-tracker/hooks/QueryListFilter/index.ts +30 -0
- package/src/ui/pages/query-tracker/module/api.ts +259 -0
- package/src/ui/pages/query-tracker/module/index.ts +10 -0
- package/src/ui/pages/query-tracker/module/queries_list/actions.ts +140 -0
- package/src/ui/pages/query-tracker/module/queries_list/reducer.ts +105 -0
- package/src/ui/pages/query-tracker/module/queries_list/selectors.ts +53 -0
- package/src/ui/pages/query-tracker/module/queries_list/types.ts +10 -0
- package/src/ui/pages/query-tracker/module/query/actions.ts +112 -0
- package/src/ui/pages/query-tracker/module/query/reducer.ts +87 -0
- package/src/ui/pages/query-tracker/module/query/selectors.ts +22 -0
- package/src/ui/pages/query-tracker/module/query/url_mapping.ts +21 -0
- package/src/ui/pages/query-tracker/module/query_result/actions.ts +235 -0
- package/src/ui/pages/query-tracker/module/query_result/reducer.ts +118 -0
- package/src/ui/pages/query-tracker/module/query_result/selectors.ts +58 -0
- package/src/ui/pages/query-tracker/module/query_result/types.ts +47 -0
- package/src/ui/pages/query-tracker/module/query_result/utils/format.ts +111 -0
- package/src/ui/pages/query-tracker/module/types/plan.ts +63 -0
- package/src/ui/pages/query-tracker/utils/date.ts +12 -0
- package/src/ui/pages/query-tracker/utils/navigation.ts +11 -0
- package/src/ui/pages/query-tracker/utils/query.ts +15 -0
- package/src/ui/pages/scheduling/Alerts.js +39 -0
- package/src/ui/pages/scheduling/Content/Content.js +124 -0
- package/src/ui/pages/scheduling/Content/Content.scss +5 -0
- package/src/ui/pages/scheduling/Content/PoolMetaData.tsx +61 -0
- package/src/ui/pages/scheduling/Content/SchedulingOperationsUpdater.tsx +21 -0
- package/src/ui/pages/scheduling/Content/SchedulingResources.scss +8 -0
- package/src/ui/pages/scheduling/Content/SchedulingResources.tsx +33 -0
- package/src/ui/pages/scheduling/Content/controls/ShareUsageBar.scss +18 -0
- package/src/ui/pages/scheduling/Content/controls/ShareUsageBar.tsx +73 -0
- package/src/ui/pages/scheduling/Content/tabs/Details/Details.js +601 -0
- package/src/ui/pages/scheduling/Content/tabs/Details/Details.scss +217 -0
- package/src/ui/pages/scheduling/Content/tabs/Overview/Overview.js +655 -0
- package/src/ui/pages/scheduling/Content/tabs/Overview/Overview.scss +241 -0
- package/src/ui/pages/scheduling/Content/tabs/Overview/PoolTags.scss +20 -0
- package/src/ui/pages/scheduling/Content/tabs/Overview/PoolTags.tsx +46 -0
- package/src/ui/pages/scheduling/Content/tabs/PoolAcl/PoolAcl.js +69 -0
- package/src/ui/pages/scheduling/Content/tabs/SchedulingOperationsError/SchedulingOperationsError.tsx +12 -0
- package/src/ui/pages/scheduling/Content/tabs/ScherdulingOperataionsLoader/SchedulingOperationsLoader.tsx +11 -0
- package/src/ui/pages/scheduling/Instruments/CreatePoolDialog/CreatePoolDialog.tsx +235 -0
- package/src/ui/pages/scheduling/Instruments/CreatePoolDialog/CreatePoolParentSuggest.tsx +52 -0
- package/src/ui/pages/scheduling/PoolQoutaEditor/PoolQuotaEditor.tsx +157 -0
- package/src/ui/pages/scheduling/PoolStaticConfiguration/SchedulingStaticConfiguration.scss +26 -0
- package/src/ui/pages/scheduling/PoolStaticConfiguration/SchedulingStaticConfiguration.tsx +256 -0
- package/src/ui/pages/scheduling/Scheduling/PoolEditorDialog/PoolEditorDialog.scss +32 -0
- package/src/ui/pages/scheduling/Scheduling/PoolEditorDialog/PoolEditorDialog.tsx +594 -0
- package/src/ui/pages/scheduling/Scheduling/Scheduling.scss +22 -0
- package/src/ui/pages/scheduling/Scheduling/Scheduling.tsx +133 -0
- package/src/ui/pages/scheduling/Scheduling/SchedulingTopRowContent.scss +76 -0
- package/src/ui/pages/scheduling/Scheduling/SchedulingTopRowContent.tsx +275 -0
- package/src/ui/pages/system/Chunks/Chunks.js +260 -0
- package/src/ui/pages/system/Chunks/Chunks.scss +45 -0
- package/src/ui/pages/system/Masters/MasterGroup.js +208 -0
- package/src/ui/pages/system/Masters/MasterGroup.scss +108 -0
- package/src/ui/pages/system/Masters/Masters.js +254 -0
- package/src/ui/pages/system/Masters/Masters.scss +52 -0
- package/src/ui/pages/system/NodeQuad/NodeQuad.scss +42 -0
- package/src/ui/pages/system/NodeQuad/NodeQuad.tsx +27 -0
- package/src/ui/pages/system/NodeRackGroup/NodeRackGroup.js +159 -0
- package/src/ui/pages/system/NodeRacks/NodeRacks.scss +163 -0
- package/src/ui/pages/system/NodeRacks/NodeRacks.tsx +132 -0
- package/src/ui/pages/system/Nodes/Nodes.js +139 -0
- package/src/ui/pages/system/Nodes/Nodes.scss +11 -0
- package/src/ui/pages/system/Proxies/Proxies.js +104 -0
- package/src/ui/pages/system/Resources/Resources.js +176 -0
- package/src/ui/pages/system/Resources/Resources.scss +30 -0
- package/src/ui/pages/system/RpcProxy/RpcProxy.js +101 -0
- package/src/ui/pages/system/SchedulersAndAgents/Scheduler/Scheduler.js +52 -0
- package/src/ui/pages/system/SchedulersAndAgents/Schedulers.scss +50 -0
- package/src/ui/pages/system/SchedulersAndAgents/SchedulersAndAgents.js +175 -0
- package/src/ui/pages/system/SchedulersAndAgents/prepareTags.js +84 -0
- package/src/ui/pages/system/System/System.js +45 -0
- package/src/ui/pages/system/System/System.scss +17 -0
- package/src/ui/pages/system/System/SystemTopRowContent.scss +6 -0
- package/src/ui/pages/system/System/SystemTopRowContent.tsx +45 -0
- package/src/ui/pages/system/SystemCounters/SystemCounters.js +142 -0
- package/src/ui/pages/system/SystemCounters/SystemCounters.scss +46 -0
- package/src/ui/pages/system/SystemStateOverview/SystemStateOverview.js +44 -0
- package/src/ui/pages/system/SystemStateOverview/SystemStateOverview.scss +18 -0
- package/src/ui/pages/system/VisibleHostTypeRadioButton.js +46 -0
- package/src/ui/pages/tablet/Tablet.js +27 -0
- package/src/ui/pages/tablet/TabletDetails/Overview.js +348 -0
- package/src/ui/pages/tablet/TabletDetails/Partitions.js +290 -0
- package/src/ui/pages/tablet/TabletDetails/Stores.js +241 -0
- package/src/ui/pages/tablet/TabletDetails/Stores.scss +14 -0
- package/src/ui/pages/tablet/TabletDetails/StoresDialog.tsx +37 -0
- package/src/ui/pages/tablet/TabletDetails/TabletDetails.js +64 -0
- package/src/ui/pages/tablet/TabletDetails/TabletDetails.scss +128 -0
- package/src/ui/pages/tablet/TabletTopRowContent.scss +16 -0
- package/src/ui/pages/tablet/TabletTopRowContent.tsx +52 -0
- package/src/ui/pages/tablet_cell_bundles/TabletCellBundles.scss +40 -0
- package/src/ui/pages/tablet_cell_bundles/TabletCellBundles.tsx +259 -0
- package/src/ui/pages/tablet_cell_bundles/TabletCellBundlesTopRowContent.connected.ts +33 -0
- package/src/ui/pages/tablet_cell_bundles/TabletCellBundlesTopRowContent.scss +21 -0
- package/src/ui/pages/tablet_cell_bundles/TabletCellBundlesTopRowContent.tsx +174 -0
- package/src/ui/pages/tablet_cell_bundles/bundle/BundleAclTab.tsx +21 -0
- package/src/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.scss +32 -0
- package/src/ui/pages/tablet_cell_bundles/bundle/BundleConfigurationMeta.tsx +273 -0
- package/src/ui/pages/tablet_cell_bundles/bundle/BundleGeneralMeta.scss +41 -0
- package/src/ui/pages/tablet_cell_bundles/bundle/BundleGeneralMeta.tsx +149 -0
- package/src/ui/pages/tablet_cell_bundles/bundle/BundleInstancesTab.tsx +16 -0
- package/src/ui/pages/tablet_cell_bundles/bundle/BundleMetaTable.scss +18 -0
- package/src/ui/pages/tablet_cell_bundles/bundle/BundleMetaTable.tsx +21 -0
- package/src/ui/pages/tablet_cell_bundles/bundle/BundleMonitorTab.scss +31 -0
- package/src/ui/pages/tablet_cell_bundles/bundle/BundleMonitorTab.tsx +39 -0
- package/src/ui/pages/tablet_cell_bundles/bundle/BundleProxiesTab.tsx +15 -0
- package/src/ui/pages/tablet_cell_bundles/bundle/BundleStatisticsTab.tsx +33 -0
- package/src/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.scss +54 -0
- package/src/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.tsx +632 -0
- package/src/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.scss +78 -0
- package/src/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleInput/BundleInput.tsx +192 -0
- package/src/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleParamsList/BundleParamsList.scss +32 -0
- package/src/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleParamsList/BundleParamsList.tsx +34 -0
- package/src/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTableField/BundleTableField.tsx +78 -0
- package/src/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.scss +20 -0
- package/src/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTitle/BundleTitle.tsx +48 -0
- package/src/ui/pages/tablet_cell_bundles/bundles/Bundles.tsx +35 -0
- package/src/ui/pages/tablet_cell_bundles/bundles/BundlesTable.connected.ts +95 -0
- package/src/ui/pages/tablet_cell_bundles/bundles/BundlesTable.scss +70 -0
- package/src/ui/pages/tablet_cell_bundles/bundles/BundlesTable.tsx +524 -0
- package/src/ui/pages/tablet_cell_bundles/bundles/BundlesTableInstruments.connected.ts +42 -0
- package/src/ui/pages/tablet_cell_bundles/bundles/BundlesTableInstruments.scss +21 -0
- package/src/ui/pages/tablet_cell_bundles/bundles/BundlesTableInstruments.tsx +127 -0
- package/src/ui/pages/tablet_cell_bundles/bundles/BundlesTableModeRadio.tsx +34 -0
- package/src/ui/pages/tablet_cell_bundles/cells/Cells.tsx +14 -0
- package/src/ui/pages/tablet_cell_bundles/cells/CellsBundleController.scss +35 -0
- package/src/ui/pages/tablet_cell_bundles/cells/CellsBundleController.tsx +272 -0
- package/src/ui/pages/tablet_cell_bundles/cells/CellsInstruments.connected.ts +36 -0
- package/src/ui/pages/tablet_cell_bundles/cells/CellsInstruments.scss +38 -0
- package/src/ui/pages/tablet_cell_bundles/cells/CellsInstruments.tsx +163 -0
- package/src/ui/pages/tablet_cell_bundles/cells/CellsTable.connected.ts +57 -0
- package/src/ui/pages/tablet_cell_bundles/cells/CellsTable.scss +55 -0
- package/src/ui/pages/tablet_cell_bundles/cells/CellsTable.tsx +297 -0
- package/src/ui/pages/users/UsersPage.js +20 -0
- package/src/ui/pages/users/UsersPageEditor/UsersPageEditor.scss +5 -0
- package/src/ui/pages/users/UsersPageEditor/UsersPageEditor.tsx +332 -0
- package/src/ui/pages/users/UsersPageFilters/UsersPageFilters.js +117 -0
- package/src/ui/pages/users/UsersPageFilters/UsersPageFilters.scss +32 -0
- package/src/ui/pages/users/UsersPageTable/UsersPageTable.js +336 -0
- package/src/ui/pages/users/UsersPageTable/UsersPageTable.scss +90 -0
- package/src/ui/pages.ts +101 -0
- package/src/ui/redefinitions.ts +20 -0
- package/src/ui/render-app.tsx +36 -0
- package/src/ui/rum/RumUiContext.tsx +220 -0
- package/src/ui/rum/constants.ts +10 -0
- package/src/ui/rum/rum-app-measures.ts +12 -0
- package/src/ui/rum/rum-counter.ts +181 -0
- package/src/ui/rum/rum-measure-types.ts +47 -0
- package/src/ui/rum/rum-wrap-api.ts +294 -0
- package/src/ui/services/parse-accounts.worker.ts +13 -0
- package/src/ui/services/promisified-worker.ts +164 -0
- package/src/ui/state-url-mapping.js +47 -0
- package/src/ui/store/__mocks__/index.js +4 -0
- package/src/ui/store/actions/accounts/account-usage-diff.ts +160 -0
- package/src/ui/store/actions/accounts/account-usage.ts +363 -0
- package/src/ui/store/actions/accounts/accounts-ts.ts +27 -0
- package/src/ui/store/actions/accounts/accounts.js +317 -0
- package/src/ui/store/actions/accounts/editor-ts.tsx +61 -0
- package/src/ui/store/actions/accounts/editor.js +39 -0
- package/src/ui/store/actions/acl.js +313 -0
- package/src/ui/store/actions/actions.js +80 -0
- package/src/ui/store/actions/chaos_cell_bundles/index.ts +196 -0
- package/src/ui/store/actions/chaos_cell_bundles/tablet-cell-bundle-editor.ts +138 -0
- package/src/ui/store/actions/cluster-params.ts +226 -0
- package/src/ui/store/actions/clusters-menu.js +47 -0
- package/src/ui/store/actions/components/ban-unban.js +32 -0
- package/src/ui/store/actions/components/node/memory.ts +96 -0
- package/src/ui/store/actions/components/node/node.ts +37 -0
- package/src/ui/store/actions/components/nodes/actions/ban-unban.js +67 -0
- package/src/ui/store/actions/components/nodes/actions/decommission.ts +73 -0
- package/src/ui/store/actions/components/nodes/actions/disable-enable.js +140 -0
- package/src/ui/store/actions/components/nodes/actions/set-resources-limits.js +50 -0
- package/src/ui/store/actions/components/nodes/nodes.ts +244 -0
- package/src/ui/store/actions/components/proxies/actions/ban-unban.js +70 -0
- package/src/ui/store/actions/components/proxies/actions/change-role.js +45 -0
- package/src/ui/store/actions/components/proxies/proxies.js +116 -0
- package/src/ui/store/actions/components/shards.js +83 -0
- package/src/ui/store/actions/components/versions/version_v2-ts.ts +34 -0
- package/src/ui/store/actions/components/versions/versions.js +108 -0
- package/src/ui/store/actions/components/versions/versions.spec.js +200 -0
- package/src/ui/store/actions/components/versions/versions_v2.ts +105 -0
- package/src/ui/store/actions/dashboard/dashboad.js +8 -0
- package/src/ui/store/actions/execute-batch.ts +225 -0
- package/src/ui/store/actions/favourites.js +130 -0
- package/src/ui/store/actions/global/index.ts +323 -0
- package/src/ui/store/actions/global/supported-features.ts +46 -0
- package/src/ui/store/actions/groups.js +179 -0
- package/src/ui/store/actions/job/competitors.ts +92 -0
- package/src/ui/store/actions/job/general.ts +87 -0
- package/src/ui/store/actions/job/specification.ts +148 -0
- package/src/ui/store/actions/job/statistics.ts +51 -0
- package/src/ui/store/actions/menu.js +96 -0
- package/src/ui/store/actions/modals/attributes-modal.js +49 -0
- package/src/ui/store/actions/modals/errors.ts +15 -0
- package/src/ui/store/actions/navigation/content/document.js +54 -0
- package/src/ui/store/actions/navigation/content/file.js +49 -0
- package/src/ui/store/actions/navigation/content/map-node.js +301 -0
- package/src/ui/store/actions/navigation/content/replicated-table.js +118 -0
- package/src/ui/store/actions/navigation/content/table/columns-preset.ts +127 -0
- package/src/ui/store/actions/navigation/content/table/pagination.js +142 -0
- package/src/ui/store/actions/navigation/content/table/table-mount-config.ts +41 -0
- package/src/ui/store/actions/navigation/content/table/table-rum-id.ts +9 -0
- package/src/ui/store/actions/navigation/content/table/table.js +684 -0
- package/src/ui/store/actions/navigation/content/transaction-map.js +73 -0
- package/src/ui/store/actions/navigation/content/transaction.js +32 -0
- package/src/ui/store/actions/navigation/index.js +262 -0
- package/src/ui/store/actions/navigation/modals/attributes-editor.tsx +259 -0
- package/src/ui/store/actions/navigation/modals/copy-object.tsx +163 -0
- package/src/ui/store/actions/navigation/modals/create-directory.js +67 -0
- package/src/ui/store/actions/navigation/modals/create-table.js +122 -0
- package/src/ui/store/actions/navigation/modals/delete-object.js +446 -0
- package/src/ui/store/actions/navigation/modals/dyn-tables-state-modal.ts +132 -0
- package/src/ui/store/actions/navigation/modals/link-to-modal.tsx +59 -0
- package/src/ui/store/actions/navigation/modals/move-object.tsx +184 -0
- package/src/ui/store/actions/navigation/modals/path-editing-popup.js +39 -0
- package/src/ui/store/actions/navigation/modals/remote-copy-modal.tsx +96 -0
- package/src/ui/store/actions/navigation/modals/restore-object.js +161 -0
- package/src/ui/store/actions/navigation/modals/table-erase-modal.tsx +65 -0
- package/src/ui/store/actions/navigation/modals/table-merge-sort-modal.tsx +207 -0
- package/src/ui/store/actions/navigation/path-editor/path-editor.js +48 -0
- package/src/ui/store/actions/navigation/path-editor/path-editor.spec.js +152 -0
- package/src/ui/store/actions/navigation/tabs/access-log/access-log.ts +136 -0
- package/src/ui/store/actions/navigation/tabs/annotation.js +66 -0
- package/src/ui/store/actions/navigation/tabs/consumer/filters.ts +56 -0
- package/src/ui/store/actions/navigation/tabs/consumer/partitions.ts +42 -0
- package/src/ui/store/actions/navigation/tabs/consumer/status.ts +45 -0
- package/src/ui/store/actions/navigation/tabs/locks.js +106 -0
- package/src/ui/store/actions/navigation/tabs/queue/filters.ts +82 -0
- package/src/ui/store/actions/navigation/tabs/queue/partitions.ts +39 -0
- package/src/ui/store/actions/navigation/tabs/queue/status.ts +42 -0
- package/src/ui/store/actions/navigation/tabs/schema.js +8 -0
- package/src/ui/store/actions/navigation/tabs/tablet-errors.ts +145 -0
- package/src/ui/store/actions/navigation/tabs/tablets.js +100 -0
- package/src/ui/store/actions/navigation/tabs/user-attributes.js +52 -0
- package/src/ui/store/actions/operations/detail.js +234 -0
- package/src/ui/store/actions/operations/index.js +99 -0
- package/src/ui/store/actions/operations/jobs-monitor.ts +39 -0
- package/src/ui/store/actions/operations/jobs.js +290 -0
- package/src/ui/store/actions/operations/list.js +327 -0
- package/src/ui/store/actions/operations/monitor.ts +19 -0
- package/src/ui/store/actions/operations/statistics.js +52 -0
- package/src/ui/store/actions/operations/utils.js +114 -0
- package/src/ui/store/actions/path-viewer.js +95 -0
- package/src/ui/store/actions/scheduling/create-pool-dialog.tsx +148 -0
- package/src/ui/store/actions/scheduling/monitor.ts +24 -0
- package/src/ui/store/actions/scheduling/scheduling-operations.tsx +314 -0
- package/src/ui/store/actions/scheduling/scheduling-ts.ts +105 -0
- package/src/ui/store/actions/scheduling/scheduling.js +649 -0
- package/src/ui/store/actions/settings/index.ts +134 -0
- package/src/ui/store/actions/settings/settings.ts +223 -0
- package/src/ui/store/actions/slideoutMenu.ts +95 -0
- package/src/ui/store/actions/suggests/index.ts +41 -0
- package/src/ui/store/actions/system/chunks.js +211 -0
- package/src/ui/store/actions/system/index.js +65 -0
- package/src/ui/store/actions/system/masters.js +420 -0
- package/src/ui/store/actions/system/nodes.js +105 -0
- package/src/ui/store/actions/system/proxies.js +71 -0
- package/src/ui/store/actions/system/resources.js +99 -0
- package/src/ui/store/actions/system/rpc-proxies.js +74 -0
- package/src/ui/store/actions/system/schedulers.js +125 -0
- package/src/ui/store/actions/tables.ts +62 -0
- package/src/ui/store/actions/tablet/stores.js +62 -0
- package/src/ui/store/actions/tablet/tablet.js +202 -0
- package/src/ui/store/actions/tablet_cell_bundles/index.ts +206 -0
- package/src/ui/store/actions/tablet_cell_bundles/tablet-cell-bundle-editor.ts +279 -0
- package/src/ui/store/actions/users.js +171 -0
- package/src/ui/store/index.ts +34 -0
- package/src/ui/store/location.ts +274 -0
- package/src/ui/store/reducers/accounts/accounts/index.js +190 -0
- package/src/ui/store/reducers/accounts/accounts/url-mapping.ts +189 -0
- package/src/ui/store/reducers/accounts/editor/index.js +74 -0
- package/src/ui/store/reducers/accounts/index.ts +11 -0
- package/src/ui/store/reducers/accounts/usage/account-usage-types.d.ts +56 -0
- package/src/ui/store/reducers/accounts/usage/accounts-usage-filters.ts +65 -0
- package/src/ui/store/reducers/accounts/usage/accounts-usage-list-diff.ts +62 -0
- package/src/ui/store/reducers/accounts/usage/accounts-usage-list.ts +52 -0
- package/src/ui/store/reducers/accounts/usage/accounts-usage-snapshots.ts +52 -0
- package/src/ui/store/reducers/accounts/usage/accounts-usage-tree-diff.ts +59 -0
- package/src/ui/store/reducers/accounts/usage/accounts-usage-tree.ts +52 -0
- package/src/ui/store/reducers/accounts/usage/index.ts +17 -0
- package/src/ui/store/reducers/acl/acl.js +180 -0
- package/src/ui/store/reducers/actions.js +92 -0
- package/src/ui/store/reducers/chaos_cell_bundles/index.ts +190 -0
- package/src/ui/store/reducers/chaos_cell_bundles/tablet-cell-bundle-editor.ts +64 -0
- package/src/ui/store/reducers/chaos_cell_bundles/url-mapping.ts +94 -0
- package/src/ui/store/reducers/clusters-menu/clusters-menu.js +73 -0
- package/src/ui/store/reducers/clusters-menu/url-mapping.ts +40 -0
- package/src/ui/store/reducers/components/ban-unban.js +70 -0
- package/src/ui/store/reducers/components/decommission.ts +25 -0
- package/src/ui/store/reducers/components/index.ts +21 -0
- package/src/ui/store/reducers/components/node/index.ts +9 -0
- package/src/ui/store/reducers/components/node/memory.ts +86 -0
- package/src/ui/store/reducers/components/node/node.ts +70 -0
- package/src/ui/store/reducers/components/nodes/actions/disable-enable.js +103 -0
- package/src/ui/store/reducers/components/nodes/actions/set-resources-limits.js +47 -0
- package/src/ui/store/reducers/components/nodes/index.js +13 -0
- package/src/ui/store/reducers/components/nodes/nodes/node.tsx +521 -0
- package/src/ui/store/reducers/components/nodes/nodes/nodes.ts +177 -0
- package/src/ui/store/reducers/components/nodes/setup/setup.ts +214 -0
- package/src/ui/store/reducers/components/nodes/url-mapping.ts +185 -0
- package/src/ui/store/reducers/components/proxies/actions/change-role.js +33 -0
- package/src/ui/store/reducers/components/proxies/index.js +9 -0
- package/src/ui/store/reducers/components/proxies/proxies/proxies.js +70 -0
- package/src/ui/store/reducers/components/proxies/proxies/proxy.js +24 -0
- package/src/ui/store/reducers/components/proxies/proxies/url-mapping.ts +54 -0
- package/src/ui/store/reducers/components/shards.js +107 -0
- package/src/ui/store/reducers/components/versions/index.js +163 -0
- package/src/ui/store/reducers/components/versions/index.spec.js +378 -0
- package/src/ui/store/reducers/components/versions/url-mapping_v2.ts +72 -0
- package/src/ui/store/reducers/components/versions/versions_v2.js +134 -0
- package/src/ui/store/reducers/dashboard/index.js +15 -0
- package/src/ui/store/reducers/dashboard/url-mapping.js +47 -0
- package/src/ui/store/reducers/execute-batch.ts +55 -0
- package/src/ui/store/reducers/global/cluster-ui-config.ts +9 -0
- package/src/ui/store/reducers/global/index.js +222 -0
- package/src/ui/store/reducers/global/supported-features.ts +58 -0
- package/src/ui/store/reducers/groups/editor.js +56 -0
- package/src/ui/store/reducers/groups/index.js +8 -0
- package/src/ui/store/reducers/groups/table.js +53 -0
- package/src/ui/store/reducers/groups/url-mapping.ts +25 -0
- package/src/ui/store/reducers/index.ts +125 -0
- package/src/ui/store/reducers/job/competitors.ts +56 -0
- package/src/ui/store/reducers/job/general.ts +81 -0
- package/src/ui/store/reducers/job/index.ts +13 -0
- package/src/ui/store/reducers/job/specification.ts +99 -0
- package/src/ui/store/reducers/job/statistics.ts +69 -0
- package/src/ui/store/reducers/modals/attributes-modal.js +52 -0
- package/src/ui/store/reducers/modals/errors.ts +50 -0
- package/src/ui/store/reducers/modals/index.js +9 -0
- package/src/ui/store/reducers/navigation/content/document.js +42 -0
- package/src/ui/store/reducers/navigation/content/file.js +42 -0
- package/src/ui/store/reducers/navigation/content/index.ts +21 -0
- package/src/ui/store/reducers/navigation/content/map-node/map-node.js +136 -0
- package/src/ui/store/reducers/navigation/content/map-node/url-mapping.ts +46 -0
- package/src/ui/store/reducers/navigation/content/replicated-table.ts +83 -0
- package/src/ui/store/reducers/navigation/content/table/table-mount-config.ts +42 -0
- package/src/ui/store/reducers/navigation/content/table/table.js +188 -0
- package/src/ui/store/reducers/navigation/content/table/url-mapping.ts +42 -0
- package/src/ui/store/reducers/navigation/content/transaction-map/transaction-map.js +61 -0
- package/src/ui/store/reducers/navigation/content/transaction-map/url-mapping.ts +41 -0
- package/src/ui/store/reducers/navigation/content/transaction.js +31 -0
- package/src/ui/store/reducers/navigation/index.ts +15 -0
- package/src/ui/store/reducers/navigation/modals/attributes-editor.ts +69 -0
- package/src/ui/store/reducers/navigation/modals/copy-object.js +89 -0
- package/src/ui/store/reducers/navigation/modals/create-directory.js +79 -0
- package/src/ui/store/reducers/navigation/modals/create-table.js +37 -0
- package/src/ui/store/reducers/navigation/modals/delete-object.js +107 -0
- package/src/ui/store/reducers/navigation/modals/dyn-tables-state-modal.ts +32 -0
- package/src/ui/store/reducers/navigation/modals/index.ts +29 -0
- package/src/ui/store/reducers/navigation/modals/link-to-modal.ts +23 -0
- package/src/ui/store/reducers/navigation/modals/move-object.js +88 -0
- package/src/ui/store/reducers/navigation/modals/remote-copy-modal.ts +30 -0
- package/src/ui/store/reducers/navigation/modals/restore-object.js +76 -0
- package/src/ui/store/reducers/navigation/modals/table-erase-modal.ts +21 -0
- package/src/ui/store/reducers/navigation/modals/table-merge-sort-modal.ts +36 -0
- package/src/ui/store/reducers/navigation/navigation.js +103 -0
- package/src/ui/store/reducers/navigation/path-editor/path-editor.js +49 -0
- package/src/ui/store/reducers/navigation/path-editor/path-editor.spec.js +66 -0
- package/src/ui/store/reducers/navigation/tabs/access-log/access-log-filters.ts +96 -0
- package/src/ui/store/reducers/navigation/tabs/access-log/access-log.ts +100 -0
- package/src/ui/store/reducers/navigation/tabs/access-log/index.ts +9 -0
- package/src/ui/store/reducers/navigation/tabs/access-log/url-mapping.ts +94 -0
- package/src/ui/store/reducers/navigation/tabs/acl/url-mapping.ts +31 -0
- package/src/ui/store/reducers/navigation/tabs/annotation.js +31 -0
- package/src/ui/store/reducers/navigation/tabs/consumer/filters.ts +69 -0
- package/src/ui/store/reducers/navigation/tabs/consumer/index.ts +11 -0
- package/src/ui/store/reducers/navigation/tabs/consumer/partitions.ts +56 -0
- package/src/ui/store/reducers/navigation/tabs/consumer/status.ts +56 -0
- package/src/ui/store/reducers/navigation/tabs/consumer/types.ts +29 -0
- package/src/ui/store/reducers/navigation/tabs/consumer/url-mapping.ts +40 -0
- package/src/ui/store/reducers/navigation/tabs/index.ts +23 -0
- package/src/ui/store/reducers/navigation/tabs/locks.js +50 -0
- package/src/ui/store/reducers/navigation/tabs/queue/filters.ts +74 -0
- package/src/ui/store/reducers/navigation/tabs/queue/index.ts +11 -0
- package/src/ui/store/reducers/navigation/tabs/queue/partitions.ts +56 -0
- package/src/ui/store/reducers/navigation/tabs/queue/status.ts +56 -0
- package/src/ui/store/reducers/navigation/tabs/queue/types.ts +49 -0
- package/src/ui/store/reducers/navigation/tabs/queue/url-mapping.ts +76 -0
- package/src/ui/store/reducers/navigation/tabs/schema/schema.js +15 -0
- package/src/ui/store/reducers/navigation/tabs/schema/url-mapping.ts +21 -0
- package/src/ui/store/reducers/navigation/tabs/tablet-errors.ts +63 -0
- package/src/ui/store/reducers/navigation/tabs/tablets/tablets.js +78 -0
- package/src/ui/store/reducers/navigation/tabs/tablets/url-mapping.ts +36 -0
- package/src/ui/store/reducers/navigation/tabs/user-attributes.js +42 -0
- package/src/ui/store/reducers/navigation/url-mapping.ts +114 -0
- package/src/ui/store/reducers/operations/detail.js +137 -0
- package/src/ui/store/reducers/operations/index.ts +17 -0
- package/src/ui/store/reducers/operations/jobs/jobs-monitor.ts +51 -0
- package/src/ui/store/reducers/operations/jobs/jobs.js +292 -0
- package/src/ui/store/reducers/operations/jobs/url-mapping.ts +135 -0
- package/src/ui/store/reducers/operations/list/list.ts +366 -0
- package/src/ui/store/reducers/operations/list/url-mapping.ts +123 -0
- package/src/ui/store/reducers/operations/page.js +93 -0
- package/src/ui/store/reducers/operations/statistics/statistics.ts +100 -0
- package/src/ui/store/reducers/operations/statistics/url-mapping.ts +33 -0
- package/src/ui/store/reducers/path-viewer/index.js +79 -0
- package/src/ui/store/reducers/path-viewer/url-mapping.ts +51 -0
- package/src/ui/store/reducers/scheduling/create-pool-dialog.ts +82 -0
- package/src/ui/store/reducers/scheduling/index.ts +252 -0
- package/src/ui/store/reducers/scheduling/scheduling-operations.ts +80 -0
- package/src/ui/store/reducers/scheduling/url-mapping.ts +114 -0
- package/src/ui/store/reducers/settings.ts +70 -0
- package/src/ui/store/reducers/slideoutMenu.js +68 -0
- package/src/ui/store/reducers/suggests/index.ts +7 -0
- package/src/ui/store/reducers/suggests/tablet-cell-bundless.ts +51 -0
- package/src/ui/store/reducers/system/chunks.js +30 -0
- package/src/ui/store/reducers/system/index.js +19 -0
- package/src/ui/store/reducers/system/masters.ts +394 -0
- package/src/ui/store/reducers/system/nodes.js +209 -0
- package/src/ui/store/reducers/system/proxies.js +54 -0
- package/src/ui/store/reducers/system/resources.js +38 -0
- package/src/ui/store/reducers/system/rpc-proxies.js +36 -0
- package/src/ui/store/reducers/system/schedulers.js +38 -0
- package/src/ui/store/reducers/tables.js +73 -0
- package/src/ui/store/reducers/tablet/index.js +9 -0
- package/src/ui/store/reducers/tablet/stores.js +43 -0
- package/src/ui/store/reducers/tablet/tablet.js +71 -0
- package/src/ui/store/reducers/tablet/url-mapping.ts +44 -0
- package/src/ui/store/reducers/tablet_cell_bundles/index.ts +296 -0
- package/src/ui/store/reducers/tablet_cell_bundles/tablet-cell-bundle-editor.ts +87 -0
- package/src/ui/store/reducers/tablet_cell_bundles/url-mapping.ts +93 -0
- package/src/ui/store/reducers/url-mapping.ts +23 -0
- package/src/ui/store/reducers/users/edit-user.js +48 -0
- package/src/ui/store/reducers/users/index.js +8 -0
- package/src/ui/store/reducers/users/table.js +54 -0
- package/src/ui/store/reducers/users/url-mapping.ts +35 -0
- package/src/ui/store/reducers/utils.ts +25 -0
- package/src/ui/store/selectors/accounts/account-usage.ts +335 -0
- package/src/ui/store/selectors/accounts/accounts-ts.ts +625 -0
- package/src/ui/store/selectors/accounts/accounts.js +274 -0
- package/src/ui/store/selectors/accounts/dashboard.js +46 -0
- package/src/ui/store/selectors/acl.js +287 -0
- package/src/ui/store/selectors/chaos_cell_bundles/index.ts +272 -0
- package/src/ui/store/selectors/chaos_cell_bundles/tablet-cell-bundle-editor.ts +3 -0
- package/src/ui/store/selectors/components/node/memory.ts +361 -0
- package/src/ui/store/selectors/components/node/node.ts +7 -0
- package/src/ui/store/selectors/components/nodes/decommission.ts +3 -0
- package/src/ui/store/selectors/components/nodes/filters-presets.js +19 -0
- package/src/ui/store/selectors/components/nodes/node-card.ts +19 -0
- package/src/ui/store/selectors/components/nodes/nodes/data.ts +141 -0
- package/src/ui/store/selectors/components/nodes/nodes/index.ts +2 -0
- package/src/ui/store/selectors/components/nodes/nodes/predicates.ts +536 -0
- package/src/ui/store/selectors/components/proxies/proxies.js +101 -0
- package/src/ui/store/selectors/components/versions/versions_v2-ts.ts +52 -0
- package/src/ui/store/selectors/components/versions/versions_v2.js +168 -0
- package/src/ui/store/selectors/execute-batch.ts +5 -0
- package/src/ui/store/selectors/favourites.js +111 -0
- package/src/ui/store/selectors/global/index.ts +187 -0
- package/src/ui/store/selectors/global/supported-features.ts +184 -0
- package/src/ui/store/selectors/groups.js +158 -0
- package/src/ui/store/selectors/histogram.js +46 -0
- package/src/ui/store/selectors/job/detail.ts +175 -0
- package/src/ui/store/selectors/job/statistics.ts +89 -0
- package/src/ui/store/selectors/modals/errors.ts +10 -0
- package/src/ui/store/selectors/navigation/content/document.ts +14 -0
- package/src/ui/store/selectors/navigation/content/file.js +36 -0
- package/src/ui/store/selectors/navigation/content/map-node-ts.ts +46 -0
- package/src/ui/store/selectors/navigation/content/map-node.js +329 -0
- package/src/ui/store/selectors/navigation/content/replicated-table.ts +68 -0
- package/src/ui/store/selectors/navigation/content/table-mount-config.ts +19 -0
- package/src/ui/store/selectors/navigation/content/table-ts.ts +80 -0
- package/src/ui/store/selectors/navigation/content/table.js +198 -0
- package/src/ui/store/selectors/navigation/content/transaction-map.js +36 -0
- package/src/ui/store/selectors/navigation/index.js +42 -0
- package/src/ui/store/selectors/navigation/modals/attributes-editor.ts +63 -0
- package/src/ui/store/selectors/navigation/modals/create-table.js +22 -0
- package/src/ui/store/selectors/navigation/modals/dyn-tables-state-modal.ts +8 -0
- package/src/ui/store/selectors/navigation/modals/link-to-modal.ts +3 -0
- package/src/ui/store/selectors/navigation/modals/remote-copy-modal.ts +32 -0
- package/src/ui/store/selectors/navigation/modals/table-erase-modal.ts +6 -0
- package/src/ui/store/selectors/navigation/modals/table-merge-sort-modal.tsx +12 -0
- package/src/ui/store/selectors/navigation/navigation.ts +124 -0
- package/src/ui/store/selectors/navigation/tabs/access-log.ts +109 -0
- package/src/ui/store/selectors/navigation/tabs/annotation.ts +20 -0
- package/src/ui/store/selectors/navigation/tabs/consumer.ts +74 -0
- package/src/ui/store/selectors/navigation/tabs/locks.ts +27 -0
- package/src/ui/store/selectors/navigation/tabs/queue.ts +111 -0
- package/src/ui/store/selectors/navigation/tabs/schema.js +80 -0
- package/src/ui/store/selectors/navigation/tabs/tablet-errors.ts +94 -0
- package/src/ui/store/selectors/navigation/tabs/tablets-ts.ts +185 -0
- package/src/ui/store/selectors/navigation/tabs/tablets.js +83 -0
- package/src/ui/store/selectors/navigation/tabs/user-attributes.js +19 -0
- package/src/ui/store/selectors/operations/index.ts +186 -0
- package/src/ui/store/selectors/operations/jobs-monitor.ts +58 -0
- package/src/ui/store/selectors/operations/jobs.ts +4 -0
- package/src/ui/store/selectors/operations/operation.ts +158 -0
- package/src/ui/store/selectors/operations/operations-list.ts +112 -0
- package/src/ui/store/selectors/operations/statistics.js +41 -0
- package/src/ui/store/selectors/scheduling/create-pool-dialog.ts +31 -0
- package/src/ui/store/selectors/scheduling/index.ts +15 -0
- package/src/ui/store/selectors/scheduling/monitor.ts +6 -0
- package/src/ui/store/selectors/scheduling/scheduling-operations.ts +23 -0
- package/src/ui/store/selectors/scheduling/scheduling-pools.ts +177 -0
- package/src/ui/store/selectors/scheduling/scheduling-ts.tsx +244 -0
- package/src/ui/store/selectors/scheduling/scheduling.ts +335 -0
- package/src/ui/store/selectors/settings-ts.ts +138 -0
- package/src/ui/store/selectors/settings.js +220 -0
- package/src/ui/store/selectors/slideoutMenu.ts +130 -0
- package/src/ui/store/selectors/suggests/index.ts +4 -0
- package/src/ui/store/selectors/system/index.js +4 -0
- package/src/ui/store/selectors/system/masters.ts +53 -0
- package/src/ui/store/selectors/system/schedulers.js +106 -0
- package/src/ui/store/selectors/tables.js +3 -0
- package/src/ui/store/selectors/tablet/stores.js +11 -0
- package/src/ui/store/selectors/tablet/tablet.js +50 -0
- package/src/ui/store/selectors/tablet_cell_bundles/index.ts +387 -0
- package/src/ui/store/selectors/tablet_cell_bundles/tablet-cell-bundle-editor.ts +5 -0
- package/src/ui/store/selectors/thor/.eslintrc +5 -0
- package/src/ui/store/selectors/thor/index.js +17 -0
- package/src/ui/store/selectors/thor/support.js +239 -0
- package/src/ui/store/selectors/thor/support.spec.js +209 -0
- package/src/ui/store/selectors/thor/unipika.ts +56 -0
- package/src/ui/store/selectors/users.js +47 -0
- package/src/ui/store/window-store.ts +34 -0
- package/src/ui/styles/common.scss +43 -0
- package/src/ui/styles/fonts.scss +22 -0
- package/src/ui/styles/mixins.scss +68 -0
- package/src/ui/styles/redefinitions/DataTable.scss +14 -0
- package/src/ui/styles/redefinitions/chartkit.scss +14 -0
- package/src/ui/styles/redefinitions/common/Breadcrumbs.scss +20 -0
- package/src/ui/styles/redefinitions/common/common.scss +5 -0
- package/src/ui/styles/redefinitions/common/icon.scss +9 -0
- package/src/ui/styles/redefinitions/common/link.scss +29 -0
- package/src/ui/styles/redefinitions/common/progress.scss +35 -0
- package/src/ui/styles/redefinitions/redefinitions.scss +43 -0
- package/src/ui/styles/themes/dark-theme.scss +128 -0
- package/src/ui/styles/themes/light-theme.scss +130 -0
- package/src/ui/tsconfig.json +16 -0
- package/src/ui/types/index.ts +56 -0
- package/src/ui/types/job/index.ts +210 -0
- package/src/ui/types/node/node.ts +83 -0
- package/src/ui/utils/accounts/accounts-selector.ts +348 -0
- package/src/ui/utils/accounts/accounts.ts +14 -0
- package/src/ui/utils/accounts/accountsTotal.ts +283 -0
- package/src/ui/utils/accounts/editor.js +195 -0
- package/src/ui/utils/accounts/index.ts +111 -0
- package/src/ui/utils/accounts/tables.js +339 -0
- package/src/ui/utils/acl/acl-api.ts +146 -0
- package/src/ui/utils/acl/acl-types.ts +245 -0
- package/src/ui/utils/acl/external-acl-api.ts +102 -0
- package/src/ui/utils/acl/index.ts +118 -0
- package/src/ui/utils/actions.js +1 -0
- package/src/ui/utils/app-url.ts +15 -0
- package/src/ui/utils/axios-no-xsrf.js +8 -0
- package/src/ui/utils/cancel-helper.ts +36 -0
- package/src/ui/utils/clusters.ts +26 -0
- package/src/ui/utils/components/nodes/node.ts +52 -0
- package/src/ui/utils/components/nodes/setup.ts +43 -0
- package/src/ui/utils/components/nodes/tables.tsx +900 -0
- package/src/ui/utils/components/proxies/table.js +68 -0
- package/src/ui/utils/components/tablet-cells/index.js +221 -0
- package/src/ui/utils/components/versions/index.js +177 -0
- package/src/ui/utils/components/versions/tables.js +173 -0
- package/src/ui/utils/components/versions/tables_v2.js +263 -0
- package/src/ui/utils/cypress-attributes.ts +251 -0
- package/src/ui/utils/errors/index.ts +22 -0
- package/src/ui/utils/favourites.js +49 -0
- package/src/ui/utils/hammer/updater.ts +56 -0
- package/src/ui/utils/index.ts +340 -0
- package/src/ui/utils/job/tabs/statistics.ts +83 -0
- package/src/ui/utils/logger.ts +69 -0
- package/src/ui/utils/navigation/content/map-nodes/node.js +119 -0
- package/src/ui/utils/navigation/content/table/columns.js +222 -0
- package/src/ui/utils/navigation/content/table/query.js +122 -0
- package/src/ui/utils/navigation/content/table/table-ts.ts +27 -0
- package/src/ui/utils/navigation/content/table/table.js +97 -0
- package/src/ui/utils/navigation/content/transaction-map/table.js +36 -0
- package/src/ui/utils/navigation/content/transaction-map/transaction.js +20 -0
- package/src/ui/utils/navigation/favourites.js +43 -0
- package/src/ui/utils/navigation/index.ts +152 -0
- package/src/ui/utils/navigation/navigation.ts +5 -0
- package/src/ui/utils/navigation/path-editing-popup.js +22 -0
- package/src/ui/utils/navigation/path-editor.js +111 -0
- package/src/ui/utils/navigation/restore-object.js +32 -0
- package/src/ui/utils/navigation/tabs/access-log.ts +98 -0
- package/src/ui/utils/navigation/tabs/tables.js +360 -0
- package/src/ui/utils/navigation/tabs/tablets.js +50 -0
- package/src/ui/utils/operations/detail.js +128 -0
- package/src/ui/utils/operations/jobs.ts +12 -0
- package/src/ui/utils/operations/list.js +10 -0
- package/src/ui/utils/operations/tabs/details/alerts.ts +18 -0
- package/src/ui/utils/operations/tabs/details/data-flow.js +121 -0
- package/src/ui/utils/operations/tabs/details/error.js +7 -0
- package/src/ui/utils/operations/tabs/details/events/events.js +119 -0
- package/src/ui/utils/operations/tabs/details/events/eventsTablesProps.js +104 -0
- package/src/ui/utils/operations/tabs/details/resources/resourcesTablesProps.js +96 -0
- package/src/ui/utils/operations/tabs/details/runtime.js +24 -0
- package/src/ui/utils/operations/tabs/details/specification/specification.js +407 -0
- package/src/ui/utils/operations/tabs/details/specification/specificationTablesProps.js +69 -0
- package/src/ui/utils/operations/tabs/details/tasks.js +296 -0
- package/src/ui/utils/operations/tabs/statistics/statistics.js +117 -0
- package/src/ui/utils/operations/tabs/statistics/statisticsTableProps.js +52 -0
- package/src/ui/utils/parse-serialize.spec.ts +47 -0
- package/src/ui/utils/parse-serialize.ts +143 -0
- package/src/ui/utils/poolTrees.ts +59 -0
- package/src/ui/utils/progress.ts +48 -0
- package/src/ui/utils/scheduling/details.js +29 -0
- package/src/ui/utils/scheduling/detailsTable.js +381 -0
- package/src/ui/utils/scheduling/index.ts +15 -0
- package/src/ui/utils/scheduling/overview.js +68 -0
- package/src/ui/utils/scheduling/overviewTable.js +107 -0
- package/src/ui/utils/scheduling/pool-child.js +167 -0
- package/src/ui/utils/scheduling/scheduling.ts +270 -0
- package/src/ui/utils/sort-helpers.spec.ts +1038 -0
- package/src/ui/utils/sort-helpers.ts +285 -0
- package/src/ui/utils/system/proxies.js +69 -0
- package/src/ui/utils/tablet/partition.js +25 -0
- package/src/ui/utils/tablet/store.js +24 -0
- package/src/ui/utils/tablet/stores.js +27 -0
- package/src/ui/utils/tablet/table.js +107 -0
- package/src/ui/utils/tablet/tablet.js +38 -0
- package/src/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.ts +270 -0
- package/src/ui/utils/tablet_cell_bundles.ts +12 -0
- package/src/ui/utils/url-mapping.spec.ts +105 -0
- package/src/ui/utils/url-mapping.ts +63 -0
- package/src/ui/utils/users-groups.ts +29 -0
- package/src/ui/utils/utils.tsx +397 -0
- package/src/ui/utils/yt-local-storage.ts +32 -0
- package/tsconfig.json +7 -0
- 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
|
+
}
|