@ytsaurus/ui 1.23.0 → 1.23.1
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/containers/ClusterPage/ClusterPage.js +5 -4
- package/build/cjs/ui/containers/ClusterPage/ClusterPage.js.map +1 -1
- package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js +4 -4
- package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map +1 -1
- package/build/esm/ui/containers/ClusterPage/ClusterPage.js +5 -4
- package/build/esm/ui/containers/ClusterPage/ClusterPage.js.map +1 -1
- package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js +4 -4
- package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map +1 -1
- package/dist/public/build/assets-manifest.json +4 -4
- package/dist/public/build/js/{main.2039416a.js → main.0a1bcc77.js} +3 -3
- package/dist/public/build/js/{main.2039416a.js.map → main.0a1bcc77.js.map} +1 -1
- package/dist/public/build/manifest.json +2 -2
- package/package.json +2 -2
- /package/dist/public/build/js/{main.2039416a.js.LICENSE.txt → main.0a1bcc77.js.LICENSE.txt} +0 -0
@@ -84,6 +84,11 @@ var ClusterPage = /*#__PURE__*/function (_Component) {
|
|
84
84
|
isRedirectToBetaSwitched = _this$props.isRedirectToBetaSwitched,
|
85
85
|
setSetting = _this$props.setSetting;
|
86
86
|
return Promise.resolve().then(function () {
|
87
|
+
initClusterParams(cluster);
|
88
|
+
updateTitle({
|
89
|
+
cluster: cluster
|
90
|
+
});
|
91
|
+
|
87
92
|
// todo: get rid of redirectToBetaSwitched setting.
|
88
93
|
// It`s exist for set default value of redirectToBeta setting, when settings document is empty yet.
|
89
94
|
// Set redirectToBeta on server after get all user settings (home.js). Or get rid of this logic at all.
|
@@ -91,13 +96,9 @@ var ClusterPage = /*#__PURE__*/function (_Component) {
|
|
91
96
|
setSetting(_settings2.SettingName.DEVELOPMENT.REDIRECT_TO_BETA_SWITCHED, _settings2.NAMESPACES.DEVELOPMENT, true);
|
92
97
|
setSetting(_settings2.SettingName.DEVELOPMENT.REDIRECT_TO_BETA, _settings2.NAMESPACES.DEVELOPMENT, true);
|
93
98
|
}
|
94
|
-
initClusterParams(cluster);
|
95
99
|
_this._initMenuCollection('cluster');
|
96
100
|
_this._initMenuCollection('page');
|
97
101
|
trackVisit('cluster', cluster);
|
98
|
-
updateTitle({
|
99
|
-
cluster: cluster
|
100
|
-
});
|
101
102
|
});
|
102
103
|
};
|
103
104
|
_this.onResize = function () {
|
@@ -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 // 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 initClusterParams(cluster);\n this._initMenuCollection('cluster');\n this._initMenuCollection('page');\n trackVisit('cluster', cluster);\n updateTitle({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":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAEA,IAAAK,QAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,gBAAA,GAAAF,sBAAA,CAAAJ,OAAA;AACA,IAAAO,eAAA,GAAAH,sBAAA,CAAAJ,OAAA;AACA,IAAAQ,WAAA,GAAAJ,sBAAA,CAAAJ,OAAA;AACA,IAAAS,WAAA,GAAAL,sBAAA,CAAAJ,OAAA;AACA,IAAAU,SAAA,GAAAN,sBAAA,CAAAJ,OAAA;AACA,IAAAW,UAAA,GAAAP,sBAAA,CAAAJ,OAAA;AACA,IAAAY,OAAA,GAAAR,sBAAA,CAAAJ,OAAA;AACA,IAAAa,WAAA,GAAAT,sBAAA,CAAAJ,OAAA;AACA,IAAAc,WAAA,GAAAV,sBAAA,CAAAJ,OAAA;AACA,IAAAe,OAAA,GAAAX,sBAAA,CAAAJ,OAAA;AACA,IAAAgB,kBAAA,GAAAZ,sBAAA,CAAAJ,OAAA;AACA,IAAAiB,WAAA,GAAAb,sBAAA,CAAAJ,OAAA;AACA,IAAAkB,UAAA,GAAAd,sBAAA,CAAAJ,OAAA;AACA,IAAAmB,WAAA,GAAAf,sBAAA,CAAAJ,OAAA;AACA,IAAAoB,aAAA,GAAAhB,sBAAA,CAAAJ,OAAA;AACA,IAAAqB,IAAA,GAAAjB,sBAAA,CAAAJ,OAAA;AACA,IAAAsB,KAAA,GAAAtB,OAAA;AAEA,IAAAuB,kBAAA,GAAAnB,sBAAA,CAAAJ,OAAA;AACA,IAAAwB,YAAA,GAAApB,sBAAA,CAAAJ,OAAA;AAEA,IAAAyB,SAAA,GAAAzB,OAAA;AACA,IAAA0B,sBAAA,GAAAtB,sBAAA,CAAAJ,OAAA;AACA,IAAA2B,mBAAA,GAAAvB,sBAAA,CAAAJ,OAAA;AACA,IAAA4B,cAAA,GAAAxB,sBAAA,CAAAJ,OAAA;AACA,IAAA6B,MAAA,GAAAzB,sBAAA,CAAAJ,OAAA;AAEA,IAAA8B,MAAA,GAAA9B,OAAA;AACA,IAAA+B,KAAA,GAAA/B,OAAA;AACA,IAAAgC,SAAA,GAAAhC,OAAA;AACA,IAAAiC,cAAA,GAAAjC,OAAA;AACA,IAAAkC,OAAA,GAAAlC,OAAA;AACA,IAAAmC,QAAA,GAAAnC,OAAA;AACA,IAAAoC,MAAA,GAAApC,OAAA;AACA,IAAAqC,UAAA,GAAArC,OAAA;AACA,IAAAsC,UAAA,GAAAtC,OAAA;AAOA,IAAAuC,yBAAA,GAAAnC,sBAAA,CAAAJ,OAAA;AACA,IAAAwC,aAAA,GAAAxC,OAAA;AACA,IAAAyC,gBAAA,GAAAzC,OAAA;AACA,IAAA0C,WAAA,GAAA1C,OAAA;AACA,IAAA2C,uBAAA,GAAA3C,OAAA;AACA,IAAA4C,KAAA,GAAA5C,OAAA;AACA,IAAA6C,OAAA,GAAA7C,OAAA;AAEAA,OAAA;AAA4B,IAAA8C,WAAA,GAAA9C,OAAA;AAAA,SAAA+C,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAjD,wBAAAiD,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAApD,uBAAAgE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAE5B,IAAMC,CAAC,GAAG,IAAAC,kBAAE,EAAC,cAAc,CAAC;AAE5B,IAAMC,yBAAyB,gBAAGC,cAAK,CAACC,IAAI,CAACC,qBAAqB,CAAC;AAAC,IAE9DC,WAAW,0BAAAC,UAAA;EAAA,IAAAC,kBAAA,EAAAF,WAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,OAAAC,qBAAA,EAAAJ,WAAA;EAAA,SAAAA,YAAA;IAAA,IAAAK,KAAA;IAAA,IAAAC,wBAAA,QAAAN,WAAA;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAF,MAAA,CAAAb,IAAA,CAAAuB,KAAA,CAAAV,MAAA,SAAAW,MAAA,CAAAJ,IAAA;IAAAL,KAAA,CAmCbU,KAAK,GAAG;MACJC,KAAK,EAAE;IACX,CAAC;IAAAX,KAAA,CAuCDY,cAAc,gBAAGpB,cAAK,CAACqB,SAAS,CAAC,CAAC;IAAAb,KAAA,CAElCc,YAAY,GAAG,YAAM;MACjB,IAAAC,WAAA,GAOIf,KAAA,CAAKgB,KAAK;QANVC,OAAO,GAAAF,WAAA,CAAPE,OAAO;QACPC,UAAU,GAAAH,WAAA,CAAVG,UAAU;QACVC,WAAW,GAAAJ,WAAA,CAAXI,WAAW;QACXC,iBAAiB,GAAAL,WAAA,CAAjBK,iBAAiB;QACjBC,wBAAwB,GAAAN,WAAA,CAAxBM,wBAAwB;QACxBC,UAAU,GAAAP,WAAA,CAAVO,UAAU;MAGd,OAAOC,OAAO,CAACC,OAAO,CAAC,CAAC,CAACC,IAAI,CAAC,YAAM;QAChC;QACA;QACA;QACA,IAAI,CAACJ,wBAAwB,EAAE;UAC3BC,UAAU,CACNI,sBAAW,CAACC,WAAW,CAACC,yBAAyB,EACjDC,qBAAU,CAACF,WAAW,EACtB,IACJ,CAAC;UACDL,UAAU,CAACI,sBAAW,CAACC,WAAW,CAACG,gBAAgB,EAAED,qBAAU,CAACF,WAAW,EAAE,IAAI,CAAC;QACtF;QAEAP,iBAAiB,CAACH,OAAO,CAAC;QAC1BjB,KAAA,CAAK+B,mBAAmB,CAAC,SAAS,CAAC;QACnC/B,KAAA,CAAK+B,mBAAmB,CAAC,MAAM,CAAC;QAChCb,UAAU,CAAC,SAAS,EAAED,OAAO,CAAC;QAC9BE,WAAW,CAAC;UAACF,OAAO,EAAPA;QAAO,CAAC,CAAC;MAC1B,CAAC,CAAC;IACN,CAAC;IAAAjB,KAAA,CAiBDgC,QAAQ,GAAG,YAAM;MACb,IAAOC,WAAW,GAAIjC,KAAA,CAAKgB,KAAK,CAAzBiB,WAAW;MAClB,IAAMC,OAAO,GAAGC,QAAQ,CAACC,aAAa,CAAC,mBAAmB,CAAC;MAE3D,IAAIH,WAAW,CAACI,OAAO,IAAIH,OAAO,EAAE;QAChC,IAAMI,WAAW,GAAG,EAAE;QACtB,IAAMC,MAAM,GAAGJ,QAAQ,CAACK,cAAc,CAACC,oBAAa,CAAC,CAACC,WAAW,GAAGJ,WAAW;QAC/EJ,OAAO,CAACS,KAAK,CAACC,KAAK,MAAAnC,MAAA,CAAM8B,MAAM,OAAI;MACvC,CAAC,MAAM,IAAIL,OAAO,EAAE;QAChBA,OAAO,CAACS,KAAK,CAACC,KAAK,GAAG,GAAG;MAC7B;MAEAC,MAAM,CAACC,aAAa,CAAC,IAAIC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAAA/C,KAAA,CAEDgD,WAAW,GAAG,YAAM;MAChBhD,KAAA,CAAKgC,QAAQ,CAAC,CAAC;MACf;MACAa,MAAM,CAACC,aAAa,CAAC,IAAIC,KAAK,CAAC,QAAQ,CAAC,CAAC;MACzC/C,KAAA,CAAKiD,mBAAmB,CAAC,CAAC;IAC9B,CAAC;IAAAjD,KAAA,CAaDkD,WAAW,GAAG,UAACC,KAAK,EAAK;MACrBnD,KAAA,CAAKgB,KAAK,CAACM,UAAU,CACjBI,sBAAW,CAAC0B,UAAU,CAACC,uBAAuB,EAC9CxB,qBAAU,CAACuB,UAAU,EACrBD,KACJ,CAAC;MACDnD,KAAA,CAAKiD,mBAAmB,CAAC,CAAC;IAC9B,CAAC;IAAAjD,KAAA,CAEDsD,eAAe,GAAG,YAAM;MACpB,OAAOtD,KAAA,CAAKgB,KAAK,CAACuC,oBAAoB;IAC1C,CAAC;IAAA,OAAAvD,KAAA;EAAA;EAAA,IAAAwD,qBAAA,EAAA7D,WAAA;IAAA8D,GAAA;IAAAC,KAAA,EAjID,SAAAC,kBAAA,EAAoB;MAChB,IAAO1C,OAAO,GAAI,IAAI,CAACD,KAAK,CAArBC,OAAO;MACd,IAAI,CAACD,KAAK,CAAC4C,aAAa,CAAC3C,OAAO,EAAE,IAAI,CAACH,YAAY,CAAC;IACxD;EAAC;IAAA2C,GAAA;IAAAC,KAAA,EAED,SAAAG,wBAAwBC,SAAS,EAAE;MAC/B,IAAIA,SAAS,CAAC7B,WAAW,CAACI,OAAO,KAAK,IAAI,CAACrB,KAAK,CAACiB,WAAW,CAACI,OAAO,EAAE;QAClE,OAAO,IAAI,CAACrB,KAAK,CAACiB,WAAW,CAACI,OAAO,GAC/BQ,MAAM,CAACkB,WAAW,GAClB,IAAI,CAACnD,cAAc,CAACoD,OAAO,CAACC,SAAS;MAC/C;MAEA,OAAO,IAAI;IACf;EAAC;IAAAR,GAAA;IAAAC,KAAA,EAED,SAAAQ,mBAAmBJ,SAAS,EAAEK,SAAS,EAAEC,UAAU,EAAE;MACjD,IAAIA,UAAU,KAAK,IAAI,EAAE;QACrB,IAAI,IAAI,CAACpD,KAAK,CAACiB,WAAW,CAACI,OAAO,EAAE;UAChC,IAAI,CAACzB,cAAc,CAACoD,OAAO,CAACC,SAAS,GAAGG,UAAU;QACtD;QAEAvB,MAAM,CAACwB,QAAQ,CAAC,CAAC,EAAED,UAAU,CAAC;MAClC;MAEA,IAAgBE,WAAW,GAAIR,SAAS,CAAjC7C,OAAO;MACd,IAAOA,OAAO,GAAI,IAAI,CAACD,KAAK,CAArBC,OAAO;MAEd,IAAIA,OAAO,KAAKqD,WAAW,EAAE;QACzB,IAAI,CAACtD,KAAK,CAAC4C,aAAa,CAAC3C,OAAO,EAAE,IAAI,CAACH,YAAY,CAAC;MACxD;IACJ;EAAC;IAAA2C,GAAA;IAAAC,KAAA,EAED,SAAAa,qBAAA,EAAuB;MACnB,IAAI,CAACvD,KAAK,CAACG,WAAW,CAAC;QAACqD,IAAI,EAAE,EAAE;QAAEC,IAAI,EAAE;MAAE,CAAC,CAAC;MAC5C,IAAI,CAACzD,KAAK,CAAC0D,cAAc,CAAC,CAAC;IAC/B;EAAC;IAAAjB,GAAA;IAAAC,KAAA,EAmCD,SAAA3B,oBAAoB4C,QAAQ,EAAE;MAC1B,IAAAC,YAAA,GAAoD,IAAI,CAAC5D,KAAK;QAAvD6D,oBAAoB,GAAAD,YAAA,CAApBC,oBAAoB;QAAEC,mBAAmB,GAAAF,YAAA,CAAnBE,mBAAmB;MAEhD,IAAMC,WAAW,GAAG;QAChB9D,OAAO,EAAE,uBAAuB;QAChCwD,IAAI,EAAE;MACV,CAAC;MAED,IAAI,IAAI,CAACzD,KAAK,CAAC+D,WAAW,CAACJ,QAAQ,CAAC,CAAC,EAAE;QACnCE,oBAAoB,CAACF,QAAQ,CAAC;MAClC,CAAC,MAAM;QACHG,mBAAmB,IAAArE,MAAA,CAAIkE,QAAQ,MAAG,CAAC;MACvC;IACJ;EAAC;IAAAlB,GAAA;IAAAC,KAAA,EAwBD,SAAAT,oBAAA,EAAsB;MAAA,IAAA+B,qBAAA;MAClB,IAAMC,YAAY,GAAG,EAAAD,qBAAA,OAAI,CAACpE,cAAc,CAACoD,OAAO,cAAAgB,qBAAA,uBAA3BA,qBAAA,CAA6BtC,WAAW,KAAIwC,QAAQ;MACzE,IAAID,YAAY,IAAI,GAAG,EAAE;QACrB,IAAI,CAACE,QAAQ,CAAC;UAACxE,KAAK,EAAE;QAAO,CAAC,CAAC;MACnC,CAAC,MAAM,IAAIsE,YAAY,IAAI,IAAI,EAAE;QAC7B,IAAI,CAACE,QAAQ,CAAC;UAACxE,KAAK,EAAE;QAAQ,CAAC,CAAC;MACpC,CAAC,MAAM;QACH,IAAI,CAACwE,QAAQ,CAAC;UAACxE,KAAK,EAAE;QAAO,CAAC,CAAC;MACnC;IACJ;EAAC;IAAA8C,GAAA;IAAAC,KAAA,EAeD,SAAA0B,YAAYC,aAAa,EAAE;MACvB,IAAAC,IAAA,GAAoB,IAAI,CAACtE,KAAK,CAACuE,KAAK,IAAI,CAAC,CAAC;QAAnCC,SAAS,GAAAF,IAAA,CAATE,SAAS;MAEhB,QAAQA,SAAS;QACb,KAAKC,iBAAU,CAACC,UAAU;UACtB,oBAAO,IAAAC,eAAA,EAACC,8BAAqB;YAAC3E,OAAO,EAAEoE,aAAa,CAACQ;UAAG,CAAE,CAAC;QAC/D,KAAKJ,iBAAU,CAACK,cAAc;UAC1B,oBACI,IAAAH,eAAA,EAACI,2BAAkB;YACf9E,OAAO,EAAEoE,aAAa,CAACQ,EAAG;YAC1BG,OAAO,EACH,qFAAqF,GACrF,6FAA6F,GAC7F;UACH,CACJ,CAAC;QAEV,KAAKP,iBAAU,CAACQ,OAAO;UACnB,oBACI,IAAAN,eAAA,EAACI,2BAAkB;YAACC,OAAO,EAAC;UAAmF,CAAE,CAAC;MAE9H;IACJ;EAAC;IAAAvC,GAAA;IAAAC,KAAA,EAED,SAAAwC,gBAAA,EAAkB;MACd,IAAAC,YAAA,GAAiC,IAAI,CAACnF,KAAK;QAApCC,OAAO,GAAAkF,YAAA,CAAPlF,OAAO;QAAEmF,aAAa,GAAAD,YAAA,CAAbC,aAAa;MAC7B,OAAOnF,OAAO,KAAKmF,aAAa;IACpC;EAAC;IAAA3C,GAAA;IAAAC,KAAA,EAED,SAAA2C,cAAchB,aAAa,EAAE;MACzB,IAAAiB,YAAA,GAQI,IAAI,CAACtF,KAAK;QAPVC,OAAO,GAAAqF,YAAA,CAAPrF,OAAO;QACPsF,YAAY,GAAAD,YAAA,CAAZC,YAAY;QACZC,QAAQ,GAAAF,YAAA,CAARE,QAAQ;QACRC,QAAQ,GAAAH,YAAA,CAARG,QAAQ;QACRC,WAAW,GAAAJ,YAAA,CAAXI,WAAW;QACXC,SAAS,GAAAL,YAAA,CAATK,SAAS;QACTC,iBAAiB,GAAAN,YAAA,CAAjBM,iBAAiB;MAGrB,OAAOJ,QAAQ,IAAI,CAAC,IAAI,CAACN,eAAe,CAAC,CAAC,gBACtC,IAAAW,gBAAA,EAACC,eAAQ;QAAAC,QAAA,gBACL,IAAApB,eAAA,EAACqB,iCAAwB,IAAE,CAAC,eAC5B,IAAArB,eAAA,EAACsB,uBAAyB,IAAE,CAAC,eAC7B,IAAAtB,eAAA,EAACpG,yBAAyB;UAAC2H,EAAE,MAAAzG,MAAA,CAAMQ,OAAO,OAAAR,MAAA,CAAI0G,WAAI,CAACC,GAAG;QAAG,CAAE,CAAC,eAC5D,IAAAP,gBAAA,EAACQ,mBAAM;UAAAN,QAAA,gBACH,IAAApB,eAAA,EAAC2B,kBAAK;YAAC9C,IAAI,eAAA/D,MAAA,CAAe0G,WAAI,CAACC,GAAG,CAAG;YAACG,SAAS,EAAEC;UAAQ,CAAE,CAAC,eAC5D,IAAA7B,eAAA,EAAC2B,kBAAK;YAAC9C,IAAI,eAAA/D,MAAA,CAAe0G,WAAI,CAACM,WAAW,CAAG;YAACF,SAAS,EAAEG;UAAgB,CAAE,CAAC,eAC5E,IAAA/B,eAAA,EAAC2B,kBAAK;YAAC9C,IAAI,eAAA/D,MAAA,CAAe0G,WAAI,CAACQ,UAAU,CAAG;YAACJ,SAAS,EAAEK;UAAW,CAAE,CAAC,eACtE,IAAAjC,eAAA,EAAC2B,kBAAK;YAAC9C,IAAI,eAAA/D,MAAA,CAAe0G,WAAI,CAACU,UAAU,CAAG;YAACN,SAAS,EAAEO;UAAW,CAAE,CAAC,eACtE,IAAAnC,eAAA,EAAC2B,kBAAK;YAAC9C,IAAI,eAAA/D,MAAA,CAAe0G,WAAI,CAACY,GAAG,CAAG;YAACR,SAAS,EAAES;UAAI,CAAE,CAAC,eACxD,IAAArC,eAAA,EAAC2B,kBAAK;YAAC9C,IAAI,eAAA/D,MAAA,CAAe0G,WAAI,CAACc,SAAS,CAAG;YAACV,SAAS,EAAEW;UAAU,CAAE,CAAC,eACpE,IAAAvC,eAAA,EAAC2B,kBAAK;YAAC9C,IAAI,eAAA/D,MAAA,CAAe0G,WAAI,CAACgB,MAAM,CAAG;YAACZ,SAAS,EAAEa;UAAO,CAAE,CAAC,eAC9D,IAAAzC,eAAA,EAAC2B,kBAAK;YAAC9C,IAAI,eAAA/D,MAAA,CAAe0G,WAAI,CAACkB,QAAQ,CAAG;YAACd,SAAS,EAAEe;UAAS,CAAE,CAAC,eAClE,IAAA3C,eAAA,EAAC2B,kBAAK;YACF9C,IAAI,EAAE,cAAA/D,MAAA,CACW0G,WAAI,CAACoB,mBAAmB,gBAAA9H,MAAA,CACxB0G,WAAI,CAACqB,kBAAkB,EACtC;YACFjB,SAAS,EAAEkB;UAAkB,CAChC,CAAC,eACF,IAAA9C,eAAA,EAAC2B,kBAAK;YAAC9C,IAAI,eAAA/D,MAAA,CAAe0G,WAAI,CAAC/D,UAAU,CAAG;YAACmE,SAAS,EAAEmB;UAAW,CAAE,CAAC,eACtE,IAAA/C,eAAA,EAAC2B,kBAAK;YAAC9C,IAAI,eAAA/D,MAAA,CAAe0G,WAAI,CAACwB,WAAW,CAAG;YAACpB,SAAS,EAAEqB;UAAW,CAAE,CAAC,eACvE,IAAAjD,eAAA,EAAC2B,kBAAK;YAAC9C,IAAI,eAAA/D,MAAA,CAAe0G,WAAI,CAAC0B,MAAM,CAAG;YAACtB,SAAS,EAAEuB;UAAO,CAAE,CAAC,eAC9D,IAAAnD,eAAA,EAAC2B,kBAAK;YAAC9C,IAAI,eAAA/D,MAAA,CAAe0G,WAAI,CAAC4B,KAAK,CAAG;YAACxB,SAAS,EAAEyB;UAAU,CAAE,CAAC,eAChE,IAAArD,eAAA,EAAC2B,kBAAK;YAAC9C,IAAI,eAAA/D,MAAA,CAAe0G,WAAI,CAAC8B,MAAM,CAAG;YAAC1B,SAAS,EAAE2B;UAAW,CAAE,CAAC,eAClE,IAAAvD,eAAA,EAAC2B,kBAAK;YAAC9C,IAAI,eAAA/D,MAAA,CAAe0G,WAAI,CAACgC,UAAU,CAAG;YAAC5B,SAAS,EAAE6B;UAAW,CAAE,CAAC,EACrEzC,SAAS,iBAAI,IAAAhB,eAAA,EAAC2B,kBAAK;YAAC9C,IAAI,eAAA/D,MAAA,CAAe0G,WAAI,CAACkC,IAAI,CAAG;YAAC9B,SAAS,EAAE+B;UAAS,CAAE,CAAC,EAC3E1C,iBAAiB,iBACd,IAAAjB,eAAA,EAAC2B,kBAAK;YAAC9C,IAAI,eAAA/D,MAAA,CAAe0G,WAAI,CAACoC,OAAO,CAAG;YAAChC,SAAS,EAAEiC;UAAa,CAAE,CACvE,EACA,IAAAC,mBAAW,EAAC,CAAC,iBACV,IAAA9D,eAAA,EAAC2B,kBAAK;YACF9C,IAAI,eAAA/D,MAAA,CAAeiJ,kBAAY,CAACC,MAAM,CAAG;YACzCpC,SAAS,EAAEmC,kBAAY,CAACE;UAAe,CAC1C,CACJ,eAED,IAAAjE,eAAA,EAACkE,qBAAQ;YACLC,IAAI,eAAArJ,MAAA,CAAe0G,WAAI,CAAC4C,QAAQ,CAAG;YACnC7C,EAAE,eAAAzG,MAAA,CAAe0G,WAAI,CAACQ,UAAU;UAAY,CAC/C,CAAC,EACD,IAAAqC,2CAAmB,EAAC,CAAC,eACtB,IAAArE,eAAA,EAACkE,qBAAQ;YAACC,IAAI,MAAArJ,MAAA,CAAMQ,OAAO,MAAI;YAACiG,EAAE,MAAAzG,MAAA,CAAMQ,OAAO,OAAAR,MAAA,CAAI8F,YAAY;UAAG,CAAE,CAAC;QAAA,CACjE,CAAC,eAET,IAAAZ,eAAA,EAAC2B,kBAAK;UAAC9C,IAAI,EAAC,uBAAuB;UAAC+C,SAAS,EAAE0C;QAAY,CAAE,CAAC;MAAA,CACxD,CAAC,gBAEX,IAAApD,gBAAA,EAACrH,cAAK,CAACsH,QAAQ;QAAAC,QAAA,gBACX,IAAApB,eAAA;UAAKuE,SAAS,EAAC,WAAW;UAAAnD,QAAA,EACrBN,QAAQ,GACL,IAAI,CAACrB,WAAW,CAACC,aAAa,CAAC,gBAE/B,IAAAwB,gBAAA;YAAGqD,SAAS,EAAC,oBAAoB;YAAAnD,QAAA,GAAC,UAAQ,EAAC1B,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEQ,EAAE,EAAC,KAAG;UAAA,CAAG;QACtE,CACA,CAAC,eACN,IAAAF,eAAA;UAAKuE,SAAS,EAAE7K,CAAC,CAAC,OAAO,CAAE;UAAA0H,QAAA,EACtBL,WAAW,iBAAI,IAAAf,eAAA,EAACwE,cAAU;YAAC5E,KAAK,EAAEmB;UAAY,CAAE;QAAC,CACjD,CAAC;MAAA,CACM,CACnB;IACL;EAAC;IAAAjD,GAAA;IAAAC,KAAA,EAED,SAAA0G,OAAA,EAAS;MACL,IAAAC,YAAA,GAAyC,IAAI,CAACrJ,KAAK;QAA5CC,OAAO,GAAAoJ,YAAA,CAAPpJ,OAAO;QAAEgB,WAAW,GAAAoI,YAAA,CAAXpI,WAAW;QAAEqI,QAAQ,GAAAD,YAAA,CAARC,QAAQ;;MAErC;MACA,IAAMjF,aAAa,GAAG,IAAAkF,uBAAgB,EAACD,QAAQ,EAAErJ,OAAO,CAAC;;MAEzD;MACA,oBACI,IAAA4F,gBAAA,EAACC,eAAQ;QAAAC,QAAA,gBACL,IAAApB,eAAA,EAAC6E,yBAAyB,IAAE,CAAC,eAC7B,IAAA7E,eAAA,EAAC8E,2BAAiB;UAACxJ,OAAO,EAAEA;QAAQ,CAAE,CAAC,eAEvC,IAAA0E,eAAA,EAAC+E,0BAAiB,IAAE,CAAC,eAErB,IAAA7D,gBAAA,EAAC8D,sBAAa;UACVT,SAAS,EAAE7K,CAAC,CAAC,eAAe,EAAE;YAC1B,WAAW,EAAE4C,WAAW,CAACI;UAC7B,CAAC,CAAE;UACHuI,cAAc,EAAE3I,WAAW,CAAC2I,cAAe;UAC3CC,SAAS,EAAEF,sBAAa,CAACG,UAAW;UACpC9I,QAAQ,EAAE,IAAI,CAACA,QAAS;UACxBkB,WAAW,EAAE,IAAI,CAACA,WAAY;UAC9B6H,OAAO,EAAE,IAAI,CAAC/H,WAAY;UAC1BgI,SAAS,EAAE,IAAI,CAAChI,WAAY;UAC5BiI,OAAO,EAAE,GAAI;UACb3H,eAAe,EAAE,IAAI,CAACA,eAAgB;UACtCuC,EAAE,EAAEpD,oBAAc;UAAAsE,QAAA,gBAElB,IAAApB,eAAA;YACIuF,GAAG,EAAE,IAAI,CAACtK,cAAe;YACzBsJ,SAAS,EAAE7K,CAAC,CAAC,cAAc,EAAE;cACzB8L,KAAK,EAAElJ,WAAW,CAACI,OAAO,IAAI,KAAK;cACnC1B,KAAK,EAAE,IAAI,CAACD,KAAK,CAACC;YACtB,CAAC,CAAE;YAAAoG,QAAA,EAEF,IAAI,CAACV,aAAa,CAAChB,aAAa;UAAC,CACjC,CAAC,EAEL,IAAI;QAAA,CACM,CAAC;MAAA,CACV,CAAC;IAEnB;EAAC;EAAA,OAAA1F,WAAA;AAAA,EA5TqByL,gBAAS;AA+TnC,SAASC,eAAeA,CAAC3K,KAAK,EAAE;EAC5B,IAAA4K,aAAA,GASI5K,KAAK,CAAC6K,MAAM;IARZC,KAAK,GAAAF,aAAA,CAALE,KAAK;IACLC,oBAAoB,GAAAH,aAAA,CAApBG,oBAAoB;IACpBxJ,WAAW,GAAAqJ,aAAA,CAAXrJ,WAAW;IACXyJ,SAAS,GAAAJ,aAAA,CAATI,SAAS;IACTnG,KAAK,GAAA+F,aAAA,CAAL/F,KAAK;IACLa,aAAa,GAAAkF,aAAA,CAAblF,aAAa;IACbuF,aAAa,GAAAL,aAAA,CAAbK,aAAa;IACbjF,WAAW,GAAA4E,aAAA,CAAX5E,WAAW;EAGf,IAAM4D,QAAQ,GAAG5J,KAAK,CAACkL,YAAY,CAACtB,QAAQ;EAE5C,OAAO;IACHA,QAAQ,EAARA,QAAQ;IACR9D,QAAQ,EAAE,CAACmF,aAAa,IAAID,SAAS,KAAKG,qBAAc,CAACC,MAAM;IAC/DrF,QAAQ,EAAEiF,SAAS,KAAKG,qBAAc,CAACE,KAAK;IAC5CxG,KAAK,EAALA,KAAK;IACLmB,WAAW,EAAXA,WAAW;IACX8E,KAAK,EAALA,KAAK;IACLvJ,WAAW,EAAXA,WAAW;IACXwJ,oBAAoB,EAApBA,oBAAoB;IACpBpK,wBAAwB,EAAE,IAAAA,mCAAwB,EAACX,KAAK,CAAC;IACzDsL,qBAAqB,EAAE,IAAAA,gCAAqB,EAACtL,KAAK,CAAC;IACnDuL,kBAAkB,EAAE,IAAAA,6BAAkB,EAACvL,KAAK,CAAC;IAC7C6C,oBAAoB,EAAE,IAAA2I,kCAAuB,EAACxL,KAAK,CAAC;IACpD6F,YAAY,EAAE,IAAA4F,0BAAe,EAACzL,KAAK,CAAC;IACpC0F,aAAa,EAAbA,aAAa;IACbQ,iBAAiB,EAAE,IAAAwF,8BAAqB,EAAC1L,KAAK,CAAC;IAC/CiG,SAAS,EAAE0F,OAAO,CAAC,IAAAC,2BAAkB,EAAC5L,KAAK,CAAC,CAAC6L,wBAAwB;EACzE,CAAC;AACL;AAEA,IAAMC,kBAAkB,GAAG;EACvBlL,UAAU,EAAVA,oBAAU;EACVJ,UAAU,EAAVA,gBAAU;EACV2D,oBAAoB,EAApBA,0BAAoB;EACpBC,mBAAmB,EAAnBA,yBAAmB;EACnB3D,WAAW,EAAXA,mBAAW;EACXC,iBAAiB,EAAjBA,gCAAiB;EACjBwC,aAAa,EAAbA,4BAAa;EACbc,cAAc,EAAdA;AACJ,CAAC;AAAA,IAAA+H,QAAA,GAAAC,OAAA,CAAArO,OAAA,GAEc,IAAAsO,mBAAO,EAACtB,eAAe,EAAEmB,kBAAkB,CAAC,CAAC7M,WAAW,CAAC;AAExE,SAASD,qBAAqBA,CAAAkN,KAAA,EAAO;EAAA,IAAL1F,EAAE,GAAA0F,KAAA,CAAF1F,EAAE;EAC9B,IAAA2F,YAAA,GAA0B,IAAAC,uBAAW,EAAC,UAACpM,KAAK;MAAA,OAAKA,KAAK,CAAC6K,MAAM;IAAA,EAAC;IAAvDwB,OAAO,GAAAF,YAAA,CAAPE,OAAO;IAAEC,MAAM,GAAAH,YAAA,CAANG,MAAM;EACtB,IAAAC,YAAA,GAAmB,IAAAC,wBAAW,EAAC,CAAC;IAAzBC,QAAQ,GAAAF,YAAA,CAARE,QAAQ;EACf,IAAMC,cAAc,GAAG,CAACJ,MAAM,IAAID,OAAO,KAAK,CAACI,QAAQ,CAACE,QAAQ,CAAC,MAAM,CAAC;EAExE,IAAI,CAACD,cAAc,EAAE;IACjB,OAAO,IAAI;EACf;EAEA,oBAAO,IAAAzH,eAAA,EAACkE,qBAAQ;IAAC3C,EAAE,EAAEA;EAAG,CAAE,CAAC;AAC/B;AAEA,SAASsD,yBAAyBA,CAAA,EAAG;EACjC,IAAMkB,SAAS,GAAG,IAAAoB,uBAAW,EAAC,UAACpM,KAAK;IAAA,OAAKA,KAAK,CAAC6K,MAAM,CAACG,SAAS;EAAA,EAAC;EAChE,IAAMC,aAAa,GAAG,IAAAmB,uBAAW,EAAC,UAACpM,KAAK;IAAA,OAAKA,KAAK,CAAC6K,MAAM,CAACI,aAAa;EAAA,EAAC;EAExE,IAAMnF,QAAQ,GACVkF,SAAS,KAAKG,qBAAc,CAACE,KAAK,IACjC,CAACJ,aAAa,IAAID,SAAS,KAAKG,qBAAc,CAACC,MAAO;EAE3D,IAAM7K,OAAO,GAAG,IAAAqM,kCAAsB,EAAC,CAAC;EAExC,IAAAC,gCAAkB,EAAC;IACfC,IAAI,EAAEC,gCAAe,CAACC,cAAc;IACpCC,OAAO,QAAAlN,MAAA,CAAQQ,OAAO,CAAE;IACxB2M,SAAS,EAAE,SAAAA,UAAAC,KAAA;MAAA,IAAAC,KAAA,OAAAC,uBAAA,EAAAF,KAAA;QAAErH,QAAQ,GAAAsH,KAAA;MAAA,OAAM,CAACtH,QAAQ;IAAA;IACpCwH,SAAS,EAAE,CAACxH,QAAQ;EACxB,CAAC,CAAC;EAEF,IAAAyH,+BAAiB,EAAC;IACdT,IAAI,EAAEC,gCAAe,CAACC,cAAc;IACpCE,SAAS,EAAE,SAAAA,UAAAM,KAAA;MAAA,IAAAC,KAAA,OAAAJ,uBAAA,EAAAG,KAAA;QAAE1H,QAAQ,GAAA2H,KAAA;MAAA,OAAM3H,QAAQ;IAAA;IACnC4H,QAAQ,EAAE,CAAC5H,QAAQ;EACvB,CAAC,CAAC;EACF,OAAO,IAAI;AACf"}
|
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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"}
|
package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js
CHANGED
@@ -500,10 +500,10 @@ function validateFormValues(quota, values) {
|
|
500
500
|
var _tabletNode$memory, _tabletNode$vcpu, _resources$rpc_proxy_2, _resources$rpc_proxy_3, _tabletNode$memory2, _resources$rpc_proxy_4, _resources$rpc_proxy_5;
|
501
501
|
var res = {
|
502
502
|
resources: {
|
503
|
-
info:
|
503
|
+
info: undefined
|
504
504
|
},
|
505
505
|
memory_limits: {
|
506
|
-
memory_reset:
|
506
|
+
memory_reset: undefined
|
507
507
|
}
|
508
508
|
};
|
509
509
|
var resources = values.resources;
|
@@ -514,7 +514,7 @@ function validateFormValues(quota, values) {
|
|
514
514
|
return acc + v;
|
515
515
|
}, 0);
|
516
516
|
var tabletNode = resources.tablet_node_resource_guarantee;
|
517
|
-
res.memory_limits.memory_reset = currentAccLimit > ((_tabletNode$memory = tabletNode === null || tabletNode === void 0 ? void 0 : tabletNode.memory) !== null && _tabletNode$memory !== void 0 ? _tabletNode$memory : 0) ? 'The sum of the memory limits exceeds the allowed values' :
|
517
|
+
res.memory_limits.memory_reset = currentAccLimit > ((_tabletNode$memory = tabletNode === null || tabletNode === void 0 ? void 0 : tabletNode.memory) !== null && _tabletNode$memory !== void 0 ? _tabletNode$memory : 0) ? 'The sum of the memory limits exceeds the allowed values' : undefined;
|
518
518
|
var _resources$rpc_proxy_ = resources.rpc_proxy_count,
|
519
519
|
rpc_proxy_count = _resources$rpc_proxy_ === void 0 ? 0 : _resources$rpc_proxy_,
|
520
520
|
_resources$tablet_nod = resources.tablet_node_count,
|
@@ -528,7 +528,7 @@ function validateFormValues(quota, values) {
|
|
528
528
|
if (requiredMemory > (quota === null || quota === void 0 ? void 0 : quota.memory)) {
|
529
529
|
violatedResources.push("".concat(_hammer.default.format.Bytes(requiredMemory), " memory requried"));
|
530
530
|
}
|
531
|
-
res.resources.info = violatedResources.length ? violatedResources.join(', ') :
|
531
|
+
res.resources.info = violatedResources.length ? violatedResources.join(', ') : undefined;
|
532
532
|
return res;
|
533
533
|
}
|
534
534
|
// #sourceMappingURL=BundleEditorDialog.js.map
|
package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactRedux","_bemCnLite","_isEmpty","_Info","_BundleParamsList","_Dialog","_hammer","_global","_tabletCellBundleEditor","_tablet_cell_bundles","_tabletCellBundleEditor2","_bundleEditorDialog","_UIFactory","_interopRequireWildcard","_utils","_config","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","block","cn","BundleEditorDialog","_initialValues$resour","_useSelector","useSelector","getTabletCellBundleEditorState","visibleEditor","bundleName","bundleData","data","orchidData","bundleControllerData","clusterUiConfig","getClusterUiConfig","_useSelector2","getBundleEditorData","bundleDefaultConfig","defaultConfig","bundleControllerConfig","bundle_controller_target_config","enableBundleController","enable_bundle_controller","_getResourceData","getResourceData","tabletCountUsage","usage","_getResourceData2","tabletStaticMemoryUsage","writeableByName","getTabletBundlesWriteableByName","allowTabletCount","allowEdit","isDeveloper","initialValues","getInitialFormValues","_ref","rpc_proxy_sizes","tablet_node_sizes","data_centers","createConfigurationList","_toConsumableArray","values","_ref2","_slicedToArray","rpcConfigurations","nodeConfigurations","dcConfigurations","renderGeneralTabs","name","title","type","size","fields","concat","isAbcAllowed","caption","extras","placeholder","disabled","allowRootAccount","renderResourceTab","fullWidth","touched","children","_jsxs","Info","className","UIFactory","renderTableCellBundleEditorNotice","_jsx","BundleParamsList","params","value","hammer","format","resource_quota","memory","vcpu","Number","resources","tablet_count","withoutDetailedBar","progress","validator","simpleBundleValidate","section","hasClear","tooltip","docsUrl","makeLink","docsUrls","instanceCountValidate","_ref3","form","onRadioClick","nodeConfigurationType","defaultMemory","default_config","memory_limits","defaultThreadPool","cpu_limits","resultMemory","getBundleControllerResource","resultThreadPool","change","_objectSpread","bundleEditorDict","defaults","renderSimpleResourceTab","renderMemoryTab","visibilityCondition","when","isActive","v","allValues","_ref4","_allValues$resources","tablet_node_resource_guarantee","onReset","used","keys","reduce","sum","k","_allValues$memory_lim","isNaN","createParams","renderThreadPoolTab","_ref5","_allValues$resources2","postfix","push","dispatch","useDispatch","onClose","hideTabletCellBundleEditor","onSubmit","_ref6","_asyncToGenerator","_regeneratorRuntime","mark","_callee","preparedData","wrap","_callee$","_context","prev","next","abrupt","prepareSubmitBundle","setBundleEditorController","undefined","t0","validationErrors","_defineProperty","FORM_ERROR","DialogError","error","stop","_x","apply","arguments","isEmpty_","YTDFDialog","headerProps","visible","onAdd","validate","validateFormValues","bind","quota","_tabletNode$memory","_tabletNode$vcpu","_resources$rpc_proxy_2","_resources$rpc_proxy_3","_tabletNode$memory2","_resources$rpc_proxy_4","_resources$rpc_proxy_5","res","info","memory_reset","currentAccLimit","acc","tabletNode","_resources$rpc_proxy_","rpc_proxy_count","_resources$tablet_nod","tablet_node_count","requiredCpu","rpc_proxy_resource_guarantee","violatedResources","requiredMemory","Bytes","length","join"],"sources":["BundleEditorDialog.tsx"],"sourcesContent":["import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport cn from 'bem-cn-lite';\nimport isEmpty_ from 'lodash/isEmpty';\n\nimport {Info} from '../../../../components/Info/Info';\nimport {BundleParamsList} from './components/BundleParamsList/BundleParamsList';\nimport {\n DialogError,\n DialogField,\n DialogTabField,\n FORM_ERROR,\n FormApi,\n YTDFDialog,\n} from '../../../../components/Dialog/Dialog';\nimport hammer from '../../../../common/hammer';\n\nimport {getClusterUiConfig, isDeveloper} from '../../../../store/selectors/global';\nimport {\n hideTabletCellBundleEditor,\n setBundleEditorController,\n} from '../../../../store/actions/tablet_cell_bundles/tablet-cell-bundle-editor';\nimport {\n getBundleEditorData,\n getTabletBundlesWriteableByName,\n} from '../../../../store/selectors/tablet_cell_bundles';\nimport {\n BundleResourceGuarantee,\n OrchidBundleResource,\n} from '../../../../store/reducers/tablet_cell_bundles';\nimport {getTabletCellBundleEditorState} from '../../../../store/selectors/tablet_cell_bundles/tablet-cell-bundle-editor';\n\nimport {\n bundleEditorDict,\n createConfigurationList,\n createParams,\n getBundleControllerResource,\n getInitialFormValues,\n getResourceData,\n instanceCountValidate,\n prepareSubmitBundle,\n simpleBundleValidate,\n} from '../../../../utils/tablet_cell_bundles/bundles/bundle-editor-dialog';\nimport UIFactory, {isAbcAllowed} from '../../../../UIFactory';\nimport {makeLink} from '../../../../utils/utils';\nimport {docsUrl} from '../../../../config';\n\nimport './BundleEditorDialog.scss';\nimport {Pick2} from '../../../../../@types/types';\n\nconst block = cn('bundle-editor');\n\nexport interface BundleEditorDialogFormValues {\n general: {\n abc?: {slug: string; id?: number};\n changelog_account?: string;\n snapshot_account?: string;\n };\n resources: {\n info?: string; // system\n rpc_proxy_count?: number; // todo\n rpc_proxy_resource_guarantee?: BundleResourceGuarantee;\n tablet_node_count?: number;\n tablet_node_resource_guarantee?: BundleResourceGuarantee;\n tablet_count?: number; // old\n tablet_static_memory?: number; // pld\n };\n memory_limits: {\n memory_reset: boolean; // system\n reserved?: number;\n tablet_static?: number;\n tablet_dynamic?: number;\n compressed_block_cache?: number;\n uncompressed_block_cache?: number;\n versioned_chunk_meta?: number;\n lookup_row_cache?: number;\n key_filter_block_cache?: number;\n };\n cpu_limits: {\n threadPool_reset?: boolean; //system\n lookup_thread_pool_size?: number;\n query_thread_pool_size?: number;\n write_thread_pool_size?: number;\n };\n}\n\nexport function BundleEditorDialog() {\n const {\n visibleEditor,\n bundleName,\n bundleData,\n data,\n bundleControllerData: orchidData,\n } = useSelector(getTabletCellBundleEditorState);\n\n const clusterUiConfig = useSelector(getClusterUiConfig);\n\n const {defaultConfig: bundleDefaultConfig} = useSelector(getBundleEditorData);\n\n const bundleControllerConfig = bundleData?.bundle_controller_target_config;\n const enableBundleController = bundleData?.enable_bundle_controller || false;\n\n const {usage: tabletCountUsage} = getResourceData(data, 'tablet_count');\n const {usage: tabletStaticMemoryUsage} = getResourceData(data, 'tablet_static_memory');\n\n const writeableByName = useSelector(getTabletBundlesWriteableByName);\n const allowTabletCount = writeableByName.get(bundleName ?? '');\n const allowEdit = useSelector(isDeveloper);\n\n const initialValues: Partial<BundleEditorDialogFormValues> = (() => {\n if (!enableBundleController) {\n return getInitialFormValues(data);\n }\n if (!bundleControllerConfig) {\n return {};\n }\n return getInitialFormValues(data, bundleControllerConfig);\n })();\n\n const [rpcConfigurations, nodeConfigurations, dcConfigurations] = (() => {\n if (!bundleDefaultConfig) {\n return [[], [], []];\n }\n const {rpc_proxy_sizes, tablet_node_sizes, data_centers} = bundleDefaultConfig;\n\n return [\n createConfigurationList(rpc_proxy_sizes),\n createConfigurationList(tablet_node_sizes),\n data_centers ? [...Object.values(data_centers)] : [],\n ];\n })();\n\n const renderGeneralTabs: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'general',\n title: 'General',\n type: 'tab-vertical',\n size: 's',\n fields: [\n ...(!isAbcAllowed()\n ? []\n : [\n {\n name: 'abc',\n type: 'abc-control' as const,\n caption: 'ABC Service',\n extras: {\n placeholder: 'Select ABC service...',\n disabled: !allowEdit,\n },\n },\n ]),\n {\n name: 'changelog_account',\n type: 'accounts-suggest-with-loading',\n caption: 'Changelog account',\n extras: {\n allowRootAccount: true,\n disabled: !allowEdit,\n },\n },\n {\n name: 'snapshot_account',\n type: 'accounts-suggest-with-loading',\n caption: 'Snapshot account',\n extras: {\n allowRootAccount: true,\n disabled: !allowEdit,\n },\n },\n ],\n };\n\n const renderResourceTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'resources',\n title: 'Resources',\n type: 'tab-vertical',\n size: 's',\n fields: [\n {\n name: 'info',\n type: 'block',\n fullWidth: true,\n touched: true,\n extras: {\n children: (\n <Info className={block('info')}>\n {UIFactory.renderTableCellBundleEditorNotice({\n bundleData,\n clusterUiConfig,\n })}\n <BundleParamsList\n className={block('params')}\n params={[\n {\n title: 'Memory',\n value: hammer.format['Bytes'](\n orchidData?.resource_quota.memory || '0',\n ),\n },\n {\n title: 'vCPU',\n value: hammer.format['vCores'](\n orchidData?.resource_quota.vcpu || '0',\n ),\n },\n {\n title: 'Tablet count',\n value: hammer.format.Number(\n initialValues.resources?.tablet_count,\n ),\n },\n ]}\n />\n </Info>\n ),\n },\n },\n ...(!allowTabletCount\n ? []\n : [\n {\n name: 'tablet_count',\n type: 'bundle-input',\n caption: 'Tablet count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n progress: {\n usage: tabletCountUsage,\n },\n },\n validator: simpleBundleValidate,\n } as const,\n ]),\n {section: 'RPC proxy'},\n {\n type: 'bundle-input',\n name: 'rpc_proxy_count',\n caption: 'RPC proxy count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n hasClear: true,\n },\n tooltip: docsUrl(makeLink(UIFactory.docsUrls['dynamic-tables:cross-dc'], 'Help')),\n validator: instanceCountValidate(dcConfigurations),\n },\n {\n type: 'bundle-table-field',\n name: 'rpc_proxy_resource_guarantee',\n caption: 'Instance configuration',\n fullWidth: true,\n extras: {\n data: rpcConfigurations,\n },\n },\n {section: 'Tablet node'},\n {\n type: 'bundle-input',\n name: 'tablet_node_count',\n caption: 'Tablet node count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n hasClear: true,\n },\n tooltip: docsUrl(makeLink(UIFactory.docsUrls['dynamic-tables:cross-dc'], 'Help')),\n validator: instanceCountValidate(dcConfigurations),\n },\n {\n type: 'bundle-table-field',\n name: 'tablet_node_resource_guarantee',\n caption: 'Instance configuration',\n fullWidth: true,\n extras: function (values, {form}) {\n const onRadioClick = (value: BundleResourceGuarantee) => {\n const nodeConfigurationType = value.type || '';\n\n const defaultMemory =\n bundleDefaultConfig?.tablet_node_sizes[nodeConfigurationType]\n .default_config.memory_limits || {};\n const defaultThreadPool =\n bundleDefaultConfig?.tablet_node_sizes[nodeConfigurationType]\n .default_config.cpu_limits || {};\n\n const resultMemory = getBundleControllerResource(\n values.memory_limits,\n defaultMemory,\n 'memory_limits',\n );\n const resultThreadPool = getBundleControllerResource(\n values.cpu_limits,\n defaultThreadPool,\n 'cpu_limits',\n );\n\n form.change('memory_limits', {\n ...bundleEditorDict.defaults.memory_limits,\n ...resultMemory,\n });\n form.change('cpu_limits', {\n ...bundleEditorDict.defaults.cpu_limits,\n ...resultThreadPool,\n });\n };\n\n return {\n data: nodeConfigurations,\n onRadioClick,\n };\n },\n },\n ],\n };\n\n const renderSimpleResourceTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'resources',\n title: 'Resources',\n type: 'tab-vertical',\n size: 's',\n fields: [\n {\n name: 'tablet_count',\n type: 'bundle-input',\n caption: 'Tablet count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n progress: {\n usage: tabletCountUsage,\n },\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'tablet_static_memory',\n type: 'bundle-input',\n caption: 'Tablet static memory',\n extras: {\n format: 'Bytes',\n progress: {\n usage: tabletStaticMemoryUsage,\n },\n },\n validator: simpleBundleValidate,\n tooltip: (\n <span>\n Tablet static memory limit is based on hardware resources. Do not increase\n it unless you fully understand what you are doing. In case of emergency\n consider adding new tablet cells to the bundle, consulting with\n Components/Nodes page and increasing the limit only when new nodes are added\n to the bundle.\n </span>\n ),\n },\n ],\n };\n\n const renderMemoryTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'memory_limits',\n title: 'Memory',\n type: 'tab-vertical',\n size: 's',\n visibilityCondition: {\n when: 'resources.tablet_node_resource_guarantee',\n isActive: (v) => typeof v !== 'undefined',\n },\n fields: [\n {\n name: 'memory_reset',\n type: 'bundle-title',\n caption: 'Memory',\n touched: true,\n extras: (allValues, {form}) => {\n const tablet_node_resource_guarantee =\n allValues.resources?.tablet_node_resource_guarantee;\n\n const onReset = () => {\n if (\n !tablet_node_resource_guarantee ||\n !tablet_node_resource_guarantee.type ||\n !bundleDefaultConfig\n ) {\n return;\n }\n const type = tablet_node_resource_guarantee.type;\n const {tablet_node_sizes} = bundleDefaultConfig;\n const {memory_limits} = tablet_node_sizes[type].default_config;\n\n form.change('memory_limits', {\n ...bundleEditorDict.defaults.memory_limits,\n ...memory_limits,\n });\n };\n\n if (!tablet_node_resource_guarantee) {\n return {\n params: [],\n onReset,\n };\n }\n const {memory} = tablet_node_resource_guarantee;\n\n const used = bundleEditorDict.keys.memory_limits.reduce((sum, k) => {\n const v = allValues?.memory_limits?.[k];\n return typeof v !== 'number' || isNaN(v) ? sum : sum + v;\n }, 0);\n\n return {\n params: createParams('Bytes', memory, used),\n onReset,\n };\n },\n },\n {\n name: 'reserved',\n type: 'bundle-input',\n caption: 'Reserved',\n extras: {\n format: 'Bytes',\n disabled: true,\n },\n tooltip: docsUrl(\n makeLink(UIFactory.docsUrls['bundle-controller:reserved-memory'], 'Help'),\n ),\n },\n {\n name: 'tablet_static',\n type: 'bundle-input',\n caption: 'Tablet static',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'tablet_dynamic',\n type: 'bundle-input',\n caption: 'Tablet dynamic',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'compressed_block_cache',\n type: 'bundle-input',\n caption: 'Compressed block cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'uncompressed_block_cache',\n type: 'bundle-input',\n caption: 'Uncompressed block cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'versioned_chunk_meta',\n type: 'bundle-input',\n caption: 'Versioned chunk meta',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'lookup_row_cache',\n type: 'bundle-input',\n caption: 'Lookup row cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'key_filter_block_cache',\n type: 'bundle-input',\n caption: 'Key filter block cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n ],\n };\n\n const renderThreadPoolTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'cpu_limits',\n title: 'Thread pools',\n type: 'tab-vertical',\n size: 's',\n visibilityCondition: {\n when: 'resources.tablet_node_resource_guarantee',\n isActive: (v) => typeof v !== 'undefined',\n },\n fields: [\n {\n name: 'threadPool_reset',\n type: 'bundle-title',\n caption: 'vCPU',\n extras: (allValues, {form}) => {\n const tablet_node_resource_guarantee =\n allValues.resources?.tablet_node_resource_guarantee;\n\n if (\n !tablet_node_resource_guarantee ||\n !tablet_node_resource_guarantee.type ||\n !bundleDefaultConfig\n ) {\n return {\n params: [],\n onReset: () => {},\n };\n }\n\n const onReset = () => {\n const type = tablet_node_resource_guarantee.type;\n if (!type) {\n return;\n }\n\n const {tablet_node_sizes} = bundleDefaultConfig;\n const {cpu_limits} = tablet_node_sizes[type].default_config;\n\n form.change('cpu_limits', {\n ...bundleEditorDict.defaults.cpu_limits,\n ...cpu_limits,\n });\n };\n\n const {vcpu} = tablet_node_resource_guarantee;\n\n return {\n params: createParams('vCores', vcpu),\n onReset,\n };\n },\n },\n {\n name: 'lookup_thread_pool_size',\n type: 'bundle-input',\n caption: 'Lookup thread pool size',\n extras: {\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'query_thread_pool_size',\n type: 'bundle-input',\n caption: 'Query thread pool size',\n extras: {\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'write_thread_pool_size',\n type: 'bundle-input',\n caption: 'Write thread pool size',\n extras: {\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n ],\n };\n\n const fields = [renderGeneralTabs];\n if (enableBundleController) {\n fields.push(renderResourceTab, renderMemoryTab, renderThreadPoolTab);\n } else {\n fields.push(renderSimpleResourceTab);\n }\n\n const dispatch = useDispatch();\n const onClose = () => {\n dispatch(hideTabletCellBundleEditor());\n };\n\n const onSubmit = async (form: FormApi<BundleEditorDialogFormValues>) => {\n if (!bundleName) {\n return {};\n }\n\n const preparedData = prepareSubmitBundle(form);\n\n try {\n await dispatch(\n setBundleEditorController({\n bundleName,\n data: preparedData,\n }),\n );\n return undefined;\n } catch (error) {\n return {\n validationErrors: {\n [FORM_ERROR]: <DialogError error={error} />,\n },\n };\n }\n };\n\n if (isEmpty_(data)) {\n return null;\n }\n\n return (\n <YTDFDialog<BundleEditorDialogFormValues>\n className={block('dialog')}\n headerProps={{\n title: bundleName,\n }}\n size=\"l\"\n initialValues={initialValues}\n visible={visibleEditor}\n onAdd={onSubmit}\n onClose={onClose}\n fields={fields}\n validate={validateFormValues.bind(null, orchidData?.resource_quota)}\n />\n );\n}\n\nfunction validateFormValues(\n quota: OrchidBundleResource | undefined,\n values: BundleEditorDialogFormValues,\n) {\n const res: Pick2<typeof values, 'resources', 'info', string> &\n Pick2<typeof values, 'memory_limits', 'memory_reset', string> = {\n resources: {info: ''},\n memory_limits: {memory_reset: ''},\n };\n\n const {resources} = values;\n\n const currentAccLimit = Object.values(values.memory_limits || {}).reduce(\n (acc: number, v: number | boolean) => {\n if (typeof v !== 'number') {\n return acc;\n }\n return acc + v;\n },\n 0,\n );\n\n const tabletNode = resources.tablet_node_resource_guarantee;\n res.memory_limits.memory_reset =\n currentAccLimit > (tabletNode?.memory ?? 0)\n ? 'The sum of the memory limits exceeds the allowed values'\n : '';\n\n const {rpc_proxy_count = 0, tablet_node_count = 0} = resources;\n\n const requiredCpu =\n (tabletNode?.vcpu ?? 0) * tablet_node_count +\n (resources.rpc_proxy_resource_guarantee?.vcpu ?? 0) * rpc_proxy_count;\n\n const violatedResources = [];\n\n if (requiredCpu > quota?.vcpu!) {\n violatedResources.push(`${hammer.format.Number(requiredCpu / 1000)} cpu required`);\n }\n\n const requiredMemory =\n (tabletNode?.memory ?? 0) * tablet_node_count +\n (resources.rpc_proxy_resource_guarantee?.memory ?? 0) * rpc_proxy_count;\n\n if (requiredMemory > quota?.memory!) {\n violatedResources.push(`${hammer.format.Bytes(requiredMemory)} memory requried`);\n }\n\n res.resources.info = violatedResources.length ? violatedResources.join(', ') : '';\n\n return res;\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactRedux","_bemCnLite","_isEmpty","_Info","_BundleParamsList","_Dialog","_hammer","_global","_tabletCellBundleEditor","_tablet_cell_bundles","_tabletCellBundleEditor2","_bundleEditorDialog","_UIFactory","_interopRequireWildcard","_utils","_config","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","block","cn","BundleEditorDialog","_initialValues$resour","_useSelector","useSelector","getTabletCellBundleEditorState","visibleEditor","bundleName","bundleData","data","orchidData","bundleControllerData","clusterUiConfig","getClusterUiConfig","_useSelector2","getBundleEditorData","bundleDefaultConfig","defaultConfig","bundleControllerConfig","bundle_controller_target_config","enableBundleController","enable_bundle_controller","_getResourceData","getResourceData","tabletCountUsage","usage","_getResourceData2","tabletStaticMemoryUsage","writeableByName","getTabletBundlesWriteableByName","allowTabletCount","allowEdit","isDeveloper","initialValues","getInitialFormValues","_ref","rpc_proxy_sizes","tablet_node_sizes","data_centers","createConfigurationList","_toConsumableArray","values","_ref2","_slicedToArray","rpcConfigurations","nodeConfigurations","dcConfigurations","renderGeneralTabs","name","title","type","size","fields","concat","isAbcAllowed","caption","extras","placeholder","disabled","allowRootAccount","renderResourceTab","fullWidth","touched","children","_jsxs","Info","className","UIFactory","renderTableCellBundleEditorNotice","_jsx","BundleParamsList","params","value","hammer","format","resource_quota","memory","vcpu","Number","resources","tablet_count","withoutDetailedBar","progress","validator","simpleBundleValidate","section","hasClear","tooltip","docsUrl","makeLink","docsUrls","instanceCountValidate","_ref3","form","onRadioClick","nodeConfigurationType","defaultMemory","default_config","memory_limits","defaultThreadPool","cpu_limits","resultMemory","getBundleControllerResource","resultThreadPool","change","_objectSpread","bundleEditorDict","defaults","renderSimpleResourceTab","renderMemoryTab","visibilityCondition","when","isActive","v","allValues","_ref4","_allValues$resources","tablet_node_resource_guarantee","onReset","used","keys","reduce","sum","k","_allValues$memory_lim","isNaN","createParams","renderThreadPoolTab","_ref5","_allValues$resources2","postfix","push","dispatch","useDispatch","onClose","hideTabletCellBundleEditor","onSubmit","_ref6","_asyncToGenerator","_regeneratorRuntime","mark","_callee","preparedData","wrap","_callee$","_context","prev","next","abrupt","prepareSubmitBundle","setBundleEditorController","undefined","t0","validationErrors","_defineProperty","FORM_ERROR","DialogError","error","stop","_x","apply","arguments","isEmpty_","YTDFDialog","headerProps","visible","onAdd","validate","validateFormValues","bind","quota","_tabletNode$memory","_tabletNode$vcpu","_resources$rpc_proxy_2","_resources$rpc_proxy_3","_tabletNode$memory2","_resources$rpc_proxy_4","_resources$rpc_proxy_5","res","info","memory_reset","currentAccLimit","acc","tabletNode","_resources$rpc_proxy_","rpc_proxy_count","_resources$tablet_nod","tablet_node_count","requiredCpu","rpc_proxy_resource_guarantee","violatedResources","requiredMemory","Bytes","length","join"],"sources":["BundleEditorDialog.tsx"],"sourcesContent":["import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport cn from 'bem-cn-lite';\nimport isEmpty_ from 'lodash/isEmpty';\n\nimport {Info} from '../../../../components/Info/Info';\nimport {BundleParamsList} from './components/BundleParamsList/BundleParamsList';\nimport {\n DialogError,\n DialogField,\n DialogTabField,\n FORM_ERROR,\n FormApi,\n YTDFDialog,\n} from '../../../../components/Dialog/Dialog';\nimport hammer from '../../../../common/hammer';\n\nimport {getClusterUiConfig, isDeveloper} from '../../../../store/selectors/global';\nimport {\n hideTabletCellBundleEditor,\n setBundleEditorController,\n} from '../../../../store/actions/tablet_cell_bundles/tablet-cell-bundle-editor';\nimport {\n getBundleEditorData,\n getTabletBundlesWriteableByName,\n} from '../../../../store/selectors/tablet_cell_bundles';\nimport {\n BundleResourceGuarantee,\n OrchidBundleResource,\n} from '../../../../store/reducers/tablet_cell_bundles';\nimport {getTabletCellBundleEditorState} from '../../../../store/selectors/tablet_cell_bundles/tablet-cell-bundle-editor';\n\nimport {\n bundleEditorDict,\n createConfigurationList,\n createParams,\n getBundleControllerResource,\n getInitialFormValues,\n getResourceData,\n instanceCountValidate,\n prepareSubmitBundle,\n simpleBundleValidate,\n} from '../../../../utils/tablet_cell_bundles/bundles/bundle-editor-dialog';\nimport UIFactory, {isAbcAllowed} from '../../../../UIFactory';\nimport {makeLink} from '../../../../utils/utils';\nimport {docsUrl} from '../../../../config';\n\nimport './BundleEditorDialog.scss';\nimport {Pick2} from '../../../../../@types/types';\n\nconst block = cn('bundle-editor');\n\nexport interface BundleEditorDialogFormValues {\n general: {\n abc?: {slug: string; id?: number};\n changelog_account?: string;\n snapshot_account?: string;\n };\n resources: {\n info?: string; // system\n rpc_proxy_count?: number; // todo\n rpc_proxy_resource_guarantee?: BundleResourceGuarantee;\n tablet_node_count?: number;\n tablet_node_resource_guarantee?: BundleResourceGuarantee;\n tablet_count?: number; // old\n tablet_static_memory?: number; // pld\n };\n memory_limits: {\n memory_reset: boolean; // system\n reserved?: number;\n tablet_static?: number;\n tablet_dynamic?: number;\n compressed_block_cache?: number;\n uncompressed_block_cache?: number;\n versioned_chunk_meta?: number;\n lookup_row_cache?: number;\n key_filter_block_cache?: number;\n };\n cpu_limits: {\n threadPool_reset?: boolean; //system\n lookup_thread_pool_size?: number;\n query_thread_pool_size?: number;\n write_thread_pool_size?: number;\n };\n}\n\nexport function BundleEditorDialog() {\n const {\n visibleEditor,\n bundleName,\n bundleData,\n data,\n bundleControllerData: orchidData,\n } = useSelector(getTabletCellBundleEditorState);\n\n const clusterUiConfig = useSelector(getClusterUiConfig);\n\n const {defaultConfig: bundleDefaultConfig} = useSelector(getBundleEditorData);\n\n const bundleControllerConfig = bundleData?.bundle_controller_target_config;\n const enableBundleController = bundleData?.enable_bundle_controller || false;\n\n const {usage: tabletCountUsage} = getResourceData(data, 'tablet_count');\n const {usage: tabletStaticMemoryUsage} = getResourceData(data, 'tablet_static_memory');\n\n const writeableByName = useSelector(getTabletBundlesWriteableByName);\n const allowTabletCount = writeableByName.get(bundleName ?? '');\n const allowEdit = useSelector(isDeveloper);\n\n const initialValues: Partial<BundleEditorDialogFormValues> = (() => {\n if (!enableBundleController) {\n return getInitialFormValues(data);\n }\n if (!bundleControllerConfig) {\n return {};\n }\n return getInitialFormValues(data, bundleControllerConfig);\n })();\n\n const [rpcConfigurations, nodeConfigurations, dcConfigurations] = (() => {\n if (!bundleDefaultConfig) {\n return [[], [], []];\n }\n const {rpc_proxy_sizes, tablet_node_sizes, data_centers} = bundleDefaultConfig;\n\n return [\n createConfigurationList(rpc_proxy_sizes),\n createConfigurationList(tablet_node_sizes),\n data_centers ? [...Object.values(data_centers)] : [],\n ];\n })();\n\n const renderGeneralTabs: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'general',\n title: 'General',\n type: 'tab-vertical',\n size: 's',\n fields: [\n ...(!isAbcAllowed()\n ? []\n : [\n {\n name: 'abc',\n type: 'abc-control' as const,\n caption: 'ABC Service',\n extras: {\n placeholder: 'Select ABC service...',\n disabled: !allowEdit,\n },\n },\n ]),\n {\n name: 'changelog_account',\n type: 'accounts-suggest-with-loading',\n caption: 'Changelog account',\n extras: {\n allowRootAccount: true,\n disabled: !allowEdit,\n },\n },\n {\n name: 'snapshot_account',\n type: 'accounts-suggest-with-loading',\n caption: 'Snapshot account',\n extras: {\n allowRootAccount: true,\n disabled: !allowEdit,\n },\n },\n ],\n };\n\n const renderResourceTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'resources',\n title: 'Resources',\n type: 'tab-vertical',\n size: 's',\n fields: [\n {\n name: 'info',\n type: 'block',\n fullWidth: true,\n touched: true,\n extras: {\n children: (\n <Info className={block('info')}>\n {UIFactory.renderTableCellBundleEditorNotice({\n bundleData,\n clusterUiConfig,\n })}\n <BundleParamsList\n className={block('params')}\n params={[\n {\n title: 'Memory',\n value: hammer.format['Bytes'](\n orchidData?.resource_quota.memory || '0',\n ),\n },\n {\n title: 'vCPU',\n value: hammer.format['vCores'](\n orchidData?.resource_quota.vcpu || '0',\n ),\n },\n {\n title: 'Tablet count',\n value: hammer.format.Number(\n initialValues.resources?.tablet_count,\n ),\n },\n ]}\n />\n </Info>\n ),\n },\n },\n ...(!allowTabletCount\n ? []\n : [\n {\n name: 'tablet_count',\n type: 'bundle-input',\n caption: 'Tablet count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n progress: {\n usage: tabletCountUsage,\n },\n },\n validator: simpleBundleValidate,\n } as const,\n ]),\n {section: 'RPC proxy'},\n {\n type: 'bundle-input',\n name: 'rpc_proxy_count',\n caption: 'RPC proxy count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n hasClear: true,\n },\n tooltip: docsUrl(makeLink(UIFactory.docsUrls['dynamic-tables:cross-dc'], 'Help')),\n validator: instanceCountValidate(dcConfigurations),\n },\n {\n type: 'bundle-table-field',\n name: 'rpc_proxy_resource_guarantee',\n caption: 'Instance configuration',\n fullWidth: true,\n extras: {\n data: rpcConfigurations,\n },\n },\n {section: 'Tablet node'},\n {\n type: 'bundle-input',\n name: 'tablet_node_count',\n caption: 'Tablet node count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n hasClear: true,\n },\n tooltip: docsUrl(makeLink(UIFactory.docsUrls['dynamic-tables:cross-dc'], 'Help')),\n validator: instanceCountValidate(dcConfigurations),\n },\n {\n type: 'bundle-table-field',\n name: 'tablet_node_resource_guarantee',\n caption: 'Instance configuration',\n fullWidth: true,\n extras: function (values, {form}) {\n const onRadioClick = (value: BundleResourceGuarantee) => {\n const nodeConfigurationType = value.type || '';\n\n const defaultMemory =\n bundleDefaultConfig?.tablet_node_sizes[nodeConfigurationType]\n .default_config.memory_limits || {};\n const defaultThreadPool =\n bundleDefaultConfig?.tablet_node_sizes[nodeConfigurationType]\n .default_config.cpu_limits || {};\n\n const resultMemory = getBundleControllerResource(\n values.memory_limits,\n defaultMemory,\n 'memory_limits',\n );\n const resultThreadPool = getBundleControllerResource(\n values.cpu_limits,\n defaultThreadPool,\n 'cpu_limits',\n );\n\n form.change('memory_limits', {\n ...bundleEditorDict.defaults.memory_limits,\n ...resultMemory,\n });\n form.change('cpu_limits', {\n ...bundleEditorDict.defaults.cpu_limits,\n ...resultThreadPool,\n });\n };\n\n return {\n data: nodeConfigurations,\n onRadioClick,\n };\n },\n },\n ],\n };\n\n const renderSimpleResourceTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'resources',\n title: 'Resources',\n type: 'tab-vertical',\n size: 's',\n fields: [\n {\n name: 'tablet_count',\n type: 'bundle-input',\n caption: 'Tablet count',\n extras: {\n format: 'Number',\n withoutDetailedBar: true,\n progress: {\n usage: tabletCountUsage,\n },\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'tablet_static_memory',\n type: 'bundle-input',\n caption: 'Tablet static memory',\n extras: {\n format: 'Bytes',\n progress: {\n usage: tabletStaticMemoryUsage,\n },\n },\n validator: simpleBundleValidate,\n tooltip: (\n <span>\n Tablet static memory limit is based on hardware resources. Do not increase\n it unless you fully understand what you are doing. In case of emergency\n consider adding new tablet cells to the bundle, consulting with\n Components/Nodes page and increasing the limit only when new nodes are added\n to the bundle.\n </span>\n ),\n },\n ],\n };\n\n const renderMemoryTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'memory_limits',\n title: 'Memory',\n type: 'tab-vertical',\n size: 's',\n visibilityCondition: {\n when: 'resources.tablet_node_resource_guarantee',\n isActive: (v) => typeof v !== 'undefined',\n },\n fields: [\n {\n name: 'memory_reset',\n type: 'bundle-title',\n caption: 'Memory',\n touched: true,\n extras: (allValues, {form}) => {\n const tablet_node_resource_guarantee =\n allValues.resources?.tablet_node_resource_guarantee;\n\n const onReset = () => {\n if (\n !tablet_node_resource_guarantee ||\n !tablet_node_resource_guarantee.type ||\n !bundleDefaultConfig\n ) {\n return;\n }\n const type = tablet_node_resource_guarantee.type;\n const {tablet_node_sizes} = bundleDefaultConfig;\n const {memory_limits} = tablet_node_sizes[type].default_config;\n\n form.change('memory_limits', {\n ...bundleEditorDict.defaults.memory_limits,\n ...memory_limits,\n });\n };\n\n if (!tablet_node_resource_guarantee) {\n return {\n params: [],\n onReset,\n };\n }\n const {memory} = tablet_node_resource_guarantee;\n\n const used = bundleEditorDict.keys.memory_limits.reduce((sum, k) => {\n const v = allValues?.memory_limits?.[k];\n return typeof v !== 'number' || isNaN(v) ? sum : sum + v;\n }, 0);\n\n return {\n params: createParams('Bytes', memory, used),\n onReset,\n };\n },\n },\n {\n name: 'reserved',\n type: 'bundle-input',\n caption: 'Reserved',\n extras: {\n format: 'Bytes',\n disabled: true,\n },\n tooltip: docsUrl(\n makeLink(UIFactory.docsUrls['bundle-controller:reserved-memory'], 'Help'),\n ),\n },\n {\n name: 'tablet_static',\n type: 'bundle-input',\n caption: 'Tablet static',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'tablet_dynamic',\n type: 'bundle-input',\n caption: 'Tablet dynamic',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'compressed_block_cache',\n type: 'bundle-input',\n caption: 'Compressed block cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'uncompressed_block_cache',\n type: 'bundle-input',\n caption: 'Uncompressed block cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'versioned_chunk_meta',\n type: 'bundle-input',\n caption: 'Versioned chunk meta',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'lookup_row_cache',\n type: 'bundle-input',\n caption: 'Lookup row cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'key_filter_block_cache',\n type: 'bundle-input',\n caption: 'Key filter block cache',\n extras: {\n format: 'Bytes',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n ],\n };\n\n const renderThreadPoolTab: DialogTabField<DialogField<BundleEditorDialogFormValues>> = {\n name: 'cpu_limits',\n title: 'Thread pools',\n type: 'tab-vertical',\n size: 's',\n visibilityCondition: {\n when: 'resources.tablet_node_resource_guarantee',\n isActive: (v) => typeof v !== 'undefined',\n },\n fields: [\n {\n name: 'threadPool_reset',\n type: 'bundle-title',\n caption: 'vCPU',\n extras: (allValues, {form}) => {\n const tablet_node_resource_guarantee =\n allValues.resources?.tablet_node_resource_guarantee;\n\n if (\n !tablet_node_resource_guarantee ||\n !tablet_node_resource_guarantee.type ||\n !bundleDefaultConfig\n ) {\n return {\n params: [],\n onReset: () => {},\n };\n }\n\n const onReset = () => {\n const type = tablet_node_resource_guarantee.type;\n if (!type) {\n return;\n }\n\n const {tablet_node_sizes} = bundleDefaultConfig;\n const {cpu_limits} = tablet_node_sizes[type].default_config;\n\n form.change('cpu_limits', {\n ...bundleEditorDict.defaults.cpu_limits,\n ...cpu_limits,\n });\n };\n\n const {vcpu} = tablet_node_resource_guarantee;\n\n return {\n params: createParams('vCores', vcpu),\n onReset,\n };\n },\n },\n {\n name: 'lookup_thread_pool_size',\n type: 'bundle-input',\n caption: 'Lookup thread pool size',\n extras: {\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'query_thread_pool_size',\n type: 'bundle-input',\n caption: 'Query thread pool size',\n extras: {\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n {\n name: 'write_thread_pool_size',\n type: 'bundle-input',\n caption: 'Write thread pool size',\n extras: {\n postfix: 'threads',\n format: 'Number',\n hasClear: true,\n },\n validator: simpleBundleValidate,\n },\n ],\n };\n\n const fields = [renderGeneralTabs];\n if (enableBundleController) {\n fields.push(renderResourceTab, renderMemoryTab, renderThreadPoolTab);\n } else {\n fields.push(renderSimpleResourceTab);\n }\n\n const dispatch = useDispatch();\n const onClose = () => {\n dispatch(hideTabletCellBundleEditor());\n };\n\n const onSubmit = async (form: FormApi<BundleEditorDialogFormValues>) => {\n if (!bundleName) {\n return {};\n }\n\n const preparedData = prepareSubmitBundle(form);\n\n try {\n await dispatch(\n setBundleEditorController({\n bundleName,\n data: preparedData,\n }),\n );\n return undefined;\n } catch (error) {\n return {\n validationErrors: {\n [FORM_ERROR]: <DialogError error={error} />,\n },\n };\n }\n };\n\n if (isEmpty_(data)) {\n return null;\n }\n\n return (\n <YTDFDialog<BundleEditorDialogFormValues>\n className={block('dialog')}\n headerProps={{\n title: bundleName,\n }}\n size=\"l\"\n initialValues={initialValues}\n visible={visibleEditor}\n onAdd={onSubmit}\n onClose={onClose}\n fields={fields}\n validate={validateFormValues.bind(null, orchidData?.resource_quota)}\n />\n );\n}\n\nfunction validateFormValues(\n quota: OrchidBundleResource | undefined,\n values: BundleEditorDialogFormValues,\n) {\n const res: Pick2<typeof values, 'resources', 'info', string | undefined> &\n Pick2<typeof values, 'memory_limits', 'memory_reset', string | undefined> = {\n resources: {info: undefined},\n memory_limits: {memory_reset: undefined},\n };\n\n const {resources} = values;\n\n const currentAccLimit = Object.values(values.memory_limits || {}).reduce(\n (acc: number, v: number | boolean) => {\n if (typeof v !== 'number') {\n return acc;\n }\n return acc + v;\n },\n 0,\n );\n\n const tabletNode = resources.tablet_node_resource_guarantee;\n res.memory_limits.memory_reset =\n currentAccLimit > (tabletNode?.memory ?? 0)\n ? 'The sum of the memory limits exceeds the allowed values'\n : undefined;\n\n const {rpc_proxy_count = 0, tablet_node_count = 0} = resources;\n\n const requiredCpu =\n (tabletNode?.vcpu ?? 0) * tablet_node_count +\n (resources.rpc_proxy_resource_guarantee?.vcpu ?? 0) * rpc_proxy_count;\n\n const violatedResources = [];\n\n if (requiredCpu > quota?.vcpu!) {\n violatedResources.push(`${hammer.format.Number(requiredCpu / 1000)} cpu required`);\n }\n\n const requiredMemory =\n (tabletNode?.memory ?? 0) * tablet_node_count +\n (resources.rpc_proxy_resource_guarantee?.memory ?? 0) * rpc_proxy_count;\n\n if (requiredMemory > quota?.memory!) {\n violatedResources.push(`${hammer.format.Bytes(requiredMemory)} memory requried`);\n }\n\n res.resources.info = violatedResources.length ? violatedResources.join(', ') : undefined;\n\n return res;\n}\n"],"mappings":"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"}
|
@@ -76,6 +76,11 @@ var ClusterPage = /*#__PURE__*/function (_Component) {
|
|
76
76
|
isRedirectToBetaSwitched = _this$props.isRedirectToBetaSwitched,
|
77
77
|
setSetting = _this$props.setSetting;
|
78
78
|
return Promise.resolve().then(function () {
|
79
|
+
initClusterParams(cluster);
|
80
|
+
updateTitle({
|
81
|
+
cluster: cluster
|
82
|
+
});
|
83
|
+
|
79
84
|
// todo: get rid of redirectToBetaSwitched setting.
|
80
85
|
// It`s exist for set default value of redirectToBeta setting, when settings document is empty yet.
|
81
86
|
// Set redirectToBeta on server after get all user settings (home.js). Or get rid of this logic at all.
|
@@ -83,13 +88,9 @@ var ClusterPage = /*#__PURE__*/function (_Component) {
|
|
83
88
|
setSetting(SettingName.DEVELOPMENT.REDIRECT_TO_BETA_SWITCHED, NAMESPACES.DEVELOPMENT, true);
|
84
89
|
setSetting(SettingName.DEVELOPMENT.REDIRECT_TO_BETA, NAMESPACES.DEVELOPMENT, true);
|
85
90
|
}
|
86
|
-
initClusterParams(cluster);
|
87
91
|
_this._initMenuCollection('cluster');
|
88
92
|
_this._initMenuCollection('page');
|
89
93
|
trackVisit('cluster', cluster);
|
90
|
-
updateTitle({
|
91
|
-
cluster: cluster
|
92
|
-
});
|
93
94
|
});
|
94
95
|
};
|
95
96
|
_this.onResize = function () {
|