diff --git a/public/assets/js/backend.js b/public/assets/js/backend.js index 5435b31..0541e21 100755 --- a/public/assets/js/backend.js +++ b/public/assets/js/backend.js @@ -104,7 +104,7 @@ define(['fast', 'template', 'moment'], function (Fast, Template, Moment) { refreshmenu: function () { top.window.$(".sidebar-menu").trigger("refresh"); }, - gettablecolumnbutton: function(options){ + gettablecolumnbutton: function (options) { if (typeof options.tableId !== 'undefined' && typeof options.fieldIndex !== 'undefined' && typeof options.buttonIndex !== 'undefined') { var tableOptions = $("#" + options.tableId).bootstrapTable('getOptions'); if (tableOptions) { @@ -226,8 +226,10 @@ define(['fast', 'template', 'moment'], function (Fast, Template, Moment) { }); } //tooltip和popover - $('body').tooltip({selector: '[data-toggle="tooltip"]'}); - $('body').tooltip({selector: '[data-toggle="popover"]'}); + if (!('ontouchstart' in document.documentElement)) { + $('body').tooltip({selector: '[data-toggle="tooltip"]'}); + } + $('body').popover({selector: '[data-toggle="popover"]'}); } }; Backend.api = $.extend(Fast.api, Backend.api); diff --git a/public/assets/js/frontend.js b/public/assets/js/frontend.js index d7ff9dd..b0b9ae8 100644 --- a/public/assets/js/frontend.js +++ b/public/assets/js/frontend.js @@ -50,8 +50,10 @@ define(['fast', 'template'], function (Fast, Template) { return false; }); //tooltip和popover - $('body').tooltip({selector: '[data-toggle="tooltip"]'}); - $('body').tooltip({selector: '[data-toggle="popover"]'}); + if (!('ontouchstart' in document.documentElement)) { + $('body').tooltip({selector: '[data-toggle="tooltip"]'}); + } + $('body').popover({selector: '[data-toggle="popover"]'}); } }; Frontend.api = $.extend(Fast.api, Frontend.api); diff --git a/public/assets/js/require-backend.min.js b/public/assets/js/require-backend.min.js index be24af4..1565031 100644 --- a/public/assets/js/require-backend.min.js +++ b/public/assets/js/require-backend.min.js @@ -5330,7 +5330,7 @@ define('backend',['fast', 'template', 'moment'], function (Fast, Template, Momen refreshmenu: function () { top.window.$(".sidebar-menu").trigger("refresh"); }, - gettablecolumnbutton: function(options){ + gettablecolumnbutton: function (options) { if (typeof options.tableId !== 'undefined' && typeof options.fieldIndex !== 'undefined' && typeof options.buttonIndex !== 'undefined') { var tableOptions = $("#" + options.tableId).bootstrapTable('getOptions'); if (tableOptions) { @@ -5452,8 +5452,10 @@ define('backend',['fast', 'template', 'moment'], function (Fast, Template, Momen }); } //tooltip和popover - $('body').tooltip({selector: '[data-toggle="tooltip"]'}); - $('body').tooltip({selector: '[data-toggle="popover"]'}); + if (!('ontouchstart' in document.documentElement)) { + $('body').tooltip({selector: '[data-toggle="tooltip"]'}); + } + $('body').popover({selector: '[data-toggle="popover"]'}); } }; Backend.api = $.extend(Fast.api, Backend.api); @@ -10389,14 +10391,14 @@ define("drop", function(){}); var title = $(this).attr('title') ? $(this).attr('title') : $.trim($(this).text()); var url = $(this).attr('url'); var content = options.content ? options.content : $(this).attr('content'); - var ajax = $(this).attr('ajax') ? true : false; + var ajax = $(this).attr('ajax') === '1' || $(this).attr('ajax') === 'true'; var state = ({ url: url, title: title, id: id, content: content, ajax: ajax }); document.title = title; if (history.pushState && !$(this).data("pushstate")) { - var pushurl = url.indexOf("ref=addtabs") == -1 ? (url + (url.indexOf("?") > -1 ? "&" : "?") + "ref=addtabs") : url; + var pushurl = url.indexOf("ref=addtabs") === -1 ? (url + (url.indexOf("?") > -1 ? "&" : "?") + "ref=addtabs") : url; try { window.history.pushState(state, title, pushurl); } catch (e) { @@ -10414,27 +10416,27 @@ define("drop", function(){}); } }); - navobj.on('click', '.close-tab', function (e) { - id = $(this).prev("a").attr("aria-controls"); + navobj.on('click', '.close-tab', function () { + var id = $(this).prev("a").attr("aria-controls"); _close(id); return false; }); - navobj.on('dblclick', 'li[role=presentation]', function (e) { + navobj.on('dblclick', 'li[role=presentation]', function () { $(this).find(".close-tab").trigger("click"); }); - navobj.on('click', 'li[role=presentation]', function (e) { + navobj.on('click', 'li[role=presentation]', function () { $("a[addtabs=" + $("a", this).attr("node-id") + "]").trigger("click"); }); $(window).resize(function () { - if (typeof options.nav == 'object') { + if (typeof options.nav === 'object') { var siblingsWidth = 0; navobj.siblings().each(function () { siblingsWidth += $(this).outerWidth(); }); navobj.width(navobj.parent().width() - siblingsWidth); } else { - $("#nav").width($("#header > .navbar").width() - $(".sidebar-toggle").outerWidth() - $(".navbar-custom-menu").outerWidth() - 20); + $("#nav").width($("#header").find("> .navbar").width() - $(".sidebar-toggle").outerWidth() - $(".navbar-custom-menu").outerWidth() - 20); } _drop(); }); @@ -10446,36 +10448,41 @@ define("drop", function(){}); conid = 'con_' + opts.id; url = opts.url; url += (opts.url.indexOf("?") > -1 ? "&addtabs=1" : "?addtabs=1"); + + var tabitem = $('#' + tabid, navobj); + var conitem = $('#' + conid, tabobj); + navobj.find("[role='presentation']").removeClass('active'); tabobj.find("[role='tabpanel']").removeClass('active'); + //如果TAB不存在,创建一个新的TAB - if ($("#" + tabid).size() == 0) { + if (tabitem.size() === 0) { //创建新TAB的title - 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>'); + tabitem = $('<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>'); + tabitem.append(' <i class="close-tab fa fa-remove"></i>'); } //创建新TAB的内容 - content = $('<div role="tabpanel" class="tab-pane" id="' + conid + '"></div>'); + conitem = $('<div role="tabpanel" class="tab-pane" id="' + conid + '"></div>'); //是否指定TAB内容 if (opts.content) { - content.append(opts.content); + conitem.append(opts.content); } else if (options.iframeUse && !opts.ajax) {//没有内容,使用IFRAME打开链接 var height = options.iframeHeight; - content.append('<iframe src="' + url + '" width="100%" height="' + height + '" frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling-x="no" scrolling-y="auto" allowtransparency="yes"></iframe></div>'); + conitem.append('<iframe src="' + url + '" width="100%" height="' + height + '" frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling-x="no" scrolling-y="auto" allowtransparency="yes"></iframe></div>'); } else { $.get(url, function (data) { - content.append(data); + conitem.append(data); }); } //加入TABS - if ($('.tabdrop li').size() > 0) { - $('.tabdrop ul').append(title); + if ($('.tabdrop li', navobj).size() > 0) { + $('.tabdrop ul', navobj).append(tabitem); } else { - navobj.append(title); + navobj.append(tabitem); } - tabobj.append(content); + tabobj.append(conitem); } else { //强制刷新iframe if (options.iframeForceRefresh) { @@ -10486,27 +10493,31 @@ define("drop", function(){}); } localStorage.setItem("addtabs", $(this).prop('outerHTML')); //激活TAB - $("#" + tabid).addClass('active'); - $("#" + conid).addClass("active"); + tabitem.addClass('active'); + conitem.addClass("active"); _drop(); }; var _close = function (id) { var tabid = 'tab_' + id; var conid = 'con_' + id; + var tabitem = $('#' + tabid, navobj); + var conitem = $('#' + conid, tabobj); //如果关闭的是当前激活的TAB,激活他的前一个TAB - if (obj.find("li.active").not('.tabdrop').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"); + if (obj.find("li.active").not('.tabdrop').attr('id') === tabid) { + var prev = tabitem.prev().not(".tabdrop"); + var next = tabitem.next().not(".tabdrop"); + if (prev.size() > 0) { + prev.find('a').trigger("click"); + } else if (next.size() > 0) { + next.find('a').trigger("click"); } else { - $(">li:last > a", navobj).trigger('click'); + $(">li:not(.tabdrop):last > a", navobj).trigger('click'); } } //关闭TAB - $("#" + tabid).remove(); - $("#" + conid).remove(); + tabitem.remove(); + conitem.remove(); _drop(); options.callback(); }; @@ -10519,11 +10530,11 @@ define("drop", function(){}); $.fn.refreshAddtabs = function () { var navobj = $(this); var dropdown = $(".tabdrop", navobj); - if (dropdown.size() == 0) { - var dropdown = $('<li class="dropdown pull-right hide tabdrop"><a class="dropdown-toggle" data-toggle="dropdown" href="javascript:;">' + + if (dropdown.size() === 0) { + dropdown = $('<li class="dropdown pull-right hide tabdrop"><a class="dropdown-toggle" data-toggle="dropdown" href="javascript:;">' + '<i class="glyphicon glyphicon-align-justify"></i>' + ' <b class="caret"></b></a><ul class="dropdown-menu"></ul></li>'); - dropdown.appendTo(navobj); + dropdown.prependTo(navobj); } //检测是否有下拉样式 @@ -10538,11 +10549,11 @@ define("drop", function(){}); //检查超过一行的标签页 var litabs = navobj.append(dropdown.find('li')).find('>li').not('.tabdrop'); var totalwidth = 0; - litabs.each(function (i, j) { + litabs.each(function () { totalwidth += $(this).outerWidth(true); }); if (navobj.width() < totalwidth) { - litabs.each(function (i, j) { + litabs.each(function () { liwidth += $(this).outerWidth(true); if (liwidth > maxwidth) { dropdown.find('ul').append($(this)); @@ -10551,7 +10562,7 @@ define("drop", function(){}); }); if (collection > 0) { dropdown.removeClass('hide'); - if (dropdown.find('.active').length == 1) { + if (dropdown.find('.active').length === 1) { dropdown.addClass('active'); } else { dropdown.removeClass('active'); diff --git a/public/assets/js/require-frontend.min.js b/public/assets/js/require-frontend.min.js index 99ce57d..76bbec1 100644 --- a/public/assets/js/require-frontend.min.js +++ b/public/assets/js/require-frontend.min.js @@ -1040,8 +1040,10 @@ define('frontend',['fast', 'template'], function (Fast, Template) { return false; }); //tooltip和popover - $('body').tooltip({selector: '[data-toggle="tooltip"]'}); - $('body').tooltip({selector: '[data-toggle="popover"]'}); + if (!('ontouchstart' in document.documentElement)) { + $('body').tooltip({selector: '[data-toggle="tooltip"]'}); + } + $('body').popover({selector: '[data-toggle="popover"]'}); } }; Frontend.api = $.extend(Fast.api, Frontend.api);