@ytsaurus/ui 1.46.1 → 1.46.3

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 (31) hide show
  1. package/build/cjs/ui/components/Dialog/controls/PoolSuggestControl/PoolSuggestControl.js +7 -6
  2. package/build/cjs/ui/components/Dialog/controls/PoolSuggestControl/PoolSuggestControl.js.map +1 -1
  3. package/build/cjs/ui/pages/navigation/content/File/File.css +3 -3
  4. package/build/cjs/ui/pages/navigation/content/File/File.css.map +1 -1
  5. package/build/cjs/ui/pages/navigation/content/File/File.js +1 -0
  6. package/build/cjs/ui/pages/navigation/content/File/File.js.map +1 -1
  7. package/build/cjs/ui/pages/navigation/content/MapNode/PathActions.js +2 -0
  8. package/build/cjs/ui/pages/navigation/content/MapNode/PathActions.js.map +1 -1
  9. package/build/cjs/ui/utils/operations/tabs/details/specification/specification.js +11 -8
  10. package/build/cjs/ui/utils/operations/tabs/details/specification/specification.js.map +1 -1
  11. package/build/esm/ui/components/Dialog/controls/PoolSuggestControl/PoolSuggestControl.js +7 -6
  12. package/build/esm/ui/components/Dialog/controls/PoolSuggestControl/PoolSuggestControl.js.map +1 -1
  13. package/build/esm/ui/pages/navigation/content/File/File.css +3 -3
  14. package/build/esm/ui/pages/navigation/content/File/File.css.map +1 -1
  15. package/build/esm/ui/pages/navigation/content/File/File.js +1 -0
  16. package/build/esm/ui/pages/navigation/content/File/File.js.map +1 -1
  17. package/build/esm/ui/pages/navigation/content/File/File.scss +4 -4
  18. package/build/esm/ui/pages/navigation/content/MapNode/PathActions.js +2 -0
  19. package/build/esm/ui/pages/navigation/content/MapNode/PathActions.js.map +1 -1
  20. package/build/esm/ui/utils/operations/tabs/details/specification/specification.js +11 -8
  21. package/build/esm/ui/utils/operations/tabs/details/specification/specification.js.map +1 -1
  22. package/dist/public/build/assets-manifest.json +7 -7
  23. package/dist/public/build/css/main.d5672f9d.css +2 -0
  24. package/dist/public/build/css/{main.e0a07e74.css.map → main.d5672f9d.css.map} +1 -1
  25. package/dist/public/build/js/main.95c50349.js +3 -0
  26. package/dist/public/build/js/{main.b0f37b6a.js.map → main.95c50349.js.map} +1 -1
  27. package/dist/public/build/manifest.json +4 -4
  28. package/package.json +2 -2
  29. package/dist/public/build/css/main.e0a07e74.css +0 -2
  30. package/dist/public/build/js/main.b0f37b6a.js +0 -3
  31. /package/dist/public/build/js/{main.b0f37b6a.js.LICENSE.txt → main.95c50349.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["React","cn","axios","USE_MAX_SIZE","ypath","Suggest","YTApiId","ytApiV3Id","wrapApiPromiseByToaster","usePoolTreeOrLoadDefault","jsx","_jsx","block","PoolSuggestControl","props","allowEmpty","allowEphemeral","value","onChange","placeholder","poolTree","cluster","calculateValueOnPoolsLoaded","disabled","_React$useState","useState","items","itemsTree","_React$useState2","_slicedToArray","poolNames","setPoolNames","loadedPools","useLoadedPools","useEffect","onPoolLoaded","names","tree","noRoot","_filter","item","valueIndex","_indexOf","_sortBy","loadedPoolNames","getItems","useCallback","_items","filter","from","_sortedIndexBy","substring","length","to","_sortedLastIndexBy","res","_slice","popupClassName","text","apply","v","onItemClick","onTextUpdate","undefined","getDefaultValue","isEmpty","arguments","_React$useState3","_React$useState4","result","setResult","currentClusterTree","useMemo","get","concat","skipSuccessToast","toasterName","errorTitle","then","_ref","data","localPoolTree","list","listPoolNames","_objectSpread","path","getValue"],"sources":["PoolSuggestControl.tsx"],"sourcesContent":["import React from 'react';\n\nimport _ from 'lodash';\nimport cn from 'bem-cn-lite';\nimport axios from 'axios';\n\nimport {USE_MAX_SIZE} from '../../../../../shared/constants/yt-api';\nimport ypath from '../../../../common/thor/ypath';\n\nimport {DialogControlProps} from '../../../../components/Dialog/Dialog.types';\nimport Suggest from '../../../../components/Suggest/Suggest';\n\nimport {YTApiId, ytApiV3Id} from '../../../../rum/rum-wrap-api';\nimport {wrapApiPromiseByToaster} from '../../../../utils/utils';\nimport {usePoolTreeOrLoadDefault} from '../../../../hooks/global-pool-trees';\n\nimport './PoolSuggestControl.scss';\n\nconst block = cn('pool-suggest-control');\n\ntype Props = DialogControlProps<string> & {\n // If not defined then current cluster should be used\n cluster?: string;\n // If not defined then default pool tree should be used\n poolTree?: string;\n calculateValueOnPoolsLoaded?: (params: {loadedPoolNames: Array<string>}) => string;\n\n allowEmpty?: boolean;\n allowEphemeral?: boolean;\n\n disabled?: boolean;\n};\n\n/**\n * The suggest should be used to select pools of current cluster\n * @param props\n * @returns\n */\nexport function PoolSuggestControl(props: Props) {\n const {\n allowEmpty,\n allowEphemeral,\n value,\n onChange,\n placeholder,\n poolTree,\n cluster,\n calculateValueOnPoolsLoaded,\n disabled,\n } = props;\n\n const [{items: poolNames}, setPoolNames] = React.useState<{\n items: Array<string>;\n itemsTree: string;\n }>({\n items: [],\n itemsTree: '',\n });\n\n const loadedPools = useLoadedPools(cluster, poolTree);\n\n React.useEffect(\n function onPoolLoaded() {\n const {names, tree} = loadedPools;\n if (!tree) {\n return;\n }\n const noRoot = _.filter(names, (item) => '<Root>' !== item);\n const valueIndex = _.indexOf(noRoot, value);\n if (value && -1 === valueIndex) {\n onChange('');\n }\n setPoolNames({items: _.sortBy(noRoot), itemsTree: tree});\n if (calculateValueOnPoolsLoaded) {\n onChange(calculateValueOnPoolsLoaded({loadedPoolNames: noRoot}));\n }\n },\n // value should not affect the useEffect\n [loadedPools, setPoolNames, onChange, calculateValueOnPoolsLoaded /*, value */],\n );\n\n const getItems = React.useCallback(\n (_items: unknown, filter?: string) => {\n if (!filter) {\n return poolNames;\n }\n const from = _.sortedIndexBy(poolNames, filter, (item) =>\n item.substring(0, filter.length),\n );\n const to = _.sortedLastIndexBy(poolNames, filter, (item) =>\n item.substring(0, filter.length),\n );\n\n const res = _.slice(poolNames, from, to);\n return res;\n },\n [poolNames],\n );\n\n return (\n <Suggest\n popupClassName={block('popup')}\n text={value}\n filter={getItems}\n apply={(v) => allowEphemeral && onChange(typeof v === 'string' ? v : v.value)}\n onItemClick={(v) => onChange(typeof v === 'string' ? v : v.value)}\n onTextUpdate={allowEmpty ? (text) => !text && onChange('') : undefined}\n placeholder={placeholder}\n disabled={disabled}\n />\n );\n}\n\nPoolSuggestControl.getDefaultValue = () => {\n return '';\n};\n\nPoolSuggestControl.isEmpty = (value: Props['value']) => {\n return !value;\n};\n\nfunction useLoadedPools(cluster?: string, poolTree = ''): {names: Array<string>; tree?: string} {\n const [result, setResult] = React.useState<{names: Array<string>; tree?: string}>({names: []});\n\n const currentClusterTree = usePoolTreeOrLoadDefault(poolTree);\n\n React.useMemo(() => {\n if (cluster) {\n wrapApiPromiseByToaster(axios.get(`/api/pool-names/${cluster}?poolTree=${poolTree}`), {\n skipSuccessToast: true,\n toasterName: 'load-pool-names',\n errorTitle: 'Failed to load pools',\n }).then(({data}) => {\n setResult(data);\n });\n } else if (poolTree || currentClusterTree) {\n const localPoolTree = poolTree || currentClusterTree;\n wrapApiPromiseByToaster(\n ytApiV3Id.list(YTApiId.listPoolNames, {\n path: `//sys/scheduler/orchid/scheduler/pool_trees/${localPoolTree}/pools`,\n ...USE_MAX_SIZE,\n }),\n {\n skipSuccessToast: true,\n toasterName: 'load-pool-names',\n errorTitle: 'Failed to load pools',\n },\n ).then((names) => {\n setResult({names: ypath.getValue(names), tree: localPoolTree});\n });\n }\n }, [cluster, currentClusterTree, poolTree]);\n\n return result;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","cn","axios","USE_MAX_SIZE","ypath","Suggest","YTApiId","ytApiV3Id","wrapApiPromiseByToaster","usePoolTreeOrLoadDefault","jsx","_jsx","block","PoolSuggestControl","props","allowEmpty","allowEphemeral","value","onChange","placeholder","poolTree","cluster","calculateValueOnPoolsLoaded","disabled","_React$useState","useState","items","itemsTree","_React$useState2","_slicedToArray","poolNames","setPoolNames","loadedPools","useLoadedPools","useEffect","onPoolLoaded","names","tree","noRoot","_filter","item","valueIndex","_indexOf","_sortBy","loadedPoolNames","getItems","useCallback","_items","filter","from","_sortedIndexBy","substring","length","to","_sortedLastIndexBy","res","_slice","popupClassName","text","onItemClick","v","onTextUpdate","getDefaultValue","isEmpty","arguments","undefined","_React$useState3","_React$useState4","result","setResult","currentClusterTree","useMemo","get","concat","skipSuccessToast","toasterName","errorTitle","then","_ref","data","localPoolTree","list","listPoolNames","_objectSpread","path","getValue"],"sources":["PoolSuggestControl.tsx"],"sourcesContent":["import React from 'react';\n\nimport _ from 'lodash';\nimport cn from 'bem-cn-lite';\nimport axios from 'axios';\n\nimport {USE_MAX_SIZE} from '../../../../../shared/constants/yt-api';\nimport ypath from '../../../../common/thor/ypath';\n\nimport {DialogControlProps} from '../../../../components/Dialog/Dialog.types';\nimport Suggest from '../../../../components/Suggest/Suggest';\n\nimport {YTApiId, ytApiV3Id} from '../../../../rum/rum-wrap-api';\nimport {wrapApiPromiseByToaster} from '../../../../utils/utils';\nimport {usePoolTreeOrLoadDefault} from '../../../../hooks/global-pool-trees';\n\nimport './PoolSuggestControl.scss';\n\nconst block = cn('pool-suggest-control');\n\ntype Props = DialogControlProps<string> & {\n // If not defined then current cluster should be used\n cluster?: string;\n // If not defined then default pool tree should be used\n poolTree?: string;\n calculateValueOnPoolsLoaded?: (params: {loadedPoolNames: Array<string>}) => string;\n\n allowEmpty?: boolean;\n allowEphemeral?: boolean;\n\n disabled?: boolean;\n};\n\n/**\n * The suggest should be used to select pools of current cluster\n * @param props\n * @returns\n */\nexport function PoolSuggestControl(props: Props) {\n const {\n allowEmpty,\n allowEphemeral,\n value,\n onChange,\n placeholder,\n poolTree,\n cluster,\n calculateValueOnPoolsLoaded,\n disabled,\n } = props;\n\n const [{items: poolNames}, setPoolNames] = React.useState<{\n items: Array<string>;\n itemsTree: string;\n }>({\n items: [],\n itemsTree: '',\n });\n\n const loadedPools = useLoadedPools(cluster, poolTree);\n\n React.useEffect(\n function onPoolLoaded() {\n const {names, tree} = loadedPools;\n if (!tree) {\n return;\n }\n const noRoot = _.filter(names, (item) => '<Root>' !== item);\n const valueIndex = _.indexOf(noRoot, value);\n if (value && -1 === valueIndex) {\n onChange('');\n }\n setPoolNames({items: _.sortBy(noRoot), itemsTree: tree});\n if (calculateValueOnPoolsLoaded) {\n onChange(calculateValueOnPoolsLoaded({loadedPoolNames: noRoot}));\n }\n },\n // value should not affect the useEffect\n [loadedPools, setPoolNames, onChange, calculateValueOnPoolsLoaded /*, value */],\n );\n\n const getItems = React.useCallback(\n (_items: unknown, filter?: string) => {\n if (!filter) {\n return poolNames;\n }\n const from = _.sortedIndexBy(poolNames, filter, (item) =>\n item.substring(0, filter.length),\n );\n const to = _.sortedLastIndexBy(poolNames, filter, (item) =>\n item.substring(0, filter.length),\n );\n\n const res = _.slice(poolNames, from, to);\n return res;\n },\n [poolNames],\n );\n\n return (\n <Suggest\n popupClassName={block('popup')}\n text={value}\n filter={getItems}\n onItemClick={(v) => onChange(typeof v === 'string' ? v : v.value)}\n onTextUpdate={(text) => {\n if (allowEmpty && !text) {\n onChange('');\n } else if (allowEphemeral) {\n onChange(text);\n }\n }}\n placeholder={placeholder}\n disabled={disabled}\n />\n );\n}\n\nPoolSuggestControl.getDefaultValue = () => {\n return '';\n};\n\nPoolSuggestControl.isEmpty = (value: Props['value']) => {\n return !value;\n};\n\nfunction useLoadedPools(cluster?: string, poolTree = ''): {names: Array<string>; tree?: string} {\n const [result, setResult] = React.useState<{names: Array<string>; tree?: string}>({names: []});\n\n const currentClusterTree = usePoolTreeOrLoadDefault(poolTree);\n\n React.useMemo(() => {\n if (cluster) {\n wrapApiPromiseByToaster(axios.get(`/api/pool-names/${cluster}?poolTree=${poolTree}`), {\n skipSuccessToast: true,\n toasterName: 'load-pool-names',\n errorTitle: 'Failed to load pools',\n }).then(({data}) => {\n setResult(data);\n });\n } else if (poolTree || currentClusterTree) {\n const localPoolTree = poolTree || currentClusterTree;\n wrapApiPromiseByToaster(\n ytApiV3Id.list(YTApiId.listPoolNames, {\n path: `//sys/scheduler/orchid/scheduler/pool_trees/${localPoolTree}/pools`,\n ...USE_MAX_SIZE,\n }),\n {\n skipSuccessToast: true,\n toasterName: 'load-pool-names',\n errorTitle: 'Failed to load pools',\n },\n ).then((names) => {\n setResult({names: ypath.getValue(names), tree: localPoolTree});\n });\n }\n }, [cluster, currentClusterTree, poolTree]);\n\n return result;\n}\n"],"mappings":"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"}
