@ytsaurus/ui 1.42.3 → 1.42.4
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.
- package/build/cjs/ui/pages/navigation/content/Table/DownloadManager/DownloadManager.css +0 -6
- package/build/cjs/ui/pages/navigation/content/Table/DownloadManager/DownloadManager.css.map +1 -1
- package/build/cjs/ui/pages/navigation/content/Table/DownloadManager/DownloadManager.js +4 -2
- package/build/cjs/ui/pages/navigation/content/Table/DownloadManager/DownloadManager.js.map +1 -1
- package/build/esm/ui/pages/navigation/content/Table/DownloadManager/DownloadManager.css +0 -6
- package/build/esm/ui/pages/navigation/content/Table/DownloadManager/DownloadManager.css.map +1 -1
- package/build/esm/ui/pages/navigation/content/Table/DownloadManager/DownloadManager.js +4 -2
- package/build/esm/ui/pages/navigation/content/Table/DownloadManager/DownloadManager.js.map +1 -1
- package/build/esm/ui/pages/navigation/content/Table/DownloadManager/DownloadManager.scss +0 -10
- package/dist/public/build/assets-manifest.json +7 -7
- package/dist/public/build/css/main.a8148b6c.css +2 -0
- package/dist/public/build/css/{main.6591efe0.css.map → main.a8148b6c.css.map} +1 -1
- package/dist/public/build/js/{main.98e3606c.js → main.8d129ddf.js} +3 -3
- package/dist/public/build/js/{main.98e3606c.js.map → main.8d129ddf.js.map} +1 -1
- package/dist/public/build/manifest.json +4 -4
- package/package.json +2 -2
- package/dist/public/build/css/main.6591efe0.css +0 -2
- /package/dist/public/build/js/{main.98e3606c.js.LICENSE.txt → main.8d129ddf.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","connect","unipika","compose","cn","qs","axios","Checkbox","RadioButton","TextInput","ColumnSelector","Pagination","HelpLink","Filter","Button","Modal","Icon","Link","Tabs","Select","getRowsPerTablePage","getShowDecoded","getSchema","getPath","getTransaction","getCluster","getCurrentClusterConfig","withVisible","getAllColumns","getOffsetValue","getRowCount","getSrcColumns","getColumns","docsUrl","uiSettings","SeparatorInput","prepareSeparatorValue","UIFactory","makeDirectDownloadPath","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","block","messageBlock","EXCEL_BASE_URL","exportTableBaseUrl","checkExcelExporter","cluster","Promise","resolve","get","concat","then","DownloadManager","_React$Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","changeFormat","format","setState","changeNumRows","numRows","changeStartRow","startRow","changeRowsMode","rowsMode","changeKeyColumn","keyColumn","changeYsonFormat","ysonFormat","changeValueColumn","valueColumn","changeColumnsMode","columnsMode","changeSubkeyColumn","subkeyColumn","changeValueSentinel","valueSentinel","changeSelectedColumns","selectedColumns","changeSchemafulDsvMissingMode","schemafulDsvMissingMode","toggleEncodeUtf","prevState","encodeUtf","toggleWithSubkey","withSubkey","toggleWithHeaders","withHeaders","setKeyValueSeparator","v","onSeparatorChange","setFieldSeparator","setRecordSeparator","renderConfirmButton","className","state","_ref","getExcelDownloadLink","getDownloadLink","url","error","size","view","title","target","href","disabled","Boolean","qa","children","showDialog","_this$props","handleShow","excelExporter","columns","visible","pageSize","offsetValue","allColumns","separators","keyValue","field","record","length","hasColumn","undefined","number_precision_mode","_createClass","key","value","getOutputFormat","_this$state","currentAttributes","outputFormat","$value","$attributes","prepareColumnsForColumnMode","errors","collectErrors","_ref2","push","inner_errors","message","_this$state2","Number","columnNames","String","path","downloadColumns","downloadRows","getDownloadParams","transaction_id","_this$getOutputFormat","output_format","query","stringify","Object","assign","downloadPath","dump_error_into_response","_this$props2","proxy","externalProxy","base","_this$getDownloadPara","_this$getDownloadPara2","params","URLSearchParams","makeDocsUrl","arguments","docsUrls","isSchematicTable","dsv","name","caption","description","doc","show","schemaful_dsv","join","yamr","yson","json","excel","_map","_values","formats","_ref3","text","parseColumn","column","useQuotes","showDecoded","parsedColumn","decode","_this2","_this$state3","preparedColumns","_reduce","item","checked","prepareYamrColumns","_this3","_ref4","renderPaginator","_this4","rowCount","isStartRowEmpty","isNumRowsInvalid","isStartRowInvalid","showInput","inputValue","onChange","row","prepareValue","first","handler","previous","Math","max","next","last","renderRows","_this5","_this$state4","onUpdate","options","content","autofocus","invalid","isNaN","num","renderColumns","_this6","_this$state5","srcColumns","isSortable","_ref5","items","srcItems","isHeadless","renderSchemafulDsv","_this7","_this$state6","placeholder","renderSeparatorEditors","_ref6","_ref6$showKeyValueSep","showKeyValueSeparator","_this$state$separator","separatorType","_objectSpread","_defineProperty","renderYamr","renderYamrColumns","_this8","_this$state7","vals","hideFilter","width","renderYson","_this9","renderJson","renderExcel","_this10","excelNumberPrecisionMode","renderContent","faqLink","cliLink","_this$formats$format","theme","active","layout","tabItems","onTabChange","render","_this$props3","loading","handleClose","onClick","awesome","onCancel","confirmText","renderCustomConfirm","parsedValue","prepareColumns","_filter","_ref7","_find","getDerivedStateFromProps","nextProps","Component","mapStateToProps","navigation","table","schema","_getCurrentClusterCon","connector"],"sources":["DownloadManager.tsx"],"sourcesContent":["import React from 'react';\nimport {ConnectedProps, connect} from 'react-redux';\nimport unipika from '../../../../../common/thor/unipika';\nimport {compose} from 'redux';\nimport cn from 'bem-cn-lite';\nimport _ from 'lodash';\nimport qs from 'qs';\nimport axios from 'axios';\n\nimport {Checkbox, RadioButton, TextInput} from '@gravity-ui/uikit';\n\nimport ColumnSelector from '../../../../../components/ColumnSelector/ColumnSelector';\nimport Pagination from '../../../../../components/Pagination/Pagination';\nimport HelpLink from '../../../../../components/HelpLink/HelpLink';\nimport Filter from '../../../../../components/Filter/Filter';\nimport Button from '../../../../../components/Button/Button';\nimport Modal from '../../../../../components/Modal/Modal';\nimport Icon from '../../../../../components/Icon/Icon';\nimport Link from '../../../../../components/Link/Link';\nimport Tabs from '../../../../../components/Tabs/Tabs';\nimport Select from '../../../../../components/Select/Select';\n\nimport {getRowsPerTablePage, getShowDecoded} from '../../../../../store/selectors/settings';\nimport {getSchema} from '../../../../../store/selectors/navigation/tabs/schema';\nimport {getPath, getTransaction} from '../../../../../store/selectors/navigation';\nimport {getCluster, getCurrentClusterConfig} from '../../../../../store/selectors/global';\nimport withVisible, {WithVisibleProps} from '../../../../../hocs/withVisible';\nimport {\n getAllColumns,\n getOffsetValue,\n getRowCount,\n getSrcColumns,\n} from '../../../../../store/selectors/navigation/content/table';\nimport {getColumns} from '../../../../../store/selectors/navigation/content/table-ts';\n\nimport './DownloadManager.scss';\nimport {docsUrl} from '../../../../../config';\nimport {uiSettings} from '../../../../../config/ui-settings';\nimport SeparatorInput, {prepareSeparatorValue} from './SeparatorInput';\nimport UIFactory from '../../../../../UIFactory';\nimport {makeDirectDownloadPath} from '../../../../../utils/navigation';\nimport {RootState} from '../../../../../store/reducers';\nimport {FIX_MY_TYPE} from '../../../../../types';\n\nconst block = cn('table-download-manager');\nconst messageBlock = cn('elements-message');\n\nconst EXCEL_BASE_URL = uiSettings?.exportTableBaseUrl;\n\nfunction checkExcelExporter(cluster: string) {\n if (!EXCEL_BASE_URL) {\n return Promise.resolve(false);\n }\n\n return axios\n .get(`${EXCEL_BASE_URL}/${cluster}/api/ready`)\n .then(() => true)\n .catch(() => false);\n}\n\ntype ReduxProps = Omit<ConnectedProps<typeof connector>, 'dispatch'>;\ntype Props = ReduxProps & WithVisibleProps & {className?: string};\n\ntype State = {\n format: 'dsv' | 'schemaful_dsv' | 'yamr' | 'yson' | 'json' | 'excel';\n visible?: boolean;\n excelExporter: boolean;\n rowsMode: 'range' | 'all';\n startRow: string | number;\n numRows: string | number;\n valueSentinel: string;\n ysonFormat: 'text' | 'pretty' | 'binary';\n columnsMode: 'all' | 'custom';\n\n schemafulDsvMissingMode: 'fail' | 'skip_row' | 'print_sentinel';\n separators: {keyValue?: string; record?: string; field?: string};\n\n encodeUtf: boolean;\n withHeaders: boolean;\n\n withSubkey: boolean;\n keyColumn?: string;\n valueColumn?: string;\n subkeyColumn?: string;\n\n selectedColumns?: Props['columns'];\n\n number_precision_mode: 'string' | 'error' | 'lose';\n};\n\nexport class DownloadManager extends React.Component<Props, State> {\n static prepareValue(value: string): number | string {\n const parsedValue = Number(value || undefined); // we need `|| undefined` cause Number('') === 0\n return isNaN(parsedValue) ? value : parsedValue;\n }\n\n static prepareColumns(columns: Array<{checked?: boolean}>) {\n return _.filter(columns, ({checked}) => checked);\n }\n\n static hasColumn(columns: Array<{name?: string}>, name: string) {\n return Boolean(_.find(columns, (column) => column.name === name));\n }\n\n static getDerivedStateFromProps(nextProps: Props, prevState: State) {\n if (nextProps.visible !== prevState.visible) {\n const {columns} = nextProps;\n return {\n visible: nextProps.visible,\n numRows: nextProps.pageSize,\n startRow: nextProps.offsetValue,\n selectedColumns: nextProps.allColumns,\n\n withSubkey: nextProps.columns.length >= 3,\n keyColumn: DownloadManager.hasColumn(columns, 'key') ? 'key' : undefined,\n valueColumn: DownloadManager.hasColumn(columns, 'value') ? 'value' : undefined,\n subkeyColumn: DownloadManager.hasColumn(columns, 'subkey') ? 'subkey' : undefined,\n };\n }\n\n return null;\n }\n\n constructor(props: Props) {\n super(props);\n\n const {columns, visible, pageSize, offsetValue, allColumns} = props;\n\n this.state = {\n format: 'dsv',\n visible,\n rowsMode: 'all',\n valueSentinel: '',\n ysonFormat: 'text',\n columnsMode: 'all',\n schemafulDsvMissingMode: 'fail', //print_sentinel\n\n separators: {\n keyValue: '=',\n field: '\\\\t',\n record: '\\\\n',\n },\n\n encodeUtf: false,\n withHeaders: true,\n\n withSubkey: columns.length >= 3,\n keyColumn: DownloadManager.hasColumn(columns, 'key') ? 'key' : undefined,\n valueColumn: DownloadManager.hasColumn(columns, 'value') ? 'value' : undefined,\n subkeyColumn: DownloadManager.hasColumn(columns, 'subkey') ? 'subkey' : undefined,\n\n numRows: pageSize,\n startRow: offsetValue,\n selectedColumns: allColumns,\n\n excelExporter: false,\n number_precision_mode: 'string',\n };\n }\n\n getOutputFormat() {\n const {\n format,\n encodeUtf,\n ysonFormat,\n withSubkey,\n keyColumn,\n valueColumn,\n subkeyColumn,\n schemafulDsvMissingMode,\n valueSentinel,\n withHeaders,\n separators,\n } = this.state;\n\n const currentAttributes: Record<string, any> = {};\n const outputFormat = {\n $value: format,\n $attributes: currentAttributes,\n };\n\n if (format === 'json') {\n currentAttributes['encode_utf8'] = encodeUtf;\n }\n\n if (format === 'yson') {\n currentAttributes['format'] = ysonFormat;\n }\n\n if (format === 'yamr') {\n currentAttributes['lenval'] = false;\n currentAttributes['has_subkey'] = withSubkey;\n\n if (keyColumn) {\n currentAttributes['key'] = keyColumn;\n }\n\n if (valueColumn) {\n currentAttributes['value'] = valueColumn;\n }\n\n if (subkeyColumn && subkeyColumn) {\n currentAttributes['subkey'] = subkeyColumn;\n }\n }\n\n if (format === 'schemaful_dsv') {\n currentAttributes['missing_value_mode'] = schemafulDsvMissingMode;\n\n if (schemafulDsvMissingMode === 'print_sentinel') {\n currentAttributes['missing_value_sentinel'] = valueSentinel;\n }\n\n currentAttributes['enable_column_names_header'] = withHeaders;\n\n currentAttributes['columns'] = this.prepareColumnsForColumnMode(false);\n }\n\n const errors: Array<string> = [];\n\n function collectErrors<T>({value, error}: {value: T; error?: string}) {\n if (error) {\n errors.push(error);\n }\n return value;\n }\n\n if (format === 'schemaful_dsv' || format === 'dsv') {\n currentAttributes['field_separator'] = collectErrors(\n prepareSeparatorValue(separators.field),\n );\n currentAttributes['record_separator'] = collectErrors(\n prepareSeparatorValue(separators.record),\n );\n }\n\n if (format === 'dsv') {\n currentAttributes['key_value_separator'] = collectErrors(\n prepareSeparatorValue(separators.keyValue),\n );\n }\n\n return {\n value: outputFormat,\n error:\n errors.length === 0\n ? undefined\n : {inner_errors: errors, message: 'There are some values with errors'},\n };\n }\n\n get downloadRows() {\n const {rowsMode} = this.state;\n\n if (rowsMode === 'range') {\n const {startRow, numRows} = this.state;\n return '[#' + startRow + ':#' + (Number(startRow) + Number(numRows)) + ']';\n } else {\n return '';\n }\n }\n\n get downloadColumns() {\n const {columnsMode} = this.state;\n\n if (columnsMode !== 'all') {\n const columnNames = this.prepareColumnsForColumnMode();\n return '{' + String(columnNames) + '}';\n } else {\n return '';\n }\n }\n\n get downloadPath() {\n const {path} = this.props;\n\n return path + this.downloadColumns + this.downloadRows;\n }\n\n getDownloadParams() {\n const {transaction_id} = this.props;\n const {value: output_format, error} = this.getOutputFormat();\n const query = qs.stringify(\n Object.assign(\n {\n path: this.downloadPath,\n output_format,\n dump_error_into_response: true,\n },\n transaction_id ? {transaction_id} : {},\n ),\n );\n return {query, error};\n }\n\n getDownloadLink() {\n const {cluster, proxy, externalProxy} = this.props;\n const base = makeDirectDownloadPath('read_table', {cluster, proxy, externalProxy});\n const {query, error} = this.getDownloadParams();\n return {url: base + '?' + query, error};\n }\n\n getExcelDownloadLink() {\n const {cluster} = this.props;\n const base = `${EXCEL_BASE_URL}/${cluster}/api/export`;\n\n const {query, error} = this.getDownloadParams();\n const {number_precision_mode} = this.state;\n const params = new URLSearchParams({number_precision_mode});\n\n return {url: `${base}?${params}&${query}`, error};\n }\n\n makeDocsUrl(path = '') {\n return docsUrl(UIFactory.docsUrls['storage:formats'] + path);\n }\n\n get formats() {\n const {isSchematicTable} = this.props;\n const {excelExporter} = this.state;\n\n return {\n dsv: {\n name: 'dsv' as const,\n caption: 'TSKV',\n description:\n 'Tab-separated key-value format. ' +\n 'Please note that this format erases type information due to string conversion.',\n doc: this.makeDocsUrl('#dsv'),\n show: true,\n },\n schemaful_dsv: {\n name: 'schemaful_dsv' as const,\n caption: 'Schemaful DSV',\n description: [\n 'Tab-separated format with fixed, ordered set of columns.',\n 'Please note that this format erases type information due to string conversion.',\n ].join(' '),\n doc: this.makeDocsUrl('#schemaful_dsv'),\n show: true,\n },\n yamr: {\n name: 'yamr' as const,\n caption: 'YAMR',\n description:\n 'Legacy tab-separated format with fixed set of columns used in YAMR. ' +\n 'Please note that this format can only contain 2 or 3 columns, ' +\n 'columns named \"key\", \"subkey\" and \"value\" respectively are downloaded by default.',\n doc: this.makeDocsUrl('#yamr'),\n show: true,\n },\n yson: {\n name: 'yson' as const,\n caption: 'YSON',\n description: 'Yet-another Serialized Object Notation.',\n doc: this.makeDocsUrl('#yson'),\n show: true,\n },\n json: {\n name: 'json' as const,\n caption: 'JSON Lines',\n description:\n 'JSON Lines text format, also called newline-delimited JSON (JavaScript Serialized Object Notation).',\n doc: this.makeDocsUrl('#json'),\n show: true,\n },\n excel: {\n name: 'excel' as const,\n caption: 'Excel',\n description: '',\n doc: docsUrl(UIFactory.docsUrls['storage:excel#skachivanie']),\n show: excelExporter && isSchematicTable,\n },\n };\n }\n\n get tabItems() {\n return _.map(_.values(this.formats), ({name, caption, show}) => ({\n value: name,\n text: caption,\n show,\n }));\n }\n\n changeFormat = (format: State['format']) => this.setState({format});\n changeNumRows = (numRows: State['numRows']) => this.setState({numRows});\n changeStartRow = (startRow: State['startRow']) => this.setState({startRow});\n changeRowsMode = (rowsMode: State['rowsMode']) => this.setState({rowsMode});\n changeKeyColumn = (keyColumn: State['keyColumn']) => this.setState({keyColumn});\n changeYsonFormat = (ysonFormat: State['ysonFormat']) => this.setState({ysonFormat});\n changeValueColumn = (valueColumn: State['valueColumn']) => this.setState({valueColumn});\n changeColumnsMode = (columnsMode: State['columnsMode']) => this.setState({columnsMode});\n changeSubkeyColumn = (subkeyColumn: State['subkeyColumn']) => this.setState({subkeyColumn});\n changeValueSentinel = (valueSentinel: State['valueSentinel']) => this.setState({valueSentinel});\n changeSelectedColumns = (selectedColumns: State['selectedColumns']) =>\n this.setState({selectedColumns});\n changeSchemafulDsvMissingMode = (schemafulDsvMissingMode: State['schemafulDsvMissingMode']) =>\n this.setState({schemafulDsvMissingMode});\n\n toggleEncodeUtf = () => this.setState((prevState) => ({encodeUtf: !prevState.encodeUtf}));\n toggleWithSubkey = () => this.setState((prevState) => ({withSubkey: !prevState.withSubkey}));\n toggleWithHeaders = () => this.setState((prevState) => ({withHeaders: !prevState.withHeaders}));\n\n parseColumn(column: string, useQuotes: boolean) {\n const {showDecoded} = this.props;\n const parsedColumn = showDecoded ? unipika.decode(column) : column;\n\n // When forming the url address for reading a table we pass column names as\n // `read_table?path/to/file{\"column1\",\"column2\"}` where they should be wrapped in quotes\n\n // In case of schemaful_dsv format column names are passed as part of request params as well. It looks like:\n // read_table?path/to/file{\"Группа+клиентов\",\"Ранг+оффера\"}&output_format[$attributes][columns][]=Группа+клиентов&output_format[$attributes][columns][]=Ранг+оффера\n\n // [columns][]=Группа+клиентов -- valid,\n // [columns][]=\"Группа+клиентов\" -- invalid\n\n if (useQuotes) {\n return `\"${parsedColumn}\"`;\n }\n\n return parsedColumn;\n }\n\n prepareColumnsForColumnMode(useQuotes = true) {\n const {columnsMode, selectedColumns} = this.state;\n\n if (columnsMode === 'all') {\n const preparedColumns = _.map(selectedColumns, 'name');\n\n return _.map(preparedColumns, (column) => this.parseColumn(column, useQuotes));\n } else if (columnsMode === 'custom') {\n const preparedColumns = _.reduce(\n selectedColumns,\n (columns, item) => {\n if (item.checked) {\n columns.push(item.name);\n }\n\n return columns;\n },\n [] as Array<string>,\n );\n\n return _.map(preparedColumns, (column) => this.parseColumn(column, useQuotes));\n }\n return undefined;\n }\n\n prepareYamrColumns() {\n const {columns} = this.props;\n\n return _.map(columns, ({name}) => {\n const column = this.parseColumn(name, false);\n return {\n value: column,\n title: column,\n name: column,\n };\n });\n }\n\n renderPaginator() {\n const {rowCount} = this.props;\n\n const isStartRowEmpty = this.state.startRow === 0;\n const isNumRowsInvalid = typeof this.state.numRows !== 'number';\n const isStartRowInvalid = typeof this.state.startRow !== 'number';\n\n const startRow = Number(this.state.startRow);\n const numRows = Number(this.state.numRows);\n\n return (\n <Pagination\n showInput\n inputValue={String(startRow)}\n onChange={(value: string) => {\n const row = DownloadManager.prepareValue(value);\n this.changeStartRow(row);\n }}\n first={{\n handler: () => {\n this.changeStartRow(0);\n },\n disabled: isStartRowEmpty || isStartRowInvalid || isNumRowsInvalid,\n }}\n previous={{\n handler: () => {\n const row = Math.max((startRow as number) - (numRows as number), 0);\n this.changeStartRow(row);\n },\n disabled: isStartRowEmpty || isStartRowInvalid || isNumRowsInvalid,\n }}\n next={{\n handler: () => {\n const row =\n startRow + numRows < rowCount - numRows\n ? startRow + numRows\n : Math.max(rowCount - numRows, 0);\n this.changeStartRow(row);\n },\n disabled:\n startRow + numRows >= rowCount || isStartRowInvalid || isNumRowsInvalid,\n }}\n last={{\n handler: () => {\n const row = Math.max(rowCount - numRows, 0);\n this.changeStartRow(row);\n },\n disabled:\n startRow + numRows >= rowCount || isStartRowInvalid || isNumRowsInvalid,\n }}\n />\n );\n }\n\n renderRows() {\n const {rowsMode, numRows} = this.state;\n\n return (\n <React.Fragment>\n <div className=\"elements-form__label\">Rows</div>\n <RadioButton\n size=\"m\"\n value={rowsMode}\n name=\"download-manager-row-mode\"\n onUpdate={(value) => this.changeRowsMode(value)}\n options={[\n {value: 'all', content: 'All'},\n {value: 'range', content: 'Range'},\n ]}\n />\n\n {rowsMode === 'range' && (\n <div className={block('rows')}>\n <div className=\"elements-form__field\">\n <div className=\"elements-form__label\">Start row</div>\n {this.renderPaginator()}\n </div>\n\n <div className=\"elements-form__field\">\n <div className=\"elements-form__label\">Number of rows</div>\n <Filter\n qa=\"download-manager_number-of-rows\"\n autofocus={false}\n value={String(numRows)}\n invalid={isNaN(numRows as number) || numRows === ''}\n onChange={(value) => {\n const num = DownloadManager.prepareValue(value);\n this.changeNumRows(num);\n }}\n />\n </div>\n </div>\n )}\n </React.Fragment>\n );\n }\n\n renderColumns() {\n const {columnsMode, format, selectedColumns} = this.state;\n const {srcColumns} = this.props;\n\n return (\n <React.Fragment>\n <div className=\"elements-form__label\">Columns</div>\n <RadioButton\n size=\"m\"\n value={columnsMode}\n name=\"download-manager-columns-mode\"\n onUpdate={(value) => this.changeColumnsMode(value)}\n options={[\n {value: 'all', content: 'All'},\n {value: 'custom', content: 'Custom'},\n ]}\n />\n\n {columnsMode === 'custom' && (\n <ColumnSelector\n isSortable={format === 'schemaful_dsv'}\n className={block('columns-selector')}\n onChange={({items}: FIX_MY_TYPE) =>\n this.changeSelectedColumns(items as FIX_MY_TYPE)\n }\n items={selectedColumns}\n srcItems={srcColumns}\n isHeadless\n />\n )}\n </React.Fragment>\n );\n }\n\n renderSchemafulDsv() {\n const {withHeaders, schemafulDsvMissingMode, valueSentinel} = this.state;\n\n return (\n <div className={block('schemaful-dsv')}>\n <div className=\"elements-form__field\">\n <div className=\"elements-form__label\">Missing value mode</div>\n <RadioButton\n size=\"m\"\n value={schemafulDsvMissingMode}\n name=\"download-manager-schemaful-dsv-mode\"\n onUpdate={(value) => this.changeSchemafulDsvMissingMode(value)}\n options={[\n {value: 'fail', content: 'Fail'},\n {value: 'skip_row', content: 'Skip row'},\n {value: 'print_sentinel', content: 'Print sentinel'},\n ]}\n />\n </div>\n\n {schemafulDsvMissingMode === 'print_sentinel' && (\n <div className=\"elements-form__field\">\n <div className=\"elements-form__label\">Missing value sentinel</div>\n <TextInput\n size=\"m\"\n value={valueSentinel}\n onUpdate={this.changeValueSentinel}\n placeholder=\"Please note that sentinels that coerce to number or boolean are not supported\"\n />\n </div>\n )}\n\n <Checkbox size=\"l\" checked={withHeaders} onChange={this.toggleWithHeaders}>\n Prepend with column names header\n </Checkbox>\n {this.renderSeparatorEditors()}\n </div>\n );\n }\n\n renderSeparatorEditors({showKeyValueSeparator = false} = {}) {\n const {keyValue, field, record} = this.state.separators;\n return (\n <div className={block('dsv-separators')}>\n {showKeyValueSeparator && (\n <div className={block('dsv-separators-item')}>\n <div className={'elements-form__label'}>Key-value separator</div>\n <SeparatorInput value={keyValue} onChange={this.setKeyValueSeparator} />\n </div>\n )}\n <div className={block('dsv-separators-item')}>\n <div className={'elements-form__label'}>Field separator</div>\n <SeparatorInput value={field} onChange={this.setFieldSeparator} />\n </div>\n <div className={block('dsv-separators-item')}>\n <div className={'elements-form__label'}>Record separator</div>\n <SeparatorInput value={record} onChange={this.setRecordSeparator} />\n </div>\n </div>\n );\n }\n\n setKeyValueSeparator = (v?: string) => {\n this.onSeparatorChange('keyValue', v);\n };\n\n setFieldSeparator = (v?: string) => {\n this.onSeparatorChange('field', v);\n };\n\n setRecordSeparator = (v?: string) => {\n this.onSeparatorChange('record', v);\n };\n\n onSeparatorChange(separatorType: keyof State['separators'], value?: string) {\n this.setState({\n separators: {\n ...this.state.separators,\n [separatorType]: value,\n },\n });\n }\n\n renderYamr() {\n const {withSubkey} = this.state;\n const {columns} = this.props;\n\n return (\n <div className={block('with-subkey')}>\n <Checkbox\n size=\"l\"\n checked={withSubkey}\n disabled={columns.length < 3}\n onChange={this.toggleWithSubkey}\n >\n With subkey\n </Checkbox>\n </div>\n );\n }\n\n renderYamrColumns() {\n const {withSubkey, keyColumn, subkeyColumn, valueColumn} = this.state;\n\n return (\n <div className={block('yamr-columns')}>\n <div className=\"elements-form__field\">\n <div className=\"elements-form__label\">Key</div>\n <Select\n value={keyColumn ? [keyColumn] : undefined}\n onUpdate={(vals) => this.changeKeyColumn(vals[0])}\n items={this.prepareYamrColumns()}\n placeholder=\"Choose key column...\"\n hideFilter\n width=\"max\"\n />\n </div>\n\n {withSubkey && (\n <div className=\"elements-form__field\">\n <div className=\"elements-form__label\">Subkey</div>\n <Select\n hideFilter\n value={subkeyColumn ? [subkeyColumn] : undefined}\n items={this.prepareYamrColumns()}\n onUpdate={(vals) => this.changeSubkeyColumn(vals[0])}\n placeholder=\"Choose subkey column...\"\n width=\"max\"\n />\n </div>\n )}\n\n <div className=\"elements-form__field\">\n <div className=\"elements-form__label\">Value</div>\n <Select\n hideFilter\n value={valueColumn ? [valueColumn] : undefined}\n onUpdate={(vals) => this.changeValueColumn(vals[0])}\n items={this.prepareYamrColumns()}\n placeholder=\"Choose value column...\"\n width=\"max\"\n />\n </div>\n </div>\n );\n }\n\n renderYson() {\n const {ysonFormat} = this.state;\n\n return (\n <div className={block('yson', 'elements-form__field')}>\n <div className=\"elements-form__label\">Format</div>\n <RadioButton\n size=\"m\"\n value={ysonFormat}\n name=\"download-manager-yson-format\"\n onUpdate={(value) => this.changeYsonFormat(value)}\n options={[\n {value: 'text', content: 'Text'},\n {value: 'pretty', content: 'Pretty'},\n {value: 'binary', content: 'Binary'},\n ]}\n />\n </div>\n );\n }\n\n renderJson() {\n const {encodeUtf} = this.state;\n\n return (\n <div className={block('json')}>\n <Checkbox size=\"l\" checked={encodeUtf} onChange={this.toggleEncodeUtf}>\n Encode as UTF8\n </Checkbox>\n </div>\n );\n }\n\n renderExcel() {\n const {number_precision_mode: excelNumberPrecisionMode} = this.state;\n return (\n <React.Fragment>\n <div className=\"elements-form__label\">Number precision mode</div>\n <RadioButton\n size=\"m\"\n value={excelNumberPrecisionMode}\n onUpdate={(v) => this.setState({number_precision_mode: v})}\n options={[\n {value: 'string' as const, content: 'String'},\n {value: 'error' as const, content: 'Error'},\n {value: 'lose' as const, content: 'Lose'},\n ]}\n />\n </React.Fragment>\n );\n }\n\n renderContent() {\n const {format} = this.state;\n const faqLink = (\n <Link url={UIFactory.docsUrls['faq:web_interface_table_download']}>FAQ</Link>\n );\n const cliLink = <Link url={UIFactory.docsUrls['api:cli']}>CLI</Link>;\n\n const {description, doc} = this.formats[format];\n\n return (\n <div className={block('content')}>\n <div className={messageBlock({theme: 'warning'})}>\n Please note that download error if any is appended at the end of the file and is\n marked with special delimiters.{' '}\n {docsUrl(<>See our {faqLink} for more details.</>)}\n </div>\n <div className={messageBlock({theme: 'warning'})}>\n Please note that this is not a production-ready tool. For production usecases we\n highly recommend using yt read command from our {docsUrl(cliLink, 'CLI')}{' '}\n instead as it provides advanced features like error detection, download retries,\n and more.\n </div>\n\n <div className={block('manager')}>\n <div className={block('format')}>\n <Tabs\n size=\"l\"\n active={format}\n layout=\"vertical\"\n items={this.tabItems}\n className={block('tabs')}\n onTabChange={this.changeFormat}\n />\n\n <div className={block('help')}>\n <p className={block('format-description')}>{description}</p>\n {doc && <HelpLink url={doc} />}\n </div>\n </div>\n\n <div className={block('settings', 'pretty-scroll')}>\n <div className={block('shared-settings')}>\n {this.renderRows()}\n {format !== 'yamr' && this.renderColumns()}\n {format === 'yamr' && this.renderYamr()}\n </div>\n\n <div className={block('type-settings')}>\n {format === 'dsv' &&\n this.renderSeparatorEditors({showKeyValueSeparator: true})}\n {format === 'schemaful_dsv' && this.renderSchemafulDsv()}\n {format === 'yamr' && this.renderYamrColumns()}\n {format === 'json' && this.renderJson()}\n {format === 'yson' && this.renderYson()}\n {format === 'excel' && this.renderExcel()}\n </div>\n </div>\n </div>\n </div>\n );\n }\n\n renderConfirmButton = (className: string) => {\n const {format} = this.state;\n\n const {url, error} =\n format === 'excel' ? this.getExcelDownloadLink() : this.getDownloadLink();\n\n return (\n <Button\n size=\"m\"\n view=\"action\"\n className={className}\n title=\"Download\"\n target=\"_blank\"\n href={url}\n disabled={Boolean(error)}\n qa=\"download-static-table\"\n >\n Download\n </Button>\n );\n };\n\n showDialog = () => {\n const {handleShow, cluster} = this.props;\n handleShow();\n checkExcelExporter(cluster).then((excelExporter) => {\n this.setState({excelExporter});\n });\n };\n\n render() {\n const {loading, className, visible, handleClose} = this.props;\n\n return (\n <div className={block(null, className)}>\n <Button\n size=\"m\"\n title=\"download\"\n disabled={loading}\n onClick={this.showDialog}\n qa={'show-download-static-table'}\n >\n <Icon awesome=\"download\" />\n Download\n </Button>\n\n {visible && (\n <Modal\n size=\"l\"\n title=\"Download\"\n visible={visible}\n onCancel={handleClose}\n confirmText=\"Download\"\n content={this.renderContent()}\n renderCustomConfirm={this.renderConfirmButton}\n />\n )}\n </div>\n );\n }\n}\n\nconst mapStateToProps = (state: RootState) => {\n const {loading}: {loading: boolean} = state.navigation.content.table;\n\n const pageSize: number = getRowsPerTablePage(state);\n const showDecoded: boolean = getShowDecoded(state);\n const offsetValue = getOffsetValue(state);\n const allColumns: Array<{name: string; checked: boolean}> = getAllColumns(state);\n const srcColumns = getSrcColumns(state);\n const rowCount = getRowCount(state);\n const cluster = getCluster(state);\n const columns: typeof allColumns = getColumns(state);\n const schema = getSchema(state);\n const path = getPath(state);\n const {proxy, externalProxy} = getCurrentClusterConfig(state);\n const transaction_id = getTransaction(state);\n\n const isSchematicTable = schema.length > 0;\n\n return {\n loading,\n path,\n cluster,\n offsetValue,\n rowCount,\n pageSize,\n allColumns,\n srcColumns,\n columns,\n showDecoded,\n isSchematicTable,\n proxy,\n externalProxy,\n transaction_id,\n };\n};\nconst connector = connect(mapStateToProps);\nexport default compose(connector, withVisible)(DownloadManager);\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["React","connect","unipika","compose","cn","qs","axios","Checkbox","RadioButton","TextInput","ColumnSelector","Pagination","HelpLink","Filter","Button","Modal","Icon","Link","Tabs","Select","getRowsPerTablePage","getShowDecoded","getSchema","getPath","getTransaction","getCluster","getCurrentClusterConfig","withVisible","getAllColumns","getOffsetValue","getRowCount","getSrcColumns","getColumns","docsUrl","uiSettings","SeparatorInput","prepareSeparatorValue","UIFactory","makeDirectDownloadPath","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","block","messageBlock","EXCEL_BASE_URL","exportTableBaseUrl","checkExcelExporter","cluster","Promise","resolve","get","concat","then","DownloadManager","_React$Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","changeFormat","format","setState","changeNumRows","numRows","changeStartRow","startRow","changeRowsMode","rowsMode","changeKeyColumn","keyColumn","changeYsonFormat","ysonFormat","changeValueColumn","valueColumn","changeColumnsMode","columnsMode","changeSubkeyColumn","subkeyColumn","changeValueSentinel","valueSentinel","changeSelectedColumns","selectedColumns","changeSchemafulDsvMissingMode","schemafulDsvMissingMode","toggleEncodeUtf","prevState","encodeUtf","toggleWithSubkey","withSubkey","toggleWithHeaders","withHeaders","setKeyValueSeparator","v","onSeparatorChange","setFieldSeparator","setRecordSeparator","renderConfirmButton","className","state","_ref","getExcelDownloadLink","getDownloadLink","url","error","size","view","title","target","href","disabled","Boolean","qa","children","showDialog","_this$props","handleShow","excelExporter","columns","visible","pageSize","offsetValue","allColumns","separators","keyValue","field","record","length","hasColumn","undefined","number_precision_mode","_createClass","key","value","getOutputFormat","_this$state","currentAttributes","outputFormat","$value","$attributes","prepareColumnsForColumnMode","errors","collectErrors","_ref2","push","inner_errors","message","_this$state2","Number","columnNames","String","path","downloadColumns","downloadRows","getDownloadParams","transaction_id","_this$getOutputFormat","output_format","query","stringify","Object","assign","downloadPath","dump_error_into_response","_this$props2","proxy","externalProxy","base","_this$getDownloadPara","_this$getDownloadPara2","params","URLSearchParams","makeDocsUrl","arguments","docsUrls","isSchematicTable","dsv","name","caption","description","doc","show","schemaful_dsv","join","yamr","yson","json","excel","_map","_values","formats","_ref3","text","parseColumn","column","useQuotes","showDecoded","parsedColumn","decode","_this2","_this$state3","preparedColumns","_reduce","item","checked","prepareYamrColumns","_this3","_ref4","renderPaginator","_this4","rowCount","isStartRowEmpty","isNumRowsInvalid","isStartRowInvalid","showInput","inputValue","onChange","row","prepareValue","first","handler","previous","Math","max","next","last","renderRows","_this5","_this$state4","onUpdate","options","content","autofocus","invalid","isNaN","num","renderColumns","_this6","_this$state5","srcColumns","isSortable","_ref5","items","srcItems","isHeadless","renderSchemafulDsv","_this7","_this$state6","placeholder","renderSeparatorEditors","_ref6","_ref6$showKeyValueSep","showKeyValueSeparator","_this$state$separator","separatorType","_objectSpread","_defineProperty","renderYamr","renderYamrColumns","_this8","_this$state7","vals","hideFilter","width","renderYson","_this9","renderJson","renderExcel","_this10","excelNumberPrecisionMode","renderContent","faqLink","cliLink","_this$formats$format","theme","active","layout","tabItems","onTabChange","render","_this$props3","loading","handleClose","onClick","awesome","onCancel","confirmText","renderCustomConfirm","parsedValue","prepareColumns","_filter","_ref7","_find","getDerivedStateFromProps","nextProps","Component","mapStateToProps","navigation","table","schema","_getCurrentClusterCon","connector"],"sources":["DownloadManager.tsx"],"sourcesContent":["import React from 'react';\nimport {ConnectedProps, connect} from 'react-redux';\nimport unipika from '../../../../../common/thor/unipika';\nimport {compose} from 'redux';\nimport cn from 'bem-cn-lite';\nimport _ from 'lodash';\nimport qs from 'qs';\nimport axios from 'axios';\n\nimport {Checkbox, RadioButton, TextInput} from '@gravity-ui/uikit';\n\nimport ColumnSelector from '../../../../../components/ColumnSelector/ColumnSelector';\nimport Pagination from '../../../../../components/Pagination/Pagination';\nimport HelpLink from '../../../../../components/HelpLink/HelpLink';\nimport Filter from '../../../../../components/Filter/Filter';\nimport Button from '../../../../../components/Button/Button';\nimport Modal from '../../../../../components/Modal/Modal';\nimport Icon from '../../../../../components/Icon/Icon';\nimport Link from '../../../../../components/Link/Link';\nimport Tabs from '../../../../../components/Tabs/Tabs';\nimport Select from '../../../../../components/Select/Select';\n\nimport {getRowsPerTablePage, getShowDecoded} from '../../../../../store/selectors/settings';\nimport {getSchema} from '../../../../../store/selectors/navigation/tabs/schema';\nimport {getPath, getTransaction} from '../../../../../store/selectors/navigation';\nimport {getCluster, getCurrentClusterConfig} from '../../../../../store/selectors/global';\nimport withVisible, {WithVisibleProps} from '../../../../../hocs/withVisible';\nimport {\n getAllColumns,\n getOffsetValue,\n getRowCount,\n getSrcColumns,\n} from '../../../../../store/selectors/navigation/content/table';\nimport {getColumns} from '../../../../../store/selectors/navigation/content/table-ts';\n\nimport './DownloadManager.scss';\nimport {docsUrl} from '../../../../../config';\nimport {uiSettings} from '../../../../../config/ui-settings';\nimport SeparatorInput, {prepareSeparatorValue} from './SeparatorInput';\nimport UIFactory from '../../../../../UIFactory';\nimport {makeDirectDownloadPath} from '../../../../../utils/navigation';\nimport {RootState} from '../../../../../store/reducers';\nimport {FIX_MY_TYPE} from '../../../../../types';\n\nconst block = cn('table-download-manager');\nconst messageBlock = cn('elements-message');\n\nconst EXCEL_BASE_URL = uiSettings?.exportTableBaseUrl;\n\nfunction checkExcelExporter(cluster: string) {\n if (!EXCEL_BASE_URL) {\n return Promise.resolve(false);\n }\n\n return axios\n .get(`${EXCEL_BASE_URL}/${cluster}/api/ready`)\n .then(() => true)\n .catch(() => false);\n}\n\ntype ReduxProps = Omit<ConnectedProps<typeof connector>, 'dispatch'>;\ntype Props = ReduxProps & WithVisibleProps & {className?: string};\n\ntype State = {\n format: 'dsv' | 'schemaful_dsv' | 'yamr' | 'yson' | 'json' | 'excel';\n visible?: boolean;\n excelExporter: boolean;\n rowsMode: 'range' | 'all';\n startRow: string | number;\n numRows: string | number;\n valueSentinel: string;\n ysonFormat: 'text' | 'pretty' | 'binary';\n columnsMode: 'all' | 'custom';\n\n schemafulDsvMissingMode: 'fail' | 'skip_row' | 'print_sentinel';\n separators: {keyValue?: string; record?: string; field?: string};\n\n encodeUtf: boolean;\n withHeaders: boolean;\n\n withSubkey: boolean;\n keyColumn?: string;\n valueColumn?: string;\n subkeyColumn?: string;\n\n selectedColumns?: Props['columns'];\n\n number_precision_mode: 'string' | 'error' | 'lose';\n};\n\nexport class DownloadManager extends React.Component<Props, State> {\n static prepareValue(value: string): number | string {\n const parsedValue = Number(value || undefined); // we need `|| undefined` cause Number('') === 0\n return isNaN(parsedValue) ? value : parsedValue;\n }\n\n static prepareColumns(columns: Array<{checked?: boolean}>) {\n return _.filter(columns, ({checked}) => checked);\n }\n\n static hasColumn(columns: Array<{name?: string}>, name: string) {\n return Boolean(_.find(columns, (column) => column.name === name));\n }\n\n static getDerivedStateFromProps(nextProps: Props, prevState: State) {\n if (nextProps.visible !== prevState.visible) {\n const {columns} = nextProps;\n return {\n visible: nextProps.visible,\n numRows: nextProps.pageSize,\n startRow: nextProps.offsetValue,\n selectedColumns: nextProps.allColumns,\n\n withSubkey: nextProps.columns.length >= 3,\n keyColumn: DownloadManager.hasColumn(columns, 'key') ? 'key' : undefined,\n valueColumn: DownloadManager.hasColumn(columns, 'value') ? 'value' : undefined,\n subkeyColumn: DownloadManager.hasColumn(columns, 'subkey') ? 'subkey' : undefined,\n };\n }\n\n return null;\n }\n\n constructor(props: Props) {\n super(props);\n\n const {columns, visible, pageSize, offsetValue, allColumns} = props;\n\n this.state = {\n format: 'dsv',\n visible,\n rowsMode: 'all',\n valueSentinel: '',\n ysonFormat: 'text',\n columnsMode: 'all',\n schemafulDsvMissingMode: 'fail', //print_sentinel\n\n separators: {\n keyValue: '=',\n field: '\\\\t',\n record: '\\\\n',\n },\n\n encodeUtf: false,\n withHeaders: true,\n\n withSubkey: columns.length >= 3,\n keyColumn: DownloadManager.hasColumn(columns, 'key') ? 'key' : undefined,\n valueColumn: DownloadManager.hasColumn(columns, 'value') ? 'value' : undefined,\n subkeyColumn: DownloadManager.hasColumn(columns, 'subkey') ? 'subkey' : undefined,\n\n numRows: pageSize,\n startRow: offsetValue,\n selectedColumns: allColumns,\n\n excelExporter: false,\n number_precision_mode: 'string',\n };\n }\n\n getOutputFormat() {\n const {\n format,\n encodeUtf,\n ysonFormat,\n withSubkey,\n keyColumn,\n valueColumn,\n subkeyColumn,\n schemafulDsvMissingMode,\n valueSentinel,\n withHeaders,\n separators,\n } = this.state;\n\n const currentAttributes: Record<string, any> = {};\n const outputFormat = {\n $value: format,\n $attributes: currentAttributes,\n };\n\n if (format === 'json') {\n currentAttributes['encode_utf8'] = encodeUtf;\n }\n\n if (format === 'yson') {\n currentAttributes['format'] = ysonFormat;\n }\n\n if (format === 'yamr') {\n currentAttributes['lenval'] = false;\n currentAttributes['has_subkey'] = withSubkey;\n\n if (keyColumn) {\n currentAttributes['key'] = keyColumn;\n }\n\n if (valueColumn) {\n currentAttributes['value'] = valueColumn;\n }\n\n if (subkeyColumn && subkeyColumn) {\n currentAttributes['subkey'] = subkeyColumn;\n }\n }\n\n if (format === 'schemaful_dsv') {\n currentAttributes['missing_value_mode'] = schemafulDsvMissingMode;\n\n if (schemafulDsvMissingMode === 'print_sentinel') {\n currentAttributes['missing_value_sentinel'] = valueSentinel;\n }\n\n currentAttributes['enable_column_names_header'] = withHeaders;\n\n currentAttributes['columns'] = this.prepareColumnsForColumnMode(false);\n }\n\n const errors: Array<string> = [];\n\n function collectErrors<T>({value, error}: {value: T; error?: string}) {\n if (error) {\n errors.push(error);\n }\n return value;\n }\n\n if (format === 'schemaful_dsv' || format === 'dsv') {\n currentAttributes['field_separator'] = collectErrors(\n prepareSeparatorValue(separators.field),\n );\n currentAttributes['record_separator'] = collectErrors(\n prepareSeparatorValue(separators.record),\n );\n }\n\n if (format === 'dsv') {\n currentAttributes['key_value_separator'] = collectErrors(\n prepareSeparatorValue(separators.keyValue),\n );\n }\n\n return {\n value: outputFormat,\n error:\n errors.length === 0\n ? undefined\n : {inner_errors: errors, message: 'There are some values with errors'},\n };\n }\n\n get downloadRows() {\n const {rowsMode} = this.state;\n\n if (rowsMode === 'range') {\n const {startRow, numRows} = this.state;\n return '[#' + startRow + ':#' + (Number(startRow) + Number(numRows)) + ']';\n } else {\n return '';\n }\n }\n\n get downloadColumns() {\n const {columnsMode} = this.state;\n\n if (columnsMode !== 'all') {\n const columnNames = this.prepareColumnsForColumnMode();\n return '{' + String(columnNames) + '}';\n } else {\n return '';\n }\n }\n\n get downloadPath() {\n const {path} = this.props;\n\n return path + this.downloadColumns + this.downloadRows;\n }\n\n getDownloadParams() {\n const {transaction_id} = this.props;\n const {value: output_format, error} = this.getOutputFormat();\n const query = qs.stringify(\n Object.assign(\n {\n path: this.downloadPath,\n output_format,\n dump_error_into_response: true,\n },\n transaction_id ? {transaction_id} : {},\n ),\n );\n return {query, error};\n }\n\n getDownloadLink() {\n const {cluster, proxy, externalProxy} = this.props;\n const base = makeDirectDownloadPath('read_table', {cluster, proxy, externalProxy});\n const {query, error} = this.getDownloadParams();\n return {url: base + '?' + query, error};\n }\n\n getExcelDownloadLink() {\n const {cluster} = this.props;\n const base = `${EXCEL_BASE_URL}/${cluster}/api/export`;\n\n const {query, error} = this.getDownloadParams();\n const {number_precision_mode} = this.state;\n const params = new URLSearchParams({number_precision_mode});\n\n return {url: `${base}?${params}&${query}`, error};\n }\n\n makeDocsUrl(path = '') {\n return docsUrl(UIFactory.docsUrls['storage:formats'] + path);\n }\n\n get formats() {\n const {isSchematicTable} = this.props;\n const {excelExporter} = this.state;\n\n return {\n dsv: {\n name: 'dsv' as const,\n caption: 'TSKV',\n description:\n 'Tab-separated key-value format. ' +\n 'Please note that this format erases type information due to string conversion.',\n doc: this.makeDocsUrl('#dsv'),\n show: true,\n },\n schemaful_dsv: {\n name: 'schemaful_dsv' as const,\n caption: 'Schemaful DSV',\n description: [\n 'Tab-separated format with fixed, ordered set of columns.',\n 'Please note that this format erases type information due to string conversion.',\n ].join(' '),\n doc: this.makeDocsUrl('#schemaful_dsv'),\n show: true,\n },\n yamr: {\n name: 'yamr' as const,\n caption: 'YAMR',\n description:\n 'Legacy tab-separated format with fixed set of columns used in YAMR. ' +\n 'Please note that this format can only contain 2 or 3 columns, ' +\n 'columns named \"key\", \"subkey\" and \"value\" respectively are downloaded by default.',\n doc: this.makeDocsUrl('#yamr'),\n show: true,\n },\n yson: {\n name: 'yson' as const,\n caption: 'YSON',\n description: 'Yet-another Serialized Object Notation.',\n doc: this.makeDocsUrl('#yson'),\n show: true,\n },\n json: {\n name: 'json' as const,\n caption: 'JSON Lines',\n description:\n 'JSON Lines text format, also called newline-delimited JSON (JavaScript Serialized Object Notation).',\n doc: this.makeDocsUrl('#json'),\n show: true,\n },\n excel: {\n name: 'excel' as const,\n caption: 'Excel',\n description: '',\n doc: docsUrl(UIFactory.docsUrls['storage:excel#skachivanie']),\n show: excelExporter && isSchematicTable,\n },\n };\n }\n\n get tabItems() {\n return _.map(_.values(this.formats), ({name, caption, show}) => ({\n value: name,\n text: caption,\n show,\n }));\n }\n\n changeFormat = (format: State['format']) => this.setState({format});\n changeNumRows = (numRows: State['numRows']) => this.setState({numRows});\n changeStartRow = (startRow: State['startRow']) => this.setState({startRow});\n changeRowsMode = (rowsMode: State['rowsMode']) => this.setState({rowsMode});\n changeKeyColumn = (keyColumn: State['keyColumn']) => this.setState({keyColumn});\n changeYsonFormat = (ysonFormat: State['ysonFormat']) => this.setState({ysonFormat});\n changeValueColumn = (valueColumn: State['valueColumn']) => this.setState({valueColumn});\n changeColumnsMode = (columnsMode: State['columnsMode']) => this.setState({columnsMode});\n changeSubkeyColumn = (subkeyColumn: State['subkeyColumn']) => this.setState({subkeyColumn});\n changeValueSentinel = (valueSentinel: State['valueSentinel']) => this.setState({valueSentinel});\n changeSelectedColumns = (selectedColumns: State['selectedColumns']) =>\n this.setState({selectedColumns});\n changeSchemafulDsvMissingMode = (schemafulDsvMissingMode: State['schemafulDsvMissingMode']) =>\n this.setState({schemafulDsvMissingMode});\n\n toggleEncodeUtf = () => this.setState((prevState) => ({encodeUtf: !prevState.encodeUtf}));\n toggleWithSubkey = () => this.setState((prevState) => ({withSubkey: !prevState.withSubkey}));\n toggleWithHeaders = () => this.setState((prevState) => ({withHeaders: !prevState.withHeaders}));\n\n parseColumn(column: string, useQuotes: boolean) {\n const {showDecoded} = this.props;\n const parsedColumn = showDecoded ? unipika.decode(column) : column;\n\n // When forming the url address for reading a table we pass column names as\n // `read_table?path/to/file{\"column1\",\"column2\"}` where they should be wrapped in quotes\n\n // In case of schemaful_dsv format column names are passed as part of request params as well. It looks like:\n // read_table?path/to/file{\"Группа+клиентов\",\"Ранг+оффера\"}&output_format[$attributes][columns][]=Группа+клиентов&output_format[$attributes][columns][]=Ранг+оффера\n\n // [columns][]=Группа+клиентов -- valid,\n // [columns][]=\"Группа+клиентов\" -- invalid\n\n if (useQuotes) {\n return `\"${parsedColumn}\"`;\n }\n\n return parsedColumn;\n }\n\n prepareColumnsForColumnMode(useQuotes = true) {\n const {columnsMode, selectedColumns} = this.state;\n\n if (columnsMode === 'all') {\n const preparedColumns = _.map(selectedColumns, 'name');\n\n return _.map(preparedColumns, (column) => this.parseColumn(column, useQuotes));\n } else if (columnsMode === 'custom') {\n const preparedColumns = _.reduce(\n selectedColumns,\n (columns, item) => {\n if (item.checked) {\n columns.push(item.name);\n }\n\n return columns;\n },\n [] as Array<string>,\n );\n\n return _.map(preparedColumns, (column) => this.parseColumn(column, useQuotes));\n }\n return undefined;\n }\n\n prepareYamrColumns() {\n const {columns} = this.props;\n\n return _.map(columns, ({name}) => {\n const column = this.parseColumn(name, false);\n return {\n value: column,\n title: column,\n name: column,\n };\n });\n }\n\n renderPaginator() {\n const {rowCount} = this.props;\n\n const isStartRowEmpty = this.state.startRow === 0;\n const isNumRowsInvalid = typeof this.state.numRows !== 'number';\n const isStartRowInvalid = typeof this.state.startRow !== 'number';\n\n const startRow = Number(this.state.startRow);\n const numRows = Number(this.state.numRows);\n\n return (\n <Pagination\n showInput\n inputValue={String(startRow)}\n onChange={(value: string) => {\n const row = DownloadManager.prepareValue(value);\n this.changeStartRow(row);\n }}\n first={{\n handler: () => {\n this.changeStartRow(0);\n },\n disabled: isStartRowEmpty || isStartRowInvalid || isNumRowsInvalid,\n }}\n previous={{\n handler: () => {\n const row = Math.max((startRow as number) - (numRows as number), 0);\n this.changeStartRow(row);\n },\n disabled: isStartRowEmpty || isStartRowInvalid || isNumRowsInvalid,\n }}\n next={{\n handler: () => {\n const row =\n startRow + numRows < rowCount - numRows\n ? startRow + numRows\n : Math.max(rowCount - numRows, 0);\n this.changeStartRow(row);\n },\n disabled:\n startRow + numRows >= rowCount || isStartRowInvalid || isNumRowsInvalid,\n }}\n last={{\n handler: () => {\n const row = Math.max(rowCount - numRows, 0);\n this.changeStartRow(row);\n },\n disabled:\n startRow + numRows >= rowCount || isStartRowInvalid || isNumRowsInvalid,\n }}\n />\n );\n }\n\n renderRows() {\n const {rowsMode, numRows} = this.state;\n\n return (\n <React.Fragment>\n <div className=\"elements-form__label\">Rows</div>\n <RadioButton\n size=\"m\"\n className=\"elements-form__field\"\n value={rowsMode}\n name=\"download-manager-row-mode\"\n onUpdate={(value) => this.changeRowsMode(value)}\n options={[\n {value: 'all', content: 'All'},\n {value: 'range', content: 'Range'},\n ]}\n />\n\n {rowsMode === 'range' && (\n <div className={block('rows')}>\n <div className=\"elements-form__field\">\n <div className=\"elements-form__label\">Start row</div>\n {this.renderPaginator()}\n </div>\n\n <div className=\"elements-form__field\">\n <div className=\"elements-form__label\">Number of rows</div>\n <Filter\n qa=\"download-manager_number-of-rows\"\n autofocus={false}\n value={String(numRows)}\n invalid={isNaN(numRows as number) || numRows === ''}\n onChange={(value) => {\n const num = DownloadManager.prepareValue(value);\n this.changeNumRows(num);\n }}\n />\n </div>\n </div>\n )}\n </React.Fragment>\n );\n }\n\n renderColumns() {\n const {columnsMode, format, selectedColumns} = this.state;\n const {srcColumns} = this.props;\n\n return (\n <React.Fragment>\n <div className=\"elements-form__label\">Columns</div>\n <RadioButton\n size=\"m\"\n className=\"elements-form__field\"\n value={columnsMode}\n name=\"download-manager-columns-mode\"\n onUpdate={(value) => this.changeColumnsMode(value)}\n options={[\n {value: 'all', content: 'All'},\n {value: 'custom', content: 'Custom'},\n ]}\n />\n\n {columnsMode === 'custom' && (\n <ColumnSelector\n isSortable={format === 'schemaful_dsv'}\n className={block('columns-selector')}\n onChange={({items}: FIX_MY_TYPE) =>\n this.changeSelectedColumns(items as FIX_MY_TYPE)\n }\n items={selectedColumns}\n srcItems={srcColumns}\n isHeadless\n />\n )}\n </React.Fragment>\n );\n }\n\n renderSchemafulDsv() {\n const {withHeaders, schemafulDsvMissingMode, valueSentinel} = this.state;\n\n return (\n <div className={block('schemaful-dsv')}>\n <div className=\"elements-form__field\">\n <div className=\"elements-form__label\">Missing value mode</div>\n <RadioButton\n size=\"m\"\n value={schemafulDsvMissingMode}\n name=\"download-manager-schemaful-dsv-mode\"\n onUpdate={(value) => this.changeSchemafulDsvMissingMode(value)}\n options={[\n {value: 'fail', content: 'Fail'},\n {value: 'skip_row', content: 'Skip row'},\n {value: 'print_sentinel', content: 'Print sentinel'},\n ]}\n />\n </div>\n\n {schemafulDsvMissingMode === 'print_sentinel' && (\n <div className=\"elements-form__field\">\n <div className=\"elements-form__label\">Missing value sentinel</div>\n <TextInput\n size=\"m\"\n value={valueSentinel}\n onUpdate={this.changeValueSentinel}\n placeholder=\"Please note that sentinels that coerce to number or boolean are not supported\"\n />\n </div>\n )}\n\n <Checkbox size=\"l\" checked={withHeaders} onChange={this.toggleWithHeaders}>\n Prepend with column names header\n </Checkbox>\n {this.renderSeparatorEditors()}\n </div>\n );\n }\n\n renderSeparatorEditors({showKeyValueSeparator = false} = {}) {\n const {keyValue, field, record} = this.state.separators;\n return (\n <div className={block('dsv-separators')}>\n {showKeyValueSeparator && (\n <div className={block('dsv-separators-item')}>\n <div className={'elements-form__label'}>Key-value separator</div>\n <SeparatorInput value={keyValue} onChange={this.setKeyValueSeparator} />\n </div>\n )}\n <div className={block('dsv-separators-item')}>\n <div className={'elements-form__label'}>Field separator</div>\n <SeparatorInput value={field} onChange={this.setFieldSeparator} />\n </div>\n <div className={block('dsv-separators-item')}>\n <div className={'elements-form__label'}>Record separator</div>\n <SeparatorInput value={record} onChange={this.setRecordSeparator} />\n </div>\n </div>\n );\n }\n\n setKeyValueSeparator = (v?: string) => {\n this.onSeparatorChange('keyValue', v);\n };\n\n setFieldSeparator = (v?: string) => {\n this.onSeparatorChange('field', v);\n };\n\n setRecordSeparator = (v?: string) => {\n this.onSeparatorChange('record', v);\n };\n\n onSeparatorChange(separatorType: keyof State['separators'], value?: string) {\n this.setState({\n separators: {\n ...this.state.separators,\n [separatorType]: value,\n },\n });\n }\n\n renderYamr() {\n const {withSubkey} = this.state;\n const {columns} = this.props;\n\n return (\n <div className={block('with-subkey')}>\n <Checkbox\n size=\"l\"\n checked={withSubkey}\n disabled={columns.length < 3}\n onChange={this.toggleWithSubkey}\n >\n With subkey\n </Checkbox>\n </div>\n );\n }\n\n renderYamrColumns() {\n const {withSubkey, keyColumn, subkeyColumn, valueColumn} = this.state;\n\n return (\n <div className={block('yamr-columns')}>\n <div className=\"elements-form__field\">\n <div className=\"elements-form__label\">Key</div>\n <Select\n value={keyColumn ? [keyColumn] : undefined}\n onUpdate={(vals) => this.changeKeyColumn(vals[0])}\n items={this.prepareYamrColumns()}\n placeholder=\"Choose key column...\"\n hideFilter\n width=\"max\"\n />\n </div>\n\n {withSubkey && (\n <div className=\"elements-form__field\">\n <div className=\"elements-form__label\">Subkey</div>\n <Select\n hideFilter\n value={subkeyColumn ? [subkeyColumn] : undefined}\n items={this.prepareYamrColumns()}\n onUpdate={(vals) => this.changeSubkeyColumn(vals[0])}\n placeholder=\"Choose subkey column...\"\n width=\"max\"\n />\n </div>\n )}\n\n <div className=\"elements-form__field\">\n <div className=\"elements-form__label\">Value</div>\n <Select\n hideFilter\n value={valueColumn ? [valueColumn] : undefined}\n onUpdate={(vals) => this.changeValueColumn(vals[0])}\n items={this.prepareYamrColumns()}\n placeholder=\"Choose value column...\"\n width=\"max\"\n />\n </div>\n </div>\n );\n }\n\n renderYson() {\n const {ysonFormat} = this.state;\n\n return (\n <div className={block('yson')}>\n <div className=\"elements-form__label\">Format</div>\n <RadioButton\n size=\"m\"\n value={ysonFormat}\n name=\"download-manager-yson-format\"\n onUpdate={(value) => this.changeYsonFormat(value)}\n options={[\n {value: 'text', content: 'Text'},\n {value: 'pretty', content: 'Pretty'},\n {value: 'binary', content: 'Binary'},\n ]}\n />\n </div>\n );\n }\n\n renderJson() {\n const {encodeUtf} = this.state;\n\n return (\n <div className={block('json')}>\n <Checkbox size=\"l\" checked={encodeUtf} onChange={this.toggleEncodeUtf}>\n Encode as UTF8\n </Checkbox>\n </div>\n );\n }\n\n renderExcel() {\n const {number_precision_mode: excelNumberPrecisionMode} = this.state;\n return (\n <React.Fragment>\n <div className=\"elements-form__label\">Number precision mode</div>\n <RadioButton\n size=\"m\"\n value={excelNumberPrecisionMode}\n onUpdate={(v) => this.setState({number_precision_mode: v})}\n options={[\n {value: 'string' as const, content: 'String'},\n {value: 'error' as const, content: 'Error'},\n {value: 'lose' as const, content: 'Lose'},\n ]}\n />\n </React.Fragment>\n );\n }\n\n renderContent() {\n const {format} = this.state;\n const faqLink = (\n <Link url={UIFactory.docsUrls['faq:web_interface_table_download']}>FAQ</Link>\n );\n const cliLink = <Link url={UIFactory.docsUrls['api:cli']}>CLI</Link>;\n\n const {description, doc} = this.formats[format];\n\n return (\n <div className={block('content')}>\n <div className={messageBlock({theme: 'warning'})}>\n Please note that download error if any is appended at the end of the file and is\n marked with special delimiters.{' '}\n {docsUrl(<>See our {faqLink} for more details.</>)}\n </div>\n <div className={messageBlock({theme: 'warning'})}>\n Please note that this is not a production-ready tool. For production usecases we\n highly recommend using yt read command from our {docsUrl(cliLink, 'CLI')}{' '}\n instead as it provides advanced features like error detection, download retries,\n and more.\n </div>\n\n <div className={block('manager')}>\n <div className={block('format')}>\n <Tabs\n size=\"l\"\n active={format}\n layout=\"vertical\"\n items={this.tabItems}\n className={block('tabs')}\n onTabChange={this.changeFormat}\n />\n\n <div className={block('help')}>\n <p className={block('format-description')}>{description}</p>\n {doc && <HelpLink url={doc} />}\n </div>\n </div>\n\n <div className={block('settings', 'pretty-scroll')}>\n <div className={block('shared-settings', 'elements-form__field')}>\n {this.renderRows()}\n {format !== 'yamr' && this.renderColumns()}\n {format === 'yamr' && this.renderYamr()}\n </div>\n\n <div className={block('type-settings')}>\n {format === 'dsv' &&\n this.renderSeparatorEditors({showKeyValueSeparator: true})}\n {format === 'schemaful_dsv' && this.renderSchemafulDsv()}\n {format === 'yamr' && this.renderYamrColumns()}\n {format === 'json' && this.renderJson()}\n {format === 'yson' && this.renderYson()}\n {format === 'excel' && this.renderExcel()}\n </div>\n </div>\n </div>\n </div>\n );\n }\n\n renderConfirmButton = (className: string) => {\n const {format} = this.state;\n\n const {url, error} =\n format === 'excel' ? this.getExcelDownloadLink() : this.getDownloadLink();\n\n return (\n <Button\n size=\"m\"\n view=\"action\"\n className={className}\n title=\"Download\"\n target=\"_blank\"\n href={url}\n disabled={Boolean(error)}\n qa=\"download-static-table\"\n >\n Download\n </Button>\n );\n };\n\n showDialog = () => {\n const {handleShow, cluster} = this.props;\n handleShow();\n checkExcelExporter(cluster).then((excelExporter) => {\n this.setState({excelExporter});\n });\n };\n\n render() {\n const {loading, className, visible, handleClose} = this.props;\n\n return (\n <div className={block(null, className)}>\n <Button\n size=\"m\"\n title=\"download\"\n disabled={loading}\n onClick={this.showDialog}\n qa={'show-download-static-table'}\n >\n <Icon awesome=\"download\" />\n Download\n </Button>\n\n {visible && (\n <Modal\n size=\"l\"\n title=\"Download\"\n visible={visible}\n onCancel={handleClose}\n confirmText=\"Download\"\n content={this.renderContent()}\n renderCustomConfirm={this.renderConfirmButton}\n />\n )}\n </div>\n );\n }\n}\n\nconst mapStateToProps = (state: RootState) => {\n const {loading}: {loading: boolean} = state.navigation.content.table;\n\n const pageSize: number = getRowsPerTablePage(state);\n const showDecoded: boolean = getShowDecoded(state);\n const offsetValue = getOffsetValue(state);\n const allColumns: Array<{name: string; checked: boolean}> = getAllColumns(state);\n const srcColumns = getSrcColumns(state);\n const rowCount = getRowCount(state);\n const cluster = getCluster(state);\n const columns: typeof allColumns = getColumns(state);\n const schema = getSchema(state);\n const path = getPath(state);\n const {proxy, externalProxy} = getCurrentClusterConfig(state);\n const transaction_id = getTransaction(state);\n\n const isSchematicTable = schema.length > 0;\n\n return {\n loading,\n path,\n cluster,\n offsetValue,\n rowCount,\n pageSize,\n allColumns,\n srcColumns,\n columns,\n showDecoded,\n isSchematicTable,\n proxy,\n externalProxy,\n transaction_id,\n };\n};\nconst connector = connect(mapStateToProps);\nexport default compose(connector, withVisible)(DownloadManager);\n"],"mappings":"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"}
|
@@ -46,10 +46,6 @@
|
|
46
46
|
}
|
47
47
|
|
48
48
|
&__shared-settings {
|
49
|
-
.elements-radiobutton {
|
50
|
-
margin-bottom: 20px;
|
51
|
-
}
|
52
|
-
|
53
49
|
.column-selector {
|
54
50
|
max-height: 25vh;
|
55
51
|
|
@@ -76,12 +72,6 @@
|
|
76
72
|
background-color: var(--light-background);
|
77
73
|
}
|
78
74
|
|
79
|
-
&__schemaful-dsv,
|
80
|
-
&__yson,
|
81
|
-
&__json {
|
82
|
-
margin-top: 20px;
|
83
|
-
}
|
84
|
-
|
85
75
|
&__dsv-separators-item {
|
86
76
|
padding-top: 10px;
|
87
77
|
}
|
@@ -39,7 +39,7 @@
|
|
39
39
|
"css/8763.9d09aa2f.chunk.css": "css/8763.9d09aa2f.chunk.css",
|
40
40
|
"css/8763.9d09aa2f.chunk.css.map": "css/8763.9d09aa2f.chunk.css.map",
|
41
41
|
"css/acl.34c540ad.chunk.css.map": "css/acl.34c540ad.chunk.css.map",
|
42
|
-
"css/main.
|
42
|
+
"css/main.a8148b6c.css.map": "css/main.a8148b6c.css.map",
|
43
43
|
"editor.afbd84bf.worker.js": "editor.afbd84bf.worker.js",
|
44
44
|
"editor.afbd84bf.worker.js.LICENSE.txt": "editor.afbd84bf.worker.js.LICENSE.txt",
|
45
45
|
"editor.afbd84bf.worker.js.map": "editor.afbd84bf.worker.js.map",
|
@@ -49,10 +49,10 @@
|
|
49
49
|
"js": [
|
50
50
|
"js/runtime.0542f15e.js",
|
51
51
|
"js/vendors.fda103a3.js",
|
52
|
-
"js/main.
|
52
|
+
"js/main.8d129ddf.js"
|
53
53
|
],
|
54
54
|
"css": [
|
55
|
-
"css/main.
|
55
|
+
"css/main.a8148b6c.css"
|
56
56
|
]
|
57
57
|
}
|
58
58
|
}
|
@@ -325,8 +325,8 @@
|
|
325
325
|
"js/9835.6980887f.chunk.js.LICENSE.txt": "js/9835.6980887f.chunk.js.LICENSE.txt",
|
326
326
|
"js/9835.6980887f.chunk.js.map": "js/9835.6980887f.chunk.js.map",
|
327
327
|
"js/acl.8b50e1d1.chunk.js.map": "js/acl.8b50e1d1.chunk.js.map",
|
328
|
-
"js/main.
|
329
|
-
"js/main.
|
328
|
+
"js/main.8d129ddf.js.LICENSE.txt": "js/main.8d129ddf.js.LICENSE.txt",
|
329
|
+
"js/main.8d129ddf.js.map": "js/main.8d129ddf.js.map",
|
330
330
|
"js/runtime.0542f15e.js.map": "js/runtime.0542f15e.js.map",
|
331
331
|
"js/vendors.fda103a3.js.LICENSE.txt": "js/vendors.fda103a3.js.LICENSE.txt",
|
332
332
|
"js/vendors.fda103a3.js.map": "js/vendors.fda103a3.js.map",
|
@@ -337,8 +337,8 @@
|
|
337
337
|
"json.5239aa2e.worker.js": "json.5239aa2e.worker.js",
|
338
338
|
"json.5239aa2e.worker.js.LICENSE.txt": "json.5239aa2e.worker.js.LICENSE.txt",
|
339
339
|
"json.5239aa2e.worker.js.map": "json.5239aa2e.worker.js.map",
|
340
|
-
"main.css": "css/main.
|
341
|
-
"main.js": "js/main.
|
340
|
+
"main.css": "css/main.a8148b6c.css",
|
341
|
+
"main.js": "js/main.8d129ddf.js",
|
342
342
|
"runtime.js": "js/runtime.0542f15e.js",
|
343
343
|
"vendors.js": "js/vendors.fda103a3.js",
|
344
344
|
"vis-network.js": "js/vis-network.00577eed.chunk.js",
|