13 lines
28 KiB
JavaScript
13 lines
28 KiB
JavaScript
|
|
/*!
|
||
|
|
* jQuery appendGrid v1.5.1
|
||
|
|
* https://appendgrid.apphb.com/
|
||
|
|
*
|
||
|
|
* Copyright 2014 Albert L.
|
||
|
|
* Dual licensed under the LGPL (http://www.gnu.org/licenses/lgpl.html)
|
||
|
|
* and MIT (http://www.opensource.org/licenses/mit-license.php) licenses.
|
||
|
|
*
|
||
|
|
* Depends:
|
||
|
|
* jQuery v1.9.1+
|
||
|
|
* jquery UI v1.10.2+
|
||
|
|
*/
|
||
|
|
(function(g){var s={caption:null,captionTooltip:null,initRows:3,maxRowsAllowed:0,initData:null,columns:null,i18n:null,idPrefix:null,rowDragging:false,hideButtons:null,hideRowNumColumn:false,rowButtonsInFront:false,rowCountName:"_RowCount",buttonClasses:null,sectionClasses:null,customGridButtons:null,customRowButtons:null,customFooterButtons:null,useSubPanel:false,maintainScroll:false};var D={nameFormatter:null,dataLoaded:null,rowDataLoaded:null,afterRowAppended:null,afterRowInserted:null,afterRowSwapped:null,beforeRowRemove:null,afterRowRemoved:null,afterRowDragged:null,subPanelBuilder:null,subPanelGetter:null,maxNumRowsReached:null};var y={type:"text",name:null,value:null,display:null,displayCss:null,displayTooltip:null,headerSpan:1,cellCss:null,ctrlAttr:null,ctrlProp:null,ctrlCss:null,ctrlClass:null,ctrlOptions:null,uiOption:null,uiTooltip:null,resizable:false,invisible:false,emptyCriteria:null,customBuilder:null,customGetter:null,customSetter:null,onClick:null,onChange:null};var t={noColumnInfo:"Cannot initial grid without column information!",elemNotTable:"Cannot initial grid on element other than TABLE!",notInit:"`appendGrid` does not initialized",getValueMultiGrid:"Cannot get values on multiple grid",notSupportMethod:"Method is not supported by `appendGrid`: "};var w={append:"Append Row",removeLast:"Remove Last Row",insert:"Insert Row Above",remove:"Remove Current Row",moveUp:"Move Up",moveDown:"Move Down",rowDrag:"Sort Row",rowEmpty:"This Grid Is Empty"};var l={append:null,removeLast:null,insert:null,remove:null,moveUp:null,moveDown:null,rowDrag:null};var n={caption:null,header:null,body:null,subPanel:null,footer:null};var f={append:false,removeLast:false,insert:false,remove:false,moveUp:false,moveDown:false};var k={init:function(H){var V=this;if(V.length>0){if(!g.isArray(H.columns)||H.columns.length==0){alert(t.noColumnInfo);return V}var Q=V[0],I,M,U,S,E;if(o(Q.tagName)||Q.tagName!="TABLE"){alert(t.elemNotTable);return V}var T=g.extend({},s,D,H);g.extend(T,{_uniqueIndex:0,_rowOrder:[],_isDataLoaded:false,_visibleCount:0,_finalColSpan:0,_hideLastColumn:false});if(g.isPlainObject(H.i18n)){T._i18n=g.extend({},w,H.i18n)}else{T._i18n=g.extend({},w)}if(g.isPlainObject(H.buttonClasses)){T._buttonClasses=g.extend({},l,H.buttonClasses)}else{T._buttonClasses=g.extend({},l)}if(g.isPlainObject(H.sectionClasses)){T._sectionClasses=g.extend({},n,H.sectionClasses)}else{T._sectionClasses=g.extend({},n)}if(g.isPlainObject(H.hideButtons)){T.hideButtons=g.extend({},f,H.hideButtons)}else{T.hideButtons=g.extend({},f)}if(o(T.idPrefix)){if(o(Q.id)||Q.id==""){T.idPrefix="ag"+new Date().getTime()}else{T.idPrefix=Q.id}}if(!g.isPlainObject(T.customGridButtons)){T.customGridButtons={}}if(T.useSubPanel&&T.rowDragging){T.rowDragging=false}I=document.createElement("thead");M=document.createElement("tbody");U=document.createElement("tfoot");g(Q).empty().addClass("appendGrid ui-widget").append(I,M,U);var F,P;I.appendChild(S=document.createElement("tr"));if(T._sectionClasses.header){S.className=T._sectionClasses.header}if(!T.hideRowNumColumn){S.appendChild(F=document.createElement("td"));F.textContent="Lp.";F.className="lp";F.id=T.idPrefix+"_lp"}var J=0;for(var K=0;K<T.columns.length;K++){var O=g.extend({},y,T.columns[K]);T.columns[K]=O;if(T.columns[K].type!="hidden"){if(!T.columns[K].invisible){T._visibleCount++}if(J==0){var G="";if(T.columns[K].invisible){G+=" invisible"}if(T.columns[K].resizable){G+=" resizable"}S.appendChild(E=document.createElement("td"));E.id=T.idPrefix+"_"+T.columns[K].name+"_td_head";E.className=G;if(T.columns[K].displayCss){g(E).css(T.columns[K].displayCss)}if(T.columns[K].headerSpan>1){g(E).attr("colSpan",T.columns[K].headerSpan);J=T.columns[K].headerSpan-1}if(g.isPlainObject(T.columns[K].displayTooltip)){g(E).tooltip(T.columns[K].displayTooltip)}else{if(!o(T.columns[K].displayTooltip)){g(E).attr("title",T.columns[K].displayTooltip).tooltip()}}if(g.isFunction(T.columns[K].display)){T.columns[K].display(E)}else{if(!o(T.columns[K].display)){g(E).text(T.columns[K].display)}}}else{J--}}}if(!o(jQuery.ui.resizable)){g("td.re
|