@visactor/vgrammar-core 0.12.5 → 0.12.7

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.
Files changed (89) hide show
  1. package/cjs/graph/animation/attribute.js +15 -11
  2. package/cjs/graph/animation/attribute.js.map +1 -1
  3. package/cjs/graph/canvas-renderer.js +2 -1
  4. package/cjs/graph/canvas-renderer.js.map +1 -1
  5. package/cjs/index.d.ts +1 -1
  6. package/cjs/index.js +1 -1
  7. package/cjs/index.js.map +1 -1
  8. package/cjs/interactions/base.d.ts +1 -0
  9. package/cjs/interactions/base.js +3 -0
  10. package/cjs/interactions/base.js.map +1 -1
  11. package/cjs/interactions/brush-active.d.ts +1 -0
  12. package/cjs/interactions/brush-active.js +3 -0
  13. package/cjs/interactions/brush-active.js.map +1 -1
  14. package/cjs/interactions/brush-highlight.d.ts +1 -0
  15. package/cjs/interactions/brush-highlight.js +3 -0
  16. package/cjs/interactions/brush-highlight.js.map +1 -1
  17. package/cjs/interactions/element-active-by-legend.d.ts +1 -0
  18. package/cjs/interactions/element-active-by-legend.js +3 -0
  19. package/cjs/interactions/element-active-by-legend.js.map +1 -1
  20. package/cjs/interactions/element-active.d.ts +1 -0
  21. package/cjs/interactions/element-active.js +3 -0
  22. package/cjs/interactions/element-active.js.map +1 -1
  23. package/cjs/interactions/element-highlight-by-group.d.ts +1 -0
  24. package/cjs/interactions/element-highlight-by-group.js +3 -0
  25. package/cjs/interactions/element-highlight-by-group.js.map +1 -1
  26. package/cjs/interactions/element-highlight-by-key.d.ts +1 -0
  27. package/cjs/interactions/element-highlight-by-key.js +3 -0
  28. package/cjs/interactions/element-highlight-by-key.js.map +1 -1
  29. package/cjs/interactions/element-highlight-by-legend.d.ts +1 -0
  30. package/cjs/interactions/element-highlight-by-legend.js +3 -0
  31. package/cjs/interactions/element-highlight-by-legend.js.map +1 -1
  32. package/cjs/interactions/element-highlight-by-name.d.ts +1 -0
  33. package/cjs/interactions/element-highlight-by-name.js +3 -0
  34. package/cjs/interactions/element-highlight-by-name.js.map +1 -1
  35. package/cjs/interactions/element-highlight.d.ts +1 -0
  36. package/cjs/interactions/element-highlight.js +3 -0
  37. package/cjs/interactions/element-highlight.js.map +1 -1
  38. package/cjs/interactions/element-select.d.ts +1 -0
  39. package/cjs/interactions/element-select.js +3 -0
  40. package/cjs/interactions/element-select.js.map +1 -1
  41. package/cjs/types/interaction.d.ts +1 -0
  42. package/cjs/types/interaction.js.map +1 -1
  43. package/cjs/view/component.js +2 -2
  44. package/cjs/view/component.js.map +1 -1
  45. package/es/graph/animation/attribute.js +15 -11
  46. package/es/graph/animation/attribute.js.map +1 -1
  47. package/es/graph/canvas-renderer.js +2 -1
  48. package/es/graph/canvas-renderer.js.map +1 -1
  49. package/es/index.d.ts +1 -1
  50. package/es/index.js +1 -1
  51. package/es/index.js.map +1 -1
  52. package/es/interactions/base.d.ts +1 -0
  53. package/es/interactions/base.js +3 -0
  54. package/es/interactions/base.js.map +1 -1
  55. package/es/interactions/brush-active.d.ts +1 -0
  56. package/es/interactions/brush-active.js +3 -0
  57. package/es/interactions/brush-active.js.map +1 -1
  58. package/es/interactions/brush-highlight.d.ts +1 -0
  59. package/es/interactions/brush-highlight.js +3 -0
  60. package/es/interactions/brush-highlight.js.map +1 -1
  61. package/es/interactions/element-active-by-legend.d.ts +1 -0
  62. package/es/interactions/element-active-by-legend.js +3 -0
  63. package/es/interactions/element-active-by-legend.js.map +1 -1
  64. package/es/interactions/element-active.d.ts +1 -0
  65. package/es/interactions/element-active.js +3 -0
  66. package/es/interactions/element-active.js.map +1 -1
  67. package/es/interactions/element-highlight-by-group.d.ts +1 -0
  68. package/es/interactions/element-highlight-by-group.js +3 -0
  69. package/es/interactions/element-highlight-by-group.js.map +1 -1
  70. package/es/interactions/element-highlight-by-key.d.ts +1 -0
  71. package/es/interactions/element-highlight-by-key.js +3 -0
  72. package/es/interactions/element-highlight-by-key.js.map +1 -1
  73. package/es/interactions/element-highlight-by-legend.d.ts +1 -0
  74. package/es/interactions/element-highlight-by-legend.js +3 -0
  75. package/es/interactions/element-highlight-by-legend.js.map +1 -1
  76. package/es/interactions/element-highlight-by-name.d.ts +1 -0
  77. package/es/interactions/element-highlight-by-name.js +3 -0
  78. package/es/interactions/element-highlight-by-name.js.map +1 -1
  79. package/es/interactions/element-highlight.d.ts +1 -0
  80. package/es/interactions/element-highlight.js +3 -0
  81. package/es/interactions/element-highlight.js.map +1 -1
  82. package/es/interactions/element-select.d.ts +1 -0
  83. package/es/interactions/element-select.js +3 -0
  84. package/es/interactions/element-select.js.map +1 -1
  85. package/es/types/interaction.d.ts +1 -0
  86. package/es/types/interaction.js.map +1 -1
  87. package/es/view/component.js +2 -2
  88. package/es/view/component.js.map +1 -1
  89. package/package.json +9 -9
