@ytsaurus/ui 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/ui/UIFactory.d.ts +1 -0
- package/build/cjs/ui/UIFactory.js.map +1 -1
- package/build/cjs/ui/common/hammer/format.js +1 -1
- package/build/cjs/ui/common/hammer/format.js.map +1 -1
- package/build/cjs/ui/components/CollapsibleSection/CollapsibleSection.d.ts +1 -1
- package/build/cjs/ui/components/CollapsibleSection/CollapsibleSection.js.map +1 -1
- package/build/cjs/ui/components/MetaTable/presets/main.d.ts +1 -1
- package/build/cjs/ui/components/MetaTable/presets/main.js +1 -1
- package/build/cjs/ui/components/MetaTable/presets/main.js.map +1 -1
- package/build/cjs/ui/components/MetaTable/presets/presets.d.ts +29 -0
- package/build/cjs/ui/components/MetaTable/presets/presets.js +94 -1
- package/build/cjs/ui/components/MetaTable/presets/presets.js.map +1 -1
- package/build/cjs/ui/pages/navigation/Navigation/ContentViewer/ContentViewer.d.ts +2 -0
- package/build/cjs/ui/pages/navigation/Navigation/ContentViewer/ContentViewer.js +3 -0
- package/build/cjs/ui/pages/navigation/Navigation/ContentViewer/ContentViewer.js.map +1 -1
- package/build/cjs/ui/pages/navigation/content/ReplicatedTable/ReplicatedTable.js +12 -4
- package/build/cjs/ui/pages/navigation/content/ReplicatedTable/ReplicatedTable.js.map +1 -1
- package/build/cjs/ui/pages/navigation/content/ReplicatedTable/ReplicatedTableMeta.d.ts +2 -0
- package/build/cjs/ui/pages/navigation/content/ReplicatedTable/ReplicatedTableMeta.js +29 -0
- package/build/cjs/ui/pages/navigation/content/ReplicatedTable/ReplicatedTableMeta.js.map +1 -0
- package/build/cjs/ui/pages/navigation/content/Table/TableMeta/AutomaticModeSwitch.d.ts +1 -1
- package/build/cjs/ui/pages/navigation/content/Table/TableMeta/AutomaticModeSwitch.js.map +1 -1
- package/build/cjs/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.d.ts +5 -0
- package/build/cjs/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.js +33 -0
- package/build/cjs/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.js.map +1 -0
- package/build/cjs/ui/pages/navigation/content/Table/TableMeta/TableMeta.d.ts +12 -41
- package/build/cjs/ui/pages/navigation/content/Table/TableMeta/TableMeta.js +28 -104
- package/build/cjs/ui/pages/navigation/content/Table/TableMeta/TableMeta.js.map +1 -1
- package/build/cjs/ui/pages/navigation/content/Table/TableMeta/commonFields.d.ts +10 -0
- package/build/cjs/ui/pages/navigation/content/Table/TableMeta/commonFields.js +59 -0
- package/build/cjs/ui/pages/navigation/content/Table/TableMeta/commonFields.js.map +1 -0
- package/build/cjs/ui/pages/query-tracker/{QueriesHistoryList → QueriesList/QueriesHistoryList}/index.js +39 -76
- package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesHistoryList/index.js.map +1 -0
- package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryEngineFilter.d.ts +7 -0
- package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryEngineFilter.js +43 -0
- package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryEngineFilter.js.map +1 -0
- package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryTextFilter.d.ts +7 -0
- package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryTextFilter.js +44 -0
- package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryTextFilter.js.map +1 -0
- package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/index.d.ts +6 -0
- package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/index.js +66 -0
- package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesListFilter/index.js.map +1 -0
- package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.d.ts +4 -0
- package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.js +82 -0
- package/build/cjs/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.js.map +1 -0
- package/build/cjs/ui/pages/query-tracker/QueriesList/index.js +51 -5
- package/build/cjs/ui/pages/query-tracker/QueriesList/index.js.map +1 -1
- package/build/cjs/ui/pages/query-tracker/hooks/QueriesList/index.d.ts +10 -0
- package/build/cjs/ui/pages/query-tracker/hooks/QueriesList/index.js +42 -0
- package/build/cjs/ui/pages/query-tracker/hooks/QueriesList/index.js.map +1 -0
- package/build/cjs/ui/pages/query-tracker/hooks/Query/index.d.ts +2 -0
- package/build/cjs/ui/pages/query-tracker/hooks/Query/index.js +24 -0
- package/build/cjs/ui/pages/query-tracker/hooks/Query/index.js.map +1 -0
- package/build/cjs/ui/pages/query-tracker/hooks/QueryListFilter/index.d.ts +2 -2
- package/build/cjs/ui/pages/query-tracker/hooks/QueryListFilter/index.js +4 -3
- package/build/cjs/ui/pages/query-tracker/hooks/QueryListFilter/index.js.map +1 -1
- package/build/cjs/ui/pages/query-tracker/module/api.d.ts +1 -0
- package/build/cjs/ui/pages/query-tracker/module/api.js.map +1 -1
- package/build/cjs/ui/pages/query-tracker/module/queries_list/actions.d.ts +17 -8
- package/build/cjs/ui/pages/query-tracker/module/queries_list/actions.js +38 -22
- package/build/cjs/ui/pages/query-tracker/module/queries_list/actions.js.map +1 -1
- package/build/cjs/ui/pages/query-tracker/module/queries_list/reducer.d.ts +8 -7
- package/build/cjs/ui/pages/query-tracker/module/queries_list/reducer.js +31 -8
- package/build/cjs/ui/pages/query-tracker/module/queries_list/reducer.js.map +1 -1
- package/build/cjs/ui/pages/query-tracker/module/queries_list/selectors.d.ts +18 -8
- package/build/cjs/ui/pages/query-tracker/module/queries_list/selectors.js +46 -22
- package/build/cjs/ui/pages/query-tracker/module/queries_list/selectors.js.map +1 -1
- package/build/cjs/ui/pages/query-tracker/module/queries_list/types.d.ts +17 -4
- package/build/cjs/ui/pages/query-tracker/module/queries_list/types.js +28 -7
- package/build/cjs/ui/pages/query-tracker/module/queries_list/types.js.map +1 -1
- package/build/cjs/ui/pages/query-tracker/module/query/reducer.js +2 -1
- package/build/cjs/ui/pages/query-tracker/module/query/reducer.js.map +1 -1
- package/build/cjs/ui/pages/query-tracker/module/query/selectors.js +2 -1
- package/build/cjs/ui/pages/query-tracker/module/query/selectors.js.map +1 -1
- package/build/cjs/ui/pages/query-tracker/module/query/utills.d.ts +2 -0
- package/build/cjs/ui/pages/query-tracker/module/query/utills.js +17 -0
- package/build/cjs/ui/pages/query-tracker/module/query/utills.js.map +1 -0
- package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js +7 -5
- package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map +1 -1
- package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTableField/BundleTableField.d.ts +1 -0
- package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTableField/BundleTableField.js.map +1 -1
- package/build/cjs/ui/store/selectors/navigation/content/table.d.ts +1 -1
- package/build/cjs/ui/store/selectors/navigation/content/table.js +9 -3
- package/build/cjs/ui/store/selectors/navigation/content/table.js.map +1 -1
- package/build/cjs/ui/store/selectors/navigation/navigation.js +1 -1
- package/build/cjs/ui/store/selectors/navigation/navigation.js.map +1 -1
- package/build/cjs/ui/utils/components/tablet-cells/index.js +1 -1
- package/build/cjs/ui/utils/components/tablet-cells/index.js.map +1 -1
- package/build/cjs/ui/utils/cypress-attributes.d.ts +2 -0
- package/build/cjs/ui/utils/cypress-attributes.js +2 -0
- package/build/cjs/ui/utils/cypress-attributes.js.map +1 -1
- package/build/cjs/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js +1 -1
- package/build/cjs/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js.map +1 -1
- package/build/esm/ui/UIFactory.d.ts +1 -0
- package/build/esm/ui/UIFactory.js.map +1 -1
- package/build/esm/ui/common/hammer/format.js +1 -1
- package/build/esm/ui/common/hammer/format.js.map +1 -1
- package/build/esm/ui/components/CollapsibleSection/CollapsibleSection.d.ts +1 -1
- package/build/esm/ui/components/CollapsibleSection/CollapsibleSection.js.map +1 -1
- package/build/esm/ui/components/MetaTable/presets/main.d.ts +1 -1
- package/build/esm/ui/components/MetaTable/presets/main.js +1 -1
- package/build/esm/ui/components/MetaTable/presets/main.js.map +1 -1
- package/build/esm/ui/components/MetaTable/presets/presets.d.ts +29 -0
- package/build/esm/ui/components/MetaTable/presets/presets.js +88 -1
- package/build/esm/ui/components/MetaTable/presets/presets.js.map +1 -1
- package/build/esm/ui/pages/navigation/Navigation/ContentViewer/ContentViewer.d.ts +2 -0
- package/build/esm/ui/pages/navigation/Navigation/ContentViewer/ContentViewer.js +3 -0
- package/build/esm/ui/pages/navigation/Navigation/ContentViewer/ContentViewer.js.map +1 -1
- package/build/esm/ui/pages/navigation/content/ReplicatedTable/ReplicatedTable.js +12 -4
- package/build/esm/ui/pages/navigation/content/ReplicatedTable/ReplicatedTable.js.map +1 -1
- package/build/esm/ui/pages/navigation/content/ReplicatedTable/ReplicatedTableMeta.d.ts +2 -0
- package/build/esm/ui/pages/navigation/content/ReplicatedTable/ReplicatedTableMeta.js +23 -0
- package/build/esm/ui/pages/navigation/content/ReplicatedTable/ReplicatedTableMeta.js.map +1 -0
- package/build/esm/ui/pages/navigation/content/Table/TableMeta/AutomaticModeSwitch.d.ts +1 -1
- package/build/esm/ui/pages/navigation/content/Table/TableMeta/AutomaticModeSwitch.js.map +1 -1
- package/build/esm/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.css +5 -0
- package/build/esm/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.css.map +1 -0
- package/build/esm/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.d.ts +5 -0
- package/build/esm/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.js +27 -0
- package/build/esm/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.js.map +1 -0
- package/build/esm/ui/pages/navigation/content/Table/TableMeta/RowsCount/RowsCount.scss +6 -0
- package/build/esm/ui/pages/navigation/content/Table/TableMeta/TableMeta.d.ts +12 -41
- package/build/esm/ui/pages/navigation/content/Table/TableMeta/TableMeta.js +28 -105
- package/build/esm/ui/pages/navigation/content/Table/TableMeta/TableMeta.js.map +1 -1
- package/build/esm/ui/pages/navigation/content/Table/TableMeta/commonFields.d.ts +10 -0
- package/build/esm/ui/pages/navigation/content/Table/TableMeta/commonFields.js +51 -0
- package/build/esm/ui/pages/navigation/content/Table/TableMeta/commonFields.js.map +1 -0
- package/build/esm/ui/pages/navigation/tabs/Tablets/Tablets.css +4 -1
- package/build/esm/ui/pages/navigation/tabs/Tablets/Tablets.css.map +1 -1
- package/build/esm/ui/pages/navigation/tabs/Tablets/Tablets.scss +4 -1
- package/build/esm/ui/pages/query-tracker/{QueriesHistoryList → QueriesList/QueriesHistoryList}/index.js +39 -76
- package/build/esm/ui/pages/query-tracker/QueriesList/QueriesHistoryList/index.js.map +1 -0
- package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryEngineFilter.d.ts +7 -0
- package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryEngineFilter.js +35 -0
- package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryEngineFilter.js.map +1 -0
- package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryTextFilter.d.ts +7 -0
- package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryTextFilter.js +36 -0
- package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryTextFilter.js.map +1 -0
- package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/index.d.ts +6 -0
- package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/index.js +60 -0
- package/build/esm/ui/pages/query-tracker/QueriesList/QueriesListFilter/index.js.map +1 -0
- package/build/esm/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.css +30 -0
- package/build/esm/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.css.map +1 -0
- package/build/esm/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.d.ts +4 -0
- package/build/esm/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.js +77 -0
- package/build/esm/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.js.map +1 -0
- package/build/esm/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.scss +36 -0
- package/build/esm/ui/pages/query-tracker/QueriesList/index.css +10 -0
- package/build/esm/ui/pages/query-tracker/QueriesList/index.css.map +1 -1
- package/build/esm/ui/pages/query-tracker/QueriesList/index.js +52 -6
- package/build/esm/ui/pages/query-tracker/QueriesList/index.js.map +1 -1
- package/build/esm/ui/pages/query-tracker/QueriesList/index.scss +13 -0
- package/build/esm/ui/pages/query-tracker/hooks/QueriesList/index.d.ts +10 -0
- package/build/esm/ui/pages/query-tracker/hooks/QueriesList/index.js +33 -0
- package/build/esm/ui/pages/query-tracker/hooks/QueriesList/index.js.map +1 -0
- package/build/esm/ui/pages/query-tracker/hooks/Query/index.d.ts +2 -0
- package/build/esm/ui/pages/query-tracker/hooks/Query/index.js +16 -0
- package/build/esm/ui/pages/query-tracker/hooks/Query/index.js.map +1 -0
- package/build/esm/ui/pages/query-tracker/hooks/QueryListFilter/index.d.ts +2 -2
- package/build/esm/ui/pages/query-tracker/hooks/QueryListFilter/index.js +4 -3
- package/build/esm/ui/pages/query-tracker/hooks/QueryListFilter/index.js.map +1 -1
- package/build/esm/ui/pages/query-tracker/module/api.d.ts +1 -0
- package/build/esm/ui/pages/query-tracker/module/api.js.map +1 -1
- package/build/esm/ui/pages/query-tracker/module/queries_list/actions.d.ts +17 -8
- package/build/esm/ui/pages/query-tracker/module/queries_list/actions.js +33 -19
- package/build/esm/ui/pages/query-tracker/module/queries_list/actions.js.map +1 -1
- package/build/esm/ui/pages/query-tracker/module/queries_list/reducer.d.ts +8 -7
- package/build/esm/ui/pages/query-tracker/module/queries_list/reducer.js +33 -10
- package/build/esm/ui/pages/query-tracker/module/queries_list/reducer.js.map +1 -1
- package/build/esm/ui/pages/query-tracker/module/queries_list/selectors.d.ts +18 -8
- package/build/esm/ui/pages/query-tracker/module/queries_list/selectors.js +35 -15
- package/build/esm/ui/pages/query-tracker/module/queries_list/selectors.js.map +1 -1
- package/build/esm/ui/pages/query-tracker/module/queries_list/types.d.ts +17 -4
- package/build/esm/ui/pages/query-tracker/module/queries_list/types.js +21 -5
- package/build/esm/ui/pages/query-tracker/module/queries_list/types.js.map +1 -1
- package/build/esm/ui/pages/query-tracker/module/query/reducer.js +2 -1
- package/build/esm/ui/pages/query-tracker/module/query/reducer.js.map +1 -1
- package/build/esm/ui/pages/query-tracker/module/query/selectors.js +2 -1
- package/build/esm/ui/pages/query-tracker/module/query/selectors.js.map +1 -1
- package/build/esm/ui/pages/query-tracker/module/query/utills.d.ts +2 -0
- package/build/esm/ui/pages/query-tracker/module/query/utills.js +8 -0
- package/build/esm/ui/pages/query-tracker/module/query/utills.js.map +1 -0
- package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js +8 -6
- package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map +1 -1
- package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTableField/BundleTableField.css +4 -0
- package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTableField/BundleTableField.css.map +1 -0
- package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTableField/BundleTableField.d.ts +1 -0
- package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTableField/BundleTableField.js +1 -0
- package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTableField/BundleTableField.js.map +1 -1
- package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/components/BundleTableField/BundleTableField.scss +7 -0
- package/build/esm/ui/store/selectors/navigation/content/table.d.ts +1 -1
- package/build/esm/ui/store/selectors/navigation/content/table.js +9 -3
- package/build/esm/ui/store/selectors/navigation/content/table.js.map +1 -1
- package/build/esm/ui/store/selectors/navigation/navigation.js +1 -1
- package/build/esm/ui/store/selectors/navigation/navigation.js.map +1 -1
- package/build/esm/ui/utils/components/tablet-cells/index.js +1 -1
- package/build/esm/ui/utils/components/tablet-cells/index.js.map +1 -1
- package/build/esm/ui/utils/cypress-attributes.d.ts +2 -0
- package/build/esm/ui/utils/cypress-attributes.js +2 -0
- package/build/esm/ui/utils/cypress-attributes.js.map +1 -1
- package/build/esm/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js +1 -1
- package/build/esm/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js.map +1 -1
- package/build/img/svg/YT-login-page-background-dark.svg +96 -14
- package/build/img/svg/YT-login-page-background-light.svg +94 -14
- package/build/img/svg/icons/learn.svg +3 -0
- package/package.json +2 -2
- package/build/cjs/ui/pages/query-tracker/QueriesHistoryList/QueriesHistoryFilter/index.d.ts +0 -9
- package/build/cjs/ui/pages/query-tracker/QueriesHistoryList/QueriesHistoryFilter/index.js +0 -76
- package/build/cjs/ui/pages/query-tracker/QueriesHistoryList/QueriesHistoryFilter/index.js.map +0 -1
- package/build/cjs/ui/pages/query-tracker/QueriesHistoryList/index.js.map +0 -1
- package/build/esm/ui/pages/query-tracker/QueriesHistoryList/QueriesHistoryFilter/index.d.ts +0 -9
- package/build/esm/ui/pages/query-tracker/QueriesHistoryList/QueriesHistoryFilter/index.js +0 -70
- package/build/esm/ui/pages/query-tracker/QueriesHistoryList/QueriesHistoryFilter/index.js.map +0 -1
- package/build/esm/ui/pages/query-tracker/QueriesHistoryList/index.js.map +0 -1
- /package/build/cjs/ui/pages/query-tracker/{QueriesHistoryList → QueriesList/QueriesHistoryList}/index.d.ts +0 -0
- /package/build/esm/ui/pages/query-tracker/{QueriesHistoryList → QueriesList/QueriesHistoryList}/index.css +0 -0
- /package/build/esm/ui/pages/query-tracker/{QueriesHistoryList → QueriesList/QueriesHistoryList}/index.css.map +0 -0
- /package/build/esm/ui/pages/query-tracker/{QueriesHistoryList → QueriesList/QueriesHistoryList}/index.d.ts +0 -0
- /package/build/esm/ui/pages/query-tracker/{QueriesHistoryList → QueriesList/QueriesHistoryList}/index.scss +0 -0
- /package/build/esm/ui/pages/query-tracker/{QueriesHistoryList/QueriesHistoryFilter → QueriesList/QueriesListFilter}/index.css +0 -0
- /package/build/esm/ui/pages/query-tracker/{QueriesHistoryList/QueriesHistoryFilter → QueriesList/QueriesListFilter}/index.css.map +0 -0
- /package/build/esm/ui/pages/query-tracker/{QueriesHistoryList/QueriesHistoryFilter → QueriesList/QueriesListFilter}/index.scss +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["createSelector","getCurrentUserName","isQueryProgress","
|
1
|
+
{"version":3,"names":["createSelector","getCurrentUserName","isQueryProgress","QueriesListFilterPresets","getQueriesListState","state","queryTracker","list","isQueriesListLoading","getQueriesListMap","map","getQueriesListTimestamp","timestamp","getQueriesList","Object","values","hasQueriesListMore","hasMore","getQueriesListError","error","getQueriesFilters","filter","getQueriesListMode","listMode","getQueriesListFilter","filters","_filters$listMode","getQueriesListCursor","_filters$listMode2","cursor","getUncompletedItems","items","getQueriesListCursorParams","cursor_time","cursorTime","cursor_direction","direction","undefined","getQueriesListFilterParams","filterParams","_objectSpread","is_tutorial","_objectWithoutProperties","_excluded","user"],"sources":["selectors.ts"],"sourcesContent":["import {createSelector} from 'reselect';\nimport {RootState} from '../../../../store/reducers';\nimport {getCurrentUserName} from '../../../../store/selectors/global';\nimport {QueriesListParams} from '../api';\nimport {isQueryProgress} from '../../utils/query';\nimport {QueriesListFilterPresets} from './types';\n\nexport const getQueriesListState = (state: RootState) => state.queryTracker.list;\n\nexport const isQueriesListLoading = (state: RootState) =>\n getQueriesListState(state).state === 'loading';\n\nexport const getQueriesListMap = (state: RootState) => getQueriesListState(state).map;\n\nexport const getQueriesListTimestamp = (state: RootState) => getQueriesListState(state).timestamp;\n\nexport const getQueriesList = createSelector(getQueriesListMap, (map) => {\n return Object.values(map);\n});\nexport const hasQueriesListMore = (state: RootState) => getQueriesListState(state).hasMore;\n\nexport const getQueriesListError = (state: RootState) => getQueriesListState(state).error;\n\nexport const getQueriesFilters = (state: RootState) => getQueriesListState(state).filter;\nexport const getQueriesListMode = (state: RootState) => getQueriesListState(state).listMode;\n\nexport const getQueriesListFilter = createSelector(\n [getQueriesFilters, getQueriesListMode],\n (filters, listMode) => {\n return filters[listMode]?.filter || {};\n },\n);\n\nexport const getQueriesListCursor = createSelector(\n [getQueriesFilters, getQueriesListMode],\n (filters, listMode) => {\n return filters[listMode]?.cursor;\n },\n);\n\nexport const getUncompletedItems = createSelector(getQueriesList, (items) => {\n return items.filter(isQueryProgress);\n});\n\nexport const getQueriesListCursorParams = (state: RootState) => {\n const cursor = getQueriesListCursor(state);\n if (cursor) {\n return {cursor_time: cursor.cursorTime, cursor_direction: cursor.direction};\n }\n\n return undefined;\n};\n\nexport function getQueriesListFilterParams(state: RootState): QueriesListParams {\n const listMode = getQueriesListMode(state);\n const filterParams = {\n ...getQueriesListFilter(state),\n ...(QueriesListFilterPresets[listMode] || {}),\n };\n const {is_tutorial, ...filter} = filterParams;\n if (is_tutorial) {\n filter.filter = `is_tutorial`;\n }\n if (filter.user === 'my') {\n const user = getCurrentUserName(state);\n if (user) {\n return {\n ...filter,\n user,\n };\n }\n }\n return {\n ...filter,\n user: undefined,\n };\n}\n"],"mappings":";;;AAAA,SAAQA,cAAc,QAAO,UAAU;AAEvC,SAAQC,kBAAkB,QAAO,oCAAoC;AAErE,SAAQC,eAAe,QAAO,mBAAmB;AACjD,SAAQC,wBAAwB,QAAO,SAAS;AAEhD,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,KAAgB;EAAA,OAAKA,KAAK,CAACC,YAAY,CAACC,IAAI;AAAA;AAEhF,OAAO,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIH,KAAgB;EAAA,OACjDD,mBAAmB,CAACC,KAAK,CAAC,CAACA,KAAK,KAAK,SAAS;AAAA;AAElD,OAAO,IAAMI,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIJ,KAAgB;EAAA,OAAKD,mBAAmB,CAACC,KAAK,CAAC,CAACK,GAAG;AAAA;AAErF,OAAO,IAAMC,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAIN,KAAgB;EAAA,OAAKD,mBAAmB,CAACC,KAAK,CAAC,CAACO,SAAS;AAAA;AAEjG,OAAO,IAAMC,cAAc,GAAGb,cAAc,CAACS,iBAAiB,EAAE,UAACC,GAAG,EAAK;EACrE,OAAOI,MAAM,CAACC,MAAM,CAACL,GAAG,CAAC;AAC7B,CAAC,CAAC;AACF,OAAO,IAAMM,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIX,KAAgB;EAAA,OAAKD,mBAAmB,CAACC,KAAK,CAAC,CAACY,OAAO;AAAA;AAE1F,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIb,KAAgB;EAAA,OAAKD,mBAAmB,CAACC,KAAK,CAAC,CAACc,KAAK;AAAA;AAEzF,OAAO,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIf,KAAgB;EAAA,OAAKD,mBAAmB,CAACC,KAAK,CAAC,CAACgB,MAAM;AAAA;AACxF,OAAO,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIjB,KAAgB;EAAA,OAAKD,mBAAmB,CAACC,KAAK,CAAC,CAACkB,QAAQ;AAAA;AAE3F,OAAO,IAAMC,oBAAoB,GAAGxB,cAAc,CAC9C,CAACoB,iBAAiB,EAAEE,kBAAkB,CAAC,EACvC,UAACG,OAAO,EAAEF,QAAQ,EAAK;EAAA,IAAAG,iBAAA;EACnB,OAAO,EAAAA,iBAAA,GAAAD,OAAO,CAACF,QAAQ,CAAC,cAAAG,iBAAA,uBAAjBA,iBAAA,CAAmBL,MAAM,KAAI,CAAC,CAAC;AAC1C,CAAC,CACJ;AAED,OAAO,IAAMM,oBAAoB,GAAG3B,cAAc,CAC9C,CAACoB,iBAAiB,EAAEE,kBAAkB,CAAC,EACvC,UAACG,OAAO,EAAEF,QAAQ,EAAK;EAAA,IAAAK,kBAAA;EACnB,QAAAA,kBAAA,GAAOH,OAAO,CAACF,QAAQ,CAAC,cAAAK,kBAAA,uBAAjBA,kBAAA,CAAmBC,MAAM;AACpC,CAAC,CACJ;AAED,OAAO,IAAMC,mBAAmB,GAAG9B,cAAc,CAACa,cAAc,EAAE,UAACkB,KAAK,EAAK;EACzE,OAAOA,KAAK,CAACV,MAAM,CAACnB,eAAe,CAAC;AACxC,CAAC,CAAC;AAEF,OAAO,IAAM8B,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAI3B,KAAgB,EAAK;EAC5D,IAAMwB,MAAM,GAAGF,oBAAoB,CAACtB,KAAK,CAAC;EAC1C,IAAIwB,MAAM,EAAE;IACR,OAAO;MAACI,WAAW,EAAEJ,MAAM,CAACK,UAAU;MAAEC,gBAAgB,EAAEN,MAAM,CAACO;IAAS,CAAC;EAC/E;EAEA,OAAOC,SAAS;AACpB,CAAC;AAED,OAAO,SAASC,0BAA0BA,CAACjC,KAAgB,EAAqB;EAC5E,IAAMkB,QAAQ,GAAGD,kBAAkB,CAACjB,KAAK,CAAC;EAC1C,IAAMkC,YAAY,GAAAC,aAAA,CAAAA,aAAA,KACXhB,oBAAoB,CAACnB,KAAK,CAAC,GAC1BF,wBAAwB,CAACoB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAC/C;EACD,IAAOkB,WAAW,GAAeF,YAAY,CAAtCE,WAAW;IAAKpB,MAAM,GAAAqB,wBAAA,CAAIH,YAAY,EAAAI,SAAA;EAC7C,IAAIF,WAAW,EAAE;IACbpB,MAAM,CAACA,MAAM,gBAAgB;EACjC;EACA,IAAIA,MAAM,CAACuB,IAAI,KAAK,IAAI,EAAE;IACtB,IAAMA,IAAI,GAAG3C,kBAAkB,CAACI,KAAK,CAAC;IACtC,IAAIuC,IAAI,EAAE;MACN,OAAAJ,aAAA,CAAAA,aAAA,KACOnB,MAAM;QACTuB,IAAI,EAAJA;MAAI;IAEZ;EACJ;EACA,OAAAJ,aAAA,CAAAA,aAAA,KACOnB,MAAM;IACTuB,IAAI,EAAEP;EAAS;AAEvB"}
|
@@ -1,9 +1,22 @@
|
|
1
|
-
|
1
|
+
import { QueriesHistoryCursorDirection, QueryEngine } from '../api';
|
2
|
+
export declare enum QueriesListAuthorFilter {
|
2
3
|
All = "all",
|
3
4
|
My = "my"
|
4
5
|
}
|
5
|
-
export
|
6
|
-
|
7
|
-
|
6
|
+
export declare enum QueriesListMode {
|
7
|
+
History = "history",
|
8
|
+
Tutorials = "tutorials"
|
9
|
+
}
|
10
|
+
export declare const QueriesListModes: QueriesListMode[];
|
11
|
+
export declare const QueriesListFilterPresets: Record<QueriesListMode, Partial<QueriesListFilter>>;
|
12
|
+
export declare const DefaultQueriesListFilter: Record<QueriesListMode, Partial<QueriesListFilter>>;
|
13
|
+
export type QueriesListFilter = {
|
14
|
+
user?: QueriesListAuthorFilter;
|
15
|
+
engine?: QueryEngine;
|
8
16
|
filter?: string;
|
17
|
+
is_tutorial?: boolean;
|
18
|
+
};
|
19
|
+
export type QueriesListCursor = {
|
20
|
+
cursorTime: string;
|
21
|
+
direction: QueriesHistoryCursorDirection;
|
9
22
|
};
|
@@ -1,6 +1,22 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
2
|
+
var _QueriesListFilterPre, _DefaultQueriesListFi;
|
3
|
+
export var QueriesListAuthorFilter;
|
4
|
+
(function (QueriesListAuthorFilter) {
|
5
|
+
QueriesListAuthorFilter["All"] = "all";
|
6
|
+
QueriesListAuthorFilter["My"] = "my";
|
7
|
+
})(QueriesListAuthorFilter || (QueriesListAuthorFilter = {}));
|
8
|
+
export var QueriesListMode;
|
9
|
+
(function (QueriesListMode) {
|
10
|
+
QueriesListMode["History"] = "history";
|
11
|
+
QueriesListMode["Tutorials"] = "tutorials";
|
12
|
+
})(QueriesListMode || (QueriesListMode = {}));
|
13
|
+
export var QueriesListModes = Object.values(QueriesListMode);
|
14
|
+
export var QueriesListFilterPresets = (_QueriesListFilterPre = {}, _defineProperty(_QueriesListFilterPre, QueriesListMode.History, {
|
15
|
+
is_tutorial: false
|
16
|
+
}), _defineProperty(_QueriesListFilterPre, QueriesListMode.Tutorials, {
|
17
|
+
is_tutorial: true
|
18
|
+
}), _QueriesListFilterPre);
|
19
|
+
export var DefaultQueriesListFilter = (_DefaultQueriesListFi = {}, _defineProperty(_DefaultQueriesListFi, QueriesListMode.History, {
|
20
|
+
user: QueriesListAuthorFilter.My
|
21
|
+
}), _defineProperty(_DefaultQueriesListFi, QueriesListMode.Tutorials, {}), _DefaultQueriesListFi);
|
6
22
|
// #sourceMappingURL=types.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["QueriesListAuthorFilter","QueriesListMode","QueriesListModes","Object","values","QueriesListFilterPresets","_QueriesListFilterPre","_defineProperty","History","is_tutorial","Tutorials","DefaultQueriesListFilter","_DefaultQueriesListFi","user","My"],"sources":["types.ts"],"sourcesContent":["import {QueriesHistoryCursorDirection, QueryEngine} from '../api';\n\nexport enum QueriesListAuthorFilter {\n All = 'all',\n My = 'my',\n}\n\nexport enum QueriesListMode {\n History = 'history',\n Tutorials = 'tutorials',\n}\n\nexport const QueriesListModes = Object.values(QueriesListMode);\n\nexport const QueriesListFilterPresets: Record<QueriesListMode, Partial<QueriesListFilter>> = {\n [QueriesListMode.History]: {\n is_tutorial: false,\n },\n [QueriesListMode.Tutorials]: {\n is_tutorial: true,\n },\n};\n\nexport const DefaultQueriesListFilter: Record<QueriesListMode, Partial<QueriesListFilter>> = {\n [QueriesListMode.History]: {\n user: QueriesListAuthorFilter.My,\n },\n [QueriesListMode.Tutorials]: {},\n};\n\nexport type QueriesListFilter = {\n user?: QueriesListAuthorFilter;\n engine?: QueryEngine;\n filter?: string;\n is_tutorial?: boolean;\n};\n\nexport type QueriesListCursor = {\n cursorTime: string;\n direction: QueriesHistoryCursorDirection;\n};\n"],"mappings":";;AAEA,WAAYA,uBAAuB;AAGlC,WAHWA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;AAAA,GAAvBA,uBAAuB,KAAvBA,uBAAuB;AAKnC,WAAYC,eAAe;AAG1B,WAHWA,eAAe;EAAfA,eAAe;EAAfA,eAAe;AAAA,GAAfA,eAAe,KAAfA,eAAe;AAK3B,OAAO,IAAMC,gBAAgB,GAAGC,MAAM,CAACC,MAAM,CAACH,eAAe,CAAC;AAE9D,OAAO,IAAMI,wBAA6E,IAAAC,qBAAA,OAAAC,eAAA,CAAAD,qBAAA,EACrFL,eAAe,CAACO,OAAO,EAAG;EACvBC,WAAW,EAAE;AACjB,CAAC,GAAAF,eAAA,CAAAD,qBAAA,EACAL,eAAe,CAACS,SAAS,EAAG;EACzBD,WAAW,EAAE;AACjB,CAAC,GAAAH,qBAAA,CACJ;AAED,OAAO,IAAMK,wBAA6E,IAAAC,qBAAA,OAAAL,eAAA,CAAAK,qBAAA,EACrFX,eAAe,CAACO,OAAO,EAAG;EACvBK,IAAI,EAAEb,uBAAuB,CAACc;AAClC,CAAC,GAAAP,eAAA,CAAAK,qBAAA,EACAX,eAAe,CAACS,SAAS,EAAG,CAAC,CAAC,GAAAE,qBAAA,CAClC"}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
2
2
|
import { QueryEngine } from '../api';
|
3
3
|
import { REQUEST_QUERY, SET_QUERY, SET_QUERY_LOAD_ERROR, SET_QUERY_PATCH, UPDATE_QUERY } from './actions';
|
4
|
+
import { cleanupQueryForDraft } from './utills';
|
4
5
|
var initialQueryDraftState = {
|
5
6
|
engine: QueryEngine.YQL,
|
6
7
|
query: '',
|
@@ -20,7 +21,7 @@ export function reducer() {
|
|
20
21
|
{
|
21
22
|
return _objectSpread(_objectSpread({}, state), {}, {
|
22
23
|
queryItem: action.data.initialQuery,
|
23
|
-
draft: _objectSpread(_objectSpread({}, initialQueryDraftState), action.data.initialQuery),
|
24
|
+
draft: _objectSpread(_objectSpread({}, initialQueryDraftState), action.data.initialQuery ? cleanupQueryForDraft(action.data.initialQuery) : {}),
|
24
25
|
state: 'ready'
|
25
26
|
});
|
26
27
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["QueryEngine","REQUEST_QUERY","SET_QUERY","SET_QUERY_LOAD_ERROR","SET_QUERY_PATCH","UPDATE_QUERY","initialQueryDraftState","engine","YQL","query","settings","initState","queryItem","undefined","draft","_objectSpread","params","state","reducer","arguments","length","action","type","data","initialQuery"],"sources":["reducer.ts"],"sourcesContent":["import {DraftQuery, QueryEngine, QueryItem} from '../api';\nimport {\n RequestQueryAction,\n REQUEST_QUERY,\n SetQueryAction,\n SetQueryErrorLoadAction,\n SetQueryPatchAction,\n SET_QUERY,\n SET_QUERY_LOAD_ERROR,\n SET_QUERY_PATCH,\n UPDATE_QUERY,\n UpdateQueryAction,\n} from './actions';\n\nexport interface QueryState {\n queryItem?: QueryItem;\n draft: DraftQuery;\n params: {\n engine?: string;\n path?: string;\n cluster?: string;\n };\n state: 'init' | 'loading' | 'ready' | 'error';\n}\n\nconst initialQueryDraftState: QueryState['draft'] = {\n engine: QueryEngine.YQL,\n query: '',\n settings: {},\n};\n\nconst initState: QueryState = {\n queryItem: undefined,\n draft: {...initialQueryDraftState},\n params: {},\n state: 'init',\n};\n\nexport function reducer(state = initState, action: Actions): QueryState {\n switch (action.type) {\n case SET_QUERY: {\n return {\n ...state,\n queryItem: action.data.initialQuery,\n draft: {\n ...initialQueryDraftState,\n ...action.data.initialQuery,\n },\n state: 'ready',\n };\n }\n case UPDATE_QUERY: {\n return {\n ...state,\n queryItem: action.data,\n };\n }\n case REQUEST_QUERY: {\n return {\n ...state,\n state: 'loading',\n };\n }\n case SET_QUERY_LOAD_ERROR: {\n return {\n ...state,\n state: 'error',\n };\n }\n case SET_QUERY_PATCH: {\n return {\n ...state,\n draft: {\n ...state.draft,\n ...action.data,\n },\n };\n }\n }\n return state;\n}\n\ntype Actions =\n | SetQueryAction\n | RequestQueryAction\n | SetQueryErrorLoadAction\n | SetQueryPatchAction\n | UpdateQueryAction;\n"],"mappings":";AAAA,SAAoBA,WAAW,QAAkB,QAAQ;AACzD,SAEIC,aAAa,EAIbC,SAAS,EACTC,oBAAoB,EACpBC,eAAe,EACfC,YAAY,QAET,WAAW;
|
1
|
+
{"version":3,"names":["QueryEngine","REQUEST_QUERY","SET_QUERY","SET_QUERY_LOAD_ERROR","SET_QUERY_PATCH","UPDATE_QUERY","cleanupQueryForDraft","initialQueryDraftState","engine","YQL","query","settings","initState","queryItem","undefined","draft","_objectSpread","params","state","reducer","arguments","length","action","type","data","initialQuery"],"sources":["reducer.ts"],"sourcesContent":["import {DraftQuery, QueryEngine, QueryItem} from '../api';\nimport {\n RequestQueryAction,\n REQUEST_QUERY,\n SetQueryAction,\n SetQueryErrorLoadAction,\n SetQueryPatchAction,\n SET_QUERY,\n SET_QUERY_LOAD_ERROR,\n SET_QUERY_PATCH,\n UPDATE_QUERY,\n UpdateQueryAction,\n} from './actions';\nimport {cleanupQueryForDraft} from './utills';\n\nexport interface QueryState {\n queryItem?: QueryItem;\n draft: DraftQuery;\n params: {\n engine?: string;\n path?: string;\n cluster?: string;\n };\n state: 'init' | 'loading' | 'ready' | 'error';\n}\n\nconst initialQueryDraftState: QueryState['draft'] = {\n engine: QueryEngine.YQL,\n query: '',\n settings: {},\n};\n\nconst initState: QueryState = {\n queryItem: undefined,\n draft: {...initialQueryDraftState},\n params: {},\n state: 'init',\n};\n\nexport function reducer(state = initState, action: Actions): QueryState {\n switch (action.type) {\n case SET_QUERY: {\n return {\n ...state,\n queryItem: action.data.initialQuery,\n draft: {\n ...initialQueryDraftState,\n ...(action.data.initialQuery\n ? cleanupQueryForDraft(action.data.initialQuery)\n : {}),\n },\n state: 'ready',\n };\n }\n case UPDATE_QUERY: {\n return {\n ...state,\n queryItem: action.data,\n };\n }\n case REQUEST_QUERY: {\n return {\n ...state,\n state: 'loading',\n };\n }\n case SET_QUERY_LOAD_ERROR: {\n return {\n ...state,\n state: 'error',\n };\n }\n case SET_QUERY_PATCH: {\n return {\n ...state,\n draft: {\n ...state.draft,\n ...action.data,\n },\n };\n }\n }\n return state;\n}\n\ntype Actions =\n | SetQueryAction\n | RequestQueryAction\n | SetQueryErrorLoadAction\n | SetQueryPatchAction\n | UpdateQueryAction;\n"],"mappings":";AAAA,SAAoBA,WAAW,QAAkB,QAAQ;AACzD,SAEIC,aAAa,EAIbC,SAAS,EACTC,oBAAoB,EACpBC,eAAe,EACfC,YAAY,QAET,WAAW;AAClB,SAAQC,oBAAoB,QAAO,UAAU;AAa7C,IAAMC,sBAA2C,GAAG;EAChDC,MAAM,EAAER,WAAW,CAACS,GAAG;EACvBC,KAAK,EAAE,EAAE;EACTC,QAAQ,EAAE,CAAC;AACf,CAAC;AAED,IAAMC,SAAqB,GAAG;EAC1BC,SAAS,EAAEC,SAAS;EACpBC,KAAK,EAAAC,aAAA,KAAMT,sBAAsB,CAAC;EAClCU,MAAM,EAAE,CAAC,CAAC;EACVC,KAAK,EAAE;AACX,CAAC;AAED,OAAO,SAASC,OAAOA,CAAA,EAAiD;EAAA,IAAhDD,KAAK,GAAAE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAN,SAAA,GAAAM,SAAA,MAAGR,SAAS;EAAA,IAAEU,MAAe,GAAAF,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAN,SAAA;EACtD,QAAQQ,MAAM,CAACC,IAAI;IACf,KAAKrB,SAAS;MAAE;QACZ,OAAAc,aAAA,CAAAA,aAAA,KACOE,KAAK;UACRL,SAAS,EAAES,MAAM,CAACE,IAAI,CAACC,YAAY;UACnCV,KAAK,EAAAC,aAAA,CAAAA,aAAA,KACET,sBAAsB,GACrBe,MAAM,CAACE,IAAI,CAACC,YAAY,GACtBnB,oBAAoB,CAACgB,MAAM,CAACE,IAAI,CAACC,YAAY,CAAC,GAC9C,CAAC,CAAC,CACX;UACDP,KAAK,EAAE;QAAO;MAEtB;IACA,KAAKb,YAAY;MAAE;QACf,OAAAW,aAAA,CAAAA,aAAA,KACOE,KAAK;UACRL,SAAS,EAAES,MAAM,CAACE;QAAI;MAE9B;IACA,KAAKvB,aAAa;MAAE;QAChB,OAAAe,aAAA,CAAAA,aAAA,KACOE,KAAK;UACRA,KAAK,EAAE;QAAS;MAExB;IACA,KAAKf,oBAAoB;MAAE;QACvB,OAAAa,aAAA,CAAAA,aAAA,KACOE,KAAK;UACRA,KAAK,EAAE;QAAO;MAEtB;IACA,KAAKd,eAAe;MAAE;QAClB,OAAAY,aAAA,CAAAA,aAAA,KACOE,KAAK;UACRH,KAAK,EAAAC,aAAA,CAAAA,aAAA,KACEE,KAAK,CAACH,KAAK,GACXO,MAAM,CAACE,IAAI;QACjB;MAET;EAAC;EAEL,OAAON,KAAK;AAChB"}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { QueryStatus } from '../api';
|
1
2
|
var getState = function getState(state) {
|
2
3
|
return state.queryTracker.query;
|
3
4
|
};
|
@@ -22,7 +23,7 @@ export var isQueryLoading = function isQueryLoading(state) {
|
|
22
23
|
export var isQueryExecuted = function isQueryExecuted(state) {
|
23
24
|
var queryItem = getState(state).queryItem;
|
24
25
|
// TODO: Use real query's state
|
25
|
-
return Boolean(queryItem === null || queryItem === void 0 ? void 0 : queryItem.id);
|
26
|
+
return Boolean(queryItem === null || queryItem === void 0 ? void 0 : queryItem.id) && (queryItem === null || queryItem === void 0 ? void 0 : queryItem.state) !== QueryStatus.DRAFT;
|
26
27
|
};
|
27
28
|
export var getCurrentQuery = function getCurrentQuery(state) {
|
28
29
|
return getState(state).queryItem;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["getState","state","queryTracker","query","getQuery","queryItem","getQueryGetParams","params","getQueryDraft","draft","getQueryText","getQueryEngine","engine","isQueryLoading","isQueryExecuted","Boolean","id","getCurrentQuery"],"sources":["selectors.ts"],"sourcesContent":["import {RootState} from '../../../../store/reducers';\n\nconst getState = (state: RootState) => state.queryTracker.query;\n\nexport const getQuery = (state: RootState) => getState(state).queryItem;\nexport const getQueryGetParams = (state: RootState) => getState(state).params;\n\nexport const getQueryDraft = (state: RootState) => getState(state).draft;\n\nexport const getQueryText = (state: RootState) => getState(state).draft.query;\n\nexport const getQueryEngine = (state: RootState) => getState(state).draft.engine;\n\nexport const isQueryLoading = (state: RootState) => getState(state).state === 'loading';\n\nexport const isQueryExecuted = (state: RootState): boolean => {\n const queryItem = getState(state).queryItem;\n // TODO: Use real query's state\n return Boolean(queryItem?.id);\n};\n\nexport const getCurrentQuery = (state: RootState) => getState(state).queryItem;\n"],"mappings":"
|
1
|
+
{"version":3,"names":["QueryStatus","getState","state","queryTracker","query","getQuery","queryItem","getQueryGetParams","params","getQueryDraft","draft","getQueryText","getQueryEngine","engine","isQueryLoading","isQueryExecuted","Boolean","id","DRAFT","getCurrentQuery"],"sources":["selectors.ts"],"sourcesContent":["import {RootState} from '../../../../store/reducers';\nimport {QueryStatus} from '../api';\n\nconst getState = (state: RootState) => state.queryTracker.query;\n\nexport const getQuery = (state: RootState) => getState(state).queryItem;\nexport const getQueryGetParams = (state: RootState) => getState(state).params;\n\nexport const getQueryDraft = (state: RootState) => getState(state).draft;\n\nexport const getQueryText = (state: RootState) => getState(state).draft.query;\n\nexport const getQueryEngine = (state: RootState) => getState(state).draft.engine;\n\nexport const isQueryLoading = (state: RootState) => getState(state).state === 'loading';\n\nexport const isQueryExecuted = (state: RootState): boolean => {\n const queryItem = getState(state).queryItem;\n // TODO: Use real query's state\n return Boolean(queryItem?.id) && queryItem?.state !== QueryStatus.DRAFT;\n};\n\nexport const getCurrentQuery = (state: RootState) => getState(state).queryItem;\n"],"mappings":"AACA,SAAQA,WAAW,QAAO,QAAQ;AAElC,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,KAAgB;EAAA,OAAKA,KAAK,CAACC,YAAY,CAACC,KAAK;AAAA;AAE/D,OAAO,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAIH,KAAgB;EAAA,OAAKD,QAAQ,CAACC,KAAK,CAAC,CAACI,SAAS;AAAA;AACvE,OAAO,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIL,KAAgB;EAAA,OAAKD,QAAQ,CAACC,KAAK,CAAC,CAACM,MAAM;AAAA;AAE7E,OAAO,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAIP,KAAgB;EAAA,OAAKD,QAAQ,CAACC,KAAK,CAAC,CAACQ,KAAK;AAAA;AAExE,OAAO,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIT,KAAgB;EAAA,OAAKD,QAAQ,CAACC,KAAK,CAAC,CAACQ,KAAK,CAACN,KAAK;AAAA;AAE7E,OAAO,IAAMQ,cAAc,GAAG,SAAjBA,cAAcA,CAAIV,KAAgB;EAAA,OAAKD,QAAQ,CAACC,KAAK,CAAC,CAACQ,KAAK,CAACG,MAAM;AAAA;AAEhF,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAIZ,KAAgB;EAAA,OAAKD,QAAQ,CAACC,KAAK,CAAC,CAACA,KAAK,KAAK,SAAS;AAAA;AAEvF,OAAO,IAAMa,eAAe,GAAG,SAAlBA,eAAeA,CAAIb,KAAgB,EAAc;EAC1D,IAAMI,SAAS,GAAGL,QAAQ,CAACC,KAAK,CAAC,CAACI,SAAS;EAC3C;EACA,OAAOU,OAAO,CAACV,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEW,EAAE,CAAC,IAAI,CAAAX,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEJ,KAAK,MAAKF,WAAW,CAACkB,KAAK;AAC3E,CAAC;AAED,OAAO,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAIjB,KAAgB;EAAA,OAAKD,QAAQ,CAACC,KAAK,CAAC,CAACI,SAAS;AAAA"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
2
|
+
import _omit from "lodash/omit";
|
3
|
+
export var cleanupQueryForDraft = function cleanupQueryForDraft(query) {
|
4
|
+
return _objectSpread(_objectSpread({}, query), {}, {
|
5
|
+
annotations: _omit(query.annotations, 'is_tutorial')
|
6
|
+
});
|
7
|
+
};
|
8
|
+
// #sourceMappingURL=utills.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["cleanupQueryForDraft","query","_objectSpread","annotations","_omit"],"sources":["utills.ts"],"sourcesContent":["import {omit} from 'lodash';\nimport {QueryItem} from '../api';\n\nexport const cleanupQueryForDraft = (query: QueryItem): QueryItem => {\n return {\n ...query,\n annotations: omit(query.annotations, 'is_tutorial'),\n };\n};\n"],"mappings":";;AAGA,OAAO,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,KAAgB,EAAgB;EACjE,OAAAC,aAAA,CAAAA,aAAA,KACOD,KAAK;IACRE,WAAW,EAAEC,KAAA,CAAKH,KAAK,CAACE,WAAW,EAAE,aAAa;EAAC;AAE3D,CAAC"}
|
package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js
CHANGED
@@ -13,7 +13,7 @@ import { Info } from '../../../../components/Info/Info';
|
|
13
13
|
import { BundleParamsList } from './components/BundleParamsList/BundleParamsList';
|
14
14
|
import Dialog, { FORM_ERROR, DialogError } from '../../../../components/Dialog/Dialog';
|
15
15
|
import hammer from '../../../../common/hammer';
|
16
|
-
import { isDeveloper } from '../../../../store/selectors/global';
|
16
|
+
import { getClusterUiConfig, isDeveloper } from '../../../../store/selectors/global';
|
17
17
|
import { hideTabletCellBundleEditor, setBundleEditorController } from '../../../../store/actions/tablet_cell_bundles/tablet-cell-bundle-editor';
|
18
18
|
import { getBundleEditorData } from '../../../../store/selectors/tablet_cell_bundles';
|
19
19
|
import { getTabletCellBundleEditorState } from '../../../../store/selectors/tablet_cell_bundles/tablet-cell-bundle-editor';
|
@@ -30,6 +30,7 @@ export function BundleEditorDialog() {
|
|
30
30
|
bundleData = _useSelector.bundleData,
|
31
31
|
data = _useSelector.data,
|
32
32
|
orchidData = _useSelector.bundleControllerData;
|
33
|
+
var clusterUiConfig = useSelector(getClusterUiConfig);
|
33
34
|
var _useSelector2 = useSelector(getBundleEditorData),
|
34
35
|
bundleDefaultConfig = _useSelector2.defaultConfig;
|
35
36
|
var bundleControllerConfig = bundleData === null || bundleData === void 0 ? void 0 : bundleData.bundle_controller_target_config;
|
@@ -75,7 +76,7 @@ export function BundleEditorDialog() {
|
|
75
76
|
}]), [{
|
76
77
|
name: 'changelog_account',
|
77
78
|
type: 'accounts-suggest-with-loading',
|
78
|
-
caption: '
|
79
|
+
caption: 'Changelog account',
|
79
80
|
extras: {
|
80
81
|
allowRootAccount: true,
|
81
82
|
disabled: !allowEdit
|
@@ -83,7 +84,7 @@ export function BundleEditorDialog() {
|
|
83
84
|
}, {
|
84
85
|
name: 'snapshot_account',
|
85
86
|
type: 'accounts-suggest-with-loading',
|
86
|
-
caption: '
|
87
|
+
caption: 'Snapshot account',
|
87
88
|
extras: {
|
88
89
|
allowRootAccount: true,
|
89
90
|
disabled: !allowEdit
|
@@ -103,7 +104,8 @@ export function BundleEditorDialog() {
|
|
103
104
|
children: /*#__PURE__*/_jsxs(Info, {
|
104
105
|
className: block('info'),
|
105
106
|
children: [UIFactory.renderTableCellBundleEditorNotice({
|
106
|
-
bundleData: bundleData
|
107
|
+
bundleData: bundleData,
|
108
|
+
clusterUiConfig: clusterUiConfig
|
107
109
|
}), /*#__PURE__*/_jsx(BundleParamsList, {
|
108
110
|
className: block('params'),
|
109
111
|
params: [{
|
@@ -133,7 +135,7 @@ export function BundleEditorDialog() {
|
|
133
135
|
}, {
|
134
136
|
type: 'bundle-input',
|
135
137
|
name: 'rpc_proxy_count',
|
136
|
-
caption: '
|
138
|
+
caption: 'RPC proxy count',
|
137
139
|
extras: {
|
138
140
|
format: 'Number',
|
139
141
|
withoutDetailedBar: true,
|
@@ -336,7 +338,7 @@ export function BundleEditorDialog() {
|
|
336
338
|
};
|
337
339
|
var renderThreadPoolTab = {
|
338
340
|
name: 'cpu_limits',
|
339
|
-
title: 'Thread
|
341
|
+
title: 'Thread pools',
|
340
342
|
type: 'tab-vertical',
|
341
343
|
size: 's',
|
342
344
|
visibilityCondition: {
|
package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","useDispatch","useSelector","cn","Info","BundleParamsList","Dialog","FORM_ERROR","DialogError","hammer","isDeveloper","hideTabletCellBundleEditor","setBundleEditorController","getBundleEditorData","getTabletCellBundleEditorState","bundleEditorDict","createConfigurationList","createParams","getInitialFormValues","getResource","getResourceData","prepareSubmitBundle","simpleBundleValidate","UIFactory","isAbcAllowed","jsx","_jsx","jsxs","_jsxs","block","BundleEditorDialog","_useSelector","visibleEditor","bundleName","bundleData","data","orchidData","bundleControllerData","_useSelector2","bundleDefaultConfig","defaultConfig","bundleControllerConfig","bundle_controller_target_config","enableBundleController","enable_bundle_controller","_getResourceData","tabletCountUsage","usage","_getResourceData2","tabletStaticMemoryUsage","allowEdit","initialValues","_ref","rpc_proxy_sizes","tablet_node_sizes","_ref2","_slicedToArray","rpcConfigurations","nodeConfigurations","renderGeneralTabs","name","title","type","size","fields","concat","_toConsumableArray","caption","extras","placeholder","disabled","allowRootAccount","renderResourceTab","fullWidth","children","className","renderTableCellBundleEditorNotice","params","value","format","resource_quota","memory","vcpu","withoutDetailedBar","progress","validator","section","hasClear","values","form","onRadioClick","nodeConfigurationType","defaultMemory","default_config","memory_limits","defaultThreadPool","cpu_limits","resultMemory","resultThreadPool","change","_objectSpread","defaults","renderSimpleResourceTab","renderMemoryTab","visibilityCondition","when","isActive","v","allValues","_allValues$resources","tablet_node_resource_guarantee","resources","onReset","used","keys","reduce","sum","k","_allValues$memory_lim","undefined","hasError","_get","errorText","validateMemoryLimits","header","message","renderThreadPoolTab","_allValues$resources2","postfix","push","dispatch","onClose","onSubmit","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","preparedData","wrap","_callee$","_context","prev","next","abrupt","t0","validationErrors","_defineProperty","error","stop","_x","apply","arguments","_isEmpty","headerProps","visible","onAdd","_values$resources","_values$resources$tab","memoryLimits","currentAccLimit","Object","acc"],"sources":["BundleEditorDialog.tsx"],"sourcesContent":["import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport cn from 'bem-cn-lite';\nimport _ from 'lodash';\n\nimport {Info} from '../../../../components/Info/Info';\nimport {BundleParamsList} from './components/BundleParamsList/BundleParamsList';\nimport Dialog, {\n FormApi,\n FORM_ERROR,\n DialogError,\n DialogField,\n DialogTabField,\n} from '../../../../components/Dialog/Dialog';\nimport hammer from '../../../../common/hammer';\n\nimport {isDeveloper} from '../../../../store/selectors/global';\nimport {\n hideTabletCellBundleEditor,\n setBundleEditorController,\n} from '../../../../store/actions/tablet_cell_bundles/tablet-cell-bundle-editor';\nimport {getBundleEditorData} from '../../../../store/selectors/tablet_cell_bundles';\nimport {BundleResourceGuarantee} from '../../../../store/reducers/tablet_cell_bundles';\nimport {getTabletCellBundleEditorState} from '../../../../store/selectors/tablet_cell_bundles/tablet-cell-bundle-editor';\n\nimport {\n bundleEditorDict,\n createConfigurationList,\n createParams,\n getInitialFormValues,\n getResource,\n getResourceData,\n prepareSubmitBundle,\n simpleBundleValidate,\n} from '../../../../utils/tablet_cell_bundles/bundles/bundle-editor-dialog';\nimport UIFactory, {isAbcAllowed} from '../../../../UIFactory';\n\nimport './BundleEditorDialog.scss';\n\nconst block = cn('bundle-editor');\n\nexport interface BundleEditorDialogFormValues {\n general?: {\n abc?: {slug: string; id?: number};\n changelog_account?: string;\n snapshot_account?: string;\n };\n resources?: {\n info?: string; // system\n rpc_proxy_count?: number; // todo\n rpc_proxy_resource_guarantee?: BundleResourceGuarantee;\n tablet_node_count?: number;\n tablet_node_resource_guarantee?: BundleResourceGuarantee;\n tablet_count?: number; // old\n tablet_static_memory?: number; // pld\n };\n memory_limits?: {\n error?: boolean; // system\n memory_reset: boolean; // system\n tablet_static?: number;\n tablet_dynamic?: number;\n compressed_block_cache?: number;\n uncompressed_block_cache?: number;\n versioned_chunk_meta?: number;\n lookup_row_cache?: number;\n };\n cpu_limits?: {\n threadPool_reset?: boolean; //system\n lookup_thread_pool_size?: number;\n query_thread_pool_size?: number;\n write_thread_pool_size?: number;\n };\n}\n\nexport function BundleEditorDialog() {\n const {\n visibleEditor,\n bundleName,\n bundleData,\n data,\n bundleControllerData: orchidData,\n } = useSelector(getTabletCellBundleEditorState);\n const {defaultConfig: bundleDefaultConfig} = useSelector(getBundleEditorData);\n\n const bundleControllerConfig = bundleData?.bundle_controller_target_config;\n const enableBundleController = bundleData?.enable_bundle_controller || false;\n\n const {usage: tabletCountUsage} = getResourceData(data, 'tablet_count');\n const {usage: tabletStaticMemoryUsage} = getResourceData(data, 'tablet_static_memory');\n\n const allowEdit = useSelector(isDeveloper);\n\n const initialValues: BundleEditorDialogFormValues = (() => {\n if (!enableBundleController) {\n return getInitialFormValues(data);\n }\n if (!bundleControllerConfig) {\n return {};\n }\n return getInitialFormValues(data, bundleControllerConfig);\n })();\n\n const [rpcConfigurations, nodeConfigurations] = (() => {\n if (!bundleDefaultConfig) {\n return [[], []];\n }\n const {rpc_proxy_sizes, tablet_node_sizes} = bundleDefaultConfig;\n\n return [\n createConfigurationList(rpc_proxy_sizes),\n createConfigurationList(tablet_node_sizes),\n ];\n })();\n\n const renderGeneralTabs: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'general',\n title: 'General',\n type: 'tab-vertical',\n size: 's',\n fields: [\n ...(!isAbcAllowed()\n ? []\n : [\n {\n name: 'abc',\n type: 'abc-control' as const,\n caption: 'ABC Service',\n extras: {\n placeholder: 'Select ABC service...',\n disabled: !allowEdit,\n },\n },\n ]),\n {\n name: 'changelog_account',\n type: 'accounts-suggest-with-loading',\n caption: 'Changelog_account account',\n extras: {\n allowRootAccount: true,\n disabled: !allowEdit,\n },\n },\n {\n name: 'snapshot_account',\n type: 'accounts-suggest-with-loading',\n caption: 'Snapshot_account account',\n extras: {\n allowRootAccount: true,\n disabled: !allowEdit,\n },\n },\n ],\n };\n\n const renderResourceTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'resources',\n title: 'Resources',\n type: 'tab-vertical',\n size: 's',\n fields: [\n {\n name: 'info',\n type: 'block',\n fullWidth: true,\n extras: {\n children: (\n <Info className={block('info')}>\n {UIFactory.renderTableCellBundleEditorNotice({bundleData})}\n <BundleParamsList\n className={block('params')}\n params={[\n {\n title: 'Memory',\n value: hammer.format['Bytes'](\n orchidData?.resource_quota.memory || '0',\n ),\n },\n {\n title: 'vCPU',\n value: hammer.format['vCores'](\n orchidData?.resource_quota.vcpu || '0',\n ),\n },\n ]}\n />\n </Info>\n ),\n },\n },\n {\n name: 'tablet_count',\n type: 'bundle-input',\n caption: 'Tablet count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n progress: {\n usage: tabletCountUsage,\n },\n },\n validator: simpleBundleValidate,\n },\n {section: 'RPC proxy'},\n {\n type: 'bundle-input',\n name: 'rpc_proxy_count',\n caption: 'Rpc proxy count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n type: 'bundle-table-field',\n name: 'rpc_proxy_resource_guarantee',\n caption: 'Instance configuration',\n fullWidth: true,\n extras: {\n data: rpcConfigurations,\n },\n },\n {section: 'Tablet node'},\n {\n type: 'bundle-input',\n name: 'tablet_node_count',\n caption: 'Tablet node count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n type: 'bundle-table-field',\n name: 'tablet_node_resource_guarantee',\n caption: 'Instance configuration',\n fullWidth: true,\n extras: function (values, form) {\n const onRadioClick = (value: BundleResourceGuarantee) => {\n const nodeConfigurationType = value.type || '';\n\n const defaultMemory =\n bundleDefaultConfig?.tablet_node_sizes[nodeConfigurationType]\n .default_config.memory_limits || {};\n const defaultThreadPool =\n bundleDefaultConfig?.tablet_node_sizes[nodeConfigurationType]\n .default_config.cpu_limits || {};\n\n const resultMemory = getResource(\n values.memory_limits,\n defaultMemory,\n 'memory_limits',\n );\n const resultThreadPool = getResource(\n values.cpu_limits,\n defaultThreadPool,\n 'cpu_limits',\n );\n\n form.change('memory_limits', {\n ...bundleEditorDict.defaults.memory_limits,\n ...resultMemory,\n });\n form.change('cpu_limits', {\n ...bundleEditorDict.defaults.cpu_limits,\n ...resultThreadPool,\n });\n };\n\n return {\n data: nodeConfigurations,\n onRadioClick,\n };\n },\n },\n ],\n };\n\n const renderSimpleResourceTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'resources',\n title: 'Resources',\n type: 'tab-vertical',\n size: 's',\n fields: [\n {\n name: 'tablet_count',\n type: 'bundle-input',\n caption: 'Tablet count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n progress: {\n usage: tabletCountUsage,\n },\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'tablet_static_memory',\n type: 'bundle-input',\n caption: 'Tablet static memory',\n extras: {\n format: 'Bytes',\n progress: {\n usage: tabletStaticMemoryUsage,\n },\n },\n validator: simpleBundleValidate,\n },\n ],\n };\n\n const renderMemoryTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'memory_limits',\n title: 'Memory',\n type: 'tab-vertical',\n size: 's',\n visibilityCondition: {\n when: 'resources.tablet_node_resource_guarantee',\n isActive: (v) => typeof v !== 'undefined',\n },\n fields: [\n {\n name: 'memory_reset',\n type: 'bundle-title',\n caption: 'Memory',\n extras: (allValues, form) => {\n const tablet_node_resource_guarantee =\n allValues.resources?.tablet_node_resource_guarantee;\n\n const onReset = () => {\n if (\n !tablet_node_resource_guarantee ||\n !tablet_node_resource_guarantee.type ||\n !bundleDefaultConfig\n ) {\n return;\n }\n const type = tablet_node_resource_guarantee.type;\n const {tablet_node_sizes} = bundleDefaultConfig;\n const {memory_limits} = tablet_node_sizes[type].default_config;\n\n form.change('memory_limits', {\n ...bundleEditorDict.defaults.memory_limits,\n ...memory_limits,\n });\n };\n\n if (!tablet_node_resource_guarantee) {\n return {\n params: [],\n onReset,\n };\n }\n const {memory} = tablet_node_resource_guarantee;\n\n const used = bundleEditorDict.keys.memory_limits.reduce((sum, k) => {\n return sum + (allValues?.memory_limits?.[k] || 0);\n }, 0);\n\n return {\n params: createParams('Bytes', memory, used),\n onReset,\n };\n },\n },\n {\n name: 'tablet_static',\n type: 'bundle-input',\n caption: 'Tablet static',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'tablet_dynamic',\n type: 'bundle-input',\n caption: 'Tablet dynamic',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'compressed_block_cache',\n type: 'bundle-input',\n caption: 'Compressed block cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'uncompressed_block_cache',\n type: 'bundle-input',\n caption: 'Uncompressed block cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'versioned_chunk_meta',\n type: 'bundle-input',\n caption: 'Versioned chunk meta',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'lookup_row_cache',\n type: 'bundle-input',\n caption: 'Lookup row cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n type: 'block',\n name: 'error',\n validator: (v: any) => (v ? v : undefined),\n extras(allValues, form) {\n const hasError = _.get(allValues, 'memory_limits.error');\n const errorText = validateMemoryLimits(allValues);\n\n if (errorText && !hasError) {\n form.change('memory_limits.error', true);\n } else if (!errorText && hasError) {\n form.change('memory_limits.error', false);\n }\n\n return {\n children: !errorText ? null : (\n <DialogError header={'Error'} message={<span>{errorText}</span>} />\n ),\n };\n },\n },\n ],\n };\n\n const renderThreadPoolTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'cpu_limits',\n title: 'Thread pool',\n type: 'tab-vertical',\n size: 's',\n visibilityCondition: {\n when: 'resources.tablet_node_resource_guarantee',\n isActive: (v) => typeof v !== 'undefined',\n },\n fields: [\n {\n name: 'threadPool_reset',\n type: 'bundle-title',\n caption: 'vCPU',\n extras: (allValues, form) => {\n const tablet_node_resource_guarantee =\n allValues.resources?.tablet_node_resource_guarantee;\n\n if (\n !tablet_node_resource_guarantee ||\n !tablet_node_resource_guarantee.type ||\n !bundleDefaultConfig\n ) {\n return {\n params: [],\n onReset: () => {},\n };\n }\n\n const onReset = () => {\n const type = tablet_node_resource_guarantee.type;\n if (!type) {\n return;\n }\n\n const {tablet_node_sizes} = bundleDefaultConfig;\n const {cpu_limits} = tablet_node_sizes[type].default_config;\n\n form.change('cpu_limits', {\n ...bundleEditorDict.defaults.cpu_limits,\n ...cpu_limits,\n });\n };\n\n const {vcpu} = tablet_node_resource_guarantee;\n\n return {\n params: createParams('vCores', vcpu),\n onReset,\n };\n },\n },\n {\n name: 'lookup_thread_pool_size',\n type: 'bundle-input',\n caption: 'Lookup thread pool size',\n extras: {\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'query_thread_pool_size',\n type: 'bundle-input',\n caption: 'Query thread pool size',\n extras: {\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'write_thread_pool_size',\n type: 'bundle-input',\n caption: 'Write thread pool size',\n extras: {\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n ],\n };\n\n const fields = [renderGeneralTabs];\n if (enableBundleController) {\n fields.push(renderResourceTab, renderMemoryTab, renderThreadPoolTab);\n } else {\n fields.push(renderSimpleResourceTab);\n }\n\n const dispatch = useDispatch();\n const onClose = () => {\n dispatch(hideTabletCellBundleEditor());\n };\n\n const onSubmit = async (form: FormApi<BundleEditorDialogFormValues>) => {\n if (!bundleName) {\n return {};\n }\n\n const preparedData = prepareSubmitBundle(form);\n\n try {\n await dispatch(\n setBundleEditorController({\n bundleName,\n data: preparedData,\n }),\n );\n return undefined;\n } catch (error) {\n return {\n validationErrors: {\n [FORM_ERROR]: <DialogError error={error} />,\n },\n };\n }\n };\n\n if (_.isEmpty(data)) {\n return null;\n }\n\n return (\n <Dialog<BundleEditorDialogFormValues>\n className={block('dialog')}\n headerProps={{\n title: bundleName,\n }}\n size=\"l\"\n initialValues={initialValues}\n visible={visibleEditor}\n onAdd={onSubmit}\n onClose={onClose}\n fields={fields}\n />\n );\n}\n\nfunction validateMemoryLimits(values: BundleEditorDialogFormValues) {\n if (values.resources?.tablet_node_resource_guarantee) {\n const memoryLimits = values.resources.tablet_node_resource_guarantee?.memory || 0;\n const currentAccLimit =\n Object.values(values.memory_limits || {}).reduce((acc: number, v: number | boolean) => {\n if (typeof v !== 'number') {\n return acc;\n }\n return acc + v;\n }, 0) || 0;\n\n if (currentAccLimit > memoryLimits) {\n return 'The sum of the memory limits exceeds the allowed values';\n }\n }\n\n return '';\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["React","useDispatch","useSelector","cn","Info","BundleParamsList","Dialog","FORM_ERROR","DialogError","hammer","getClusterUiConfig","isDeveloper","hideTabletCellBundleEditor","setBundleEditorController","getBundleEditorData","getTabletCellBundleEditorState","bundleEditorDict","createConfigurationList","createParams","getInitialFormValues","getResource","getResourceData","prepareSubmitBundle","simpleBundleValidate","UIFactory","isAbcAllowed","jsx","_jsx","jsxs","_jsxs","block","BundleEditorDialog","_useSelector","visibleEditor","bundleName","bundleData","data","orchidData","bundleControllerData","clusterUiConfig","_useSelector2","bundleDefaultConfig","defaultConfig","bundleControllerConfig","bundle_controller_target_config","enableBundleController","enable_bundle_controller","_getResourceData","tabletCountUsage","usage","_getResourceData2","tabletStaticMemoryUsage","allowEdit","initialValues","_ref","rpc_proxy_sizes","tablet_node_sizes","_ref2","_slicedToArray","rpcConfigurations","nodeConfigurations","renderGeneralTabs","name","title","type","size","fields","concat","_toConsumableArray","caption","extras","placeholder","disabled","allowRootAccount","renderResourceTab","fullWidth","children","className","renderTableCellBundleEditorNotice","params","value","format","resource_quota","memory","vcpu","withoutDetailedBar","progress","validator","section","hasClear","values","form","onRadioClick","nodeConfigurationType","defaultMemory","default_config","memory_limits","defaultThreadPool","cpu_limits","resultMemory","resultThreadPool","change","_objectSpread","defaults","renderSimpleResourceTab","renderMemoryTab","visibilityCondition","when","isActive","v","allValues","_allValues$resources","tablet_node_resource_guarantee","resources","onReset","used","keys","reduce","sum","k","_allValues$memory_lim","undefined","hasError","_get","errorText","validateMemoryLimits","header","message","renderThreadPoolTab","_allValues$resources2","postfix","push","dispatch","onClose","onSubmit","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","preparedData","wrap","_callee$","_context","prev","next","abrupt","t0","validationErrors","_defineProperty","error","stop","_x","apply","arguments","_isEmpty","headerProps","visible","onAdd","_values$resources","_values$resources$tab","memoryLimits","currentAccLimit","Object","acc"],"sources":["BundleEditorDialog.tsx"],"sourcesContent":["import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport cn from 'bem-cn-lite';\nimport _ from 'lodash';\n\nimport {Info} from '../../../../components/Info/Info';\nimport {BundleParamsList} from './components/BundleParamsList/BundleParamsList';\nimport Dialog, {\n FormApi,\n FORM_ERROR,\n DialogError,\n DialogField,\n DialogTabField,\n} from '../../../../components/Dialog/Dialog';\nimport hammer from '../../../../common/hammer';\n\nimport {getClusterUiConfig, isDeveloper} from '../../../../store/selectors/global';\nimport {\n hideTabletCellBundleEditor,\n setBundleEditorController,\n} from '../../../../store/actions/tablet_cell_bundles/tablet-cell-bundle-editor';\nimport {getBundleEditorData} from '../../../../store/selectors/tablet_cell_bundles';\nimport {BundleResourceGuarantee} from '../../../../store/reducers/tablet_cell_bundles';\nimport {getTabletCellBundleEditorState} from '../../../../store/selectors/tablet_cell_bundles/tablet-cell-bundle-editor';\n\nimport {\n bundleEditorDict,\n createConfigurationList,\n createParams,\n getInitialFormValues,\n getResource,\n getResourceData,\n prepareSubmitBundle,\n simpleBundleValidate,\n} from '../../../../utils/tablet_cell_bundles/bundles/bundle-editor-dialog';\nimport UIFactory, {isAbcAllowed} from '../../../../UIFactory';\n\nimport './BundleEditorDialog.scss';\n\nconst block = cn('bundle-editor');\n\nexport interface BundleEditorDialogFormValues {\n general?: {\n abc?: {slug: string; id?: number};\n changelog_account?: string;\n snapshot_account?: string;\n };\n resources?: {\n info?: string; // system\n rpc_proxy_count?: number; // todo\n rpc_proxy_resource_guarantee?: BundleResourceGuarantee;\n tablet_node_count?: number;\n tablet_node_resource_guarantee?: BundleResourceGuarantee;\n tablet_count?: number; // old\n tablet_static_memory?: number; // pld\n };\n memory_limits?: {\n error?: boolean; // system\n memory_reset: boolean; // system\n tablet_static?: number;\n tablet_dynamic?: number;\n compressed_block_cache?: number;\n uncompressed_block_cache?: number;\n versioned_chunk_meta?: number;\n lookup_row_cache?: number;\n };\n cpu_limits?: {\n threadPool_reset?: boolean; //system\n lookup_thread_pool_size?: number;\n query_thread_pool_size?: number;\n write_thread_pool_size?: number;\n };\n}\n\nexport function BundleEditorDialog() {\n const {\n visibleEditor,\n bundleName,\n bundleData,\n data,\n bundleControllerData: orchidData,\n } = useSelector(getTabletCellBundleEditorState);\n\n const clusterUiConfig = useSelector(getClusterUiConfig);\n\n const {defaultConfig: bundleDefaultConfig} = useSelector(getBundleEditorData);\n\n const bundleControllerConfig = bundleData?.bundle_controller_target_config;\n const enableBundleController = bundleData?.enable_bundle_controller || false;\n\n const {usage: tabletCountUsage} = getResourceData(data, 'tablet_count');\n const {usage: tabletStaticMemoryUsage} = getResourceData(data, 'tablet_static_memory');\n\n const allowEdit = useSelector(isDeveloper);\n\n const initialValues: BundleEditorDialogFormValues = (() => {\n if (!enableBundleController) {\n return getInitialFormValues(data);\n }\n if (!bundleControllerConfig) {\n return {};\n }\n return getInitialFormValues(data, bundleControllerConfig);\n })();\n\n const [rpcConfigurations, nodeConfigurations] = (() => {\n if (!bundleDefaultConfig) {\n return [[], []];\n }\n const {rpc_proxy_sizes, tablet_node_sizes} = bundleDefaultConfig;\n\n return [\n createConfigurationList(rpc_proxy_sizes),\n createConfigurationList(tablet_node_sizes),\n ];\n })();\n\n const renderGeneralTabs: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'general',\n title: 'General',\n type: 'tab-vertical',\n size: 's',\n fields: [\n ...(!isAbcAllowed()\n ? []\n : [\n {\n name: 'abc',\n type: 'abc-control' as const,\n caption: 'ABC Service',\n extras: {\n placeholder: 'Select ABC service...',\n disabled: !allowEdit,\n },\n },\n ]),\n {\n name: 'changelog_account',\n type: 'accounts-suggest-with-loading',\n caption: 'Changelog account',\n extras: {\n allowRootAccount: true,\n disabled: !allowEdit,\n },\n },\n {\n name: 'snapshot_account',\n type: 'accounts-suggest-with-loading',\n caption: 'Snapshot account',\n extras: {\n allowRootAccount: true,\n disabled: !allowEdit,\n },\n },\n ],\n };\n\n const renderResourceTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'resources',\n title: 'Resources',\n type: 'tab-vertical',\n size: 's',\n fields: [\n {\n name: 'info',\n type: 'block',\n fullWidth: true,\n extras: {\n children: (\n <Info className={block('info')}>\n {UIFactory.renderTableCellBundleEditorNotice({\n bundleData,\n clusterUiConfig,\n })}\n <BundleParamsList\n className={block('params')}\n params={[\n {\n title: 'Memory',\n value: hammer.format['Bytes'](\n orchidData?.resource_quota.memory || '0',\n ),\n },\n {\n title: 'vCPU',\n value: hammer.format['vCores'](\n orchidData?.resource_quota.vcpu || '0',\n ),\n },\n ]}\n />\n </Info>\n ),\n },\n },\n {\n name: 'tablet_count',\n type: 'bundle-input',\n caption: 'Tablet count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n progress: {\n usage: tabletCountUsage,\n },\n },\n validator: simpleBundleValidate,\n },\n {section: 'RPC proxy'},\n {\n type: 'bundle-input',\n name: 'rpc_proxy_count',\n caption: 'RPC proxy count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n type: 'bundle-table-field',\n name: 'rpc_proxy_resource_guarantee',\n caption: 'Instance configuration',\n fullWidth: true,\n extras: {\n data: rpcConfigurations,\n },\n },\n {section: 'Tablet node'},\n {\n type: 'bundle-input',\n name: 'tablet_node_count',\n caption: 'Tablet node count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n type: 'bundle-table-field',\n name: 'tablet_node_resource_guarantee',\n caption: 'Instance configuration',\n fullWidth: true,\n extras: function (values, form) {\n const onRadioClick = (value: BundleResourceGuarantee) => {\n const nodeConfigurationType = value.type || '';\n\n const defaultMemory =\n bundleDefaultConfig?.tablet_node_sizes[nodeConfigurationType]\n .default_config.memory_limits || {};\n const defaultThreadPool =\n bundleDefaultConfig?.tablet_node_sizes[nodeConfigurationType]\n .default_config.cpu_limits || {};\n\n const resultMemory = getResource(\n values.memory_limits,\n defaultMemory,\n 'memory_limits',\n );\n const resultThreadPool = getResource(\n values.cpu_limits,\n defaultThreadPool,\n 'cpu_limits',\n );\n\n form.change('memory_limits', {\n ...bundleEditorDict.defaults.memory_limits,\n ...resultMemory,\n });\n form.change('cpu_limits', {\n ...bundleEditorDict.defaults.cpu_limits,\n ...resultThreadPool,\n });\n };\n\n return {\n data: nodeConfigurations,\n onRadioClick,\n };\n },\n },\n ],\n };\n\n const renderSimpleResourceTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'resources',\n title: 'Resources',\n type: 'tab-vertical',\n size: 's',\n fields: [\n {\n name: 'tablet_count',\n type: 'bundle-input',\n caption: 'Tablet count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n progress: {\n usage: tabletCountUsage,\n },\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'tablet_static_memory',\n type: 'bundle-input',\n caption: 'Tablet static memory',\n extras: {\n format: 'Bytes',\n progress: {\n usage: tabletStaticMemoryUsage,\n },\n },\n validator: simpleBundleValidate,\n },\n ],\n };\n\n const renderMemoryTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'memory_limits',\n title: 'Memory',\n type: 'tab-vertical',\n size: 's',\n visibilityCondition: {\n when: 'resources.tablet_node_resource_guarantee',\n isActive: (v) => typeof v !== 'undefined',\n },\n fields: [\n {\n name: 'memory_reset',\n type: 'bundle-title',\n caption: 'Memory',\n extras: (allValues, form) => {\n const tablet_node_resource_guarantee =\n allValues.resources?.tablet_node_resource_guarantee;\n\n const onReset = () => {\n if (\n !tablet_node_resource_guarantee ||\n !tablet_node_resource_guarantee.type ||\n !bundleDefaultConfig\n ) {\n return;\n }\n const type = tablet_node_resource_guarantee.type;\n const {tablet_node_sizes} = bundleDefaultConfig;\n const {memory_limits} = tablet_node_sizes[type].default_config;\n\n form.change('memory_limits', {\n ...bundleEditorDict.defaults.memory_limits,\n ...memory_limits,\n });\n };\n\n if (!tablet_node_resource_guarantee) {\n return {\n params: [],\n onReset,\n };\n }\n const {memory} = tablet_node_resource_guarantee;\n\n const used = bundleEditorDict.keys.memory_limits.reduce((sum, k) => {\n return sum + (allValues?.memory_limits?.[k] || 0);\n }, 0);\n\n return {\n params: createParams('Bytes', memory, used),\n onReset,\n };\n },\n },\n {\n name: 'tablet_static',\n type: 'bundle-input',\n caption: 'Tablet static',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'tablet_dynamic',\n type: 'bundle-input',\n caption: 'Tablet dynamic',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'compressed_block_cache',\n type: 'bundle-input',\n caption: 'Compressed block cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'uncompressed_block_cache',\n type: 'bundle-input',\n caption: 'Uncompressed block cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'versioned_chunk_meta',\n type: 'bundle-input',\n caption: 'Versioned chunk meta',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'lookup_row_cache',\n type: 'bundle-input',\n caption: 'Lookup row cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n type: 'block',\n name: 'error',\n validator: (v: any) => (v ? v : undefined),\n extras(allValues, form) {\n const hasError = _.get(allValues, 'memory_limits.error');\n const errorText = validateMemoryLimits(allValues);\n\n if (errorText && !hasError) {\n form.change('memory_limits.error', true);\n } else if (!errorText && hasError) {\n form.change('memory_limits.error', false);\n }\n\n return {\n children: !errorText ? null : (\n <DialogError header={'Error'} message={<span>{errorText}</span>} />\n ),\n };\n },\n },\n ],\n };\n\n const renderThreadPoolTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'cpu_limits',\n title: 'Thread pools',\n type: 'tab-vertical',\n size: 's',\n visibilityCondition: {\n when: 'resources.tablet_node_resource_guarantee',\n isActive: (v) => typeof v !== 'undefined',\n },\n fields: [\n {\n name: 'threadPool_reset',\n type: 'bundle-title',\n caption: 'vCPU',\n extras: (allValues, form) => {\n const tablet_node_resource_guarantee =\n allValues.resources?.tablet_node_resource_guarantee;\n\n if (\n !tablet_node_resource_guarantee ||\n !tablet_node_resource_guarantee.type ||\n !bundleDefaultConfig\n ) {\n return {\n params: [],\n onReset: () => {},\n };\n }\n\n const onReset = () => {\n const type = tablet_node_resource_guarantee.type;\n if (!type) {\n return;\n }\n\n const {tablet_node_sizes} = bundleDefaultConfig;\n const {cpu_limits} = tablet_node_sizes[type].default_config;\n\n form.change('cpu_limits', {\n ...bundleEditorDict.defaults.cpu_limits,\n ...cpu_limits,\n });\n };\n\n const {vcpu} = tablet_node_resource_guarantee;\n\n return {\n params: createParams('vCores', vcpu),\n onReset,\n };\n },\n },\n {\n name: 'lookup_thread_pool_size',\n type: 'bundle-input',\n caption: 'Lookup thread pool size',\n extras: {\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'query_thread_pool_size',\n type: 'bundle-input',\n caption: 'Query thread pool size',\n extras: {\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'write_thread_pool_size',\n type: 'bundle-input',\n caption: 'Write thread pool size',\n extras: {\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n ],\n };\n\n const fields = [renderGeneralTabs];\n if (enableBundleController) {\n fields.push(renderResourceTab, renderMemoryTab, renderThreadPoolTab);\n } else {\n fields.push(renderSimpleResourceTab);\n }\n\n const dispatch = useDispatch();\n const onClose = () => {\n dispatch(hideTabletCellBundleEditor());\n };\n\n const onSubmit = async (form: FormApi<BundleEditorDialogFormValues>) => {\n if (!bundleName) {\n return {};\n }\n\n const preparedData = prepareSubmitBundle(form);\n\n try {\n await dispatch(\n setBundleEditorController({\n bundleName,\n data: preparedData,\n }),\n );\n return undefined;\n } catch (error) {\n return {\n validationErrors: {\n [FORM_ERROR]: <DialogError error={error} />,\n },\n };\n }\n };\n\n if (_.isEmpty(data)) {\n return null;\n }\n\n return (\n <Dialog<BundleEditorDialogFormValues>\n className={block('dialog')}\n headerProps={{\n title: bundleName,\n }}\n size=\"l\"\n initialValues={initialValues}\n visible={visibleEditor}\n onAdd={onSubmit}\n onClose={onClose}\n fields={fields}\n />\n );\n}\n\nfunction validateMemoryLimits(values: BundleEditorDialogFormValues) {\n if (values.resources?.tablet_node_resource_guarantee) {\n const memoryLimits = values.resources.tablet_node_resource_guarantee?.memory || 0;\n const currentAccLimit =\n Object.values(values.memory_limits || {}).reduce((acc: number, v: number | boolean) => {\n if (typeof v !== 'number') {\n return acc;\n }\n return acc + v;\n }, 0) || 0;\n\n if (currentAccLimit > memoryLimits) {\n return 'The sum of the memory limits exceeds the allowed values';\n }\n }\n\n return '';\n}\n"],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["BundleTableField.scss","BundleTableField.css"],"names":[],"mappings":"AAEQ;EACI,eAAA;ACDZ","file":"BundleTableField.css","sourcesContent":[".bundle-table-field {\n &__table {\n .yc-table__th-content {\n display: inline;\n }\n }\n}\n",".bundle-table-field__table .yc-table__th-content {\n display: inline;\n}\n\n/*# sourceMappingURL=BundleTableField.css.map */"]}
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import { DialogControlProps } from '../../../../../../components/Dialog/Dialog.types';
|
2
2
|
import { BundleResourceGuarantee } from '../../../../../../store/reducers/tablet_cell_bundles';
|
3
|
+
import './BundleTableField.scss';
|
3
4
|
interface BundleData {
|
4
5
|
type: string;
|
5
6
|
memory: string;
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import React, { useMemo } from 'react';
|
2
2
|
import cn from 'bem-cn-lite';
|
3
3
|
import { Radio, Table } from '@gravity-ui/uikit';
|
4
|
+
import './BundleTableField.css';
|
4
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
5
6
|
var block = cn('bundle-table-field');
|
6
7
|
var columns = [{
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","useMemo","cn","Radio","Table","jsx","_jsx","block","columns","id","name","width","BundleTableField","props","value","onChange","onRadioClick","data","newColumns","template","item","checked","type","onUpdate","isChecked","initialData","disabled","concat","className","edgePadding","isEmpty","getDefaultValue"],"sources":["BundleTableField.tsx"],"sourcesContent":["import React, {useMemo} from 'react';\nimport cn from 'bem-cn-lite';\nimport _ from 'lodash';\n\nimport {Radio, Table, TableColumnConfig} from '@gravity-ui/uikit';\n\nimport {DialogControlProps} from '../../../../../../components/Dialog/Dialog.types';\nimport {BundleResourceGuarantee} from '../../../../../../store/reducers/tablet_cell_bundles';\n\nconst block = cn('bundle-table-field');\n\nconst columns: TableColumnConfig<BundleData>[] = [\n {id: 'type', name: 'Type', width: '25%'},\n {id: 'memory', name: 'Memory', width: '25%'},\n {id: 'vcpu', name: 'vCPU', width: '25%'},\n {id: 'net', name: 'Network', width: '25%'},\n];\n\ninterface BundleData {\n type: string;\n memory: string;\n vcpu: string;\n net: string;\n disabled?: boolean;\n initialData: BundleResourceGuarantee;\n [k: string]: any;\n}\n\ntype RadioClickType = (value: BundleResourceGuarantee) => void;\n\ntype BundleTableFieldProps = DialogControlProps<\n BundleResourceGuarantee | undefined,\n {data: BundleData[]; onRadioClick?: RadioClickType}\n>;\n\nexport function BundleTableField(props: BundleTableFieldProps) {\n const {value, onChange, onRadioClick, data} = props;\n\n const newColumns = useMemo(\n () => [\n {\n id: 'radio',\n name: '',\n template: (item: BundleData) => {\n const checked = value?.type === item.id;\n return (\n <Radio\n value={item.id}\n checked={checked}\n onUpdate={(isChecked) => {\n if (isChecked) {\n onChange(item.initialData);\n\n if (typeof onRadioClick === 'function') {\n onRadioClick(item.initialData);\n }\n }\n }}\n disabled={item.disabled}\n />\n );\n },\n },\n ...columns,\n ],\n [data, value],\n );\n\n return <Table className={block('table')} columns={newColumns} data={data} edgePadding />;\n}\n\nBundleTableField.isEmpty = (value: string) => {\n return !value;\n};\n\nBundleTableField.getDefaultValue = () => {\n return '';\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAGC,OAAO,QAAO,OAAO;AACpC,OAAOC,EAAE,MAAM,aAAa;AAG5B,SAAQC,KAAK,EAAEC,KAAK,QAA0B,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;
|
1
|
+
{"version":3,"names":["React","useMemo","cn","Radio","Table","jsx","_jsx","block","columns","id","name","width","BundleTableField","props","value","onChange","onRadioClick","data","newColumns","template","item","checked","type","onUpdate","isChecked","initialData","disabled","concat","className","edgePadding","isEmpty","getDefaultValue"],"sources":["BundleTableField.tsx"],"sourcesContent":["import React, {useMemo} from 'react';\nimport cn from 'bem-cn-lite';\nimport _ from 'lodash';\n\nimport {Radio, Table, TableColumnConfig} from '@gravity-ui/uikit';\n\nimport {DialogControlProps} from '../../../../../../components/Dialog/Dialog.types';\nimport {BundleResourceGuarantee} from '../../../../../../store/reducers/tablet_cell_bundles';\n\nimport './BundleTableField.scss';\n\nconst block = cn('bundle-table-field');\n\nconst columns: TableColumnConfig<BundleData>[] = [\n {id: 'type', name: 'Type', width: '25%'},\n {id: 'memory', name: 'Memory', width: '25%'},\n {id: 'vcpu', name: 'vCPU', width: '25%'},\n {id: 'net', name: 'Network', width: '25%'},\n];\n\ninterface BundleData {\n type: string;\n memory: string;\n vcpu: string;\n net: string;\n disabled?: boolean;\n initialData: BundleResourceGuarantee;\n [k: string]: any;\n}\n\ntype RadioClickType = (value: BundleResourceGuarantee) => void;\n\ntype BundleTableFieldProps = DialogControlProps<\n BundleResourceGuarantee | undefined,\n {data: BundleData[]; onRadioClick?: RadioClickType}\n>;\n\nexport function BundleTableField(props: BundleTableFieldProps) {\n const {value, onChange, onRadioClick, data} = props;\n\n const newColumns = useMemo(\n () => [\n {\n id: 'radio',\n name: '',\n template: (item: BundleData) => {\n const checked = value?.type === item.id;\n return (\n <Radio\n value={item.id}\n checked={checked}\n onUpdate={(isChecked) => {\n if (isChecked) {\n onChange(item.initialData);\n\n if (typeof onRadioClick === 'function') {\n onRadioClick(item.initialData);\n }\n }\n }}\n disabled={item.disabled}\n />\n );\n },\n },\n ...columns,\n ],\n [data, value],\n );\n\n return <Table className={block('table')} columns={newColumns} data={data} edgePadding />;\n}\n\nBundleTableField.isEmpty = (value: string) => {\n return !value;\n};\n\nBundleTableField.getDefaultValue = () => {\n return '';\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAGC,OAAO,QAAO,OAAO;AACpC,OAAOC,EAAE,MAAM,aAAa;AAG5B,SAAQC,KAAK,EAAEC,KAAK,QAA0B,mBAAmB;AAKjE,OAAO,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEjC,IAAMC,KAAK,GAAGL,EAAE,CAAC,oBAAoB,CAAC;AAEtC,IAAMM,OAAwC,GAAG,CAC7C;EAACC,EAAE,EAAE,MAAM;EAAEC,IAAI,EAAE,MAAM;EAAEC,KAAK,EAAE;AAAK,CAAC,EACxC;EAACF,EAAE,EAAE,QAAQ;EAAEC,IAAI,EAAE,QAAQ;EAAEC,KAAK,EAAE;AAAK,CAAC,EAC5C;EAACF,EAAE,EAAE,MAAM;EAAEC,IAAI,EAAE,MAAM;EAAEC,KAAK,EAAE;AAAK,CAAC,EACxC;EAACF,EAAE,EAAE,KAAK;EAAEC,IAAI,EAAE,SAAS;EAAEC,KAAK,EAAE;AAAK,CAAC,CAC7C;AAmBD,OAAO,SAASC,gBAAgBA,CAACC,KAA4B,EAAE;EAC3D,IAAOC,KAAK,GAAkCD,KAAK,CAA5CC,KAAK;IAAEC,QAAQ,GAAwBF,KAAK,CAArCE,QAAQ;IAAEC,YAAY,GAAUH,KAAK,CAA3BG,YAAY;IAAEC,IAAI,GAAIJ,KAAK,CAAbI,IAAI;EAE1C,IAAMC,UAAU,GAAGjB,OAAO,CACtB;IAAA,QACI;MACIQ,EAAE,EAAE,OAAO;MACXC,IAAI,EAAE,EAAE;MACRS,QAAQ,EAAE,SAAAA,SAACC,IAAgB,EAAK;QAC5B,IAAMC,OAAO,GAAG,CAAAP,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEQ,IAAI,MAAKF,IAAI,CAACX,EAAE;QACvC,oBACIH,IAAA,CAACH,KAAK;UACFW,KAAK,EAAEM,IAAI,CAACX,EAAG;UACfY,OAAO,EAAEA,OAAQ;UACjBE,QAAQ,EAAE,SAAAA,SAACC,SAAS,EAAK;YACrB,IAAIA,SAAS,EAAE;cACXT,QAAQ,CAACK,IAAI,CAACK,WAAW,CAAC;cAE1B,IAAI,OAAOT,YAAY,KAAK,UAAU,EAAE;gBACpCA,YAAY,CAACI,IAAI,CAACK,WAAW,CAAC;cAClC;YACJ;UACJ,CAAE;UACFC,QAAQ,EAAEN,IAAI,CAACM;QAAS,EAC1B;MAEV;IACJ,CAAC,EAAAC,MAAA,CACEnB,OAAO;EAAA,CACb,EACD,CAACS,IAAI,EAAEH,KAAK,CAAC,CAChB;EAED,oBAAOR,IAAA,CAACF,KAAK;IAACwB,SAAS,EAAErB,KAAK,CAAC,OAAO,CAAE;IAACC,OAAO,EAAEU,UAAW;IAACD,IAAI,EAAEA,IAAK;IAACY,WAAW;EAAA,EAAG;AAC5F;AAEAjB,gBAAgB,CAACkB,OAAO,GAAG,UAAChB,KAAa,EAAK;EAC1C,OAAO,CAACA,KAAK;AACjB,CAAC;AAEDF,gBAAgB,CAACmB,eAAe,GAAG,YAAM;EACrC,OAAO,EAAE;AACb,CAAC"}
|
@@ -6,7 +6,7 @@ export const getVisibleColumns: import("reselect").OutputSelector<import("../../
|
|
6
6
|
}, res4: string) => any>;
|
7
7
|
export const getAllColumns: import("reselect").OutputSelector<import("../../../reducers").RootState, never[], (res1: never[], res2: never[]) => never[]>;
|
8
8
|
export const getSrcColumns: import("reselect").OutputSelector<import("../../../reducers").RootState, any[], (res1: any, res2: never[]) => any[]>;
|
9
|
-
export const getTableType: import("reselect").OutputSelector<import("../../../reducers").RootState, "static" | "dynamic" | "replica", (res1: any, res2: boolean) => "static" | "dynamic" | "replica">;
|
9
|
+
export const getTableType: import("reselect").OutputSelector<import("../../../reducers").RootState, "static" | "dynamic" | "chaos" | "replica", (res1: any, res2: boolean) => "static" | "dynamic" | "chaos" | "replica">;
|
10
10
|
export const getRequestedPageSize: import("reselect").OutputSelector<import("../../../reducers").RootState, any, (res: unknown) => any>;
|
11
11
|
export const getRowCount: import("reselect").OutputSelector<any, any, (res: any) => any>;
|
12
12
|
export const getVisibleRows: import("reselect").OutputSelector<import("../../../reducers").RootState, never[], (res1: never[], res2: any, res3: unknown) => never[]>;
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
1
2
|
import _difference from "lodash/difference";
|
2
3
|
import _map from "lodash/map";
|
3
4
|
import _concat from "lodash/concat";
|
@@ -34,12 +35,17 @@ export var getSrcColumns = createSelector([getAttributes, getAllColumns], functi
|
|
34
35
|
});
|
35
36
|
export var getTableType = createSelector([getAttributes, getIsDynamic], function (attributes, isDynamic) {
|
36
37
|
if (isDynamic) {
|
37
|
-
var
|
38
|
+
var _ypath$getValues = ypath.getValues(attributes, ['/upstream_replica_id', '/type']),
|
39
|
+
_ypath$getValues2 = _slicedToArray(_ypath$getValues, 2),
|
40
|
+
upstreamReplicaID = _ypath$getValues2[0],
|
41
|
+
type = _ypath$getValues2[1];
|
42
|
+
if (String(type).startsWith('chaos')) {
|
43
|
+
return 'chaos';
|
44
|
+
}
|
38
45
|
if (upstreamReplicaID && upstreamReplicaID !== '0-0-0-0') {
|
39
46
|
return 'replica';
|
40
|
-
} else {
|
41
|
-
return 'dynamic';
|
42
47
|
}
|
48
|
+
return 'dynamic';
|
43
49
|
} else {
|
44
50
|
return 'static';
|
45
51
|
}
|