Skip to content

Commit a6b5520

Browse files
authored
Merge pull request #21117 from sz-p/feat-21089
feat(marker): markPoint markLine markArea support z option
2 parents 6fdbe8e + c9834b7 commit a6b5520

7 files changed

Lines changed: 615 additions & 402 deletions

File tree

src/component/marker/MarkLineModel.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ interface MarkLineStateOption {
3434
* itemStyle for symbol
3535
*/
3636
itemStyle?: ItemStyleOption
37-
label?: SeriesLineLabelOption,
37+
label?: SeriesLineLabelOption
3838
z2?: number
3939
}
4040
interface MarkLineDataItemOptionBase extends MarkLineStateOption,

src/component/marker/MarkerModel.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,8 @@ abstract class MarkerModel<Opts extends MarkerOption = MarkerOption> extends Com
108108
*/
109109
createdBySelf = false;
110110

111+
preventAutoZ = true;
112+
111113
static readonly dependencies = ['series', 'grid', 'polar', 'geo'];
112114

113115
__hostSeries: SeriesModel;

src/component/marker/MarkerView.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import { makeInner } from '../../util/model';
2626
import SeriesModel from '../../model/Series';
2727
import Group from 'zrender/src/graphic/Group';
2828
import { enterBlur, leaveBlur } from '../../util/states';
29+
import { traverseUpdateZ, retrieveZInfo } from '../../util/graphic';
2930

3031
const inner = makeInner<{
3132
keep: boolean
@@ -65,6 +66,8 @@ abstract class MarkerView extends ComponentView {
6566
markerGroupMap.each(item => {
6667
!inner(item).keep && this.group.remove(item.group);
6768
});
69+
70+
updateZ(ecModel, markerGroupMap, this.type as 'markPoint' | 'markLine' | 'markArea');
6871
}
6972

7073
markKeep(drawGroup: MarkerDraw) {
@@ -96,4 +99,25 @@ abstract class MarkerView extends ComponentView {
9699
): void;
97100
}
98101

102+
function updateZ(
103+
ecModel: GlobalModel,
104+
markerGroupMap: HashMap<MarkerDraw>,
105+
type: 'markPoint' | 'markLine' | 'markArea'
106+
): void {
107+
ecModel.eachSeries(seriesModel => {
108+
109+
const markerModel = MarkerModel.getMarkerModelFromSeries(
110+
seriesModel,
111+
type
112+
);
113+
114+
const markerDraw = markerGroupMap.get(seriesModel.id);
115+
116+
if (markerModel && markerDraw && markerDraw.group) {
117+
const { z, zlevel } = retrieveZInfo(markerModel);
118+
traverseUpdateZ(markerDraw.group, z, zlevel);
119+
}
120+
});
121+
}
122+
99123
export default MarkerView;

src/data/SeriesData.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ export interface DefaultDataVisual {
113113
symbolRotate?: number
114114
symbolKeepAspect?: boolean
115115
symbolOffset?: string | number | (string | number)[]
116-
z2: number,
116+
z2: number
117117
liftZ?: number
118118
// For legend.
119119
legendIcon?: string

0 commit comments

Comments
 (0)