@@ -21,11 +21,11 @@ export class Component extends Mark {
21
21
  mode: this.mode,
22
22
  skipDefault: this.spec.skipTheme
23
23
  });
24
- return this.emit(HOOK_EVENT.BEFORE_ADD_VRENDER_MARK, {
24
+ return graphicItem && (this.emit(HOOK_EVENT.BEFORE_ADD_VRENDER_MARK, {
25
25
  graphicItem: graphicItem
26
26
  }), this.graphicParent.appendChild(graphicItem), this.emit(HOOK_EVENT.AFTER_ADD_VRENDER_MARK, {
27
27
  graphicItem: graphicItem
28
- }), graphicItem;
28
+ })), graphicItem;
29
29
  }
30
30
  join(data) {
31
31
  return super.join(data, DefaultKey);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/view/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAY7D,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,MAAM,OAAO,SAAU,SAAQ,IAAI;IAUjC,YAAY,IAAW,EAAE,aAAqB,EAAE,KAAkB,EAAE,IAAkB;QACpF,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAJtC,oBAAe,GAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;QAKnD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAED,kBAAkB,CAAC,MAAW;QAC5B,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc,CAAC,KAAU,EAAE,QAAiB,EAAE,cAAoB;QAChE,MAAM,WAAW,GACf,cAAc,aAAd,cAAc,cAAd,cAAc,GACd,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAEnH,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAqB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAErD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAE9D,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,IAAI,CAAC,IAA0B;QAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,WAAW,CAAC,KAAa,EAAE,OAAsC,EAAE,KAA6B;QAC9F,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB;QAChB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1B,CAAC;IAES,cAAc;QACtB,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAES,YAAY,CAAC,IAAW;QAChC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC;QAE3B,IAAI,IAAI,EAAE;YACP,IAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YAE7D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7B;aAAM;YACL,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;SAC3E;QAGD,OAAO,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IACpD,CAAC;IAES,wBAAwB;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACpC,CAAC;IAES,YAAY;;QACpB,OAAO,MAAA,IAAI,CAAC,SAAS,mCAAI,EAAE,CAAC;IAC9B,CAAC;CACF","file":"component.js","sourcesContent":["import { DefaultKey } from '../graph/constants';\nimport { GrammarMarkType, HOOK_EVENT } from '../graph/enums';\nimport type {\n IGroupMark,\n IView,\n IComponent,\n ComponentSpec,\n IData,\n Nil,\n MarkFunctionType,\n StateEncodeSpec,\n BaseSingleEncodeSpec\n} from '../types';\nimport { Factory } from '../core/factory';\nimport { Mark } from './mark';\n\nexport class Component extends Mark implements IComponent {\n declare markType: GrammarMarkType.component;\n readonly componentType: string;\n protected declare spec: ComponentSpec;\n\n protected mode?: '2d' | '3d';\n\n protected _componentDatum: any = { [DefaultKey]: 0 };\n protected _encoders: StateEncodeSpec;\n\n constructor(view: IView, componentType: string, group?: IGroupMark, mode?: '2d' | '3d') {\n super(view, GrammarMarkType.component, group);\n this.componentType = componentType;\n this.spec.type = 'component';\n this.spec.componentType = componentType;\n this.mode = mode;\n this._updateComponentEncoders();\n }\n\n configureComponent(config: any) {\n this.spec.componentConfig = config;\n this.commit();\n return this;\n }\n\n addGraphicItem(attrs: any, groupKey?: string, newGraphicItem?: any) {\n const graphicItem =\n newGraphicItem ??\n Factory.createGraphicComponent(this.componentType, attrs, { mode: this.mode, skipDefault: this.spec.skipTheme });\n\n this.emit(HOOK_EVENT.BEFORE_ADD_VRENDER_MARK, { graphicItem });\n (this.graphicParent as any).appendChild(graphicItem);\n\n this.emit(HOOK_EVENT.AFTER_ADD_VRENDER_MARK, { graphicItem });\n\n return graphicItem;\n }\n\n join(data: IData | string | Nil) {\n return super.join(data, DefaultKey);\n }\n\n encodeState(state: string, channel: string | BaseSingleEncodeSpec, value?: MarkFunctionType<any>) {\n super.encodeState(state, channel, value);\n this._updateComponentEncoders();\n return this;\n }\n\n parseRenderContext() {\n return { large: false };\n }\n\n protected _prepareRejoin() {\n this._componentDatum[DefaultKey] += 1;\n }\n\n protected evaluateJoin(data: any[]) {\n this.spec.key = DefaultKey;\n\n if (data) {\n (data as any)[DefaultKey] = this._componentDatum[DefaultKey];\n\n this._componentDatum = data;\n } else {\n this._componentDatum = { [DefaultKey]: this._componentDatum[DefaultKey] };\n }\n\n // component mark do not support data join\n return super.evaluateJoin([this._componentDatum]);\n }\n\n protected _updateComponentEncoders() {\n this._encoders = this.spec.encode;\n }\n\n protected _getEncoders() {\n return this._encoders ?? {};\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/view/component.ts"],"names":[],"mappings":"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","file":"component.js","sourcesContent":["import { DefaultKey } from '../graph/constants';\nimport { GrammarMarkType, HOOK_EVENT } from '../graph/enums';\nimport type {\n IGroupMark,\n IView,\n IComponent,\n ComponentSpec,\n IData,\n Nil,\n MarkFunctionType,\n StateEncodeSpec,\n BaseSingleEncodeSpec\n} from '../types';\nimport { Factory } from '../core/factory';\nimport { Mark } from './mark';\n\nexport class Component extends Mark implements IComponent {\n declare markType: GrammarMarkType.component;\n readonly componentType: string;\n protected declare spec: ComponentSpec;\n\n protected mode?: '2d' | '3d';\n\n protected _componentDatum: any = { [DefaultKey]: 0 };\n protected _encoders: StateEncodeSpec;\n\n constructor(view: IView, componentType: string, group?: IGroupMark, mode?: '2d' | '3d') {\n super(view, GrammarMarkType.component, group);\n this.componentType = componentType;\n this.spec.type = 'component';\n this.spec.componentType = componentType;\n this.mode = mode;\n this._updateComponentEncoders();\n }\n\n configureComponent(config: any) {\n this.spec.componentConfig = config;\n this.commit();\n return this;\n }\n\n addGraphicItem(attrs: any, groupKey?: string, newGraphicItem?: any) {\n const graphicItem =\n newGraphicItem ??\n Factory.createGraphicComponent(this.componentType, attrs, { mode: this.mode, skipDefault: this.spec.skipTheme });\n\n if (graphicItem) {\n this.emit(HOOK_EVENT.BEFORE_ADD_VRENDER_MARK, { graphicItem });\n (this.graphicParent as any).appendChild(graphicItem);\n\n this.emit(HOOK_EVENT.AFTER_ADD_VRENDER_MARK, { graphicItem });\n }\n\n return graphicItem;\n }\n\n join(data: IData | string | Nil) {\n return super.join(data, DefaultKey);\n }\n\n encodeState(state: string, channel: string | BaseSingleEncodeSpec, value?: MarkFunctionType<any>) {\n super.encodeState(state, channel, value);\n this._updateComponentEncoders();\n return this;\n }\n\n parseRenderContext() {\n return { large: false };\n }\n\n protected _prepareRejoin() {\n this._componentDatum[DefaultKey] += 1;\n }\n\n protected evaluateJoin(data: any[]) {\n this.spec.key = DefaultKey;\n\n if (data) {\n (data as any)[DefaultKey] = this._componentDatum[DefaultKey];\n\n this._componentDatum = data;\n } else {\n this._componentDatum = { [DefaultKey]: this._componentDatum[DefaultKey] };\n }\n\n // component mark do not support data join\n return super.evaluateJoin([this._componentDatum]);\n }\n\n protected _updateComponentEncoders() {\n this._encoders = this.spec.encode;\n }\n\n protected _getEncoders() {\n return this._encoders ?? {};\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visactor/vgrammar-core",
3
- "version": "0.12.5",
3
+ "version": "0.12.7",
4
4
  "description": "VGrammar is a visual grammar library",
5
5
  "keywords": [
6
6
  "grammar",
@@ -24,12 +24,12 @@
24
24
  "dist"
25
25
  ],
26
26
  "dependencies": {
27
- "@visactor/vgrammar-coordinate": "0.12.5",
28
- "@visactor/vgrammar-util": "0.12.5",
27
+ "@visactor/vgrammar-coordinate": "0.12.7",
28
+ "@visactor/vgrammar-util": "0.12.7",
29
29
  "@visactor/vscale": "~0.18.1",
30
- "@visactor/vrender-core": "0.18.6",
31
- "@visactor/vrender-kits": "0.18.6",
32
- "@visactor/vrender-components": "0.18.6",
30
+ "@visactor/vrender-core": "0.18.7",
31
+ "@visactor/vrender-kits": "0.18.7",
32
+ "@visactor/vrender-components": "0.18.7",
33
33
  "@visactor/vutils": "~0.18.1",
34
34
  "@visactor/vdataset": "~0.18.1"
35
35
  },
@@ -44,10 +44,10 @@
44
44
  "ts-jest": "~29.1.0",
45
45
  "@types/jest": "~29.5.0",
46
46
  "typescript": "4.9.5",
47
- "@internal/bundler": "0.0.1",
48
47
  "@internal/eslint-config": "0.0.1",
49
- "@internal/ts-config": "0.0.1",
50
- "@internal/jest-config": "0.0.1"
48
+ "@internal/bundler": "0.0.1",
49
+ "@internal/jest-config": "0.0.1",
50
+ "@internal/ts-config": "0.0.1"
51
51
  },
52
52
  "publishConfig": {
53
53
  "access": "public",