整理代码
parent
7bd1f5eceb
commit
67a8790b95
|
|
@ -45,8 +45,8 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
|||
sideMenu.selectItem(param.menu.select);
|
||||
}
|
||||
|
||||
this.bodyRender = function(option) {
|
||||
if (option.tab.muiltTab) {
|
||||
this.bodyRender = function(param) {
|
||||
if (param.tab.muiltTab) {
|
||||
bodyTab = pearTab.render({
|
||||
elem: 'content',
|
||||
roll: true,
|
||||
|
|
@ -54,20 +54,20 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
|||
width: '100%',
|
||||
height: '100%',
|
||||
index: 0,
|
||||
tabMax: option.tab.tabMax,
|
||||
tabMax: param.tab.tabMax,
|
||||
closeEvent: function(id) {
|
||||
sideMenu.selectItem(id);
|
||||
},
|
||||
data: [{
|
||||
id: option.tab.index.id,
|
||||
url: option.tab.index.href,
|
||||
title: option.tab.index.title,
|
||||
id: param.tab.index.id,
|
||||
url: param.tab.index.href,
|
||||
title: param.tab.index.title,
|
||||
close: false
|
||||
}]
|
||||
});
|
||||
bodyTab.click(function(id) {
|
||||
// 选 项 卡 切 换 刷 新
|
||||
if(!option.tab.keepState){
|
||||
if(!param.tab.keepState){
|
||||
bodyTab.refresh(false);
|
||||
}
|
||||
bodyTab.positionTab();
|
||||
|
|
@ -89,7 +89,6 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
|
|||
}, 600)
|
||||
})
|
||||
sideMenu.click(function(dom, data) {
|
||||
|
||||
bodyTab.addTabOnly({
|
||||
id: data.menuId,
|
||||
title: data.menuTitle,
|
||||
|
|
|
|||
|
|
@ -47,8 +47,6 @@ layui.define(['table', 'jquery', 'element'], function(exports) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
// 渲 染 菜 单 结 束 并 完 成
|
||||
element.init();
|
||||
|
||||
downShow(option);
|
||||
|
|
@ -57,8 +55,6 @@ layui.define(['table', 'jquery', 'element'], function(exports) {
|
|||
return new pearMenu(option);
|
||||
}
|
||||
|
||||
|
||||
/** 监听事件赋值 */
|
||||
pearMenu.prototype.click = function(clickEvent) {
|
||||
|
||||
var _this = this;
|
||||
|
|
@ -76,36 +72,26 @@ layui.define(['table', 'jquery', 'element'], function(exports) {
|
|||
|
||||
if (doms.text() != '') {
|
||||
data['menuPath'] = doms.find("span").text() + " / " + data['menuPath'];
|
||||
|
||||
}
|
||||
var domss = hash(doms);
|
||||
|
||||
if (domss.text() != '') {
|
||||
data['menuPath'] = domss.find("span").text() + " / " + data['menuPath'];
|
||||
}
|
||||
|
||||
var domsss = hash(domss);
|
||||
|
||||
if (domsss.text() != '') {
|
||||
|
||||
data['menuPath'] = domsss.find("span").text() + " / " + data['menuPath'];
|
||||
|
||||
}
|
||||
clickEvent(dom, data);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function hash(dom) {
|
||||
|
||||
return dom.parent().parent().prev();
|
||||
}
|
||||
|
||||
|
||||
pearMenu.prototype.skin = function(skin) {
|
||||
|
||||
var menu = $(".pear-nav-tree[lay-filter='" + this.option.elem + "']").parent();
|
||||
|
||||
menu.removeClass("dark-theme");
|
||||
menu.removeClass("light-theme");
|
||||
menu.addClass(skin);
|
||||
|
|
@ -115,28 +101,20 @@ layui.define(['table', 'jquery', 'element'], function(exports) {
|
|||
pearMenu.prototype.selectItem = function(pearId) {
|
||||
|
||||
if (this.option.control != false) {
|
||||
|
||||
$("#" + this.option.elem + " a[menu-id='" + pearId + "']").parents(".layui-side-scroll ").find("ul").css({
|
||||
display: "none"
|
||||
});
|
||||
|
||||
$("#" + this.option.elem + " a[menu-id='" + pearId + "']").parents(".layui-side-scroll ").find(".layui-this").removeClass(
|
||||
"layui-this");
|
||||
|
||||
$("#" + this.option.elem + " a[menu-id='" + pearId + "']").parents("ul").css({
|
||||
display: "block"
|
||||
});
|
||||
|
||||
var controlId = $("#" + this.option.elem + " a[menu-id='" + pearId + "']").parents("ul").attr("pear-id");
|
||||
|
||||
$("#" + this.option.control).find(".layui-this").removeClass("layui-this");
|
||||
|
||||
$("#" + this.option.control).find("[pear-id='" + controlId + "']").addClass("layui-this");
|
||||
}
|
||||
|
||||
|
||||
// 根 据 菜 单 Id 选 中 菜 单 项 目
|
||||
|
||||
if (this.option.accordion == true) {
|
||||
$("#" + this.option.elem + " a[menu-id='" + pearId + "']").parents(".pear-nav-tree").find(".layui-nav-itemed").removeClass(
|
||||
"layui-nav-itemed");
|
||||
|
|
@ -145,14 +123,9 @@ layui.define(['table', 'jquery', 'element'], function(exports) {
|
|||
$("#" + this.option.elem + " a[menu-id='" + pearId + "']").parents(".pear-nav-tree").find(".layui-this").removeClass(
|
||||
"layui-this");
|
||||
|
||||
// 通 过 动 画 打 开 当 前 菜 单 项 layui-nav-child
|
||||
|
||||
if (!$("#" + this.option.elem).is(".pear-nav-mini")) {
|
||||
|
||||
$("#" + this.option.elem + " a[menu-id='" + pearId + "']").parents(".layui-nav-item").addClass("layui-nav-itemed");
|
||||
|
||||
$("#" + this.option.elem + " a[menu-id='" + pearId + "']").parents("dd").addClass("layui-nav-itemed");
|
||||
|
||||
}
|
||||
|
||||
$("#" + this.option.elem + " a[menu-id='" + pearId + "']").parent().addClass("layui-this");
|
||||
|
|
@ -164,30 +137,21 @@ layui.define(['table', 'jquery', 'element'], function(exports) {
|
|||
pearMenu.prototype.collaspe = function(time) {
|
||||
|
||||
var elem = this.option.elem;
|
||||
|
||||
var config = this.option;
|
||||
|
||||
if ($("#" + this.option.elem).is(".pear-nav-mini")) {
|
||||
|
||||
$.each(activeMenus, function(i, item) {
|
||||
$("#" + elem + " a[menu-id='" + $(this).attr("menu-id") + "']").parent().addClass("layui-nav-itemed");
|
||||
})
|
||||
|
||||
$("#" + this.option.elem).removeClass("pear-nav-mini");
|
||||
|
||||
$("#" + this.option.elem).animate({
|
||||
width: "220px"
|
||||
}, 150);
|
||||
|
||||
isHoverMenu(false, config);
|
||||
|
||||
} else {
|
||||
|
||||
activeMenus = $("#" + this.option.elem).find(".layui-nav-itemed>a");
|
||||
$("#" + this.option.elem).find(".layui-nav-itemed").removeClass("layui-nav-itemed");
|
||||
|
||||
$("#" + this.option.elem).addClass("pear-nav-mini");
|
||||
|
||||
$("#" + this.option.elem).animate({
|
||||
width: "60px"
|
||||
}, 400);
|
||||
|
|
@ -198,52 +162,38 @@ layui.define(['table', 'jquery', 'element'], function(exports) {
|
|||
|
||||
/** 同 步 请 求 获 取 数 据 */
|
||||
function getData(url) {
|
||||
|
||||
$.ajaxSettings.async = false;
|
||||
var data = null;
|
||||
|
||||
$.get(url+"?fresh=" + Math.random(), function(result) {
|
||||
data = result;
|
||||
});
|
||||
|
||||
$.ajaxSettings.async = true;
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
function createMenu(option) {
|
||||
// 声 明 头 部
|
||||
var menuHtml = '<ul lay-filter="' + option.elem +
|
||||
'" class="layui-nav arrow pear-menu layui-nav-tree pear-nav-tree">'
|
||||
// 开 启 同 步 操 作
|
||||
$.each(option.data, function(i, item) {
|
||||
// 创 建 每 一 个 菜 单 项
|
||||
|
||||
var content = '<li class="layui-nav-item" >';
|
||||
|
||||
if (i == option.defaultOpen) {
|
||||
content = '<li class="layui-nav-item layui-nav-itemed" >';
|
||||
}
|
||||
|
||||
var href = "javascript:;";
|
||||
var target = "";
|
||||
var className = "site-demo-active"
|
||||
|
||||
if (item.openType == "_blank" && item.type == 1) {
|
||||
href = item.href;
|
||||
target = "target='_blank'";
|
||||
className = "";
|
||||
}
|
||||
|
||||
// 判 断 菜 单 类 型 0 是 不可跳转的目录 1 是 可 点 击 跳 转 的 菜 单
|
||||
if (item.type == 0) {
|
||||
// 创 建 目 录 结 构
|
||||
content += '<a href="javascript:;" menu-type="' + item.type + '" menu-id="' + item.id + '" href="' + href +
|
||||
'" ' + target + '><i class="' + item.icon + '"></i><span>' + item.title +
|
||||
'</span></a>';
|
||||
} else if (item.type == 1) {
|
||||
|
||||
// 创 建 菜 单 结 构
|
||||
content += '<a class="' + className + '" menu-type="' + item.type + '" menu-url="' + item.href + '" menu-id="' +
|
||||
item.id +
|
||||
'" menu-title="' + item.title + '" href="' + href + '" ' + target + '><i class="' + item.icon +
|
||||
|
|
@ -254,72 +204,46 @@ layui.define(['table', 'jquery', 'element'], function(exports) {
|
|||
// 结 束 一 个 根 菜 单 项
|
||||
content += '</li>';
|
||||
menuHtml += content;
|
||||
|
||||
});
|
||||
// 结 束 菜 单 结 构 的 初 始 化
|
||||
menuHtml += "</ul>";
|
||||
// 将 菜 单 拼 接 到 初 始 化 容 器 中
|
||||
|
||||
$("#" + option.elem).html(menuHtml);
|
||||
|
||||
}
|
||||
|
||||
|
||||
function createMenuAndControl(option) {
|
||||
|
||||
var control = '<ul class="layui-nav pear-nav-control">';
|
||||
// 声 明 头 部
|
||||
var menu = '<div class="layui-side-scroll ' + option.theme + '">'
|
||||
// 开 启 同 步 操 作
|
||||
|
||||
var index = 0;
|
||||
|
||||
$.each(option.data, function(i, item) {
|
||||
|
||||
var menuItem = '';
|
||||
|
||||
var controlItem = '';
|
||||
|
||||
|
||||
if (index === option.defaultMenu) {
|
||||
|
||||
controlItem = '<li pear-href="' + item.href + '" pear-title="' + item.title + '" pear-id="' + item.id +
|
||||
'" class="layui-this layui-nav-item"><a href="#">' + item.title + '</a></li>';
|
||||
|
||||
menuItem = '<ul pear-id="' + item.id + '" lay-filter="' + option.elem +
|
||||
'" class="layui-nav arrow layui-nav-tree pear-nav-tree">';
|
||||
|
||||
} else {
|
||||
|
||||
controlItem = '<li pear-href="' + item.href + '" pear-title="' + item.title + '" pear-id="' + item.id +
|
||||
'" class="layui-nav-item"><a href="#">' + item.title + '</a></li>';
|
||||
|
||||
menuItem = '<ul style="display:none" pear-id="' + item.id + '" lay-filter="' + option.elem +
|
||||
'" class="layui-nav arrow layui-nav-tree pear-nav-tree">';
|
||||
|
||||
}
|
||||
|
||||
index++;
|
||||
|
||||
$.each(item.children, function(i, note) {
|
||||
|
||||
// 创 建 每 一 个 菜 单 项
|
||||
var content = '<li class="layui-nav-item" >';
|
||||
|
||||
var href = "javascript:;";
|
||||
|
||||
var target = "";
|
||||
|
||||
var className = "site-demo-active";
|
||||
|
||||
if (note.openType == "_blank" && note.type == 1) {
|
||||
|
||||
href = note.href;
|
||||
target = "target='_blank'";
|
||||
className = "";
|
||||
}
|
||||
|
||||
|
||||
// 判 断 菜 单 类 型 0 是 不可跳转的目录 1 是 可 点 击 跳 转 的 菜 单
|
||||
if (note.type == 0) {
|
||||
// 创 建 目 录 结 构
|
||||
|
|
@ -333,72 +257,50 @@ layui.define(['table', 'jquery', 'element'], function(exports) {
|
|||
'" menu-title="' + note.title + '" href="' + href + '"><i class="' + note.icon +
|
||||
'"></i><span>' + note.title + '</span></a>';
|
||||
}
|
||||
// 调 用 递 归 方 法 加 载 无 限 层 级 的 子 菜 单
|
||||
content += loadchild(note);
|
||||
// 结 束 一 个 根 菜 单 项
|
||||
content += '</li>';
|
||||
|
||||
menuItem += content;
|
||||
|
||||
})
|
||||
|
||||
|
||||
menu += menuItem + '</ul>';
|
||||
|
||||
control += controlItem;
|
||||
|
||||
})
|
||||
|
||||
|
||||
$("#" + option.control).html(control);
|
||||
|
||||
$("#" + option.elem).html(menu);
|
||||
|
||||
$("#" + option.control + " .pear-nav-control").on("click", "li", function() {
|
||||
|
||||
$("#" + option.elem).find(".pear-nav-tree").css({
|
||||
display: 'none'
|
||||
});
|
||||
|
||||
$("#" + option.elem).find(".pear-nav-tree[pear-id='" + $(this).attr("pear-id") + "']").css({
|
||||
display: 'block'
|
||||
});
|
||||
|
||||
option.change($(this).attr("pear-id"), $(this).attr("pear-title"), $(this).attr("pear-href"))
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
/** 加载子菜单 (递归)*/
|
||||
function loadchild(obj) {
|
||||
|
||||
// 判 单 是 否 是 菜 单, 如 果 是 菜 单 直 接 返 回
|
||||
if (obj.type == 1) {
|
||||
return "";
|
||||
}
|
||||
|
||||
// 创 建 子 菜 单 结 构
|
||||
var content = '<dl class="layui-nav-child">';
|
||||
|
||||
// 如 果 嵌 套 不 等 于 空
|
||||
if (obj.children != null && obj.children.length > 0) {
|
||||
// 遍 历 子 项 目
|
||||
$.each(obj.children, function(i, note) {
|
||||
// 创 建 子 项 结 构
|
||||
content += '<dd>';
|
||||
|
||||
var href = "javascript:;";
|
||||
|
||||
var target = "";
|
||||
|
||||
var className = "site-demo-active";
|
||||
|
||||
if (note.openType == "_blank" && note.type == 1) {
|
||||
href = note.href;
|
||||
target = "target='_blank'";
|
||||
className = "";
|
||||
}
|
||||
|
||||
// 判 断 子 项 类 型
|
||||
if (note.type == 0) {
|
||||
// 创 建 目 录 结 构
|
||||
|
|
@ -416,11 +318,9 @@ layui.define(['table', 'jquery', 'element'], function(exports) {
|
|||
content += '</dd>';
|
||||
});
|
||||
// 封 装
|
||||
|
||||
} else {
|
||||
content += '<div class="toast"> 无 内 容 </div>';
|
||||
}
|
||||
|
||||
content += '</dl>';
|
||||
return content;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@
|
|||
<div class="layui-card-body">
|
||||
<ul class="pear-card-status">
|
||||
<li>
|
||||
<h3>就眠仪式</h3>
|
||||
<h3>Pear Admin</h3>
|
||||
<p>快乐的时候不敢尽兴,频繁警戒自己保持清醒。</p>
|
||||
<span>4月30日 22:43</span>
|
||||
<a href="javascript:;" data-id="1" class="pear-btn pear-btn-xs pear-btn-success pear-reply">回复</a>
|
||||
|
|
@ -150,7 +150,7 @@
|
|||
<a href="javascript:;" data-id="1" class="pear-btn pear-btn-xs pear-btn-success pear-reply">回复</a>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Pear Admin</h3>
|
||||
<h3>BootStrap</h3>
|
||||
<p>当浑浊变成了一种常态,那么清白就成了一种罪过。</p>
|
||||
<span>4月30日 22:43</span>
|
||||
<a href="javascript:;" data-id="1" class="pear-btn pear-btn-xs pear-btn-success pear-reply">回复</a>
|
||||
|
|
|
|||
Loading…
Reference in New Issue