|
@@ -6761,7 +6761,7 @@ define('backend',['fast', 'moment'], function (Fast, Moment) {
|
|
|
title = typeof title !== 'undefined' ? title : leftlink.find("span:first").text();
|
|
|
leftlink.trigger("fa.event.toggleitem");
|
|
|
}
|
|
|
- var navnode = $(".nav-tabs ul li a[node-url='" + url + "']");
|
|
|
+ var navnode = top.window.$(".nav-tabs ul li a[node-url='" + url + "']");
|
|
|
if (navnode.size() > 0) {
|
|
|
navnode.trigger("click");
|
|
|
} else {
|
|
@@ -6774,6 +6774,30 @@ define('backend',['fast', 'moment'], function (Fast, Moment) {
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
+ closetabs: function (url) {
|
|
|
+ if (typeof url === 'undefined') {
|
|
|
+ top.window.$("ul.nav-addtabs li.active .close-tab").trigger("click");
|
|
|
+ } else {
|
|
|
+ var dom = "a[url='{url}']"
|
|
|
+ var navlink = top.window.$(dom.replace(/\{url\}/, url));
|
|
|
+ if (navlink.size() === 0) {
|
|
|
+ url = Fast.api.fixurl(url);
|
|
|
+ navlink = top.window.$(dom.replace(/\{url\}/, url));
|
|
|
+ if (navlink.size() === 0) {
|
|
|
+ } else {
|
|
|
+ var baseurl = url.substr(0, url.indexOf("?") > -1 ? url.indexOf("?") : url.length);
|
|
|
+ navlink = top.window.$(dom.replace(/\{url\}/, baseurl));
|
|
|
+ //能找到相对地址
|
|
|
+ if (navlink.size() === 0) {
|
|
|
+ navlink = top.window.$(".nav-tabs ul li a[node-url='" + url + "']");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (navlink.size() > 0 && navlink.attr('addtabs')) {
|
|
|
+ top.window.$("ul.nav-addtabs li#tab_" + navlink.attr('addtabs') + " .close-tab").trigger("click");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
replaceids: function (elem, url) {
|
|
|
//如果有需要替换ids的
|
|
|
if (url.indexOf("{ids}") > -1) {
|
|
@@ -10953,8 +10977,15 @@ define('form',['jquery', 'bootstrap', 'upload', 'validator'], function ($, undef
|
|
|
}
|
|
|
}, function (data, ret) {
|
|
|
$('.form-group', form).removeClass('has-feedback has-success has-error');
|
|
|
- if (data && typeof data === 'object' && typeof data.token !== 'undefined') {
|
|
|
- $("input[name='__token__']", form).val(data.token);
|
|
|
+ if (data && typeof data === 'object') {
|
|
|
+ //刷新客户端token
|
|
|
+ if (typeof data.token !== 'undefined') {
|
|
|
+ $("input[name='__token__']", form).val(data.token);
|
|
|
+ }
|
|
|
+ //调用客户端事件
|
|
|
+ if (typeof data.callback !== 'undefined' && typeof data.callback === 'function') {
|
|
|
+ data.callback.call(form, data);
|
|
|
+ }
|
|
|
}
|
|
|
if (typeof success === 'function') {
|
|
|
if (!success.call(form, data, ret)) {
|
|
@@ -11486,21 +11517,24 @@ $.fn.addtabs = function (options) {
|
|
|
});
|
|
|
|
|
|
_add = function (opts) {
|
|
|
- id = 'tab_' + opts.id;
|
|
|
+ var id, tabid, conid, url;
|
|
|
+ id = opts.id;
|
|
|
+ tabid = 'tab_' + opts.id;
|
|
|
+ conid = 'con_' + opts.id;
|
|
|
url = opts.url;
|
|
|
url += (opts.url.indexOf("?") > -1 ? "&addtabs=1" : "?addtabs=1");
|
|
|
navobj.find("[role='presentation']").removeClass('active');
|
|
|
tabobj.find("[role='tabpanel']").removeClass('active');
|
|
|
//如果TAB不存在,创建一个新的TAB
|
|
|
- if ($("#" + id).size() == 0) {
|
|
|
+ if ($("#" + tabid).size() == 0) {
|
|
|
//创建新TAB的title
|
|
|
- title = $('<li role="presentation" id="tab_' + id + '"><a href="#' + id + '" node-id="' + opts.id + '" aria-controls="' + id + '" role="tab" data-toggle="tab">' + opts.title + '</a></li>');
|
|
|
+ title = $('<li role="presentation" id="' + tabid + '"><a href="#' + conid + '" node-id="' + opts.id + '" aria-controls="' + id + '" role="tab" data-toggle="tab">' + opts.title + '</a></li>');
|
|
|
//是否允许关闭
|
|
|
if (options.close && $("li", navobj).size() > 0) {
|
|
|
title.append(' <i class="close-tab fa fa-remove"></i>');
|
|
|
}
|
|
|
//创建新TAB的内容
|
|
|
- content = $('<div role="tabpanel" class="tab-pane" id="' + id + '"></div>');
|
|
|
+ content = $('<div role="tabpanel" class="tab-pane" id="' + conid + '"></div>');
|
|
|
//是否指定TAB内容
|
|
|
if (opts.content) {
|
|
|
content.append(opts.content);
|
|
@@ -11522,23 +11556,25 @@ $.fn.addtabs = function (options) {
|
|
|
}
|
|
|
|
|
|
//激活TAB
|
|
|
- $("#tab_" + id).addClass('active');
|
|
|
- $("#" + id).addClass("active");
|
|
|
+ $("#" + tabid).addClass('active');
|
|
|
+ $("#" + conid).addClass("active");
|
|
|
_drop();
|
|
|
};
|
|
|
|
|
|
_close = function (id) {
|
|
|
+ var tabid = 'tab_'+id;
|
|
|
+ var conid = 'con_'+id;
|
|
|
//如果关闭的是当前激活的TAB,激活他的前一个TAB
|
|
|
- if (obj.find("li.active").attr('id') == "tab_" + id) {
|
|
|
- if ($("#tab_" + id).prev().not(".tabdrop").size() > 0) {
|
|
|
- $("#tab_" + id).prev().not(".tabdrop").find("a").trigger("click");
|
|
|
- } else if ($("#tab_" + id).next().size() > 0) {
|
|
|
- $("#tab_" + id).next().trigger("click");
|
|
|
+ if (obj.find("li.active").attr('id') == tabid) {
|
|
|
+ if ($("#" + tabid).prev().not(".tabdrop").size() > 0) {
|
|
|
+ $("#" + tabid).prev().not(".tabdrop").find("a").trigger("click");
|
|
|
+ } else if ($("#" + tabid).next().size() > 0) {
|
|
|
+ $("#" + tabid).next().trigger("click");
|
|
|
}
|
|
|
}
|
|
|
//关闭TAB
|
|
|
- $("#tab_" + id).remove();
|
|
|
- $("#" + id).remove();
|
|
|
+ $("#" + tabid).remove();
|
|
|
+ $("#" + conid).remove();
|
|
|
_drop();
|
|
|
options.callback();
|
|
|
};
|