@ytsaurus/ui 1.12.2 → 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 (152) 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/containers/AppNavigation/AppNavigation.js +2 -0
  45. package/build/cjs/ui/containers/AppNavigation/AppNavigation.js.map +1 -1
  46. package/build/cjs/ui/containers/AppNavigation/AppNavigationComponent.d.ts +1 -1
  47. package/build/cjs/ui/containers/AppNavigation/AppNavigationComponent.js +5 -7
  48. package/build/cjs/ui/containers/AppNavigation/AppNavigationComponent.js.map +1 -1
  49. package/build/cjs/ui/containers/AppNavigation/AppNavigationPageLayout.d.ts +2 -0
  50. package/build/cjs/ui/containers/AppNavigation/AppNavigationPageLayout.js.map +1 -1
  51. package/build/cjs/ui/store/reducers/global/index.d.ts +1 -0
  52. package/build/cjs/ui/store/reducers/global/index.js +1 -0
  53. package/build/cjs/ui/store/reducers/global/index.js.map +1 -1
  54. package/build/cjs/ui/store/selectors/global/index.d.ts +4 -0
  55. package/build/cjs/ui/store/selectors/global/index.js +14 -4
  56. package/build/cjs/ui/store/selectors/global/index.js.map +1 -1
  57. package/build/esm/@types/core.d.ts +38 -0
  58. package/build/esm/server/components/layout-config.js +7 -2
  59. package/build/esm/server/components/layout-config.js.map +1 -1
  60. package/build/esm/server/components/oauth.d.ts +26 -0
  61. package/build/esm/server/components/oauth.js +169 -0
  62. package/build/esm/server/components/oauth.js.map +1 -0
  63. package/build/esm/server/components/yt-auth.d.ts +6 -0
  64. package/build/esm/server/components/yt-auth.js +17 -0
  65. package/build/esm/server/components/yt-auth.js.map +1 -0
  66. package/build/esm/server/controllers/login.d.ts +0 -1
  67. package/build/esm/server/controllers/login.js +41 -88
  68. package/build/esm/server/controllers/login.js.map +1 -1
  69. package/build/esm/server/controllers/logout.d.ts +2 -0
  70. package/build/esm/server/controllers/logout.js +11 -0
  71. package/build/esm/server/controllers/logout.js.map +1 -0
  72. package/build/esm/server/controllers/oauth-login.d.ts +4 -0
  73. package/build/esm/server/controllers/oauth-login.js +50 -0
  74. package/build/esm/server/controllers/oauth-login.js.map +1 -0
  75. package/build/esm/server/index.js +7 -2
  76. package/build/esm/server/index.js.map +1 -1
  77. package/build/esm/server/middlewares/authorization.d.ts +2 -0
  78. package/build/esm/server/middlewares/authorization.js +74 -0
  79. package/build/esm/server/middlewares/authorization.js.map +1 -0
  80. package/build/esm/server/middlewares/oauth.d.ts +2 -0
  81. package/build/esm/server/middlewares/oauth.js +50 -0
  82. package/build/esm/server/middlewares/oauth.js.map +1 -0
  83. package/build/esm/server/middlewares/yt-auth.d.ts +1 -1
  84. package/build/esm/server/middlewares/yt-auth.js +8 -58
  85. package/build/esm/server/middlewares/yt-auth.js.map +1 -1
  86. package/build/esm/server/routes.js +16 -2
  87. package/build/esm/server/routes.js.map +1 -1
  88. package/build/esm/server/utils/authorization.d.ts +6 -0
  89. package/build/esm/server/utils/authorization.js +28 -0
  90. package/build/esm/server/utils/authorization.js.map +1 -0
  91. package/build/esm/shared/constants/index.d.ts +3 -0
  92. package/build/esm/shared/constants/index.js +2 -1
  93. package/build/esm/shared/constants/index.js.map +1 -1
  94. package/build/esm/shared/yt-types.d.ts +2 -0
  95. package/build/esm/ui/components/Login/LoginFormPage/LoginFormPage.js +24 -6
  96. package/build/esm/ui/components/Login/LoginFormPage/LoginFormPage.js.map +1 -1
  97. package/build/esm/ui/components/Login/LoginPageWrapper/LoginPageWrapper.css +8 -0
  98. package/build/esm/ui/components/Login/LoginPageWrapper/LoginPageWrapper.css.map +1 -1
  99. package/build/esm/ui/components/Login/LoginPageWrapper/LoginPageWrapper.scss +12 -0
  100. package/build/esm/ui/components/NumberInput/NumberInput.d.ts +1 -1
  101. package/build/esm/ui/containers/AppNavigation/AppNavigation.js +3 -1
  102. package/build/esm/ui/containers/AppNavigation/AppNavigation.js.map +1 -1
  103. package/build/esm/ui/containers/AppNavigation/AppNavigationComponent.d.ts +1 -1
  104. package/build/esm/ui/containers/AppNavigation/AppNavigationComponent.js +5 -7
  105. package/build/esm/ui/containers/AppNavigation/AppNavigationComponent.js.map +1 -1
  106. package/build/esm/ui/containers/AppNavigation/AppNavigationPageLayout.d.ts +2 -0
  107. package/build/esm/ui/containers/AppNavigation/AppNavigationPageLayout.js.map +1 -1
  108. package/build/esm/ui/store/reducers/global/index.d.ts +1 -0
  109. package/build/esm/ui/store/reducers/global/index.js +1 -0
  110. package/build/esm/ui/store/reducers/global/index.js.map +1 -1
  111. package/build/esm/ui/store/selectors/global/index.d.ts +4 -0
  112. package/build/esm/ui/store/selectors/global/index.js +12 -2
  113. package/build/esm/ui/store/selectors/global/index.js.map +1 -1
  114. package/dist/public/build/assets-manifest.json +12 -12
  115. package/dist/public/build/css/{main.136a49c7.css → main.e919e247.css} +2 -2
  116. package/dist/public/build/css/main.e919e247.css.map +1 -0
  117. package/dist/public/build/js/89.07445d46.chunk.js +2 -0
  118. package/dist/public/build/js/89.07445d46.chunk.js.map +1 -0
  119. package/dist/public/build/js/main.9d592639.js +3 -0
  120. package/dist/public/build/js/{main.f91e3651.js.map → main.9d592639.js.map} +1 -1
  121. package/dist/public/build/js/{runtime.6c8d85d3.js → runtime.9491563b.js} +2 -2
  122. package/dist/public/build/js/{runtime.6c8d85d3.js.map → runtime.9491563b.js.map} +1 -1
  123. package/dist/public/build/manifest.json +8 -8
  124. package/dist/server/components/layout-config.js +6 -1
  125. package/dist/server/components/oauth.d.ts +26 -0
  126. package/dist/server/components/oauth.js +123 -0
  127. package/dist/server/components/yt-auth.d.ts +6 -0
  128. package/dist/server/components/yt-auth.js +23 -0
  129. package/dist/server/controllers/login.d.ts +0 -1
  130. package/dist/server/controllers/login.js +4 -26
  131. package/dist/server/controllers/logout.d.ts +2 -0
  132. package/dist/server/controllers/logout.js +15 -0
  133. package/dist/server/controllers/oauth-login.d.ts +4 -0
  134. package/dist/server/controllers/oauth-login.js +30 -0
  135. package/dist/server/index.js +9 -1
  136. package/dist/server/middlewares/authorization.d.ts +2 -0
  137. package/dist/server/middlewares/authorization.js +42 -0
  138. package/dist/server/middlewares/oauth.d.ts +2 -0
  139. package/dist/server/middlewares/oauth.js +27 -0
  140. package/dist/server/middlewares/yt-auth.d.ts +1 -1
  141. package/dist/server/middlewares/yt-auth.js +10 -42
  142. package/dist/server/routes.js +6 -1
  143. package/dist/server/utils/authorization.d.ts +6 -0
  144. package/dist/server/utils/authorization.js +33 -0
  145. package/dist/shared/constants/index.d.ts +3 -0
  146. package/dist/shared/constants/index.js +3 -1
  147. package/package.json +2 -2
  148. package/dist/public/build/css/main.136a49c7.css.map +0 -1
  149. package/dist/public/build/js/89.6ea87438.chunk.js +0 -2
  150. package/dist/public/build/js/89.6ea87438.chunk.js.map +0 -1
  151. package/dist/public/build/js/main.f91e3651.js +0 -3
  152. /package/dist/public/build/js/{main.f91e3651.js.LICENSE.txt → main.9d592639.js.LICENSE.txt} +0 -0
@@ -111,6 +111,18 @@
111
111
  --yc-button-background-color: var(--login-button-solid);
112
112
  --yc-button-background-color-hover: var(--login-button-solid-hover);
113
113
  }
114
+
115
+ &_link {
116
+ display: flex;
117
+ align-items: center;
118
+ justify-content: center;
119
+ }
120
+
121
+ &_submit {
122
+ &:not(:last-child) {
123
+ margin-bottom: 10px;
124
+ }
125
+ }
114
126
  }
115
127
 
