if (typeof (LigerUIManagers) == "undefined") LigerUIManagers = {}; (function ($) { $.fn.ligerGetAccordionManager = function () { return LigerUIManagers[this[0].id + "_Accordion"]; }; $.fn.ligerRemoveAccordionManager = function () { return this.each(function () { LigerUIManagers[this.id + "_Accordion"] = null; }); }; $.fn.ligerAccordion = function (p) { this.each(function () { p = $.extend({ height: null, speed: "normal", changeHeightOnResize: false, heightDiff: 0 }, p || {}); if (this.usedAccordion) return; var g = { onResize: function () { if (!p.height || typeof (p.height) != 'string' || p.height.indexOf('%') == -1) return false; if (g.accordion.parent()[0].tagName.toLowerCase() == "body") { var windowHeight = $(window).height(); windowHeight -= parseInt(g.layout.parent().css('paddingTop')); windowHeight -= parseInt(g.layout.parent().css('paddingBottom')); g.height = p.heightDiff + windowHeight * parseFloat(g.height) * 0.01; } else { g.height = p.heightDiff + (g.accordion.parent().height() * parseFloat(p.height) * 0.01); } g.accordion.height(g.height); g.setContentHeight(g.height - g.headerHoldHeight); }, setHeight: function (height) { g.accordion.height(height); height -= g.headerHoldHeight; $("> .l-accordion-content", g.accordion).height(height); } }; g.accordion = $(this); if (!g.accordion.hasClass("l-accordion-panel")) g.accordion.addClass("l-accordion-panel"); var selectedIndex = 0; if ($("> div[lselected=true]", g.accordion).length > 0) selectedIndex = $("> div", g.accordion).index($("> div[lselected=true]", g.accordion)); $("> div", g.accordion).each(function (i, box) { var header = $('
'); if (i == selectedIndex) $(".l-accordion-toggle", header).addClass("l-accordion-toggle-open"); if ($(box).attr("title")) { var iconbox = ""; if ($(box).attr("iconcss")) { iconbox = ''; } $(".l-accordion-header-inner", header).html(iconbox + $(box).attr("title")); $(box).attr("title", ""); } $(box).before(header); if (!$(box).hasClass("l-accordion-content")) $(box).addClass("l-accordion-content"); }); $(".l-accordion-toggle", g.accordion).each(function () { if (!$(this).hasClass("l-accordion-toggle-open") && !$(this).hasClass("l-accordion-toggle-close")) { $(this).addClass("l-accordion-toggle-close"); } if ($(this).hasClass("l-accordion-toggle-close")) { $(this).parent().next(".l-accordion-content:visible").hide(); } }); $(".l-accordion-header", g.accordion).hover(function () { $(this).addClass("l-accordion-header-over"); }, function () { $(this).removeClass("l-accordion-header-over"); }); $(".l-accordion-toggle", g.accordion).hover(function () { if ($(this).hasClass("l-accordion-toggle-open")) $(this).addClass("l-accordion-toggle-open-over"); else if ($(this).hasClass("l-accordion-toggle-close")) $(this).addClass("l-accordion-toggle-close-over"); }, function () { if ($(this).hasClass("l-accordion-toggle-open")) $(this).removeClass("l-accordion-toggle-open-over"); else if ($(this).hasClass("l-accordion-toggle-close")) $(this).removeClass("l-accordion-toggle-close-over"); }); $(">.l-accordion-header", g.accordion).click(function () { var togglebtn = $(".l-accordion-toggle:first", this); if (togglebtn.hasClass("l-accordion-toggle-close")) { togglebtn.removeClass("l-accordion-toggle-close").removeClass("l-accordion-toggle-close-over l-accordion-toggle-open-over") togglebtn.addClass("l-accordion-toggle-open"); $(this).next(".l-accordion-content").show(p.speed).siblings(".l-accordion-content:visible").hide(p.speed); $(this).siblings(".l-accordion-header").find(".l-accordion-toggle").removeClass("l-accordion-toggle-open").addClass("l-accordion-toggle-close"); } else { togglebtn.removeClass("l-accordion-toggle-open").removeClass("l-accordion-toggle-close-over l-accordion-toggle-open-over").addClass("l-accordion-toggle-close"); $(this).next(".l-accordion-content").hide(p.speed); } }); g.headerHoldHeight = 0; $("> .l-accordion-header", g.accordion).each(function () { g.headerHoldHeight += $(this).height(); }); if (p.height && typeof (p.height) == 'string' && p.height.indexOf('%') > 0) { g.onResize(); if (p.changeHeightOnResize) { $(window).resize(function () { g.onResize(); }); } } else { if (p.height) { g.height = p.heightDiff + p.height; g.accordion.height(g.height); g.setHeight(p.height); } else { g.header = g.accordion.height(); } } if (this.id == undefined) this.id = "LigerUI_" + new Date().getTime(); LigerUIManagers[this.id + "_Accordion"] = g; this.usedAccordion = true; }); if (this.length == 0) return null; if (this.length == 1) return LigerUIManagers[this[0].id + "_Accordion"]; var managers = []; this.each(function () { managers.push(LigerUIManagers[this.id + "_Accordion"]); }); return managers; }; })(jQuery); var ligerDialogImagePath = "../../scripts/ui/skins/Aqua/images/dialog/"; (function ($) { $.ligerDefaults = $.ligerDefaults || {}; $.ligerDefaults.Dialog = { cls: null, id: null, buttons: null, isDrag: true, width: 280, height: null, content: '', target: null, url: null, load: false, type: 'warn', left: null, top: null, modal: true, name: null, isResize: false, allowClose: true, opener: null, timeParmName: null }; $.ligerDefaults.DialogString = { titleMessage: '提示', waittingMessage: '正在等待中,请稍候...' }; $.ligerDialog = {}; $.ligerDialog.open = function (p) { p = $.extend({}, $.ligerDefaults.Dialog, $.ligerDefaults.DialogString, p || {}); var g = { applyWindowMask: function () { $(".l-window-mask").remove(); $("
").height($(window).height() + $(window).scrollTop()).appendTo('body'); }, removeWindowMask: function () { $(".l-window-mask").remove(); }, applyDrag: function () { if ($.fn.ligerDrag) g.dialog.ligerDrag({ handler: '.l-dialog-title' }); }, applyResize: function () { if ($.fn.ligerResizable) { g.dialog.ligerResizable({ onStopResize: function (current, e) { var top = 0; var left = 0; if (!isNaN(parseInt(g.dialog.css('top')))) top = parseInt(g.dialog.css('top')); if (!isNaN(parseInt(g.dialog.css('left')))) left = parseInt(g.dialog.css('left')); if (current.diffTop != undefined) { g.dialog.css({ top: top + current.diffTop, left: left + current.diffLeft }); g.dialog.body.css({ width: current.newWidth - 26 }); $(".l-dialog-content", g.dialog.body).height(current.newHeight - 46 - $(".l-dialog-buttons", g.dialog).height()); } return false; } }); } }, setImage: function () { if (p.type) { if (p.type == 'success' || p.type == 'donne' || p.type == 'ok') { $(".l-dialog-image", g.dialog).addClass("l-dialog-image-donne").show(); $(".l-dialog-content", g.dialog).css({ paddingLeft: 64, paddingBottom: 30 }); } else if (p.type == 'error') { $(".l-dialog-image", g.dialog).addClass("l-dialog-image-error").show(); $(".l-dialog-content", g.dialog).css({ paddingLeft: 64, paddingBottom: 30 }); } else if (p.type == 'warn') { $(".l-dialog-image", g.dialog).addClass("l-dialog-image-warn").show(); $(".l-dialog-content", g.dialog).css({ paddingLeft: 64, paddingBottom: 30 }); } else if (p.type == 'question') { $(".l-dialog-image", g.dialog).addClass("l-dialog-image-question").show(); $(".l-dialog-content", g.dialog).css({ paddingLeft: 64, paddingBottom: 20 }); } } } }; g.dialog = $('
'); $('body').append(g.dialog); g.dialog.body = $(".l-dialog-body:first", g.dialog); g.dialog.close = function () { if (g.dialog.frame) { $(g.dialog.frame.document).ready(function () { g.removeWindowMask(); g.dialog.remove(); }); } else { g.removeWindowMask(); g.dialog.remove(); } }; g.dialog.doShow = function () { g.dialog.show(); }; if (p.allowClose == false) $(".l-dialog-close", g.dialog).remove(); if (p.target || p.url || p.type == "none") p.type = null; if (p.cls) g.dialog.addClass(p.cls); if (p.id) g.dialog.attr("id", p.id); if (p.modal) g.applyWindowMask(); if (p.isDrag) g.applyDrag(); if (p.isResize) g.applyResize(); if (p.type) g.setImage(); else { $(".l-dialog-image", g.dialog).remove(); $(".l-dialog-content", g.dialog.body).addClass("l-dialog-content-noimage"); } if (p.target) { $(".l-dialog-content", g.dialog.body).prepend(p.target); } else if (p.url) { if (p.timeParmName) { p.url += p.url.indexOf('?') == -1 ? "?" : "&"; p.url += p.timeParmName + "=" + new Date().getTime(); } var iframe = $(""); var framename = p.name ? p.name : "ligerwindow" + new Date().getTime(); iframe.attr("name", framename); $(".l-dialog-content", g.dialog.body).prepend(iframe); $(".l-dialog-content", g.dialog.body).addClass("l-dialog-content-nopadding"); setTimeout(function () { iframe.attr("src", p.url); g.dialog.frame = window.frames[iframe.attr("name")]; }, 0); } else if (p.content) { $(".l-dialog-content", g.dialog.body).html(p.content); } if (p.opener) g.dialog.opener = p.opener; if (p.buttons) { $(p.buttons).each(function (i, item) { var btn = $('
'); $(".l-dialog-btn-inner", btn).html(item.text); $(".l-dialog-buttons-inner", g.dialog.body).prepend(btn); item.width && btn.width(item.width); item.onclick && btn.click(function () { item.onclick(item, g.dialog, i) }); }); } else { $(".l-dialog-buttons", g.dialog).remove(); } $(".l-dialog-buttons-inner", g.dialog).append("
"); p.width && g.dialog.body.width(p.width - 26); if (p.height) { $(".l-dialog-content", g.dialog.body).height(p.height - 46 - $(".l-dialog-buttons", g.dialog).height()); } p.title = p.title || p.titleMessage; p.title && $(".l-dialog-title", g.dialog).html(p.title); $(".l-dialog-title", g.dialog).bind("selectstart", function () { return false; }); $(".l-dialog-btn", g.dialog.body).hover(function () { $(this).addClass("l-dialog-btn-over"); }, function () { $(this).removeClass("l-dialog-btn-over"); }); $(".l-dialog-tc .l-dialog-close", g.dialog).hover(function () { $(this).addClass("l-dialog-close-over"); }, function () { $(this).removeClass("l-dialog-close-over"); }).click(function () { g.dialog.close(); }); var ie55 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 5.5") != -1); var ie6 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 6.0") != -1); if ($.browser.msie && (ie55 || ie6)) { $(".l-dialog-tl:first", g.dialog).css({ "background": "none", "filter": "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + ligerDialogImagePath + "dialog-tl.png',sizingMethod='crop');" }); $(".l-dialog-tc:first", g.dialog).css({ "background": "none", "filter": "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + ligerDialogImagePath + "ie6/dialog-tc.png',sizingMethod='crop');" }); $(".l-dialog-tr:first", g.dialog).css({ "background": "none", "filter": "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + ligerDialogImagePath + "dialog-tr.png',sizingMethod='crop');" }); $(".l-dialog-cl:first", g.dialog).css({ "background": "none", "filter": "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + ligerDialogImagePath + "ie6/dialog-cl.png',sizingMethod='crop');" }); $(".l-dialog-cr:first", g.dialog).css({ "background": "none", "filter": "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + ligerDialogImagePath + "ie6/dialog-cr.png',sizingMethod='crop');" }); $(".l-dialog-bl:first", g.dialog).css({ "background": "none", "filter": "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + ligerDialogImagePath + "dialog-bl.png',sizingMethod='crop');" }); $(".l-dialog-bc:first", g.dialog).css({ "background": "none", "filter": "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + ligerDialogImagePath + "ie6/dialog-bc.png',sizingMethod='crop');" }); $(".l-dialog-br:first", g.dialog).css({ "background": "none", "filter": "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + ligerDialogImagePath + "dialog-br.png',sizingMethod='crop');" }); } var left = 0; var top = 0; var width = p.width || g.dialog.width(); if (p.left != null) left = p.left; else left = 0.5 * ($(window).width() - width); if (p.top != null) top = p.top; else top = 0.5 * ($(window).height() - g.dialog.height()) + $(window).scrollTop() - 10; g.dialog.css({ left: left, top: top }); g.dialog.doShow(); return g.dialog; }; $.ligerDialog.close = function () { $(".l-dialog,.l-window-mask").remove(); }; $.ligerDialog.alert = function (content, title, type, callback) { content = content || ""; if (typeof (title) == "function") { callback = title; type = null; } else if (typeof (type) == "function") { callback = type; } var btnclick = function (item, Dialog, index) { Dialog.close(); if (callback) callback(item, Dialog, index); }; p = { content: content, buttons: [{ text: '确定', onclick: btnclick}] }; if (typeof (title) == "string" && title != "") p.title = title; if (typeof (type) == "string" && type != "") p.type = type; $.ligerDialog.open(p); }; $.ligerDialog.confirm = function (content, title, callback) { if (typeof (title) == "function") { callback = title; type = null; } var btnclick = function (item, Dialog) { Dialog.close(); if (callback) { callback(item.type == 'ok'); } }; p = { type: 'question', content: content, buttons: [{ text: '是', onclick: btnclick, type: 'ok' }, { text: '否', onclick: btnclick, type: 'no'}] }; if (typeof (title) == "string" && title != "") p.title = title; $.ligerDialog.open(p); }; $.ligerDialog.warning = function (content, title, callback) { if (typeof (title) == "function") { callback = title; type = null; } var btnclick = function (item, Dialog) { Dialog.close(); if (callback) { callback(item.type); } }; p = { type: 'question', content: content, buttons: [{ text: '是', onclick: btnclick, type: 'yes' }, { text: '否', onclick: btnclick, type: 'no' }, { text: '取消', onclick: btnclick, type: 'cancel'}] }; if (typeof (title) == "string" && title != "") p.title = title; $.ligerDialog.open(p); }; $.ligerDialog.waitting = function (title) { title = title || $.ligerDefaults.Dialog.waittingMessage; $.ligerDialog.open({ cls: 'l-dialog-waittingdialog', type: 'none', content: '
' + title + '
', allowClose: false }); }; $.ligerDialog.closeWaitting = function () { $(".l-dialog-waittingdialog,.l-window-mask").remove(); }; $.ligerDialog.success = function (content, title, onBtnClick) { $.ligerDialog.alert(content, title, 'success', onBtnClick); }; $.ligerDialog.error = function (content, title, onBtnClick) { $.ligerDialog.alert(content, title, 'error', onBtnClick); }; $.ligerDialog.warn = function (content, title, onBtnClick) { $.ligerDialog.alert(content, title, 'warn', onBtnClick); }; $.ligerDialog.question = function (content, title) { $.ligerDialog.alert(content, title, 'question'); }; $.ligerDialog.prompt = function (title, value, multi, callback) { var target = $(''); if (typeof (multi) == "function") { callback = multi; } if (typeof (value) == "function") { callback = value; } else if (typeof (value) == "boolean") { multi = value; } if (typeof (multi) == "boolean" && multi) { target = $(''); } if (typeof (value) == "string" || typeof (value) == "int") { target.val(value); } var btnclick = function (item, Dialog, index) { Dialog.close(); if (callback) { callback(item.type == 'yes', target.val()); } } p = { title: title, target: target, width: 320, buttons: [{ text: '确定', onclick: btnclick, type: 'yes' }, { text: '取消', onclick: btnclick, type: 'cancel'}] }; $.ligerDialog.open(p); }; })(jQuery); (function ($) { $.ligerDefaults = $.ligerDefaults || {}; $.ligerDefaults.Drag = { onStartDrag: false, onDrag: false, onStopDrag: false }; $.fn.ligerDrag = function (p) { p = $.extend({}, $.ligerDefaults.Drag, p || {}); return this.each(function () { if (this.useDrag) return; var g = { start: function (e) { $('body').css('cursor', 'move'); g.current = { target: g.target, left: g.target.offset().left, top: g.target.offset().top, startX: e.pageX || e.screenX, startY: e.pageY || e.clientY }; $(document).bind('mouseup.drag', g.stop); $(document).bind('mousemove.drag', g.drag); if (p.onStartDrag) p.onStartDrag(g.current, e); }, drag: function (e) { if (!g.current) return; var pageX = e.pageX || e.screenX; var pageY = e.pageY || e.screenY; g.current.diffX = pageX - g.current.startX; g.current.diffY = pageY - g.current.startY; if (p.onDrag) { if (p.onDrag(g.current, e) != false) { g.applyDrag(); } } else { g.applyDrag(); } }, stop: function (e) { $(document).unbind('mousemove.drag'); $(document).unbind('mouseup.drag'); $("body").css("cursor", ""); if (p.onStopDrag) p.onStopDrag(g.current, e); g.current = null; }, applyDrag: function () { if (g.current.diffX) { g.target.css("left", (g.current.left + g.current.diffX)); } if (g.current.diffY) { g.target.css("top", (g.current.top + g.current.diffY)); } } }; g.target = $(this); if (p.handler == undefined || p.handler == null) g.handler = $(this); else g.handler = (typeof p.handler == 'string' ? $(p.handler, this) : p.handle); g.handler.hover(function () { $('body').css('cursor', 'move'); }, function () { $("body").css("cursor", "default"); }).mousedown(function (e) { g.start(e); return false; }); this.useDrag = true; }); }; })(jQuery); if (typeof (LigerUIMenu) == "undefined") LigerUIMenu = {}; (function ($) { $.ligerDefaults = $.ligerDefaults || {}; $.ligerDefaults.Menu = { width: 120, top: 0, left: 0, items: null, shadow: true }; $.ligerMenu = function (p) { p = $.extend({}, $.ligerDefaults.Menu, p || {}); var g = { show: function (options, menu) { if (menu == undefined) menu = g.menu; if (options && options.left != undefined) { menu.css({ left: options.left }); } if (options && options.top != undefined) { menu.css({ top: options.top }); } menu.show(); g.updateShadow(menu); }, updateShadow: function (menu) { if (!p.shadow) return; menu.shadow.css({ left: menu.css('left'), top: menu.css('top'), width: menu.outerWidth(), height: menu.outerHeight() }); if (menu.is(":visible")) menu.shadow.show(); else menu.shadow.hide(); }, hide: function (menu) { if (menu == undefined) menu = g.menu; g.hideAllSubMenu(menu); menu.hide(); g.updateShadow(menu); }, toggle: function () { g.menu.toggle(); g.updateShadow(g.menu); }, removeItem: function (itemid) { $("> .l-menu-item[menuitemid=" + itemid + "]", g.menu.items).remove(); g.itemCount--; }, setEnable: function (itemid) { $("> .l-menu-item[menuitemid=" + itemid + "]", g.menu.items).removeClass("l-menu-item-disable"); }, setDisable: function (itemid) { $("> .l-menu-item[menuitemid=" + itemid + "]", g.menu.items).addClass("l-menu-item-disable"); }, isEnable: function (itemid) { return !$("> .l-menu-item[menuitemid=" + itemid + "]", g.menu.items).hasClass("l-menu-item-disable"); }, getItemCount: function () { return $("> .l-menu-item", g.menu.items).length; }, addItem: function (item, menu) { if (!item) return; if (menu == undefined) menu = g.menu; if (item.line) { menu.items.append(''); return; } var ditem = $(''); var itemcount = $("> .l-menu-item", menu.items).length; menu.items.append(ditem); item.id && ditem.attr("menuitemid", item.id); item.text && $(">.l-menu-item-text:first", ditem).html(item.text); item.icon && ditem.prepend(''); item.disable && ditem.addClass("l-menu-item-disable"); if (item.children) { if (ditem.attr("menuitemid") == undefined) ditem.attr("menuitemid", new Date().getTime()); ditem.append(''); var newmenu = g.createMenu(ditem.attr("menuitemid")); LigerUIMenu[ditem.attr("menuitemid")] = newmenu; newmenu.width(p.width); newmenu.hover(null, function () { if (!newmenu.showedSubMenu) g.hide(newmenu); }); $(item.children).each(function () { g.addItem(this, newmenu); }); } item.click && ditem.click(function () { if ($(this).hasClass("l-menu-item-disable")) return; item.click(item, itemcount); }); item.dblclick && ditem.dblclick(function () { if ($(this).hasClass("l-menu-item-disable")) return; item.dblclick(item, itemcount); }); var menuover = $("> .l-menu-over:first", menu); ditem.hover(function () { if ($(this).hasClass("l-menu-item-disable")) return; var itemtop = $(this).offset().top; var top = itemtop - menu.offset().top; menuover.css({ top: top }); g.hideAllSubMenu(menu); if (item.children) { var meniitemid = $(this).attr("menuitemid"); if (!meniitemid) return; if (LigerUIMenu[meniitemid]) { g.show({ top: itemtop, left: $(this).offset().left + $(this).width() - 5 }, LigerUIMenu[meniitemid]); menu.showedSubMenu = true; } } }, function () { if ($(this).hasClass("l-menu-item-disable")) return; var meniitemid = $(this).attr("menuitemid"); if (item.children) { var meniitemid = $(this).attr("menuitemid"); if (!meniitemid) return; }; }); }, hideAllSubMenu: function (menu) { if (menu == undefined) menu = g.menu; $("> .l-menu-item", menu.items).each(function () { if ($("> .l-menu-item-arrow", this).length > 0) { var meniitemid = $(this).attr("menuitemid"); if (!meniitemid) return; LigerUIMenu[meniitemid] && g.hide(LigerUIMenu[meniitemid]); } }); menu.showedSubMenu = false; }, createMenu: function (parentMenuItemID) { var menu = $(''); parentMenuItemID && menu.attr("parentmenuitemid", parentMenuItemID); menu.items = $("> .l-menu-inner:first", menu); menu.appendTo('body'); if (p.shadow) { menu.shadow = $('').insertAfter(menu); g.updateShadow(menu); } menu.hover(null, function () { if (!menu.showedSubMenu) $("> .l-menu-over:first", menu).css({ top: -24 }); }); return menu; } }; g.menu = g.createMenu(); g.menu.css({ top: p.top, left: p.left, width: p.width }); p.items && $(p.items).each(function (i, item) { g.addItem(item); }); return g; }; $(document).click(function () { $(".l-menu,.l-menu-shadow").hide(); }); })(jQuery); (function ($) { $.fn.ligerGetLayoutManager = function () { return LigerUIManagers[this[0].id + "_Layout"]; }; $.fn.ligerRemoveLayoutManager = function () { return this.each(function () { LigerUIManagers[this.id + "_Layout"] = null; }); }; $.ligerDefaults = $.ligerDefaults || {}; $.ligerDefaults.Layout = { topHeight: 65, bottomHeight: 65, leftWidth: 110, centerWidth: 300, rightWidth: 170, InWindow: true, heightDiff: 0, height: '100%', onHeightChanged: null, isLeftCollapse: false, isRightCollapse: false, allowLeftCollapse: true, allowRightCollapse: true, allowLeftResize: true, allowRightResize: true, allowTopResize: true, allowBottomResize: true, space: 5 }; $.fn.ligerLayout = function (p) { this.each(function () { p = $.extend({}, $.ligerDefaults.Layout, p || {}); if (this.usedLayout) return; var g = { init: function () { $("> .l-layout-left .l-layout-header,> .l-layout-right .l-layout-header", g.layout).hover(function () { $(this).addClass("l-layout-header-over"); }, function () { $(this).removeClass("l-layout-header-over"); }); $(".l-layout-header-toggle", g.layout).hover(function () { $(this).addClass("l-layout-header-toggle-over"); }, function () { $(this).removeClass("l-layout-header-toggle-over"); }); $(".l-layout-header-toggle", g.left).click(function () { g.setLeftCollapse(true); }); $(".l-layout-header-toggle", g.right).click(function () { g.setRightCollapse(true); }); g.middleTop = 0; if (g.top) { g.middleTop += g.top.height(); g.middleTop += parseInt(g.top.css('borderTopWidth')); g.middleTop += parseInt(g.top.css('borderBottomWidth')); } if (g.left) { g.left.css({ top: g.middleTop }); g.leftCollapse.css({ top: g.middleTop }); } if (g.center) { g.center.css({ top: g.middleTop }); } if (g.right) { g.right.css({ top: g.middleTop }); g.rightCollapse.css({ top: g.middleTop }); } if (g.left) g.left.css({ left: 0 }); g.onResize(); g.onResize(); }, setCollapse: function () { g.leftCollapse.hover(function () { $(this).addClass("l-layout-collapse-left-over"); }, function () { $(this).removeClass("l-layout-collapse-left-over"); }); g.leftCollapse.toggle.hover(function () { $(this).addClass("l-layout-collapse-left-toggle-over"); }, function () { $(this).removeClass("l-layout-collapse-left-toggle-over"); }); g.rightCollapse.hover(function () { $(this).addClass("l-layout-collapse-right-over"); }, function () { $(this).removeClass("l-layout-collapse-right-over"); }); g.rightCollapse.toggle.hover(function () { $(this).addClass("l-layout-collapse-right-toggle-over"); }, function () { $(this).removeClass("l-layout-collapse-right-toggle-over"); }); g.leftCollapse.toggle.click(function () { g.setLeftCollapse(false); }); g.rightCollapse.toggle.click(function () { g.setRightCollapse(false); }); if (g.left && g.isLeftCollapse) { g.leftCollapse.show(); g.leftDropHandle && g.leftDropHandle.hide(); g.left.hide(); } if (g.right && g.isRightCollapse) { g.rightCollapse.show(); g.rightDropHandle && g.rightDropHandle.hide(); g.right.hide(); } }, setLeftCollapse: function (isCollapse) { if (!g.left) return false; g.isLeftCollapse = isCollapse; if (g.isLeftCollapse) { g.leftCollapse.show(); g.leftDropHandle && g.leftDropHandle.hide(); g.left.hide(); } else { g.leftCollapse.hide(); g.leftDropHandle && g.leftDropHandle.show(); g.left.show(); } g.onResize(); }, setRightCollapse: function (isCollapse) { if (!g.right) return false; g.isRightCollapse = isCollapse; g.onResize(); if (g.isRightCollapse) { g.rightCollapse.show(); g.rightDropHandle && g.rightDropHandle.hide(); g.right.hide(); } else { g.rightCollapse.hide(); g.rightDropHandle && g.rightDropHandle.show(); g.right.show(); } g.onResize(); }, addDropHandle: function () { if (g.left && p.allowLeftResize) { g.leftDropHandle = $("
"); g.layout.append(g.leftDropHandle); g.leftDropHandle && g.leftDropHandle.show(); g.leftDropHandle.mousedown(function (e) { g.start('leftresize', e); }); } if (g.right && p.allowRightResize) { g.rightDropHandle = $("
"); g.layout.append(g.rightDropHandle); g.rightDropHandle && g.rightDropHandle.show(); g.rightDropHandle.mousedown(function (e) { g.start('rightresize', e); }); } if (g.top && p.allowTopResize) { g.topDropHandle = $("
"); g.layout.append(g.topDropHandle); g.topDropHandle.show(); g.topDropHandle.mousedown(function (e) { g.start('topresize', e); }); } if (g.bottom && p.allowBottomResize) { g.bottomDropHandle = $("
"); g.layout.append(g.bottomDropHandle); g.bottomDropHandle.show(); g.bottomDropHandle.mousedown(function (e) { g.start('bottomresize', e); }); } g.draggingxline = $("
"); g.draggingyline = $("
"); g.layout.append(g.draggingxline).append(g.draggingyline); }, setDropHandlePosition: function () { if (g.leftDropHandle) { g.leftDropHandle.css({ left: g.left.width() + parseInt(g.left.css('left')), height: g.middleHeight, top: g.middleTop }); } if (g.rightDropHandle) { g.rightDropHandle.css({ left: parseInt(g.right.css('left')) - p.space, height: g.middleHeight, top: g.middleTop }); } if (g.topDropHandle) { g.topDropHandle.css({ top: g.top.height() + parseInt(g.top.css('top')), width: g.top.width() }); } if (g.bottomDropHandle) { g.bottomDropHandle.css({ top: parseInt(g.bottom.css('top')) - p.space, width: g.bottom.width() }); } }, onResize: function () { var oldheight = g.layout.height(); var h = 0; var windowHeight = $(window).height(); var parentHeight = null; if (typeof (p.height) == "string" && p.height.indexOf('%') > 0) { var layoutparent = g.layout.parent(); if (p.InWindow || layoutparent[0].tagName.toLowerCase() == "body") { parentHeight = windowHeight; parentHeight -= parseInt($('body').css('paddingTop')); parentHeight -= parseInt($('body').css('paddingBottom')); } else { parentHeight = layoutparent.height(); } h = parentHeight * parseFloat(p.height) * 0.01; if (p.InWindow || layoutparent[0].tagName.toLowerCase() == "body") h -= (g.layout.offset().top - parseInt($('body').css('paddingTop'))); } else { h = parseInt(p.height); } h += p.heightDiff; g.layout.height(h); g.layoutHeight = g.layout.height(); g.middleWidth = g.layout.width(); g.middleHeight = g.layout.height(); if (g.top) { g.middleHeight -= g.top.height(); g.middleHeight -= parseInt(g.top.css('borderTopWidth')); g.middleHeight -= parseInt(g.top.css('borderBottomWidth')); g.middleHeight -= p.space; } if (g.bottom) { g.middleHeight -= g.bottom.height(); g.middleHeight -= parseInt(g.bottom.css('borderTopWidth')); g.middleHeight -= parseInt(g.bottom.css('borderBottomWidth')); } g.middleHeight -= 2; if (p.onHeightChanged && g.layoutHeight != oldheight) { p.onHeightChanged({ layoutHeight: g.layoutHeight, diff: g.layoutHeight - oldheight, middleHeight: g.middleHeight }); } if (g.center) { g.centerWidth = g.middleWidth; if (g.left) { if (g.isLeftCollapse) { g.centerWidth -= g.leftCollapse.width() + 2; g.centerWidth -= parseInt(g.leftCollapse.css('borderLeftWidth')); g.centerWidth -= parseInt(g.leftCollapse.css('borderRightWidth')); g.centerWidth -= parseInt(g.leftCollapse.css('left')); g.centerWidth -= p.space; } else { g.centerWidth -= g.leftWidth + 2; g.centerWidth -= parseInt(g.left.css('borderLeftWidth')); g.centerWidth -= parseInt(g.left.css('borderRightWidth')); g.centerWidth -= parseInt(g.left.css('left')); g.centerWidth -= p.space; } } if (g.right) { if (g.isRightCollapse) { g.centerWidth -= g.rightCollapse.width(); g.centerWidth -= parseInt(g.rightCollapse.css('borderLeftWidth')); g.centerWidth -= parseInt(g.rightCollapse.css('borderRightWidth')); g.centerWidth -= parseInt(g.rightCollapse.css('right')); g.centerWidth -= p.space; } else { g.centerWidth -= g.rightWidth; g.centerWidth -= parseInt(g.right.css('borderLeftWidth')); g.centerWidth -= parseInt(g.right.css('borderRightWidth')); g.centerWidth -= p.space; } } g.centerLeft = 0; if (g.left) { if (g.isLeftCollapse) { g.centerLeft += g.leftCollapse.width(); g.centerLeft += parseInt(g.leftCollapse.css('borderLeftWidth')); g.centerLeft += parseInt(g.leftCollapse.css('borderRightWidth')); g.centerLeft += parseInt(g.leftCollapse.css('left')); g.centerLeft += p.space; } else { g.centerLeft += g.left.width(); g.centerLeft += parseInt(g.left.css('borderLeftWidth')); g.centerLeft += parseInt(g.left.css('borderRightWidth')); g.centerLeft += p.space; } } g.center.css({ left: g.centerLeft }); g.center.width(g.centerWidth); g.center.height(g.middleHeight); var contentHeight = g.middleHeight; if (g.center.header) contentHeight -= g.center.header.height(); g.center.content.height(contentHeight); } if (g.left) { g.leftCollapse.height(g.middleHeight); g.left.height(g.middleHeight); } if (g.right) { g.rightCollapse.height(g.middleHeight); g.right.height(g.middleHeight); g.rightLeft = 0; if (g.left) { if (g.isLeftCollapse) { g.rightLeft += g.leftCollapse.width(); g.rightLeft += parseInt(g.leftCollapse.css('borderLeftWidth')); g.rightLeft += parseInt(g.leftCollapse.css('borderRightWidth')); g.rightLeft += p.space; } else { g.rightLeft += g.left.width(); g.rightLeft += parseInt(g.left.css('borderLeftWidth')); g.rightLeft += parseInt(g.left.css('borderRightWidth')); g.rightLeft += parseInt(g.left.css('left')); g.rightLeft += p.space; } } if (g.center) { g.rightLeft += g.center.width(); g.rightLeft += parseInt(g.center.css('borderLeftWidth')); g.rightLeft += parseInt(g.center.css('borderRightWidth')); g.rightLeft += p.space; } g.right.css({ left: g.rightLeft }); } if (g.bottom) { g.bottomTop = g.layoutHeight - g.bottom.height() - 2; g.bottom.css({ top: g.bottomTop }); } g.setDropHandlePosition(); }, start: function (dragtype, e) { g.dragtype = dragtype; if (dragtype == 'leftresize' || dragtype == 'rightresize') { g.xresize = { startX: e.pageX }; g.draggingyline.css({ left: e.pageX - g.layout.offset().left, height: g.middleHeight, top: g.middleTop }).show(); $('body').css('cursor', 'col-resize'); } else if (dragtype == 'topresize' || dragtype == 'bottomresize') { g.yresize = { startY: e.pageY }; g.draggingxline.css({ top: e.pageY - g.layout.offset().top, width: g.layout.width() }).show(); $('body').css('cursor', 'row-resize'); } else { return; } g.layout.lock.width(g.layout.width()); g.layout.lock.height(g.layout.height()); g.layout.lock.show(); if ($.browser.msie || $.browser.safari) $('body').bind('selectstart', function () { return false; }); $(document).bind('mouseup', g.stop); $(document).bind('mousemove', g.drag); }, drag: function (e) { if (g.xresize) { g.xresize.diff = e.pageX - g.xresize.startX; g.draggingyline.css({ left: e.pageX - g.layout.offset().left }); $('body').css('cursor', 'col-resize'); } else if (g.yresize) { g.yresize.diff = e.pageY - g.yresize.startY; g.draggingxline.css({ top: e.pageY - g.layout.offset().top }); $('body').css('cursor', 'row-resize'); } }, stop: function (e) { if (g.xresize && g.xresize.diff != undefined) { if (g.dragtype == 'leftresize') { g.leftWidth += g.xresize.diff; g.left.width(g.leftWidth); if (g.center) g.center.width(g.center.width() - g.xresize.diff).css({ left: parseInt(g.center.css('left')) + g.xresize.diff }); else if (g.right) g.right.width(g.left.width() - g.xresize.diff).css({ left: parseInt(g.right.css('left')) + g.xresize.diff }); } else if (g.dragtype == 'rightresize') { g.rightWidth -= g.xresize.diff; g.right.width(g.rightWidth).css({ left: parseInt(g.right.css('left')) + g.xresize.diff }); if (g.center) g.center.width(g.center.width() + g.xresize.diff); else if (g.left) g.left.width(g.left.width() + g.xresize.diff); } } else if (g.yresize && g.yresize.diff != undefined) { if (g.dragtype == 'topresize') { g.top.height(g.top.height() + g.yresize.diff); g.middleTop += g.yresize.diff; g.middleHeight -= g.yresize.diff; if (g.left) { g.left.css({ top: g.middleTop }).height(g.middleHeight); g.leftCollapse.css({ top: g.middleTop }).height(g.middleHeight); } if (g.center) g.center.css({ top: g.middleTop }).height(g.middleHeight); if (g.right) { g.right.css({ top: g.middleTop }).height(g.middleHeight); g.rightCollapse.css({ top: g.middleTop }).height(g.middleHeight); } } else if (g.dragtype == 'bottomresize') { g.bottom.height(g.bottom.height() - g.yresize.diff); g.middleHeight += g.yresize.diff; g.bottomTop += g.yresize.diff; g.bottom.css({ top: g.bottomTop }); if (g.left) { g.left.height(g.middleHeight); g.leftCollapse.height(g.middleHeight); } if (g.center) g.center.height(g.middleHeight); if (g.right) { g.right.height(g.middleHeight); g.rightCollapse.height(g.middleHeight); } } } g.setDropHandlePosition(); g.draggingxline.hide(); g.draggingyline.hide(); g.xresize = g.yresize = g.dragtype = false; g.layout.lock.hide(); if ($.browser.msie || $.browser.safari) $('body').unbind('selectstart'); $(document).unbind('mousemove', g.drag); $(document).unbind('mouseup', g.stop); $('body').css('cursor', ''); } }; g.layout = $(this); if (!g.layout.hasClass("l-layout")) g.layout.addClass("l-layout"); g.width = g.layout.width(); if ($("> div[position=top]", g.layout).length > 0) { g.top = $("> div[position=top]", g.layout).wrap('
').parent(); g.top.content = $("> div[position=top]", g.top); if (!g.top.content.hasClass("l-layout-content")) g.top.content.addClass("l-layout-content"); g.topHeight = p.topHeight; if (g.topHeight) { g.top.height(g.topHeight); } } if ($("> div[position=bottom]", g.layout).length > 0) { g.bottom = $("> div[position=bottom]", g.layout).wrap('
').parent(); g.bottom.content = $("> div[position=bottom]", g.top); if (!g.bottom.content.hasClass("l-layout-content")) g.bottom.content.addClass("l-layout-content"); g.bottomHeight = p.bottomHeight; if (g.bottomHeight) { g.bottom.height(g.bottomHeight); } } if ($("> div[position=left]", g.layout).length > 0) { g.left = $("> div[position=left]", g.layout).wrap('
').parent(); g.left.header = $('
'); g.left.prepend(g.left.header); g.left.header.toggle = $(".l-layout-header-toggle", g.left.header); g.left.content = $("> div[position=left]", g.left); if (!g.left.content.hasClass("l-layout-content")) g.left.content.addClass("l-layout-content"); if (!p.allowLeftCollapse) $(".l-layout-header-toggle", g.left.header).remove(); var lefttitle = g.left.content.attr("title"); if (lefttitle) { g.left.content.attr("title", ""); $(".l-layout-header-inner", g.left.header).html(lefttitle); } g.leftWidth = p.leftWidth; if (g.leftWidth) g.left.width(g.leftWidth); } if ($("> div[position=center]", g.layout).length > 0) { g.center = $("> div[position=center]", g.layout).wrap('
').parent(); g.center.content = $("> div[position=center]", g.center); g.center.content.addClass("l-layout-content"); var centertitle = g.center.content.attr("title"); if (centertitle) { g.center.content.attr("title", ""); g.center.header = $('
'); g.center.prepend(g.center.header); g.center.header.html(centertitle); } g.centerWidth = p.centerWidth; if (g.centerWidth) g.center.width(g.centerWidth); } if ($("> div[position=right]", g.layout).length > 0) { g.right = $("> div[position=right]", g.layout).wrap('
').parent(); g.right.header = $('
'); g.right.prepend(g.right.header); g.right.header.toggle = $(".l-layout-header-toggle", g.right.header); if (!p.allowRightCollapse) $(".l-layout-header-toggle", g.right.header).remove(); g.right.content = $("> div[position=right]", g.right); if (!g.right.content.hasClass("l-layout-content")) g.right.content.addClass("l-layout-content"); var righttitle = g.right.content.attr("title"); if (righttitle) { g.right.content.attr("title", ""); $(".l-layout-header-inner", g.right.header).html(righttitle); } g.rightWidth = p.rightWidth; if (g.rightWidth) g.right.width(g.rightWidth); } g.layout.lock = $("
"); g.layout.append(g.layout.lock); g.addDropHandle(); g.isLeftCollapse = p.isLeftCollapse; g.isRightCollapse = p.isRightCollapse; g.leftCollapse = $(''); g.rightCollapse = $(''); g.layout.append(g.leftCollapse).append(g.rightCollapse); g.leftCollapse.toggle = $("> .l-layout-collapse-left-toggle", g.leftCollapse); g.rightCollapse.toggle = $("> .l-layout-collapse-right-toggle", g.rightCollapse); g.setCollapse(); g.init(); $(window).resize(function () { g.onResize(); }); if (this.id == undefined) this.id = "LigerUI_" + new Date().getTime(); LigerUIManagers[this.id + "_Layout"] = g; this.usedLayout = true; }); if (this.length == 0) return null; if (this.length == 1) return LigerUIManagers[this[0].id + "_Layout"]; var managers = []; this.each(function () { managers.push(LigerUIManagers[this.id + "_Layout"]); }); return managers; }; })(jQuery); (function ($) { $.ligerDefaults = $.ligerDefaults || {}; $.ligerDefaults.Resizable = { handles: 'n, e, s, w, ne, se, sw, nw', maxWidth: 2000, maxHeight: 2000, minWidth: 20, minHeight: 20, onStartResize: function (e) { }, onResize: function (e) { }, onStopResize: function (e) { }, onEndResize: null }; $.fn.ligerResizable = function (p) { return this.each(function () { p = $.extend({}, $.ligerDefaults.Resizable, p || {}); var g = { init: function () { g.target.append('
'); var handles = p.handles.split(','); for (var i = 0; i < handles.length; i++) { switch (handles[i].replace(/(^\s*)|(\s*$)/g, "")) { case "nw": g.target.append('
'); break; case "ne": g.target.append('
'); break; case "n": g.target.append('
'); break; case "w": g.target.append('
'); break; case "e": g.target.append('
'); break; case "sw": g.target.append('
'); break; case "se": g.target.append('
'); break; case "s": g.target.append('
'); break; } } $("> .l-resizable-h-c , > .l-resizable-f-c", g.target).width(g.target.width()); $("> .l-resizable-c-l , > .l-resizable-c-r", g.target).height(g.target.height()); g.target.resizable = $("> .l-resizable", g.target); }, start: function (e, dir) { if ($.browser.msie || $.browser.safari) $('body').bind('selectstart', function () { return false; }); $(".l-window-mask-nobackground").remove(); $("
").appendTo($("body")); g.target.resizable.css({ width: g.target.width(), height: g.target.height(), left: 0, top: 0 }); g.current = { dir: dir, left: g.target.offset().left, top: g.target.offset().top, width: g.target.width(), height: g.target.height() }; $(document).bind('mouseup', g.stop); $(document).bind('mousemove', g.drag); g.target.resizable.show(); if (p.onStartResize) p.onStartResize(g.current, e); }, drag: function (e) { var dir = g.current.dir; var resizableObj = g.target.resizable[0]; var width = g.current.width; var height = g.current.height; var moveWidth = (e.pageX || e.screenX) - g.current.left; var moveHeight = (e.pageY || e.clientY) - g.current.top; if (dir.indexOf("e") >= 0) moveWidth -= width; if (dir.indexOf("s") >= 0) moveHeight -= height; if (dir != "n" && dir != "s") { width += (dir.indexOf("w") >= 0) ? -moveWidth : moveWidth; } if (width >= p.minWidth) { if (dir.indexOf("w") >= 0) { resizableObj.style.left = moveWidth + 'px'; } if (dir != "n" && dir != "s") { resizableObj.style.width = width + 'px'; } } if (dir != "w" && dir != "e") { height += (dir.indexOf("n") >= 0) ? -moveHeight : moveHeight; } if (height >= p.minHeight) { if (dir.indexOf("n") >= 0) { resizableObj.style.top = moveHeight + 'px'; } if (dir != "w" && dir != "e") { resizableObj.style.height = height + 'px'; } } g.current.newWidth = width; g.current.newHeight = height; g.current.diffTop = parseInt(resizableObj.style.top); if (isNaN(g.current.diffTop)) g.current.diffTop = 0; g.current.diffLeft = parseInt(resizableObj.style.left); if (isNaN(g.current.diffLeft)) g.current.diffLeft = 0; $("body").css("cursor", dir + '-resize'); if (p.onResize) p.onResize(g.current, e); }, stop: function (e) { if ($.browser.msie || $.browser.safari) $('body').unbind('selectstart'); $(".l-window-mask-nobackground").remove(); if (!p.onStopResize) g.applyResize(); else if (p.onStopResize(g.current, e) != false) g.applyResize(); p.onEndResize && p.onEndResize(g.current, e); $("body").css("cursor", ""); g.target.resizable.hide(); $(document).unbind('mousemove', g.drag); $(document).unbind('mouseup', g.stop); }, applyResize: function () { var top = 0; var left = 0; if (!isNaN(parseInt(g.target.css('top')))) top = parseInt(g.target.css('top')); if (!isNaN(parseInt(g.target.css('left')))) left = parseInt(g.target.css('left')); if (g.current.diffTop != undefined) { if (g.current.diffTop != 0) g.target.css({ top: top + g.current.diffTop }); if (g.current.diffLeft != 0) g.target.css({ left: left + g.current.diffLeft }); g.target.css({ width: g.current.newWidth, height: g.current.newHeight }); } } }; g.target = $(this); g.init(); $(">div", g.target).mousedown(function (e) { if (!$(this).attr("direction")) return; g.start(e, $(this).attr("direction")); return false; }); }); }; })(jQuery); (function ($) { $.ligerDefaults = $.ligerDefaults || {}; $.ligerDefaults.Tip = { content: null, callback: null, width: 150, height: null, distanceX: 7, distanceY: 0, appendIdTo: null }; $.fn.ligerTip = function (p) { p = $.extend({}, $.ligerDefaults.Tip, p || {}); this.each(function () { var tip = null; var tipid = $(this).attr("ligerTipId"); if (tipid) { tip = $("#" + tipid); if (p.content == "") tip.remove(); else $(".l-verify-tip-content", tip).html(p.content); } else if (p.content) { tip = $('
' + p.content + '
'); tip.attr("id", "ligerUI" + new Date().getTime()); tip.fadeTo(0, 0.85); $(this).after(tip); } if (!tip) return; tip.css({ left: $(this).position().left + $(this).width() + p.distanceX, top: $(this).position().top + p.distanceY }).show(); $(this).attr("ligerTipId", tip.attr("id")); p.width && $("> .l-verify-tip-content", tip).width(p.width - 8); p.height && $("> .l-verify-tip-content", tip).width(p.height); p.appendIdTo && p.appendIdTo.attr("ligerTipId", tip.attr("id")); p.callback && p.callback(tip); }); if (this.length == 0) return null; if (this.length == 1) return this[0].ligerTip; var tips = []; this.each(function () { tips.push(this.ligerTip); }); return tips; }; $.fn.ligerHideTip = function (p) { return this.each(function () { var tipid = $(this).attr("ligerTipId"); if (tipid) { $("#" + tipid).remove(); $("[ligerTipId=" + tipid + "]").removeAttr("ligerTipId"); } }); }; })(jQuery); (function ($) { $.fn.ligerGetTabManager = function () { return LigerUIManagers[this[0].id + "_Tab"]; }; $.ligerDefaults = $.ligerDefaults || {}; $.ligerDefaults.Tab = { height: null, heightDiff: 0, marginleft: 3, changeHeightOnResize: false, contextmenu: true, closeMessage: "关闭当前页", closeOtherMessage: "关闭其他", closeAllMessage: "关闭所有", reloadMessage: "刷新", onBeforeOverrideTabItem: null, onAfterOverrideTabItem: null, onBeforeRemoveTabItem: null, onAfterRemoveTabItem: null, onBeforeAddTabItem: null, onAfterAddTabItem: null, onBeforeSelectTabItem: null, onAfterSelectTabItem: null }; $.fn.ligerTab = function (p) { p = $.extend({}, $.ligerDefaults.Tab, p || {}); this.each(function () { if (this.usedTab) return; if ($(this).hasClass('l-hidden')) { return; } var g = { setTabButton: function () { var sumwidth = 0; $("li", g.tab.links.ul).each(function () { sumwidth += ($(this).width() + p.marginleft); }); var mainwidth = g.tab.width(); if (sumwidth > mainwidth) { $(".l-tab-links-left,.l-tab-links-right", g.tab.links).remove(); g.tab.links.append(''); if ($(g.tab).attr("toolsid")) { $(".l-tab-links-right", g.tab.links).css("right", "17px"); } g.setTabButtonEven(); return true; } else { g.tab.links.ul.animate({ left: 0 }); $(".l-tab-links-left,.l-tab-links-right", g.tab.links).remove(); return false; } }, setTabButtonEven: function () { $(".l-tab-links-left", g.tab.links).hover(function () { $(this).addClass("l-tab-links-left-over"); }, function () { $(this).removeClass("l-tab-links-left-over"); }).click(function () { g.moveToPrevTabItem(); }); $(".l-tab-links-right", g.tab.links).hover(function () { $(this).addClass("l-tab-links-right-over"); }, function () { $(this).removeClass("l-tab-links-right-over"); }).click(function () { g.moveToNextTabItem(); }); }, moveToPrevTabItem: function () { var btnWitdth = $(".l-tab-links-left", g.tab.links).width(); var leftList = new Array(); $("li", g.tab.links.ul).each(function (i, item) { var currentItemLeft = -1 * btnWitdth; if (i > 0) { currentItemLeft = parseInt(leftList[i - 1]) + $(this).prev().width() + p.marginleft; } leftList.push(currentItemLeft); }); var currentLeft = -1 * parseInt(g.tab.links.ul.css("left")); for (var i = 0; i < leftList.length - 1; i++) { if (leftList[i] < currentLeft && leftList[i + 1] >= currentLeft) { g.tab.links.ul.animate({ left: -1 * parseInt(leftList[i]) }); return; } } }, moveToNextTabItem: function () { var btnWitdth = $(".l-tab-links-right", g.tab).width() + $(".l-tab-links-tools", g.tab.links).width(); var sumwidth = 0; var tabItems = $("li", g.tab.links.ul); tabItems.each(function () { sumwidth += $(this).width() + p.marginleft; }); var mainwidth = g.tab.width(); var leftList = new Array(); for (var i = tabItems.length - 1; i >= 0; i--) { var currentItemLeft = sumwidth - mainwidth + btnWitdth + p.marginleft; if (i != tabItems.length - 1) { currentItemLeft = parseInt(leftList[tabItems.length - 2 - i]) - ($(tabItems[i + 1]).width() + p.marginleft); } leftList.push(currentItemLeft); } var currentLeft = -1 * parseInt(g.tab.links.ul.css("left")); for (var i = 1; i < leftList.length; i++) { if (leftList[i] <= currentLeft && leftList[i - 1] > currentLeft) { g.tab.links.ul.animate({ left: -1 * parseInt(leftList[i - 1]) }); return; } } }, getTabItemCount: function () { return $("li", g.tab.links.ul).length; }, getSelectedTabItemID: function () { return $("li.l-selected", g.tab.links.ul).attr("tabid"); }, removeSelectedTabItem: function () { g.removeTabItem(g.getSelectedTabItemID()); }, overrideSelectedTabItem: function (options) { g.overrideTabItem(g.getSelectedTabItemID(), options); }, overrideTabItem: function (targettabid, options) { if (p.onBeforeOverrideTabItem && p.onBeforeOverrideTabItem(targettabid) == false) return false; var tabid = options.tabid; if (tabid == undefined) tabid = g.getNewTabid(); var url = options.url; var content = options.content; var target = options.target; var text = options.text; var showClose = options.showClose; var height = options.height; if (g.isTabItemExist(tabid)) { return; } var tabitem = $("li[tabid=" + targettabid + "]", g.tab.links.ul); var contentitem = $(".l-tab-content-item[tabid=" + targettabid + "]", g.tab.content); if (!tabitem || !contentitem) return; tabitem.attr("tabid", tabid); contentitem.attr("tabid", tabid); if ($("iframe", contentitem).length == 0 && url) { contentitem.html(""); } else if (content) { contentitem.html(content); } $("iframe", contentitem).attr("name", tabid); if (showClose == undefined) showClose = true; if (showClose == false) $(".l-tab-links-item-close", tabitem).remove(); else { if ($(".l-tab-links-item-close", tabitem).length == 0) tabitem.append(""); } if (text == undefined) text = tabid; if (height) contentitem.height(height); $("a", tabitem).text(text); $("iframe", contentitem).attr("src", url); p.onAfterOverrideTabItem && p.onAfterOverrideTabItem(targettabid); }, selectTabItem: function (tabid) { if (p.onBeforeSelectTabItem && p.onBeforeSelectTabItem(tabid) == false) return false; g.selectedTabId = tabid; $("> .l-tab-content-item[tabid=" + tabid + "]", g.tab.content).show().siblings().hide(); $("li[tabid=" + tabid + "]", g.tab.links.ul).addClass("l-selected").siblings().removeClass("l-selected"); p.onAfterSelectTabItem && p.onAfterSelectTabItem(tabid); }, moveToCurrTabItem: function (tabid) { var btnWitdth = $(".l-tab-links-left", g.tab.links).width(); var mainwidth = g.tab.width(); var selecttableftwidth = 0; var selecttabrightwidth = 0; $("li", g.tab.links.ul).each(function () { selecttabrightwidth += $(this).width() + p.marginleft; if ($(this).attr("tabid") == tabid) { return false; } selecttableftwidth += $(this).width() + p.marginleft; }); var tableftnum = parseInt($(g.tab.links.ul).css("left")); if (selecttableftwidth < (0 - tableftnum)) { g.tab.links.ul.animate({ left: -1 * (selecttableftwidth - btnWitdth) }); } else if ((selecttabrightwidth + tableftnum) > mainwidth) { btnWitdth += $(".l-tab-links-tools", g.tab.links).width(); g.tab.links.ul.animate({ left: (-1 * (selecttabrightwidth - mainwidth + btnWitdth + p.marginleft)) }); } }, moveToLastTabItem: function () { var sumwidth = 0; $("li", g.tab.links.ul).each(function () { sumwidth += $(this).width() + p.marginleft; }); var mainwidth = g.tab.width(); if (sumwidth > mainwidth) { var btnWitdth = $(".l-tab-links-right", g.tab.links).width() + $(".l-tab-links-tools", g.tab.links).width(); g.tab.links.ul.animate({ left: -1 * (sumwidth - mainwidth + btnWitdth + p.marginleft) }); } }, isTabItemExist: function (tabid) { return $("li[tabid=" + tabid + "]", g.tab.links.ul).length > 0; }, addTabItem: function (options) { if (p.onBeforeAddTabItem && p.onBeforeAddTabItem(tabid) == false) return false; var tabid = options.tabid; if (tabid == undefined) tabid = g.getNewTabid(); var url = options.url; var iconcss = options.iconcss; var content = options.content; var text = options.text; var showClose = options.showClose; var height = options.height; if (g.isTabItemExist(tabid)) { g.selectTabItem(tabid); g.moveToCurrTabItem(tabid); g.reload(tabid); return; } var tabitem = $("
  • "); var contentitem = $("
    "); if (g.makeFullHeight) { var newheight = g.tab.height() - g.tab.links.height(); contentitem.height(newheight); } tabitem.attr("tabid", tabid); contentitem.attr("tabid", tabid); $("iframe", contentitem).attr("name", tabid); if (showClose == undefined) showClose = true; if (showClose == false) $(".l-tab-links-item-close", tabitem).remove(); if (text == undefined) text = tabid; if (height) contentitem.height(height); $("a", tabitem).text(text); if (iconcss) $("a", tabitem).addClass(iconcss); $("iframe", contentitem).attr("src", url); g.tab.links.ul.append(tabitem); g.tab.content.append(contentitem); g.selectTabItem(tabid); if (g.setTabButton()) { g.moveToLastTabItem(); } g.addTabItemEvent(tabitem); p.onAfterAddTabItem && p.onAfterAddTabItem(tabid); }, addTabItemEvent: function (tabitem) { tabitem.click(function () { var tabid = $(this).attr("tabid"); g.selectTabItem(tabid); }); g.tab.menu && po.addTabItemContextMenuEven(tabitem); $(".l-tab-links-item-close", tabitem).hover(function () { $(this).addClass("l-tab-links-item-close-over"); }, function () { $(this).removeClass("l-tab-links-item-close-over"); }).click(function () { var tabid = $(this).parent().attr("tabid"); g.removeTabItem(tabid); }); }, removeTabItem: function (tabid) { if (p.onBeforeRemoveTabItem && p.onBeforeRemoveTabItem(tabid) == false) return false; var currentIsSelected = $("li[tabid=" + tabid + "]", g.tab.links.ul).hasClass("l-selected"); if (currentIsSelected) { $(".l-tab-content-item[tabid=" + tabid + "]", g.tab.content).prev().show(); $("li[tabid=" + tabid + "]", g.tab.links.ul).prev().addClass("l-selected").siblings().removeClass("l-selected"); } $(".l-tab-content-item[tabid=" + tabid + "]", g.tab.content).remove(); $("li[tabid=" + tabid + "]", g.tab.links.ul).remove(); g.setTabButton(); p.onAfterRemoveTabItem && p.onAfterRemoveTabItem(tabid); }, addHeight: function (heightDiff) { var newHeight = g.tab.height() + heightDiff; g.setHeight(newHeight); }, setHeight: function (height) { g.tab.height(height); g.setContentHeight(); }, setContentHeight: function () { var newheight = g.tab.height() - g.tab.links.height(); g.tab.content.height(newheight); $("> .l-tab-content-item", g.tab.content).height(newheight); }, getNewTabid: function () { var now = new Date(); return now.getTime(); }, getTabidList: function (notabid, noclose) { var tabidlist = []; $("> li", g.tab.links.ul).each(function () { if ($(this).attr("tabid") && $(this).attr("tabid") != notabid && (!noclose || $(".l-tab-links-item-close", this).length > 0)) { tabidlist.push($(this).attr("tabid")); } }); return tabidlist; }, removeOther: function (tabid, compel) { var tabidlist = g.getTabidList(tabid, true); $(tabidlist).each(function () { g.removeTabItem(this); }); }, reload: function (tabid) { $(".l-tab-content-item[tabid=" + tabid + "] iframe", g.tab.content).each(function (i, iframe) { $(iframe).attr("src", $(iframe).attr("src")); }); }, removeAll: function (compel) { var tabidlist = g.getTabidList(null, true); $(tabidlist).each(function () { g.removeTabItem(this); }); }, onResize: function () { if (!p.height || typeof (p.height) != 'string' || p.height.indexOf('%') == -1) return false; if (g.tab.parent()[0].tagName.toLowerCase() == "body") { var windowHeight = $(window).height(); windowHeight -= parseInt(g.tab.parent().css('paddingTop')); windowHeight -= parseInt(g.tab.parent().css('paddingBottom')); g.height = p.heightDiff + windowHeight * parseFloat(g.height) * 0.01; } else { g.height = p.heightDiff + (g.tab.parent().height() * parseFloat(p.height) * 0.01); } g.tab.height(g.height); g.setContentHeight(); } }; var po = { menuItemClick: function (item) { if (!item.id || !g.actionTabid) return; switch (item.id) { case "close": g.removeTabItem(g.actionTabid); g.actionTabid = null; break; case "closeother": g.removeOther(g.actionTabid); break; case "closeall": g.removeAll(); g.actionTabid = null; break; case "reload": g.selectTabItem(g.actionTabid); g.reload(g.actionTabid); break; } }, addTabItemContextMenuEven: function (tabitem) { tabitem.bind("contextmenu", function (e) { if (!g.tab.menu) return; g.actionTabid = tabitem.attr("tabid"); g.tab.menu.show({ top: e.pageY, left: e.pageX }); if ($(".l-tab-links-item-close", this).length == 0) { g.tab.menu.setDisable('close'); } else { g.tab.menu.setEnable('close'); } return false; }); } }; if (p.height) g.makeFullHeight = true; g.tab = $(this); if (!g.tab.hasClass("l-tab")) g.tab.addClass("l-tab"); if (p.contextmenu && $.ligerMenu) { g.tab.menu = $.ligerMenu({ width: 100, items: [{ text: p.closeMessage, id: 'close', click: po.menuItemClick }, { text: p.closeOtherMessage, id: 'closeother', click: po.menuItemClick }, { text: p.closeAllMessage, id: 'closeall', click: po.menuItemClick }, { text: p.reloadMessage, id: 'reload', click: po.menuItemClick}] }); } g.tab.content = $('
    '); $("> div", g.tab).appendTo(g.tab.content); g.tab.content.appendTo(g.tab); g.tab.links = $(''); g.tab.links.prependTo(g.tab); if ($(g.tab).attr("toolsid")) { g.tab.links.append(''); } g.tab.links.ul = $("ul", g.tab.links); var haslselected = $("> div[lselected=true]", g.tab.content).length > 0; g.selectedTabId = $("> div[lselected=true]", g.tab.content).attr("tabid"); $("> div", g.tab.content).each(function (i, box) { var li = $('
  • '); if ($(box).attr("title")) { $("> a", li).html($(box).attr("title")); } if ($(box).attr("iconcss")) { $("> a", li).addClass($(box).attr("iconcss")); } var tabid = $(box).attr("tabid"); if (tabid == undefined) { tabid = g.getNewTabid(); $(box).attr("tabid", tabid); if ($(box).attr("lselected")) { g.selectedTabId = tabid; } } li.attr("tabid", tabid); if (!haslselected && i == 0) g.selectedTabId = tabid; var showClose = $(box).attr("showClose"); if (showClose) { li.append(""); } $("> ul", g.tab.links).append(li); if (!$(box).hasClass("l-tab-content-item")) $(box).addClass("l-tab-content-item"); }); g.selectTabItem(g.selectedTabId); if (p.height) { if (typeof (p.height) == 'string' && p.height.indexOf('%') > 0) { g.onResize(); if (p.changeHeightOnResize) { $(window).resize(function () { g.onResize(); }); } } else { g.setHeight(p.height); } } if (g.makeFullHeight) g.setContentHeight(); $("li", g.tab.links).each(function () { g.addTabItemEvent($(this)); }); if (this.id == undefined) this.id = "LigerUI_" + new Date().getTime(); LigerUIManagers[this.id + "_Tab"] = g; this.usedTab = true; }); if (this.length == 0) return null; if (this.length == 1) return LigerUIManagers[this[0].id + "_Tab"]; var managers = []; this.each(function () { managers.push(LigerUIManagers[this.id + "_Tab"]); }); return managers; }; })(jQuery); (function ($) { $.fn.ligerGetTreeManager = function () { return LigerUIManagers[this[0].id + "_Tree"]; }; $.ligerDefaults = $.ligerDefaults || {}; $.ligerDefaults.Tree = { url: null, data: null, checkbox: true, autoCheckboxEven: true, parentIcon: 'folder', childIcon: 'leaf', textFieldName: 'text', attribute: ['id', 'url'], treeLine: true, nodeWidth: 90, statusName: '__status', isLeaf: null, onBeforeExpand: null, onContextmenu: null, onExpand: null, onBeforeCollapse: null, onCollapse: null, onBeforeSelect: null, onSelect: null, onBeforeCancelSelect: null, onCancelselect: null, onCheck: null, onSuccess: null, onError: null, onClick: null, idFieldName: null, parentIDFieldName: null, topParentIDValue: 0 }; $.fn.ligerTree = function (p) { this.each(function () { p = $.extend({}, $.ligerDefaults.Tree, p || {}); if (this.usedTree) return; if ($(this).hasClass('l-hidden')) { return; } var g = { getData: function () { return g.data; }, hasChildren: function (treenodedata) { if (p.isLeaf) return p.isLeaf(treenodedata); return treenodedata.children ? true : false; }, getParentTreeItem: function (treenode, level) { var treeitem = $(treenode); if (treeitem.parent().hasClass("l-tree")) return null; if (level == undefined) { if (treeitem.parent().parent("li").length == 0) return null; return treeitem.parent().parent("li")[0]; } var currentLevel = parseInt(treeitem.attr("outlinelevel")); var currenttreeitem = treeitem; for (var i = currentLevel - 1; i >= level; i--) { currenttreeitem = currenttreeitem.parent().parent("li"); } return currenttreeitem[0]; }, getChecked: function () { if (!p.checkbox) return null; var nodes = []; $(".l-checkbox-checked", g.tree).parent().parent("li").each(function () { var treedataindex = parseInt($(this).attr("treedataindex")); nodes.push({ target: this, data: po.getDataNodeByTreeDataIndex(g.data, treedataindex) }); }); return nodes; }, getSelected: function () { var node = {}; node.target = $(".l-selected", g.tree).parent("li")[0]; if (node.target) { var treedataindex = parseInt($(node.target).attr("treedataindex")); node.data = po.getDataNodeByTreeDataIndex(g.data, treedataindex); return node; } return null; }, upgrade: function (treeNode) { $(".l-note", treeNode).each(function () { $(this).removeClass("l-note").addClass("l-expandable-open"); }); $(".l-note-last", treeNode).each(function () { $(this).removeClass("l-note-last").addClass("l-expandable-open"); }); $("." + po.getChildNodeClassName(), treeNode).each(function () { $(this).removeClass(po.getChildNodeClassName()).addClass(po.getParentNodeClassName(true)); }); }, demotion: function (treeNode) { if (!treeNode && treeNode[0].tagName.toLowerCase() != 'li') return; var islast = $(treeNode).hasClass("l-last"); $(".l-expandable-open", treeNode).each(function () { $(this).removeClass("l-expandable-open").addClass(islast ? "l-note-last" : "l-note"); }); $(".l-expandable-close", treeNode).each(function () { $(this).removeClass("l-expandable-close").addClass(islast ? "l-note-last" : "l-note"); }); $("." + po.getParentNodeClassName(true), treeNode).each(function () { $(this).removeClass(po.getParentNodeClassName(true)).addClass(po.getChildNodeClassName()); }); }, collapseAll: function () { $(".l-expandable-open", g.tree).click(); }, expandAll: function () { $(".l-expandable-close", g.tree).click(); }, loadData: function (node, url, param) { g.loading.show(); param = param || {}; $.ajax({ type: 'post', url: url, data: param, dataType: 'json', success: function (data) { g.loading.hide(); g.append(node, data); if (p.onSuccess) p.onSuccess(data); }, error: function (XMLHttpRequest, textStatus, errorThrown) { try { g.loading.hide(); if (p.onError) p.onError(XMLHttpRequest, textStatus, errorThrown); } catch (e) { } } }); }, clear: function () { $("> li", g.tree).each(function () { g.remove(this); }); }, remove: function (treeNode) { var treedataindex = parseInt($(treeNode).attr("treedataindex")); var treenodedata = po.getDataNodeByTreeDataIndex(g.data, treedataindex); if (treenodedata) po.setTreeDataStatus([treenodedata], 'delete'); var parentNode = g.getParentTreeItem(treeNode); if (p.checkbox) { $(".l-checkbox", treeNode).remove(); po.setParentCheckboxStatus($(treeNode)); } $(treeNode).remove(); if (parentNode == null) { parentNode = g.tree.parent(); } var treeitemlength = $("> ul > li", parentNode).length; if (treeitemlength > 0) { $("> ul > li", parentNode).each(function (i, item) { if (i == 0 && !$(this).hasClass("l-first")) $(this).addClass("l-first"); if (i == treeitemlength - 1 && !$(this).hasClass("l-last")) $(this).addClass("l-last"); if (i == 0 && i == treeitemlength - 1 && !$(this).hasClass("l-onlychild")) $(this).addClass("l-onlychild"); $("> div .l-note,> div .l-note-last", this).removeClass("l-note l-note-last").addClass(i == treeitemlength - 1 ? "l-note-last" : "l-note"); po.setTreeItem(this, { isLast: i == treeitemlength - 1 }); }); } }, append: function (parentNode, newdata) { if (!newdata || !newdata.length) return false; if (p.idFieldName && p.parentIDFieldName) newdata = po.convertData(newdata); po.addTreeDataIndexToData(newdata); po.setTreeDataStatus(newdata, 'add'); po.appendData(parentNode, newdata); if (!parentNode) { if ($("> li:last", g.tree).length > 0) po.setTreeItem($("> li:last", g.tree)[0], { isLast: false }); var gridhtmlarr = po.getTreeHTMLByData(newdata, 1, [], true); gridhtmlarr[gridhtmlarr.length - 1] = gridhtmlarr[0] = ""; g.tree.append(gridhtmlarr.join('')); $(".l-body", g.tree).hover(function () { $(this).addClass("l-over"); }, function () { $(this).removeClass("l-over"); }); po.upadteTreeWidth(); return; } var treeitem = $(parentNode); var outlineLevel = parseInt(treeitem.attr("outlinelevel")); var hasChildren = $("> ul", treeitem).length > 0; if (!hasChildren) { treeitem.append(""); g.upgrade(parentNode); } if ($("> .l-children > li:last", treeitem).length > 0) po.setTreeItem($("> .l-children > li:last", treeitem)[0], { isLast: false }); var isLast = []; for (var i = 1; i <= outlineLevel - 1; i++) { var currentParentTreeItem = $(g.getParentTreeItem(parentNode, i)); isLast.push(currentParentTreeItem.hasClass("l-last")); } isLast.push(treeitem.hasClass("l-last")); var gridhtmlarr = po.getTreeHTMLByData(newdata, outlineLevel + 1, isLast, true); gridhtmlarr[gridhtmlarr.length - 1] = gridhtmlarr[0] = ""; $(">.l-children", parentNode).append(gridhtmlarr.join('')); po.upadteTreeWidth(); $(">.l-children .l-body", parentNode).hover(function () { $(this).addClass("l-over"); }, function () { $(this).removeClass("l-over"); }); } }; var po = { getDataNodeByTreeDataIndex: function (data, treedataindex) { for (var i = 0; i < data.length; i++) { if (data[i].treedataindex == treedataindex) return data[i]; if (data[i].children) { var targetData = po.getDataNodeByTreeDataIndex(data[i].children, treedataindex); if (targetData) return targetData; } } return null; }, setTreeDataStatus: function (data, status) { $(data).each(function () { this[p.statusName] = status; if (this.children) { po.setTreeDataStatus(this.children, status); } }); }, addTreeDataIndexToData: function (data) { $(data).each(function () { if (this.treedataindex != undefined) return; this.treedataindex = g.treedataindex++; if (this.children) { po.addTreeDataIndexToData(this.children); } }); }, appendData: function (treeNode, data) { var treedataindex = parseInt($(treeNode).attr("treedataindex")); var treenodedata = po.getDataNodeByTreeDataIndex(g.data, treedataindex); if (g.treedataindex == undefined) g.treedataindex = 0; if (treenodedata && treenodedata.children == undefined) treenodedata.children = []; $(data).each(function (i, item) { if (treenodedata) treenodedata.children[treenodedata.children.length] = $.extend({}, item); else g.data[g.data.length] = $.extend({}, item); }); }, setTreeItem: function (treeNode, options) { if (!options) return; var treeItem = $(treeNode); var outlineLevel = parseInt(treeItem.attr("outlinelevel")); if (options.isLast != undefined) { if (options.isLast == true) { treeItem.removeClass("l-last").addClass("l-last"); $("> div .l-note", treeItem).removeClass("l-note").addClass("l-note-last"); $(".l-children li", treeItem).find(".l-box:eq(" + (outlineLevel - 1) + ")").removeClass("l-line"); } else if (options.isLast == false) { treeItem.removeClass("l-last"); $("> div .l-note-last", treeItem).removeClass("l-note-last").addClass("l-note"); $(".l-children li", treeItem).find(".l-box:eq(" + (outlineLevel - 1) + ")").removeClass("l-line").addClass("l-line"); } } }, upadteTreeWidth: function () { var treeWidth = g.maxOutlineLevel * 22; if (p.checkbox) treeWidth += 22; if (p.parentIcon || p.childIcon) treeWidth += 22; treeWidth += p.nodeWidth; g.tree.width(treeWidth); }, getChildNodeClassName: function () { return 'l-tree-icon-' + p.childIcon; }, getParentNodeClassName: function (isOpen) { var nodeclassname = 'l-tree-icon-' + p.parentIcon; if (isOpen) nodeclassname += '-open'; return nodeclassname; }, getTreeHTMLByData: function (data, outlineLevel, isLast, isExpand) { if (g.maxOutlineLevel < outlineLevel) g.maxOutlineLevel = outlineLevel; isLast = isLast || []; outlineLevel = outlineLevel || 1; var treehtmlarr = []; if (!isExpand) treehtmlarr.push('