@ytsaurus/ui 1.8.0 → 1.10.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 (159) hide show
  1. package/README.md +0 -1
  2. package/build/cjs/shared/constants/settings-types.d.ts +7 -1
  3. package/build/cjs/shared/constants/settings-types.js.map +1 -1
  4. package/build/cjs/shared/constants/settings.d.ts +1 -0
  5. package/build/cjs/shared/constants/settings.js +1 -0
  6. package/build/cjs/shared/constants/settings.js.map +1 -1
  7. package/build/cjs/ui/components/Icon/Icon.d.ts +1 -0
  8. package/build/cjs/ui/components/Icon/importGravityIcons.d.ts +1 -0
  9. package/build/cjs/ui/components/Icon/importGravityIcons.js +18 -1
  10. package/build/cjs/ui/components/Icon/importGravityIcons.js.map +1 -1
  11. package/build/cjs/ui/containers/SettingsMenu/SettingsMenuItem.d.ts +2 -0
  12. package/build/cjs/ui/containers/SettingsMenu/SettingsMenuItem.js +10 -4
  13. package/build/cjs/ui/containers/SettingsMenu/SettingsMenuItem.js.map +1 -1
  14. package/build/cjs/ui/containers/SettingsPanel/settings-description.js +1 -2
  15. package/build/cjs/ui/containers/SettingsPanel/settings-description.js.map +1 -1
  16. package/build/cjs/ui/hooks/use-prevent-unload.d.ts +3 -0
  17. package/build/cjs/ui/hooks/use-prevent-unload.js +25 -0
  18. package/build/cjs/ui/hooks/use-prevent-unload.js.map +1 -0
  19. package/build/cjs/ui/pages/components/tabs/node/NodeLocations/NodeLocations.js +27 -13
  20. package/build/cjs/ui/pages/components/tabs/node/NodeLocations/NodeLocations.js.map +1 -1
  21. package/build/cjs/ui/pages/components/tabs/nodes/NodeCard/NodeCard.d.ts +1 -0
  22. package/build/cjs/ui/pages/components/tabs/nodes/NodeCard/NodeCard.js +12 -1
  23. package/build/cjs/ui/pages/components/tabs/nodes/NodeCard/NodeCard.js.map +1 -1
  24. package/build/cjs/ui/pages/query-tracker/QueriesListSidebarToggleButton/QueriesListSidebarToggleButton.d.ts +2 -0
  25. package/build/cjs/ui/pages/query-tracker/QueriesListSidebarToggleButton/QueriesListSidebarToggleButton.js +28 -0
  26. package/build/cjs/ui/pages/query-tracker/QueriesListSidebarToggleButton/QueriesListSidebarToggleButton.js.map +1 -0
  27. package/build/cjs/ui/pages/query-tracker/QueryEditor/QueryEditor.d.ts +1 -7
  28. package/build/cjs/ui/pages/query-tracker/QueryEditor/QueryEditor.js +4 -34
  29. package/build/cjs/ui/pages/query-tracker/QueryEditor/QueryEditor.js.map +1 -1
  30. package/build/cjs/ui/pages/query-tracker/QueryResults/hooks/useQueryResultTabs.js +5 -3
  31. package/build/cjs/ui/pages/query-tracker/QueryResults/hooks/useQueryResultTabs.js.map +1 -1
  32. package/build/cjs/ui/pages/query-tracker/QueryTracker/QueryTracker.js +11 -11
  33. package/build/cjs/ui/pages/query-tracker/QueryTracker/QueryTracker.js.map +1 -1
  34. package/build/cjs/ui/pages/query-tracker/QueryTrackerTopRow/index.js +3 -2
  35. package/build/cjs/ui/pages/query-tracker/QueryTrackerTopRow/index.js.map +1 -1
  36. package/build/cjs/ui/pages/query-tracker/hooks/QueriesList/index.d.ts +4 -0
  37. package/build/cjs/ui/pages/query-tracker/hooks/QueriesList/index.js +14 -1
  38. package/build/cjs/ui/pages/query-tracker/hooks/QueriesList/index.js.map +1 -1
  39. package/build/cjs/ui/pages/query-tracker/module/query/actions.d.ts +1 -1
  40. package/build/cjs/ui/pages/query-tracker/module/query/actions.js.map +1 -1
  41. package/build/cjs/ui/pages/query-tracker/module/query/reducer.d.ts +1 -0
  42. package/build/cjs/ui/pages/query-tracker/module/query/reducer.js +6 -1
  43. package/build/cjs/ui/pages/query-tracker/module/query/reducer.js.map +1 -1
  44. package/build/cjs/ui/pages/query-tracker/module/query/selectors.d.ts +1 -0
  45. package/build/cjs/ui/pages/query-tracker/module/query/selectors.js +4 -1
  46. package/build/cjs/ui/pages/query-tracker/module/query/selectors.js.map +1 -1
  47. package/build/cjs/ui/pages/query-tracker/module/settings/selector.d.ts +839 -0
  48. package/build/cjs/ui/pages/query-tracker/module/settings/selector.js +12 -0
  49. package/build/cjs/ui/pages/query-tracker/module/settings/selector.js.map +1 -0
  50. package/build/cjs/ui/store/actions/settings/index.d.ts +3 -2
  51. package/build/cjs/ui/store/actions/settings/index.js +8 -2
  52. package/build/cjs/ui/store/actions/settings/index.js.map +1 -1
  53. package/build/cjs/ui/store/reducers/global/cluster-ui-config.d.ts +0 -1
  54. package/build/cjs/ui/store/reducers/global/cluster-ui-config.js.map +1 -1
  55. package/build/cjs/ui/store/selectors/global/index.d.ts +0 -840
  56. package/build/cjs/ui/store/selectors/global/index.js +2 -8
  57. package/build/cjs/ui/store/selectors/global/index.js.map +1 -1
  58. package/build/cjs/ui/store/selectors/navigation/content/table.d.ts +1 -1
  59. package/build/cjs/ui/store/selectors/navigation/content/table.js +2 -3
  60. package/build/cjs/ui/store/selectors/navigation/content/table.js.map +1 -1
  61. package/build/cjs/ui/store/selectors/settings-base.d.ts +3 -0
  62. package/build/cjs/ui/store/selectors/settings-base.js +10 -0
  63. package/build/cjs/ui/store/selectors/settings-base.js.map +1 -0
  64. package/build/esm/shared/constants/settings-types.d.ts +7 -1
  65. package/build/esm/shared/constants/settings-types.js.map +1 -1
  66. package/build/esm/shared/constants/settings.d.ts +1 -0
  67. package/build/esm/shared/constants/settings.js +2 -1
  68. package/build/esm/shared/constants/settings.js.map +1 -1
  69. package/build/esm/ui/components/Icon/Icon.d.ts +1 -0
  70. package/build/esm/ui/components/Icon/importGravityIcons.d.ts +1 -0
  71. package/build/esm/ui/components/Icon/importGravityIcons.js +18 -1
  72. package/build/esm/ui/components/Icon/importGravityIcons.js.map +1 -1
  73. package/build/esm/ui/containers/SettingsMenu/SettingsMenuItem.d.ts +2 -0
  74. package/build/esm/ui/containers/SettingsMenu/SettingsMenuItem.js +11 -5
  75. package/build/esm/ui/containers/SettingsMenu/SettingsMenuItem.js.map +1 -1
  76. package/build/esm/ui/containers/SettingsPanel/settings-description.js +2 -3
  77. package/build/esm/ui/containers/SettingsPanel/settings-description.js.map +1 -1
  78. package/build/esm/ui/hooks/use-prevent-unload.d.ts +3 -0
  79. package/build/esm/ui/hooks/use-prevent-unload.js +19 -0
  80. package/build/esm/ui/hooks/use-prevent-unload.js.map +1 -0
  81. package/build/esm/ui/pages/components/tabs/node/NodeLocations/NodeLocations.js +28 -13
  82. package/build/esm/ui/pages/components/tabs/node/NodeLocations/NodeLocations.js.map +1 -1
  83. package/build/esm/ui/pages/components/tabs/nodes/NodeCard/NodeCard.d.ts +1 -0
  84. package/build/esm/ui/pages/components/tabs/nodes/NodeCard/NodeCard.js +12 -1
  85. package/build/esm/ui/pages/components/tabs/nodes/NodeCard/NodeCard.js.map +1 -1
  86. package/build/esm/ui/pages/query-tracker/QueriesListSidebarToggleButton/QueriesListSidebarToggleButton.d.ts +2 -0
  87. package/build/esm/ui/pages/query-tracker/QueriesListSidebarToggleButton/QueriesListSidebarToggleButton.js +21 -0
  88. package/build/esm/ui/pages/query-tracker/QueriesListSidebarToggleButton/QueriesListSidebarToggleButton.js.map +1 -0
  89. package/build/esm/ui/pages/query-tracker/QueryEditor/QueryEditor.d.ts +1 -7
  90. package/build/esm/ui/pages/query-tracker/QueryEditor/QueryEditor.js +4 -34
  91. package/build/esm/ui/pages/query-tracker/QueryEditor/QueryEditor.js.map +1 -1
  92. package/build/esm/ui/pages/query-tracker/QueryResults/hooks/useQueryResultTabs.js +5 -3
  93. package/build/esm/ui/pages/query-tracker/QueryResults/hooks/useQueryResultTabs.js.map +1 -1
  94. package/build/esm/ui/pages/query-tracker/QueryTracker/QueryTracker.js +11 -11
  95. package/build/esm/ui/pages/query-tracker/QueryTracker/QueryTracker.js.map +1 -1
  96. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/index.js +4 -2
  97. package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/index.js.map +1 -1
  98. package/build/esm/ui/pages/query-tracker/hooks/QueriesList/index.d.ts +4 -0
  99. package/build/esm/ui/pages/query-tracker/hooks/QueriesList/index.js +13 -0
  100. package/build/esm/ui/pages/query-tracker/hooks/QueriesList/index.js.map +1 -1
  101. package/build/esm/ui/pages/query-tracker/module/query/actions.d.ts +1 -1
  102. package/build/esm/ui/pages/query-tracker/module/query/actions.js.map +1 -1
  103. package/build/esm/ui/pages/query-tracker/module/query/reducer.d.ts +1 -0
  104. package/build/esm/ui/pages/query-tracker/module/query/reducer.js +6 -1
  105. package/build/esm/ui/pages/query-tracker/module/query/reducer.js.map +1 -1
  106. package/build/esm/ui/pages/query-tracker/module/query/selectors.d.ts +1 -0
  107. package/build/esm/ui/pages/query-tracker/module/query/selectors.js +3 -0
  108. package/build/esm/ui/pages/query-tracker/module/query/selectors.js.map +1 -1
  109. package/build/esm/ui/pages/query-tracker/module/settings/selector.d.ts +839 -0
  110. package/build/esm/ui/pages/query-tracker/module/settings/selector.js +6 -0
  111. package/build/esm/ui/pages/query-tracker/module/settings/selector.js.map +1 -0
  112. package/build/esm/ui/store/actions/settings/index.d.ts +3 -2
  113. package/build/esm/ui/store/actions/settings/index.js +7 -2
  114. package/build/esm/ui/store/actions/settings/index.js.map +1 -1
  115. package/build/esm/ui/store/reducers/global/cluster-ui-config.d.ts +0 -1
  116. package/build/esm/ui/store/reducers/global/cluster-ui-config.js.map +1 -1
  117. package/build/esm/ui/store/selectors/global/index.d.ts +0 -840
  118. package/build/esm/ui/store/selectors/global/index.js +0 -6
  119. package/build/esm/ui/store/selectors/global/index.js.map +1 -1
  120. package/build/esm/ui/store/selectors/navigation/content/table.d.ts +1 -1
  121. package/build/esm/ui/store/selectors/navigation/content/table.js +2 -3
  122. package/build/esm/ui/store/selectors/navigation/content/table.js.map +1 -1
  123. package/build/esm/ui/store/selectors/settings-base.d.ts +3 -0
  124. package/build/esm/ui/store/selectors/settings-base.js +4 -0
  125. package/build/esm/ui/store/selectors/settings-base.js.map +1 -0
  126. package/dist/public/build/assets-manifest.json +22 -22
  127. package/dist/public/build/css/{225.b92ccff1.chunk.css → 150.81172525.chunk.css} +1 -1
  128. package/dist/public/build/css/{225.b92ccff1.chunk.css.map → 150.81172525.chunk.css.map} +1 -1
  129. package/dist/public/build/css/{622.fd3f4ea8.chunk.css → 869.8f91d9da.chunk.css} +1 -1
  130. package/dist/public/build/css/{622.fd3f4ea8.chunk.css.map → 869.8f91d9da.chunk.css.map} +1 -1
  131. package/dist/public/build/css/{315.6f50c50a.chunk.css → 934.adfa96ce.chunk.css} +1 -1
  132. package/dist/public/build/css/{315.6f50c50a.chunk.css.map → 934.adfa96ce.chunk.css.map} +1 -1
  133. package/dist/public/build/js/150.911decab.chunk.js +2 -0
  134. package/dist/public/build/js/150.911decab.chunk.js.map +1 -0
  135. package/dist/public/build/js/869.3cf341b5.chunk.js +3 -0
  136. package/dist/public/build/js/869.3cf341b5.chunk.js.map +1 -0
  137. package/dist/public/build/js/925.ef88f4d2.chunk.js +2 -0
  138. package/dist/public/build/js/{925.88573496.chunk.js.map → 925.ef88f4d2.chunk.js.map} +1 -1
  139. package/dist/public/build/js/934.fb5e730e.chunk.js +2 -0
  140. package/dist/public/build/js/934.fb5e730e.chunk.js.map +1 -0
  141. package/dist/public/build/js/main.ff54db3c.js +3 -0
  142. package/dist/public/build/js/{main.f963eaee.js.map → main.ff54db3c.js.map} +1 -1
  143. package/dist/public/build/js/{runtime.f4dc30b7.js → runtime.fea34b4d.js} +2 -2
  144. package/dist/public/build/js/{runtime.f4dc30b7.js.map → runtime.fea34b4d.js.map} +1 -1
  145. package/dist/public/build/manifest.json +18 -18
  146. package/dist/shared/constants/settings-types.d.ts +7 -1
  147. package/dist/shared/constants/settings.d.ts +1 -0
  148. package/dist/shared/constants/settings.js +1 -0
  149. package/package.json +2 -2
  150. package/dist/public/build/js/225.1200e703.chunk.js +0 -2
  151. package/dist/public/build/js/225.1200e703.chunk.js.map +0 -1
  152. package/dist/public/build/js/315.332b1ef1.chunk.js +0 -2
  153. package/dist/public/build/js/315.332b1ef1.chunk.js.map +0 -1
  154. package/dist/public/build/js/622.137ced51.chunk.js +0 -3
  155. package/dist/public/build/js/622.137ced51.chunk.js.map +0 -1
  156. package/dist/public/build/js/925.88573496.chunk.js +0 -2
  157. package/dist/public/build/js/main.f963eaee.js +0 -3
  158. /package/dist/public/build/js/{622.137ced51.chunk.js.LICENSE.txt → 869.3cf341b5.chunk.js.LICENSE.txt} +0 -0
  159. /package/dist/public/build/js/{main.f963eaee.js.LICENSE.txt → main.ff54db3c.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["React","useSelector","_compact","_filter","_forEach","_map","_reduce","produce","UIFactory","generalIcon","paletteIcon","closeTagIcon","dataIcon","systemIcon","mastersRadioButtonItems","operationsIcon","componentsIcon","navigationIcon","shieldIcon","tableIcon","infoIcon","useClusterFromLocation","docsUrl","uiSettings","ypath","AGGREGATOR_RADIO_ITEMS","NAMESPACES","SettingName","getRecentPagesInfo","SettingsMenuItem","SettingsMenuRadio","SettingsMenuInput","getCurrentClusterNS","getCurrentUserName","getGlobalMasterVersion","getGlobalSchedulerVersion","getHttpProxyVersion","isDeveloperSettings","isYqlTypesSupported","cellSizeRadioButtonItems","pageSizeRadioButtonItems","YT","Link","Button","jsx","_jsx","oauthTokenUrl","StartPageSettingMemo","memo","StartPageSetting","wrapEscapeText","text","concat","useSettings","cluster","isAdmin","clusterNS","isSupportedYqlTypes","httpProxyVersion","schedulerVersion","masterVersion","makePage","makeItem","settingName","GLOBAL","AUTO_REFRESH","settingNS","annotation","oneLine","MENU","RECENT_CLUSTER_FIRST","RECENT_PAGE_FIRST","THEME","items","value","A11Y","USE_SAFE_COLORS","convertValue","DEVELOPMENT","REGULAR_USER_UI","label","placeholder","description","QUERY_TRACKER","STAGE","YQL_AGENT_STAGE","YSON","FORMAT","SHOW_DECODED","annotationHighlight","BINARY_AS_HEX","ESCAPE_WHITESPACES","COMPACT","SYSTEM","MASTERS_HOST_TYPE","OPERATIONS","STATISTICS_AGGREGATION_TYPE","validator","navigationPathValidator","LOCAL","NAVIGATION_DEFAULT_PATH","chytAliasValidator","NAVIGATION","DEFAULT_CHYT_ALIAS","USE_SMART_SORT","GROUP_NODES","USE_SMART_FILTER","ENABLE_PATH_AUTO_CORRECTION","docsUrls","COMPONENTS","ENABLE_SIDE_BAR","YQL_TYPES","ROWS_PER_TABLE_PAGE","String","Number","MAXIMUM_TABLE_STRING_SIZE","DEFAULT_TABLE_COLUMN_LIMIT","ENABLE_TABLE_SIMILARITY","TABLE_DISPLAY_RAW_STRINGS","undefined","url","target","children","size","Boolean","parameters","version","title","icon","sections","align","content","useSettingsDescription","login","settings","externalSettings","getExternalSettings","res","useMemo","extPages","hashByTitle","pages","page","extPage","extSections","section","s","_section$items","push","apply","_toConsumableArray","splice","length","data","acc","item","_useSelector","all","pageItems","headerPages","header","id","name","STARTING_PAGE","arguments","YPath","create","err","message","startsWith"],"sources":["settings-description.tsx"],"sourcesContent":["import React from 'react';\nimport {useSelector} from 'react-redux';\nimport {IconProps} from '@gravity-ui/uikit';\nimport _compact from 'lodash/compact';\nimport _filter from 'lodash/filter';\nimport _forEach from 'lodash/forEach';\nimport _map from 'lodash/map';\nimport _reduce from 'lodash/reduce';\nimport produce from 'immer';\n\nimport UIFactory from '../../UIFactory';\n\nimport generalIcon from '../../../../img/svg/tools-icon.svg';\nimport paletteIcon from '../../../../img/svg/palette-icon.svg';\nimport closeTagIcon from '../../../../img/svg/close-tag-icon.svg';\nimport dataIcon from '../../../../img/svg/data-icon.svg';\nimport systemIcon from '../../../../img/svg/page-system.svg';\nimport {mastersRadioButtonItems} from '../../constants/system/masters';\nimport operationsIcon from '../../../../img/svg/page-operations.svg';\nimport componentsIcon from '../../../../img/svg/page-components.svg';\nimport navigationIcon from '../../../../img/svg/page-navigation.svg';\nimport shieldIcon from '../../../../img/svg/shield-icon.svg';\nimport tableIcon from '../../../../img/svg/table-icon.svg';\nimport infoIcon from '../../../../img/svg/info-icon.svg';\nimport {useClusterFromLocation} from '../../hooks/use-cluster';\nimport {docsUrl} from '../../config/index';\nimport {uiSettings} from '../../config/ui-settings';\n\nimport ypath from '../../common/thor/ypath';\n\nimport {AGGREGATOR_RADIO_ITEMS} from '../../constants/operations/statistics';\nimport {NAMESPACES, SettingName} from '../../../shared/constants/settings';\nimport {getRecentPagesInfo} from '../../store/selectors/slideoutMenu';\nimport SettingsMenuItem from '../../containers/SettingsMenu/SettingsMenuItem';\nimport SettingsMenuRadio from '../../containers/SettingsMenu/SettingsMenuRadio';\nimport SettingsMenuInput from '../SettingsMenu/SettingsMenuInput';\nimport {\n getCurrentClusterNS,\n getCurrentUserName,\n getGlobalMasterVersion,\n getGlobalSchedulerVersion,\n getHttpProxyVersion,\n isDeveloperSettings,\n isYqlTypesSupported,\n} from '../../store/selectors/global';\nimport {\n cellSizeRadioButtonItems,\n pageSizeRadioButtonItems,\n} from '../../constants/navigation/content/table';\nimport YT from '../../config/yt-config';\nimport Link from '../../components/Link/Link';\nimport Button from '../../components/Button/Button';\n\nexport interface SettingsPage {\n title: string;\n icon: IconProps;\n sections: Array<SettingsSection>;\n}\n\nexport interface SettingsSection {\n title: string;\n items: Array<SettingsItem>;\n}\n\nexport interface SettingsItem {\n title: string;\n align?: 'top' | 'center';\n content: React.ReactNode;\n}\n\nconst {oauthTokenUrl} = uiSettings;\n\nconst StartPageSettingMemo = React.memo(StartPageSetting);\n\nfunction wrapEscapeText(text: string) {\n return `<span class=\"unipika\"><span class=\"escape\">${text}</span></span>`;\n}\n\nfunction useSettings(cluster: string, isAdmin: boolean): Array<SettingsPage> {\n const clusterNS = useSelector(getCurrentClusterNS);\n\n const isSupportedYqlTypes = useSelector(isYqlTypesSupported);\n const httpProxyVersion: string = useSelector(getHttpProxyVersion);\n const schedulerVersion: string = useSelector(getGlobalSchedulerVersion);\n const masterVersion: string = useSelector(getGlobalMasterVersion);\n\n return _compact([\n makePage('General', generalIcon, [\n makeItem('Start page', 'top', <StartPageSettingMemo />),\n makeItem(\n 'Use auto refresh',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.GLOBAL.AUTO_REFRESH}\n settingNS={NAMESPACES.GLOBAL}\n annotation=\"Automatically update pages with highly dynamic content\"\n oneLine={true}\n />,\n ),\n makeItem(\n 'Use recent clusters',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.MENU.RECENT_CLUSTER_FIRST}\n settingNS={NAMESPACES.MENU}\n annotation={'Recently visited clusters appear at the top of cluster menu.'}\n oneLine\n />,\n ),\n makeItem(\n 'Use recent pages',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.MENU.RECENT_PAGE_FIRST}\n settingNS={NAMESPACES.MENU}\n annotation={'Recently visited pages appear at the top of pages menu.'}\n oneLine\n />,\n ),\n ]),\n makePage('Appearance', paletteIcon, [\n makeItem(\n 'Theme',\n 'top',\n <SettingsMenuRadio\n settingName={SettingName.GLOBAL.THEME}\n settingNS={NAMESPACES.GLOBAL}\n items={[\n {value: 'light', text: 'Light'},\n {value: 'dark', text: 'Dark'},\n {value: 'system', text: 'System'},\n ]}\n />,\n ),\n makeItem(\n 'Contrast',\n 'top',\n <SettingsMenuRadio\n settingName={SettingName.A11Y.USE_SAFE_COLORS}\n settingNS={NAMESPACES.A11Y}\n convertValue={(value) => value === 'true'}\n items={[\n {value: 'false', text: 'Normal'},\n {value: 'true', text: 'High'},\n ]}\n />,\n ),\n ]),\n makePage(\n 'Development',\n closeTagIcon,\n _compact([\n isAdmin &&\n makeItem(\n \"Show regular user's UI\",\n 'top',\n <SettingsMenuItem\n settingName={SettingName.DEVELOPMENT.REGULAR_USER_UI}\n settingNS={NAMESPACES.DEVELOPMENT}\n label={\"Show regular user's UI\"}\n annotation={\n 'There is some difference in UI for development-team and regular users, ' +\n 'enabling of the option allows to see exactly the same what see a regular user.'\n }\n />,\n ),\n makeItem(\n 'Query Tracker Stage',\n 'top',\n <SettingsMenuInput\n placeholder=\"Enter stage...\"\n description=\"Default Query Tracker stage is 'production'. But you can reassign it with this setting.\"\n settingName={SettingName.QUERY_TRACKER.STAGE}\n settingNS={NAMESPACES.QUERY_TRACKER}\n />,\n ),\n makeItem(\n 'YQL agent stage',\n 'top',\n <SettingsMenuInput\n placeholder=\"Enter YQL agent stage...\"\n settingName={SettingName.QUERY_TRACKER.YQL_AGENT_STAGE}\n settingNS={NAMESPACES.QUERY_TRACKER}\n />,\n ),\n ]),\n ),\n\n makePage('Data', dataIcon, [\n makeItem(\n 'Data format',\n 'top',\n <SettingsMenuRadio\n settingName={SettingName.YSON.FORMAT}\n settingNS={NAMESPACES.YSON}\n items={[\n {\n value: 'yson',\n text: 'YSON',\n },\n {\n value: 'json',\n text: 'JSON',\n },\n {\n value: 'raw-json',\n text: 'Raw JSON',\n },\n ]}\n />,\n ),\n makeItem(\n 'Decode data as UTF8',\n 'top',\n <SettingsMenuItem\n oneLine={true}\n settingName={SettingName.YSON.SHOW_DECODED}\n settingNS={NAMESPACES.YSON}\n annotation={\n 'Attempt to decode UTF-8 strings. Show Unicode symbols upon success and mark ' +\n 'data as binary otherwise.'\n }\n annotationHighlight={\n 'Please note that YSON does not natively support Unicode symbols ' +\n '&mdash; therefore you would not be able to copy-paste presented YSON as is.'\n }\n />,\n ),\n makeItem(\n 'Binary as HEX',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.YSON.BINARY_AS_HEX}\n settingNS={NAMESPACES.YSON}\n annotation={\n 'Display binary strings as HEX sequences. Strings that were not decoded as UTF8 are therefore considered binary and ' +\n 'displayed as HEX sequences.'\n }\n oneLine\n />,\n ),\n makeItem(\n 'Escape and highlight',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.YSON.ESCAPE_WHITESPACES}\n settingNS={NAMESPACES.YSON}\n annotation={\n `Symbols ${wrapEscapeText('\\\\n')} and ${wrapEscapeText(\n '\\\\t',\n )} will be rendered as escape sequences, whitespaces will be ` +\n 'highlighted as neccessary. Does not affect Raw JSON format.'\n }\n annotationHighlight={\n 'Please note that JSON does not support unescaped control characters ' +\n '&mdash; therefore you would not be able to copy-paste presented JSON as is.'\n }\n oneLine\n />,\n ),\n makeItem(\n 'Compact view',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.YSON.COMPACT}\n settingNS={NAMESPACES.YSON}\n annotation={\n 'Single element lists are rendered inline, so are maps with one property. Does ' +\n 'not affect Raw JSON format.'\n }\n oneLine\n />,\n ),\n ]),\n makePage('System', systemIcon, [\n makeItem(\n 'Host type of Masters/Schedulers/Controller',\n 'top',\n <SettingsMenuRadio\n description=\"Select the default view of host to display on in the Masters/Schedulers and Controller agents section.\"\n settingName={SettingName.SYSTEM.MASTERS_HOST_TYPE}\n settingNS={NAMESPACES.SYSTEM}\n items={mastersRadioButtonItems}\n />,\n ),\n ]),\n makePage('Operation', operationsIcon, [\n makeItem(\n \"Statistic's type\",\n 'top',\n <SettingsMenuRadio\n description=\"Select the default type of job aggregation.\"\n settingName={SettingName.OPERATIONS.STATISTICS_AGGREGATION_TYPE}\n settingNS={NAMESPACES.OPERATIONS}\n items={AGGREGATOR_RADIO_ITEMS}\n />,\n ),\n ]),\n makePage(\n 'Navigation',\n navigationIcon,\n _compact([\n clusterNS &&\n makeItem(\n 'Default path',\n 'top',\n <SettingsMenuInput\n placeholder=\"Enter default navigation path...\"\n description=\"Cluster specific path that will be opened by default in the the Navigation page.\"\n validator={navigationPathValidator}\n settingName={SettingName.LOCAL.NAVIGATION_DEFAULT_PATH}\n settingNS={clusterNS}\n />,\n ),\n makeItem(\n 'Default chyt alias',\n 'top',\n <SettingsMenuInput\n placeholder=\"Enter default chyt alias...\"\n description=\"User alias for the YQL Kit default query string in ClickHouse mode.\"\n validator={chytAliasValidator}\n settingName={SettingName.NAVIGATION.DEFAULT_CHYT_ALIAS}\n settingNS={NAMESPACES.NAVIGATION}\n />,\n ),\n makeItem(\n 'Use smart sort',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.NAVIGATION.USE_SMART_SORT}\n settingNS={NAMESPACES.NAVIGATION}\n annotation={\n 'Nodes with names that represent dates will be sorted from newest date to ' +\n 'oldest, while other nodes will be sorted alphabetically.'\n }\n oneLine\n />,\n ),\n makeItem(\n 'Group nodes by type',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.NAVIGATION.GROUP_NODES}\n settingNS={NAMESPACES.NAVIGATION}\n annotation={\n 'Nodes will be grouped by type and each type will be sorted independently, ' +\n 'folders first, then tables, then files.'\n }\n oneLine\n />,\n ),\n makeItem(\n 'Use smart filter',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.NAVIGATION.USE_SMART_FILTER}\n settingNS={NAMESPACES.NAVIGATION}\n annotation={'Use logical operators in filter like \"and\" and \"or\"'}\n oneLine\n />,\n ),\n makeItem(\n 'Path autocorrection',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.NAVIGATION.ENABLE_PATH_AUTO_CORRECTION}\n settingNS={NAMESPACES.NAVIGATION}\n annotation={\n 'Autocorrect erroneous path if possible. ' +\n docsUrl(\n 'For details see ' +\n `<a class=\"link link_theme_normal\" href=\"${UIFactory.docsUrls['faq:enablepathautocorrection']}\" target=\"_blank\">FAQ</a>` +\n '.',\n )\n }\n oneLine\n />,\n ),\n ]),\n ),\n makePage('Components', componentsIcon, [\n makeItem(\n 'Enable side bar',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.COMPONENTS.ENABLE_SIDE_BAR}\n settingNS={NAMESPACES.COMPONENTS}\n annotation=\"Display node data in the side bar when clicked.\"\n oneLine={true}\n />,\n ),\n ]),\n\n makePage(\n 'Table',\n tableIcon,\n _compact([\n isSupportedYqlTypes &&\n makeItem(\n 'YQL V3 types',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.DEVELOPMENT.YQL_TYPES}\n settingNS={NAMESPACES.DEVELOPMENT}\n oneLine\n />,\n ),\n makeItem(\n 'Rows per page',\n 'top',\n <SettingsMenuRadio\n description=\"Select the default number of rows to display on one table page.\n The number can be changed for the specific table using table settings button.\"\n settingName={SettingName.NAVIGATION.ROWS_PER_TABLE_PAGE}\n settingNS={NAMESPACES.NAVIGATION}\n items={[\n {\n value: String(10),\n text: '10',\n },\n {\n value: String(50),\n text: '50',\n },\n {\n value: String(100),\n text: '100',\n },\n {\n value: String(200),\n text: '200',\n },\n ]}\n convertValue={Number}\n />,\n ),\n makeItem(\n 'Cell size limit',\n 'top',\n <SettingsMenuRadio\n description=\"Select the default cell size limit for tables.\n The cell size limit for the specific table can be changed using table settings button.\"\n settingName={SettingName.NAVIGATION.MAXIMUM_TABLE_STRING_SIZE}\n settingNS={NAMESPACES.NAVIGATION}\n items={cellSizeRadioButtonItems}\n convertValue={Number}\n />,\n ),\n makeItem(\n 'Default column limit',\n 'top',\n <SettingsMenuRadio\n description=\"Select the default column limit for tables. In other words, how many columns will be shown\n when no column has even been hidden using ColumnSelector for the particular table or (if table\n similarity is enabled) for the similar table.\"\n settingName={SettingName.NAVIGATION.DEFAULT_TABLE_COLUMN_LIMIT}\n settingNS={NAMESPACES.NAVIGATION}\n items={pageSizeRadioButtonItems}\n convertValue={Number}\n />,\n ),\n makeItem(\n 'Guess visible columns',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.NAVIGATION.ENABLE_TABLE_SIMILARITY}\n settingNS={NAMESPACES.NAVIGATION}\n annotation={\n 'Use table similarity for guessing visible columns. ' +\n 'Show same visible columns in table A as in table B if these tables are similar ' +\n 'and those columns have been previously set as visible for table B.'\n }\n oneLine\n />,\n ),\n makeItem(\n 'Allow raw string-values',\n 'top',\n <SettingsMenuItem\n annotation=\"Cells with string values will be displayed without escaping.\"\n settingName={SettingName.NAVIGATION.TABLE_DISPLAY_RAW_STRINGS}\n settingNS={NAMESPACES.NAVIGATION}\n oneLine\n />,\n ),\n ]),\n ),\n\n oauthTokenUrl &&\n makePage('Auth', shieldIcon, [\n makeItem(\n 'YT OAuth token',\n undefined,\n <Link url={oauthTokenUrl} target=\"_blank\">\n <Button size={'s'}>Show my token</Button>\n </Link>,\n ),\n ]),\n\n makePage(\n 'About',\n infoIcon,\n _compact([\n Boolean(cluster) && makeItem('HTTP proxy version', undefined, httpProxyVersion),\n Boolean(cluster) && makeItem('Scheduler version', undefined, schedulerVersion),\n Boolean(cluster) && makeItem('Master version', undefined, masterVersion),\n makeItem('Interface version', undefined, YT.parameters.interface.version),\n ]),\n ),\n ]);\n}\n\nexport function makePage(\n title: string,\n icon: IconProps | undefined,\n items: Array<SettingsItem>,\n): SettingsPage {\n return {title, icon: icon || generalIcon, sections: [{title, items}]};\n}\n\nexport function makeItem(\n title: string,\n align?: SettingsItem['align'],\n content?: React.ReactNode,\n): SettingsItem {\n return {title, align, content};\n}\n\nexport function useSettingsDescription(): Array<SettingsPage> {\n const isAdmin = useSelector(isDeveloperSettings) || true;\n const cluster = useClusterFromLocation();\n const login = useSelector(getCurrentUserName);\n\n const settings = useSettings(cluster, isAdmin);\n const externalSettings = UIFactory.getExternalSettings({cluster, isAdmin, login});\n\n const res = React.useMemo(() => {\n const extPages: Record<string, SettingsPage> = hashByTitle(externalSettings);\n return produce(settings, (pages) => {\n _forEach(pages, (page) => {\n const extPage = extPages[page.title];\n if (extPage) {\n delete extPages[page.title];\n const extSections = hashByTitle(extPage.sections);\n _forEach(page.sections, (section) => {\n const s = extSections[section.title];\n if (s) {\n delete extSections[section.title];\n section.items.push(...s.items);\n }\n });\n _forEach(extSections, (section) => {\n page.sections.push(section);\n });\n }\n });\n _forEach(extPages, (page) => {\n pages.splice(pages.length - 1, 0, page);\n });\n });\n }, [settings, externalSettings]);\n\n return res;\n}\n\nfunction hashByTitle<T extends {title: string}>(data: Array<T>) {\n return _reduce(\n data,\n (acc, item) => {\n acc[item.title] = item;\n return acc;\n },\n {} as Record<string, T>,\n );\n}\n\nfunction StartPageSetting() {\n const {all} = useSelector(getRecentPagesInfo);\n\n const pageItems = React.useMemo(() => {\n const headerPages = _filter(all, (page) => Boolean(page.header));\n return _map(headerPages, (page) => ({\n value: page.id,\n text: page.name,\n }));\n }, [all]);\n\n return (\n <SettingsMenuRadio\n settingName={SettingName.MENU.STARTING_PAGE}\n settingNS={NAMESPACES.MENU}\n items={pageItems}\n />\n );\n}\n\nfunction navigationPathValidator(value = '/') {\n if (!value) {\n return null;\n }\n\n try {\n ypath.YPath.create(value, 'absolute');\n return undefined;\n } catch (err) {\n return (err as Error)?.message || 'invalid path';\n }\n}\n\nfunction chytAliasValidator(value: string) {\n if (!value.startsWith('*') && value.length > 0) {\n return \"The alias should be started with a character '*'\";\n }\n\n return undefined;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useSelector","_compact","_filter","_forEach","_map","_reduce","produce","UIFactory","generalIcon","paletteIcon","closeTagIcon","dataIcon","systemIcon","mastersRadioButtonItems","operationsIcon","componentsIcon","navigationIcon","shieldIcon","tableIcon","infoIcon","useClusterFromLocation","docsUrl","uiSettings","ypath","AGGREGATOR_RADIO_ITEMS","NAMESPACES","SettingName","getRecentPagesInfo","SettingsMenuItem","SettingsMenuRadio","SettingsMenuInput","getCurrentClusterNS","getCurrentUserName","getGlobalMasterVersion","getGlobalSchedulerVersion","getHttpProxyVersion","isDeveloperSettings","cellSizeRadioButtonItems","pageSizeRadioButtonItems","YT","Link","Button","jsx","_jsx","oauthTokenUrl","StartPageSettingMemo","memo","StartPageSetting","wrapEscapeText","text","concat","useSettings","cluster","isAdmin","clusterNS","httpProxyVersion","schedulerVersion","masterVersion","makePage","makeItem","settingName","GLOBAL","AUTO_REFRESH","settingNS","annotation","oneLine","MENU","RECENT_CLUSTER_FIRST","RECENT_PAGE_FIRST","THEME","items","value","A11Y","USE_SAFE_COLORS","convertValue","DEVELOPMENT","REGULAR_USER_UI","label","placeholder","description","QUERY_TRACKER","STAGE","YQL_AGENT_STAGE","YSON","FORMAT","SHOW_DECODED","annotationHighlight","BINARY_AS_HEX","ESCAPE_WHITESPACES","COMPACT","SYSTEM","MASTERS_HOST_TYPE","OPERATIONS","STATISTICS_AGGREGATION_TYPE","validator","navigationPathValidator","LOCAL","NAVIGATION_DEFAULT_PATH","chytAliasValidator","NAVIGATION","DEFAULT_CHYT_ALIAS","USE_SMART_SORT","GROUP_NODES","USE_SMART_FILTER","ENABLE_PATH_AUTO_CORRECTION","docsUrls","COMPONENTS","ENABLE_SIDE_BAR","YQL_TYPES","ROWS_PER_TABLE_PAGE","String","Number","MAXIMUM_TABLE_STRING_SIZE","DEFAULT_TABLE_COLUMN_LIMIT","ENABLE_TABLE_SIMILARITY","TABLE_DISPLAY_RAW_STRINGS","undefined","url","target","children","size","Boolean","parameters","version","title","icon","sections","align","content","useSettingsDescription","login","settings","externalSettings","getExternalSettings","res","useMemo","extPages","hashByTitle","pages","page","extPage","extSections","section","s","_section$items","push","apply","_toConsumableArray","splice","length","data","acc","item","_useSelector","all","pageItems","headerPages","header","id","name","STARTING_PAGE","arguments","YPath","create","err","message","startsWith"],"sources":["settings-description.tsx"],"sourcesContent":["import React from 'react';\nimport {useSelector} from 'react-redux';\nimport {IconProps} from '@gravity-ui/uikit';\nimport _compact from 'lodash/compact';\nimport _filter from 'lodash/filter';\nimport _forEach from 'lodash/forEach';\nimport _map from 'lodash/map';\nimport _reduce from 'lodash/reduce';\nimport produce from 'immer';\n\nimport UIFactory from '../../UIFactory';\n\nimport generalIcon from '../../../../img/svg/tools-icon.svg';\nimport paletteIcon from '../../../../img/svg/palette-icon.svg';\nimport closeTagIcon from '../../../../img/svg/close-tag-icon.svg';\nimport dataIcon from '../../../../img/svg/data-icon.svg';\nimport systemIcon from '../../../../img/svg/page-system.svg';\nimport {mastersRadioButtonItems} from '../../constants/system/masters';\nimport operationsIcon from '../../../../img/svg/page-operations.svg';\nimport componentsIcon from '../../../../img/svg/page-components.svg';\nimport navigationIcon from '../../../../img/svg/page-navigation.svg';\nimport shieldIcon from '../../../../img/svg/shield-icon.svg';\nimport tableIcon from '../../../../img/svg/table-icon.svg';\nimport infoIcon from '../../../../img/svg/info-icon.svg';\nimport {useClusterFromLocation} from '../../hooks/use-cluster';\nimport {docsUrl} from '../../config/index';\nimport {uiSettings} from '../../config/ui-settings';\n\nimport ypath from '../../common/thor/ypath';\n\nimport {AGGREGATOR_RADIO_ITEMS} from '../../constants/operations/statistics';\nimport {NAMESPACES, SettingName} from '../../../shared/constants/settings';\nimport {getRecentPagesInfo} from '../../store/selectors/slideoutMenu';\nimport SettingsMenuItem from '../../containers/SettingsMenu/SettingsMenuItem';\nimport SettingsMenuRadio from '../../containers/SettingsMenu/SettingsMenuRadio';\nimport SettingsMenuInput from '../SettingsMenu/SettingsMenuInput';\nimport {\n getCurrentClusterNS,\n getCurrentUserName,\n getGlobalMasterVersion,\n getGlobalSchedulerVersion,\n getHttpProxyVersion,\n isDeveloperSettings,\n} from '../../store/selectors/global';\nimport {\n cellSizeRadioButtonItems,\n pageSizeRadioButtonItems,\n} from '../../constants/navigation/content/table';\nimport YT from '../../config/yt-config';\nimport Link from '../../components/Link/Link';\nimport Button from '../../components/Button/Button';\n\nexport interface SettingsPage {\n title: string;\n icon: IconProps;\n sections: Array<SettingsSection>;\n}\n\nexport interface SettingsSection {\n title: string;\n items: Array<SettingsItem>;\n}\n\nexport interface SettingsItem {\n title: string;\n align?: 'top' | 'center';\n content: React.ReactNode;\n}\n\nconst {oauthTokenUrl} = uiSettings;\n\nconst StartPageSettingMemo = React.memo(StartPageSetting);\n\nfunction wrapEscapeText(text: string) {\n return `<span class=\"unipika\"><span class=\"escape\">${text}</span></span>`;\n}\n\nfunction useSettings(cluster: string, isAdmin: boolean): Array<SettingsPage> {\n const clusterNS = useSelector(getCurrentClusterNS);\n\n const httpProxyVersion: string = useSelector(getHttpProxyVersion);\n const schedulerVersion: string = useSelector(getGlobalSchedulerVersion);\n const masterVersion: string = useSelector(getGlobalMasterVersion);\n\n return _compact([\n makePage('General', generalIcon, [\n makeItem('Start page', 'top', <StartPageSettingMemo />),\n makeItem(\n 'Use auto refresh',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.GLOBAL.AUTO_REFRESH}\n settingNS={NAMESPACES.GLOBAL}\n annotation=\"Automatically update pages with highly dynamic content\"\n oneLine={true}\n />,\n ),\n makeItem(\n 'Use recent clusters',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.MENU.RECENT_CLUSTER_FIRST}\n settingNS={NAMESPACES.MENU}\n annotation={'Recently visited clusters appear at the top of cluster menu.'}\n oneLine\n />,\n ),\n makeItem(\n 'Use recent pages',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.MENU.RECENT_PAGE_FIRST}\n settingNS={NAMESPACES.MENU}\n annotation={'Recently visited pages appear at the top of pages menu.'}\n oneLine\n />,\n ),\n ]),\n makePage('Appearance', paletteIcon, [\n makeItem(\n 'Theme',\n 'top',\n <SettingsMenuRadio\n settingName={SettingName.GLOBAL.THEME}\n settingNS={NAMESPACES.GLOBAL}\n items={[\n {value: 'light', text: 'Light'},\n {value: 'dark', text: 'Dark'},\n {value: 'system', text: 'System'},\n ]}\n />,\n ),\n makeItem(\n 'Contrast',\n 'top',\n <SettingsMenuRadio\n settingName={SettingName.A11Y.USE_SAFE_COLORS}\n settingNS={NAMESPACES.A11Y}\n convertValue={(value) => value === 'true'}\n items={[\n {value: 'false', text: 'Normal'},\n {value: 'true', text: 'High'},\n ]}\n />,\n ),\n ]),\n makePage(\n 'Development',\n closeTagIcon,\n _compact([\n isAdmin &&\n makeItem(\n \"Show regular user's UI\",\n 'top',\n <SettingsMenuItem\n settingName={SettingName.DEVELOPMENT.REGULAR_USER_UI}\n settingNS={NAMESPACES.DEVELOPMENT}\n label={\"Show regular user's UI\"}\n annotation={\n 'There is some difference in UI for development-team and regular users, ' +\n 'enabling of the option allows to see exactly the same what see a regular user.'\n }\n />,\n ),\n makeItem(\n 'Query Tracker Stage',\n 'top',\n <SettingsMenuInput\n placeholder=\"Enter stage...\"\n description=\"Default Query Tracker stage is 'production'. But you can reassign it with this setting.\"\n settingName={SettingName.QUERY_TRACKER.STAGE}\n settingNS={NAMESPACES.QUERY_TRACKER}\n />,\n ),\n makeItem(\n 'YQL agent stage',\n 'top',\n <SettingsMenuInput\n placeholder=\"Enter YQL agent stage...\"\n settingName={SettingName.QUERY_TRACKER.YQL_AGENT_STAGE}\n settingNS={NAMESPACES.QUERY_TRACKER}\n />,\n ),\n ]),\n ),\n\n makePage('Data', dataIcon, [\n makeItem(\n 'Data format',\n 'top',\n <SettingsMenuRadio\n settingName={SettingName.YSON.FORMAT}\n settingNS={NAMESPACES.YSON}\n items={[\n {\n value: 'yson',\n text: 'YSON',\n },\n {\n value: 'json',\n text: 'JSON',\n },\n {\n value: 'raw-json',\n text: 'Raw JSON',\n },\n ]}\n />,\n ),\n makeItem(\n 'Decode data as UTF8',\n 'top',\n <SettingsMenuItem\n oneLine={true}\n settingName={SettingName.YSON.SHOW_DECODED}\n settingNS={NAMESPACES.YSON}\n annotation={\n 'Attempt to decode UTF-8 strings. Show Unicode symbols upon success and mark ' +\n 'data as binary otherwise.'\n }\n annotationHighlight={\n 'Please note that YSON does not natively support Unicode symbols ' +\n '&mdash; therefore you would not be able to copy-paste presented YSON as is.'\n }\n />,\n ),\n makeItem(\n 'Binary as HEX',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.YSON.BINARY_AS_HEX}\n settingNS={NAMESPACES.YSON}\n annotation={\n 'Display binary strings as HEX sequences. Strings that were not decoded as UTF8 are therefore considered binary and ' +\n 'displayed as HEX sequences.'\n }\n oneLine\n />,\n ),\n makeItem(\n 'Escape and highlight',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.YSON.ESCAPE_WHITESPACES}\n settingNS={NAMESPACES.YSON}\n annotation={\n `Symbols ${wrapEscapeText('\\\\n')} and ${wrapEscapeText(\n '\\\\t',\n )} will be rendered as escape sequences, whitespaces will be ` +\n 'highlighted as neccessary. Does not affect Raw JSON format.'\n }\n annotationHighlight={\n 'Please note that JSON does not support unescaped control characters ' +\n '&mdash; therefore you would not be able to copy-paste presented JSON as is.'\n }\n oneLine\n />,\n ),\n makeItem(\n 'Compact view',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.YSON.COMPACT}\n settingNS={NAMESPACES.YSON}\n annotation={\n 'Single element lists are rendered inline, so are maps with one property. Does ' +\n 'not affect Raw JSON format.'\n }\n oneLine\n />,\n ),\n ]),\n makePage('System', systemIcon, [\n makeItem(\n 'Host type of Masters/Schedulers/Controller',\n 'top',\n <SettingsMenuRadio\n description=\"Select the default view of host to display on in the Masters/Schedulers and Controller agents section.\"\n settingName={SettingName.SYSTEM.MASTERS_HOST_TYPE}\n settingNS={NAMESPACES.SYSTEM}\n items={mastersRadioButtonItems}\n />,\n ),\n ]),\n makePage('Operation', operationsIcon, [\n makeItem(\n \"Statistic's type\",\n 'top',\n <SettingsMenuRadio\n description=\"Select the default type of job aggregation.\"\n settingName={SettingName.OPERATIONS.STATISTICS_AGGREGATION_TYPE}\n settingNS={NAMESPACES.OPERATIONS}\n items={AGGREGATOR_RADIO_ITEMS}\n />,\n ),\n ]),\n makePage(\n 'Navigation',\n navigationIcon,\n _compact([\n clusterNS &&\n makeItem(\n 'Default path',\n 'top',\n <SettingsMenuInput\n placeholder=\"Enter default navigation path...\"\n description=\"Cluster specific path that will be opened by default in the the Navigation page.\"\n validator={navigationPathValidator}\n settingName={SettingName.LOCAL.NAVIGATION_DEFAULT_PATH}\n settingNS={clusterNS}\n />,\n ),\n makeItem(\n 'Default chyt alias',\n 'top',\n <SettingsMenuInput\n placeholder=\"Enter default chyt alias...\"\n description=\"User alias for the YQL Kit default query string in ClickHouse mode.\"\n validator={chytAliasValidator}\n settingName={SettingName.NAVIGATION.DEFAULT_CHYT_ALIAS}\n settingNS={NAMESPACES.NAVIGATION}\n />,\n ),\n makeItem(\n 'Use smart sort',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.NAVIGATION.USE_SMART_SORT}\n settingNS={NAMESPACES.NAVIGATION}\n annotation={\n 'Nodes with names that represent dates will be sorted from newest date to ' +\n 'oldest, while other nodes will be sorted alphabetically.'\n }\n oneLine\n />,\n ),\n makeItem(\n 'Group nodes by type',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.NAVIGATION.GROUP_NODES}\n settingNS={NAMESPACES.NAVIGATION}\n annotation={\n 'Nodes will be grouped by type and each type will be sorted independently, ' +\n 'folders first, then tables, then files.'\n }\n oneLine\n />,\n ),\n makeItem(\n 'Use smart filter',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.NAVIGATION.USE_SMART_FILTER}\n settingNS={NAMESPACES.NAVIGATION}\n annotation={'Use logical operators in filter like \"and\" and \"or\"'}\n oneLine\n />,\n ),\n makeItem(\n 'Path autocorrection',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.NAVIGATION.ENABLE_PATH_AUTO_CORRECTION}\n settingNS={NAMESPACES.NAVIGATION}\n annotation={\n 'Autocorrect erroneous path if possible. ' +\n docsUrl(\n 'For details see ' +\n `<a class=\"link link_theme_normal\" href=\"${UIFactory.docsUrls['faq:enablepathautocorrection']}\" target=\"_blank\">FAQ</a>` +\n '.',\n )\n }\n oneLine\n />,\n ),\n ]),\n ),\n makePage('Components', componentsIcon, [\n makeItem(\n 'Enable side bar',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.COMPONENTS.ENABLE_SIDE_BAR}\n settingNS={NAMESPACES.COMPONENTS}\n annotation=\"Display node data in the side bar when clicked.\"\n oneLine={true}\n />,\n ),\n ]),\n\n makePage(\n 'Table',\n tableIcon,\n _compact([\n makeItem(\n 'YQL V3 types',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.DEVELOPMENT.YQL_TYPES}\n settingNS={NAMESPACES.DEVELOPMENT}\n oneLine\n />,\n ),\n makeItem(\n 'Rows per page',\n 'top',\n <SettingsMenuRadio\n description=\"Select the default number of rows to display on one table page.\n The number can be changed for the specific table using table settings button.\"\n settingName={SettingName.NAVIGATION.ROWS_PER_TABLE_PAGE}\n settingNS={NAMESPACES.NAVIGATION}\n items={[\n {\n value: String(10),\n text: '10',\n },\n {\n value: String(50),\n text: '50',\n },\n {\n value: String(100),\n text: '100',\n },\n {\n value: String(200),\n text: '200',\n },\n ]}\n convertValue={Number}\n />,\n ),\n makeItem(\n 'Cell size limit',\n 'top',\n <SettingsMenuRadio\n description=\"Select the default cell size limit for tables.\n The cell size limit for the specific table can be changed using table settings button.\"\n settingName={SettingName.NAVIGATION.MAXIMUM_TABLE_STRING_SIZE}\n settingNS={NAMESPACES.NAVIGATION}\n items={cellSizeRadioButtonItems}\n convertValue={Number}\n />,\n ),\n makeItem(\n 'Default column limit',\n 'top',\n <SettingsMenuRadio\n description=\"Select the default column limit for tables. In other words, how many columns will be shown\n when no column has even been hidden using ColumnSelector for the particular table or (if table\n similarity is enabled) for the similar table.\"\n settingName={SettingName.NAVIGATION.DEFAULT_TABLE_COLUMN_LIMIT}\n settingNS={NAMESPACES.NAVIGATION}\n items={pageSizeRadioButtonItems}\n convertValue={Number}\n />,\n ),\n makeItem(\n 'Guess visible columns',\n 'top',\n <SettingsMenuItem\n settingName={SettingName.NAVIGATION.ENABLE_TABLE_SIMILARITY}\n settingNS={NAMESPACES.NAVIGATION}\n annotation={\n 'Use table similarity for guessing visible columns. ' +\n 'Show same visible columns in table A as in table B if these tables are similar ' +\n 'and those columns have been previously set as visible for table B.'\n }\n oneLine\n />,\n ),\n makeItem(\n 'Allow raw string-values',\n 'top',\n <SettingsMenuItem\n annotation=\"Cells with string values will be displayed without escaping.\"\n settingName={SettingName.NAVIGATION.TABLE_DISPLAY_RAW_STRINGS}\n settingNS={NAMESPACES.NAVIGATION}\n oneLine\n />,\n ),\n ]),\n ),\n\n oauthTokenUrl &&\n makePage('Auth', shieldIcon, [\n makeItem(\n 'YT OAuth token',\n undefined,\n <Link url={oauthTokenUrl} target=\"_blank\">\n <Button size={'s'}>Show my token</Button>\n </Link>,\n ),\n ]),\n\n makePage(\n 'About',\n infoIcon,\n _compact([\n Boolean(cluster) && makeItem('HTTP proxy version', undefined, httpProxyVersion),\n Boolean(cluster) && makeItem('Scheduler version', undefined, schedulerVersion),\n Boolean(cluster) && makeItem('Master version', undefined, masterVersion),\n makeItem('Interface version', undefined, YT.parameters.interface.version),\n ]),\n ),\n ]);\n}\n\nexport function makePage(\n title: string,\n icon: IconProps | undefined,\n items: Array<SettingsItem>,\n): SettingsPage {\n return {title, icon: icon || generalIcon, sections: [{title, items}]};\n}\n\nexport function makeItem(\n title: string,\n align?: SettingsItem['align'],\n content?: React.ReactNode,\n): SettingsItem {\n return {title, align, content};\n}\n\nexport function useSettingsDescription(): Array<SettingsPage> {\n const isAdmin = useSelector(isDeveloperSettings) || true;\n const cluster = useClusterFromLocation();\n const login = useSelector(getCurrentUserName);\n\n const settings = useSettings(cluster, isAdmin);\n const externalSettings = UIFactory.getExternalSettings({cluster, isAdmin, login});\n\n const res = React.useMemo(() => {\n const extPages: Record<string, SettingsPage> = hashByTitle(externalSettings);\n return produce(settings, (pages) => {\n _forEach(pages, (page) => {\n const extPage = extPages[page.title];\n if (extPage) {\n delete extPages[page.title];\n const extSections = hashByTitle(extPage.sections);\n _forEach(page.sections, (section) => {\n const s = extSections[section.title];\n if (s) {\n delete extSections[section.title];\n section.items.push(...s.items);\n }\n });\n _forEach(extSections, (section) => {\n page.sections.push(section);\n });\n }\n });\n _forEach(extPages, (page) => {\n pages.splice(pages.length - 1, 0, page);\n });\n });\n }, [settings, externalSettings]);\n\n return res;\n}\n\nfunction hashByTitle<T extends {title: string}>(data: Array<T>) {\n return _reduce(\n data,\n (acc, item) => {\n acc[item.title] = item;\n return acc;\n },\n {} as Record<string, T>,\n );\n}\n\nfunction StartPageSetting() {\n const {all} = useSelector(getRecentPagesInfo);\n\n const pageItems = React.useMemo(() => {\n const headerPages = _filter(all, (page) => Boolean(page.header));\n return _map(headerPages, (page) => ({\n value: page.id,\n text: page.name,\n }));\n }, [all]);\n\n return (\n <SettingsMenuRadio\n settingName={SettingName.MENU.STARTING_PAGE}\n settingNS={NAMESPACES.MENU}\n items={pageItems}\n />\n );\n}\n\nfunction navigationPathValidator(value = '/') {\n if (!value) {\n return null;\n }\n\n try {\n ypath.YPath.create(value, 'absolute');\n return undefined;\n } catch (err) {\n return (err as Error)?.message || 'invalid path';\n }\n}\n\nfunction chytAliasValidator(value: string) {\n if (!value.startsWith('*') && value.length > 0) {\n return \"The alias should be started with a character '*'\";\n }\n\n return undefined;\n}\n"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const usePreventUnload: ({ shouldListen }: {
2
+ shouldListen: boolean;
3
+ }) => void;
@@ -0,0 +1,19 @@
1
+ import { useCallback, useEffect } from 'react';
2
+ export var usePreventUnload = function usePreventUnload(_ref) {
3
+ var shouldListen = _ref.shouldListen;
4
+ var beforeUnloadHandler = useCallback(function (e) {
5
+ e.preventDefault();
6
+
7
+ // Included for legacy support, e.g. Chrome/Edge < 119
8
+ e.returnValue = true;
9
+ }, []);
10
+ useEffect(function () {
11
+ if (shouldListen) {
12
+ window.addEventListener('beforeunload', beforeUnloadHandler);
13
+ }
14
+ return function () {
15
+ return window.removeEventListener('beforeunload', beforeUnloadHandler);
16
+ };
17
+ }, [shouldListen]);
18
+ };
19
+ // #sourceMappingURL=use-prevent-unload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useEffect","usePreventUnload","_ref","shouldListen","beforeUnloadHandler","e","preventDefault","returnValue","window","addEventListener","removeEventListener"],"sources":["use-prevent-unload.ts"],"sourcesContent":["import {useCallback, useEffect} from 'react';\n\nexport const usePreventUnload = ({shouldListen}: {shouldListen: boolean}) => {\n const beforeUnloadHandler = useCallback((e: BeforeUnloadEvent) => {\n e.preventDefault();\n\n // Included for legacy support, e.g. Chrome/Edge < 119\n e.returnValue = true;\n }, []);\n\n useEffect(() => {\n if (shouldListen) {\n window.addEventListener('beforeunload', beforeUnloadHandler);\n }\n\n return () => window.removeEventListener('beforeunload', beforeUnloadHandler);\n }, [shouldListen]);\n};\n"],"mappings":"AAAA,SAAQA,WAAW,EAAEC,SAAS,QAAO,OAAO;AAE5C,OAAO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAAgD;EAAA,IAA3CC,YAAY,GAAAD,IAAA,CAAZC,YAAY;EAC1C,IAAMC,mBAAmB,GAAGL,WAAW,CAAC,UAACM,CAAoB,EAAK;IAC9DA,CAAC,CAACC,cAAc,CAAC,CAAC;;IAElB;IACAD,CAAC,CAACE,WAAW,GAAG,IAAI;EACxB,CAAC,EAAE,EAAE,CAAC;EAENP,SAAS,CAAC,YAAM;IACZ,IAAIG,YAAY,EAAE;MACdK,MAAM,CAACC,gBAAgB,CAAC,cAAc,EAAEL,mBAAmB,CAAC;IAChE;IAEA,OAAO;MAAA,OAAMI,MAAM,CAACE,mBAAmB,CAAC,cAAc,EAAEN,mBAAmB,CAAC;IAAA;EAChF,CAAC,EAAE,CAACD,YAAY,CAAC,CAAC;AACtB,CAAC"}
@@ -5,7 +5,9 @@ import format from '../../../../../common/hammer/format';
5
5
  import DataTableYT from '../../../../../components/DataTableYT/DataTableYT';
6
6
  import { nodeSelector } from '../../../../../store/selectors/components/node/node';
7
7
  import Label from '../../../../../components/Label/Label';
8
+ import ClipboardButton from '../../../../../components/ClipboardButton/ClipboardButton';
8
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
+ import { jsxs as _jsxs } from "react/jsx-runtime";
9
11
  var columns = [{
10
12
  name: 'Enabled',
11
13
  render: function render(_ref) {
@@ -16,36 +18,49 @@ var columns = [{
16
18
  });
17
19
  }
18
20
  }, {
19
- name: 'Full',
21
+ name: 'Uuid',
20
22
  render: function render(_ref2) {
21
23
  var row = _ref2.row;
24
+ return /*#__PURE__*/_jsxs("span", {
25
+ children: [row.location_uuid, "\xA0", /*#__PURE__*/_jsx(ClipboardButton, {
26
+ view: "flat-secondary",
27
+ text: row.location_uuid,
28
+ size: "s"
29
+ })]
30
+ });
31
+ },
32
+ align: 'left'
33
+ }, {
34
+ name: 'Full',
35
+ render: function render(_ref3) {
36
+ var row = _ref3.row;
22
37
  return Boolean(row.full).toString();
23
38
  },
24
39
  align: 'center'
25
40
  }, {
26
41
  name: 'Medium name',
27
- render: function render(_ref3) {
28
- var row = _ref3.row;
42
+ render: function render(_ref4) {
43
+ var row = _ref4.row;
29
44
  return row.medium_name;
30
45
  }
31
46
  }, {
32
47
  name: 'Sessions',
33
- render: function render(_ref4) {
34
- var row = _ref4.row;
48
+ render: function render(_ref5) {
49
+ var row = _ref5.row;
35
50
  return format.Number(row.session_count);
36
51
  },
37
52
  align: 'right'
38
53
  }, {
39
54
  name: 'Chunks',
40
- render: function render(_ref5) {
41
- var row = _ref5.row;
55
+ render: function render(_ref6) {
56
+ var row = _ref6.row;
42
57
  return format.Number(row.chunk_count);
43
58
  },
44
59
  align: 'right'
45
60
  }, {
46
61
  name: 'Used space',
47
- render: function render(_ref6) {
48
- var row = _ref6.row;
62
+ render: function render(_ref7) {
63
+ var row = _ref7.row;
49
64
  return !row.locationProgress ? format.NO_VALUE : /*#__PURE__*/_jsx(Progress, {
50
65
  value: row.locationProgress,
51
66
  text: row.locationText,
@@ -54,16 +69,16 @@ var columns = [{
54
69
  }
55
70
  }, {
56
71
  name: 'Available space',
57
- render: function render(_ref7) {
58
- var row = _ref7.row;
72
+ render: function render(_ref8) {
73
+ var row = _ref8.row;
59
74
  return format.Bytes(row.available_space);
60
75
  },
61
76
  align: 'right',
62
77
  width: 200
63
78
  }, {
64
79
  name: 'Watermark space',
65
- render: function render(_ref8) {
66
- var row = _ref8.row;
80
+ render: function render(_ref9) {
81
+ var row = _ref9.row;
67
82
  return format.Bytes(row.low_watermark_space);
68
83
  },
69
84
  align: 'right',
@@ -1 +1 @@
1
- {"version":3,"names":["React","useSelector","Progress","format","DataTableYT","nodeSelector","Label","jsx","_jsx","columns","name","render","_ref","row","theme","enabled","children","_ref2","Boolean","full","toString","align","_ref3","medium_name","_ref4","Number","session_count","_ref5","chunk_count","_ref6","locationProgress","NO_VALUE","value","text","locationText","_ref7","Bytes","available_space","width","_ref8","low_watermark_space","NodeLocations","_useSelector","node","locations","length","data","startIndex","useThemeYT","settings","sortable","memo"],"sources":["NodeLocations.tsx"],"sourcesContent":["import React from 'react';\nimport {useSelector} from 'react-redux';\n\nimport type {Column} from '@gravity-ui/react-data-table';\nimport {Progress} from '@gravity-ui/uikit';\n\nimport format from '../../../../../common/hammer/format';\nimport DataTableYT from '../../../../../components/DataTableYT/DataTableYT';\nimport {nodeSelector} from '../../../../../store/selectors/components/node/node';\nimport Label from '../../../../../components/Label/Label';\n\ninterface LocationInfo {\n enabled?: boolean;\n full?: boolean;\n medium_name?: string;\n session_count?: number;\n chunk_count?: number;\n\n locationText?: string;\n locationProgress?: number;\n\n available_space?: number;\n low_watermark_space?: number;\n}\n\nconst columns: Array<Column<LocationInfo>> = [\n {\n name: 'Enabled',\n render({row}) {\n return (\n <Label theme={row.enabled ? 'success' : 'danger'}>\n {row.enabled ? 'Enabled' : 'Disabled'}\n </Label>\n );\n },\n },\n {\n name: 'Full',\n render({row}) {\n return Boolean(row.full).toString();\n },\n align: 'center',\n },\n {\n name: 'Medium name',\n render({row}) {\n return row.medium_name;\n },\n },\n {\n name: 'Sessions',\n render({row}) {\n return format.Number(row.session_count);\n },\n align: 'right',\n },\n {\n name: 'Chunks',\n render({row}) {\n return format.Number(row.chunk_count);\n },\n align: 'right',\n },\n {\n name: 'Used space',\n render({row}) {\n return !row.locationProgress ? (\n format.NO_VALUE\n ) : (\n <Progress value={row.locationProgress} text={row.locationText} theme=\"success\" />\n );\n },\n },\n {\n name: 'Available space',\n render({row}) {\n return format.Bytes(row.available_space);\n },\n align: 'right',\n width: 200,\n },\n {\n name: 'Watermark space',\n render({row}) {\n return format.Bytes(row.low_watermark_space);\n },\n align: 'right',\n width: 200,\n },\n];\n\nfunction NodeLocations(): ReturnType<React.VFC> {\n const {node} = useSelector(nodeSelector);\n\n if (!(node && node.locations.length > 0)) {\n return null;\n }\n\n return (\n <DataTableYT\n columns={columns}\n data={node.locations}\n startIndex={1}\n useThemeYT\n settings={{\n sortable: false,\n }}\n />\n );\n}\n\nexport default React.memo(NodeLocations);\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useSelector","Progress","format","DataTableYT","nodeSelector","Label","ClipboardButton","jsx","_jsx","jsxs","_jsxs","columns","name","render","_ref","row","theme","enabled","children","_ref2","location_uuid","view","text","size","align","_ref3","Boolean","full","toString","_ref4","medium_name","_ref5","Number","session_count","_ref6","chunk_count","_ref7","locationProgress","NO_VALUE","value","locationText","_ref8","Bytes","available_space","width","_ref9","low_watermark_space","NodeLocations","_useSelector","node","locations","length","data","startIndex","useThemeYT","settings","sortable","memo"],"sources":["NodeLocations.tsx"],"sourcesContent":["import React from 'react';\nimport {useSelector} from 'react-redux';\n\nimport type {Column} from '@gravity-ui/react-data-table';\nimport {Progress} from '@gravity-ui/uikit';\n\nimport format from '../../../../../common/hammer/format';\nimport DataTableYT from '../../../../../components/DataTableYT/DataTableYT';\nimport {nodeSelector} from '../../../../../store/selectors/components/node/node';\nimport Label from '../../../../../components/Label/Label';\nimport ClipboardButton from '../../../../../components/ClipboardButton/ClipboardButton';\n\ninterface LocationInfo {\n enabled?: boolean;\n full?: boolean;\n location_uuid?: string;\n medium_name?: string;\n session_count?: number;\n chunk_count?: number;\n\n locationText?: string;\n locationProgress?: number;\n\n available_space?: number;\n low_watermark_space?: number;\n}\n\nconst columns: Array<Column<LocationInfo>> = [\n {\n name: 'Enabled',\n render({row}) {\n return (\n <Label theme={row.enabled ? 'success' : 'danger'}>\n {row.enabled ? 'Enabled' : 'Disabled'}\n </Label>\n );\n },\n },\n {\n name: 'Uuid',\n render({row}) {\n return (\n <span>\n {row.location_uuid}\n &nbsp;\n <ClipboardButton view=\"flat-secondary\" text={row.location_uuid} size=\"s\" />\n </span>\n );\n },\n align: 'left',\n },\n {\n name: 'Full',\n render({row}) {\n return Boolean(row.full).toString();\n },\n align: 'center',\n },\n {\n name: 'Medium name',\n render({row}) {\n return row.medium_name;\n },\n },\n {\n name: 'Sessions',\n render({row}) {\n return format.Number(row.session_count);\n },\n align: 'right',\n },\n {\n name: 'Chunks',\n render({row}) {\n return format.Number(row.chunk_count);\n },\n align: 'right',\n },\n {\n name: 'Used space',\n render({row}) {\n return !row.locationProgress ? (\n format.NO_VALUE\n ) : (\n <Progress value={row.locationProgress} text={row.locationText} theme=\"success\" />\n );\n },\n },\n {\n name: 'Available space',\n render({row}) {\n return format.Bytes(row.available_space);\n },\n align: 'right',\n width: 200,\n },\n {\n name: 'Watermark space',\n render({row}) {\n return format.Bytes(row.low_watermark_space);\n },\n align: 'right',\n width: 200,\n },\n];\n\nfunction NodeLocations(): ReturnType<React.VFC> {\n const {node} = useSelector(nodeSelector);\n\n if (!(node && node.locations.length > 0)) {\n return null;\n }\n\n return (\n <DataTableYT\n columns={columns}\n data={node.locations}\n startIndex={1}\n useThemeYT\n settings={{\n sortable: false,\n }}\n />\n );\n}\n\nexport default React.memo(NodeLocations);\n"],"mappings":"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"}
@@ -11,6 +11,7 @@ export const nodeProps: PropTypes.Requireable<PropTypes.InferProps<{
11
11
  sick: PropTypes.Validator<boolean>;
12
12
  full: PropTypes.Validator<boolean>;
13
13
  medium_name: PropTypes.Validator<string>;
14
+ location_uuid: PropTypes.Validator<string>;
14
15
  }> | null | undefined)[]>;
15
16
  tabletSlots: PropTypes.Requireable<PropTypes.InferProps<{
16
17
  byState: PropTypes.Validator<object>;
@@ -34,6 +34,7 @@ import { useUpdater } from '../../../../../hooks/use-updater';
34
34
  import withSplit from '../../../../../hocs/withSplit';
35
35
  import "./NodeCard.css";
36
36
  import UIFactory from '../../../../../UIFactory';
37
+ import ClipboardButton from '../../../../../components/ClipboardButton/ClipboardButton';
37
38
  import { jsx as _jsx } from "react/jsx-runtime";
38
39
  import { jsxs as _jsxs } from "react/jsx-runtime";
39
40
  var block = cn('node-card');
@@ -49,7 +50,8 @@ export var nodeProps = PropTypes.shape({
49
50
  enabled: PropTypes.bool.isRequired,
50
51
  sick: PropTypes.bool.isRequired,
51
52
  full: PropTypes.bool.isRequired,
52
- medium_name: PropTypes.string.isRequired
53
+ medium_name: PropTypes.string.isRequired,
54
+ location_uuid: PropTypes.string.isRequired
53
55
  })),
54
56
  tabletSlots: PropTypes.shape({
55
57
  byState: PropTypes.object.isRequired,
@@ -106,6 +108,15 @@ var NodeCard = /*#__PURE__*/function (_Component) {
106
108
  className: block('location'),
107
109
  children: /*#__PURE__*/_jsx(MetaTable, {
108
110
  items: [{
111
+ key: 'uuid',
112
+ value: /*#__PURE__*/_jsxs("span", {
113
+ children: [location.location_uuid, "\xA0", /*#__PURE__*/_jsx(ClipboardButton, {
114
+ view: "flat-secondary",
115
+ text: location.location_uuid,
116
+ size: "s"
117
+ })]
118
+ })
119
+ }, {
109
120
  key: 'location number',
110
121
  value: index + 1
111
122
  }, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","connect","useDispatch","PropTypes","compose","cn","Icon","Link","Label","Alert","Button","Progress","MetaTable","Template","CollapsibleSection","LoadDataHandler","renderLabel","loadNodeAttributes","getSortedItems","nodeSelector","getCluster","getCurrentClusterConfig","hammer","Page","Tab","NodeCpuAndMemory","hasCpuAndMemoryMeta","NodeResources","hasResourcesMeta","NodeStorage","hasStorageMeta","NodeTabletSlots","useUpdater","withSplit","UIFactory","jsx","_jsx","jsxs","_jsxs","block","nodeProps","shape","locations","arrayOf","low_watermark_space","number","isRequired","available_space","session_count","chunk_count","used_space","throttling_writes","bool","throttling_reads","enabled","sick","full","medium_name","string","tabletSlots","byState","object","raw","array","host","alerts","banned","disableJobs","disableTabletCells","disableWriteSession","NodeCardUpdater","_ref","dispatch","updateFn","useCallback","timeout","onlyOnce","NodeCard","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","componentWillUnmount","props","handleClose","renderTop","clusterConfig","_this$props$node","node","physicalHost","renderComponentsNodeCardTop","renderLocation","location","index","className","children","items","toString","format","locationProgress","text","locationText","theme","FormattedValue","renderLocations","_this","size","name","collapsed","_map","renderAlerts","length","alert","error","message","renderTabletSlots","renderDefault","_this$props$node2","state","systemTags","userTags","rack","_this$props$node2$ban","banMessage","decommissioned","decommissionedMessage","dataCenter","lastSeenTime","stateText","stateTheme","online","offline","tag","visible","type","Boolean","toUpperCase","renderStorage","hasMeta","_objectSpread","renderCpuAndMemory","renderResources","renderCard","_this$props","cluster","handleKeyDown","onKeyDown","tabIndex","routed","url","concat","COMPONENTS","NODES","view","onClick","awesome","face","render","_this$props2","errorData","loaded","Fragment","mapStateToProps","_nodeSelector","mapDispatchToProps"],"sources":["NodeCard.js"],"sourcesContent":["import React, {Component} from 'react';\nimport {connect, useDispatch} from 'react-redux';\nimport PropTypes from 'prop-types';\nimport {compose} from 'redux';\nimport cn from 'bem-cn-lite';\nimport _ from 'lodash';\n\nimport Icon from '../../../../../components/Icon/Icon';\nimport Link from '../../../../../components/Link/Link';\nimport Label from '../../../../../components/Label/Label';\nimport Alert from '../../../../../components/Alert/Alert';\nimport Button from '../../../../../components/Button/Button';\nimport {Progress} from '@gravity-ui/uikit';\nimport MetaTable, {Template} from '../../../../../components/MetaTable/MetaTable';\nimport CollapsibleSection from '../../../../../components/CollapsibleSection/CollapsibleSection';\nimport LoadDataHandler from '../../../../../components/LoadDataHandler/LoadDataHandler';\n\nimport {renderLabel} from '../../../../../components/templates/components/nodes/nodes';\nimport {loadNodeAttributes} from '../../../../../store/actions/components/node/node';\nimport {getSortedItems} from '../../../../../store/selectors/components/nodes/node-card';\n\nimport {nodeSelector} from '../../../../../store/selectors/components/node/node';\nimport {getCluster, getCurrentClusterConfig} from '../../../../../store/selectors/global';\nimport hammer from '../../../../../common/hammer';\nimport {Page} from '../../../../../constants/index';\nimport {Tab} from '../../../../../constants/components/main';\nimport NodeCpuAndMemory, {\n hasCpuAndMemoryMeta,\n} from '../../../../../pages/components/tabs/node/NodeCpuAndMemory/NodeCpuAndMemory';\nimport NodeResources, {\n hasResourcesMeta,\n} from '../../../../../pages/components/tabs/node/NodeResources/NodeResources';\nimport NodeStorage, {\n hasStorageMeta,\n} from '../../../../../pages/components/tabs/node/NodeStorage/NodeStorage';\nimport NodeTabletSlots from '../../../../../pages/components/tabs/node/NodeTabletSlots/NodeTabletSlots';\nimport {useUpdater} from '../../../../../hooks/use-updater';\n\nimport withSplit from '../../../../../hocs/withSplit';\n\nimport './NodeCard.scss';\nimport UIFactory from '../../../../../UIFactory';\n\nconst block = cn('node-card');\n\nexport const nodeProps = PropTypes.shape({\n locations: PropTypes.arrayOf(\n PropTypes.shape({\n low_watermark_space: PropTypes.number.isRequired,\n available_space: PropTypes.number.isRequired,\n session_count: PropTypes.number.isRequired,\n chunk_count: PropTypes.number.isRequired,\n used_space: PropTypes.number.isRequired,\n throttling_writes: PropTypes.bool.isRequired,\n throttling_reads: PropTypes.bool.isRequired,\n enabled: PropTypes.bool.isRequired,\n sick: PropTypes.bool.isRequired,\n full: PropTypes.bool.isRequired,\n medium_name: PropTypes.string.isRequired,\n }),\n ),\n tabletSlots: PropTypes.shape({\n byState: PropTypes.object.isRequired,\n raw: PropTypes.array.isRequired,\n }),\n host: PropTypes.string.isRequired,\n alerts: PropTypes.arrayOf(PropTypes.object),\n banned: PropTypes.bool.isRequired,\n disableJobs: PropTypes.bool.isRequired,\n disableTabletCells: PropTypes.bool.isRequired,\n disableWriteSession: PropTypes.bool.isRequired,\n});\n\nfunction NodeCardUpdater({host}) {\n const dispatch = useDispatch();\n\n const updateFn = React.useCallback(() => {\n dispatch(loadNodeAttributes(host));\n }, [dispatch, host]);\n\n useUpdater(updateFn, {timeout: 15 * 1000, onlyOnce: !host});\n return null;\n}\n\nclass NodeCard extends Component {\n static propTypes = {\n // from parent\n handleClose: PropTypes.func.isRequired,\n handleKeyDown: PropTypes.func,\n // from connect\n node: nodeProps,\n tabletSlots: PropTypes.array,\n loadNodeAttributes: PropTypes.func.isRequired,\n };\n\n componentWillUnmount() {\n this.props.handleClose();\n }\n\n renderTop() {\n const {clusterConfig} = this.props;\n const {physicalHost, host} = this.props.node;\n return UIFactory.renderComponentsNodeCardTop({host, physicalHost, clusterConfig});\n }\n\n renderLocation(location, index) {\n return (\n <div className={block('location')} key={index}>\n <MetaTable\n items={[\n {key: 'location number', value: index + 1},\n {key: 'enabled', value: location.enabled.toString()},\n {key: 'full', value: location.full.toString()},\n {key: 'medium name', value: location.medium_name},\n {key: 'sessions', value: location.session_count},\n {\n key: 'chunks',\n value: hammer.format['Number'](location.chunk_count),\n },\n {\n key: 'used space',\n value: (\n <Progress\n value={location.locationProgress}\n text={location.locationText}\n theme=\"success\"\n />\n ),\n },\n {\n key: 'available space',\n value: (\n <Template.FormattedValue\n value={location.available_space}\n format=\"Bytes\"\n />\n ),\n },\n {\n key: 'watermark space',\n value: (\n <Template.FormattedValue\n value={location.low_watermark_space}\n format=\"Bytes\"\n />\n ),\n },\n ]}\n />\n </div>\n );\n }\n\n renderLocations() {\n const {locations} = this.props.node;\n\n return (\n locations && (\n <CollapsibleSection\n size=\"s\"\n name=\"Locations\"\n className={block('locations')}\n collapsed\n >\n {_.map(locations, (location, index) => this.renderLocation(location, index))}\n </CollapsibleSection>\n )\n );\n }\n\n renderAlerts() {\n const {alerts} = this.props.node;\n\n return (\n alerts?.length > 0 && (\n <CollapsibleSection size=\"s\" name=\"Alerts\" className={block('alerts')} collapsed>\n {_.map(alerts, (alert) => (\n <Alert key={alert.message} error={alert} />\n ))}\n </CollapsibleSection>\n )\n );\n }\n\n renderTabletSlots() {\n const {tabletSlots} = this.props;\n\n return (\n tabletSlots.length > 0 && (\n <CollapsibleSection size=\"s\" name=\"Tablet slots\" collapsed={false}>\n <NodeTabletSlots tabletSlots={tabletSlots} />\n </CollapsibleSection>\n )\n );\n }\n\n renderDefault() {\n const {\n state,\n systemTags,\n userTags,\n rack,\n banned,\n banMessage = '',\n decommissioned,\n decommissionedMessage,\n full,\n alerts,\n dataCenter,\n lastSeenTime,\n disableJobs,\n disableTabletCells,\n disableWriteSession,\n } = this.props.node;\n\n const stateText = hammer.format['FirstUppercase'](state);\n const stateTheme = {online: 'success', offline: 'danger'}[state] || 'default';\n\n return (\n <CollapsibleSection size=\"s\" name=\"Default\" className={block('default')}>\n <MetaTable\n items={[\n {\n key: 'system tags',\n value: _.map(systemTags, (tag) => <Label key={tag} text={tag} />),\n visible: systemTags?.length > 0,\n },\n {\n key: 'user tags',\n value: _.map(userTags, (tag) => <Label key={tag} text={tag} />),\n visible: userTags?.length > 0,\n },\n {\n key: 'state',\n value: <Label theme={stateTheme} type=\"text\" text={stateText} />,\n },\n {\n key: 'rack',\n value: hammer.format['Address'](rack),\n visible: Boolean(rack),\n },\n {\n key: 'banned',\n value: <Label text={banMessage} theme=\"warning\" type=\"text\" />,\n visible: Boolean(banned),\n },\n {\n key: 'decommissioned',\n value: (\n <Label\n text={decommissionedMessage || 'Decommissioned'}\n theme=\"default\"\n type=\"text\"\n />\n ),\n visible: Boolean(decommissioned),\n },\n {\n key: 'full',\n value: <Label text=\"Full\" theme=\"danger\" type=\"text\" />,\n visible: Boolean(full),\n },\n {\n key: 'alerts',\n value: <Label text={alerts?.length || 0} theme=\"danger\" type=\"text\" />,\n visible: alerts?.length > 0,\n },\n {\n key: 'scheduler jobs',\n value: renderLabel(disableJobs),\n },\n {\n key: 'write sessions',\n value: renderLabel(disableWriteSession),\n },\n {\n key: 'tablet cells',\n value: renderLabel(disableTabletCells),\n },\n {\n key: 'data center',\n value: dataCenter?.toUpperCase(),\n visible: Boolean(dataCenter),\n },\n {\n key: 'last seen',\n value: hammer.format['DateTime'](lastSeenTime, {\n format: 'full',\n }),\n },\n ]}\n />\n </CollapsibleSection>\n );\n }\n\n renderStorage() {\n const {node} = this.props;\n const hasMeta = hasStorageMeta(node);\n\n return (\n hasMeta && (\n <CollapsibleSection size=\"s\" name=\"Storage\" className={block('storage')} collapsed>\n <NodeStorage {...node} />\n </CollapsibleSection>\n )\n );\n }\n\n renderCpuAndMemory() {\n const {node} = this.props;\n const hasMeta = hasCpuAndMemoryMeta(node);\n\n return (\n hasMeta && (\n <CollapsibleSection\n size=\"s\"\n name=\"CPU and memory\"\n className={block('cpu')}\n collapsed\n >\n <NodeCpuAndMemory {...{node}} />\n </CollapsibleSection>\n )\n );\n }\n\n renderResources() {\n const {node} = this.props;\n const hasMeta = hasResourcesMeta(node);\n\n return (\n hasMeta && (\n <CollapsibleSection\n size=\"s\"\n name=\"Resources\"\n className={block('resources')}\n collapsed\n >\n <NodeResources {...node} />\n </CollapsibleSection>\n )\n );\n }\n\n renderCard() {\n const {cluster, handleClose, handleKeyDown, node} = this.props;\n\n return (\n node && (\n <div className={block()} onKeyDown={handleKeyDown} tabIndex={-1}>\n <div className={block('header')}>\n <Link\n routed\n url={`/${cluster}/${Page.COMPONENTS}/${Tab.NODES}/${node.host}/general`}\n className={block('node')}\n >\n {node.host}\n </Link>\n\n <Button view=\"flat-secondary\" size=\"m\" onClick={handleClose}>\n <Icon awesome=\"times\" face={'light'} />\n </Button>\n </div>\n\n {this.renderTop()}\n {this.renderDefault()}\n {this.renderAlerts()}\n {this.renderLocations()}\n {this.renderTabletSlots()}\n {this.renderCpuAndMemory()}\n {this.renderStorage()}\n {this.renderResources()}\n </div>\n )\n );\n }\n\n render() {\n const {error, errorData, loaded} = this.props;\n\n return (\n <React.Fragment>\n <NodeCardUpdater host={this.props.host} />\n <LoadDataHandler loaded={loaded} error={error} errorData={errorData}>\n {this.renderCard()}\n </LoadDataHandler>\n </React.Fragment>\n );\n }\n}\n\nconst mapStateToProps = (state) => {\n const {node, loaded, error, errorData} = nodeSelector(state);\n const cluster = getCluster(state);\n\n return {\n cluster,\n error,\n errorData,\n loaded,\n node,\n tabletSlots: node && getSortedItems(state, {node}),\n clusterConfig: getCurrentClusterConfig(state),\n };\n};\n\nconst mapDispatchToProps = {\n loadNodeAttributes,\n};\n\nexport default compose(connect(mapStateToProps, mapDispatchToProps), withSplit)(NodeCard);\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Component","connect","useDispatch","PropTypes","compose","cn","Icon","Link","Label","Alert","Button","Progress","MetaTable","Template","CollapsibleSection","LoadDataHandler","renderLabel","loadNodeAttributes","getSortedItems","nodeSelector","getCluster","getCurrentClusterConfig","hammer","Page","Tab","NodeCpuAndMemory","hasCpuAndMemoryMeta","NodeResources","hasResourcesMeta","NodeStorage","hasStorageMeta","NodeTabletSlots","useUpdater","withSplit","UIFactory","ClipboardButton","jsx","_jsx","jsxs","_jsxs","block","nodeProps","shape","locations","arrayOf","low_watermark_space","number","isRequired","available_space","session_count","chunk_count","used_space","throttling_writes","bool","throttling_reads","enabled","sick","full","medium_name","string","location_uuid","tabletSlots","byState","object","raw","array","host","alerts","banned","disableJobs","disableTabletCells","disableWriteSession","NodeCardUpdater","_ref","dispatch","updateFn","useCallback","timeout","onlyOnce","NodeCard","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","componentWillUnmount","props","handleClose","renderTop","clusterConfig","_this$props$node","node","physicalHost","renderComponentsNodeCardTop","renderLocation","location","index","className","children","items","view","text","size","toString","format","locationProgress","locationText","theme","FormattedValue","renderLocations","_this","name","collapsed","_map","renderAlerts","length","alert","error","message","renderTabletSlots","renderDefault","_this$props$node2","state","systemTags","userTags","rack","_this$props$node2$ban","banMessage","decommissioned","decommissionedMessage","dataCenter","lastSeenTime","stateText","stateTheme","online","offline","tag","visible","type","Boolean","toUpperCase","renderStorage","hasMeta","_objectSpread","renderCpuAndMemory","renderResources","renderCard","_this$props","cluster","handleKeyDown","onKeyDown","tabIndex","routed","url","concat","COMPONENTS","NODES","onClick","awesome","face","render","_this$props2","errorData","loaded","Fragment","mapStateToProps","_nodeSelector","mapDispatchToProps"],"sources":["NodeCard.js"],"sourcesContent":["import React, {Component} from 'react';\nimport {connect, useDispatch} from 'react-redux';\nimport PropTypes from 'prop-types';\nimport {compose} from 'redux';\nimport cn from 'bem-cn-lite';\nimport _ from 'lodash';\n\nimport Icon from '../../../../../components/Icon/Icon';\nimport Link from '../../../../../components/Link/Link';\nimport Label from '../../../../../components/Label/Label';\nimport Alert from '../../../../../components/Alert/Alert';\nimport Button from '../../../../../components/Button/Button';\nimport {Progress} from '@gravity-ui/uikit';\nimport MetaTable, {Template} from '../../../../../components/MetaTable/MetaTable';\nimport CollapsibleSection from '../../../../../components/CollapsibleSection/CollapsibleSection';\nimport LoadDataHandler from '../../../../../components/LoadDataHandler/LoadDataHandler';\n\nimport {renderLabel} from '../../../../../components/templates/components/nodes/nodes';\nimport {loadNodeAttributes} from '../../../../../store/actions/components/node/node';\nimport {getSortedItems} from '../../../../../store/selectors/components/nodes/node-card';\n\nimport {nodeSelector} from '../../../../../store/selectors/components/node/node';\nimport {getCluster, getCurrentClusterConfig} from '../../../../../store/selectors/global';\nimport hammer from '../../../../../common/hammer';\nimport {Page} from '../../../../../constants/index';\nimport {Tab} from '../../../../../constants/components/main';\nimport NodeCpuAndMemory, {\n hasCpuAndMemoryMeta,\n} from '../../../../../pages/components/tabs/node/NodeCpuAndMemory/NodeCpuAndMemory';\nimport NodeResources, {\n hasResourcesMeta,\n} from '../../../../../pages/components/tabs/node/NodeResources/NodeResources';\nimport NodeStorage, {\n hasStorageMeta,\n} from '../../../../../pages/components/tabs/node/NodeStorage/NodeStorage';\nimport NodeTabletSlots from '../../../../../pages/components/tabs/node/NodeTabletSlots/NodeTabletSlots';\nimport {useUpdater} from '../../../../../hooks/use-updater';\n\nimport withSplit from '../../../../../hocs/withSplit';\n\nimport './NodeCard.scss';\nimport UIFactory from '../../../../../UIFactory';\nimport ClipboardButton from '../../../../../components/ClipboardButton/ClipboardButton';\n\nconst block = cn('node-card');\n\nexport const nodeProps = PropTypes.shape({\n locations: PropTypes.arrayOf(\n PropTypes.shape({\n low_watermark_space: PropTypes.number.isRequired,\n available_space: PropTypes.number.isRequired,\n session_count: PropTypes.number.isRequired,\n chunk_count: PropTypes.number.isRequired,\n used_space: PropTypes.number.isRequired,\n throttling_writes: PropTypes.bool.isRequired,\n throttling_reads: PropTypes.bool.isRequired,\n enabled: PropTypes.bool.isRequired,\n sick: PropTypes.bool.isRequired,\n full: PropTypes.bool.isRequired,\n medium_name: PropTypes.string.isRequired,\n location_uuid: PropTypes.string.isRequired,\n }),\n ),\n tabletSlots: PropTypes.shape({\n byState: PropTypes.object.isRequired,\n raw: PropTypes.array.isRequired,\n }),\n host: PropTypes.string.isRequired,\n alerts: PropTypes.arrayOf(PropTypes.object),\n banned: PropTypes.bool.isRequired,\n disableJobs: PropTypes.bool.isRequired,\n disableTabletCells: PropTypes.bool.isRequired,\n disableWriteSession: PropTypes.bool.isRequired,\n});\n\nfunction NodeCardUpdater({host}) {\n const dispatch = useDispatch();\n\n const updateFn = React.useCallback(() => {\n dispatch(loadNodeAttributes(host));\n }, [dispatch, host]);\n\n useUpdater(updateFn, {timeout: 15 * 1000, onlyOnce: !host});\n return null;\n}\n\nclass NodeCard extends Component {\n static propTypes = {\n // from parent\n handleClose: PropTypes.func.isRequired,\n handleKeyDown: PropTypes.func,\n // from connect\n node: nodeProps,\n tabletSlots: PropTypes.array,\n loadNodeAttributes: PropTypes.func.isRequired,\n };\n\n componentWillUnmount() {\n this.props.handleClose();\n }\n\n renderTop() {\n const {clusterConfig} = this.props;\n const {physicalHost, host} = this.props.node;\n return UIFactory.renderComponentsNodeCardTop({host, physicalHost, clusterConfig});\n }\n\n renderLocation(location, index) {\n return (\n <div className={block('location')} key={index}>\n <MetaTable\n items={[\n {\n key: 'uuid',\n value: (\n <span>\n {location.location_uuid}\n &nbsp;\n <ClipboardButton\n view=\"flat-secondary\"\n text={location.location_uuid}\n size=\"s\"\n />\n </span>\n ),\n },\n {key: 'location number', value: index + 1},\n {key: 'enabled', value: location.enabled.toString()},\n {key: 'full', value: location.full.toString()},\n {key: 'medium name', value: location.medium_name},\n {key: 'sessions', value: location.session_count},\n {\n key: 'chunks',\n value: hammer.format['Number'](location.chunk_count),\n },\n {\n key: 'used space',\n value: (\n <Progress\n value={location.locationProgress}\n text={location.locationText}\n theme=\"success\"\n />\n ),\n },\n {\n key: 'available space',\n value: (\n <Template.FormattedValue\n value={location.available_space}\n format=\"Bytes\"\n />\n ),\n },\n {\n key: 'watermark space',\n value: (\n <Template.FormattedValue\n value={location.low_watermark_space}\n format=\"Bytes\"\n />\n ),\n },\n ]}\n />\n </div>\n );\n }\n\n renderLocations() {\n const {locations} = this.props.node;\n\n return (\n locations && (\n <CollapsibleSection\n size=\"s\"\n name=\"Locations\"\n className={block('locations')}\n collapsed\n >\n {_.map(locations, (location, index) => this.renderLocation(location, index))}\n </CollapsibleSection>\n )\n );\n }\n\n renderAlerts() {\n const {alerts} = this.props.node;\n\n return (\n alerts?.length > 0 && (\n <CollapsibleSection size=\"s\" name=\"Alerts\" className={block('alerts')} collapsed>\n {_.map(alerts, (alert) => (\n <Alert key={alert.message} error={alert} />\n ))}\n </CollapsibleSection>\n )\n );\n }\n\n renderTabletSlots() {\n const {tabletSlots} = this.props;\n\n return (\n tabletSlots.length > 0 && (\n <CollapsibleSection size=\"s\" name=\"Tablet slots\" collapsed={false}>\n <NodeTabletSlots tabletSlots={tabletSlots} />\n </CollapsibleSection>\n )\n );\n }\n\n renderDefault() {\n const {\n state,\n systemTags,\n userTags,\n rack,\n banned,\n banMessage = '',\n decommissioned,\n decommissionedMessage,\n full,\n alerts,\n dataCenter,\n lastSeenTime,\n disableJobs,\n disableTabletCells,\n disableWriteSession,\n } = this.props.node;\n\n const stateText = hammer.format['FirstUppercase'](state);\n const stateTheme = {online: 'success', offline: 'danger'}[state] || 'default';\n\n return (\n <CollapsibleSection size=\"s\" name=\"Default\" className={block('default')}>\n <MetaTable\n items={[\n {\n key: 'system tags',\n value: _.map(systemTags, (tag) => <Label key={tag} text={tag} />),\n visible: systemTags?.length > 0,\n },\n {\n key: 'user tags',\n value: _.map(userTags, (tag) => <Label key={tag} text={tag} />),\n visible: userTags?.length > 0,\n },\n {\n key: 'state',\n value: <Label theme={stateTheme} type=\"text\" text={stateText} />,\n },\n {\n key: 'rack',\n value: hammer.format['Address'](rack),\n visible: Boolean(rack),\n },\n {\n key: 'banned',\n value: <Label text={banMessage} theme=\"warning\" type=\"text\" />,\n visible: Boolean(banned),\n },\n {\n key: 'decommissioned',\n value: (\n <Label\n text={decommissionedMessage || 'Decommissioned'}\n theme=\"default\"\n type=\"text\"\n />\n ),\n visible: Boolean(decommissioned),\n },\n {\n key: 'full',\n value: <Label text=\"Full\" theme=\"danger\" type=\"text\" />,\n visible: Boolean(full),\n },\n {\n key: 'alerts',\n value: <Label text={alerts?.length || 0} theme=\"danger\" type=\"text\" />,\n visible: alerts?.length > 0,\n },\n {\n key: 'scheduler jobs',\n value: renderLabel(disableJobs),\n },\n {\n key: 'write sessions',\n value: renderLabel(disableWriteSession),\n },\n {\n key: 'tablet cells',\n value: renderLabel(disableTabletCells),\n },\n {\n key: 'data center',\n value: dataCenter?.toUpperCase(),\n visible: Boolean(dataCenter),\n },\n {\n key: 'last seen',\n value: hammer.format['DateTime'](lastSeenTime, {\n format: 'full',\n }),\n },\n ]}\n />\n </CollapsibleSection>\n );\n }\n\n renderStorage() {\n const {node} = this.props;\n const hasMeta = hasStorageMeta(node);\n\n return (\n hasMeta && (\n <CollapsibleSection size=\"s\" name=\"Storage\" className={block('storage')} collapsed>\n <NodeStorage {...node} />\n </CollapsibleSection>\n )\n );\n }\n\n renderCpuAndMemory() {\n const {node} = this.props;\n const hasMeta = hasCpuAndMemoryMeta(node);\n\n return (\n hasMeta && (\n <CollapsibleSection\n size=\"s\"\n name=\"CPU and memory\"\n className={block('cpu')}\n collapsed\n >\n <NodeCpuAndMemory {...{node}} />\n </CollapsibleSection>\n )\n );\n }\n\n renderResources() {\n const {node} = this.props;\n const hasMeta = hasResourcesMeta(node);\n\n return (\n hasMeta && (\n <CollapsibleSection\n size=\"s\"\n name=\"Resources\"\n className={block('resources')}\n collapsed\n >\n <NodeResources {...node} />\n </CollapsibleSection>\n )\n );\n }\n\n renderCard() {\n const {cluster, handleClose, handleKeyDown, node} = this.props;\n\n return (\n node && (\n <div className={block()} onKeyDown={handleKeyDown} tabIndex={-1}>\n <div className={block('header')}>\n <Link\n routed\n url={`/${cluster}/${Page.COMPONENTS}/${Tab.NODES}/${node.host}/general`}\n className={block('node')}\n >\n {node.host}\n </Link>\n\n <Button view=\"flat-secondary\" size=\"m\" onClick={handleClose}>\n <Icon awesome=\"times\" face={'light'} />\n </Button>\n </div>\n\n {this.renderTop()}\n {this.renderDefault()}\n {this.renderAlerts()}\n {this.renderLocations()}\n {this.renderTabletSlots()}\n {this.renderCpuAndMemory()}\n {this.renderStorage()}\n {this.renderResources()}\n </div>\n )\n );\n }\n\n render() {\n const {error, errorData, loaded} = this.props;\n\n return (\n <React.Fragment>\n <NodeCardUpdater host={this.props.host} />\n <LoadDataHandler loaded={loaded} error={error} errorData={errorData}>\n {this.renderCard()}\n </LoadDataHandler>\n </React.Fragment>\n );\n }\n}\n\nconst mapStateToProps = (state) => {\n const {node, loaded, error, errorData} = nodeSelector(state);\n const cluster = getCluster(state);\n\n return {\n cluster,\n error,\n errorData,\n loaded,\n node,\n tabletSlots: node && getSortedItems(state, {node}),\n clusterConfig: getCurrentClusterConfig(state),\n };\n};\n\nconst mapDispatchToProps = {\n loadNodeAttributes,\n};\n\nexport default compose(connect(mapStateToProps, mapDispatchToProps), withSplit)(NodeCard);\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare function QueriesListSidebarToggleButton(): React.JSX.Element;
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import { Button } from '@gravity-ui/uikit';
3
+ import Icon from '../../../components/Icon/Icon';
4
+ import { useQueriesListSidebarToggle } from '../hooks/QueriesList';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ export function QueriesListSidebarToggleButton() {
7
+ var _useQueriesListSideba = useQueriesListSidebarToggle(),
8
+ isQueriesListSidebarVisible = _useQueriesListSideba.isQueriesListSidebarVisible,
9
+ toggleQueriesListSideBarToggle = _useQueriesListSideba.toggleQueriesListSideBarToggle;
10
+ return /*#__PURE__*/_jsx(Button, {
11
+ view: "outlined",
12
+ size: "l",
13
+ title: "".concat(isQueriesListSidebarVisible ? 'Hide' : 'Show', " queries list"),
14
+ onClick: toggleQueriesListSideBarToggle,
15
+ children: /*#__PURE__*/_jsx(Icon, {
16
+ awesome: "layout-side-content",
17
+ size: 16
18
+ })
19
+ });
20
+ }
21
+ // #sourceMappingURL=QueriesListSidebarToggleButton.js.map