public/admin/js/treetable.js
(开头部分) 7KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
layui.define(["form"], function(exports) {
var MOD_NAME = "treetable",
o = layui.jquery,
form = layui.form,
tree = function() {};
tree.prototype.cinfig = function(e) {
this.c = o.extend({
elem: "#tree-table",
field: "id",
icon_class: "down",
icon_val: {
open: "",
close: ""
},
space: 4,
new_data: [],
childs: [],
is_open: false,
}, e)
};
tree.prototype.on = function(events, callback) {
return layui.onevent.call(this, MOD_NAME, events, callback)
};
tree.prototype.template = function(data) {
var t = this,
level = [],
tbody = "",
thead = t.c.is_checkbox ? '<td><input type="checkbox" lay-skin="primary" lay-filter="lay-t"></td>' : '';
o.each(t.c.cols, function(idx, obj) {
var width = obj.width?"width:" + obj.width + ';':'';
var align = obj.align?"text-align:" + obj.align + ';':'';
thead += '<th style="' + width + align + '">' + obj.title + "</th>"
});
o.each(data, function(index, item) {
var checked = t.c.is_checkbox && t.c.checked && o.inArray(item.id, t.c.checked) > -1 && 'checked',
hide_class = 'class="' + (item.pid == 0 || item.pid == t.cache(item.pid) || t.c.is_open ? "" : "hide") + '"',
tr = '<tr data-id="' + item.id + '" data-pid="' + item.pid + '" ' + hide_class + ">" +
(t.c.is_checkbox ? '<td><div><input type="checkbox" lay-skin="primary" lay-filter="lay-t" ' + checked + '></div></td>' : "");
item.level = level[item.id] = item.pid > 0 ? (level[item.pid] + 1) : 0;
o.each(t.c.cols, function(idx, obj) {
var width = obj.width?"width:" + obj.width + ';':'';
var align = obj.align?"text-align:" + obj.align + ';':'';
tr += '<td style="' + width + align + '">';
if(obj.field == t.c.field) {
tr += (" ".repeat(level[item.id] * t.c.space));
if(t.c.childs[item.id]) {
tr += '<i class="layui-icon ' + t.c.icon_class + '">' + (item.id == t.cache(item.id) || t.c.is_open ? t.c.icon_val.close : t.c.icon_val.open) + "</i>"
}
}
tr += (obj.template ? obj.template(item) : (item[obj.field] !== undefined ? item[obj.field] : '')) + "</td>"
});
tbody += tr + "</tr>";
});
return '<thead><tr data-id="0" data-pid="-1">' + thead + "</tr></thead><tbody>" + tbody + "</tbody>"
};
tree.prototype.render = function(e) {
var t = this,
data = [];
t.cinfig(e);
后面还有 169 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。