@ytsaurus/ui 1.12.2 → 1.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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/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/rum/constants.d.ts +5 -1
  52. package/build/cjs/ui/rum/constants.js +5 -2
  53. package/build/cjs/ui/rum/constants.js.map +1 -1
  54. package/build/cjs/ui/rum/rum-counter.js +1 -1
  55. package/build/cjs/ui/rum/rum-counter.js.map +1 -1
  56. package/build/cjs/ui/store/actions/system/masters.d.ts +7 -5
  57. package/build/cjs/ui/store/actions/system/masters.js +305 -235
  58. package/build/cjs/ui/store/actions/system/masters.js.map +1 -1
  59. package/build/cjs/ui/store/reducers/global/index.d.ts +1 -0
  60. package/build/cjs/ui/store/reducers/global/index.js +1 -0
  61. package/build/cjs/ui/store/reducers/global/index.js.map +1 -1
  62. package/build/cjs/ui/store/reducers/system/masters.d.ts +2 -2
  63. package/build/cjs/ui/store/reducers/system/masters.js.map +1 -1
  64. package/build/cjs/ui/store/selectors/global/index.d.ts +4 -0
  65. package/build/cjs/ui/store/selectors/global/index.js +14 -4
  66. package/build/cjs/ui/store/selectors/global/index.js.map +1 -1
  67. package/build/cjs/ui/store/selectors/system/masters.d.ts +1 -1
  68. package/build/cjs/ui/store/selectors/system/masters.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/containers/AppNavigation/AppNavigation.js +3 -1
  114. package/build/esm/ui/containers/AppNavigation/AppNavigation.js.map +1 -1
  115. package/build/esm/ui/containers/AppNavigation/AppNavigationComponent.d.ts +1 -1
  116. package/build/esm/ui/containers/AppNavigation/AppNavigationComponent.js +5 -7
  117. package/build/esm/ui/containers/AppNavigation/AppNavigationComponent.js.map +1 -1
  118. package/build/esm/ui/containers/AppNavigation/AppNavigationPageLayout.d.ts +2 -0
  119. package/build/esm/ui/containers/AppNavigation/AppNavigationPageLayout.js.map +1 -1
  120. package/build/esm/ui/rum/constants.d.ts +5 -1
  121. package/build/esm/ui/rum/constants.js +5 -2
  122. package/build/esm/ui/rum/constants.js.map +1 -1
  123. package/build/esm/ui/rum/rum-counter.js +1 -1
  124. package/build/esm/ui/rum/rum-counter.js.map +1 -1
  125. package/build/esm/ui/store/actions/system/masters.d.ts +7 -5
  126. package/build/esm/ui/store/actions/system/masters.js +303 -233
  127. package/build/esm/ui/store/actions/system/masters.js.map +1 -1
  128. package/build/esm/ui/store/reducers/global/index.d.ts +1 -0
  129. package/build/esm/ui/store/reducers/global/index.js +1 -0
  130. package/build/esm/ui/store/reducers/global/index.js.map +1 -1
  131. package/build/esm/ui/store/reducers/system/masters.d.ts +2 -2
  132. package/build/esm/ui/store/reducers/system/masters.js.map +1 -1
  133. package/build/esm/ui/store/selectors/global/index.d.ts +4 -0
  134. package/build/esm/ui/store/selectors/global/index.js +12 -2
  135. package/build/esm/ui/store/selectors/global/index.js.map +1 -1
  136. package/build/esm/ui/store/selectors/system/masters.d.ts +1 -1
  137. package/build/esm/ui/store/selectors/system/masters.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.4eb01db4.js +3 -0
  144. package/dist/public/build/js/{main.f91e3651.js.map → main.4eb01db4.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.f91e3651.js +0 -3
  176. /package/dist/public/build/js/{main.f91e3651.js.LICENSE.txt → main.4eb01db4.js.LICENSE.txt} +0 -0
@@ -1,14 +1,15 @@
1
1
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _isEmpty from "lodash/isEmpty";
3
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
3
  import _regeneratorRuntime from "@babel/runtime/regenerator";
5
4
  import React, { useCallback, useState } from 'react';
6
5
  import axios from 'axios';
7
- import { useDispatch } from 'react-redux';
6
+ import { useDispatch, useSelector } from 'react-redux';
8
7
  import { Button, Text, TextInput } from '@gravity-ui/uikit';
9
8
  import { onSuccessLogin } from '../../../store/actions/global';
10
9
  import ytLocalStorage from '../../../utils/yt-local-storage';
10
+ import { getOAuthButtonLabel, getOAuthEnabled } from '../../../store/selectors/global';
11
11
  import LoginPageWrapper from '../LoginPageWrapper/LoginPageWrapper';
12
+ import isEmpty from 'lodash/isEmpty';
12
13
  import cn from 'bem-cn-lite';
13
14
  import { jsx as _jsx } from "react/jsx-runtime";
14
15
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -34,6 +35,8 @@ function LoginForm(_ref2) {
34
35
  _useState2 = _slicedToArray(_useState, 2),
35
36
  username = _useState2[0],
36
37
  setUsername = _useState2[1];
38
+ var allowOAuth = useSelector(getOAuthEnabled);
39
+ var buttonLabel = useSelector(getOAuthButtonLabel);
37
40
  var _useState3 = useState(''),
38
41
  _useState4 = _slicedToArray(_useState3, 2),
39
42
  password = _useState4[0],
@@ -53,7 +56,7 @@ function LoginForm(_ref2) {
53
56
  username: username,
54
57
  password: password
55
58
  });
56
- if (!_isEmpty(validationErrors)) {
59
+ if (!isEmpty(validationErrors)) {
57
60
  setErrors(validationErrors);
58
61
  return;
59
62
  }
@@ -92,9 +95,9 @@ function LoginForm(_ref2) {
92
95
  children: [/*#__PURE__*/_jsx("h1", {
93
96
  className: block('title'),
94
97
  children: "Welcome to YTsaurus!"
95
- }), /*#__PURE__*/_jsx("p", {
98
+ }), /*#__PURE__*/_jsxs("p", {
96
99
  className: block('text'),
97
- children: "Single scalable platform for high volume storage and handling data. Login to your account."
100
+ children: ["A unified scalable platform for storing and processing large volumes of data.", /*#__PURE__*/_jsx("br", {}), /*#__PURE__*/_jsx("br", {}), "Login to your account."]
98
101
  }), /*#__PURE__*/_jsxs("form", {
99
102
  onSubmit: handleFormSubmit,
100
103
  children: [/*#__PURE__*/_jsx(TextInput, {
@@ -119,7 +122,8 @@ function LoginForm(_ref2) {
119
122
  error: errors.password
120
123
  }), /*#__PURE__*/_jsx(Button, {
121
124
  className: block('button', {
122
- solid: true
125
+ solid: true,
126
+ submit: true
123
127
  }),
124
128
  type: "submit",
125
129
  width: "max",
@@ -128,6 +132,20 @@ function LoginForm(_ref2) {
128
132
  view: theme === 'light' ? 'action' : 'normal-contrast',
129
133
  loading: loading,
130
134
  children: "Login"
135
+ }), allowOAuth && /*#__PURE__*/_jsx(Button, {
136
+ className: block('button', {
137
+ solid: true,
138
+ link: true,
139
+ submit: true
140
+ }),
141
+ type: "submit",
142
+ href: "/oauth/login",
143
+ width: "max",
144
+ size: "l",
145
+ pin: "circle-circle",
146
+ view: theme === 'light' ? 'action' : 'normal-contrast',
147
+ loading: loading,
148
+ children: buttonLabel || 'Login via SSO'
131
149
  }), errors.response && /*#__PURE__*/_jsx(Text, {
132
150
  as: "p",
133
151
  color: "danger",
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useState","axios","useDispatch","Button","Text","TextInput","onSuccessLogin","ytLocalStorage","LoginPageWrapper","cn","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","block","validate","_ref","username","password","result","LoginForm","_ref2","_ytLocalStorage$get","theme","dispatch","_useState","get","_useState2","_slicedToArray","setUsername","_useState3","_useState4","setPassword","_useState5","_useState6","loading","setLoading","_React$useState","_React$useState2","errors","setErrors","handleFormSubmit","e","preventDefault","validationErrors","_isEmpty","authorize","then","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","set","stop","error","response","data","message","children","className","onSubmit","type","size","placeholder","name","value","onUpdate","solid","width","pin","view","as","color","_ref4","post","LoginFormPage","_ref5"],"sources":["LoginFormPage.tsx"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport axios, {AxiosError} from 'axios';\nimport {useDispatch} from 'react-redux';\nimport {Button, Text, TextInput} from '@gravity-ui/uikit';\nimport {onSuccessLogin} from '../../../store/actions/global';\nimport ytLocalStorage from '../../../utils/yt-local-storage';\nimport LoginPageWrapper from '../LoginPageWrapper/LoginPageWrapper';\nimport _ from 'lodash';\n\nimport cn from 'bem-cn-lite';\n\nconst block = cn('login-page');\n\ninterface ErrorFields {\n username?: string;\n password?: string;\n response?: string;\n}\n\ninterface Props {\n theme?: 'light' | 'dark';\n}\n\nconst validate = ({\n username,\n password,\n}: Record<keyof Omit<ErrorFields, 'response'>, string>): ErrorFields => {\n const result: ErrorFields = {};\n if (username === '') {\n result.username = 'Username must not be empty';\n }\n\n if (password === '') {\n result.password = 'Password must not be empty';\n }\n\n return result;\n};\n\nfunction LoginForm({theme}: Props) {\n const dispatch = useDispatch();\n const [username, setUsername] = useState(ytLocalStorage.get('loginDialog')?.username || '');\n const [password, setPassword] = useState('');\n const [loading, setLoading] = useState<boolean>(false);\n const [errors, setErrors] = React.useState<ErrorFields>({});\n\n const handleFormSubmit = useCallback(\n (e: React.FormEvent) => {\n e.preventDefault();\n setErrors({});\n const validationErrors = validate({username, password});\n if (!_.isEmpty(validationErrors)) {\n setErrors(validationErrors);\n return;\n }\n setLoading(true);\n authorize({username, password})\n .then(async () => {\n ytLocalStorage.set('loginDialog', {username});\n dispatch(onSuccessLogin(username));\n })\n .catch((error: AxiosError<Error>) => {\n if (error.response && error.response.data && error.response.data.message) {\n setErrors({\n response: error.response.data.message,\n });\n } else {\n setErrors({response: error.message});\n }\n })\n .finally(() => {\n setLoading(false);\n });\n },\n [username, password, dispatch],\n );\n\n return (\n <>\n <h1 className={block('title')}>Welcome to YTsaurus!</h1>\n <p className={block('text')}>\n Single scalable platform for high volume storage and handling data. Login to your\n account.\n </p>\n <form onSubmit={handleFormSubmit}>\n <TextInput\n className={block('field')}\n type=\"text\"\n size=\"l\"\n placeholder=\"Login\"\n name=\"username\"\n value={username}\n onUpdate={setUsername}\n error={errors.username}\n />\n <TextInput\n className={block('field', {password: true})}\n type=\"password\"\n size=\"l\"\n placeholder=\"Password\"\n name=\"password\"\n value={password}\n onUpdate={setPassword}\n error={errors.password}\n />\n <Button\n className={block('button', {solid: true})}\n type=\"submit\"\n width=\"max\"\n size=\"l\"\n pin=\"circle-circle\"\n view={theme === 'light' ? 'action' : 'normal-contrast'}\n loading={loading}\n >\n Login\n </Button>\n {errors.response && (\n <Text as=\"p\" color=\"danger\" className={block('error')}>\n {errors.response}\n </Text>\n )}\n </form>\n </>\n );\n}\n\nfunction authorize({username, password}: {username: string; password: string}) {\n return axios.post(`/api/yt/login`, {\n username,\n password,\n });\n}\n\nexport function LoginFormPage({theme}: Props) {\n return (\n <LoginPageWrapper theme={theme}>\n <LoginForm theme={theme} />\n </LoginPageWrapper>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useCallback","useState","axios","useDispatch","useSelector","Button","Text","TextInput","onSuccessLogin","ytLocalStorage","getOAuthButtonLabel","getOAuthEnabled","LoginPageWrapper","isEmpty","cn","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","block","validate","_ref","username","password","result","LoginForm","_ref2","_ytLocalStorage$get","theme","dispatch","_useState","get","_useState2","_slicedToArray","setUsername","allowOAuth","buttonLabel","_useState3","_useState4","setPassword","_useState5","_useState6","loading","setLoading","_React$useState","_React$useState2","errors","setErrors","handleFormSubmit","e","preventDefault","validationErrors","authorize","then","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","set","stop","error","response","data","message","children","className","onSubmit","type","size","placeholder","name","value","onUpdate","solid","submit","width","pin","view","link","href","as","color","_ref4","post","LoginFormPage","_ref5"],"sources":["LoginFormPage.tsx"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport axios, {AxiosError} from 'axios';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {Button, Text, TextInput} from '@gravity-ui/uikit';\nimport {onSuccessLogin} from '../../../store/actions/global';\nimport ytLocalStorage from '../../../utils/yt-local-storage';\nimport {getOAuthButtonLabel, getOAuthEnabled} from '../../../store/selectors/global';\nimport LoginPageWrapper from '../LoginPageWrapper/LoginPageWrapper';\nimport isEmpty from 'lodash/isEmpty';\n\nimport cn from 'bem-cn-lite';\n\nconst block = cn('login-page');\n\ninterface ErrorFields {\n username?: string;\n password?: string;\n response?: string;\n}\n\ninterface Props {\n theme?: 'light' | 'dark';\n}\n\nconst validate = ({\n username,\n password,\n}: Record<keyof Omit<ErrorFields, 'response'>, string>): ErrorFields => {\n const result: ErrorFields = {};\n if (username === '') {\n result.username = 'Username must not be empty';\n }\n\n if (password === '') {\n result.password = 'Password must not be empty';\n }\n\n return result;\n};\n\nfunction LoginForm({theme}: Props) {\n const dispatch = useDispatch();\n const [username, setUsername] = useState(ytLocalStorage.get('loginDialog')?.username || '');\n const allowOAuth = useSelector(getOAuthEnabled);\n const buttonLabel = useSelector(getOAuthButtonLabel);\n const [password, setPassword] = useState('');\n const [loading, setLoading] = useState<boolean>(false);\n const [errors, setErrors] = React.useState<ErrorFields>({});\n\n const handleFormSubmit = useCallback(\n (e: React.FormEvent) => {\n e.preventDefault();\n setErrors({});\n const validationErrors = validate({username, password});\n if (!isEmpty(validationErrors)) {\n setErrors(validationErrors);\n return;\n }\n setLoading(true);\n authorize({username, password})\n .then(async () => {\n ytLocalStorage.set('loginDialog', {username});\n dispatch(onSuccessLogin(username));\n })\n .catch((error: AxiosError<Error>) => {\n if (error.response && error.response.data && error.response.data.message) {\n setErrors({\n response: error.response.data.message,\n });\n } else {\n setErrors({response: error.message});\n }\n })\n .finally(() => {\n setLoading(false);\n });\n },\n [username, password, dispatch],\n );\n\n return (\n <>\n <h1 className={block('title')}>Welcome to YTsaurus!</h1>\n <p className={block('text')}>\n A unified scalable platform for storing and processing large volumes of data.\n <br />\n <br />\n Login to your account.\n </p>\n <form onSubmit={handleFormSubmit}>\n <TextInput\n className={block('field')}\n type=\"text\"\n size=\"l\"\n placeholder=\"Login\"\n name=\"username\"\n value={username}\n onUpdate={setUsername}\n error={errors.username}\n />\n <TextInput\n className={block('field', {password: true})}\n type=\"password\"\n size=\"l\"\n placeholder=\"Password\"\n name=\"password\"\n value={password}\n onUpdate={setPassword}\n error={errors.password}\n />\n\n <Button\n className={block('button', {solid: true, submit: true})}\n type=\"submit\"\n width=\"max\"\n size=\"l\"\n pin=\"circle-circle\"\n view={theme === 'light' ? 'action' : 'normal-contrast'}\n loading={loading}\n >\n Login\n </Button>\n\n {allowOAuth && (\n <Button\n className={block('button', {solid: true, link: true, submit: true})}\n type=\"submit\"\n href=\"/oauth/login\"\n width=\"max\"\n size=\"l\"\n pin=\"circle-circle\"\n view={theme === 'light' ? 'action' : 'normal-contrast'}\n loading={loading}\n >\n {buttonLabel || 'Login via SSO'}\n </Button>\n )}\n\n {errors.response && (\n <Text as=\"p\" color=\"danger\" className={block('error')}>\n {errors.response}\n </Text>\n )}\n </form>\n </>\n );\n}\n\nfunction authorize({username, password}: {username: string; password: string}) {\n return axios.post(`/api/yt/login`, {\n username,\n password,\n });\n}\n\nexport function LoginFormPage({theme}: Props) {\n return (\n <LoginPageWrapper theme={theme}>\n <LoginForm theme={theme} />\n </LoginPageWrapper>\n );\n}\n"],"mappings":"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"}
@@ -112,6 +112,14 @@
112
112
  --yc-button-background-color: var(--login-button-solid);
113
113
  --yc-button-background-color-hover: var(--login-button-solid-hover);
114
114
  }
115
+ .login-page__button_link {
116
+ display: flex;
117
+ align-items: center;
118
+ justify-content: center;
119
+ }
120
+ .login-page__button_submit:not(:last-child) {
121
+ margin-bottom: 10px;
122
+ }
115
123
  .login-page .yc-button_loading {
116
124
  --yc-button-loading-color-1: var(--login-button-loading-color-1);
117
125
  --yc-button-loading-color-2: var(--login-button-loading-color-2);
@@ -1 +1 @@
1
- {"version":3,"sources":["LoginPageWrapper.scss","login-page-theme-light.scss","login-page-theme-dark.scss"],"names":[],"mappings":"AAGA;;ECFI,2BAAA;EACA,6BAAA;EACA,mCAAA;EACA,0FAAA;EACA,uCAAA;EACA,uCAAA;ADEJ;;AAAA;;EEPI,2BAAA;EACA,6BAAA;EACA,mCAAA;EACA,yFAAA;EACA,uCAAA;EACA,uCAAA;AFYJ;;AACA;EALI,sBAAA;EACA,kBAAA;EACA,gBAAA;EAMA,kBAAA;EACA,aAAA;EACA,sBAAA;EAEA,gBAAA;EACA,iBAAA;EACA,uBAAA;EAEA,yCAAA;EACA,+CAAA;EACA,4BAAA;EACA,qCAAA;EACA,0BAAA;AACJ;AACI;EACI,kBAAA;EACA,SAAA;EACA,UAAA;EACA,eAAA;EACA,eAAA;AACR;AAEI;EACI,gBAAA;EACA,kBAAA;AAAR;AAEQ;EAJJ;IAKQ,kBAAA;EACV;AACF;AACQ;EARJ;IASQ,kBAAA;EAEV;AACF;AAAQ;EAZJ;IAaQ,kBAAA;EAGV;AACF;AADQ;EAhBJ;IAiBQ,kBAAA;EAIV;AACF;AADI;EACI,eAAA;EACA,iBAAA;EACA,eAAA;EACA,gBAAA;EACA,mBAAA;AAGR;AAAI;EACI,eAAA;EACA,iBAAA;EACA,gBAAA;AAER;AACI;EACI,cAAA;AACR;AAEI;EACI,mBAAA;EACA,mCAAA;AAAR;AAEQ;EAzEJ,sBAAA;EACA,kBAAA;EACA,gBAAA;EAyEQ,YAAA;EACA,kBAAA;EACA,eAAA;EACA,iBAAA;EACA,gBAAA;AAEZ;AAEY;EACI,mBAAA;AAAhB;AADY;EACI,mBAAA;AAAhB;AAKI;EAzFA,sBAAA;EACA,kBAAA;EACA,gBAAA;EAyFI,wBAAA;EACA,eAAA;EACA,iBAAA;AADR;AAGQ;EACI,uDAAA;EACA,mEAAA;AADZ;AAKI;EACI,gEAAA;EACA,gEAAA;AAHR;AAMI;EACI,yCAAA;AAJR;AAOI;EACI,yDAAA;AALR;AAQI;EACI,iBAAA;EACA,WAAA;EACA,aAAA;EACA,mBAAA;EACA,8BAAA;AANR;AASI;EACI,SAAA;EACA,eAAA;EACA,kBAAA;EACA,gBAAA;EACA,eAAA;EACA,iBAAA;EACA,gBAAA;EACA,oCAAA;EACA,yBAAA;EACA,gDAAA;AAPR;AASQ;EACI,kCAAA;EACA,sDAAA;AAPZ","file":"LoginPageWrapper.css","sourcesContent":["@import './login-page-theme-light.scss';\n@import './login-page-theme-dark.scss';\n\n.g-root_theme_light,\n.g-root_theme_light-hc {\n @include yt-login-page-light;\n}\n\n.g-root_theme_dark,\n.g-root_theme_dark-hc {\n @include yt-login-page-dark;\n}\n\n@mixin login-page-font-settings {\n font-family: 'Manrope';\n font-style: normal;\n font-weight: 400;\n}\n\n.login-page {\n @include login-page-font-settings;\n\n position: relative;\n display: flex;\n flex-direction: column;\n\n min-width: 320px;\n min-height: 100vh;\n justify-content: center;\n\n background-color: var(--login-background);\n background-image: var(--login-background-image);\n background-repeat: no-repeat;\n background-position: bottom 0 right 0;\n background-size: auto 100%;\n\n &__logo {\n position: absolute;\n top: 40px;\n left: 40px;\n width: 160.32px;\n height: 33.06px;\n }\n\n &__content {\n max-width: 300px;\n margin-left: 150px;\n\n @media (min-width: 1200px) {\n margin-left: 150px;\n }\n\n @media (min-width: 1400px) {\n margin-left: 200px;\n }\n\n @media (min-width: 1600px) {\n margin-left: 250px;\n }\n\n @media (min-width: 1920px) {\n margin-left: 330px;\n }\n }\n\n &__title {\n font-size: 30px;\n line-height: 36px;\n margin: 0 0 8px;\n font-weight: 600;\n white-space: nowrap;\n }\n\n &__text {\n font-size: 13px;\n line-height: 18px;\n margin: 0 0 24px;\n }\n\n &__error {\n margin: 12px 0;\n }\n\n &__field {\n margin-bottom: 20px;\n --yc-text-input-border-radius: 10px;\n\n .yc-text-input__control {\n @include login-page-font-settings;\n height: 40px;\n padding: 12px 10px;\n font-size: 13px;\n line-height: 16px;\n background: none;\n }\n\n &_password {\n .yc-text-input__control:not(:placeholder-shown) {\n letter-spacing: 2px;\n }\n }\n }\n\n &__button {\n @include login-page-font-settings;\n --yc-button-height: 38px;\n font-size: 15px;\n line-height: 20px;\n\n &_solid {\n --yc-button-background-color: var(--login-button-solid);\n --yc-button-background-color-hover: var(--login-button-solid-hover);\n }\n }\n\n .yc-button_loading {\n --yc-button-loading-color-1: var(--login-button-loading-color-1);\n --yc-button-loading-color-2: var(--login-button-loading-color-2);\n }\n\n .yc-button_view_outlined::before {\n background-color: var(--login-background);\n }\n\n .yc-button:hover::before {\n background-color: var(--yc-button-background-color-hover);\n }\n\n &__navigate {\n padding-top: 15px;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n\n &__navigate-link {\n margin: 0;\n cursor: pointer;\n font-style: normal;\n font-weight: 400;\n font-size: 13px;\n line-height: 18px;\n text-align: left;\n color: var(--g-color-text-secondary);\n border-bottom: 1px dashed;\n border-color: var(--g-color-line-generic-accent);\n\n &:hover {\n color: var(--g-color-text-primary);\n border-color: var(--g-color-line-generic-accent-hover);\n }\n }\n}\n","@mixin yt-login-page-light {\n --login-background: #f5fff0;\n --login-button-solid: #4c4c4c;\n --login-button-solid-hover: #333333;\n --login-background-image: url('../../../../../img/svg/YT-login-page-background-light.svg');\n --login-button-loading-color-1: #333333;\n --login-button-loading-color-2: #4c4c4c;\n}\n","@mixin yt-login-page-dark {\n --login-background: #1a1a1a;\n --login-button-solid: #e9a43b;\n --login-button-solid-hover: #d28004;\n --login-background-image: url('../../../../../img/svg/YT-login-page-background-dark.svg');\n --login-button-loading-color-1: #e9a43b;\n --login-button-loading-color-2: #d28004;\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["LoginPageWrapper.scss","login-page-theme-light.scss","login-page-theme-dark.scss"],"names":[],"mappings":"AAGA;;ECFI,2BAAA;EACA,6BAAA;EACA,mCAAA;EACA,0FAAA;EACA,uCAAA;EACA,uCAAA;ADEJ;;AAAA;;EEPI,2BAAA;EACA,6BAAA;EACA,mCAAA;EACA,yFAAA;EACA,uCAAA;EACA,uCAAA;AFYJ;;AACA;EALI,sBAAA;EACA,kBAAA;EACA,gBAAA;EAMA,kBAAA;EACA,aAAA;EACA,sBAAA;EAEA,gBAAA;EACA,iBAAA;EACA,uBAAA;EAEA,yCAAA;EACA,+CAAA;EACA,4BAAA;EACA,qCAAA;EACA,0BAAA;AACJ;AACI;EACI,kBAAA;EACA,SAAA;EACA,UAAA;EACA,eAAA;EACA,eAAA;AACR;AAEI;EACI,gBAAA;EACA,kBAAA;AAAR;AAEQ;EAJJ;IAKQ,kBAAA;EACV;AACF;AACQ;EARJ;IASQ,kBAAA;EAEV;AACF;AAAQ;EAZJ;IAaQ,kBAAA;EAGV;AACF;AADQ;EAhBJ;IAiBQ,kBAAA;EAIV;AACF;AADI;EACI,eAAA;EACA,iBAAA;EACA,eAAA;EACA,gBAAA;EACA,mBAAA;AAGR;AAAI;EACI,eAAA;EACA,iBAAA;EACA,gBAAA;AAER;AACI;EACI,cAAA;AACR;AAEI;EACI,mBAAA;EACA,mCAAA;AAAR;AAEQ;EAzEJ,sBAAA;EACA,kBAAA;EACA,gBAAA;EAyEQ,YAAA;EACA,kBAAA;EACA,eAAA;EACA,iBAAA;EACA,gBAAA;AAEZ;AAEY;EACI,mBAAA;AAAhB;AADY;EACI,mBAAA;AAAhB;AAKI;EAzFA,sBAAA;EACA,kBAAA;EACA,gBAAA;EAyFI,wBAAA;EACA,eAAA;EACA,iBAAA;AADR;AAGQ;EACI,uDAAA;EACA,mEAAA;AADZ;AAIQ;EACI,aAAA;EACA,mBAAA;EACA,uBAAA;AAFZ;AAMY;EACI,mBAAA;AAJhB;AASI;EACI,gEAAA;EACA,gEAAA;AAPR;AAUI;EACI,yCAAA;AARR;AAWI;EACI,yDAAA;AATR;AAYI;EACI,iBAAA;EACA,WAAA;EACA,aAAA;EACA,mBAAA;EACA,8BAAA;AAVR;AAaI;EACI,SAAA;EACA,eAAA;EACA,kBAAA;EACA,gBAAA;EACA,eAAA;EACA,iBAAA;EACA,gBAAA;EACA,oCAAA;EACA,yBAAA;EACA,gDAAA;AAXR;AAaQ;EACI,kCAAA;EACA,sDAAA;AAXZ","file":"LoginPageWrapper.css","sourcesContent":["@import './login-page-theme-light.scss';\n@import './login-page-theme-dark.scss';\n\n.g-root_theme_light,\n.g-root_theme_light-hc {\n @include yt-login-page-light;\n}\n\n.g-root_theme_dark,\n.g-root_theme_dark-hc {\n @include yt-login-page-dark;\n}\n\n@mixin login-page-font-settings {\n font-family: 'Manrope';\n font-style: normal;\n font-weight: 400;\n}\n\n.login-page {\n @include login-page-font-settings;\n\n position: relative;\n display: flex;\n flex-direction: column;\n\n min-width: 320px;\n min-height: 100vh;\n justify-content: center;\n\n background-color: var(--login-background);\n background-image: var(--login-background-image);\n background-repeat: no-repeat;\n background-position: bottom 0 right 0;\n background-size: auto 100%;\n\n &__logo {\n position: absolute;\n top: 40px;\n left: 40px;\n width: 160.32px;\n height: 33.06px;\n }\n\n &__content {\n max-width: 300px;\n margin-left: 150px;\n\n @media (min-width: 1200px) {\n margin-left: 150px;\n }\n\n @media (min-width: 1400px) {\n margin-left: 200px;\n }\n\n @media (min-width: 1600px) {\n margin-left: 250px;\n }\n\n @media (min-width: 1920px) {\n margin-left: 330px;\n }\n }\n\n &__title {\n font-size: 30px;\n line-height: 36px;\n margin: 0 0 8px;\n font-weight: 600;\n white-space: nowrap;\n }\n\n &__text {\n font-size: 13px;\n line-height: 18px;\n margin: 0 0 24px;\n }\n\n &__error {\n margin: 12px 0;\n }\n\n &__field {\n margin-bottom: 20px;\n --yc-text-input-border-radius: 10px;\n\n .yc-text-input__control {\n @include login-page-font-settings;\n height: 40px;\n padding: 12px 10px;\n font-size: 13px;\n line-height: 16px;\n background: none;\n }\n\n &_password {\n .yc-text-input__control:not(:placeholder-shown) {\n letter-spacing: 2px;\n }\n }\n }\n\n &__button {\n @include login-page-font-settings;\n --yc-button-height: 38px;\n font-size: 15px;\n line-height: 20px;\n\n &_solid {\n --yc-button-background-color: var(--login-button-solid);\n --yc-button-background-color-hover: var(--login-button-solid-hover);\n }\n\n &_link {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n &_submit {\n &:not(:last-child) {\n margin-bottom: 10px;\n }\n }\n }\n\n .yc-button_loading {\n --yc-button-loading-color-1: var(--login-button-loading-color-1);\n --yc-button-loading-color-2: var(--login-button-loading-color-2);\n }\n\n .yc-button_view_outlined::before {\n background-color: var(--login-background);\n }\n\n .yc-button:hover::before {\n background-color: var(--yc-button-background-color-hover);\n }\n\n &__navigate {\n padding-top: 15px;\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n\n &__navigate-link {\n margin: 0;\n cursor: pointer;\n font-style: normal;\n font-weight: 400;\n font-size: 13px;\n line-height: 18px;\n text-align: left;\n color: var(--g-color-text-secondary);\n border-bottom: 1px dashed;\n border-color: var(--g-color-line-generic-accent);\n\n &:hover {\n color: var(--g-color-text-primary);\n border-color: var(--g-color-line-generic-accent-hover);\n }\n }\n}\n","@mixin yt-login-page-light {\n --login-background: #f5fff0;\n --login-button-solid: #4c4c4c;\n --login-button-solid-hover: #333333;\n --login-background-image: url('../../../../../img/svg/YT-login-page-background-light.svg');\n --login-button-loading-color-1: #333333;\n --login-button-loading-color-2: #4c4c4c;\n}\n","@mixin yt-login-page-dark {\n --login-background: #1a1a1a;\n --login-button-solid: #e9a43b;\n --login-button-solid-hover: #d28004;\n --login-background-image: url('../../../../../img/svg/YT-login-page-background-dark.svg');\n --login-button-loading-color-1: #e9a43b;\n --login-button-loading-color-2: #d28004;\n}\n"],"sourceRoot":""}
@@ -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":"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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;
@@ -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"}
@@ -1 +1,5 @@
1
- export declare const YTErrors: number[];
1
+ export declare const YTErrors: {
2
+ NODE_DOES_NOT_EXIST: any;
3
+ PERMISSION_DENIED: any;
4
+ NO_SUCH_TRANSACTION: any;
5
+ };
@@ -1,6 +1,9 @@
1
1
  // @ts-ignore
2
2
  import ytLib from '@ytsaurus/javascript-wrapper';
3
3
  var yt = ytLib();
4
- export var YTErrors = [yt.codes.NODE_DOES_NOT_EXIST, yt.codes.PERMISSION_DENIED, yt.codes.NO_SUCH_TRANSACTION // User transaction * has expired or was aborted
5
- ];
4
+ export var YTErrors = {
5
+ NODE_DOES_NOT_EXIST: yt.codes.NODE_DOES_NOT_EXIST,
6
+ PERMISSION_DENIED: yt.codes.PERMISSION_DENIED,
7
+ NO_SUCH_TRANSACTION: yt.codes.NO_SUCH_TRANSACTION // User transaction * has expired or was aborted
8
+ };
6
9
  // #sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ytLib","yt","YTErrors","codes","NODE_DOES_NOT_EXIST","PERMISSION_DENIED","NO_SUCH_TRANSACTION"],"sources":["constants.ts"],"sourcesContent":["// @ts-ignore\nimport ytLib from '@ytsaurus/javascript-wrapper';\n\nconst yt = ytLib();\n\nexport const YTErrors: number[] = [\n yt.codes.NODE_DOES_NOT_EXIST,\n yt.codes.PERMISSION_DENIED,\n yt.codes.NO_SUCH_TRANSACTION, // User transaction * has expired or was aborted\n];\n"],"mappings":"AAAA;AACA,OAAOA,KAAK,MAAM,8BAA8B;AAEhD,IAAMC,EAAE,GAAGD,KAAK,CAAC,CAAC;AAElB,OAAO,IAAME,QAAkB,GAAG,CAC9BD,EAAE,CAACE,KAAK,CAACC,mBAAmB,EAC5BH,EAAE,CAACE,KAAK,CAACE,iBAAiB,EAC1BJ,EAAE,CAACE,KAAK,CAACG,mBAAmB,CAAE;AAAA,CACjC"}
1
+ {"version":3,"names":["ytLib","yt","YTErrors","NODE_DOES_NOT_EXIST","codes","PERMISSION_DENIED","NO_SUCH_TRANSACTION"],"sources":["constants.ts"],"sourcesContent":["// @ts-ignore\nimport ytLib from '@ytsaurus/javascript-wrapper';\n\nconst yt = ytLib();\n\nexport const YTErrors = {\n NODE_DOES_NOT_EXIST: yt.codes.NODE_DOES_NOT_EXIST,\n PERMISSION_DENIED: yt.codes.PERMISSION_DENIED,\n NO_SUCH_TRANSACTION: yt.codes.NO_SUCH_TRANSACTION, // User transaction * has expired or was aborted\n};\n"],"mappings":"AAAA;AACA,OAAOA,KAAK,MAAM,8BAA8B;AAEhD,IAAMC,EAAE,GAAGD,KAAK,CAAC,CAAC;AAElB,OAAO,IAAME,QAAQ,GAAG;EACpBC,mBAAmB,EAAEF,EAAE,CAACG,KAAK,CAACD,mBAAmB;EACjDE,iBAAiB,EAAEJ,EAAE,CAACG,KAAK,CAACC,iBAAiB;EAC7CC,mBAAmB,EAAEL,EAAE,CAACG,KAAK,CAACE,mBAAmB,CAAE;AACvD,CAAC"}
@@ -133,6 +133,6 @@ function wrappedHrefOrNull(href) {
133
133
  function isAllowSendError(error) {
134
134
  var _error$response;
135
135
  var err = axios.isAxiosError(error) ? (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.data : error;
136
- return !(isYTError(err) && err.code && YTErrors.includes(err.code));
136
+ return !(isYTError(err) && err.code && Object.values(YTErrors).includes(err.code));
137
137
  }
138
138
  // #sourceMappingURL=rum-counter.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["axios","isYTError","YTErrors","RUM","getRumInstance","_Ya","res","window","Ya","Rum","getTime","Date","now","sendDelta","sendTimeMark","logError","makeSubPage","sendTrafficData","finalizeLayoutShiftScore","finalizeLargestContentfulPaint","rumGetTime","rumLogError","params","error","silent","arguments","length","undefined","level","console","warn","info","isAllowSendError","_ref","additional","href","rest","_objectWithoutProperties","_excluded","_objectSpread","wrappedErrorOrNull","wrappedHrefOrNull","p","Object","assign","keys","rumMakeSubPage","apply","rumSendDelta","_len","args","Array","_key","rumDebugLog2","concat","rumFinalizeSpa","rumSendFrameworkInited","ENABLE_RUM_DEBUG_2","_window$location","location","search","slice","split","indexOf","ENABLE_RUM_DEBUG","_window$location2","startTime","rumDebugLog","_console","_len2","_key2","log","_console2","_len3","_key3","stringifyError","_ref2","stack","_excluded2","JSON","stringify","origin","startsWith","substr","_error$response","err","isAxiosError","response","data","code","includes"],"sources":["rum-counter.ts"],"sourcesContent":["import axios, {AxiosError} from 'axios';\nimport {YTError} from '../../@types/types';\nimport {isYTError} from '../../shared/utils';\nimport {YTErrors} from './constants';\n\nconst RUM = getRumInstance();\n\nfunction getRumInstance(): RumCounter {\n const res = (window as any).Ya?.Rum as RumCounter;\n if (!res) {\n return {\n getTime() {\n return Date.now();\n },\n sendDelta() {},\n sendTimeMark() {},\n logError() {},\n makeSubPage(): SubPage {\n return {};\n },\n\n sendTrafficData() {},\n finalizeLayoutShiftScore() {},\n finalizeLargestContentfulPaint() {},\n } as RumCounter;\n }\n return res;\n}\n\ninterface RumCounter {\n getTime(): number;\n sendDelta(id: string, deltaTime: number, subPage?: SubPage): void;\n sendTimeMark(\n counterId: string,\n time?: number,\n addPerfMark?: boolean,\n params?: string | object,\n ): void;\n logError(params: LogErrorParams, error?: Error): void;\n makeSubPage(pageName: string, start?: number): SubPage;\n\n sendTrafficData(): void;\n finalizeLayoutShiftScore(): void;\n finalizeLargestContentfulPaint(): void;\n}\n\nexport interface SubPage {}\n\ninterface LogErrorParams {\n message?: string; // 'parse data',\n block?: string; // 'stream',\n method?: string; // '_getData',\n source?: string; // 'ugc_backend', // Source of error\n sourceMethod?: string; // 'set_reactions', // Method of error sources\n type?: string; // 'logic', // Type of error: network, logic\n page?: string; // 'product',\n service?: string; // 'ether',\n level?: 'info' | 'debug' | 'warn' | 'error' | 'fatal';\n additional?: any /* { // key-value Additional information withot nesting. Do not send application state.\n morda: // 'big'\n },\n */;\n // eslint-disable-next-line camelcase\n coordinates_gp?: string; //'43_2959023:76_9437790:140_0000000:1:1425279224', // User coordinates from gp_auto\n}\n\nexport function rumGetTime() {\n return RUM.getTime();\n}\n\n/**\n * Field params.additional.href is handled in a special way: the value is sent only when it is not equal to window.location.href,\n * additionaly the prefix that equeal to window.location.origin is\n * @param params\n * @param error\n * @param silent\n */\nexport function rumLogError(params: LogErrorParams, error?: Error, silent = false) {\n const {level} = params;\n if (!silent) {\n switch (level) {\n case 'warn':\n console.warn(params, error);\n break;\n case 'info':\n console.info(params, error);\n break;\n case 'debug':\n console.info(params, error);\n break;\n default:\n console.error(params, error);\n }\n }\n\n if (!isAllowSendError(error!)) {\n return;\n }\n\n const {href, ...rest} = params.additional || {};\n\n const additional = {\n ...rest,\n ...wrappedErrorOrNull(error),\n ...wrappedHrefOrNull(href),\n };\n\n const p: object = Object.assign(\n {},\n params,\n Object.keys(additional).length ? {additional} : undefined,\n );\n\n return RUM.logError(p, error);\n}\n\nexport function rumMakeSubPage(...args: Parameters<RumCounter['makeSubPage']>) {\n return RUM.makeSubPage(...args);\n}\n\nexport function rumSendDelta(...args: Parameters<RumCounter['sendDelta']>) {\n rumDebugLog2('sendDelta', ...args);\n return RUM.sendDelta(...args);\n}\n\nexport function rumFinalizeSpa() {\n RUM.sendTrafficData();\n RUM.finalizeLayoutShiftScore();\n RUM.finalizeLargestContentfulPaint();\n}\n\nexport function rumSendFrameworkInited() {\n return RUM.sendTimeMark('3036');\n}\n\nconst ENABLE_RUM_DEBUG_2 =\n -1 !== window.location?.search?.slice(1).split('&').indexOf('rumdebug=2');\nconst ENABLE_RUM_DEBUG =\n ENABLE_RUM_DEBUG_2 || -1 !== window.location?.search?.slice(1).split('&').indexOf('rumdebug=1');\n\nconst startTime = Date.now();\n\nrumDebugLog('Start time', startTime);\n\nexport function rumDebugLog(...args: any) {\n if (ENABLE_RUM_DEBUG) {\n console.log('RUM:', Date.now() - startTime, ...args);\n }\n}\n\nexport function rumDebugLog2(...args: any) {\n if (ENABLE_RUM_DEBUG_2) {\n console.log('RUM:', Date.now() - startTime, ...args);\n }\n}\n\nfunction wrappedErrorOrNull(error?: Error) {\n return !error ? null : {error: stringifyError(error)};\n}\n\nfunction stringifyError(error?: Error) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const {stack, ...rest} = error || {};\n return JSON.stringify(rest);\n}\n\nfunction wrappedHrefOrNull(href?: string) {\n if (!href || window.location.href === href) {\n return undefined;\n }\n\n const {origin} = window.location;\n return {\n href: href.startsWith(origin) ? href.substr(origin.length) : href,\n };\n}\n\nfunction isAllowSendError(error: Error | AxiosError): boolean {\n const err = axios.isAxiosError(error) ? (error.response?.data as YTError) : error;\n\n return !(isYTError(err) && err.code && YTErrors.includes(err.code));\n}\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,MAAoB,OAAO;AAEvC,SAAQC,SAAS,QAAO,oBAAoB;AAC5C,SAAQC,QAAQ,QAAO,aAAa;AAEpC,IAAMC,GAAG,GAAGC,cAAc,CAAC,CAAC;AAE5B,SAASA,cAAcA,CAAA,EAAe;EAAA,IAAAC,GAAA;EAClC,IAAMC,GAAG,IAAAD,GAAA,GAAIE,MAAM,CAASC,EAAE,cAAAH,GAAA,uBAAlBA,GAAA,CAAoBI,GAAiB;EACjD,IAAI,CAACH,GAAG,EAAE;IACN,OAAO;MACHI,OAAO,WAAAA,QAAA,EAAG;QACN,OAAOC,IAAI,CAACC,GAAG,CAAC,CAAC;MACrB,CAAC;MACDC,SAAS,WAAAA,UAAA,EAAG,CAAC,CAAC;MACdC,YAAY,WAAAA,aAAA,EAAG,CAAC,CAAC;MACjBC,QAAQ,WAAAA,SAAA,EAAG,CAAC,CAAC;MACbC,WAAW,WAAAA,YAAA,EAAY;QACnB,OAAO,CAAC,CAAC;MACb,CAAC;MAEDC,eAAe,WAAAA,gBAAA,EAAG,CAAC,CAAC;MACpBC,wBAAwB,WAAAA,yBAAA,EAAG,CAAC,CAAC;MAC7BC,8BAA8B,WAAAA,+BAAA,EAAG,CAAC;IACtC,CAAC;EACL;EACA,OAAOb,GAAG;AACd;AAuCA,OAAO,SAASc,UAAUA,CAAA,EAAG;EACzB,OAAOjB,GAAG,CAACO,OAAO,CAAC,CAAC;AACxB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASW,WAAWA,CAACC,MAAsB,EAAEC,KAAa,EAAkB;EAAA,IAAhBC,MAAM,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAC7E,IAAOG,KAAK,GAAIN,MAAM,CAAfM,KAAK;EACZ,IAAI,CAACJ,MAAM,EAAE;IACT,QAAQI,KAAK;MACT,KAAK,MAAM;QACPC,OAAO,CAACC,IAAI,CAACR,MAAM,EAAEC,KAAK,CAAC;QAC3B;MACJ,KAAK,MAAM;QACPM,OAAO,CAACE,IAAI,CAACT,MAAM,EAAEC,KAAK,CAAC;QAC3B;MACJ,KAAK,OAAO;QACRM,OAAO,CAACE,IAAI,CAACT,MAAM,EAAEC,KAAK,CAAC;QAC3B;MACJ;QACIM,OAAO,CAACN,KAAK,CAACD,MAAM,EAAEC,KAAK,CAAC;IACpC;EACJ;EAEA,IAAI,CAACS,gBAAgB,CAACT,KAAM,CAAC,EAAE;IAC3B;EACJ;EAEA,IAAAU,IAAA,GAAwBX,MAAM,CAACY,UAAU,IAAI,CAAC,CAAC;IAAxCC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAKC,IAAI,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EAEpB,IAAMJ,UAAU,GAAAK,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACTH,IAAI,GACJI,kBAAkB,CAACjB,KAAK,CAAC,GACzBkB,iBAAiB,CAACN,IAAI,CAAC,CAC7B;EAED,IAAMO,CAAS,GAAGC,MAAM,CAACC,MAAM,CAC3B,CAAC,CAAC,EACFtB,MAAM,EACNqB,MAAM,CAACE,IAAI,CAACX,UAAU,CAAC,CAACR,MAAM,GAAG;IAACQ,UAAU,EAAVA;EAAU,CAAC,GAAGP,SACpD,CAAC;EAED,OAAOxB,GAAG,CAACY,QAAQ,CAAC2B,CAAC,EAAEnB,KAAK,CAAC;AACjC;AAEA,OAAO,SAASuB,cAAcA,CAAA,EAAiD;EAC3E,OAAO3C,GAAG,CAACa,WAAW,CAAA+B,KAAA,CAAf5C,GAAG,EAAAsB,SAAoB,CAAC;AACnC;AAEA,OAAO,SAASuB,YAAYA,CAAA,EAA+C;EAAA,SAAAC,IAAA,GAAAxB,SAAA,CAAAC,MAAA,EAA3CwB,IAAI,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;IAAJF,IAAI,CAAAE,IAAA,IAAA3B,SAAA,CAAA2B,IAAA;EAAA;EAChCC,YAAY,CAAAN,KAAA,UAAC,WAAW,EAAAO,MAAA,CAAKJ,IAAI,EAAC;EAClC,OAAO/C,GAAG,CAACU,SAAS,CAAAkC,KAAA,CAAb5C,GAAG,EAAc+C,IAAI,CAAC;AACjC;AAEA,OAAO,SAASK,cAAcA,CAAA,EAAG;EAC7BpD,GAAG,CAACc,eAAe,CAAC,CAAC;EACrBd,GAAG,CAACe,wBAAwB,CAAC,CAAC;EAC9Bf,GAAG,CAACgB,8BAA8B,CAAC,CAAC;AACxC;AAEA,OAAO,SAASqC,sBAAsBA,CAAA,EAAG;EACrC,OAAOrD,GAAG,CAACW,YAAY,CAAC,MAAM,CAAC;AACnC;AAEA,IAAM2C,kBAAkB,GACpB,CAAC,CAAC,OAAAC,gBAAA,GAAKnD,MAAM,CAACoD,QAAQ,cAAAD,gBAAA,gBAAAA,gBAAA,GAAfA,gBAAA,CAAiBE,MAAM,cAAAF,gBAAA,uBAAvBA,gBAAA,CAAyBG,KAAK,CAAC,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC,CAACC,OAAO,CAAC,YAAY,CAAC;AAC7E,IAAMC,gBAAgB,GAClBP,kBAAkB,IAAI,CAAC,CAAC,OAAAQ,iBAAA,GAAK1D,MAAM,CAACoD,QAAQ,cAAAM,iBAAA,gBAAAA,iBAAA,GAAfA,iBAAA,CAAiBL,MAAM,cAAAK,iBAAA,uBAAvBA,iBAAA,CAAyBJ,KAAK,CAAC,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC,CAACC,OAAO,CAAC,YAAY,CAAC;AAEnG,IAAMG,SAAS,GAAGvD,IAAI,CAACC,GAAG,CAAC,CAAC;AAE5BuD,WAAW,CAAC,YAAY,EAAED,SAAS,CAAC;AAEpC,OAAO,SAASC,WAAWA,CAAA,EAAe;EACtC,IAAIH,gBAAgB,EAAE;IAAA,IAAAI,QAAA;IAAA,SAAAC,KAAA,GAAA5C,SAAA,CAAAC,MAAA,EADKwB,IAAI,OAAAC,KAAA,CAAAkB,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;MAAJpB,IAAI,CAAAoB,KAAA,IAAA7C,SAAA,CAAA6C,KAAA;IAAA;IAE3B,CAAAF,QAAA,GAAAvC,OAAO,EAAC0C,GAAG,CAAAxB,KAAA,CAAAqB,QAAA,GAAC,MAAM,EAAEzD,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGsD,SAAS,EAAAZ,MAAA,CAAKJ,IAAI,EAAC;EACxD;AACJ;AAEA,OAAO,SAASG,YAAYA,CAAA,EAAe;EACvC,IAAII,kBAAkB,EAAE;IAAA,IAAAe,SAAA;IAAA,SAAAC,KAAA,GAAAhD,SAAA,CAAAC,MAAA,EADIwB,IAAI,OAAAC,KAAA,CAAAsB,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;MAAJxB,IAAI,CAAAwB,KAAA,IAAAjD,SAAA,CAAAiD,KAAA;IAAA;IAE5B,CAAAF,SAAA,GAAA3C,OAAO,EAAC0C,GAAG,CAAAxB,KAAA,CAAAyB,SAAA,GAAC,MAAM,EAAE7D,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGsD,SAAS,EAAAZ,MAAA,CAAKJ,IAAI,EAAC;EACxD;AACJ;AAEA,SAASV,kBAAkBA,CAACjB,KAAa,EAAE;EACvC,OAAO,CAACA,KAAK,GAAG,IAAI,GAAG;IAACA,KAAK,EAAEoD,cAAc,CAACpD,KAAK;EAAC,CAAC;AACzD;AAEA,SAASoD,cAAcA,CAACpD,KAAa,EAAE;EACnC;EACA,IAAAqD,KAAA,GAAyBrD,KAAK,IAAI,CAAC,CAAC;IAA7BsD,KAAK,GAAAD,KAAA,CAALC,KAAK;IAAKzC,IAAI,GAAAC,wBAAA,CAAAuC,KAAA,EAAAE,UAAA;EACrB,OAAOC,IAAI,CAACC,SAAS,CAAC5C,IAAI,CAAC;AAC/B;AAEA,SAASK,iBAAiBA,CAACN,IAAa,EAAE;EACtC,IAAI,CAACA,IAAI,IAAI5B,MAAM,CAACoD,QAAQ,CAACxB,IAAI,KAAKA,IAAI,EAAE;IACxC,OAAOR,SAAS;EACpB;EAEA,IAAOsD,MAAM,GAAI1E,MAAM,CAACoD,QAAQ,CAAzBsB,MAAM;EACb,OAAO;IACH9C,IAAI,EAAEA,IAAI,CAAC+C,UAAU,CAACD,MAAM,CAAC,GAAG9C,IAAI,CAACgD,MAAM,CAACF,MAAM,CAACvD,MAAM,CAAC,GAAGS;EACjE,CAAC;AACL;AAEA,SAASH,gBAAgBA,CAACT,KAAyB,EAAW;EAAA,IAAA6D,eAAA;EAC1D,IAAMC,GAAG,GAAGrF,KAAK,CAACsF,YAAY,CAAC/D,KAAK,CAAC,IAAA6D,eAAA,GAAI7D,KAAK,CAACgE,QAAQ,cAAAH,eAAA,uBAAdA,eAAA,CAAgBI,IAAI,GAAejE,KAAK;EAEjF,OAAO,EAAEtB,SAAS,CAACoF,GAAG,CAAC,IAAIA,GAAG,CAACI,IAAI,IAAIvF,QAAQ,CAACwF,QAAQ,CAACL,GAAG,CAACI,IAAI,CAAC,CAAC;AACvE"}
1
+ {"version":3,"names":["axios","isYTError","YTErrors","RUM","getRumInstance","_Ya","res","window","Ya","Rum","getTime","Date","now","sendDelta","sendTimeMark","logError","makeSubPage","sendTrafficData","finalizeLayoutShiftScore","finalizeLargestContentfulPaint","rumGetTime","rumLogError","params","error","silent","arguments","length","undefined","level","console","warn","info","isAllowSendError","_ref","additional","href","rest","_objectWithoutProperties","_excluded","_objectSpread","wrappedErrorOrNull","wrappedHrefOrNull","p","Object","assign","keys","rumMakeSubPage","apply","rumSendDelta","_len","args","Array","_key","rumDebugLog2","concat","rumFinalizeSpa","rumSendFrameworkInited","ENABLE_RUM_DEBUG_2","_window$location","location","search","slice","split","indexOf","ENABLE_RUM_DEBUG","_window$location2","startTime","rumDebugLog","_console","_len2","_key2","log","_console2","_len3","_key3","stringifyError","_ref2","stack","_excluded2","JSON","stringify","origin","startsWith","substr","_error$response","err","isAxiosError","response","data","code","values","includes"],"sources":["rum-counter.ts"],"sourcesContent":["import axios, {AxiosError} from 'axios';\nimport {YTError} from '../../@types/types';\nimport {isYTError} from '../../shared/utils';\nimport {YTErrors} from './constants';\n\nconst RUM = getRumInstance();\n\nfunction getRumInstance(): RumCounter {\n const res = (window as any).Ya?.Rum as RumCounter;\n if (!res) {\n return {\n getTime() {\n return Date.now();\n },\n sendDelta() {},\n sendTimeMark() {},\n logError() {},\n makeSubPage(): SubPage {\n return {};\n },\n\n sendTrafficData() {},\n finalizeLayoutShiftScore() {},\n finalizeLargestContentfulPaint() {},\n } as RumCounter;\n }\n return res;\n}\n\ninterface RumCounter {\n getTime(): number;\n sendDelta(id: string, deltaTime: number, subPage?: SubPage): void;\n sendTimeMark(\n counterId: string,\n time?: number,\n addPerfMark?: boolean,\n params?: string | object,\n ): void;\n logError(params: LogErrorParams, error?: Error): void;\n makeSubPage(pageName: string, start?: number): SubPage;\n\n sendTrafficData(): void;\n finalizeLayoutShiftScore(): void;\n finalizeLargestContentfulPaint(): void;\n}\n\nexport interface SubPage {}\n\ninterface LogErrorParams {\n message?: string; // 'parse data',\n block?: string; // 'stream',\n method?: string; // '_getData',\n source?: string; // 'ugc_backend', // Source of error\n sourceMethod?: string; // 'set_reactions', // Method of error sources\n type?: string; // 'logic', // Type of error: network, logic\n page?: string; // 'product',\n service?: string; // 'ether',\n level?: 'info' | 'debug' | 'warn' | 'error' | 'fatal';\n additional?: any /* { // key-value Additional information withot nesting. Do not send application state.\n morda: // 'big'\n },\n */;\n // eslint-disable-next-line camelcase\n coordinates_gp?: string; //'43_2959023:76_9437790:140_0000000:1:1425279224', // User coordinates from gp_auto\n}\n\nexport function rumGetTime() {\n return RUM.getTime();\n}\n\n/**\n * Field params.additional.href is handled in a special way: the value is sent only when it is not equal to window.location.href,\n * additionaly the prefix that equeal to window.location.origin is\n * @param params\n * @param error\n * @param silent\n */\nexport function rumLogError(params: LogErrorParams, error?: Error, silent = false) {\n const {level} = params;\n if (!silent) {\n switch (level) {\n case 'warn':\n console.warn(params, error);\n break;\n case 'info':\n console.info(params, error);\n break;\n case 'debug':\n console.info(params, error);\n break;\n default:\n console.error(params, error);\n }\n }\n\n if (!isAllowSendError(error!)) {\n return;\n }\n\n const {href, ...rest} = params.additional || {};\n\n const additional = {\n ...rest,\n ...wrappedErrorOrNull(error),\n ...wrappedHrefOrNull(href),\n };\n\n const p: object = Object.assign(\n {},\n params,\n Object.keys(additional).length ? {additional} : undefined,\n );\n\n return RUM.logError(p, error);\n}\n\nexport function rumMakeSubPage(...args: Parameters<RumCounter['makeSubPage']>) {\n return RUM.makeSubPage(...args);\n}\n\nexport function rumSendDelta(...args: Parameters<RumCounter['sendDelta']>) {\n rumDebugLog2('sendDelta', ...args);\n return RUM.sendDelta(...args);\n}\n\nexport function rumFinalizeSpa() {\n RUM.sendTrafficData();\n RUM.finalizeLayoutShiftScore();\n RUM.finalizeLargestContentfulPaint();\n}\n\nexport function rumSendFrameworkInited() {\n return RUM.sendTimeMark('3036');\n}\n\nconst ENABLE_RUM_DEBUG_2 =\n -1 !== window.location?.search?.slice(1).split('&').indexOf('rumdebug=2');\nconst ENABLE_RUM_DEBUG =\n ENABLE_RUM_DEBUG_2 || -1 !== window.location?.search?.slice(1).split('&').indexOf('rumdebug=1');\n\nconst startTime = Date.now();\n\nrumDebugLog('Start time', startTime);\n\nexport function rumDebugLog(...args: any) {\n if (ENABLE_RUM_DEBUG) {\n console.log('RUM:', Date.now() - startTime, ...args);\n }\n}\n\nexport function rumDebugLog2(...args: any) {\n if (ENABLE_RUM_DEBUG_2) {\n console.log('RUM:', Date.now() - startTime, ...args);\n }\n}\n\nfunction wrappedErrorOrNull(error?: Error) {\n return !error ? null : {error: stringifyError(error)};\n}\n\nfunction stringifyError(error?: Error) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const {stack, ...rest} = error || {};\n return JSON.stringify(rest);\n}\n\nfunction wrappedHrefOrNull(href?: string) {\n if (!href || window.location.href === href) {\n return undefined;\n }\n\n const {origin} = window.location;\n return {\n href: href.startsWith(origin) ? href.substr(origin.length) : href,\n };\n}\n\nfunction isAllowSendError(error: Error | AxiosError): boolean {\n const err = axios.isAxiosError(error) ? (error.response?.data as YTError) : error;\n\n return !(isYTError(err) && err.code && Object.values(YTErrors).includes(err.code));\n}\n"],"mappings":"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"}
@@ -1,17 +1,19 @@
1
- export function loadMasters(): (dispatch: any) => Promise<void | {
2
- isRetryFutile: boolean;
3
- } | undefined>;
4
- export const FETCH_MASTER_CONFIG: {
1
+ import { isRetryFutile } from '../../../utils/index';
2
+ import type { Dispatch } from 'redux';
3
+ export declare const FETCH_MASTER_CONFIG: {
5
4
  readonly REQUEST: "MASTER_CONFIG_REQUEST";
6
5
  readonly PARTITION: "MASTER_CONFIG_PARTITION";
7
6
  readonly SUCCESS: "MASTER_CONFIG_SUCCESS";
8
7
  readonly FAILURE: "MASTER_CONFIG_FAILURE";
9
8
  readonly CANCELLED: "MASTER_CONFIG_CANCELLED";
10
9
  };
11
- export const FETCH_MASTER_DATA: {
10
+ export declare const FETCH_MASTER_DATA: {
12
11
  readonly REQUEST: "MASTER_DATA_REQUEST";
13
12
  readonly PARTITION: "MASTER_DATA_PARTITION";
14
13
  readonly SUCCESS: "MASTER_DATA_SUCCESS";
15
14
  readonly FAILURE: "MASTER_DATA_FAILURE";
16
15
  readonly CANCELLED: "MASTER_DATA_CANCELLED";
17
16
  };
17
+ export declare function loadMasters(): (dispatch: Dispatch) => Promise<void | {
18
+ isRetryFutile: true;
19
+ }>;