UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

1,047 lines (915 loc) 36.3 kB
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray"; import _objectSpread from "@babel/runtime/helpers/objectSpread2"; import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; import _regeneratorRuntime from "@babel/runtime/regenerator"; import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator"; import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; import _createClass from "@babel/runtime/helpers/createClass"; import _inherits from "@babel/runtime/helpers/inherits"; import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; import _slicedToArray from "@babel/runtime/helpers/slicedToArray"; import _extends from "@babel/runtime/helpers/extends"; function _createSuper(Derived) { function isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } return function () { var Super = _getPrototypeOf(Derived), result; if (isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } import { __decorate } from "tslib"; import React, { cloneElement, useState, Component, isValidElement } from 'react'; import { observer } from 'mobx-react'; import { action, isArrayLike, observable } from 'mobx'; import isObject from 'lodash/isObject'; import isString from 'lodash/isString'; import isNumber from 'lodash/isNumber'; import reduce from 'lodash/reduce'; import { pxToRem } from '../../../../es/_util/UnitConvertor'; import { getConfig } from '../../../../es/configure'; import Icon from '../../../../es/icon'; import { ProgressStatus } from '../../../../es/progress/enum'; import noop from 'lodash/noop'; import { TableButtonType, TableQueryBarType } from '../enum'; import TableButtons from './TableButtons'; import Table from '../Table'; import Button from '../../button/Button'; import { ButtonType, ButtonColor } from '../../button/enum'; import { DataSetStatus, FieldType, DataSetExportStatus } from '../../data-set/enum'; import { $l } from '../../locale-context'; import TableContext from '../TableContext'; import autobind from '../../_util/autobind'; import DataSet from '../../data-set'; import Modal from '../../modal'; import Progress from '../../progress'; import Column from '../Column'; import { getEditorByField, getPlaceholderByField } from '../utils'; import TableToolBar from './TableToolBar'; import TableFilterBar from './TableFilterBar'; import TableAdvancedQueryBar from './TableAdvancedQueryBar'; import TableProfessionalBar from './TableProfessionalBar'; import TableDynamicFilterBar from './TableDynamicFilterBar'; import { findBindFieldBy, exportExcel } from '../../data-set/utils'; import Dropdown from '../../dropdown/Dropdown'; import Menu from '../../menu'; import TextField from '../../text-field'; var ExportBody = observer(function (props) { var dataSet = props.dataSet, prefixCls = props.prefixCls; var exportMessage = $l('Table', 'export_ing'); var exportProgress = { percent: 1, status: ProgressStatus.active }; switch (dataSet.exportStatus) { case DataSetExportStatus.start: exportProgress = { percent: 1, status: ProgressStatus.active }; break; case DataSetExportStatus.exporting: exportProgress = { percent: dataSet.exportProgress, status: ProgressStatus.active }; break; case DataSetExportStatus.progressing: exportProgress = { percent: dataSet.exportProgress, status: ProgressStatus.active }; break; case DataSetExportStatus.failed: exportMessage = $l('Table', 'export_failed'); exportProgress = { percent: 50, status: ProgressStatus.exception }; break; case DataSetExportStatus.success: exportMessage = $l('Table', 'export_success'); exportProgress = { percent: 100, status: ProgressStatus.success }; break; default: break; } return React.createElement("div", { className: "".concat(prefixCls, "-export-progress-body") }, React.createElement("span", null, exportMessage), React.createElement(Progress, _extends({}, exportProgress))); }); var ExportFooter = observer(function (props) { var dataSet = props.dataSet, prefixCls = props.prefixCls, exportButton = props.exportButton; var _useState = useState(dataSet.name || $l('Table', 'defalut_export')), _useState2 = _slicedToArray(_useState, 2), username = _useState2[0], setUsername = _useState2[1]; var handleClick = function handleClick() { exportButton(dataSet.exportStatus, username); }; var _useState3 = useState(undefined), _useState4 = _slicedToArray(_useState3, 2), messageTimeout = _useState4[0], setMessageTimeout = _useState4[1]; React.useEffect(function () { var currentTimeout = null; currentTimeout = setTimeout(function () { if (dataSet && dataSet.exportStatus !== DataSetExportStatus.success && dataSet.exportStatus !== DataSetExportStatus.failed) { setMessageTimeout($l('Table', 'export_waiting')); } }, 5000); return function () { if (currentTimeout) { clearTimeout(currentTimeout); } }; }, []); return React.createElement("div", { className: "".concat(prefixCls, "-export-progress-footer") }, dataSet.exportStatus === DataSetExportStatus.failed && React.createElement(React.Fragment, null, React.createElement("span", null, $l('Table', 'export_break')), React.createElement(Button, { onClick: handleClick }, $l('Table', 'retry_button'))), dataSet.exportStatus === DataSetExportStatus.success && React.createElement(React.Fragment, null, React.createElement("div", null, React.createElement("span", null, "".concat($l('Table', 'file_name'), ":")), React.createElement(TextField, { value: username, onChange: function onChange(value) { setUsername(value); } })), React.createElement(Button, { color: ButtonColor.primary, onClick: handleClick }, $l('Table', 'download_button'))), dataSet.exportStatus !== DataSetExportStatus.success && dataSet.exportStatus !== DataSetExportStatus.failed && React.createElement(React.Fragment, null, React.createElement("span", null, messageTimeout || $l('Table', 'export_operating')), React.createElement(Button, { color: ButtonColor.gray, onClick: handleClick }, $l('Table', 'cancel_button')))); }); var TableQueryBar = /*#__PURE__*/ function (_Component) { _inherits(TableQueryBar, _Component); var _super = _createSuper(TableQueryBar); function TableQueryBar() { var _this; _classCallCheck(this, TableQueryBar); _this = _super.apply(this, arguments); /** * 点击汇总条展开收起 * @param summary */ _this.openMore = function (summary) { if (_this.moreSummary && _this.moreSummary.length) { _this.moreSummary = []; } else { _this.moreSummary = _this.renderSummary(summary); } return _this.moreSummary; }; return _this; } _createClass(TableQueryBar, [{ key: "componentWillUnmount", value: function componentWillUnmount() { if (this.exportModal) { this.exportModal.close(true); } } }, { key: "handleButtonCreate", value: function handleButtonCreate() { var dataSet = this.context.tableStore.dataSet; dataSet.create({}, 0); } }, { key: "handleButtonSubmit", value: function handleButtonSubmit() { var dataSet = this.context.tableStore.dataSet; return dataSet.submit(); } }, { key: "handleButtonDelete", value: function handleButtonDelete() { var dataSet = this.context.tableStore.dataSet; return dataSet["delete"](dataSet.selected); } }, { key: "handleButtonRemove", value: function handleButtonRemove() { var dataSet = this.context.tableStore.dataSet; dataSet.remove(dataSet.selected); } }, { key: "handleButtonReset", value: function handleButtonReset() { var dataSet = this.context.tableStore.dataSet; dataSet.reset(); } }, { key: "handleQueryReset", value: function handleQueryReset() { var queryDataSet = this.context.tableStore.dataSet.queryDataSet; if (queryDataSet) { var current = queryDataSet.current; if (current) { current.reset(); } this.handleQuery(); } } }, { key: "handleExpandAll", value: function handleExpandAll() { var tableStore = this.context.tableStore; tableStore.expandAll(); } }, { key: "handleCollapseAll", value: function handleCollapseAll() { var tableStore = this.context.tableStore; tableStore.collapseAll(); } }, { key: "handleButtonExport", value: function () { var _handleButtonExport = _asyncToGenerator( /*#__PURE__*/ _regeneratorRuntime.mark(function _callee() { var tableStore, columnHeaders; return _regeneratorRuntime.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: tableStore = this.context.tableStore; _context.next = 3; return tableStore.getColumnHeaders(); case 3: columnHeaders = _context.sent; this.exportDataSet = new DataSet({ data: columnHeaders, paging: false }); this.exportDataSet.selectAll(); this.exportModal = Modal.open({ title: $l('Table', 'choose_export_columns'), children: React.createElement(React.Fragment, null, React.createElement(Table, { dataSet: this.exportDataSet, style: { height: pxToRem(300) } }, React.createElement(Column, { header: $l('Table', 'column_name'), name: "label", resizable: false }))), closable: true, okText: $l('Table', 'export_button'), onOk: this.handleExport, style: { width: pxToRem(400) } }); case 7: case "end": return _context.stop(); } } }, _callee, this); })); function handleButtonExport() { return _handleButtonExport.apply(this, arguments); } return handleButtonExport; }() }, { key: "handleQuery", value: function handleQuery() { var dataSet = this.context.tableStore.dataSet; return dataSet.query(); } }, { key: "handleExport", value: function handleExport() { var _this2 = this; var selected = this.exportDataSet.selected; var clientExportQuantity = this.props.clientExportQuantity, _this$context$tableSt = this.context.tableStore, prefixCls = _this$context$tableSt.prefixCls, dataSet = _this$context$tableSt.dataSet; if (selected.length) { var exportModal = this.exportModal; dataSet["export"](selected.reduce(function (columns, record) { var myName = record.get('name'); var myField = dataSet.getField(myName); if (myField && myField.type === FieldType.object) { var bindField = findBindFieldBy(myField, dataSet.fields, 'textField'); if (bindField) { myName = bindField.name; } } columns[myName] = record.get('label'); return columns; }, {}), clientExportQuantity).then(function (exportData) { _this2.exportData = exportData; }); if (exportModal) { exportModal.update({ title: $l('Table', 'export_button'), children: React.createElement(ExportBody, { prefixCls: prefixCls, dataSet: dataSet }), onCancel: this.handleExportButton, footer: React.createElement(ExportFooter, { prefixCls: prefixCls, exportButton: this.handleExportButton, exportModal: exportModal, dataSet: dataSet }) }); } } return false; } }, { key: "handleExportButton", value: function handleExportButton(data, filename) { var dataSet = this.context.tableStore.dataSet; if (data === DataSetExportStatus.success) { if (this.exportData) { exportExcel(this.exportData, filename); this.exportModal.close(); this.exportData = null; } } else if (data === DataSetExportStatus.failed) { this.exportData = null; this.handleExport(); } else { this.exportModal.close(); this.exportData = null; } dataSet.exportStatus = undefined; } }, { key: "getButtonProps", value: function getButtonProps(type) { var _this$context = this.context, isTree = _this$context.isTree, dataSet = _this$context.tableStore.dataSet; var disabled = dataSet.status !== DataSetStatus.ready; switch (type) { case TableButtonType.add: return { icon: 'playlist_add', onClick: this.handleButtonCreate, children: $l('Table', 'create_button'), disabled: disabled || (dataSet.parent ? !dataSet.parent.current : false) }; case TableButtonType.save: return { icon: 'save', onClick: this.handleButtonSubmit, children: $l('Table', 'save_button'), type: ButtonType.submit, disabled: disabled }; case TableButtonType["delete"]: return { icon: 'delete', onClick: this.handleButtonDelete, children: $l('Table', 'delete_button'), disabled: disabled || dataSet.selected.length === 0 }; case TableButtonType.remove: return { icon: 'remove_circle', onClick: this.handleButtonRemove, children: $l('Table', 'remove_button'), disabled: disabled || dataSet.selected.length === 0 }; case TableButtonType.reset: return { icon: 'undo', onClick: this.handleButtonReset, children: $l('Table', 'reset_button'), type: ButtonType.reset }; case TableButtonType.query: return { icon: 'search', onClick: this.handleQuery, children: $l('Table', 'query_button') }; case TableButtonType["export"]: return { icon: 'export', onClick: this.handleButtonExport, children: $l('Table', 'export_button') }; case TableButtonType.expandAll: return isTree ? { icon: 'add_box', onClick: this.handleExpandAll, children: $l('Table', 'expand_button') } : undefined; case TableButtonType.collapseAll: return isTree ? { icon: 'short_text', onClick: this.handleCollapseAll, children: $l('Table', 'collapse_button') } : undefined; default: } } /** * 渲染表头汇总列 * @param summary */ }, { key: "renderSummary", value: function renderSummary(summary) { var _this$props = this.props, summaryBar = _this$props.summaryBar, _this$props$summaryFi = _this$props.summaryFieldsLimit, summaryFieldsLimit = _this$props$summaryFi === void 0 ? 3 : _this$props$summaryFi, _this$context$tableSt2 = this.context.tableStore, prefixCls = _this$context$tableSt2.prefixCls, dataSet = _this$context$tableSt2.dataSet; var fieldTypeArr = [FieldType.currency, FieldType.number]; if (summaryBar && summary && summary.length) { return summary.map(function (summaryCol, index) { var field = dataSet.getField(summaryCol); var hasSeparate = summaryBar.length > summaryFieldsLimit || index !== summaryBar.length - 1; if (isString(summaryCol) && field && fieldTypeArr.includes(field.type)) { var summaryValue = reduce(dataSet.data.map(function (record) { return isNumber(record.get(summaryCol)) ? record.get(summaryCol) : 0; }), function (sum, n) { return sum + n; }); return React.createElement("div", { key: field.get('name') }, React.createElement("div", { className: "".concat(prefixCls, "-summary-col") }, React.createElement("div", { className: "".concat(prefixCls, "-summary-col-label"), title: field.get('label') }, field.get('label'), ":"), React.createElement("div", { className: "".concat(prefixCls, "-summary-col-value"), title: summaryValue }, summaryValue)), hasSeparate && React.createElement("div", { className: "".concat(prefixCls, "-summary-col-separate") }, React.createElement("div", null))); } if (typeof summaryCol === 'function') { var summaryObj = summaryCol({ summaryFieldsLimit: summaryFieldsLimit, dataSet: dataSet }); return React.createElement("div", { key: isString(summaryObj.label) ? summaryObj.label : '' }, React.createElement("div", { className: "".concat(prefixCls, "-summary-col") }, React.createElement("div", { className: "".concat(prefixCls, "-summary-col-label"), title: isString(summaryObj.label) ? summaryObj.label : '' }, summaryObj.label, ":"), React.createElement("div", { className: "".concat(prefixCls, "-summary-col-value"), title: isString(summaryObj.value) || isNumber(summaryObj.value) ? summaryObj.value.toString() : '' }, summaryObj.value)), hasSeparate && React.createElement("div", { className: "".concat(prefixCls, "-summary-col-separate") }, React.createElement("div", null))); } return null; }); } } /** * 汇总条展开收起按钮 * @param summary */ }, { key: "getMoreSummaryButton", value: function getMoreSummaryButton(summary) { var _this3 = this; var prefixCls = this.context.tableStore.prefixCls; if (summary.length) { return React.createElement("div", { className: "".concat(prefixCls, "-summary-button-more") }, React.createElement("a", { onClick: function onClick() { return _this3.openMore(summary); } }, $l('Table', 'more'), this.moreSummary && this.moreSummary.length ? React.createElement(Icon, { type: 'expand_less' }) : React.createElement(Icon, { type: 'expand_more' }))); } } /** * 渲染汇总条 */ }, { key: "getSummaryBar", value: function getSummaryBar() { var _this$props2 = this.props, summaryBar = _this$props2.summaryBar, summaryFieldsLimit = _this$props2.summaryFieldsLimit, prefixCls = this.context.tableStore.prefixCls; if (summaryBar) { var currentSummaryBar = this.renderSummary(summaryBar.slice(0, summaryFieldsLimit)); var moreSummary = summaryBar.slice(summaryFieldsLimit); var moreSummaryButton = this.getMoreSummaryButton(moreSummary); var width = 170 * Math.min(summaryBar.length, summaryFieldsLimit) + Math.min(summaryBar.length, summaryFieldsLimit); return React.createElement("div", { className: "".concat(prefixCls, "-summary-group-wrapper") }, React.createElement("div", { className: "".concat(prefixCls, "-summary-group"), style: { width: width } }, currentSummaryBar, this.moreSummary), moreSummaryButton); } } /** * buttons 大于 buttonsLimits 放入下拉 * @param buttonsLimits */ }, { key: "getMoreButton", value: function getMoreButton(buttonsLimits) { var _this4 = this; var buttons = this.props.buttons; var prefixCls = this.context.tableStore.prefixCls; var tableButtonProps = getConfig('tableButtonProps'); var children = []; if (buttons && buttons.length && buttonsLimits) { buttons.slice(buttonsLimits).forEach(function (button) { var props = {}; if (isArrayLike(button)) { props = button[1] || {}; button = button[0]; } if (isString(button) && button in TableButtonType) { var _props = props, afterClick = _props.afterClick, buttonProps = _objectWithoutProperties(_props, ["afterClick"]); var defaultButtonProps = _this4.getButtonProps(button); if (defaultButtonProps) { if (afterClick) { var onClick = defaultButtonProps.onClick; defaultButtonProps.onClick = /*#__PURE__*/ function () { var _ref = _asyncToGenerator( /*#__PURE__*/ _regeneratorRuntime.mark(function _callee2(e) { return _regeneratorRuntime.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: e.persist(); _context2.prev = 1; _context2.next = 4; return onClick(e); case 4: _context2.prev = 4; afterClick(e); return _context2.finish(4); case 7: case "end": return _context2.stop(); } } }, _callee2, null, [[1,, 4, 7]]); })); return function (_x) { return _ref.apply(this, arguments); }; }(); } children.push(React.createElement(Menu.Item, { key: button, className: "".concat(prefixCls, "-button-menu-item") }, React.createElement(Button, _extends({ key: "".concat(button, "-btn") }, tableButtonProps, defaultButtonProps, buttonProps)))); } } else if (isValidElement(button)) { children.push(React.createElement(Menu.Item, { className: "".concat(prefixCls, "-button-menu-item") }, cloneElement(button, _objectSpread({}, tableButtonProps, {}, button.props)))); } else if (isObject(button)) { children.push(React.createElement(Menu.Item, { className: "".concat(prefixCls, "-button-menu-item") }, React.createElement(Button, _extends({}, tableButtonProps, button)))); } }); } var menu = React.createElement(Menu, null, children); return React.createElement(Dropdown, { overlay: menu, key: "dropdown_button" }, React.createElement(Button, _extends({}, tableButtonProps, { key: "more_button" }), $l('Table', 'more'), " ", React.createElement(Icon, { type: 'expand_more' }))); } }, { key: "getButtons", value: function getButtons() { var _this5 = this; var _this$props3 = this.props, buttons = _this$props3.buttons, summaryBar = _this$props3.summaryBar, buttonsLimit = _this$props3.buttonsLimit; var children = []; if (buttons) { // 汇总条存在下 buttons 大于 3 个放入下拉 var buttonsLimits = summaryBar ? buttonsLimit || 3 : buttonsLimit; var tableButtonProps = getConfig('tableButtonProps'); var buttonsArr = buttons.slice(0, buttonsLimits); buttonsArr.forEach(function (button) { var props = {}; if (isArrayLike(button)) { props = button[1] || {}; button = button[0]; } if (isString(button) && button in TableButtonType) { var _props2 = props, afterClick = _props2.afterClick, buttonProps = _objectWithoutProperties(_props2, ["afterClick"]); var defaultButtonProps = _this5.getButtonProps(button); if (defaultButtonProps) { if (afterClick) { var onClick = defaultButtonProps.onClick; defaultButtonProps.onClick = /*#__PURE__*/ function () { var _ref2 = _asyncToGenerator( /*#__PURE__*/ _regeneratorRuntime.mark(function _callee3(e) { return _regeneratorRuntime.wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: e.persist(); _context3.prev = 1; _context3.next = 4; return onClick(e); case 4: _context3.prev = 4; afterClick(e); return _context3.finish(4); case 7: case "end": return _context3.stop(); } } }, _callee3, null, [[1,, 4, 7]]); })); return function (_x2) { return _ref2.apply(this, arguments); }; }(); } children.push(React.createElement(Button, _extends({ key: button }, tableButtonProps, defaultButtonProps, buttonProps))); } } else if (isValidElement(button)) { children.push(cloneElement(button, _objectSpread({}, tableButtonProps, {}, button.props))); } else if (isObject(button)) { children.push(React.createElement(Button, _extends({}, tableButtonProps, button))); } }); if (buttonsLimits && buttons.length > buttonsLimits) { var moreButton = this.getMoreButton(buttonsLimits); children.push(moreButton); } } return children; } }, { key: "getQueryFields", value: function getQueryFields() { var _this$context$tableSt3 = this.context.tableStore, dataSet = _this$context$tableSt3.dataSet, queryBar = _this$context$tableSt3.queryBar, queryFields = this.props.queryFields; var queryDataSet = dataSet.queryDataSet; var result = []; if (queryDataSet) { var fields = queryDataSet.fields; return _toConsumableArray(fields.entries()).reduce(function (list, _ref3) { var _ref4 = _slicedToArray(_ref3, 2), name = _ref4[0], field = _ref4[1]; if (!field.get('bind') && !name.includes('__tls')) { var element = queryFields[name]; var filterBarProps = {}; if (queryBar === TableQueryBarType.filterBar) { var placeholder = isValidElement(element) && element.props.placeholder ? element.props.placeholder : getPlaceholderByField(field); filterBarProps = { placeholder: placeholder }; } var props = _objectSpread({ key: name, name: name, dataSet: queryDataSet, isFlat: queryBar === TableQueryBarType.filterBar }, filterBarProps); list.push(isValidElement(element) ? cloneElement(element, props) : cloneElement(getEditorByField(field, queryBar !== TableQueryBarType.professionalBar, queryBar === TableQueryBarType.filterBar), _objectSpread({}, props, {}, isObject(element) ? element : {}))); } return list; }, result); } return result; } }, { key: "renderToolBar", value: function renderToolBar(props) { var prefixCls = this.context.tableStore.prefixCls; return React.createElement(TableToolBar, _extends({ key: "toolbar", prefixCls: prefixCls }, props)); } }, { key: "renderFilterBar", value: function renderFilterBar(props) { var prefixCls = this.context.tableStore.prefixCls; var _this$props4 = this.props, filterBarFieldName = _this$props4.filterBarFieldName, filterBarPlaceholder = _this$props4.filterBarPlaceholder; return React.createElement(TableFilterBar, _extends({ key: "toolbar", prefixCls: prefixCls, paramName: filterBarFieldName, placeholder: filterBarPlaceholder }, props)); } }, { key: "renderAdvancedQueryBar", value: function renderAdvancedQueryBar(props) { var prefixCls = this.context.tableStore.prefixCls; return React.createElement(TableAdvancedQueryBar, _extends({ key: "toolbar", prefixCls: prefixCls }, props)); } }, { key: "renderProfessionalBar", value: function renderProfessionalBar(props) { var prefixCls = this.context.tableStore.prefixCls; return React.createElement(TableProfessionalBar, _extends({ key: "toolbar", prefixCls: prefixCls }, props)); } }, { key: "renderDynamicFilterBar", value: function renderDynamicFilterBar(props) { var _this$props5 = this.props, dynamicFilterBar = _this$props5.dynamicFilterBar, searchCode = _this$props5.searchCode; var prefixCls = this.context.tableStore.prefixCls; return React.createElement(TableDynamicFilterBar, _extends({ key: "toolbar", searchCode: searchCode, dynamicFilterBar: dynamicFilterBar, prefixCls: prefixCls }, props)); } }, { key: "expandTree", value: function expandTree() { var tableStore = this.context.tableStore; var queryBarProps = tableStore.props.queryBarProps; if (typeof queryBarProps.onQuery === 'function') { queryBarProps.onQuery(); } tableStore.expandAll(); } }, { key: "collapseTree", value: function collapseTree() { var tableStore = this.context.tableStore; var queryBarProps = tableStore.props.queryBarProps; if (typeof queryBarProps.onReset === 'function') { queryBarProps.onReset(); } tableStore.collapseAll(); } }, { key: "render", value: function render() { var buttons = this.getButtons(); var summaryBar = this.getSummaryBar(); var _this$context$tableSt4 = this.context.tableStore, dataSet = _this$context$tableSt4.dataSet, queryBar = _this$context$tableSt4.queryBar, prefixCls = _this$context$tableSt4.prefixCls, isTree = _this$context$tableSt4.isTree, queryBarProps = _this$context$tableSt4.props.queryBarProps, _this$props6 = this.props, queryFieldsLimit = _this$props6.queryFieldsLimit, summaryFieldsLimit = _this$props6.summaryFieldsLimit, pagination = _this$props6.pagination, treeQueryExpanded = _this$props6.treeQueryExpanded, showQueryBar = this.showQueryBar; if (showQueryBar) { var queryDataSet = dataSet.queryDataSet; var queryFields = this.getQueryFields(); var tableQueryBarProps = _objectSpread({}, queryBarProps, {}, getConfig('queryBarProps')); var onReset = tableQueryBarProps && typeof tableQueryBarProps.onReset === 'function' ? tableQueryBarProps.onReset : noop; var onQuery = tableQueryBarProps && typeof tableQueryBarProps.onQuery === 'function' ? tableQueryBarProps.onQuery : noop; var props = _objectSpread({}, tableQueryBarProps, { dataSet: dataSet, queryDataSet: queryDataSet, buttons: buttons, pagination: pagination, queryFields: queryFields, queryFieldsLimit: queryFieldsLimit, summaryFieldsLimit: summaryFieldsLimit, summaryBar: summaryBar, onQuery: treeQueryExpanded && isTree ? this.expandTree : onQuery, onReset: treeQueryExpanded && isTree ? this.collapseTree : onReset }); if (typeof queryBar === 'function') { return queryBar(props); } switch (queryBar) { case TableQueryBarType.normal: return this.renderToolBar(props); case TableQueryBarType.bar: return this.renderFilterBar(props); case TableQueryBarType.advancedBar: return this.renderAdvancedQueryBar(props); case TableQueryBarType.professionalBar: return this.renderProfessionalBar(props); case TableQueryBarType.filterBar: return this.renderDynamicFilterBar(props); default: } } return [React.createElement(TableButtons, { key: "toolbar", prefixCls: prefixCls, buttons: buttons }, summaryBar), pagination]; } }, { key: "showQueryBar", get: function get() { var showQueryBar = this.props.showQueryBar, queryBar = this.context.tableStore.queryBar; return showQueryBar !== false && queryBar !== TableQueryBarType.none; } }]); return TableQueryBar; }(Component); TableQueryBar.displayName = 'TableQueryBar'; TableQueryBar.contextType = TableContext; TableQueryBar.defaultProps = { summaryFieldsLimit: 3 }; __decorate([observable], TableQueryBar.prototype, "moreSummary", void 0); __decorate([autobind], TableQueryBar.prototype, "handleButtonCreate", null); __decorate([autobind], TableQueryBar.prototype, "handleButtonSubmit", null); __decorate([autobind], TableQueryBar.prototype, "handleButtonDelete", null); __decorate([autobind], TableQueryBar.prototype, "handleButtonRemove", null); __decorate([autobind], TableQueryBar.prototype, "handleButtonReset", null); __decorate([autobind], TableQueryBar.prototype, "handleQueryReset", null); __decorate([autobind], TableQueryBar.prototype, "handleExpandAll", null); __decorate([autobind], TableQueryBar.prototype, "handleCollapseAll", null); __decorate([autobind], TableQueryBar.prototype, "handleButtonExport", null); __decorate([autobind], TableQueryBar.prototype, "handleQuery", null); __decorate([autobind], TableQueryBar.prototype, "handleExport", null); __decorate([autobind, action], TableQueryBar.prototype, "handleExportButton", null); __decorate([action], TableQueryBar.prototype, "openMore", void 0); __decorate([autobind], TableQueryBar.prototype, "expandTree", null); __decorate([autobind], TableQueryBar.prototype, "collapseTree", null); TableQueryBar = __decorate([observer], TableQueryBar); export default TableQueryBar; //# sourceMappingURL=index.js.map