@visactor/vchart 2.1.2-alpha.8 → 2.1.2

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 (70) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.es.js +40 -13
  3. package/build/index.js +40 -13
  4. package/build/index.min.js +2 -2
  5. package/build/tsconfig.tsbuildinfo +1 -1
  6. package/cjs/animation/animation-planner.js +2 -1
  7. package/cjs/animation/callback-disappear.d.ts +1 -1
  8. package/cjs/animation/callback-disappear.js.map +1 -1
  9. package/cjs/animation/grammar-dector.js +1 -2
  10. package/cjs/constant/attribute.js +2 -1
  11. package/cjs/constant/hierarchy.js +1 -1
  12. package/cjs/constant/label.js +1 -1
  13. package/cjs/constant/layout.js +1 -1
  14. package/cjs/constant/marker.js +1 -1
  15. package/cjs/constant/polar.js +1 -2
  16. package/cjs/constant/scatter.js +1 -1
  17. package/cjs/constant/scroll-bar.js +1 -1
  18. package/cjs/constant/sunburst.js +1 -1
  19. package/cjs/constant/waterfall.js +1 -1
  20. package/cjs/constant/word-cloud.js +1 -1
  21. package/cjs/core/index.d.ts +1 -1
  22. package/cjs/core/index.js +2 -2
  23. package/cjs/core/index.js.map +1 -1
  24. package/cjs/core/instance-manager.js +1 -1
  25. package/cjs/core/interface.js +1 -1
  26. package/cjs/core/util.js +1 -1
  27. package/cjs/core/vchart.js +1 -1
  28. package/cjs/data/data-view-utils.js +1 -1
  29. package/cjs/data/initialize.js +1 -1
  30. package/cjs/data/register.js +1 -1
  31. package/cjs/env/env.js +1 -1
  32. package/cjs/env/index.js +1 -1
  33. package/cjs/mark/base/base-mark.d.ts +1 -0
  34. package/cjs/mark/base/base-mark.js +9 -1
  35. package/cjs/mark/base/base-mark.js.map +1 -1
  36. package/cjs/mark/group.js +2 -1
  37. package/cjs/mark/group.js.map +1 -1
  38. package/esm/animation/animation-planner.js +2 -1
  39. package/esm/animation/callback-disappear.d.ts +1 -1
  40. package/esm/animation/callback-disappear.js.map +1 -1
  41. package/esm/animation/grammar-dector.js +1 -2
  42. package/esm/constant/attribute.js +2 -1
  43. package/esm/constant/hierarchy.js +1 -1
  44. package/esm/constant/label.js +1 -1
  45. package/esm/constant/layout.js +1 -1
  46. package/esm/constant/marker.js +1 -1
  47. package/esm/constant/polar.js +1 -2
  48. package/esm/constant/scatter.js +1 -1
  49. package/esm/constant/scroll-bar.js +1 -1
  50. package/esm/constant/sunburst.js +1 -1
  51. package/esm/constant/waterfall.js +1 -1
  52. package/esm/constant/word-cloud.js +1 -1
  53. package/esm/core/index.d.ts +1 -1
  54. package/esm/core/index.js +2 -2
  55. package/esm/core/index.js.map +1 -1
  56. package/esm/core/instance-manager.js +1 -1
  57. package/esm/core/interface.js +1 -1
  58. package/esm/core/util.js +1 -1
  59. package/esm/core/vchart.js +1 -1
  60. package/esm/data/data-view-utils.js +1 -1
  61. package/esm/data/initialize.js +1 -1
  62. package/esm/data/register.js +1 -1
  63. package/esm/env/env.js +1 -1
  64. package/esm/env/index.js +1 -1
  65. package/esm/mark/base/base-mark.d.ts +1 -0
  66. package/esm/mark/base/base-mark.js +9 -1
  67. package/esm/mark/base/base-mark.js.map +1 -1
  68. package/esm/mark/group.js +2 -1
  69. package/esm/mark/group.js.map +1 -1
  70. package/package.json +9 -9
