@ytsaurus/ui 1.46.1 → 1.46.2

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.
@@ -9,8 +9,8 @@ exports.prepareVisibleItems = prepareVisibleItems;
9
9
  exports.remoteInputUrl = remoteInputUrl;
10
10
  var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
11
11
  var _keys2 = _interopRequireDefault(require("lodash/keys"));
12
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
12
  var _each2 = _interopRequireDefault(require("lodash/each"));
13
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
14
14
  var _filter2 = _interopRequireDefault(require("lodash/filter"));
15
15
  var _sortBy2 = _interopRequireDefault(require("lodash/sortBy"));
16
16
  var _map2 = _interopRequireDefault(require("lodash/map"));
@@ -147,9 +147,11 @@ function prepareTable(operation, type, table, typedTable, userTransactionAlive,
147
147
  var cluster = _ypath.default.getValue(table, '/@cluster');
148
148
  var originalPath = _ypath.default.getValue(table, '/@original_path');
149
149
  var transaction = prepareTransaction(operation, type, table, userTransactionAlive);
150
- return {
151
- path: path,
152
- cluster: cluster,
150
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({
151
+ path: path
152
+ }, cluster ? {
153
+ cluster: cluster
154
+ } : {}), {}, {
153
155
  originalPath: originalPath,
154
156
  transaction: transaction,
155
157
  livePreview: prepareLivePreview(operation, type, index),
@@ -159,7 +161,7 @@ function prepareTable(operation, type, table, typedTable, userTransactionAlive,
159
161
  foreign: _ypath.default.getBoolean(table, '/@foreign'),
160
162
  filters: prepareTableFilters(table),
161
163
  typedFilters: prepareTableFilters(typedTable)
162
- };
164
+ });
163
165
  }
164
166
  function groupTables(tables) {
165
167
  var group = [];
@@ -173,12 +175,13 @@ function groupTables(tables) {
173
175
  var groupKey = cluster ? "".concat(cluster, ":").concat(folder) : folder;
174
176
  if (currentGroup !== groupKey) {
175
177
  currentGroup = groupKey;
176
- group.push({
178
+ group.push((0, _objectSpread2.default)({
177
179
  path: folder,
178
180
  transaction: table.transaction,
179
- isFolder: true,
181
+ isFolder: true
182
+ }, cluster ? {
180
183
  cluster: cluster
181
- });
184
+ } : {}));
182
185
  }
183
186
  group.push(Object.assign(table, {
184
187
  name: name
@@ -1 +1 @@
1
- {"version":3,"names":["_ypath","_interopRequireDefault","require","_UIFactory","_navigation","obj","__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","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","_interopRequireDefault","require","_UIFactory","_navigation","obj","__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","_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","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","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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"}
@@ -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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"}
@@ -50,7 +50,7 @@
50
50
  "js": [
51
51
  "js/runtime.ed16dd0c.js",
52
52
  "js/vendors.4e703a6d.js",
53
- "js/main.b0f37b6a.js"
53
+ "js/main.f9ec444b.js"
54
54
  ],
55
55
  "css": [
56
56
  "css/main.e0a07e74.css"
@@ -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.f9ec444b.js.LICENSE.txt": "js/main.f9ec444b.js.LICENSE.txt",
330
+ "js/main.f9ec444b.js.map": "js/main.f9ec444b.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",
@@ -340,7 +340,7 @@
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
342
  "main.css": "css/main.e0a07e74.css",
343
- "main.js": "js/main.b0f37b6a.js",
343
+ "main.js": "js/main.f9ec444b.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",