choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
105 lines (96 loc) • 3.67 kB
JavaScript
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
import _createClass from "@babel/runtime/helpers/createClass";
import _inherits from "@babel/runtime/helpers/inherits";
import _createSuper from "@babel/runtime/helpers/createSuper";
import { __decorate } from "tslib";
import React, { Component } from 'react';
import { observer } from 'mobx-react';
import noop from 'lodash/noop';
import { getProPrefixCls as getProPrefixClsDefault } from '../../../../es/configure/utils';
import FilterSelect from './FilterSelect';
import ColumnFilter from './ColumnFilter';
import TableContext from '../TableContext';
import { $l } from '../../locale-context';
var TableFilterBar = /*#__PURE__*/function (_Component) {
_inherits(TableFilterBar, _Component);
var _super = _createSuper(TableFilterBar);
function TableFilterBar() {
_classCallCheck(this, TableFilterBar);
return _super.apply(this, arguments);
}
_createClass(TableFilterBar, [{
key: "prefixCls",
get: function get() {
var prefixCls = this.props.prefixCls;
var _this$context$tableSt = this.context.tableStore.getProPrefixCls,
getProPrefixCls = _this$context$tableSt === void 0 ? getProPrefixClsDefault : _this$context$tableSt;
return getProPrefixCls('table', prefixCls);
}
}, {
key: "renderSuffix",
value: function renderSuffix() {
var prefixCls = this.prefixCls;
return /*#__PURE__*/React.createElement(ColumnFilter, {
prefixCls: prefixCls
});
}
}, {
key: "getButtons",
value: function getButtons() {
var buttons = this.props.buttons;
var prefixCls = this.prefixCls;
if (buttons.length) {
return /*#__PURE__*/React.createElement("div", {
key: "toolbar",
className: "".concat(prefixCls, "-toolbar")
}, /*#__PURE__*/React.createElement("span", {
className: "".concat(prefixCls, "-toolbar-button-group")
}, buttons));
}
}
}, {
key: "render",
value: function render() {
var _this$props = this.props,
dataSet = _this$props.dataSet,
queryDataSet = _this$props.queryDataSet,
paramName = _this$props.paramName,
_this$props$placehold = _this$props.placeholder,
placeholder = _this$props$placehold === void 0 ? $l('Table', 'filter_bar_placeholder') : _this$props$placehold,
pagination = _this$props.pagination,
_this$props$onQuery = _this$props.onQuery,
onQuery = _this$props$onQuery === void 0 ? noop : _this$props$onQuery,
_this$props$onReset = _this$props.onReset,
onReset = _this$props$onReset === void 0 ? noop : _this$props$onReset,
editable = _this$props.editable,
editorProps = _this$props.editorProps;
var prefixCls = this.prefixCls;
var buttons = this.getButtons();
return [buttons, pagination, /*#__PURE__*/React.createElement(FilterSelect, {
key: "filter",
prefixCls: "".concat(prefixCls, "-filter-select"),
optionDataSet: dataSet,
queryDataSet: queryDataSet,
placeholder: placeholder,
suffix: this.renderSuffix(),
paramName: paramName,
onQuery: onQuery,
onReset: onReset,
editable: editable,
editorProps: editorProps
})];
}
}], [{
key: "contextType",
get: function get() {
return TableContext;
}
}]);
return TableFilterBar;
}(Component);
TableFilterBar.defaultProps = {
paramName: 'params'
};
TableFilterBar = __decorate([observer], TableFilterBar);
export default TableFilterBar;
//# sourceMappingURL=TableFilterBar.js.map