@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
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Component","Fragment","Redirect","Route","Switch","useLocation","connect","useSelector","cn","BanPage","MaintenancePage","HandleMaintenanceRedirect","Components","Operations","Accounts","Dashboard","System","Navigation","PathViewer","Tablet","TabletCellBundles","GroupsPage","UsersPage","Scheduling","QueryTracker","Job","ChytPage","ClusterPageHeader","PageTracker","PageHeadByCluster","ConnectionErrorRegion","GeneralErrorRegion","FlexSplitPane","ErrorBlock","LOADING_STATUS","LOAD_ERROR","Page","SPLIT_PANE_ID","joinMenuItemsAction","splitMenuItemsAction","trackVisit","setSetting","initClusterParams","unmountCluster","updateCluster","updateTitle","getClusterUiConfig","isQueryTrackerAllowed","getClusterConfig","NAMESPACES","SettingName","getClusterPagePaneSizes","getStartingPage","isRecentClustersFirst","isRecentPagesFirst","isRedirectToBetaSwitched","SupportedFeaturesUpdater","useRumMeasureStart","useRumMeasureStop","RumMeasureTypes","useClusterFromLocation","makeExtraPageRoutes","odinPageInfo","hasOdinPage","jsx","_jsx","jsxs","_jsxs","b","RedirectToBanIfNeededMemo","memo","RedirectToBanIfNeeded","ClusterPage","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","state","width","contentPaneRef","createRef","_onUpdateEnd","_this$props","props","cluster","Promise","resolve","then","DEVELOPMENT","REDIRECT_TO_BETA_SWITCHED","REDIRECT_TO_BETA","_initMenuCollection","onResize","splitScreen","toolbar","document","querySelector","isSplit","gutterWidth","offset","getElementById","clientWidth","style","right","window","dispatchEvent","Event","handleSplit","updateWidthModifier","onResizeEnd","sizes","NAVIGATION","CLUSTER_PAGE_PANE_SIZES","getInitialSizes","clusterPagePaneSizes","_createClass","key","value","componentDidMount","getSnapshotBeforeUpdate","prevProps","pageYOffset","current","scrollTop","componentDidUpdate","prevState","prevScroll","scrollBy","prevCluster","componentWillUnmount","path","page","itemName","_this$props2","settingsMap","_this$contentPaneRef$","currentWidth","Infinity","setState","renderError","clusterConfig","_ref","error","errorType","CONNECTION","id","AUTHENTICATION","message","GENERAL","isParamsLoading","_this$props3","paramsCluster","renderContent","_this$props4","startingPage","isLoaded","hasError","paramsError","allowChyt","allowQueryTracker","children","to","BAN","component","MAINTENANCE","COMPONENTS","OPERATIONS","JOB","DASHBOARD","SYSTEM","ACCOUNTS","TABLET_CELL_BUNDLES","CHAOS_CELL_BUNDLES","PATH_VIEWER","TABLET","USERS","GROUPS","SCHEDULING","CHYT","QUERIES","pageId","reactComponent","from","VERSIONS","className","render","_this$props5","clusters","ClusterPageStopRumMeasure","paneClassNames","direction","HORIZONTAL","onSplit","onUnSplit","minSize","ref","split","mapStateToProps","_state$global","global","login","maintenancePageEvent","loadState","paramsLoading","clustersMenu","LOADED","ERROR","Boolean","chyt_controller_base_url","mapDispatchToProps","_ref2","_useSelector","blocked","banned","_useLocation","pathname","enableRedirect","endsWith","type","CLUSTER_PARAMS","subPage","allowStop","_ref3","_ref4","_slicedToArray","startDeps","_ref5","_ref6","stopDeps"],"sources":["ClusterPage.js"],"sourcesContent":["import React, {Component, Fragment} from 'react';\nimport {Redirect, Route, Switch, useLocation} from 'react-router';\nimport {connect, useSelector} from 'react-redux';\nimport PropTypes from 'prop-types';\nimport cn from 'bem-cn-lite';\n\nimport BanPage from '../BanPage/BanPage';\nimport MaintenancePage from '../MaintenancePage/MaintenancePage';\nimport HandleMaintenanceRedirect from '../MaintenancePage/HandleRedirect';\nimport Components from '../../pages/components/Components/Components';\nimport Operations from '../../pages/operations/Operations/Operations';\nimport Accounts from '../../pages/accounts/Accounts/Accounts';\nimport Dashboard from '../../pages/dashboard/Dashboard/Dashboard';\nimport System from '../../pages/system/System/System';\nimport Navigation from '../../pages/navigation/Navigation/Navigation';\nimport PathViewer from '../../pages/path-viewer/PathViewer';\nimport Tablet from '../../pages/tablet/Tablet';\nimport TabletCellBundles from '../../pages/tablet_cell_bundles/TabletCellBundles';\nimport GroupsPage from '../../pages/groups/GroupsPage';\nimport UsersPage from '../../pages/users/UsersPage';\nimport Scheduling from '../../pages/scheduling/Scheduling/Scheduling';\nimport QueryTracker from '../../pages/query-tracker/QueryTracker';\nimport Job from '../../pages/job/Job';\nimport {ChytPage} from '../../pages/chyt';\n\nimport ClusterPageHeader from '../ClusterPageHeader/ClusterPageHeader';\nimport PageTracker from './PageTracker';\n\nimport {PageHeadByCluster} from '../../components/PageHead/PageHead';\nimport ConnectionErrorRegion from '../../components/PreloaderErrors/ConnectionErrorRegion';\nimport GeneralErrorRegion from '../../components/PreloaderErrors/GeneralErrorRegion';\nimport FlexSplitPane from '../../components/FlexSplitPane/FlexSplitPane';\nimport ErrorBlock from '../../components/Error/Error';\n\nimport {LOADING_STATUS, LOAD_ERROR, Page, SPLIT_PANE_ID} from '../../constants/index';\nimport {joinMenuItemsAction, splitMenuItemsAction, trackVisit} from '../../store/actions/menu';\nimport {setSetting} from '../../store/actions/settings';\nimport {initClusterParams, unmountCluster, updateCluster} from '../../store/actions/cluster-params';\nimport {updateTitle} from '../../store/actions/global';\nimport {getClusterUiConfig, isQueryTrackerAllowed} from '../../store/selectors/global';\nimport {getClusterConfig} from '../../utils';\nimport {NAMESPACES, SettingName} from '../../../shared/constants/settings';\nimport {\n getClusterPagePaneSizes,\n getStartingPage,\n isRecentClustersFirst,\n isRecentPagesFirst,\n isRedirectToBetaSwitched,\n} from '../../store/selectors/settings';\nimport SupportedFeaturesUpdater from './SupportedFeaturesUpdater';\nimport {useRumMeasureStart, useRumMeasureStop} from '../../rum/RumUiContext';\nimport {RumMeasureTypes} from '../../rum/rum-measure-types';\nimport {useClusterFromLocation} from '../../hooks/use-cluster';\nimport {makeExtraPageRoutes} from './ExtraClusterPageRoutes';\nimport {odinPageInfo} from '../../pages/odin';\nimport {hasOdinPage} from '../../config';\n\nimport './ClusterPage.scss';\n\nconst b = cn('cluster-page');\n\nconst RedirectToBanIfNeededMemo = React.memo(RedirectToBanIfNeeded);\n\nclass ClusterPage extends Component {\n static propTypes = {\n cluster: PropTypes.string,\n\n // from connect\n clusters: PropTypes.object.isRequired,\n clusterPagePaneSizes: PropTypes.array,\n login: PropTypes.string,\n queriesPageAllowed: PropTypes.bool,\n maintenancePageEvent: PropTypes.object,\n startingPage: PropTypes.string.isRequired,\n isLoaded: PropTypes.bool.isRequired,\n hasError: PropTypes.bool.isRequired,\n error: PropTypes.shape({\n errorType: PropTypes.string,\n }).isRequired,\n paramsError: PropTypes.any,\n splitScreen: PropTypes.shape({\n isSplit: PropTypes.bool.isRequired,\n paneClassNames: PropTypes.array.isRequired,\n }).isRequired,\n\n splitMenuItemsAction: PropTypes.func.isRequired,\n setSetting: PropTypes.func.isRequired,\n joinMenuItemsAction: PropTypes.func.isRequired,\n initClusterParams: PropTypes.func.isRequired,\n updateCluster: PropTypes.func.isRequired,\n updateTitle: PropTypes.func.isRequired,\n unmountCluster: PropTypes.func.isRequired,\n trackVisit: PropTypes.func.isRequired,\n\n allowChyt: PropTypes.bool,\n allowQueryTracker: PropTypes.bool,\n };\n\n state = {\n width: 'large',\n };\n\n componentDidMount() {\n const {cluster} = this.props;\n this.props.updateCluster(cluster, this._onUpdateEnd);\n }\n\n getSnapshotBeforeUpdate(prevProps) {\n if (prevProps.splitScreen.isSplit !== this.props.splitScreen.isSplit) {\n return this.props.splitScreen.isSplit\n ? window.pageYOffset\n : this.contentPaneRef.current.scrollTop;\n }\n\n return null;\n }\n\n componentDidUpdate(prevProps, prevState, prevScroll) {\n if (prevScroll !== null) {\n if (this.props.splitScreen.isSplit) {\n this.contentPaneRef.current.scrollTop = prevScroll;\n }\n\n window.scrollBy(0, prevScroll);\n }\n\n const {cluster: prevCluster} = prevProps;\n const {cluster} = this.props;\n\n if (cluster !== prevCluster) {\n this.props.updateCluster(cluster, this._onUpdateEnd);\n }\n }\n\n componentWillUnmount() {\n this.props.updateTitle({path: '', page: ''});\n this.props.unmountCluster();\n }\n\n contentPaneRef = React.createRef();\n\n _onUpdateEnd = () => {\n const {\n cluster,\n trackVisit,\n updateTitle,\n initClusterParams,\n isRedirectToBetaSwitched,\n setSetting,\n } = this.props;\n\n return Promise.resolve().then(() => {\n // 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":"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"}
|
1
|
+
{"version":3,"names":["React","Component","Fragment","Redirect","Route","Switch","useLocation","connect","useSelector","cn","BanPage","MaintenancePage","HandleMaintenanceRedirect","Components","Operations","Accounts","Dashboard","System","Navigation","PathViewer","Tablet","TabletCellBundles","GroupsPage","UsersPage","Scheduling","QueryTracker","Job","ChytPage","ClusterPageHeader","PageTracker","PageHeadByCluster","ConnectionErrorRegion","GeneralErrorRegion","FlexSplitPane","ErrorBlock","LOADING_STATUS","LOAD_ERROR","Page","SPLIT_PANE_ID","joinMenuItemsAction","splitMenuItemsAction","trackVisit","setSetting","initClusterParams","unmountCluster","updateCluster","updateTitle","getClusterUiConfig","isQueryTrackerAllowed","getClusterConfig","NAMESPACES","SettingName","getClusterPagePaneSizes","getStartingPage","isRecentClustersFirst","isRecentPagesFirst","isRedirectToBetaSwitched","SupportedFeaturesUpdater","useRumMeasureStart","useRumMeasureStop","RumMeasureTypes","useClusterFromLocation","makeExtraPageRoutes","odinPageInfo","hasOdinPage","jsx","_jsx","jsxs","_jsxs","b","RedirectToBanIfNeededMemo","memo","RedirectToBanIfNeeded","ClusterPage","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","state","width","contentPaneRef","createRef","_onUpdateEnd","_this$props","props","cluster","Promise","resolve","then","DEVELOPMENT","REDIRECT_TO_BETA_SWITCHED","REDIRECT_TO_BETA","_initMenuCollection","onResize","splitScreen","toolbar","document","querySelector","isSplit","gutterWidth","offset","getElementById","clientWidth","style","right","window","dispatchEvent","Event","handleSplit","updateWidthModifier","onResizeEnd","sizes","NAVIGATION","CLUSTER_PAGE_PANE_SIZES","getInitialSizes","clusterPagePaneSizes","_createClass","key","value","componentDidMount","getSnapshotBeforeUpdate","prevProps","pageYOffset","current","scrollTop","componentDidUpdate","prevState","prevScroll","scrollBy","prevCluster","componentWillUnmount","path","page","itemName","_this$props2","settingsMap","_this$contentPaneRef$","currentWidth","Infinity","setState","renderError","clusterConfig","_ref","error","errorType","CONNECTION","id","AUTHENTICATION","message","GENERAL","isParamsLoading","_this$props3","paramsCluster","renderContent","_this$props4","startingPage","isLoaded","hasError","paramsError","allowChyt","allowQueryTracker","children","to","BAN","component","MAINTENANCE","COMPONENTS","OPERATIONS","JOB","DASHBOARD","SYSTEM","ACCOUNTS","TABLET_CELL_BUNDLES","CHAOS_CELL_BUNDLES","PATH_VIEWER","TABLET","USERS","GROUPS","SCHEDULING","CHYT","QUERIES","pageId","reactComponent","from","VERSIONS","className","render","_this$props5","clusters","ClusterPageStopRumMeasure","paneClassNames","direction","HORIZONTAL","onSplit","onUnSplit","minSize","ref","split","mapStateToProps","_state$global","global","login","maintenancePageEvent","loadState","paramsLoading","clustersMenu","LOADED","ERROR","Boolean","chyt_controller_base_url","mapDispatchToProps","_ref2","_useSelector","blocked","banned","_useLocation","pathname","enableRedirect","endsWith","type","CLUSTER_PARAMS","subPage","allowStop","_ref3","_ref4","_slicedToArray","startDeps","_ref5","_ref6","stopDeps"],"sources":["ClusterPage.js"],"sourcesContent":["import React, {Component, Fragment} from 'react';\nimport {Redirect, Route, Switch, useLocation} from 'react-router';\nimport {connect, useSelector} from 'react-redux';\nimport PropTypes from 'prop-types';\nimport cn from 'bem-cn-lite';\n\nimport BanPage from '../BanPage/BanPage';\nimport MaintenancePage from '../MaintenancePage/MaintenancePage';\nimport HandleMaintenanceRedirect from '../MaintenancePage/HandleRedirect';\nimport Components from '../../pages/components/Components/Components';\nimport Operations from '../../pages/operations/Operations/Operations';\nimport Accounts from '../../pages/accounts/Accounts/Accounts';\nimport Dashboard from '../../pages/dashboard/Dashboard/Dashboard';\nimport System from '../../pages/system/System/System';\nimport Navigation from '../../pages/navigation/Navigation/Navigation';\nimport PathViewer from '../../pages/path-viewer/PathViewer';\nimport Tablet from '../../pages/tablet/Tablet';\nimport TabletCellBundles from '../../pages/tablet_cell_bundles/TabletCellBundles';\nimport GroupsPage from '../../pages/groups/GroupsPage';\nimport UsersPage from '../../pages/users/UsersPage';\nimport Scheduling from '../../pages/scheduling/Scheduling/Scheduling';\nimport QueryTracker from '../../pages/query-tracker/QueryTracker';\nimport Job from '../../pages/job/Job';\nimport {ChytPage} from '../../pages/chyt';\n\nimport ClusterPageHeader from '../ClusterPageHeader/ClusterPageHeader';\nimport PageTracker from './PageTracker';\n\nimport {PageHeadByCluster} from '../../components/PageHead/PageHead';\nimport ConnectionErrorRegion from '../../components/PreloaderErrors/ConnectionErrorRegion';\nimport GeneralErrorRegion from '../../components/PreloaderErrors/GeneralErrorRegion';\nimport FlexSplitPane from '../../components/FlexSplitPane/FlexSplitPane';\nimport ErrorBlock from '../../components/Error/Error';\n\nimport {LOADING_STATUS, LOAD_ERROR, Page, SPLIT_PANE_ID} from '../../constants/index';\nimport {joinMenuItemsAction, splitMenuItemsAction, trackVisit} from '../../store/actions/menu';\nimport {setSetting} from '../../store/actions/settings';\nimport {initClusterParams, unmountCluster, updateCluster} from '../../store/actions/cluster-params';\nimport {updateTitle} from '../../store/actions/global';\nimport {getClusterUiConfig, isQueryTrackerAllowed} from '../../store/selectors/global';\nimport {getClusterConfig} from '../../utils';\nimport {NAMESPACES, SettingName} from '../../../shared/constants/settings';\nimport {\n getClusterPagePaneSizes,\n getStartingPage,\n isRecentClustersFirst,\n isRecentPagesFirst,\n isRedirectToBetaSwitched,\n} from '../../store/selectors/settings';\nimport SupportedFeaturesUpdater from './SupportedFeaturesUpdater';\nimport {useRumMeasureStart, useRumMeasureStop} from '../../rum/RumUiContext';\nimport {RumMeasureTypes} from '../../rum/rum-measure-types';\nimport {useClusterFromLocation} from '../../hooks/use-cluster';\nimport {makeExtraPageRoutes} from './ExtraClusterPageRoutes';\nimport {odinPageInfo} from '../../pages/odin';\nimport {hasOdinPage} from '../../config';\n\nimport './ClusterPage.scss';\n\nconst b = cn('cluster-page');\n\nconst RedirectToBanIfNeededMemo = React.memo(RedirectToBanIfNeeded);\n\nclass ClusterPage extends Component {\n static propTypes = {\n cluster: PropTypes.string,\n\n // from connect\n clusters: PropTypes.object.isRequired,\n clusterPagePaneSizes: PropTypes.array,\n login: PropTypes.string,\n queriesPageAllowed: PropTypes.bool,\n maintenancePageEvent: PropTypes.object,\n startingPage: PropTypes.string.isRequired,\n isLoaded: PropTypes.bool.isRequired,\n hasError: PropTypes.bool.isRequired,\n error: PropTypes.shape({\n errorType: PropTypes.string,\n }).isRequired,\n paramsError: PropTypes.any,\n splitScreen: PropTypes.shape({\n isSplit: PropTypes.bool.isRequired,\n paneClassNames: PropTypes.array.isRequired,\n }).isRequired,\n\n splitMenuItemsAction: PropTypes.func.isRequired,\n setSetting: PropTypes.func.isRequired,\n joinMenuItemsAction: PropTypes.func.isRequired,\n initClusterParams: PropTypes.func.isRequired,\n updateCluster: PropTypes.func.isRequired,\n updateTitle: PropTypes.func.isRequired,\n unmountCluster: PropTypes.func.isRequired,\n trackVisit: PropTypes.func.isRequired,\n\n allowChyt: PropTypes.bool,\n allowQueryTracker: PropTypes.bool,\n };\n\n state = {\n width: 'large',\n };\n\n componentDidMount() {\n const {cluster} = this.props;\n this.props.updateCluster(cluster, this._onUpdateEnd);\n }\n\n getSnapshotBeforeUpdate(prevProps) {\n if (prevProps.splitScreen.isSplit !== this.props.splitScreen.isSplit) {\n return this.props.splitScreen.isSplit\n ? window.pageYOffset\n : this.contentPaneRef.current.scrollTop;\n }\n\n return null;\n }\n\n componentDidUpdate(prevProps, prevState, prevScroll) {\n if (prevScroll !== null) {\n if (this.props.splitScreen.isSplit) {\n this.contentPaneRef.current.scrollTop = prevScroll;\n }\n\n window.scrollBy(0, prevScroll);\n }\n\n const {cluster: prevCluster} = prevProps;\n const {cluster} = this.props;\n\n if (cluster !== prevCluster) {\n this.props.updateCluster(cluster, this._onUpdateEnd);\n }\n }\n\n componentWillUnmount() {\n this.props.updateTitle({path: '', page: ''});\n this.props.unmountCluster();\n }\n\n contentPaneRef = React.createRef();\n\n _onUpdateEnd = () => {\n const {\n cluster,\n trackVisit,\n updateTitle,\n initClusterParams,\n isRedirectToBetaSwitched,\n setSetting,\n } = this.props;\n\n return Promise.resolve().then(() => {\n initClusterParams(cluster);\n updateTitle({cluster});\n\n // todo: get rid of redirectToBetaSwitched setting.\n // It`s exist for set default value of redirectToBeta setting, when settings document is empty yet.\n // Set redirectToBeta on server after get all user settings (home.js). Or get rid of this logic at all.\n if (!isRedirectToBetaSwitched) {\n setSetting(\n SettingName.DEVELOPMENT.REDIRECT_TO_BETA_SWITCHED,\n NAMESPACES.DEVELOPMENT,\n true,\n );\n setSetting(SettingName.DEVELOPMENT.REDIRECT_TO_BETA, NAMESPACES.DEVELOPMENT, true);\n }\n\n this._initMenuCollection('cluster');\n this._initMenuCollection('page');\n trackVisit('cluster', cluster);\n });\n };\n\n _initMenuCollection(itemName) {\n const {splitMenuItemsAction, joinMenuItemsAction} = this.props;\n\n const settingsMap = {\n cluster: 'isRecentClustersFirst',\n page: 'isRecentPagesFirst',\n };\n\n if (this.props[settingsMap[itemName]]) {\n splitMenuItemsAction(itemName);\n } else {\n joinMenuItemsAction(`${itemName}s`);\n }\n }\n\n onResize = () => {\n const {splitScreen} = this.props;\n const toolbar = document.querySelector('#elements-toolbar');\n\n if (splitScreen.isSplit && toolbar) {\n const gutterWidth = 10;\n const offset = document.getElementById(SPLIT_PANE_ID).clientWidth + gutterWidth;\n toolbar.style.right = `${offset}px`;\n } else if (toolbar) {\n toolbar.style.right = '0';\n }\n\n window.dispatchEvent(new Event('resize'));\n };\n\n handleSplit = () => {\n this.onResize();\n // fight the table toolbar becoming invisible after toggling YQLWidget and before first scroll\n window.dispatchEvent(new Event('scroll'));\n this.updateWidthModifier();\n };\n\n updateWidthModifier() {\n const currentWidth = this.contentPaneRef.current?.clientWidth || Infinity;\n if (currentWidth <= 720) {\n this.setState({width: 'small'});\n } else if (currentWidth <= 1024) {\n this.setState({width: 'medium'});\n } else {\n this.setState({width: 'large'});\n }\n }\n\n onResizeEnd = (sizes) => {\n this.props.setSetting(\n SettingName.NAVIGATION.CLUSTER_PAGE_PANE_SIZES,\n NAMESPACES.NAVIGATION,\n sizes,\n );\n this.updateWidthModifier();\n };\n\n getInitialSizes = () => {\n return this.props.clusterPagePaneSizes;\n };\n\n renderError(clusterConfig) {\n const {errorType} = this.props.error || {};\n\n switch (errorType) {\n case LOAD_ERROR.CONNECTION:\n return <ConnectionErrorRegion cluster={clusterConfig.id} />;\n case LOAD_ERROR.AUTHENTICATION:\n return (\n <GeneralErrorRegion\n cluster={clusterConfig.id}\n message={\n 'Could not fetch the XSRF token, therefore preventing further operations. Sometimes ' +\n 'token fetching fails due to the network issues. If the problem persists, please report it ' +\n 'via Bug Reporter.'\n }\n />\n );\n case LOAD_ERROR.GENERAL:\n return (\n <GeneralErrorRegion message=\"Unexpected error occurred. If problem persists please report it via Bug Reporter.\" />\n );\n }\n }\n\n isParamsLoading() {\n const {cluster, paramsCluster} = this.props;\n return cluster !== paramsCluster;\n }\n\n renderContent(clusterConfig) {\n const {\n cluster,\n startingPage,\n isLoaded,\n hasError,\n paramsError,\n allowChyt,\n allowQueryTracker,\n } = this.props;\n\n return isLoaded && !this.isParamsLoading() ? (\n <Fragment>\n <SupportedFeaturesUpdater />\n <HandleMaintenanceRedirect />\n <RedirectToBanIfNeededMemo to={`/${cluster}/${Page.BAN}`} />\n <Switch>\n <Route path={`/:cluster/${Page.BAN}`} component={BanPage} />\n <Route path={`/:cluster/${Page.MAINTENANCE}`} component={MaintenancePage} />\n <Route path={`/:cluster/${Page.COMPONENTS}`} component={Components} />\n <Route path={`/:cluster/${Page.OPERATIONS}`} component={Operations} />\n <Route path={`/:cluster/${Page.JOB}`} component={Job} />\n <Route path={`/:cluster/${Page.DASHBOARD}`} component={Dashboard} />\n <Route path={`/:cluster/${Page.SYSTEM}`} component={System} />\n <Route path={`/:cluster/${Page.ACCOUNTS}`} component={Accounts} />\n <Route\n path={[\n `/:cluster/${Page.TABLET_CELL_BUNDLES}`,\n `/:cluster/${Page.CHAOS_CELL_BUNDLES}`,\n ]}\n component={TabletCellBundles}\n />\n <Route path={`/:cluster/${Page.NAVIGATION}`} component={Navigation} />\n <Route path={`/:cluster/${Page.PATH_VIEWER}`} component={PathViewer} />\n <Route path={`/:cluster/${Page.TABLET}`} component={Tablet} />\n <Route path={`/:cluster/${Page.USERS}`} component={UsersPage} />\n <Route path={`/:cluster/${Page.GROUPS}`} component={GroupsPage} />\n <Route path={`/:cluster/${Page.SCHEDULING}`} component={Scheduling} />\n {allowChyt && <Route path={`/:cluster/${Page.CHYT}`} component={ChytPage} />}\n {allowQueryTracker && (\n <Route path={`/:cluster/${Page.QUERIES}`} component={QueryTracker} />\n )}\n {hasOdinPage() && (\n <Route\n path={`/:cluster/${odinPageInfo.pageId}`}\n component={odinPageInfo.reactComponent}\n />\n )}\n\n <Redirect\n from={`/:cluster/${Page.VERSIONS}`}\n to={`/:cluster/${Page.COMPONENTS}/versions`}\n />\n {makeExtraPageRoutes()}\n <Redirect from={`/${cluster}/`} to={`/${cluster}/${startingPage}`} />\n </Switch>\n\n <Route path=\"/:cluster/:page/:tab?\" component={PageTracker} />\n </Fragment>\n ) : (\n <React.Fragment>\n <div className=\"preloader\">\n {hasError ? (\n this.renderError(clusterConfig)\n ) : (\n <p className=\"preloader__loading\">Loading {clusterConfig?.id}...</p>\n )}\n </div>\n <div className={b('error')}>\n {paramsError && <ErrorBlock error={paramsError} />}\n </div>\n </React.Fragment>\n );\n }\n\n render() {\n const {cluster, splitScreen, clusters} = this.props;\n\n // TODO: put current cluster config into redux state to avoid doing things like these here\n const clusterConfig = getClusterConfig(clusters, cluster);\n\n // FIXME: handle case when clusterConfig is undefined due to wrong cluster name\n return (\n <Fragment>\n <ClusterPageStopRumMeasure />\n <PageHeadByCluster cluster={cluster} />\n\n <ClusterPageHeader />\n\n <FlexSplitPane\n className={b('panes-wrapper', {\n 'with-pane': splitScreen.isSplit,\n })}\n paneClassNames={splitScreen.paneClassNames}\n direction={FlexSplitPane.HORIZONTAL}\n onResize={this.onResize}\n onResizeEnd={this.onResizeEnd}\n onSplit={this.handleSplit}\n onUnSplit={this.handleSplit}\n minSize={600}\n getInitialSizes={this.getInitialSizes}\n id={SPLIT_PANE_ID}\n >\n <div\n ref={this.contentPaneRef}\n className={b('content-pane', {\n split: splitScreen.isSplit && 'yes',\n width: this.state.width,\n })}\n >\n {this.renderContent(clusterConfig)}\n </div>\n\n {null}\n </FlexSplitPane>\n </Fragment>\n );\n }\n}\n\nfunction mapStateToProps(state) {\n const {\n login,\n maintenancePageEvent,\n splitScreen,\n loadState,\n error,\n paramsCluster,\n paramsLoading,\n paramsError,\n } = state.global;\n\n const clusters = state.clustersMenu.clusters;\n\n return {\n clusters,\n isLoaded: !paramsLoading && loadState === LOADING_STATUS.LOADED,\n hasError: loadState === LOADING_STATUS.ERROR,\n error,\n paramsError,\n login,\n splitScreen,\n maintenancePageEvent,\n isRedirectToBetaSwitched: isRedirectToBetaSwitched(state),\n isRecentClustersFirst: isRecentClustersFirst(state),\n isRecentPagesFirst: isRecentPagesFirst(state),\n clusterPagePaneSizes: getClusterPagePaneSizes(state),\n startingPage: getStartingPage(state),\n paramsCluster,\n allowQueryTracker: isQueryTrackerAllowed(state),\n allowChyt: Boolean(getClusterUiConfig(state).chyt_controller_base_url),\n };\n}\n\nconst mapDispatchToProps = {\n setSetting,\n trackVisit,\n splitMenuItemsAction,\n joinMenuItemsAction,\n updateTitle,\n initClusterParams,\n updateCluster,\n unmountCluster,\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ClusterPage);\n\nfunction RedirectToBanIfNeeded({to}) {\n const {blocked, banned} = useSelector((state) => state.global);\n const {pathname} = useLocation();\n const enableRedirect = (banned || blocked) && !pathname.endsWith('/ban');\n\n if (!enableRedirect) {\n return null;\n }\n\n return <Redirect to={to} />;\n}\n\nfunction ClusterPageStopRumMeasure() {\n const loadState = useSelector((state) => state.global.loadState);\n const paramsLoading = useSelector((state) => state.global.paramsLoading);\n\n const isLoaded =\n loadState === LOADING_STATUS.ERROR ||\n (!paramsLoading && loadState === LOADING_STATUS.LOADED);\n\n const cluster = useClusterFromLocation();\n\n useRumMeasureStart({\n type: RumMeasureTypes.CLUSTER_PARAMS,\n subPage: `ui.${cluster}`,\n allowStop: ([isLoaded]) => !isLoaded,\n startDeps: [isLoaded],\n });\n\n useRumMeasureStop({\n type: RumMeasureTypes.CLUSTER_PARAMS,\n allowStop: ([isLoaded]) => isLoaded,\n stopDeps: [isLoaded],\n });\n return null;\n}\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAGC,SAAS,EAAEC,QAAQ,QAAO,OAAO;AAChD,SAAQC,QAAQ,EAAEC,KAAK,EAAEC,MAAM,EAAEC,WAAW,QAAO,cAAc;AACjE,SAAQC,OAAO,EAAEC,WAAW,QAAO,aAAa;AAEhD,OAAOC,EAAE,MAAM,aAAa;AAE5B,OAAOC,OAAO,MAAM,oBAAoB;AACxC,OAAOC,eAAe,MAAM,oCAAoC;AAChE,OAAOC,yBAAyB,MAAM,mCAAmC;AACzE,OAAOC,UAAU,MAAM,8CAA8C;AACrE,OAAOC,UAAU,MAAM,8CAA8C;AACrE,OAAOC,QAAQ,MAAM,wCAAwC;AAC7D,OAAOC,SAAS,MAAM,2CAA2C;AACjE,OAAOC,MAAM,MAAM,kCAAkC;AACrD,OAAOC,UAAU,MAAM,8CAA8C;AACrE,OAAOC,UAAU,MAAM,oCAAoC;AAC3D,OAAOC,MAAM,MAAM,2BAA2B;AAC9C,OAAOC,iBAAiB,MAAM,mDAAmD;AACjF,OAAOC,UAAU,MAAM,+BAA+B;AACtD,OAAOC,SAAS,MAAM,6BAA6B;AACnD,OAAOC,UAAU,MAAM,8CAA8C;AACrE,OAAOC,YAAY,MAAM,wCAAwC;AACjE,OAAOC,GAAG,MAAM,qBAAqB;AACrC,SAAQC,QAAQ,QAAO,kBAAkB;AAEzC,OAAOC,iBAAiB,MAAM,wCAAwC;AACtE,OAAOC,WAAW,MAAM,eAAe;AAEvC,SAAQC,iBAAiB,QAAO,oCAAoC;AACpE,OAAOC,qBAAqB,MAAM,wDAAwD;AAC1F,OAAOC,kBAAkB,MAAM,qDAAqD;AACpF,OAAOC,aAAa,MAAM,8CAA8C;AACxE,OAAOC,UAAU,MAAM,8BAA8B;AAErD,SAAQC,cAAc,EAAEC,UAAU,EAAEC,IAAI,EAAEC,aAAa,QAAO,uBAAuB;AACrF,SAAQC,mBAAmB,EAAEC,oBAAoB,EAAEC,UAAU,QAAO,0BAA0B;AAC9F,SAAQC,UAAU,QAAO,8BAA8B;AACvD,SAAQC,iBAAiB,EAAEC,cAAc,EAAEC,aAAa,QAAO,oCAAoC;AACnG,SAAQC,WAAW,QAAO,4BAA4B;AACtD,SAAQC,kBAAkB,EAAEC,qBAAqB,QAAO,8BAA8B;AACtF,SAAQC,gBAAgB,QAAO,aAAa;AAC5C,SAAQC,UAAU,EAAEC,WAAW,QAAO,oCAAoC;AAC1E,SACIC,uBAAuB,EACvBC,eAAe,EACfC,qBAAqB,EACrBC,kBAAkB,EAClBC,wBAAwB,QACrB,gCAAgC;AACvC,OAAOC,wBAAwB,MAAM,4BAA4B;AACjE,SAAQC,kBAAkB,EAAEC,iBAAiB,QAAO,wBAAwB;AAC5E,SAAQC,eAAe,QAAO,6BAA6B;AAC3D,SAAQC,sBAAsB,QAAO,yBAAyB;AAC9D,SAAQC,mBAAmB,QAAO,0BAA0B;AAC5D,SAAQC,YAAY,QAAO,kBAAkB;AAC7C,SAAQC,WAAW,QAAO,cAAc;AAExC,OAAO,mBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAE5B,IAAMC,CAAC,GAAG5D,EAAE,CAAC,cAAc,CAAC;AAE5B,IAAM6D,yBAAyB,gBAAGtE,KAAK,CAACuE,IAAI,CAACC,qBAAqB,CAAC;AAAC,IAE9DC,WAAW,0BAAAC,UAAA;EAAAC,SAAA,CAAAF,WAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,WAAA;EAAA,SAAAA,YAAA;IAAA,IAAAK,KAAA;IAAAC,eAAA,OAAAN,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,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;IAAAL,KAAA,CAmCbW,KAAK,GAAG;MACJC,KAAK,EAAE;IACX,CAAC;IAAAZ,KAAA,CAuCDa,cAAc,gBAAG3F,KAAK,CAAC4F,SAAS,CAAC,CAAC;IAAAd,KAAA,CAElCe,YAAY,GAAG,YAAM;MACjB,IAAAC,WAAA,GAOIhB,KAAA,CAAKiB,KAAK;QANVC,OAAO,GAAAF,WAAA,CAAPE,OAAO;QACPvD,UAAU,GAAAqD,WAAA,CAAVrD,UAAU;QACVK,WAAW,GAAAgD,WAAA,CAAXhD,WAAW;QACXH,iBAAiB,GAAAmD,WAAA,CAAjBnD,iBAAiB;QACjBa,wBAAwB,GAAAsC,WAAA,CAAxBtC,wBAAwB;QACxBd,UAAU,GAAAoD,WAAA,CAAVpD,UAAU;MAGd,OAAOuD,OAAO,CAACC,OAAO,CAAC,CAAC,CAACC,IAAI,CAAC,YAAM;QAChCxD,iBAAiB,CAACqD,OAAO,CAAC;QAC1BlD,WAAW,CAAC;UAACkD,OAAO,EAAPA;QAAO,CAAC,CAAC;;QAEtB;QACA;QACA;QACA,IAAI,CAACxC,wBAAwB,EAAE;UAC3Bd,UAAU,CACNS,WAAW,CAACiD,WAAW,CAACC,yBAAyB,EACjDnD,UAAU,CAACkD,WAAW,EACtB,IACJ,CAAC;UACD1D,UAAU,CAACS,WAAW,CAACiD,WAAW,CAACE,gBAAgB,EAAEpD,UAAU,CAACkD,WAAW,EAAE,IAAI,CAAC;QACtF;QAEAtB,KAAA,CAAKyB,mBAAmB,CAAC,SAAS,CAAC;QACnCzB,KAAA,CAAKyB,mBAAmB,CAAC,MAAM,CAAC;QAChC9D,UAAU,CAAC,SAAS,EAAEuD,OAAO,CAAC;MAClC,CAAC,CAAC;IACN,CAAC;IAAAlB,KAAA,CAiBD0B,QAAQ,GAAG,YAAM;MACb,IAAOC,WAAW,GAAI3B,KAAA,CAAKiB,KAAK,CAAzBU,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,CAAC1E,aAAa,CAAC,CAAC2E,WAAW,GAAGH,WAAW;QAC/EJ,OAAO,CAACQ,KAAK,CAACC,KAAK,MAAA3B,MAAA,CAAMuB,MAAM,OAAI;MACvC,CAAC,MAAM,IAAIL,OAAO,EAAE;QAChBA,OAAO,CAACQ,KAAK,CAACC,KAAK,GAAG,GAAG;MAC7B;MAEAC,MAAM,CAACC,aAAa,CAAC,IAAIC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAAAxC,KAAA,CAEDyC,WAAW,GAAG,YAAM;MAChBzC,KAAA,CAAK0B,QAAQ,CAAC,CAAC;MACf;MACAY,MAAM,CAACC,aAAa,CAAC,IAAIC,KAAK,CAAC,QAAQ,CAAC,CAAC;MACzCxC,KAAA,CAAK0C,mBAAmB,CAAC,CAAC;IAC9B,CAAC;IAAA1C,KAAA,CAaD2C,WAAW,GAAG,UAACC,KAAK,EAAK;MACrB5C,KAAA,CAAKiB,KAAK,CAACrD,UAAU,CACjBS,WAAW,CAACwE,UAAU,CAACC,uBAAuB,EAC9C1E,UAAU,CAACyE,UAAU,EACrBD,KACJ,CAAC;MACD5C,KAAA,CAAK0C,mBAAmB,CAAC,CAAC;IAC9B,CAAC;IAAA1C,KAAA,CAED+C,eAAe,GAAG,YAAM;MACpB,OAAO/C,KAAA,CAAKiB,KAAK,CAAC+B,oBAAoB;IAC1C,CAAC;IAAA,OAAAhD,KAAA;EAAA;EAAAiD,YAAA,CAAAtD,WAAA;IAAAuD,GAAA;IAAAC,KAAA,EAlID,SAAAC,kBAAA,EAAoB;MAChB,IAAOlC,OAAO,GAAI,IAAI,CAACD,KAAK,CAArBC,OAAO;MACd,IAAI,CAACD,KAAK,CAAClD,aAAa,CAACmD,OAAO,EAAE,IAAI,CAACH,YAAY,CAAC;IACxD;EAAC;IAAAmC,GAAA;IAAAC,KAAA,EAED,SAAAE,wBAAwBC,SAAS,EAAE;MAC/B,IAAIA,SAAS,CAAC3B,WAAW,CAACI,OAAO,KAAK,IAAI,CAACd,KAAK,CAACU,WAAW,CAACI,OAAO,EAAE;QAClE,OAAO,IAAI,CAACd,KAAK,CAACU,WAAW,CAACI,OAAO,GAC/BO,MAAM,CAACiB,WAAW,GAClB,IAAI,CAAC1C,cAAc,CAAC2C,OAAO,CAACC,SAAS;MAC/C;MAEA,OAAO,IAAI;IACf;EAAC;IAAAP,GAAA;IAAAC,KAAA,EAED,SAAAO,mBAAmBJ,SAAS,EAAEK,SAAS,EAAEC,UAAU,EAAE;MACjD,IAAIA,UAAU,KAAK,IAAI,EAAE;QACrB,IAAI,IAAI,CAAC3C,KAAK,CAACU,WAAW,CAACI,OAAO,EAAE;UAChC,IAAI,CAAClB,cAAc,CAAC2C,OAAO,CAACC,SAAS,GAAGG,UAAU;QACtD;QAEAtB,MAAM,CAACuB,QAAQ,CAAC,CAAC,EAAED,UAAU,CAAC;MAClC;MAEA,IAAgBE,WAAW,GAAIR,SAAS,CAAjCpC,OAAO;MACd,IAAOA,OAAO,GAAI,IAAI,CAACD,KAAK,CAArBC,OAAO;MAEd,IAAIA,OAAO,KAAK4C,WAAW,EAAE;QACzB,IAAI,CAAC7C,KAAK,CAAClD,aAAa,CAACmD,OAAO,EAAE,IAAI,CAACH,YAAY,CAAC;MACxD;IACJ;EAAC;IAAAmC,GAAA;IAAAC,KAAA,EAED,SAAAY,qBAAA,EAAuB;MACnB,IAAI,CAAC9C,KAAK,CAACjD,WAAW,CAAC;QAACgG,IAAI,EAAE,EAAE;QAAEC,IAAI,EAAE;MAAE,CAAC,CAAC;MAC5C,IAAI,CAAChD,KAAK,CAACnD,cAAc,CAAC,CAAC;IAC/B;EAAC;IAAAoF,GAAA;IAAAC,KAAA,EAoCD,SAAA1B,oBAAoByC,QAAQ,EAAE;MAC1B,IAAAC,YAAA,GAAoD,IAAI,CAAClD,KAAK;QAAvDvD,oBAAoB,GAAAyG,YAAA,CAApBzG,oBAAoB;QAAED,mBAAmB,GAAA0G,YAAA,CAAnB1G,mBAAmB;MAEhD,IAAM2G,WAAW,GAAG;QAChBlD,OAAO,EAAE,uBAAuB;QAChC+C,IAAI,EAAE;MACV,CAAC;MAED,IAAI,IAAI,CAAChD,KAAK,CAACmD,WAAW,CAACF,QAAQ,CAAC,CAAC,EAAE;QACnCxG,oBAAoB,CAACwG,QAAQ,CAAC;MAClC,CAAC,MAAM;QACHzG,mBAAmB,IAAAiD,MAAA,CAAIwD,QAAQ,MAAG,CAAC;MACvC;IACJ;EAAC;IAAAhB,GAAA;IAAAC,KAAA,EAwBD,SAAAT,oBAAA,EAAsB;MAAA,IAAA2B,qBAAA;MAClB,IAAMC,YAAY,GAAG,EAAAD,qBAAA,OAAI,CAACxD,cAAc,CAAC2C,OAAO,cAAAa,qBAAA,uBAA3BA,qBAAA,CAA6BlC,WAAW,KAAIoC,QAAQ;MACzE,IAAID,YAAY,IAAI,GAAG,EAAE;QACrB,IAAI,CAACE,QAAQ,CAAC;UAAC5D,KAAK,EAAE;QAAO,CAAC,CAAC;MACnC,CAAC,MAAM,IAAI0D,YAAY,IAAI,IAAI,EAAE;QAC7B,IAAI,CAACE,QAAQ,CAAC;UAAC5D,KAAK,EAAE;QAAQ,CAAC,CAAC;MACpC,CAAC,MAAM;QACH,IAAI,CAAC4D,QAAQ,CAAC;UAAC5D,KAAK,EAAE;QAAO,CAAC,CAAC;MACnC;IACJ;EAAC;IAAAsC,GAAA;IAAAC,KAAA,EAeD,SAAAsB,YAAYC,aAAa,EAAE;MACvB,IAAAC,IAAA,GAAoB,IAAI,CAAC1D,KAAK,CAAC2D,KAAK,IAAI,CAAC,CAAC;QAAnCC,SAAS,GAAAF,IAAA,CAATE,SAAS;MAEhB,QAAQA,SAAS;QACb,KAAKvH,UAAU,CAACwH,UAAU;UACtB,oBAAO1F,IAAA,CAACnC,qBAAqB;YAACiE,OAAO,EAAEwD,aAAa,CAACK;UAAG,CAAE,CAAC;QAC/D,KAAKzH,UAAU,CAAC0H,cAAc;UAC1B,oBACI5F,IAAA,CAAClC,kBAAkB;YACfgE,OAAO,EAAEwD,aAAa,CAACK,EAAG;YAC1BE,OAAO,EACH,qFAAqF,GACrF,6FAA6F,GAC7F;UACH,CACJ,CAAC;QAEV,KAAK3H,UAAU,CAAC4H,OAAO;UACnB,oBACI9F,IAAA,CAAClC,kBAAkB;YAAC+H,OAAO,EAAC;UAAmF,CAAE,CAAC;MAE9H;IACJ;EAAC;IAAA/B,GAAA;IAAAC,KAAA,EAED,SAAAgC,gBAAA,EAAkB;MACd,IAAAC,YAAA,GAAiC,IAAI,CAACnE,KAAK;QAApCC,OAAO,GAAAkE,YAAA,CAAPlE,OAAO;QAAEmE,aAAa,GAAAD,YAAA,CAAbC,aAAa;MAC7B,OAAOnE,OAAO,KAAKmE,aAAa;IACpC;EAAC;IAAAnC,GAAA;IAAAC,KAAA,EAED,SAAAmC,cAAcZ,aAAa,EAAE;MACzB,IAAAa,YAAA,GAQI,IAAI,CAACtE,KAAK;QAPVC,OAAO,GAAAqE,YAAA,CAAPrE,OAAO;QACPsE,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,gBACtC7F,KAAA,CAAClE,QAAQ;QAAA0K,QAAA,gBACL1G,IAAA,CAACT,wBAAwB,IAAE,CAAC,eAC5BS,IAAA,CAACtD,yBAAyB,IAAE,CAAC,eAC7BsD,IAAA,CAACI,yBAAyB;UAACuG,EAAE,MAAArF,MAAA,CAAMQ,OAAO,OAAAR,MAAA,CAAInD,IAAI,CAACyI,GAAG;QAAG,CAAE,CAAC,eAC5D1G,KAAA,CAAC/D,MAAM;UAAAuK,QAAA,gBACH1G,IAAA,CAAC9D,KAAK;YAAC0I,IAAI,eAAAtD,MAAA,CAAenD,IAAI,CAACyI,GAAG,CAAG;YAACC,SAAS,EAAErK;UAAQ,CAAE,CAAC,eAC5DwD,IAAA,CAAC9D,KAAK;YAAC0I,IAAI,eAAAtD,MAAA,CAAenD,IAAI,CAAC2I,WAAW,CAAG;YAACD,SAAS,EAAEpK;UAAgB,CAAE,CAAC,eAC5EuD,IAAA,CAAC9D,KAAK;YAAC0I,IAAI,eAAAtD,MAAA,CAAenD,IAAI,CAAC4I,UAAU,CAAG;YAACF,SAAS,EAAElK;UAAW,CAAE,CAAC,eACtEqD,IAAA,CAAC9D,KAAK;YAAC0I,IAAI,eAAAtD,MAAA,CAAenD,IAAI,CAAC6I,UAAU,CAAG;YAACH,SAAS,EAAEjK;UAAW,CAAE,CAAC,eACtEoD,IAAA,CAAC9D,KAAK;YAAC0I,IAAI,eAAAtD,MAAA,CAAenD,IAAI,CAAC8I,GAAG,CAAG;YAACJ,SAAS,EAAErJ;UAAI,CAAE,CAAC,eACxDwC,IAAA,CAAC9D,KAAK;YAAC0I,IAAI,eAAAtD,MAAA,CAAenD,IAAI,CAAC+I,SAAS,CAAG;YAACL,SAAS,EAAE/J;UAAU,CAAE,CAAC,eACpEkD,IAAA,CAAC9D,KAAK;YAAC0I,IAAI,eAAAtD,MAAA,CAAenD,IAAI,CAACgJ,MAAM,CAAG;YAACN,SAAS,EAAE9J;UAAO,CAAE,CAAC,eAC9DiD,IAAA,CAAC9D,KAAK;YAAC0I,IAAI,eAAAtD,MAAA,CAAenD,IAAI,CAACiJ,QAAQ,CAAG;YAACP,SAAS,EAAEhK;UAAS,CAAE,CAAC,eAClEmD,IAAA,CAAC9D,KAAK;YACF0I,IAAI,EAAE,cAAAtD,MAAA,CACWnD,IAAI,CAACkJ,mBAAmB,gBAAA/F,MAAA,CACxBnD,IAAI,CAACmJ,kBAAkB,EACtC;YACFT,SAAS,EAAE1J;UAAkB,CAChC,CAAC,eACF6C,IAAA,CAAC9D,KAAK;YAAC0I,IAAI,eAAAtD,MAAA,CAAenD,IAAI,CAACsF,UAAU,CAAG;YAACoD,SAAS,EAAE7J;UAAW,CAAE,CAAC,eACtEgD,IAAA,CAAC9D,KAAK;YAAC0I,IAAI,eAAAtD,MAAA,CAAenD,IAAI,CAACoJ,WAAW,CAAG;YAACV,SAAS,EAAE5J;UAAW,CAAE,CAAC,eACvE+C,IAAA,CAAC9D,KAAK;YAAC0I,IAAI,eAAAtD,MAAA,CAAenD,IAAI,CAACqJ,MAAM,CAAG;YAACX,SAAS,EAAE3J;UAAO,CAAE,CAAC,eAC9D8C,IAAA,CAAC9D,KAAK;YAAC0I,IAAI,eAAAtD,MAAA,CAAenD,IAAI,CAACsJ,KAAK,CAAG;YAACZ,SAAS,EAAExJ;UAAU,CAAE,CAAC,eAChE2C,IAAA,CAAC9D,KAAK;YAAC0I,IAAI,eAAAtD,MAAA,CAAenD,IAAI,CAACuJ,MAAM,CAAG;YAACb,SAAS,EAAEzJ;UAAW,CAAE,CAAC,eAClE4C,IAAA,CAAC9D,KAAK;YAAC0I,IAAI,eAAAtD,MAAA,CAAenD,IAAI,CAACwJ,UAAU,CAAG;YAACd,SAAS,EAAEvJ;UAAW,CAAE,CAAC,EACrEkJ,SAAS,iBAAIxG,IAAA,CAAC9D,KAAK;YAAC0I,IAAI,eAAAtD,MAAA,CAAenD,IAAI,CAACyJ,IAAI,CAAG;YAACf,SAAS,EAAEpJ;UAAS,CAAE,CAAC,EAC3EgJ,iBAAiB,iBACdzG,IAAA,CAAC9D,KAAK;YAAC0I,IAAI,eAAAtD,MAAA,CAAenD,IAAI,CAAC0J,OAAO,CAAG;YAAChB,SAAS,EAAEtJ;UAAa,CAAE,CACvE,EACAuC,WAAW,CAAC,CAAC,iBACVE,IAAA,CAAC9D,KAAK;YACF0I,IAAI,eAAAtD,MAAA,CAAezB,YAAY,CAACiI,MAAM,CAAG;YACzCjB,SAAS,EAAEhH,YAAY,CAACkI;UAAe,CAC1C,CACJ,eAED/H,IAAA,CAAC/D,QAAQ;YACL+L,IAAI,eAAA1G,MAAA,CAAenD,IAAI,CAAC8J,QAAQ,CAAG;YACnCtB,EAAE,eAAArF,MAAA,CAAenD,IAAI,CAAC4I,UAAU;UAAY,CAC/C,CAAC,EACDnH,mBAAmB,CAAC,CAAC,eACtBI,IAAA,CAAC/D,QAAQ;YAAC+L,IAAI,MAAA1G,MAAA,CAAMQ,OAAO,MAAI;YAAC6E,EAAE,MAAArF,MAAA,CAAMQ,OAAO,OAAAR,MAAA,CAAI8E,YAAY;UAAG,CAAE,CAAC;QAAA,CACjE,CAAC,eAETpG,IAAA,CAAC9D,KAAK;UAAC0I,IAAI,EAAC,uBAAuB;UAACiC,SAAS,EAAElJ;QAAY,CAAE,CAAC;MAAA,CACxD,CAAC,gBAEXuC,KAAA,CAACpE,KAAK,CAACE,QAAQ;QAAA0K,QAAA,gBACX1G,IAAA;UAAKkI,SAAS,EAAC,WAAW;UAAAxB,QAAA,EACrBJ,QAAQ,GACL,IAAI,CAACjB,WAAW,CAACC,aAAa,CAAC,gBAE/BpF,KAAA;YAAGgI,SAAS,EAAC,oBAAoB;YAAAxB,QAAA,GAAC,UAAQ,EAACpB,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEK,EAAE,EAAC,KAAG;UAAA,CAAG;QACtE,CACA,CAAC,eACN3F,IAAA;UAAKkI,SAAS,EAAE/H,CAAC,CAAC,OAAO,CAAE;UAAAuG,QAAA,EACtBH,WAAW,iBAAIvG,IAAA,CAAChC,UAAU;YAACwH,KAAK,EAAEe;UAAY,CAAE;QAAC,CACjD,CAAC;MAAA,CACM,CACnB;IACL;EAAC;IAAAzC,GAAA;IAAAC,KAAA,EAED,SAAAoE,OAAA,EAAS;MACL,IAAAC,YAAA,GAAyC,IAAI,CAACvG,KAAK;QAA5CC,OAAO,GAAAsG,YAAA,CAAPtG,OAAO;QAAES,WAAW,GAAA6F,YAAA,CAAX7F,WAAW;QAAE8F,QAAQ,GAAAD,YAAA,CAARC,QAAQ;;MAErC;MACA,IAAM/C,aAAa,GAAGvG,gBAAgB,CAACsJ,QAAQ,EAAEvG,OAAO,CAAC;;MAEzD;MACA,oBACI5B,KAAA,CAAClE,QAAQ;QAAA0K,QAAA,gBACL1G,IAAA,CAACsI,yBAAyB,IAAE,CAAC,eAC7BtI,IAAA,CAACpC,iBAAiB;UAACkE,OAAO,EAAEA;QAAQ,CAAE,CAAC,eAEvC9B,IAAA,CAACtC,iBAAiB,IAAE,CAAC,eAErBwC,KAAA,CAACnC,aAAa;UACVmK,SAAS,EAAE/H,CAAC,CAAC,eAAe,EAAE;YAC1B,WAAW,EAAEoC,WAAW,CAACI;UAC7B,CAAC,CAAE;UACH4F,cAAc,EAAEhG,WAAW,CAACgG,cAAe;UAC3CC,SAAS,EAAEzK,aAAa,CAAC0K,UAAW;UACpCnG,QAAQ,EAAE,IAAI,CAACA,QAAS;UACxBiB,WAAW,EAAE,IAAI,CAACA,WAAY;UAC9BmF,OAAO,EAAE,IAAI,CAACrF,WAAY;UAC1BsF,SAAS,EAAE,IAAI,CAACtF,WAAY;UAC5BuF,OAAO,EAAE,GAAI;UACbjF,eAAe,EAAE,IAAI,CAACA,eAAgB;UACtCgC,EAAE,EAAEvH,aAAc;UAAAsI,QAAA,gBAElB1G,IAAA;YACI6I,GAAG,EAAE,IAAI,CAACpH,cAAe;YACzByG,SAAS,EAAE/H,CAAC,CAAC,cAAc,EAAE;cACzB2I,KAAK,EAAEvG,WAAW,CAACI,OAAO,IAAI,KAAK;cACnCnB,KAAK,EAAE,IAAI,CAACD,KAAK,CAACC;YACtB,CAAC,CAAE;YAAAkF,QAAA,EAEF,IAAI,CAACR,aAAa,CAACZ,aAAa;UAAC,CACjC,CAAC,EAEL,IAAI;QAAA,CACM,CAAC;MAAA,CACV,CAAC;IAEnB;EAAC;EAAA,OAAA/E,WAAA;AAAA,EA7TqBxE,SAAS;AAgUnC,SAASgN,eAAeA,CAACxH,KAAK,EAAE;EAC5B,IAAAyH,aAAA,GASIzH,KAAK,CAAC0H,MAAM;IARZC,KAAK,GAAAF,aAAA,CAALE,KAAK;IACLC,oBAAoB,GAAAH,aAAA,CAApBG,oBAAoB;IACpB5G,WAAW,GAAAyG,aAAA,CAAXzG,WAAW;IACX6G,SAAS,GAAAJ,aAAA,CAATI,SAAS;IACT5D,KAAK,GAAAwD,aAAA,CAALxD,KAAK;IACLS,aAAa,GAAA+C,aAAA,CAAb/C,aAAa;IACboD,aAAa,GAAAL,aAAA,CAAbK,aAAa;IACb9C,WAAW,GAAAyC,aAAA,CAAXzC,WAAW;EAGf,IAAM8B,QAAQ,GAAG9G,KAAK,CAAC+H,YAAY,CAACjB,QAAQ;EAE5C,OAAO;IACHA,QAAQ,EAARA,QAAQ;IACRhC,QAAQ,EAAE,CAACgD,aAAa,IAAID,SAAS,KAAKnL,cAAc,CAACsL,MAAM;IAC/DjD,QAAQ,EAAE8C,SAAS,KAAKnL,cAAc,CAACuL,KAAK;IAC5ChE,KAAK,EAALA,KAAK;IACLe,WAAW,EAAXA,WAAW;IACX2C,KAAK,EAALA,KAAK;IACL3G,WAAW,EAAXA,WAAW;IACX4G,oBAAoB,EAApBA,oBAAoB;IACpB7J,wBAAwB,EAAEA,wBAAwB,CAACiC,KAAK,CAAC;IACzDnC,qBAAqB,EAAEA,qBAAqB,CAACmC,KAAK,CAAC;IACnDlC,kBAAkB,EAAEA,kBAAkB,CAACkC,KAAK,CAAC;IAC7CqC,oBAAoB,EAAE1E,uBAAuB,CAACqC,KAAK,CAAC;IACpD6E,YAAY,EAAEjH,eAAe,CAACoC,KAAK,CAAC;IACpC0E,aAAa,EAAbA,aAAa;IACbQ,iBAAiB,EAAE3H,qBAAqB,CAACyC,KAAK,CAAC;IAC/CiF,SAAS,EAAEiD,OAAO,CAAC5K,kBAAkB,CAAC0C,KAAK,CAAC,CAACmI,wBAAwB;EACzE,CAAC;AACL;AAEA,IAAMC,kBAAkB,GAAG;EACvBnL,UAAU,EAAVA,UAAU;EACVD,UAAU,EAAVA,UAAU;EACVD,oBAAoB,EAApBA,oBAAoB;EACpBD,mBAAmB,EAAnBA,mBAAmB;EACnBO,WAAW,EAAXA,WAAW;EACXH,iBAAiB,EAAjBA,iBAAiB;EACjBE,aAAa,EAAbA,aAAa;EACbD,cAAc,EAAdA;AACJ,CAAC;AAED,eAAerC,OAAO,CAAC0M,eAAe,EAAEY,kBAAkB,CAAC,CAACpJ,WAAW,CAAC;AAExE,SAASD,qBAAqBA,CAAAsJ,KAAA,EAAO;EAAA,IAALjD,EAAE,GAAAiD,KAAA,CAAFjD,EAAE;EAC9B,IAAAkD,YAAA,GAA0BvN,WAAW,CAAC,UAACiF,KAAK;MAAA,OAAKA,KAAK,CAAC0H,MAAM;IAAA,EAAC;IAAvDa,OAAO,GAAAD,YAAA,CAAPC,OAAO;IAAEC,MAAM,GAAAF,YAAA,CAANE,MAAM;EACtB,IAAAC,YAAA,GAAmB5N,WAAW,CAAC,CAAC;IAAzB6N,QAAQ,GAAAD,YAAA,CAARC,QAAQ;EACf,IAAMC,cAAc,GAAG,CAACH,MAAM,IAAID,OAAO,KAAK,CAACG,QAAQ,CAACE,QAAQ,CAAC,MAAM,CAAC;EAExE,IAAI,CAACD,cAAc,EAAE;IACjB,OAAO,IAAI;EACf;EAEA,oBAAOlK,IAAA,CAAC/D,QAAQ;IAAC0K,EAAE,EAAEA;EAAG,CAAE,CAAC;AAC/B;AAEA,SAAS2B,yBAAyBA,CAAA,EAAG;EACjC,IAAMc,SAAS,GAAG9M,WAAW,CAAC,UAACiF,KAAK;IAAA,OAAKA,KAAK,CAAC0H,MAAM,CAACG,SAAS;EAAA,EAAC;EAChE,IAAMC,aAAa,GAAG/M,WAAW,CAAC,UAACiF,KAAK;IAAA,OAAKA,KAAK,CAAC0H,MAAM,CAACI,aAAa;EAAA,EAAC;EAExE,IAAMhD,QAAQ,GACV+C,SAAS,KAAKnL,cAAc,CAACuL,KAAK,IACjC,CAACH,aAAa,IAAID,SAAS,KAAKnL,cAAc,CAACsL,MAAO;EAE3D,IAAMzH,OAAO,GAAGnC,sBAAsB,CAAC,CAAC;EAExCH,kBAAkB,CAAC;IACf4K,IAAI,EAAE1K,eAAe,CAAC2K,cAAc;IACpCC,OAAO,QAAAhJ,MAAA,CAAQQ,OAAO,CAAE;IACxByI,SAAS,EAAE,SAAAA,UAAAC,KAAA;MAAA,IAAAC,KAAA,GAAAC,cAAA,CAAAF,KAAA;QAAEnE,QAAQ,GAAAoE,KAAA;MAAA,OAAM,CAACpE,QAAQ;IAAA;IACpCsE,SAAS,EAAE,CAACtE,QAAQ;EACxB,CAAC,CAAC;EAEF5G,iBAAiB,CAAC;IACd2K,IAAI,EAAE1K,eAAe,CAAC2K,cAAc;IACpCE,SAAS,EAAE,SAAAA,UAAAK,KAAA;MAAA,IAAAC,KAAA,GAAAH,cAAA,CAAAE,KAAA;QAAEvE,QAAQ,GAAAwE,KAAA;MAAA,OAAMxE,QAAQ;IAAA;IACnCyE,QAAQ,EAAE,CAACzE,QAAQ;EACvB,CAAC,CAAC;EACF,OAAO,IAAI;AACf"}
|
package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js
CHANGED
@@ -492,10 +492,10 @@ function validateFormValues(quota, values) {
|
|
492
492
|
var _tabletNode$memory, _tabletNode$vcpu, _resources$rpc_proxy_2, _resources$rpc_proxy_3, _tabletNode$memory2, _resources$rpc_proxy_4, _resources$rpc_proxy_5;
|
493
493
|
var res = {
|
494
494
|
resources: {
|
495
|
-
info:
|
495
|
+
info: undefined
|
496
496
|
},
|
497
497
|
memory_limits: {
|
498
|
-
memory_reset:
|
498
|
+
memory_reset: undefined
|
499
499
|
}
|
500
500
|
};
|
501
501
|
var resources = values.resources;
|
@@ -506,7 +506,7 @@ function validateFormValues(quota, values) {
|
|
506
506
|
return acc + v;
|
507
507
|
}, 0);
|
508
508
|
var tabletNode = resources.tablet_node_resource_guarantee;
|
509
|
-
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' :
|
509
|
+
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;
|
510
510
|
var _resources$rpc_proxy_ = resources.rpc_proxy_count,
|
511
511
|
rpc_proxy_count = _resources$rpc_proxy_ === void 0 ? 0 : _resources$rpc_proxy_,
|
512
512
|
_resources$tablet_nod = resources.tablet_node_count,
|
@@ -520,7 +520,7 @@ function validateFormValues(quota, values) {
|
|
520
520
|
if (requiredMemory > (quota === null || quota === void 0 ? void 0 : quota.memory)) {
|
521
521
|
violatedResources.push("".concat(hammer.format.Bytes(requiredMemory), " memory requried"));
|
522
522
|
}
|
523
|
-
res.resources.info = violatedResources.length ? violatedResources.join(', ') :
|
523
|
+
res.resources.info = violatedResources.length ? violatedResources.join(', ') : undefined;
|
524
524
|
return res;
|
525
525
|
}
|
526
526
|
// #sourceMappingURL=BundleEditorDialog.js.map
|
package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","useDispatch","useSelector","cn","isEmpty_","Info","BundleParamsList","DialogError","FORM_ERROR","YTDFDialog","hammer","getClusterUiConfig","isDeveloper","hideTabletCellBundleEditor","setBundleEditorController","getBundleEditorData","getTabletBundlesWriteableByName","getTabletCellBundleEditorState","bundleEditorDict","createConfigurationList","createParams","getBundleControllerResource","getInitialFormValues","getResourceData","instanceCountValidate","prepareSubmitBundle","simpleBundleValidate","UIFactory","isAbcAllowed","makeLink","docsUrl","jsx","_jsx","jsxs","_jsxs","block","BundleEditorDialog","_initialValues$resour","_useSelector","visibleEditor","bundleName","bundleData","data","orchidData","bundleControllerData","clusterUiConfig","_useSelector2","bundleDefaultConfig","defaultConfig","bundleControllerConfig","bundle_controller_target_config","enableBundleController","enable_bundle_controller","_getResourceData","tabletCountUsage","usage","_getResourceData2","tabletStaticMemoryUsage","writeableByName","allowTabletCount","get","allowEdit","initialValues","_ref","rpc_proxy_sizes","tablet_node_sizes","data_centers","_toConsumableArray","Object","values","_ref2","_slicedToArray","rpcConfigurations","nodeConfigurations","dcConfigurations","renderGeneralTabs","name","title","type","size","fields","concat","caption","extras","placeholder","disabled","allowRootAccount","renderResourceTab","fullWidth","touched","children","className","renderTableCellBundleEditorNotice","params","value","format","resource_quota","memory","vcpu","Number","resources","tablet_count","withoutDetailedBar","progress","validator","section","hasClear","tooltip","docsUrls","_ref3","form","onRadioClick","nodeConfigurationType","defaultMemory","default_config","memory_limits","defaultThreadPool","cpu_limits","resultMemory","resultThreadPool","change","_objectSpread","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","renderThreadPoolTab","_ref5","_allValues$resources2","postfix","push","dispatch","onClose","onSubmit","_ref6","_asyncToGenerator","_regeneratorRuntime","mark","_callee","preparedData","wrap","_callee$","_context","prev","next","abrupt","undefined","t0","validationErrors","_defineProperty","error","stop","_x","apply","arguments","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":";;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAQC,WAAW,EAAEC,WAAW,QAAO,aAAa;AACpD,OAAOC,EAAE,MAAM,aAAa;AAC5B,OAAOC,QAAQ,MAAM,gBAAgB;AAErC,SAAQC,IAAI,QAAO,kCAAkC;AACrD,SAAQC,gBAAgB,QAAO,gDAAgD;AAC/E,SACIC,WAAW,EAGXC,UAAU,EAEVC,UAAU,QACP,sCAAsC;AAC7C,OAAOC,MAAM,MAAM,2BAA2B;AAE9C,SAAQC,kBAAkB,EAAEC,WAAW,QAAO,oCAAoC;AAClF,SACIC,0BAA0B,EAC1BC,yBAAyB,QACtB,yEAAyE;AAChF,SACIC,mBAAmB,EACnBC,+BAA+B,QAC5B,iDAAiD;AAKxD,SAAQC,8BAA8B,QAAO,2EAA2E;AAExH,SACIC,gBAAgB,EAChBC,uBAAuB,EACvBC,YAAY,EACZC,2BAA2B,EAC3BC,oBAAoB,EACpBC,eAAe,EACfC,qBAAqB,EACrBC,mBAAmB,EACnBC,oBAAoB,QACjB,oEAAoE;AAC3E,OAAOC,SAAS,IAAGC,YAAY,QAAO,uBAAuB;AAC7D,SAAQC,QAAQ,QAAO,yBAAyB;AAChD,SAAQC,OAAO,QAAO,oBAAoB;AAE1C,OAAO,0BAA2B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAGnC,IAAMC,KAAK,GAAGhC,EAAE,CAAC,eAAe,CAAC;AAoCjC,OAAO,SAASiC,kBAAkBA,CAAA,EAAG;EAAA,IAAAC,qBAAA;EACjC,IAAAC,YAAA,GAMIpC,WAAW,CAACe,8BAA8B,CAAC;IAL3CsB,aAAa,GAAAD,YAAA,CAAbC,aAAa;IACbC,UAAU,GAAAF,YAAA,CAAVE,UAAU;IACVC,UAAU,GAAAH,YAAA,CAAVG,UAAU;IACVC,IAAI,GAAAJ,YAAA,CAAJI,IAAI;IACkBC,UAAU,GAAAL,YAAA,CAAhCM,oBAAoB;EAGxB,IAAMC,eAAe,GAAG3C,WAAW,CAACS,kBAAkB,CAAC;EAEvD,IAAAmC,aAAA,GAA6C5C,WAAW,CAACa,mBAAmB,CAAC;IAAvDgC,mBAAmB,GAAAD,aAAA,CAAlCE,aAAa;EAEpB,IAAMC,sBAAsB,GAAGR,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAES,+BAA+B;EAC1E,IAAMC,sBAAsB,GAAG,CAAAV,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEW,wBAAwB,KAAI,KAAK;EAE5E,IAAAC,gBAAA,GAAkC9B,eAAe,CAACmB,IAAI,EAAE,cAAc,CAAC;IAAzDY,gBAAgB,GAAAD,gBAAA,CAAvBE,KAAK;EACZ,IAAAC,iBAAA,GAAyCjC,eAAe,CAACmB,IAAI,EAAE,sBAAsB,CAAC;IAAxEe,uBAAuB,GAAAD,iBAAA,CAA9BD,KAAK;EAEZ,IAAMG,eAAe,GAAGxD,WAAW,CAACc,+BAA+B,CAAC;EACpE,IAAM2C,gBAAgB,GAAGD,eAAe,CAACE,GAAG,CAACpB,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAI,EAAE,CAAC;EAC9D,IAAMqB,SAAS,GAAG3D,WAAW,CAACU,WAAW,CAAC;EAE1C,IAAMkD,aAAoD,GAAI,YAAM;IAChE,IAAI,CAACX,sBAAsB,EAAE;MACzB,OAAO7B,oBAAoB,CAACoB,IAAI,CAAC;IACrC;IACA,IAAI,CAACO,sBAAsB,EAAE;MACzB,OAAO,CAAC,CAAC;IACb;IACA,OAAO3B,oBAAoB,CAACoB,IAAI,EAAEO,sBAAsB,CAAC;EAC7D,CAAC,CAAE,CAAC;EAEJ,IAAAc,IAAA,GAAmE,YAAM;MACrE,IAAI,CAAChB,mBAAmB,EAAE;QACtB,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;MACvB;MACA,IAAOiB,eAAe,GAAqCjB,mBAAmB,CAAvEiB,eAAe;QAAEC,iBAAiB,GAAkBlB,mBAAmB,CAAtDkB,iBAAiB;QAAEC,YAAY,GAAInB,mBAAmB,CAAnCmB,YAAY;MAEvD,OAAO,CACH/C,uBAAuB,CAAC6C,eAAe,CAAC,EACxC7C,uBAAuB,CAAC8C,iBAAiB,CAAC,EAC1CC,YAAY,GAAAC,kBAAA,CAAOC,MAAM,CAACC,MAAM,CAACH,YAAY,CAAC,IAAI,EAAE,CACvD;IACL,CAAC,CAAE,CAAC;IAAAI,KAAA,GAAAC,cAAA,CAAAR,IAAA;IAXGS,iBAAiB,GAAAF,KAAA;IAAEG,kBAAkB,GAAAH,KAAA;IAAEI,gBAAgB,GAAAJ,KAAA;EAa9D,IAAMK,iBAA4E,GAAG;IACjFC,IAAI,EAAE,SAAS;IACfC,KAAK,EAAE,SAAS;IAChBC,IAAI,EAAE,cAAc;IACpBC,IAAI,EAAE,GAAG;IACTC,MAAM,KAAAC,MAAA,CAAAd,kBAAA,CACE,CAACvC,YAAY,CAAC,CAAC,GACb,EAAE,GACF,CACI;MACIgD,IAAI,EAAE,KAAK;MACXE,IAAI,EAAE,aAAsB;MAC5BI,OAAO,EAAE,aAAa;MACtBC,MAAM,EAAE;QACJC,WAAW,EAAE,uBAAuB;QACpCC,QAAQ,EAAE,CAACxB;MACf;IACJ,CAAC,CACJ,IACP;MACIe,IAAI,EAAE,mBAAmB;MACzBE,IAAI,EAAE,+BAA+B;MACrCI,OAAO,EAAE,mBAAmB;MAC5BC,MAAM,EAAE;QACJG,gBAAgB,EAAE,IAAI;QACtBD,QAAQ,EAAE,CAACxB;MACf;IACJ,CAAC,EACD;MACIe,IAAI,EAAE,kBAAkB;MACxBE,IAAI,EAAE,+BAA+B;MACrCI,OAAO,EAAE,kBAAkB;MAC3BC,MAAM,EAAE;QACJG,gBAAgB,EAAE,IAAI;QACtBD,QAAQ,EAAE,CAACxB;MACf;IACJ,CAAC;EAET,CAAC;EAED,IAAM0B,iBAA4E,GAAG;IACjFX,IAAI,EAAE,WAAW;IACjBC,KAAK,EAAE,WAAW;IAClBC,IAAI,EAAE,cAAc;IACpBC,IAAI,EAAE,GAAG;IACTC,MAAM,GACF;MACIJ,IAAI,EAAE,MAAM;MACZE,IAAI,EAAE,OAAO;MACbU,SAAS,EAAE,IAAI;MACfC,OAAO,EAAE,IAAI;MACbN,MAAM,EAAE;QACJO,QAAQ,eACJxD,KAAA,CAAC7B,IAAI;UAACsF,SAAS,EAAExD,KAAK,CAAC,MAAM,CAAE;UAAAuD,QAAA,GAC1B/D,SAAS,CAACiE,iCAAiC,CAAC;YACzCnD,UAAU,EAAVA,UAAU;YACVI,eAAe,EAAfA;UACJ,CAAC,CAAC,eACFb,IAAA,CAAC1B,gBAAgB;YACbqF,SAAS,EAAExD,KAAK,CAAC,QAAQ,CAAE;YAC3B0D,MAAM,EAAE,CACJ;cACIhB,KAAK,EAAE,QAAQ;cACfiB,KAAK,EAAEpF,MAAM,CAACqF,MAAM,CAAC,OAAO,CAAC,CACzB,CAAApD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEqD,cAAc,CAACC,MAAM,KAAI,GACzC;YACJ,CAAC,EACD;cACIpB,KAAK,EAAE,MAAM;cACbiB,KAAK,EAAEpF,MAAM,CAACqF,MAAM,CAAC,QAAQ,CAAC,CAC1B,CAAApD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEqD,cAAc,CAACE,IAAI,KAAI,GACvC;YACJ,CAAC,EACD;cACIrB,KAAK,EAAE,cAAc;cACrBiB,KAAK,EAAEpF,MAAM,CAACqF,MAAM,CAACI,MAAM,EAAA9D,qBAAA,GACvByB,aAAa,CAACsC,SAAS,cAAA/D,qBAAA,uBAAvBA,qBAAA,CAAyBgE,YAC7B;YACJ,CAAC;UACH,CACL,CAAC;QAAA,CACA;MAEd;IACJ,CAAC,EAAApB,MAAA,CAAAd,kBAAA,CACG,CAACR,gBAAgB,GACf,EAAE,GACF,CACI;MACIiB,IAAI,EAAE,cAAc;MACpBE,IAAI,EAAE,cAAc;MACpBI,OAAO,EAAE,cAAc;MACvBC,MAAM,EAAE;QACJY,MAAM,EAAE,QAAQ;QAChBO,kBAAkB,EAAE,IAAI;QACxBC,QAAQ,EAAE;UACNhD,KAAK,EAAED;QACX;MACJ,CAAC;MACDkD,SAAS,EAAE9E;IACf,CAAC,CACJ,IACP;MAAC+E,OAAO,EAAE;IAAW,CAAC,EACtB;MACI3B,IAAI,EAAE,cAAc;MACpBF,IAAI,EAAE,iBAAiB;MACvBM,OAAO,EAAE,iBAAiB;MAC1BC,MAAM,EAAE;QACJY,MAAM,EAAE,QAAQ;QAChBO,kBAAkB,EAAE,IAAI;QACxBI,QAAQ,EAAE;MACd,CAAC;MACDC,OAAO,EAAE7E,OAAO,CAACD,QAAQ,CAACF,SAAS,CAACiF,QAAQ,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC,CAAC;MACjFJ,SAAS,EAAEhF,qBAAqB,CAACkD,gBAAgB;IACrD,CAAC,EACD;MACII,IAAI,EAAE,oBAAoB;MAC1BF,IAAI,EAAE,8BAA8B;MACpCM,OAAO,EAAE,wBAAwB;MACjCM,SAAS,EAAE,IAAI;MACfL,MAAM,EAAE;QACJzC,IAAI,EAAE8B;MACV;IACJ,CAAC,EACD;MAACiC,OAAO,EAAE;IAAa,CAAC,EACxB;MACI3B,IAAI,EAAE,cAAc;MACpBF,IAAI,EAAE,mBAAmB;MACzBM,OAAO,EAAE,mBAAmB;MAC5BC,MAAM,EAAE;QACJY,MAAM,EAAE,QAAQ;QAChBO,kBAAkB,EAAE,IAAI;QACxBI,QAAQ,EAAE;MACd,CAAC;MACDC,OAAO,EAAE7E,OAAO,CAACD,QAAQ,CAACF,SAAS,CAACiF,QAAQ,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC,CAAC;MACjFJ,SAAS,EAAEhF,qBAAqB,CAACkD,gBAAgB;IACrD,CAAC,EACD;MACII,IAAI,EAAE,oBAAoB;MAC1BF,IAAI,EAAE,gCAAgC;MACtCM,OAAO,EAAE,wBAAwB;MACjCM,SAAS,EAAE,IAAI;MACfL,MAAM,EAAE,SAAAA,OAAUd,MAAM,EAAAwC,KAAA,EAAU;QAAA,IAAPC,IAAI,GAAAD,KAAA,CAAJC,IAAI;QAC3B,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIjB,KAA8B,EAAK;UACrD,IAAMkB,qBAAqB,GAAGlB,KAAK,CAAChB,IAAI,IAAI,EAAE;UAE9C,IAAMmC,aAAa,GACf,CAAAlE,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAEkB,iBAAiB,CAAC+C,qBAAqB,CAAC,CACxDE,cAAc,CAACC,aAAa,KAAI,CAAC,CAAC;UAC3C,IAAMC,iBAAiB,GACnB,CAAArE,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAEkB,iBAAiB,CAAC+C,qBAAqB,CAAC,CACxDE,cAAc,CAACG,UAAU,KAAI,CAAC,CAAC;UAExC,IAAMC,YAAY,GAAGjG,2BAA2B,CAC5CgD,MAAM,CAAC8C,aAAa,EACpBF,aAAa,EACb,eACJ,CAAC;UACD,IAAMM,gBAAgB,GAAGlG,2BAA2B,CAChDgD,MAAM,CAACgD,UAAU,EACjBD,iBAAiB,EACjB,YACJ,CAAC;UAEDN,IAAI,CAACU,MAAM,CAAC,eAAe,EAAAC,aAAA,CAAAA,aAAA,KACpBvG,gBAAgB,CAACwG,QAAQ,CAACP,aAAa,GACvCG,YAAY,CAClB,CAAC;UACFR,IAAI,CAACU,MAAM,CAAC,YAAY,EAAAC,aAAA,CAAAA,aAAA,KACjBvG,gBAAgB,CAACwG,QAAQ,CAACL,UAAU,GACpCE,gBAAgB,CACtB,CAAC;QACN,CAAC;QAED,OAAO;UACH7E,IAAI,EAAE+B,kBAAkB;UACxBsC,YAAY,EAAZA;QACJ,CAAC;MACL;IACJ,CAAC;EAET,CAAC;EAED,IAAMY,uBAAkF,GAAG;IACvF/C,IAAI,EAAE,WAAW;IACjBC,KAAK,EAAE,WAAW;IAClBC,IAAI,EAAE,cAAc;IACpBC,IAAI,EAAE,GAAG;IACTC,MAAM,EAAE,CACJ;MACIJ,IAAI,EAAE,cAAc;MACpBE,IAAI,EAAE,cAAc;MACpBI,OAAO,EAAE,cAAc;MACvBC,MAAM,EAAE;QACJY,MAAM,EAAE,QAAQ;QAChBO,kBAAkB,EAAE,IAAI;QACxBC,QAAQ,EAAE;UACNhD,KAAK,EAAED;QACX;MACJ,CAAC;MACDkD,SAAS,EAAE9E;IACf,CAAC,EACD;MACIkD,IAAI,EAAE,sBAAsB;MAC5BE,IAAI,EAAE,cAAc;MACpBI,OAAO,EAAE,sBAAsB;MAC/BC,MAAM,EAAE;QACJY,MAAM,EAAE,OAAO;QACfQ,QAAQ,EAAE;UACNhD,KAAK,EAAEE;QACX;MACJ,CAAC;MACD+C,SAAS,EAAE9E,oBAAoB;MAC/BiF,OAAO,eACH3E,IAAA;QAAA0D,QAAA,EAAM;MAMN,CAAM;IAEd,CAAC;EAET,CAAC;EAED,IAAMkC,eAA0E,GAAG;IAC/EhD,IAAI,EAAE,eAAe;IACrBC,KAAK,EAAE,QAAQ;IACfC,IAAI,EAAE,cAAc;IACpBC,IAAI,EAAE,GAAG;IACT8C,mBAAmB,EAAE;MACjBC,IAAI,EAAE,0CAA0C;MAChDC,QAAQ,EAAE,SAAAA,SAACC,CAAC;QAAA,OAAK,OAAOA,CAAC,KAAK,WAAW;MAAA;IAC7C,CAAC;IACDhD,MAAM,EAAE,CACJ;MACIJ,IAAI,EAAE,cAAc;MACpBE,IAAI,EAAE,cAAc;MACpBI,OAAO,EAAE,QAAQ;MACjBO,OAAO,EAAE,IAAI;MACbN,MAAM,EAAE,SAAAA,OAAC8C,SAAS,EAAAC,KAAA,EAAa;QAAA,IAAAC,oBAAA;QAAA,IAAVrB,IAAI,GAAAoB,KAAA,CAAJpB,IAAI;QACrB,IAAMsB,8BAA8B,IAAAD,oBAAA,GAChCF,SAAS,CAAC7B,SAAS,cAAA+B,oBAAA,uBAAnBA,oBAAA,CAAqBC,8BAA8B;QAEvD,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;UAClB,IACI,CAACD,8BAA8B,IAC/B,CAACA,8BAA8B,CAACtD,IAAI,IACpC,CAAC/B,mBAAmB,EACtB;YACE;UACJ;UACA,IAAM+B,IAAI,GAAGsD,8BAA8B,CAACtD,IAAI;UAChD,IAAOb,iBAAiB,GAAIlB,mBAAmB,CAAxCkB,iBAAiB;UACxB,IAAOkD,aAAa,GAAIlD,iBAAiB,CAACa,IAAI,CAAC,CAACoC,cAAc,CAAvDC,aAAa;UAEpBL,IAAI,CAACU,MAAM,CAAC,eAAe,EAAAC,aAAA,CAAAA,aAAA,KACpBvG,gBAAgB,CAACwG,QAAQ,CAACP,aAAa,GACvCA,aAAa,CACnB,CAAC;QACN,CAAC;QAED,IAAI,CAACiB,8BAA8B,EAAE;UACjC,OAAO;YACHvC,MAAM,EAAE,EAAE;YACVwC,OAAO,EAAPA;UACJ,CAAC;QACL;QACA,IAAOpC,MAAM,GAAImC,8BAA8B,CAAxCnC,MAAM;QAEb,IAAMqC,IAAI,GAAGpH,gBAAgB,CAACqH,IAAI,CAACpB,aAAa,CAACqB,MAAM,CAAC,UAACC,GAAG,EAAEC,CAAC,EAAK;UAAA,IAAAC,qBAAA;UAChE,IAAMX,CAAC,GAAGC,SAAS,aAATA,SAAS,gBAAAU,qBAAA,GAATV,SAAS,CAAEd,aAAa,cAAAwB,qBAAA,uBAAxBA,qBAAA,CAA2BD,CAAC,CAAC;UACvC,OAAO,OAAOV,CAAC,KAAK,QAAQ,IAAIY,KAAK,CAACZ,CAAC,CAAC,GAAGS,GAAG,GAAGA,GAAG,GAAGT,CAAC;QAC5D,CAAC,EAAE,CAAC,CAAC;QAEL,OAAO;UACHnC,MAAM,EAAEzE,YAAY,CAAC,OAAO,EAAE6E,MAAM,EAAEqC,IAAI,CAAC;UAC3CD,OAAO,EAAPA;QACJ,CAAC;MACL;IACJ,CAAC,EACD;MACIzD,IAAI,EAAE,UAAU;MAChBE,IAAI,EAAE,cAAc;MACpBI,OAAO,EAAE,UAAU;MACnBC,MAAM,EAAE;QACJY,MAAM,EAAE,OAAO;QACfV,QAAQ,EAAE;MACd,CAAC;MACDsB,OAAO,EAAE7E,OAAO,CACZD,QAAQ,CAACF,SAAS,CAACiF,QAAQ,CAAC,mCAAmC,CAAC,EAAE,MAAM,CAC5E;IACJ,CAAC,EACD;MACIhC,IAAI,EAAE,eAAe;MACrBE,IAAI,EAAE,cAAc;MACpBI,OAAO,EAAE,eAAe;MACxBC,MAAM,EAAE;QACJY,MAAM,EAAE,OAAO;QACfW,QAAQ,EAAE;MACd,CAAC;MACDF,SAAS,EAAE9E;IACf,CAAC,EACD;MACIkD,IAAI,EAAE,gBAAgB;MACtBE,IAAI,EAAE,cAAc;MACpBI,OAAO,EAAE,gBAAgB;MACzBC,MAAM,EAAE;QACJY,MAAM,EAAE,OAAO;QACfW,QAAQ,EAAE;MACd,CAAC;MACDF,SAAS,EAAE9E;IACf,CAAC,EACD;MACIkD,IAAI,EAAE,wBAAwB;MAC9BE,IAAI,EAAE,cAAc;MACpBI,OAAO,EAAE,wBAAwB;MACjCC,MAAM,EAAE;QACJY,MAAM,EAAE,OAAO;QACfW,QAAQ,EAAE;MACd,CAAC;MACDF,SAAS,EAAE9E;IACf,CAAC,EACD;MACIkD,IAAI,EAAE,0BAA0B;MAChCE,IAAI,EAAE,cAAc;MACpBI,OAAO,EAAE,0BAA0B;MACnCC,MAAM,EAAE;QACJY,MAAM,EAAE,OAAO;QACfW,QAAQ,EAAE;MACd,CAAC;MACDF,SAAS,EAAE9E;IACf,CAAC,EACD;MACIkD,IAAI,EAAE,sBAAsB;MAC5BE,IAAI,EAAE,cAAc;MACpBI,OAAO,EAAE,sBAAsB;MAC/BC,MAAM,EAAE;QACJY,MAAM,EAAE,OAAO;QACfW,QAAQ,EAAE;MACd,CAAC;MACDF,SAAS,EAAE9E;IACf,CAAC,EACD;MACIkD,IAAI,EAAE,kBAAkB;MACxBE,IAAI,EAAE,cAAc;MACpBI,OAAO,EAAE,kBAAkB;MAC3BC,MAAM,EAAE;QACJY,MAAM,EAAE,OAAO;QACfW,QAAQ,EAAE;MACd,CAAC;MACDF,SAAS,EAAE9E;IACf,CAAC,EACD;MACIkD,IAAI,EAAE,wBAAwB;MAC9BE,IAAI,EAAE,cAAc;MACpBI,OAAO,EAAE,wBAAwB;MACjCC,MAAM,EAAE;QACJY,MAAM,EAAE,OAAO;QACfW,QAAQ,EAAE;MACd,CAAC;MACDF,SAAS,EAAE9E;IACf,CAAC;EAET,CAAC;EAED,IAAMmH,mBAA8E,GAAG;IACnFjE,IAAI,EAAE,YAAY;IAClBC,KAAK,EAAE,cAAc;IACrBC,IAAI,EAAE,cAAc;IACpBC,IAAI,EAAE,GAAG;IACT8C,mBAAmB,EAAE;MACjBC,IAAI,EAAE,0CAA0C;MAChDC,QAAQ,EAAE,SAAAA,SAACC,CAAC;QAAA,OAAK,OAAOA,CAAC,KAAK,WAAW;MAAA;IAC7C,CAAC;IACDhD,MAAM,EAAE,CACJ;MACIJ,IAAI,EAAE,kBAAkB;MACxBE,IAAI,EAAE,cAAc;MACpBI,OAAO,EAAE,MAAM;MACfC,MAAM,EAAE,SAAAA,OAAC8C,SAAS,EAAAa,KAAA,EAAa;QAAA,IAAAC,qBAAA;QAAA,IAAVjC,IAAI,GAAAgC,KAAA,CAAJhC,IAAI;QACrB,IAAMsB,8BAA8B,IAAAW,qBAAA,GAChCd,SAAS,CAAC7B,SAAS,cAAA2C,qBAAA,uBAAnBA,qBAAA,CAAqBX,8BAA8B;QAEvD,IACI,CAACA,8BAA8B,IAC/B,CAACA,8BAA8B,CAACtD,IAAI,IACpC,CAAC/B,mBAAmB,EACtB;UACE,OAAO;YACH8C,MAAM,EAAE,EAAE;YACVwC,OAAO,EAAE,SAAAA,QAAA,EAAM,CAAC;UACpB,CAAC;QACL;QAEA,IAAMA,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;UAClB,IAAMvD,IAAI,GAAGsD,8BAA8B,CAACtD,IAAI;UAChD,IAAI,CAACA,IAAI,EAAE;YACP;UACJ;UAEA,IAAOb,iBAAiB,GAAIlB,mBAAmB,CAAxCkB,iBAAiB;UACxB,IAAOoD,UAAU,GAAIpD,iBAAiB,CAACa,IAAI,CAAC,CAACoC,cAAc,CAApDG,UAAU;UAEjBP,IAAI,CAACU,MAAM,CAAC,YAAY,EAAAC,aAAA,CAAAA,aAAA,KACjBvG,gBAAgB,CAACwG,QAAQ,CAACL,UAAU,GACpCA,UAAU,CAChB,CAAC;QACN,CAAC;QAED,IAAOnB,IAAI,GAAIkC,8BAA8B,CAAtClC,IAAI;QAEX,OAAO;UACHL,MAAM,EAAEzE,YAAY,CAAC,QAAQ,EAAE8E,IAAI,CAAC;UACpCmC,OAAO,EAAPA;QACJ,CAAC;MACL;IACJ,CAAC,EACD;MACIzD,IAAI,EAAE,yBAAyB;MAC/BE,IAAI,EAAE,cAAc;MACpBI,OAAO,EAAE,yBAAyB;MAClCC,MAAM,EAAE;QACJ6D,OAAO,EAAE,SAAS;QAClBjD,MAAM,EAAE,QAAQ;QAChBW,QAAQ,EAAE;MACd,CAAC;MACDF,SAAS,EAAE9E;IACf,CAAC,EACD;MACIkD,IAAI,EAAE,wBAAwB;MAC9BE,IAAI,EAAE,cAAc;MACpBI,OAAO,EAAE,wBAAwB;MACjCC,MAAM,EAAE;QACJ6D,OAAO,EAAE,SAAS;QAClBjD,MAAM,EAAE,QAAQ;QAChBW,QAAQ,EAAE;MACd,CAAC;MACDF,SAAS,EAAE9E;IACf,CAAC,EACD;MACIkD,IAAI,EAAE,wBAAwB;MAC9BE,IAAI,EAAE,cAAc;MACpBI,OAAO,EAAE,wBAAwB;MACjCC,MAAM,EAAE;QACJ6D,OAAO,EAAE,SAAS;QAClBjD,MAAM,EAAE,QAAQ;QAChBW,QAAQ,EAAE;MACd,CAAC;MACDF,SAAS,EAAE9E;IACf,CAAC;EAET,CAAC;EAED,IAAMsD,MAAM,GAAG,CAACL,iBAAiB,CAAC;EAClC,IAAIxB,sBAAsB,EAAE;IACxB6B,MAAM,CAACiE,IAAI,CAAC1D,iBAAiB,EAAEqC,eAAe,EAAEiB,mBAAmB,CAAC;EACxE,CAAC,MAAM;IACH7D,MAAM,CAACiE,IAAI,CAACtB,uBAAuB,CAAC;EACxC;EAEA,IAAMuB,QAAQ,GAAGjJ,WAAW,CAAC,CAAC;EAC9B,IAAMkJ,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;IAClBD,QAAQ,CAACrI,0BAA0B,CAAC,CAAC,CAAC;EAC1C,CAAC;EAED,IAAMuI,QAAQ;IAAA,IAAAC,KAAA,GAAAC,iBAAA,eAAAC,mBAAA,CAAAC,IAAA,CAAG,SAAAC,QAAO3C,IAA2C;MAAA,IAAA4C,YAAA;MAAA,OAAAH,mBAAA,CAAAI,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAA,IAC1DvH,UAAU;cAAAqH,QAAA,CAAAE,IAAA;cAAA;YAAA;YAAA,OAAAF,QAAA,CAAAG,MAAA,WACJ,CAAC,CAAC;UAAA;YAGPN,YAAY,GAAGjI,mBAAmB,CAACqF,IAAI,CAAC;YAAA+C,QAAA,CAAAC,IAAA;YAAAD,QAAA,CAAAE,IAAA;YAAA,OAGpCb,QAAQ,CACVpI,yBAAyB,CAAC;cACtB0B,UAAU,EAAVA,UAAU;cACVE,IAAI,EAAEgH;YACV,CAAC,CACL,CAAC;UAAA;YAAA,OAAAG,QAAA,CAAAG,MAAA,WACMC,SAAS;UAAA;YAAAJ,QAAA,CAAAC,IAAA;YAAAD,QAAA,CAAAK,EAAA,GAAAL,QAAA;YAAA,OAAAA,QAAA,CAAAG,MAAA,WAET;cACHG,gBAAgB,EAAAC,eAAA,KACX5J,UAAU,eAAGwB,IAAA,CAACzB,WAAW;gBAAC8J,KAAK,EAAAR,QAAA,CAAAK;cAAQ,CAAE,CAAC;YAEnD,CAAC;UAAA;UAAA;YAAA,OAAAL,QAAA,CAAAS,IAAA;QAAA;MAAA,GAAAb,OAAA;IAAA,CAER;IAAA,gBAtBKL,QAAQA,CAAAmB,EAAA;MAAA,OAAAlB,KAAA,CAAAmB,KAAA,OAAAC,SAAA;IAAA;EAAA,GAsBb;EAED,IAAIrK,QAAQ,CAACsC,IAAI,CAAC,EAAE;IAChB,OAAO,IAAI;EACf;EAEA,oBACIV,IAAA,CAACvB,UAAU;IACPkF,SAAS,EAAExD,KAAK,CAAC,QAAQ,CAAE;IAC3BuI,WAAW,EAAE;MACT7F,KAAK,EAAErC;IACX,CAAE;IACFuC,IAAI,EAAC,GAAG;IACRjB,aAAa,EAAEA,aAAc;IAC7B6G,OAAO,EAAEpI,aAAc;IACvBqI,KAAK,EAAExB,QAAS;IAChBD,OAAO,EAAEA,OAAQ;IACjBnE,MAAM,EAAEA,MAAO;IACf6F,QAAQ,EAAEC,kBAAkB,CAACC,IAAI,CAAC,IAAI,EAAEpI,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEqD,cAAc;EAAE,CACvE,CAAC;AAEV;AAEA,SAAS8E,kBAAkBA,CACvBE,KAAuC,EACvC3G,MAAoC,EACtC;EAAA,IAAA4G,kBAAA,EAAAC,gBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,mBAAA,EAAAC,sBAAA,EAAAC,sBAAA;EACE,IAAMC,GAC2D,GAAG;IAChEpF,SAAS,EAAE;MAACqF,IAAI,EAAE;IAAE,CAAC;IACrBtE,aAAa,EAAE;MAACuE,YAAY,EAAE;IAAE;EACpC,CAAC;EAED,IAAOtF,SAAS,GAAI/B,MAAM,CAAnB+B,SAAS;EAEhB,IAAMuF,eAAe,GAAGvH,MAAM,CAACC,MAAM,CAACA,MAAM,CAAC8C,aAAa,IAAI,CAAC,CAAC,CAAC,CAACqB,MAAM,CACpE,UAACoD,GAAW,EAAE5D,CAAmB,EAAK;IAClC,IAAI,OAAOA,CAAC,KAAK,QAAQ,EAAE;MACvB,OAAO4D,GAAG;IACd;IACA,OAAOA,GAAG,GAAG5D,CAAC;EAClB,CAAC,EACD,CACJ,CAAC;EAED,IAAM6D,UAAU,GAAGzF,SAAS,CAACgC,8BAA8B;EAC3DoD,GAAG,CAACrE,aAAa,CAACuE,YAAY,GAC1BC,eAAe,KAAAV,kBAAA,GAAIY,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE5F,MAAM,cAAAgF,kBAAA,cAAAA,kBAAA,GAAI,CAAC,CAAC,GACrC,yDAAyD,GACzD,EAAE;EAEZ,IAAAa,qBAAA,GAAqD1F,SAAS,CAAvD2F,eAAe;IAAfA,eAAe,GAAAD,qBAAA,cAAG,CAAC,GAAAA,qBAAA;IAAAE,qBAAA,GAA2B5F,SAAS,CAAlC6F,iBAAiB;IAAjBA,iBAAiB,GAAAD,qBAAA,cAAG,CAAC,GAAAA,qBAAA;EAEjD,IAAME,WAAW,GACb,EAAAhB,gBAAA,GAACW,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE3F,IAAI,cAAAgF,gBAAA,cAAAA,gBAAA,GAAI,CAAC,IAAIe,iBAAiB,GAC3C,EAAAd,sBAAA,IAAAC,sBAAA,GAAChF,SAAS,CAAC+F,4BAA4B,cAAAf,sBAAA,uBAAtCA,sBAAA,CAAwClF,IAAI,cAAAiF,sBAAA,cAAAA,sBAAA,GAAI,CAAC,IAAIY,eAAe;EAEzE,IAAMK,iBAAiB,GAAG,EAAE;EAE5B,IAAIF,WAAW,IAAGlB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE9E,IAAI,CAAC,EAAE;IAC5BkG,iBAAiB,CAACnD,IAAI,IAAAhE,MAAA,CAAIvE,MAAM,CAACqF,MAAM,CAACI,MAAM,CAAC+F,WAAW,GAAG,IAAI,CAAC,kBAAe,CAAC;EACtF;EAEA,IAAMG,cAAc,GAChB,EAAAhB,mBAAA,GAACQ,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE5F,MAAM,cAAAoF,mBAAA,cAAAA,mBAAA,GAAI,CAAC,IAAIY,iBAAiB,GAC7C,EAAAX,sBAAA,IAAAC,sBAAA,GAACnF,SAAS,CAAC+F,4BAA4B,cAAAZ,sBAAA,uBAAtCA,sBAAA,CAAwCtF,MAAM,cAAAqF,sBAAA,cAAAA,sBAAA,GAAI,CAAC,IAAIS,eAAe;EAE3E,IAAIM,cAAc,IAAGrB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE/E,MAAM,CAAC,EAAE;IACjCmG,iBAAiB,CAACnD,IAAI,IAAAhE,MAAA,CAAIvE,MAAM,CAACqF,MAAM,CAACuG,KAAK,CAACD,cAAc,CAAC,qBAAkB,CAAC;EACpF;EAEAb,GAAG,CAACpF,SAAS,CAACqF,IAAI,GAAGW,iBAAiB,CAACG,MAAM,GAAGH,iBAAiB,CAACI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;EAEjF,OAAOhB,GAAG;AACd"}
|
1
|
+
{"version":3,"names":["React","useDispatch","useSelector","cn","isEmpty_","Info","BundleParamsList","DialogError","FORM_ERROR","YTDFDialog","hammer","getClusterUiConfig","isDeveloper","hideTabletCellBundleEditor","setBundleEditorController","getBundleEditorData","getTabletBundlesWriteableByName","getTabletCellBundleEditorState","bundleEditorDict","createConfigurationList","createParams","getBundleControllerResource","getInitialFormValues","getResourceData","instanceCountValidate","prepareSubmitBundle","simpleBundleValidate","UIFactory","isAbcAllowed","makeLink","docsUrl","jsx","_jsx","jsxs","_jsxs","block","BundleEditorDialog","_initialValues$resour","_useSelector","visibleEditor","bundleName","bundleData","data","orchidData","bundleControllerData","clusterUiConfig","_useSelector2","bundleDefaultConfig","defaultConfig","bundleControllerConfig","bundle_controller_target_config","enableBundleController","enable_bundle_controller","_getResourceData","tabletCountUsage","usage","_getResourceData2","tabletStaticMemoryUsage","writeableByName","allowTabletCount","get","allowEdit","initialValues","_ref","rpc_proxy_sizes","tablet_node_sizes","data_centers","_toConsumableArray","Object","values","_ref2","_slicedToArray","rpcConfigurations","nodeConfigurations","dcConfigurations","renderGeneralTabs","name","title","type","size","fields","concat","caption","extras","placeholder","disabled","allowRootAccount","renderResourceTab","fullWidth","touched","children","className","renderTableCellBundleEditorNotice","params","value","format","resource_quota","memory","vcpu","Number","resources","tablet_count","withoutDetailedBar","progress","validator","section","hasClear","tooltip","docsUrls","_ref3","form","onRadioClick","nodeConfigurationType","defaultMemory","default_config","memory_limits","defaultThreadPool","cpu_limits","resultMemory","resultThreadPool","change","_objectSpread","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","renderThreadPoolTab","_ref5","_allValues$resources2","postfix","push","dispatch","onClose","onSubmit","_ref6","_asyncToGenerator","_regeneratorRuntime","mark","_callee","preparedData","wrap","_callee$","_context","prev","next","abrupt","undefined","t0","validationErrors","_defineProperty","error","stop","_x","apply","arguments","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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"}
|
@@ -44,7 +44,7 @@
|
|
44
44
|
"js": [
|
45
45
|
"js/runtime.455ab07a.js",
|
46
46
|
"js/vendors.61189af5.js",
|
47
|
-
"js/main.
|
47
|
+
"js/main.0a1bcc77.js"
|
48
48
|
],
|
49
49
|
"css": [
|
50
50
|
"css/main.7bb2aff3.css"
|
@@ -324,8 +324,8 @@
|
|
324
324
|
"js/9835.6980887f.chunk.js": "js/9835.6980887f.chunk.js",
|
325
325
|
"js/9835.6980887f.chunk.js.LICENSE.txt": "js/9835.6980887f.chunk.js.LICENSE.txt",
|
326
326
|
"js/9835.6980887f.chunk.js.map": "js/9835.6980887f.chunk.js.map",
|
327
|
-
"js/main.
|
328
|
-
"js/main.
|
327
|
+
"js/main.0a1bcc77.js.LICENSE.txt": "js/main.0a1bcc77.js.LICENSE.txt",
|
328
|
+
"js/main.0a1bcc77.js.map": "js/main.0a1bcc77.js.map",
|
329
329
|
"js/runtime.455ab07a.js.map": "js/runtime.455ab07a.js.map",
|
330
330
|
"js/vendors.61189af5.js.LICENSE.txt": "js/vendors.61189af5.js.LICENSE.txt",
|
331
331
|
"js/vendors.61189af5.js.map": "js/vendors.61189af5.js.map",
|
@@ -335,7 +335,7 @@
|
|
335
335
|
"json.5239aa2e.worker.js.LICENSE.txt": "json.5239aa2e.worker.js.LICENSE.txt",
|
336
336
|
"json.5239aa2e.worker.js.map": "json.5239aa2e.worker.js.map",
|
337
337
|
"main.css": "css/main.7bb2aff3.css",
|
338
|
-
"main.js": "js/main.
|
338
|
+
"main.js": "js/main.0a1bcc77.js",
|
339
339
|
"runtime.js": "js/runtime.455ab07a.js",
|
340
340
|
"vendors.js": "js/vendors.61189af5.js",
|
341
341
|
"vis-network.js": "js/vis-network.00577eed.chunk.js"
|