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 += ("&nbsp;".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 算力,解读结果公开显示在下面。

还没有人解读过这个文件。