@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.
Files changed (69) hide show
  1. package/build/cjs/server/configs/e2e/local.js +8 -0
  2. package/build/cjs/server/configs/e2e/local.js.map +1 -1
  3. package/build/cjs/shared/ui-settings.d.ts +19 -1
  4. package/build/cjs/shared/ui-settings.js.map +1 -1
  5. package/build/cjs/ui/UIFactory.d.ts +11 -2
  6. package/build/cjs/ui/UIFactory.js +8 -0
  7. package/build/cjs/ui/UIFactory.js.map +1 -1
  8. package/build/cjs/ui/components/Tabs/Tabs.d.ts +1 -1
  9. package/build/cjs/ui/components/Tabs/Tabs.js.map +1 -1
  10. package/build/cjs/ui/constants/system/tabs.d.ts +4 -0
  11. package/build/cjs/ui/constants/system/tabs.js +11 -0
  12. package/build/cjs/ui/constants/system/tabs.js.map +1 -0
  13. package/build/cjs/ui/containers/ClusterPage/ClusterPage.js +2 -2
  14. package/build/cjs/ui/containers/ClusterPage/ClusterPage.js.map +1 -1
  15. package/build/cjs/ui/pages/components/tabs/Versions/VersionSummary.css +10 -3
  16. package/build/cjs/ui/pages/components/tabs/Versions/VersionSummary.css.map +1 -1
  17. package/build/cjs/ui/pages/components/tabs/Versions/VersionSummary.d.ts +3 -1
  18. package/build/cjs/ui/pages/components/tabs/Versions/VersionSummary.js +24 -6
  19. package/build/cjs/ui/pages/components/tabs/Versions/VersionSummary.js.map +1 -1
  20. package/build/cjs/ui/pages/system/System/System.d.ts +10 -8
  21. package/build/cjs/ui/pages/system/System/System.js +56 -52
  22. package/build/cjs/ui/pages/system/System/System.js.map +1 -1
  23. package/build/cjs/ui/pages/system/System/SystemGeneralTab.d.ts +2 -0
  24. package/build/cjs/ui/pages/system/System/SystemGeneralTab.js +22 -0
  25. package/build/cjs/ui/pages/system/System/SystemGeneralTab.js.map +1 -0
  26. package/build/cjs/ui/pages/system/System/helpers/getSystemTabItems.d.ts +9 -0
  27. package/build/cjs/ui/pages/system/System/helpers/getSystemTabItems.js +41 -0
  28. package/build/cjs/ui/pages/system/System/helpers/getSystemTabItems.js.map +1 -0
  29. package/build/esm/server/configs/e2e/local.js +8 -0
  30. package/build/esm/server/configs/e2e/local.js.map +1 -1
  31. package/build/esm/shared/ui-settings.d.ts +19 -1
  32. package/build/esm/shared/ui-settings.js.map +1 -1
  33. package/build/esm/ui/UIFactory.d.ts +11 -2
  34. package/build/esm/ui/UIFactory.js +8 -0
  35. package/build/esm/ui/UIFactory.js.map +1 -1
  36. package/build/esm/ui/components/Tabs/Tabs.d.ts +1 -1
  37. package/build/esm/ui/components/Tabs/Tabs.js.map +1 -1
  38. package/build/esm/ui/constants/system/tabs.d.ts +4 -0
  39. package/build/esm/ui/constants/system/tabs.js +5 -0
  40. package/build/esm/ui/constants/system/tabs.js.map +1 -0
  41. package/build/esm/ui/containers/ClusterPage/ClusterPage.js +1 -1
  42. package/build/esm/ui/containers/ClusterPage/ClusterPage.js.map +1 -1
  43. package/build/esm/ui/pages/components/tabs/Versions/VersionSummary.css +10 -3
  44. package/build/esm/ui/pages/components/tabs/Versions/VersionSummary.css.map +1 -1
  45. package/build/esm/ui/pages/components/tabs/Versions/VersionSummary.d.ts +3 -1
  46. package/build/esm/ui/pages/components/tabs/Versions/VersionSummary.js +24 -6
  47. package/build/esm/ui/pages/components/tabs/Versions/VersionSummary.js.map +1 -1
  48. package/build/esm/ui/pages/components/tabs/Versions/VersionSummary.scss +15 -6
  49. package/build/esm/ui/pages/system/System/System.d.ts +10 -8
  50. package/build/esm/ui/pages/system/System/System.js +55 -52
  51. package/build/esm/ui/pages/system/System/System.js.map +1 -1
  52. package/build/esm/ui/pages/system/System/SystemGeneralTab.d.ts +2 -0
  53. package/build/esm/ui/pages/system/System/SystemGeneralTab.js +17 -0
  54. package/build/esm/ui/pages/system/System/SystemGeneralTab.js.map +1 -0
  55. package/build/esm/ui/pages/system/System/helpers/getSystemTabItems.d.ts +9 -0
  56. package/build/esm/ui/pages/system/System/helpers/getSystemTabItems.js +35 -0
  57. package/build/esm/ui/pages/system/System/helpers/getSystemTabItems.js.map +1 -0
  58. package/dist/public/build/assets-manifest.json +7 -7
  59. package/dist/public/build/css/{main.6f740a3e.css → main.2d05e225.css} +2 -2
  60. package/dist/public/build/css/main.2d05e225.css.map +1 -0
  61. package/dist/public/build/js/main.c18a9d22.js +3 -0
  62. package/dist/public/build/js/{main.ccbdcdf6.js.map → main.c18a9d22.js.map} +1 -1
  63. package/dist/public/build/manifest.json +4 -4
  64. package/dist/server/configs/e2e/local.js +8 -0
  65. package/dist/shared/ui-settings.d.ts +19 -1
  66. package/package.json +2 -2
  67. package/dist/public/build/css/main.6f740a3e.css.map +0 -1
  68. package/dist/public/build/js/main.ccbdcdf6.js +0 -3
  69. /package/dist/public/build/js/{main.ccbdcdf6.js.LICENSE.txt → main.c18a9d22.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactRouter","_reactRedux","_bemCnLite","_interopRequireDefault","_BanPage","_MaintenancePage","_HandleRedirect","_Components","_Operations","_Accounts","_Dashboard","_System","_Navigation","_PathViewer","_Tablet","_TabletCellBundles","_GroupsPage","_UsersPage","_Scheduling","_QueryTracker","_Job","_chyt","_ClusterPageHeader","_PageTracker","_PageHead","_ConnectionErrorRegion","_GeneralErrorRegion","_FlexSplitPane","_Error","_index","_menu","_settings","_clusterParams","_global","_global2","_utils","_settings2","_settings3","_SupportedFeaturesUpdater","_RumUiContext","_rumMeasureTypes","_useCluster","_ExtraClusterPageRoutes","_odin","_config","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","b","cn","RedirectToBanIfNeededMemo","React","memo","RedirectToBanIfNeeded","ClusterPage","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","apply","concat","state","width","contentPaneRef","createRef","_onUpdateEnd","_this$props","props","cluster","trackVisit","updateTitle","initClusterParams","isRedirectToBetaSwitched","setSetting","Promise","resolve","then","SettingName","DEVELOPMENT","REDIRECT_TO_BETA_SWITCHED","NAMESPACES","REDIRECT_TO_BETA","_initMenuCollection","onResize","splitScreen","toolbar","document","querySelector","isSplit","gutterWidth","offset","getElementById","SPLIT_PANE_ID","clientWidth","style","right","window","dispatchEvent","Event","handleSplit","updateWidthModifier","onResizeEnd","sizes","NAVIGATION","CLUSTER_PAGE_PANE_SIZES","getInitialSizes","clusterPagePaneSizes","_createClass","key","value","componentDidMount","updateCluster","getSnapshotBeforeUpdate","prevProps","pageYOffset","current","scrollTop","componentDidUpdate","prevState","prevScroll","scrollBy","prevCluster","componentWillUnmount","path","page","unmountCluster","itemName","_this$props2","splitMenuItemsAction","joinMenuItemsAction","settingsMap","_this$contentPaneRef$","currentWidth","Infinity","setState","renderError","clusterConfig","_ref","error","errorType","LOAD_ERROR","CONNECTION","_jsx","ConnectionErrorRegion","id","AUTHENTICATION","GeneralErrorRegion","message","GENERAL","isParamsLoading","_this$props3","paramsCluster","renderContent","_this$props4","startingPage","isLoaded","hasError","paramsError","allowChyt","allowQueryTracker","_jsxs","Fragment","children","SupportedFeaturesUpdater","HandleMaintenanceRedirect","to","Page","BAN","Switch","Route","component","BanPage","MAINTENANCE","MaintenancePage","COMPONENTS","Components","OPERATIONS","Operations","JOB","Job","DASHBOARD","Dashboard","SYSTEM","System","ACCOUNTS","Accounts","TABLET_CELL_BUNDLES","CHAOS_CELL_BUNDLES","TabletCellBundles","Navigation","PATH_VIEWER","PathViewer","TABLET","Tablet","USERS","UsersPage","GROUPS","GroupsPage","SCHEDULING","Scheduling","CHYT","ChytPage","QUERIES","QueryTracker","hasOdinPage","odinPageInfo","pageId","reactComponent","Redirect","from","VERSIONS","makeExtraPageRoutes","PageTracker","className","ErrorBlock","render","_this$props5","clusters","getClusterConfig","ClusterPageStopRumMeasure","PageHeadByCluster","ClusterPageHeader","FlexSplitPane","paneClassNames","direction","HORIZONTAL","onSplit","onUnSplit","minSize","ref","split","Component","mapStateToProps","_state$global","global","login","maintenancePageEvent","loadState","paramsLoading","clustersMenu","LOADING_STATUS","LOADED","ERROR","isRecentClustersFirst","isRecentPagesFirst","getClusterPagePaneSizes","getStartingPage","isQueryTrackerAllowed","Boolean","getClusterUiConfig","chyt_controller_base_url","mapDispatchToProps","_default","exports","connect","_ref2","_useSelector","useSelector","blocked","banned","_useLocation","useLocation","pathname","enableRedirect","endsWith","useClusterFromLocation","useRumMeasureStart","type","RumMeasureTypes","CLUSTER_PARAMS","subPage","allowStop","_ref3","_ref4","_slicedToArray","startDeps","useRumMeasureStop","_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","_interopRequireWildcard","require","_reactRouter","_reactRedux","_bemCnLite","_interopRequireDefault","_BanPage","_MaintenancePage","_HandleRedirect","_Components","_Operations","_Accounts","_Dashboard","_System","_Navigation","_PathViewer","_Tablet","_TabletCellBundles","_GroupsPage","_UsersPage","_Scheduling","_QueryTracker","_Job","_chyt","_ClusterPageHeader","_PageTracker","_PageHead","_ConnectionErrorRegion","_GeneralErrorRegion","_FlexSplitPane","_Error","_index","_menu","_settings","_clusterParams","_global","_global2","_utils","_settings2","_settings3","_SupportedFeaturesUpdater","_RumUiContext","_rumMeasureTypes","_useCluster","_ExtraClusterPageRoutes","_odin","_config","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","b","cn","RedirectToBanIfNeededMemo","React","memo","RedirectToBanIfNeeded","ClusterPage","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","apply","concat","state","width","contentPaneRef","createRef","_onUpdateEnd","_this$props","props","cluster","trackVisit","updateTitle","initClusterParams","isRedirectToBetaSwitched","setSetting","Promise","resolve","then","SettingName","DEVELOPMENT","REDIRECT_TO_BETA_SWITCHED","NAMESPACES","REDIRECT_TO_BETA","_initMenuCollection","onResize","splitScreen","toolbar","document","querySelector","isSplit","gutterWidth","offset","getElementById","SPLIT_PANE_ID","clientWidth","style","right","window","dispatchEvent","Event","handleSplit","updateWidthModifier","onResizeEnd","sizes","NAVIGATION","CLUSTER_PAGE_PANE_SIZES","getInitialSizes","clusterPagePaneSizes","_createClass","key","value","componentDidMount","updateCluster","getSnapshotBeforeUpdate","prevProps","pageYOffset","current","scrollTop","componentDidUpdate","prevState","prevScroll","scrollBy","prevCluster","componentWillUnmount","path","page","unmountCluster","itemName","_this$props2","splitMenuItemsAction","joinMenuItemsAction","settingsMap","_this$contentPaneRef$","currentWidth","Infinity","setState","renderError","clusterConfig","_ref","error","errorType","LOAD_ERROR","CONNECTION","_jsx","ConnectionErrorRegion","id","AUTHENTICATION","GeneralErrorRegion","message","GENERAL","isParamsLoading","_this$props3","paramsCluster","renderContent","_this$props4","startingPage","isLoaded","hasError","paramsError","allowChyt","allowQueryTracker","_jsxs","Fragment","children","SupportedFeaturesUpdater","HandleMaintenanceRedirect","to","Page","BAN","Switch","Route","component","BanPage","MAINTENANCE","MaintenancePage","COMPONENTS","Components","OPERATIONS","Operations","JOB","Job","DASHBOARD","Dashboard","SYSTEM","System","ACCOUNTS","Accounts","TABLET_CELL_BUNDLES","CHAOS_CELL_BUNDLES","TabletCellBundles","Navigation","PATH_VIEWER","PathViewer","TABLET","Tablet","USERS","UsersPage","GROUPS","GroupsPage","SCHEDULING","Scheduling","CHYT","ChytPage","QUERIES","QueryTracker","hasOdinPage","odinPageInfo","pageId","reactComponent","Redirect","from","VERSIONS","makeExtraPageRoutes","PageTracker","className","ErrorBlock","render","_this$props5","clusters","getClusterConfig","ClusterPageStopRumMeasure","PageHeadByCluster","ClusterPageHeader","FlexSplitPane","paneClassNames","direction","HORIZONTAL","onSplit","onUnSplit","minSize","ref","split","Component","mapStateToProps","_state$global","global","login","maintenancePageEvent","loadState","paramsLoading","clustersMenu","LOADING_STATUS","LOADED","ERROR","isRecentClustersFirst","isRecentPagesFirst","getClusterPagePaneSizes","getStartingPage","isQueryTrackerAllowed","Boolean","getClusterUiConfig","chyt_controller_base_url","mapDispatchToProps","_default","exports","connect","_ref2","_useSelector","useSelector","blocked","banned","_useLocation","useLocation","pathname","enableRedirect","endsWith","useClusterFromLocation","useRumMeasureStart","type","RumMeasureTypes","CLUSTER_PARAMS","subPage","allowStop","_ref3","_ref4","_slicedToArray","startDeps","useRumMeasureStop","_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
- .hide-offline-checkbox {
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;;AAsBA;EACI,kBAAA;EACA,UAAA;EACA,WAAA;EACA,YAAA;AAnBJ","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\n.hide-offline-checkbox {\n position: relative;\n top: -33px;\n right: 10px;\n float: right;\n}\n"],"sourceRoot":""}
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;
@@ -22,6 +22,9 @@ var _Link = _interopRequireDefault(require("../../../../components/Link/Link"));
22
22
  var _ColumnHeader = _interopRequireDefault(require("../../../../components/ColumnHeader/ColumnHeader"));
23
23
  var _VersionCell = require("./VersionCell");
24
24
  require("./VersionSummary.css");
25
+ var _UIFactory = _interopRequireDefault(require("../../../../UIFactory"));
26
+ var _global = require("../../../../store/selectors/global");
27
+ var _format = require("../../../../utils/format");
25
28
  var _jsxRuntime = require("react/jsx-runtime");
26
29
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
30
  var block = (0, _bemCnLite.default)('versions-summary');
@@ -183,15 +186,28 @@ var VersionsSummary = /*#__PURE__*/function (_React$Component) {
183
186
  items = _this$props2.items,
184
187
  loading = _this$props2.loading,
185
188
  loaded = _this$props2.loaded,
189
+ cluster = _this$props2.cluster,
186
190
  checkedHideOffline = _this$props2.checkedHideOffline;
191
+ var monitoringLink = _UIFactory.default.getVersionMonitoringLink(cluster);
187
192
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
188
193
  className: block(),
189
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Checkbox, {
190
- className: 'hide-offline-checkbox',
191
- title: 'Hide offline',
192
- content: 'Hide offline',
193
- defaultChecked: checkedHideOffline,
194
- onUpdate: this.handleHideOffline
194
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
195
+ className: block('header-actions'),
196
+ children: [monitoringLink && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Link.default, {
197
+ url: (0, _format.formatByParams)(monitoringLink.urlTemplate, {
198
+ ytCluster: cluster
199
+ }),
200
+ target: "_blank",
201
+ className: block('monitoring-link'),
202
+ children: [monitoringLink.title || 'Monitoring', " ", /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.default, {
203
+ awesome: "external-link"
204
+ })]
205
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Checkbox, {
206
+ title: 'Hide offline',
207
+ content: 'Hide offline',
208
+ defaultChecked: checkedHideOffline,
209
+ onUpdate: this.handleHideOffline
210
+ })]
195
211
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_DataTableYT.default, {
196
212
  loaded: loaded,
197
213
  loading: loading,
@@ -217,12 +233,14 @@ var mapStateToProps = function mapStateToProps(state) {
217
233
  var _state$components$ver = state.components.versionsV2,
218
234
  loading = _state$components$ver.loading,
219
235
  loaded = _state$components$ver.loaded;
236
+ var cluster = (0, _global.getCluster)(state);
220
237
  var items = (0, _versions_v2Ts.getVersionsSummaryData)(state);
221
238
  var sortState = (0, _versions_v2Ts.getSummarySortState)(state);
222
239
  var visibleColumns = (0, _versions_v2Ts.getVersionsSummaryVisibleColumns)(state);
223
240
  return {
224
241
  loading: loading,
225
242
  loaded: loaded,
243
+ cluster: cluster,
226
244
  items: items,
227
245
  sortState: sortState,
228
246
  checkedHideOffline: (0, _versions_v2Ts.getHideOfflineValue)(state),
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactRedux","_bemCnLite","_uikit","_DataTableYT","_versions_v2Ts","_hammer","_versions_v","_Icon","_Link","_ColumnHeader","_VersionCell","_jsxRuntime","obj","__esModule","default","block","cn","SETTINGS","displayIndices","isSpecialRow","version","VersionsSummary","_React$Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","renderVersion","_ref","row","changeVersionStateTypeFilters","props","content","_jsx","React","Fragment","children","_jsxs","Link","theme","onClick","state","Icon","awesome","hammer","format","className","VersionCellWithAction","renderNumber","key","rowData","value","NO_VALUE","undefined","clickable","Boolean","title","handleHideOffline","changeCheckedHideOffline","data","rowVersion","isSpecial","banned","type","_createClass","getColumns","makeColumnInfo","_ref2","name","shortName","sortable","render","bind","align","header","renderHeader","_this$props","sortState","setVersionsSummarySortState","_ref3","column","order","ColumnHeader","shortTitle","toggleSort","withUndefined","_this2","visibleColumns","columns","sortAccessor","_toConsumableArray","map","item","_this$props2","items","loading","loaded","checkedHideOffline","Checkbox","defaultChecked","onUpdate","DataTableYT","settings","rowClassName","special","Component","mapStateToProps","_state$components$ver","components","versionsV2","getVersionsSummaryData","getSummarySortState","getVersionsSummaryVisibleColumns","getHideOfflineValue","mapDispatchToProps","connector","connect","_default","exports"],"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","_interopRequireDefault","require","_reactRedux","_bemCnLite","_uikit","_DataTableYT","_versions_v2Ts","_hammer","_versions_v","_Icon","_Link","_ColumnHeader","_VersionCell","_UIFactory","_global","_format","_jsxRuntime","obj","__esModule","default","block","cn","SETTINGS","displayIndices","isSpecialRow","version","VersionsSummary","_React$Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","renderVersion","_ref","row","changeVersionStateTypeFilters","props","content","_jsx","React","Fragment","children","_jsxs","Link","theme","onClick","state","Icon","awesome","hammer","format","className","VersionCellWithAction","renderNumber","key","rowData","value","NO_VALUE","undefined","clickable","Boolean","title","handleHideOffline","changeCheckedHideOffline","data","rowVersion","isSpecial","banned","type","_createClass","getColumns","makeColumnInfo","_ref2","name","shortName","sortable","render","bind","align","header","renderHeader","_this$props","sortState","setVersionsSummarySortState","_ref3","column","order","ColumnHeader","shortTitle","toggleSort","withUndefined","_this2","visibleColumns","columns","sortAccessor","_toConsumableArray","map","item","_this$props2","items","loading","loaded","cluster","checkedHideOffline","monitoringLink","UIFactory","getVersionMonitoringLink","url","formatByParams","urlTemplate","ytCluster","target","Checkbox","defaultChecked","onUpdate","DataTableYT","settings","rowClassName","special","Component","mapStateToProps","_state$components$ver","components","versionsV2","getCluster","getVersionsSummaryData","getSummarySortState","getVersionsSummaryVisibleColumns","getHideOfflineValue","mapDispatchToProps","connector","connect","_default","exports"],"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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"}
@@ -1,8 +1,10 @@
1
- export default class System extends React.Component<any, any, any> {
2
- constructor(props: any);
3
- constructor(props: any, context: any);
4
- container: React.RefObject<any>;
5
- renderContent(): React.JSX.Element;
6
- render(): React.JSX.Element;
7
- }
8
- import React from 'react';
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 {};
@@ -3,62 +3,66 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
7
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
8
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
9
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
10
- var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
6
+ exports.System = void 0;
11
7
  var _react = _interopRequireWildcard(require("react"));
12
- var _SchedulersAndAgents = _interopRequireDefault(require("../SchedulersAndAgents/SchedulersAndAgents"));
13
- var _Resources = _interopRequireDefault(require("../Resources/Resources"));
14
- var _Masters = _interopRequireDefault(require("../Masters/Masters"));
15
- var _Chunks = _interopRequireDefault(require("../Chunks/Chunks"));
16
- var _Proxies = _interopRequireDefault(require("../Proxies/Proxies"));
17
- var _RpcProxies = _interopRequireDefault(require("../RpcProxies/RpcProxies"));
18
- var _Nodes = _interopRequireDefault(require("../Nodes/Nodes"));
19
8
  require("./System.css");
9
+ var _SystemGeneralTab = require("./SystemGeneralTab");
10
+ var _UIFactory = _interopRequireDefault(require("../../../UIFactory"));
11
+ var _Tabs = _interopRequireDefault(require("../../../components/Tabs/Tabs"));
12
+ var _global = require("../../../constants/global");
13
+ var _reactRouter = require("react-router");
14
+ var _tabs = require("../../../constants/system/tabs");
15
+ var _getSystemTabItems = require("./helpers/getSystemTabItems");
16
+ var _global2 = require("../../../store/selectors/global");
17
+ var _reactRedux = require("react-redux");
20
18
  var _jsxRuntime = require("react/jsx-runtime");
19
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
20
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
22
21
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
23
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
- var CONTAINER_PADDING = 50;
25
- var System = exports.default = /*#__PURE__*/function (_Component) {
26
- (0, _inherits2.default)(System, _Component);
27
- var _super = (0, _createSuper2.default)(System);
28
- function System() {
29
- var _this;
30
- (0, _classCallCheck2.default)(this, System);
31
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
32
- args[_key] = arguments[_key];
33
- }
34
- _this = _super.call.apply(_super, [this].concat(args));
35
- _this.container = /*#__PURE__*/_react.default.createRef();
36
- return _this;
22
+ var Wrap = function Wrap(_ref) {
23
+ var children = _ref.children;
24
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
25
+ className: "elements-page__content",
26
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
27
+ className: 'elements-main-section system',
28
+ children: children
29
+ })
30
+ });
31
+ };
32
+ var System = exports.System = function System(_ref2) {
33
+ var match = _ref2.match;
34
+ var cluster = (0, _reactRedux.useSelector)(_global2.getCluster);
35
+ var systemMonitoringTab = _UIFactory.default.getSystemMonitoringTab();
36
+ var items = (0, _react.useMemo)(function () {
37
+ return (0, _getSystemTabItems.getSystemTabItems)({
38
+ url: match.url,
39
+ tabSettings: systemMonitoringTab,
40
+ cluster: cluster
41
+ });
42
+ }, [match.url, systemMonitoringTab, cluster]);
43
+ if (!systemMonitoringTab) {
44
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Wrap, {
45
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemGeneralTab.SystemGeneralTab, {})
46
+ });
37
47
  }
38
- (0, _createClass2.default)(System, [{
39
- key: "renderContent",
40
- value: function renderContent() {
41
- var containerWidth = this.container.current ? this.container.current.clientWidth - CONTAINER_PADDING * 2 : undefined;
42
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
43
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Resources.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Masters.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_SchedulersAndAgents.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Chunks.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Proxies.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_RpcProxies.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Nodes.default, {
44
- containerWidth: containerWidth,
45
- collapsed: false
46
- })]
47
- });
48
- }
49
- }, {
50
- key: "render",
51
- value: function render() {
52
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
53
- className: "elements-page__content",
54
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
55
- className: 'elements-main-section system',
56
- ref: this.container,
57
- children: this.renderContent()
58
- })
59
- });
60
- }
61
- }]);
62
- return System;
63
- }(_react.Component);
48
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Wrap, {
49
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Tabs.default, {
50
+ items: items,
51
+ active: _tabs.SystemTabs.GENERAL,
52
+ size: _global.UI_TAB_SIZE,
53
+ routed: true,
54
+ underline: true
55
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactRouter.Switch, {
56
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouter.Route, {
57
+ path: "".concat(match.path, "/").concat(_tabs.SystemTabs.GENERAL),
58
+ component: _SystemGeneralTab.SystemGeneralTab
59
+ }), 'component' in systemMonitoringTab && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouter.Route, {
60
+ path: "".concat(match.path, "/").concat(_tabs.SystemTabs.MONITORING),
61
+ component: systemMonitoringTab.component
62
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRouter.Redirect, {
63
+ to: "".concat(match.path, "/").concat(_tabs.SystemTabs.GENERAL)
64
+ })]
65
+ })]
66
+ });
67
+ };
64
68
  // #sourceMappingURL=System.js.map