package/esm/mark/group.js CHANGED
@@ -75,7 +75,8 @@ export class GroupMark extends BaseMark {
75
75
  const newAttrs = this._getAttrsFromConfig(style);
76
76
  if (this._product.context.finalAttrs = newAttrs, this._product.context.diffState === DiffState.update) {
77
77
  const hasAnimation = this.hasAnimation(), diffAttrs = getDiffAttributesOfGraphic(this._product, newAttrs);
78
- this._product.context.diffAttrs = diffAttrs, this.hasAnimationByState(this._product.context.animationState) || (hasAnimation ? this._product.setAttributesAndPreventAnimate(diffAttrs) : this._product.setAttributes(diffAttrs));
78
+ this._product.context.diffAttrs = diffAttrs, this.hasAnimationByState(this._product.context.animationState) || (hasAnimation ? (this._product.setAttributesAndPreventAnimate(diffAttrs),
79
+ this._commitPreventedAnimationStaticAttrs(this._product, diffAttrs)) : this._product.setAttributes(diffAttrs));
79
80
  } else this._product.setAttributes(newAttrs);
80
81
  this.needClear = !0;
81
82
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark/group.ts"],"names":[],"mappings":"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","file":"group.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { Maybe } from '../typings';\n// eslint-disable-next-line no-duplicate-imports\nimport { log, warn } from '../util/debug';\nimport type { IGroupMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport {\n DiffState,\n type AnimationStateValues,\n type IGroupMark,\n type IMark,\n type IMarkGraphic,\n type MarkType\n} from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { type IMarkCompileOption } from '../compile/mark';\nimport type { IGroup, IGroupGraphicAttribute } from '@visactor/vrender-core';\nimport { registerGroup } from '@visactor/vrender-kits/register/register-group';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\nimport { isNil } from '@visactor/vutils';\nimport { traverseGroupMark } from '../compile/util';\nimport { getDiffAttributesOfGraphic } from '../util/mark';\n\nexport class GroupMark extends BaseMark<IGroupMarkSpec> implements IGroupMark {\n static readonly type = MarkTypeEnum.group;\n readonly type = GroupMark.type;\n protected _marks: IMark[] = [];\n getMarks(): IMark[] {\n return this._marks;\n }\n\n protected _diffState = DiffState.enter;\n protected declare _product: Maybe<IGroup>;\n declare getProduct: () => Maybe<IGroup>;\n\n protected isMarkExist(mark: IMark): boolean {\n return this._marks.find(m => m.id === mark.id) !== undefined;\n }\n\n addMark(mark: IMark): boolean {\n if (this.isMarkExist(mark)) {\n warn('Mark already exists, add mark failed.');\n return false;\n }\n\n this._marks.push(mark);\n return true;\n }\n\n removeMark(mark: IMark): boolean {\n const index = this._marks.findIndex(m => m.id === mark.id || m.name === mark.name);\n if (index === -1) {\n warn('Mark does not exists, removeMark failed.');\n return false;\n }\n this._marks.splice(index, 1);\n return true;\n }\n\n getMarkInType(type: MarkType) {\n return this._marks.filter(m => m.type === type);\n }\n\n getMarkInId(id: number) {\n return this._marks.find(m => m.id === id);\n }\n\n getMarkInUserId(id: string | number) {\n let result: IMark | undefined;\n traverseGroupMark(\n this,\n m => {\n result = m;\n },\n m => m.getUserId() === id,\n null,\n true\n );\n\n return result;\n }\n\n getMarkInName(name: string) {\n return this._marks.filter(m => m.name === name);\n }\n\n protected _compileProduct(option?: IMarkCompileOption): void {\n // 编译自身\n super._compileProduct(option);\n\n // 设置zIndex\n // this._product.configure({\n // zIndex: this._markConfig.zIndex\n // });\n\n // 编译子元素\n this.getMarks().forEach(mark => {\n mark.compile({ group: this._product });\n });\n }\n\n protected _getAttrsFromConfig(attrs: IGroupGraphicAttribute = {}) {\n const configAttrs = super._getAttrsFromConfig(attrs);\n\n if (!isNil(this._markConfig.interactive)) {\n configAttrs.pickable = this._markConfig.interactive;\n }\n return attrs;\n }\n\n getGraphics(): IMarkGraphic[] {\n return [this._product as unknown as IMarkGraphic];\n }\n\n renderInner() {\n if (!this._product) {\n return;\n }\n\n const style = this._simpleStyle ?? this.getAttributesOfState({});\n\n this._product.context = {\n ...this._product.context,\n ...this._getCommonContext(),\n diffState: this._diffState\n };\n this._setAnimationState(this._product as unknown as IMarkGraphic);\n const newAttrs = this._getAttrsFromConfig(style);\n this._product.context.finalAttrs = newAttrs;\n\n // TODO: 需要优化,现在group mark 走了一些特殊逻辑\n if (this._product.context.diffState === DiffState.update) {\n const hasAnimation = this.hasAnimation();\n const diffAttrs = getDiffAttributesOfGraphic(this._product as unknown as IMarkGraphic, newAttrs);\n this._product.context.diffAttrs = diffAttrs;\n\n if (!this.hasAnimationByState(this._product.context.animationState)) {\n hasAnimation ? this._product.setAttributesAndPreventAnimate(diffAttrs) : this._product.setAttributes(diffAttrs);\n }\n } else {\n this._product.setAttributes(newAttrs);\n }\n\n this.needClear = true;\n }\n\n clearExitGraphics() {\n // group 暂时不需要clear元素,完成首次渲染后 将状态设置为update\n this._diffState = DiffState.update;\n }\n\n render(): void {\n if (this._isCommited) {\n log(`render mark: ${this.getProductId()}, type is ${this.type}`);\n this.renderInner();\n this.uncommit();\n }\n\n this.getMarks().forEach(mark => {\n mark.render();\n });\n }\n\n release() {\n super.release();\n this.removeProduct(true);\n }\n}\n\nexport const registerGroupMark = () => {\n registerShadowRoot();\n registerGroup();\n Factory.registerMark(GroupMark.type, GroupMark);\n};\n"]}
1
+ {"version":3,"sources":["../src/mark/group.ts"],"names":[],"mappings":"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","file":"group.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { Maybe } from '../typings';\n// eslint-disable-next-line no-duplicate-imports\nimport { log, warn } from '../util/debug';\nimport type { IGroupMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport {\n DiffState,\n type AnimationStateValues,\n type IGroupMark,\n type IMark,\n type IMarkGraphic,\n type MarkType\n} from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { type IMarkCompileOption } from '../compile/mark';\nimport type { IGroup, IGroupGraphicAttribute } from '@visactor/vrender-core';\nimport { registerGroup } from '@visactor/vrender-kits/register/register-group';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\nimport { isNil } from '@visactor/vutils';\nimport { traverseGroupMark } from '../compile/util';\nimport { getDiffAttributesOfGraphic } from '../util/mark';\n\nexport class GroupMark extends BaseMark<IGroupMarkSpec> implements IGroupMark {\n static readonly type = MarkTypeEnum.group;\n readonly type = GroupMark.type;\n protected _marks: IMark[] = [];\n getMarks(): IMark[] {\n return this._marks;\n }\n\n protected _diffState = DiffState.enter;\n protected declare _product: Maybe<IGroup>;\n declare getProduct: () => Maybe<IGroup>;\n\n protected isMarkExist(mark: IMark): boolean {\n return this._marks.find(m => m.id === mark.id) !== undefined;\n }\n\n addMark(mark: IMark): boolean {\n if (this.isMarkExist(mark)) {\n warn('Mark already exists, add mark failed.');\n return false;\n }\n\n this._marks.push(mark);\n return true;\n }\n\n removeMark(mark: IMark): boolean {\n const index = this._marks.findIndex(m => m.id === mark.id || m.name === mark.name);\n if (index === -1) {\n warn('Mark does not exists, removeMark failed.');\n return false;\n }\n this._marks.splice(index, 1);\n return true;\n }\n\n getMarkInType(type: MarkType) {\n return this._marks.filter(m => m.type === type);\n }\n\n getMarkInId(id: number) {\n return this._marks.find(m => m.id === id);\n }\n\n getMarkInUserId(id: string | number) {\n let result: IMark | undefined;\n traverseGroupMark(\n this,\n m => {\n result = m;\n },\n m => m.getUserId() === id,\n null,\n true\n );\n\n return result;\n }\n\n getMarkInName(name: string) {\n return this._marks.filter(m => m.name === name);\n }\n\n protected _compileProduct(option?: IMarkCompileOption): void {\n // 编译自身\n super._compileProduct(option);\n\n // 设置zIndex\n // this._product.configure({\n // zIndex: this._markConfig.zIndex\n // });\n\n // 编译子元素\n this.getMarks().forEach(mark => {\n mark.compile({ group: this._product });\n });\n }\n\n protected _getAttrsFromConfig(attrs: IGroupGraphicAttribute = {}) {\n const configAttrs = super._getAttrsFromConfig(attrs);\n\n if (!isNil(this._markConfig.interactive)) {\n configAttrs.pickable = this._markConfig.interactive;\n }\n return attrs;\n }\n\n getGraphics(): IMarkGraphic[] {\n return [this._product as unknown as IMarkGraphic];\n }\n\n renderInner() {\n if (!this._product) {\n return;\n }\n\n const style = this._simpleStyle ?? this.getAttributesOfState({});\n\n this._product.context = {\n ...this._product.context,\n ...this._getCommonContext(),\n diffState: this._diffState\n };\n this._setAnimationState(this._product as unknown as IMarkGraphic);\n const newAttrs = this._getAttrsFromConfig(style);\n this._product.context.finalAttrs = newAttrs;\n\n // TODO: 需要优化,现在group mark 走了一些特殊逻辑\n if (this._product.context.diffState === DiffState.update) {\n const hasAnimation = this.hasAnimation();\n const diffAttrs = getDiffAttributesOfGraphic(this._product as unknown as IMarkGraphic, newAttrs);\n this._product.context.diffAttrs = diffAttrs;\n\n if (!this.hasAnimationByState(this._product.context.animationState)) {\n if (hasAnimation) {\n this._product.setAttributesAndPreventAnimate(diffAttrs);\n this._commitPreventedAnimationStaticAttrs(this._product as unknown as IMarkGraphic, diffAttrs);\n } else {\n this._product.setAttributes(diffAttrs);\n }\n }\n } else {\n this._product.setAttributes(newAttrs);\n }\n\n this.needClear = true;\n }\n\n clearExitGraphics() {\n // group 暂时不需要clear元素,完成首次渲染后 将状态设置为update\n this._diffState = DiffState.update;\n }\n\n render(): void {\n if (this._isCommited) {\n log(`render mark: ${this.getProductId()}, type is ${this.type}`);\n this.renderInner();\n this.uncommit();\n }\n\n this.getMarks().forEach(mark => {\n mark.render();\n });\n }\n\n release() {\n super.release();\n this.removeProduct(true);\n }\n}\n\nexport const registerGroupMark = () => {\n registerShadowRoot();\n registerGroup();\n Factory.registerMark(GroupMark.type, GroupMark);\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visactor/vchart",
3
- "version": "2.1.2-alpha.8",
3
+ "version": "2.1.2",
4
4
  "description": "charts lib based @visactor/VGrammar",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -85,22 +85,22 @@
85
85
  "@size-limit/file": "9.0.0",
86
86
  "rimraf": "3.0.2",
87
87
  "cross-env": "^7.0.3",
88
+ "@internal/bundler": "0.0.1",
88
89
  "@internal/typescript-json-schema": "0.0.1",
89
- "@internal/ts-config": "0.0.1",
90
90
  "@internal/eslint-config": "0.0.1",
91
- "@internal/bundler": "0.0.1"
91
+ "@internal/ts-config": "0.0.1"
92
92
  },
93
93
  "dependencies": {
94
94
  "@visactor/vutils": "~1.0.23",
95
95
  "@visactor/vdataset": "~1.0.23",
96
96
  "@visactor/vscale": "~1.0.23",
97
97
  "@visactor/vlayouts": "~1.0.23",
98
- "@visactor/vrender": "1.1.3-alpha.2",
99
- "@visactor/vrender-core": "1.1.3-alpha.2",
100
- "@visactor/vrender-kits": "1.1.3-alpha.2",
101
- "@visactor/vrender-components": "1.1.3-alpha.2",
102
- "@visactor/vrender-animate": "1.1.3-alpha.2",
103
- "@visactor/vutils-extension": "2.1.2-alpha.8"
98
+ "@visactor/vrender": "^1.1.3",
99
+ "@visactor/vrender-core": "^1.1.3",
100
+ "@visactor/vrender-kits": "^1.1.3",
101
+ "@visactor/vrender-components": "^1.1.3",
102
+ "@visactor/vrender-animate": "^1.1.3",
103
+ "@visactor/vutils-extension": "2.1.2"
104
104
  },
105
105
  "publishConfig": {
106
106
  "access": "public",