📄 igf_ui.js
字号:
// (c) 2007 Infragistics - Do NOT modify the content of this file
// Version 8.1.20081.1004
if(ig){if(!ig.ui){function IgUI(){this.state=0;this.STATE_IDLE=0;this.STATE_DRAG=1;this.STATE_RESIZE=2;this.COMMAND_MOUSE_DOWN=0;this.COMMAND_MOUSE_MOVE=1;this.COMMAND_MOUSE_UP=2;this.COMMAND_MOUSE_ENTER=3;this.COMMAND_MOUSE_LEAVE=4;this.COMMAND_CLICK=5;this.COMMAND_KEYDOWN=6;this.COMMAND_KEYPRESS=7;this.mouseOverElement=null;this.mouseOverUIElement=null;this.mouseDownX=0;this.mouseDownY=0;this.mouseDownTarget=null;this.dragShadow=null;this.ACTION_DRAG=1;this.PROP_FLOATING="ofltng";this.PROP_DRAGGABLE="odrggbl";this.PROP_DRAGGABLE_VIA_HANDLE="odrggblvh";this.PROP_DRAG_HANDLE="odrghdl";this.PROP_DRAG_MODE="odrgmd";this.PROP_RESIZABLE="orszbl";this.DRAG_MODE_DRAG="drag";this.DRAG_MODE_MOVE="move";this.DRAG_SHADOW="oddds";this.BOX_MARGIN=0;this.BOX_BORDER=1;this.BOX_PADDING=2;this.BOX_CONTENT=3;this.COMPAT_BACK=0;this.COMPAT_CSS1=1;this.selectedNodes=new ig.ArrayList();this.document=null;this.dragMode=null;this.dragSources=new ig.ArrayList();this.dropTarget=null;this.hoveredElement=null;this.activeComponent=null;this.x=null;this.y=null;this.lastX=null;this.lastY=null;this.lastX=null;this.lastY=null;this.isMouseDown=false;this.alignColumns=function(tables,cws){var rowWidth=0;if(ig.isArray(tables)&&tables.length>1&&ig.isArray(cws)){for(var i=0;i<cws.length;i++){this.setColWidth(tables,i,cws[i]);rowWidth=rowWidth+cws[i];}}
return rowWidth;};this.clearSelection=function(){if(document.selection&&document.selection.empty){document.selection.empty();}
else{if(window.getSelection&&window.getSelection().removeAllRanges){window.getSelection().removeAllRanges();}}};this.createDragEventArg=function(){var o=new Object();o.x=this.x;o.y=this.y;return o;};this.getColCount=function(table){var r=0;if(!ig.isNull(table)){var tr=table.rows[0];if(!ig.isNull(tr)){r=tr.cells.length;}}
return r;};this.getDocument=function(){var r=ig.document;if(ig.isNull(r)){r=document;}
return r;};this.getDocumentBody=function(){var r=ig.ui.getDocument().body;if(ig.isNull(r)){r=ig.ui.getDocument().getElementsByTagName("body")[0];}
return r;};this.getMaxColWidths=function(table){var cws=new Array();if(!ig.isNull(table)){for(var i=0;i<table.rows.length;i++){var row=table.rows[i];for(var j=0;j<row.cells.length;j++){var cell=ig.getUIElementById(row.cells[j]);var cs=cell.elm.colSpan;if(cs<=1){var cw=cell.getWidth();if(j>=cws.length){cws[j]=cw;}
else{if(cw>cws[j]){cws[j]=cw;}}}}}}
return cws;};this.getColumn=function(table,i){var result=null;if(!ig.isNull(table)){var r=table.rows[0];if(!ig.isNull(r)){result=ig.getUIElementById(r.cells[i]);}}
return result;};this.getRow=function(table,i){var result=null;if(!ig.isNull(table)){var r=table.rows[i];if(!ig.isNull(r)){result=ig.getUIElementById(r);}}
return result;};this.doDragStart=function(e){if(ig.ui.isMouseDown){if(ig.ui.selectedNodes.size()>0){var fn=ig.ui.selectedNodes.get(0);if(!ig.isNull(fn)){if(fn.getDragMode()===ig.ui.DRAG_MODE_MOVE){fn.dragDrop();}
else{var deltaX=Math.abs(ig.ui.x-ig.ui.mouseDownX);var deltaY=Math.abs(ig.ui.y-ig.ui.mouseDownY);if(deltaX>10||deltaY>10){for(var i=0;i<ig.ui.selectedNodes.size();i++){var node=ig.ui.selectedNodes.get(i);if(!ig.isNull(node)){node.dragDrop();}}}}}}}};this.doDragMove=function(e){for(var i=0;i<this.dragSources.size();i++){var n=ig.getUIElementById(this.dragSources.get(i));n.onDrag(e);}
if(!ig.isNull(this.dropTarget)){var dea=ig.ui.createDragEventArg();this.dropTarget.onDragOver(dea);}};this.doDragEnd=function(e){for(var i=0;i<this.dragSources.size();i++){var n=ig.getUIElementById(this.dragSources.get(i));n.onDragEnd();}
if(!ig.isNull(ig.ui.dropTarget)){ig.ui.dropTarget.hideDropCaret();var dea=ig.ui.createDragEventArg();ig.ui.dropTarget.onDrop(dea,ig.ui.dragSources);}
ig.ui.dropTarget=null;this.dragSources.clear();this.action=null;this.dragMode=null;};this.focus=function(elm){elm=ig.getElementById(elm);if(!ig.isNull(elm)){if(elm.focus){elm.focus();}}};this.getHoveredElement=function(){return this.hoveredElement;};this.getDraggableTarget=function(n){var r=null;var t=ig.getTargetUIElement(n);if(!ig.isNull(t)){if(t.isDraggable()){if(!(t.isDraggableViaHandle()&&!t.isDragHandle())){r=t;}}
else{var p=ig.getTargetUIElement(t.elm.parentNode);if(!ig.isNull(p)){if(p.isDraggable()){if(!(p.isDraggableViaHandle()&&!p.isDragHandle())){r=p;}
else{if(!(p.isDraggableViaHandle()&&!t.isDragHandle())){r=p;}}}}}}
return r;};this.getResizeMode=function(target,x,y){if(!target){return 0;}
var posn=target.getPagePosition();var size=target.getSize();var left=x<(posn.x+10);var bottom=y>(posn.y+size.height-10);var right=x>(posn.x+size.width-10);var top=y<(posn.y+10);return target.getResizeMode(left,bottom,right,top);};this.getResizableTarget=function(elm,x,y){var target=null;for(target=ig.getTargetUIElement(elm);target;target=ig.getTargetUIElement(target.elm.parentNode)){if(ig.ui.getResizeMode(target,x,y)!==0){return target;}}
return null;};this.init=function(){ig.factory.addClass("Link",IgLink);ig.factory.addClass("HeaderLink",IgHeaderLink);ig.factory.addClass("PagerLink",IgPagerLink);ig.factory.addClass("UIComponent",IgUIComponent);ig.factory.addClass("UIElement",IgUIElement);ig.factory.addClass("Popup",IgPopup);ig.addEventListener(document,ig.event.EVENT_MOUSEDOWN,ig.ui.onMouseDown,true);ig.addEventListener(document,ig.event.EVENT_MOUSEMOVE,ig.ui.onMouseMove,false);ig.addEventListener(document,ig.event.EVENT_MOUSEOVER,ig.ui.onMouseOver,false);ig.addEventListener(document,ig.event.EVENT_MOUSEUP,ig.ui.onMouseUp,false);ig.addEventListener(document,ig.event.EVENT_CLICK,ig.ui.onClick,false);ig.addEventListener(document,ig.event.EVENT_DOUBLECLICK,ig.ui.onDoubleClick,false);ig.addEventListener(document,ig.event.EVENT_KEYDOWN,ig.ui.onKeyDown,false);ig.addEventListener(document,ig.event.EVENT_KEYPRESS,ig.ui.onKeyPress,false);};this.getResizeCursor=function(resizeMode){var c=null;switch(resizeMode){case 0:c="default";break;case 1:c="w-resize";break;case 2:c="s-resize";break;case 4:c="e-resize";break;case 8:c="n-resize";break;case 3:c="sw-resize";break;case 9:c="nw-resize";break;case 6:c="se-resize";break;case 12:c="ne-resize";break;default:c="move";}
return c;};this.onIdleTransition=function(transition,evt){var target=null;switch(transition){case ig.ui.COMMAND_MOUSE_DOWN:if(!ig.isNull(ig.ui.resizeTarget)){evt.preventDefault();ig.ui.cancelClick=true;ig.ui.state=ig.ui.STATE_RESIZE;ig.ui.resizeTarget.doResizeBegin();return null;}
if(!ig.isNull(ig.ui.dragTarget)){ig.ui.cancelClick=false;ig.ui.state=ig.ui.STATE_DRAG;ig.ui.selectedNodes.add(ig.ui.dragTarget);ig.ui.doDragStart(evt);return null;}
return null;case ig.ui.COMMAND_MOUSE_ENTER:target=ig.getTargetUIElement(evt.target);if(!ig.isNull(target)&&target.isEnabled(target)){target.onMouseEnter(evt);}
return null;case ig.ui.COMMAND_MOUSE_MOVE:ig.ui.resizeTarget=ig.ui.getResizableTarget(evt.target,evt.pageX,evt.pageY);ig.ui.dragTarget=null;if(!ig.isNull(ig.ui.resizeTarget)){ig.ui.resizeMode=ig.ui.getResizeMode(ig.ui.resizeTarget,evt.pageX,evt.pageY);ig.ui.resizeTarget.updateCursor();return null;}
ig.ui.dragTarget=ig.ui.getDraggableTarget(evt.target);if(!ig.isNull(ig.ui.dragTarget)){ig.ui.dragTarget.repaint();ig.ui.dragTarget.updateCursor();return null;}
return null;case ig.ui.COMMAND_MOUSE_LEAVE:target=ig.getTargetUIElement(evt.target);if(!ig.isNull(target)&&target.isEnabled()){ig.ui.resizeTarget=null;ig.ui.dragTarget=null;document.body.style.cursor="auto";target.onMouseLeave(evt);}
return null;case ig.ui.COMMAND_CLICK:target=ig.getTargetUIElement(evt.target);if(!ig.isNull(target)){if(target.isEnabled()){return target.onClick(evt);}
else{evt.preventDefault();}}
return null;case ig.ui.COMMAND_KEYDOWN:target=ig.getTargetUIElement(evt.target);if(!ig.isNull(target)){if(target.isEnabled()||(evt.keyCode===evt.KEY_TAB)){return target.onKeyDown(evt);}
else{evt.preventDefault();}}
if(!ig.isNull(ig.ui.activeComponent)){ig.ui.activeComponent.onKeyDown(evt);}
return null;case ig.ui.COMMAND_KEYPRESS:target=ig.getTargetUIElement(evt.target);if(!ig.isNull(target)){if(target.isEnabled()||(evt.keyCode===evt.KEY_TAB)){return target.onKeyPress(evt);}
else{evt.preventDefault();}}
if(!ig.isNull(ig.ui.activeComponent)){ig.ui.activeComponent.onKeyPress(evt);}
return null;case ig.ui.COMMAND_DOUBLECLICK:target=ig.getTargetUIElement(evt.target);if(!ig.isNull(target)){if(target.isEnabled()){return target.onDoubleClick(evt);}
else{evt.preventDefault();}}
return null;default:break;}
return null;};this.onDragTransition=function(transition,evt){var ret=null;switch(transition){case ig.ui.COMMAND_MOUSE_MOVE:if(ig.ui.action===ig.ui.ACTION_DRAG){return ig.ui.doDragMove(evt);}
else{return ig.ui.doDragStart(evt);}
break;case ig.ui.COMMAND_MOUSE_UP:ig.ui.state=ig.ui.STATE_IDLE;document.body.style.cursor="auto";if(ig.ui.action===ig.ui.ACTION_DRAG){ig.ui.doDragEnd(evt);ig.ui.cancelClick=true;}
return null;case ig.ui.COMMAND_MOUSE_ENTER:if(ig.ui.action===ig.ui.ACTION_DRAG){var target=ig.getTargetUIElement(evt.target);if(!ig.isNull(target)&&target.isDragSourceAccepted(ig.ui.dragSources)){ig.ui.dropTarget=target;ig.ui.dropTarget.onDragEnter(ig.ui.createDragEventArg());}}
return null;case ig.ui.COMMAND_MOUSE_LEAVE:if(ig.ui.action===ig.ui.ACTION_DRAG){if(!ig.isNull(ig.ui.dropTarget)){ig.ui.dropTarget.onDragLeave(ig.ui.createDragEventArg());ig.ui.dropTarget=null;}}
return null;default:break;}
return null;};this.onResizeTransition=function(transition,evt){evt.preventDefault();switch(transition){case ig.ui.COMMAND_MOUSE_MOVE:ig.ui.resizeTarget.doResizeMove(evt);break;case ig.ui.COMMAND_MOUSE_UP:ig.ui.resizeTarget.doResizeEnd(evt);ig.ui.state=ig.ui.STATE_IDLE;document.body.style.cursor="auto";break;case ig.ui.COMMAND_KEYDOWN:ig.ui.resizeTarget.doResizeStop();ig.ui.state=ig.ui.STATE_IDLE;document.body.style.cursor="auto";break;default:break;}
return null;};this.onStateTransition=function(transition,evt){switch(ig.ui.state){case ig.ui.STATE_IDLE:return this.onIdleTransition(transition,evt);case ig.ui.STATE_RESIZE:return this.onResizeTransition(transition,evt);case ig.ui.STATE_DRAG:return this.onDragTransition(transition,evt);default:return null;}};this.onClick=function(e){if(ig.ui.cancelClick){ig.ui.cancelClick=false;return false;}
return ig.ui.onStateTransition(ig.ui.COMMAND_CLICK,ig.toEvent(e));};this.onDoubleClick=function(e){return ig.ui.onStateTransition(ig.ui.COMMAND_DOUBLECLICK,ig.toEvent(e));};this.onKeyDown=function(e){return ig.ui.onStateTransition(ig.ui.COMMAND_KEYDOWN,ig.toEvent(e));};this.onKeyPress=function(e){return ig.ui.onStateTransition(ig.ui.COMMAND_KEYPRESS,ig.toEvent(e));};this.onMouseOver=function(e){var evt=ig.toEvent(e);var mouseOverElement=evt.target;var mouseOverUIElement=ig.getTargetUIElement(mouseOverElement);if(!ig.isNull(mouseOverUIElement)&&mouseOverUIElement.equals(ig.ui.mouseOverUIElement)){return null;}
if(!ig.isNull(ig.ui.mouseOverElement)){evt.target=ig.ui.mouseOverElement;ig.ui.onStateTransition(ig.ui.COMMAND_MOUSE_LEAVE,evt);}
ig.ui.mouseOverElement=mouseOverElement;ig.ui.mouseOverUIElement=mouseOverUIElement;if(!ig.isNull(ig.ui.mouseOverElement)){evt.target=ig.ui.mouseOverElement;ig.ui.onStateTransition(ig.ui.COMMAND_MOUSE_ENTER,evt);}
return null;};this.onMouseDown=function(e){var evt=ig.toEvent(e);ig.ui.mouseDownX=evt.pageX;ig.ui.mouseDownY=evt.pageY;ig.ui.isMouseDown=true;ig.ui.selectedNodes.clear();ig.ui.setActiveComponent(null);return ig.ui.onStateTransition(ig.ui.COMMAND_MOUSE_DOWN,evt);};this.onMouseMove=function(e){var evt=ig.toEvent(e);ig.ui.x=evt.pageX;ig.ui.y=evt.pageY;var ret=ig.ui.onStateTransition(ig.ui.COMMAND_MOUSE_MOVE,evt);ig.ui.lastX=evt.pageX;ig.ui.lastY=evt.pageY;return ret;};this.onMouseUp=function(e){return ig.ui.onStateTransition(ig.ui.COMMAND_MOUSE_UP,ig.toEvent(e));};this.onScroll=function(e){var evt=ig.toEvent(e);var t=ig.getTargetUIElement(evt.target);if(!ig.isNull(t)){if(t.isEnabled()){t.onScroll();}}};this.onScrollTimer=function(e){var evt=ig.toEvent(e);var t=ig.getTargetUIElement(evt.target);if(!ig.isNull(t)){if(t.isEnabled()){if(!ig.NaES(t.getAttribute("igsip"))){t.setAttribute("igsip","true");window.setTimeout("ig.ui.onScrollTimer2(\""+t.elm.id+"\")",100);}}}};this.onScrollTimer2=function(id){var t=ig.getUIElementById(id);if(!ig.isNull(t)){if(ig.NaES(t.getAttribute("igsip"))){t.onScroll();t.setAttribute("igsip","");}}};this.setColWidth=function(tables,ci,w){if(!ig.isNull(tables)){for(var i=0;i<tables.length;i++){var col=this.getColumn(tables[i],ci);if(!ig.isNull(col)){col.setSize(w);}}}};this.setHoveredElement=function(e){var pe=this.getHoveredElement();this.hoveredElement=e;if(!ig.isNull(pe)){pe.repaint();}
if(!ig.isNull(e)){e.repaint();}};this.toBoxingModelIndex=function(bm){var r=-1;if(bm=="margin-box"){r=ig.ui.BOX_MARGIN;}
else if(bm=="border-box"){r=ig.ui.BOX_BORDER;}
else if(bm=="padding-box"){r=ig.ui.BOX_PADDING;}
else if(bm=="content-box"){r=ig.ui.BOX_CONTENT;}
return r;};this.getActiveComponent=function(){return this.activeComponent;}
this.setActiveComponent=function(component){this.activeComponent=component;}}
ig.ui=new IgUI();function IgRect(x,y,width,height){this.x=ig.toFloat(x);this.y=ig.toFloat(y);this.width=ig.toFloat(width);this.height=ig.toFloat(height);}
function IgDomNode(e){this.elm=e;};IgDomNode.prototype.addEventListener=function(anEvent,aListener,useCapture){ig.addEventListener(this.elm,anEvent,aListener,useCapture);};IgDomNode.prototype.clone=function(bkids){if(ig.isNull(bkids)){bkids=false;}
var cn=ig.getUIElementById(this.elm.cloneNode(bkids));cn.hide();var pn=this.elm.parentNode;pn.appendChild(cn.elm);return cn;};IgDomNode.prototype.createDragShadow=function(){var h=this.getOuterHtml();var w=this.getWidth()+4;if(this.elm.nodeName=="TD"||this.elm.nodeName=="TH"){h="<table width='"+w+"'><tr>"+h+"</tr></table>";}
if(this.elm.nodeName=="TR"){h="<table width='"+w+"'>"+h+"</table>";}
var d=new IgPopup(ig.ui.getDocument().createElement("div"));d.elm.innerHTML=h;d.setOpacity(0.8);ig.ui.getDocumentBody().appendChild(d.elm);this.elm.oddds=d.elm;return d;};IgDomNode.prototype.click=function(){};IgDomNode.prototype.remove=function(){var pn=this.elm.parentNode;if(!ig.isNull(pn)){pn.removeChild(this.elm);this.elm=null;}};IgDomNode.prototype.dragDrop=function(){if(ig.isNull(ig.ui.action)){ig.ui.clearSelection();ig.ui.action=ig.ui.ACTION_DRAG;ig.ui.dragMode=this.getDragMode();}
ig.ui.dragSources.add(this.elm);this.onDragStart();};IgDomNode.prototype.equals=function(n){return(!ig.isNull(n))&&(this.elm===n.elm);};IgDomNode.prototype.getAttribute=function(attrn){return ig.getAttribute(this.elm,attrn);};IgDomNode.prototype.getBorder=function(w){var s=0;if(ig.NaES(w)){if(w=="width"){s=this.getBorder("left")+this.getBorder("right");}
else if(w=="height"){s=this.getBorder("top")+this.getBorder("bottom");}
else{w="border-"+w+"-width";s=this.getStyleAsFloat(w);}}
return s;};IgDomNode.prototype.getChildUIElements=function(type){var r=new ig.ArrayList();var cn=this.elm.childNodes;for(var i=0;i<cn.length;i++){var c=cn[i];if(ig.getAttribute(c,"otype")==type){r.add(ig.getUIElementById(c));}}
return r;};IgDomNode.prototype.getStyle=function(p){var result=null;if(ig.NaES(p)){result=this.getStyleInline(p);if(!ig.NaES(result)){if(this.elm.currentStyle){var pc=ig.camelize(p);result=this.elm.currentStyle[pc];}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -