mirror of
https://github.com/konvajs/konva.git
synced 2025-06-28 13:03:10 +08:00
fix hasName
method for empty name cases
This commit is contained in:
parent
ef30c1b6b9
commit
f9c60c99e1
@ -5,6 +5,10 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|||||||
|
|
||||||
## Not released:
|
## Not released:
|
||||||
|
|
||||||
|
## [3.2.3][2019-03-21]
|
||||||
|
|
||||||
|
* Fix `hasName` method for empty name cases
|
||||||
|
|
||||||
## [3.2.2][2019-03-19]
|
## [3.2.2][2019-03-19]
|
||||||
|
|
||||||
* Remove `dependencies` from npm package
|
* Remove `dependencies` from npm package
|
||||||
|
13
konva.js
13
konva.js
@ -8,7 +8,7 @@
|
|||||||
* Konva JavaScript Framework v3.2.2
|
* Konva JavaScript Framework v3.2.2
|
||||||
* http://konvajs.org/
|
* http://konvajs.org/
|
||||||
* Licensed under the MIT
|
* Licensed under the MIT
|
||||||
* Date: Tue Mar 19 2019
|
* Date: Thu Mar 21 2019
|
||||||
*
|
*
|
||||||
* Original work Copyright (C) 2011 - 2013 by Eric Rowell (KineticJS)
|
* Original work Copyright (C) 2011 - 2013 by Eric Rowell (KineticJS)
|
||||||
* Modified work Copyright (C) 2014 - present by Anton Lavrenov (Konva)
|
* Modified work Copyright (C) 2014 - present by Anton Lavrenov (Konva)
|
||||||
@ -4098,9 +4098,18 @@
|
|||||||
* node.name('red');
|
* node.name('red');
|
||||||
* node.hasName('red'); // return true
|
* node.hasName('red'); // return true
|
||||||
* node.hasName('selected'); // return false
|
* node.hasName('selected'); // return false
|
||||||
|
* node.hasName(''); // return false
|
||||||
*/
|
*/
|
||||||
Node.prototype.hasName = function (name) {
|
Node.prototype.hasName = function (name) {
|
||||||
var names = (this.name() || '').split(/\s/g);
|
if (!name) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
var fullName = this.name();
|
||||||
|
if (!fullName) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// if name is '' the "names" will be [''], so I added extra check above
|
||||||
|
var names = (fullName || '').split(/\s/g);
|
||||||
return names.indexOf(name) !== -1;
|
return names.indexOf(name) !== -1;
|
||||||
};
|
};
|
||||||
/**
|
/**
|
||||||
|
4
konva.min.js
vendored
4
konva.min.js
vendored
File diff suppressed because one or more lines are too long
11
src/Node.ts
11
src/Node.ts
@ -1987,9 +1987,18 @@ export abstract class Node<Config extends NodeConfig = NodeConfig> {
|
|||||||
* node.name('red');
|
* node.name('red');
|
||||||
* node.hasName('red'); // return true
|
* node.hasName('red'); // return true
|
||||||
* node.hasName('selected'); // return false
|
* node.hasName('selected'); // return false
|
||||||
|
* node.hasName(''); // return false
|
||||||
*/
|
*/
|
||||||
hasName(name) {
|
hasName(name) {
|
||||||
var names = (this.name() || '').split(/\s/g);
|
if (!name) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
const fullName = this.name();
|
||||||
|
if (!fullName) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// if name is '' the "names" will be [''], so I added extra check above
|
||||||
|
var names = (fullName || '').split(/\s/g);
|
||||||
return names.indexOf(name) !== -1;
|
return names.indexOf(name) !== -1;
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
@ -1242,6 +1242,8 @@ suite('Node', function() {
|
|||||||
assert.equal(circle.hasName('myCircle'), true);
|
assert.equal(circle.hasName('myCircle'), true);
|
||||||
assert.equal(circle.hasName('foo'), true);
|
assert.equal(circle.hasName('foo'), true);
|
||||||
assert.equal(circle.hasName('boo'), false);
|
assert.equal(circle.hasName('boo'), false);
|
||||||
|
// should return false for empty name
|
||||||
|
assert.equal(layer.hasName(''), false);
|
||||||
assert.equal(stage.findOne('.foo'), circle);
|
assert.equal(stage.findOne('.foo'), circle);
|
||||||
|
|
||||||
// removing name
|
// removing name
|
||||||
|
Loading…
Reference in New Issue
Block a user