@aliretail/react-materials-components
Version:
182 lines (152 loc) • 4.25 kB
JavaScript
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;
}