nsn-comp
Version:
NSN核心组件
57 lines (49 loc) • 1.45 kB
JavaScript
import { StatusEnum } from "nsn-enum";
import { NType } from "nsn-util";
import { requestPage } from './requestPage';
var refresh = function refresh(record, status) {
return Object.assign(record, {
status: status || (record['status'] === StatusEnum.NORMAL ? StatusEnum.DISABLE : StatusEnum.NORMAL)
});
};
var refreshStatus = function refreshStatus(comp, record, status) {
var _comp$props = comp.props,
table = _comp$props.table,
dispatch = _comp$props.dispatch;
var page = comp.state.page;
var tree = table.tree;
;
var toggleSetPageNType = undefined;
if (NType.isString(tree)) {
toggleSetPageNType = tree;
} else if (!NType.isArray(tree)) {
toggleSetPageNType = tree === null || tree === void 0 ? void 0 : tree.dtype;
}
if (tree) {
if (dispatch && toggleSetPageNType) {
// toggle data
page === null || page === void 0 ? void 0 : page.records.every(function (ele) {
if (ele.id === record['id']) {
refresh(ele); // 终止遍历
return false;
}
return true;
}); // 更新 model 中的数据
dispatch({
type: toggleSetPageNType,
payload: page
});
} else {
requestPage(comp);
}
} else {
if (Array.isArray(record)) {
record.forEach(function (ele) {
return refresh(ele, status);
});
} else {
refresh(record, status);
}
}
};
export { refreshStatus };