逐步完成前后端服务器
This commit is contained in:
143
frontend/node_modules/echarts/lib/animation/customGraphicKeyframeAnimation.js
generated
vendored
Normal file
143
frontend/node_modules/echarts/lib/animation/customGraphicKeyframeAnimation.js
generated
vendored
Normal file
@ -0,0 +1,143 @@
|
||||
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* AUTO-GENERATED FILE. DO NOT MODIFY.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
import { keys, filter, each, isArray, indexOf } from 'zrender/lib/core/util.js';
|
||||
import { ELEMENT_ANIMATABLE_PROPS } from './customGraphicTransition.js';
|
||||
import { getAnimationConfig } from './basicTransition.js';
|
||||
import { warn } from '../util/log.js';
|
||||
import { makeInner } from '../util/model.js';
|
||||
var getStateToRestore = makeInner();
|
||||
var KEYFRAME_EXCLUDE_KEYS = ['percent', 'easing', 'shape', 'style', 'extra'];
|
||||
/**
|
||||
* Stop previous keyframe animation and restore the attributes.
|
||||
* Avoid new keyframe animation starts with wrong internal state when the percent: 0 is not set.
|
||||
*/
|
||||
export function stopPreviousKeyframeAnimationAndRestore(el) {
|
||||
// Stop previous keyframe animation.
|
||||
el.stopAnimation('keyframe');
|
||||
// Restore
|
||||
el.attr(getStateToRestore(el));
|
||||
}
|
||||
export function applyKeyframeAnimation(el, animationOpts, animatableModel) {
|
||||
if (!animatableModel.isAnimationEnabled() || !animationOpts) {
|
||||
return;
|
||||
}
|
||||
if (isArray(animationOpts)) {
|
||||
each(animationOpts, function (singleAnimationOpts) {
|
||||
applyKeyframeAnimation(el, singleAnimationOpts, animatableModel);
|
||||
});
|
||||
return;
|
||||
}
|
||||
var keyframes = animationOpts.keyframes;
|
||||
var duration = animationOpts.duration;
|
||||
if (animatableModel && duration == null) {
|
||||
// Default to use duration of config.
|
||||
// NOTE: animation config from payload will be ignored because they are mainly for transitions.
|
||||
var config = getAnimationConfig('enter', animatableModel, 0);
|
||||
duration = config && config.duration;
|
||||
}
|
||||
if (!keyframes || !duration) {
|
||||
return;
|
||||
}
|
||||
var stateToRestore = getStateToRestore(el);
|
||||
each(ELEMENT_ANIMATABLE_PROPS, function (targetPropName) {
|
||||
if (targetPropName && !el[targetPropName]) {
|
||||
return;
|
||||
}
|
||||
var animator;
|
||||
var endFrameIsSet = false;
|
||||
// Sort keyframes by percent.
|
||||
keyframes.sort(function (a, b) {
|
||||
return a.percent - b.percent;
|
||||
});
|
||||
each(keyframes, function (kf) {
|
||||
// Stop current animation.
|
||||
var animators = el.animators;
|
||||
var kfValues = targetPropName ? kf[targetPropName] : kf;
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
if (kf.percent >= 1) {
|
||||
endFrameIsSet = true;
|
||||
}
|
||||
}
|
||||
if (!kfValues) {
|
||||
return;
|
||||
}
|
||||
var propKeys = keys(kfValues);
|
||||
if (!targetPropName) {
|
||||
// PENDING performance?
|
||||
propKeys = filter(propKeys, function (key) {
|
||||
return indexOf(KEYFRAME_EXCLUDE_KEYS, key) < 0;
|
||||
});
|
||||
}
|
||||
if (!propKeys.length) {
|
||||
return;
|
||||
}
|
||||
if (!animator) {
|
||||
animator = el.animate(targetPropName, animationOpts.loop, true);
|
||||
animator.scope = 'keyframe';
|
||||
}
|
||||
for (var i = 0; i < animators.length; i++) {
|
||||
// Stop all other animation that is not keyframe.
|
||||
if (animators[i] !== animator && animators[i].targetName === animator.targetName) {
|
||||
animators[i].stopTracks(propKeys);
|
||||
}
|
||||
}
|
||||
targetPropName && (stateToRestore[targetPropName] = stateToRestore[targetPropName] || {});
|
||||
var savedTarget = targetPropName ? stateToRestore[targetPropName] : stateToRestore;
|
||||
each(propKeys, function (key) {
|
||||
// Save original value.
|
||||
savedTarget[key] = ((targetPropName ? el[targetPropName] : el) || {})[key];
|
||||
});
|
||||
animator.whenWithKeys(duration * kf.percent, kfValues, propKeys, kf.easing);
|
||||
});
|
||||
if (!animator) {
|
||||
return;
|
||||
}
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
if (!endFrameIsSet) {
|
||||
warn('End frame with percent: 1 is missing in the keyframeAnimation.', true);
|
||||
}
|
||||
}
|
||||
animator.delay(animationOpts.delay || 0).duration(duration).start(animationOpts.easing);
|
||||
});
|
||||
}
|
Reference in New Issue
Block a user