@ytsaurus/ui 1.42.2 → 1.42.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/ui/components/Pagination/Pagination.js +1 -0
- package/build/cjs/ui/components/Pagination/Pagination.js.map +1 -1
- package/build/cjs/ui/containers/ClusterPage/ClusterPage.css +0 -3
- package/build/cjs/ui/containers/ClusterPage/ClusterPage.css.map +1 -1
- package/build/cjs/ui/containers/ClusterPage/ClusterPage.js +1 -2
- package/build/cjs/ui/containers/ClusterPage/ClusterPage.js.map +1 -1
- package/build/cjs/ui/pages/navigation/content/Table/DownloadManager/DownloadManager.css +0 -6
- package/build/cjs/ui/pages/navigation/content/Table/DownloadManager/DownloadManager.css.map +1 -1
- package/build/cjs/ui/pages/navigation/content/Table/DownloadManager/DownloadManager.js +6 -3
- package/build/cjs/ui/pages/navigation/content/Table/DownloadManager/DownloadManager.js.map +1 -1
- package/build/esm/ui/components/Pagination/Pagination.js +1 -0
- package/build/esm/ui/components/Pagination/Pagination.js.map +1 -1
- package/build/esm/ui/containers/ClusterPage/ClusterPage.css +0 -3
- package/build/esm/ui/containers/ClusterPage/ClusterPage.css.map +1 -1
- package/build/esm/ui/containers/ClusterPage/ClusterPage.js +1 -2
- package/build/esm/ui/containers/ClusterPage/ClusterPage.js.map +1 -1
- package/build/esm/ui/containers/ClusterPage/ClusterPage.scss +0 -4
- package/build/esm/ui/pages/navigation/content/Table/DownloadManager/DownloadManager.css +0 -6
- package/build/esm/ui/pages/navigation/content/Table/DownloadManager/DownloadManager.css.map +1 -1
- package/build/esm/ui/pages/navigation/content/Table/DownloadManager/DownloadManager.js +6 -3
- package/build/esm/ui/pages/navigation/content/Table/DownloadManager/DownloadManager.js.map +1 -1
- package/build/esm/ui/pages/navigation/content/Table/DownloadManager/DownloadManager.scss +0 -10
- package/dist/public/build/assets-manifest.json +7 -7
- package/dist/public/build/css/main.a8148b6c.css +2 -0
- package/dist/public/build/css/main.a8148b6c.css.map +1 -0
- package/dist/public/build/js/main.8d129ddf.js +3 -0
- package/dist/public/build/js/{main.62803f34.js.map → main.8d129ddf.js.map} +1 -1
- package/dist/public/build/manifest.json +4 -4
- package/package.json +2 -2
- package/dist/public/build/css/main.419150a6.css +0 -2
- package/dist/public/build/css/main.419150a6.css.map +0 -1
- package/dist/public/build/js/main.62803f34.js +0 -3
- /package/dist/public/build/js/{main.62803f34.js.LICENSE.txt → main.8d129ddf.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","unmountCluster","updateCluster","updateTitle","getClusterUiConfig","isQueryTrackerAllowed","getClusterConfig","NAMESPACES","SettingName","getClusterPagePaneSizes","getStartingPage","SupportedFeaturesUpdater","useRumMeasureStart","useRumMeasureStop","RumMeasureTypes","useClusterFromLocation","makeExtraPageRoutes","odinPageInfo","hasOdinPage","UIFactory","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","onResize","splitScreen","props","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","cluster","getSnapshotBeforeUpdate","prevProps","pageYOffset","current","scrollTop","componentDidUpdate","prevState","prevScroll","scrollBy","prevCluster","componentWillUnmount","path","page","_this$contentPaneRef$","currentWidth","Infinity","setState","renderError","clusterConfig","_ref","error","errorType","CONNECTION","id","AUTHENTICATION","message","GENERAL","isParamsLoading","_this$props","paramsCluster","renderContent","_this$props2","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$props3","clusters","footer","renderAppFooter","ClusterPageStopRumMeasure","Boolean","paneClassNames","direction","HORIZONTAL","onSplit","onUnSplit","minSize","ref","split","mapStateToProps","_state$global","global","login","maintenancePageEvent","loadState","paramsLoading","clustersMenu","LOADED","ERROR","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 {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 {getClusterPagePaneSizes, getStartingPage} 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';\nimport UIFactory from '../../UIFactory';\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 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);\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);\n }\n }\n\n componentWillUnmount() {\n this.props.updateTitle({path: '', page: ''});\n this.props.unmountCluster();\n }\n\n contentPaneRef = React.createRef();\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 const footer = UIFactory.renderAppFooter();\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 'with-footer': Boolean(footer),\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 {footer}\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 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 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","unmountCluster","updateCluster","updateTitle","getClusterUiConfig","isQueryTrackerAllowed","getClusterConfig","NAMESPACES","SettingName","getClusterPagePaneSizes","getStartingPage","SupportedFeaturesUpdater","useRumMeasureStart","useRumMeasureStop","RumMeasureTypes","useClusterFromLocation","makeExtraPageRoutes","odinPageInfo","hasOdinPage","UIFactory","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","onResize","splitScreen","props","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","cluster","getSnapshotBeforeUpdate","prevProps","pageYOffset","current","scrollTop","componentDidUpdate","prevState","prevScroll","scrollBy","prevCluster","componentWillUnmount","path","page","_this$contentPaneRef$","currentWidth","Infinity","setState","renderError","clusterConfig","_ref","error","errorType","CONNECTION","id","AUTHENTICATION","message","GENERAL","isParamsLoading","_this$props","paramsCluster","renderContent","_this$props2","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$props3","clusters","footer","renderAppFooter","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 {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 {getClusterPagePaneSizes, getStartingPage} 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';\nimport UIFactory from '../../UIFactory';\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 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);\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);\n }\n }\n\n componentWillUnmount() {\n this.props.updateTitle({path: '', page: ''});\n this.props.unmountCluster();\n }\n\n contentPaneRef = React.createRef();\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 const footer = UIFactory.renderAppFooter();\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 {footer}\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 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 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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"}
|
@@ -39,9 +39,6 @@
|
|
39
39
|
display: flex;
|
40
40
|
flex-direction: column;
|
41
41
|
}
|
42
|
-
.table-download-manager__shared-settings .elements-radiobutton {
|
43
|
-
margin-bottom: 20px;
|
44
|
-
}
|
45
42
|
.table-download-manager__shared-settings .column-selector {
|
46
43
|
max-height: 25vh;
|
47
44
|
}
|
@@ -58,9 +55,6 @@
|
|
58
55
|
overflow: hidden;
|
59
56
|
background-color: var(--light-background);
|
60
57
|
}
|
61
|
-
.table-download-manager__schemaful-dsv, .table-download-manager__yson, .table-download-manager__json {
|
62
|
-
margin-top: 20px;
|
63
|
-
}
|
64
58
|
.table-download-manager__dsv-separators-item {
|
65
59
|
padding-top: 10px;
|
66
60
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["DownloadManager.scss"],"names":[],"mappings":"AACI;EACI,mBAAA;AAAR;AAEQ;EACI,gBAAA;AAAZ;AAII;EACI,kBAAA;EACA,aAAA;AAFR;AAKI;EACI,aAAA;EACA,eAAA;EACA,yCAAA;AAHR;AAMI;EACI,mBAAA;AAJR;AAOI;EACI,SAAA;EACA,eAAA;EACA,kBAAA;AALR;AAQI;EACI,SAAA;AANR;AASI;EACI,eAAA;AAPR;AAUI;EACI,cAAA;EACA,aAAA;EACA,sBAAA;EAEA,aAAA;EACA,cAAA;AATR;AAYI;
|
1
|
+
{"version":3,"sources":["DownloadManager.scss"],"names":[],"mappings":"AACI;EACI,mBAAA;AAAR;AAEQ;EACI,gBAAA;AAAZ;AAII;EACI,kBAAA;EACA,aAAA;AAFR;AAKI;EACI,aAAA;EACA,eAAA;EACA,yCAAA;AAHR;AAMI;EACI,mBAAA;AAJR;AAOI;EACI,SAAA;EACA,eAAA;EACA,kBAAA;AALR;AAQI;EACI,SAAA;AANR;AASI;EACI,eAAA;AAPR;AAUI;EACI,cAAA;EACA,aAAA;EACA,sBAAA;EAEA,aAAA;EACA,cAAA;AATR;AAYI;EASI,YAAA;EACA,aAAA;EACA,sBAAA;AAlBR;AAQQ;EACI,gBAAA;AANZ;AAQY;EACI,cAAA;AANhB;AAeI;EACI,aAAA;EACA,8BAAA;EACA,cAAA;AAbR;AAgBI;EACI,aAAA;EACA,gBAAA;EAEA,yCAAA;AAfR;AAkBI;EACI,iBAAA;AAhBR","file":"DownloadManager.css","sourcesContent":[".table-download-manager {\n &__content {\n margin: -15px -30px;\n\n .elements-message {\n margin-bottom: 0;\n }\n }\n\n &__manager {\n position: relative;\n display: flex;\n }\n\n &__format {\n flex: 0 0 33%;\n padding: 15px 0;\n background-color: var(--light-background);\n }\n\n &__tabs {\n margin-bottom: 20px;\n }\n\n &__help {\n margin: 0;\n padding: 0 30px;\n line-height: 1.6em;\n }\n\n &__format-description {\n margin: 0;\n }\n\n &__report-error {\n padding: 0 15px;\n }\n\n &__settings {\n flex: 1 1 auto;\n display: flex;\n flex-direction: column;\n\n padding: 15px;\n overflow: auto;\n }\n\n &__shared-settings {\n .column-selector {\n max-height: 25vh;\n\n &__content {\n overflow: auto;\n }\n }\n\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n }\n\n &__rows {\n display: grid;\n grid-template-columns: 1fr 1fr;\n grid-gap: 30px;\n }\n\n &__columns-selector {\n display: flex;\n overflow: hidden;\n\n background-color: var(--light-background);\n }\n\n &__dsv-separators-item {\n padding-top: 10px;\n }\n}\n"],"sourceRoot":""}
|
@@ -294,7 +294,7 @@ export var DownloadManager = /*#__PURE__*/function (_React$Component) {
|
|
294
294
|
var _this$state2 = this.state,
|
295
295
|
startRow = _this$state2.startRow,
|
296
296
|
numRows = _this$state2.numRows;
|
297
|
-
return '[#' + startRow + ':#' + (
|
297
|
+
return '[#' + startRow + ':#' + (Number(startRow) + Number(numRows)) + ']';
|
298
298
|
} else {
|
299
299
|
return '';
|
300
300
|
}
|
@@ -562,6 +562,7 @@ export var DownloadManager = /*#__PURE__*/function (_React$Component) {
|
|
562
562
|
children: "Rows"
|
563
563
|
}), /*#__PURE__*/_jsx(RadioButton, {
|
564
564
|
size: "m",
|
565
|
+
className: "elements-form__field",
|
565
566
|
value: rowsMode,
|
566
567
|
name: "download-manager-row-mode",
|
567
568
|
onUpdate: function onUpdate(value) {
|
@@ -588,6 +589,7 @@ export var DownloadManager = /*#__PURE__*/function (_React$Component) {
|
|
588
589
|
className: "elements-form__label",
|
589
590
|
children: "Number of rows"
|
590
591
|
}), /*#__PURE__*/_jsx(Filter, {
|
592
|
+
qa: "download-manager_number-of-rows",
|
591
593
|
autofocus: false,
|
592
594
|
value: String(numRows),
|
593
595
|
invalid: isNaN(numRows) || numRows === '',
|
@@ -615,6 +617,7 @@ export var DownloadManager = /*#__PURE__*/function (_React$Component) {
|
|
615
617
|
children: "Columns"
|
616
618
|
}), /*#__PURE__*/_jsx(RadioButton, {
|
617
619
|
size: "m",
|
620
|
+
className: "elements-form__field",
|
618
621
|
value: columnsMode,
|
619
622
|
name: "download-manager-columns-mode",
|
620
623
|
onUpdate: function onUpdate(value) {
|
@@ -822,7 +825,7 @@ export var DownloadManager = /*#__PURE__*/function (_React$Component) {
|
|
822
825
|
var _this9 = this;
|
823
826
|
var ysonFormat = this.state.ysonFormat;
|
824
827
|
return /*#__PURE__*/_jsxs("div", {
|
825
|
-
className: block('yson'
|
828
|
+
className: block('yson'),
|
826
829
|
children: [/*#__PURE__*/_jsx("div", {
|
827
830
|
className: "elements-form__label",
|
828
831
|
children: "Format"
|
@@ -942,7 +945,7 @@ export var DownloadManager = /*#__PURE__*/function (_React$Component) {
|
|
942
945
|
}), /*#__PURE__*/_jsxs("div", {
|
943
946
|
className: block('settings', 'pretty-scroll'),
|
944
947
|
children: [/*#__PURE__*/_jsxs("div", {
|
945
|
-
className: block('shared-settings'),
|
948
|
+
className: block('shared-settings', 'elements-form__field'),
|
946
949
|
children: [this.renderRows(), format !== 'yamr' && this.renderColumns(), format === 'yamr' && this.renderYamr()]
|
947
950
|
}), /*#__PURE__*/_jsxs("div", {
|
948
951
|
className: block('type-settings'),
|