@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.
@@ -39,9 +39,6 @@
39
39
  display: flex;
40
40
  flex-direction: column;
41
41
  }
42
- .table-download-manager__shared-settings .elements-radiobutton {
43
- margin-bottom: 20px;
44
- }
45
42
  .table-download-manager__shared-settings .column-selector {
46
43
  max-height: 25vh;
47
44
  }
@@ -58,9 +55,6 @@
58
55
  overflow: hidden;
59
56
  background-color: var(--light-background);
60
57
  }
61
- .table-download-manager__schemaful-dsv, .table-download-manager__yson, .table-download-manager__json {
62
- margin-top: 20px;
63
- }
64
58
  .table-download-manager__dsv-separators-item {
65
59
  padding-top: 10px;
66
60
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["DownloadManager.scss"],"names":[],"mappings":"AACI;EACI,mBAAA;AAAR;AAEQ;EACI,gBAAA;AAAZ;AAII;EACI,kBAAA;EACA,aAAA;AAFR;AAKI;EACI,aAAA;EACA,eAAA;EACA,yCAAA;AAHR;AAMI;EACI,mBAAA;AAJR;AAOI;EACI,SAAA;EACA,eAAA;EACA,kBAAA;AALR;AAQI;EACI,SAAA;AANR;AASI;EACI,eAAA;AAPR;AAUI;EACI,cAAA;EACA,aAAA;EACA,sBAAA;EAEA,aAAA;EACA,cAAA;AATR;AAYI;EAaI,YAAA;EACA,aAAA;EACA,sBAAA;AAtBR;AAQQ;EACI,mBAAA;AANZ;AASQ;EACI,gBAAA;AAPZ;AASY;EACI,cAAA;AAPhB;AAgBI;EACI,aAAA;EACA,8BAAA;EACA,cAAA;AAdR;AAiBI;EACI,aAAA;EACA,gBAAA;EAEA,yCAAA;AAhBR;AAmBI;EAGI,gBAAA;AAnBR;AAsBI;EACI,iBAAA;AApBR","file":"DownloadManager.css","sourcesContent":[".table-download-manager {\n &__content {\n margin: -15px -30px;\n\n .elements-message {\n margin-bottom: 0;\n }\n }\n\n &__manager {\n position: relative;\n display: flex;\n }\n\n &__format {\n flex: 0 0 33%;\n padding: 15px 0;\n background-color: var(--light-background);\n }\n\n &__tabs {\n margin-bottom: 20px;\n }\n\n &__help {\n margin: 0;\n padding: 0 30px;\n line-height: 1.6em;\n }\n\n &__format-description {\n margin: 0;\n }\n\n &__report-error {\n padding: 0 15px;\n }\n\n &__settings {\n flex: 1 1 auto;\n display: flex;\n flex-direction: column;\n\n padding: 15px;\n overflow: auto;\n }\n\n &__shared-settings {\n .elements-radiobutton {\n margin-bottom: 20px;\n }\n\n .column-selector {\n max-height: 25vh;\n\n &__content {\n overflow: auto;\n }\n }\n\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n }\n\n &__rows {\n display: grid;\n grid-template-columns: 1fr 1fr;\n grid-gap: 30px;\n }\n\n &__columns-selector {\n display: flex;\n overflow: hidden;\n\n background-color: var(--light-background);\n }\n\n &__schemaful-dsv,\n &__yson,\n &__json {\n margin-top: 20px;\n }\n\n &__dsv-separators-item {\n padding-top: 10px;\n }\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["DownloadManager.scss"],"names":[],"mappings":"AACI;EACI,mBAAA;AAAR;AAEQ;EACI,gBAAA;AAAZ;AAII;EACI,kBAAA;EACA,aAAA;AAFR;AAKI;EACI,aAAA;EACA,eAAA;EACA,yCAAA;AAHR;AAMI;EACI,mBAAA;AAJR;AAOI;EACI,SAAA;EACA,eAAA;EACA,kBAAA;AALR;AAQI;EACI,SAAA;AANR;AASI;EACI,eAAA;AAPR;AAUI;EACI,cAAA;EACA,aAAA;EACA,sBAAA;EAEA,aAAA;EACA,cAAA;AATR;AAYI;EASI,YAAA;EACA,aAAA;EACA,sBAAA;AAlBR;AAQQ;EACI,gBAAA;AANZ;AAQY;EACI,cAAA;AANhB;AAeI;EACI,aAAA;EACA,8BAAA;EACA,cAAA;AAbR;AAgBI;EACI,aAAA;EACA,gBAAA;EAEA,yCAAA;AAfR;AAkBI;EACI,iBAAA;AAhBR","file":"DownloadManager.css","sourcesContent":[".table-download-manager {\n &__content {\n margin: -15px -30px;\n\n .elements-message {\n margin-bottom: 0;\n }\n }\n\n &__manager {\n position: relative;\n display: flex;\n }\n\n &__format {\n flex: 0 0 33%;\n padding: 15px 0;\n background-color: var(--light-background);\n }\n\n &__tabs {\n margin-bottom: 20px;\n }\n\n &__help {\n margin: 0;\n padding: 0 30px;\n line-height: 1.6em;\n }\n\n &__format-description {\n margin: 0;\n }\n\n &__report-error {\n padding: 0 15px;\n }\n\n &__settings {\n flex: 1 1 auto;\n display: flex;\n flex-direction: column;\n\n padding: 15px;\n overflow: auto;\n }\n\n &__shared-settings {\n .column-selector {\n max-height: 25vh;\n\n &__content {\n overflow: auto;\n }\n }\n\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n }\n\n &__rows {\n display: grid;\n grid-template-columns: 1fr 1fr;\n grid-gap: 30px;\n }\n\n &__columns-selector {\n display: flex;\n overflow: hidden;\n\n background-color: var(--light-background);\n }\n\n &__dsv-separators-item {\n padding-top: 10px;\n }\n}\n"],"sourceRoot":""}
@@ -569,6 +569,7 @@ var DownloadManager = exports.DownloadManager = /*#__PURE__*/function (_React$Co
569
569
  children: "Rows"
570
570
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.RadioButton, {
571
571
  size: "m",
572
+ className: "elements-form__field",
572
573
  value: rowsMode,
573
574
  name: "download-manager-row-mode",
574
575
  onUpdate: function onUpdate(value) {
@@ -623,6 +624,7 @@ var DownloadManager = exports.DownloadManager = /*#__PURE__*/function (_React$Co
623
624
  children: "Columns"
624
625
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_uikit.RadioButton, {
625
626
  size: "m",
627
+ className: "elements-form__field",
626
628
  value: columnsMode,
627
629
  name: "download-manager-columns-mode",
628
630
  onUpdate: function onUpdate(value) {
@@ -830,7 +832,7 @@ var DownloadManager = exports.DownloadManager = /*#__PURE__*/function (_React$Co
830
832
  var _this9 = this;
831
833
  var ysonFormat = this.state.ysonFormat;
832
834
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
833
- className: block('yson', 'elements-form__field'),
835
+ className: block('yson'),
834
836
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
835
837
  className: "elements-form__label",
836
838
  children: "Format"
@@ -950,7 +952,7 @@ var DownloadManager = exports.DownloadManager = /*#__PURE__*/function (_React$Co
950
952
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
951
953
  className: block('settings', 'pretty-scroll'),
952
954
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
953
- className: block('shared-settings'),
955
+ className: block('shared-settings', 'elements-form__field'),
954
956
  children: [this.renderRows(), format !== 'yamr' && this.renderColumns(), format === 'yamr' && this.renderYamr()]
955
957
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
956
958
  className: block('type-settings'),
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactRedux","_unipika","_redux","_bemCnLite","_qs","_axios","_uikit","_ColumnSelector","_Pagination","_HelpLink","_Filter","_Button","_Modal","_Icon","_Link","_Tabs","_Select","_settings","_schema","_navigation","_global","_withVisible","_table","_tableTs","_config","_uiSettings","_SeparatorInput","_interopRequireWildcard","_UIFactory","_navigation2","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","block","cn","messageBlock","EXCEL_BASE_URL","uiSettings","exportTableBaseUrl","checkExcelExporter","cluster","Promise","resolve","axios","concat","then","DownloadManager","exports","_React$Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","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","_jsx","Button","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","prepareSeparatorValue","inner_errors","message","_this$state2","Number","columnNames","String","path","downloadColumns","downloadRows","getDownloadParams","transaction_id","_this$getOutputFormat","output_format","query","qs","stringify","assign","downloadPath","dump_error_into_response","_this$props2","proxy","externalProxy","base","makeDirectDownloadPath","_this$getDownloadPara","_this$getDownloadPara2","params","URLSearchParams","makeDocsUrl","arguments","docsUrl","UIFactory","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","unipika","decode","_this2","_this$state3","preparedColumns","_preparedColumns","_reduce","item","checked","prepareYamrColumns","_this3","_ref4","renderPaginator","_this4","rowCount","isStartRowEmpty","isNumRowsInvalid","isStartRowInvalid","Pagination","showInput","inputValue","onChange","row","prepareValue","first","handler","previous","Math","max","next","last","renderRows","_this5","_this$state4","_jsxs","React","Fragment","RadioButton","onUpdate","options","content","Filter","autofocus","invalid","isNaN","num","renderColumns","_this6","_this$state5","srcColumns","ColumnSelector","isSortable","_ref5","items","srcItems","isHeadless","renderSchemafulDsv","_this7","_this$state6","TextInput","placeholder","Checkbox","renderSeparatorEditors","_ref6","_ref6$showKeyValueSep","showKeyValueSeparator","_this$state$separator","SeparatorInput","separatorType","_objectSpread","_defineProperty","renderYamr","renderYamrColumns","_this8","_this$state7","Select","vals","hideFilter","width","renderYson","_this9","renderJson","renderExcel","_this10","excelNumberPrecisionMode","renderContent","faqLink","Link","cliLink","_this$formats$format","theme","_Fragment","Tabs","active","layout","tabItems","onTabChange","HelpLink","render","_this$props3","loading","handleClose","onClick","Icon","awesome","Modal","onCancel","confirmText","renderCustomConfirm","parsedValue","prepareColumns","_filter","_ref7","_find","getDerivedStateFromProps","nextProps","Component","mapStateToProps","navigation","table","getRowsPerTablePage","getShowDecoded","getOffsetValue","getAllColumns","getSrcColumns","getRowCount","getCluster","getColumns","schema","getSchema","getPath","_getCurrentClusterCon","getCurrentClusterConfig","getTransaction","connector","connect","_default","compose","withVisible"],"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 &nbsp; 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","_interopRequireDefault","require","_reactRedux","_unipika","_redux","_bemCnLite","_qs","_axios","_uikit","_ColumnSelector","_Pagination","_HelpLink","_Filter","_Button","_Modal","_Icon","_Link","_Tabs","_Select","_settings","_schema","_navigation","_global","_withVisible","_table","_tableTs","_config","_uiSettings","_SeparatorInput","_interopRequireWildcard","_UIFactory","_navigation2","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","block","cn","messageBlock","EXCEL_BASE_URL","uiSettings","exportTableBaseUrl","checkExcelExporter","cluster","Promise","resolve","axios","concat","then","DownloadManager","exports","_React$Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","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","_jsx","Button","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","prepareSeparatorValue","inner_errors","message","_this$state2","Number","columnNames","String","path","downloadColumns","downloadRows","getDownloadParams","transaction_id","_this$getOutputFormat","output_format","query","qs","stringify","assign","downloadPath","dump_error_into_response","_this$props2","proxy","externalProxy","base","makeDirectDownloadPath","_this$getDownloadPara","_this$getDownloadPara2","params","URLSearchParams","makeDocsUrl","arguments","docsUrl","UIFactory","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","unipika","decode","_this2","_this$state3","preparedColumns","_preparedColumns","_reduce","item","checked","prepareYamrColumns","_this3","_ref4","renderPaginator","_this4","rowCount","isStartRowEmpty","isNumRowsInvalid","isStartRowInvalid","Pagination","showInput","inputValue","onChange","row","prepareValue","first","handler","previous","Math","max","next","last","renderRows","_this5","_this$state4","_jsxs","React","Fragment","RadioButton","onUpdate","options","content","Filter","autofocus","invalid","isNaN","num","renderColumns","_this6","_this$state5","srcColumns","ColumnSelector","isSortable","_ref5","items","srcItems","isHeadless","renderSchemafulDsv","_this7","_this$state6","TextInput","placeholder","Checkbox","renderSeparatorEditors","_ref6","_ref6$showKeyValueSep","showKeyValueSeparator","_this$state$separator","SeparatorInput","separatorType","_objectSpread","_defineProperty","renderYamr","renderYamrColumns","_this8","_this$state7","Select","vals","hideFilter","width","renderYson","_this9","renderJson","renderExcel","_this10","excelNumberPrecisionMode","renderContent","faqLink","Link","cliLink","_this$formats$format","theme","_Fragment","Tabs","active","layout","tabItems","onTabChange","HelpLink","render","_this$props3","loading","handleClose","onClick","Icon","awesome","Modal","onCancel","confirmText","renderCustomConfirm","parsedValue","prepareColumns","_filter","_ref7","_find","getDerivedStateFromProps","nextProps","Component","mapStateToProps","navigation","table","getRowsPerTablePage","getShowDecoded","getOffsetValue","getAllColumns","getSrcColumns","getRowCount","getCluster","getColumns","schema","getSchema","getPath","_getCurrentClusterCon","getCurrentClusterConfig","getTransaction","connector","connect","_default","compose","withVisible"],"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 &nbsp; 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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"}
@@ -39,9 +39,6 @@
39
39
  display: flex;
40
40
  flex-direction: column;
41
41
  }
42
- .table-download-manager__shared-settings .elements-radiobutton {
43
- margin-bottom: 20px;
44
- }
45
42
  .table-download-manager__shared-settings .column-selector {
46
43
  max-height: 25vh;
47
44
  }
@@ -58,9 +55,6 @@
58
55
  overflow: hidden;
59
56
  background-color: var(--light-background);
60
57
  }
61
- .table-download-manager__schemaful-dsv, .table-download-manager__yson, .table-download-manager__json {
62
- margin-top: 20px;
63
- }
64
58
  .table-download-manager__dsv-separators-item {
65
59
  padding-top: 10px;
66
60
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["DownloadManager.scss"],"names":[],"mappings":"AACI;EACI,mBAAA;AAAR;AAEQ;EACI,gBAAA;AAAZ;AAII;EACI,kBAAA;EACA,aAAA;AAFR;AAKI;EACI,aAAA;EACA,eAAA;EACA,yCAAA;AAHR;AAMI;EACI,mBAAA;AAJR;AAOI;EACI,SAAA;EACA,eAAA;EACA,kBAAA;AALR;AAQI;EACI,SAAA;AANR;AASI;EACI,eAAA;AAPR;AAUI;EACI,cAAA;EACA,aAAA;EACA,sBAAA;EAEA,aAAA;EACA,cAAA;AATR;AAYI;EAaI,YAAA;EACA,aAAA;EACA,sBAAA;AAtBR;AAQQ;EACI,mBAAA;AANZ;AASQ;EACI,gBAAA;AAPZ;AASY;EACI,cAAA;AAPhB;AAgBI;EACI,aAAA;EACA,8BAAA;EACA,cAAA;AAdR;AAiBI;EACI,aAAA;EACA,gBAAA;EAEA,yCAAA;AAhBR;AAmBI;EAGI,gBAAA;AAnBR;AAsBI;EACI,iBAAA;AApBR","file":"DownloadManager.css","sourcesContent":[".table-download-manager {\n &__content {\n margin: -15px -30px;\n\n .elements-message {\n margin-bottom: 0;\n }\n }\n\n &__manager {\n position: relative;\n display: flex;\n }\n\n &__format {\n flex: 0 0 33%;\n padding: 15px 0;\n background-color: var(--light-background);\n }\n\n &__tabs {\n margin-bottom: 20px;\n }\n\n &__help {\n margin: 0;\n padding: 0 30px;\n line-height: 1.6em;\n }\n\n &__format-description {\n margin: 0;\n }\n\n &__report-error {\n padding: 0 15px;\n }\n\n &__settings {\n flex: 1 1 auto;\n display: flex;\n flex-direction: column;\n\n padding: 15px;\n overflow: auto;\n }\n\n &__shared-settings {\n .elements-radiobutton {\n margin-bottom: 20px;\n }\n\n .column-selector {\n max-height: 25vh;\n\n &__content {\n overflow: auto;\n }\n }\n\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n }\n\n &__rows {\n display: grid;\n grid-template-columns: 1fr 1fr;\n grid-gap: 30px;\n }\n\n &__columns-selector {\n display: flex;\n overflow: hidden;\n\n background-color: var(--light-background);\n }\n\n &__schemaful-dsv,\n &__yson,\n &__json {\n margin-top: 20px;\n }\n\n &__dsv-separators-item {\n padding-top: 10px;\n }\n}\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["DownloadManager.scss"],"names":[],"mappings":"AACI;EACI,mBAAA;AAAR;AAEQ;EACI,gBAAA;AAAZ;AAII;EACI,kBAAA;EACA,aAAA;AAFR;AAKI;EACI,aAAA;EACA,eAAA;EACA,yCAAA;AAHR;AAMI;EACI,mBAAA;AAJR;AAOI;EACI,SAAA;EACA,eAAA;EACA,kBAAA;AALR;AAQI;EACI,SAAA;AANR;AASI;EACI,eAAA;AAPR;AAUI;EACI,cAAA;EACA,aAAA;EACA,sBAAA;EAEA,aAAA;EACA,cAAA;AATR;AAYI;EASI,YAAA;EACA,aAAA;EACA,sBAAA;AAlBR;AAQQ;EACI,gBAAA;AANZ;AAQY;EACI,cAAA;AANhB;AAeI;EACI,aAAA;EACA,8BAAA;EACA,cAAA;AAbR;AAgBI;EACI,aAAA;EACA,gBAAA;EAEA,yCAAA;AAfR;AAkBI;EACI,iBAAA;AAhBR","file":"DownloadManager.css","sourcesContent":[".table-download-manager {\n &__content {\n margin: -15px -30px;\n\n .elements-message {\n margin-bottom: 0;\n }\n }\n\n &__manager {\n position: relative;\n display: flex;\n }\n\n &__format {\n flex: 0 0 33%;\n padding: 15px 0;\n background-color: var(--light-background);\n }\n\n &__tabs {\n margin-bottom: 20px;\n }\n\n &__help {\n margin: 0;\n padding: 0 30px;\n line-height: 1.6em;\n }\n\n &__format-description {\n margin: 0;\n }\n\n &__report-error {\n padding: 0 15px;\n }\n\n &__settings {\n flex: 1 1 auto;\n display: flex;\n flex-direction: column;\n\n padding: 15px;\n overflow: auto;\n }\n\n &__shared-settings {\n .column-selector {\n max-height: 25vh;\n\n &__content {\n overflow: auto;\n }\n }\n\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n }\n\n &__rows {\n display: grid;\n grid-template-columns: 1fr 1fr;\n grid-gap: 30px;\n }\n\n &__columns-selector {\n display: flex;\n overflow: hidden;\n\n background-color: var(--light-background);\n }\n\n &__dsv-separators-item {\n padding-top: 10px;\n }\n}\n"],"sourceRoot":""}
@@ -562,6 +562,7 @@ export var DownloadManager = /*#__PURE__*/function (_React$Component) {
562
562
  children: "Rows"
563
563
  }), /*#__PURE__*/_jsx(RadioButton, {
564
564
  size: "m",
565
+ className: "elements-form__field",
565
566
  value: rowsMode,
566
567
  name: "download-manager-row-mode",
567
568
  onUpdate: function onUpdate(value) {
@@ -616,6 +617,7 @@ export var DownloadManager = /*#__PURE__*/function (_React$Component) {
616
617
  children: "Columns"
617
618
  }), /*#__PURE__*/_jsx(RadioButton, {
618
619
  size: "m",
620
+ className: "elements-form__field",
619
621
  value: columnsMode,
620
622
  name: "download-manager-columns-mode",
621
623
  onUpdate: function onUpdate(value) {
@@ -823,7 +825,7 @@ export var DownloadManager = /*#__PURE__*/function (_React$Component) {
823
825
  var _this9 = this;
824
826
  var ysonFormat = this.state.ysonFormat;
825
827
  return /*#__PURE__*/_jsxs("div", {
826
- className: block('yson', 'elements-form__field'),
828
+ className: block('yson'),
827
829
  children: [/*#__PURE__*/_jsx("div", {
828
830
  className: "elements-form__label",
829
831
  children: "Format"
@@ -943,7 +945,7 @@ export var DownloadManager = /*#__PURE__*/function (_React$Component) {
943
945
  }), /*#__PURE__*/_jsxs("div", {
944
946
  className: block('settings', 'pretty-scroll'),
945
947
  children: [/*#__PURE__*/_jsxs("div", {
946
- className: block('shared-settings'),
948
+ className: block('shared-settings', 'elements-form__field'),
947
949
  children: [this.renderRows(), format !== 'yamr' && this.renderColumns(), format === 'yamr' && this.renderYamr()]
948
950
  }), /*#__PURE__*/_jsxs("div", {
949
951
  className: block('type-settings'),