mirror of
https://gitee.com/layui/layui.git
synced 2025-05-06 13:48:02 +08:00
layui 优化event让不带filter支持重复事件;table 修复导出任意内容出现的bug,优化hideCol支持显示或者隐藏所有字段
This commit is contained in:
parent
5e29f03b95
commit
2a8fe825da
@ -743,9 +743,14 @@
|
|||||||
if(fn){
|
if(fn){
|
||||||
config.event[eventName] = config.event[eventName] || {};
|
config.event[eventName] = config.event[eventName] || {};
|
||||||
|
|
||||||
//这里不再对重复事件做支持
|
if (filterName) {
|
||||||
//config.event[eventName][filterName] ? config.event[eventName][filterName].push(fn) :
|
// 带filter不支持重复事件
|
||||||
config.event[eventName][filterName] = [fn];
|
config.event[eventName][filterName] = [fn];
|
||||||
|
} else {
|
||||||
|
// 不带filter处理的是所有的同类事件,应该支持重复事件
|
||||||
|
config.event[eventName][filterName] = config.event[eventName][filterName] || [];
|
||||||
|
config.event[eventName][filterName].push(fn);
|
||||||
|
}
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,6 +68,13 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取当前实例
|
||||||
|
,getThisTable = function(id){
|
||||||
|
var that = thisTable.that[id];
|
||||||
|
if(!that) hint.error(id ? ('The table instance with ID \''+ id +'\' not found') : 'ID argument required');
|
||||||
|
return that || null;
|
||||||
|
}
|
||||||
|
|
||||||
// 获取当前实例配置项
|
// 获取当前实例配置项
|
||||||
,getThisTableConfig = function(id){
|
,getThisTableConfig = function(id){
|
||||||
var config = thisTable.config[id];
|
var config = thisTable.config[id];
|
||||||
@ -1844,7 +1851,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){
|
|||||||
if(dict.rule){
|
if(dict.rule){
|
||||||
var setWidth = dict.ruleWidth + e.clientX - dict.offset[0];
|
var setWidth = dict.ruleWidth + e.clientX - dict.offset[0];
|
||||||
var id = thisTable.eventMoveElem.closest('.' + ELEM_VIEW).attr('lay-id');
|
var id = thisTable.eventMoveElem.closest('.' + ELEM_VIEW).attr('lay-id');
|
||||||
var thatTable = thisTable.that[id];
|
var thatTable = getThisTable(id);
|
||||||
|
|
||||||
if(!thatTable) return;
|
if(!thatTable) return;
|
||||||
|
|
||||||
@ -1860,7 +1867,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){
|
|||||||
if(thisTable.eventMoveElem){
|
if(thisTable.eventMoveElem){
|
||||||
var th = thisTable.eventMoveElem; // 当前触发拖拽的 th 元素
|
var th = thisTable.eventMoveElem; // 当前触发拖拽的 th 元素
|
||||||
var id = th.closest('.' + ELEM_VIEW).attr('lay-id');
|
var id = th.closest('.' + ELEM_VIEW).attr('lay-id');
|
||||||
var thatTable = thisTable.that[id];
|
var thatTable = getThisTable(id);
|
||||||
|
|
||||||
if(!thatTable) return;
|
if(!thatTable) return;
|
||||||
|
|
||||||
@ -2475,7 +2482,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){
|
|||||||
layui.each(id, function(i, item){
|
layui.each(id, function(i, item){
|
||||||
i1 == 0 && dataTitle.push(item || '');
|
i1 == 0 && dataTitle.push(item || '');
|
||||||
});
|
});
|
||||||
layui.each(table.clearCacheKey(item1), function(i2, item2){
|
layui.each(layui.isArray(item1) ? $.extend([], item1) : table.clearCacheKey(item1), function(i2, item2){
|
||||||
vals.push('"'+ (item2 || '') +'"');
|
vals.push('"'+ (item2 || '') +'"');
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
@ -2531,7 +2538,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){
|
|||||||
var config = getThisTableConfig(id); //获取当前实例配置项
|
var config = getThisTableConfig(id); //获取当前实例配置项
|
||||||
if(!config) return;
|
if(!config) return;
|
||||||
|
|
||||||
thisTable.that[id].resize();
|
getThisTable(id).resize();
|
||||||
|
|
||||||
} else { //否则重置所有表格实例尺寸
|
} else { //否则重置所有表格实例尺寸
|
||||||
layui.each(thisTable.that, function(){
|
layui.each(thisTable.that, function(){
|
||||||
@ -2545,7 +2552,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){
|
|||||||
var config = getThisTableConfig(id); //获取当前实例配置项
|
var config = getThisTableConfig(id); //获取当前实例配置项
|
||||||
if(!config) return;
|
if(!config) return;
|
||||||
|
|
||||||
var that = thisTable.that[id];
|
var that = getThisTable(id);
|
||||||
that.reload(options, deep, type);
|
that.reload(options, deep, type);
|
||||||
|
|
||||||
return thisTable.call(that);
|
return thisTable.call(that);
|
||||||
@ -2597,26 +2604,47 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){
|
|||||||
}
|
}
|
||||||
|
|
||||||
table.hideCol = function (id, cols) {
|
table.hideCol = function (id, cols) {
|
||||||
var that = thisTable.that[id];
|
var that = getThisTable(id);
|
||||||
|
if (!that) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (layui.type(cols) === 'boolean') {
|
||||||
|
// 显示全部或者隐藏全部
|
||||||
|
that.eachCols(function (i2, item2) {
|
||||||
|
var key = item2.key;
|
||||||
|
var col = that.col(key);
|
||||||
|
var parentKey = item2.parentKey;
|
||||||
|
// 同步勾选列的 hide 值和隐藏样式
|
||||||
|
if (col.hide != cols) {
|
||||||
|
var hide = col.hide = cols;
|
||||||
|
that.elem.find('*[data-key="'+ key +'"]')[
|
||||||
|
hide ? 'addClass' : 'removeClass'
|
||||||
|
](HIDE);
|
||||||
|
// 根据列的显示隐藏,同步多级表头的父级相关属性值
|
||||||
|
that.setParentCol(hide, parentKey);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
layui.each(cols, function (i1, item1) {
|
layui.each(cols, function (i1, item1) {
|
||||||
that.eachCols(function (i2, item2) {
|
that.eachCols(function (i2, item2) {
|
||||||
if (item1.field === item2.field) {
|
if (item1.field === item2.field) {
|
||||||
var key = item2.key;
|
var key = item2.key;
|
||||||
var col = that.col(key);
|
var col = that.col(key);
|
||||||
var hide = col.hide;
|
|
||||||
var parentKey = item2.parentKey;
|
var parentKey = item2.parentKey;
|
||||||
// 同步勾选列的 hide 值和隐藏样式
|
// 同步勾选列的 hide 值和隐藏样式
|
||||||
if ('hide' in item1 && hide != item1.hide) {
|
if ('hide' in item1 && col.hide != item1.hide) {
|
||||||
col.hide = item1.hide;
|
var hide = col.hide = !!item1.hide;
|
||||||
that.elem.find('*[data-key="'+ key +'"]')[
|
that.elem.find('*[data-key="'+ key +'"]')[
|
||||||
item1.hide ? 'addClass' : 'removeClass'
|
hide ? 'addClass' : 'removeClass'
|
||||||
](HIDE);
|
](HIDE);
|
||||||
// 根据列的显示隐藏,同步多级表头的父级相关属性值
|
// 根据列的显示隐藏,同步多级表头的父级相关属性值
|
||||||
that.setParentCol(item1.hide, parentKey);
|
that.setParentCol(hide, parentKey);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
}
|
||||||
$('.' + ELEM_TOOL_PANEL).remove(); // 关闭字段筛选面板如果打开的话
|
$('.' + ELEM_TOOL_PANEL).remove(); // 关闭字段筛选面板如果打开的话
|
||||||
// 重新适配尺寸
|
// 重新适配尺寸
|
||||||
that.resize();
|
that.resize();
|
||||||
|
Loading…
Reference in New Issue
Block a user