116
128
  .yc-button_loading {
@@ -68,8 +68,8 @@ export declare class NumberInputWithError extends React.Component<NumberInputWit
68
68
  bottomLineVisibility?: "hidden" | "visible" | "focused" | undefined;
69
69
  disabled?: boolean | undefined;
70
70
  type?: string | undefined;
71
- id?: string | undefined;
72
71
  name?: string | undefined;
72
+ id?: string | undefined;
73
73
  errorMessage?: React.ReactNode;
74
74
  size?: import("@gravity-ui/uikit").InputControlSize | undefined;
75
75
  label?: string | undefined;
@@ -7,7 +7,7 @@ import _isEmpty from 'lodash/isEmpty';
7
7
  import ellipsisIcon from '../../../../img/svg/ellipsis.svg';
8
8
  import { useDispatch, useSelector } from 'react-redux';
9
9
  import { PagesSettingsEditor, usePagesMenuItems } from './PagesSettingsEditor';
10
- import { getClusterConfigByName, getCurrentUserName, getRootPagesCluster } from '../../store/selectors/global';
10
+ import { getAuthWay, getClusterConfigByName, getCurrentUserName, getRootPagesCluster } from '../../store/selectors/global';
11
11
  import SettingsPanel from '../SettingsPanel/SettingsPanel';
12
12
  import { useClusterFromLocation } from '../../hooks/use-cluster';
13
13
  import "./AppNavigation.css";
@@ -32,6 +32,7 @@ export default function AppNavigation(_ref) {
32
32
  var clusterConfig = getClusterConfigByName(cluster || '');
33
33
  var items = usePagesMenuItems(cluster);
34
34
  var currentUser = useSelector(getCurrentUserName);
35
+ var authWay = useSelector(getAuthWay);
35
36
  var _React$useState = React.useState(false),
36
37
  _React$useState2 = _slicedToArray(_React$useState, 2),
37
38
  settingsVisible = _React$useState2[0],
@@ -88,6 +89,7 @@ export default function AppNavigation(_ref) {
88
89
  'no-cluster': !cluster
89
90
  }),
90
91
  currentUser: currentUser,
92
+ authWay: authWay,
91
93
  menuItems: _isEmpty(clusterConfig) ? [] : menuItems,
92
94
  panelContent: /*#__PURE__*/_jsx(PagesSettingsEditor, {
93
95
  cluster: cluster,
@@ -1 +1 @@
1
- {"version":3,"names":["React","cn","_some","_isEmpty","ellipsisIcon","useDispatch","useSelector","PagesSettingsEditor","usePagesMenuItems","getClusterConfigByName","getCurrentUserName","getRootPagesCluster","SettingsPanel","useClusterFromLocation","UIFactory","getSettingNavigationPanelExpanded","setSettingNavigationPanelExpanded","setAsideHeaderWidth","jsx","_jsx","block","isRootPage","cluster","arguments","length","undefined","getExtraRootPages","info","pageId","AppNavigation","_ref","children","dispatch","pageOrCluster","rootPageCluster","clusterConfig","items","currentUser","_React$useState","useState","_React$useState2","_slicedToArray","settingsVisible","setSettingsVisible","_React$useState3","_React$useState4","panelVisible","setPanelVisible","onClosePanel","useCallback","togglePanelVisibility","toggleSettingsVisible","menuItems","useMemo","concat","_toConsumableArray","id","title","icon","current","onItemClick","iconSize","className","expanded","onChangeCompact","newCompact","setTimeout","el","window","document","querySelector","_getComputedStyle","_widthStr$slice","widthStr","getComputedStyle","getPropertyValue","width","Number","slice","call","isNaN","props","logoClassName","panelContent","panelClassName","settingsContent","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","cn","_some","_isEmpty","ellipsisIcon","useDispatch","useSelector","PagesSettingsEditor","usePagesMenuItems","getAuthWay","getClusterConfigByName","getCurrentUserName","getRootPagesCluster","SettingsPanel","useClusterFromLocation","UIFactory","getSettingNavigationPanelExpanded","setSettingNavigationPanelExpanded","setAsideHeaderWidth","jsx","_jsx","block","isRootPage","cluster","arguments","length","undefined","getExtraRootPages","info","pageId","AppNavigation","_ref","children","dispatch","pageOrCluster","rootPageCluster","clusterConfig","items","currentUser","authWay","_React$useState","useState","_React$useState2","_slicedToArray","settingsVisible","setSettingsVisible","_React$useState3","_React$useState4","panelVisible","setPanelVisible","onClosePanel","useCallback","togglePanelVisibility","toggleSettingsVisible","menuItems","useMemo","concat","_toConsumableArray","id","title","icon","current","onItemClick","iconSize","className","expanded","onChangeCompact","newCompact","setTimeout","el","window","document","querySelector","_getComputedStyle","_widthStr$slice","widthStr","getComputedStyle","getPropertyValue","width","Number","slice","call","isNaN","props","logoClassName","panelContent","panelClassName","settingsContent","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":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,EAAE,MAAM,aAAa;AAC5B,OAAOC,KAAK,MAAM,aAAa;AAC/B,OAAOC,QAAQ,MAAM,gBAAgB;AAErC,OAAOC,YAAY,MAAM,kCAAkC;AAE3D,SAAQC,WAAW,EAAEC,WAAW,QAAO,aAAa;AAEpD,SAAQC,mBAAmB,EAAEC,iBAAiB,QAAO,uBAAuB;AAC5E,SACIC,UAAU,EACVC,sBAAsB,EACtBC,kBAAkB,EAClBC,mBAAmB,QAChB,8BAA8B;AAErC,OAAOC,aAAa,MAAM,gCAAgC;AAC1D,SAAQC,sBAAsB,QAAO,yBAAyB;AAE9D,OAAO,qBAAsB;AAC7B,OAAOC,SAAS,MAAM,iBAAiB;AAEvC,SAAQC,iCAAiC,QAAO,gCAAgC;AAChF,SAAQC,iCAAiC,QAAO,uCAAuC;AACvF,SAAQC,mBAAmB,QAAO,4BAA4B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE/D,IAAMC,KAAK,GAAGpB,EAAE,CAAC,gBAAgB,CAAC;AAMlC,SAASqB,UAAUA,CAAA,EAAe;EAAA,IAAdC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAC5B,OAAOtB,KAAK,CAACa,SAAS,CAACY,iBAAiB,CAAC,CAAC,EAAE,UAACC,IAAI,EAAK;IAClD,OAAOL,OAAO,KAAKK,IAAI,CAACC,MAAM;EAClC,CAAC,CAAC;AACN;AAEA,eAAe,SAASC,aAAaA,CAAAC,IAAA,EAAuB;EAAA,IAArBC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EAC3C,IAAMC,QAAQ,GAAG5B,WAAW,CAAC,CAAC;EAC9B,IAAM6B,aAAa,GAAGpB,sBAAsB,CAAC,CAAC;EAC9C,IAAMqB,eAAe,GAAG7B,WAAW,CAACM,mBAAmB,CAAC;EACxD,IAAMW,OAAO,GAAGD,UAAU,CAACY,aAAa,CAAC,GAAGC,eAAe,GAAGD,aAAa;EAC3E,IAAME,aAAa,GAAG1B,sBAAsB,CAACa,OAAO,IAAI,EAAE,CAAC;EAE3D,IAAMc,KAAK,GAAG7B,iBAAiB,CAACe,OAAO,CAAC;EACxC,IAAMe,WAAW,GAAGhC,WAAW,CAACK,kBAAkB,CAAC;EACnD,IAAM4B,OAAO,GAAGjC,WAAW,CAACG,UAAU,CAAC;EAEvC,IAAA+B,eAAA,GAA8CxC,KAAK,CAACyC,QAAQ,CAAC,KAAK,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAH,eAAA;IAA5DI,eAAe,GAAAF,gBAAA;IAAEG,kBAAkB,GAAAH,gBAAA;EAC1C,IAAAI,gBAAA,GAAwC9C,KAAK,CAACyC,QAAQ,CAAC,KAAK,CAAC;IAAAM,gBAAA,GAAAJ,cAAA,CAAAG,gBAAA;IAAtDE,YAAY,GAAAD,gBAAA;IAAEE,eAAe,GAAAF,gBAAA;EAEpC,IAAMG,YAAY,GAAGlD,KAAK,CAACmD,WAAW,CAAC,YAAM;IACzCN,kBAAkB,CAAC,KAAK,CAAC;IACzBI,eAAe,CAAC,KAAK,CAAC;EAC1B,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMG,qBAAqB,GAAGpD,KAAK,CAACmD,WAAW,CAAC,YAAM;IAClDN,kBAAkB,CAAC,KAAK,CAAC;IACzBI,eAAe,CAAC,CAACD,YAAY,CAAC;EAClC,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAElB,IAAMK,qBAAqB,GAAGrD,KAAK,CAACmD,WAAW,CAAC,YAAM;IAClDF,eAAe,CAAC,KAAK,CAAC;IACtBJ,kBAAkB,CAAC,CAACD,eAAe,CAAC;EACxC,CAAC,EAAE,CAACA,eAAe,CAAC,CAAC;EAErB,IAAMU,SAAuB,GAAGtD,KAAK,CAACuD,OAAO,CAAC,YAAM;IAChD,IAAI,CAAChC,OAAO,EAAE;MACV,OAAO,EAAE;IACb;IACA,UAAAiC,MAAA,CAAAC,kBAAA,CACOpB,KAAK,IACR;MACIqB,EAAE,EAAE,WAAW;MACfC,KAAK,EAAE,WAAW;MAClBC,IAAI,EAAExD,YAAY;MAClByD,OAAO,EAAE,KAAK;MACdC,WAAW,EAAEV,qBAAqB;MAClCW,QAAQ,EAAE;IACd,CAAC;EAET,CAAC,EAAE,CAAC1B,KAAK,EAAEd,OAAO,EAAE6B,qBAAqB,CAAC,CAAC;EAE3C,IAAMY,SAAS,GAAG3C,KAAK,CAAC,CAAC;EAEzB,IAAM4C,QAAQ,GAAG3D,WAAW,CAACU,iCAAiC,CAAC;EAC/D,IAAMkD,eAAe,GAAGlE,KAAK,CAACmD,WAAW,CACrC,UAACgB,UAAmB,EAAK;IACrBlC,QAAQ,CAAChB,iCAAiC,CAAC,CAACkD,UAAU,CAAC,CAAC;IAExDC,UAAU,CAAC,YAAM;MACb,IAAMC,EAAE,GAAGC,MAAM,CAACC,QAAQ,CAACC,aAAa,KAAAhB,MAAA,CAAKQ,SAAS,CAAE,CAAC;MACzD,IAAIK,EAAE,EAAE;QAAA,IAAAI,iBAAA,EAAAC,eAAA;QACJ,IAAMC,QAAQ,IAAAF,iBAAA,GACVG,gBAAgB,CAACP,EAAE,CAAC,cAAAI,iBAAA,uBAApBA,iBAAA,CAAsBI,gBAAgB,CAAC,wBAAwB,CAAC;QACpE,IAAMC,KAAK,GAAGC,MAAM,CAACJ,QAAQ,aAARA,QAAQ,gBAAAD,eAAA,GAARC,QAAQ,CAAEK,KAAK,cAAAN,eAAA,uBAAfA,eAAA,CAAAO,IAAA,CAAAN,QAAQ,EAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,IAAI,CAACO,KAAK,CAACJ,KAAK,CAAC,EAAE;UACf7C,QAAQ,CAACf,mBAAmB,CAAC4D,KAAK,CAAC,CAAC;QACxC;MACJ;IACJ,CAAC,EAAE,GAAG,CAAC;EACX,CAAC,EACD,CAAC7C,QAAQ,CACb,CAAC;EAED,IAAMkD,KAAyB,GAAG;IAC9BnB,SAAS,EAATA,SAAS;IACT5B,aAAa,EAAbA,aAAa;IACbgD,aAAa,EAAE/D,KAAK,CAAC,WAAW,EAAE;MAAC,YAAY,EAAE,CAACE;IAAO,CAAC,CAAC;IAC3De,WAAW,EAAXA,WAAW;IACXC,OAAO,EAAPA,OAAO;IACPe,SAAS,EAAEnD,QAAQ,CAACiC,aAAa,CAAC,GAAG,EAAE,GAAGkB,SAAS;IACnD+B,YAAY,eACRjE,IAAA,CAACb,mBAAmB;MAChBgB,OAAO,EAAEA,OAAQ;MACjByC,SAAS,EAAE3C,KAAK,CAAC,eAAe,CAAE;MAClCyC,WAAW,EAAEZ;IAAa,CAC7B,CACJ;IACDoC,cAAc,EAAEjE,KAAK,CAAC,OAAO,CAAC;IAC9B2B,YAAY,EAAZA,YAAY;IACZE,YAAY,EAAZA,YAAY;IACZqC,eAAe,eAAEnE,IAAA,CAACP,aAAa,IAAE,CAAC;IAClC+B,eAAe,EAAfA,eAAe;IACfS,qBAAqB,EAArBA,qBAAqB;IAErBmC,OAAO,EAAE,CAACvB,QAAQ;IAClBC,eAAe,EAAfA,eAAe;IACflC,QAAQ,EAARA;EACJ,CAAC;EAED,OAAOjB,SAAS,CAAC0E,mBAAmB,CAACN,KAAK,CAAC;AAC/C"}
@@ -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;
@@ -2,10 +2,7 @@ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import React, { useState } from 'react';
4
4
  import cn from 'bem-cn-lite';
5
- import axios from 'axios';
6
- import { useHistory } from 'react-router';
7
5
  import { FooterItem, PageLayoutAside } from '@gravity-ui/navigation';
8
- import { Menu } from '@gravity-ui/uikit';
9
6
  import Logo from '../../../../img/svg/appLogo.svg';
10
7
  var GearIcon = function GearIcon(props) {
11
8
  return /*#__PURE__*/_jsxs("svg", _objectSpread(_objectSpread({}, props), {}, {
@@ -38,6 +35,8 @@ GearIcon.defaultProps = {
38
35
  import Link from '../../components/Link/Link';
39
36
  import unknown from '../../../../img/user-avatar.svg';
40
37
  import "./AppNavigationComponent.css";
38
+ import { Menu } from '@gravity-ui/uikit';
39
+ import { useHistory } from 'react-router';
41
40
  import { jsx as _jsx } from "react/jsx-runtime";
42
41
  import { jsxs as _jsxs } from "react/jsx-runtime";
43
42
  import { Fragment as _Fragment } from "react/jsx-runtime";
@@ -46,6 +45,7 @@ function AppNavigationComponent(_ref) {
46
45
  var logoClassName = _ref.logoClassName,
47
46
  menuItems = _ref.menuItems,
48
47
  currentUser = _ref.currentUser,
48
+ authWay = _ref.authWay,
49
49
  panelContent = _ref.panelContent,
50
50
  panelVisible = _ref.panelVisible,
51
51
  panelClassName = _ref.panelClassName,
@@ -136,15 +136,13 @@ function AppNavigationComponent(_ref) {
136
136
  return /*#__PURE__*/_jsx("div", {
137
137
  className: block('settings-ul'),
138
138
  children: /*#__PURE__*/_jsxs(Menu, {
139
- children: [/*#__PURE__*/_jsx(Menu.Item, {
139
+ children: [authWay === 'passwd' && /*#__PURE__*/_jsx(Menu.Item, {
140
140
  onClick: function onClick() {
141
141
  return history.push('/change-password');
142
142
  },
143
143
  children: "Change password"
144
144
  }), /*#__PURE__*/_jsx(Menu.Item, {
145
- onClick: function onClick() {
146
- axios.post('/api/yt/logout')["catch"](function () {});
147
- },
145
+ href: '/api/yt/logout',
148
146
  children: "Logout"
149
147
  })]
150
148
  })
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","cn","axios","useHistory","FooterItem","PageLayoutAside","Menu","Logo","GearIcon","props","_jsxs","_objectSpread","children","_jsx","clipPath","fill","fillRule","d","clipRule","id","defaultProps","xmlns","width","height","viewBox","Link","unknown","jsx","jsxs","Fragment","_Fragment","block","AppNavigationComponent","_ref","logoClassName","menuItems","currentUser","panelContent","panelVisible","panelClassName","onClosePanel","settingsVisible","settingsContent","toggleSettingsVisible","onChangeCompact","panelItems","useMemo","content","visible","className","_useState","_useState2","_slicedToArray","popupVisible","setPopupVisible","history","multipleTooltip","headerDecoration","logo","text","textSize","icon","iconSize","iconClassName","wrapper","node","url","theme","target","renderFooter","_ref2","compact","item","title","onItemClick","itemWrapper","_ref3","makeItem","src","enableTooltip","onClosePopup","renderPopupContent","Item","onClick","push","post","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","useState","cn","FooterItem","PageLayoutAside","Logo","GearIcon","props","_jsxs","_objectSpread","children","_jsx","clipPath","fill","fillRule","d","clipRule","id","defaultProps","xmlns","width","height","viewBox","Link","unknown","Menu","useHistory","jsx","jsxs","Fragment","_Fragment","block","AppNavigationComponent","_ref","logoClassName","menuItems","currentUser","authWay","panelContent","panelVisible","panelClassName","onClosePanel","settingsVisible","settingsContent","toggleSettingsVisible","onChangeCompact","panelItems","useMemo","content","visible","className","_useState","_useState2","_slicedToArray","popupVisible","setPopupVisible","history","multipleTooltip","headerDecoration","logo","text","textSize","icon","iconSize","iconClassName","wrapper","node","url","theme","target","renderFooter","_ref2","compact","item","title","onItemClick","itemWrapper","_ref3","makeItem","src","enableTooltip","onClosePopup","renderPopupContent","Item","onClick","push","href","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","AsideFallback","PageLayout","jsx","_jsx","jsxs","_jsxs","Aside","lazy","AppNavigationPageLayout","props","onChangeCompact","className","compact","rest","_objectWithoutProperties","_excluded","children","Suspense","fallback","_objectSpread","Content","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,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAQC,aAAa,EAAYC,UAAU,QAAO,wBAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AA8B3E,IAAMC,KAAK,gBAAGP,KAAK,CAACQ,IAAI,CAAC;EAAA,OAAM,MAAM,CAAC,0BAA0B,CAAC;AAAA,EAAC;AAElE,OAAO,SAASC,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,GAAAC,wBAAA,CAAIL,KAAK,EAAAM,SAAA;EAE5D,oBACIV,KAAA,CAACJ,UAAU;IAACW,OAAO,EAAEA,OAAQ;IAACD,SAAS,EAAEA,SAAU;IAAAK,QAAA,gBAC/Cb,IAAA,CAACJ,KAAK,CAACkB,QAAQ;MAACC,QAAQ,eAAEf,IAAA,CAACH,aAAa,IAAE,CAAE;MAAAgB,QAAA,eACxCb,IAAA,CAACG,KAAK,EAAAa,aAAA,CAAAA,aAAA,KAAKN,IAAI;QAAEH,eAAe,EAAEA;MAAgB,EAAE;IAAC,CACzC,CAAC,eAEjBP,IAAA,CAACF,UAAU,CAACmB,OAAO;MAAAJ,QAAA,EAAEP,KAAK,CAACO;IAAQ,CAAqB,CAAC;EAAA,CACjD,CAAC;AAErB;AAEA,4BAAejB,KAAK,CAACsB,IAAI,CAACb,uBAAuB,CAAC"}
1
+ {"version":3,"names":["React","AsideFallback","PageLayout","jsx","_jsx","jsxs","_jsxs","Aside","lazy","AppNavigationPageLayout","props","onChangeCompact","className","compact","rest","_objectWithoutProperties","_excluded","children","Suspense","fallback","_objectSpread","Content","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,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAQC,aAAa,EAAYC,UAAU,QAAO,wBAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAiC3E,IAAMC,KAAK,gBAAGP,KAAK,CAACQ,IAAI,CAAC;EAAA,OAAM,MAAM,CAAC,0BAA0B,CAAC;AAAA,EAAC;AAElE,OAAO,SAASC,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,GAAAC,wBAAA,CAAIL,KAAK,EAAAM,SAAA;EAE5D,oBACIV,KAAA,CAACJ,UAAU;IAACW,OAAO,EAAEA,OAAQ;IAACD,SAAS,EAAEA,SAAU;IAAAK,QAAA,gBAC/Cb,IAAA,CAACJ,KAAK,CAACkB,QAAQ;MAACC,QAAQ,eAAEf,IAAA,CAACH,aAAa,IAAE,CAAE;MAAAgB,QAAA,eACxCb,IAAA,CAACG,KAAK,EAAAa,aAAA,CAAAA,aAAA,KAAKN,IAAI;QAAEH,eAAe,EAAEA;MAAgB,EAAE;IAAC,CACzC,CAAC,eAEjBP,IAAA,CAACF,UAAU,CAACmB,OAAO;MAAAJ,QAAA,EAAEP,KAAK,CAACO;IAAQ,CAAqB,CAAC;EAAA,CACjD,CAAC;AAErB;AAEA,4BAAejB,KAAK,CAACsB,IAAI,CAACb,uBAAuB,CAAC"}
@@ -25,6 +25,7 @@ declare function _default(state: {
25
25
  schedulerVersion: null;
26
26
  masterVersion: null;
27
27
  login: any;
28
+ authWay: any;
28
29
  paramsLoading: boolean;
29
30
  paramsLoaded: boolean;
30
31
  paramsError: null;
@@ -39,6 +39,7 @@ var initialState = {
39
39
  schedulerVersion: null,
40
40
  masterVersion: null,
41
41
  login: YT.parameters.login,
42
+ authWay: YT.parameters.authWay,
42
43
  // cluster-params
43
44
  paramsLoading: false,
44
45
  paramsLoaded: false,
@@ -1 +1 @@
1
- {"version":3,"names":["MaintenancePage","BAN_USER","BLOCK_USER","DEC_NAV_BLOCKER_COUNTER","GLOBAL_SET_THEME","INC_NAV_BLOCKER_COUNTER","INIT_CLUSTER_PARAMS","LOADING_STATUS","LOAD_ERROR","MERGE_SCREEN","SET_MAINTENANCE_PAGE_EVENT","SPLIT_SCREEN","UPDATE_CLUSTER","UPDATE_TITLE","GLOBAL_PARTIAL","EMPTY_OBJECT","getClusterConfig","defaultClusterUiConfig","YT","window","initialState","title","cluster","rootPagesCluster","page","path","activeNavigationBlockers","splitScreen","isSplit","paneClassNames","type","blocked","banned","maintenancePageEvent","ongoingPageEvents","eventsFirstUpdate","loadState","UNINITIALIZED","error","version","parameters","schedulerVersion","masterVersion","login","paramsLoading","paramsLoaded","paramsError","isDeveloper","mediumList","groups","users","undefined","bundles","accounts","poolTrees","clusterUiConfig","showLoginDialog","theme","asideHeaderWidth","allowedExperimentalPages","updatedTitle","state","_ref","clusters","clusterConfig","clusterName","name","_filter","_identity","join","arguments","length","action","_objectSpread","data","errors","REQUEST","FAILURE","SUCCESS","_action$data","_sortBy","paramsCluster","_action$data2","events","isFirstUpdate","getNotificationWithMaintenance","LOADING","FINAL_SUCCESS","LOADED","_action$data3","errorType","GENERAL","ERROR","_action$data4"],"sources":["index.js"],"sourcesContent":["import _ from 'lodash';\n\nimport MaintenancePage from '../../../containers/MaintenancePage/MaintenancePage';\nimport {\n BAN_USER,\n BLOCK_USER,\n DEC_NAV_BLOCKER_COUNTER,\n GLOBAL_SET_THEME,\n INC_NAV_BLOCKER_COUNTER,\n INIT_CLUSTER_PARAMS,\n LOADING_STATUS,\n LOAD_ERROR,\n MERGE_SCREEN,\n SET_MAINTENANCE_PAGE_EVENT,\n SPLIT_SCREEN,\n UPDATE_CLUSTER,\n UPDATE_TITLE,\n} from '../../../constants/index';\nimport {GLOBAL_PARTIAL} from '../../../constants/global';\nimport {EMPTY_OBJECT} from '../../../constants/empty';\n\nimport {getClusterConfig} from '../../../utils';\nimport {defaultClusterUiConfig} from './cluster-ui-config';\n\nconst YT = window.YT;\nconst initialState = {\n title: 'Clusters',\n cluster: YT.cluster,\n /**\n * If not empty then AppNavigation should display page-items.\n * The pages which sets the field should also clear it.\n */\n rootPagesCluster: '',\n page: '',\n path: '',\n\n activeNavigationBlockers: 0,\n splitScreen: {\n isSplit: false,\n paneClassNames: [],\n type: '',\n },\n // scrollOffset: 0,\n blocked: false, // user may become automatically temporarily banned\n banned: false, // user may be banned by administrator\n maintenancePageEvent: null,\n ongoingPageEvents: null,\n eventsFirstUpdate: false,\n\n loadState: LOADING_STATUS.UNINITIALIZED,\n error: EMPTY_OBJECT,\n\n version: YT.parameters.version,\n schedulerVersion: null,\n masterVersion: null,\n login: YT.parameters.login,\n\n // cluster-params\n paramsLoading: false,\n paramsLoaded: false,\n paramsError: null,\n\n isDeveloper: false, // groups of current user\n mediumList: [],\n groups: [],\n users: undefined,\n bundles: undefined,\n accounts: [],\n poolTrees: undefined,\n clusterUiConfig: defaultClusterUiConfig,\n\n showLoginDialog: false,\n\n theme: '',\n\n asideHeaderWidth: 56,\n\n allowedExperimentalPages: [],\n};\n\nfunction updatedTitle(state, {cluster, page, path, clusters}) {\n cluster = typeof cluster !== 'undefined' ? cluster : state.cluster;\n page = typeof page !== 'undefined' ? page : state.page;\n path = typeof path !== 'undefined' ? path : state.path;\n\n const clusterConfig = getClusterConfig(clusters, cluster);\n const clusterName = clusterConfig.name || cluster;\n const title = _.filter([path, page, clusterName], _.identity).join(' - ');\n\n return {cluster, page, path, title};\n}\n\nexport default (state = initialState, action) => {\n switch (action.type) {\n case UPDATE_TITLE:\n return {...state, ...updatedTitle(state, action.data)};\n\n case INC_NAV_BLOCKER_COUNTER:\n return {\n ...state,\n activeNavigationBlockers: state.activeNavigationBlockers + 1,\n };\n\n case DEC_NAV_BLOCKER_COUNTER: {\n const errors = state.activeNavigationBlockers;\n\n return {\n ...state,\n activeNavigationBlockers: errors > 0 ? errors - 1 : 0,\n };\n }\n\n case INIT_CLUSTER_PARAMS.REQUEST: {\n return {\n ...state,\n paramsLoading: true,\n users: undefined,\n groups: undefined,\n accounts: undefined,\n bundles: undefined,\n poolTrees: undefined,\n };\n }\n\n case INIT_CLUSTER_PARAMS.FAILURE: {\n return {\n ...state,\n paramsLoaded: false,\n paramsLoading: false,\n paramsError: action.data,\n };\n }\n\n case INIT_CLUSTER_PARAMS.SUCCESS: {\n const {\n mediumList,\n schedulerVersion,\n masterVersion,\n accounts,\n isDeveloper,\n clusterUiConfig,\n cluster,\n } = action.data;\n\n return {\n ...state,\n accounts: _.sortBy(accounts),\n mediumList,\n isDeveloper,\n clusterUiConfig,\n paramsCluster: cluster,\n paramsLoaded: true,\n paramsLoading: false,\n paramsError: undefined,\n schedulerVersion,\n masterVersion,\n };\n }\n\n case BLOCK_USER:\n return {...state, blocked: true};\n\n case BAN_USER:\n return {...state, banned: true};\n\n case SET_MAINTENANCE_PAGE_EVENT: {\n const {events, isFirstUpdate} = action.data;\n const maintenancePageEvent = MaintenancePage.getNotificationWithMaintenance(events);\n\n return {\n ...state,\n maintenancePageEvent,\n ongoingPageEvents: events,\n eventsFirstUpdate: isFirstUpdate,\n };\n }\n\n case UPDATE_CLUSTER.REQUEST:\n return {\n ...state,\n maintenancePageEvent: null,\n loadState: LOADING_STATUS.LOADING,\n };\n\n case UPDATE_CLUSTER.FINAL_SUCCESS: {\n return {\n ...state,\n error: EMPTY_OBJECT,\n loadState: LOADING_STATUS.LOADED,\n };\n }\n\n case UPDATE_CLUSTER.SUCCESS: {\n const {version} = action.data;\n\n return {\n ...state,\n version,\n };\n }\n\n case UPDATE_CLUSTER.FAILURE: {\n const {error, errorType} = action.data;\n\n return {\n ...state,\n error: {\n error,\n errorType: errorType || LOAD_ERROR.GENERAL,\n },\n loadState: LOADING_STATUS.ERROR,\n };\n }\n\n case SPLIT_SCREEN: {\n const {paneClassNames, type} = action.data;\n const splitScreen = {isSplit: true, paneClassNames, type};\n\n return {...state, splitScreen};\n }\n\n case MERGE_SCREEN:\n return {...state, splitScreen: initialState.splitScreen};\n\n case GLOBAL_SET_THEME:\n return {...state, theme: action.data};\n\n case GLOBAL_PARTIAL:\n return {...state, ...action.data};\n\n default:\n return state;\n }\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["MaintenancePage","BAN_USER","BLOCK_USER","DEC_NAV_BLOCKER_COUNTER","GLOBAL_SET_THEME","INC_NAV_BLOCKER_COUNTER","INIT_CLUSTER_PARAMS","LOADING_STATUS","LOAD_ERROR","MERGE_SCREEN","SET_MAINTENANCE_PAGE_EVENT","SPLIT_SCREEN","UPDATE_CLUSTER","UPDATE_TITLE","GLOBAL_PARTIAL","EMPTY_OBJECT","getClusterConfig","defaultClusterUiConfig","YT","window","initialState","title","cluster","rootPagesCluster","page","path","activeNavigationBlockers","splitScreen","isSplit","paneClassNames","type","blocked","banned","maintenancePageEvent","ongoingPageEvents","eventsFirstUpdate","loadState","UNINITIALIZED","error","version","parameters","schedulerVersion","masterVersion","login","authWay","paramsLoading","paramsLoaded","paramsError","isDeveloper","mediumList","groups","users","undefined","bundles","accounts","poolTrees","clusterUiConfig","showLoginDialog","theme","asideHeaderWidth","allowedExperimentalPages","updatedTitle","state","_ref","clusters","clusterConfig","clusterName","name","_filter","_identity","join","arguments","length","action","_objectSpread","data","errors","REQUEST","FAILURE","SUCCESS","_action$data","_sortBy","paramsCluster","_action$data2","events","isFirstUpdate","getNotificationWithMaintenance","LOADING","FINAL_SUCCESS","LOADED","_action$data3","errorType","GENERAL","ERROR","_action$data4"],"sources":["index.js"],"sourcesContent":["import _ from 'lodash';\n\nimport MaintenancePage from '../../../containers/MaintenancePage/MaintenancePage';\nimport {\n BAN_USER,\n BLOCK_USER,\n DEC_NAV_BLOCKER_COUNTER,\n GLOBAL_SET_THEME,\n INC_NAV_BLOCKER_COUNTER,\n INIT_CLUSTER_PARAMS,\n LOADING_STATUS,\n LOAD_ERROR,\n MERGE_SCREEN,\n SET_MAINTENANCE_PAGE_EVENT,\n SPLIT_SCREEN,\n UPDATE_CLUSTER,\n UPDATE_TITLE,\n} from '../../../constants/index';\nimport {GLOBAL_PARTIAL} from '../../../constants/global';\nimport {EMPTY_OBJECT} from '../../../constants/empty';\n\nimport {getClusterConfig} from '../../../utils';\nimport {defaultClusterUiConfig} from './cluster-ui-config';\n\nconst YT = window.YT;\nconst initialState = {\n title: 'Clusters',\n cluster: YT.cluster,\n /**\n * If not empty then AppNavigation should display page-items.\n * The pages which sets the field should also clear it.\n */\n rootPagesCluster: '',\n page: '',\n path: '',\n\n activeNavigationBlockers: 0,\n splitScreen: {\n isSplit: false,\n paneClassNames: [],\n type: '',\n },\n // scrollOffset: 0,\n blocked: false, // user may become automatically temporarily banned\n banned: false, // user may be banned by administrator\n maintenancePageEvent: null,\n ongoingPageEvents: null,\n eventsFirstUpdate: false,\n\n loadState: LOADING_STATUS.UNINITIALIZED,\n error: EMPTY_OBJECT,\n\n version: YT.parameters.version,\n schedulerVersion: null,\n masterVersion: null,\n login: YT.parameters.login,\n authWay: YT.parameters.authWay,\n\n // cluster-params\n paramsLoading: false,\n paramsLoaded: false,\n paramsError: null,\n\n isDeveloper: false, // groups of current user\n mediumList: [],\n groups: [],\n users: undefined,\n bundles: undefined,\n accounts: [],\n poolTrees: undefined,\n clusterUiConfig: defaultClusterUiConfig,\n\n showLoginDialog: false,\n\n theme: '',\n\n asideHeaderWidth: 56,\n\n allowedExperimentalPages: [],\n};\n\nfunction updatedTitle(state, {cluster, page, path, clusters}) {\n cluster = typeof cluster !== 'undefined' ? cluster : state.cluster;\n page = typeof page !== 'undefined' ? page : state.page;\n path = typeof path !== 'undefined' ? path : state.path;\n\n const clusterConfig = getClusterConfig(clusters, cluster);\n const clusterName = clusterConfig.name || cluster;\n const title = _.filter([path, page, clusterName], _.identity).join(' - ');\n\n return {cluster, page, path, title};\n}\n\nexport default (state = initialState, action) => {\n switch (action.type) {\n case UPDATE_TITLE:\n return {...state, ...updatedTitle(state, action.data)};\n\n case INC_NAV_BLOCKER_COUNTER:\n return {\n ...state,\n activeNavigationBlockers: state.activeNavigationBlockers + 1,\n };\n\n case DEC_NAV_BLOCKER_COUNTER: {\n const errors = state.activeNavigationBlockers;\n\n return {\n ...state,\n activeNavigationBlockers: errors > 0 ? errors - 1 : 0,\n };\n }\n\n case INIT_CLUSTER_PARAMS.REQUEST: {\n return {\n ...state,\n paramsLoading: true,\n users: undefined,\n groups: undefined,\n accounts: undefined,\n bundles: undefined,\n poolTrees: undefined,\n };\n }\n\n case INIT_CLUSTER_PARAMS.FAILURE: {\n return {\n ...state,\n paramsLoaded: false,\n paramsLoading: false,\n paramsError: action.data,\n };\n }\n\n case INIT_CLUSTER_PARAMS.SUCCESS: {\n const {\n mediumList,\n schedulerVersion,\n masterVersion,\n accounts,\n isDeveloper,\n clusterUiConfig,\n cluster,\n } = action.data;\n\n return {\n ...state,\n accounts: _.sortBy(accounts),\n mediumList,\n isDeveloper,\n clusterUiConfig,\n paramsCluster: cluster,\n paramsLoaded: true,\n paramsLoading: false,\n paramsError: undefined,\n schedulerVersion,\n masterVersion,\n };\n }\n\n case BLOCK_USER:\n return {...state, blocked: true};\n\n case BAN_USER:\n return {...state, banned: true};\n\n case SET_MAINTENANCE_PAGE_EVENT: {\n const {events, isFirstUpdate} = action.data;\n const maintenancePageEvent = MaintenancePage.getNotificationWithMaintenance(events);\n\n return {\n ...state,\n maintenancePageEvent,\n ongoingPageEvents: events,\n eventsFirstUpdate: isFirstUpdate,\n };\n }\n\n case UPDATE_CLUSTER.REQUEST:\n return {\n ...state,\n maintenancePageEvent: null,\n loadState: LOADING_STATUS.LOADING,\n };\n\n case UPDATE_CLUSTER.FINAL_SUCCESS: {\n return {\n ...state,\n error: EMPTY_OBJECT,\n loadState: LOADING_STATUS.LOADED,\n };\n }\n\n case UPDATE_CLUSTER.SUCCESS: {\n const {version} = action.data;\n\n return {\n ...state,\n version,\n };\n }\n\n case UPDATE_CLUSTER.FAILURE: {\n const {error, errorType} = action.data;\n\n return {\n ...state,\n error: {\n error,\n errorType: errorType || LOAD_ERROR.GENERAL,\n },\n loadState: LOADING_STATUS.ERROR,\n };\n }\n\n case SPLIT_SCREEN: {\n const {paneClassNames, type} = action.data;\n const splitScreen = {isSplit: true, paneClassNames, type};\n\n return {...state, splitScreen};\n }\n\n case MERGE_SCREEN:\n return {...state, splitScreen: initialState.splitScreen};\n\n case GLOBAL_SET_THEME:\n return {...state, theme: action.data};\n\n case GLOBAL_PARTIAL:\n return {...state, ...action.data};\n\n default:\n return state;\n }\n};\n"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { RootState } from '../../../store/reducers';
2
2
  import { ClusterConfig } from '../../../../shared/yt-types';
3
+ import { AuthWay } from '../../../../shared/constants';
3
4
  export declare const getGlobalError: (state: RootState) => any;
4
5
  export declare const getCluster: (state: RootState) => string;
5
6
  export declare const getRootPagesCluster: (state: RootState) => string | undefined;
@@ -3457,6 +3458,7 @@ export declare const getBundles: (state: RootState) => any;
3457
3458
  export declare const getGlobalUsers: (state: RootState) => any;
3458
3459
  export declare const getGlobalGroups: (state: RootState) => any;
3459
3460
  export declare const getCurrentUserName: (state: RootState) => string;
3461
+ export declare const getAuthWay: (state: RootState) => AuthWay;
3460
3462
  export declare const getAllowedExperimentalPages: (state: RootState) => string[];
3461
3463
  export declare const isDeveloperSettings: ((state: Omit<import("redux").CombinedState<{
3462
3464
  acl: any;
@@ -12127,4 +12129,6 @@ export declare const getAllIdmGroupNamesSorted: ((state: Omit<import("redux").Co
12127
12129
  export declare const getGlobalDefaultPoolTreeName: (state: RootState) => any;
12128
12130
  export declare const getGlobalShowLoginDialog: (state: RootState) => any;
12129
12131
  export declare const getAuthPagesEnabled: () => boolean | undefined;
12132
+ export declare const getOAuthEnabled: () => boolean | undefined;
12133
+ export declare const getOAuthButtonLabel: () => string | undefined;
12130
12134
  export declare const getGlobalAsideHeaderWidth: (state: RootState) => number;
@@ -110,12 +110,16 @@ export var getCurrentUserName = function getCurrentUserName(state) {
110
110
  var _state$global3;
111
111
  return state === null || state === void 0 || (_state$global3 = state.global) === null || _state$global3 === void 0 ? void 0 : _state$global3.login;
112
112
  };
113
+ export var getAuthWay = function getAuthWay(state) {
114
+ var _state$global4;
115
+ return state === null || state === void 0 || (_state$global4 = state.global) === null || _state$global4 === void 0 ? void 0 : _state$global4.authWay;
116
+ };
113
117
  export var getAllowedExperimentalPages = function getAllowedExperimentalPages(state) {
114
118
  return state === null || state === void 0 ? void 0 : state.global.allowedExperimentalPages;
115
119
  };
116
120
  var isCheckedDeveloper = function isCheckedDeveloper(state) {
117
- var _state$global4;
118
- return state === null || state === void 0 || (_state$global4 = state.global) === null || _state$global4 === void 0 ? void 0 : _state$global4.isDeveloper;
121
+ var _state$global5;
122
+ return state === null || state === void 0 || (_state$global5 = state.global) === null || _state$global5 === void 0 ? void 0 : _state$global5.isDeveloper;
119
123
  };
120
124
  export var isDeveloperSettings = createSelector([isCheckedDeveloper, getCurrentUserName], function (isDeveloper, login) {
121
125
  return YT.isLocalCluster || UIFactory.isWatchMen(login) || isDeveloper;
@@ -183,6 +187,12 @@ export var getGlobalShowLoginDialog = function getGlobalShowLoginDialog(state) {
183
187
  export var getAuthPagesEnabled = function getAuthPagesEnabled() {
184
188
  return getConfigData().allowLoginDialog;
185
189
  };
190
+ export var getOAuthEnabled = function getOAuthEnabled() {
191
+ return getConfigData().allowOAuth;
192
+ };
193
+ export var getOAuthButtonLabel = function getOAuthButtonLabel() {
194
+ return getConfigData().oauthButtonLabel;
195
+ };
186
196
  export var getGlobalAsideHeaderWidth = function getGlobalAsideHeaderWidth(state) {
187
197
  return state.global.asideHeaderWidth;
188
198
  };
@@ -1 +1 @@
1
- {"version":3,"names":["createSelector","ypath","flags","getClusterConfig","getSettingsRegularUserUI","YT","getClusterNS","UIFactory","getConfigData","isSupportedYtTvmAPIGlobal","Page","getGlobalError","state","global","error","getCluster","_state$global","cluster","getRootPagesCluster","rootPagesCluster","getGlobalLoadState","loadState","getTheme","theme","getClusterUiConfig","clusterUiConfig","getClusterUiConfigEnablePerAccountTabletAccounting","_state$global$cluster","enable_per_account_tablet_accounting","getClusterUiConfigEnablePerBundleTabletAccounting","_state$global$cluster2","enable_per_bundle_tablet_accounting","getClusterUiConfigBundleAccountingHelpLink","per_bundle_accounting_help_link","getCurrentClusterConfig","clusters","getClusterConfigByName","clusterName","isAllowYtTwmApi","ytApiUseCORS","getClusterProxy","clusterConfig","allowYtTvmApi","concat","window","location","host","id","proxy","getHttpProxyVersion","version","getGlobalSchedulerVersion","schedulerVersion","getGlobalMasterVersion","masterVersion","getCurrentClusterNS","ns","undefined","getUISizes","tabSize","collapsibleSize","getPoolTrees","_state$global2","poolTrees","getAllAccounts","accounts","getBundles","bundles","getGlobalUsers","users","getGlobalGroups","groups","getCurrentUserName","_state$global3","login","getAllowedExperimentalPages","allowedExperimentalPages","isCheckedDeveloper","_state$global4","isDeveloper","isDeveloperSettings","isLocalCluster","isWatchMen","regularUserUI","isQueryTrackerAllowed","allowedPages","expPages","getExperimentalPages","includes","QUERIES","getAllUserNames","usersData","_map","_ref","$value","getAllGroupNames","groupsData","_ref2","getGlobalGroupAttributesMap","data","_reduce","acc","_ref3","$attributes","getAllPoolNames","getAllKeys","obj","_keys","res","key","_typeof","_toConsumableArray","_orderBy","_uniq","_flatten","_values","getAllPoolTreeNames","getAllBundlesNames","bundleNames","bundle","getValue","_sortBy","getAllUserNamesSorted","getAllGroupNamesSorted","getAllIdmGroupNamesSorted","names","attrs","_filter","name","get","getGlobalDefaultPoolTreeName","poolTreeDefault","getGlobalShowLoginDialog","allowLoginDialog","showLoginDialog","getAuthPagesEnabled","getGlobalAsideHeaderWidth","asideHeaderWidth"],"sources":["index.ts"],"sourcesContent":["import {createSelector} from 'reselect';\nimport _ from 'lodash';\n\n// @ts-ignore\nimport ypath from '@ytsaurus/interface-helpers/lib/ypath';\n\nimport {flags, getClusterConfig} from '../../../utils';\nimport {getSettingsRegularUserUI} from '../settings-ts';\n\nimport {RootState} from '../../../store/reducers';\nimport YT from '../../../config/yt-config';\nimport {getClusterNS} from '../settings';\nimport {ClusterConfig} from '../../../../shared/yt-types';\nimport {FIX_MY_TYPE} from '../../../types';\nimport UIFactory from '../../../UIFactory';\nimport {getConfigData} from '../../../config/ui-settings';\nimport {isSupportedYtTvmAPIGlobal} from '../thor/support';\nimport {Page} from '../../../../shared/constants/settings';\n\nexport const getGlobalError = (state: RootState) => state.global.error.error;\n\nexport const getCluster = (state: RootState): string => state?.global?.cluster || '';\nexport const getRootPagesCluster = (state: RootState) => state?.global.rootPagesCluster;\n\nexport const getGlobalLoadState = (state: RootState) => state.global.loadState;\n\nexport const getTheme = (state: RootState): '' | 'dark' | 'light' => state.global.theme;\n\nexport const getClusterUiConfig = (state: RootState) => state.global.clusterUiConfig;\n\nexport const getClusterUiConfigEnablePerAccountTabletAccounting = (state: RootState) => {\n return state.global.clusterUiConfig.enable_per_account_tablet_accounting ?? false;\n};\nexport const getClusterUiConfigEnablePerBundleTabletAccounting = (state: RootState) =>\n state.global.clusterUiConfig.enable_per_bundle_tablet_accounting ?? true;\nexport const getClusterUiConfigBundleAccountingHelpLink = (state: RootState) =>\n state.global.clusterUiConfig.per_bundle_accounting_help_link;\n\nexport const getCurrentClusterConfig = createSelector([getCluster], (cluster): ClusterConfig => {\n return getClusterConfig(YT.clusters, cluster);\n});\n\nexport function getClusterConfigByName(clusterName: string): ClusterConfig {\n return getClusterConfig(YT.clusters, clusterName);\n}\n\nexport function isAllowYtTwmApi() {\n return !getConfigData().ytApiUseCORS && isSupportedYtTvmAPIGlobal();\n}\n\nexport function getClusterProxy(clusterConfig: ClusterConfig): string {\n const allowYtTvmApi = isAllowYtTwmApi();\n if (allowYtTvmApi) {\n return `${window.location.host}/api/yt/${clusterConfig.id}`;\n }\n return clusterConfig.proxy;\n}\n\nexport const getHttpProxyVersion = createSelector(\n [getCluster, (state: RootState) => state.global.version],\n (cluster, version) => {\n return cluster ? version : '';\n },\n);\n\nexport const getGlobalSchedulerVersion = createSelector(\n [getCluster, (state: RootState) => state.global.schedulerVersion],\n (cluster, version) => {\n return cluster ? version : '';\n },\n);\n\nexport const getGlobalMasterVersion = createSelector(\n [getCluster, (state: RootState) => state.global.masterVersion],\n (cluster, version) => {\n return cluster ? version : '';\n },\n);\n\nexport const getCurrentClusterNS = createSelector([getCluster, getClusterNS], (cluster, ns) => {\n return cluster ? ns : undefined;\n});\n\nexport const getUISizes = () => {\n return {\n tabSize: 'l' as const,\n collapsibleSize: 'ss' as const,\n };\n};\n\nexport const getPoolTrees = (state: RootState) => state?.global?.poolTrees;\nexport const getAllAccounts = (state: RootState) => state.global.accounts;\nexport const getBundles = (state: RootState) => state?.global.bundles;\nexport const getGlobalUsers = (state: RootState) => state.global.users;\nexport const getGlobalGroups = (state: RootState) => state.global.groups;\nexport const getCurrentUserName = (state: RootState): string => state?.global?.login;\n\nexport const getAllowedExperimentalPages = (state: RootState) =>\n state?.global.allowedExperimentalPages;\n\nconst isCheckedDeveloper = (state: RootState): boolean => state?.global?.isDeveloper;\n\nexport const isDeveloperSettings = createSelector(\n [isCheckedDeveloper, getCurrentUserName],\n (isDeveloper, login) => {\n return YT.isLocalCluster || UIFactory.isWatchMen(login) || isDeveloper;\n },\n);\n\nexport const isDeveloper = createSelector(\n [isDeveloperSettings, getSettingsRegularUserUI],\n (isDeveloper, regularUserUI) => {\n return !regularUserUI && isDeveloper;\n },\n);\n\nexport const isQueryTrackerAllowed = createSelector(\n [isDeveloper, getAllowedExperimentalPages],\n (isDeveloper, allowedPages) => {\n const expPages = UIFactory.getExperimentalPages();\n return (\n isDeveloper || !expPages.includes(Page.QUERIES) || allowedPages.includes(Page.QUERIES)\n );\n },\n);\n\nexport const getAllUserNames = createSelector([getGlobalUsers], (usersData) => {\n return _.map(usersData, ({$value}) => $value as string);\n});\n\nexport const getAllGroupNames = createSelector([getGlobalGroups], (groupsData) => {\n return _.map(groupsData, ({$value}) => $value as string);\n});\n\nexport const getGlobalGroupAttributesMap = createSelector([getGlobalGroups], (data) => {\n return _.reduce(\n data,\n (acc, {$value, $attributes}) => {\n acc[$value] = $attributes;\n return acc;\n },\n {} as Record<string, {upravlyator_managed: boolean}>,\n );\n});\n\nexport const getAllPoolNames = createSelector(getPoolTrees, (poolTrees) => {\n const getAllKeys = (obj: FIX_MY_TYPE): Array<string> => {\n return _.reduce(\n _.keys(obj),\n (res: FIX_MY_TYPE, key: FIX_MY_TYPE) => {\n if (typeof obj[key] === 'object' && obj[key] !== null) {\n return [...res, key, ...getAllKeys(obj[key])];\n }\n\n return [...res, key];\n },\n [],\n );\n };\n\n return _.orderBy(_.uniq(_.flatten(_.map(_.values(poolTrees), getAllKeys))));\n});\n\nexport const getAllPoolTreeNames = createSelector(getPoolTrees, (poolTrees) => {\n return _.keys(poolTrees);\n});\n\nexport const getAllBundlesNames = createSelector(getBundles, (bundles) => {\n const bundleNames = _.map(bundles, (bundle) => ypath.getValue(bundle, ''));\n\n return _.sortBy(bundleNames);\n});\n\nexport const getAllUserNamesSorted = createSelector(\n [getAllUserNames],\n _.sortBy as (items: Array<unknown>) => Array<string>,\n);\n\nexport const getAllGroupNamesSorted = createSelector(\n [getAllGroupNames],\n _.sortBy as (items: Array<unknown>) => Array<string>,\n);\n\nexport const getAllIdmGroupNamesSorted = createSelector(\n [getAllGroupNamesSorted, getGlobalGroupAttributesMap],\n (names, attrs) => {\n return _.filter(names, (name) =>\n flags.get(attrs[name]['upravlyator_managed'] as FIX_MY_TYPE),\n );\n },\n);\n\nexport const getGlobalDefaultPoolTreeName = (state: RootState) =>\n state.global.poolTreeDefault || 'physical';\n\nexport const getGlobalShowLoginDialog = (state: RootState) => {\n return (\n getConfigData().allowLoginDialog && (!state.global.login || state.global.showLoginDialog)\n );\n};\n\nexport const getAuthPagesEnabled = () => {\n return getConfigData().allowLoginDialog;\n};\n\nexport const getGlobalAsideHeaderWidth = (state: RootState) => state.global.asideHeaderWidth;\n"],"mappings":"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"}
1
+ {"version":3,"names":["createSelector","ypath","flags","getClusterConfig","getSettingsRegularUserUI","YT","getClusterNS","UIFactory","getConfigData","isSupportedYtTvmAPIGlobal","Page","getGlobalError","state","global","error","getCluster","_state$global","cluster","getRootPagesCluster","rootPagesCluster","getGlobalLoadState","loadState","getTheme","theme","getClusterUiConfig","clusterUiConfig","getClusterUiConfigEnablePerAccountTabletAccounting","_state$global$cluster","enable_per_account_tablet_accounting","getClusterUiConfigEnablePerBundleTabletAccounting","_state$global$cluster2","enable_per_bundle_tablet_accounting","getClusterUiConfigBundleAccountingHelpLink","per_bundle_accounting_help_link","getCurrentClusterConfig","clusters","getClusterConfigByName","clusterName","isAllowYtTwmApi","ytApiUseCORS","getClusterProxy","clusterConfig","allowYtTvmApi","concat","window","location","host","id","proxy","getHttpProxyVersion","version","getGlobalSchedulerVersion","schedulerVersion","getGlobalMasterVersion","masterVersion","getCurrentClusterNS","ns","undefined","getUISizes","tabSize","collapsibleSize","getPoolTrees","_state$global2","poolTrees","getAllAccounts","accounts","getBundles","bundles","getGlobalUsers","users","getGlobalGroups","groups","getCurrentUserName","_state$global3","login","getAuthWay","_state$global4","authWay","getAllowedExperimentalPages","allowedExperimentalPages","isCheckedDeveloper","_state$global5","isDeveloper","isDeveloperSettings","isLocalCluster","isWatchMen","regularUserUI","isQueryTrackerAllowed","allowedPages","expPages","getExperimentalPages","includes","QUERIES","getAllUserNames","usersData","_map","_ref","$value","getAllGroupNames","groupsData","_ref2","getGlobalGroupAttributesMap","data","_reduce","acc","_ref3","$attributes","getAllPoolNames","getAllKeys","obj","_keys","res","key","_typeof","_toConsumableArray","_orderBy","_uniq","_flatten","_values","getAllPoolTreeNames","getAllBundlesNames","bundleNames","bundle","getValue","_sortBy","getAllUserNamesSorted","getAllGroupNamesSorted","getAllIdmGroupNamesSorted","names","attrs","_filter","name","get","getGlobalDefaultPoolTreeName","poolTreeDefault","getGlobalShowLoginDialog","allowLoginDialog","showLoginDialog","getAuthPagesEnabled","getOAuthEnabled","allowOAuth","getOAuthButtonLabel","oauthButtonLabel","getGlobalAsideHeaderWidth","asideHeaderWidth"],"sources":["index.ts"],"sourcesContent":["import {createSelector} from 'reselect';\nimport _ from 'lodash';\n\n// @ts-ignore\nimport ypath from '@ytsaurus/interface-helpers/lib/ypath';\n\nimport {flags, getClusterConfig} from '../../../utils';\nimport {getSettingsRegularUserUI} from '../settings-ts';\n\nimport {RootState} from '../../../store/reducers';\nimport YT from '../../../config/yt-config';\nimport {getClusterNS} from '../settings';\nimport {ClusterConfig} from '../../../../shared/yt-types';\nimport {FIX_MY_TYPE} from '../../../types';\nimport UIFactory from '../../../UIFactory';\nimport {getConfigData} from '../../../config/ui-settings';\nimport {isSupportedYtTvmAPIGlobal} from '../thor/support';\nimport {Page} from '../../../../shared/constants/settings';\nimport {AuthWay} from '../../../../shared/constants';\n\nexport const getGlobalError = (state: RootState) => state.global.error.error;\n\nexport const getCluster = (state: RootState): string => state?.global?.cluster || '';\nexport const getRootPagesCluster = (state: RootState) => state?.global.rootPagesCluster;\n\nexport const getGlobalLoadState = (state: RootState) => state.global.loadState;\n\nexport const getTheme = (state: RootState): '' | 'dark' | 'light' => state.global.theme;\n\nexport const getClusterUiConfig = (state: RootState) => state.global.clusterUiConfig;\n\nexport const getClusterUiConfigEnablePerAccountTabletAccounting = (state: RootState) => {\n return state.global.clusterUiConfig.enable_per_account_tablet_accounting ?? false;\n};\nexport const getClusterUiConfigEnablePerBundleTabletAccounting = (state: RootState) =>\n state.global.clusterUiConfig.enable_per_bundle_tablet_accounting ?? true;\nexport const getClusterUiConfigBundleAccountingHelpLink = (state: RootState) =>\n state.global.clusterUiConfig.per_bundle_accounting_help_link;\n\nexport const getCurrentClusterConfig = createSelector([getCluster], (cluster): ClusterConfig => {\n return getClusterConfig(YT.clusters, cluster);\n});\n\nexport function getClusterConfigByName(clusterName: string): ClusterConfig {\n return getClusterConfig(YT.clusters, clusterName);\n}\n\nexport function isAllowYtTwmApi() {\n return !getConfigData().ytApiUseCORS && isSupportedYtTvmAPIGlobal();\n}\n\nexport function getClusterProxy(clusterConfig: ClusterConfig): string {\n const allowYtTvmApi = isAllowYtTwmApi();\n if (allowYtTvmApi) {\n return `${window.location.host}/api/yt/${clusterConfig.id}`;\n }\n return clusterConfig.proxy;\n}\n\nexport const getHttpProxyVersion = createSelector(\n [getCluster, (state: RootState) => state.global.version],\n (cluster, version) => {\n return cluster ? version : '';\n },\n);\n\nexport const getGlobalSchedulerVersion = createSelector(\n [getCluster, (state: RootState) => state.global.schedulerVersion],\n (cluster, version) => {\n return cluster ? version : '';\n },\n);\n\nexport const getGlobalMasterVersion = createSelector(\n [getCluster, (state: RootState) => state.global.masterVersion],\n (cluster, version) => {\n return cluster ? version : '';\n },\n);\n\nexport const getCurrentClusterNS = createSelector([getCluster, getClusterNS], (cluster, ns) => {\n return cluster ? ns : undefined;\n});\n\nexport const getUISizes = () => {\n return {\n tabSize: 'l' as const,\n collapsibleSize: 'ss' as const,\n };\n};\n\nexport const getPoolTrees = (state: RootState) => state?.global?.poolTrees;\nexport const getAllAccounts = (state: RootState) => state.global.accounts;\nexport const getBundles = (state: RootState) => state?.global.bundles;\nexport const getGlobalUsers = (state: RootState) => state.global.users;\nexport const getGlobalGroups = (state: RootState) => state.global.groups;\nexport const getCurrentUserName = (state: RootState): string => state?.global?.login;\nexport const getAuthWay = (state: RootState): AuthWay => state?.global?.authWay;\n\nexport const getAllowedExperimentalPages = (state: RootState) =>\n state?.global.allowedExperimentalPages;\n\nconst isCheckedDeveloper = (state: RootState): boolean => state?.global?.isDeveloper;\n\nexport const isDeveloperSettings = createSelector(\n [isCheckedDeveloper, getCurrentUserName],\n (isDeveloper, login) => {\n return YT.isLocalCluster || UIFactory.isWatchMen(login) || isDeveloper;\n },\n);\n\nexport const isDeveloper = createSelector(\n [isDeveloperSettings, getSettingsRegularUserUI],\n (isDeveloper, regularUserUI) => {\n return !regularUserUI && isDeveloper;\n },\n);\n\nexport const isQueryTrackerAllowed = createSelector(\n [isDeveloper, getAllowedExperimentalPages],\n (isDeveloper, allowedPages) => {\n const expPages = UIFactory.getExperimentalPages();\n return (\n isDeveloper || !expPages.includes(Page.QUERIES) || allowedPages.includes(Page.QUERIES)\n );\n },\n);\n\nexport const getAllUserNames = createSelector([getGlobalUsers], (usersData) => {\n return _.map(usersData, ({$value}) => $value as string);\n});\n\nexport const getAllGroupNames = createSelector([getGlobalGroups], (groupsData) => {\n return _.map(groupsData, ({$value}) => $value as string);\n});\n\nexport const getGlobalGroupAttributesMap = createSelector([getGlobalGroups], (data) => {\n return _.reduce(\n data,\n (acc, {$value, $attributes}) => {\n acc[$value] = $attributes;\n return acc;\n },\n {} as Record<string, {upravlyator_managed: boolean}>,\n );\n});\n\nexport const getAllPoolNames = createSelector(getPoolTrees, (poolTrees) => {\n const getAllKeys = (obj: FIX_MY_TYPE): Array<string> => {\n return _.reduce(\n _.keys(obj),\n (res: FIX_MY_TYPE, key: FIX_MY_TYPE) => {\n if (typeof obj[key] === 'object' && obj[key] !== null) {\n return [...res, key, ...getAllKeys(obj[key])];\n }\n\n return [...res, key];\n },\n [],\n );\n };\n\n return _.orderBy(_.uniq(_.flatten(_.map(_.values(poolTrees), getAllKeys))));\n});\n\nexport const getAllPoolTreeNames = createSelector(getPoolTrees, (poolTrees) => {\n return _.keys(poolTrees);\n});\n\nexport const getAllBundlesNames = createSelector(getBundles, (bundles) => {\n const bundleNames = _.map(bundles, (bundle) => ypath.getValue(bundle, ''));\n\n return _.sortBy(bundleNames);\n});\n\nexport const getAllUserNamesSorted = createSelector(\n [getAllUserNames],\n _.sortBy as (items: Array<unknown>) => Array<string>,\n);\n\nexport const getAllGroupNamesSorted = createSelector(\n [getAllGroupNames],\n _.sortBy as (items: Array<unknown>) => Array<string>,\n);\n\nexport const getAllIdmGroupNamesSorted = createSelector(\n [getAllGroupNamesSorted, getGlobalGroupAttributesMap],\n (names, attrs) => {\n return _.filter(names, (name) =>\n flags.get(attrs[name]['upravlyator_managed'] as FIX_MY_TYPE),\n );\n },\n);\n\nexport const getGlobalDefaultPoolTreeName = (state: RootState) =>\n state.global.poolTreeDefault || 'physical';\n\nexport const getGlobalShowLoginDialog = (state: RootState) => {\n return (\n getConfigData().allowLoginDialog && (!state.global.login || state.global.showLoginDialog)\n );\n};\n\nexport const getAuthPagesEnabled = () => {\n return getConfigData().allowLoginDialog;\n};\n\nexport const getOAuthEnabled = () => {\n return getConfigData().allowOAuth;\n};\n\nexport const getOAuthButtonLabel = () => {\n return getConfigData().oauthButtonLabel;\n};\n\nexport const getGlobalAsideHeaderWidth = (state: RootState) => state.global.asideHeaderWidth;\n"],"mappings":"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"}
@@ -38,7 +38,7 @@
38
38
  "css/943.d936073c.chunk.css.map": "css/943.d936073c.chunk.css.map",
39
39
  "css/979.57765dc0.chunk.css": "css/979.57765dc0.chunk.css",
40
40
  "css/979.57765dc0.chunk.css.map": "css/979.57765dc0.chunk.css.map",
41
- "css/main.136a49c7.css.map": "css/main.136a49c7.css.map",
41
+ "css/main.e919e247.css.map": "css/main.e919e247.css.map",
42
42
  "editor.afbd84bf.worker.js": "editor.afbd84bf.worker.js",
43
43
  "editor.afbd84bf.worker.js.LICENSE.txt": "editor.afbd84bf.worker.js.LICENSE.txt",
44
44
  "editor.afbd84bf.worker.js.map": "editor.afbd84bf.worker.js.map",
@@ -46,12 +46,12 @@
46
46
  "main": {
47
47
  "assets": {
48
48
  "js": [
49
- "js/runtime.6c8d85d3.js",
49
+ "js/runtime.9491563b.js",
50
50
  "js/vendors.75563cec.js",
51
- "js/main.f91e3651.js"
51
+ "js/main.9d592639.js"
52
52
  ],
53
53
  "css": [
54
- "css/main.136a49c7.css"
54
+ "css/main.e919e247.css"
55
55
  ]
56
56
  }
57
57
  }
@@ -85,8 +85,8 @@
85
85
  "js/869.c0b556ac.chunk.js": "js/869.c0b556ac.chunk.js",
86
86
  "js/869.c0b556ac.chunk.js.LICENSE.txt": "js/869.c0b556ac.chunk.js.LICENSE.txt",
87
87
  "js/869.c0b556ac.chunk.js.map": "js/869.c0b556ac.chunk.js.map",
88
- "js/89.6ea87438.chunk.js": "js/89.6ea87438.chunk.js",
89
- "js/89.6ea87438.chunk.js.map": "js/89.6ea87438.chunk.js.map",
88
+ "js/89.07445d46.chunk.js": "js/89.07445d46.chunk.js",
89
+ "js/89.07445d46.chunk.js.map": "js/89.07445d46.chunk.js.map",
90
90
  "js/925.d1733b8a.chunk.js": "js/925.d1733b8a.chunk.js",
91
91
  "js/925.d1733b8a.chunk.js.map": "js/925.d1733b8a.chunk.js.map",
92
92
  "js/934.405901da.chunk.js": "js/934.405901da.chunk.js",
@@ -98,9 +98,9 @@
98
98
  "js/955.e1c8cf19.chunk.js.map": "js/955.e1c8cf19.chunk.js.map",
99
99
  "js/979.0e3142c0.chunk.js": "js/979.0e3142c0.chunk.js",
100
100
  "js/979.0e3142c0.chunk.js.map": "js/979.0e3142c0.chunk.js.map",
101
- "js/main.f91e3651.js.LICENSE.txt": "js/main.f91e3651.js.LICENSE.txt",
102
- "js/main.f91e3651.js.map": "js/main.f91e3651.js.map",
103
- "js/runtime.6c8d85d3.js.map": "js/runtime.6c8d85d3.js.map",
101
+ "js/main.9d592639.js.LICENSE.txt": "js/main.9d592639.js.LICENSE.txt",
102
+ "js/main.9d592639.js.map": "js/main.9d592639.js.map",
103
+ "js/runtime.9491563b.js.map": "js/runtime.9491563b.js.map",
104
104
  "js/vendors.75563cec.js.LICENSE.txt": "js/vendors.75563cec.js.LICENSE.txt",
105
105
  "js/vendors.75563cec.js.map": "js/vendors.75563cec.js.map",
106
106
  "js/vis-network.b367d390.chunk.js.LICENSE.txt": "js/vis-network.b367d390.chunk.js.LICENSE.txt",
@@ -108,9 +108,9 @@
108
108
  "json.5239aa2e.worker.js": "json.5239aa2e.worker.js",
109
109
  "json.5239aa2e.worker.js.LICENSE.txt": "json.5239aa2e.worker.js.LICENSE.txt",
110
110
  "json.5239aa2e.worker.js.map": "json.5239aa2e.worker.js.map",
111
- "main.css": "css/main.136a49c7.css",
112
- "main.js": "js/main.f91e3651.js",
113
- "runtime.js": "js/runtime.6c8d85d3.js",
111
+ "main.css": "css/main.e919e247.css",
112
+ "main.js": "js/main.9d592639.js",
113
+ "runtime.js": "js/runtime.9491563b.js",
114
114
  "vendors.js": "js/vendors.75563cec.js",
115
115
  "vis-network.js": "js/vis-network.b367d390.chunk.js"
116
116
  }