UNPKG

choerodon-ui

Version:

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

144 lines (134 loc) 4 kB
import _objectSpread from "@babel/runtime/helpers/objectSpread2"; import React, { createContext, useMemo } from 'react'; import { getConfig } from '../../../../../es/configure'; import DataSet from '../../../data-set'; import { DataSetSelection, DataToJSON, FieldIgnore, FieldType } from '../../../data-set/interface'; function processAxiosConfig() { var axiosConfig = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var args = arguments.length > 1 ? arguments[1] : undefined; if (typeof axiosConfig === 'function') { return axiosConfig(_objectSpread({}, args)); } return axiosConfig; } function getTransportConfig(props) { var config = props.config, type = props.type, searchCode = props.searchCode, queryDataSet = props.queryDataSet, tableFilterAdapter = props.tableFilterAdapter; return processAxiosConfig(tableFilterAdapter, { type: type, config: config, searchCode: searchCode, queryDataSet: queryDataSet }); } var ConditionDataSet = function ConditionDataSet() { return { paging: false, fields: [{ name: 'fieldName', type: FieldType.string }, { name: 'comparator', type: FieldType.string, defaultValue: 'EQUAL' }, { name: 'value' }, { name: 'searchConditionId', type: FieldType.number }], dataToJSON: DataToJSON.all, events: { update: function update() {} } }; }; var QuickFilterDataSet = function QuickFilterDataSet(_ref) { var searchCode = _ref.searchCode, queryDataSet = _ref.queryDataSet, tableFilterAdapter = _ref.tableFilterAdapter; return { paging: false, autoQuery: false, primaryKey: 'searchId', transport: { adapter: function adapter(config, type) { return getTransportConfig({ config: config, type: type, searchCode: searchCode, queryDataSet: queryDataSet, tableFilterAdapter: tableFilterAdapter }); } }, fields: [{ name: 'searchName', type: 'string', maxLength: 10, required: true }, { name: 'searchId', type: 'string' }, { name: 'defaultFlag', type: 'boolean', falseValue: 0, trueValue: 1 }, { name: 'searchCode', type: 'string', defaultValue: searchCode }, { name: 'conditionList', type: 'object' }] }; }; var Store = createContext({}); export default Store; export var StoreProvider = function StoreProvider(props) { var children = props.children, dynamicFilterBar = props.dynamicFilterBar, queryDataSet = props.queryDataSet, searchCode = props.searchCode; var searchCodes = (dynamicFilterBar === null || dynamicFilterBar === void 0 ? void 0 : dynamicFilterBar.searchCode) || searchCode; var tableFilterAdapter = (dynamicFilterBar === null || dynamicFilterBar === void 0 ? void 0 : dynamicFilterBar.tableFilterAdapter) || getConfig('tableFilterAdapter'); var filterMenuDS = useMemo(function () { return new DataSet({ autoCreate: true, fields: [{ name: 'filterName', type: FieldType.string, textField: 'searchName', valueField: 'searchId', options: new DataSet({ selection: DataSetSelection.single }), ignore: FieldIgnore.always }] }); }, []); var conditionDataSet = useMemo(function () { return new DataSet(ConditionDataSet()); }, []); var menuDataSet = useMemo(function () { return new DataSet(QuickFilterDataSet({ searchCode: searchCodes, queryDataSet: queryDataSet, tableFilterAdapter: tableFilterAdapter })); }, []); var value = _objectSpread({}, props, { menuDataSet: menuDataSet, filterMenuDS: filterMenuDS, conditionDataSet: conditionDataSet }); return React.createElement(Store.Provider, { value: value }, children); }; //# sourceMappingURL=QuickFilterDataSet.js.map