/QuoteAdvantage/NetFramework2.0/WebApp/infragistics/Scripts/ig_WebGrid.js
JavaScript | 4573 lines | 4208 code | 355 blank | 10 comment | 1590 complexity | ead16be055f1a85b6c36ffb5bfbae91e MD5 | raw file
Large files files are truncated, but you can click here to view the full file
- /*
- * Infragistics WebGrid CSOM Script: ig_WebGrid.js
- * Version 6.1.20061.1087
- * Copyright(c) 2001-2006 Infragistics, Inc. All Rights Reserved.
- */
-
- var igtbl_lastActiveGrid="";
- var igtbl_isXHTML=document.compatMode=="CSS1Compat";
- var testVariable = null;
- var igtbl_sUnmaskedValue="uV";
- var igtbl_sigCellText="iCT";
- var igtbl_sigDataValue="iDV";
- var igtbl_isAtlas=false;
- var igtbl_litPrefix="lit:";
- function igtbl_initGrid(gridId
- ,gridInitArray,bandsInitArray,colsInitArray,eventsInitArray,xmlInitProps
- )
- {
- var grid=null;
- var gridElement=igtbl_getElementById("G_"+gridId);
- igtbl_isAtlas=typeof(Sys)!="undefined" && typeof(Sys.Application)!="undefined";
-
- if (igtbl_isAtlas)
- {
-
- var metCur=false;
- for(var gi in igtbl_gridState)
- {
- var g=igtbl_getGridById(gi);
- if(g && metCur)
- g.GridIsLoaded=false;
- if(gridId==gi)
- metCur=true;
- }
- }
- grid=igtbl_getGridById(gridId);
- if(grid)
- {
-
- if(igtbl_isAtlas && gridElement==grid.Element)
- {
- grid.GridIsLoaded=true;
- return;
- }
-
- }
- var xml;
- {
- xml=ig_csom.getElementById(gridId+"_xml");
- if(xml)
- {
- var x1 = xml[0], x2 = xml[1];
- if(x2 && x2.tagName == 'xml')
- {
- try{x1.parentElement.removeChild(x1);}catch(xml){}
- xml = x2;
- }
- }
- }
- grid=new igtbl_Grid(gridElement,xml
- ,gridInitArray,bandsInitArray,colsInitArray,eventsInitArray,xmlInitProps
- );
-
- if(typeof(igtab_selectTab)!="undefined" && igtab_selectTab && igtab_selectTab!=igtbl_tabChanges)
- {
- igtbl_oldSelectTab=igtab_selectTab;
- igtab_selectTab=igtbl_tabChanges;
- }
- var scrollLeft=grid._AddnlProps[9];
- var scrollTop=grid._AddnlProps[10];
- if(grid.LoadOnDemand!=3 || grid.XmlLoadOnDemandType==2
- )
- {
- if(scrollLeft>0)
- grid._recordChange("ScrollLeft",grid,scrollLeft);
- if(scrollTop>0)
- grid._recordChange("ScrollTop",grid,scrollTop);
- }
- var expRowsIds=grid._AddnlProps[3];
- for(var i=0;i<expRowsIds.length;i++)
- if(!xml)
- {
- var splitId=expRowsIds[i].split(";");
- igtbl_stateExpandRow(grid.Id,null,true,splitId[0],splitId[1]);
- }
- else
- {
- var id=expRowsIds[i];
- igtbl_toggleRow(grid.Id,id,true);
- }
- var selRowsIds=grid._AddnlProps[4];
- for(i=0;i<selRowsIds.length;i++)
- igtbl_selectRow(grid.Id,selRowsIds[i]);
- var selCellsIds=grid._AddnlProps[5];
- for(i=0;i<selCellsIds.length;i++)
- igtbl_selectCell(grid.Id,selCellsIds[i]);
- var selColsIds=grid._AddnlProps[13];
- for(i=0;selColsIds && i<selColsIds.length;i++)
- igtbl_selectColumn(grid.Id,selColsIds[i]);
- var activeCellId=grid._AddnlProps[6];
- var activeRowId=grid._AddnlProps[7];
- var sortedColsIds=grid._AddnlProps[8];
- if(sortedColsIds)
- grid.addSortColumn(sortedColsIds);
- var de=grid.getDivElement();
- var mainGrid=grid.MainGrid;
-
- var percentageHeight = mainGrid.style.height.indexOf("%") != -1;
-
- if(typeof(igtbl_oldOnBodyResize)=="undefined")
- {
- igtbl_oldOnBodyResize = igtbl_addEventListener(window, "resize", igtbl_onBodyResize, false);
- }
-
-
-
- if(!grid.UseFixedHeaders)
- {
-
- if(scrollLeft)
- igtbl_scrollLeft(de,scrollLeft);
- grid.alignStatMargins();
- }
- if(!mainGrid.style.height && de.clientHeight!=de.scrollHeight)
- {
- var scDiv=document.createElement("DIV");
- scDiv.id=grid.Element.id+"_scd";
- scDiv.innerHTML=" ";
- scDiv.style.height=de.scrollHeight-de.clientHeight+1;
- de.appendChild(scDiv);
- de.style.overflowY="hidden";
- de.setAttribute("scdAdded","true");
- }
- grid.alignDivs(scrollLeft);
- if(grid.UseFixedHeaders
- || grid.XmlLoadOnDemandType!=0
- )
- {
- if(grid.StatHeader)
- grid.StatHeader.ScrollTo(scrollLeft);
- grid.alignStatMargins();
- }
- if(grid.XmlLoadOnDemandType==2)
- de.setAttribute("noOnScroll",true);
- if(scrollTop)
- igtbl_scrollTop(de,scrollTop);
- if(scrollTop || scrollLeft)
- {
- var st=de.scrollTop.toString();
- de.setAttribute("noOnScroll","true");
- de.setAttribute("oldSL",de.scrollLeft.toString());
- de.setAttribute("oldST",st);
- grid.cancelNoOnScrollTimeout=window.setTimeout("igtbl_cancelNoOnScroll('"+grid.Id+"')",100);
- }
- if(grid.XmlLoadOnDemandType==2)
- de.removeAttribute("noOnScroll");
- if(activeCellId)
- {
- grid.setActiveCell(igtbl_getCellById(activeCellId));
- var cell=grid.oActiveCell;
- if(cell)
- {
- cell.scrollToView();
- if(cell.Band.getSelectTypeCell()==3)
- grid.Element.setAttribute("startPointCell",cell.Element.id);
- }
- }
- else if(activeRowId)
- {
- grid.setActiveRow(igtbl_getRowById(activeRowId));
- var row=grid.oActiveRow;
- if(row)
- {
- row.scrollToView();
- if(row.Band.getSelectTypeRow()==3)
- grid.Element.setAttribute("startPointRow",row.Element.id);
- }
- }
- grid._cb=typeof igtbl_editEvt=="function";
-
-
-
- grid._fromServerActiveRow=grid.oActiveRow;
-
-
-
- if (grid.UseFixedHeaders && grid.Bands[0] && grid.Bands[0].HasHeaderLayout)
- {
-
- var tHead;
- if (grid.StatHeader)
- {
- tHead = grid.StatHeader.Element;
- }
- else
- {
- tHead = grid.Element.tHead;
- }
- var tBodyBounds = igtbl_getAbsBounds(grid.Element.tBodies[0]);
- var tHeadBounds = igtbl_getAbsBounds(tHead);
-
- var nfhHeight = tBodyBounds.y + grid.getDivElement().scrollTop - tHeadBounds.y;
- if (nfhHeight >= 0)
- {
- tHead.rows[0].lastChild.style.height = nfhHeight + "px";
- }
- var c = 0, someFixed = false;
- for (c = 0; c < grid.Bands[0].Columns.length; c++)
- {
- someFixed |= grid.Bands[0].Columns[c].getFixed();
- if (someFixed)
- {
- break;
- }
- }
-
- if (igtbl_isXHTML && ig_csom.IsIE && !someFixed)
- {
-
- var divContent = grid.getDivElement().firstChild;
- var percentageWidth = divContent.style.width.indexOf("%") != -1;
- var drs = igtbl_getElementById(gridId + "_drs");
- if (!percentageWidth && drs)
- {
- divContent.style.width = drs.scrollWidth + "px";
- }
- }
- }
-
- grid.GridIsLoaded=true;
- igtbl_fireEvent(grid.Id,grid.Events.InitializeLayout,'("'+grid.Id+'");');
-
- try
- {
-
- if(!document.activeElement && (activeCellId || activeRowId))
- igtbl_activate(gridId);
- }
- catch(e){;}
-
- if(igtbl_isAtlas)
- $get(grid.ClientID).control=grid;
- return grid;
- }
-
-
- igtbl_oldSelectTab=null;
- function igtbl_tabChanges(tab,index)
- {
- var selectedTab=tab.getSelectedTab();
- if(selectedTab && selectedTab.index!=index)
- {
- for(var gId in igtbl_gridState)
- {
- var g=igtbl_getGridById(gId);
- if(igtbl_isAChildOfB(g.MainGrid,selectedTab.elemDiv))
- {
- var pn=g.MainGrid.parentNode;
- if(!pn.id || pn.id.length<=10 || pn.id.substr(pn.id.length-10,10)!="_container")
- g.hide();
-
-
- igtbl_showColButton(gId,"hide");
- }
- }
- }
- igtbl_oldSelectTab(tab,index,arguments[2]);
- selectedTab=tab.getSelectedTab();
- if(selectedTab)
- {
- for(var gId in igtbl_gridState)
- {
- var g=igtbl_getGridById(gId);
- if(igtbl_isAChildOfB(g.MainGrid,selectedTab.elemDiv))
- g.show();
- }
- }
- }
-
- // use igcsom.getElementById wherever is possible
- function igtbl_getElementById(tagId)
- {
- var obj=ig_csom.getElementById(tagId);
- if(obj && obj.length && typeof(obj.tagName)=="undefined")
- {
- var i=0;
- while(i<obj.length && (obj[i].id!=tagId || !igtbl_isVisible(obj[i]))) i++;
- if(i<obj.length) obj=obj[i];
- else obj=obj[0];
- }
- return obj;
- }
-
- function igtbl_getChildElementById(parent,id)
- {
- if(!id || !parent.childNodes || !parent.childNodes.length)
- return null;
- for(var i=0;i<parent.childNodes.length;i++)
- try{
- if(parent.childNodes[i].id && parent.childNodes[i].id==id)
- return parent.childNodes[i];
- var che=igtbl_getChildElementById(parent.childNodes[i],id);
- if(che)
- return che;
- }catch(ex){;}
- return null;
- }
-
-
- function igtbl_getGridById(gridId)
- {
- if(typeof(igtbl_gridState)=="undefined")
- return null;
- var grid=igtbl_gridState[gridId];
- if(!grid)
- for(var gId in igtbl_gridState)
- if(igtbl_gridState[gId].UniqueID==gridId || igtbl_gridState[gId].ClientID==gridId)
- {
- grid=igtbl_gridState[gId];
- break;
- }
- return grid;
- }
-
- function igtbl_getBandById(tagId)
- {
- if(!tagId)
- return null;
- var parts = tagId.split("_");
- var gridId = parts[0];
- var el=igtbl_getElementById(tagId);
- var bandIndex=igtbl_getBandNo(el);
- var objTypeId = parts[1];
-
- if(objTypeId=="c" && el && el.tagName=="TH")
- {
- bandIndex=parts[2];
- }
- if(!igtbl_getGridById(gridId))
- return null;
- var grid = igtbl_getGridById(gridId);
- return grid.Bands[bandIndex];
- }
-
- function igtbl_getColumnById(tagId)
- {
- if(!tagId)
- return null;
- var parts = tagId.split("_");
- var bandIndex = parts.length - 2;
- var gridId = parts[0];
- var objTypeId = parts[1];
- var el=igtbl_getElementById(tagId);
-
- if(objTypeId=="anc" && el && el.tagName=="TD")
- {
- bandIndex=igtbl_getBandById(tagId).Index;
- }
- else
- if(objTypeId=="rc" && el && el.tagName=="TD")
- {
- bandIndex=igtbl_getBandById(tagId).Index;
- }
- else if(objTypeId=="cf")
- {
- if(el && el.tagName!="TH")
- return null;
- bandIndex=parts[2];
- }
- else if(objTypeId=="cg")
- {
- if(el && el.tagName!=
- "DIV"
- )
- return null;
- bandIndex=parts[2];
- }
- else if (objTypeId=="c")
- {
- if (el && el.tagName!="TH")
- return;
- bandIndex=parts[2];
- }
- else
- return null;
-
- if(!igtbl_getGridById(gridId))
- return null;
- var grid = igtbl_getGridById(gridId);
- var band = grid.Bands[bandIndex];
- var colIndex = parts[parts.length - 1];
- return band.Columns[colIndex];
- }
-
-
- function _validateGrid(gridId)
- {
- return (igtbl_getGridById(gridId)!=null) ;
- }
-
- function igtbl_getRowById(tagId)
- {
- if(!tagId)
- return null;
- var parts = tagId.split("_");
-
- var rowTypeId = parts[1];
- var gridId = parts[0];
- var row=null;
- var isGrouped=false;
-
- var gridIdStore = gridId;
- if(rowTypeId == "anfr")
- {
- row=igtbl_getWorkRow(igtbl_getElementById(tagId).parentNode.parentNode.parentNode.parentNode.parentNode);
- if(!row || row.tagName!="TR")
- row=null;
-
- if (row && !_validateGrid(gridId))
- {
- row=null
- gridId=gridIdStore;
- }
- }
-
- if(row==null && rowTypeId=="grc")
- {
- row=igtbl_getElementById(tagId);
- if(typeof(row)!="undefined" && row)
- row=row.parentNode;
- if(!row || !row.getAttribute("groupRow"))
- row=null;
- isGrouped=true;
-
- if (row && !_validateGrid(gridId))
- {
- row=null
- gridId=gridIdStore;
- isGrouped=false;
- }
- }
- if(row==null && rowTypeId=="sgr")
- {
- row=igtbl_getWorkRow(igtbl_getElementById(tagId));
- if(!row || !row.getAttribute("groupRow"))
- row=null;
- isGrouped=true;
-
- if (row && !_validateGrid(gridId))
- {
- row=null
- gridId=gridIdStore;
- isGrouped=false;
- }
- }
-
- if(row==null && rowTypeId=="nfr")
- {
- row=igtbl_getWorkRow(igtbl_getElementById(tagId).parentNode.parentNode.parentNode.parentNode.parentNode);
- if(!row || row.tagName!="TR")
- row=null;
-
- if (row && !_validateGrid(gridId))
- {
- row=null
- gridId=gridIdStore;
- isGrouped=false;
- }
- }
- if(row==null && rowTypeId=="anr")
- {
- row=igtbl_getElementById(tagId);
- if(!row || row.tagName!="TR")
- row=null;
-
- if (row && !_validateGrid(gridId))
- {
- row=null
- gridId=gridIdStore;
- isGrouped=false;
- }
- }
- if(row==null && rowTypeId=="anl")
- {
- row=igtbl_getElementById(tagId);
- if(typeof(row)!="undefined" && row)
- row=row.parentNode;
- if(!row || row.tagName!="TR")
- row=null;
-
- if (row && !_validateGrid(gridId))
- {
- row=null
- gridId=gridIdStore;
- isGrouped=false;
- }
- }
- if(row==null && rowTypeId=="anc")
- {
- row=igtbl_getElementById(tagId);
- if(typeof(row)!="undefined" && row)
- row=row.parentNode;
-
- if(row && row.id.substr(0,gridId.length+5)==gridId+"_anfr")
- do{
- row=row.parentNode
- }while(row && row.tagName!="TR");
- if(!row || row.tagName!="TR")
- row=null;
-
- if (row && !_validateGrid(gridId))
- {
- row=null
- gridId=gridIdStore;
- isGrouped=false;
- }
- }
- if(row==null && rowTypeId=="gr")
- {
- row=igtbl_getElementById(tagId);
- if(!row || !row.getAttribute("groupRow"))
- row=null;
- isGrouped=true;
-
- if (row && !_validateGrid(gridId))
- {
- row=null
- gridId=gridIdStore;
- isGrouped=false;
- }
- }
- if(row==null && rowTypeId=="rh")
- {
- row=igtbl_getElementById(tagId);
- if(typeof(row)!="undefined" && row)
- row=row.previousSibling;
- if(!row || !row.getAttribute("hiddenRow"))
- row=null;
-
- if (row && !_validateGrid(gridId))
- {
- row=null
- gridId=gridIdStore;
- isGrouped=false;
- }
- }
- if(row==null && rowTypeId=="rc")
- {
- row=igtbl_getElementById(tagId);
- if(typeof(row)!="undefined" && row)
- row=row.parentNode;
-
-
- if(row && row.id.substr(0,gridId.length+1)==gridId.substr(0,gridId.length-2)+"_nfr")
- do{
- row=row.parentNode
- }while(row && row.tagName!="TR");
- if(!row || row.tagName!="TR")
- row=null;
-
- if (row && !_validateGrid(gridId))
- {
- row=null
- gridId=gridIdStore;
- isGrouped=false;
- }
- }
- if(row==null && rowTypeId=="r")
- {
- row=igtbl_getElementById(tagId);
- if(!row || row.tagName!="TR")
- row=null;
-
- if (row && !_validateGrid(gridId))
- {
- row=null
- gridId=gridIdStore;
- isGrouped=false;
- }
- }
- if(row==null && rowTypeId=="l")
- {
- row=igtbl_getElementById(tagId);
- if(typeof(row)!="undefined" && row)
- row=row.parentNode;
- if(!row || row.tagName!="TR")
- row=null;
-
- if (row && !_validateGrid(gridId))
- {
- row=null
- gridId=gridIdStore;
- isGrouped=false;
- }
- }
- if(row==null)
- return null;
- var gs=igtbl_getGridById(gridId);
- if(!gs)
- return null;
- if(typeof(row.Object)!="undefined")
- return row.Object;
- else
- {
- parts=new Array();
- while(true)
- {
- row=igtbl_getWorkRow(row,gridId);
- var level=-1;
-
- var bandZero=gs.Bands[0];
- if(gs.Bands.length==1 && !bandZero.IsGrouped)
- {
- level=row.sectionRowIndex;
- if(!gs.StatHeader && (bandZero.AddNewRowVisible==1 && bandZero.AddNewRowView==1
- ))
- level--;
- }
- else
- for(var i=0;i<row.parentNode.childNodes.length;i++)
- {
- var r=row.parentNode.childNodes[i];
- if(!r.getAttribute("hiddenRow")
- && !r.getAttribute("addNewRow")
- )
- level++;
- if(r==row)
- break;
- }
- parts[parts.length]=level;
- if(row.parentNode.parentNode.id==gs.Element.id)
- break;
- row=row.parentNode.parentNode.parentNode.parentNode.previousSibling;
- }
-
- if(parts.length > 1)
- parts=parts.reverse();
- var rows=gs.Rows;
- for(var i=0;i<parts.length;i++)
- {
- row=rows.getRow(parseInt(parts[i],10),row.Element?null:row);
- if(row && row.Expandable && i<parts.length-1)
- rows=row.Rows;
- else if(i<parts.length-1)
- {
- row=null;
- break;
- }
- }
- if(!row)
- return null;
- delete parts;
- row.Element.Object=row;
- return row;
- }
- }
-
- function igtbl_getCellById(tagId)
- {
- if(!tagId)
- return null;
- var parts = tagId.split("_");
- var gridId = parts[0];
- var cellTypeId = parts[1];
-
- if( cellTypeId!="rc" )
- {
- if( cellTypeId!="anc")
-
- return null;
- }
- var gs=igtbl_getGridById(gridId);
- if(!gs)
- return null;
-
- var row = igtbl_getRowById(igtbl_getRowIdFromCellId(tagId));
- if(!row)
- return null;
- var column=row.Band.Columns[parseInt(parts[parts.length-1],10)];
- return row.getCellByColumn(column);
- }
- function igtbl_getRowIdFromCellId(id)
- {
- if(id==null || id.length==0) return;
- var rowIdAr = id.split("_");
- switch(rowIdAr[1])
- {
- case("rc"):
- rowIdAr[1]="r";
- break;
- case("anc"):
- rowIdAr[1]="anr";
- break;
- }
-
- return rowIdAr.slice(0,rowIdAr.length-1).join("_");
- }
- function igtbl_getCellByElement(td)
- {
- if(td && td.tagName!="TD")
- while(td && td.tagName!="TD")
- td=td.parentNode;
- if(!td) return null;
- if(td.id)
- return igtbl_getCellById(td.id);
- var tr=td.parentNode;
- var row=null;
- while(!row && tr)
- {
- if(tr.tagName=="TR" && tr.id)
- row=igtbl_getRowById(tr.id);
- tr=tr.parentNode;
- }
- if(row)
- {
- if(td.id)
- return igtbl_getCellById(td.id);
- while(td.parentNode && (td.parentNode!=row.Element && td.parentNode!=row.nfElement))
- td=td.parentNode;
- if(td.parentNode && td.tagName=="TD" && td.id)
- return igtbl_getCellById(td.id);
- }
- return null;
- }
-
- function igtbl_needPostBack(gn)
- {
- igtbl_getGridById(gn).NeedPostBack=true;
- }
-
- function igtbl_cancelPostBack(gn)
- {
- igtbl_getGridById(gn).CancelPostBack=true;
- }
-
- function igtbl_getCollapseImage(gn,bandNo)
- {
- var g=igtbl_getGridById(gn);
- return g.Bands[bandNo].getCollapseImage();
- }
-
- function igtbl_getExpandImage(gn,bandNo)
- {
- var g=igtbl_getGridById(gn);
- return g.Bands[bandNo].getExpandImage();
- }
-
- function igtbl_getCellClickAction(gn,bandNo)
- {
- var g=igtbl_getGridById(gn);
- return g.Bands[bandNo].getCellClickAction();
- }
-
- function igtbl_getSelectTypeCell(gn,bandNo)
- {
- var g=igtbl_getGridById(gn);
- var res=g.SelectTypeCell;
- if(g.Bands[bandNo].SelectTypeCell!=0)
- res=g.Bands[bandNo].SelectTypeCell;
- return res;
- }
-
- function igtbl_getSelectTypeColumn(gn,bandNo)
- {
- var g=igtbl_getGridById(gn);
- var res=g.SelectTypeColumn;
- if(g.Bands[bandNo].SelectTypeColumn!=0)
- res=g.Bands[bandNo].SelectTypeColumn;
- return res;
- }
-
- function igtbl_getSelectTypeRow(gn,bandNo)
- {
- var g=igtbl_getGridById(gn);
- var res=g.SelectTypeRow;
- if(g.Bands[bandNo].SelectTypeRow!=0)
- res=g.Bands[bandNo].SelectTypeRow;
- return res;
- }
-
- function igtbl_getHeaderClickAction(gn,bandNo,columnNo)
- {
- var g=igtbl_getGridById(gn);
- var res=g.HeaderClickAction;
- var band=g.Bands[bandNo];
- var column=band.Columns[columnNo];
- if(column.HeaderClickAction!=0)
- res=column.HeaderClickAction;
- else if(band.HeaderClickAction!=0)
- res=band.HeaderClickAction;
- if(res>1)
- {
- if(band.AllowSort!=0)
- {
- if(band.AllowSort==2)
- res=0;
- }
- else if(g.AllowSort==0 || g.AllowSort==2)
- res=0;
- }
- return res;
- }
-
- function igtbl_getAllowUpdate(gn,bandNo,columnNo)
- {
- var g=igtbl_getGridById(gn);
- if(typeof(columnNo)!="undefined")
- return g.Bands[bandNo].Columns[columnNo].getAllowUpdate();
- var res=g.AllowUpdate;
- if(g.Bands[bandNo].AllowUpdate!=0)
- res=g.Bands[bandNo].AllowUpdate;
- return res;
- }
-
- function igtbl_getAllowColSizing(gn,bandNo,columnNo)
- {
- var g=igtbl_getGridById(gn);
- var res=g.AllowColSizing;
- if(g.Bands[bandNo].AllowColSizing!=0)
- res=g.Bands[bandNo].AllowColSizing;
- if(g.Bands[bandNo].Columns[columnNo].AllowColResizing!=0)
- res=g.Bands[bandNo].Columns[columnNo].AllowColResizing;
- return res;
- }
-
- function igtbl_getRowSizing(gn,bandNo,row)
- {
- var g=igtbl_getGridById(gn);
- var res=g.RowSizing;
- if(g.Bands[bandNo].RowSizing!=0)
- res=g.Bands[bandNo].RowSizing;
- if(row.getAttribute("sizing"))
- res=parseInt(row.getAttribute("sizing"),10);
- return res;
- }
-
- function igtbl_getRowSelectors(gn,bandNo)
- {
- var g=igtbl_getGridById(gn);
- return g.Bands[bandNo].getRowSelectors();
- }
-
- function igtbl_getNullText(gn,bandNo,columnNo)
- {
- var g=igtbl_getGridById(gn);
- if(g.Bands[bandNo].Columns[columnNo].NullText!="")
- return g.Bands[bandNo].Columns[columnNo].NullText;
- if(g.Bands[bandNo].NullText!="")
- return g.Bands[bandNo].NullText;
- return g.NullText;
- }
-
- function igtbl_getEditCellClass(gn,bandNo)
- {
- var g=igtbl_getGridById(gn);
- if(g.Bands[bandNo].EditCellClass!="")
- return g.Bands[bandNo].EditCellClass;
- return g.EditCellClass;
- }
-
- function igtbl_getFooterClass(gn,bandNo)
- {
- var g=igtbl_getGridById(gn);
- return g.Bands[bandNo].getFooterClass();
- }
-
- function igtbl_getGroupByRowClass(gn,bandNo)
- {
- return g.Bands[bandNo].getGroupByRowClass();
- }
-
- function igtbl_getHeadClass(gn,bandNo,columnNo)
- {
- var g=igtbl_getGridById(gn);
- return g.Bands[bandNo].Columns[columnNo].getHeadClass();
- }
-
- function igtbl_getRowLabelClass(gn,bandNo)
- {
- var g=igtbl_getGridById(gn);
- return g.Bands[bandNo].getRowLabelClass();
- }
-
- function igtbl_getSelGroupByRowClass(gn,bandNo)
- {
- var g=igtbl_getGridById(gn);
- return g.Bands[bandNo].getSelGroupByRowClass();
- }
-
- function igtbl_getSelHeadClass(gn,bandNo,columnNo)
- {
- var g=igtbl_getGridById(gn);
- if(g.Bands[bandNo].Columns[columnNo].SelHeadClass!="")
- return g.Bands[bandNo].Columns[columnNo].SelHeadClass;
- if(g.Bands[bandNo].SelHeadClass!="")
- return g.Bands[bandNo].SelHeadClass;
- return g.SelHeadClass;
- }
-
- function igtbl_getSelCellClass(gn,bandNo,columnNo)
- {
- var g=igtbl_getGridById(gn);
- return g.Bands[bandNo].Columns[columnNo].getSelClass();
- }
-
- function igtbl_getExpAreaClass(gn,bandNo)
- {
- var g=igtbl_getGridById(gn);
- return g.Bands[bandNo].getExpAreaClass();
- }
-
- function igtbl_getCurrentRowImage(gn,bandNo)
- {
- var g=igtbl_getGridById(gn);
- var res=g.CurrentRowImage;
- var band=g.Bands[bandNo];
- if(band.CurrentRowImage!="")
- res=band.CurrentRowImage;
- var au=igtbl_getAllowUpdate(gn,band.Index);
- if(band.RowTemplate!="" && (au==1 || au==3))
- {
- res=g.CurrentEditRowImage;
- if(band.CurrentEditRowImage!="")
- res=band.CurrentEditRowImage;
- }
- return res;
- }
-
-
- function igtbl_toggleRow()
- {
- var srcRow,expand;
- if(arguments.length==1)
- {
- var evnt=arguments[0];
- var se=igtbl_srcElement(evnt);
- if(!se || se.tagName!="IMG")
- return;
- srcRow=se.parentNode.parentNode.id;
- }
- else
- {
- srcRow=arguments[1];
- expand=arguments[2];
- }
- var sr = igtbl_getRowById(srcRow);
- if(!sr) return;
- igtbl_lastActiveGrid=sr.gridId;
- if(typeof(expand)=="undefined")
- expand=!sr.getExpanded();
- if(expand!=false)
- sr.setExpanded(true);
- else
- sr.setExpanded(false);
- }
-
- function igtbl_selectStart(evnt,gn)
- {
- var se=igtbl_srcElement(evnt);
- if(se)
- {
- var over=false,cell=null,column=null;
- while(se && !over)
- {
-
- if(se && (se.tagName=="TABLE" && se.id=="G_"+gn ||
- se.tagName=="TH" && (column=igtbl_getColumnById(se.id))!=null ||
- se.tagName=="TD" && (cell=igtbl_getCellById(se.id))!=null)
- )
- over=true;
- se=se.parentNode;
- }
- if(cell)
- {
- if(!(cell.Column.TemplatedColumn&2))
- igtbl_cancelEvent(evnt);
- }
-
- else if(column)
- {
- if( (!(column.TemplatedColumn&1) && se.parentNode.parentNode.tagName=="THEAD") ||
- (!(column.TemplatedColumn&4) && se.parentNode.parentNode.tagName=="TFOOT")
- )
- igtbl_cancelEvent(evnt);
- }
- else
- igtbl_cancelEvent(evnt);
- }
- }
-
- function igtbl_getBandFAC(gn,elem)
- {
- var gs=igtbl_getGridById(gn);
- var bandNo=null;
-
- if(elem.tagName=="TD" || elem.tagName=="TH")
- {
- if(elem.id!="")
- {return igtbl_getBandById(elem.id).firstActiveCell;}
- else{elem=elem.parentNode;}
- }
- if(elem.tagName=="TR")
- bandNo=elem.parentNode.parentNode.getAttribute("bandNo");
- if(elem.tagName=="TABLE")
- bandNo=elem.getAttribute("bandNo");
- if(bandNo)
- return gs.Bands[bandNo].firstActiveCell;
- return null;
- }
-
- function igtbl_headerClickDown(evnt,gn)
- {
- if(!evnt && event)
- evnt=event;
- if(!gn && igtbl_lastActiveGrid)
- gn=igtbl_lastActiveGrid;
- if(!gn || !evnt)
- return false;
- var gs=igtbl_getGridById(gn);
- if(!gs || gs.isDisabled())
- return;
- gs.event=evnt;
- igtbl_lastActiveGrid=gn;
- var te=gs.Element;
-
- te.setAttribute("mouseDown",evnt.button);
- var se=igtbl_srcElement(evnt);
- if(se && se.tagName=="IMG" && (se.getAttribute("imgType")=="group" || se.getAttribute("imgType")=="fixed"))
- return;
- while(se && (se.tagName!="TH" || se.id.length<gn.length || se.id.substr(0,gn.length)!=gn) && (se.tagName!="DIV" || !se.getAttribute("groupInfo")))
- se=se.parentNode;
- if(!se)
- return;
- if(se.tagName=="TH" && se.parentNode.parentNode.tagName!="TFOOT")
- {
- var colObj=igtbl_getColumnById(se.id);
- if(!colObj) return;
- if(igtbl_fireEvent(gn,gs.Events.MouseDown,"(\""+gn+"\",\""+se.id+"\","+igtbl_button(gn,evnt)+")")==true)
- return true;
- if(igtbl_button(gn,evnt)!=0)
- return;
- var bandNo=colObj.Band.Index;
- var band=colObj.Band;
- if(igtbl_getOffsetX(evnt,se)>igtbl_clientWidth(se)-4 && igtbl_getAllowColSizing(gn,bandNo,colObj.Index)==2)
- {
- te.setAttribute("elementMode", "resize");
- te.setAttribute("resizeColumn", se.id);
- igtbl_lineupHeaders(se.id,band);
- var div,divr;
- if(!document.body.igtbl_resizeDiv)
- {
- div=document.createElement("DIV");
- div.style.zIndex=10000;
- div.style.position="absolute";
- div.style.left="0px";
- div.style.top="0px";
- div.style.width="0px";
- div.style.height="0px";
- document.body.insertBefore(div,document.body.firstChild);
- igtbl_addEventListener(div,"mouseup",igtbl_resizeDivMouseUp,false);
- igtbl_addEventListener(div,"mousemove",igtbl_resizeDivMouseMove,false);
- igtbl_addEventListener(div,"selectstart",igtbl_resizeDivSelectStart,false);
- document.body.igtbl_resizeDiv=div;
- divr=document.createElement("DIV");
- div.appendChild(divr);
- divr.style.position="absolute";
- if(igtbl_isXHTML || ig_csom.IsNetscape6)
- {
- divr.style.borderLeftWidth="1px";
- divr.style.borderLeftColor="black";
- divr.style.borderLeftStyle="solid";
- divr.style.width="1px";
- }
- else
- {
- divr.style.borderWidth="1px";
- divr.style.borderColor="black";
- divr.style.borderStyle="solid";
- divr.style.width="2px";
- }
- }
- else
- {
- div=document.body.igtbl_resizeDiv;
- divr=div.firstChild;
- }
- div.setAttribute("gn",gn);
- div.style.display="";
- div.style.cursor="w-resize";
- var divw=document.body.clientWidth,divh=document.body.clientHeight
- div.style.width=divw+"px";
- div.style.height=divh+"px";
- div.style.backgroundColor="transparent";
- divr.style.top=igtbl_getTopPos(te.parentNode,false)+"px";
- divr.style.left=evnt.clientX
- +"px";
- divr.style.height=te.parentNode.offsetHeight+"px";
- div.column=colObj;
- div.srcElement=se;
- div.initX=evnt.clientX;
- return true;
- }
- se.setAttribute("justClicked",true);
- if(igtbl_getHeaderClickAction(gn,bandNo,colObj.Index)==1 && (gs.SelectedColumns[se.id]!=true || gs.ViewType!=2 || igtbl_getSelectTypeColumn(gn,bandNo)==3))
- {
- if(igtbl_getSelectTypeColumn(gn,bandNo)<2)
- return true;
- te.setAttribute("elementMode", "select");
- te.setAttribute("selectMethod", "column");
- if(!(igtbl_getSelectTypeColumn(gn,bandNo)==3 && evnt.ctrlKey))
- igtbl_clearSelectionAll(gn);
- if(te.getAttribute("shiftSelect") && evnt.shiftKey)
- {
- te.setAttribute("lastSelectedColumn","");
- igtbl_selectColumnRegion(gn,se);
- te.removeAttribute("shiftSelect");
- }
- else
- {
- te.setAttribute("startColumn", se.id);
- if(gs.SelectedColumns[se.id] && evnt.ctrlKey)
- igtbl_selectColumn(gn,se.id,false);
- else
- igtbl_selectColumn(gn,se.id);
- te.removeAttribute("shiftSelect");
- if(!evnt.ctrlKey)
- te.setAttribute("shiftSelect",true);
- }
- }
-
- ig_cancelEvent(evnt);
- return true;
- }
- else if(se.tagName=="DIV" && se.getAttribute("groupInfo"))
- {
- if(igtbl_button(gn,evnt)!=0)
- return;
- if(igtbl_fireEvent(gn,gs.Events.MouseDown,"(\""+gn+"\",\""+se.id+"\","+igtbl_button(gn,evnt)+")")==true)
- return;
- var groupInfo=se.getAttribute("groupInfo").split(":");
- if(groupInfo[0]!="band")
- igtbl_changeStyle(gn,se,igtbl_getSelHeadClass(gn,groupInfo[1],groupInfo[2]));
- se.setAttribute("justClicked",true);
- return true;
- }
- }
-
- function igtbl_resizeDivMouseUp(evnt)
- {
- if(!evnt) evnt=event;
- if(!evnt) return;
- var se=document.body.igtbl_resizeDiv;
-
- if (!se) return;
- var gn=se.getAttribute("gn");
- var g=igtbl_getGridById(gn);
-
- if(g && g.Element.getAttribute("mouseDown"))
- g.Element.removeAttribute("mouseDown");
- se.style.display="none";
- if(se.initX!=evnt.clientX)
- {
- var col=se.column;
- var oldWidth = -1;
- if(col.Width.length && col.Width.charAt(col.Width.length - 1) == "%")
- {
- oldWidth = se.srcElement.offsetWidth;
- }
- else if (col.Element && col.Element.colSpan > 1)
- {
-
- var colTags = col._getColTags();
- if (colTags.length == 4)
- {
- oldWidth = igtbl_getAbsBounds(col.Element).w - colTags[1].width;
- }
- }
- if (oldWidth == -1)
- {
- oldWidth = parseInt(col.Width,10);
- }
- var newWidth=oldWidth+evnt.clientX-se.initX;
- if(newWidth<=0)
- newWidth=1;
- if(oldWidth!=newWidth)
- col.setWidth(newWidth);
- }
- }
-
- function igtbl_resizeDivMouseMove(evnt)
- {
- if(!evnt)
- evnt=event;
- if(!evnt)
- return;
- var se=document.body.igtbl_resizeDiv;
- if(!se)
- return;
- var gn=se.getAttribute("gn");
- var g=igtbl_getGridById(gn);
- var te=null;
- if(g) te=g.Element;
-
-
- if(igtbl_button(null,evnt)>0 || !te || !te.getAttribute("mouseDown"))
- return igtbl_resizeDivMouseUp(evnt);
- se.style.cursor="w-resize";
- if(!se.firstChild)
- se=se.parentNode;
- if(se.initX!=evnt.clientX)
- {
- var col=se.column;
- if(parseInt(col.Width,10)+evnt.clientX-se.initX>0)
- se.firstChild.style.left=evnt.clientX+igtbl_getBodyScrollLeft()+"px";
- }
- }
-
- function igtbl_resizeDivSelectStart(evnt)
- {
- if(!evnt) evnt=event;
- if(!evnt) return;
- return igtbl_cancelEvent(evnt);
- }
-
- function igtbl_lineupHeaders(colId,band)
- {
- var gs=band.Grid;
- var te=gs.Element;
- var cg=new Array();
- var stat=false;
- if(band.Index==0 && !band.IsGrouped && gs.StationaryMargins>0)
- {
- cg[0]=te.childNodes[0];
- if(gs.StatHeader)
- cg[1]=gs.StatHeader.Element.previousSibling;
- if(gs.StatFooter)
- {
- if(gs.Rows.AddNewRow && band.AddNewRowView==2)
- cg[cg.length]=gs.StatFooter.Element.previousSibling.previousSibling;
- else
- cg[cg.length]=gs.StatFooter.Element.previousSibling;
- }
- stat=true;
- }
- else
- {
- var e=igtbl_getDocumentElement(colId);
- if(e && e.length)
- for(var i=0;i<e.length;i++)
- cg[i]=e[i].parentNode.parentNode.previousSibling;
- else if(e && e.parentNode.parentNode.previousSibling)
- cg[0]=e.parentNode.parentNode.previousSibling;
- }
- if(cg.length>0)
- {
- for(var j=0;j<cg.length;j++)
- {
- var hasPercW=false;
- for(var i=0;cg[j] && i<cg[j].childNodes.length && !hasPercW;i++)
- {
- var w=cg[j].childNodes[i].width.toString();
- if(!w || w.substr(w.length-1)=="%")
- hasPercW=true;
- }
- if(hasPercW)
- for(var i=0;i<cg[j].childNodes.length;i++)
- cg[j].childNodes[i].oldWidth=cg[j].childNodes[i].offsetWidth;
- if(j>0 && stat || gs.TableLayout)
- cg[j].parentNode.style.width="";
- for(var i=0;i<cg[j].childNodes.length;i++)
- {
- if(cg[j].childNodes[i].oldWidth)
- {
- if(cg[j].nextSibling)
- {
- var co=igtbl_getElemVis(cg[j].nextSibling.firstChild.childNodes,i);
- var column=igtbl_getColumnById(co.id);
- if(column)
- {
- co.style.width="";
- co.width=cg[j].childNodes[i].oldWidth;
- column.Width=co.width;
- if(column.Node) column.Node.setAttribute(igtbl_litPrefix+"width",co.width);
- }
- }
- cg[j].childNodes[i].style.width="";
- cg[j].childNodes[i].width=cg[j].childNodes[i].oldWidth;
- cg[j].childNodes[i].oldWidth=null;
- }
- }
- }
- }
- igtbl_dispose(cg);
- delete cg;
- }
-
- function igtbl_headerClickUp(evnt,gn)
- {
- if(!evnt && event)
- evnt=event;
- if(!gn && igtbl_lastActiveGrid)
- gn=igtbl_lastActiveGrid;
- if(!gn || !evnt)
- return false;
- var gs=igtbl_getGridById(gn);
- if(!gs || gs.isDisabled())
- return;
- gs.event=evnt;
- if(igtbl_button(gn,evnt)==2)
- return;
- var te=gs.Element;
-
- if (te.getAttribute("mouseDown"))
- te.removeAttribute("mouseDown");
- else
- return;
- var se=igtbl_srcElement(evnt);
- if(se && se.tagName=="IMG" && (se.getAttribute("imgType")=="group" || se.getAttribute("imgType")=="fixed"))
- return;
- while(se && (se.tagName!="TH" || se.id.length<gn.length || se.id.substr(0,gn.length)!=gn) && (se.tagName!="DIV" || !se.getAttribute("groupInfo")))
- se=se.parentNode;
- if(!se)
- return;
-
- var seTemp = se;
- while(seTemp!=null)
- {
- if (seTemp.tagName=="TFOOT")
- {
- return;
- }
- seTemp = seTemp.parentNode
- }
- seTemp = null;
- if(se.tagName == "TH")
- {
- var column=igtbl_getColumnById(se.id);
- if(!column) return;
- var bandNo=column.Band.Index;
- var columnNo=column.Index;
- var mode=te.getAttribute("elementMode");
-
- var headerClickNeedPost = false;
- if(mode!="resize")
- {
- var oldNP = gs.NeedPostBack;
- igtbl_fireEvent(gn,gs.Events.ColumnHeaderClick,"(\""+gn+"\",\""+se.id+"\","+igtbl_button(gn,evnt)+")");
- if (gs.NeedPostBack && gs.NeedPostBack!= oldNP)
- headerClickNeedPost = true;
- }
- if(igtbl_fireEvent(gn,gs.Events.MouseUp,"(\""+gn+"\",\""+se.id+"\","+igtbl_button(gn,evnt)+")")==true)
- return true;
-
- var headerClickAction=igtbl_getHeaderClickAction(gn,bandNo,columnNo);
- if(headerClickAction!=1)
-
- igtbl_changeStyle(gn,se,null);
- te.removeAttribute("elementMode");
- te.removeAttribute("resizeColumn");
- te.removeAttribute("selectMethod");
- if(!te.getAttribute("shiftSelect"))
- te.removeAttribute("startColumn");
-
-
- if(mode!="resize" && (headerClickAction==2 || headerClickAction==3) && column.SortIndicator!=3)
- {
- if(gs.Bands[bandNo].ClientSortEnabled)
- {
- gs.startHourGlass();
- gs.sortingColumn=se;
- gs.oldColCursor=se.style.cursor;
-
- window.setTimeout("igtbl_gridSortColumn('"+gn+"','"+se.id+"',"+evnt.shiftKey+")",1);
- }
- else
- gs.sortColumn(se.id,evnt.shiftKey);
- if(gs.NeedPostBack && !headerClickNeedPost)
- igtbl_doPostBack(gn,evnt.shiftKey?"shiftKey:true":"");
- }
- else
- {
- if(mode=="resize")
- igtbl_resizeDivMouseUp(evnt);
- if((mode=="resize" || mode=="select") && gs.NeedPostBack)
- {
-
- igtbl_doPostBack(gn,'HeaderClick:'+se.id);
-
- }
- te.removeAttribute("elementMode");
- }
- }
- else if(se.tagName=="DIV" && se.getAttribute("groupInfo"))
- {
- igtbl_fireEvent(gn,gs.Events.ColumnHeaderClick,"(\""+gn+"\",\""+se.id+"\","+igtbl_button(gn,evnt)+")");
- if(igtbl_fireEvent(gn,gs.Events.MouseUp,"(\""+gn+"\",\""+se.id+"\","+igtbl_button(gn,evnt)+")")==true)
- return;
- var groupInfo=se.getAttribute("groupInfo").split(":");
- if(groupInfo[0]!="band")
- {
- igtbl_changeStyle(gn,se,null);
- var bandNo=igtbl_bandNoFromColId(se.id);
- var columnNo=igtbl_colNoFromColId(se.id);
- var column=gs.Bands[bandNo].Columns[columnNo];
-
- var headerClickAction=igtbl_getHeaderClickAction(gn,bandNo,columnNo);
- if((headerClickAction==2 || headerClickAction==3) && column.SortIndicator!=3)
-
- {
- if(gs.Bands[bandNo].ClientSortEnabled)
- {
- gs.startHourGlass();
- gs.sortingColumn=se;
- gs.oldColCursor=se.style.cursor;
-
- window.setTimeout("igtbl_gridSortColumn('"+gn+"','"+se.id+"',true)",1);
- }
- else
- gs.sortColumn(se.id,evnt.shiftKey);
- if(gs.NeedPostBack)
- igtbl_doPostBack(gn,evnt.shiftKey?"shiftKey:true":"");
- }
- }
- }
- if(gs.NeedPostBack)
- igtbl_doPostBack(gn,'HeaderClick:'+se.id);
- return true;
- }
-
- function igtbl_headerContextMenu(evnt,gn)
- {
- if(!evnt && event)
- evnt=event;
- if(!gn && igtbl_lastActiveGrid)
- gn=igtbl_lastActiveGrid;
- if(!gn || !evnt)
- return false;
- var gs=igtbl_getGridById(gn);
- if(!gs || gs.isDisabled())
- return;
- gs.event=evnt;
-
- if(igtbl_button(gn,evnt)==2 && !ig_csom.IsFireFox)
- return;
- var te=gs.Element;
- te.removeAttribute("mouseDown");
- var se=igtbl_srcElement(evnt);
- while(se && (se.tagName!="TH" || se.id.length<gn.length || se.id.substr(0,gn.length)!=gn) && (se.tagName!="DIV" || !se.getAttribute("groupInfo")))
- se=se.parentNode;
- if(!se)
- return;
- if(se.tagName == "TH" || se.tagName == "DIV")
- {
- var column=igtbl_getColumnById(se.id);
- if(se.tagName=="TH" && !column) return;
- igtbl_fireEvent(gn,gs.Events.ColumnHeaderClick,"(\""+gn+"\",\""+se.id+"\",2)");
- if(igtbl_fireEvent(gn,gs.Events.MouseUp,"(\""+gn+"\",\""+se.id+"\",2)")==true)
- return igtbl_cancelEvent(evnt);
- }
- }
-
- function igtbl_gridSortColumn(gn,colId,shiftKey)
- {
- var gs=igtbl_getGridById(gn);
- gs._isSorting = true;
- gs.sortColumn(colId,shiftKey);
- if(gs.sortingColumn && gs.oldColCursor)
- gs.sortingColumn.style.cursor=gs.oldColCursor;
- gs.stopHourGlass();
- delete gs._isSorting;
- if(gs.NeedPostBack)
- igtbl_doPostBack(gn,"shiftKey:"+shiftKey.toString());
- }
-
- function igtbl_headerMouseOut(evnt,gn)
- {
- if(!evnt && event)
- evnt=event;
- if(!gn && igtbl_lastActiveGrid)
- gn=igtbl_lastActiveGrid;
- if(!gn || !evnt)
- return false;
- var gs=igtbl_getGridById(gn);
- var se=igtbl_srcElement(evnt);
- if(!gs || !se || gs.isDisabled())
- return;
- gs.event=evnt;
- if(se.tagName=="NOBR" && se.title)
- se.title="";
- while(se && (se.tagName!="TH" || se.id.length<gn.length || se.id.substr(0,gn.length)!=gn) && (se.tagName!="DIV" || !se.getAttribute("groupInfo")))
- se=se.parentNode;
- if(!se)
- return;
- if(se.tagName == "TH")
- {
- var column=igtbl_getColumnById(se.id);
- if(!column) return;
- var sep=se.parentNode;
- if(gs.Element.getAttribute("elementMode")=="select")
- return true;
- if(!igtbl_isMouseOut(se,evnt))return true;
- if(igtbl_fireEvent(gn,gs.Events.MouseOut,"(\""+gn+"\",\""+se.id+"\",1)")==true)
- return true;
- if(igtbl_getHeaderClickAction(gn,column.Band.Index,column.Index)!=1)
- igtbl_changeStyle(gn,se,null);
- return true;
- }
- else if(se.tagName == "DIV" && se.getAttribute("groupInfo"))
- {
- if(!igtbl_isMouseOut(se,evnt))return true;
- if(igtbl_fireEvent(gn,gs.Events.MouseOut,"(\""+gn+"\",\""+se.id+"\",1)")==true)
- return true;
- var groupInfo=se.getAttribute("groupInfo").split(":");
- if(groupInfo[0]!="band")
- igtbl_changeStyle(gn,se,null);
- return true;
- }
- }
-
- function igtbl_isMouseOut(se,evnt)
- {
- var te=evnt.toElement;
- if(te==null)
- te=evnt.relatedTarget;
- while(te!=null)
- {
- if(te==se)
- return false;
- try
- {
- te=te.parentNode;
- }
- catch(exc)
- {
- break;
- }
- }
- se._hasMouse=false;
- return true;
- }
-
- function igtbl_headerMouseOver(evnt,gn)
- {
- if(!evnt && event)
- evnt=event;
- if(!evnt)
- return false;
- var se=igtbl_srcElement(evnt);
- if(!se)
- return;
- var column;
- if(se.tagName=="NOBR")
- {
- column=igtbl_getColumnById(se.parentNode.id);
- if(column)
- {
- var nobr=se;
- var showTitle = nobr.offsetWidth>se.parentNode.offsetWidth || nobr.offsetHeight>se.parentNode.offsetHeight;
- if(showTitle)
- {
- nobr.title=column.HeaderText;
- }
- }
- }
- else
- column=igtbl_getColumnById(se.id);
- if(!column) return;
- var gs=column.Band.Grid;
- if(!gn)
- gn=gs.Id;
- gs.event=evnt;
- igtbl_lastActiveGrid=gn;
- while(se && (se.tagName!="TH" || se.id.length<gn.length || se.id.substr(0,gn.length)!=gn) && (se.tagName!="DIV" || !se.getAttribute("groupInfo")))
- se=se.parentNode;
- if(!se)
- return;
- if(se.tagName!="DIV")
- {
- while(se && (se.tagName!="TH" || se.id.length<gn.length || se.id.substr(0,gn.length)!=gn))
- se=se.parentNode;
- if(!se)
- return;
- }
- if(se._hasMouse)return;
- if(se.tagName == "TH")
- {
- var column=igtbl_getColumnById(se.id);
- if(!column) return;
- se._hasMouse=true;
- igtbl_fireEvent(gn,gs.Events.MouseOver,"(\""+gn+"\",\""+se.id+"\",1)");
- }
- else if(se.tagName == "DIV" && se.getAttribute("groupInfo"))
- {
- se._hasMouse=true;
- igtbl_fireEvent(gn,gs.Events.MouseOver,"(\""+gn+"\",\""+se.id+"\",1)");
- }
- }
-
- function igtbl_headerMouseMove(evnt,gn)
- {
- if(!evnt && event)
- evnt=event;
- if(!gn && igtbl_lastActiveGrid)
- gn=igtbl_lastActiveGrid;
- if(!gn || !evnt)
- return false;
- var gs=igtbl_getGridById(gn);
- var se=igtbl_srcElement(evnt);
- if(!gs || !se || gs.isDisabled())
- return false;
- gs.event=evnt;
- while(se && (se.tagName!="TH" || se.id.length<gn.length || se.id.substr(0,gn.length)!=gn) && (se.tagName!="DIV" || !se.getAttribute("groupInfo")))
- se=se.parentNode;
- if(!se)
- return;
- if(se.tagName == "TH")
- {
- var column=igtbl_getColumnById(se.id);
- if(!column) return;
- var bandNo=column.Band.Index;
- var columnNo=column.Index;
-
- if(igtbl_button(gn,evnt)==0 || gs.Element.getAttribute("mouseDown") )
- {
- var mode = gs.Element.getAttribute("elementMode");
- if(mode!=null && mode=="resize")
- igtbl_resizeDivMouseMove(evnt);
- else if(mode=="select" && igtbl_getHeaderClickAction(gn,bandNo,columnNo)==1 && !evnt.ctrlKey)
- igtbl_selectColumnRegion(gn,se);
- else
- {
- var cursorName = se.getAttribute("oldCursor");
- if(cursorName != null)
- {
- se.style.cursor=cursorName;
- se.removeAttribute("oldCursor");
- }
- if(igtbl_getHeaderClickAction(gn,bandNo,columnNo)!=1 || gs.SelectedColumns[se.id] || igtbl_getSelectTypeColumn(gn,bandNo)<2)
- if(column.AllowGroupBy==1 && gs.ViewType==2 && gs.GroupByBox.Element || column.Band.AllowColumnMoving>1)
- {
- if(se.getAttribute("justClicked"))
- {
- if(typeof(igtbl_headerDragStart)!="undefined")
- igtbl_headerDragStart(gn,se,evnt);
- }
- else
- igtbl_changeStyle(gn,se,null);
- }
- }
- if(se.getAttribute("justClicked"))
- se.removeAttribute("justClicked");
- if(column.TemplatedColumn&1 && se!=igtbl_srcElement(evnt))
- return;
- igtbl_cancelEvent(evnt);
- return true;
- }
- else
- {
- var c,te=gs.Element;
- te.removeAttribute("elementMode");
- te.removeAttribute("resizeColumn");
- te.removeAttribute("selectMethod");
- if(!te.getAttribute("shiftSelect"))
- te.removeAttribute("startColumn");
- if(igtbl_getOffsetX(evnt,se)>igtbl_clientWidth(se)-4 && igtbl_getAllowColSizing(gn,bandNo,columnNo)==2)
- {
- if(se.getAttribute("oldCursor")==null)
- se.setAttribute("oldCursor", se.style.cursor);
- se.style.cursor="w-resize";
- if((c=se.firstChild)!=null)if((c=c.firstChild)!=null)if((c=c.style)!=null)c.cursor="w-resize";
- }
- else
- {
- var cursorName = se.getAttribute("oldCursor");
- if(cursorName != null)
- {
- se.style.cursor=cursorName;
- se.removeAttribute("oldCursor");
- if((c=se.firstChild)!=null)if((c=c.firstChild)!=null)if((c=c.style)!=null)c.cursor=cursorName;
- }
- }
- }
- if(se.getAttribute("justClicked"))
- se.removeAttribute("justClicked");
- if(column.TemplatedColumn&1 && se!=igtbl_srcElement(evnt))
- return;
- }
- else if(se.tagName == "DIV" && se.getAttribute("groupInfo"))
- {
- var groupInfo=se.getAttribute("groupInfo").split(":");
- if(groupInfo[0]!="band")
- {
-
- if(igtbl_button(gn,evnt)==0 || gs.Element.getAttribute("mouseDown"))
- {
- var cursorName = se.getAttribute("oldCursor");
- if(cursorName != null)
- {
- se.style.cursor=cursorName;
- se.removeAttribute("oldCursor");
- }
- igtbl_changeStyle(gn,se,null);
- if(gs.ViewType==2 && se.getAttribute("justClicked") && typeof(igtbl_headerDragStart)!="undefined")
- igtbl_headerDragStart(gn,se,evnt);
- }
- }
- if(se.getAttribute("justClicked"))
- se.removeAttribute("justClicked");
- return true;
- }
- return false;
- }
-
- function igtbl_tableMouseMove(evnt,gn)
- {
- var gs=igtbl_getGridById(gn);
- var se=igtbl_srcElement(evnt);
- if(!gs || !se || gs.isDisabled())
- return false;
- gs.event=evnt;
- var te=gs.Element;
- if(igtbl_button(gn,evnt)==0 && te.getAttribute("elementMode")=="resize")
- {
- if((se.id==gn+"_div" || se.id==gn+"_hdiv" || se.tagName=="TABLE" && se.parentNode.parentNode.getAttribute("hiddenRow")))
- {
- igtbl_resizeDivMouseMove(evnt);
-
- return igtbl_cancelEvent(evnt);
- }
- else if(te.getAttribute("resizeRow") && (se.id==gn+"_div" || se.tagName=="TH" && se.parentNode.parentNode.tagName=="TFOOT" || se.tagName=="TD" && se.parentNode.getAttribute("hiddenRow")))
- {
- if(typeof(te.parentNode.oldCursor)!="string")
- {
- te.parentNode.oldCursor=te.parentNode.style.cursor;
- te.parentNode.style.cursor="n-resize";
- }
- var rowId=te.getAttribute("resizeRow");
- var row=igtbl_getElementById(rowId);
- if(!row || row.getAttribute("hiddenRow"))
- return;
- var r1h=row.offsetHeight+(evnt.clientY-(igtbl_getTopPos(row)+row.offsetHeight));
- igtbl_resizeRow(gn,rowId,r1h);
- return igtbl_cancelEvent(evnt);
- }
- else if(se.tagName=="TR" && se.getAttribute("hiddenRow") || se.id==gn+"_drs")
- {
- igtbl_resizeDivMouseMove(evnt);
- return igtbl_cancelEvent(evnt);
- }
- }
- else if(te.parentNode && typeof(te.parentNode.oldCursor)=="string")
- {
- te.parentNode.style.cursor=te.parentNode.oldCursor;
- if(gs.StatHeader)
- gs.StatHeader.Element.parentNode.parentNode.style.cursor=te.parentNode.oldCursor;
- te.parentNode.oldCursor=null;
- }
- if(se==te || se==gs.DivElement || se.tagName=="TH")
- igtbl_colButtonMouseOut(evnt,gn);
- }
-
- function igtbl_clearResizeDiv(gs,evnt,noForce)
- {
- gs.Element.removeAttribute("elementMode");
- gs.Element.removeAttribute("resizeColumn");
-
- var resizeDiv=document.body.igtbl_resizeDiv;
- if(resizeDiv)
- {
- resizeDiv.style.display="none";
- if(!noForce)
- igtbl_resizeDivMouseUp(evnt);
- }
- gs.Element.removeAttribute("mouseDown");
- }
-
- function igtbl_tableMouseUp(evnt,gn)
- {
- var gs=igtbl_getGridById(gn);
- if(!gs || gs.isDisabled())
- return false;
-
- if (ig_csom.IsFireFox && gs.Element.getAttribute("elementMode")=="resize")
- {
- igtbl_resizeDivMouseUp(evnt)
- return true;
- }
- gs.event=evnt;
- var se=igtbl_srcElement(evnt);
- if(!se) return;
- if(se==gs._editorCurrent)return;
-
- if(gs.Element.getAttribute("elementMode")=="resize")
- {
- if(se.id==gn+"_div")
- {
-
- igtbl_clearResizeDiv(gs,evnt);
-
-
-
- }
- else if(se.tagName=="TR" && se.getAttribute("hiddenRow") || se.id==gn+"_drs")
- igtbl_resizeDivMouseUp(evnt);
- }
- var ar=gs.getActiveRow();
- if(ar && !igtbl_isAChildOfB(se,ar.Element))
- {
- gs.endEdit();
- if(ar.IsAddNewRow)
- ar.commit();
- else
- if(ar._dataChanged && ar._dataChanged>1)
- ar.processUpdateRow();
- }
- igtbl_activate(gn);
- }
-
- function igtbl_resizeColumn(gn,colId,width)
- {
- var gs=igtbl_getGridById(gn);
- if(!gs)
- return false;
- var col=igtbl_getColumnById(colId);
- if(!col)
- return false;
- return col.setWidth(width);
- }
-
- function igtbl_selectColumnRegion(gn,se)
- {
- var gs=igtbl_getGridById(gn);
- if(!gs)
- return;
- var te=gs.Element;
- var lastSelectedColumn=te.getAttribute("lastSelectedColumn");
- var selMethod=te.getAttribute("selectMethod");
- if(selMethod=="column" && se.id!=lastSelectedColumn)
- {
- var startColumn=igtbl_getColumnById(te.getAttribute("startColumn"));
- if(startColumn==null)
- startColumn=igtbl_getColumnById(se.id);
- var endColumn=igtbl_getColumnById(se.id);
- if(endColumn.Band.getSelectTypeColumn()==3)
- gs.selectColRegion(startColumn,endColumn);
- else
- {
- igtbl_clearSelectionAll(gn);
- igtbl_selectColumn(gn,se.id);
- }
- gs.Element.setAttribute("lastSelectedColumn",se.id);
- }
- }
-
- function igtbl_resizeRow(gn,rowId,height)
- {
- var gs=igtbl_getGridById(gn);
- if(!gs)
- return;
- var row=igtbl_getRowById(rowId);
- if(!row)
- return;
- if(height>0)
- {
- var cancel=false;
- if(igtbl_fireEvent(gn,gs.Events.BeforeRowSizeChange,"(\""+gn+"\",\""+row.Element.id+"\","+height+")")==true)
- cancel=true;
- if(!cancel)
- {
- var origOffsetHeight=row.Element.offsetHeight;
- var rowLabel=null;
- if(!row.GroupByRow && igtbl_getRowSelectors(gn,row.Band.Index)!=2)
- rowLabel=row.Element.cells[row.Band.firstActiveCell-1];
- if(!row._origHeight)
- row._origHeight=row.Element.offsetHeight;
- row.Element.style.height=height;
- gs._removeChange("ResizedRows",row);
- gs._recordChange("ResizedRows",row,height);
- if(rowLabel)
- rowLabel.style.height=height;
- if(gs.UseFixedHeaders)
- {
- var i=0;
- var rowElCells=row.Element.cells;
- while(i<rowElCells.length && (!rowElCells[i].firstChild || rowElCells[i].firstChild.id!=gn+"_drs")) i++;
- if(i<rowElCells.length)
- {
- var td=rowElCells[i];
- td.firstChild.firstChild.rows[0].style.height=height;
- if(gs.IsXHTML && height>row._origHeight)
- {
- if(rowLabel)
- td.style.height=height+rowLabel.offsetHeight-rowLabel.clientHeight;
- else
- td.style.height=height;
- }
- }
- }
- gs.alignGrid();
- igtbl_fireEvent(gn,gs.Events.AfterRowSizeChange,"(\""+gn+"\",\""+row.Element.id+"\","+height+")");
- }
- }
- }
-
- function igtbl_cellClickDown(evnt,gn)
- {
- var gs=igtbl_getGridById(gn);
- if(!gs || gs.isDisabled())
- return;
- gs.event=evnt;
- igtbl_lastActiveGrid=gn;
- gs._mouseDown=1;
- gs.Element.setAttribute("mouseDown","1");
- var se=igtbl_srcElement(evnt);
- if(se.tagName=="IMG" && se.getAttribute("imgType")=="expand")
- return;
- if(!se||se==gs._editorCurrent)return;
- if(se.id==gn+"_vl"){if(gs._focusElem)ig_cancelEvent(evnt);return;}
- if(se.id==gn+"_tb" || se.id==gn+"_ta")
- return;
- var sel=igtbl_getElementById(gn+"_vl");
- if(sel && sel.style.display=="" && sel.getAttribute("noOnBlur"))
- return igtbl_cancelEvent(evnt);
-
- var parentCell=igtbl_getParentCell(se);
- if(!ig_csom.IsNetscape6 || !((se.tagName=="INPUT" && se.type=="text" || se.tagName=="TEXTAREA") && parentCell && parentCell.Column.TemplatedColumn&2))
- ig_cancelEvent(evnt);
- while(se && !(se.tagName=="TD"
- ))
- se=se.parentNode;
- if(!se)
- return;
- if(se.tagName=="TD"
- )
- {
- var row;
- var cell=igtbl_getCellByElement(se);
- var id=gs._mouseID=se.id;
- if(cell)
- {
- row=cell.Row;
- id=cell.Element.id;
- }
- else row=igtbl_getRowById(id);
- if(!row && !cell) return;
- var fac=row.Band.firstActiveCe…
Large files files are truncated, but you can click here to view the full file