X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/0494b8d9b9bb03ab6c22b34dae81261e3cd7e3e6..7a654f8d43fdb43d78b63d90528bed6e86b608cc:/src/fx/target/Element.js diff --git a/src/fx/target/Element.js b/src/fx/target/Element.js new file mode 100644 index 00000000..3dc4ed3a --- /dev/null +++ b/src/fx/target/Element.js @@ -0,0 +1,84 @@ +/** + * @class Ext.fx.target.Element + * @extends Ext.fx.target.Target + * + * This class represents a animation target for an {@link Ext.core.Element}. In general this class will not be + * created directly, the {@link Ext.core.Element} will be passed to the animation and + * and the appropriate target will be created. + */ +Ext.define('Ext.fx.target.Element', { + + /* Begin Definitions */ + + extend: 'Ext.fx.target.Target', + + /* End Definitions */ + + type: 'element', + + getElVal: function(el, attr, val) { + if (val == undefined) { + if (attr === 'x') { + val = el.getX(); + } + else if (attr === 'y') { + val = el.getY(); + } + else if (attr === 'scrollTop') { + val = el.getScroll().top; + } + else if (attr === 'scrollLeft') { + val = el.getScroll().left; + } + else if (attr === 'height') { + val = el.getHeight(); + } + else if (attr === 'width') { + val = el.getWidth(); + } + else { + val = el.getStyle(attr); + } + } + return val; + }, + + getAttr: function(attr, val) { + var el = this.target; + return [[ el, this.getElVal(el, attr, val)]]; + }, + + setAttr: function(targetData) { + var target = this.target, + ln = targetData.length, + attrs, attr, o, i, j, ln2, element, value; + for (i = 0; i < ln; i++) { + attrs = targetData[i].attrs; + for (attr in attrs) { + if (attrs.hasOwnProperty(attr)) { + ln2 = attrs[attr].length; + for (j = 0; j < ln2; j++) { + o = attrs[attr][j]; + element = o[0]; + value = o[1]; + if (attr === 'x') { + element.setX(value); + } + else if (attr === 'y') { + element.setY(value); + } + else if (attr === 'scrollTop') { + element.scrollTo('top', value); + } + else if (attr === 'scrollLeft') { + element.scrollTo('left',value); + } + else { + element.setStyle(attr, value); + } + } + } + } + } + } +});