mirror of https://github.com/layui/layui
调整 treeTable 的 `cascade` 属性逻辑与结构
parent
e971a9be77
commit
32e2483716
|
@ -203,9 +203,9 @@ layui.define(['table'], function (exports) {
|
||||||
Class.prototype.init = function () {
|
Class.prototype.init = function () {
|
||||||
var that = this;
|
var that = this;
|
||||||
var options = that.config;
|
var options = that.config;
|
||||||
var cascade = options.tree.check.cascade;
|
var cascade = options.tree.data.cascade;
|
||||||
if (cascade !== 'parent' || cascade !== 'children') {
|
if (cascade !== 'parent' && cascade !== 'children') {
|
||||||
options.tree.check.cascade = 'all'; // 超出范围的都重置为全联动
|
options.tree.data.cascade = 'all'; // 超出范围的都重置为全联动
|
||||||
}
|
}
|
||||||
|
|
||||||
// 先初始一个空的表格以便拿到对应的表格实例信息
|
// 先初始一个空的表格以便拿到对应的表格实例信息
|
||||||
|
@ -247,7 +247,8 @@ layui.define(['table'], function (exports) {
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
isSimpleData: false, // 是否简单数据模式
|
isSimpleData: false, // 是否简单数据模式
|
||||||
rootPid: null // 根节点的父 ID 值
|
rootPid: null, // 根节点的父 ID 值
|
||||||
|
cascade: 'all' // 级联方式 默认全部级联:all 可选 级联父 parent 级联子 children
|
||||||
},
|
},
|
||||||
async: {
|
async: {
|
||||||
enable: false, // 是否开启异步加载模式,只有开启的时候其他参数才起作用
|
enable: false, // 是否开启异步加载模式,只有开启的时候其他参数才起作用
|
||||||
|
@ -261,9 +262,6 @@ layui.define(['table'], function (exports) {
|
||||||
callback: {
|
callback: {
|
||||||
beforeExpand: null, // 展开前的回调 return false 可以阻止展开的动作
|
beforeExpand: null, // 展开前的回调 return false 可以阻止展开的动作
|
||||||
onExpand: null // 展开之后的回调
|
onExpand: null // 展开之后的回调
|
||||||
},
|
|
||||||
check: {
|
|
||||||
cascade: 'all' // 级联方式 默认全部级联:all 可选 级联父 parent 级联子 children
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -1404,7 +1402,7 @@ layui.define(['table'], function (exports) {
|
||||||
});
|
});
|
||||||
|
|
||||||
var isAll = true;
|
var isAll = true;
|
||||||
layui.each(treeOptions.check.cascade === 'all' ? table.cache[id] : treeTable.getData(id, true), function (i1, item1) {
|
layui.each(treeOptions.data.cascade === 'all' ? table.cache[id] : treeTable.getData(id, true), function (i1, item1) {
|
||||||
if (!item1[checkName]) {
|
if (!item1[checkName]) {
|
||||||
isAll = false;
|
isAll = false;
|
||||||
return true;
|
return true;
|
||||||
|
@ -1516,7 +1514,7 @@ layui.define(['table'], function (exports) {
|
||||||
|
|
||||||
var checkName = table.config.checkName;
|
var checkName = table.config.checkName;
|
||||||
|
|
||||||
var cascade = treeOptions.check.cascade;
|
var cascade = treeOptions.data.cascade;
|
||||||
var isCascadeParent = cascade === 'all' || cascade === 'parent';
|
var isCascadeParent = cascade === 'all' || cascade === 'parent';
|
||||||
|
|
||||||
// 如有必要更新父节点们的状态
|
// 如有必要更新父节点们的状态
|
||||||
|
@ -1540,7 +1538,7 @@ layui.define(['table'], function (exports) {
|
||||||
// 更新全选的状态
|
// 更新全选的状态
|
||||||
var isAll = true;
|
var isAll = true;
|
||||||
var isIndeterminate = false;
|
var isIndeterminate = false;
|
||||||
layui.each(treeOptions.check.cascade === 'all' ? table.cache[tableId] : treeTable.getData(tableId, true), function (i1, item1) {
|
layui.each(treeOptions.data.cascade === 'all' ? table.cache[tableId] : treeTable.getData(tableId, true), function (i1, item1) {
|
||||||
if (item1[checkName] || item1[LAY_CHECKBOX_HALF]) {
|
if (item1[checkName] || item1[LAY_CHECKBOX_HALF]) {
|
||||||
isIndeterminate = true;
|
isIndeterminate = true;
|
||||||
}
|
}
|
||||||
|
@ -1684,7 +1682,7 @@ layui.define(['table'], function (exports) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var trs = that.updateStatus(trData ? [trData] : table.cache[tableId], checkedStatusFn, trData && treeOptions.check.cascade === 'parent');
|
var trs = that.updateStatus(trData ? [trData] : table.cache[tableId], checkedStatusFn, trData && treeOptions.data.cascade === 'parent');
|
||||||
var checkboxElem = tableView.find(trs.map(function (value) {
|
var checkboxElem = tableView.find(trs.map(function (value) {
|
||||||
return 'tr[lay-data-index="' + value[LAY_DATA_INDEX] + '"] input[name="layTableCheckbox"]:not(:disabled)';
|
return 'tr[lay-data-index="' + value[LAY_DATA_INDEX] + '"] input[name="layTableCheckbox"]:not(:disabled)';
|
||||||
}).join(','));
|
}).join(','));
|
||||||
|
|
Loading…
Reference in New Issue