UNPKG

choerodon-ui

Version:

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

255 lines (240 loc) 6.93 kB
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray"; import _typeof from "@babel/runtime/helpers/typeof"; import _objectSpread from "@babel/runtime/helpers/objectSpread2"; import omit from 'lodash/omit'; import DataSet from '../../../data-set/DataSet'; import { DataSetSelection, DataToJSON, FieldType } from '../../../data-set/interface'; import { $l } from '../../../locale-context'; import { OPERATOR, OPERATOR_TYPE } from './Operator'; 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 }); } export var ConditionDataSet = function ConditionDataSet() { return { paging: false, fields: [{ name: 'fieldName', type: FieldType.string }, { name: 'comparator', type: FieldType.string, defaultValue: 'EQUAL' }, { name: 'conditionType', type: FieldType.string, defaultValue: 'regular' }, { name: 'value', transformRequest: function transformRequest(value) { if (_typeof(value) === 'object') { return JSON.stringify(value); } return value; }, transformResponse: function transformResponse(value) { try { return JSON.parse(value); } catch (e) { return value; } } }], dataToJSON: DataToJSON.all, events: { update: function update() {} } }; }; export var AdvancedFieldSet; (function (AdvancedFieldSet) { AdvancedFieldSet["fieldName"] = "__fieldName__"; AdvancedFieldSet["comparator"] = "__comparator__"; AdvancedFieldSet["tableName"] = "__tableName__"; AdvancedFieldSet["alias"] = "__alias__"; AdvancedFieldSet["source"] = "__source__"; AdvancedFieldSet["conditionType"] = "__conditionType__"; })(AdvancedFieldSet || (AdvancedFieldSet = {})); export var NewFilterDataSet = function NewFilterDataSet(_ref) { var propFields = _ref.propFields; var advancedFields = propFields.map(function (field) { return omit(field, ['defaultValue', 'ignore', 'cascadeMap']); }); return { paging: false, selection: false, autoCreate: false, primaryKey: 'searchId', autoQuery: false, fields: [{ name: AdvancedFieldSet.fieldName, type: FieldType.string, required: true }, { name: AdvancedFieldSet.comparator, type: FieldType.string, computedProps: { required: function required(_ref2) { var record = _ref2.record; return record.get(AdvancedFieldSet.fieldName); } }, options: new DataSet({ selection: DataSetSelection.single, paging: false, data: OPERATOR_TYPE.ALL }) }, { name: AdvancedFieldSet.tableName, type: FieldType.string }, { name: AdvancedFieldSet.alias, type: FieldType.string }, { name: AdvancedFieldSet.source, type: FieldType.string }, { name: AdvancedFieldSet.conditionType, type: FieldType.string, defaultValue: 'comparator' }, { name: 'value', computedProps: { bind: function bind(_ref3) { var record = _ref3.record; return record.get(AdvancedFieldSet.fieldName); } }, transformRequest: function transformRequest(value) { if (_typeof(value) === 'object') { return JSON.stringify(value); } return value; }, transformResponse: function transformResponse(value) { try { return JSON.parse(value); } catch (e) { return value; } } }].concat(_toConsumableArray(advancedFields)), dataToJSON: DataToJSON.dirty, events: { update: function update(_ref4) { var record = _ref4.record, name = _ref4.name, oldValue = _ref4.oldValue; var fieldName = record.get(AdvancedFieldSet.fieldName); var comparator = record.get(AdvancedFieldSet.comparator); if ([OPERATOR.IS_NULL.value, OPERATOR.IS_NOT_NULL.value].includes(comparator)) { record.set(fieldName, null); } if (name === AdvancedFieldSet.fieldName) { record.set(oldValue, null); if (comparator) { record.init(AdvancedFieldSet.comparator, null); } } } } }; }; export var QuickFilterDataSet = function QuickFilterDataSet(_ref5) { var searchCode = _ref5.searchCode, queryDataSet = _ref5.queryDataSet, tableFilterAdapter = _ref5.tableFilterAdapter; return { paging: false, autoQuery: false, autoLocateFirst: false, primaryKey: 'searchId', transport: { adapter: function adapter(config, type) { return getTransportConfig({ config: config, type: type, searchCode: searchCode, queryDataSet: queryDataSet, tableFilterAdapter: tableFilterAdapter }); } }, fields: [{ name: 'searchName', label: $l('Table', 'filter_name'), type: 'string', maxLength: 20, required: true }, { name: 'searchId', type: 'string' }, // 条件逻辑值 { name: 'conExpression', type: 'string', defaultValue: 'all', // 兼容旧数据 transformResponse: function transformResponse(value) { if (!value) { return 'all'; } return value; }, transformRequest: function transformRequest(value) { return value || 'all'; } }, { name: 'defaultFlag', type: 'boolean', falseValue: 0, trueValue: 1, label: $l('Table', 'set_default') }, { name: 'searchCode', type: 'string', defaultValue: searchCode }, { name: 'conditionList', type: 'object' }, { name: 'saveFilterValue', type: 'boolean', falseValue: 0, trueValue: 1, defaultValue: 1, // 默认保存筛选值,兼容旧数据 transformResponse: function transformResponse(value) { if (value === 0) { return 0; } return 1; }, label: $l('Table', 'save_filter_value') }, { // 是否租户默认配置 name: 'isTenant', type: 'boolean', falseValue: 0, trueValue: 1 }] }; }; //# sourceMappingURL=QuickFilterDataSet.js.map