refactor: 将部分组件上的 `lay-id` 属性重命名为 `lay-${MOD_NAME}-id` (#1898)

pull/1913/head
morning-star 2024-05-15 20:49:37 +08:00 committed by GitHub
parent 5f4a64bbdb
commit bd1e5c31d0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 26 additions and 20 deletions

View File

@ -16,6 +16,7 @@ layui.define(['jquery', 'laytpl', 'lay', 'util'], function(exports){
// 模块名 // 模块名
var MOD_NAME = 'dropdown'; var MOD_NAME = 'dropdown';
var MOD_INDEX = 'layui_'+ MOD_NAME +'_index'; // 模块索引名 var MOD_INDEX = 'layui_'+ MOD_NAME +'_index'; // 模块索引名
var MOD_ID = 'lay-' + MOD_NAME + '-id';
// 外部接口 // 外部接口
var dropdown = { var dropdown = {
@ -151,7 +152,7 @@ layui.define(['jquery', 'laytpl', 'lay', 'util'], function(exports){
); );
if(!lay.isTopElem(elem[0])){ if(!lay.isTopElem(elem[0])){
elem.attr('lay-id', options.id); elem.attr(MOD_ID, options.id);
} }
// 初始化自定义字段名 // 初始化自定义字段名
@ -276,7 +277,7 @@ layui.define(['jquery', 'laytpl', 'lay', 'util'], function(exports){
}; };
// 主模板 // 主模板
var TPL_MAIN = ['<div class="layui-dropdown layui-border-box layui-panel layui-anim layui-anim-downbit" lay-id="' + options.id + '">' var TPL_MAIN = ['<div class="layui-dropdown layui-border-box layui-panel layui-anim layui-anim-downbit" ' + MOD_ID + '="' + options.id + '">'
,'</div>'].join(''); ,'</div>'].join('');
// 如果是右键事件,则每次触发事件时,将允许重新渲染 // 如果是右键事件,则每次触发事件时,将允许重新渲染
@ -286,7 +287,7 @@ layui.define(['jquery', 'laytpl', 'lay', 'util'], function(exports){
if(!rerender && options.elem.data(MOD_INDEX +'_opened')) return; if(!rerender && options.elem.data(MOD_INDEX +'_opened')) return;
// 记录模板对象 // 记录模板对象
that.elemView = $('.' + STR_ELEM + '[lay-id="' + options.id + '"]'); that.elemView = $('.' + STR_ELEM + '[' + MOD_ID + '="' + options.id + '"]');
if (type === 'reloadData' && that.elemView.length) { if (type === 'reloadData' && that.elemView.length) {
that.elemView.html(options.content || getDefaultView()); that.elemView.html(options.content || getDefaultView());
} else { } else {
@ -388,7 +389,7 @@ layui.define(['jquery', 'laytpl', 'lay', 'util'], function(exports){
// 若存在已打开的面板元素,则移除 // 若存在已打开的面板元素,则移除
if(prevContentElem){ if(prevContentElem){
var prevId = prevContentElem.attr('lay-id'); var prevId = prevContentElem.attr(MOD_ID);
var prevTriggerElem = prevContentElem.data('prevElem'); var prevTriggerElem = prevContentElem.data('prevElem');
var prevInstance = thisModule.getThis(prevId); var prevInstance = thisModule.getThis(prevId);
var prevOnClose = prevInstance.config.close; var prevOnClose = prevInstance.config.close;

View File

@ -24,7 +24,7 @@
// 模块名 // 模块名
var MOD_NAME = 'laydate'; var MOD_NAME = 'laydate';
var MOD_ID = 'layui-' + MOD_NAME + '-id'; // 已渲染过的索引标记名 var MOD_ID = 'lay-' + MOD_NAME + '-id'; // 已渲染过的索引标记名
// 外部调用 // 外部调用
var laydate = { var laydate = {

View File

@ -118,6 +118,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){
// 字符 // 字符
var MOD_NAME = 'table'; var MOD_NAME = 'table';
var MOD_ID = 'lay-' + MOD_NAME + '-id';
var ELEM = '.layui-table'; var ELEM = '.layui-table';
var THIS = 'layui-this'; var THIS = 'layui-this';
var SHOW = 'layui-show'; var SHOW = 'layui-show';
@ -392,16 +393,19 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){
]; ];
if(options.className) arr.push(options.className); if(options.className) arr.push(options.className);
return arr.join(' '); return arr.join(' ');
}()).attr({ }()).attr(function(){
'lay-filter': 'LAY-TABLE-FORM-DF-'+ that.index, var obj = {
'lay-id': options.id, 'lay-filter': 'LAY-TABLE-FORM-DF-'+ that.index,
'style': function(){ 'style': function(){
var arr = []; var arr = [];
if(options.width) arr.push('width:'+ options.width + 'px;'); if(options.width) arr.push('width:'+ options.width + 'px;');
// if(options.height) arr.push('height:'+ options.height + 'px;'); // if(options.height) arr.push('height:'+ options.height + 'px;');
return arr.join('') return arr.join('')
}() }()
}).html(laytpl(TPL_MAIN, { }
obj[MOD_ID] = options.id;
return obj;
}()).html(laytpl(TPL_MAIN, {
open: '{{', // 标签符前缀 open: '{{', // 标签符前缀
close: '}}' // 标签符后缀 close: '}}' // 标签符后缀
}).render({ }).render({
@ -2191,7 +2195,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(MOD_ID);
var thatTable = getThisTable(id); var thatTable = getThisTable(id);
if(!thatTable) return; if(!thatTable) return;
@ -2207,7 +2211,7 @@ layui.define(['lay', 'laytpl', 'laypage', 'form', 'util'], function(exports){
}).on('mouseup', function(e){ }).on('mouseup', function(e){
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(MOD_ID);
var thatTable = getThisTable(id); var thatTable = getThisTable(id);
if(!thatTable) return; if(!thatTable) return;

View File

@ -60,6 +60,7 @@ layui.define(['table'], function (exports) {
// 字符 // 字符
var MOD_NAME = 'treeTable'; var MOD_NAME = 'treeTable';
var MOD_ID = 'lay-table-id';
var HIDE = 'layui-hide'; var HIDE = 'layui-hide';
var ELEM_VIEW = '.layui-table-view'; var ELEM_VIEW = '.layui-table-view';
@ -564,7 +565,7 @@ layui.define(['table'], function (exports) {
// treeNode // 需要展开的节点 // treeNode // 需要展开的节点
var trElem = treeNode.trElem; var trElem = treeNode.trElem;
var tableViewElem = treeNode.tableViewElem || trElem.closest(ELEM_VIEW); var tableViewElem = treeNode.tableViewElem || trElem.closest(ELEM_VIEW);
var tableId = treeNode.tableId || tableViewElem.attr('lay-id'); var tableId = treeNode.tableId || tableViewElem.attr(MOD_ID);
var options = treeNode.options || table.getOptions(tableId); var options = treeNode.options || table.getOptions(tableId);
var dataIndex = treeNode.dataIndex || trElem.attr('lay-data-index'); // 可能出现多层 var dataIndex = treeNode.dataIndex || trElem.attr('lay-data-index'); // 可能出现多层
var treeTableThat = getThisTable(tableId); var treeTableThat = getThisTable(tableId);
@ -1102,12 +1103,12 @@ layui.define(['table'], function (exports) {
}); });
// #1463 expandNode 中已经展开过的节点不会重新渲染 // #1463 expandNode 中已经展开过的节点不会重新渲染
debounceFn('renderTreeTable2-' + tableId, function () { debounceFn('renderTreeTable2-' + tableId, function () {
form.render($('.layui-table-tree[lay-id="' + tableId + '"]')); form.render($('.layui-table-tree[' + MOD_ID + '="' + tableId + '"]'));
}, 0)(); }, 0)();
} else { } else {
debounceFn('renderTreeTable-' + tableId, function () { debounceFn('renderTreeTable-' + tableId, function () {
options.hasNumberCol && formatNumber(that); options.hasNumberCol && formatNumber(that);
form.render($('.layui-table-tree[lay-id="' + tableId + '"]')); form.render($('.layui-table-tree[' + MOD_ID + '="' + tableId + '"]'));
}, 0)(); }, 0)();
} }
} }