?? util.js
字號(hào):
var objCache = { };//值對(duì)象集數(shù)組
var curid; //當(dāng)前的id
var initConditions = {properties:[],operators:[],values:[],page:1,size:12};
var conditions = initConditions;//條件對(duì)象,對(duì)應(yīng)于java中的com.htxx.service.Condition對(duì)象
//********列表框操作函數(shù)**********
//function:將查詢(xún)結(jié)果填充到頁(yè)面的列表框中,并實(shí)現(xiàn)翻頁(yè)
//parameters:
// tbodyid:必填參數(shù),tbody對(duì)象的id
// resultset:查詢(xún)結(jié)果的結(jié)果集對(duì)象,該對(duì)象對(duì)應(yīng)java中的com.htxx.service.ResultSet對(duì)象
// func:每行要執(zhí)行的一個(gè)函數(shù),有id(該行的行號(hào))和obj(該行的值對(duì)象)2個(gè)參數(shù)
fillResult = function(tbodyid, resultset, func){
// Fill the list of table
fillTable(tbodyid, resultset.collection, func);
// Fill the objCache
setObjCache(resultset.collection);
// Set tfoot and condition object
dwr.util.setValues(resultset,{prefix:tbodyid});
var condition = resultset.condition;
if(condition===null){ condition = initConditions;}
condition["totalRows"] = resultset.totalRows;
condition["totalPages"] = resultset.totalPages;
conditions[tbodyid] = condition;
};
//function:用一個(gè)collection去填充一個(gè)頁(yè)面的列表框
//parameters:
// tbodyid:必填參數(shù),tbody對(duì)象的id
// resultset:查詢(xún)結(jié)果的結(jié)果集對(duì)象
// func:每行要執(zhí)行的一個(gè)函數(shù),有id(該行的行號(hào),是用0填充的3位的字符串)和obj(該行的值對(duì)象)2個(gè)參數(shù)
fillTable = function(tbodyid, collection, func){
if(!collection||collection===null){collection=[];}
if(!tbodyid){
dwr.util._debug("Not set the value of 'tbodyid'!");return;
}
var prefix, prefixDot="";
if(tbodyid!=='tbody'){prefix=tbodyid;prefixDot=tbodyid+".";}
// Delete all the rows except for the "pattern" row
dwr.util.removeAllRows(tbodyid, { filter:function(tr) {
return (tr.id != prefixDot+"pattern");
}});
// Create a new set cloned from the pattern row
var obj, id;
var objs = collection;
for (var i = 0; i < objs.length; i++) {
obj = objs[i];
id = i.toString();id=("000"+id).substr(id.length);
dwr.util.cloneNode(prefixDot+"pattern", { idSuffix:id });
// Execute a function in each row
if(func){func(id,obj);}
// Set the rownum objects
obj['rownum'] = i+1;
setValues(obj,{ prefix:prefix, postfix:id });
$(prefixDot+"pattern"+id).style.display = "";
}
};
//function:用頁(yè)面緩存刷新列表框
//parameters:
// tbodyid:必填參數(shù),tbody對(duì)象的id
// func:每行要執(zhí)行的一個(gè)函數(shù),有id(該行的行號(hào))和obj(該行的值對(duì)象)2個(gè)參數(shù)
fillTableWithCache = function(tbodyid,func){
var resultset = new ResultSet();
dwr.util.getValues(resultset);
resultset.condition = conditions;
var collection = [];
for(var i = 0; i < objCache.length; i++){
collection.push(objCache[i]);
}
resultset.collection = collection;
fillResult(tbodyid,resultset,func);
};
//function:單擊列表框中某行時(shí)所做的操作
clickItemTr = function(){
};
//************翻頁(yè)操作函數(shù)*************
//function:翻到首頁(yè)
//parameters:
// tbodyid:必填參數(shù),tbody對(duì)象的id
// func:執(zhí)行查詢(xún)的函數(shù),通常為init()
first = function(tbodyid, func) {
var condition = conditions[tbodyid];
condition.page = 1;
conditions[tbodyid] = condition;
func(condition);
};
//function:翻到前一頁(yè)
//parameters:
// tbodyid:必填參數(shù),tbody對(duì)象的id
// func:執(zhí)行查詢(xún)的函數(shù),通常為init()
prior = function(tbodyid, func) {
var condition = conditions[tbodyid];
if(condition.page===1){
alert("this is the first page!");
}else{
condition.page = condition.page - 1;
conditions[tbodyid] = condition;
func(condition);
}
};
//function:翻到后一頁(yè)
//parameters:
// tbodyid:必填參數(shù),tbody對(duì)象的id
// func:執(zhí)行查詢(xún)的函數(shù),通常為init()
next = function(tbodyid, func) {
var condition = conditions[tbodyid];
if(condition.page===condition.totalPages){
alert("this is the last page!");
}else{
condition.page = condition.page + 1;
conditions[tbodyid] = condition;
func(condition);
}
};
//function:翻到末頁(yè)
//parameters:
// tbodyid:必填參數(shù),tbody對(duì)象的id
// func:執(zhí)行查詢(xún)的函數(shù),通常為init()
last = function(tbodyid, func) {
var condition = conditions[tbodyid];
condition.page = condition.totalPages;
conditions[tbodyid] = condition;
func(condition);
};
//function:翻到指定頁(yè)
//parameters:
// tbodyid:必填參數(shù),tbody對(duì)象的id
// func:執(zhí)行查詢(xún)的函數(shù),通常為init()
topage = function(tbodyid, func) {
var condition = conditions[tbodyid];
var page = dwr.util.getValue("btnGoto",{prefix:tbodyid});
if(page<1||page>condition.totalPages){
alert("the page you input is out of range!");
}else{
condition.page = page;
conditions[tbodyid] = condition;
func(condition);
}
};
//**********DWR重新實(shí)現(xiàn)函數(shù)*******************
//function: 重新實(shí)現(xiàn)了dwr.util.setValues,但增加了后綴(postfix)的功能
//parameters:
// map:必填參數(shù),值對(duì)象
// options:選項(xiàng),如果設(shè)置prefix屬性則設(shè)置前綴,如果設(shè)置postfix屬性則設(shè)置后綴。
setValues = function(map, options) {
var prefixes = [];
if (options && options.prefix) {prefixes.push(options.prefix);}
var postfix = null ;
if (options && options.postfix) {postfix = options.postfix;}
_getDataProperties(map, prefixes, postfix);
};
//function: 重新實(shí)現(xiàn)了dwr.util._getDataProperties,但增加了處理Date類(lèi)型的功能(原函數(shù)無(wú)法正確將日期按規(guī)定格式顯示在頁(yè)面)
//parameters:
// map:必填參數(shù),值對(duì)象
// prefixes:前綴
// postfix:后綴
_getDataProperties = function(map, prefixes, postfix) {
for (var property in map) {
// Only recurse into plain objects, ie not functions, arrays, etc
if (dwr.util._isObject(map[property]) && !dwr.util._isArray(map[property]) && !dwr.util._isDate(map[property])) {
var prefixClone = [];
for (var i = 0; i < prefixes.length; i++) {
prefixClone.push(prefixes[i]);
}
prefixClone.push(property);
_getDataProperties(map[property], prefixClone, postfix);
} else {
var nestedProperty = property;
if (prefixes.length > 0) {
nestedProperty = (prefixes.join(".")) + "." + property;
}
if(postfix!==null){nestedProperty = nestedProperty + postfix;}
// Are there any elements with that id or name
if (dwr.util.byId(nestedProperty) !== null || document.getElementsByName(nestedProperty).length >= 1) {
if(dwr.util._isDate(map[property])){
var d = map[property];
var s = d.getYear()+"-"+(d.getMonth()+1)+"-"+d.getDate();
dwr.util.setValue(nestedProperty, s);
}else{
dwr.util.setValue(nestedProperty, map[property]);
}
}
}
}
};
//******************Cache操作函數(shù)*******************
//function:將結(jié)果集按數(shù)組的形式填入到objCache中
//parameters:collection 結(jié)果集
setObjCache = function(collection){
if(!collection||collection===null){collection=[];}
var obj, id;
var objs = collection;
for (var i = 0; i < objs.length; i++) {
obj = objs[i];
id = i.toString();id=("000"+id).substr(id.length);
objCache[id] = obj;
}
};
//function:得到當(dāng)前值對(duì)象
getCurObj = function(){
return objCache[curid];
};
//function:設(shè)置當(dāng)前值對(duì)象
//parameters:eleid 頁(yè)面tr對(duì)象的id,其后3位為行號(hào)
//return:返回當(dāng)前值對(duì)象
setCurrent = function(eleid){
eleid = eleid.substring(eleid.length-3);
curid = eleid;
return getCurObj;
};
//function:得到當(dāng)前值對(duì)象序號(hào)
getCurrent = function(){
return curid;
};
//function:得到某行的值對(duì)象
//parameters:eleid 頁(yè)面tr對(duì)象的id,其后3位為行號(hào)
//return:返回值對(duì)象
getObj = function(eleid) {
return objCache[eleid.substring(eleid.length-3)];
};
//function:為單行編輯框中的select對(duì)象設(shè)置可選項(xiàng),實(shí)際上是重新實(shí)現(xiàn)了dwr.util.addOptions,為其增加了一個(gè)“Please select”行
//parameters:
// eleid:select對(duì)象的id
// data:可選項(xiàng)的內(nèi)容,應(yīng)當(dāng)是一個(gè)集合對(duì)象
// valueprop:作為option對(duì)象的value的值對(duì)象屬性名
// textprop:作為option對(duì)象的text的值對(duì)象屬性名
addOptions = function(eleid, data, valueprop, textprop) {
dwr.util.addOptions(eleid, ['<--Please select-->']);
dwr.util.addOptions(eleid, data, valueprop, textprop);
};
//******************單行編輯框操作函數(shù)*********************
//function:當(dāng)從列表框中選擇一行記錄以后,將該行記錄顯示在一個(gè)單行編輯框中
//parameters:
// eleid:頁(yè)面tr對(duì)象的id,其后3位為行號(hào)
// prefix:前綴
editObj = function(eleid, prefix) {
var obj = setCurrent(eleid);
setValues(obj,{ prefix:prefix });
return obj;
};
//function:保存單行編輯框中的信息,該函數(shù)實(shí)現(xiàn)了dwr的批處理功能
//parameters:
// obj:值對(duì)象
// func:執(zhí)行保存的函數(shù)
saveObj = function(obj, func) {
dwr.engine.beginBatch();
if(func(obj)){
setValues(obj);
}
dwr.engine.endBatch();
objCache[curid] = obj;
};
//function:從列表框中刪除一行數(shù)據(jù)
//parameters:
// eleid 頁(yè)面tr對(duì)象的id,其后3位為行號(hào)
// tbodyid:必填參數(shù),tbody對(duì)象的id
// func:執(zhí)行刪除的函數(shù)
delObj = function(eleid, tbodyid, func) {
eleid = eleid.substring(eleid.length-3);
var obj = objCache[eleid];
dwr.engine.beginBatch();
if(func(obj)){
$(tbodyid).deleteRow(eleid);
}
dwr.engine.endBatch();
};
//*************輔助函數(shù)*****************
//function:彈出對(duì)話框,顯示某個(gè)值的內(nèi)容或某個(gè)對(duì)象的所有屬性的值
//parameters:value 要顯示的值
alertValue = function(value){
if(value!==null&&typeof value == 'object') {alert(dwr.util.toDescriptiveString(value, 2));}
else{ alert(value);}
};
//function:得到一個(gè)iframe包含的網(wǎng)頁(yè),以便于對(duì)該網(wǎng)頁(yè)進(jìn)行操作
//parameters:ifr 一個(gè)iframe
//return:該iframe所包含的網(wǎng)頁(yè)
ifrwindow = function(ifr){
if(ifr.window){return ifr.window;}
if(ifr.contentWindow){return ifr.contentWindow;}
return null;
};
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -