@visactor/vchart 1.9.6-alpha.7 → 1.9.6-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/es5/index.js +1 -1
- package/build/index.js +19 -7
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/chart/stack.js +1 -2
- package/cjs/compile/grammar-item.js +2 -1
- package/cjs/compile/mark/util.js +1 -3
- package/cjs/compile/mark/util.js.map +1 -1
- package/cjs/component/axis/base-axis.js +1 -1
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/polar/axis.js.map +1 -1
- package/cjs/component/custom-mark/custom-mark.d.ts +1 -0
- package/cjs/component/custom-mark/custom-mark.js +12 -1
- package/cjs/component/custom-mark/custom-mark.js.map +1 -1
- package/cjs/component/indicator/indicator.js.map +1 -1
- package/cjs/component/label/base-label.js.map +1 -1
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/event/interface.d.ts +1 -1
- package/cjs/event/interface.js.map +1 -1
- package/cjs/region/region.js +1 -1
- package/cjs/region/region.js.map +1 -1
- package/esm/chart/stack.js +1 -2
- package/esm/compile/grammar-item.js +2 -1
- package/esm/compile/mark/util.js +1 -3
- package/esm/compile/mark/util.js.map +1 -1
- package/esm/component/axis/base-axis.js +1 -1
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/polar/axis.js.map +1 -1
- package/esm/component/custom-mark/custom-mark.d.ts +1 -0
- package/esm/component/custom-mark/custom-mark.js +13 -0
- package/esm/component/custom-mark/custom-mark.js.map +1 -1
- package/esm/component/indicator/indicator.js.map +1 -1
- package/esm/component/label/base-label.js.map +1 -1
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +1 -1
- package/esm/core/index.js.map +1 -1
- package/esm/event/interface.d.ts +1 -1
- package/esm/event/interface.js.map +1 -1
- package/esm/region/region.js +1 -1
- package/esm/region/region.js.map +1 -1
- package/package.json +4 -4
package/esm/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAG3B,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC;AAMvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAK5B,cAAc,uBAAuB,CAAC;AAGtC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGjD,cAAc,WAAW,CAAC","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"1.9.6-alpha.
|
|
1
|
+
{"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAG3B,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC;AAMvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAK5B,cAAc,uBAAuB,CAAC;AAGtC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGjD,cAAc,WAAW,CAAC","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"1.9.6-alpha.8\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\n\nexport * from '../typings/spec/common';\nexport * from '../event/interface';\nexport * from '../theme/interface';\nexport * from '../constant';\nexport * from './interface';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport { vglobal } from '@visactor/vrender-core';\n\n// plugin\nexport * from '../plugin';\n"]}
|
package/esm/event/interface.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ import type { TooltipEventParams } from '../component/tooltip/interface/event';
|
|
|
12
12
|
import type { ILayoutItem } from '../layout/interface';
|
|
13
13
|
export type EventType = 'pointerdown' | 'pointerup' | 'pointerupoutside' | 'pointertap' | 'pointerover' | 'pointermove' | 'pointerenter' | 'pointerleave' | 'pointerout' | 'mousedown' | 'mouseup' | 'mouseupoutside' | 'rightdown' | 'rightup' | 'rightupoutside' | 'click' | 'dblclick' | 'mousemove' | 'mouseover' | 'mouseout' | 'mouseenter' | 'mouseleave' | 'wheel' | 'touchstart' | 'touchend' | 'touchendoutside' | 'touchmove' | 'touchcancel' | 'tap' | 'dragstart' | 'drag' | 'dragenter' | 'dragleave' | 'dragover' | 'dragend' | 'drop' | 'pan' | 'panstart' | 'panend' | 'press' | 'pressup' | 'pressend' | 'pinch' | 'pinchstart' | 'pinchend' | 'swipe' | keyof typeof ChartEvent | keyof typeof VGRAMMAR_HOOK_EVENT | string;
|
|
14
14
|
export type EventBubbleLevel = keyof typeof Event_Bubble_Level;
|
|
15
|
-
export type ComponentType = 'axis' | 'dataZoom' | 'indicator' | 'legend' | 'mapLabel' | 'markLine' | 'markArea' | 'markPoint' | 'tooltip' | 'title' | 'label' | 'totalLabel';
|
|
15
|
+
export type ComponentType = 'axis' | 'dataZoom' | 'indicator' | 'legend' | 'mapLabel' | 'markLine' | 'markArea' | 'markPoint' | 'tooltip' | 'title' | 'label' | 'totalLabel' | 'customMark';
|
|
16
16
|
export type EventTargetType = MarkType | ComponentType | SeriesType;
|
|
17
17
|
export type EventSourceType = keyof typeof Event_Source_Type;
|
|
18
18
|
export type EventQuery = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/event/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IGraphic } from '@visactor/vrender-core';\nimport type { IElement } from '@visactor/vgrammar-core';\nimport type { IChart } from '../chart/interface';\nimport type { IModel } from '../model/interface';\nimport type { IMark, MarkType } from '../mark/interface';\nimport type { VChart } from '../core/vchart';\nimport type { DimensionEventParams } from './events/dimension/interface';\nimport type { Datum, IPoint, StringOrNumber } from '../typings';\nimport type { ChartEvent, Event_Bubble_Level, Event_Source_Type, VGRAMMAR_HOOK_EVENT } from '../constant';\nimport type { SeriesType } from '../series/interface';\nimport type { TooltipEventParams } from '../component/tooltip/interface/event';\nimport type { ILayoutItem } from '../layout/interface';\n\nexport type EventType =\n | 'pointerdown'\n | 'pointerup'\n | 'pointerupoutside'\n | 'pointertap'\n | 'pointerover'\n | 'pointermove'\n | 'pointerenter'\n | 'pointerleave'\n | 'pointerout'\n | 'mousedown'\n | 'mouseup'\n | 'mouseupoutside'\n | 'rightdown'\n | 'rightup'\n | 'rightupoutside'\n | 'click'\n | 'dblclick'\n | 'mousemove'\n | 'mouseover'\n | 'mouseout'\n | 'mouseenter'\n | 'mouseleave'\n | 'wheel'\n | 'touchstart'\n | 'touchend'\n | 'touchendoutside'\n | 'touchmove'\n | 'touchcancel'\n | 'tap'\n | 'dragstart'\n | 'drag'\n | 'dragenter'\n | 'dragleave'\n | 'dragover'\n | 'dragend'\n | 'drop'\n | 'pan'\n | 'panstart'\n | 'panend'\n | 'press'\n | 'pressup'\n | 'pressend'\n | 'pinch'\n | 'pinchstart'\n | 'pinchend'\n | 'swipe'\n | keyof typeof ChartEvent\n | keyof typeof VGRAMMAR_HOOK_EVENT\n | string;\n\nexport type EventBubbleLevel = keyof typeof Event_Bubble_Level;\n\nexport type ComponentType =\n | 'axis'\n | 'dataZoom'\n | 'indicator'\n | 'legend'\n | 'mapLabel'\n | 'markLine'\n | 'markArea'\n | 'markPoint'\n | 'tooltip'\n | 'title'\n | 'label'\n | 'totalLabel';\nexport type EventTargetType = MarkType | ComponentType | SeriesType;\n\nexport type EventSourceType = keyof typeof Event_Source_Type;\n\n/**\n * 事件 API 中的事件筛选配置\n */\nexport type EventQuery = {\n /**\n * 事件的冒泡层级配置,其中 model 指的是图表的内部模型,包括 region、series 以及 component\n */\n level?: EventBubbleLevel;\n /**\n * 事件来源配置。\n * - `window`: window 事件\n * - `chart`: 图表事件\n */\n source?: EventSourceType;\n\n /**\n * vrender 图形节点名称\n */\n nodeName?: string;\n /**\n * mark 图元名称\n */\n markName?: string;\n /**\n * 仅在 level 为 'mark' 或者 'model' 的场景下使用,用于筛选 mark 类型或者图表组成元素模型类型\n */\n type?: EventTargetType;\n /**\n * 用户在 spec 上配置的 id\n */\n id?: StringOrNumber;\n /**\n * 自定义过滤函数\n * @param params\n * @returns\n */\n filter?: (params: Partial<BaseEventParams>) => boolean;\n\n throttle?: number;\n debounce?: number;\n /**\n * 是否阻止冒泡\n */\n consume?: boolean;\n};\n\nexport type EventParams = {\n /**\n * 事件对象\n */\n event?: SuperEvent;\n /**\n * 供不同的事件用于存储期望携带的数据\n */\n value?: any;\n /**\n * 事件来源的 mark\n */\n mark?: IMark;\n /**\n * 事件来源的 model\n */\n model?: IModel;\n /**\n * 事件来源的 chart\n */\n chart?: IChart;\n /**\n * 事件拾取到的图元的数据\n */\n datum?: Datum;\n /**\n * 拾取到的图形节点\n */\n node?: IGraphic;\n};\n\ntype SuperEvent = Event & {\n [key: string]: any;\n};\n\nexport type BaseEventParams = EventParams & {\n /**\n * 事件对象\n */\n event: SuperEvent;\n item: IElement;\n datum: Datum;\n source: EventSourceType;\n itemMap: Map<string, any>;\n};\n\nexport type EventCallback<Params extends EventParams> = (params: Params) => boolean | void;\n\n/**\n * 内部事件分发中所应用的事件筛选配置\n */\nexport type EventFilter = {\n source: EventSourceType;\n level: EventBubbleLevel;\n type: string | null;\n markName: string | null;\n nodeName: string | null;\n userId: StringOrNumber | null;\n filter: (params: Partial<BaseEventParams>) => boolean | null;\n};\n\nexport type EventHandler<Params extends EventParams> = {\n callback: EventCallback<Params>;\n query: EventQuery | null;\n // 如果有 debounce/throttle 配置则需要封装原始回调函数\n wrappedCallback?: EventCallback<Params>;\n // 转换后的事件筛选配置\n filter?: EventFilter;\n};\n\nexport type ExtendEventParam = EventParams & {\n event?: Event;\n item?: any;\n datum?: Datum;\n source?: EventSourceType;\n itemMap?: Map<string, any>;\n};\n\nexport type LayoutEventParam = {\n elements: (ILayoutItem & { type: string })[];\n} & Partial<BaseEventParams>;\n\nexport type PanEventParam = ExtendEventParam & {\n // x/y方向上的偏移值\n delta: [number, number];\n};\n\nexport type ZoomEventParam = ExtendEventParam & {\n // 缩放值\n scale: number;\n // 缩放中心\n scaleCenter: IPoint;\n};\n\nexport type EventParamsDefinition = {\n // 基础事件回调参数\n pointerdown: BaseEventParams;\n pointerup: BaseEventParams;\n pointerupoutside: BaseEventParams;\n pointertap: BaseEventParams;\n pointerover: BaseEventParams;\n pointermove: BaseEventParams;\n pointerenter: BaseEventParams;\n pointerleave: BaseEventParams;\n pointerout: BaseEventParams;\n mousedown: BaseEventParams;\n mouseup: BaseEventParams;\n mouseupoutside: BaseEventParams;\n rightdown: BaseEventParams;\n rightup: BaseEventParams;\n rightupoutside: BaseEventParams;\n click: BaseEventParams;\n dblclick: BaseEventParams;\n mousemove: BaseEventParams;\n mouseover: BaseEventParams;\n mouseout: BaseEventParams;\n mouseenter: BaseEventParams;\n mouseleave: BaseEventParams;\n wheel: BaseEventParams;\n touchstart: BaseEventParams;\n touchend: BaseEventParams;\n touchendoutside: BaseEventParams;\n touchmove: BaseEventParams;\n touchcancel: BaseEventParams;\n\n dragstart: BaseEventParams;\n drag: BaseEventParams;\n dragenter: BaseEventParams;\n dragleave: BaseEventParams;\n dragover: BaseEventParams;\n dragend: BaseEventParams;\n drop: BaseEventParams;\n\n tap: BaseEventParams;\n pan: BaseEventParams;\n panstart: BaseEventParams;\n panend: BaseEventParams;\n press: BaseEventParams;\n pressup: BaseEventParams;\n pressend: BaseEventParams;\n pinch: BaseEventParams;\n pinchstart: BaseEventParams;\n pinchend: BaseEventParams;\n swipe: BaseEventParams;\n\n // VChart 内置的扩展组合事件\n dimensionHover: DimensionEventParams;\n dimensionClick: DimensionEventParams;\n tooltipShow: TooltipEventParams;\n tooltipHide: TooltipEventParams;\n tooltipRelease: TooltipEventParams;\n afterLayout: LayoutEventParam;\n\n // 扩展事件参数\n [key: string]: ExtendEventParam;\n};\n\nexport interface IEventDispatcher {\n globalInstance: VChart;\n register: <Evt extends EventType>(eType: Evt, handler: EventHandler<EventParamsDefinition[Evt]>) => this;\n unregister: <Evt extends EventType>(eType: Evt, handler?: EventHandler<EventParamsDefinition[Evt]>) => this;\n dispatch: <Evt extends EventType>(eType: Evt, params?: EventParamsDefinition[Evt], level?: EventBubbleLevel) => this;\n release: () => void;\n}\n\nexport interface IEvent {\n on: (<Evt extends EventType>(eType: Evt, callback: EventCallback<EventParamsDefinition[Evt]>) => this) &\n (<Evt extends EventType>(\n eType: Evt,\n query: EventQuery,\n callback: EventCallback<EventParamsDefinition[Evt]>\n ) => this);\n off: (<Evt extends EventType>(eType: Evt, callback?: EventCallback<EventParamsDefinition[Evt]>) => this) &\n (<Evt extends EventType>(\n eType: Evt,\n query: EventQuery,\n callback: EventCallback<EventParamsDefinition[Evt]>\n ) => this);\n emit: <Evt extends EventType>(eType: Evt, params: EventParamsDefinition[Evt], level?: EventBubbleLevel) => void;\n release: () => void;\n\n getComposedEventMap: () => Map<EventCallback<EventParams>, { eventType: EventType; event: IComposedEvent }>;\n}\n\nexport interface IComposedEvent {\n register: <Evt extends EventType>(eType: Evt, handler: EventHandler<EventParamsDefinition[Evt]>) => void;\n unregister: () => void;\n dispatch: (v: unknown, opt: unknown) => unknown;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/event/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IGraphic } from '@visactor/vrender-core';\nimport type { IElement } from '@visactor/vgrammar-core';\nimport type { IChart } from '../chart/interface';\nimport type { IModel } from '../model/interface';\nimport type { IMark, MarkType } from '../mark/interface';\nimport type { VChart } from '../core/vchart';\nimport type { DimensionEventParams } from './events/dimension/interface';\nimport type { Datum, IPoint, StringOrNumber } from '../typings';\nimport type { ChartEvent, Event_Bubble_Level, Event_Source_Type, VGRAMMAR_HOOK_EVENT } from '../constant';\nimport type { SeriesType } from '../series/interface';\nimport type { TooltipEventParams } from '../component/tooltip/interface/event';\nimport type { ILayoutItem } from '../layout/interface';\n\nexport type EventType =\n | 'pointerdown'\n | 'pointerup'\n | 'pointerupoutside'\n | 'pointertap'\n | 'pointerover'\n | 'pointermove'\n | 'pointerenter'\n | 'pointerleave'\n | 'pointerout'\n | 'mousedown'\n | 'mouseup'\n | 'mouseupoutside'\n | 'rightdown'\n | 'rightup'\n | 'rightupoutside'\n | 'click'\n | 'dblclick'\n | 'mousemove'\n | 'mouseover'\n | 'mouseout'\n | 'mouseenter'\n | 'mouseleave'\n | 'wheel'\n | 'touchstart'\n | 'touchend'\n | 'touchendoutside'\n | 'touchmove'\n | 'touchcancel'\n | 'tap'\n | 'dragstart'\n | 'drag'\n | 'dragenter'\n | 'dragleave'\n | 'dragover'\n | 'dragend'\n | 'drop'\n | 'pan'\n | 'panstart'\n | 'panend'\n | 'press'\n | 'pressup'\n | 'pressend'\n | 'pinch'\n | 'pinchstart'\n | 'pinchend'\n | 'swipe'\n | keyof typeof ChartEvent\n | keyof typeof VGRAMMAR_HOOK_EVENT\n | string;\n\nexport type EventBubbleLevel = keyof typeof Event_Bubble_Level;\n\nexport type ComponentType =\n | 'axis'\n | 'dataZoom'\n | 'indicator'\n | 'legend'\n | 'mapLabel'\n | 'markLine'\n | 'markArea'\n | 'markPoint'\n | 'tooltip'\n | 'title'\n | 'label'\n | 'totalLabel'\n | 'customMark';\nexport type EventTargetType = MarkType | ComponentType | SeriesType;\n\nexport type EventSourceType = keyof typeof Event_Source_Type;\n\n/**\n * 事件 API 中的事件筛选配置\n */\nexport type EventQuery = {\n /**\n * 事件的冒泡层级配置,其中 model 指的是图表的内部模型,包括 region、series 以及 component\n */\n level?: EventBubbleLevel;\n /**\n * 事件来源配置。\n * - `window`: window 事件\n * - `chart`: 图表事件\n */\n source?: EventSourceType;\n\n /**\n * vrender 图形节点名称\n */\n nodeName?: string;\n /**\n * mark 图元名称\n */\n markName?: string;\n /**\n * 仅在 level 为 'mark' 或者 'model' 的场景下使用,用于筛选 mark 类型或者图表组成元素模型类型\n */\n type?: EventTargetType;\n /**\n * 用户在 spec 上配置的 id\n */\n id?: StringOrNumber;\n /**\n * 自定义过滤函数\n * @param params\n * @returns\n */\n filter?: (params: Partial<BaseEventParams>) => boolean;\n\n throttle?: number;\n debounce?: number;\n /**\n * 是否阻止冒泡\n */\n consume?: boolean;\n};\n\nexport type EventParams = {\n /**\n * 事件对象\n */\n event?: SuperEvent;\n /**\n * 供不同的事件用于存储期望携带的数据\n */\n value?: any;\n /**\n * 事件来源的 mark\n */\n mark?: IMark;\n /**\n * 事件来源的 model\n */\n model?: IModel;\n /**\n * 事件来源的 chart\n */\n chart?: IChart;\n /**\n * 事件拾取到的图元的数据\n */\n datum?: Datum;\n /**\n * 拾取到的图形节点\n */\n node?: IGraphic;\n};\n\ntype SuperEvent = Event & {\n [key: string]: any;\n};\n\nexport type BaseEventParams = EventParams & {\n /**\n * 事件对象\n */\n event: SuperEvent;\n item: IElement;\n datum: Datum;\n source: EventSourceType;\n itemMap: Map<string, any>;\n};\n\nexport type EventCallback<Params extends EventParams> = (params: Params) => boolean | void;\n\n/**\n * 内部事件分发中所应用的事件筛选配置\n */\nexport type EventFilter = {\n source: EventSourceType;\n level: EventBubbleLevel;\n type: string | null;\n markName: string | null;\n nodeName: string | null;\n userId: StringOrNumber | null;\n filter: (params: Partial<BaseEventParams>) => boolean | null;\n};\n\nexport type EventHandler<Params extends EventParams> = {\n callback: EventCallback<Params>;\n query: EventQuery | null;\n // 如果有 debounce/throttle 配置则需要封装原始回调函数\n wrappedCallback?: EventCallback<Params>;\n // 转换后的事件筛选配置\n filter?: EventFilter;\n};\n\nexport type ExtendEventParam = EventParams & {\n event?: Event;\n item?: any;\n datum?: Datum;\n source?: EventSourceType;\n itemMap?: Map<string, any>;\n};\n\nexport type LayoutEventParam = {\n elements: (ILayoutItem & { type: string })[];\n} & Partial<BaseEventParams>;\n\nexport type PanEventParam = ExtendEventParam & {\n // x/y方向上的偏移值\n delta: [number, number];\n};\n\nexport type ZoomEventParam = ExtendEventParam & {\n // 缩放值\n scale: number;\n // 缩放中心\n scaleCenter: IPoint;\n};\n\nexport type EventParamsDefinition = {\n // 基础事件回调参数\n pointerdown: BaseEventParams;\n pointerup: BaseEventParams;\n pointerupoutside: BaseEventParams;\n pointertap: BaseEventParams;\n pointerover: BaseEventParams;\n pointermove: BaseEventParams;\n pointerenter: BaseEventParams;\n pointerleave: BaseEventParams;\n pointerout: BaseEventParams;\n mousedown: BaseEventParams;\n mouseup: BaseEventParams;\n mouseupoutside: BaseEventParams;\n rightdown: BaseEventParams;\n rightup: BaseEventParams;\n rightupoutside: BaseEventParams;\n click: BaseEventParams;\n dblclick: BaseEventParams;\n mousemove: BaseEventParams;\n mouseover: BaseEventParams;\n mouseout: BaseEventParams;\n mouseenter: BaseEventParams;\n mouseleave: BaseEventParams;\n wheel: BaseEventParams;\n touchstart: BaseEventParams;\n touchend: BaseEventParams;\n touchendoutside: BaseEventParams;\n touchmove: BaseEventParams;\n touchcancel: BaseEventParams;\n\n dragstart: BaseEventParams;\n drag: BaseEventParams;\n dragenter: BaseEventParams;\n dragleave: BaseEventParams;\n dragover: BaseEventParams;\n dragend: BaseEventParams;\n drop: BaseEventParams;\n\n tap: BaseEventParams;\n pan: BaseEventParams;\n panstart: BaseEventParams;\n panend: BaseEventParams;\n press: BaseEventParams;\n pressup: BaseEventParams;\n pressend: BaseEventParams;\n pinch: BaseEventParams;\n pinchstart: BaseEventParams;\n pinchend: BaseEventParams;\n swipe: BaseEventParams;\n\n // VChart 内置的扩展组合事件\n dimensionHover: DimensionEventParams;\n dimensionClick: DimensionEventParams;\n tooltipShow: TooltipEventParams;\n tooltipHide: TooltipEventParams;\n tooltipRelease: TooltipEventParams;\n afterLayout: LayoutEventParam;\n\n // 扩展事件参数\n [key: string]: ExtendEventParam;\n};\n\nexport interface IEventDispatcher {\n globalInstance: VChart;\n register: <Evt extends EventType>(eType: Evt, handler: EventHandler<EventParamsDefinition[Evt]>) => this;\n unregister: <Evt extends EventType>(eType: Evt, handler?: EventHandler<EventParamsDefinition[Evt]>) => this;\n dispatch: <Evt extends EventType>(eType: Evt, params?: EventParamsDefinition[Evt], level?: EventBubbleLevel) => this;\n release: () => void;\n}\n\nexport interface IEvent {\n on: (<Evt extends EventType>(eType: Evt, callback: EventCallback<EventParamsDefinition[Evt]>) => this) &\n (<Evt extends EventType>(\n eType: Evt,\n query: EventQuery,\n callback: EventCallback<EventParamsDefinition[Evt]>\n ) => this);\n off: (<Evt extends EventType>(eType: Evt, callback?: EventCallback<EventParamsDefinition[Evt]>) => this) &\n (<Evt extends EventType>(\n eType: Evt,\n query: EventQuery,\n callback: EventCallback<EventParamsDefinition[Evt]>\n ) => this);\n emit: <Evt extends EventType>(eType: Evt, params: EventParamsDefinition[Evt], level?: EventBubbleLevel) => void;\n release: () => void;\n\n getComposedEventMap: () => Map<EventCallback<EventParams>, { eventType: EventType; event: IComposedEvent }>;\n}\n\nexport interface IComposedEvent {\n register: <Evt extends EventType>(eType: Evt, handler: EventHandler<EventParamsDefinition[Evt]>) => void;\n unregister: () => void;\n dispatch: (v: unknown, opt: unknown) => unknown;\n}\n"]}
|
package/esm/region/region.js
CHANGED
|
@@ -73,7 +73,7 @@ export class Region extends LayoutModel {
|
|
|
73
73
|
const clip = null !== (_a = this._spec.clip) && void 0 !== _a ? _a : this._getClipDefaultValue();
|
|
74
74
|
this._groupMark = this._createGroupMark("regionGroup", this.userId, this.layoutZIndex),
|
|
75
75
|
this._interactionMark = this._createGroupMark("regionInteractionGroup", this.userId + "_interaction", LayoutZIndex.Interaction),
|
|
76
|
-
this._spec.style
|
|
76
|
+
isEmpty(this._spec.style) || (this._backgroundMark = this._createMark({
|
|
77
77
|
type: "rect",
|
|
78
78
|
name: "regionBackground"
|
|
79
79
|
}), clip && (this._foregroundMark = this._createMark({
|
package/esm/region/region.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/region/region.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAQpE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAI9D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,MAAM,OAAO,MAA4C,SAAQ,WAAc;IAmB7E,WAAW;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC/B,CAAC;IACD,WAAW,CAAC,KAAa;QACvB,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IAChC,CAAC;IACD,YAAY,CAAC,KAAa;QACxB,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;IACjC,CAAC;IAGD,YAAY;QACV,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAGD,kBAAkB;QAChB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC;IAC1C,CAAC;IAOD,YAAY,IAAO,EAAE,GAAiB;;QACpC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAlDV,2BAAsB,GAAG,qBAA4B,CAAC;QACtD,cAAS,GAAW,QAAQ,CAAC;QAEtC,YAAO,GAAW,QAAQ,CAAC;QAE3B,SAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACT,YAAO,GAAc,EAAE,CAAC;QAClC,eAAU,GAAgB,QAAQ,CAAC;QACnC,iBAAY,GAAW,YAAY,CAAC,MAAM,CAAC;QAI3C,gBAAW,GAAiB,IAAI,WAAW,EAAE,CAAC;QAyQ9C,yBAAoB,GAAG,GAAG,EAAE;YAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACxE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACvB,IAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE;oBACzB,CAAC,CAAC,mBAAmB,EAAE,CAAC;iBACzB;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAkEF,oBAAe,GAAG,GAAG,EAAE;YACrB,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;gBACxC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;gBACxC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK;gBAC7E,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,MAAM;aAC/E,CAAC;QACJ,CAAC,CAAC;QAlTA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,UAAU,mCAAI,WAAW,CAAC;QACjD,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC;gBAChC,WAAW,EAAE,GAAG,CAAC,WAAW;aAC7B,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC5E,CAAC;IAES,oBAAoB;;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC;QACpD,MAAM,WAAW,GAAG,MAAA,MAAC,SAAiB,CAAC,QAAQ,0CAAE,IAAI,mDAAG,CAAC,KAAU,EAAE,EAAE;;YACrE,MAAM,UAAU,GAAG,MAAA,KAAK,CAAC,UAAU,2CAAsB,CAAC;YAC1D,OAAO,UAAU,WAAqB,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,MAAA,MAAC,SAAiB,CAAC,SAAS,0CAAE,IAAI,mDAAG,CAAC,KAAU,EAAE,EAAE;;YACvE,MAAM,UAAU,GAAG,MAAA,KAAK,CAAC,UAAU,yCAAoB,CAAC;YACxD,OAAO,UAAU,WAAqB,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,OAAO,WAAW,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;IACtE,CAAC;IAED,OAAO;;QACL,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAEvF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAC3C,wBAAwB,EACxB,IAAI,CAAC,MAAM,GAAG,cAAc,EAC5B,YAAY,CAAC,WAAW,CACzB,CAAC;QAGF,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,QAAmB,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAc,CAAC;YAC5G,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,QAAmB,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAc,CAAC;aAC7G;YACD,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC1D,IAAI,IAAI,EAAE;oBACR,IAAI,CAAC,OAAO,EAAE,CAAC;oBACf,IAAI,CAAC,YAAY,CACf,IAAI,EACJ;wBACE,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK;wBACvC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM;qBAC1C,EACD,QAAQ,EACR,cAAc,CAAC,QAAQ,CACxB,CAAC;oBACF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;iBAC/B;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;SAC/E;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,gBAAgB,CAAC,IAAY,EAAE,MAAsB,EAAE,MAAc;;QAC3E,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,SAAoB,EAAE,IAAI,EAAE,CAAe,CAAC;QACrF,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5B,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5D,IAAI,CAAC,YAAY,CACf,SAAS,EACT;YACE,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;YACrC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;YACrC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK;YACvC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM;YACzC,IAAI;SACL,EACD,QAAQ,EACR,cAAc,CAAC,QAAQ,CACxB,CAAC;QACF,IAAI,CAAC,YAAY,CACf,SAAS,EACT;YACE,YAAY,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,YAAY;SAC7C,EACD,QAAQ,EACR,cAAc,CAAC,SAAS,CACzB,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,MAAW;QACd,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAES,wBAAwB;;QAChC,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,eAAe,kBAElB,WAAW,EAAE,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,IAAI,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IACxC,IAAI,CAAC,KAAK,CAAC,KAAK,GAErB,QAAQ,EACR,cAAc,CAAC,SAAS,CACzB,CAAC;YACF,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;gBAClD,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,eAAe,EACpB;oBACE,aAAa,EAAE,CAAC;iBACjB,EACD,QAAQ,EACR,cAAc,CAAC,QAAQ,CACxB,CAAC;aACH;SACF;IACH,CAAC;IAES,wBAAwB;QAChC,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,eAAe,kCAEf,IAAI,CAAC,KAAK,CAAC,KAAK,KACnB,WAAW,EAAE,CAAC,KAEhB,QAAQ,EACR,cAAc,CAAC,SAAS,CACzB,CAAC;SACH;IACH,CAAC;IAED,YAAY,CAAC,IAAO,EAAE,QAAW;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,EAAE;YAC1C,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;SACtB;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAQ;QACb,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAED,SAAS,CAAC,CAAU;QAClB,IAAI,CAAC,CAAC,EAAE;YACN,OAAO;SACR;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACtB;IACH,CAAC;IAED,YAAY,CAAC,CAAU;QACrB,IAAI,CAAC,CAAC,EAAE;YACN,OAAO;SACR;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACrD,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC/B;IACH,CAAC;IAED,SAAS,CACP,MAQI,EAAE;QAEN,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,CAAC,CAAC,EAAE;;YACF,OAAA,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,MAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1D,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjF,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBACvC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA,MAAA,MAAA,CAAC,CAAC,UAAU,iDAAI,0CAAE,IAAI,MAAK,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;SAAA,CAClE,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,iBAAiB,CAAC,MAAc;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,aAAa,CAAC,EAAU;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,eAAe,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IACD,yBAAyB,CAAC,cAA8B;QACtD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,mBAAmB,CAAC,QAAgB;QAClC,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,GAAQ;IAEjB,CAAC;IAED,kBAAkB;QAChB,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,iBAAiB,EAAE,mCAAI,CAAC,CAAC,WAAW,EAAE,CAAA,EAAA,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACzG,CAAC;IAWD,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,aAAa;QACX,MAAM,cAAc,mCACf,IAAI,CAAC,OAAO,KACf,KAAK,EAAE,IAAI,EACX,WAAW,EAAE,IAAI,CAAC,WAAW,GAC9B,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACvD,CAAC;IAED,WAAW;QAGT,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACvB,CAAC,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAClC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;YACpC,OAAO;SACR;QAGD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACvB,CAAC,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAClC,KAAK,MAAM,GAAG,IAAI,wBAAwB,EAAE;oBAC1C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wBACzD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;qBACjE;iBACF;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,KAAmC;QAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;;YAC1B,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACrB,MAAA,CAAC,CAAC,UAAU,EAAE,0CACV,SAAS,CAAC;gBACV,OAAO,EAAE;oBACP,KAAK,EAAE,IAAI;iBACZ;aACF,EACA,MAAM,CACL,CAAC,KAAyB,EAAE,QAAiB,EAAE,kBAA+B,EAAE,OAAwB,EAAE,EAAE;YAE5G,CAAC,CACF,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;;QACL,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAWD,WAAW,CAAC,GAAQ;QAClB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;;AA5WM,WAAI,GAAG,QAAQ,CAAC;AACP,6BAAsB,GAAG,qBAAqB,CAAC;AAGxD,cAAO,GAAG,QAAQ,CAAC","file":"region.js","sourcesContent":["import type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEmpty, isEqual, array, isValid } from '@visactor/vutils';\nimport type { IGroupMark as IVGrammarGroupMark, ILayoutOptions, IMark } from '@visactor/vgrammar-core';\nimport { STATE_VALUE_ENUM_REVERSE } from '../compile/mark/interface';\nimport { DimensionTrigger } from '../interaction/dimension-trigger';\nimport { MarkTypeEnum } from '../mark/interface/type';\nimport type { ISeries } from '../series/interface';\nimport type { IModelOption } from '../model/interface';\nimport type { CoordinateType } from '../typings/coordinate';\nimport type { IRegion, IRegionSpec, IRegionSpecInfo } from './interface';\nimport type { IGroupMark } from '../mark/group';\nimport type { IInteraction, ITrigger } from '../interaction/interface';\nimport { Interaction } from '../interaction/interaction';\nimport { AttributeLevel, ChartEvent, LayoutZIndex } from '../constant';\nimport type { IRectMark } from '../mark/rect';\nimport { AnimateManager } from '../animation/animate-manager';\nimport type { IAnimate } from '../animation/interface';\nimport type { ILayoutType, StringOrNumber } from '../typings';\nimport { IFilterMode } from '../component/data-zoom/constant';\nimport { LayoutModel } from '../model/layout-model';\nimport { RegionSpecTransformer } from './region-transformer';\n\nexport class Region<T extends IRegionSpec = IRegionSpec> extends LayoutModel<T> implements IRegion {\n static type = 'region';\n static readonly transformerConstructor = RegionSpecTransformer;\n readonly transformerConstructor = RegionSpecTransformer as any;\n readonly modelType: string = 'region';\n static specKey = 'region';\n specKey: string = 'region';\n\n type = Region.type;\n protected _series: ISeries[] = [];\n layoutType: ILayoutType = 'region';\n layoutZIndex: number = LayoutZIndex.Region;\n\n animate?: IAnimate;\n\n interaction: IInteraction = new Interaction();\n\n declare getSpecInfo: () => IRegionSpecInfo;\n\n getMaxWidth() {\n return this._layout.maxWidth;\n }\n setMaxWidth(value: number) {\n this._layout.maxWidth = value;\n }\n\n getMaxHeight() {\n return this._layout.maxHeight;\n }\n setMaxHeight(value: number) {\n this._layout.maxHeight = value;\n }\n\n protected _groupMark!: IGroupMark;\n getGroupMark() {\n return this._groupMark;\n }\n\n protected _interactionMark!: IGroupMark;\n getInteractionMark() {\n return this._interactionMark;\n }\n\n getStackInverse() {\n return this._spec.stackInverse === true;\n }\n\n protected _backgroundMark?: IRectMark;\n protected _foregroundMark?: IRectMark;\n\n protected _trigger: ITrigger;\n\n constructor(spec: T, ctx: IModelOption) {\n super(spec, ctx);\n this.userId = spec.id;\n this.coordinate = spec.coordinate ?? 'cartesian';\n if (this._option.animation) {\n this.animate = new AnimateManager({\n getCompiler: ctx.getCompiler\n });\n }\n this.interaction.setDisableActiveEffect(this._option.disableTriggerEvent);\n }\n\n protected _getClipDefaultValue() {\n const chartSpec = this._option.getChart().getSpec();\n const hasDataZoom = (chartSpec as any).dataZoom?.some?.((entry: any) => {\n const filterMode = entry.filterMode ?? IFilterMode.filter;\n return filterMode === IFilterMode.axis;\n });\n const hasScrollBar = (chartSpec as any).scrollBar?.some?.((entry: any) => {\n const filterMode = entry.filterMode ?? IFilterMode.axis;\n return filterMode === IFilterMode.axis;\n });\n\n return hasDataZoom || hasScrollBar ? true : this._layout.layoutClip;\n }\n\n created(): void {\n this.initLayout();\n super.created();\n const clip = this._spec.clip ?? this._getClipDefaultValue();\n this._groupMark = this._createGroupMark('regionGroup', this.userId, this.layoutZIndex);\n // 交互层\n this._interactionMark = this._createGroupMark(\n 'regionInteractionGroup',\n this.userId + '_interaction',\n LayoutZIndex.Interaction\n );\n\n // hack: region 的样式不能设置在groupMark上,因为groupMark目前没有计算dirtyBound,会导致拖影问题\n if (this._spec.style) {\n this._backgroundMark = this._createMark({ type: MarkTypeEnum.rect, name: 'regionBackground' }) as IRectMark;\n if (clip) {\n this._foregroundMark = this._createMark({ type: MarkTypeEnum.rect, name: 'regionForeground' }) as IRectMark;\n }\n [this._backgroundMark, this._foregroundMark].forEach(mark => {\n if (mark) {\n mark.created();\n this.setMarkStyle(\n mark,\n {\n width: () => this.getLayoutRect().width,\n height: () => this.getLayoutRect().height\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this._groupMark.addMark(mark);\n }\n });\n this._backgroundMark && this._backgroundMark.setZIndex(0);\n this._foregroundMark && this._foregroundMark.setZIndex(LayoutZIndex.Mark + 1);\n }\n this.createTrigger();\n }\n\n private _createGroupMark(name: string, userId: StringOrNumber, zIndex: number) {\n const groupMark = this._createMark({ type: MarkTypeEnum.group, name }) as IGroupMark;\n groupMark.setUserId(userId);\n groupMark.setZIndex(zIndex);\n const clip = this._spec.clip ?? this._getClipDefaultValue();\n this.setMarkStyle(\n groupMark,\n {\n x: () => this.getLayoutStartPoint().x,\n y: () => this.getLayoutStartPoint().y,\n width: () => this.getLayoutRect().width,\n height: () => this.getLayoutRect().height,\n clip\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this.setMarkStyle(\n groupMark,\n {\n cornerRadius: this._spec.style?.cornerRadius\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n this._marks.addMark(groupMark);\n return groupMark;\n }\n\n init(option: any) {\n super.init(option);\n this.initMark();\n this.initSeriesDataflow();\n this.initInteraction();\n this.initTrigger();\n }\n initMark() {\n this._initBackgroundMarkStyle();\n this._initForegroundMarkStyle();\n }\n\n protected _initBackgroundMarkStyle() {\n if (this._backgroundMark) {\n this.setMarkStyle(\n this._backgroundMark,\n {\n fillOpacity: this._spec.style?.fill ? 1 : 0,\n ...this._spec.style\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n if (this._spec.clip ?? this._getClipDefaultValue()) {\n this.setMarkStyle(\n this._backgroundMark,\n {\n strokeOpacity: 0\n },\n 'normal',\n AttributeLevel.Built_In\n );\n }\n }\n }\n\n protected _initForegroundMarkStyle() {\n if (this._foregroundMark) {\n this.setMarkStyle(\n this._foregroundMark,\n {\n ...this._spec.style,\n fillOpacity: 0\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n }\n }\n\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (!isEqual(prevSpec?.style, spec?.style)) {\n result.reMake = true;\n }\n return result;\n }\n\n reInit(spec?: T) {\n super.reInit(spec);\n this._initBackgroundMarkStyle();\n this._initForegroundMarkStyle();\n }\n\n addSeries(s: ISeries) {\n if (!s) {\n return;\n }\n if (!this._series.includes(s)) {\n this._series.push(s);\n }\n }\n\n removeSeries(s: ISeries) {\n if (!s) {\n return;\n }\n const index = this._series.findIndex(s_ => s_ === s);\n if (index >= 0) {\n this._series.splice(index, 1);\n }\n }\n\n getSeries(\n opt: {\n name?: string;\n userId?: StringOrNumber | StringOrNumber[];\n specIndex?: number | number[];\n id?: StringOrNumber;\n type?: string;\n coordinateType?: CoordinateType;\n dataName?: string;\n } = {}\n ): ISeries[] {\n return this._series.filter(\n s =>\n (opt.name ? s?.name === opt.name : true) &&\n (opt.userId ? array(opt.userId).includes(s.userId) : true) &&\n (isValid(opt.specIndex) ? array(opt.specIndex).includes(s.getSpecIndex()) : true) &&\n (opt.id ? s.id === opt.id : true) &&\n (opt.type ? s.type === opt.type : true) &&\n (opt.coordinateType ? s.coordinate === opt.coordinateType : true) &&\n (opt.dataName ? s.getRawData?.()?.name === opt.dataName : true)\n );\n }\n\n getSeriesInName(name: string): ISeries {\n return this.getSeries({ name })[0];\n }\n getSeriesInUserId(userId: string): ISeries {\n return this.getSeries({ userId })[0];\n }\n getSeriesInId(id: number): ISeries {\n return this.getSeries({ id })[0];\n }\n getSeriesInType(type: string): ISeries[] {\n return this.getSeries({ type });\n }\n getSeriesInCoordinateType(coordinateType: CoordinateType): ISeries[] {\n return this.getSeries({ coordinateType });\n }\n getSeriesInDataName(dataName: string): ISeries[] {\n return this.getSeries({ dataName });\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n initSeriesDataflow() {\n const viewDataFilters = this._series.map(s => s.getViewDataFilter() ?? s.getViewData()).filter(v => !!v);\n this._option.dataSet.multipleDataViewAddListener(viewDataFilters, 'change', this.seriesDataFilterOver);\n }\n\n seriesDataFilterOver = () => {\n this.event.emit(ChartEvent.regionSeriesDataFilterOver, { model: this });\n this._series.forEach(s => {\n if (s.getViewDataFilter()) {\n s.reTransformViewData();\n }\n });\n };\n\n release() {\n super.release();\n this._series = [];\n }\n /** dimension */\n createTrigger() {\n const triggerOptions = {\n ...this._option,\n model: this,\n interaction: this.interaction\n };\n this._trigger = new DimensionTrigger(triggerOptions);\n }\n\n initTrigger() {\n // register all mark\n // trigger check mark enable\n this._series.forEach(s => {\n s.getMarksWithoutRoot().forEach(m => {\n this._trigger.registerMark(m);\n });\n });\n this._trigger.init();\n }\n\n initInteraction() {\n if (this._option.disableTriggerEvent) {\n return;\n }\n\n // 注册所有支持反选状态mark\n this._series.forEach(s => {\n s.getMarksWithoutRoot().forEach(m => {\n for (const key in STATE_VALUE_ENUM_REVERSE) {\n if (!isEmpty(m.stateStyle[STATE_VALUE_ENUM_REVERSE[key]])) {\n this.interaction.registerMark(STATE_VALUE_ENUM_REVERSE[key], m);\n }\n }\n });\n });\n }\n\n compileMarks(group?: string | IVGrammarGroupMark) {\n this.getMarks().forEach(m => {\n m.compile({ group });\n m.getProduct()\n ?.configure({\n context: {\n model: this\n }\n })\n .layout(\n (group: IVGrammarGroupMark, children: IMark[], parentLayoutBounds: IBoundsLike, options?: ILayoutOptions) => {\n // console.log('region mark layout');\n }\n );\n });\n }\n\n compile() {\n this.animate?.compile();\n this.compileMarks();\n }\n\n getBoundsInRect = () => {\n return {\n x1: this._layout.getLayoutStartPoint().x,\n y1: this._layout.getLayoutStartPoint().y,\n x2: this._layout.getLayoutStartPoint().x + this._layout.getLayoutRect().width,\n y2: this._layout.getLayoutStartPoint().y + this._layout.getLayoutRect().height\n };\n };\n\n onLayoutEnd(ctx: any): void {\n this._series.forEach(s => s.onLayoutEnd(ctx));\n super.onLayoutEnd(ctx);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/region/region.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAQpE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAI9D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,MAAM,OAAO,MAA4C,SAAQ,WAAc;IAmB7E,WAAW;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC/B,CAAC;IACD,WAAW,CAAC,KAAa;QACvB,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IAChC,CAAC;IACD,YAAY,CAAC,KAAa;QACxB,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;IACjC,CAAC;IAGD,YAAY;QACV,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAGD,kBAAkB;QAChB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC;IAC1C,CAAC;IAOD,YAAY,IAAO,EAAE,GAAiB;;QACpC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAlDV,2BAAsB,GAAG,qBAA4B,CAAC;QACtD,cAAS,GAAW,QAAQ,CAAC;QAEtC,YAAO,GAAW,QAAQ,CAAC;QAE3B,SAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACT,YAAO,GAAc,EAAE,CAAC;QAClC,eAAU,GAAgB,QAAQ,CAAC;QACnC,iBAAY,GAAW,YAAY,CAAC,MAAM,CAAC;QAI3C,gBAAW,GAAiB,IAAI,WAAW,EAAE,CAAC;QAyQ9C,yBAAoB,GAAG,GAAG,EAAE;YAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACxE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACvB,IAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE;oBACzB,CAAC,CAAC,mBAAmB,EAAE,CAAC;iBACzB;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAkEF,oBAAe,GAAG,GAAG,EAAE;YACrB,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;gBACxC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;gBACxC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK;gBAC7E,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,MAAM;aAC/E,CAAC;QACJ,CAAC,CAAC;QAlTA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,UAAU,mCAAI,WAAW,CAAC;QACjD,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC;gBAChC,WAAW,EAAE,GAAG,CAAC,WAAW;aAC7B,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC5E,CAAC;IAES,oBAAoB;;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC;QACpD,MAAM,WAAW,GAAG,MAAA,MAAC,SAAiB,CAAC,QAAQ,0CAAE,IAAI,mDAAG,CAAC,KAAU,EAAE,EAAE;;YACrE,MAAM,UAAU,GAAG,MAAA,KAAK,CAAC,UAAU,2CAAsB,CAAC;YAC1D,OAAO,UAAU,WAAqB,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,MAAA,MAAC,SAAiB,CAAC,SAAS,0CAAE,IAAI,mDAAG,CAAC,KAAU,EAAE,EAAE;;YACvE,MAAM,UAAU,GAAG,MAAA,KAAK,CAAC,UAAU,yCAAoB,CAAC;YACxD,OAAO,UAAU,WAAqB,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,OAAO,WAAW,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;IACtE,CAAC;IAED,OAAO;;QACL,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAEvF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAC3C,wBAAwB,EACxB,IAAI,CAAC,MAAM,GAAG,cAAc,EAC5B,YAAY,CAAC,WAAW,CACzB,CAAC;QAGF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,QAAmB,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAc,CAAC;YAC5G,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,QAAmB,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAc,CAAC;aAC7G;YACD,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC1D,IAAI,IAAI,EAAE;oBACR,IAAI,CAAC,OAAO,EAAE,CAAC;oBACf,IAAI,CAAC,YAAY,CACf,IAAI,EACJ;wBACE,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK;wBACvC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM;qBAC1C,EACD,QAAQ,EACR,cAAc,CAAC,QAAQ,CACxB,CAAC;oBACF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;iBAC/B;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;SAC/E;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,gBAAgB,CAAC,IAAY,EAAE,MAAsB,EAAE,MAAc;;QAC3E,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,SAAoB,EAAE,IAAI,EAAE,CAAe,CAAC;QACrF,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5B,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5D,IAAI,CAAC,YAAY,CACf,SAAS,EACT;YACE,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;YACrC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;YACrC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK;YACvC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM;YACzC,IAAI;SACL,EACD,QAAQ,EACR,cAAc,CAAC,QAAQ,CACxB,CAAC;QACF,IAAI,CAAC,YAAY,CACf,SAAS,EACT;YACE,YAAY,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,YAAY;SAC7C,EACD,QAAQ,EACR,cAAc,CAAC,SAAS,CACzB,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,MAAW;QACd,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAES,wBAAwB;;QAChC,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,eAAe,kBAElB,WAAW,EAAE,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,IAAI,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IACxC,IAAI,CAAC,KAAK,CAAC,KAAK,GAErB,QAAQ,EACR,cAAc,CAAC,SAAS,CACzB,CAAC;YACF,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;gBAClD,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,eAAe,EACpB;oBACE,aAAa,EAAE,CAAC;iBACjB,EACD,QAAQ,EACR,cAAc,CAAC,QAAQ,CACxB,CAAC;aACH;SACF;IACH,CAAC;IAES,wBAAwB;QAChC,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,eAAe,kCAEf,IAAI,CAAC,KAAK,CAAC,KAAK,KACnB,WAAW,EAAE,CAAC,KAEhB,QAAQ,EACR,cAAc,CAAC,SAAS,CACzB,CAAC;SACH;IACH,CAAC;IAED,YAAY,CAAC,IAAO,EAAE,QAAW;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,EAAE;YAC1C,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;SACtB;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAQ;QACb,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAED,SAAS,CAAC,CAAU;QAClB,IAAI,CAAC,CAAC,EAAE;YACN,OAAO;SACR;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACtB;IACH,CAAC;IAED,YAAY,CAAC,CAAU;QACrB,IAAI,CAAC,CAAC,EAAE;YACN,OAAO;SACR;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACrD,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC/B;IACH,CAAC;IAED,SAAS,CACP,MAQI,EAAE;QAEN,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CACxB,CAAC,CAAC,EAAE;;YACF,OAAA,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,MAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1D,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjF,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBACvC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA,MAAA,MAAA,CAAC,CAAC,UAAU,iDAAI,0CAAE,IAAI,MAAK,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;SAAA,CAClE,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,iBAAiB,CAAC,MAAc;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,aAAa,CAAC,EAAU;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,eAAe,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IACD,yBAAyB,CAAC,cAA8B;QACtD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,mBAAmB,CAAC,QAAgB;QAClC,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,GAAQ;IAEjB,CAAC;IAED,kBAAkB;QAChB,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,iBAAiB,EAAE,mCAAI,CAAC,CAAC,WAAW,EAAE,CAAA,EAAA,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACzG,CAAC;IAWD,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,aAAa;QACX,MAAM,cAAc,mCACf,IAAI,CAAC,OAAO,KACf,KAAK,EAAE,IAAI,EACX,WAAW,EAAE,IAAI,CAAC,WAAW,GAC9B,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACvD,CAAC;IAED,WAAW;QAGT,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACvB,CAAC,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAClC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;YACpC,OAAO;SACR;QAGD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACvB,CAAC,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAClC,KAAK,MAAM,GAAG,IAAI,wBAAwB,EAAE;oBAC1C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wBACzD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;qBACjE;iBACF;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,KAAmC;QAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;;YAC1B,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACrB,MAAA,CAAC,CAAC,UAAU,EAAE,0CACV,SAAS,CAAC;gBACV,OAAO,EAAE;oBACP,KAAK,EAAE,IAAI;iBACZ;aACF,EACA,MAAM,CACL,CAAC,KAAyB,EAAE,QAAiB,EAAE,kBAA+B,EAAE,OAAwB,EAAE,EAAE;YAE5G,CAAC,CACF,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;;QACL,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAWD,WAAW,CAAC,GAAQ;QAClB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;;AA5WM,WAAI,GAAG,QAAQ,CAAC;AACP,6BAAsB,GAAG,qBAAqB,CAAC;AAGxD,cAAO,GAAG,QAAQ,CAAC","file":"region.js","sourcesContent":["import type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEmpty, isEqual, array, isValid } from '@visactor/vutils';\nimport type { IGroupMark as IVGrammarGroupMark, ILayoutOptions, IMark } from '@visactor/vgrammar-core';\nimport { STATE_VALUE_ENUM_REVERSE } from '../compile/mark/interface';\nimport { DimensionTrigger } from '../interaction/dimension-trigger';\nimport { MarkTypeEnum } from '../mark/interface/type';\nimport type { ISeries } from '../series/interface';\nimport type { IModelOption } from '../model/interface';\nimport type { CoordinateType } from '../typings/coordinate';\nimport type { IRegion, IRegionSpec, IRegionSpecInfo } from './interface';\nimport type { IGroupMark } from '../mark/group';\nimport type { IInteraction, ITrigger } from '../interaction/interface';\nimport { Interaction } from '../interaction/interaction';\nimport { AttributeLevel, ChartEvent, LayoutZIndex } from '../constant';\nimport type { IRectMark } from '../mark/rect';\nimport { AnimateManager } from '../animation/animate-manager';\nimport type { IAnimate } from '../animation/interface';\nimport type { ILayoutType, StringOrNumber } from '../typings';\nimport { IFilterMode } from '../component/data-zoom/constant';\nimport { LayoutModel } from '../model/layout-model';\nimport { RegionSpecTransformer } from './region-transformer';\n\nexport class Region<T extends IRegionSpec = IRegionSpec> extends LayoutModel<T> implements IRegion {\n static type = 'region';\n static readonly transformerConstructor = RegionSpecTransformer;\n readonly transformerConstructor = RegionSpecTransformer as any;\n readonly modelType: string = 'region';\n static specKey = 'region';\n specKey: string = 'region';\n\n type = Region.type;\n protected _series: ISeries[] = [];\n layoutType: ILayoutType = 'region';\n layoutZIndex: number = LayoutZIndex.Region;\n\n animate?: IAnimate;\n\n interaction: IInteraction = new Interaction();\n\n declare getSpecInfo: () => IRegionSpecInfo;\n\n getMaxWidth() {\n return this._layout.maxWidth;\n }\n setMaxWidth(value: number) {\n this._layout.maxWidth = value;\n }\n\n getMaxHeight() {\n return this._layout.maxHeight;\n }\n setMaxHeight(value: number) {\n this._layout.maxHeight = value;\n }\n\n protected _groupMark!: IGroupMark;\n getGroupMark() {\n return this._groupMark;\n }\n\n protected _interactionMark!: IGroupMark;\n getInteractionMark() {\n return this._interactionMark;\n }\n\n getStackInverse() {\n return this._spec.stackInverse === true;\n }\n\n protected _backgroundMark?: IRectMark;\n protected _foregroundMark?: IRectMark;\n\n protected _trigger: ITrigger;\n\n constructor(spec: T, ctx: IModelOption) {\n super(spec, ctx);\n this.userId = spec.id;\n this.coordinate = spec.coordinate ?? 'cartesian';\n if (this._option.animation) {\n this.animate = new AnimateManager({\n getCompiler: ctx.getCompiler\n });\n }\n this.interaction.setDisableActiveEffect(this._option.disableTriggerEvent);\n }\n\n protected _getClipDefaultValue() {\n const chartSpec = this._option.getChart().getSpec();\n const hasDataZoom = (chartSpec as any).dataZoom?.some?.((entry: any) => {\n const filterMode = entry.filterMode ?? IFilterMode.filter;\n return filterMode === IFilterMode.axis;\n });\n const hasScrollBar = (chartSpec as any).scrollBar?.some?.((entry: any) => {\n const filterMode = entry.filterMode ?? IFilterMode.axis;\n return filterMode === IFilterMode.axis;\n });\n\n return hasDataZoom || hasScrollBar ? true : this._layout.layoutClip;\n }\n\n created(): void {\n this.initLayout();\n super.created();\n const clip = this._spec.clip ?? this._getClipDefaultValue();\n this._groupMark = this._createGroupMark('regionGroup', this.userId, this.layoutZIndex);\n // 交互层\n this._interactionMark = this._createGroupMark(\n 'regionInteractionGroup',\n this.userId + '_interaction',\n LayoutZIndex.Interaction\n );\n\n // hack: region 的样式不能设置在groupMark上,因为groupMark目前没有计算dirtyBound,会导致拖影问题\n if (!isEmpty(this._spec.style)) {\n this._backgroundMark = this._createMark({ type: MarkTypeEnum.rect, name: 'regionBackground' }) as IRectMark;\n if (clip) {\n this._foregroundMark = this._createMark({ type: MarkTypeEnum.rect, name: 'regionForeground' }) as IRectMark;\n }\n [this._backgroundMark, this._foregroundMark].forEach(mark => {\n if (mark) {\n mark.created();\n this.setMarkStyle(\n mark,\n {\n width: () => this.getLayoutRect().width,\n height: () => this.getLayoutRect().height\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this._groupMark.addMark(mark);\n }\n });\n this._backgroundMark && this._backgroundMark.setZIndex(0);\n this._foregroundMark && this._foregroundMark.setZIndex(LayoutZIndex.Mark + 1);\n }\n this.createTrigger();\n }\n\n private _createGroupMark(name: string, userId: StringOrNumber, zIndex: number) {\n const groupMark = this._createMark({ type: MarkTypeEnum.group, name }) as IGroupMark;\n groupMark.setUserId(userId);\n groupMark.setZIndex(zIndex);\n const clip = this._spec.clip ?? this._getClipDefaultValue();\n this.setMarkStyle(\n groupMark,\n {\n x: () => this.getLayoutStartPoint().x,\n y: () => this.getLayoutStartPoint().y,\n width: () => this.getLayoutRect().width,\n height: () => this.getLayoutRect().height,\n clip\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this.setMarkStyle(\n groupMark,\n {\n cornerRadius: this._spec.style?.cornerRadius\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n this._marks.addMark(groupMark);\n return groupMark;\n }\n\n init(option: any) {\n super.init(option);\n this.initMark();\n this.initSeriesDataflow();\n this.initInteraction();\n this.initTrigger();\n }\n initMark() {\n this._initBackgroundMarkStyle();\n this._initForegroundMarkStyle();\n }\n\n protected _initBackgroundMarkStyle() {\n if (this._backgroundMark) {\n this.setMarkStyle(\n this._backgroundMark,\n {\n fillOpacity: this._spec.style?.fill ? 1 : 0,\n ...this._spec.style\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n if (this._spec.clip ?? this._getClipDefaultValue()) {\n this.setMarkStyle(\n this._backgroundMark,\n {\n strokeOpacity: 0\n },\n 'normal',\n AttributeLevel.Built_In\n );\n }\n }\n }\n\n protected _initForegroundMarkStyle() {\n if (this._foregroundMark) {\n this.setMarkStyle(\n this._foregroundMark,\n {\n ...this._spec.style,\n fillOpacity: 0\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n }\n }\n\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (!isEqual(prevSpec?.style, spec?.style)) {\n result.reMake = true;\n }\n return result;\n }\n\n reInit(spec?: T) {\n super.reInit(spec);\n this._initBackgroundMarkStyle();\n this._initForegroundMarkStyle();\n }\n\n addSeries(s: ISeries) {\n if (!s) {\n return;\n }\n if (!this._series.includes(s)) {\n this._series.push(s);\n }\n }\n\n removeSeries(s: ISeries) {\n if (!s) {\n return;\n }\n const index = this._series.findIndex(s_ => s_ === s);\n if (index >= 0) {\n this._series.splice(index, 1);\n }\n }\n\n getSeries(\n opt: {\n name?: string;\n userId?: StringOrNumber | StringOrNumber[];\n specIndex?: number | number[];\n id?: StringOrNumber;\n type?: string;\n coordinateType?: CoordinateType;\n dataName?: string;\n } = {}\n ): ISeries[] {\n return this._series.filter(\n s =>\n (opt.name ? s?.name === opt.name : true) &&\n (opt.userId ? array(opt.userId).includes(s.userId) : true) &&\n (isValid(opt.specIndex) ? array(opt.specIndex).includes(s.getSpecIndex()) : true) &&\n (opt.id ? s.id === opt.id : true) &&\n (opt.type ? s.type === opt.type : true) &&\n (opt.coordinateType ? s.coordinate === opt.coordinateType : true) &&\n (opt.dataName ? s.getRawData?.()?.name === opt.dataName : true)\n );\n }\n\n getSeriesInName(name: string): ISeries {\n return this.getSeries({ name })[0];\n }\n getSeriesInUserId(userId: string): ISeries {\n return this.getSeries({ userId })[0];\n }\n getSeriesInId(id: number): ISeries {\n return this.getSeries({ id })[0];\n }\n getSeriesInType(type: string): ISeries[] {\n return this.getSeries({ type });\n }\n getSeriesInCoordinateType(coordinateType: CoordinateType): ISeries[] {\n return this.getSeries({ coordinateType });\n }\n getSeriesInDataName(dataName: string): ISeries[] {\n return this.getSeries({ dataName });\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n initSeriesDataflow() {\n const viewDataFilters = this._series.map(s => s.getViewDataFilter() ?? s.getViewData()).filter(v => !!v);\n this._option.dataSet.multipleDataViewAddListener(viewDataFilters, 'change', this.seriesDataFilterOver);\n }\n\n seriesDataFilterOver = () => {\n this.event.emit(ChartEvent.regionSeriesDataFilterOver, { model: this });\n this._series.forEach(s => {\n if (s.getViewDataFilter()) {\n s.reTransformViewData();\n }\n });\n };\n\n release() {\n super.release();\n this._series = [];\n }\n /** dimension */\n createTrigger() {\n const triggerOptions = {\n ...this._option,\n model: this,\n interaction: this.interaction\n };\n this._trigger = new DimensionTrigger(triggerOptions);\n }\n\n initTrigger() {\n // register all mark\n // trigger check mark enable\n this._series.forEach(s => {\n s.getMarksWithoutRoot().forEach(m => {\n this._trigger.registerMark(m);\n });\n });\n this._trigger.init();\n }\n\n initInteraction() {\n if (this._option.disableTriggerEvent) {\n return;\n }\n\n // 注册所有支持反选状态mark\n this._series.forEach(s => {\n s.getMarksWithoutRoot().forEach(m => {\n for (const key in STATE_VALUE_ENUM_REVERSE) {\n if (!isEmpty(m.stateStyle[STATE_VALUE_ENUM_REVERSE[key]])) {\n this.interaction.registerMark(STATE_VALUE_ENUM_REVERSE[key], m);\n }\n }\n });\n });\n }\n\n compileMarks(group?: string | IVGrammarGroupMark) {\n this.getMarks().forEach(m => {\n m.compile({ group });\n m.getProduct()\n ?.configure({\n context: {\n model: this\n }\n })\n .layout(\n (group: IVGrammarGroupMark, children: IMark[], parentLayoutBounds: IBoundsLike, options?: ILayoutOptions) => {\n // console.log('region mark layout');\n }\n );\n });\n }\n\n compile() {\n this.animate?.compile();\n this.compileMarks();\n }\n\n getBoundsInRect = () => {\n return {\n x1: this._layout.getLayoutStartPoint().x,\n y1: this._layout.getLayoutStartPoint().y,\n x2: this._layout.getLayoutStartPoint().x + this._layout.getLayoutRect().width,\n y2: this._layout.getLayoutStartPoint().y + this._layout.getLayoutRect().height\n };\n };\n\n onLayoutEnd(ctx: any): void {\n this._series.forEach(s => s.onLayoutEnd(ctx));\n super.onLayoutEnd(ctx);\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visactor/vchart",
|
|
3
|
-
"version": "1.9.6-alpha.
|
|
3
|
+
"version": "1.9.6-alpha.8",
|
|
4
4
|
"description": "charts lib based @visactor/VGrammar",
|
|
5
5
|
"main": "cjs/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -84,9 +84,9 @@
|
|
|
84
84
|
"size-limit": "9.0.0",
|
|
85
85
|
"@size-limit/file": "9.0.0",
|
|
86
86
|
"@internal/typescript-json-schema": "0.0.1",
|
|
87
|
-
"@internal/
|
|
87
|
+
"@internal/eslint-config": "0.0.1",
|
|
88
88
|
"@internal/ts-config": "0.0.1",
|
|
89
|
-
"@internal/
|
|
89
|
+
"@internal/bundler": "0.0.1"
|
|
90
90
|
},
|
|
91
91
|
"dependencies": {
|
|
92
92
|
"@visactor/vutils": "~0.18.1",
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
"@visactor/vgrammar-hierarchy": "0.11.15",
|
|
103
103
|
"@visactor/vgrammar-sankey": "0.11.15",
|
|
104
104
|
"@visactor/vgrammar-util": "0.11.15",
|
|
105
|
-
"@visactor/vutils-extension": "1.9.6-alpha.
|
|
105
|
+
"@visactor/vutils-extension": "1.9.6-alpha.8"
|
|
106
106
|
},
|
|
107
107
|
"publishConfig": {
|
|
108
108
|
"access": "public",
|