mirror of
https://github.com/konvajs/konva.git
synced 2025-06-28 05:36:38 +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:
|
||||
|
||||
## [3.2.3][2019-03-21]
|
||||
|
||||
* Fix `hasName` method for empty name cases
|
||||
|
||||
## [3.2.2][2019-03-19]
|
||||
|
||||
* Remove `dependencies` from npm package
|
||||
|
13
konva.js
13
konva.js
@ -8,7 +8,7 @@
|
||||
* Konva JavaScript Framework v3.2.2
|
||||
* http://konvajs.org/
|
||||
* Licensed under the MIT
|
||||
* Date: Tue Mar 19 2019
|
||||
* Date: Thu Mar 21 2019
|
||||
*
|
||||
* Original work Copyright (C) 2011 - 2013 by Eric Rowell (KineticJS)
|
||||
* Modified work Copyright (C) 2014 - present by Anton Lavrenov (Konva)
|
||||
@ -4098,9 +4098,18 @@
|
||||
* node.name('red');
|
||||
* node.hasName('red'); // return true
|
||||
* node.hasName('selected'); // return false
|
||||
* node.hasName(''); // return false
|
||||
*/
|
||||
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;
|
||||
};
|
||||
/**
|
||||
|
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.hasName('red'); // return true
|
||||
* node.hasName('selected'); // return false
|
||||
* node.hasName(''); // return false
|
||||
*/
|
||||
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;
|
||||
}
|
||||
/**
|
||||
|
@ -1242,6 +1242,8 @@ suite('Node', function() {
|
||||
assert.equal(circle.hasName('myCircle'), true);
|
||||
assert.equal(circle.hasName('foo'), true);
|
||||
assert.equal(circle.hasName('boo'), false);
|
||||
// should return false for empty name
|
||||
assert.equal(layer.hasName(''), false);
|
||||
assert.equal(stage.findOne('.foo'), circle);
|
||||
|
||||
// removing name
|
||||
|
Loading…
Reference in New Issue
Block a user