@@ -1,6 +1,3 @@
1
- .navigation-file .elements-dropdown-menu {
2
- margin-left: 20px;
3
- }
4
1
  .navigation-file .elements-code:not(:last-child) {
5
2
  margin-bottom: 20px;
6
3
  }
@@ -13,4 +10,7 @@
13
10
  .navigation-file__actions {
14
11
  margin-bottom: 20px;
15
12
  }
13
+ .navigation-file__download {
14
+ margin-right: 20px;
15
+ }
16
16
  /*# sourceMappingURL=File.css.map */
@@ -1 +1 @@
1
- {"version":3,"sources":["File.scss"],"names":[],"mappings":"AACI;EACI,iBAAA;AAAR;AAGI;EACI,mBAAA;AADR;AAII;EACI,aAAA;EACA,aAAA;EACA,mBAAA;EACA,uBAAA;AAFR;AAKI;EACI,mBAAA;AAHR","file":"File.css","sourcesContent":[".navigation-file {\n .elements-dropdown-menu {\n margin-left: 20px;\n }\n\n .elements-code:not(:last-child) {\n margin-bottom: 20px;\n }\n\n &_loading {\n height: 200px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n &__actions {\n margin-bottom: 20px;\n }\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["File.scss"],"names":[],"mappings":"AACI;EACI,mBAAA;AAAR;AAGI;EACI,aAAA;EACA,aAAA;EACA,mBAAA;EACA,uBAAA;AADR;AAII;EACI,mBAAA;AAFR;AAKI;EACI,kBAAA;AAHR","file":"File.css","sourcesContent":[".navigation-file {\n .elements-code:not(:last-child) {\n margin-bottom: 20px;\n }\n\n &_loading {\n height: 200px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n &__actions {\n margin-bottom: 20px;\n }\n\n &__download {\n margin-right: 20px;\n }\n}\n"],"sourceRoot":""}
@@ -33,6 +33,7 @@ var renderActions = function renderActions(downloadPath) {
33
33
  return /*#__PURE__*/_jsxs("div", {
34
34
  className: block('actions'),
35
35
  children: [/*#__PURE__*/_jsx(Button, {
36
+ className: block('download'),
36
37
  href: downloadPath,
37
38
  target: "_blank",
38
39
  children: "Download"
@@ -1 +1 @@
1
- {"version":3,"names":["React","Fragment","useEffect","connect","useSelector","cn","LoadDataHandler","MetaTable","compression","erasureReplication","main","size","Button","Loader","Link","getDownloadPath","getIsEmpty","getIsTooBig","getNavigationFileLoadingStatus","abortAndReset","loadFile","getAttributes","getPath","getEffectiveMode","useRumMeasureStop","useAppRumMeasureStart","RumMeasureTypes","isFinalLoadingStatus","NavigationExtraActions","jsx","_jsx","jsxs","_jsxs","block","messageBlock","codeBlock","renderMeta","attributes","mediumList","items","concat","_toConsumableArray","renderActions","downloadPath","className","children","href","target","renderEmptyWarning","theme","renderTooBigInfo","url","renderContent","file","isTooBig","File","props","path","mode","loading","loaded","isEmpty","initialLoading","_objectSpread","mapStateToProps","state","_state$navigation$con","navigation","content","error","errorData","global","mapDispatchToProps","FileConnected","FileWithRum","loadState","type","NAVIGATION_CONTENT_FILE","startDeps","allowStart","_ref","_ref2","_slicedToArray","stopDeps","allowStop","_ref3","_ref4"],"sources":["File.js"],"sourcesContent":["import React, {Fragment, useEffect} from 'react';\nimport {connect, useSelector} from 'react-redux';\nimport PropTypes from 'prop-types';\nimport cn from 'bem-cn-lite';\n\nimport LoadDataHandler from '../../../../components/LoadDataHandler/LoadDataHandler';\nimport MetaTable from '../../../../components/MetaTable/MetaTable';\nimport {\n compression,\n erasureReplication,\n main,\n size,\n} from '../../../../components/MetaTable/presets';\nimport {Button, Loader} from '@gravity-ui/uikit';\nimport Link from '../../../../components/Link/Link';\n\nimport {\n getDownloadPath,\n getIsEmpty,\n getIsTooBig,\n getNavigationFileLoadingStatus,\n} from '../../../../store/selectors/navigation/content/file';\nimport {abortAndReset, loadFile} from '../../../../store/actions/navigation/content/file';\nimport {getAttributes, getPath} from '../../../../store/selectors/navigation';\nimport {getEffectiveMode} from '../../../../store/selectors/navigation/navigation';\n\nimport {useRumMeasureStop} from '../../../../rum/RumUiContext';\nimport {useAppRumMeasureStart} from '../../../../rum/rum-app-measures';\nimport {RumMeasureTypes} from '../../../../rum/rum-measure-types';\nimport {isFinalLoadingStatus} from '../../../../utils/utils';\n\nimport './File.scss';\nimport NavigationExtraActions from '../../../../containers/NavigationExtraActions/NavigationExtraActions';\n\nconst block = cn('navigation-file');\nconst messageBlock = cn('elements-message');\nconst codeBlock = cn('elements-code');\n\nconst renderMeta = (attributes, mediumList) => {\n return (\n <MetaTable\n items={[\n main(attributes),\n size(attributes, mediumList),\n [...compression(attributes), ...erasureReplication(attributes)],\n ]}\n />\n );\n};\n\nconst renderActions = (downloadPath) => {\n return (\n <div className={block('actions')}>\n <Button href={downloadPath} target=\"_blank\">\n Download\n </Button>\n <NavigationExtraActions />\n </div>\n );\n};\n\nconst renderEmptyWarning = () => {\n return (\n <div className={messageBlock({theme: 'warning'})}>\n <p className={messageBlock('paragraph')}>File is empty.</p>\n </div>\n );\n};\n\nconst renderTooBigInfo = (downloadPath) => {\n return (\n <div className={messageBlock({theme: 'info'})}>\n <p className={messageBlock('paragraph')}>\n The file is too big to be fully shown here. You can{' '}\n <Link url={downloadPath} target=\"_blank\">\n download\n </Link>{' '}\n it.\n </p>\n </div>\n );\n};\n\nconst renderContent = (file, isTooBig, downloadPath) => {\n return (\n <Fragment>\n <pre className={codeBlock({theme: 'default'})}>{file}</pre>\n\n {isTooBig && renderTooBigInfo(downloadPath)}\n </Fragment>\n );\n};\n\nfunction File(props) {\n const {path, mode, loadFile, abortAndReset} = props;\n useEffect(() => {\n loadFile();\n return abortAndReset;\n }, [path, mode]);\n\n const {loading, loaded, attributes, mediumList, downloadPath, isEmpty, isTooBig, file} = props;\n const initialLoading = loading && !loaded;\n return (\n <LoadDataHandler {...props}>\n <div className={block({loading: initialLoading})}>\n {initialLoading ? (\n <Loader />\n ) : (\n <Fragment>\n {renderMeta(attributes, mediumList)}\n {renderActions(downloadPath)}\n {isEmpty\n ? renderEmptyWarning()\n : renderContent(file, isTooBig, downloadPath)}\n </Fragment>\n )}\n </div>\n </LoadDataHandler>\n );\n}\n\nFile.propTypes = {\n // from connect\n loading: PropTypes.bool.isRequired,\n loaded: PropTypes.bool.isRequired,\n error: PropTypes.bool.isRequired,\n errorData: PropTypes.object.isRequired,\n\n file: PropTypes.string,\n path: PropTypes.string.isRequired,\n mode: PropTypes.string.isRequired,\n isEmpty: PropTypes.bool.isRequired,\n isTooBig: PropTypes.bool.isRequired,\n attributes: PropTypes.object.isRequired,\n downloadPath: PropTypes.string.isRequired,\n mediumList: PropTypes.arrayOf(PropTypes.string.isRequired).isRequired,\n\n loadFile: PropTypes.func.isRequired,\n abortAndReset: PropTypes.func.isRequired,\n};\n\nconst mapStateToProps = (state) => {\n const {loading, loaded, error, errorData, file} = state.navigation.content.file;\n const {mediumList} = state.global;\n\n const downloadPath = getDownloadPath(state);\n const attributes = getAttributes(state);\n const isTooBig = getIsTooBig(state);\n const isEmpty = getIsEmpty(state);\n const path = getPath(state);\n const mode = getEffectiveMode(state);\n\n return {\n loading,\n loaded,\n error,\n errorData,\n mediumList,\n attributes,\n path,\n mode,\n isEmpty,\n isTooBig,\n downloadPath,\n file,\n };\n};\nconst mapDispatchToProps = {\n loadFile,\n abortAndReset,\n};\n\nconst FileConnected = connect(mapStateToProps, mapDispatchToProps)(File);\n\nexport default function FileWithRum() {\n const loadState = useSelector(getNavigationFileLoadingStatus);\n\n useAppRumMeasureStart({\n type: RumMeasureTypes.NAVIGATION_CONTENT_FILE,\n startDeps: [loadState],\n allowStart: ([loadState]) => {\n return !isFinalLoadingStatus(loadState);\n },\n });\n\n useRumMeasureStop({\n type: RumMeasureTypes.NAVIGATION_CONTENT_FILE,\n stopDeps: [loadState],\n allowStop: ([loadState]) => {\n return isFinalLoadingStatus(loadState);\n },\n });\n\n return <FileConnected />;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Fragment","useEffect","connect","useSelector","cn","LoadDataHandler","MetaTable","compression","erasureReplication","main","size","Button","Loader","Link","getDownloadPath","getIsEmpty","getIsTooBig","getNavigationFileLoadingStatus","abortAndReset","loadFile","getAttributes","getPath","getEffectiveMode","useRumMeasureStop","useAppRumMeasureStart","RumMeasureTypes","isFinalLoadingStatus","NavigationExtraActions","jsx","_jsx","jsxs","_jsxs","block","messageBlock","codeBlock","renderMeta","attributes","mediumList","items","concat","_toConsumableArray","renderActions","downloadPath","className","children","href","target","renderEmptyWarning","theme","renderTooBigInfo","url","renderContent","file","isTooBig","File","props","path","mode","loading","loaded","isEmpty","initialLoading","_objectSpread","mapStateToProps","state","_state$navigation$con","navigation","content","error","errorData","global","mapDispatchToProps","FileConnected","FileWithRum","loadState","type","NAVIGATION_CONTENT_FILE","startDeps","allowStart","_ref","_ref2","_slicedToArray","stopDeps","allowStop","_ref3","_ref4"],"sources":["File.js"],"sourcesContent":["import React, {Fragment, useEffect} from 'react';\nimport {connect, useSelector} from 'react-redux';\nimport PropTypes from 'prop-types';\nimport cn from 'bem-cn-lite';\n\nimport LoadDataHandler from '../../../../components/LoadDataHandler/LoadDataHandler';\nimport MetaTable from '../../../../components/MetaTable/MetaTable';\nimport {\n compression,\n erasureReplication,\n main,\n size,\n} from '../../../../components/MetaTable/presets';\nimport {Button, Loader} from '@gravity-ui/uikit';\nimport Link from '../../../../components/Link/Link';\n\nimport {\n getDownloadPath,\n getIsEmpty,\n getIsTooBig,\n getNavigationFileLoadingStatus,\n} from '../../../../store/selectors/navigation/content/file';\nimport {abortAndReset, loadFile} from '../../../../store/actions/navigation/content/file';\nimport {getAttributes, getPath} from '../../../../store/selectors/navigation';\nimport {getEffectiveMode} from '../../../../store/selectors/navigation/navigation';\n\nimport {useRumMeasureStop} from '../../../../rum/RumUiContext';\nimport {useAppRumMeasureStart} from '../../../../rum/rum-app-measures';\nimport {RumMeasureTypes} from '../../../../rum/rum-measure-types';\nimport {isFinalLoadingStatus} from '../../../../utils/utils';\n\nimport './File.scss';\nimport NavigationExtraActions from '../../../../containers/NavigationExtraActions/NavigationExtraActions';\n\nconst block = cn('navigation-file');\nconst messageBlock = cn('elements-message');\nconst codeBlock = cn('elements-code');\n\nconst renderMeta = (attributes, mediumList) => {\n return (\n <MetaTable\n items={[\n main(attributes),\n size(attributes, mediumList),\n [...compression(attributes), ...erasureReplication(attributes)],\n ]}\n />\n );\n};\n\nconst renderActions = (downloadPath) => {\n return (\n <div className={block('actions')}>\n <Button className={block('download')} href={downloadPath} target=\"_blank\">\n Download\n </Button>\n <NavigationExtraActions />\n </div>\n );\n};\n\nconst renderEmptyWarning = () => {\n return (\n <div className={messageBlock({theme: 'warning'})}>\n <p className={messageBlock('paragraph')}>File is empty.</p>\n </div>\n );\n};\n\nconst renderTooBigInfo = (downloadPath) => {\n return (\n <div className={messageBlock({theme: 'info'})}>\n <p className={messageBlock('paragraph')}>\n The file is too big to be fully shown here. You can{' '}\n <Link url={downloadPath} target=\"_blank\">\n download\n </Link>{' '}\n it.\n </p>\n </div>\n );\n};\n\nconst renderContent = (file, isTooBig, downloadPath) => {\n return (\n <Fragment>\n <pre className={codeBlock({theme: 'default'})}>{file}</pre>\n\n {isTooBig && renderTooBigInfo(downloadPath)}\n </Fragment>\n );\n};\n\nfunction File(props) {\n const {path, mode, loadFile, abortAndReset} = props;\n useEffect(() => {\n loadFile();\n return abortAndReset;\n }, [path, mode]);\n\n const {loading, loaded, attributes, mediumList, downloadPath, isEmpty, isTooBig, file} = props;\n const initialLoading = loading && !loaded;\n return (\n <LoadDataHandler {...props}>\n <div className={block({loading: initialLoading})}>\n {initialLoading ? (\n <Loader />\n ) : (\n <Fragment>\n {renderMeta(attributes, mediumList)}\n {renderActions(downloadPath)}\n {isEmpty\n ? renderEmptyWarning()\n : renderContent(file, isTooBig, downloadPath)}\n </Fragment>\n )}\n </div>\n </LoadDataHandler>\n );\n}\n\nFile.propTypes = {\n // from connect\n loading: PropTypes.bool.isRequired,\n loaded: PropTypes.bool.isRequired,\n error: PropTypes.bool.isRequired,\n errorData: PropTypes.object.isRequired,\n\n file: PropTypes.string,\n path: PropTypes.string.isRequired,\n mode: PropTypes.string.isRequired,\n isEmpty: PropTypes.bool.isRequired,\n isTooBig: PropTypes.bool.isRequired,\n attributes: PropTypes.object.isRequired,\n downloadPath: PropTypes.string.isRequired,\n mediumList: PropTypes.arrayOf(PropTypes.string.isRequired).isRequired,\n\n loadFile: PropTypes.func.isRequired,\n abortAndReset: PropTypes.func.isRequired,\n};\n\nconst mapStateToProps = (state) => {\n const {loading, loaded, error, errorData, file} = state.navigation.content.file;\n const {mediumList} = state.global;\n\n const downloadPath = getDownloadPath(state);\n const attributes = getAttributes(state);\n const isTooBig = getIsTooBig(state);\n const isEmpty = getIsEmpty(state);\n const path = getPath(state);\n const mode = getEffectiveMode(state);\n\n return {\n loading,\n loaded,\n error,\n errorData,\n mediumList,\n attributes,\n path,\n mode,\n isEmpty,\n isTooBig,\n downloadPath,\n file,\n };\n};\nconst mapDispatchToProps = {\n loadFile,\n abortAndReset,\n};\n\nconst FileConnected = connect(mapStateToProps, mapDispatchToProps)(File);\n\nexport default function FileWithRum() {\n const loadState = useSelector(getNavigationFileLoadingStatus);\n\n useAppRumMeasureStart({\n type: RumMeasureTypes.NAVIGATION_CONTENT_FILE,\n startDeps: [loadState],\n allowStart: ([loadState]) => {\n return !isFinalLoadingStatus(loadState);\n },\n });\n\n useRumMeasureStop({\n type: RumMeasureTypes.NAVIGATION_CONTENT_FILE,\n stopDeps: [loadState],\n allowStop: ([loadState]) => {\n return isFinalLoadingStatus(loadState);\n },\n });\n\n return <FileConnected />;\n}\n"],"mappings":"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"}
@@ -1,8 +1,4 @@
1
1
  .navigation-file {
2
- .elements-dropdown-menu {
3
- margin-left: 20px;
4
- }
5
-
6
2
  .elements-code:not(:last-child) {
7
3
  margin-bottom: 20px;
8
4
  }
@@ -17,4 +13,8 @@
17
13
  &__actions {
18
14
  margin-bottom: 20px;
19
15
  }
16
+
17
+ &__download {
18
+ margin-right: 20px;
19
+ }
20
20
  }
@@ -249,6 +249,8 @@ function PathActions(props) {
249
249
  }),
250
250
  action: onMerge
251
251
  }]));
252
+ }
253
+ if (item.type === 'table' || item.type === 'file') {
252
254
  menuItems.push([{
253
255
  text: 'Remote copy',
254
256
  icon: /*#__PURE__*/_jsx(Icon, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useDispatch","useSelector","metrics","ClipboardButton","Button","Icon","inTrash","getTransaction","ypath","OPEN_MOVE_OBJECT_POPUP","openEditingPopup","OPEN_COPY_OBJECT_POPUP","openAttributesModal","showNavigationAttributesEditor","restoreObject","updateView","openDeleteModal","showTableMergeModal","showTableSortModal","showTableEraseModal","getSelectedNodes","showDynTablesStateModalByPaths","DYN_TABLES_ALLOWED_ACTIONS_BY_STATE","DropdownMenu","showLinkToModal","showRemoteCopyModal","jsx","_jsx","jsxs","_jsxs","PathActions","props","item","objectPath","path","dispatch","transaction","restorePath","getValue","$attributes","hasRestoreButton","_React$useMemo","useMemo","handleUpdateView","apply","arguments","onMove","evt","stopPropagation","onCopy","onShowAttributes","countEvent","title","$value","onEditAttributes","onRestoreClick","onDeleteClick","onCopyPathClick","onSort","e","onErase","onMerge","onMount","onUnmount","onFreeze","onUnfreeze","onLink","target","onTransfer","selectedNodes","length","secondGroup","text","icon","awesome","face","action","firstGroup","unshift","menuItems","type","isDynamic","dynamic","tabletState","_ref","mount","unmount","freeze","unfreeze","items","concat","_toConsumableArray","push","commonProps","view","size","onlyDropdown","dropDownBtnClassName","_props$dropDownBtnThe","dropDownBtnTheme","_props$dropDownBtnSiz","dropDownBtnSize","Fragment","children","_objectSpread","disabled","Boolean","onClick","switcher","className","memo"],"sources":["PathActions.tsx"],"sourcesContent":["import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\n\nimport metrics from '../../../../common/utils/metrics';\n\nimport ClipboardButton from '../../../../components/ClipboardButton/ClipboardButton';\nimport Button from '../../../../components/Button/Button';\nimport Icon from '../../../../components/Icon/Icon';\n\nimport {inTrash} from '../../../../utils/navigation/restore-object';\nimport {getTransaction} from '../../../../store/selectors/navigation';\n\nimport ypath from '../../../../common/thor/ypath';\nimport {OPEN_MOVE_OBJECT_POPUP} from '../../../../constants/navigation/modals/move-object';\nimport {openEditingPopup} from '../../../../store/actions/navigation/modals/path-editing-popup';\nimport {OPEN_COPY_OBJECT_POPUP} from '../../../../constants/navigation/modals/copy-object';\nimport {openAttributesModal} from '../../../../store/actions/modals/attributes-modal';\nimport {showNavigationAttributesEditor} from '../../../../store/actions/navigation/modals/attributes-editor';\nimport {restoreObject} from '../../../../store/actions/navigation/modals/restore-object';\nimport {updateView} from '../../../../store/actions/navigation';\nimport {openDeleteModal} from '../../../../store/actions/navigation/modals/delete-object';\nimport {\n showTableMergeModal,\n showTableSortModal,\n} from '../../../../store/actions/navigation/modals/table-merge-sort-modal';\nimport {showTableEraseModal} from '../../../../store/actions/navigation/modals/table-erase-modal';\nimport {getSelectedNodes} from '../../../../store/selectors/navigation/content/map-node';\nimport {showDynTablesStateModalByPaths} from '../../../../store/actions/navigation/modals/dyn-tables-state-modal';\nimport {DYN_TABLES_ALLOWED_ACTIONS_BY_STATE} from '../../../../store/selectors/navigation/content/map-node-ts';\nimport {TabletStateType} from '../../../../store/reducers/navigation/modals/dyn-tables-state-modal';\nimport {ButtonProps, DropdownMenu} from '@gravity-ui/uikit';\nimport {showLinkToModal} from '../../../../store/actions/navigation/modals/link-to-modal';\nimport {showRemoteCopyModal} from '../../../../store/actions/navigation/modals/remote-copy-modal';\n\ninterface Props {\n item: {\n type: string;\n dynamic: boolean;\n path: string;\n $attributes: object;\n $value: unknown;\n tabletState: TabletStateType;\n };\n\n onlyDropdown?: boolean;\n dropDownBtnClassName?: string;\n dropDownBtnTheme?: ButtonProps['view'];\n dropDownBtnSize?: ButtonProps['size'];\n}\n\nfunction PathActions(props: Props) {\n const {item} = props;\n const objectPath = item.path;\n\n const dispatch = useDispatch();\n const transaction = useSelector(getTransaction);\n\n const restorePath = ypath.getValue(item.$attributes, '/_restore_path');\n const hasRestoreButton = inTrash(item.path);\n\n const {\n onMove,\n onCopy,\n onLink,\n onShowAttributes,\n onEditAttributes,\n onRestoreClick,\n onDeleteClick,\n onCopyPathClick,\n onSort,\n onErase,\n onMerge,\n onMount,\n onUnmount,\n onFreeze,\n onUnfreeze,\n onTransfer,\n } = React.useMemo(() => {\n const handleUpdateView = (...args: any) => dispatch(updateView(...args));\n\n return {\n onMove(evt: React.MouseEvent) {\n dispatch(openEditingPopup(objectPath, objectPath, OPEN_MOVE_OBJECT_POPUP));\n evt.stopPropagation();\n },\n onCopy(evt: React.MouseEvent) {\n dispatch(openEditingPopup(objectPath, objectPath, OPEN_COPY_OBJECT_POPUP));\n evt.stopPropagation();\n },\n onShowAttributes(evt: React.MouseEvent) {\n metrics.countEvent({\n 'navigation_map-node_attributes': 'clicked',\n });\n dispatch(\n openAttributesModal({\n title: item.$value,\n path: item.path,\n } as any),\n );\n evt.stopPropagation();\n },\n onEditAttributes(evt: React.MouseEvent) {\n metrics.countEvent({\n 'navigation_map-node_edit_attributes': 'clicked',\n });\n dispatch(showNavigationAttributesEditor([item.path]));\n evt.stopPropagation();\n },\n onRestoreClick(evt: React.MouseEvent) {\n dispatch(restoreObject(objectPath, restorePath, handleUpdateView));\n evt.stopPropagation();\n },\n\n onDeleteClick(evt: React.MouseEvent) {\n metrics.countEvent({'navigation_map-node_delete': 'clicked'});\n dispatch(openDeleteModal(item));\n evt.stopPropagation();\n },\n onCopyPathClick(evt: React.MouseEvent) {\n metrics.countEvent({\n 'navigation_map-node_copy-path': 'clicked',\n });\n evt.stopPropagation();\n },\n onSort(e: React.MouseEvent) {\n dispatch(showTableSortModal([item.path]));\n e.stopPropagation();\n },\n onErase(evt: React.MouseEvent) {\n dispatch(showTableEraseModal(item.path));\n evt.stopPropagation();\n },\n onMerge(evt: React.MouseEvent) {\n dispatch(showTableMergeModal([item.path]));\n evt.stopPropagation();\n },\n onMount(evt: React.MouseEvent) {\n dispatch(showDynTablesStateModalByPaths([item.path], 'mount'));\n evt.stopPropagation();\n },\n onUnmount(evt: React.MouseEvent) {\n dispatch(showDynTablesStateModalByPaths([item.path], 'unmount'));\n evt.stopPropagation();\n },\n onFreeze(evt: React.MouseEvent) {\n dispatch(showDynTablesStateModalByPaths([item.path], 'freeze'));\n evt.stopPropagation();\n },\n onUnfreeze(evt: React.MouseEvent) {\n dispatch(showDynTablesStateModalByPaths([item.path], 'unfreeze'));\n evt.stopPropagation();\n },\n onLink(evt: React.MouseEvent) {\n dispatch(showLinkToModal({target: item.path}));\n evt.stopPropagation();\n },\n onTransfer(evt: React.MouseEvent) {\n dispatch(showRemoteCopyModal([item.path]));\n evt.stopPropagation();\n },\n };\n }, [dispatch, objectPath, item, restorePath]);\n\n const selectedNodes = useSelector(getSelectedNodes);\n if (selectedNodes.length) {\n return null;\n }\n\n const secondGroup = [\n {\n text: 'Move',\n icon: <Icon awesome=\"file-export\" face=\"solid\" />,\n action: onMove,\n },\n {\n text: 'Copy',\n icon: <Icon awesome=\"copy\" face=\"solid\" />,\n action: onCopy,\n },\n {\n text: 'Link',\n icon: <Icon awesome=\"link\" face=\"solid\" />,\n action: onLink,\n },\n {\n text: 'Delete',\n icon: <Icon awesome=\"trash-alt\" />,\n action: onDeleteClick,\n },\n ];\n\n const firstGroup: Array<{\n text: string;\n icon?: React.ReactNode;\n action: (evt: any) => void;\n }> = [\n {\n text: 'Attributes',\n icon: <Icon awesome=\"at\" />,\n action: onShowAttributes,\n },\n {\n text: 'Edit',\n icon: <Icon awesome=\"pencil-alt\" />,\n action: onEditAttributes,\n },\n ];\n\n if (hasRestoreButton) {\n firstGroup.unshift({\n text: 'Restore',\n icon: <Icon awesome=\"undo\" />,\n action: onRestoreClick,\n });\n }\n const menuItems = [firstGroup];\n\n if (item.type === 'table') {\n const isDynamic = item.dynamic;\n if (isDynamic) {\n const {tabletState} = item;\n const {mount, unmount, freeze, unfreeze} =\n DYN_TABLES_ALLOWED_ACTIONS_BY_STATE[tabletState] || {};\n const items = [\n ...(mount\n ? [\n {\n text: 'Mount',\n icon: <Icon awesome={'link'} />,\n action: onMount,\n },\n ]\n : []),\n ...(unmount\n ? [\n {\n text: 'Unmount',\n icon: <Icon awesome={'unlink'} />,\n action: onUnmount,\n },\n ]\n : []),\n ...(freeze\n ? [\n {\n text: 'Freeze',\n icon: <Icon awesome={'snowflake'} />,\n action: onFreeze,\n },\n ]\n : []),\n ...(unfreeze\n ? [\n {\n text: 'Unfreeze',\n icon: <Icon awesome={'flame'} />,\n action: onUnfreeze,\n },\n ]\n : []),\n ];\n if (items.length) {\n menuItems.push(items);\n }\n }\n menuItems.push([\n {\n text: 'Sort',\n icon: <Icon awesome={'sort'} />,\n action: onSort,\n },\n ...(!isDynamic\n ? [\n {\n text: 'Erase',\n icon: <Icon awesome={'eraser'} />,\n action: onErase,\n },\n ]\n : []),\n {\n text: 'Merge',\n icon: <Icon awesome={'code-merge'} />,\n action: onMerge,\n },\n ]);\n\n menuItems.push([\n {\n text: 'Remote copy',\n icon: <Icon awesome={'clone'} />,\n action: onTransfer,\n },\n ]);\n }\n\n menuItems.push(secondGroup);\n\n const commonProps = {\n view: 'flat-secondary' as const,\n size: 'm' as const,\n };\n\n const {\n onlyDropdown,\n dropDownBtnClassName,\n dropDownBtnTheme = 'flat-secondary',\n dropDownBtnSize = 'm',\n } = props;\n\n return (\n <React.Fragment>\n {!onlyDropdown && (\n <Button\n {...commonProps}\n title=\"Delete node\"\n disabled={Boolean(transaction)}\n onClick={onDeleteClick}\n >\n <Icon awesome=\"trash-alt\" />\n </Button>\n )}\n\n {!onlyDropdown && (\n <ClipboardButton\n {...commonProps}\n text={item.path}\n title=\"Copy path\"\n onCopy={onCopyPathClick}\n />\n )}\n\n <DropdownMenu\n switcher={\n <Button\n size={dropDownBtnSize}\n className={dropDownBtnClassName}\n view={dropDownBtnTheme}\n >\n <Icon awesome=\"ellipsis-h\" />\n </Button>\n }\n items={menuItems}\n />\n </React.Fragment>\n );\n}\n\nexport default React.memo(PathActions);\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useDispatch","useSelector","metrics","ClipboardButton","Button","Icon","inTrash","getTransaction","ypath","OPEN_MOVE_OBJECT_POPUP","openEditingPopup","OPEN_COPY_OBJECT_POPUP","openAttributesModal","showNavigationAttributesEditor","restoreObject","updateView","openDeleteModal","showTableMergeModal","showTableSortModal","showTableEraseModal","getSelectedNodes","showDynTablesStateModalByPaths","DYN_TABLES_ALLOWED_ACTIONS_BY_STATE","DropdownMenu","showLinkToModal","showRemoteCopyModal","jsx","_jsx","jsxs","_jsxs","PathActions","props","item","objectPath","path","dispatch","transaction","restorePath","getValue","$attributes","hasRestoreButton","_React$useMemo","useMemo","handleUpdateView","apply","arguments","onMove","evt","stopPropagation","onCopy","onShowAttributes","countEvent","title","$value","onEditAttributes","onRestoreClick","onDeleteClick","onCopyPathClick","onSort","e","onErase","onMerge","onMount","onUnmount","onFreeze","onUnfreeze","onLink","target","onTransfer","selectedNodes","length","secondGroup","text","icon","awesome","face","action","firstGroup","unshift","menuItems","type","isDynamic","dynamic","tabletState","_ref","mount","unmount","freeze","unfreeze","items","concat","_toConsumableArray","push","commonProps","view","size","onlyDropdown","dropDownBtnClassName","_props$dropDownBtnThe","dropDownBtnTheme","_props$dropDownBtnSiz","dropDownBtnSize","Fragment","children","_objectSpread","disabled","Boolean","onClick","switcher","className","memo"],"sources":["PathActions.tsx"],"sourcesContent":["import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\n\nimport metrics from '../../../../common/utils/metrics';\n\nimport ClipboardButton from '../../../../components/ClipboardButton/ClipboardButton';\nimport Button from '../../../../components/Button/Button';\nimport Icon from '../../../../components/Icon/Icon';\n\nimport {inTrash} from '../../../../utils/navigation/restore-object';\nimport {getTransaction} from '../../../../store/selectors/navigation';\n\nimport ypath from '../../../../common/thor/ypath';\nimport {OPEN_MOVE_OBJECT_POPUP} from '../../../../constants/navigation/modals/move-object';\nimport {openEditingPopup} from '../../../../store/actions/navigation/modals/path-editing-popup';\nimport {OPEN_COPY_OBJECT_POPUP} from '../../../../constants/navigation/modals/copy-object';\nimport {openAttributesModal} from '../../../../store/actions/modals/attributes-modal';\nimport {showNavigationAttributesEditor} from '../../../../store/actions/navigation/modals/attributes-editor';\nimport {restoreObject} from '../../../../store/actions/navigation/modals/restore-object';\nimport {updateView} from '../../../../store/actions/navigation';\nimport {openDeleteModal} from '../../../../store/actions/navigation/modals/delete-object';\nimport {\n showTableMergeModal,\n showTableSortModal,\n} from '../../../../store/actions/navigation/modals/table-merge-sort-modal';\nimport {showTableEraseModal} from '../../../../store/actions/navigation/modals/table-erase-modal';\nimport {getSelectedNodes} from '../../../../store/selectors/navigation/content/map-node';\nimport {showDynTablesStateModalByPaths} from '../../../../store/actions/navigation/modals/dyn-tables-state-modal';\nimport {DYN_TABLES_ALLOWED_ACTIONS_BY_STATE} from '../../../../store/selectors/navigation/content/map-node-ts';\nimport {TabletStateType} from '../../../../store/reducers/navigation/modals/dyn-tables-state-modal';\nimport {ButtonProps, DropdownMenu} from '@gravity-ui/uikit';\nimport {showLinkToModal} from '../../../../store/actions/navigation/modals/link-to-modal';\nimport {showRemoteCopyModal} from '../../../../store/actions/navigation/modals/remote-copy-modal';\n\ninterface Props {\n item: {\n type: string;\n dynamic: boolean;\n path: string;\n $attributes: object;\n $value: unknown;\n tabletState: TabletStateType;\n };\n\n onlyDropdown?: boolean;\n dropDownBtnClassName?: string;\n dropDownBtnTheme?: ButtonProps['view'];\n dropDownBtnSize?: ButtonProps['size'];\n}\n\nfunction PathActions(props: Props) {\n const {item} = props;\n const objectPath = item.path;\n\n const dispatch = useDispatch();\n const transaction = useSelector(getTransaction);\n\n const restorePath = ypath.getValue(item.$attributes, '/_restore_path');\n const hasRestoreButton = inTrash(item.path);\n\n const {\n onMove,\n onCopy,\n onLink,\n onShowAttributes,\n onEditAttributes,\n onRestoreClick,\n onDeleteClick,\n onCopyPathClick,\n onSort,\n onErase,\n onMerge,\n onMount,\n onUnmount,\n onFreeze,\n onUnfreeze,\n onTransfer,\n } = React.useMemo(() => {\n const handleUpdateView = (...args: any) => dispatch(updateView(...args));\n\n return {\n onMove(evt: React.MouseEvent) {\n dispatch(openEditingPopup(objectPath, objectPath, OPEN_MOVE_OBJECT_POPUP));\n evt.stopPropagation();\n },\n onCopy(evt: React.MouseEvent) {\n dispatch(openEditingPopup(objectPath, objectPath, OPEN_COPY_OBJECT_POPUP));\n evt.stopPropagation();\n },\n onShowAttributes(evt: React.MouseEvent) {\n metrics.countEvent({\n 'navigation_map-node_attributes': 'clicked',\n });\n dispatch(\n openAttributesModal({\n title: item.$value,\n path: item.path,\n } as any),\n );\n evt.stopPropagation();\n },\n onEditAttributes(evt: React.MouseEvent) {\n metrics.countEvent({\n 'navigation_map-node_edit_attributes': 'clicked',\n });\n dispatch(showNavigationAttributesEditor([item.path]));\n evt.stopPropagation();\n },\n onRestoreClick(evt: React.MouseEvent) {\n dispatch(restoreObject(objectPath, restorePath, handleUpdateView));\n evt.stopPropagation();\n },\n\n onDeleteClick(evt: React.MouseEvent) {\n metrics.countEvent({'navigation_map-node_delete': 'clicked'});\n dispatch(openDeleteModal(item));\n evt.stopPropagation();\n },\n onCopyPathClick(evt: React.MouseEvent) {\n metrics.countEvent({\n 'navigation_map-node_copy-path': 'clicked',\n });\n evt.stopPropagation();\n },\n onSort(e: React.MouseEvent) {\n dispatch(showTableSortModal([item.path]));\n e.stopPropagation();\n },\n onErase(evt: React.MouseEvent) {\n dispatch(showTableEraseModal(item.path));\n evt.stopPropagation();\n },\n onMerge(evt: React.MouseEvent) {\n dispatch(showTableMergeModal([item.path]));\n evt.stopPropagation();\n },\n onMount(evt: React.MouseEvent) {\n dispatch(showDynTablesStateModalByPaths([item.path], 'mount'));\n evt.stopPropagation();\n },\n onUnmount(evt: React.MouseEvent) {\n dispatch(showDynTablesStateModalByPaths([item.path], 'unmount'));\n evt.stopPropagation();\n },\n onFreeze(evt: React.MouseEvent) {\n dispatch(showDynTablesStateModalByPaths([item.path], 'freeze'));\n evt.stopPropagation();\n },\n onUnfreeze(evt: React.MouseEvent) {\n dispatch(showDynTablesStateModalByPaths([item.path], 'unfreeze'));\n evt.stopPropagation();\n },\n onLink(evt: React.MouseEvent) {\n dispatch(showLinkToModal({target: item.path}));\n evt.stopPropagation();\n },\n onTransfer(evt: React.MouseEvent) {\n dispatch(showRemoteCopyModal([item.path]));\n evt.stopPropagation();\n },\n };\n }, [dispatch, objectPath, item, restorePath]);\n\n const selectedNodes = useSelector(getSelectedNodes);\n if (selectedNodes.length) {\n return null;\n }\n\n const secondGroup = [\n {\n text: 'Move',\n icon: <Icon awesome=\"file-export\" face=\"solid\" />,\n action: onMove,\n },\n {\n text: 'Copy',\n icon: <Icon awesome=\"copy\" face=\"solid\" />,\n action: onCopy,\n },\n {\n text: 'Link',\n icon: <Icon awesome=\"link\" face=\"solid\" />,\n action: onLink,\n },\n {\n text: 'Delete',\n icon: <Icon awesome=\"trash-alt\" />,\n action: onDeleteClick,\n },\n ];\n\n const firstGroup: Array<{\n text: string;\n icon?: React.ReactNode;\n action: (evt: any) => void;\n }> = [\n {\n text: 'Attributes',\n icon: <Icon awesome=\"at\" />,\n action: onShowAttributes,\n },\n {\n text: 'Edit',\n icon: <Icon awesome=\"pencil-alt\" />,\n action: onEditAttributes,\n },\n ];\n\n if (hasRestoreButton) {\n firstGroup.unshift({\n text: 'Restore',\n icon: <Icon awesome=\"undo\" />,\n action: onRestoreClick,\n });\n }\n const menuItems = [firstGroup];\n\n if (item.type === 'table') {\n const isDynamic = item.dynamic;\n if (isDynamic) {\n const {tabletState} = item;\n const {mount, unmount, freeze, unfreeze} =\n DYN_TABLES_ALLOWED_ACTIONS_BY_STATE[tabletState] || {};\n const items = [\n ...(mount\n ? [\n {\n text: 'Mount',\n icon: <Icon awesome={'link'} />,\n action: onMount,\n },\n ]\n : []),\n ...(unmount\n ? [\n {\n text: 'Unmount',\n icon: <Icon awesome={'unlink'} />,\n action: onUnmount,\n },\n ]\n : []),\n ...(freeze\n ? [\n {\n text: 'Freeze',\n icon: <Icon awesome={'snowflake'} />,\n action: onFreeze,\n },\n ]\n : []),\n ...(unfreeze\n ? [\n {\n text: 'Unfreeze',\n icon: <Icon awesome={'flame'} />,\n action: onUnfreeze,\n },\n ]\n : []),\n ];\n if (items.length) {\n menuItems.push(items);\n }\n }\n menuItems.push([\n {\n text: 'Sort',\n icon: <Icon awesome={'sort'} />,\n action: onSort,\n },\n ...(!isDynamic\n ? [\n {\n text: 'Erase',\n icon: <Icon awesome={'eraser'} />,\n action: onErase,\n },\n ]\n : []),\n {\n text: 'Merge',\n icon: <Icon awesome={'code-merge'} />,\n action: onMerge,\n },\n ]);\n }\n if (item.type === 'table' || item.type === 'file') {\n menuItems.push([\n {\n text: 'Remote copy',\n icon: <Icon awesome={'clone'} />,\n action: onTransfer,\n },\n ]);\n }\n\n menuItems.push(secondGroup);\n\n const commonProps = {\n view: 'flat-secondary' as const,\n size: 'm' as const,\n };\n\n const {\n onlyDropdown,\n dropDownBtnClassName,\n dropDownBtnTheme = 'flat-secondary',\n dropDownBtnSize = 'm',\n } = props;\n\n return (\n <React.Fragment>\n {!onlyDropdown && (\n <Button\n {...commonProps}\n title=\"Delete node\"\n disabled={Boolean(transaction)}\n onClick={onDeleteClick}\n >\n <Icon awesome=\"trash-alt\" />\n </Button>\n )}\n\n {!onlyDropdown && (\n <ClipboardButton\n {...commonProps}\n text={item.path}\n title=\"Copy path\"\n onCopy={onCopyPathClick}\n />\n )}\n\n <DropdownMenu\n switcher={\n <Button\n size={dropDownBtnSize}\n className={dropDownBtnClassName}\n view={dropDownBtnTheme}\n >\n <Icon awesome=\"ellipsis-h\" />\n </Button>\n }\n items={menuItems}\n />\n </React.Fragment>\n );\n}\n\nexport default React.memo(PathActions);\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import _createForOfIteratorHelper from "@babel/runtime/helpers/createForOfIteratorHelper";
2
2
  import _keys from "lodash/keys";
3
- import _objectSpread from "@babel/runtime/helpers/objectSpread2";
4
3
  import _each from "lodash/each";
4
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
5
5
  import _filter from "lodash/filter";
6
6
  import _sortBy from "lodash/sortBy";
7
7
  import _map from "lodash/map";
@@ -137,9 +137,11 @@ function prepareTable(operation, type, table, typedTable, userTransactionAlive,
137
137
  var cluster = ypath.getValue(table, '/@cluster');
138
138
  var originalPath = ypath.getValue(table, '/@original_path');
139
139
  var transaction = prepareTransaction(operation, type, table, userTransactionAlive);
140
- return {
141
- path: path,
142
- cluster: cluster,
140
+ return _objectSpread(_objectSpread({
141
+ path: path
142
+ }, cluster ? {
143
+ cluster: cluster
144
+ } : {}), {}, {
143
145
  originalPath: originalPath,
144
146
  transaction: transaction,
145
147
  livePreview: prepareLivePreview(operation, type, index),
@@ -149,7 +151,7 @@ function prepareTable(operation, type, table, typedTable, userTransactionAlive,
149
151
  foreign: ypath.getBoolean(table, '/@foreign'),
150
152
  filters: prepareTableFilters(table),
151
153
  typedFilters: prepareTableFilters(typedTable)
152
- };
154
+ });
153
155
  }
154
156
  function groupTables(tables) {
155
157
  var group = [];
@@ -163,12 +165,13 @@ function groupTables(tables) {
163
165
  var groupKey = cluster ? "".concat(cluster, ":").concat(folder) : folder;
164
166
  if (currentGroup !== groupKey) {
165
167
  currentGroup = groupKey;
166
- group.push({
168
+ group.push(_objectSpread({
167
169
  path: folder,
168
170
  transaction: table.transaction,
169
- isFolder: true,
171
+ isFolder: true
172
+ }, cluster ? {
170
173
  cluster: cluster
171
- });
174
+ } : {}));
172
175
  }
173
176
  group.push(Object.assign(table, {
174
177
  name: name
@@ -1 +1 @@
1
- {"version":3,"names":["ypath","UIFactory","genNavigationUrl","TASKS_PREFIX","prepareFile","file","path","getValue","originalPath","name","executable","getBoolean","prepareMeta","meta","prepared","_map","value","_sortBy","prepareStartedBy","operation","startedBy","command","fields","_filter","option","length","undefined","prepareRemote","type","cluster","network","prepareTransferTask","task","id","task_id","url","makeUrlForTransferTask","prepareTransaction","table","userTransactionAlive","tableTransaction","get","state","concat","prepareLivePreview","index","isRunning","_operation$getLivePre","getLivePreviewPath","virtualPath","supported","transaction","normalizeTableRanges","ranges","upperLimit","lowerLimit","range","prepareTableFilters","columns","filters","prepareTable","typedTable","livePreview","append","teleport","primary","foreign","typedFilters","groupTables","tables","group","currentGroup","_each","YPath","create","getKey","folder","toSubpath","stringify","groupKey","push","isFolder","Object","assign","err","console","error","prepareRemoteInput","input","item","_objectSpread","remote","remoteInputUrl","prepareInput","TYPE","typedTables","$typedAttributes","prepareStderr","prepareCoredumps","coreTable","prepareOutput","prepareIntermediate","prepareScriptCaption","indexOf","substring","prepareScript","_environment","script","environment","className","jobCount","files","caption","prepareTasks","tasks","_keys","taskName","prepareSpecification","specification","transferTask","mode","output","stderr","intermediate","coredumps","mapper","reducer","reduceCombiner","prepareVisibleItems","items","filterVisibleItems","itemsCount","result","count","_iterator","_createForOfIteratorHelper","_step","s","n","done","e","f"],"sources":["specification.ts"],"sourcesContent":["import _ from 'lodash';\n\nimport ypath from '../../../../../common/thor/ypath';\nimport UIFactory from '../../../../../UIFactory';\nimport {\n DetailedOperationSelector,\n OperationPreviewType,\n} from '../../../../../pages/operations/selectors';\nimport {genNavigationUrl} from '../../../../../utils/navigation/navigation';\n\nconst TASKS_PREFIX = 'tasks/';\n\nfunction prepareFile(file: unknown) {\n return {\n path: ypath.getValue(file),\n originalPath: ypath.getValue(file, '/@original_path'),\n name: ypath.getValue(file, '/@file_name'),\n executable: ypath.getBoolean(file, '/@executable'),\n };\n}\n\nfunction prepareMeta(meta: Record<string, unknown>) {\n const prepared = _.map(meta, (value, name) => ({name, value}));\n\n return _.sortBy(prepared, 'name');\n}\n\nfunction prepareStartedBy(operation: DetailedOperationSelector) {\n const startedBy = ypath.getValue(operation, '/@spec/started_by');\n const command = ypath.getValue(startedBy, '/command') || [];\n\n const fields = _.filter(prepareMeta(startedBy), (option) => option.name !== 'command');\n\n if (fields.length || command.length) {\n return {\n fields: fields,\n command: command,\n };\n }\n\n return undefined;\n}\n\nfunction prepareRemote(operation: DetailedOperationSelector) {\n if (operation.type === 'remote_copy') {\n return {\n cluster: ypath.getValue(operation, '/@spec/cluster_name'),\n network: ypath.getValue(operation, '/@spec/network_name'),\n };\n }\n return undefined;\n}\n\nfunction prepareTransferTask(operation: DetailedOperationSelector) {\n const task = ypath.getValue(operation, '/@spec/transfer_manager');\n\n if (task) {\n return {\n id: task.task_id,\n url: UIFactory.makeUrlForTransferTask(operation),\n };\n }\n return undefined;\n}\n\nfunction prepareTransaction(\n operation: DetailedOperationSelector,\n type: OperationPreviewType,\n table: unknown,\n userTransactionAlive: boolean,\n) {\n const tableTransaction = ypath.get(table, '/@transaction_id');\n\n if (tableTransaction) {\n return tableTransaction;\n } else if (operation.state === 'running') {\n return ypath.get(\n operation,\n `/@${type === 'stderr' ? 'debug_output' : type}_transaction_id`,\n );\n } else if (userTransactionAlive) {\n return ypath.get(operation, '/@user_transaction_id');\n }\n return undefined;\n}\n\nfunction prepareLivePreview(\n operation: DetailedOperationSelector,\n type: OperationPreviewType,\n index?: number | string,\n): {path?: string; supported: boolean; transaction?: string} {\n if (operation.isRunning()) {\n const {path, virtualPath} = operation.getLivePreviewPath(type, index);\n\n if (virtualPath) {\n return {path: virtualPath, supported: true};\n } else if (path) {\n const transaction = ypath.getValue(operation, '/@async_scheduler_transaction_id');\n return {path, transaction, supported: true};\n }\n }\n\n return {supported: false};\n}\n\ntype RangeType = {upper_limit?: number; lower_limit?: number};\n\nfunction normalizeTableRanges(table: unknown) {\n let ranges: Array<RangeType> = ypath.getValue(table, '/@ranges');\n\n if (typeof ranges === 'undefined') {\n // Fallback attempt to get ranges from attributes\n // Exact range is only supported in updated ypath\n const upperLimit = ypath.getValue(table, '/@upper_limit');\n const lowerLimit = ypath.getValue(table, '/@lower_limit');\n\n let range: RangeType | undefined;\n\n if (typeof upperLimit !== 'undefined') {\n range = range || {};\n range['upper_limit'] = upperLimit;\n }\n\n if (typeof lowerLimit !== 'undefined') {\n range = range || {};\n range['lower_limit'] = lowerLimit;\n }\n\n if (range) {\n ranges = [range];\n }\n\n if (range) {\n ranges = [range];\n }\n }\n\n return ranges;\n}\n\nfunction prepareTableFilters(table: unknown) {\n const ranges = normalizeTableRanges(table);\n const columns = ypath.getValue(table, '/@columns');\n let filters: {ranges?: typeof ranges; columns?: typeof columns} | undefined;\n\n if (ranges) {\n filters = filters || {};\n filters.ranges = ranges;\n }\n\n if (columns) {\n filters = filters || {};\n filters.columns = columns;\n }\n\n return filters;\n}\n\nfunction prepareTable(\n operation: DetailedOperationSelector,\n type: OperationPreviewType,\n table: unknown,\n typedTable: unknown,\n userTransactionAlive: boolean,\n index?: number | string,\n) {\n const path: string = ypath.getValue(table);\n const cluster: string | undefined = ypath.getValue(table, '/@cluster');\n const originalPath = ypath.getValue(table, '/@original_path');\n const transaction = prepareTransaction(operation, type, table, userTransactionAlive);\n\n return {\n path,\n cluster,\n originalPath,\n transaction,\n livePreview: prepareLivePreview(operation, type, index),\n append: ypath.getBoolean(table, '/@append'),\n teleport: ypath.getBoolean(table, '/@teleport'),\n primary: ypath.getBoolean(table, '/@primary'),\n foreign: ypath.getBoolean(table, '/@foreign'),\n filters: prepareTableFilters(table),\n typedFilters: prepareTableFilters(typedTable),\n };\n}\n\nfunction groupTables<T extends {path: string; transaction?: string; cluster?: string}>(\n tables: Array<T>,\n) {\n const group: Array<{\n path: string;\n name?: string;\n isFolder?: boolean;\n transaction?: string;\n cluster?: string;\n }> = [];\n let currentGroup: string;\n\n _.each(tables, (table) => {\n try {\n const {cluster} = table;\n const path = ypath.YPath.create(table.path, 'absolute');\n const name = path.getKey();\n const folder = path.toSubpath(-2).stringify();\n const groupKey: string = cluster ? `${cluster}:${folder}` : folder;\n\n if (currentGroup !== groupKey) {\n currentGroup = groupKey;\n group.push({\n path: folder,\n transaction: table.transaction,\n isFolder: true,\n cluster,\n });\n }\n\n group.push(Object.assign(table, {name: name}));\n } catch (err) {\n console.error('groupTables error', err);\n }\n });\n\n return group;\n}\n\nfunction prepareRemoteInput<T extends {path: string; transaction?: string}>(\n input: Array<T>,\n cluster: string,\n) {\n if (cluster) {\n return _.map(input, (item) => ({\n ...item,\n remote: true,\n url: genNavigationUrl({cluster, ...item}),\n }));\n }\n\n return input;\n}\n\nexport function remoteInputUrl(cluster: string, path: string, transaction?: string) {\n return '/' + cluster + '/navigation?path=' + path + (transaction ? '&t=' + transaction : '');\n}\n\nfunction prepareInput(operation: DetailedOperationSelector, userTransactionAlive: boolean) {\n const TYPE = 'input';\n let tables;\n\n switch (operation.type) {\n case 'remote_copy':\n case 'merge':\n case 'map':\n case 'reduce':\n case 'map_reduce':\n case 'sort':\n case 'join_reduce': {\n const typedTables = ypath.get(operation.$typedAttributes, '/spec/input_table_paths');\n\n tables = ypath.get(operation, '/@spec/input_table_paths');\n tables = _.map(tables, (table, index) =>\n prepareTable(operation, TYPE, table, typedTables[index], userTransactionAlive),\n );\n break;\n }\n case 'erase': {\n const typedTable = ypath.get(operation.$typedAttributes, '/spec/input_table_path');\n\n tables = ypath.get(operation, '/@spec/table_path');\n tables = tables && [\n prepareTable(operation, TYPE, tables, typedTable, userTransactionAlive),\n ];\n break;\n }\n }\n\n return groupTables(tables);\n}\n\nfunction prepareStderr(operation: DetailedOperationSelector, userTransactionAlive: boolean) {\n const TYPE = 'stderr';\n const typedTables = ypath.get(operation.$typedAttributes, '/spec/input_table_paths');\n\n let tables = ypath.get(operation, '/@spec/stderr_table_path');\n tables = tables && [prepareTable(operation, TYPE, tables, typedTables, userTransactionAlive)];\n\n return groupTables(tables);\n}\n\nfunction prepareCoredumps(operation: DetailedOperationSelector) {\n const coreTable = ypath.get(operation.$typedAttributes, '/spec/core_table_path');\n\n const tables = coreTable ? [prepareTable(operation, 'core', coreTable, [], false)] : [];\n return groupTables(tables);\n}\n\nfunction prepareOutput(operation: DetailedOperationSelector, userTransactionAlive: boolean) {\n const TYPE = 'output';\n let tables;\n\n switch (operation.type) {\n case 'map':\n case 'reduce':\n case 'map_reduce':\n case 'join_reduce': {\n const typedTables = ypath.get(operation.$typedAttributes, '/spec/input_table_paths');\n\n tables = ypath.get(operation, '/@spec/output_table_paths');\n tables = _.map(tables, (table, index) =>\n prepareTable(\n operation,\n TYPE,\n table,\n typedTables[index],\n userTransactionAlive,\n index,\n ),\n );\n break;\n }\n case 'merge': // These operations do not have output livePreview\n case 'sort':\n case 'remote_copy': {\n const typedTable = ypath.get(operation.$typedAttributes, '/spec/input_table_path');\n\n tables = ypath.get(operation, '/@spec/output_table_path');\n tables = tables && [\n prepareTable(operation, TYPE, tables, typedTable, userTransactionAlive),\n ];\n break;\n }\n }\n\n return groupTables(tables);\n}\n\nfunction prepareIntermediate(operation: DetailedOperationSelector) {\n let livePreview;\n\n switch (operation.type) {\n case 'map_reduce':\n case 'sort':\n livePreview = prepareLivePreview(operation, 'intermediate');\n break;\n }\n\n if (livePreview && livePreview.supported) {\n return livePreview;\n }\n\n return undefined;\n}\n\nfunction prepareScriptCaption(type: string) {\n return type.indexOf(TASKS_PREFIX) === 0 ? type.substring(TASKS_PREFIX.length) + '_task' : type;\n}\n\nfunction prepareScript(operation: DetailedOperationSelector, type: string) {\n try {\n const script = ypath.getValue(operation, '/@spec/' + type);\n\n let environment = ypath.getValue(script, '/environment');\n environment = prepareMeta(environment);\n\n const command = ypath.getValue(script, '/command');\n const className = ypath.getValue(script, '/class_name');\n const jobCount = ypath.getValue(script, '/job_count');\n const files = _.map(ypath.getValue(script, '/file_paths'), prepareFile);\n\n if (command || className || jobCount || files?.length || environment?.length) {\n return {\n type: type,\n caption: prepareScriptCaption(type),\n command,\n className,\n jobCount,\n files,\n environment,\n };\n }\n } catch (err) {\n console.error('prepareScript error:', err);\n }\n\n return undefined;\n}\n\nfunction prepareTasks(operation: DetailedOperationSelector) {\n const tasks = ypath.getValue(operation, '/@spec/tasks');\n\n if (tasks) {\n return _.map(_.keys(tasks), (taskName) =>\n prepareScript(operation, TASKS_PREFIX + taskName),\n );\n }\n\n return undefined;\n}\n\nexport function prepareSpecification(\n operation: DetailedOperationSelector,\n userTransactionAlive: boolean,\n) {\n const remote = prepareRemote(operation);\n\n const specification = {\n startedBy: prepareStartedBy(operation),\n\n // Remote copy\n remote,\n transferTask: prepareTransferTask(operation),\n // Merge\n mode: ypath.getValue(operation, '/@spec/mode'),\n\n // Input/Intermediate/Output/Stderr\n input: prepareRemoteInput(prepareInput(operation, userTransactionAlive), remote?.cluster),\n output: prepareOutput(operation, userTransactionAlive),\n stderr: prepareStderr(operation, userTransactionAlive),\n intermediate: prepareIntermediate(operation),\n coredumps: prepareCoredumps(operation),\n\n // Scripts\n mapper: prepareScript(operation, 'mapper'),\n reducer: prepareScript(operation, 'reducer'),\n reduceCombiner: prepareScript(operation, 'reduce_combiner'),\n\n tasks: prepareTasks(operation),\n };\n\n return specification;\n}\n\nexport function prepareVisibleItems<T extends {isFolder?: boolean}>(items: Array<T>) {\n return _.filter(items, (item) => !item.isFolder);\n}\n\nexport function filterVisibleItems<T extends {isFolder?: boolean}>(\n items: Array<T>,\n itemsCount: number,\n) {\n const result = [];\n let count = 0;\n\n for (const item of items) {\n if (!item.isFolder) {\n count++;\n }\n if (count === itemsCount + 1) {\n break;\n }\n\n result.push(item);\n }\n\n return result;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["ypath","UIFactory","genNavigationUrl","TASKS_PREFIX","prepareFile","file","path","getValue","originalPath","name","executable","getBoolean","prepareMeta","meta","prepared","_map","value","_sortBy","prepareStartedBy","operation","startedBy","command","fields","_filter","option","length","undefined","prepareRemote","type","cluster","network","prepareTransferTask","task","id","task_id","url","makeUrlForTransferTask","prepareTransaction","table","userTransactionAlive","tableTransaction","get","state","concat","prepareLivePreview","index","isRunning","_operation$getLivePre","getLivePreviewPath","virtualPath","supported","transaction","normalizeTableRanges","ranges","upperLimit","lowerLimit","range","prepareTableFilters","columns","filters","prepareTable","typedTable","_objectSpread","livePreview","append","teleport","primary","foreign","typedFilters","groupTables","tables","group","currentGroup","_each","YPath","create","getKey","folder","toSubpath","stringify","groupKey","push","isFolder","Object","assign","err","console","error","prepareRemoteInput","input","item","remote","remoteInputUrl","prepareInput","TYPE","typedTables","$typedAttributes","prepareStderr","prepareCoredumps","coreTable","prepareOutput","prepareIntermediate","prepareScriptCaption","indexOf","substring","prepareScript","_environment","script","environment","className","jobCount","files","caption","prepareTasks","tasks","_keys","taskName","prepareSpecification","specification","transferTask","mode","output","stderr","intermediate","coredumps","mapper","reducer","reduceCombiner","prepareVisibleItems","items","filterVisibleItems","itemsCount","result","count","_iterator","_createForOfIteratorHelper","_step","s","n","done","e","f"],"sources":["specification.ts"],"sourcesContent":["import _ from 'lodash';\n\nimport ypath from '../../../../../common/thor/ypath';\nimport UIFactory from '../../../../../UIFactory';\nimport {\n DetailedOperationSelector,\n OperationPreviewType,\n} from '../../../../../pages/operations/selectors';\nimport {genNavigationUrl} from '../../../../../utils/navigation/navigation';\n\nconst TASKS_PREFIX = 'tasks/';\n\nfunction prepareFile(file: unknown) {\n return {\n path: ypath.getValue(file),\n originalPath: ypath.getValue(file, '/@original_path'),\n name: ypath.getValue(file, '/@file_name'),\n executable: ypath.getBoolean(file, '/@executable'),\n };\n}\n\nfunction prepareMeta(meta: Record<string, unknown>) {\n const prepared = _.map(meta, (value, name) => ({name, value}));\n\n return _.sortBy(prepared, 'name');\n}\n\nfunction prepareStartedBy(operation: DetailedOperationSelector) {\n const startedBy = ypath.getValue(operation, '/@spec/started_by');\n const command = ypath.getValue(startedBy, '/command') || [];\n\n const fields = _.filter(prepareMeta(startedBy), (option) => option.name !== 'command');\n\n if (fields.length || command.length) {\n return {\n fields: fields,\n command: command,\n };\n }\n\n return undefined;\n}\n\nfunction prepareRemote(operation: DetailedOperationSelector) {\n if (operation.type === 'remote_copy') {\n return {\n cluster: ypath.getValue(operation, '/@spec/cluster_name'),\n network: ypath.getValue(operation, '/@spec/network_name'),\n };\n }\n return undefined;\n}\n\nfunction prepareTransferTask(operation: DetailedOperationSelector) {\n const task = ypath.getValue(operation, '/@spec/transfer_manager');\n\n if (task) {\n return {\n id: task.task_id,\n url: UIFactory.makeUrlForTransferTask(operation),\n };\n }\n return undefined;\n}\n\nfunction prepareTransaction(\n operation: DetailedOperationSelector,\n type: OperationPreviewType,\n table: unknown,\n userTransactionAlive: boolean,\n) {\n const tableTransaction = ypath.get(table, '/@transaction_id');\n\n if (tableTransaction) {\n return tableTransaction;\n } else if (operation.state === 'running') {\n return ypath.get(\n operation,\n `/@${type === 'stderr' ? 'debug_output' : type}_transaction_id`,\n );\n } else if (userTransactionAlive) {\n return ypath.get(operation, '/@user_transaction_id');\n }\n return undefined;\n}\n\nfunction prepareLivePreview(\n operation: DetailedOperationSelector,\n type: OperationPreviewType,\n index?: number | string,\n): {path?: string; supported: boolean; transaction?: string} {\n if (operation.isRunning()) {\n const {path, virtualPath} = operation.getLivePreviewPath(type, index);\n\n if (virtualPath) {\n return {path: virtualPath, supported: true};\n } else if (path) {\n const transaction = ypath.getValue(operation, '/@async_scheduler_transaction_id');\n return {path, transaction, supported: true};\n }\n }\n\n return {supported: false};\n}\n\ntype RangeType = {upper_limit?: number; lower_limit?: number};\n\nfunction normalizeTableRanges(table: unknown) {\n let ranges: Array<RangeType> = ypath.getValue(table, '/@ranges');\n\n if (typeof ranges === 'undefined') {\n // Fallback attempt to get ranges from attributes\n // Exact range is only supported in updated ypath\n const upperLimit = ypath.getValue(table, '/@upper_limit');\n const lowerLimit = ypath.getValue(table, '/@lower_limit');\n\n let range: RangeType | undefined;\n\n if (typeof upperLimit !== 'undefined') {\n range = range || {};\n range['upper_limit'] = upperLimit;\n }\n\n if (typeof lowerLimit !== 'undefined') {\n range = range || {};\n range['lower_limit'] = lowerLimit;\n }\n\n if (range) {\n ranges = [range];\n }\n\n if (range) {\n ranges = [range];\n }\n }\n\n return ranges;\n}\n\nfunction prepareTableFilters(table: unknown) {\n const ranges = normalizeTableRanges(table);\n const columns = ypath.getValue(table, '/@columns');\n let filters: {ranges?: typeof ranges; columns?: typeof columns} | undefined;\n\n if (ranges) {\n filters = filters || {};\n filters.ranges = ranges;\n }\n\n if (columns) {\n filters = filters || {};\n filters.columns = columns;\n }\n\n return filters;\n}\n\nfunction prepareTable(\n operation: DetailedOperationSelector,\n type: OperationPreviewType,\n table: unknown,\n typedTable: unknown,\n userTransactionAlive: boolean,\n index?: number | string,\n) {\n const path: string = ypath.getValue(table);\n const cluster: string | undefined = ypath.getValue(table, '/@cluster');\n const originalPath = ypath.getValue(table, '/@original_path');\n const transaction = prepareTransaction(operation, type, table, userTransactionAlive);\n\n return {\n path,\n ...(cluster ? {cluster} : {}),\n originalPath,\n transaction,\n livePreview: prepareLivePreview(operation, type, index),\n append: ypath.getBoolean(table, '/@append'),\n teleport: ypath.getBoolean(table, '/@teleport'),\n primary: ypath.getBoolean(table, '/@primary'),\n foreign: ypath.getBoolean(table, '/@foreign'),\n filters: prepareTableFilters(table),\n typedFilters: prepareTableFilters(typedTable),\n };\n}\n\nfunction groupTables<T extends {path: string; transaction?: string; cluster?: string}>(\n tables: Array<T>,\n) {\n const group: Array<{\n path: string;\n name?: string;\n isFolder?: boolean;\n transaction?: string;\n cluster?: string;\n }> = [];\n let currentGroup: string;\n\n _.each(tables, (table) => {\n try {\n const {cluster} = table;\n const path = ypath.YPath.create(table.path, 'absolute');\n const name = path.getKey();\n const folder = path.toSubpath(-2).stringify();\n const groupKey: string = cluster ? `${cluster}:${folder}` : folder;\n\n if (currentGroup !== groupKey) {\n currentGroup = groupKey;\n group.push({\n path: folder,\n transaction: table.transaction,\n isFolder: true,\n ...(cluster ? {cluster} : {}),\n });\n }\n\n group.push(Object.assign(table, {name: name}));\n } catch (err) {\n console.error('groupTables error', err);\n }\n });\n\n return group;\n}\n\nfunction prepareRemoteInput<T extends {path: string; transaction?: string}>(\n input: Array<T>,\n cluster: string,\n) {\n if (cluster) {\n return _.map(input, (item) => ({\n ...item,\n remote: true,\n url: genNavigationUrl({cluster, ...item}),\n }));\n }\n\n return input;\n}\n\nexport function remoteInputUrl(cluster: string, path: string, transaction?: string) {\n return '/' + cluster + '/navigation?path=' + path + (transaction ? '&t=' + transaction : '');\n}\n\nfunction prepareInput(operation: DetailedOperationSelector, userTransactionAlive: boolean) {\n const TYPE = 'input';\n let tables;\n\n switch (operation.type) {\n case 'remote_copy':\n case 'merge':\n case 'map':\n case 'reduce':\n case 'map_reduce':\n case 'sort':\n case 'join_reduce': {\n const typedTables = ypath.get(operation.$typedAttributes, '/spec/input_table_paths');\n\n tables = ypath.get(operation, '/@spec/input_table_paths');\n tables = _.map(tables, (table, index) =>\n prepareTable(operation, TYPE, table, typedTables[index], userTransactionAlive),\n );\n break;\n }\n case 'erase': {\n const typedTable = ypath.get(operation.$typedAttributes, '/spec/input_table_path');\n\n tables = ypath.get(operation, '/@spec/table_path');\n tables = tables && [\n prepareTable(operation, TYPE, tables, typedTable, userTransactionAlive),\n ];\n break;\n }\n }\n\n return groupTables(tables);\n}\n\nfunction prepareStderr(operation: DetailedOperationSelector, userTransactionAlive: boolean) {\n const TYPE = 'stderr';\n const typedTables = ypath.get(operation.$typedAttributes, '/spec/input_table_paths');\n\n let tables = ypath.get(operation, '/@spec/stderr_table_path');\n tables = tables && [prepareTable(operation, TYPE, tables, typedTables, userTransactionAlive)];\n\n return groupTables(tables);\n}\n\nfunction prepareCoredumps(operation: DetailedOperationSelector) {\n const coreTable = ypath.get(operation.$typedAttributes, '/spec/core_table_path');\n\n const tables = coreTable ? [prepareTable(operation, 'core', coreTable, [], false)] : [];\n return groupTables(tables);\n}\n\nfunction prepareOutput(operation: DetailedOperationSelector, userTransactionAlive: boolean) {\n const TYPE = 'output';\n let tables;\n\n switch (operation.type) {\n case 'map':\n case 'reduce':\n case 'map_reduce':\n case 'join_reduce': {\n const typedTables = ypath.get(operation.$typedAttributes, '/spec/input_table_paths');\n\n tables = ypath.get(operation, '/@spec/output_table_paths');\n tables = _.map(tables, (table, index) =>\n prepareTable(\n operation,\n TYPE,\n table,\n typedTables[index],\n userTransactionAlive,\n index,\n ),\n );\n break;\n }\n case 'merge': // These operations do not have output livePreview\n case 'sort':\n case 'remote_copy': {\n const typedTable = ypath.get(operation.$typedAttributes, '/spec/input_table_path');\n\n tables = ypath.get(operation, '/@spec/output_table_path');\n tables = tables && [\n prepareTable(operation, TYPE, tables, typedTable, userTransactionAlive),\n ];\n break;\n }\n }\n\n return groupTables(tables);\n}\n\nfunction prepareIntermediate(operation: DetailedOperationSelector) {\n let livePreview;\n\n switch (operation.type) {\n case 'map_reduce':\n case 'sort':\n livePreview = prepareLivePreview(operation, 'intermediate');\n break;\n }\n\n if (livePreview && livePreview.supported) {\n return livePreview;\n }\n\n return undefined;\n}\n\nfunction prepareScriptCaption(type: string) {\n return type.indexOf(TASKS_PREFIX) === 0 ? type.substring(TASKS_PREFIX.length) + '_task' : type;\n}\n\nfunction prepareScript(operation: DetailedOperationSelector, type: string) {\n try {\n const script = ypath.getValue(operation, '/@spec/' + type);\n\n let environment = ypath.getValue(script, '/environment');\n environment = prepareMeta(environment);\n\n const command = ypath.getValue(script, '/command');\n const className = ypath.getValue(script, '/class_name');\n const jobCount = ypath.getValue(script, '/job_count');\n const files = _.map(ypath.getValue(script, '/file_paths'), prepareFile);\n\n if (command || className || jobCount || files?.length || environment?.length) {\n return {\n type: type,\n caption: prepareScriptCaption(type),\n command,\n className,\n jobCount,\n files,\n environment,\n };\n }\n } catch (err) {\n console.error('prepareScript error:', err);\n }\n\n return undefined;\n}\n\nfunction prepareTasks(operation: DetailedOperationSelector) {\n const tasks = ypath.getValue(operation, '/@spec/tasks');\n\n if (tasks) {\n return _.map(_.keys(tasks), (taskName) =>\n prepareScript(operation, TASKS_PREFIX + taskName),\n );\n }\n\n return undefined;\n}\n\nexport function prepareSpecification(\n operation: DetailedOperationSelector,\n userTransactionAlive: boolean,\n) {\n const remote = prepareRemote(operation);\n\n const specification = {\n startedBy: prepareStartedBy(operation),\n\n // Remote copy\n remote,\n transferTask: prepareTransferTask(operation),\n // Merge\n mode: ypath.getValue(operation, '/@spec/mode'),\n\n // Input/Intermediate/Output/Stderr\n input: prepareRemoteInput(prepareInput(operation, userTransactionAlive), remote?.cluster),\n output: prepareOutput(operation, userTransactionAlive),\n stderr: prepareStderr(operation, userTransactionAlive),\n intermediate: prepareIntermediate(operation),\n coredumps: prepareCoredumps(operation),\n\n // Scripts\n mapper: prepareScript(operation, 'mapper'),\n reducer: prepareScript(operation, 'reducer'),\n reduceCombiner: prepareScript(operation, 'reduce_combiner'),\n\n tasks: prepareTasks(operation),\n };\n\n return specification;\n}\n\nexport function prepareVisibleItems<T extends {isFolder?: boolean}>(items: Array<T>) {\n return _.filter(items, (item) => !item.isFolder);\n}\n\nexport function filterVisibleItems<T extends {isFolder?: boolean}>(\n items: Array<T>,\n itemsCount: number,\n) {\n const result = [];\n let count = 0;\n\n for (const item of items) {\n if (!item.isFolder) {\n count++;\n }\n if (count === itemsCount + 1) {\n break;\n }\n\n result.push(item);\n }\n\n return result;\n}\n"],"mappings":"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"}
@@ -39,7 +39,7 @@
39
39
  "css/8763.9d09aa2f.chunk.css": "css/8763.9d09aa2f.chunk.css",
40
40
  "css/8763.9d09aa2f.chunk.css.map": "css/8763.9d09aa2f.chunk.css.map",
41
41
  "css/acl.491512d3.chunk.css.map": "css/acl.491512d3.chunk.css.map",
42
- "css/main.e0a07e74.css.map": "css/main.e0a07e74.css.map",
42
+ "css/main.d5672f9d.css.map": "css/main.d5672f9d.css.map",
43
43
  "css/manage-tokens.9bcd39ed.chunk.css.map": "css/manage-tokens.9bcd39ed.chunk.css.map",
44
44
  "editor.afbd84bf.worker.js": "editor.afbd84bf.worker.js",
45
45
  "editor.afbd84bf.worker.js.LICENSE.txt": "editor.afbd84bf.worker.js.LICENSE.txt",
@@ -50,10 +50,10 @@
50
50
  "js": [
51
51
  "js/runtime.ed16dd0c.js",
52
52
  "js/vendors.4e703a6d.js",
53
- "js/main.b0f37b6a.js"
53
+ "js/main.95c50349.js"
54
54
  ],
55
55
  "css": [
56
- "css/main.e0a07e74.css"
56
+ "css/main.d5672f9d.css"
57
57
  ]
58
58
  }
59
59
  }
@@ -326,8 +326,8 @@
326
326
  "js/9835.6980887f.chunk.js.LICENSE.txt": "js/9835.6980887f.chunk.js.LICENSE.txt",
327
327
  "js/9835.6980887f.chunk.js.map": "js/9835.6980887f.chunk.js.map",
328
328
  "js/acl.e0c7ae17.chunk.js.map": "js/acl.e0c7ae17.chunk.js.map",
329
- "js/main.b0f37b6a.js.LICENSE.txt": "js/main.b0f37b6a.js.LICENSE.txt",
330
- "js/main.b0f37b6a.js.map": "js/main.b0f37b6a.js.map",
329
+ "js/main.95c50349.js.LICENSE.txt": "js/main.95c50349.js.LICENSE.txt",
330
+ "js/main.95c50349.js.map": "js/main.95c50349.js.map",
331
331
  "js/manage-tokens.0dbd1be2.chunk.js.map": "js/manage-tokens.0dbd1be2.chunk.js.map",
332
332
  "js/runtime.ed16dd0c.js.map": "js/runtime.ed16dd0c.js.map",
333
333
  "js/vendors.4e703a6d.js.LICENSE.txt": "js/vendors.4e703a6d.js.LICENSE.txt",
@@ -339,8 +339,8 @@
339
339
  "json.5239aa2e.worker.js": "json.5239aa2e.worker.js",
340
340
  "json.5239aa2e.worker.js.LICENSE.txt": "json.5239aa2e.worker.js.LICENSE.txt",
341
341
  "json.5239aa2e.worker.js.map": "json.5239aa2e.worker.js.map",
342
- "main.css": "css/main.e0a07e74.css",
343
- "main.js": "js/main.b0f37b6a.js",
342
+ "main.css": "css/main.d5672f9d.css",
343
+ "main.js": "js/main.95c50349.js",
344
344
  "manage-tokens.css": "css/manage-tokens.9bcd39ed.chunk.css",
345
345
  "manage-tokens.js": "js/manage-tokens.0dbd1be2.chunk.js",
346
346
  "runtime.js": "js/runtime.ed16dd0c.js",