function initEnv() {
|
$("body").append(DWZ.frag["dwzFrag"]);
|
|
if ( $.browser.msie && /6.0/.test(navigator.userAgent) ) {
|
try {
|
document.execCommand("BackgroundImageCache", false, true);
|
}catch(e){}
|
}
|
//清理浏览器内存,只对IE起效
|
if ($.browser.msie) {
|
window.setInterval("CollectGarbage();", 10000);
|
}
|
|
$(window).resize(function(){
|
initLayout();
|
$(this).trigger(DWZ.eventType.resizeGrid);
|
});
|
|
var ajaxbg = $("#background,#progressBar");
|
ajaxbg.hide();
|
$(document).ajaxStart(function(){
|
ajaxbg.show();
|
}).ajaxStop(function(){
|
ajaxbg.hide();
|
});
|
|
$("#leftside").jBar({minW:150, maxW:700});
|
|
if ($.taskBar) $.taskBar.init();
|
navTab.init();
|
if ($.fn.switchEnv) $("#switchEnvBox").switchEnv();
|
if ($.fn.navMenu) $("#navMenu").navMenu();
|
|
setTimeout(function(){
|
initLayout();
|
initUI();
|
|
// navTab styles
|
var jTabsPH = $("div.tabsPageHeader");
|
jTabsPH.find(".tabsLeft").hoverClass("tabsLeftHover");
|
jTabsPH.find(".tabsRight").hoverClass("tabsRightHover");
|
jTabsPH.find(".tabsMore").hoverClass("tabsMoreHover");
|
|
}, 10);
|
|
}
|
function initLayout(){
|
var iContentW = $(window).width() - (DWZ.ui.sbar ? $("#sidebar").width() + 10 : 34) - 5;
|
var iContentH = $(window).height() - $("#header").height() - 34;
|
|
$("#container").width(iContentW);
|
$("#container .tabsPageContent").height(iContentH - 34).find("[layoutH]").layoutH();
|
$("#sidebar, #sidebar_s .collapse, #splitBar, #splitBarProxy").height(iContentH - 5);
|
$("#taskbar").css({top: iContentH + $("#header").height() + 5, width:$(window).width()});
|
}
|
|
function initUI(_box){
|
var $p = $(_box || document);
|
|
$("div.panel", $p).jPanel();
|
|
//tables
|
$("table.table", $p).jTable();
|
|
// css tables
|
$('table.list', $p).cssTable();
|
|
//auto bind tabs
|
$("div.tabs", $p).each(function(){
|
var $this = $(this);
|
var options = {};
|
options.currentIndex = $this.attr("currentIndex") || 0;
|
options.eventType = $this.attr("eventType") || "click";
|
$this.tabs(options);
|
});
|
|
$("ul.tree", $p).jTree();
|
$('div.accordion', $p).each(function(){
|
var $this = $(this);
|
$this.accordion({fillSpace:$this.attr("fillSpace"),alwaysOpen:true,active:0});
|
});
|
|
$(":button.checkboxCtrl, :checkbox.checkboxCtrl", $p).checkboxCtrl($p);
|
|
if ($.fn.combox) $("select.combox",$p).combox();
|
|
if ($.fn.xheditor) {
|
$("textarea.editor", $p).each(function(){
|
var $this = $(this);
|
var op = {html5Upload:false, skin: 'vista',tools: $this.attr("tools") || 'full'};
|
var upAttrs = [
|
["upLinkUrl","upLinkExt","zip,rar,txt"],
|
["upImgUrl","upImgExt","jpg,jpeg,gif,png"],
|
["upFlashUrl","upFlashExt","swf"],
|
["upMediaUrl","upMediaExt","avi"]
|
];
|
|
$(upAttrs).each(function(i){
|
var urlAttr = upAttrs[i][0];
|
var extAttr = upAttrs[i][1];
|
|
if ($this.attr(urlAttr)) {
|
op[urlAttr] = $this.attr(urlAttr);
|
op[extAttr] = $this.attr(extAttr) || upAttrs[i][2];
|
}
|
});
|
|
$this.xheditor(op);
|
});
|
}
|
|
if ($.fn.uploadify) {
|
$(":file[uploaderOption]", $p).each(function(){
|
var $this = $(this);
|
var options = {
|
fileObjName: $this.attr("name") || "file",
|
auto: true,
|
multi: true,
|
onUploadError: uploadifyError
|
};
|
|
var uploaderOption = DWZ.jsonEval($this.attr("uploaderOption"));
|
$.extend(options, uploaderOption);
|
|
DWZ.debug("uploaderOption: "+DWZ.obj2str(uploaderOption));
|
|
$this.uploadify(options);
|
});
|
}
|
|
// init styles
|
$("input[type=text], input[type=password], textarea", $p).addClass("textInput").focusClass("focus");
|
|
$("input[readonly], textarea[readonly]", $p).addClass("readonly");
|
$("input[disabled=true], textarea[disabled=true]", $p).addClass("disabled");
|
|
$("input[type=text]", $p).not("div.tabs input[type=text]", $p).filter("[alt]").inputAlert();
|
|
//Grid ToolBar
|
$("div.panelBar li, div.panelBar", $p).hoverClass("hover");
|
|
//Button
|
$("div.button", $p).hoverClass("buttonHover");
|
$("div.buttonActive", $p).hoverClass("buttonActiveHover");
|
|
//tabsPageHeader
|
$("div.tabsHeader li, div.tabsPageHeader li, div.accordionHeader, div.accordion", $p).hoverClass("hover");
|
|
//validate form
|
$("form.required-validate", $p).each(function(){
|
var $form = $(this);
|
$form.validate({
|
onsubmit: false,
|
focusInvalid: false,
|
focusCleanup: true,
|
errorElement: "span",
|
ignore:".ignore",
|
invalidHandler: function(form, validator) {
|
var errors = validator.numberOfInvalids();
|
if (errors) {
|
var message = DWZ.msg("validateFormError",[errors]);
|
alertMsg.error(message);
|
}
|
}
|
});
|
|
$form.find('input[customvalid]').each(function(){
|
var $input = $(this);
|
$input.rules("add", {
|
customvalid: $input.attr("customvalid")
|
})
|
});
|
});
|
|
if ($.fn.datepicker){
|
$('input.date', $p).each(function(){
|
var $this = $(this);
|
var opts = {};
|
if ($this.attr("dateFmt")) opts.pattern = $this.attr("dateFmt");
|
if ($this.attr("minDate")) opts.minDate = $this.attr("minDate");
|
if ($this.attr("maxDate")) opts.maxDate = $this.attr("maxDate");
|
if ($this.attr("mmStep")) opts.mmStep = $this.attr("mmStep");
|
if ($this.attr("ssStep")) opts.ssStep = $this.attr("ssStep");
|
$this.datepicker(opts);
|
});
|
}
|
|
// navTab
|
$("a[target=navTab]", $p).each(function(){
|
$(this).click(function(event){
|
var $this = $(this);
|
var title = $this.attr("title") || $this.text();
|
var tabid = $this.attr("rel") || "_blank";
|
var fresh = eval($this.attr("fresh") || "true");
|
var external = eval($this.attr("external") || "false");
|
var url = unescape($this.attr("href")).replaceTmById($(event.target).parents(".unitBox:first"));
|
DWZ.debug(url);
|
if (!url.isFinishedTm()) {
|
alertMsg.error($this.attr("warn") || DWZ.msg("alertSelectMsg"));
|
return false;
|
}
|
navTab.openTab(tabid, url,{title:title, fresh:fresh, external:external});
|
|
event.preventDefault();
|
});
|
});
|
|
//dialogs
|
$("a[target=dialog]", $p).each(function(){
|
$(this).click(function(event){
|
var $this = $(this);
|
var title = $this.attr("title") || $this.text();
|
var rel = $this.attr("rel") || "_blank";
|
var options = {};
|
var w = $this.attr("width");
|
var h = $this.attr("height");
|
if (w) options.width = w;
|
if (h) options.height = h;
|
options.max = eval($this.attr("max") || "false");
|
options.mask = eval($this.attr("mask") || "false");
|
options.maxable = eval($this.attr("maxable") || "true");
|
options.minable = eval($this.attr("minable") || "true");
|
options.fresh = eval($this.attr("fresh") || "true");
|
options.resizable = eval($this.attr("resizable") || "true");
|
options.drawable = eval($this.attr("drawable") || "true");
|
options.close = eval($this.attr("close") || "");
|
options.param = $this.attr("param") || "";
|
|
var url = unescape($this.attr("href")).replaceTmById($(event.target).parents(".unitBox:first"));
|
DWZ.debug(url);
|
if (!url.isFinishedTm()) {
|
alertMsg.error($this.attr("warn") || DWZ.msg("alertSelectMsg"));
|
return false;
|
}
|
$.pdialog.open(url, rel, title, options);
|
|
return false;
|
});
|
});
|
$("a[target=ajax]", $p).each(function(){
|
$(this).click(function(event){
|
var $this = $(this);
|
var rel = $this.attr("rel");
|
if (rel) {
|
var $rel = $("#"+rel);
|
$rel.loadUrl($this.attr("href"), {}, function(){
|
$rel.find("[layoutH]").layoutH();
|
});
|
}
|
|
event.preventDefault();
|
});
|
});
|
|
$("div.pagination", $p).each(function(){
|
var $this = $(this);
|
$this.pagination({
|
targetType:$this.attr("targetType"),
|
rel:$this.attr("rel"),
|
totalCount:$this.attr("totalCount"),
|
numPerPage:$this.attr("numPerPage"),
|
pageNumShown:$this.attr("pageNumShown"),
|
currentPage:$this.attr("currentPage")
|
});
|
});
|
|
if ($.fn.sortDrag) $("div.sortDrag", $p).sortDrag();
|
|
// dwz.ajax.js
|
if ($.fn.ajaxTodo) $("a[target=ajaxTodo]", $p).ajaxTodo();
|
if ($.fn.dwzExport) $("a[target=dwzExport]", $p).dwzExport();
|
|
if ($.fn.lookup) $("a[lookupGroup]", $p).lookup();
|
if ($.fn.multLookup) $("[multLookup]:button", $p).multLookup();
|
if ($.fn.suggest) $("input[suggestFields]", $p).suggest();
|
if ($.fn.itemDetail) $("table.itemDetail", $p).itemDetail();
|
if ($.fn.selectedTodo) $("a[target=selectedTodo]", $p).selectedTodo();
|
if ($.fn.pagerForm) $("form[rel=pagerForm]", $p).pagerForm({parentBox:$p});
|
|
// 这里放其他第三方jQuery插件...
|
}
|