You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@echarts.apache.org by sh...@apache.org on 2020/06/01 05:18:40 UTC
[incubator-echarts] 01/02: feat: support state transition in geo
component
This is an automated email from the ASF dual-hosted git repository.
shenyi pushed a commit to branch label-enhancement
in repository https://gitbox.apache.org/repos/asf/incubator-echarts.git
commit 4062b9f55960447eb66053dfceaf3e7c7307bf4d
Author: pissang <bm...@gmail.com>
AuthorDate: Fri May 29 09:45:34 2020 +0800
feat: support state transition in geo component
---
src/coord/geo/GeoModel.ts | 5 ++++-
src/echarts.ts | 13 +++++++++----
2 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/src/coord/geo/GeoModel.ts b/src/coord/geo/GeoModel.ts
index 6c8dee3..5cd4827 100644
--- a/src/coord/geo/GeoModel.ts
+++ b/src/coord/geo/GeoModel.ts
@@ -32,7 +32,8 @@ import {
ZRColor,
LabelOption,
DisplayState,
- RoamOptionMixin
+ RoamOptionMixin,
+ AnimationOption
} from '../../util/types';
import { NameMap } from './geoTypes';
import GlobalModel from '../../model/Global';
@@ -98,6 +99,8 @@ export interface GeoOption extends
};
regions: RegoinOption[];
+
+ stateAnimation?: AnimationOption
}
const LABEL_FORMATTER_NORMAL = ['label', 'formatter'] as const;
diff --git a/src/echarts.ts b/src/echarts.ts
index 3a68ce7..485e058 100644
--- a/src/echarts.ts
+++ b/src/echarts.ts
@@ -1670,9 +1670,14 @@ class ECharts extends Eventful {
const componentModel = componentView.__model;
componentView.render(componentModel, ecModel, api, payload);
+ clearStates(componentModel, componentView);
+
updateZ(componentModel, componentView);
updateHoverEmphasisHandler(componentView);
+
+ updateStates(componentModel, componentView);
});
+
};
/**
@@ -1827,7 +1832,7 @@ class ECharts extends Eventful {
};
// Clear states without animation.
// TODO States on component.
- function clearStates(seriesModel: SeriesModel, view: ChartView): void {
+ function clearStates(model: ComponentModel, view: ComponentView | ChartView): void {
view.group.traverse(function (el: Displayable) {
// TODO If el is incremental.
if (el.hasState()) {
@@ -1848,9 +1853,9 @@ class ECharts extends Eventful {
});
}
- function updateStates(seriesModel: SeriesModel, view: ChartView): void {
- const stateAnimationModel = seriesModel.getModel('stateAnimation');
- const enableAnimation = seriesModel.isAnimationEnabled();
+ function updateStates(model: ComponentModel, view: ComponentView | ChartView): void {
+ const stateAnimationModel = (model as SeriesModel).getModel('stateAnimation');
+ const enableAnimation = model.isAnimationEnabled();
view.group.traverse(function (el: Displayable) {
// Only updated on changed element. In case element is incremental and don't wan't to rerender.
if (el.__dirty && el.states && el.states.emphasis) {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org
For additional commands, e-mail: commits-help@echarts.apache.org