mirror of
https://github.com/konvajs/konva.git
synced 2025-06-28 12:06:18 +08:00
some type fixes. close #869
This commit is contained in:
parent
fe9501a5f0
commit
010729dc19
25
konva.js
25
konva.js
@ -8,7 +8,7 @@
|
||||
* Konva JavaScript Framework v4.2.2
|
||||
* http://konvajs.org/
|
||||
* Licensed under the MIT
|
||||
* Date: Thu Mar 26 2020
|
||||
* Date: Sun Mar 29 2020
|
||||
*
|
||||
* Original work Copyright (C) 2011 - 2013 by Eric Rowell (KineticJS)
|
||||
* Modified work Copyright (C) 2014 - present by Anton Lavrenov (Konva)
|
||||
@ -5371,17 +5371,6 @@
|
||||
}
|
||||
return obj;
|
||||
};
|
||||
Container.prototype._getDescendants = function (arr) {
|
||||
var retArr = [];
|
||||
var len = arr.length;
|
||||
for (var n = 0; n < len; n++) {
|
||||
var node = arr[n];
|
||||
if (this.isAncestorOf(node)) {
|
||||
retArr.push(node);
|
||||
}
|
||||
}
|
||||
return retArr;
|
||||
};
|
||||
/**
|
||||
* determine if node is an ancestor
|
||||
* of descendant
|
||||
@ -5524,10 +5513,10 @@
|
||||
var dragSkip = !Konva.hitOnDragEnabled && layerUnderDrag;
|
||||
return layer && layer.hitGraphEnabled() && this.isVisible() && !dragSkip;
|
||||
};
|
||||
Container.prototype.getClientRect = function (attrs) {
|
||||
attrs = attrs || {};
|
||||
var skipTransform = attrs.skipTransform;
|
||||
var relativeTo = attrs.relativeTo;
|
||||
Container.prototype.getClientRect = function (config) {
|
||||
config = config || {};
|
||||
var skipTransform = config.skipTransform;
|
||||
var relativeTo = config.relativeTo;
|
||||
var minX, minY, maxX, maxY;
|
||||
var selfRect = {
|
||||
x: Infinity,
|
||||
@ -5543,8 +5532,8 @@
|
||||
}
|
||||
var rect = child.getClientRect({
|
||||
relativeTo: that,
|
||||
skipShadow: attrs.skipShadow,
|
||||
skipStroke: attrs.skipStroke
|
||||
skipShadow: config.skipShadow,
|
||||
skipStroke: config.skipStroke
|
||||
});
|
||||
// skip invisible children (like empty groups)
|
||||
if (rect.width === 0 && rect.height === 0) {
|
||||
|
4
konva.min.js
vendored
4
konva.min.js
vendored
File diff suppressed because one or more lines are too long
@ -187,7 +187,7 @@ export abstract class Container<ChildType extends Node> extends Node<
|
||||
* return node.getType() === 'Node' && node.getAbsoluteOpacity() < 1;
|
||||
* });
|
||||
*/
|
||||
find<ChildNode extends Node = Node>(selector): Collection<ChildNode> {
|
||||
find<ChildNode extends Node = Node>(selector): Collection<Node> {
|
||||
// protecting _generalFind to prevent user from accidentally adding
|
||||
// second argument and getting unexpected `findOne` result
|
||||
return this._generalFind<ChildNode>(selector, false);
|
||||
@ -217,12 +217,15 @@ export abstract class Container<ChildType extends Node> extends Node<
|
||||
* return node.getType() === 'Shape'
|
||||
* })
|
||||
*/
|
||||
findOne<ChildNode extends Node = Node>(selector): ChildNode {
|
||||
findOne<ChildNode extends Node = Node>(selector: string | Function): Node {
|
||||
var result = this._generalFind<ChildNode>(selector, true);
|
||||
return result.length > 0 ? result[0] : undefined;
|
||||
}
|
||||
_generalFind<ChildNode extends Node = Node>(selector, findOne) {
|
||||
var retArr: Array<ChildNode> = [];
|
||||
_generalFind<ChildNode extends Node = Node>(
|
||||
selector: string | Function,
|
||||
findOne: boolean
|
||||
) {
|
||||
var retArr: Array<Node> = [];
|
||||
|
||||
this._descendants(node => {
|
||||
const valid = node._isMatch(selector);
|
||||
@ -237,7 +240,7 @@ export abstract class Container<ChildType extends Node> extends Node<
|
||||
|
||||
return Collection.toCollection(retArr);
|
||||
}
|
||||
private _descendants(fn) {
|
||||
private _descendants(fn: (n: Node) => boolean) {
|
||||
let shouldStop = false;
|
||||
for (var i = 0; i < this.children.length; i++) {
|
||||
const child = this.children[i];
|
||||
@ -270,18 +273,6 @@ export abstract class Container<ChildType extends Node> extends Node<
|
||||
|
||||
return obj;
|
||||
}
|
||||
_getDescendants(arr) {
|
||||
var retArr = [];
|
||||
var len = arr.length;
|
||||
for (var n = 0; n < len; n++) {
|
||||
var node = arr[n];
|
||||
if (this.isAncestorOf(node)) {
|
||||
retArr.push(node);
|
||||
}
|
||||
}
|
||||
|
||||
return retArr;
|
||||
}
|
||||
/**
|
||||
* determine if node is an ancestor
|
||||
* of descendant
|
||||
@ -289,7 +280,7 @@ export abstract class Container<ChildType extends Node> extends Node<
|
||||
* @name Konva.Container#isAncestorOf
|
||||
* @param {Konva.Node} node
|
||||
*/
|
||||
isAncestorOf(node) {
|
||||
isAncestorOf(node: Node) {
|
||||
var parent = node.getParent();
|
||||
while (parent) {
|
||||
if (parent._id === this._id) {
|
||||
@ -300,7 +291,7 @@ export abstract class Container<ChildType extends Node> extends Node<
|
||||
|
||||
return false;
|
||||
}
|
||||
clone(obj?) {
|
||||
clone(obj?: any) {
|
||||
// call super method
|
||||
var node = Node.prototype.clone.call(this, obj);
|
||||
|
||||
@ -455,10 +446,15 @@ export abstract class Container<ChildType extends Node> extends Node<
|
||||
var dragSkip = !Konva.hitOnDragEnabled && layerUnderDrag;
|
||||
return layer && layer.hitGraphEnabled() && this.isVisible() && !dragSkip;
|
||||
}
|
||||
getClientRect(attrs): IRect {
|
||||
attrs = attrs || {};
|
||||
var skipTransform = attrs.skipTransform;
|
||||
var relativeTo = attrs.relativeTo;
|
||||
getClientRect(config?: {
|
||||
skipTransform?: boolean;
|
||||
skipShadow?: boolean;
|
||||
skipStroke?: boolean;
|
||||
relativeTo?: Container<Node>;
|
||||
}): IRect {
|
||||
config = config || {};
|
||||
var skipTransform = config.skipTransform;
|
||||
var relativeTo = config.relativeTo;
|
||||
|
||||
var minX, minY, maxX, maxY;
|
||||
var selfRect = {
|
||||
@ -476,8 +472,8 @@ export abstract class Container<ChildType extends Node> extends Node<
|
||||
|
||||
var rect = child.getClientRect({
|
||||
relativeTo: that,
|
||||
skipShadow: attrs.skipShadow,
|
||||
skipStroke: attrs.skipStroke
|
||||
skipShadow: config.skipShadow,
|
||||
skipStroke: config.skipStroke
|
||||
});
|
||||
|
||||
// skip invisible children (like empty groups)
|
||||
|
@ -2247,12 +2247,7 @@ export abstract class Node<Config extends NodeConfig = NodeConfig> {
|
||||
!stopBubble
|
||||
) {
|
||||
if (compareShape && compareShape.parent) {
|
||||
this._fireAndBubble.call(
|
||||
this.parent,
|
||||
eventType,
|
||||
evt,
|
||||
compareShape
|
||||
);
|
||||
this._fireAndBubble.call(this.parent, eventType, evt, compareShape);
|
||||
} else {
|
||||
this._fireAndBubble.call(this.parent, eventType, evt);
|
||||
}
|
||||
|
@ -1,6 +1,4 @@
|
||||
suite('Collection', function() {
|
||||
var util;
|
||||
|
||||
test('test collection method mapping', function() {
|
||||
// Node method
|
||||
assert.notEqual(Konva.Collection.prototype.on, undefined);
|
||||
|
Loading…
Reference in New Issue
Block a user