Ext.dom.CompositeElement
Alternate names
Ext.CompositeElementHierarchy
Ext.BaseExt.dom.CompositeElementLiteExt.dom.CompositeElementFiles
This class encapsulates a collection of DOM elements, providing methods to filter members, or to perform collective actions upon the whole set.
Although they are not listed, this class supports all of the methods of Ext.dom.Element. The methods from these classes will be performed on all the elements in this collection.
All methods return this and can be chained.
Usage:
var els = Ext.select("#some-el div.some-class", true);
// or select directly from an existing element
var el = Ext.get('some-el');
el.select('div.some-class', true);
els.setWidth(100); // all elements become 100 width
els.hide(true); // all elements fade out and hide
// or
els.setWidth(100).hide(true);
Available since: 1.1.0
Properties
Instance Properties elements : HTMLElement[]The Array of DOM elements which this CompositeElement encapsulates. ...The Array of DOM elements which this CompositeElement encapsulates. Read-only.
This will not usually be accessed in developers' code, but developers wishing to augment the capabilities
of the CompositeElementLite class may use it when adding methods to the class.
For example to add the nextAll method to the class to add all following siblings of selected elements,
the code would be
Ext.override(Ext.dom.CompositeElementLite, {
nextAll: function() {
var elements = this.elements, i, l = elements.length, n, r = [], ri = -1;
// Loop through all elements in this Composite, accumulating
// an Array of all siblings.
for (i = 0; i < l; i++) {
for (n = elements[i].nextSibling; n; n = n.nextSibling) {
r[++ri] = n;
}
}
// Add all found siblings to this Composite
return this.add(r);
}
});
Available since: 1.1.0
Get the reference to the current class from which this object was instantiated. ...Get the reference to the current class from which this object was instantiated. Unlike statics,
this.self is scope-dependent and it's meant to be used for dynamic inheritance. See statics
for a detailed comparison
Ext.define('My.Cat', {
statics: {
speciesName: 'Cat' // My.Cat.speciesName = 'Cat'
},
constructor: function() {
alert(this.self.speciesName); / dependentOL on 'this'
},
clone: function() {
return new this.self();
}
});
Ext.define('My.SnowLeopard', {
extend: 'My.Cat',
statics: {
speciesName: 'Snow Leopard' // My.SnowLeopard.speciesName = 'Snow Leopard'
}
});
var cat = new My.Cat(); // alerts 'Cat'
var snowLeopard = new My.SnowLeopard(); // alerts 'Snow Leopard'
var clone = snowLeopard.clone();
alert(Ext.getClassName(clone)); // alerts 'My.SnowLeopard'
Available since: 2.0.0
The Array of DOM elements which this CompositeElement encapsulates. Read-only.
This will not usually be accessed in developers' code, but developers wishing to augment the capabilities of the CompositeElementLite class may use it when adding methods to the class.
For example to add the nextAll method to the class to add all following siblings of selected elements,
the code would be
Ext.override(Ext.dom.CompositeElementLite, {
nextAll: function() {
var elements = this.elements, i, l = elements.length, n, r = [], ri = -1;
// Loop through all elements in this Composite, accumulating
// an Array of all siblings.
for (i = 0; i < l; i++) {
for (n = elements[i].nextSibling; n; n = n.nextSibling) {
r[++ri] = n;
}
}
// Add all found siblings to this Composite
return this.add(r);
}
});
Available since: 1.1.0
Get the reference to the current class from which this object was instantiated. Unlike statics,
this.self is scope-dependent and it's meant to be used for dynamic inheritance. See statics
for a detailed comparison
Ext.define('My.Cat', {
statics: {
speciesName: 'Cat' // My.Cat.speciesName = 'Cat'
},
constructor: function() {
alert(this.self.speciesName); / dependentOL on 'this'
},
clone: function() {
return new this.self();
}
});
Ext.define('My.SnowLeopard', {
extend: 'My.Cat',
statics: {
speciesName: 'Snow Leopard' // My.SnowLeopard.speciesName = 'Snow Leopard'
}
});
var cat = new My.Cat(); // alerts 'Cat'
var snowLeopard = new My.SnowLeopard(); // alerts 'Snow Leopard'
var clone = snowLeopard.clone();
alert(Ext.getClassName(clone)); // alerts 'My.SnowLeopard'
Available since: 2.0.0
Static Properties
Methods
Instance Methods Adds elements to this Composite object. ...Adds elements to this Composite object.
Available since: 1.1.0
Parameters
- els : HTMLElement[]/Ext.dom.CompositeElementLite
Either an Array of DOM elements to add, or another Composite
object who's elements should be added.
Returns
- Ext.dom.CompositeElementLite
This Composite object.
Call the original method that was previously overridden with override
Ext.define('My.Cat', {
constructor: functi...Call the original method that was previously overridden with override
Ext.define('My.Cat', {
constructor: function() {
alert("I'm a cat!");
}
});
My.Cat.override({
constructor: function() {
alert("I'm going to be a cat!");
var instance = this.callOverridden();
alert("Meeeeoooowwww");
return instance;
}
});
var kitty = new My.Cat(); // alerts "I'm going to be a cat!"
// alerts "I'm a cat!"
// alerts "Meeeeoooowwww"
Available since: 2.0.0
Parameters
- args : Array/Arguments
The arguments, either an array or the arguments object
from the current method, for example: this.callOverridden(arguments)
Returns
- Object
Returns the result of calling the overridden method
Call the "parent" method of the current method. ...Call the "parent" method of the current method. That is the method previously
overridden by derivation or by an override (see Ext.define).
Ext.define('My.Base', {
constructor: function (x) {
this.x = x;
},
statics: {
method: function (x) {
return x;
}
}
});
Ext.define('My.Derived', {
extend: 'My.Base',
constructor: function () {
this.callParent([21]);
}
});
var obj = new My.Derived();
alert(obj.x); // alerts 21
This can be used with an override as follows:
Ext.define('My.DerivedOverride', {
override: 'My.Derived',
constructor: function (x) {
this.callParent([x*2]); // calls original My.Derived constructor
}
});
var obj = new My.Derived();
alert(obj.x); // now alerts 42
This also works with static methods.
Ext.define('My.Derived2', {
extend: 'My.Base',
statics: {
method: function (x) {
return this.callParent([x*2]); // calls My.Base.method
}
}
});
alert(My.Base.method(10); // alerts 10
alert(My.Derived2.method(10); // alerts 20
Lastly, it also works with overridden static methods.
Ext.define('My.Derived2Override', {
override: 'My.Derived2',
statics: {
method: function (x) {
return this.callParent([x*2]); // calls My.Derived2.method
}
}
});
alert(My.Derived2.method(10); // now alerts 40
Available since: 2.0.0
Parameters
- args : Array/Arguments
The arguments, either an array or the arguments object
from the current method, for example: this.callParent(arguments)
Returns
- Object
Returns the result of calling the parent method
Returns true if this composite contains the passed element ...Returns true if this composite contains the passed element
Available since: 1.1.0
Parameters
- el : String/HTMLElement/Ext.Element/Number
The id of an element, or an Ext.Element, or an HtmlElement to
find within the composite collection.
Returns
destroy( )private ...
Available since: 2.0.0
Overrides: Ext.mixin.Observable.destroy, Ext.Container.destroy
Calls the passed function for each element in this composite. ...Calls the passed function for each element in this composite.
Available since: 1.1.0
Parameters
- fn : Function
The function to call.
Parameters
- el : Ext.dom.Element
The current Element in the iteration. This is the flyweight
(shared) Ext.dom.Element instance, so if you require a a reference to the dom node, use el.dom.
- c : Ext.dom.CompositeElementLite
This Composite object.
- index : Number
The zero-based index in the iteration.
- scope : Object (optional)
The scope (this reference) in which the function is executed.
Defaults to the Element.
Returns
Clears this Composite and adds the elements passed. ...Clears this Composite and adds the elements passed.
Available since: 1.1.0
Parameters
- els : HTMLElement[]/Ext.dom.CompositeElementLite
Either an array of DOM elements, or another Composite from which
to fill this Composite.
Returns
Filters this composite to only elements that match the passed selector. ...Filters this composite to only elements that match the passed selector.
Available since: 1.1.0
Parameters
- selector : String/Function
A string CSS selector or a comparison function. The comparison function will be
called with the following arguments:
- el : Ext.dom.Element
The current DOM element.
- index : Number
The current index within the collection.
Returns
getElement( el )privateprivate ...private
Available since: 2.0.0
Parameters
- el : Object
Overrides: Ext.dom.CompositeElementLite.getElement
Find the index of the passed element within the composite collection. ...Find the index of the passed element within the composite collection.
Available since: 1.1.0
Parameters
- el : String/HTMLElement/Ext.Element/Number
The id of an element, or an Ext.dom.Element, or an HtmlElement
to find within the composite collection.
Returns
- Number
The index of the passed Ext.dom.Element in the composite collection, or -1 if not found.
Initialize configuration for this class. ...Initialize configuration for this class. a typical example:
Ext.define('My.awesome.Class', {
// The default config
config: {
name: 'Awesome',
isAwesome: true
},
constructor: function(config) {
this.initConfig(config);
}
});
var awesome = new My.awesome.Class({
name: 'Super Awesome'
});
alert(awesome.getName()); // 'Super Awesome'
Available since: 2.0.0
Parameters
- instanceConfig : Object
Returns
- Object
mixins The mixin prototypes as key - value pairs
Returns a flyweight Element of the dom element object at the specified index ...Returns a flyweight Element of the dom element object at the specified index
Available since: 1.1.0
Parameters
- index : Number
Returns
onConfigUpdate( names, callback, scope )private Removes the specified element(s). ...Removes the specified element(s).
Available since: 1.1.0
Parameters
- el : String/HTMLElement/Ext.Element/Number
The id of an element, the Element itself, the index of the
element in this composite or an array of any of those.
- removeDom : Boolean (optional)
True to also remove the element from the document
Returns
Replaces the specified element with the passed element. ...Replaces the specified element with the passed element.
Available since: 1.1.0
Parameters
- el : String/HTMLElement/Ext.Element/Number
The id of an element, the Element itself, the index of the
element in this composite to replace.
- replacement : String/Ext.Element
The id of an element or the Element itself.
- domReplace : Boolean (optional)
True to remove and replace the element in the document too.
Returns
Get the reference to the class from which this object was instantiated. ...Get the reference to the class from which this object was instantiated. Note that unlike self,
this.statics() is scope-independent and it always returns the class from which it was called, regardless of what
this points to during run-time
Ext.define('My.Cat', {
statics: {
totalCreated: 0,
speciesName: 'Cat' // My.Cat.speciesName = 'Cat'
},
constructor: function() {
var statics = this.statics();
alert(statics.speciesName); // always equals to 'Cat' no matter what 'this' refers to
// equivalent to: My.Cat.speciesName
alert(this.self.speciesName); // dependent on 'this'
statics.totalCreated++;
},
clone: function() {
var cloned = new this.self; // dependent on 'this'
cloned.groupName = this.statics().speciesName; // equivalent to: My.Cat.speciesName
return cloned;
}
});
Ext.define('My.SnowLeopard', {
extend: 'My.Cat',
statics: {
speciesName: 'Snow Leopard' // My.SnowLeopard.speciesName = 'Snow Leopard'
},
constructor: function() {
this.callParent();
}
});
var cat = new My.Cat(); // alerts 'Cat', then alerts 'Cat'
var snowLeopard = new My.SnowLeopard(); // alerts 'Cat', then alerts 'Snow Leopard'
var clone = snowLeopard.clone();
alert(Ext.getClassName(clone)); // alerts 'My.SnowLeopard'
alert(clone.groupName); // alerts 'Cat'
alert(My.Cat.totalCreated); // alerts 3
Available since: 2.0.0
Returns
Adds elements to this Composite object.
Available since: 1.1.0
Parameters
- els : HTMLElement[]/Ext.dom.CompositeElementLite
Either an Array of DOM elements to add, or another Composite object who's elements should be added.
Returns
- Ext.dom.CompositeElementLite
This Composite object.
Call the original method that was previously overridden with override
Ext.define('My.Cat', {
constructor: function() {
alert("I'm a cat!");
}
});
My.Cat.override({
constructor: function() {
alert("I'm going to be a cat!");
var instance = this.callOverridden();
alert("Meeeeoooowwww");
return instance;
}
});
var kitty = new My.Cat(); // alerts "I'm going to be a cat!"
// alerts "I'm a cat!"
// alerts "Meeeeoooowwww"
Available since: 2.0.0
Parameters
- args : Array/Arguments
The arguments, either an array or the
argumentsobject from the current method, for example:this.callOverridden(arguments)
Returns
- Object
Returns the result of calling the overridden method
Call the "parent" method of the current method. That is the method previously overridden by derivation or by an override (see Ext.define).
Ext.define('My.Base', {
constructor: function (x) {
this.x = x;
},
statics: {
method: function (x) {
return x;
}
}
});
Ext.define('My.Derived', {
extend: 'My.Base',
constructor: function () {
this.callParent([21]);
}
});
var obj = new My.Derived();
alert(obj.x); // alerts 21
This can be used with an override as follows:
Ext.define('My.DerivedOverride', {
override: 'My.Derived',
constructor: function (x) {
this.callParent([x*2]); // calls original My.Derived constructor
}
});
var obj = new My.Derived();
alert(obj.x); // now alerts 42
This also works with static methods.
Ext.define('My.Derived2', {
extend: 'My.Base',
statics: {
method: function (x) {
return this.callParent([x*2]); // calls My.Base.method
}
}
});
alert(My.Base.method(10); // alerts 10
alert(My.Derived2.method(10); // alerts 20
Lastly, it also works with overridden static methods.
Ext.define('My.Derived2Override', {
override: 'My.Derived2',
statics: {
method: function (x) {
return this.callParent([x*2]); // calls My.Derived2.method
}
}
});
alert(My.Derived2.method(10); // now alerts 40
Available since: 2.0.0
Parameters
- args : Array/Arguments
The arguments, either an array or the
argumentsobject from the current method, for example:this.callParent(arguments)
Returns
- Object
Returns the result of calling the parent method
Returns true if this composite contains the passed element
Available since: 1.1.0
Parameters
- el : String/HTMLElement/Ext.Element/Number
The id of an element, or an Ext.Element, or an HtmlElement to find within the composite collection.
Returns
Available since: 2.0.0
Overrides: Ext.mixin.Observable.destroy, Ext.Container.destroy
Calls the passed function for each element in this composite.
Available since: 1.1.0
Parameters
- fn : Function
The function to call.
Parameters
- el : Ext.dom.Element
The current Element in the iteration. This is the flyweight (shared) Ext.dom.Element instance, so if you require a a reference to the dom node, use el.dom.
- c : Ext.dom.CompositeElementLite
This Composite object.
- index : Number
The zero-based index in the iteration.
- el : Ext.dom.Element
- scope : Object (optional)
The scope (this reference) in which the function is executed. Defaults to the Element.
Returns
Clears this Composite and adds the elements passed.
Available since: 1.1.0
Parameters
- els : HTMLElement[]/Ext.dom.CompositeElementLite
Either an array of DOM elements, or another Composite from which to fill this Composite.
Returns
Filters this composite to only elements that match the passed selector.
Available since: 1.1.0
Parameters
- selector : String/Function
A string CSS selector or a comparison function. The comparison function will be called with the following arguments:
- el : Ext.dom.Element
The current DOM element.
- index : Number
The current index within the collection.
- el : Ext.dom.Element
Returns
private
Available since: 2.0.0
Parameters
- el : Object
Overrides: Ext.dom.CompositeElementLite.getElement
Find the index of the passed element within the composite collection.
Available since: 1.1.0
Parameters
- el : String/HTMLElement/Ext.Element/Number
The id of an element, or an Ext.dom.Element, or an HtmlElement to find within the composite collection.
Returns
- Number
The index of the passed Ext.dom.Element in the composite collection, or -1 if not found.
Initialize configuration for this class. a typical example:
Ext.define('My.awesome.Class', {
// The default config
config: {
name: 'Awesome',
isAwesome: true
},
constructor: function(config) {
this.initConfig(config);
}
});
var awesome = new My.awesome.Class({
name: 'Super Awesome'
});
alert(awesome.getName()); // 'Super Awesome'
Available since: 2.0.0
Parameters
- instanceConfig : Object
Returns
- Object
mixins The mixin prototypes as key - value pairs
Returns a flyweight Element of the dom element object at the specified index
Available since: 1.1.0
Parameters
- index : Number
Returns
Removes the specified element(s).
Available since: 1.1.0
Parameters
- el : String/HTMLElement/Ext.Element/Number
The id of an element, the Element itself, the index of the element in this composite or an array of any of those.
- removeDom : Boolean (optional)
True to also remove the element from the document
Returns
Replaces the specified element with the passed element.
Available since: 1.1.0
Parameters
- el : String/HTMLElement/Ext.Element/Number
The id of an element, the Element itself, the index of the element in this composite to replace.
- replacement : String/Ext.Element
The id of an element or the Element itself.
- domReplace : Boolean (optional)
True to remove and replace the element in the document too.
Returns
Get the reference to the class from which this object was instantiated. Note that unlike self,
this.statics() is scope-independent and it always returns the class from which it was called, regardless of what
this points to during run-time
Ext.define('My.Cat', {
statics: {
totalCreated: 0,
speciesName: 'Cat' // My.Cat.speciesName = 'Cat'
},
constructor: function() {
var statics = this.statics();
alert(statics.speciesName); // always equals to 'Cat' no matter what 'this' refers to
// equivalent to: My.Cat.speciesName
alert(this.self.speciesName); // dependent on 'this'
statics.totalCreated++;
},
clone: function() {
var cloned = new this.self; // dependent on 'this'
cloned.groupName = this.statics().speciesName; // equivalent to: My.Cat.speciesName
return cloned;
}
});
Ext.define('My.SnowLeopard', {
extend: 'My.Cat',
statics: {
speciesName: 'Snow Leopard' // My.SnowLeopard.speciesName = 'Snow Leopard'
},
constructor: function() {
this.callParent();
}
});
var cat = new My.Cat(); // alerts 'Cat', then alerts 'Cat'
var snowLeopard = new My.SnowLeopard(); // alerts 'Cat', then alerts 'Snow Leopard'
var clone = snowLeopard.clone();
alert(Ext.getClassName(clone)); // alerts 'My.SnowLeopard'
alert(clone.groupName); // alerts 'Cat'
alert(My.Cat.totalCreated); // alerts 3
Available since: 2.0.0
Returns
Static Methods addConfig( config, fullMerge )privatestatic addMember( name, member )chainableprivatestatic addMembers( members )chainablestaticAdd methods / properties to the prototype of this class. ...Add methods / properties to the prototype of this class.
Ext.define('My.awesome.Cat', {
constructor: function() {
...
}
});
My.awesome.Cat.implement({
meow: function() {
alert('Meowww...');
}
});
var kitty = new My.awesome.Cat;
kitty.meow();
Available since: 2.0.0
Parameters
- members : Object
Add / override static properties of this class. ...Add / override static properties of this class.
Ext.define('My.cool.Class', {
...
});
My.cool.Class.addStatics({
someProperty: 'someValue', // My.cool.Class.someProperty = 'someValue'
method1: function() { ... }, // My.cool.Class.method1 = function() { ... };
method2: function() { ... } // My.cool.Class.method2 = function() { ... };
});
Available since: 2.0.0
Parameters
- members : Object
Returns
- Ext.Base
this
Borrow another class' members to the prototype of this class. ...Borrow another class' members to the prototype of this class.
Ext.define('Bank', {
money: '$$$',
printMoney: function() {
alert('$$$$$$$');
}
});
Ext.define('Thief', {
...
});
Thief.borrow(Bank, ['money', 'printMoney']);
var steve = new Thief();
alert(steve.money); // alerts '$$$'
steve.printMoney(); // alerts '$$$$$$$'
Available since: 2.0.0
Parameters
- fromClass : Ext.Base
The class to borrow members from
- members : Array/String
The names of the members to borrow
Returns
- Ext.Base
this
Create a new instance of this Class. ...Create a new instance of this Class.
Ext.define('My.cool.Class', {
...
});
My.cool.Class.create({
someConfig: true
});
All parameters are passed to the constructor of the class.
Available since: 2.0.0
Returns
- Object
the created instance.
createAlias( alias, origin )staticCreate aliases for existing prototype methods. ...Create aliases for existing prototype methods. Example:
Ext.define('My.cool.Class', {
method1: function() { ... },
method2: function() { ... }
});
var test = new My.cool.Class();
My.cool.Class.createAlias({
method3: 'method1',
method4: 'method2'
});
test.method3(); // test.method1()
My.cool.Class.createAlias('method5', 'method3');
test.method5(); // test.method3() -> test.method1()
Available since: 2.0.0
Parameters
- alias : String/Object
The new method name, or an object to set multiple aliases. See
flexSetter
- origin : String/Object
The original method name
Get the current class' name in string format. ...Get the current class' name in string format.
Ext.define('My.cool.Class', {
constructor: function() {
alert(this.self.getName()); // alerts 'My.cool.Class'
}
});
My.cool.Class.getName(); // 'My.cool.Class'
Available since: 2.0.0
Returns
- String
className
mixin( name, mixinClass )privatestatic onExtended( fn, scope )chainableprivatestatic Override members of this class. ...Override members of this class. Overridden methods can be invoked via
callParent.
Ext.define('My.Cat', {
constructor: function() {
alert("I'm a cat!");
}
});
My.Cat.override({
constructor: function() {
alert("I'm going to be a cat!");
var instance = this.callParent(arguments);
alert("Meeeeoooowwww");
return instance;
}
});
var kitty = new My.Cat(); // alerts "I'm going to be a cat!"
// alerts "I'm a cat!"
// alerts "Meeeeoooowwww"
As of 4.1, direct use of this method is deprecated. Use Ext.define
instead:
Ext.define('My.CatOverride', {
override: 'My.Cat',
constructor: function() {
alert("I'm going to be a cat!");
var instance = this.callParent(arguments);
alert("Meeeeoooowwww");
return instance;
}
});
The above accomplishes the same result but can be managed by the Ext.Loader
which can properly order the override and its target class and the build process
can determine whether the override is needed based on the required state of the
target class (My.Cat).
This method has been deprecated since 4.1.0
Please use Ext.define instead
Available since: 2.0.0
Parameters
- members : Object
The properties to add to this class. This should be
specified as an object literal containing one or more properties.
Returns
- Ext.Base
this class
Add methods / properties to the prototype of this class.
Ext.define('My.awesome.Cat', {
constructor: function() {
...
}
});
My.awesome.Cat.implement({
meow: function() {
alert('Meowww...');
}
});
var kitty = new My.awesome.Cat;
kitty.meow();
Available since: 2.0.0
Parameters
- members : Object
Add / override static properties of this class.
Ext.define('My.cool.Class', {
...
});
My.cool.Class.addStatics({
someProperty: 'someValue', // My.cool.Class.someProperty = 'someValue'
method1: function() { ... }, // My.cool.Class.method1 = function() { ... };
method2: function() { ... } // My.cool.Class.method2 = function() { ... };
});
Available since: 2.0.0
Parameters
- members : Object
Returns
- Ext.Base
this
Borrow another class' members to the prototype of this class.
Ext.define('Bank', {
money: '$$$',
printMoney: function() {
alert('$$$$$$$');
}
});
Ext.define('Thief', {
...
});
Thief.borrow(Bank, ['money', 'printMoney']);
var steve = new Thief();
alert(steve.money); // alerts '$$$'
steve.printMoney(); // alerts '$$$$$$$'
Available since: 2.0.0
Parameters
- fromClass : Ext.Base
The class to borrow members from
- members : Array/String
The names of the members to borrow
Returns
- Ext.Base
this
Create a new instance of this Class.
Ext.define('My.cool.Class', {
...
});
My.cool.Class.create({
someConfig: true
});
All parameters are passed to the constructor of the class.
Available since: 2.0.0
Returns
- Object
the created instance.
Create aliases for existing prototype methods. Example:
Ext.define('My.cool.Class', {
method1: function() { ... },
method2: function() { ... }
});
var test = new My.cool.Class();
My.cool.Class.createAlias({
method3: 'method1',
method4: 'method2'
});
test.method3(); // test.method1()
My.cool.Class.createAlias('method5', 'method3');
test.method5(); // test.method3() -> test.method1()
Available since: 2.0.0
Parameters
- alias : String/Object
The new method name, or an object to set multiple aliases. See flexSetter
- origin : String/Object
The original method name
Get the current class' name in string format.
Ext.define('My.cool.Class', {
constructor: function() {
alert(this.self.getName()); // alerts 'My.cool.Class'
}
});
My.cool.Class.getName(); // 'My.cool.Class'
Available since: 2.0.0
Returns
- String
className
Override members of this class. Overridden methods can be invoked via callParent.
Ext.define('My.Cat', {
constructor: function() {
alert("I'm a cat!");
}
});
My.Cat.override({
constructor: function() {
alert("I'm going to be a cat!");
var instance = this.callParent(arguments);
alert("Meeeeoooowwww");
return instance;
}
});
var kitty = new My.Cat(); // alerts "I'm going to be a cat!"
// alerts "I'm a cat!"
// alerts "Meeeeoooowwww"
As of 4.1, direct use of this method is deprecated. Use Ext.define instead:
Ext.define('My.CatOverride', {
override: 'My.Cat',
constructor: function() {
alert("I'm going to be a cat!");
var instance = this.callParent(arguments);
alert("Meeeeoooowwww");
return instance;
}
});
The above accomplishes the same result but can be managed by the Ext.Loader which can properly order the override and its target class and the build process can determine whether the override is needed based on the required state of the target class (My.Cat).
This method has been deprecated since 4.1.0
Please use Ext.define instead
Available since: 2.0.0
Parameters
- members : Object
The properties to add to this class. This should be specified as an object literal containing one or more properties.
Returns
- Ext.Base
this class