@ytsaurus/ui 1.48.0 → 1.48.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -32,18 +32,18 @@ function OperationIOLink(props) {
32
32
  path: originalPath
33
33
  });
34
34
  var originalUrl = "/".concat(pathCluster, "/").concat(_index.Page.NAVIGATION, "?").concat(originalQuery);
35
- return isFolder ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Link.default, {
35
+ return isFolder ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Link.default, {
36
36
  theme: theme,
37
37
  className: className,
38
38
  url: url,
39
39
  title: path,
40
- children: path
41
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Link.default, {
40
+ children: [cluster ? "".concat(cluster, ":") : undefined, path]
41
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Link.default, {
42
42
  theme: theme,
43
43
  className: className,
44
44
  url: originalPath ? originalUrl : url,
45
45
  title: originalPath || path || name,
46
- children: originalPath || path || name
46
+ children: [cluster ? "".concat(cluster, ":") : undefined, originalPath || path || name]
47
47
  });
48
48
  }
49
49
  // #sourceMappingURL=OperationIOLink.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_Link","_index","_utils","_jsxRuntime","e","__esModule","default","YT","window","OperationIOLink","props","name","cluster","path","originalPath","transaction","remote","itemUrl","url","isFolder","className","theme","pathCluster","query","paramsToQuery","t","concat","Page","NAVIGATION","originalQuery","originalUrl","_jsx","Link","title","children"],"sources":["OperationIOLink.tsx"],"sourcesContent":["import React from 'react';\n\nimport Link, {LinkProps} from '../../../components/Link/Link';\n\nimport {Page} from '../../../constants/index';\n\nimport {paramsToQuery} from '../../../utils';\n\nconst YT = (window as any).YT;\n\ninterface Props {\n name: string;\n cluster?: string;\n path: string;\n originalPath: string;\n transaction: string;\n remote: boolean;\n url: string;\n isFolder: boolean;\n className?: string;\n theme: LinkProps['theme'];\n}\n\nexport default function OperationIOLink(props: Props) {\n const {\n name,\n cluster,\n path,\n originalPath,\n transaction,\n remote,\n url: itemUrl,\n isFolder,\n className,\n theme,\n } = props;\n\n const pathCluster = cluster ?? YT.cluster;\n\n const query = paramsToQuery({path, t: transaction});\n const url = remote ? itemUrl : `/${pathCluster}/${Page.NAVIGATION}?${query}`;\n const originalQuery = paramsToQuery({path: originalPath});\n const originalUrl = `/${pathCluster}/${Page.NAVIGATION}?${originalQuery}`;\n\n return isFolder ? (\n <Link theme={theme} className={className} url={url} title={path}>\n {path}\n </Link>\n ) : (\n <Link\n theme={theme}\n className={className}\n url={originalPath ? originalUrl : url}\n title={originalPath || path || name}\n >\n {originalPath || path || name}\n </Link>\n );\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AAEA,IAAAG,MAAA,GAAAH,OAAA;AAA6C,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE7C,IAAMG,EAAE,GAAIC,MAAM,CAASD,EAAE;AAed,SAASE,eAAeA,CAACC,KAAY,EAAE;EAClD,IACIC,IAAI,GAUJD,KAAK,CAVLC,IAAI;IACJC,OAAO,GASPF,KAAK,CATLE,OAAO;IACPC,IAAI,GAQJH,KAAK,CARLG,IAAI;IACJC,YAAY,GAOZJ,KAAK,CAPLI,YAAY;IACZC,WAAW,GAMXL,KAAK,CANLK,WAAW;IACXC,MAAM,GAKNN,KAAK,CALLM,MAAM;IACDC,OAAO,GAIZP,KAAK,CAJLQ,GAAG;IACHC,QAAQ,GAGRT,KAAK,CAHLS,QAAQ;IACRC,SAAS,GAETV,KAAK,CAFLU,SAAS;IACTC,KAAK,GACLX,KAAK,CADLW,KAAK;EAGT,IAAMC,WAAW,GAAGV,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAIL,EAAE,CAACK,OAAO;EAEzC,IAAMW,KAAK,GAAG,IAAAC,oBAAa,EAAC;IAACX,IAAI,EAAJA,IAAI;IAAEY,CAAC,EAAEV;EAAW,CAAC,CAAC;EACnD,IAAMG,GAAG,GAAGF,MAAM,GAAGC,OAAO,OAAAS,MAAA,CAAOJ,WAAW,OAAAI,MAAA,CAAIC,WAAI,CAACC,UAAU,OAAAF,MAAA,CAAIH,KAAK,CAAE;EAC5E,IAAMM,aAAa,GAAG,IAAAL,oBAAa,EAAC;IAACX,IAAI,EAAEC;EAAY,CAAC,CAAC;EACzD,IAAMgB,WAAW,OAAAJ,MAAA,CAAOJ,WAAW,OAAAI,MAAA,CAAIC,WAAI,CAACC,UAAU,OAAAF,MAAA,CAAIG,aAAa,CAAE;EAEzE,OAAOV,QAAQ,gBACX,IAAAY,eAAA,EAACC,aAAI;IAACX,KAAK,EAAEA,KAAM;IAACD,SAAS,EAAEA,SAAU;IAACF,GAAG,EAAEA,GAAI;IAACe,KAAK,EAAEpB,IAAK;IAAAqB,QAAA,EAC3DrB;EAAI,CACH,CAAC,gBAEP,IAAAkB,eAAA,EAACC,aAAI;IACDX,KAAK,EAAEA,KAAM;IACbD,SAAS,EAAEA,SAAU;IACrBF,GAAG,EAAEJ,YAAY,GAAGgB,WAAW,GAAGZ,GAAI;IACtCe,KAAK,EAAEnB,YAAY,IAAID,IAAI,IAAIF,IAAK;IAAAuB,QAAA,EAEnCpB,YAAY,IAAID,IAAI,IAAIF;EAAI,CAC3B,CACT;AACL","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_Link","_index","_utils","_jsxRuntime","e","__esModule","default","YT","window","OperationIOLink","props","name","cluster","path","originalPath","transaction","remote","itemUrl","url","isFolder","className","theme","pathCluster","query","paramsToQuery","t","concat","Page","NAVIGATION","originalQuery","originalUrl","_jsxs","Link","title","children","undefined"],"sources":["OperationIOLink.tsx"],"sourcesContent":["import React from 'react';\n\nimport Link, {LinkProps} from '../../../components/Link/Link';\n\nimport {Page} from '../../../constants/index';\n\nimport {paramsToQuery} from '../../../utils';\n\nconst YT = (window as any).YT;\n\ninterface Props {\n name: string;\n cluster?: string;\n path: string;\n originalPath: string;\n transaction: string;\n remote: boolean;\n url: string;\n isFolder: boolean;\n className?: string;\n theme: LinkProps['theme'];\n}\n\nexport default function OperationIOLink(props: Props) {\n const {\n name,\n cluster,\n path,\n originalPath,\n transaction,\n remote,\n url: itemUrl,\n isFolder,\n className,\n theme,\n } = props;\n\n const pathCluster = cluster ?? YT.cluster;\n\n const query = paramsToQuery({path, t: transaction});\n const url = remote ? itemUrl : `/${pathCluster}/${Page.NAVIGATION}?${query}`;\n const originalQuery = paramsToQuery({path: originalPath});\n const originalUrl = `/${pathCluster}/${Page.NAVIGATION}?${originalQuery}`;\n\n return isFolder ? (\n <Link theme={theme} className={className} url={url} title={path}>\n {cluster ? `${cluster}:` : undefined}\n {path}\n </Link>\n ) : (\n <Link\n theme={theme}\n className={className}\n url={originalPath ? originalUrl : url}\n title={originalPath || path || name}\n >\n {cluster ? `${cluster}:` : undefined}\n {originalPath || path || name}\n </Link>\n );\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AAEA,IAAAG,MAAA,GAAAH,OAAA;AAA6C,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE7C,IAAMG,EAAE,GAAIC,MAAM,CAASD,EAAE;AAed,SAASE,eAAeA,CAACC,KAAY,EAAE;EAClD,IACIC,IAAI,GAUJD,KAAK,CAVLC,IAAI;IACJC,OAAO,GASPF,KAAK,CATLE,OAAO;IACPC,IAAI,GAQJH,KAAK,CARLG,IAAI;IACJC,YAAY,GAOZJ,KAAK,CAPLI,YAAY;IACZC,WAAW,GAMXL,KAAK,CANLK,WAAW;IACXC,MAAM,GAKNN,KAAK,CALLM,MAAM;IACDC,OAAO,GAIZP,KAAK,CAJLQ,GAAG;IACHC,QAAQ,GAGRT,KAAK,CAHLS,QAAQ;IACRC,SAAS,GAETV,KAAK,CAFLU,SAAS;IACTC,KAAK,GACLX,KAAK,CADLW,KAAK;EAGT,IAAMC,WAAW,GAAGV,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAIL,EAAE,CAACK,OAAO;EAEzC,IAAMW,KAAK,GAAG,IAAAC,oBAAa,EAAC;IAACX,IAAI,EAAJA,IAAI;IAAEY,CAAC,EAAEV;EAAW,CAAC,CAAC;EACnD,IAAMG,GAAG,GAAGF,MAAM,GAAGC,OAAO,OAAAS,MAAA,CAAOJ,WAAW,OAAAI,MAAA,CAAIC,WAAI,CAACC,UAAU,OAAAF,MAAA,CAAIH,KAAK,CAAE;EAC5E,IAAMM,aAAa,GAAG,IAAAL,oBAAa,EAAC;IAACX,IAAI,EAAEC;EAAY,CAAC,CAAC;EACzD,IAAMgB,WAAW,OAAAJ,MAAA,CAAOJ,WAAW,OAAAI,MAAA,CAAIC,WAAI,CAACC,UAAU,OAAAF,MAAA,CAAIG,aAAa,CAAE;EAEzE,OAAOV,QAAQ,gBACX,IAAAY,gBAAA,EAACC,aAAI;IAACX,KAAK,EAAEA,KAAM;IAACD,SAAS,EAAEA,SAAU;IAACF,GAAG,EAAEA,GAAI;IAACe,KAAK,EAAEpB,IAAK;IAAAqB,QAAA,GAC3DtB,OAAO,MAAAc,MAAA,CAAMd,OAAO,SAAMuB,SAAS,EACnCtB,IAAI;EAAA,CACH,CAAC,gBAEP,IAAAkB,gBAAA,EAACC,aAAI;IACDX,KAAK,EAAEA,KAAM;IACbD,SAAS,EAAEA,SAAU;IACrBF,GAAG,EAAEJ,YAAY,GAAGgB,WAAW,GAAGZ,GAAI;IACtCe,KAAK,EAAEnB,YAAY,IAAID,IAAI,IAAIF,IAAK;IAAAuB,QAAA,GAEnCtB,OAAO,MAAAc,MAAA,CAAMd,OAAO,SAAMuB,SAAS,EACnCrB,YAAY,IAAID,IAAI,IAAIF,IAAI;EAAA,CAC3B,CACT;AACL","ignoreList":[]}
@@ -22,18 +22,21 @@ export declare function prepareSpecification(operation: DetailedOperationSelecto
22
22
  name?: string;
23
23
  isFolder?: boolean;
24
24
  transaction?: string;
25
+ cluster?: string;
25
26
  }[];
26
27
  output: {
27
28
  path: string;
28
29
  name?: string;
29
30
  isFolder?: boolean;
30
31
  transaction?: string;
32
+ cluster?: string;
31
33
  }[];
32
34
  stderr: {
33
35
  path: string;
34
36
  name?: string;
35
37
  isFolder?: boolean;
36
38
  transaction?: string;
39
+ cluster?: string;
37
40
  }[];
38
41
  intermediate: {
39
42
  path?: string;
@@ -45,6 +48,7 @@ export declare function prepareSpecification(operation: DetailedOperationSelecto
45
48
  name?: string;
46
49
  isFolder?: boolean;
47
50
  transaction?: string;
51
+ cluster?: string;
48
52
  }[];
49
53
  mapper: {
50
54
  type: string;
@@ -163,18 +163,21 @@ function prepareTable(operation, type, table, typedTable, userTransactionAlive,
163
163
  }
164
164
  function groupTables(tables) {
165
165
  var group = [];
166
- var currentFolder;
166
+ var currentGroup;
167
167
  (0, _each2.default)(tables, function (table) {
168
168
  try {
169
+ var cluster = table.cluster;
169
170
  var path = _ypath.default.YPath.create(table.path, 'absolute');
170
171
  var name = path.getKey();
171
172
  var folder = path.toSubpath(-2).stringify();
172
- if (currentFolder !== folder) {
173
- currentFolder = folder;
173
+ var groupKey = cluster ? "".concat(cluster, ":").concat(folder) : folder;
174
+ if (currentGroup !== groupKey) {
175
+ currentGroup = groupKey;
174
176
  group.push({
175
177
  path: folder,
176
178
  transaction: table.transaction,
177
- isFolder: true
179
+ isFolder: true,
180
+ cluster: cluster
178
181
  });
179
182
  }
180
183
  group.push(Object.assign(table, {
@@ -1 +1 @@
1
- {"version":3,"names":["_ypath","_interopRequireDefault","require","_UIFactory","_navigation","e","__esModule","default","TASKS_PREFIX","prepareFile","file","path","ypath","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","UIFactory","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","currentFolder","_each","YPath","create","getKey","folder","toSubpath","stringify","push","isFolder","Object","assign","err","console","error","prepareRemoteInput","input","item","_objectSpread","remote","genNavigationUrl","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","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}>(tables: Array<T>) {\n const group: Array<{path: string; name?: string; isFolder?: boolean; transaction?: string}> =\n [];\n let currentFolder: string;\n\n _.each(tables, (table) => {\n try {\n const path = ypath.YPath.create(table.path, 'absolute');\n const name = path.getKey();\n const folder: string = path.toSubpath(-2).stringify();\n\n if (currentFolder !== folder) {\n currentFolder = folder;\n group.push({\n path: folder,\n transaction: table.transaction,\n isFolder: true,\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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","ignoreList":[]}
1
+ {"version":3,"names":["_ypath","_interopRequireDefault","require","_UIFactory","_navigation","e","__esModule","default","TASKS_PREFIX","prepareFile","file","path","ypath","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","UIFactory","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","genNavigationUrl","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","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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","ignoreList":[]}
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import Link from '../../../components/Link/Link';
3
3
  import { Page } from '../../../constants/index';
4
4
  import { paramsToQuery } from '../../../utils';
5
- import { jsx as _jsx } from "react/jsx-runtime";
5
+ import { jsxs as _jsxs } from "react/jsx-runtime";
6
6
  var YT = window.YT;
7
7
  export default function OperationIOLink(props) {
8
8
  var name = props.name,
@@ -25,18 +25,18 @@ export default function OperationIOLink(props) {
25
25
  path: originalPath
26
26
  });
27
27
  var originalUrl = "/".concat(pathCluster, "/").concat(Page.NAVIGATION, "?").concat(originalQuery);
28
- return isFolder ? /*#__PURE__*/_jsx(Link, {
28
+ return isFolder ? /*#__PURE__*/_jsxs(Link, {
29
29
  theme: theme,
30
30
  className: className,
31
31
  url: url,
32
32
  title: path,
33
- children: path
34
- }) : /*#__PURE__*/_jsx(Link, {
33
+ children: [cluster ? "".concat(cluster, ":") : undefined, path]
34
+ }) : /*#__PURE__*/_jsxs(Link, {
35
35
  theme: theme,
36
36
  className: className,
37
37
  url: originalPath ? originalUrl : url,
38
38
  title: originalPath || path || name,
39
- children: originalPath || path || name
39
+ children: [cluster ? "".concat(cluster, ":") : undefined, originalPath || path || name]
40
40
  });
41
41
  }
42
42
  // #sourceMappingURL=OperationIOLink.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Link","Page","paramsToQuery","jsx","_jsx","YT","window","OperationIOLink","props","name","cluster","path","originalPath","transaction","remote","itemUrl","url","isFolder","className","theme","pathCluster","query","t","concat","NAVIGATION","originalQuery","originalUrl","title","children"],"sources":["OperationIOLink.tsx"],"sourcesContent":["import React from 'react';\n\nimport Link, {LinkProps} from '../../../components/Link/Link';\n\nimport {Page} from '../../../constants/index';\n\nimport {paramsToQuery} from '../../../utils';\n\nconst YT = (window as any).YT;\n\ninterface Props {\n name: string;\n cluster?: string;\n path: string;\n originalPath: string;\n transaction: string;\n remote: boolean;\n url: string;\n isFolder: boolean;\n className?: string;\n theme: LinkProps['theme'];\n}\n\nexport default function OperationIOLink(props: Props) {\n const {\n name,\n cluster,\n path,\n originalPath,\n transaction,\n remote,\n url: itemUrl,\n isFolder,\n className,\n theme,\n } = props;\n\n const pathCluster = cluster ?? YT.cluster;\n\n const query = paramsToQuery({path, t: transaction});\n const url = remote ? itemUrl : `/${pathCluster}/${Page.NAVIGATION}?${query}`;\n const originalQuery = paramsToQuery({path: originalPath});\n const originalUrl = `/${pathCluster}/${Page.NAVIGATION}?${originalQuery}`;\n\n return isFolder ? (\n <Link theme={theme} className={className} url={url} title={path}>\n {path}\n </Link>\n ) : (\n <Link\n theme={theme}\n className={className}\n url={originalPath ? originalUrl : url}\n title={originalPath || path || name}\n >\n {originalPath || path || name}\n </Link>\n );\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,IAAI,MAAmB,+BAA+B;AAE7D,SAAQC,IAAI,QAAO,0BAA0B;AAE7C,SAAQC,aAAa,QAAO,gBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE7C,IAAMC,EAAE,GAAIC,MAAM,CAASD,EAAE;AAe7B,eAAe,SAASE,eAAeA,CAACC,KAAY,EAAE;EAClD,IACIC,IAAI,GAUJD,KAAK,CAVLC,IAAI;IACJC,OAAO,GASPF,KAAK,CATLE,OAAO;IACPC,IAAI,GAQJH,KAAK,CARLG,IAAI;IACJC,YAAY,GAOZJ,KAAK,CAPLI,YAAY;IACZC,WAAW,GAMXL,KAAK,CANLK,WAAW;IACXC,MAAM,GAKNN,KAAK,CALLM,MAAM;IACDC,OAAO,GAIZP,KAAK,CAJLQ,GAAG;IACHC,QAAQ,GAGRT,KAAK,CAHLS,QAAQ;IACRC,SAAS,GAETV,KAAK,CAFLU,SAAS;IACTC,KAAK,GACLX,KAAK,CADLW,KAAK;EAGT,IAAMC,WAAW,GAAGV,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAIL,EAAE,CAACK,OAAO;EAEzC,IAAMW,KAAK,GAAGnB,aAAa,CAAC;IAACS,IAAI,EAAJA,IAAI;IAAEW,CAAC,EAAET;EAAW,CAAC,CAAC;EACnD,IAAMG,GAAG,GAAGF,MAAM,GAAGC,OAAO,OAAAQ,MAAA,CAAOH,WAAW,OAAAG,MAAA,CAAItB,IAAI,CAACuB,UAAU,OAAAD,MAAA,CAAIF,KAAK,CAAE;EAC5E,IAAMI,aAAa,GAAGvB,aAAa,CAAC;IAACS,IAAI,EAAEC;EAAY,CAAC,CAAC;EACzD,IAAMc,WAAW,OAAAH,MAAA,CAAOH,WAAW,OAAAG,MAAA,CAAItB,IAAI,CAACuB,UAAU,OAAAD,MAAA,CAAIE,aAAa,CAAE;EAEzE,OAAOR,QAAQ,gBACXb,IAAA,CAACJ,IAAI;IAACmB,KAAK,EAAEA,KAAM;IAACD,SAAS,EAAEA,SAAU;IAACF,GAAG,EAAEA,GAAI;IAACW,KAAK,EAAEhB,IAAK;IAAAiB,QAAA,EAC3DjB;EAAI,CACH,CAAC,gBAEPP,IAAA,CAACJ,IAAI;IACDmB,KAAK,EAAEA,KAAM;IACbD,SAAS,EAAEA,SAAU;IACrBF,GAAG,EAAEJ,YAAY,GAAGc,WAAW,GAAGV,GAAI;IACtCW,KAAK,EAAEf,YAAY,IAAID,IAAI,IAAIF,IAAK;IAAAmB,QAAA,EAEnChB,YAAY,IAAID,IAAI,IAAIF;EAAI,CAC3B,CACT;AACL","ignoreList":[]}
1
+ {"version":3,"names":["React","Link","Page","paramsToQuery","jsxs","_jsxs","YT","window","OperationIOLink","props","name","cluster","path","originalPath","transaction","remote","itemUrl","url","isFolder","className","theme","pathCluster","query","t","concat","NAVIGATION","originalQuery","originalUrl","title","children","undefined"],"sources":["OperationIOLink.tsx"],"sourcesContent":["import React from 'react';\n\nimport Link, {LinkProps} from '../../../components/Link/Link';\n\nimport {Page} from '../../../constants/index';\n\nimport {paramsToQuery} from '../../../utils';\n\nconst YT = (window as any).YT;\n\ninterface Props {\n name: string;\n cluster?: string;\n path: string;\n originalPath: string;\n transaction: string;\n remote: boolean;\n url: string;\n isFolder: boolean;\n className?: string;\n theme: LinkProps['theme'];\n}\n\nexport default function OperationIOLink(props: Props) {\n const {\n name,\n cluster,\n path,\n originalPath,\n transaction,\n remote,\n url: itemUrl,\n isFolder,\n className,\n theme,\n } = props;\n\n const pathCluster = cluster ?? YT.cluster;\n\n const query = paramsToQuery({path, t: transaction});\n const url = remote ? itemUrl : `/${pathCluster}/${Page.NAVIGATION}?${query}`;\n const originalQuery = paramsToQuery({path: originalPath});\n const originalUrl = `/${pathCluster}/${Page.NAVIGATION}?${originalQuery}`;\n\n return isFolder ? (\n <Link theme={theme} className={className} url={url} title={path}>\n {cluster ? `${cluster}:` : undefined}\n {path}\n </Link>\n ) : (\n <Link\n theme={theme}\n className={className}\n url={originalPath ? originalUrl : url}\n title={originalPath || path || name}\n >\n {cluster ? `${cluster}:` : undefined}\n {originalPath || path || name}\n </Link>\n );\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,IAAI,MAAmB,+BAA+B;AAE7D,SAAQC,IAAI,QAAO,0BAA0B;AAE7C,SAAQC,aAAa,QAAO,gBAAgB;AAAC,SAAAC,IAAA,IAAAC,KAAA;AAE7C,IAAMC,EAAE,GAAIC,MAAM,CAASD,EAAE;AAe7B,eAAe,SAASE,eAAeA,CAACC,KAAY,EAAE;EAClD,IACIC,IAAI,GAUJD,KAAK,CAVLC,IAAI;IACJC,OAAO,GASPF,KAAK,CATLE,OAAO;IACPC,IAAI,GAQJH,KAAK,CARLG,IAAI;IACJC,YAAY,GAOZJ,KAAK,CAPLI,YAAY;IACZC,WAAW,GAMXL,KAAK,CANLK,WAAW;IACXC,MAAM,GAKNN,KAAK,CALLM,MAAM;IACDC,OAAO,GAIZP,KAAK,CAJLQ,GAAG;IACHC,QAAQ,GAGRT,KAAK,CAHLS,QAAQ;IACRC,SAAS,GAETV,KAAK,CAFLU,SAAS;IACTC,KAAK,GACLX,KAAK,CADLW,KAAK;EAGT,IAAMC,WAAW,GAAGV,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAIL,EAAE,CAACK,OAAO;EAEzC,IAAMW,KAAK,GAAGnB,aAAa,CAAC;IAACS,IAAI,EAAJA,IAAI;IAAEW,CAAC,EAAET;EAAW,CAAC,CAAC;EACnD,IAAMG,GAAG,GAAGF,MAAM,GAAGC,OAAO,OAAAQ,MAAA,CAAOH,WAAW,OAAAG,MAAA,CAAItB,IAAI,CAACuB,UAAU,OAAAD,MAAA,CAAIF,KAAK,CAAE;EAC5E,IAAMI,aAAa,GAAGvB,aAAa,CAAC;IAACS,IAAI,EAAEC;EAAY,CAAC,CAAC;EACzD,IAAMc,WAAW,OAAAH,MAAA,CAAOH,WAAW,OAAAG,MAAA,CAAItB,IAAI,CAACuB,UAAU,OAAAD,MAAA,CAAIE,aAAa,CAAE;EAEzE,OAAOR,QAAQ,gBACXb,KAAA,CAACJ,IAAI;IAACmB,KAAK,EAAEA,KAAM;IAACD,SAAS,EAAEA,SAAU;IAACF,GAAG,EAAEA,GAAI;IAACW,KAAK,EAAEhB,IAAK;IAAAiB,QAAA,GAC3DlB,OAAO,MAAAa,MAAA,CAAMb,OAAO,SAAMmB,SAAS,EACnClB,IAAI;EAAA,CACH,CAAC,gBAEPP,KAAA,CAACJ,IAAI;IACDmB,KAAK,EAAEA,KAAM;IACbD,SAAS,EAAEA,SAAU;IACrBF,GAAG,EAAEJ,YAAY,GAAGc,WAAW,GAAGV,GAAI;IACtCW,KAAK,EAAEf,YAAY,IAAID,IAAI,IAAIF,IAAK;IAAAmB,QAAA,GAEnClB,OAAO,MAAAa,MAAA,CAAMb,OAAO,SAAMmB,SAAS,EACnCjB,YAAY,IAAID,IAAI,IAAIF,IAAI;EAAA,CAC3B,CACT;AACL","ignoreList":[]}
@@ -22,18 +22,21 @@ export declare function prepareSpecification(operation: DetailedOperationSelecto
22
22
  name?: string;
23
23
  isFolder?: boolean;
24
24
  transaction?: string;
25
+ cluster?: string;
25
26
  }[];
26
27
  output: {
27
28
  path: string;
28
29
  name?: string;
29
30
  isFolder?: boolean;
30
31
  transaction?: string;
32
+ cluster?: string;
31
33
  }[];
32
34
  stderr: {
33
35
  path: string;
34
36
  name?: string;
35
37
  isFolder?: boolean;
36
38
  transaction?: string;
39
+ cluster?: string;
37
40
  }[];
38
41
  intermediate: {
39
42
  path?: string;
@@ -45,6 +48,7 @@ export declare function prepareSpecification(operation: DetailedOperationSelecto
45
48
  name?: string;
46
49
  isFolder?: boolean;
47
50
  transaction?: string;
51
+ cluster?: string;
48
52
  }[];
49
53
  mapper: {
50
54
  type: string;
@@ -153,18 +153,21 @@ function prepareTable(operation, type, table, typedTable, userTransactionAlive,
153
153
  }
154
154
  function groupTables(tables) {
155
155
  var group = [];
156
- var currentFolder;
156
+ var currentGroup;
157
157
  _each(tables, function (table) {
158
158
  try {
159
+ var cluster = table.cluster;
159
160
  var path = ypath.YPath.create(table.path, 'absolute');
160
161
  var name = path.getKey();
161
162
  var folder = path.toSubpath(-2).stringify();
162
- if (currentFolder !== folder) {
163
- currentFolder = folder;
163
+ var groupKey = cluster ? "".concat(cluster, ":").concat(folder) : folder;
164
+ if (currentGroup !== groupKey) {
165
+ currentGroup = groupKey;
164
166
  group.push({
165
167
  path: folder,
166
168
  transaction: table.transaction,
167
- isFolder: true
169
+ isFolder: true,
170
+ cluster: cluster
168
171
  });
169
172
  }
170
173
  group.push(Object.assign(table, {
@@ -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","currentFolder","_each","YPath","create","getKey","folder","toSubpath","stringify","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}>(tables: Array<T>) {\n const group: Array<{path: string; name?: string; isFolder?: boolean; transaction?: string}> =\n [];\n let currentFolder: string;\n\n _.each(tables, (table) => {\n try {\n const path = ypath.YPath.create(table.path, 'absolute');\n const name = path.getKey();\n const folder: string = path.toSubpath(-2).stringify();\n\n if (currentFolder !== folder) {\n currentFolder = folder;\n group.push({\n path: folder,\n transaction: table.transaction,\n isFolder: true,\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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","ignoreList":[]}
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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","ignoreList":[]}
@@ -55,7 +55,7 @@
55
55
  "js": [
56
56
  "js/runtime.c64215b3.js",
57
57
  "js/vendors.584db19c.js",
58
- "js/main.53a32c53.js"
58
+ "js/main.3f6625f6.js"
59
59
  ],
60
60
  "css": [
61
61
  "css/main.8bdc64e9.css"
@@ -616,8 +616,8 @@
616
616
  "js/9991.feef4667.chunk.js": "js/9991.feef4667.chunk.js",
617
617
  "js/9991.feef4667.chunk.js.map": "js/9991.feef4667.chunk.js.map",
618
618
  "js/acl.8e81c7ef.chunk.js.map": "js/acl.8e81c7ef.chunk.js.map",
619
- "js/main.53a32c53.js.LICENSE.txt": "js/main.53a32c53.js.LICENSE.txt",
620
- "js/main.53a32c53.js.map": "js/main.53a32c53.js.map",
619
+ "js/main.3f6625f6.js.LICENSE.txt": "js/main.3f6625f6.js.LICENSE.txt",
620
+ "js/main.3f6625f6.js.map": "js/main.3f6625f6.js.map",
621
621
  "js/manage-tokens.b8e32090.chunk.js.map": "js/manage-tokens.b8e32090.chunk.js.map",
622
622
  "js/runtime.c64215b3.js.map": "js/runtime.c64215b3.js.map",
623
623
  "js/vcs.c779d7ed.chunk.js.map": "js/vcs.c779d7ed.chunk.js.map",
@@ -631,7 +631,7 @@
631
631
  "json.5239aa2e.worker.js.LICENSE.txt": "json.5239aa2e.worker.js.LICENSE.txt",
632
632
  "json.5239aa2e.worker.js.map": "json.5239aa2e.worker.js.map",
633
633
  "main.css": "css/main.8bdc64e9.css",
634
- "main.js": "js/main.53a32c53.js",
634
+ "main.js": "js/main.3f6625f6.js",
635
635
  "manage-tokens.css": "css/manage-tokens.67f9bab0.chunk.css",
636
636
  "manage-tokens.js": "js/manage-tokens.b8e32090.chunk.js",
637
637
  "runtime.js": "js/runtime.c64215b3.js",