📄 ig_webtoolbar2_2.js
字号:
/*
* Infragistics Toolbar Script
* Version 5.1.20051.37
* Copyright (c) 2003-2005 Infragistics, Inc. All Rights Reserved.
*/
if(typeof(igtbr_state) != "object")
var igtbr_state = new Object();
function igtbar_initialize(tbName)
{
this.loading = true;
igtbr_state[tbName] = this;
var id = eval(tbName + "UniqueID");
this.UniqueId = id;
while(id.indexOf(":") > 0) id = id.replace(":", "_");
this.clientId = id;
id = "igtbar_" + tbName;
var propArray = eval(id + "_Props");
var itemsArray = eval(id + "_Items");
this.ClientSideEvents = new igtbar_initEvents(eval(id + "_Events"));
this.Id=tbName;
this.Element=ig_csom.getElementById(tbName);
this.OnTop=propArray[0];
this.Enabled=propArray[1];
this.PostBackButton=propArray[2];
this.PostBackGroup=propArray[3];
this.Items=new Array();
this.Items.fromKey = function (key) {
for(i=0; i<this.length; i++)
if(this[i].Key == key)
return this[i];
return null;
}
this.addLsnr = function(e, item)
{
if(e == null) return;
e.owner = item;
ig_csom.addEventListener(e, "keyup", igtbar_evt);
if(item.Type == 4){ig_csom.addEventListener(e, "change", igtbar_evt); return;}
//ig_csom.addEventListener(e, "selectstart", ig_cancelEvent);
ig_csom.addEventListener(e, "keydown", igtbar_evt);
ig_csom.addEventListener(e, "focus", igtbar_evt);
}
for(var i=0;i<itemsArray.length;i++)
{
var item=new igtbar_initItem(this,itemsArray[i],i);
item.i = i;
this.Items[i]=item;
id = tbName+"_Item_"+i;
var e = ig_csom.getElementById(id);
if(e!=null) {
item.Element=e;
this.addLsnr(e, item);
}
item.Id=id;
}
this.update = function(item, p, v)
{
if(this.elemState == null) if((this.elemState = ig_csom.getElementById(this.Id + "_hidden")) == null)
return;
if(this.state == null) this.state = new ig_xmlNode();
var n = this.state.addNode("x", true);
if(item != null)
{
n = n.addNode("Items", true).addNode("i" + (item.IsGroupButton ? item.Parent.i : item.i), true);
if(item.IsGroupButton)
n = n.addNode("Buttons", true).addNode("i" + item.i, true);
}
n.setPropertyValue(p, "" + v);
this.elemState.value = this.state.getText();
}
this.loading = false;
this.firedClick = false;
ig.addEventListener(window,"unload",igtbar_onUnload,false);
ig_fireEvent(this,this.ClientSideEvents.InitializeToolbar,new ig_EventObject());
}
function igtbar_onUnload(){
ig_dispose(igtbr_state);
}
function igtbar_initItem(tb,item,index)
{
this.Toolbar=tb;
this.Type=item[0];
if(this.Type==0) // Button
{
this.Selected=item[1];
this.Enabled=item[2];
this.serverEnabled=item[2];
this.ToggleButton=item[3];
this.DefaultStyleClassName=item[4];
this.HoverStyleClassName=item[5];
this.SelectedStyleClassName=item[6];
this.DefaultImage=item[7];
this.HoverImage=item[8];
this.SelectedImage=item[9];
this.DisabledImage=item[10];
this.AutoPostBack=item[11];
this.Key=item[12];
this.Tag=item[13];
this.isVisible=item[14];
this.IsGroupButton=false;
this.getText=function(){
var e = igtbar_getTextElem(this.Element);
return (e == null) ? null : ig_csom.getText(e);
}
this.setText=function(text){
var e = igtbar_getTextElem(this.Element);
if(e!=null)
{
this.Toolbar.update(this, "Text", text);
ig_csom.setText(e, text);
}
}
this.setTargetUrl=function(targetUrl){if(this.isVisible){this.Element.setAttribute("igUrl", targetUrl);}}
this.getTargetUrl=function(){return (this.isVisible)?this.Element.getAttribute("igUrl"):null;}
this.setTargetFrame=function(targetFrame){if(this.isVisible){this.Element.setAttribute("igFrame", targetFrame);}}
this.getTargetFrame=function(){return (this.isVisible)?this.Element.getAttribute("igFrame"):null;}
this.setEnabled=function(v)
{
if(this.Enabled == v) return;
this.Enabled = v;
if(this.isVisible){
this.Element.disabled = !v;
if(v && this.ToggleButton && this.Selected)
igtbar_SelectItem(this.Element);
else
igtbar_EnableItem(this.Element, v);
}
this.Toolbar.update(this, "Enabled", v ? "true" : "false");
}
this.getEnabled=function(){return this.Enabled;}
this.setSelected=function(bSelected){
if(bSelected!=this.Selected&&this.isVisible){
if(this.IsGroupButton)
igtbar_groupButtonDown(this.Element,null,true,this.Parent.Element.id,false);
else if(this.ToggleButton)
igtbar_toggleButtonState(this.Element,false);
}
}
this.getSelected=function(){return this.Selected;}
this.getVisible=function(){return this.isVisible;}
this.getPropertyEx=function(nm){
if(nm){
nm=nm.toLowerCase();
var fnd=false;
var i=14;
while(!fnd&&item.length>++i&&item[i]){
var pn;
try{pn=item[i].substr(1);}catch(ex){;}
fnd=(pn==nm);
++i;
}
if(fnd){return item[i];}
}
return nm;
}
this.setPropertyEx=function(nm,newVal){
if(nm){
nm=nm.toLowerCase();
var fnd=false;
var i=14;
while(!fnd&&item.length>++i&&item[i]){
var pn;
try{pn=item[i].substr(1);}catch(ex){;}
fnd=(pn==nm);
++i;
}
if(fnd){item[i]=newVal;}
}
}
}
else if(this.Type==1) // Button Group
{
this.Items=new Array();
this.Items.fromKey = function (key) {
for(i=0; i<this.length; i++) {
if(this[i].Key == key)
return this[i];
}
return null;
}
var i=0;
for(i=1;i<item.length && item[i] && item[i].length && typeof(item[i])!="string";i++)
{
var oitem = new igtbar_initItem(tb,item[i],i);
oitem.i = i - 1;
this.Items[i-1]=oitem;
var id=tb.Id+"_Group_"+index+"_"+(i-1).toString();
oitem.Element=ig_csom.getElementById(id);
tb.addLsnr(oitem.Element, oitem);
oitem.Id=id;
oitem.Parent=this;
oitem.IsGroupButton=true;
}
var selButton=null;
for(var j=0;j<this.Items.length && !selButton;j++)
if(this.Items[j].Element&&this.Items[j].Element.id==item[i])
selButton=this.Items[j];
this.SelectedButton=selButton;
this.Selected=item[++i];
this.Key=item[++i];
this.Tag=item[++i];
}
else
{
this.Key=item[1];
this.Tag=item[2];
if(this.Type==4) // Textbox
{
this.getText=function(){return this.Element.value;}
this.setText=function(text){if(text != null) this.Element.value = text; this.Toolbar.update(this, "Text", this.Element.value);}
this.setEnabled=function(v){this.Element.disabled = v != true; this.Toolbar.update(this, "Enabled", v ? "true" : "false");}
this.getEnabled=function(){return this.Element.disabled != true;}
}
}
this.setTag = function(v){this.Toolbar.update(this, "Tag", this.Tag = v);}
this.setToolTip = function(v){if(this.Element != null) this.Toolbar.update(this, "ToolTip", this.Element.title = v);}
this.getToolTip = function(){return (this.Element == null) ? "" : this.Element.title;}
this.Index=index;
}
function igtbar_getTextElem(e) {
if(e){
c=e.childNodes.length;
for(i=0;i<c;i++){
var c1 = e.childNodes[i];
if(c1.getAttribute!=null) {
var txt = c1.getAttribute("igtxt");
if(txt!=null && txt.length>0)
return c1;
}
}
}
return null;
}
function igtbar_getImageElem(e) {
if(e){
c=e.childNodes.length;
for(i=0;i<c;i++){
var c1 = e.childNodes[i];
if(c1.getAttribute!=null) {
var txt = c1.getAttribute("igimg");
if(txt!=null && txt.length>0)
return c1;
}
}
}
return null;
}
function igtbar_initEvents(events)
{
this.Click=events[0];
this.InitializeToolbar=events[1];
this.MouseOut=events[2];
this.MouseOver=events[3];
this.Move = events[4];
}
function igtbar_getItemById(id)
{
var bName=id.split("_");
var tb=igtbar_getToolbarById(bName[0]);
if(tb == null || tb.loading)
return null;
for(var i=0;i<tb.Items.length;i++)
{
if(tb.Items[i].Element&&tb.Items[i].Element.id==id)
return tb.Items[i];
if(tb.Items[i].Items)
{
for(var j=0;j<tb.Items[i].Items.length;j++)
if(tb.Items[i].Items[j].Element&&tb.Items[i].Items[j].Element.id==id)
return tb.Items[i].Items[j];
}
}
return null;
}
// public: get object from ClientID or UniqueID
function igtbar_getToolbarById(id)
{
var o = igtbr_state[id];
if(o != null) return o;
for(var i in igtbr_state) if((o = igtbr_state[i]) != null) if(o.clientId == id || o.UniqueId == id) return o;
return null;
}
// Function called when movable graphic image is first clicked.
function igtbar_pickUp(toolbarId, evt)
{
var oMove = igtbr_state.o_move;
if(oMove == null) igtbr_state.o_move = oMove = new Object();
oMove.src = ig_csom.getElementById(toolbarId);
if(oMove.src == null) return false;
if(oMove.mouseHooked != true)
{
ig_csom.addEventListener(document, "mouseup", igtbar_drop, false);
ig_csom.addEventListener(document, "mousemove", igtbar_moveMe, false);
oMove.mouseHooked = true;
}
oMove.AllowMove = true;
oMove.zIndex=oMove.src.style.zIndex;
evt = window.event;
if(evt)
{
oMove.CurrentX = (evt.clientX + document.body.scrollLeft);
oMove.CurrentY = (evt.clientY + document.body.scrollTop);
}
return true;
}
// Indicates to drop the toolbar.
function igtbar_drop()
{
var oMove = igtbr_state.o_move;
if(oMove != null && oMove.AllowMove == true)
{
oMove.AllowMove = oMove.CurrentX = null;
oMove.src.style.zIndex = oMove.zIndex;
}
return true;
}
// Occurs when mouse is moved and the mouse has been clicked on the movable graphic image
function igtbar_moveMe(e)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -