mirror of
https://github.com/konvajs/konva.git
synced 2025-10-15 12:34:52 +08:00
removed apply() Collection method. Added new mapMethods() Collection method, which is used internally to map node methods to collection methods
This commit is contained in:
16
src/Node.js
16
src/Node.js
@@ -1316,18 +1316,6 @@
|
||||
* @methodOf Kinetic.Node.prototype
|
||||
*/
|
||||
Kinetic.Node.prototype.isVisible = Kinetic.Node.prototype.getVisible;
|
||||
|
||||
// collection mappings
|
||||
var collectionMappings = [ON, OFF];
|
||||
for(var n = 0; n < 2; n++) {
|
||||
// induce scope
|
||||
(function(i) {
|
||||
var method = collectionMappings[i];
|
||||
Kinetic.Collection.prototype[method] = function() {
|
||||
var args = [].slice.call(arguments);
|
||||
args.unshift(method);
|
||||
this.apply.apply(this, args);
|
||||
};
|
||||
})(n);
|
||||
}
|
||||
|
||||
Kinetic.Collection.mapMethods(['on', 'off']);
|
||||
})();
|
||||
|
@@ -14,22 +14,6 @@
|
||||
return this;
|
||||
}
|
||||
Kinetic.Collection.prototype = new Array();
|
||||
/**
|
||||
* apply a method to all nodes in the array
|
||||
* @name apply
|
||||
* @methodOf Kinetic.Collection.prototype
|
||||
* @param {String} method
|
||||
* @param val
|
||||
*/
|
||||
Kinetic.Collection.prototype.apply = function(method) {
|
||||
args = [].slice.call(arguments);
|
||||
args.shift();
|
||||
for(var n = 0; n < this.length; n++) {
|
||||
if(Kinetic.Type._isFunction(this[n][method])) {
|
||||
this[n][method].apply(this[n], args);
|
||||
}
|
||||
}
|
||||
};
|
||||
/**
|
||||
* iterate through node array
|
||||
* @name each
|
||||
@@ -38,7 +22,28 @@
|
||||
*/
|
||||
Kinetic.Collection.prototype.each = function(func) {
|
||||
for(var n = 0; n < this.length; n++) {
|
||||
func.call(this[n], n, this[n]);
|
||||
func(this[n], n);
|
||||
}
|
||||
};
|
||||
|
||||
Kinetic.Collection.mapMethods = function(arr) {
|
||||
var leng = arr.length,
|
||||
n;
|
||||
|
||||
for(n = 0; n < leng; n++) {
|
||||
// induce scope
|
||||
(function(i) {
|
||||
var method = arr[i];
|
||||
Kinetic.Collection.prototype[method] = function() {
|
||||
var len = this.length,
|
||||
i;
|
||||
|
||||
args = [].slice.call(arguments);
|
||||
for(i = 0; i < len; i++) {
|
||||
this[i][method].apply(this[i], args);
|
||||
}
|
||||
};
|
||||
})(n);
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
Reference in New Issue
Block a user