@ytsaurus/ui 1.25.0 → 1.26.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/server/configs/e2e/local.js +8 -0
- package/build/cjs/server/configs/e2e/local.js.map +1 -1
- package/build/cjs/shared/ui-settings.d.ts +19 -1
- package/build/cjs/shared/ui-settings.js.map +1 -1
- package/build/cjs/ui/UIFactory.d.ts +11 -2
- package/build/cjs/ui/UIFactory.js +8 -0
- package/build/cjs/ui/UIFactory.js.map +1 -1
- package/build/cjs/ui/components/Tabs/Tabs.d.ts +1 -1
- package/build/cjs/ui/components/Tabs/Tabs.js.map +1 -1
- package/build/cjs/ui/constants/system/tabs.d.ts +4 -0
- package/build/cjs/ui/constants/system/tabs.js +11 -0
- package/build/cjs/ui/constants/system/tabs.js.map +1 -0
- package/build/cjs/ui/containers/ClusterPage/ClusterPage.js +2 -2
- package/build/cjs/ui/containers/ClusterPage/ClusterPage.js.map +1 -1
- package/build/cjs/ui/pages/components/tabs/Versions/VersionSummary.css +10 -3
- package/build/cjs/ui/pages/components/tabs/Versions/VersionSummary.css.map +1 -1
- package/build/cjs/ui/pages/components/tabs/Versions/VersionSummary.d.ts +3 -1
- package/build/cjs/ui/pages/components/tabs/Versions/VersionSummary.js +24 -6
- package/build/cjs/ui/pages/components/tabs/Versions/VersionSummary.js.map +1 -1
- package/build/cjs/ui/pages/system/System/System.d.ts +10 -8
- package/build/cjs/ui/pages/system/System/System.js +56 -52
- package/build/cjs/ui/pages/system/System/System.js.map +1 -1
- package/build/cjs/ui/pages/system/System/SystemGeneralTab.d.ts +2 -0
- package/build/cjs/ui/pages/system/System/SystemGeneralTab.js +22 -0
- package/build/cjs/ui/pages/system/System/SystemGeneralTab.js.map +1 -0
- package/build/cjs/ui/pages/system/System/helpers/getSystemTabItems.d.ts +9 -0
- package/build/cjs/ui/pages/system/System/helpers/getSystemTabItems.js +41 -0
- package/build/cjs/ui/pages/system/System/helpers/getSystemTabItems.js.map +1 -0
- package/build/esm/server/configs/e2e/local.js +8 -0
- package/build/esm/server/configs/e2e/local.js.map +1 -1
- package/build/esm/shared/ui-settings.d.ts +19 -1
- package/build/esm/shared/ui-settings.js.map +1 -1
- package/build/esm/ui/UIFactory.d.ts +11 -2
- package/build/esm/ui/UIFactory.js +8 -0
- package/build/esm/ui/UIFactory.js.map +1 -1
- package/build/esm/ui/components/Tabs/Tabs.d.ts +1 -1
- package/build/esm/ui/components/Tabs/Tabs.js.map +1 -1
- package/build/esm/ui/constants/system/tabs.d.ts +4 -0
- package/build/esm/ui/constants/system/tabs.js +5 -0
- package/build/esm/ui/constants/system/tabs.js.map +1 -0
- package/build/esm/ui/containers/ClusterPage/ClusterPage.js +1 -1
- package/build/esm/ui/containers/ClusterPage/ClusterPage.js.map +1 -1
- package/build/esm/ui/pages/components/tabs/Versions/VersionSummary.css +10 -3
- package/build/esm/ui/pages/components/tabs/Versions/VersionSummary.css.map +1 -1
- package/build/esm/ui/pages/components/tabs/Versions/VersionSummary.d.ts +3 -1
- package/build/esm/ui/pages/components/tabs/Versions/VersionSummary.js +24 -6
- package/build/esm/ui/pages/components/tabs/Versions/VersionSummary.js.map +1 -1
- package/build/esm/ui/pages/components/tabs/Versions/VersionSummary.scss +15 -6
- package/build/esm/ui/pages/system/System/System.d.ts +10 -8
- package/build/esm/ui/pages/system/System/System.js +55 -52
- package/build/esm/ui/pages/system/System/System.js.map +1 -1
- package/build/esm/ui/pages/system/System/SystemGeneralTab.d.ts +2 -0
- package/build/esm/ui/pages/system/System/SystemGeneralTab.js +17 -0
- package/build/esm/ui/pages/system/System/SystemGeneralTab.js.map +1 -0
- package/build/esm/ui/pages/system/System/helpers/getSystemTabItems.d.ts +9 -0
- package/build/esm/ui/pages/system/System/helpers/getSystemTabItems.js +35 -0
- package/build/esm/ui/pages/system/System/helpers/getSystemTabItems.js.map +1 -0
- package/dist/public/build/assets-manifest.json +7 -7
- package/dist/public/build/css/{main.6f740a3e.css → main.2d05e225.css} +2 -2
- package/dist/public/build/css/main.2d05e225.css.map +1 -0
- package/dist/public/build/js/main.c18a9d22.js +3 -0
- package/dist/public/build/js/{main.ccbdcdf6.js.map → main.c18a9d22.js.map} +1 -1
- package/dist/public/build/manifest.json +4 -4
- package/dist/server/configs/e2e/local.js +8 -0
- package/dist/shared/ui-settings.d.ts +19 -1
- package/package.json +2 -2
- package/dist/public/build/css/main.6f740a3e.css.map +0 -1
- package/dist/public/build/js/main.ccbdcdf6.js +0 -3
- /package/dist/public/build/js/{main.ccbdcdf6.js.LICENSE.txt → main.c18a9d22.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Component","Fragment","Redirect","Route","Switch","useLocation","connect","useSelector","cn","BanPage","MaintenancePage","HandleMaintenanceRedirect","Components","Operations","Accounts","Dashboard","System","Navigation","PathViewer","Tablet","TabletCellBundles","GroupsPage","UsersPage","Scheduling","QueryTracker","Job","ChytPage","ClusterPageHeader","PageTracker","PageHeadByCluster","ConnectionErrorRegion","GeneralErrorRegion","FlexSplitPane","ErrorBlock","LOADING_STATUS","LOAD_ERROR","Page","SPLIT_PANE_ID","joinMenuItemsAction","splitMenuItemsAction","trackVisit","setSetting","initClusterParams","unmountCluster","updateCluster","updateTitle","getClusterUiConfig","isQueryTrackerAllowed","getClusterConfig","NAMESPACES","SettingName","getClusterPagePaneSizes","getStartingPage","isRecentClustersFirst","isRecentPagesFirst","isRedirectToBetaSwitched","SupportedFeaturesUpdater","useRumMeasureStart","useRumMeasureStop","RumMeasureTypes","useClusterFromLocation","makeExtraPageRoutes","odinPageInfo","hasOdinPage","jsx","_jsx","jsxs","_jsxs","b","RedirectToBanIfNeededMemo","memo","RedirectToBanIfNeeded","ClusterPage","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","state","width","contentPaneRef","createRef","_onUpdateEnd","_this$props","props","cluster","Promise","resolve","then","DEVELOPMENT","REDIRECT_TO_BETA_SWITCHED","REDIRECT_TO_BETA","_initMenuCollection","onResize","splitScreen","toolbar","document","querySelector","isSplit","gutterWidth","offset","getElementById","clientWidth","style","right","window","dispatchEvent","Event","handleSplit","updateWidthModifier","onResizeEnd","sizes","NAVIGATION","CLUSTER_PAGE_PANE_SIZES","getInitialSizes","clusterPagePaneSizes","_createClass","key","value","componentDidMount","getSnapshotBeforeUpdate","prevProps","pageYOffset","current","scrollTop","componentDidUpdate","prevState","prevScroll","scrollBy","prevCluster","componentWillUnmount","path","page","itemName","_this$props2","settingsMap","_this$contentPaneRef$","currentWidth","Infinity","setState","renderError","clusterConfig","_ref","error","errorType","CONNECTION","id","AUTHENTICATION","message","GENERAL","isParamsLoading","_this$props3","paramsCluster","renderContent","_this$props4","startingPage","isLoaded","hasError","paramsError","allowChyt","allowQueryTracker","children","to","BAN","component","MAINTENANCE","COMPONENTS","OPERATIONS","JOB","DASHBOARD","SYSTEM","ACCOUNTS","TABLET_CELL_BUNDLES","CHAOS_CELL_BUNDLES","PATH_VIEWER","TABLET","USERS","GROUPS","SCHEDULING","CHYT","QUERIES","pageId","reactComponent","from","VERSIONS","className","render","_this$props5","clusters","ClusterPageStopRumMeasure","paneClassNames","direction","HORIZONTAL","onSplit","onUnSplit","minSize","ref","split","mapStateToProps","_state$global","global","login","maintenancePageEvent","loadState","paramsLoading","clustersMenu","LOADED","ERROR","Boolean","chyt_controller_base_url","mapDispatchToProps","_ref2","_useSelector","blocked","banned","_useLocation","pathname","enableRedirect","endsWith","type","CLUSTER_PARAMS","subPage","allowStop","_ref3","_ref4","_slicedToArray","startDeps","_ref5","_ref6","stopDeps"],"sources":["ClusterPage.js"],"sourcesContent":["import React, {Component, Fragment} from 'react';\nimport {Redirect, Route, Switch, useLocation} from 'react-router';\nimport {connect, useSelector} from 'react-redux';\nimport PropTypes from 'prop-types';\nimport cn from 'bem-cn-lite';\n\nimport BanPage from '../BanPage/BanPage';\nimport MaintenancePage from '../MaintenancePage/MaintenancePage';\nimport HandleMaintenanceRedirect from '../MaintenancePage/HandleRedirect';\nimport Components from '../../pages/components/Components/Components';\nimport Operations from '../../pages/operations/Operations/Operations';\nimport Accounts from '../../pages/accounts/Accounts/Accounts';\nimport Dashboard from '../../pages/dashboard/Dashboard/Dashboard';\nimport System from '../../pages/system/System/System';\nimport Navigation from '../../pages/navigation/Navigation/Navigation';\nimport PathViewer from '../../pages/path-viewer/PathViewer';\nimport Tablet from '../../pages/tablet/Tablet';\nimport TabletCellBundles from '../../pages/tablet_cell_bundles/TabletCellBundles';\nimport GroupsPage from '../../pages/groups/GroupsPage';\nimport UsersPage from '../../pages/users/UsersPage';\nimport Scheduling from '../../pages/scheduling/Scheduling/Scheduling';\nimport QueryTracker from '../../pages/query-tracker/QueryTracker';\nimport Job from '../../pages/job/Job';\nimport {ChytPage} from '../../pages/chyt';\n\nimport ClusterPageHeader from '../ClusterPageHeader/ClusterPageHeader';\nimport PageTracker from './PageTracker';\n\nimport {PageHeadByCluster} from '../../components/PageHead/PageHead';\nimport ConnectionErrorRegion from '../../components/PreloaderErrors/ConnectionErrorRegion';\nimport GeneralErrorRegion from '../../components/PreloaderErrors/GeneralErrorRegion';\nimport FlexSplitPane from '../../components/FlexSplitPane/FlexSplitPane';\nimport ErrorBlock from '../../components/Error/Error';\n\nimport {LOADING_STATUS, LOAD_ERROR, Page, SPLIT_PANE_ID} from '../../constants/index';\nimport {joinMenuItemsAction, splitMenuItemsAction, trackVisit} from '../../store/actions/menu';\nimport {setSetting} from '../../store/actions/settings';\nimport {initClusterParams, unmountCluster, updateCluster} from '../../store/actions/cluster-params';\nimport {updateTitle} from '../../store/actions/global';\nimport {getClusterUiConfig, isQueryTrackerAllowed} from '../../store/selectors/global';\nimport {getClusterConfig} from '../../utils';\nimport {NAMESPACES, SettingName} from '../../../shared/constants/settings';\nimport {\n getClusterPagePaneSizes,\n getStartingPage,\n isRecentClustersFirst,\n isRecentPagesFirst,\n isRedirectToBetaSwitched,\n} from '../../store/selectors/settings';\nimport SupportedFeaturesUpdater from './SupportedFeaturesUpdater';\nimport {useRumMeasureStart, useRumMeasureStop} from '../../rum/RumUiContext';\nimport {RumMeasureTypes} from '../../rum/rum-measure-types';\nimport {useClusterFromLocation} from '../../hooks/use-cluster';\nimport {makeExtraPageRoutes} from './ExtraClusterPageRoutes';\nimport {odinPageInfo} from '../../pages/odin';\nimport {hasOdinPage} from '../../config';\n\nimport './ClusterPage.scss';\n\nconst b = cn('cluster-page');\n\nconst RedirectToBanIfNeededMemo = React.memo(RedirectToBanIfNeeded);\n\nclass ClusterPage extends Component {\n static propTypes = {\n cluster: PropTypes.string,\n\n // from connect\n clusters: PropTypes.object.isRequired,\n clusterPagePaneSizes: PropTypes.array,\n login: PropTypes.string,\n queriesPageAllowed: PropTypes.bool,\n maintenancePageEvent: PropTypes.object,\n startingPage: PropTypes.string.isRequired,\n isLoaded: PropTypes.bool.isRequired,\n hasError: PropTypes.bool.isRequired,\n error: PropTypes.shape({\n errorType: PropTypes.string,\n }).isRequired,\n paramsError: PropTypes.any,\n splitScreen: PropTypes.shape({\n isSplit: PropTypes.bool.isRequired,\n paneClassNames: PropTypes.array.isRequired,\n }).isRequired,\n\n splitMenuItemsAction: PropTypes.func.isRequired,\n setSetting: PropTypes.func.isRequired,\n joinMenuItemsAction: PropTypes.func.isRequired,\n initClusterParams: PropTypes.func.isRequired,\n updateCluster: PropTypes.func.isRequired,\n updateTitle: PropTypes.func.isRequired,\n unmountCluster: PropTypes.func.isRequired,\n trackVisit: PropTypes.func.isRequired,\n\n allowChyt: PropTypes.bool,\n allowQueryTracker: PropTypes.bool,\n };\n\n state = {\n width: 'large',\n };\n\n componentDidMount() {\n const {cluster} = this.props;\n this.props.updateCluster(cluster, this._onUpdateEnd);\n }\n\n getSnapshotBeforeUpdate(prevProps) {\n if (prevProps.splitScreen.isSplit !== this.props.splitScreen.isSplit) {\n return this.props.splitScreen.isSplit\n ? window.pageYOffset\n : this.contentPaneRef.current.scrollTop;\n }\n\n return null;\n }\n\n componentDidUpdate(prevProps, prevState, prevScroll) {\n if (prevScroll !== null) {\n if (this.props.splitScreen.isSplit) {\n this.contentPaneRef.current.scrollTop = prevScroll;\n }\n\n window.scrollBy(0, prevScroll);\n }\n\n const {cluster: prevCluster} = prevProps;\n const {cluster} = this.props;\n\n if (cluster !== prevCluster) {\n this.props.updateCluster(cluster, this._onUpdateEnd);\n }\n }\n\n componentWillUnmount() {\n this.props.updateTitle({path: '', page: ''});\n this.props.unmountCluster();\n }\n\n contentPaneRef = React.createRef();\n\n _onUpdateEnd = () => {\n const {\n cluster,\n trackVisit,\n updateTitle,\n initClusterParams,\n isRedirectToBetaSwitched,\n setSetting,\n } = this.props;\n\n return Promise.resolve().then(() => {\n initClusterParams(cluster);\n updateTitle({cluster});\n\n // todo: get rid of redirectToBetaSwitched setting.\n // It`s exist for set default value of redirectToBeta setting, when settings document is empty yet.\n // Set redirectToBeta on server after get all user settings (home.js). Or get rid of this logic at all.\n if (!isRedirectToBetaSwitched) {\n setSetting(\n SettingName.DEVELOPMENT.REDIRECT_TO_BETA_SWITCHED,\n NAMESPACES.DEVELOPMENT,\n true,\n );\n setSetting(SettingName.DEVELOPMENT.REDIRECT_TO_BETA, NAMESPACES.DEVELOPMENT, true);\n }\n\n this._initMenuCollection('cluster');\n this._initMenuCollection('page');\n trackVisit('cluster', cluster);\n });\n };\n\n _initMenuCollection(itemName) {\n const {splitMenuItemsAction, joinMenuItemsAction} = this.props;\n\n const settingsMap = {\n cluster: 'isRecentClustersFirst',\n page: 'isRecentPagesFirst',\n };\n\n if (this.props[settingsMap[itemName]]) {\n splitMenuItemsAction(itemName);\n } else {\n joinMenuItemsAction(`${itemName}s`);\n }\n }\n\n onResize = () => {\n const {splitScreen} = this.props;\n const toolbar = document.querySelector('#elements-toolbar');\n\n if (splitScreen.isSplit && toolbar) {\n const gutterWidth = 10;\n const offset = document.getElementById(SPLIT_PANE_ID).clientWidth + gutterWidth;\n toolbar.style.right = `${offset}px`;\n } else if (toolbar) {\n toolbar.style.right = '0';\n }\n\n window.dispatchEvent(new Event('resize'));\n };\n\n handleSplit = () => {\n this.onResize();\n // fight the table toolbar becoming invisible after toggling YQLWidget and before first scroll\n window.dispatchEvent(new Event('scroll'));\n this.updateWidthModifier();\n };\n\n updateWidthModifier() {\n const currentWidth = this.contentPaneRef.current?.clientWidth || Infinity;\n if (currentWidth <= 720) {\n this.setState({width: 'small'});\n } else if (currentWidth <= 1024) {\n this.setState({width: 'medium'});\n } else {\n this.setState({width: 'large'});\n }\n }\n\n onResizeEnd = (sizes) => {\n this.props.setSetting(\n SettingName.NAVIGATION.CLUSTER_PAGE_PANE_SIZES,\n NAMESPACES.NAVIGATION,\n sizes,\n );\n this.updateWidthModifier();\n };\n\n getInitialSizes = () => {\n return this.props.clusterPagePaneSizes;\n };\n\n renderError(clusterConfig) {\n const {errorType} = this.props.error || {};\n\n switch (errorType) {\n case LOAD_ERROR.CONNECTION:\n return <ConnectionErrorRegion cluster={clusterConfig.id} />;\n case LOAD_ERROR.AUTHENTICATION:\n return (\n <GeneralErrorRegion\n cluster={clusterConfig.id}\n message={\n 'Could not fetch the XSRF token, therefore preventing further operations. Sometimes ' +\n 'token fetching fails due to the network issues. If the problem persists, please report it ' +\n 'via Bug Reporter.'\n }\n />\n );\n case LOAD_ERROR.GENERAL:\n return (\n <GeneralErrorRegion message=\"Unexpected error occurred. If problem persists please report it via Bug Reporter.\" />\n );\n }\n }\n\n isParamsLoading() {\n const {cluster, paramsCluster} = this.props;\n return cluster !== paramsCluster;\n }\n\n renderContent(clusterConfig) {\n const {\n cluster,\n startingPage,\n isLoaded,\n hasError,\n paramsError,\n allowChyt,\n allowQueryTracker,\n } = this.props;\n\n return isLoaded && !this.isParamsLoading() ? (\n <Fragment>\n <SupportedFeaturesUpdater />\n <HandleMaintenanceRedirect />\n <RedirectToBanIfNeededMemo to={`/${cluster}/${Page.BAN}`} />\n <Switch>\n <Route path={`/:cluster/${Page.BAN}`} component={BanPage} />\n <Route path={`/:cluster/${Page.MAINTENANCE}`} component={MaintenancePage} />\n <Route path={`/:cluster/${Page.COMPONENTS}`} component={Components} />\n <Route path={`/:cluster/${Page.OPERATIONS}`} component={Operations} />\n <Route path={`/:cluster/${Page.JOB}`} component={Job} />\n <Route path={`/:cluster/${Page.DASHBOARD}`} component={Dashboard} />\n <Route path={`/:cluster/${Page.SYSTEM}`} component={System} />\n <Route path={`/:cluster/${Page.ACCOUNTS}`} component={Accounts} />\n <Route\n path={[\n `/:cluster/${Page.TABLET_CELL_BUNDLES}`,\n `/:cluster/${Page.CHAOS_CELL_BUNDLES}`,\n ]}\n component={TabletCellBundles}\n />\n <Route path={`/:cluster/${Page.NAVIGATION}`} component={Navigation} />\n <Route path={`/:cluster/${Page.PATH_VIEWER}`} component={PathViewer} />\n <Route path={`/:cluster/${Page.TABLET}`} component={Tablet} />\n <Route path={`/:cluster/${Page.USERS}`} component={UsersPage} />\n <Route path={`/:cluster/${Page.GROUPS}`} component={GroupsPage} />\n <Route path={`/:cluster/${Page.SCHEDULING}`} component={Scheduling} />\n {allowChyt && <Route path={`/:cluster/${Page.CHYT}`} component={ChytPage} />}\n {allowQueryTracker && (\n <Route path={`/:cluster/${Page.QUERIES}`} component={QueryTracker} />\n )}\n {hasOdinPage() && (\n <Route\n path={`/:cluster/${odinPageInfo.pageId}`}\n component={odinPageInfo.reactComponent}\n />\n )}\n\n <Redirect\n from={`/:cluster/${Page.VERSIONS}`}\n to={`/:cluster/${Page.COMPONENTS}/versions`}\n />\n {makeExtraPageRoutes()}\n <Redirect from={`/${cluster}/`} to={`/${cluster}/${startingPage}`} />\n </Switch>\n\n <Route path=\"/:cluster/:page/:tab?\" component={PageTracker} />\n </Fragment>\n ) : (\n <React.Fragment>\n <div className=\"preloader\">\n {hasError ? (\n this.renderError(clusterConfig)\n ) : (\n <p className=\"preloader__loading\">Loading {clusterConfig?.id}...</p>\n )}\n </div>\n <div className={b('error')}>\n {paramsError && <ErrorBlock error={paramsError} />}\n </div>\n </React.Fragment>\n );\n }\n\n render() {\n const {cluster, splitScreen, clusters} = this.props;\n\n // TODO: put current cluster config into redux state to avoid doing things like these here\n const clusterConfig = getClusterConfig(clusters, cluster);\n\n // FIXME: handle case when clusterConfig is undefined due to wrong cluster name\n return (\n <Fragment>\n <ClusterPageStopRumMeasure />\n <PageHeadByCluster cluster={cluster} />\n\n <ClusterPageHeader />\n\n <FlexSplitPane\n className={b('panes-wrapper', {\n 'with-pane': splitScreen.isSplit,\n })}\n paneClassNames={splitScreen.paneClassNames}\n direction={FlexSplitPane.HORIZONTAL}\n onResize={this.onResize}\n onResizeEnd={this.onResizeEnd}\n onSplit={this.handleSplit}\n onUnSplit={this.handleSplit}\n minSize={600}\n getInitialSizes={this.getInitialSizes}\n id={SPLIT_PANE_ID}\n >\n <div\n ref={this.contentPaneRef}\n className={b('content-pane', {\n split: splitScreen.isSplit && 'yes',\n width: this.state.width,\n })}\n >\n {this.renderContent(clusterConfig)}\n </div>\n\n {null}\n </FlexSplitPane>\n </Fragment>\n );\n }\n}\n\nfunction mapStateToProps(state) {\n const {\n login,\n maintenancePageEvent,\n splitScreen,\n loadState,\n error,\n paramsCluster,\n paramsLoading,\n paramsError,\n } = state.global;\n\n const clusters = state.clustersMenu.clusters;\n\n return {\n clusters,\n isLoaded: !paramsLoading && loadState === LOADING_STATUS.LOADED,\n hasError: loadState === LOADING_STATUS.ERROR,\n error,\n paramsError,\n login,\n splitScreen,\n maintenancePageEvent,\n isRedirectToBetaSwitched: isRedirectToBetaSwitched(state),\n isRecentClustersFirst: isRecentClustersFirst(state),\n isRecentPagesFirst: isRecentPagesFirst(state),\n clusterPagePaneSizes: getClusterPagePaneSizes(state),\n startingPage: getStartingPage(state),\n paramsCluster,\n allowQueryTracker: isQueryTrackerAllowed(state),\n allowChyt: Boolean(getClusterUiConfig(state).chyt_controller_base_url),\n };\n}\n\nconst mapDispatchToProps = {\n setSetting,\n trackVisit,\n splitMenuItemsAction,\n joinMenuItemsAction,\n updateTitle,\n initClusterParams,\n updateCluster,\n unmountCluster,\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ClusterPage);\n\nfunction RedirectToBanIfNeeded({to}) {\n const {blocked, banned} = useSelector((state) => state.global);\n const {pathname} = useLocation();\n const enableRedirect = (banned || blocked) && !pathname.endsWith('/ban');\n\n if (!enableRedirect) {\n return null;\n }\n\n return <Redirect to={to} />;\n}\n\nfunction ClusterPageStopRumMeasure() {\n const loadState = useSelector((state) => state.global.loadState);\n const paramsLoading = useSelector((state) => state.global.paramsLoading);\n\n const isLoaded =\n loadState === LOADING_STATUS.ERROR ||\n (!paramsLoading && loadState === LOADING_STATUS.LOADED);\n\n const cluster = useClusterFromLocation();\n\n useRumMeasureStart({\n type: RumMeasureTypes.CLUSTER_PARAMS,\n subPage: `ui.${cluster}`,\n allowStop: ([isLoaded]) => !isLoaded,\n startDeps: [isLoaded],\n });\n\n useRumMeasureStop({\n type: RumMeasureTypes.CLUSTER_PARAMS,\n allowStop: ([isLoaded]) => isLoaded,\n stopDeps: [isLoaded],\n });\n return null;\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["React","Component","Fragment","Redirect","Route","Switch","useLocation","connect","useSelector","cn","BanPage","MaintenancePage","HandleMaintenanceRedirect","Components","Operations","Accounts","Dashboard","System","Navigation","PathViewer","Tablet","TabletCellBundles","GroupsPage","UsersPage","Scheduling","QueryTracker","Job","ChytPage","ClusterPageHeader","PageTracker","PageHeadByCluster","ConnectionErrorRegion","GeneralErrorRegion","FlexSplitPane","ErrorBlock","LOADING_STATUS","LOAD_ERROR","Page","SPLIT_PANE_ID","joinMenuItemsAction","splitMenuItemsAction","trackVisit","setSetting","initClusterParams","unmountCluster","updateCluster","updateTitle","getClusterUiConfig","isQueryTrackerAllowed","getClusterConfig","NAMESPACES","SettingName","getClusterPagePaneSizes","getStartingPage","isRecentClustersFirst","isRecentPagesFirst","isRedirectToBetaSwitched","SupportedFeaturesUpdater","useRumMeasureStart","useRumMeasureStop","RumMeasureTypes","useClusterFromLocation","makeExtraPageRoutes","odinPageInfo","hasOdinPage","jsx","_jsx","jsxs","_jsxs","b","RedirectToBanIfNeededMemo","memo","RedirectToBanIfNeeded","ClusterPage","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","state","width","contentPaneRef","createRef","_onUpdateEnd","_this$props","props","cluster","Promise","resolve","then","DEVELOPMENT","REDIRECT_TO_BETA_SWITCHED","REDIRECT_TO_BETA","_initMenuCollection","onResize","splitScreen","toolbar","document","querySelector","isSplit","gutterWidth","offset","getElementById","clientWidth","style","right","window","dispatchEvent","Event","handleSplit","updateWidthModifier","onResizeEnd","sizes","NAVIGATION","CLUSTER_PAGE_PANE_SIZES","getInitialSizes","clusterPagePaneSizes","_createClass","key","value","componentDidMount","getSnapshotBeforeUpdate","prevProps","pageYOffset","current","scrollTop","componentDidUpdate","prevState","prevScroll","scrollBy","prevCluster","componentWillUnmount","path","page","itemName","_this$props2","settingsMap","_this$contentPaneRef$","currentWidth","Infinity","setState","renderError","clusterConfig","_ref","error","errorType","CONNECTION","id","AUTHENTICATION","message","GENERAL","isParamsLoading","_this$props3","paramsCluster","renderContent","_this$props4","startingPage","isLoaded","hasError","paramsError","allowChyt","allowQueryTracker","children","to","BAN","component","MAINTENANCE","COMPONENTS","OPERATIONS","JOB","DASHBOARD","SYSTEM","ACCOUNTS","TABLET_CELL_BUNDLES","CHAOS_CELL_BUNDLES","PATH_VIEWER","TABLET","USERS","GROUPS","SCHEDULING","CHYT","QUERIES","pageId","reactComponent","from","VERSIONS","className","render","_this$props5","clusters","ClusterPageStopRumMeasure","paneClassNames","direction","HORIZONTAL","onSplit","onUnSplit","minSize","ref","split","mapStateToProps","_state$global","global","login","maintenancePageEvent","loadState","paramsLoading","clustersMenu","LOADED","ERROR","Boolean","chyt_controller_base_url","mapDispatchToProps","_ref2","_useSelector","blocked","banned","_useLocation","pathname","enableRedirect","endsWith","type","CLUSTER_PARAMS","subPage","allowStop","_ref3","_ref4","_slicedToArray","startDeps","_ref5","_ref6","stopDeps"],"sources":["ClusterPage.js"],"sourcesContent":["import React, {Component, Fragment} from 'react';\nimport {Redirect, Route, Switch, useLocation} from 'react-router';\nimport {connect, useSelector} from 'react-redux';\nimport PropTypes from 'prop-types';\nimport cn from 'bem-cn-lite';\n\nimport BanPage from '../BanPage/BanPage';\nimport MaintenancePage from '../MaintenancePage/MaintenancePage';\nimport HandleMaintenanceRedirect from '../MaintenancePage/HandleRedirect';\nimport Components from '../../pages/components/Components/Components';\nimport Operations from '../../pages/operations/Operations/Operations';\nimport Accounts from '../../pages/accounts/Accounts/Accounts';\nimport Dashboard from '../../pages/dashboard/Dashboard/Dashboard';\nimport {System} from '../../pages/system/System/System';\nimport Navigation from '../../pages/navigation/Navigation/Navigation';\nimport PathViewer from '../../pages/path-viewer/PathViewer';\nimport Tablet from '../../pages/tablet/Tablet';\nimport TabletCellBundles from '../../pages/tablet_cell_bundles/TabletCellBundles';\nimport GroupsPage from '../../pages/groups/GroupsPage';\nimport UsersPage from '../../pages/users/UsersPage';\nimport Scheduling from '../../pages/scheduling/Scheduling/Scheduling';\nimport QueryTracker from '../../pages/query-tracker/QueryTracker';\nimport Job from '../../pages/job/Job';\nimport {ChytPage} from '../../pages/chyt';\n\nimport ClusterPageHeader from '../ClusterPageHeader/ClusterPageHeader';\nimport PageTracker from './PageTracker';\n\nimport {PageHeadByCluster} from '../../components/PageHead/PageHead';\nimport ConnectionErrorRegion from '../../components/PreloaderErrors/ConnectionErrorRegion';\nimport GeneralErrorRegion from '../../components/PreloaderErrors/GeneralErrorRegion';\nimport FlexSplitPane from '../../components/FlexSplitPane/FlexSplitPane';\nimport ErrorBlock from '../../components/Error/Error';\n\nimport {LOADING_STATUS, LOAD_ERROR, Page, SPLIT_PANE_ID} from '../../constants/index';\nimport {joinMenuItemsAction, splitMenuItemsAction, trackVisit} from '../../store/actions/menu';\nimport {setSetting} from '../../store/actions/settings';\nimport {initClusterParams, unmountCluster, updateCluster} from '../../store/actions/cluster-params';\nimport {updateTitle} from '../../store/actions/global';\nimport {getClusterUiConfig, isQueryTrackerAllowed} from '../../store/selectors/global';\nimport {getClusterConfig} from '../../utils';\nimport {NAMESPACES, SettingName} from '../../../shared/constants/settings';\nimport {\n getClusterPagePaneSizes,\n getStartingPage,\n isRecentClustersFirst,\n isRecentPagesFirst,\n isRedirectToBetaSwitched,\n} from '../../store/selectors/settings';\nimport SupportedFeaturesUpdater from './SupportedFeaturesUpdater';\nimport {useRumMeasureStart, useRumMeasureStop} from '../../rum/RumUiContext';\nimport {RumMeasureTypes} from '../../rum/rum-measure-types';\nimport {useClusterFromLocation} from '../../hooks/use-cluster';\nimport {makeExtraPageRoutes} from './ExtraClusterPageRoutes';\nimport {odinPageInfo} from '../../pages/odin';\nimport {hasOdinPage} from '../../config';\n\nimport './ClusterPage.scss';\n\nconst b = cn('cluster-page');\n\nconst RedirectToBanIfNeededMemo = React.memo(RedirectToBanIfNeeded);\n\nclass ClusterPage extends Component {\n static propTypes = {\n cluster: PropTypes.string,\n\n // from connect\n clusters: PropTypes.object.isRequired,\n clusterPagePaneSizes: PropTypes.array,\n login: PropTypes.string,\n queriesPageAllowed: PropTypes.bool,\n maintenancePageEvent: PropTypes.object,\n startingPage: PropTypes.string.isRequired,\n isLoaded: PropTypes.bool.isRequired,\n hasError: PropTypes.bool.isRequired,\n error: PropTypes.shape({\n errorType: PropTypes.string,\n }).isRequired,\n paramsError: PropTypes.any,\n splitScreen: PropTypes.shape({\n isSplit: PropTypes.bool.isRequired,\n paneClassNames: PropTypes.array.isRequired,\n }).isRequired,\n\n splitMenuItemsAction: PropTypes.func.isRequired,\n setSetting: PropTypes.func.isRequired,\n joinMenuItemsAction: PropTypes.func.isRequired,\n initClusterParams: PropTypes.func.isRequired,\n updateCluster: PropTypes.func.isRequired,\n updateTitle: PropTypes.func.isRequired,\n unmountCluster: PropTypes.func.isRequired,\n trackVisit: PropTypes.func.isRequired,\n\n allowChyt: PropTypes.bool,\n allowQueryTracker: PropTypes.bool,\n };\n\n state = {\n width: 'large',\n };\n\n componentDidMount() {\n const {cluster} = this.props;\n this.props.updateCluster(cluster, this._onUpdateEnd);\n }\n\n getSnapshotBeforeUpdate(prevProps) {\n if (prevProps.splitScreen.isSplit !== this.props.splitScreen.isSplit) {\n return this.props.splitScreen.isSplit\n ? window.pageYOffset\n : this.contentPaneRef.current.scrollTop;\n }\n\n return null;\n }\n\n componentDidUpdate(prevProps, prevState, prevScroll) {\n if (prevScroll !== null) {\n if (this.props.splitScreen.isSplit) {\n this.contentPaneRef.current.scrollTop = prevScroll;\n }\n\n window.scrollBy(0, prevScroll);\n }\n\n const {cluster: prevCluster} = prevProps;\n const {cluster} = this.props;\n\n if (cluster !== prevCluster) {\n this.props.updateCluster(cluster, this._onUpdateEnd);\n }\n }\n\n componentWillUnmount() {\n this.props.updateTitle({path: '', page: ''});\n this.props.unmountCluster();\n }\n\n contentPaneRef = React.createRef();\n\n _onUpdateEnd = () => {\n const {\n cluster,\n trackVisit,\n updateTitle,\n initClusterParams,\n isRedirectToBetaSwitched,\n setSetting,\n } = this.props;\n\n return Promise.resolve().then(() => {\n initClusterParams(cluster);\n updateTitle({cluster});\n\n // todo: get rid of redirectToBetaSwitched setting.\n // It`s exist for set default value of redirectToBeta setting, when settings document is empty yet.\n // Set redirectToBeta on server after get all user settings (home.js). Or get rid of this logic at all.\n if (!isRedirectToBetaSwitched) {\n setSetting(\n SettingName.DEVELOPMENT.REDIRECT_TO_BETA_SWITCHED,\n NAMESPACES.DEVELOPMENT,\n true,\n );\n setSetting(SettingName.DEVELOPMENT.REDIRECT_TO_BETA, NAMESPACES.DEVELOPMENT, true);\n }\n\n this._initMenuCollection('cluster');\n this._initMenuCollection('page');\n trackVisit('cluster', cluster);\n });\n };\n\n _initMenuCollection(itemName) {\n const {splitMenuItemsAction, joinMenuItemsAction} = this.props;\n\n const settingsMap = {\n cluster: 'isRecentClustersFirst',\n page: 'isRecentPagesFirst',\n };\n\n if (this.props[settingsMap[itemName]]) {\n splitMenuItemsAction(itemName);\n } else {\n joinMenuItemsAction(`${itemName}s`);\n }\n }\n\n onResize = () => {\n const {splitScreen} = this.props;\n const toolbar = document.querySelector('#elements-toolbar');\n\n if (splitScreen.isSplit && toolbar) {\n const gutterWidth = 10;\n const offset = document.getElementById(SPLIT_PANE_ID).clientWidth + gutterWidth;\n toolbar.style.right = `${offset}px`;\n } else if (toolbar) {\n toolbar.style.right = '0';\n }\n\n window.dispatchEvent(new Event('resize'));\n };\n\n handleSplit = () => {\n this.onResize();\n // fight the table toolbar becoming invisible after toggling YQLWidget and before first scroll\n window.dispatchEvent(new Event('scroll'));\n this.updateWidthModifier();\n };\n\n updateWidthModifier() {\n const currentWidth = this.contentPaneRef.current?.clientWidth || Infinity;\n if (currentWidth <= 720) {\n this.setState({width: 'small'});\n } else if (currentWidth <= 1024) {\n this.setState({width: 'medium'});\n } else {\n this.setState({width: 'large'});\n }\n }\n\n onResizeEnd = (sizes) => {\n this.props.setSetting(\n SettingName.NAVIGATION.CLUSTER_PAGE_PANE_SIZES,\n NAMESPACES.NAVIGATION,\n sizes,\n );\n this.updateWidthModifier();\n };\n\n getInitialSizes = () => {\n return this.props.clusterPagePaneSizes;\n };\n\n renderError(clusterConfig) {\n const {errorType} = this.props.error || {};\n\n switch (errorType) {\n case LOAD_ERROR.CONNECTION:\n return <ConnectionErrorRegion cluster={clusterConfig.id} />;\n case LOAD_ERROR.AUTHENTICATION:\n return (\n <GeneralErrorRegion\n cluster={clusterConfig.id}\n message={\n 'Could not fetch the XSRF token, therefore preventing further operations. Sometimes ' +\n 'token fetching fails due to the network issues. If the problem persists, please report it ' +\n 'via Bug Reporter.'\n }\n />\n );\n case LOAD_ERROR.GENERAL:\n return (\n <GeneralErrorRegion message=\"Unexpected error occurred. If problem persists please report it via Bug Reporter.\" />\n );\n }\n }\n\n isParamsLoading() {\n const {cluster, paramsCluster} = this.props;\n return cluster !== paramsCluster;\n }\n\n renderContent(clusterConfig) {\n const {\n cluster,\n startingPage,\n isLoaded,\n hasError,\n paramsError,\n allowChyt,\n allowQueryTracker,\n } = this.props;\n\n return isLoaded && !this.isParamsLoading() ? (\n <Fragment>\n <SupportedFeaturesUpdater />\n <HandleMaintenanceRedirect />\n <RedirectToBanIfNeededMemo to={`/${cluster}/${Page.BAN}`} />\n <Switch>\n <Route path={`/:cluster/${Page.BAN}`} component={BanPage} />\n <Route path={`/:cluster/${Page.MAINTENANCE}`} component={MaintenancePage} />\n <Route path={`/:cluster/${Page.COMPONENTS}`} component={Components} />\n <Route path={`/:cluster/${Page.OPERATIONS}`} component={Operations} />\n <Route path={`/:cluster/${Page.JOB}`} component={Job} />\n <Route path={`/:cluster/${Page.DASHBOARD}`} component={Dashboard} />\n <Route path={`/:cluster/${Page.SYSTEM}`} component={System} />\n <Route path={`/:cluster/${Page.ACCOUNTS}`} component={Accounts} />\n <Route\n path={[\n `/:cluster/${Page.TABLET_CELL_BUNDLES}`,\n `/:cluster/${Page.CHAOS_CELL_BUNDLES}`,\n ]}\n component={TabletCellBundles}\n />\n <Route path={`/:cluster/${Page.NAVIGATION}`} component={Navigation} />\n <Route path={`/:cluster/${Page.PATH_VIEWER}`} component={PathViewer} />\n <Route path={`/:cluster/${Page.TABLET}`} component={Tablet} />\n <Route path={`/:cluster/${Page.USERS}`} component={UsersPage} />\n <Route path={`/:cluster/${Page.GROUPS}`} component={GroupsPage} />\n <Route path={`/:cluster/${Page.SCHEDULING}`} component={Scheduling} />\n {allowChyt && <Route path={`/:cluster/${Page.CHYT}`} component={ChytPage} />}\n {allowQueryTracker && (\n <Route path={`/:cluster/${Page.QUERIES}`} component={QueryTracker} />\n )}\n {hasOdinPage() && (\n <Route\n path={`/:cluster/${odinPageInfo.pageId}`}\n component={odinPageInfo.reactComponent}\n />\n )}\n\n <Redirect\n from={`/:cluster/${Page.VERSIONS}`}\n to={`/:cluster/${Page.COMPONENTS}/versions`}\n />\n {makeExtraPageRoutes()}\n <Redirect from={`/${cluster}/`} to={`/${cluster}/${startingPage}`} />\n </Switch>\n\n <Route path=\"/:cluster/:page/:tab?\" component={PageTracker} />\n </Fragment>\n ) : (\n <React.Fragment>\n <div className=\"preloader\">\n {hasError ? (\n this.renderError(clusterConfig)\n ) : (\n <p className=\"preloader__loading\">Loading {clusterConfig?.id}...</p>\n )}\n </div>\n <div className={b('error')}>\n {paramsError && <ErrorBlock error={paramsError} />}\n </div>\n </React.Fragment>\n );\n }\n\n render() {\n const {cluster, splitScreen, clusters} = this.props;\n\n // TODO: put current cluster config into redux state to avoid doing things like these here\n const clusterConfig = getClusterConfig(clusters, cluster);\n\n // FIXME: handle case when clusterConfig is undefined due to wrong cluster name\n return (\n <Fragment>\n <ClusterPageStopRumMeasure />\n <PageHeadByCluster cluster={cluster} />\n\n <ClusterPageHeader />\n\n <FlexSplitPane\n className={b('panes-wrapper', {\n 'with-pane': splitScreen.isSplit,\n })}\n paneClassNames={splitScreen.paneClassNames}\n direction={FlexSplitPane.HORIZONTAL}\n onResize={this.onResize}\n onResizeEnd={this.onResizeEnd}\n onSplit={this.handleSplit}\n onUnSplit={this.handleSplit}\n minSize={600}\n getInitialSizes={this.getInitialSizes}\n id={SPLIT_PANE_ID}\n >\n <div\n ref={this.contentPaneRef}\n className={b('content-pane', {\n split: splitScreen.isSplit && 'yes',\n width: this.state.width,\n })}\n >\n {this.renderContent(clusterConfig)}\n </div>\n\n {null}\n </FlexSplitPane>\n </Fragment>\n );\n }\n}\n\nfunction mapStateToProps(state) {\n const {\n login,\n maintenancePageEvent,\n splitScreen,\n loadState,\n error,\n paramsCluster,\n paramsLoading,\n paramsError,\n } = state.global;\n\n const clusters = state.clustersMenu.clusters;\n\n return {\n clusters,\n isLoaded: !paramsLoading && loadState === LOADING_STATUS.LOADED,\n hasError: loadState === LOADING_STATUS.ERROR,\n error,\n paramsError,\n login,\n splitScreen,\n maintenancePageEvent,\n isRedirectToBetaSwitched: isRedirectToBetaSwitched(state),\n isRecentClustersFirst: isRecentClustersFirst(state),\n isRecentPagesFirst: isRecentPagesFirst(state),\n clusterPagePaneSizes: getClusterPagePaneSizes(state),\n startingPage: getStartingPage(state),\n paramsCluster,\n allowQueryTracker: isQueryTrackerAllowed(state),\n allowChyt: Boolean(getClusterUiConfig(state).chyt_controller_base_url),\n };\n}\n\nconst mapDispatchToProps = {\n setSetting,\n trackVisit,\n splitMenuItemsAction,\n joinMenuItemsAction,\n updateTitle,\n initClusterParams,\n updateCluster,\n unmountCluster,\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ClusterPage);\n\nfunction RedirectToBanIfNeeded({to}) {\n const {blocked, banned} = useSelector((state) => state.global);\n const {pathname} = useLocation();\n const enableRedirect = (banned || blocked) && !pathname.endsWith('/ban');\n\n if (!enableRedirect) {\n return null;\n }\n\n return <Redirect to={to} />;\n}\n\nfunction ClusterPageStopRumMeasure() {\n const loadState = useSelector((state) => state.global.loadState);\n const paramsLoading = useSelector((state) => state.global.paramsLoading);\n\n const isLoaded =\n loadState === LOADING_STATUS.ERROR ||\n (!paramsLoading && loadState === LOADING_STATUS.LOADED);\n\n const cluster = useClusterFromLocation();\n\n useRumMeasureStart({\n type: RumMeasureTypes.CLUSTER_PARAMS,\n subPage: `ui.${cluster}`,\n allowStop: ([isLoaded]) => !isLoaded,\n startDeps: [isLoaded],\n });\n\n useRumMeasureStop({\n type: RumMeasureTypes.CLUSTER_PARAMS,\n allowStop: ([isLoaded]) => isLoaded,\n stopDeps: [isLoaded],\n });\n return null;\n}\n"],"mappings":"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"}
|
@@ -31,11 +31,18 @@
|
|
31
31
|
.versions-summary__row_special {
|
32
32
|
background-color: var(--light-background);
|
33
33
|
}
|
34
|
-
|
35
|
-
|
34
|
+
.versions-summary__monitoring-link {
|
35
|
+
display: flex;
|
36
|
+
align-items: center;
|
37
|
+
gap: 0 4px;
|
38
|
+
}
|
39
|
+
.versions-summary__header-actions {
|
40
|
+
display: flex;
|
41
|
+
align-items: center;
|
42
|
+
gap: 0 10px;
|
36
43
|
position: relative;
|
37
|
-
top: -33px;
|
38
44
|
right: 10px;
|
45
|
+
top: -33px;
|
39
46
|
float: right;
|
40
47
|
}
|
41
48
|
/*# sourceMappingURL=VersionSummary.css.map */
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["VersionSummary.scss"],"names":[],"mappings":"AACI;EACI,sBAAA;EACA,6CAAA;EACA,YAAA;AAAR;AAGI;EACI,4CAAA;AADR;AAII;EACI,iBAAA;EACA,sBAAA;AAFR;AAKI;EACI,gBAAA;EACA,gBAAA;AAHR;AAQY;EACI,eAAA;EACA,wBAAA;AANhB;AAWI;EACI,aAAA;EACA,mBAAA;AATR;AAaQ;EACI,kBAAA;AAXZ;AAeY;EACI,mBAAA;AAbhB;AAmBQ;EACI,yCAAA;AAjBZ
|
1
|
+
{"version":3,"sources":["VersionSummary.scss"],"names":[],"mappings":"AACI;EACI,sBAAA;EACA,6CAAA;EACA,YAAA;AAAR;AAGI;EACI,4CAAA;AADR;AAII;EACI,iBAAA;EACA,sBAAA;AAFR;AAKI;EACI,gBAAA;EACA,gBAAA;AAHR;AAQY;EACI,eAAA;EACA,wBAAA;AANhB;AAWI;EACI,aAAA;EACA,mBAAA;AATR;AAaQ;EACI,kBAAA;AAXZ;AAeY;EACI,mBAAA;AAbhB;AAmBQ;EACI,yCAAA;AAjBZ;AAqBI;EACI,aAAA;EACA,mBAAA;EACA,UAAA;AAnBR;AAsBI;EACI,aAAA;EACA,mBAAA;EACA,WAAA;EACA,kBAAA;EACA,WAAA;EACA,UAAA;EACA,YAAA;AApBR","file":"VersionSummary.css","sourcesContent":[".versions-summary {\n .data-table__row {\n box-sizing: border-box;\n border-bottom: 1px solid var(--light-divider);\n height: 40px;\n }\n\n .data-table__head-row {\n border-bottom: 1px solid var(--dark-divider);\n }\n\n .data-table__td {\n padding-left: 8px;\n vertical-align: middle;\n }\n\n .data-table__th {\n max-width: 100px;\n min-width: 100px;\n }\n\n &__value {\n &_clickable {\n &:hover {\n cursor: pointer;\n color: var(--hover-link);\n }\n }\n }\n\n &__version {\n display: flex;\n align-items: center;\n }\n\n .data-table__row {\n .yt-clipboard-button {\n visibility: hidden;\n }\n\n &:hover {\n .yt-clipboard-button {\n visibility: unset;\n }\n }\n }\n\n &__row {\n &_special {\n background-color: var(--light-background);\n }\n }\n\n &__monitoring-link {\n display: flex;\n align-items: center;\n gap: 0 4px;\n }\n\n &__header-actions {\n display: flex;\n align-items: center;\n gap: 0 10px;\n position: relative;\n right: 10px;\n top: -33px;\n float: right;\n }\n}\n"],"sourceRoot":""}
|
@@ -27,6 +27,7 @@ declare class VersionsSummary extends React.Component<Props> {
|
|
27
27
|
declare const connector: import("react-redux").InferableComponentEnhancerWithProps<{
|
28
28
|
loading: boolean;
|
29
29
|
loaded: boolean;
|
30
|
+
cluster: string;
|
30
31
|
items: VersionSummaryItem[];
|
31
32
|
sortState: import("../../../../types").SortState<"version" | import("../../../../store/reducers/components/versions/versions_v2").HostType | "banned" | "online" | "offline"> | undefined;
|
32
33
|
checkedHideOffline: boolean;
|
@@ -43,6 +44,7 @@ declare const connector: import("react-redux").InferableComponentEnhancerWithPro
|
|
43
44
|
declare const _default: import("react-redux").ConnectedComponent<typeof VersionsSummary, import("react-redux").Omit<React.ClassAttributes<VersionsSummary> & {
|
44
45
|
loading: boolean;
|
45
46
|
loaded: boolean;
|
47
|
+
cluster: string;
|
46
48
|
items: VersionSummaryItem[];
|
47
49
|
sortState: import("../../../../types").SortState<"version" | import("../../../../store/reducers/components/versions/versions_v2").HostType | "banned" | "online" | "offline"> | undefined;
|
48
50
|
checkedHideOffline: boolean;
|
@@ -55,5 +57,5 @@ declare const _default: import("react-redux").ConnectedComponent<typeof Versions
|
|
55
57
|
changeVersionStateTypeFilters: typeof changeVersionStateTypeFilters;
|
56
58
|
setVersionsSummarySortState: typeof setVersionsSummarySortState;
|
57
59
|
changeCheckedHideOffline: typeof changeCheckedHideOffline;
|
58
|
-
}, "loading" | "loaded" | "items" | "checkedHideOffline" | "visibleColumns" | "sortState" | "changeVersionStateTypeFilters" | "setVersionsSummarySortState" | "changeCheckedHideOffline">>;
|
60
|
+
}, "cluster" | "loading" | "loaded" | "items" | "checkedHideOffline" | "visibleColumns" | "sortState" | "changeVersionStateTypeFilters" | "setVersionsSummarySortState" | "changeCheckedHideOffline">>;
|
59
61
|
export default _default;
|
@@ -16,6 +16,9 @@ import Link from '../../../../components/Link/Link';
|
|
16
16
|
import ColumnHeader from '../../../../components/ColumnHeader/ColumnHeader';
|
17
17
|
import { VersionCellWithAction } from './VersionCell';
|
18
18
|
import "./VersionSummary.css";
|
19
|
+
import UIFactory from '../../../../UIFactory';
|
20
|
+
import { getCluster } from '../../../../store/selectors/global';
|
21
|
+
import { formatByParams } from '../../../../utils/format';
|
19
22
|
import { jsx as _jsx } from "react/jsx-runtime";
|
20
23
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
21
24
|
var block = cn('versions-summary');
|
@@ -177,15 +180,28 @@ var VersionsSummary = /*#__PURE__*/function (_React$Component) {
|
|
177
180
|
items = _this$props2.items,
|
178
181
|
loading = _this$props2.loading,
|
179
182
|
loaded = _this$props2.loaded,
|
183
|
+
cluster = _this$props2.cluster,
|
180
184
|
checkedHideOffline = _this$props2.checkedHideOffline;
|
185
|
+
var monitoringLink = UIFactory.getVersionMonitoringLink(cluster);
|
181
186
|
return /*#__PURE__*/_jsxs("div", {
|
182
187
|
className: block(),
|
183
|
-
children: [/*#__PURE__*/
|
184
|
-
className: '
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
188
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
189
|
+
className: block('header-actions'),
|
190
|
+
children: [monitoringLink && /*#__PURE__*/_jsxs(Link, {
|
191
|
+
url: formatByParams(monitoringLink.urlTemplate, {
|
192
|
+
ytCluster: cluster
|
193
|
+
}),
|
194
|
+
target: "_blank",
|
195
|
+
className: block('monitoring-link'),
|
196
|
+
children: [monitoringLink.title || 'Monitoring', " ", /*#__PURE__*/_jsx(Icon, {
|
197
|
+
awesome: "external-link"
|
198
|
+
})]
|
199
|
+
}), /*#__PURE__*/_jsx(Checkbox, {
|
200
|
+
title: 'Hide offline',
|
201
|
+
content: 'Hide offline',
|
202
|
+
defaultChecked: checkedHideOffline,
|
203
|
+
onUpdate: this.handleHideOffline
|
204
|
+
})]
|
189
205
|
}), /*#__PURE__*/_jsx(DataTableYT, {
|
190
206
|
loaded: loaded,
|
191
207
|
loading: loading,
|
@@ -211,12 +227,14 @@ var mapStateToProps = function mapStateToProps(state) {
|
|
211
227
|
var _state$components$ver = state.components.versionsV2,
|
212
228
|
loading = _state$components$ver.loading,
|
213
229
|
loaded = _state$components$ver.loaded;
|
230
|
+
var cluster = getCluster(state);
|
214
231
|
var items = getVersionsSummaryData(state);
|
215
232
|
var sortState = getSummarySortState(state);
|
216
233
|
var visibleColumns = getVersionsSummaryVisibleColumns(state);
|
217
234
|
return {
|
218
235
|
loading: loading,
|
219
236
|
loaded: loaded,
|
237
|
+
cluster: cluster,
|
220
238
|
items: items,
|
221
239
|
sortState: sortState,
|
222
240
|
checkedHideOffline: getHideOfflineValue(state),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","connect","cn","Checkbox","DataTableYT","getHideOfflineValue","getSummarySortState","getVersionsSummaryData","getVersionsSummaryVisibleColumns","hammer","changeCheckedHideOffline","changeVersionStateTypeFilters","setVersionsSummarySortState","Icon","Link","ColumnHeader","VersionCellWithAction","jsx","_jsx","jsxs","_jsxs","block","SETTINGS","displayIndices","isSpecialRow","version","VersionsSummary","_React$Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","renderVersion","_ref","row","props","content","Fragment","children","theme","onClick","state","awesome","format","className","renderNumber","key","rowData","value","NO_VALUE","undefined","clickable","Boolean","title","handleHideOffline","data","rowVersion","isSpecial","banned","type","_createClass","getColumns","makeColumnInfo","_ref2","name","shortName","sortable","render","bind","align","header","renderHeader","_this$props","sortState","_ref3","column","order","shortTitle","toggleSort","withUndefined","_this2","visibleColumns","columns","sortAccessor","_toConsumableArray","map","item","_this$props2","items","loading","loaded","checkedHideOffline","defaultChecked","onUpdate","settings","rowClassName","special","Component","mapStateToProps","_state$components$ver","components","versionsV2","mapDispatchToProps","connector"],"sources":["VersionSummary.tsx"],"sourcesContent":["import React from 'react';\nimport {ConnectedProps, connect} from 'react-redux';\nimport cn from 'bem-cn-lite';\n\nimport {Checkbox} from '@gravity-ui/uikit';\n\nimport {RootState} from '../../../../store/reducers';\nimport DataTableYT from '../../../../components/DataTableYT/DataTableYT';\nimport * as DT100 from '@gravity-ui/react-data-table';\nimport {\n getHideOfflineValue,\n getSummarySortState,\n getVersionsSummaryData,\n getVersionsSummaryVisibleColumns,\n} from '../../../../store/selectors/components/versions/versions_v2-ts';\n\nimport hammer from '../../../../common/hammer';\n\nimport {\n changeCheckedHideOffline,\n changeVersionStateTypeFilters,\n setVersionsSummarySortState,\n} from '../../../../store/actions/components/versions/versions_v2';\nimport Icon from '../../../../components/Icon/Icon';\nimport Link from '../../../../components/Link/Link';\nimport ColumnHeader from '../../../../components/ColumnHeader/ColumnHeader';\nimport {VersionCellWithAction} from './VersionCell';\nimport {VersionSummaryItem} from '../../../../store/reducers/components/versions/versions_v2';\n\nimport './VersionSummary.scss';\n\nconst block = cn('versions-summary');\n\ntype Props = ConnectedProps<typeof connector>;\n\ntype RenderData = {row: VersionSummaryItem; index: number};\n\nconst SETTINGS: DT100.Settings = {\n displayIndices: false,\n};\n\nfunction isSpecialRow(version: string) {\n return version === 'error' || version === 'total';\n}\n\nclass VersionsSummary extends React.Component<Props> {\n getColumns(): Array<DT100.Column<VersionSummaryItem>> {\n return [];\n }\n renderVersion = ({row: {version}}: RenderData) => {\n const {changeVersionStateTypeFilters} = this.props;\n let content;\n if (version === 'error') {\n content = (\n <React.Fragment>\n <Link\n theme={'primary'}\n onClick={() => {\n changeVersionStateTypeFilters({state: 'error'});\n }}\n >\n <Icon awesome={'exclamation-triangle'} />{' '}\n {hammer.format['Readable'](version)}\n </Link>\n </React.Fragment>\n );\n } else if (version === 'total') {\n content = hammer.format['Readable'](version);\n } else {\n content = (\n <div className={block('version')}>\n <VersionCellWithAction version={version} />\n </div>\n );\n }\n\n return <span className={block('value')}>{content}</span>;\n };\n renderNumber = (key: keyof VersionSummaryItem, rowData: RenderData) => {\n const {row} = rowData;\n const value = row[key];\n const content = !value ? hammer.format.NO_VALUE : hammer.format['Number'](value);\n const onClick = !value\n ? undefined\n : () => {\n this.onClick(key, rowData);\n };\n return (\n <span\n className={block('value', {clickable: Boolean(onClick)})}\n onClick={onClick}\n title={onClick ? 'Click to set corresponding filter values' : undefined}\n >\n {content}\n </span>\n );\n };\n\n makeColumnInfo({\n type,\n name,\n shortName,\n }: {\n type: keyof VersionSummaryItem;\n name: string;\n shortName?: string;\n }): DT100.Column<VersionSummaryItem> {\n return {\n name: shortName || name,\n title: name,\n sortable: false,\n render: this.renderNumber.bind(this, type),\n align: 'right',\n header: this.renderHeader(type, name, shortName),\n };\n }\n\n renderHeader(key: keyof VersionSummaryItem, name: string, shortName?: string) {\n const {sortState, setVersionsSummarySortState} = this.props;\n const {column, order} = sortState || {};\n return (\n <ColumnHeader<typeof key>\n sortable={true}\n column={key}\n title={name}\n shortTitle={shortName || name}\n toggleSort={(column, order) => {\n setVersionsSummarySortState({column, order});\n }}\n order={key === column ? order : ''}\n withUndefined\n />\n );\n }\n\n handleHideOffline = (value: boolean) => {\n this.props.changeCheckedHideOffline(value);\n };\n\n render() {\n const {visibleColumns} = this.props;\n const columns: Array<DT100.Column<VersionSummaryItem>> = [\n {\n name: 'version',\n render: this.renderVersion,\n sortable: false,\n sortAccessor: (row) => row.version,\n header: this.renderHeader('version', 'Versions'),\n },\n\n ...visibleColumns.map((item) => this.makeColumnInfo(item)),\n ];\n\n const {items, loading, loaded, checkedHideOffline} = this.props;\n\n return (\n <div className={block()}>\n <Checkbox\n className={'hide-offline-checkbox'}\n title={'Hide offline'}\n content={'Hide offline'}\n defaultChecked={checkedHideOffline}\n onUpdate={this.handleHideOffline}\n />\n <DataTableYT\n loaded={loaded}\n loading={loading}\n data={items}\n columns={columns}\n theme={'versions'}\n settings={SETTINGS}\n rowClassName={this.rowClassName}\n />\n </div>\n );\n }\n\n rowClassName(row: VersionSummaryItem) {\n return block('row', {special: isSpecialRow(row.version)});\n }\n\n onClick = (key: keyof VersionSummaryItem, data: RenderData) => {\n const {changeVersionStateTypeFilters} = this.props;\n const {\n row: {version: rowVersion},\n } = data;\n const isSpecial = isSpecialRow(rowVersion);\n const version = !isSpecial ? rowVersion : undefined;\n\n const state = rowVersion === 'error' ? 'error' : undefined;\n\n if (key === 'online' || key === 'offline') {\n changeVersionStateTypeFilters({version, state: state || key});\n } else if (key === 'banned') {\n changeVersionStateTypeFilters({version, banned: true});\n } else {\n changeVersionStateTypeFilters({version, type: key, state});\n }\n };\n}\n\nconst mapStateToProps = (state: RootState) => {\n const {loading, loaded} = state.components.versionsV2;\n\n const items = getVersionsSummaryData(state);\n const sortState = getSummarySortState(state);\n\n const visibleColumns = getVersionsSummaryVisibleColumns(state);\n\n return {\n loading: loading as boolean,\n loaded: loaded as boolean,\n items,\n sortState,\n checkedHideOffline: getHideOfflineValue(state),\n visibleColumns,\n };\n};\n\nconst mapDispatchToProps = {\n changeVersionStateTypeFilters,\n setVersionsSummarySortState,\n changeCheckedHideOffline,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default connector(VersionsSummary);\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["React","connect","cn","Checkbox","DataTableYT","getHideOfflineValue","getSummarySortState","getVersionsSummaryData","getVersionsSummaryVisibleColumns","hammer","changeCheckedHideOffline","changeVersionStateTypeFilters","setVersionsSummarySortState","Icon","Link","ColumnHeader","VersionCellWithAction","UIFactory","getCluster","formatByParams","jsx","_jsx","jsxs","_jsxs","block","SETTINGS","displayIndices","isSpecialRow","version","VersionsSummary","_React$Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","renderVersion","_ref","row","props","content","Fragment","children","theme","onClick","state","awesome","format","className","renderNumber","key","rowData","value","NO_VALUE","undefined","clickable","Boolean","title","handleHideOffline","data","rowVersion","isSpecial","banned","type","_createClass","getColumns","makeColumnInfo","_ref2","name","shortName","sortable","render","bind","align","header","renderHeader","_this$props","sortState","_ref3","column","order","shortTitle","toggleSort","withUndefined","_this2","visibleColumns","columns","sortAccessor","_toConsumableArray","map","item","_this$props2","items","loading","loaded","cluster","checkedHideOffline","monitoringLink","getVersionMonitoringLink","url","urlTemplate","ytCluster","target","defaultChecked","onUpdate","settings","rowClassName","special","Component","mapStateToProps","_state$components$ver","components","versionsV2","mapDispatchToProps","connector"],"sources":["VersionSummary.tsx"],"sourcesContent":["import React from 'react';\nimport {ConnectedProps, connect} from 'react-redux';\nimport cn from 'bem-cn-lite';\n\nimport {Checkbox} from '@gravity-ui/uikit';\n\nimport {RootState} from '../../../../store/reducers';\nimport DataTableYT from '../../../../components/DataTableYT/DataTableYT';\nimport * as DT100 from '@gravity-ui/react-data-table';\nimport {\n getHideOfflineValue,\n getSummarySortState,\n getVersionsSummaryData,\n getVersionsSummaryVisibleColumns,\n} from '../../../../store/selectors/components/versions/versions_v2-ts';\n\nimport hammer from '../../../../common/hammer';\n\nimport {\n changeCheckedHideOffline,\n changeVersionStateTypeFilters,\n setVersionsSummarySortState,\n} from '../../../../store/actions/components/versions/versions_v2';\nimport Icon from '../../../../components/Icon/Icon';\nimport Link from '../../../../components/Link/Link';\nimport ColumnHeader from '../../../../components/ColumnHeader/ColumnHeader';\nimport {VersionCellWithAction} from './VersionCell';\nimport {VersionSummaryItem} from '../../../../store/reducers/components/versions/versions_v2';\n\nimport './VersionSummary.scss';\nimport UIFactory from '../../../../UIFactory';\nimport {getCluster} from '../../../../store/selectors/global';\nimport {formatByParams} from '../../../../utils/format';\n\nconst block = cn('versions-summary');\n\ntype Props = ConnectedProps<typeof connector>;\n\ntype RenderData = {row: VersionSummaryItem; index: number};\n\nconst SETTINGS: DT100.Settings = {\n displayIndices: false,\n};\n\nfunction isSpecialRow(version: string) {\n return version === 'error' || version === 'total';\n}\n\nclass VersionsSummary extends React.Component<Props> {\n getColumns(): Array<DT100.Column<VersionSummaryItem>> {\n return [];\n }\n renderVersion = ({row: {version}}: RenderData) => {\n const {changeVersionStateTypeFilters} = this.props;\n let content;\n if (version === 'error') {\n content = (\n <React.Fragment>\n <Link\n theme={'primary'}\n onClick={() => {\n changeVersionStateTypeFilters({state: 'error'});\n }}\n >\n <Icon awesome={'exclamation-triangle'} />{' '}\n {hammer.format['Readable'](version)}\n </Link>\n </React.Fragment>\n );\n } else if (version === 'total') {\n content = hammer.format['Readable'](version);\n } else {\n content = (\n <div className={block('version')}>\n <VersionCellWithAction version={version} />\n </div>\n );\n }\n\n return <span className={block('value')}>{content}</span>;\n };\n renderNumber = (key: keyof VersionSummaryItem, rowData: RenderData) => {\n const {row} = rowData;\n const value = row[key];\n const content = !value ? hammer.format.NO_VALUE : hammer.format['Number'](value);\n const onClick = !value\n ? undefined\n : () => {\n this.onClick(key, rowData);\n };\n return (\n <span\n className={block('value', {clickable: Boolean(onClick)})}\n onClick={onClick}\n title={onClick ? 'Click to set corresponding filter values' : undefined}\n >\n {content}\n </span>\n );\n };\n\n makeColumnInfo({\n type,\n name,\n shortName,\n }: {\n type: keyof VersionSummaryItem;\n name: string;\n shortName?: string;\n }): DT100.Column<VersionSummaryItem> {\n return {\n name: shortName || name,\n title: name,\n sortable: false,\n render: this.renderNumber.bind(this, type),\n align: 'right',\n header: this.renderHeader(type, name, shortName),\n };\n }\n\n renderHeader(key: keyof VersionSummaryItem, name: string, shortName?: string) {\n const {sortState, setVersionsSummarySortState} = this.props;\n const {column, order} = sortState || {};\n return (\n <ColumnHeader<typeof key>\n sortable={true}\n column={key}\n title={name}\n shortTitle={shortName || name}\n toggleSort={(column, order) => {\n setVersionsSummarySortState({column, order});\n }}\n order={key === column ? order : ''}\n withUndefined\n />\n );\n }\n\n handleHideOffline = (value: boolean) => {\n this.props.changeCheckedHideOffline(value);\n };\n\n render() {\n const {visibleColumns} = this.props;\n const columns: Array<DT100.Column<VersionSummaryItem>> = [\n {\n name: 'version',\n render: this.renderVersion,\n sortable: false,\n sortAccessor: (row) => row.version,\n header: this.renderHeader('version', 'Versions'),\n },\n\n ...visibleColumns.map((item) => this.makeColumnInfo(item)),\n ];\n\n const {items, loading, loaded, cluster, checkedHideOffline} = this.props;\n const monitoringLink = UIFactory.getVersionMonitoringLink(cluster);\n\n return (\n <div className={block()}>\n <div className={block('header-actions')}>\n {monitoringLink && (\n <Link\n url={formatByParams(monitoringLink.urlTemplate, {ytCluster: cluster})}\n target=\"_blank\"\n className={block('monitoring-link')}\n >\n {monitoringLink.title || 'Monitoring'} <Icon awesome=\"external-link\" />\n </Link>\n )}\n <Checkbox\n title={'Hide offline'}\n content={'Hide offline'}\n defaultChecked={checkedHideOffline}\n onUpdate={this.handleHideOffline}\n />\n </div>\n <DataTableYT\n loaded={loaded}\n loading={loading}\n data={items}\n columns={columns}\n theme={'versions'}\n settings={SETTINGS}\n rowClassName={this.rowClassName}\n />\n </div>\n );\n }\n\n rowClassName(row: VersionSummaryItem) {\n return block('row', {special: isSpecialRow(row.version)});\n }\n\n onClick = (key: keyof VersionSummaryItem, data: RenderData) => {\n const {changeVersionStateTypeFilters} = this.props;\n const {\n row: {version: rowVersion},\n } = data;\n const isSpecial = isSpecialRow(rowVersion);\n const version = !isSpecial ? rowVersion : undefined;\n\n const state = rowVersion === 'error' ? 'error' : undefined;\n\n if (key === 'online' || key === 'offline') {\n changeVersionStateTypeFilters({version, state: state || key});\n } else if (key === 'banned') {\n changeVersionStateTypeFilters({version, banned: true});\n } else {\n changeVersionStateTypeFilters({version, type: key, state});\n }\n };\n}\n\nconst mapStateToProps = (state: RootState) => {\n const {loading, loaded} = state.components.versionsV2;\n const cluster = getCluster(state);\n\n const items = getVersionsSummaryData(state);\n const sortState = getSummarySortState(state);\n\n const visibleColumns = getVersionsSummaryVisibleColumns(state);\n\n return {\n loading: loading as boolean,\n loaded: loaded as boolean,\n cluster,\n items,\n sortState,\n checkedHideOffline: getHideOfflineValue(state),\n visibleColumns,\n };\n};\n\nconst mapDispatchToProps = {\n changeVersionStateTypeFilters,\n setVersionsSummarySortState,\n changeCheckedHideOffline,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default connector(VersionsSummary);\n"],"mappings":"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"}
|
@@ -50,11 +50,20 @@
|
|
50
50
|
background-color: var(--light-background);
|
51
51
|
}
|
52
52
|
}
|
53
|
-
}
|
54
53
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
54
|
+
&__monitoring-link {
|
55
|
+
display: flex;
|
56
|
+
align-items: center;
|
57
|
+
gap: 0 4px;
|
58
|
+
}
|
59
|
+
|
60
|
+
&__header-actions {
|
61
|
+
display: flex;
|
62
|
+
align-items: center;
|
63
|
+
gap: 0 10px;
|
64
|
+
position: relative;
|
65
|
+
right: 10px;
|
66
|
+
top: -33px;
|
67
|
+
float: right;
|
68
|
+
}
|
60
69
|
}
|
@@ -1,8 +1,10 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
}
|
8
|
-
|
1
|
+
import { FC } from 'react';
|
2
|
+
import './System.scss';
|
3
|
+
type Props = {
|
4
|
+
match: {
|
5
|
+
path: string;
|
6
|
+
url: string;
|
7
|
+
};
|
8
|
+
};
|
9
|
+
export declare const System: FC<Props>;
|
10
|
+
export {};
|
@@ -1,57 +1,60 @@
|
|
1
|
-
import
|
2
|
-
import _createClass from "@babel/runtime/helpers/createClass";
|
3
|
-
import _inherits from "@babel/runtime/helpers/inherits";
|
4
|
-
import _createSuper from "@babel/runtime/helpers/createSuper";
|
5
|
-
import React, { Component, Fragment } from 'react';
|
6
|
-
import SchedulersAndAgents from '../SchedulersAndAgents/SchedulersAndAgents';
|
7
|
-
import Resources from '../Resources/Resources';
|
8
|
-
import Masters from '../Masters/Masters';
|
9
|
-
import Chunks from '../Chunks/Chunks';
|
10
|
-
import Proxies from '../Proxies/Proxies';
|
11
|
-
import RpcProxies from '../RpcProxies/RpcProxies';
|
12
|
-
import Nodes from '../Nodes/Nodes';
|
1
|
+
import React, { useMemo } from 'react';
|
13
2
|
import "./System.css";
|
3
|
+
import { SystemGeneralTab } from './SystemGeneralTab';
|
4
|
+
import UIFactory from '../../../UIFactory';
|
5
|
+
import Tabs from '../../../components/Tabs/Tabs';
|
6
|
+
import { UI_TAB_SIZE } from '../../../constants/global';
|
7
|
+
import { Redirect, Route, Switch } from 'react-router';
|
8
|
+
import { SystemTabs } from '../../../constants/system/tabs';
|
9
|
+
import { getSystemTabItems } from './helpers/getSystemTabItems';
|
10
|
+
import { getCluster } from '../../../store/selectors/global';
|
11
|
+
import { useSelector } from 'react-redux';
|
14
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
15
13
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
16
|
-
var
|
17
|
-
var
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
14
|
+
var Wrap = function Wrap(_ref) {
|
15
|
+
var children = _ref.children;
|
16
|
+
return /*#__PURE__*/_jsx("div", {
|
17
|
+
className: "elements-page__content",
|
18
|
+
children: /*#__PURE__*/_jsx("div", {
|
19
|
+
className: 'elements-main-section system',
|
20
|
+
children: children
|
21
|
+
})
|
22
|
+
});
|
23
|
+
};
|
24
|
+
export var System = function System(_ref2) {
|
25
|
+
var match = _ref2.match;
|
26
|
+
var cluster = useSelector(getCluster);
|
27
|
+
var systemMonitoringTab = UIFactory.getSystemMonitoringTab();
|
28
|
+
var items = useMemo(function () {
|
29
|
+
return getSystemTabItems({
|
30
|
+
url: match.url,
|
31
|
+
tabSettings: systemMonitoringTab,
|
32
|
+
cluster: cluster
|
33
|
+
});
|
34
|
+
}, [match.url, systemMonitoringTab, cluster]);
|
35
|
+
if (!systemMonitoringTab) {
|
36
|
+
return /*#__PURE__*/_jsx(Wrap, {
|
37
|
+
children: /*#__PURE__*/_jsx(SystemGeneralTab, {})
|
38
|
+
});
|
29
39
|
}
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
})
|
51
|
-
});
|
52
|
-
}
|
53
|
-
}]);
|
54
|
-
return System;
|
55
|
-
}(Component);
|
56
|
-
export { System as default };
|
40
|
+
return /*#__PURE__*/_jsxs(Wrap, {
|
41
|
+
children: [/*#__PURE__*/_jsx(Tabs, {
|
42
|
+
items: items,
|
43
|
+
active: SystemTabs.GENERAL,
|
44
|
+
size: UI_TAB_SIZE,
|
45
|
+
routed: true,
|
46
|
+
underline: true
|
47
|
+
}), /*#__PURE__*/_jsxs(Switch, {
|
48
|
+
children: [/*#__PURE__*/_jsx(Route, {
|
49
|
+
path: "".concat(match.path, "/").concat(SystemTabs.GENERAL),
|
50
|
+
component: SystemGeneralTab
|
51
|
+
}), 'component' in systemMonitoringTab && /*#__PURE__*/_jsx(Route, {
|
52
|
+
path: "".concat(match.path, "/").concat(SystemTabs.MONITORING),
|
53
|
+
component: systemMonitoringTab.component
|
54
|
+
}), /*#__PURE__*/_jsx(Redirect, {
|
55
|
+
to: "".concat(match.path, "/").concat(SystemTabs.GENERAL)
|
56
|
+
})]
|
57
|
+
})]
|
58
|
+
});
|
59
|
+
};
|
57
60
|
// #sourceMappingURL=System.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","
|
1
|
+
{"version":3,"names":["React","useMemo","SystemGeneralTab","UIFactory","Tabs","UI_TAB_SIZE","Redirect","Route","Switch","SystemTabs","getSystemTabItems","getCluster","useSelector","jsx","_jsx","jsxs","_jsxs","Wrap","_ref","children","className","System","_ref2","match","cluster","systemMonitoringTab","getSystemMonitoringTab","items","url","tabSettings","active","GENERAL","size","routed","underline","path","concat","component","MONITORING","to"],"sources":["System.tsx"],"sourcesContent":["import React, {FC, PropsWithChildren, useMemo} from 'react';\nimport './System.scss';\nimport {SystemGeneralTab} from './SystemGeneralTab';\nimport UIFactory from '../../../UIFactory';\nimport Tabs from '../../../components/Tabs/Tabs';\nimport {UI_TAB_SIZE} from '../../../constants/global';\nimport {Redirect, Route, Switch} from 'react-router';\nimport {SystemTabs} from '../../../constants/system/tabs';\nimport {getSystemTabItems} from './helpers/getSystemTabItems';\nimport {getCluster} from '../../../store/selectors/global';\nimport {useSelector} from 'react-redux';\n\nconst Wrap: FC<PropsWithChildren> = ({children}) => {\n return (\n <div className=\"elements-page__content\">\n <div className={'elements-main-section system'}>{children}</div>\n </div>\n );\n};\n\ntype Props = {\n match: {\n path: string;\n url: string;\n };\n};\n\nexport const System: FC<Props> = ({match}) => {\n const cluster = useSelector(getCluster);\n const systemMonitoringTab = UIFactory.getSystemMonitoringTab();\n\n const items = useMemo(() => {\n return getSystemTabItems({url: match.url, tabSettings: systemMonitoringTab, cluster});\n }, [match.url, systemMonitoringTab, cluster]);\n\n if (!systemMonitoringTab) {\n return (\n <Wrap>\n <SystemGeneralTab />\n </Wrap>\n );\n }\n\n return (\n <Wrap>\n <Tabs items={items} active={SystemTabs.GENERAL} size={UI_TAB_SIZE} routed underline />\n <Switch>\n <Route path={`${match.path}/${SystemTabs.GENERAL}`} component={SystemGeneralTab} />\n {'component' in systemMonitoringTab && (\n <Route\n path={`${match.path}/${SystemTabs.MONITORING}`}\n component={systemMonitoringTab.component}\n />\n )}\n <Redirect to={`${match.path}/${SystemTabs.GENERAL}`} />\n </Switch>\n </Wrap>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAA0BC,OAAO,QAAO,OAAO;AAC3D,OAAO,cAAe;AACtB,SAAQC,gBAAgB,QAAO,oBAAoB;AACnD,OAAOC,SAAS,MAAM,oBAAoB;AAC1C,OAAOC,IAAI,MAAM,+BAA+B;AAChD,SAAQC,WAAW,QAAO,2BAA2B;AACrD,SAAQC,QAAQ,EAAEC,KAAK,EAAEC,MAAM,QAAO,cAAc;AACpD,SAAQC,UAAU,QAAO,gCAAgC;AACzD,SAAQC,iBAAiB,QAAO,6BAA6B;AAC7D,SAAQC,UAAU,QAAO,iCAAiC;AAC1D,SAAQC,WAAW,QAAO,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAExC,IAAMC,IAA2B,GAAG,SAA9BA,IAA2BA,CAAAC,IAAA,EAAmB;EAAA,IAAdC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EAC1C,oBACIL,IAAA;IAAKM,SAAS,EAAC,wBAAwB;IAAAD,QAAA,eACnCL,IAAA;MAAKM,SAAS,EAAE,8BAA+B;MAAAD,QAAA,EAAEA;IAAQ,CAAM;EAAC,CAC/D,CAAC;AAEd,CAAC;AASD,OAAO,IAAME,MAAiB,GAAG,SAApBA,MAAiBA,CAAAC,KAAA,EAAgB;EAAA,IAAXC,KAAK,GAAAD,KAAA,CAALC,KAAK;EACpC,IAAMC,OAAO,GAAGZ,WAAW,CAACD,UAAU,CAAC;EACvC,IAAMc,mBAAmB,GAAGtB,SAAS,CAACuB,sBAAsB,CAAC,CAAC;EAE9D,IAAMC,KAAK,GAAG1B,OAAO,CAAC,YAAM;IACxB,OAAOS,iBAAiB,CAAC;MAACkB,GAAG,EAAEL,KAAK,CAACK,GAAG;MAAEC,WAAW,EAAEJ,mBAAmB;MAAED,OAAO,EAAPA;IAAO,CAAC,CAAC;EACzF,CAAC,EAAE,CAACD,KAAK,CAACK,GAAG,EAAEH,mBAAmB,EAAED,OAAO,CAAC,CAAC;EAE7C,IAAI,CAACC,mBAAmB,EAAE;IACtB,oBACIX,IAAA,CAACG,IAAI;MAAAE,QAAA,eACDL,IAAA,CAACZ,gBAAgB,IAAE;IAAC,CAClB,CAAC;EAEf;EAEA,oBACIc,KAAA,CAACC,IAAI;IAAAE,QAAA,gBACDL,IAAA,CAACV,IAAI;MAACuB,KAAK,EAAEA,KAAM;MAACG,MAAM,EAAErB,UAAU,CAACsB,OAAQ;MAACC,IAAI,EAAE3B,WAAY;MAAC4B,MAAM;MAACC,SAAS;IAAA,CAAE,CAAC,eACtFlB,KAAA,CAACR,MAAM;MAAAW,QAAA,gBACHL,IAAA,CAACP,KAAK;QAAC4B,IAAI,KAAAC,MAAA,CAAKb,KAAK,CAACY,IAAI,OAAAC,MAAA,CAAI3B,UAAU,CAACsB,OAAO,CAAG;QAACM,SAAS,EAAEnC;MAAiB,CAAE,CAAC,EAClF,WAAW,IAAIuB,mBAAmB,iBAC/BX,IAAA,CAACP,KAAK;QACF4B,IAAI,KAAAC,MAAA,CAAKb,KAAK,CAACY,IAAI,OAAAC,MAAA,CAAI3B,UAAU,CAAC6B,UAAU,CAAG;QAC/CD,SAAS,EAAEZ,mBAAmB,CAACY;MAAU,CAC5C,CACJ,eACDvB,IAAA,CAACR,QAAQ;QAACiC,EAAE,KAAAH,MAAA,CAAKb,KAAK,CAACY,IAAI,OAAAC,MAAA,CAAI3B,UAAU,CAACsB,OAAO;MAAG,CAAE,CAAC;IAAA,CACnD,CAAC;EAAA,CACP,CAAC;AAEf,CAAC"}
|