leimnud.Package.Public({ info :{ Class :"maborak", File :"module.grid.js", Name :"grid", Type :"module", Version:"0.1" }, content :function(){ this.elements={}; this.make=function(options) { this.options = { theme:"gray" }.concatMaborak(options || {}); this.options.paginator={ limit:this.options.data.rows.length, page :1 }.concatMaborak(this.options.paginator || {}); /* Search Begin */ if(this.options.search===true) { this.renderSearch(); } /* Search End */ this.options.target.appendChild(this.render()); if(this.options.paginator && !this.options.noPaginator) { this.paginator(); } return this; }; this.render=function() { var table,row,cell,dataColumn=this.options.data.column,dataRow; var rows=dataColumn.length; var width = 100/dataColumn.length+"%"; /* Grid table BEGIN */ if(this.options.title) { this.elements.titleBar = $dce("div"); this.elements.titleBar.innerHTML=this.options.title || ""; this.elements.titleBar.className="app_grid_headerBar___"+this.options.theme; this.parent.dom.setStyle(this.elements.titleBar,this.options.styleHeaderBar || {}); this.options.target.appendChild(this.elements.titleBar); } table = this.elements.table = $dce("table"); this.elements.table.className="app_grid_table___"+this.options.theme; this.parent.dom.setStyle(table,{ /*font:"normal 11px arial,tahoma,helvetica,sans-serif", width :"100%", borderCollapse:"collapse", margin:0*/ }); row = table.insertRow(-1); /* right Click BEGIN */ var menuObserver=this.parent.factory(this.parent.pattern.observer,true); this.parent.event.add(this.options.target,"click",menuObserver.update); var menu = new this.parent.module.app.menuRight(); menu.make({ target:row, menu:[ {text:"Option 1",launch:function(){alert(1)}}, {text:"Option 2",launch:function(){alert(2)}}, {text:"Option 3",launch:function(){alert(3)}} ] }); menuObserver.register(menu.remove,menu); /* right Click END */ for(var i=0;ilimit)?limit:this.options.paginator.limit; lpp = (((page)==this.options.paginator.pages)?(total-((page-1)*forp)):forp); var inicio = this.options.paginator.limit*(this.options.paginator.page-1); inicio = (inicio<0)?0:inicio; var fin = inicio+lpp; //alert(inicio+":"+fin); for(var i=inicio;ithis.options.paginator.pages)?this.options.paginator.pages:pagTo); this.pDC.value = pagTo; if(pagTo!==this.options.paginator.page || force===true) { this.options.paginator.page=pagTo; this.clear(); this.renderData(); } if(pagTo===1) { this.pDf.className="app_grid_pDfDisabled___"+this.options.theme; this.pDp.className="app_grid_pDpDisabled___"+this.options.theme; } else { this.pDf.className="app_grid_pDf___"+this.options.theme; this.pDp.className="app_grid_pDp___"+this.options.theme; } if(pagTo===this.options.paginator.pages) { this.pDn.className="app_grid_pDnDisabled___"+this.options.theme; this.pDl.className="app_grid_pDlDisabled___"+this.options.theme; } else { this.pDn.className="app_grid_pDn___"+this.options.theme; this.pDl.className="app_grid_pDl___"+this.options.theme; } return false; }; this.renderSearched=function(evt,stext) { //alert(345345) this.dataToRender = []; var text = this.searchText.value; //var r = this.options.data.rows; var r = this.options.data.rows; var rw = this.elements.table.rows; var c = this.options.data.column; for(var i=0;i bComp) {return order2} return 0; }.args(data.order)); var sortedIndex = []; for(var i=0;iSearch in:
"); var fs = $dce("fieldset"); this.parent.dom.setStyle(fs,{ fontWeight :"bold", //border :"1px solid #99BBE8", //height :"100%", color :"#000" }); var lg = $dce("legend"); lg.innerHTML="Search in:"; fs.appendChild(lg); options.addContent(fs); var dr = this.options.data.column; var se = []; var cn = $dce("div"); this.parent.dom.setStyle(cn,{ fontWeight :"normal", textAlign :"right", //backgroundColor :"#D0DEF0", //border :"1px solid #99BBE8", color :"#000" }); fs.appendChild(cn); for(var i=0;i0;i--) { //alert(this.elements.table.rows[i]) this.parent.dom.remove(this.elements.table.rows[i]); } }; this.searchables=function() { var dr = this.options.data.column; var se = []; for(var i=0;i this.dropToCell.arrayPositions[uid].y2)) { insertCellIn= uid; begin = false; } else { insertCellIn= 0; begin = true; } } else { insertCellIn= this.dropToCell.selected; begin = true; } //var newRow=this.elements.table.insertRow((begin)?insertRowIn+1:-1); var row0 = this.elements.table.rows[0]; var insI = (begin)?insertCellIn+1:row0.length-1; //console.info("Nuevo en: "+insI); //alert(insI) var newCell = row0.insertCell(insI); newCell.parentNode.replaceChild(domCell,newCell); //console.info("Nuevo cellIndex: "+domCell.cellIndex+":"+newCell.cellIndex); for(var i=1;i this.drop.arrayPositions[uid].y2)/* && this.lastSelected===uid*/) { insertRowIn = uid; begin = false; } else { insertRowIn = 0; begin = true; } } else { insertRowIn = this.drop.selected; begin = true; } var newRow=this.elements.table.insertRow((begin)?insertRowIn+1:-1); newRow.parentNode.replaceChild(domRow,newRow); //alert(movedUID+":"+this.options.data.rows[movedUID].info.rowIndex+":"+domRow.rowIndex) this.options.data.rows[movedUID].info.rowIndex=domRow.rowIndex; //alert(domRow.rowIndex) } else { insertRowIn = domRow.rowIndex-1; begin = true; } this.parent.dom.remove([this.phantomRowStatic,this.imageAddRow]); //window.status=insertRowIn+":"+begin; this.drag.flush(); //this.parent.dom.remove([this.phantomRow,this.phantomRowStatic,this.imageAddRow]); new this.parent.module.fx.move().make({ duration:((this.drag.moved)?500:0), //end :{x:this.drop.arrayPositions[insertRowIn].x1,y:this.drop.arrayPositions[insertRowIn].y1}, end :this.parent.dom.position(domRow,false,true), dom :this.phantomRow, onFinish :function(insertRowIn,begin,domRow) { new this.parent.module.fx.fade().make({ duration:500, end :0, dom :this.phantomRow, onFinish :function(){ this.parent.dom.remove(this.phantomRow); this.inDragProcess=false; }.extend(this) }); }.extend(this,insertRowIn,begin,domRow) }); //alert("insertRowIn="+insertRowIn+":begin="+begin+":movedUID="+movedUID+":domRow="+domRow); //alert(this.drop.arrayPositions[insertRowIn].y1); }.extend(this,row,domRow) }; this.drag.make(); this.drag.onInit(event,0); this.imageAddRow = $dce("img"); this.imageAddRow.src=this.parent.info.images+"nr.gif"; this.setImageAddRow(domRow.rowIndex-1); this.options.target.appendChild(this.imageAddRow); //this.elements.table.rows[1]=this.elements.table.rows[3]; /*var uidMm = this.parent.event.add(this.options.target,"mousemove",function(evt) { evt = window.event || evt; var m = this.parent.dom.mouse(evt); window.status = "x="+m.x+": y="+m.y; }.extend(this)); this.parent.event.removeFromUid(uidMm);*/ //alert(uidMm) /*var tableCloned = this.elements.table.cloneNode(false); this.parent.dom.setStyle(tableCloned,{ //border : "1px dashed red" }); //alert(this.elements.table.clientWidth) this.phantomRow.appendChild(tableCloned); var headCloned = this.elements.table.rows[0].cloneNode(true) var rowCloned = domRow.cloneNode(true); this.parent.dom.opacity(headCloned,0); for(var k=0;k this.dropToCell.arrayPositions[uid].y2) { this.setImageAddCell(uid,true); } } }.extend(this,i) } }); //} } this.dropToCell.setArrayPositions(true); }; this.registerRowsToDrop=function(inRow) { for(var i=1;i this.drop.arrayPositions[uid].y2) { this.setImageAddRow(uid,true); } } }.extend(this,i) } }); //} } this.drop.setArrayPositions(true); }; /** * {Dom} a Source * {Dom} b Destiny */ this.fixColumnsWidth=function(a,b) { var h=0; for(var i=0;i