UNPKG

@aliretail/react-materials-components

Version:
182 lines (152 loc) 4.25 kB
import _extends from "@babel/runtime/helpers/extends"; export var formFieldKey = 'table'; // 截取数据,根据pageNumber和pageSize来 export function sliceData(args) { var pageNumber = args.pageNumber, pageSize = args.pageSize, dataSource = args.dataSource; if (!Array.isArray(dataSource)) { return []; } var end = pageNumber * pageSize; var start = end - pageSize; return dataSource.slice(start, end); } // 重置数据 export function resetData(resetArgs) { var dataSource = resetArgs.dataSource, rowKey = resetArgs.rowKey, rows = resetArgs.rows; var newData = []; if (Array.isArray(rows)) { rows.forEach(function (item) { var oldInfo = Array.isArray(dataSource) ? dataSource.find(function (data) { return data[rowKey] === item[rowKey]; }) : ''; if (oldInfo) { newData.push(oldInfo); } else { newData.push(item); } }); } return newData; } // 改变单个数据 export function changeSingleData(changeArgs) { var dataSource = changeArgs.dataSource, rowKey = changeArgs.rowKey, changeData = changeArgs.changeData; var newData = []; if (Array.isArray(dataSource)) { dataSource.forEach(function (item, index) { if (item === void 0) { item = {}; } if (index === rowKey) { newData.push(changeData); } else { newData.push(item); } }); } return newData; } // 删除数据 export function deleteSingleData(deleteArgs) { var dataSource = deleteArgs.dataSource, rowKey = deleteArgs.rowKey, id = deleteArgs.id; if (!Array.isArray(dataSource)) { return []; } var newData = dataSource.filter(function (item) { if (item === void 0) { item = {}; } return item[rowKey] !== id; }); return newData; } // function getNeedValidateRowkey(columns) { // if (!Array.isArray(columns)) { // return; // } // const keys = []; // columns.forEach((item) => { // const { type, dataIndex } = item || {}; // if (type === 'inputNumber') { // keys.push(dataIndex); // } // }); // return keys; // } // 获取需要检验的filed中的key,暂时只校验组件内部实现的数字输入框 export function getNeedValidateField(columns, value) { var result = []; if (Array.isArray(columns) && Array.isArray(value)) { value.forEach(function (item, index) { columns.forEach(function (column) { var _ref = column || {}, type = _ref.type, dataIndex = _ref.dataIndex; if (type === 'inputNumber') { result.push(formFieldKey + "." + index + "." + dataIndex); } }); }); } return result; } // 转化fieldKey为数组中对应的数据 export function filedKeyTrans(fieldKey) { if (!fieldKey) { return; } var keyList = fieldKey.split('.'); return { index: keyList[1], dataIndex: keyList[2] }; } export function fieldChange(name, val, data) { if (!Array.isArray(data)) { return { value: [] }; } var changeKeyData = filedKeyTrans(name); if (!changeKeyData) { return { value: data }; } var record = {}; var value = data.map(function (item, index) { if ("" + index === changeKeyData.index) { var _extends2; record = _extends({}, item || {}, (_extends2 = {}, _extends2[changeKeyData.dataIndex] = val, _extends2)); return record; } return item; }); return { value: value, record: record, dataIndex: changeKeyData.dataIndex }; } // 获取错误信息 export function getFieldErrs(errs, currentErrs) { var fieldErrs = {}; if (errs) { Object.keys(errs || {}).forEach(function (key) { var info = errs[key] || {}; Object.keys(info).forEach(function (columnKey) { fieldErrs[formFieldKey + "." + key + "." + columnKey] = info[columnKey]; }); }); } if (currentErrs) { Object.keys(currentErrs || {}).forEach(function (key) { // 若当前设置的错误提示在传入的错误设置中没有,则将错误去掉,并添加到传入的错误设置中 if (!fieldErrs[key]) { fieldErrs[key] = ''; } }); } return fieldErrs; }