New file |
0,0 → 1,99 |
/* |
Copyright (c) 2004-2006, The Dojo Foundation |
All Rights Reserved. |
|
Licensed under the Academic Free License version 2.1 or above OR the |
modified BSD license. For more information on Dojo licensing, see: |
|
http://dojotoolkit.org/community/licensing.shtml |
*/ |
|
dojo.provide("dojo.widget.HtmlWidget"); |
dojo.require("dojo.widget.DomWidget"); |
dojo.require("dojo.html.util"); |
dojo.require("dojo.html.display"); |
dojo.require("dojo.html.layout"); |
dojo.require("dojo.lang.extras"); |
dojo.require("dojo.lang.func"); |
dojo.require("dojo.lfx.toggle"); |
dojo.declare("dojo.widget.HtmlWidget", dojo.widget.DomWidget, {templateCssPath:null, templatePath:null, lang:"", toggle:"plain", toggleDuration:150, initialize:function (args, frag) { |
}, postMixInProperties:function (args, frag) { |
if (this.lang === "") { |
this.lang = null; |
} |
this.toggleObj = dojo.lfx.toggle[this.toggle.toLowerCase()] || dojo.lfx.toggle.plain; |
}, createNodesFromText:function (txt, wrap) { |
return dojo.html.createNodesFromText(txt, wrap); |
}, destroyRendering:function (finalize) { |
try { |
if (this.bgIframe) { |
this.bgIframe.remove(); |
delete this.bgIframe; |
} |
if (!finalize && this.domNode) { |
dojo.event.browser.clean(this.domNode); |
} |
dojo.widget.HtmlWidget.superclass.destroyRendering.call(this); |
} |
catch (e) { |
} |
}, isShowing:function () { |
return dojo.html.isShowing(this.domNode); |
}, toggleShowing:function () { |
if (this.isShowing()) { |
this.hide(); |
} else { |
this.show(); |
} |
}, show:function () { |
if (this.isShowing()) { |
return; |
} |
this.animationInProgress = true; |
this.toggleObj.show(this.domNode, this.toggleDuration, null, dojo.lang.hitch(this, this.onShow), this.explodeSrc); |
}, onShow:function () { |
this.animationInProgress = false; |
this.checkSize(); |
}, hide:function () { |
if (!this.isShowing()) { |
return; |
} |
this.animationInProgress = true; |
this.toggleObj.hide(this.domNode, this.toggleDuration, null, dojo.lang.hitch(this, this.onHide), this.explodeSrc); |
}, onHide:function () { |
this.animationInProgress = false; |
}, _isResized:function (w, h) { |
if (!this.isShowing()) { |
return false; |
} |
var wh = dojo.html.getMarginBox(this.domNode); |
var width = w || wh.width; |
var height = h || wh.height; |
if (this.width == width && this.height == height) { |
return false; |
} |
this.width = width; |
this.height = height; |
return true; |
}, checkSize:function () { |
if (!this._isResized()) { |
return; |
} |
this.onResized(); |
}, resizeTo:function (w, h) { |
dojo.html.setMarginBox(this.domNode, {width:w, height:h}); |
if (this.isShowing()) { |
this.onResized(); |
} |
}, resizeSoon:function () { |
if (this.isShowing()) { |
dojo.lang.setTimeout(this, this.onResized, 0); |
} |
}, onResized:function () { |
dojo.lang.forEach(this.children, function (child) { |
if (child.checkSize) { |
child.checkSize(); |
} |
}); |
}}); |
|