@ytsaurus/ui 1.12.1 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/build/cjs/@types/core.d.ts +38 -0
  2. package/build/cjs/server/components/layout-config.js +6 -1
  3. package/build/cjs/server/components/layout-config.js.map +1 -1
  4. package/build/cjs/server/components/oauth.d.ts +26 -0
  5. package/build/cjs/server/components/oauth.js +123 -0
  6. package/build/cjs/server/components/oauth.js.map +1 -0
  7. package/build/cjs/server/components/yt-auth.d.ts +6 -0
  8. package/build/cjs/server/components/yt-auth.js +23 -0
  9. package/build/cjs/server/components/yt-auth.js.map +1 -0
  10. package/build/cjs/server/controllers/login.d.ts +0 -1
  11. package/build/cjs/server/controllers/login.js +4 -26
  12. package/build/cjs/server/controllers/login.js.map +1 -1
  13. package/build/cjs/server/controllers/logout.d.ts +2 -0
  14. package/build/cjs/server/controllers/logout.js +15 -0
  15. package/build/cjs/server/controllers/logout.js.map +1 -0
  16. package/build/cjs/server/controllers/oauth-login.d.ts +4 -0
  17. package/build/cjs/server/controllers/oauth-login.js +30 -0
  18. package/build/cjs/server/controllers/oauth-login.js.map +1 -0
  19. package/build/cjs/server/index.js +9 -1
  20. package/build/cjs/server/index.js.map +1 -1
  21. package/build/cjs/server/middlewares/authorization.d.ts +2 -0
  22. package/build/cjs/server/middlewares/authorization.js +42 -0
  23. package/build/cjs/server/middlewares/authorization.js.map +1 -0
  24. package/build/cjs/server/middlewares/oauth.d.ts +2 -0
  25. package/build/cjs/server/middlewares/oauth.js +27 -0
  26. package/build/cjs/server/middlewares/oauth.js.map +1 -0
  27. package/build/cjs/server/middlewares/yt-auth.d.ts +1 -1
  28. package/build/cjs/server/middlewares/yt-auth.js +10 -42
  29. package/build/cjs/server/middlewares/yt-auth.js.map +1 -1
  30. package/build/cjs/server/routes.js +6 -1
  31. package/build/cjs/server/routes.js.map +1 -1
  32. package/build/cjs/server/utils/authorization.d.ts +6 -0
  33. package/build/cjs/server/utils/authorization.js +33 -0
  34. package/build/cjs/server/utils/authorization.js.map +1 -0
  35. package/build/cjs/shared/constants/index.d.ts +3 -0
  36. package/build/cjs/shared/constants/index.js +3 -1
  37. package/build/cjs/shared/constants/index.js.map +1 -1
  38. package/build/cjs/shared/yt-types.d.ts +2 -0
  39. package/build/cjs/ui/components/Login/LoginFormPage/LoginFormPage.js +23 -5
  40. package/build/cjs/ui/components/Login/LoginFormPage/LoginFormPage.js.map +1 -1
  41. package/build/cjs/ui/components/Login/LoginPageWrapper/LoginPageWrapper.css +8 -0
  42. package/build/cjs/ui/components/Login/LoginPageWrapper/LoginPageWrapper.css.map +1 -1
  43. package/build/cjs/ui/components/NumberInput/NumberInput.d.ts +1 -1
  44. package/build/cjs/ui/constants/docsUrls.d.ts +1 -0
  45. package/build/cjs/ui/constants/docsUrls.js +1 -0
  46. package/build/cjs/ui/constants/docsUrls.js.map +1 -1
  47. package/build/cjs/ui/containers/AppNavigation/AppNavigation.js +2 -0
  48. package/build/cjs/ui/containers/AppNavigation/AppNavigation.js.map +1 -1
  49. package/build/cjs/ui/containers/AppNavigation/AppNavigationComponent.d.ts +1 -1
  50. package/build/cjs/ui/containers/AppNavigation/AppNavigationComponent.js +5 -7
  51. package/build/cjs/ui/containers/AppNavigation/AppNavigationComponent.js.map +1 -1
  52. package/build/cjs/ui/containers/AppNavigation/AppNavigationPageLayout.d.ts +2 -0
  53. package/build/cjs/ui/containers/AppNavigation/AppNavigationPageLayout.js.map +1 -1
  54. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js +11 -7
  55. package/build/cjs/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map +1 -1
  56. package/build/cjs/ui/store/actions/tablet_cell_bundles/index.js +1 -1
  57. package/build/cjs/ui/store/actions/tablet_cell_bundles/index.js.map +1 -1
  58. package/build/cjs/ui/store/reducers/global/index.d.ts +1 -0
  59. package/build/cjs/ui/store/reducers/global/index.js +1 -0
  60. package/build/cjs/ui/store/reducers/global/index.js.map +1 -1
  61. package/build/cjs/ui/store/reducers/tablet_cell_bundles/index.d.ts +8 -0
  62. package/build/cjs/ui/store/reducers/tablet_cell_bundles/index.js.map +1 -1
  63. package/build/cjs/ui/store/selectors/global/index.d.ts +4 -0
  64. package/build/cjs/ui/store/selectors/global/index.js +14 -4
  65. package/build/cjs/ui/store/selectors/global/index.js.map +1 -1
  66. package/build/cjs/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.d.ts +2 -1
  67. package/build/cjs/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js +16 -1
  68. package/build/cjs/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js.map +1 -1
  69. package/build/esm/@types/core.d.ts +38 -0
  70. package/build/esm/server/components/layout-config.js +7 -2
  71. package/build/esm/server/components/layout-config.js.map +1 -1
  72. package/build/esm/server/components/oauth.d.ts +26 -0
  73. package/build/esm/server/components/oauth.js +169 -0
  74. package/build/esm/server/components/oauth.js.map +1 -0
  75. package/build/esm/server/components/yt-auth.d.ts +6 -0
  76. package/build/esm/server/components/yt-auth.js +17 -0
  77. package/build/esm/server/components/yt-auth.js.map +1 -0
  78. package/build/esm/server/controllers/login.d.ts +0 -1
  79. package/build/esm/server/controllers/login.js +41 -88
  80. package/build/esm/server/controllers/login.js.map +1 -1
  81. package/build/esm/server/controllers/logout.d.ts +2 -0
  82. package/build/esm/server/controllers/logout.js +11 -0
  83. package/build/esm/server/controllers/logout.js.map +1 -0
  84. package/build/esm/server/controllers/oauth-login.d.ts +4 -0
  85. package/build/esm/server/controllers/oauth-login.js +50 -0
  86. package/build/esm/server/controllers/oauth-login.js.map +1 -0
  87. package/build/esm/server/index.js +7 -2
  88. package/build/esm/server/index.js.map +1 -1
  89. package/build/esm/server/middlewares/authorization.d.ts +2 -0
  90. package/build/esm/server/middlewares/authorization.js +74 -0
  91. package/build/esm/server/middlewares/authorization.js.map +1 -0
  92. package/build/esm/server/middlewares/oauth.d.ts +2 -0
  93. package/build/esm/server/middlewares/oauth.js +50 -0
  94. package/build/esm/server/middlewares/oauth.js.map +1 -0
  95. package/build/esm/server/middlewares/yt-auth.d.ts +1 -1
  96. package/build/esm/server/middlewares/yt-auth.js +8 -58
  97. package/build/esm/server/middlewares/yt-auth.js.map +1 -1
  98. package/build/esm/server/routes.js +16 -2
  99. package/build/esm/server/routes.js.map +1 -1
  100. package/build/esm/server/utils/authorization.d.ts +6 -0
  101. package/build/esm/server/utils/authorization.js +28 -0
  102. package/build/esm/server/utils/authorization.js.map +1 -0
  103. package/build/esm/shared/constants/index.d.ts +3 -0
  104. package/build/esm/shared/constants/index.js +2 -1
  105. package/build/esm/shared/constants/index.js.map +1 -1
  106. package/build/esm/shared/yt-types.d.ts +2 -0
  107. package/build/esm/ui/components/Login/LoginFormPage/LoginFormPage.js +24 -6
  108. package/build/esm/ui/components/Login/LoginFormPage/LoginFormPage.js.map +1 -1
  109. package/build/esm/ui/components/Login/LoginPageWrapper/LoginPageWrapper.css +8 -0
  110. package/build/esm/ui/components/Login/LoginPageWrapper/LoginPageWrapper.css.map +1 -1
  111. package/build/esm/ui/components/Login/LoginPageWrapper/LoginPageWrapper.scss +12 -0
  112. package/build/esm/ui/components/NumberInput/NumberInput.d.ts +1 -1
  113. package/build/esm/ui/constants/docsUrls.d.ts +1 -0
  114. package/build/esm/ui/constants/docsUrls.js +1 -0
  115. package/build/esm/ui/constants/docsUrls.js.map +1 -1
  116. package/build/esm/ui/containers/AppNavigation/AppNavigation.js +3 -1
  117. package/build/esm/ui/containers/AppNavigation/AppNavigation.js.map +1 -1
  118. package/build/esm/ui/containers/AppNavigation/AppNavigationComponent.d.ts +1 -1
  119. package/build/esm/ui/containers/AppNavigation/AppNavigationComponent.js +5 -7
  120. package/build/esm/ui/containers/AppNavigation/AppNavigationComponent.js.map +1 -1
  121. package/build/esm/ui/containers/AppNavigation/AppNavigationPageLayout.d.ts +2 -0
  122. package/build/esm/ui/containers/AppNavigation/AppNavigationPageLayout.js.map +1 -1
  123. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js +12 -8
  124. package/build/esm/ui/pages/tablet_cell_bundles/bundles/BundleEditorDialog/BundleEditorDialog.js.map +1 -1
  125. package/build/esm/ui/store/actions/tablet_cell_bundles/index.js +1 -1
  126. package/build/esm/ui/store/actions/tablet_cell_bundles/index.js.map +1 -1
  127. package/build/esm/ui/store/reducers/global/index.d.ts +1 -0
  128. package/build/esm/ui/store/reducers/global/index.js +1 -0
  129. package/build/esm/ui/store/reducers/global/index.js.map +1 -1
  130. package/build/esm/ui/store/reducers/tablet_cell_bundles/index.d.ts +8 -0
  131. package/build/esm/ui/store/reducers/tablet_cell_bundles/index.js.map +1 -1
  132. package/build/esm/ui/store/selectors/global/index.d.ts +4 -0
  133. package/build/esm/ui/store/selectors/global/index.js +12 -2
  134. package/build/esm/ui/store/selectors/global/index.js.map +1 -1
  135. package/build/esm/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.d.ts +2 -1
  136. package/build/esm/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js +15 -0
  137. package/build/esm/ui/utils/tablet_cell_bundles/bundles/bundle-editor-dialog/index.js.map +1 -1
  138. package/dist/public/build/assets-manifest.json +12 -12
  139. package/dist/public/build/css/{main.136a49c7.css → main.e919e247.css} +2 -2
  140. package/dist/public/build/css/main.e919e247.css.map +1 -0
  141. package/dist/public/build/js/89.07445d46.chunk.js +2 -0
  142. package/dist/public/build/js/89.07445d46.chunk.js.map +1 -0
  143. package/dist/public/build/js/main.9d592639.js +3 -0
  144. package/dist/public/build/js/{main.69fdeec5.js.map → main.9d592639.js.map} +1 -1
  145. package/dist/public/build/js/{runtime.6c8d85d3.js → runtime.9491563b.js} +2 -2
  146. package/dist/public/build/js/{runtime.6c8d85d3.js.map → runtime.9491563b.js.map} +1 -1
  147. package/dist/public/build/manifest.json +8 -8
  148. package/dist/server/components/layout-config.js +6 -1
  149. package/dist/server/components/oauth.d.ts +26 -0
  150. package/dist/server/components/oauth.js +123 -0
  151. package/dist/server/components/yt-auth.d.ts +6 -0
  152. package/dist/server/components/yt-auth.js +23 -0
  153. package/dist/server/controllers/login.d.ts +0 -1
  154. package/dist/server/controllers/login.js +4 -26
  155. package/dist/server/controllers/logout.d.ts +2 -0
  156. package/dist/server/controllers/logout.js +15 -0
  157. package/dist/server/controllers/oauth-login.d.ts +4 -0
  158. package/dist/server/controllers/oauth-login.js +30 -0
  159. package/dist/server/index.js +9 -1
  160. package/dist/server/middlewares/authorization.d.ts +2 -0
  161. package/dist/server/middlewares/authorization.js +42 -0
  162. package/dist/server/middlewares/oauth.d.ts +2 -0
  163. package/dist/server/middlewares/oauth.js +27 -0
  164. package/dist/server/middlewares/yt-auth.d.ts +1 -1
  165. package/dist/server/middlewares/yt-auth.js +10 -42
  166. package/dist/server/routes.js +6 -1
  167. package/dist/server/utils/authorization.d.ts +6 -0
  168. package/dist/server/utils/authorization.js +33 -0
  169. package/dist/shared/constants/index.d.ts +3 -0
  170. package/dist/shared/constants/index.js +3 -1
  171. package/package.json +2 -2
  172. package/dist/public/build/css/main.136a49c7.css.map +0 -1
  173. package/dist/public/build/js/89.6ea87438.chunk.js +0 -2
  174. package/dist/public/build/js/89.6ea87438.chunk.js.map +0 -1
  175. package/dist/public/build/js/main.69fdeec5.js +0 -3
  176. /package/dist/public/build/js/{main.69fdeec5.js.LICENSE.txt → main.9d592639.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_bemCnLite","_some2","_isEmpty2","_ellipsis","_reactRedux","_PagesSettingsEditor","_global","_SettingsPanel","_useCluster","_UIFactory","_settings","_settings2","_global2","_jsxRuntime","obj","__esModule","default","block","cn","isRootPage","cluster","arguments","length","undefined","_some","UIFactory","getExtraRootPages","info","pageId","AppNavigation","_ref","children","dispatch","useDispatch","pageOrCluster","useClusterFromLocation","rootPageCluster","useSelector","getRootPagesCluster","clusterConfig","getClusterConfigByName","items","usePagesMenuItems","currentUser","getCurrentUserName","_React$useState","React","useState","_React$useState2","_slicedToArray","settingsVisible","setSettingsVisible","_React$useState3","_React$useState4","panelVisible","setPanelVisible","onClosePanel","useCallback","togglePanelVisibility","toggleSettingsVisible","menuItems","useMemo","concat","_toConsumableArray","id","title","icon","ellipsisIcon","current","onItemClick","iconSize","className","expanded","getSettingNavigationPanelExpanded","onChangeCompact","newCompact","setSettingNavigationPanelExpanded","setTimeout","el","window","document","querySelector","_getComputedStyle","_widthStr$slice","widthStr","getComputedStyle","getPropertyValue","width","Number","slice","call","isNaN","setAsideHeaderWidth","props","logoClassName","_isEmpty","panelContent","_jsx","PagesSettingsEditor","panelClassName","settingsContent","SettingsPanel","compact","renderAppNavigation"],"sources":["AppNavigation.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'bem-cn-lite';\nimport _some from 'lodash/some';\nimport _isEmpty from 'lodash/isEmpty';\n\nimport ellipsisIcon from '../../../../img/svg/ellipsis.svg';\n\nimport {useDispatch, useSelector} from 'react-redux';\n\nimport {PagesSettingsEditor, usePagesMenuItems} from './PagesSettingsEditor';\nimport {\n getClusterConfigByName,\n getCurrentUserName,\n getRootPagesCluster,\n} from '../../store/selectors/global';\n\nimport SettingsPanel from '../SettingsPanel/SettingsPanel';\nimport {useClusterFromLocation} from '../../hooks/use-cluster';\n\nimport './AppNavigation.scss';\nimport UIFactory from '../../UIFactory';\nimport {AppNavigationProps} from './AppNavigationPageLayout';\nimport {getSettingNavigationPanelExpanded} from '../../store/selectors/settings';\nimport {setSettingNavigationPanelExpanded} from '../../store/actions/settings/settings';\nimport {setAsideHeaderWidth} from '../../store/actions/global';\n\nconst block = cn('app-navigation');\n\ninterface ExtProps {\n children: React.ReactNode;\n}\n\nfunction isRootPage(cluster = '') {\n return _some(UIFactory.getExtraRootPages(), (info) => {\n return cluster === info.pageId;\n });\n}\n\nexport default function AppNavigation({children}: ExtProps) {\n const dispatch = useDispatch();\n const pageOrCluster = useClusterFromLocation();\n const rootPageCluster = useSelector(getRootPagesCluster);\n const cluster = isRootPage(pageOrCluster) ? rootPageCluster : pageOrCluster;\n const clusterConfig = getClusterConfigByName(cluster || '');\n\n const items = usePagesMenuItems(cluster);\n const currentUser = useSelector(getCurrentUserName);\n\n const [settingsVisible, setSettingsVisible] = React.useState(false);\n const [panelVisible, setPanelVisible] = React.useState(false);\n\n const onClosePanel = React.useCallback(() => {\n setSettingsVisible(false);\n setPanelVisible(false);\n }, []);\n\n const togglePanelVisibility = React.useCallback(() => {\n setSettingsVisible(false);\n setPanelVisible(!panelVisible);\n }, [panelVisible]);\n\n const toggleSettingsVisible = React.useCallback(() => {\n setPanelVisible(false);\n setSettingsVisible(!settingsVisible);\n }, [settingsVisible]);\n\n const menuItems: typeof items = React.useMemo(() => {\n if (!cluster) {\n return [];\n }\n return [\n ...items,\n {\n id: 'all_pages',\n title: 'All pages',\n icon: ellipsisIcon,\n current: false,\n onItemClick: togglePanelVisibility,\n iconSize: 24,\n },\n ];\n }, [items, cluster, togglePanelVisibility]);\n\n const className = block();\n\n const expanded = useSelector(getSettingNavigationPanelExpanded);\n const onChangeCompact = React.useCallback(\n (newCompact: boolean) => {\n dispatch(setSettingNavigationPanelExpanded(!newCompact));\n\n setTimeout(() => {\n const el = window.document.querySelector(`.${className}`);\n if (el) {\n const widthStr =\n getComputedStyle(el)?.getPropertyValue('--gn-aside-header-size');\n const width = Number(widthStr?.slice?.(0, -2)); // '236px' or '56px'\n if (!isNaN(width)) {\n dispatch(setAsideHeaderWidth(width));\n }\n }\n }, 500);\n },\n [dispatch],\n );\n\n const props: AppNavigationProps = {\n className,\n clusterConfig,\n logoClassName: block('logo-icon', {'no-cluster': !cluster}),\n currentUser,\n menuItems: _isEmpty(clusterConfig) ? [] : menuItems,\n panelContent: (\n <PagesSettingsEditor\n cluster={cluster}\n className={block('panel-content')}\n onItemClick={onClosePanel}\n />\n ),\n panelClassName: block('panel'),\n panelVisible,\n onClosePanel,\n settingsContent: <SettingsPanel />,\n settingsVisible,\n toggleSettingsVisible,\n\n compact: !expanded,\n onChangeCompact,\n children,\n };\n\n return UIFactory.renderAppNavigation(props);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_bemCnLite","_some2","_isEmpty2","_ellipsis","_reactRedux","_PagesSettingsEditor","_global","_SettingsPanel","_useCluster","_UIFactory","_settings","_settings2","_global2","_jsxRuntime","obj","__esModule","default","block","cn","isRootPage","cluster","arguments","length","undefined","_some","UIFactory","getExtraRootPages","info","pageId","AppNavigation","_ref","children","dispatch","useDispatch","pageOrCluster","useClusterFromLocation","rootPageCluster","useSelector","getRootPagesCluster","clusterConfig","getClusterConfigByName","items","usePagesMenuItems","currentUser","getCurrentUserName","authWay","getAuthWay","_React$useState","React","useState","_React$useState2","_slicedToArray","settingsVisible","setSettingsVisible","_React$useState3","_React$useState4","panelVisible","setPanelVisible","onClosePanel","useCallback","togglePanelVisibility","toggleSettingsVisible","menuItems","useMemo","concat","_toConsumableArray","id","title","icon","ellipsisIcon","current","onItemClick","iconSize","className","expanded","getSettingNavigationPanelExpanded","onChangeCompact","newCompact","setSettingNavigationPanelExpanded","setTimeout","el","window","document","querySelector","_getComputedStyle","_widthStr$slice","widthStr","getComputedStyle","getPropertyValue","width","Number","slice","call","isNaN","setAsideHeaderWidth","props","logoClassName","_isEmpty","panelContent","_jsx","PagesSettingsEditor","panelClassName","settingsContent","SettingsPanel","compact","renderAppNavigation"],"sources":["AppNavigation.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'bem-cn-lite';\nimport _some from 'lodash/some';\nimport _isEmpty from 'lodash/isEmpty';\n\nimport ellipsisIcon from '../../../../img/svg/ellipsis.svg';\n\nimport {useDispatch, useSelector} from 'react-redux';\n\nimport {PagesSettingsEditor, usePagesMenuItems} from './PagesSettingsEditor';\nimport {\n getAuthWay,\n getClusterConfigByName,\n getCurrentUserName,\n getRootPagesCluster,\n} from '../../store/selectors/global';\n\nimport SettingsPanel from '../SettingsPanel/SettingsPanel';\nimport {useClusterFromLocation} from '../../hooks/use-cluster';\n\nimport './AppNavigation.scss';\nimport UIFactory from '../../UIFactory';\nimport {AppNavigationProps} from './AppNavigationPageLayout';\nimport {getSettingNavigationPanelExpanded} from '../../store/selectors/settings';\nimport {setSettingNavigationPanelExpanded} from '../../store/actions/settings/settings';\nimport {setAsideHeaderWidth} from '../../store/actions/global';\n\nconst block = cn('app-navigation');\n\ninterface ExtProps {\n children: React.ReactNode;\n}\n\nfunction isRootPage(cluster = '') {\n return _some(UIFactory.getExtraRootPages(), (info) => {\n return cluster === info.pageId;\n });\n}\n\nexport default function AppNavigation({children}: ExtProps) {\n const dispatch = useDispatch();\n const pageOrCluster = useClusterFromLocation();\n const rootPageCluster = useSelector(getRootPagesCluster);\n const cluster = isRootPage(pageOrCluster) ? rootPageCluster : pageOrCluster;\n const clusterConfig = getClusterConfigByName(cluster || '');\n\n const items = usePagesMenuItems(cluster);\n const currentUser = useSelector(getCurrentUserName);\n const authWay = useSelector(getAuthWay);\n\n const [settingsVisible, setSettingsVisible] = React.useState(false);\n const [panelVisible, setPanelVisible] = React.useState(false);\n\n const onClosePanel = React.useCallback(() => {\n setSettingsVisible(false);\n setPanelVisible(false);\n }, []);\n\n const togglePanelVisibility = React.useCallback(() => {\n setSettingsVisible(false);\n setPanelVisible(!panelVisible);\n }, [panelVisible]);\n\n const toggleSettingsVisible = React.useCallback(() => {\n setPanelVisible(false);\n setSettingsVisible(!settingsVisible);\n }, [settingsVisible]);\n\n const menuItems: typeof items = React.useMemo(() => {\n if (!cluster) {\n return [];\n }\n return [\n ...items,\n {\n id: 'all_pages',\n title: 'All pages',\n icon: ellipsisIcon,\n current: false,\n onItemClick: togglePanelVisibility,\n iconSize: 24,\n },\n ];\n }, [items, cluster, togglePanelVisibility]);\n\n const className = block();\n\n const expanded = useSelector(getSettingNavigationPanelExpanded);\n const onChangeCompact = React.useCallback(\n (newCompact: boolean) => {\n dispatch(setSettingNavigationPanelExpanded(!newCompact));\n\n setTimeout(() => {\n const el = window.document.querySelector(`.${className}`);\n if (el) {\n const widthStr =\n getComputedStyle(el)?.getPropertyValue('--gn-aside-header-size');\n const width = Number(widthStr?.slice?.(0, -2)); // '236px' or '56px'\n if (!isNaN(width)) {\n dispatch(setAsideHeaderWidth(width));\n }\n }\n }, 500);\n },\n [dispatch],\n );\n\n const props: AppNavigationProps = {\n className,\n clusterConfig,\n logoClassName: block('logo-icon', {'no-cluster': !cluster}),\n currentUser,\n authWay,\n menuItems: _isEmpty(clusterConfig) ? [] : menuItems,\n panelContent: (\n <PagesSettingsEditor\n cluster={cluster}\n className={block('panel-content')}\n onItemClick={onClosePanel}\n />\n ),\n panelClassName: block('panel'),\n panelVisible,\n onClosePanel,\n settingsContent: <SettingsPanel />,\n settingsVisible,\n toggleSettingsVisible,\n\n compact: !expanded,\n onChangeCompact,\n children,\n };\n\n return UIFactory.renderAppNavigation(props);\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { AppNavigationProps } from './AppNavigationPageLayout';
3
3
  import './AppNavigationComponent.scss';
4
- declare function AppNavigationComponent({ logoClassName, menuItems, currentUser, panelContent, panelVisible, panelClassName, onClosePanel, settingsVisible, settingsContent, toggleSettingsVisible, onChangeCompact, }: Omit<AppNavigationProps, 'compact' | 'rememberSize' | 'className'>): React.JSX.Element;
4
+ declare function AppNavigationComponent({ logoClassName, menuItems, currentUser, authWay, panelContent, panelVisible, panelClassName, onClosePanel, settingsVisible, settingsContent, toggleSettingsVisible, onChangeCompact, }: Omit<AppNavigationProps, 'compact' | 'rememberSize' | 'className'>): React.JSX.Element;
5
5
  declare const _default: React.MemoExoticComponent<typeof AppNavigationComponent>;
6
6
  export default _default;
@@ -8,14 +8,13 @@ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/obje
8
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _bemCnLite = _interopRequireDefault(require("bem-cn-lite"));
11
- var _axios = _interopRequireDefault(require("axios"));
12
- var _reactRouter = require("react-router");
13
11
  var _navigation = require("@gravity-ui/navigation");
14
- var _uikit = require("@gravity-ui/uikit");
15
12
  var _appLogo = _interopRequireDefault(require("../../../../img/svg/appLogo.svg"));
16
13
  var _Link = _interopRequireDefault(require("../../components/Link/Link"));
17
14
  var _userAvatar = _interopRequireDefault(require("../../../../img/user-avatar.svg"));
18
15
  require("./AppNavigationComponent.css");
16
+ var _uikit = require("@gravity-ui/uikit");
17
+ var _reactRouter = require("react-router");
19
18
  var _jsxRuntime = require("react/jsx-runtime");
20
19
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
21
20
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -53,6 +52,7 @@ function AppNavigationComponent(_ref) {
53
52
  var logoClassName = _ref.logoClassName,
54
53
  menuItems = _ref.menuItems,
55
54
  currentUser = _ref.currentUser,
55
+ authWay = _ref.authWay,
56
56
  panelContent = _ref.panelContent,
57
57
  panelVisible = _ref.panelVisible,
58
58
  panelClassName = _ref.panelClassName,
@@ -143,15 +143,13 @@ function AppNavigationComponent(_ref) {
143
143
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
144
144
  className: block('settings-ul'),
145
145
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_uikit.Menu, {
146
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Menu.Item, {
146
+ children: [authWay === 'passwd' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Menu.Item, {
147
147
  onClick: function onClick() {
148
148
  return history.push('/change-password');
149
149
  },
150
150
  children: "Change password"
151
151
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.Menu.Item, {
152
- onClick: function onClick() {
153
- _axios.default.post('/api/yt/logout')["catch"](function () {});
154
- },
152
+ href: '/api/yt/logout',
155
153
  children: "Logout"
156
154
  })]
157
155
  })
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_bemCnLite","_interopRequireDefault","_axios","_reactRouter","_navigation","_uikit","_appLogo","_Link","_userAvatar","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","GearIcon","props","_jsxs","_objectSpread","children","_jsx","clipPath","fill","fillRule","d","clipRule","id","defaultProps","xmlns","width","height","viewBox","block","cn","AppNavigationComponent","_ref","logoClassName","menuItems","currentUser","panelContent","panelVisible","panelClassName","onClosePanel","settingsVisible","settingsContent","toggleSettingsVisible","onChangeCompact","panelItems","React","useMemo","content","visible","className","_useState","useState","_useState2","_slicedToArray","popupVisible","setPopupVisible","history","useHistory","PageLayoutAside","multipleTooltip","headerDecoration","logo","text","textSize","icon","Logo","iconSize","iconClassName","wrapper","node","Link","url","theme","target","renderFooter","_ref2","compact","_Fragment","FooterItem","item","title","onItemClick","itemWrapper","_ref3","makeItem","src","unknown","enableTooltip","onClosePopup","renderPopupContent","Menu","Item","onClick","push","axios","post","_default","exports","memo"],"sources":["AppNavigationComponent.tsx"],"sourcesContent":["import React, {useState} from 'react';\nimport cn from 'bem-cn-lite';\nimport axios from 'axios';\nimport {useHistory} from 'react-router';\nimport {FooterItem, PageLayoutAside} from '@gravity-ui/navigation';\nimport {Menu} from '@gravity-ui/uikit';\n\nimport Logo from '../../../../img/svg/appLogo.svg';\nimport GearIcon from '@gravity-ui/icons/svgs/gear.svg';\nimport Link from '../../components/Link/Link';\nimport unknown from '../../../../img/user-avatar.svg';\nimport {AppNavigationProps} from './AppNavigationPageLayout';\n\nimport './AppNavigationComponent.scss';\n\nconst block = cn('yt-app-navigation');\n\nfunction AppNavigationComponent({\n logoClassName,\n menuItems,\n currentUser,\n\n panelContent,\n panelVisible,\n panelClassName,\n onClosePanel,\n\n settingsVisible,\n settingsContent,\n toggleSettingsVisible,\n\n onChangeCompact,\n}: Omit<AppNavigationProps, 'compact' | 'rememberSize' | 'className'>) {\n const panelItems = React.useMemo(() => {\n return [\n {\n id: 'panel',\n content: panelContent,\n visible: panelVisible,\n className: panelClassName,\n },\n {\n id: 'settings',\n content: settingsContent,\n visible: settingsVisible,\n },\n ];\n }, [panelVisible, panelContent, settingsVisible, settingsContent]);\n\n const [popupVisible, setPopupVisible] = useState(false);\n const history = useHistory();\n\n return (\n <PageLayoutAside\n multipleTooltip\n panelItems={panelItems}\n onClosePanel={onClosePanel}\n menuItems={menuItems}\n headerDecoration\n logo={{\n text: () => 'YTsaurus',\n textSize: 22,\n icon: Logo,\n iconSize: 36,\n iconClassName: logoClassName,\n wrapper: (node) => {\n return (\n <Link url={'/'} theme={'primary'} target=\"_blank\">\n {node}\n </Link>\n );\n },\n }}\n onChangeCompact={onChangeCompact}\n renderFooter={({compact}) => {\n return (\n <>\n <FooterItem\n compact={compact}\n item={{\n id: 'settings',\n title: 'Settings',\n onItemClick: toggleSettingsVisible,\n icon: GearIcon,\n }}\n />\n <FooterItem\n compact={compact}\n item={{\n id: 'user',\n title: currentUser,\n onItemClick: () => {\n setPopupVisible(!popupVisible);\n },\n itemWrapper: ({title}: any, makeItem: any) => {\n return makeItem({\n title,\n icon: (\n <img\n className={block('user-icon')}\n width={40}\n height={40}\n src={unknown}\n />\n ),\n });\n },\n }}\n enableTooltip={!popupVisible}\n popupVisible={popupVisible}\n onClosePopup={() => setPopupVisible(false)}\n renderPopupContent={() => {\n return (\n <div className={block('settings-ul')}>\n <Menu>\n <Menu.Item\n onClick={() => history.push('/change-password')}\n >\n Change password\n </Menu.Item>\n <Menu.Item\n onClick={() => {\n axios.post('/api/yt/logout').catch(() => {});\n }}\n >\n Logout\n </Menu.Item>\n </Menu>\n </div>\n );\n }}\n />\n </>\n );\n }}\n />\n );\n}\n\nexport default React.memo(AppNavigationComponent);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_bemCnLite","_interopRequireDefault","_navigation","_appLogo","_Link","_userAvatar","_uikit","_reactRouter","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","GearIcon","props","_jsxs","_objectSpread","children","_jsx","clipPath","fill","fillRule","d","clipRule","id","defaultProps","xmlns","width","height","viewBox","block","cn","AppNavigationComponent","_ref","logoClassName","menuItems","currentUser","authWay","panelContent","panelVisible","panelClassName","onClosePanel","settingsVisible","settingsContent","toggleSettingsVisible","onChangeCompact","panelItems","React","useMemo","content","visible","className","_useState","useState","_useState2","_slicedToArray","popupVisible","setPopupVisible","history","useHistory","PageLayoutAside","multipleTooltip","headerDecoration","logo","text","textSize","icon","Logo","iconSize","iconClassName","wrapper","node","Link","url","theme","target","renderFooter","_ref2","compact","_Fragment","FooterItem","item","title","onItemClick","itemWrapper","_ref3","makeItem","src","unknown","enableTooltip","onClosePopup","renderPopupContent","Menu","Item","onClick","push","href","_default","exports","memo"],"sources":["AppNavigationComponent.tsx"],"sourcesContent":["import React, {useState} from 'react';\nimport cn from 'bem-cn-lite';\nimport {FooterItem, PageLayoutAside} from '@gravity-ui/navigation';\n\nimport Logo from '../../../../img/svg/appLogo.svg';\nimport GearIcon from '@gravity-ui/icons/svgs/gear.svg';\nimport Link from '../../components/Link/Link';\nimport unknown from '../../../../img/user-avatar.svg';\nimport {AppNavigationProps} from './AppNavigationPageLayout';\n\nimport './AppNavigationComponent.scss';\nimport {Menu} from '@gravity-ui/uikit';\nimport {useHistory} from 'react-router';\n\nconst block = cn('yt-app-navigation');\n\nfunction AppNavigationComponent({\n logoClassName,\n menuItems,\n currentUser,\n authWay,\n\n panelContent,\n panelVisible,\n panelClassName,\n onClosePanel,\n\n settingsVisible,\n settingsContent,\n toggleSettingsVisible,\n\n onChangeCompact,\n}: Omit<AppNavigationProps, 'compact' | 'rememberSize' | 'className'>) {\n const panelItems = React.useMemo(() => {\n return [\n {\n id: 'panel',\n content: panelContent,\n visible: panelVisible,\n className: panelClassName,\n },\n {\n id: 'settings',\n content: settingsContent,\n visible: settingsVisible,\n },\n ];\n }, [panelVisible, panelContent, settingsVisible, settingsContent]);\n\n const [popupVisible, setPopupVisible] = useState(false);\n const history = useHistory();\n\n return (\n <PageLayoutAside\n multipleTooltip\n panelItems={panelItems}\n onClosePanel={onClosePanel}\n menuItems={menuItems}\n headerDecoration\n logo={{\n text: () => 'YTsaurus',\n textSize: 22,\n icon: Logo,\n iconSize: 36,\n iconClassName: logoClassName,\n wrapper: (node) => {\n return (\n <Link url={'/'} theme={'primary'} target=\"_blank\">\n {node}\n </Link>\n );\n },\n }}\n onChangeCompact={onChangeCompact}\n renderFooter={({compact}) => {\n return (\n <>\n <FooterItem\n compact={compact}\n item={{\n id: 'settings',\n title: 'Settings',\n onItemClick: toggleSettingsVisible,\n icon: GearIcon,\n }}\n />\n <FooterItem\n compact={compact}\n item={{\n id: 'user',\n title: currentUser,\n onItemClick: () => {\n setPopupVisible(!popupVisible);\n },\n itemWrapper: ({title}: any, makeItem: any) => {\n return makeItem({\n title,\n icon: (\n <img\n className={block('user-icon')}\n width={40}\n height={40}\n src={unknown}\n />\n ),\n });\n },\n }}\n enableTooltip={!popupVisible}\n popupVisible={popupVisible}\n onClosePopup={() => setPopupVisible(false)}\n renderPopupContent={() => {\n return (\n <div className={block('settings-ul')}>\n <Menu>\n {authWay === 'passwd' && (\n <Menu.Item\n onClick={() => history.push('/change-password')}\n >\n Change password\n </Menu.Item>\n )}\n <Menu.Item href={'/api/yt/logout'}>Logout</Menu.Item>\n </Menu>\n </div>\n );\n }}\n />\n </>\n );\n }}\n />\n );\n}\n\nexport default React.memo(AppNavigationComponent);\n"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { MenuItem } from '@gravity-ui/navigation';
3
3
  import { ClusterConfig } from '../../../shared/yt-types';
4
+ import { AuthWay } from '../../../shared/constants';
4
5
  export interface AppNavigationProps {
5
6
  initialCompact?: boolean;
6
7
  className: string;
@@ -13,6 +14,7 @@ export interface AppNavigationProps {
13
14
  title: string;
14
15
  }>;
15
16
  currentUser: string;
17
+ authWay: AuthWay;
16
18
  panelVisible: boolean;
17
19
  panelContent: React.ReactNode;
18
20
  panelClassName: string;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_navigation","_jsxRuntime","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","_interopRequireWildcard","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Aside","React","lazy","Promise","resolve","then","AppNavigationPageLayout","props","onChangeCompact","className","compact","rest","_objectWithoutProperties","_excluded","_jsxs","PageLayout","children","_jsx","Suspense","fallback","AsideFallback","_objectSpread","Content","_default","exports","memo"],"sources":["AppNavigationPageLayout.tsx"],"sourcesContent":["import React from 'react';\nimport {AsideFallback, MenuItem, PageLayout} from '@gravity-ui/navigation';\n\nimport {ClusterConfig} from '../../../shared/yt-types';\n\nexport interface AppNavigationProps {\n initialCompact?: boolean;\n className: string;\n children?: React.ReactNode;\n\n clusterConfig?: ClusterConfig;\n logoClassName: string;\n\n menuItems: Array<\n Omit<MenuItem, 'title' | 'type'> & {itemUrl?: string; current?: boolean; title: string}\n >;\n currentUser: string;\n\n panelVisible: boolean;\n panelContent: React.ReactNode;\n panelClassName: string;\n onClosePanel: () => void;\n\n settingsContent: React.ReactNode;\n settingsVisible: boolean;\n toggleSettingsVisible: () => void;\n\n compact: boolean;\n onChangeCompact: (compact: boolean) => void;\n}\n\nconst Aside = React.lazy(() => import('./AppNavigationComponent'));\n\nexport function AppNavigationPageLayout(props: AppNavigationProps) {\n const {onChangeCompact, className, compact, ...rest} = props;\n\n return (\n <PageLayout compact={compact} className={className}>\n <React.Suspense fallback={<AsideFallback />}>\n <Aside {...rest} onChangeCompact={onChangeCompact} />\n </React.Suspense>\n\n <PageLayout.Content>{props.children}</PageLayout.Content>\n </PageLayout>\n );\n}\n\nexport default React.memo(AppNavigationPageLayout);\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAA2E,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAI,wBAAAJ,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAE,GAAA,CAAAL,CAAA,UAAAG,CAAA,CAAAG,GAAA,CAAAN,CAAA,OAAAO,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAb,CAAA,oBAAAa,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAa,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAZ,CAAA,EAAAa,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAb,CAAA,CAAAa,CAAA,YAAAN,CAAA,CAAAT,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAO,CAAA,GAAAA,CAAA;;AA8B3E,IAAMY,KAAK,gBAAGC,cAAK,CAACC,IAAI,CAAC;EAAA,OAAAC,OAAA,CAAAC,OAAA,GAAAC,IAAA,OAAApB,uBAAA,CAAAX,OAAA,CAAa,0BAA0B;AAAC,EAAC;AAE3D,SAASgC,uBAAuBA,CAACC,KAAyB,EAAE;EAC/D,IAAOC,eAAe,GAAiCD,KAAK,CAArDC,eAAe;IAAEC,SAAS,GAAsBF,KAAK,CAApCE,SAAS;IAAEC,OAAO,GAAaH,KAAK,CAAzBG,OAAO;IAAKC,IAAI,OAAAC,iCAAA,EAAIL,KAAK,EAAAM,SAAA;EAE5D,oBACI,IAAAC,gBAAA,EAACC,sBAAU;IAACL,OAAO,EAAEA,OAAQ;IAACD,SAAS,EAAEA,SAAU;IAAAO,QAAA,gBAC/C,IAAAC,eAAA,EAAChB,cAAK,CAACiB,QAAQ;MAACC,QAAQ,eAAE,IAAAF,eAAA,EAACG,yBAAa,IAAE,CAAE;MAAAJ,QAAA,eACxC,IAAAC,eAAA,EAACjB,KAAK,MAAAqB,sBAAA,MAAAA,sBAAA,MAAKV,IAAI;QAAEH,eAAe,EAAEA;MAAgB,EAAE;IAAC,CACzC,CAAC,eAEjB,IAAAS,eAAA,EAACF,sBAAU,CAACO,OAAO;MAAAN,QAAA,EAAET,KAAK,CAACS;IAAQ,CAAqB,CAAC;EAAA,CACjD,CAAC;AAErB;AAAA,IAAAO,QAAA,GAAAC,OAAA,CAAA7C,OAAA,GAEA,aAAesB,cAAK,CAACwB,IAAI,CAACnB,uBAAuB,CAAC"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_navigation","_jsxRuntime","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","_interopRequireWildcard","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Aside","React","lazy","Promise","resolve","then","AppNavigationPageLayout","props","onChangeCompact","className","compact","rest","_objectWithoutProperties","_excluded","_jsxs","PageLayout","children","_jsx","Suspense","fallback","AsideFallback","_objectSpread","Content","_default","exports","memo"],"sources":["AppNavigationPageLayout.tsx"],"sourcesContent":["import React from 'react';\nimport {AsideFallback, MenuItem, PageLayout} from '@gravity-ui/navigation';\n\nimport {ClusterConfig} from '../../../shared/yt-types';\nimport {AuthWay} from '../../../shared/constants';\n\nexport interface AppNavigationProps {\n initialCompact?: boolean;\n className: string;\n children?: React.ReactNode;\n\n clusterConfig?: ClusterConfig;\n logoClassName: string;\n\n menuItems: Array<\n Omit<MenuItem, 'title' | 'type'> & {itemUrl?: string; current?: boolean; title: string}\n >;\n currentUser: string;\n\n authWay: AuthWay;\n\n panelVisible: boolean;\n panelContent: React.ReactNode;\n panelClassName: string;\n onClosePanel: () => void;\n\n settingsContent: React.ReactNode;\n settingsVisible: boolean;\n toggleSettingsVisible: () => void;\n\n compact: boolean;\n onChangeCompact: (compact: boolean) => void;\n}\n\nconst Aside = React.lazy(() => import('./AppNavigationComponent'));\n\nexport function AppNavigationPageLayout(props: AppNavigationProps) {\n const {onChangeCompact, className, compact, ...rest} = props;\n\n return (\n <PageLayout compact={compact} className={className}>\n <React.Suspense fallback={<AsideFallback />}>\n <Aside {...rest} onChangeCompact={onChangeCompact} />\n </React.Suspense>\n\n <PageLayout.Content>{props.children}</PageLayout.Content>\n </PageLayout>\n );\n}\n\nexport default React.memo(AppNavigationPageLayout);\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAA2E,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAI,wBAAAJ,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAE,GAAA,CAAAL,CAAA,UAAAG,CAAA,CAAAG,GAAA,CAAAN,CAAA,OAAAO,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAb,CAAA,oBAAAa,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAa,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAZ,CAAA,EAAAa,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAb,CAAA,CAAAa,CAAA,YAAAN,CAAA,CAAAT,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAO,CAAA,GAAAA,CAAA;;AAiC3E,IAAMY,KAAK,gBAAGC,cAAK,CAACC,IAAI,CAAC;EAAA,OAAAC,OAAA,CAAAC,OAAA,GAAAC,IAAA,OAAApB,uBAAA,CAAAX,OAAA,CAAa,0BAA0B;AAAC,EAAC;AAE3D,SAASgC,uBAAuBA,CAACC,KAAyB,EAAE;EAC/D,IAAOC,eAAe,GAAiCD,KAAK,CAArDC,eAAe;IAAEC,SAAS,GAAsBF,KAAK,CAApCE,SAAS;IAAEC,OAAO,GAAaH,KAAK,CAAzBG,OAAO;IAAKC,IAAI,OAAAC,iCAAA,EAAIL,KAAK,EAAAM,SAAA;EAE5D,oBACI,IAAAC,gBAAA,EAACC,sBAAU;IAACL,OAAO,EAAEA,OAAQ;IAACD,SAAS,EAAEA,SAAU;IAAAO,QAAA,gBAC/C,IAAAC,eAAA,EAAChB,cAAK,CAACiB,QAAQ;MAACC,QAAQ,eAAE,IAAAF,eAAA,EAACG,yBAAa,IAAE,CAAE;MAAAJ,QAAA,eACxC,IAAAC,eAAA,EAACjB,KAAK,MAAAqB,sBAAA,MAAAA,sBAAA,MAAKV,IAAI;QAAEH,eAAe,EAAEA;MAAgB,EAAE;IAAC,CACzC,CAAC,eAEjB,IAAAS,eAAA,EAACF,sBAAU,CAACO,OAAO;MAAAN,QAAA,EAAET,KAAK,CAACS;IAAQ,CAAqB,CAAC;EAAA,CACjD,CAAC;AAErB;AAAA,IAAAO,QAAA,GAAAC,OAAA,CAAA7C,OAAA,GAEA,aAAesB,cAAK,CAACwB,IAAI,CAACnB,uBAAuB,CAAC"}
@@ -64,15 +64,17 @@ function BundleEditorDialog() {
64
64
  }();
65
65
  var _ref = function () {
66
66
  if (!bundleDefaultConfig) {
67
- return [[], []];
67
+ return [[], [], []];
68
68
  }
69
69
  var rpc_proxy_sizes = bundleDefaultConfig.rpc_proxy_sizes,
70
- tablet_node_sizes = bundleDefaultConfig.tablet_node_sizes;
71
- return [(0, _bundleEditorDialog.createConfigurationList)(rpc_proxy_sizes), (0, _bundleEditorDialog.createConfigurationList)(tablet_node_sizes)];
70
+ tablet_node_sizes = bundleDefaultConfig.tablet_node_sizes,
71
+ data_centers = bundleDefaultConfig.data_centers;
72
+ return [(0, _bundleEditorDialog.createConfigurationList)(rpc_proxy_sizes), (0, _bundleEditorDialog.createConfigurationList)(tablet_node_sizes), data_centers ? (0, _toConsumableArray2.default)(Object.values(data_centers)) : []];
72
73
  }(),
73
- _ref2 = (0, _slicedToArray2.default)(_ref, 2),
74
+ _ref2 = (0, _slicedToArray2.default)(_ref, 3),
74
75
  rpcConfigurations = _ref2[0],
75
- nodeConfigurations = _ref2[1];
76
+ nodeConfigurations = _ref2[1],
77
+ dcConfigurations = _ref2[2];
76
78
  var renderGeneralTabs = {
77
79
  name: 'general',
78
80
  title: 'General',
@@ -157,7 +159,8 @@ function BundleEditorDialog() {
157
159
  withoutDetailedBar: true,
158
160
  hasClear: true
159
161
  },
160
- validator: _bundleEditorDialog.simpleBundleValidate
162
+ tooltip: (0, _config.docsUrl)((0, _utils.makeLink)(_UIFactory.default.docsUrls['dynamic-tables:cross-dc'], 'Help')),
163
+ validator: (0, _bundleEditorDialog.instanceCountValidate)(dcConfigurations)
161
164
  }, {
162
165
  type: 'bundle-table-field',
163
166
  name: 'rpc_proxy_resource_guarantee',
@@ -177,7 +180,8 @@ function BundleEditorDialog() {
177
180
  withoutDetailedBar: true,
178
181
  hasClear: true
179
182
  },
180
- validator: _bundleEditorDialog.simpleBundleValidate
183
+ tooltip: (0, _config.docsUrl)((0, _utils.makeLink)(_UIFactory.default.docsUrls['dynamic-tables:cross-dc'], 'Help')),
184
+ validator: (0, _bundleEditorDialog.instanceCountValidate)(dcConfigurations)
181
185
  }, {
182
186
  type: 'bundle-table-field',
183
187
  name: 'tablet_node_resource_guarantee',
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactRedux","_bemCnLite","_Info","_BundleParamsList","_Dialog","_hammer","_global","_tabletCellBundleEditor","_tablet_cell_bundles","_tabletCellBundleEditor2","_bundleEditorDialog","_UIFactory","_interopRequireWildcard","_utils","_config","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","block","cn","BundleEditorDialog","_initialValues$resour","_useSelector","useSelector","getTabletCellBundleEditorState","visibleEditor","bundleName","bundleData","data","orchidData","bundleControllerData","clusterUiConfig","getClusterUiConfig","_useSelector2","getBundleEditorData","bundleDefaultConfig","defaultConfig","bundleControllerConfig","bundle_controller_target_config","enableBundleController","enable_bundle_controller","_getResourceData","getResourceData","tabletCountUsage","usage","_getResourceData2","tabletStaticMemoryUsage","writeableByName","getTabletBundlesWriteableByName","allowTabletCount","allowEdit","isDeveloper","initialValues","getInitialFormValues","_ref","rpc_proxy_sizes","tablet_node_sizes","createConfigurationList","_ref2","_slicedToArray","rpcConfigurations","nodeConfigurations","renderGeneralTabs","name","title","type","size","fields","concat","_toConsumableArray","isAbcAllowed","caption","extras","placeholder","disabled","allowRootAccount","renderResourceTab","fullWidth","children","_jsxs","Info","className","UIFactory","renderTableCellBundleEditorNotice","_jsx","BundleParamsList","params","value","hammer","format","resource_quota","memory","vcpu","Number","resources","tablet_count","withoutDetailedBar","progress","validator","simpleBundleValidate","section","hasClear","values","_ref3","form","onRadioClick","nodeConfigurationType","defaultMemory","default_config","memory_limits","defaultThreadPool","cpu_limits","resultMemory","getBundleControllerResource","resultThreadPool","change","_objectSpread","bundleEditorDict","defaults","renderSimpleResourceTab","tooltip","renderMemoryTab","visibilityCondition","when","isActive","v","allValues","_ref4","_allValues$resources","tablet_node_resource_guarantee","onReset","used","keys","reduce","sum","k","_allValues$memory_lim","isNaN","createParams","docsUrl","makeLink","docsUrls","undefined","_ref5","hasError","_get","errorText","validateMemoryLimits","DialogError","header","message","renderThreadPoolTab","_ref6","_allValues$resources2","postfix","push","dispatch","useDispatch","onClose","hideTabletCellBundleEditor","onSubmit","_ref7","_asyncToGenerator","_regeneratorRuntime","mark","_callee","preparedData","wrap","_callee$","_context","prev","next","abrupt","prepareSubmitBundle","setBundleEditorController","t0","validationErrors","_defineProperty","FORM_ERROR","error","stop","_x","apply","arguments","_isEmpty","YTDFDialog","headerProps","visible","onAdd","_values$resources","_values$resources$tab","memoryLimits","currentAccLimit","acc"],"sources":["BundleEditorDialog.tsx"],"sourcesContent":["import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport cn from 'bem-cn-lite';\nimport _ from 'lodash';\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 {BundleResourceGuarantee} 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 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';\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 error?: boolean; // system\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] = (() => {\n if (!bundleDefaultConfig) {\n return [[], []];\n }\n const {rpc_proxy_sizes, tablet_node_sizes} = bundleDefaultConfig;\n\n return [\n createConfigurationList(rpc_proxy_sizes),\n createConfigurationList(tablet_node_sizes),\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 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 validator: simpleBundleValidate,\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 validator: simpleBundleValidate,\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 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 type: 'block',\n name: 'error',\n validator: (v: any) => (v ? v : undefined),\n fullWidth: true,\n extras(allValues, {form}) {\n const hasError = _.get(allValues, 'memory_limits.error');\n const errorText = validateMemoryLimits(allValues);\n\n if (errorText && !hasError) {\n form.change('memory_limits.error', true);\n } else if (!errorText && hasError) {\n form.change('memory_limits.error', false);\n }\n\n return {\n children: !errorText ? null : (\n <DialogError header={'Error'} message={<span>{errorText}</span>} />\n ),\n };\n },\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 />\n );\n}\n\nfunction validateMemoryLimits(values: BundleEditorDialogFormValues) {\n if (values.resources?.tablet_node_resource_guarantee) {\n const memoryLimits = values.resources.tablet_node_resource_guarantee?.memory || 0;\n const currentAccLimit =\n Object.values(values.memory_limits || {}).reduce((acc: number, v: number | boolean) => {\n if (typeof v !== 'number') {\n return acc;\n }\n return acc + v;\n }, 0) || 0;\n\n if (currentAccLimit > memoryLimits) {\n return 'The sum of the memory limits exceeds the allowed values';\n }\n }\n\n return '';\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactRedux","_bemCnLite","_Info","_BundleParamsList","_Dialog","_hammer","_global","_tabletCellBundleEditor","_tablet_cell_bundles","_tabletCellBundleEditor2","_bundleEditorDialog","_UIFactory","_interopRequireWildcard","_utils","_config","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","block","cn","BundleEditorDialog","_initialValues$resour","_useSelector","useSelector","getTabletCellBundleEditorState","visibleEditor","bundleName","bundleData","data","orchidData","bundleControllerData","clusterUiConfig","getClusterUiConfig","_useSelector2","getBundleEditorData","bundleDefaultConfig","defaultConfig","bundleControllerConfig","bundle_controller_target_config","enableBundleController","enable_bundle_controller","_getResourceData","getResourceData","tabletCountUsage","usage","_getResourceData2","tabletStaticMemoryUsage","writeableByName","getTabletBundlesWriteableByName","allowTabletCount","allowEdit","isDeveloper","initialValues","getInitialFormValues","_ref","rpc_proxy_sizes","tablet_node_sizes","data_centers","createConfigurationList","_toConsumableArray","values","_ref2","_slicedToArray","rpcConfigurations","nodeConfigurations","dcConfigurations","renderGeneralTabs","name","title","type","size","fields","concat","isAbcAllowed","caption","extras","placeholder","disabled","allowRootAccount","renderResourceTab","fullWidth","children","_jsxs","Info","className","UIFactory","renderTableCellBundleEditorNotice","_jsx","BundleParamsList","params","value","hammer","format","resource_quota","memory","vcpu","Number","resources","tablet_count","withoutDetailedBar","progress","validator","simpleBundleValidate","section","hasClear","tooltip","docsUrl","makeLink","docsUrls","instanceCountValidate","_ref3","form","onRadioClick","nodeConfigurationType","defaultMemory","default_config","memory_limits","defaultThreadPool","cpu_limits","resultMemory","getBundleControllerResource","resultThreadPool","change","_objectSpread","bundleEditorDict","defaults","renderSimpleResourceTab","renderMemoryTab","visibilityCondition","when","isActive","v","allValues","_ref4","_allValues$resources","tablet_node_resource_guarantee","onReset","used","keys","reduce","sum","k","_allValues$memory_lim","isNaN","createParams","undefined","_ref5","hasError","_get","errorText","validateMemoryLimits","DialogError","header","message","renderThreadPoolTab","_ref6","_allValues$resources2","postfix","push","dispatch","useDispatch","onClose","hideTabletCellBundleEditor","onSubmit","_ref7","_asyncToGenerator","_regeneratorRuntime","mark","_callee","preparedData","wrap","_callee$","_context","prev","next","abrupt","prepareSubmitBundle","setBundleEditorController","t0","validationErrors","_defineProperty","FORM_ERROR","error","stop","_x","apply","arguments","_isEmpty","YTDFDialog","headerProps","visible","onAdd","_values$resources","_values$resources$tab","memoryLimits","currentAccLimit","acc"],"sources":["BundleEditorDialog.tsx"],"sourcesContent":["import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport cn from 'bem-cn-lite';\nimport _ from 'lodash';\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 {BundleResourceGuarantee} 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';\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 error?: boolean; // system\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 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 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 type: 'block',\n name: 'error',\n validator: (v: any) => (v ? v : undefined),\n fullWidth: true,\n extras(allValues, {form}) {\n const hasError = _.get(allValues, 'memory_limits.error');\n const errorText = validateMemoryLimits(allValues);\n\n if (errorText && !hasError) {\n form.change('memory_limits.error', true);\n } else if (!errorText && hasError) {\n form.change('memory_limits.error', false);\n }\n\n return {\n children: !errorText ? null : (\n <DialogError header={'Error'} message={<span>{errorText}</span>} />\n ),\n };\n },\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 />\n );\n}\n\nfunction validateMemoryLimits(values: BundleEditorDialogFormValues) {\n if (values.resources?.tablet_node_resource_guarantee) {\n const memoryLimits = values.resources.tablet_node_resource_guarantee?.memory || 0;\n const currentAccLimit =\n Object.values(values.memory_limits || {}).reduce((acc: number, v: number | boolean) => {\n if (typeof v !== 'number') {\n return acc;\n }\n return acc + v;\n }, 0) || 0;\n\n if (currentAccLimit > memoryLimits) {\n return 'The sum of the memory limits exceeds the allowed values';\n }\n }\n\n return '';\n}\n"],"mappings":"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"}
@@ -112,7 +112,7 @@ function fetchTabletsBundles() {
112
112
  _rumWrapApi.ytApiV3Id.get(_rumWrapApi.YTApiId.bundleControllerZones, {
113
113
  parameters: {
114
114
  path: "//sys/bundle_controller/controller/zones",
115
- attributes: ['tablet_node_sizes', 'rpc_proxy_sizes']
115
+ attributes: ['tablet_node_sizes', 'rpc_proxy_sizes', 'data_centers']
116
116
  },
117
117
  cancellation: cancelHelper.saveCancelToken
118
118
  }).then(function (result) {