mirror of
https://github.com/konvajs/konva.git
synced 2025-06-28 05:10:26 +08:00
fix: type improve
This commit is contained in:
parent
8e620e1846
commit
217fd86331
@ -3,7 +3,7 @@ import { Layer } from './Layer';
|
||||
import { IFrame, AnimationFn } from './types';
|
||||
import { Util } from './Util';
|
||||
|
||||
var now = (function (): () => number {
|
||||
const now = (function (): () => number {
|
||||
if (glob.performance && glob.performance.now) {
|
||||
return function () {
|
||||
return glob.performance.now();
|
||||
@ -61,21 +61,12 @@ export class Animation {
|
||||
* @param {Konva.Layer|Array} [layers] layer(s) to be redrawn. Can be a layer, an array of layers, or null. Not specifying a node will result in no redraw.
|
||||
* @return {Konva.Animation} this
|
||||
*/
|
||||
setLayers(layers) {
|
||||
var lays = [];
|
||||
setLayers(layers:null | Layer | Layer[]) {
|
||||
let lays: Layer[] = [];
|
||||
// if passing in no layers
|
||||
if (!layers) {
|
||||
lays = [];
|
||||
} else if (layers.length > 0) {
|
||||
// if passing in an array of Layers
|
||||
// NOTE: layers could be an array. for simplicity, I'm just inspecting
|
||||
// the length property to check for both cases
|
||||
lays = layers;
|
||||
} else {
|
||||
// if passing in a Layer
|
||||
lays = [layers];
|
||||
if (layers) {
|
||||
lays = Array.isArray(layers)? layers : [layers]
|
||||
}
|
||||
|
||||
this.layers = lays;
|
||||
return this;
|
||||
}
|
||||
@ -95,13 +86,12 @@ export class Animation {
|
||||
* @param {Konva.Layer} layer to add
|
||||
* @return {Bool} true if layer is added to animation, otherwise false
|
||||
*/
|
||||
addLayer(layer) {
|
||||
var layers = this.layers,
|
||||
len = layers.length,
|
||||
n;
|
||||
addLayer(layer: Layer) {
|
||||
const layers = this.layers
|
||||
const len = layers.length
|
||||
|
||||
// don't add the layer if it already exists
|
||||
for (n = 0; n < len; n++) {
|
||||
for (let n = 0; n < len; n++) {
|
||||
if (layers[n]._id === layer._id) {
|
||||
return false;
|
||||
}
|
||||
@ -117,12 +107,11 @@ export class Animation {
|
||||
* @return {Bool} is animation running?
|
||||
*/
|
||||
isRunning() {
|
||||
var a = Animation,
|
||||
animations = a.animations,
|
||||
len = animations.length,
|
||||
n;
|
||||
const a = Animation
|
||||
const animations = a.animations
|
||||
const len = animations.length
|
||||
|
||||
for (n = 0; n < len; n++) {
|
||||
for (let n = 0; n < len; n++) {
|
||||
if (animations[n].id === this.id) {
|
||||
return true;
|
||||
}
|
||||
@ -152,7 +141,7 @@ export class Animation {
|
||||
Animation._removeAnimation(this);
|
||||
return this;
|
||||
}
|
||||
_updateFrameObject(time) {
|
||||
_updateFrameObject(time: number) {
|
||||
this.frame.timeDiff = time - this.frame.lastTime;
|
||||
this.frame.lastTime = time;
|
||||
this.frame.time += this.frame.timeDiff;
|
||||
@ -168,12 +157,11 @@ export class Animation {
|
||||
this._handleAnimation();
|
||||
}
|
||||
static _removeAnimation(anim) {
|
||||
var id = anim.id,
|
||||
animations = this.animations,
|
||||
len = animations.length,
|
||||
n;
|
||||
const id = anim.id
|
||||
const animations = this.animations
|
||||
const len = animations.length
|
||||
|
||||
for (n = 0; n < len; n++) {
|
||||
for (let n = 0; n < len; n++) {
|
||||
if (animations[n].id === id) {
|
||||
this.animations.splice(n, 1);
|
||||
break;
|
||||
@ -182,17 +170,8 @@ export class Animation {
|
||||
}
|
||||
|
||||
static _runFrames() {
|
||||
var layerHash = {},
|
||||
animations = this.animations,
|
||||
anim,
|
||||
layers,
|
||||
func,
|
||||
n,
|
||||
i,
|
||||
layersLen,
|
||||
layer,
|
||||
key,
|
||||
needRedraw;
|
||||
const layerHash = {}
|
||||
const animations = this.animations
|
||||
/*
|
||||
* loop through all animations and execute animation
|
||||
* function. if the animation object has specified node,
|
||||
@ -205,15 +184,16 @@ export class Animation {
|
||||
* the for loop is running, causing a JS error
|
||||
*/
|
||||
|
||||
for (n = 0; n < animations.length; n++) {
|
||||
anim = animations[n];
|
||||
layers = anim.layers;
|
||||
func = anim.func;
|
||||
for (let n = 0; n < animations.length; n++) {
|
||||
const anim = animations[n];
|
||||
const layers = anim.layers;
|
||||
const func = anim.func;
|
||||
|
||||
anim._updateFrameObject(now());
|
||||
layersLen = layers.length;
|
||||
const layersLen = layers.length;
|
||||
|
||||
// if animation object has a function, execute it
|
||||
let needRedraw
|
||||
if (func) {
|
||||
// allow anim bypassing drawing
|
||||
needRedraw = func.call(anim, anim.frame) !== false;
|
||||
@ -223,8 +203,8 @@ export class Animation {
|
||||
if (!needRedraw) {
|
||||
continue;
|
||||
}
|
||||
for (i = 0; i < layersLen; i++) {
|
||||
layer = layers[i];
|
||||
for (let i = 0; i < layersLen; i++) {
|
||||
const layer = layers[i];
|
||||
|
||||
if (layer._id !== undefined) {
|
||||
layerHash[layer._id] = layer;
|
||||
@ -232,7 +212,7 @@ export class Animation {
|
||||
}
|
||||
}
|
||||
|
||||
for (key in layerHash) {
|
||||
for (let key in layerHash) {
|
||||
if (!layerHash.hasOwnProperty(key)) {
|
||||
continue;
|
||||
}
|
||||
@ -240,7 +220,7 @@ export class Animation {
|
||||
}
|
||||
}
|
||||
static _animationLoop() {
|
||||
var Anim = Animation;
|
||||
const Anim = Animation;
|
||||
if (Anim.animations.length) {
|
||||
Anim._runFrames();
|
||||
Util.requestAnimFrame(Anim._animationLoop);
|
||||
|
Loading…
Reference in New Issue
Block a user