@visactor/vchart 2.1.2-alpha.7 → 2.1.2-alpha.9
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.es.js +142 -142
- package/build/index.js +142 -142
- package/build/index.min.js +2 -2
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/constant/box-plot.js +2 -1
- package/cjs/constant/layout.js +1 -1
- package/cjs/constant/marker.js +1 -1
- package/cjs/constant/polar.js +1 -2
- package/cjs/constant/scatter.js +1 -1
- package/cjs/constant/scroll-bar.js +1 -1
- package/cjs/constant/sunburst.js +1 -1
- package/cjs/constant/waterfall.js +1 -1
- package/cjs/constant/word-cloud.js +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/instance-manager.js +1 -1
- package/cjs/core/interface.js +1 -1
- package/cjs/core/util.js +1 -1
- package/cjs/core/vchart.js +1 -1
- package/cjs/data/data-view-utils.js +1 -1
- package/cjs/data/initialize.js +1 -1
- package/cjs/data/register.js +1 -1
- package/cjs/mark/box-plot.js +2 -2
- package/cjs/mark/box-plot.js.map +1 -1
- package/cjs/mark/cell.js +2 -2
- package/cjs/mark/cell.js.map +1 -1
- package/cjs/mark/glyph.js +2 -2
- package/cjs/mark/glyph.js.map +1 -1
- package/cjs/mark/image.js +3 -3
- package/cjs/mark/image.js.map +1 -1
- package/cjs/mark/link-path.js +2 -2
- package/cjs/mark/link-path.js.map +1 -1
- package/cjs/mark/liquid.js +2 -2
- package/cjs/mark/liquid.js.map +1 -1
- package/cjs/mark/path.js +3 -3
- package/cjs/mark/path.js.map +1 -1
- package/cjs/mark/polygon/polygon.js +3 -3
- package/cjs/mark/polygon/polygon.js.map +1 -1
- package/cjs/mark/ripple.js +2 -2
- package/cjs/mark/ripple.js.map +1 -1
- package/cjs/mark/rule.js +3 -3
- package/cjs/mark/rule.js.map +1 -1
- package/cjs/series/radar/animation.js +2 -2
- package/cjs/series/radar/animation.js.map +1 -1
- package/esm/constant/box-plot.js +2 -1
- package/esm/constant/layout.js +1 -1
- package/esm/constant/marker.js +1 -1
- package/esm/constant/polar.js +1 -2
- package/esm/constant/scatter.js +1 -1
- package/esm/constant/scroll-bar.js +1 -1
- package/esm/constant/sunburst.js +1 -1
- package/esm/constant/waterfall.js +1 -1
- package/esm/constant/word-cloud.js +1 -1
- package/esm/core/index.js +1 -1
- package/esm/core/instance-manager.js +1 -1
- package/esm/core/interface.js +1 -1
- package/esm/core/util.js +1 -1
- package/esm/core/vchart.js +1 -1
- package/esm/data/data-view-utils.js +1 -1
- package/esm/data/initialize.js +1 -1
- package/esm/data/register.js +1 -1
- package/esm/mark/box-plot.js +3 -1
- package/esm/mark/box-plot.js.map +1 -1
- package/esm/mark/cell.js +3 -1
- package/esm/mark/cell.js.map +1 -1
- package/esm/mark/glyph.js +3 -1
- package/esm/mark/glyph.js.map +1 -1
- package/esm/mark/image.js +3 -1
- package/esm/mark/image.js.map +1 -1
- package/esm/mark/link-path.js +1 -1
- package/esm/mark/link-path.js.map +1 -1
- package/esm/mark/liquid.js +1 -1
- package/esm/mark/liquid.js.map +1 -1
- package/esm/mark/path.js +3 -1
- package/esm/mark/path.js.map +1 -1
- package/esm/mark/polygon/polygon.js +3 -1
- package/esm/mark/polygon/polygon.js.map +1 -1
- package/esm/mark/ripple.js +1 -1
- package/esm/mark/ripple.js.map +1 -1
- package/esm/mark/rule.js +3 -1
- package/esm/mark/rule.js.map +1 -1
- package/esm/series/radar/animation.js +1 -1
- package/esm/series/radar/animation.js.map +1 -1
- package/package.json +9 -9
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerPolygonMark = exports.PolygonMark = void 0;
|
|
6
6
|
|
|
7
|
-
const factory_1 = require("./../../core/factory"), base_polygon_1 = require("./base-polygon"), config_1 = require("../../animation/config"),
|
|
7
|
+
const factory_1 = require("./../../core/factory"), base_polygon_1 = require("./base-polygon"), config_1 = require("../../animation/config"), register_polygon_1 = require("@visactor/vrender-kits/register/register-polygon"), register_shadowRoot_1 = require("@visactor/vrender-kits/register/register-shadowRoot"), vrender_core_1 = require("@visactor/vrender-core");
|
|
8
8
|
|
|
9
9
|
class PolygonMark extends base_polygon_1.BasePolygonMark {
|
|
10
10
|
constructor() {
|
|
@@ -20,8 +20,8 @@ class PolygonMark extends base_polygon_1.BasePolygonMark {
|
|
|
20
20
|
exports.PolygonMark = PolygonMark, PolygonMark.type = "polygon";
|
|
21
21
|
|
|
22
22
|
const registerPolygonMark = () => {
|
|
23
|
-
factory_1.Factory.registerMark(PolygonMark.type, PolygonMark), (0,
|
|
24
|
-
(0,
|
|
23
|
+
factory_1.Factory.registerMark(PolygonMark.type, PolygonMark), (0, register_shadowRoot_1.registerShadowRoot)(),
|
|
24
|
+
(0, register_polygon_1.registerPolygon)(), (0, config_1.registerPolygonAnimation)(),
|
|
25
25
|
factory_1.Factory.registerGraphicComponent("polygon", vrender_core_1.createPolygon);
|
|
26
26
|
};
|
|
27
27
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/polygon/polygon.ts"],"names":[],"mappings":";;;AAAA,kDAA+C;AAG/C,iDAAiD;AAGjD,mDAAkE;AAClE,
|
|
1
|
+
{"version":3,"sources":["../src/mark/polygon/polygon.ts"],"names":[],"mappings":";;;AAAA,kDAA+C;AAG/C,iDAAiD;AAGjD,mDAAkE;AAClE,uFAAmF;AACnF,6FAAyF;AACzF,yDAAuD;AAEvD,MAAa,WAAY,SAAQ,8BAAiC;IAAlE;;QAEW,SAAI,GAAG,WAAW,CAAC,IAAI,CAAC;IASnC,CAAC;IAPW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,SAAS,EAAE,CAAC,GACb,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;;AAVH,kCAWC;AAViB,gBAAI,aAAwB;AAYvC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,iBAAO,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACpD,IAAA,wCAAkB,GAAE,CAAC;IACrB,IAAA,kCAAe,GAAE,CAAC;IAClB,IAAA,iCAAwB,GAAE,CAAC;IAE3B,iBAAO,CAAC,wBAAwB,YAAuB,4BAAa,CAAC,CAAC;AACxE,CAAC,CAAC;AAPW,QAAA,mBAAmB,uBAO9B","file":"polygon.js","sourcesContent":["import { Factory } from './../../core/factory';\n/* eslint-disable no-duplicate-imports */\nimport type { IPolygonMarkSpec } from '../../typings/visual';\nimport { BasePolygonMark } from './base-polygon';\nimport type { IMarkStyle, IPolygonMark } from '../interface';\nimport { MarkTypeEnum } from '../interface/type';\nimport { registerPolygonAnimation } from '../../animation/config';\nimport { registerPolygon } from '@visactor/vrender-kits/register/register-polygon';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\nimport { createPolygon } from '@visactor/vrender-core';\n\nexport class PolygonMark extends BasePolygonMark<IPolygonMarkSpec> implements IPolygonMark {\n static readonly type = MarkTypeEnum.polygon;\n readonly type = PolygonMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IPolygonMarkSpec> = {\n ...super._getDefaultStyle(),\n lineWidth: 0\n };\n return defaultStyle;\n }\n}\n\nexport const registerPolygonMark = () => {\n Factory.registerMark(PolygonMark.type, PolygonMark);\n registerShadowRoot();\n registerPolygon();\n registerPolygonAnimation();\n\n Factory.registerGraphicComponent(MarkTypeEnum.polygon, createPolygon);\n};\n"]}
|
package/cjs/mark/ripple.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerRippleMark = exports.RippleMark = void 0;
|
|
6
6
|
|
|
7
|
-
const factory_1 = require("./../core/factory"), glyph_1 = require("./glyph"), vrender_core_1 = require("@visactor/vrender-core"), vutils_1 = require("@visactor/vutils"),
|
|
7
|
+
const factory_1 = require("./../core/factory"), glyph_1 = require("./glyph"), vrender_core_1 = require("@visactor/vrender-core"), vutils_1 = require("@visactor/vutils"), register_symbol_1 = require("@visactor/vrender-kits/register/register-symbol");
|
|
8
8
|
|
|
9
9
|
class RippleMark extends glyph_1.GlyphMark {
|
|
10
10
|
constructor() {
|
|
@@ -58,7 +58,7 @@ class RippleMark extends glyph_1.GlyphMark {
|
|
|
58
58
|
exports.RippleMark = RippleMark, RippleMark.type = "ripple";
|
|
59
59
|
|
|
60
60
|
const registerRippleMark = () => {
|
|
61
|
-
(0, glyph_1.registerGlyphMark)(), (0,
|
|
61
|
+
(0, glyph_1.registerGlyphMark)(), (0, register_symbol_1.registerSymbol)(), factory_1.Factory.registerMark(RippleMark.type, RippleMark),
|
|
62
62
|
factory_1.Factory.registerGraphicComponent("symbol", (attrs => (0, vrender_core_1.createSymbol)(attrs)));
|
|
63
63
|
};
|
|
64
64
|
|
package/cjs/mark/ripple.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/ripple.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAK5C,mCAAuD;AAEvD,yDAAiG;AACjG,6CAAyC;AACzC,
|
|
1
|
+
{"version":3,"sources":["../src/mark/ripple.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAK5C,mCAAuD;AAEvD,yDAAiG;AACjG,6CAAyC;AACzC,qFAAiF;AAEjF,MAAa,UAAW,SAAQ,iBAA0B;IAA1D;;QAEW,SAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAYtB,cAAS,GAAG;YACpB,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,iBAAiB,EAAE;oBACjB,WAAW,EAAE,IAAI;iBAClB;aACF;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,iBAAiB,EAAE;oBACjB,WAAW,EAAE,GAAG;iBACjB;aACF;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,iBAAiB,EAAE;oBACjB,WAAW,EAAE,IAAI;iBAClB;aACF;SACF,CAAC;QAEQ,sBAAiB,GAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEjD,qBAAgB,GAAG,CAAC,UAAe,EAAE,KAAY,EAAE,CAAS,EAAE,EAAE;YACxE,MAAM,EAAE,MAAM,GAAI,CAAC,CAAC,SAAiB,CAAC,MAAM,EAAE,IAAI,GAAI,CAAC,CAAC,SAAiB,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC;YAC9F,MAAM,CAAC,GAAG,IAAA,cAAK,EAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9B,MAAM,UAAU,GAAG,IAAI,GAAG,GAAG,CAAC;YAE9B,OAAO;gBACL,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,UAAU,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE;gBACtE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE;gBAC3E,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE;aAC7E,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IA5CW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,MAAM,EAAE,CAAC,GACV,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;;AAZH,gCAgDC;AA/CiB,eAAI,YAAuB;AAiDtC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,IAAA,yBAAiB,GAAE,CAAC;IACpB,IAAA,gCAAc,GAAE,CAAC;IACjB,iBAAO,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClD,iBAAO,CAAC,wBAAwB,CAAC,QAAQ,EAAE,CAAC,KAA8B,EAAE,EAAE,CAAC,IAAA,2BAAY,EAAC,KAAK,CAAC,CAAC,CAAC;AACtG,CAAC,CAAC;AALW,QAAA,kBAAkB,sBAK7B","file":"ripple.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { IRippleMarkSpec } from '../typings/visual';\nimport type { IMarkStyle, IRippleMark } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { GlyphMark, registerGlyphMark } from './glyph';\nimport type { Datum } from '../typings/common';\nimport { createSymbol, type IGlyph, type ISymbolGraphicAttribute } from '@visactor/vrender-core';\nimport { clamp } from '@visactor/vutils';\nimport { registerSymbol } from '@visactor/vrender-kits/register/register-symbol';\n\nexport class RippleMark extends GlyphMark<IRippleMarkSpec> implements IRippleMark {\n static readonly type = MarkTypeEnum.ripple;\n readonly type = RippleMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IRippleMarkSpec> = {\n ...super._getDefaultStyle(),\n x: 0,\n y: 0,\n ripple: 0\n };\n return defaultStyle;\n }\n\n protected _subMarks = {\n ripple0: {\n type: 'symbol',\n defaultAttributes: {\n fillOpacity: 0.75\n }\n },\n ripple1: {\n type: 'symbol',\n defaultAttributes: {\n fillOpacity: 0.5\n }\n },\n ripple2: {\n type: 'symbol',\n defaultAttributes: {\n fillOpacity: 0.25\n }\n }\n };\n\n protected _positionChannels: string[] = ['ripple', 'size'];\n\n protected _positionEncoder = (glyphAttrs: any, datum: Datum, g: IGlyph) => {\n const { ripple = (g.attribute as any).ripple, size = (g.attribute as any).size } = glyphAttrs;\n const r = clamp(ripple, 0, 1);\n const rippleSize = size * 0.5;\n\n return {\n ripple0: { size: size + rippleSize * r, fillOpacity: 0.75 - r * 0.25 },\n ripple1: { size: size + rippleSize * (1 + r), fillOpacity: 0.5 - r * 0.25 },\n ripple2: { size: size + rippleSize * (2 + r), fillOpacity: 0.25 - r * 0.25 }\n };\n };\n}\n\nexport const registerRippleMark = () => {\n registerGlyphMark();\n registerSymbol();\n Factory.registerMark(RippleMark.type, RippleMark);\n Factory.registerGraphicComponent('symbol', (attrs: ISymbolGraphicAttribute) => createSymbol(attrs));\n};\n"]}
|
package/cjs/mark/rule.js
CHANGED
|
@@ -14,7 +14,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
14
14
|
value: !0
|
|
15
15
|
}), exports.registerRuleMark = exports.RuleMark = void 0;
|
|
16
16
|
|
|
17
|
-
const factory_1 = require("./../core/factory"), base_mark_1 = require("./base/base-mark"),
|
|
17
|
+
const factory_1 = require("./../core/factory"), base_mark_1 = require("./base/base-mark"), register_line_1 = require("@visactor/vrender-kits/register/register-line"), register_shadowRoot_1 = require("@visactor/vrender-kits/register/register-shadowRoot"), vrender_core_1 = require("@visactor/vrender-core");
|
|
18
18
|
|
|
19
19
|
class RuleMark extends base_mark_1.BaseMark {
|
|
20
20
|
constructor() {
|
|
@@ -46,8 +46,8 @@ class RuleMark extends base_mark_1.BaseMark {
|
|
|
46
46
|
exports.RuleMark = RuleMark, RuleMark.type = "rule";
|
|
47
47
|
|
|
48
48
|
const registerRuleMark = () => {
|
|
49
|
-
factory_1.Factory.registerMark(RuleMark.type, RuleMark), (0,
|
|
50
|
-
(0,
|
|
49
|
+
factory_1.Factory.registerMark(RuleMark.type, RuleMark), (0, register_shadowRoot_1.registerShadowRoot)(),
|
|
50
|
+
(0, register_line_1.registerLine)(), factory_1.Factory.registerGraphicComponent("line", vrender_core_1.createLine);
|
|
51
51
|
};
|
|
52
52
|
|
|
53
53
|
exports.registerRuleMark = registerRuleMark;
|
package/cjs/mark/rule.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/rule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+CAA4C;AAE5C,gDAA4C;AAI5C,
|
|
1
|
+
{"version":3,"sources":["../src/mark/rule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+CAA4C;AAE5C,gDAA4C;AAI5C,iFAA6E;AAC7E,6FAAyF;AAEzF,yDAAoD;AAEpD,MAAa,QAAS,SAAQ,oBAAuB;IAArD;;QAEW,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IA0BhC,CAAC;IAzBW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,GACN,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAES,2BAA2B,CAAC,CAAe,EAAE,KAAU,EAAE,UAAgB;QACjF,MAAM,UAAU,GAAG,KAAK,CAAC,2BAA2B,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC3E,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,KAAc,UAAU,EAAnB,IAAI,UAAK,UAAU,EAAtC,sBAAyB,CAAa,CAAC;QAE7C,uCACK,IAAI,KACP,MAAM,EAAE;gBACN,EAAE,CAAC,EAAE,CAAC,EAAE;gBACR,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;aACjB,IACD;IACJ,CAAC;IAES,cAAc,CAAC,QAA+B,EAAE;QACxD,OAAO,IAAA,yBAAU,EAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;;AA3BH,4BA4BC;AA3BiB,aAAI,UAAqB;AA6BpC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,iBAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAA,wCAAkB,GAAE,CAAC;IACrB,IAAA,4BAAY,GAAE,CAAC;IAEf,iBAAO,CAAC,wBAAwB,SAAoB,yBAAU,CAAC,CAAC;AAClE,CAAC,CAAC;AANW,QAAA,gBAAgB,oBAM3B","file":"rule.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { IRuleMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IMarkGraphic, IMarkStyle, IRuleMark } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerLine } from '@visactor/vrender-kits/register/register-line';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\nimport type { IGraphic, ILineGraphicAttribute } from '@visactor/vrender-core';\nimport { createLine } from '@visactor/vrender-core';\n\nexport class RuleMark extends BaseMark<IRuleMarkSpec> implements IRuleMark {\n static readonly type = MarkTypeEnum.rule;\n readonly type = RuleMark.type;\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IRuleMarkSpec> = {\n ...super._getDefaultStyle(),\n x1: 0,\n y1: 0\n };\n return defaultStyle;\n }\n\n protected _transformGraphicAttributes(g: IMarkGraphic, attrs: any, groupAttrs?: any) {\n const finalAttrs = super._transformGraphicAttributes(g, attrs, groupAttrs);\n const { x, x1, y, y1, ...rest } = finalAttrs;\n\n return {\n ...rest,\n points: [\n { x, y },\n { x: x1, y: y1 }\n ]\n };\n }\n\n protected _createGraphic(attrs: ILineGraphicAttribute = {}): IGraphic {\n return createLine(attrs);\n }\n}\n\nexport const registerRuleMark = () => {\n Factory.registerMark(RuleMark.type, RuleMark);\n registerShadowRoot();\n registerLine();\n\n Factory.registerGraphicComponent(MarkTypeEnum.line, createLine);\n};\n"]}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerRadarAnimation = exports.radarGroupClipAnimation = exports.radarSymbolPresetAnimation = exports.radarSymbolMoveAnimation = exports.radarPresetAnimation = exports.radarGrowAnimation = exports.radarFadeAnimation = void 0;
|
|
6
6
|
|
|
7
|
-
const vrender_animate_1 = require("@visactor/vrender-animate"), factory_1 = require("../../core/factory"), animation_1 = require("../polar/animation"), config_1 = require("../../animation/config"),
|
|
7
|
+
const vrender_animate_1 = require("@visactor/vrender-animate"), factory_1 = require("../../core/factory"), animation_1 = require("../polar/animation"), config_1 = require("../../animation/config"), register_arc_1 = require("@visactor/vrender-kits/register/register-arc"), radarFadeAnimation = animationType => ({
|
|
8
8
|
type: "in" === animationType ? "fadeIn" : "fadeOut"
|
|
9
9
|
});
|
|
10
10
|
|
|
@@ -128,7 +128,7 @@ const registerRadarAnimation = () => {
|
|
|
128
128
|
disappear: {
|
|
129
129
|
duration: config_1.DEFAULT_ANIMATION_CONFIG.disappear.duration
|
|
130
130
|
}
|
|
131
|
-
}))), (0,
|
|
131
|
+
}))), (0, register_arc_1.registerArc)();
|
|
132
132
|
};
|
|
133
133
|
|
|
134
134
|
exports.registerRadarAnimation = registerRadarAnimation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/radar/animation.ts"],"names":[],"mappings":";;;AACA,+DAA8E;AAC9E,gDAA6C;AAC7C,kDAA4E;AAC5E,mDAAkE;AAClE
|
|
1
|
+
{"version":3,"sources":["../src/series/radar/animation.ts"],"names":[],"mappings":"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","file":"animation.js","sourcesContent":["import type { IGraphic } from '@visactor/vrender-core';\nimport { ClipAngleAnimate, AnimateExecutor } from '@visactor/vrender-animate';\nimport { Factory } from '../../core/factory';\nimport { PolarPointUpdate, PolarTagPointsUpdate } from '../polar/animation';\nimport { DEFAULT_ANIMATION_CONFIG } from '../../animation/config';\nimport { registerArc } from '@visactor/vrender-kits/register/register-arc';\nimport type { IRadarAnimationParams, RadarAppearPreset } from './interface';\nimport type { IAnimationTypeConfig, MarkAnimationSpec } from '../../animation/interface';\nimport type { Datum } from '../../typings/common';\n\nexport const radarFadeAnimation = (animationType: 'in' | 'out') => ({\n type: animationType === 'in' ? 'fadeIn' : 'fadeOut'\n});\n\nexport const radarGrowAnimation = (params: IRadarAnimationParams, animationType: 'in' | 'out') => ({\n type: animationType === 'in' ? 'growPointsIn' : 'growPointsOut',\n options: () => ({\n center: params.center()\n })\n});\n\nexport function radarPresetAnimation(\n params: IRadarAnimationParams,\n preset: RadarAppearPreset,\n animationType: 'in' | 'out'\n) {\n switch (preset) {\n case 'fadeIn':\n return radarFadeAnimation(animationType);\n case 'clipIn':\n case 'grow':\n default:\n return radarGrowAnimation(params, animationType);\n }\n}\n\nexport const radarSymbolMoveAnimation = (params: IRadarAnimationParams, animationType: 'in' | 'out') => {\n const xFrom = () => params.center()?.x;\n const xTo = (datum: Datum, element: IGraphic) => element.getGraphicAttribute('x');\n const yFrom = () => params.center()?.y;\n const yTo = (datum: Datum, element: IGraphic) => element.getGraphicAttribute('y');\n if (animationType === 'in') {\n return {\n channel: {\n x: { from: xFrom, to: xTo },\n y: { from: yFrom, to: yTo }\n }\n };\n }\n return {\n channel: {\n x: { from: xTo, to: xFrom },\n y: { from: yTo, to: yFrom }\n }\n };\n};\n\nexport function radarSymbolPresetAnimation(\n params: IRadarAnimationParams,\n preset: RadarAppearPreset,\n animationType: 'in' | 'out'\n) {\n switch (preset) {\n case 'fadeIn':\n return radarFadeAnimation(animationType);\n case 'clipIn':\n case 'grow':\n default:\n return radarSymbolMoveAnimation(params, animationType);\n }\n}\n\nexport const radarGroupClipAnimation = (\n params: IRadarAnimationParams,\n animationType: 'in' | 'out'\n): IAnimationTypeConfig => {\n return {\n custom: ClipAngleAnimate,\n customParameters: (datum: any, graphic: IGraphic) => {\n return {\n group: graphic,\n startAngle: params.startAngle ?? Math.PI / 2,\n orient: 'clockwise',\n center: params.center(),\n radius: params.radius(),\n animationType\n };\n }\n };\n};\n\nexport const registerRadarAnimation = () => {\n Factory.registerAnimation('radar', (params: IRadarAnimationParams, preset: RadarAppearPreset) => {\n return {\n appear: preset === 'clipIn' ? undefined : radarPresetAnimation(params, preset, 'in'),\n enter: radarPresetAnimation(params, preset, 'in'),\n exit: radarPresetAnimation(params, preset, 'out'),\n disappear: preset === 'clipIn' ? undefined : { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration },\n update: [\n {\n channel: ['points', 'center'],\n custom: PolarTagPointsUpdate,\n customParameters: params,\n duration: DEFAULT_ANIMATION_CONFIG.update.duration,\n easing: DEFAULT_ANIMATION_CONFIG.update.easing\n },\n {\n type: 'update',\n options: { excludeChannels: ['points', 'defined', 'center'] }\n }\n ]\n } as MarkAnimationSpec;\n });\n Factory.registerAnimation(\n 'radarSymbol',\n (params: IRadarAnimationParams, preset: RadarAppearPreset) =>\n ({\n appear: preset === 'clipIn' ? undefined : radarSymbolPresetAnimation(params, preset, 'in'),\n enter: { type: 'scaleIn' },\n exit: { type: 'scaleOut' },\n disappear: preset === 'clipIn' ? undefined : { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration },\n update: [\n {\n options: { excludeChannels: ['x', 'y', 'center'] }\n },\n {\n channel: ['x', 'y', 'center'],\n custom: PolarPointUpdate,\n customParameters: params,\n duration: DEFAULT_ANIMATION_CONFIG.update.duration,\n easing: DEFAULT_ANIMATION_CONFIG.update.easing\n }\n ]\n } as MarkAnimationSpec)\n );\n Factory.registerAnimation('radarGroup', (params: IRadarAnimationParams, preset: RadarAppearPreset) => {\n return {\n appear: radarGroupClipAnimation(params, 'in'),\n disappear: { duration: DEFAULT_ANIMATION_CONFIG.disappear.duration }\n };\n });\n registerArc(); // clipAngle animation will use arc graphic\n};\n"]}
|
package/esm/constant/box-plot.js
CHANGED
|
@@ -8,4 +8,5 @@ export var BOX_PLOT_TOOLTIP_KEYS;
|
|
|
8
8
|
BOX_PLOT_TOOLTIP_KEYS.OUTLIER = "outlier", BOX_PLOT_TOOLTIP_KEYS.MAX = "max", BOX_PLOT_TOOLTIP_KEYS.MIN = "min",
|
|
9
9
|
BOX_PLOT_TOOLTIP_KEYS.MEDIAN = "median", BOX_PLOT_TOOLTIP_KEYS.Q1 = "q1", BOX_PLOT_TOOLTIP_KEYS.Q3 = "q3",
|
|
10
10
|
BOX_PLOT_TOOLTIP_KEYS.SERIES_FIELD = "seriesField";
|
|
11
|
-
}(BOX_PLOT_TOOLTIP_KEYS || (BOX_PLOT_TOOLTIP_KEYS = {}));
|
|
11
|
+
}(BOX_PLOT_TOOLTIP_KEYS || (BOX_PLOT_TOOLTIP_KEYS = {}));
|
|
12
|
+
//# sourceMappingURL=box-plot.js.map
|
package/esm/constant/layout.js
CHANGED
|
@@ -29,4 +29,4 @@ export var LayoutLevel;
|
|
|
29
29
|
LayoutLevel[LayoutLevel.Legend = 50] = "Legend", LayoutLevel[LayoutLevel.Title = 70] = "Title",
|
|
30
30
|
LayoutLevel[LayoutLevel.CustomMark = 70] = "CustomMark";
|
|
31
31
|
}(LayoutLevel || (LayoutLevel = {}));
|
|
32
|
-
//# sourceMappingURL=layout.js.map
|
|
32
|
+
//# sourceMappingURL=layout.js.map
|
package/esm/constant/marker.js
CHANGED
package/esm/constant/polar.js
CHANGED
package/esm/constant/scatter.js
CHANGED
|
@@ -11,4 +11,4 @@ export const SCATTER_DEFAULT_SHAPE = "circle";
|
|
|
11
11
|
export const SCATTER_DEFAULT_SHAPE_SCALE_TYPE = ScaleEnum.Ordinal;
|
|
12
12
|
|
|
13
13
|
export const SCATTER_DEFAULT_RANGE_SHAPE = [ "circle", "square", "triangle", "diamond", "star" ];
|
|
14
|
-
//# sourceMappingURL=scatter.js.map
|
|
14
|
+
//# sourceMappingURL=scatter.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const SCROLL_BAR_DEFAULT_SIZE = 12;
|
|
2
|
-
//# sourceMappingURL=scroll-bar.js.map
|
|
2
|
+
//# sourceMappingURL=scroll-bar.js.map
|
package/esm/constant/sunburst.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const SUNBURST_AUTO_VISIBLE_DEFAULT_THRESHOLD = 10;
|
|
2
|
-
//# sourceMappingURL=sunburst.js.map
|
|
2
|
+
//# sourceMappingURL=sunburst.js.map
|
|
@@ -13,4 +13,4 @@ export const WORDCLOUD_DATA_TOTAL = `${PREFIX}_WORDCLOUD_DATA_TOTAL`;
|
|
|
13
13
|
export const WORD_CLOUD_TEXT = `${PREFIX}_WORD_CLOUD_TEXT`;
|
|
14
14
|
|
|
15
15
|
export const WORDCLOUD_SHAPE_DATA_TOTAL = `${PREFIX}_WORDCLOUD_SHAPE_DATA_TOTAL`;
|
|
16
|
-
//# sourceMappingURL=word-cloud.js.map
|
|
16
|
+
//# sourceMappingURL=word-cloud.js.map
|
package/esm/core/index.js
CHANGED
package/esm/core/interface.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { };
|
|
2
|
-
//# sourceMappingURL=interface.js.map
|
|
2
|
+
//# sourceMappingURL=interface.js.map
|
package/esm/core/util.js
CHANGED
package/esm/core/vchart.js
CHANGED
|
@@ -1043,4 +1043,4 @@ export const registerVChartCore = () => {
|
|
|
1043
1043
|
Factory.registerRegion("region", Region), Factory.registerLayout("base", Layout),
|
|
1044
1044
|
registerGroupMark(), registerGesturePlugin(), registerElementHighlight(), registerElementSelect(),
|
|
1045
1045
|
registerTheme(darkTheme.name, darkTheme);
|
|
1046
|
-
//# sourceMappingURL=vchart.js.map
|
|
1046
|
+
//# sourceMappingURL=vchart.js.map
|
|
@@ -43,4 +43,4 @@ export const releaseDataViewWithDependencies = (dataView, shouldReleaseDependenc
|
|
|
43
43
|
};
|
|
44
44
|
collectReleaseDependencies(dataView), releaseDataViews([ dataView, ...releaseDependencies ]);
|
|
45
45
|
};
|
|
46
|
-
//# sourceMappingURL=data-view-utils.js.map
|
|
46
|
+
//# sourceMappingURL=data-view-utils.js.map
|
package/esm/data/initialize.js
CHANGED
|
@@ -81,4 +81,4 @@ export var TransformLevel;
|
|
|
81
81
|
TransformLevel[TransformLevel.linkDotInfo = -7] = "linkDotInfo", TransformLevel[TransformLevel.sankeyLayout = -7] = "sankeyLayout",
|
|
82
82
|
TransformLevel[TransformLevel.dataZoomFilter = -6] = "dataZoomFilter", TransformLevel[TransformLevel.legendFilter = -5] = "legendFilter";
|
|
83
83
|
}(TransformLevel || (TransformLevel = {}));
|
|
84
|
-
//# sourceMappingURL=initialize.js.map
|
|
84
|
+
//# sourceMappingURL=initialize.js.map
|
package/esm/data/register.js
CHANGED
|
@@ -5,4 +5,4 @@ export function registerDataSetInstanceTransform(dataSet, name, transform) {
|
|
|
5
5
|
export function registerDataSetInstanceParser(dataSet, name, parse) {
|
|
6
6
|
dataSet.getParser(name) || dataSet.registerParser(name, parse);
|
|
7
7
|
}
|
|
8
|
-
//# sourceMappingURL=register.js.map
|
|
8
|
+
//# sourceMappingURL=register.js.map
|
package/esm/mark/box-plot.js
CHANGED
|
@@ -6,7 +6,9 @@ import { GlyphMark, registerGlyphMark } from "./glyph";
|
|
|
6
6
|
|
|
7
7
|
import { isValidNumber } from "@visactor/vutils";
|
|
8
8
|
|
|
9
|
-
import { registerLine
|
|
9
|
+
import { registerLine } from "@visactor/vrender-kits/register/register-line";
|
|
10
|
+
|
|
11
|
+
import { registerRect } from "@visactor/vrender-kits/register/register-rect";
|
|
10
12
|
|
|
11
13
|
const BAR_BOX_PLOT_CHANNELS = [ "x", "y", "minMaxWidth", "minMaxHeight", "q1q3Width", "q1q3Height", "q1", "q3", "min", "max", "median", "angle" ], BOX_PLOT_CHANNELS = [ "x", "y", "boxWidth", "boxHeight", "ruleWidth", "ruleHeight", "q1", "q3", "min", "max", "median", "angle" ];
|
|
12
14
|
|
package/esm/mark/box-plot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/box-plot.ts"],"names":[],"mappings":"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","file":"box-plot.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { BoxPlotShaftShape, IBoxPlotMarkSpec } from '../typings/visual';\nimport type { IBoxPlotMark, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { createLine, createRect, type IGlyph, type ILineGraphicAttribute } from '@visactor/vrender-core';\nimport { GlyphMark, registerGlyphMark } from './glyph';\nimport type { Datum } from '../typings/common';\nimport { isValidNumber } from '@visactor/vutils';\nimport { registerLine, registerRect } from '@visactor/vrender-kits';\n\nconst BAR_BOX_PLOT_CHANNELS = [\n 'x',\n 'y',\n 'minMaxWidth',\n 'minMaxHeight',\n 'q1q3Width',\n 'q1q3Height',\n 'q1',\n 'q3',\n 'min',\n 'max',\n 'median',\n 'angle'\n];\n\nconst BOX_PLOT_CHANNELS = [\n 'x',\n 'y',\n 'boxWidth',\n 'boxHeight',\n 'ruleWidth',\n 'ruleHeight',\n 'q1',\n 'q3',\n 'min',\n 'max',\n 'median',\n 'angle'\n];\n\nexport class BoxPlotMark\n extends GlyphMark<IBoxPlotMarkSpec, { direction?: 'horizontal' | 'vertical'; shaftShape?: BoxPlotShaftShape }>\n implements IBoxPlotMark\n{\n static readonly type = MarkTypeEnum.boxPlot;\n readonly type = BoxPlotMark.type;\n\n protected _isHorizontal() {\n return this._glyphConfig && this._glyphConfig.direction === 'horizontal';\n }\n\n setGlyphConfig(cfg: { direction?: 'horizontal' | 'vertical'; shaftShape?: BoxPlotShaftShape }): void {\n super.setGlyphConfig(cfg);\n\n if (cfg.shaftShape === 'bar') {\n this._subMarks = {\n minMaxBox: {\n type: 'rect',\n defaultAttributes: {\n lineWidth: 0\n }\n },\n q1q3Box: {\n type: 'rect',\n defaultAttributes: {\n lineWidth: 0\n }\n },\n median: {\n type: 'line',\n defaultAttributes: { x: 0, y: 0 }\n }\n };\n this._positionChannels = BAR_BOX_PLOT_CHANNELS;\n this._channelEncoder = {\n minMaxFillOpacity: (val: number) => ({ minMaxBox: { fillOpacity: val } }),\n lineWidth: (val: number) => ({ minMaxBox: { lineWidth: 0 }, q1q3Box: { lineWidth: 0 } }),\n stroke: (val: number) => ({ minMaxBox: { stroke: false }, q1q3Box: { stroke: false } })\n };\n\n this._positionEncoder = (glyphAttrs: any, datum: Datum, g: IGlyph) => {\n const {\n x = g.attribute.x,\n y = g.attribute.y,\n minMaxWidth = (g.attribute as any).minMaxWidth,\n minMaxHeight = (g.attribute as any).minMaxHeight,\n q1q3Width = (g.attribute as any).q1q3Width,\n q1q3Height = (g.attribute as any).q1q3Height,\n q1 = (g.attribute as any).q1,\n q3 = (g.attribute as any).q3,\n min = (g.attribute as any).min,\n max = (g.attribute as any).max,\n median = (g.attribute as any).median,\n angle\n } = glyphAttrs;\n const isH = this._isHorizontal();\n\n const attributes: any = {};\n\n if (isH) {\n attributes.minMaxBox = {\n x: min,\n x1: max,\n y: y - minMaxHeight / 2,\n y1: y + minMaxHeight / 2\n };\n attributes.q1q3Box = {\n x: q1,\n x1: q3,\n y: y - q1q3Height / 2,\n y1: y + q1q3Height / 2\n };\n\n attributes.median = {\n points: [\n {\n x: median,\n y: y - q1q3Height / 2\n },\n {\n x: median,\n y: y + q1q3Height / 2\n }\n ]\n };\n } else {\n attributes.minMaxBox = {\n y: min,\n y1: max,\n x: x - minMaxWidth / 2,\n x1: x + minMaxWidth / 2\n };\n attributes.q1q3Box = {\n y: q1,\n y1: q3,\n x: x - q1q3Width / 2,\n x1: x + q1q3Width / 2\n };\n\n attributes.median = {\n points: [\n {\n y: median,\n x: x - q1q3Width / 2\n },\n {\n y: median,\n x: x + q1q3Width / 2\n }\n ]\n };\n }\n\n if (isValidNumber(angle)) {\n const anchor = glyphAttrs.anchor ?? (isH ? [(min + max) / 2, y] : [x, (min + max) / 2]);\n Object.keys(attributes).forEach(key => {\n attributes[key].angle = angle;\n attributes[key].anchor = anchor;\n });\n }\n\n return attributes;\n };\n } else {\n this._subMarks = {\n shaft: { type: 'line', defaultAttributes: { x: 0, y: 0 } },\n box: { type: 'rect' },\n max: { type: 'line', defaultAttributes: { x: 0, y: 0 } },\n min: { type: 'line', defaultAttributes: { x: 0, y: 0 } },\n median: { type: 'line', defaultAttributes: { x: 0, y: 0 } }\n };\n this._positionChannels = BOX_PLOT_CHANNELS;\n this._channelEncoder = {\n boxStroke: (val: string) => ({ box: { stroke: val } }),\n medianStroke: (val: string) => ({ median: { stroke: val } }),\n boxCornerRadius: (val: number) => ({ box: { cornerRadius: val } })\n };\n this._positionEncoder = (glyphAttrs: any, datum: Datum, g: IGlyph) => {\n const {\n x = g.attribute.x,\n y = g.attribute.y,\n boxWidth = (g.attribute as any).boxWidth,\n boxHeight = (g.attribute as any).boxHeight,\n ruleWidth = (g.attribute as any).ruleWidth,\n ruleHeight = (g.attribute as any).ruleHeight,\n q1 = (g.attribute as any).q1,\n q3 = (g.attribute as any).q3,\n min = (g.attribute as any).min,\n max = (g.attribute as any).max,\n median = (g.attribute as any).median,\n angle\n } = glyphAttrs;\n const isH = this._isHorizontal();\n\n const attributes: any = {};\n\n if (isH) {\n attributes.box = {\n x: q1,\n x1: q3,\n y: y - boxHeight / 2,\n y1: y + boxHeight / 2\n };\n attributes.median = {\n points: [\n {\n x: median,\n y: y - boxHeight / 2\n },\n {\n x: median,\n y: y + boxHeight / 2\n }\n ]\n };\n attributes.shaft = {\n points: [\n {\n x: min,\n y: y\n },\n {\n x: max,\n y: y\n }\n ]\n };\n attributes.max = {\n points: [\n {\n x: max,\n y: y - ruleHeight / 2\n },\n {\n x: max,\n y: y + ruleHeight / 2\n }\n ]\n };\n attributes.min = {\n points: [\n {\n x: min,\n y: y - ruleHeight / 2\n },\n {\n x: min,\n y: y + ruleHeight / 2\n }\n ]\n };\n } else {\n attributes.box = {\n x: x - boxWidth / 2,\n x1: x + boxWidth / 2,\n y: q1,\n y1: q3\n };\n attributes.median = {\n points: [\n {\n x: x - boxWidth / 2,\n y: median\n },\n {\n x: x + boxWidth / 2,\n y: median\n }\n ]\n };\n\n attributes.max = {\n points: [\n {\n x: x - ruleWidth / 2,\n y: max\n },\n {\n x: x + ruleWidth / 2,\n y: max\n }\n ]\n };\n attributes.min = {\n points: [\n {\n x: x - ruleWidth / 2,\n y: min\n },\n {\n x: x + ruleWidth / 2,\n y: min\n }\n ]\n };\n attributes.shaft = {\n points: [\n {\n x: x,\n y: min\n },\n {\n x: x,\n y: max\n }\n ]\n };\n }\n\n if (isValidNumber(angle)) {\n const anchor = glyphAttrs.anchor ?? (isH ? [(min + max) / 2, y] : [x, (min + max) / 2]);\n Object.keys(attributes).forEach(key => {\n attributes[key].angle = angle;\n attributes[key].anchor = anchor;\n });\n }\n\n return attributes;\n };\n }\n }\n\n setDataLabelType() {\n return 'symbol';\n }\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IBoxPlotMarkSpec> = {\n ...super._getDefaultStyle(),\n lineWidth: 2,\n boxWidth: 30,\n shaftWidth: 20,\n shaftShape: 'line'\n };\n return defaultStyle;\n }\n}\n\nexport const registerBoxPlotMark = () => {\n registerGlyphMark();\n registerLine();\n registerRect();\n Factory.registerGraphicComponent('line', (attrs: ILineGraphicAttribute) => createLine(attrs));\n Factory.registerGraphicComponent('rect', (attrs: ILineGraphicAttribute) => createRect(attrs));\n Factory.registerMark(BoxPlotMark.type, BoxPlotMark);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/mark/box-plot.ts"],"names":[],"mappings":"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","file":"box-plot.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { BoxPlotShaftShape, IBoxPlotMarkSpec } from '../typings/visual';\nimport type { IBoxPlotMark, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { createLine, createRect, type IGlyph, type ILineGraphicAttribute } from '@visactor/vrender-core';\nimport { GlyphMark, registerGlyphMark } from './glyph';\nimport type { Datum } from '../typings/common';\nimport { isValidNumber } from '@visactor/vutils';\nimport { registerLine } from '@visactor/vrender-kits/register/register-line';\nimport { registerRect } from '@visactor/vrender-kits/register/register-rect';\n\nconst BAR_BOX_PLOT_CHANNELS = [\n 'x',\n 'y',\n 'minMaxWidth',\n 'minMaxHeight',\n 'q1q3Width',\n 'q1q3Height',\n 'q1',\n 'q3',\n 'min',\n 'max',\n 'median',\n 'angle'\n];\n\nconst BOX_PLOT_CHANNELS = [\n 'x',\n 'y',\n 'boxWidth',\n 'boxHeight',\n 'ruleWidth',\n 'ruleHeight',\n 'q1',\n 'q3',\n 'min',\n 'max',\n 'median',\n 'angle'\n];\n\nexport class BoxPlotMark\n extends GlyphMark<IBoxPlotMarkSpec, { direction?: 'horizontal' | 'vertical'; shaftShape?: BoxPlotShaftShape }>\n implements IBoxPlotMark\n{\n static readonly type = MarkTypeEnum.boxPlot;\n readonly type = BoxPlotMark.type;\n\n protected _isHorizontal() {\n return this._glyphConfig && this._glyphConfig.direction === 'horizontal';\n }\n\n setGlyphConfig(cfg: { direction?: 'horizontal' | 'vertical'; shaftShape?: BoxPlotShaftShape }): void {\n super.setGlyphConfig(cfg);\n\n if (cfg.shaftShape === 'bar') {\n this._subMarks = {\n minMaxBox: {\n type: 'rect',\n defaultAttributes: {\n lineWidth: 0\n }\n },\n q1q3Box: {\n type: 'rect',\n defaultAttributes: {\n lineWidth: 0\n }\n },\n median: {\n type: 'line',\n defaultAttributes: { x: 0, y: 0 }\n }\n };\n this._positionChannels = BAR_BOX_PLOT_CHANNELS;\n this._channelEncoder = {\n minMaxFillOpacity: (val: number) => ({ minMaxBox: { fillOpacity: val } }),\n lineWidth: (val: number) => ({ minMaxBox: { lineWidth: 0 }, q1q3Box: { lineWidth: 0 } }),\n stroke: (val: number) => ({ minMaxBox: { stroke: false }, q1q3Box: { stroke: false } })\n };\n\n this._positionEncoder = (glyphAttrs: any, datum: Datum, g: IGlyph) => {\n const {\n x = g.attribute.x,\n y = g.attribute.y,\n minMaxWidth = (g.attribute as any).minMaxWidth,\n minMaxHeight = (g.attribute as any).minMaxHeight,\n q1q3Width = (g.attribute as any).q1q3Width,\n q1q3Height = (g.attribute as any).q1q3Height,\n q1 = (g.attribute as any).q1,\n q3 = (g.attribute as any).q3,\n min = (g.attribute as any).min,\n max = (g.attribute as any).max,\n median = (g.attribute as any).median,\n angle\n } = glyphAttrs;\n const isH = this._isHorizontal();\n\n const attributes: any = {};\n\n if (isH) {\n attributes.minMaxBox = {\n x: min,\n x1: max,\n y: y - minMaxHeight / 2,\n y1: y + minMaxHeight / 2\n };\n attributes.q1q3Box = {\n x: q1,\n x1: q3,\n y: y - q1q3Height / 2,\n y1: y + q1q3Height / 2\n };\n\n attributes.median = {\n points: [\n {\n x: median,\n y: y - q1q3Height / 2\n },\n {\n x: median,\n y: y + q1q3Height / 2\n }\n ]\n };\n } else {\n attributes.minMaxBox = {\n y: min,\n y1: max,\n x: x - minMaxWidth / 2,\n x1: x + minMaxWidth / 2\n };\n attributes.q1q3Box = {\n y: q1,\n y1: q3,\n x: x - q1q3Width / 2,\n x1: x + q1q3Width / 2\n };\n\n attributes.median = {\n points: [\n {\n y: median,\n x: x - q1q3Width / 2\n },\n {\n y: median,\n x: x + q1q3Width / 2\n }\n ]\n };\n }\n\n if (isValidNumber(angle)) {\n const anchor = glyphAttrs.anchor ?? (isH ? [(min + max) / 2, y] : [x, (min + max) / 2]);\n Object.keys(attributes).forEach(key => {\n attributes[key].angle = angle;\n attributes[key].anchor = anchor;\n });\n }\n\n return attributes;\n };\n } else {\n this._subMarks = {\n shaft: { type: 'line', defaultAttributes: { x: 0, y: 0 } },\n box: { type: 'rect' },\n max: { type: 'line', defaultAttributes: { x: 0, y: 0 } },\n min: { type: 'line', defaultAttributes: { x: 0, y: 0 } },\n median: { type: 'line', defaultAttributes: { x: 0, y: 0 } }\n };\n this._positionChannels = BOX_PLOT_CHANNELS;\n this._channelEncoder = {\n boxStroke: (val: string) => ({ box: { stroke: val } }),\n medianStroke: (val: string) => ({ median: { stroke: val } }),\n boxCornerRadius: (val: number) => ({ box: { cornerRadius: val } })\n };\n this._positionEncoder = (glyphAttrs: any, datum: Datum, g: IGlyph) => {\n const {\n x = g.attribute.x,\n y = g.attribute.y,\n boxWidth = (g.attribute as any).boxWidth,\n boxHeight = (g.attribute as any).boxHeight,\n ruleWidth = (g.attribute as any).ruleWidth,\n ruleHeight = (g.attribute as any).ruleHeight,\n q1 = (g.attribute as any).q1,\n q3 = (g.attribute as any).q3,\n min = (g.attribute as any).min,\n max = (g.attribute as any).max,\n median = (g.attribute as any).median,\n angle\n } = glyphAttrs;\n const isH = this._isHorizontal();\n\n const attributes: any = {};\n\n if (isH) {\n attributes.box = {\n x: q1,\n x1: q3,\n y: y - boxHeight / 2,\n y1: y + boxHeight / 2\n };\n attributes.median = {\n points: [\n {\n x: median,\n y: y - boxHeight / 2\n },\n {\n x: median,\n y: y + boxHeight / 2\n }\n ]\n };\n attributes.shaft = {\n points: [\n {\n x: min,\n y: y\n },\n {\n x: max,\n y: y\n }\n ]\n };\n attributes.max = {\n points: [\n {\n x: max,\n y: y - ruleHeight / 2\n },\n {\n x: max,\n y: y + ruleHeight / 2\n }\n ]\n };\n attributes.min = {\n points: [\n {\n x: min,\n y: y - ruleHeight / 2\n },\n {\n x: min,\n y: y + ruleHeight / 2\n }\n ]\n };\n } else {\n attributes.box = {\n x: x - boxWidth / 2,\n x1: x + boxWidth / 2,\n y: q1,\n y1: q3\n };\n attributes.median = {\n points: [\n {\n x: x - boxWidth / 2,\n y: median\n },\n {\n x: x + boxWidth / 2,\n y: median\n }\n ]\n };\n\n attributes.max = {\n points: [\n {\n x: x - ruleWidth / 2,\n y: max\n },\n {\n x: x + ruleWidth / 2,\n y: max\n }\n ]\n };\n attributes.min = {\n points: [\n {\n x: x - ruleWidth / 2,\n y: min\n },\n {\n x: x + ruleWidth / 2,\n y: min\n }\n ]\n };\n attributes.shaft = {\n points: [\n {\n x: x,\n y: min\n },\n {\n x: x,\n y: max\n }\n ]\n };\n }\n\n if (isValidNumber(angle)) {\n const anchor = glyphAttrs.anchor ?? (isH ? [(min + max) / 2, y] : [x, (min + max) / 2]);\n Object.keys(attributes).forEach(key => {\n attributes[key].angle = angle;\n attributes[key].anchor = anchor;\n });\n }\n\n return attributes;\n };\n }\n }\n\n setDataLabelType() {\n return 'symbol';\n }\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IBoxPlotMarkSpec> = {\n ...super._getDefaultStyle(),\n lineWidth: 2,\n boxWidth: 30,\n shaftWidth: 20,\n shaftShape: 'line'\n };\n return defaultStyle;\n }\n}\n\nexport const registerBoxPlotMark = () => {\n registerGlyphMark();\n registerLine();\n registerRect();\n Factory.registerGraphicComponent('line', (attrs: ILineGraphicAttribute) => createLine(attrs));\n Factory.registerGraphicComponent('rect', (attrs: ILineGraphicAttribute) => createRect(attrs));\n Factory.registerMark(BoxPlotMark.type, BoxPlotMark);\n};\n"]}
|
package/esm/mark/cell.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Factory } from "./../core/factory";
|
|
2
2
|
|
|
3
|
-
import { registerShadowRoot
|
|
3
|
+
import { registerShadowRoot } from "@visactor/vrender-kits/register/register-shadowRoot";
|
|
4
|
+
|
|
5
|
+
import { registerSymbol } from "@visactor/vrender-kits/register/register-symbol";
|
|
4
6
|
|
|
5
7
|
import { registerSymbolDataLabel } from "@visactor/vrender-components";
|
|
6
8
|
|
package/esm/mark/cell.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/cell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAK5C,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"sources":["../src/mark/cell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAK5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,MAAM,OAAO,QAAS,SAAQ,QAAuB;IAArD;;QAEW,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IA4BhC,CAAC;IA1BW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,CAAC,EACZ,OAAO,EAAE,CAAC,GACX,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAES,cAAc,CAAC,QAAa,EAAE;QACtC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAES,2BAA2B,CAAC,CAAe,EAAE,KAAU,EAAE,UAAgB;;QACjF,MAAM,WAAW,GAAG,KAAK,CAAC,2BAA2B,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC5E,MAAM,UAAU,GACd,MAAA,MAAA,WAAW,CAAC,KAAK,mCAAI,WAAW,CAAC,UAAU,mCAAI,MAAC,CAAC,CAAC,SAAqC,0CAAE,UAAU,CAAC;QAEtG,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE;YACrB,WAAW,CAAC,UAAU,GAAG,MAAM,CAAC;SACjC;aAAM;YACL,WAAW,CAAC,UAAU,GAAG,UAAU,CAAC;SACrC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;;AA5Be,aAAI,UAAqB;AA+B3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE9C,OAAO,CAAC,wBAAwB,WAAsB,YAAY,CAAC,CAAC;IAEpE,kBAAkB,EAAE,CAAC;IACrB,cAAc,EAAE,CAAC;IACjB,uBAAuB,EAAE,CAAC;AAC5B,CAAC,CAAC","file":"cell.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { ICellMarkSpec } from '../typings';\nimport type { ICellMark, IMarkGraphic, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\nimport { registerSymbol } from '@visactor/vrender-kits/register/register-symbol';\nimport { registerSymbolDataLabel } from '@visactor/vrender-components';\nimport type { IGraphic, ISymbolGraphicAttribute } from '@visactor/vrender-core';\nimport { createSymbol } from '@visactor/vrender-core';\nimport { isNil } from '@visactor/vutils';\nimport { BaseMark } from './base';\n\nexport class CellMark extends BaseMark<ICellMarkSpec> implements ICellMark {\n static readonly type = MarkTypeEnum.cell;\n readonly type = CellMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<ICellMarkSpec> = {\n ...super._getDefaultStyle(),\n fill: undefined,\n lineWidth: 0,\n padding: 0\n };\n return defaultStyle;\n }\n\n protected _createGraphic(attrs: any = {}): IGraphic {\n return createSymbol(attrs);\n }\n\n protected _transformGraphicAttributes(g: IMarkGraphic, attrs: any, groupAttrs?: any) {\n const symbolAttrs = super._transformGraphicAttributes(g, attrs, groupAttrs);\n const symbolType =\n symbolAttrs.shape ?? symbolAttrs.symbolType ?? (g.attribute as ISymbolGraphicAttribute)?.symbolType;\n\n if (isNil(symbolType)) {\n symbolAttrs.symbolType = 'rect';\n } else {\n symbolAttrs.symbolType = symbolType;\n }\n return symbolAttrs;\n }\n}\n\nexport const registerCellMark = () => {\n Factory.registerMark(CellMark.type, CellMark);\n\n Factory.registerGraphicComponent(MarkTypeEnum.symbol, createSymbol);\n\n registerShadowRoot();\n registerSymbol();\n registerSymbolDataLabel();\n};\n"]}
|
package/esm/mark/glyph.js
CHANGED
|
@@ -4,7 +4,9 @@ import { createGlyph } from "@visactor/vrender-core";
|
|
|
4
4
|
|
|
5
5
|
import { Factory } from "../core/factory";
|
|
6
6
|
|
|
7
|
-
import { registerGlyph
|
|
7
|
+
import { registerGlyph } from "@visactor/vrender-kits/register/register-glyph";
|
|
8
|
+
|
|
9
|
+
import { registerShadowRoot } from "@visactor/vrender-kits/register/register-shadowRoot";
|
|
8
10
|
|
|
9
11
|
import { DiffState } from "./interface/enum";
|
|
10
12
|
|
package/esm/mark/glyph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/glyph.ts"],"names":[],"mappings":"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","file":"glyph.js","sourcesContent":["import type { ICommonSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IGlyph, IGlyphGraphicAttribute, IGraphic } from '@visactor/vrender-core';\nimport { createGlyph } from '@visactor/vrender-core';\nimport type { IGlyphMark } from './interface/mark';\nimport type { MarkType } from './interface/type';\nimport { Factory } from '../core/factory';\nimport type { Datum } from '../typings/common';\nimport { registerGlyph, registerShadowRoot } from '@visactor/vrender-kits';\nimport type { IMarkGraphic } from './interface/common';\nimport { DiffState } from './interface/enum';\nimport { merge } from '@visactor/vutils';\n\nconst GLYPH_INHERITED_STYLE_ATTRIBUTES = new Set([\n 'fill',\n 'fillOpacity',\n 'stroke',\n 'strokeOpacity',\n 'opacity',\n 'lineWidth',\n 'lineDash',\n 'lineDashOffset',\n 'lineCap',\n 'lineJoin',\n 'miterLimit',\n 'shadowBlur',\n 'shadowColor',\n 'shadowOffsetX',\n 'shadowOffsetY',\n 'visible',\n 'pickable',\n 'cursor'\n]);\nconst GLYPH_STATE_ATTRIBUTE_UPDATE_TYPE = 2;\n\nexport abstract class GlyphMark<T extends ICommonSpec = ICommonSpec, Cfg = any>\n extends BaseMark<T>\n implements IGlyphMark<T, Cfg>\n{\n protected _defaultGlyphAttrs: T;\n\n protected _subMarks: Record<\n string,\n {\n type: MarkType;\n defaultAttributes?: any;\n }\n >;\n\n getSubMarks() {\n return this._subMarks;\n }\n\n protected _glyphConfig: Cfg;\n\n setGlyphConfig(cfg: Cfg) {\n this._glyphConfig = cfg;\n }\n\n getGlyphConfig() {\n return this._glyphConfig;\n }\n\n protected _positionChannels: string[];\n\n getPositionChannels() {\n return this._positionChannels;\n }\n\n protected _positionEncoder: (glyphAttrs: any, datum: Datum, g: IGlyph) => Record<string, any>;\n\n protected _channelEncoder: Record<string, (channelValue: any) => Record<string, any>>;\n\n private _getInheritedStyleAttrs(attributes: any) {\n let inheritedStyleAttrs: any = null;\n\n Object.keys(attributes).forEach(channel => {\n if (GLYPH_INHERITED_STYLE_ATTRIBUTES.has(channel)) {\n inheritedStyleAttrs = inheritedStyleAttrs ?? {};\n inheritedStyleAttrs[channel] = attributes[channel];\n }\n });\n\n return inheritedStyleAttrs;\n }\n\n private _getInheritedStyleAttrsMap(glyph: IGlyph, attributes: any) {\n const inheritedStyleAttrs = this._getInheritedStyleAttrs(attributes);\n\n if (!inheritedStyleAttrs) {\n return null;\n }\n\n return glyph.getSubGraphic().reduce((map, subGraphic) => {\n if (subGraphic) {\n map[subGraphic.name] = { ...inheritedStyleAttrs };\n }\n return map;\n }, {} as Record<string, any>);\n }\n\n private _syncInheritedStyleAttrs(glyph: IGlyph, attributes: any) {\n const inheritedStyleAttrs = this._getInheritedStyleAttrs(attributes);\n\n if (!inheritedStyleAttrs) {\n return;\n }\n\n glyph.getSubGraphic().forEach(subGraphic => {\n subGraphic?.setAttributes({ ...inheritedStyleAttrs });\n });\n }\n\n private _onGlyphAttributeUpdate(glyph: IGlyph) {\n return (newAttributes: any) => {\n const positionChannels = this.getPositionChannels();\n let subAttrsMap =\n positionChannels && this._positionEncoder && Object.keys(newAttributes).some(k => positionChannels.includes(k))\n ? this._positionEncoder(newAttributes, glyph?.context?.data?.[0], glyph)\n : null;\n\n if (this._channelEncoder) {\n Object.keys(this._channelEncoder).forEach(channel => {\n if (channel in newAttributes) {\n const channelAttrsMap = this._channelEncoder[channel](newAttributes[channel]);\n\n subAttrsMap = subAttrsMap ? merge(subAttrsMap, channelAttrsMap) : channelAttrsMap;\n }\n });\n }\n\n const inheritedStyleAttrsMap = this._getInheritedStyleAttrsMap(glyph, newAttributes);\n if (inheritedStyleAttrsMap) {\n subAttrsMap = subAttrsMap ? merge(inheritedStyleAttrsMap, subAttrsMap) : inheritedStyleAttrsMap;\n }\n\n if (subAttrsMap) {\n glyph.getSubGraphic().forEach(subGraphic => {\n if (subGraphic && subAttrsMap[subGraphic.name]) {\n subGraphic.setAttributes(subAttrsMap[subGraphic.name]);\n }\n });\n }\n\n return newAttributes;\n };\n }\n\n protected _setStateOfGraphic = (g: IMarkGraphic) => {\n g.clearStates();\n\n if (g.context.diffState === DiffState.enter || g.context.diffState === DiffState.update) {\n g.glyphStateProxy = (stateName: string, nexStates: string[]) => {\n const glyphAttrs = {\n attributes: {\n ...this._runEncoderOfGraphic(this._encoderOfState?.[stateName], g),\n ...(g.runtimeStateCache ? g.runtimeStateCache[stateName] : null)\n }\n };\n\n // 更新缓存\n if (!g.glyphStates) {\n g.glyphStates = { [stateName]: glyphAttrs };\n } else if (!g.glyphStates[stateName]) {\n g.glyphStates[stateName] = glyphAttrs;\n }\n\n return glyphAttrs;\n };\n\n g.useStates(g.context.states);\n }\n };\n\n protected _createGraphic(attrs: IGlyphGraphicAttribute = {}): IGraphic {\n const glyph = createGlyph(attrs);\n glyph.onBeforeAttributeUpdate = this._onGlyphAttributeUpdate(glyph);\n glyph.addEventListener('afterAttributeUpdate', (event: any) => {\n if (event?.detail?.type === GLYPH_STATE_ATTRIBUTE_UPDATE_TYPE) {\n this._syncInheritedStyleAttrs(glyph, glyph.attribute);\n }\n });\n const subMarks = this._subMarks;\n\n if (subMarks) {\n const subGraphics: IGraphic[] = [];\n\n Object.keys(subMarks).forEach(name => {\n // glyph 中的子元素会继承glyph 的 x,y,所以子元素手动设置一下,x: 0, y: 0\n const subGraphic = Factory.createGraphicComponent(subMarks[name].type, {\n ...subMarks[name].defaultAttributes\n });\n\n if (subGraphic) {\n subGraphics.push(subGraphic);\n\n subGraphic.name = name;\n subGraphic.onBeforeAttributeUpdate = (attrs: any) => {\n return attrs;\n };\n }\n });\n\n glyph.setSubGraphic(subGraphics);\n }\n\n (glyph as any).onBeforeAttributeUpdate(attrs);\n\n return glyph;\n }\n\n protected _runProgressiveEncoder(graphics: IMarkGraphic[]) {\n this._runEncoder(graphics);\n }\n}\n\nexport const registerGlyphMark = () => {\n Factory.registerGraphicComponent('glyph', createGlyph);\n registerShadowRoot();\n registerGlyph();\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/mark/glyph.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGrD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AAEzF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,MAAM,gCAAgC,GAAG,IAAI,GAAG,CAAC;IAC/C,MAAM;IACN,aAAa;IACb,QAAQ;IACR,eAAe;IACf,SAAS;IACT,WAAW;IACX,UAAU;IACV,gBAAgB;IAChB,SAAS;IACT,UAAU;IACV,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,eAAe;IACf,eAAe;IACf,SAAS;IACT,UAAU;IACV,QAAQ;CACT,CAAC,CAAC;AACH,MAAM,iCAAiC,GAAG,CAAC,CAAC;AAE5C,MAAM,OAAgB,SACpB,SAAQ,QAAW;IADrB;;QAiHY,uBAAkB,GAAG,CAAC,CAAe,EAAE,EAAE;YACjD,CAAC,CAAC,WAAW,EAAE,CAAC;YAEhB,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,MAAM,EAAE;gBACvF,CAAC,CAAC,eAAe,GAAG,CAAC,SAAiB,EAAE,SAAmB,EAAE,EAAE;;oBAC7D,MAAM,UAAU,GAAG;wBACjB,UAAU,kCACL,IAAI,CAAC,oBAAoB,CAAC,MAAA,IAAI,CAAC,eAAe,0CAAG,SAAS,CAAC,EAAE,CAAC,CAAC,GAC/D,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CACjE;qBACF,CAAC;oBAGF,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE;wBAClB,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC;qBAC7C;yBAAM,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE;wBACpC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;qBACvC;oBAED,OAAO,UAAU,CAAC;gBACpB,CAAC,CAAC;gBAEF,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;aAC/B;QACH,CAAC,CAAC;IA0CJ,CAAC;IArKC,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAID,cAAc,CAAC,GAAQ;QACrB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;IAC1B,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAID,mBAAmB;QACjB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAMO,uBAAuB,CAAC,UAAe;QAC7C,IAAI,mBAAmB,GAAQ,IAAI,CAAC;QAEpC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACxC,IAAI,gCAAgC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;gBACjD,mBAAmB,GAAG,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,EAAE,CAAC;gBAChD,mBAAmB,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;aACpD;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAEO,0BAA0B,CAAC,KAAa,EAAE,UAAe;QAC/D,MAAM,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;QAErE,IAAI,CAAC,mBAAmB,EAAE;YACxB,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE;YACtD,IAAI,UAAU,EAAE;gBACd,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,qBAAQ,mBAAmB,CAAE,CAAC;aACnD;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAyB,CAAC,CAAC;IAChC,CAAC;IAEO,wBAAwB,CAAC,KAAa,EAAE,UAAe;QAC7D,MAAM,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;QAErE,IAAI,CAAC,mBAAmB,EAAE;YACxB,OAAO;SACR;QAED,KAAK,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACzC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,aAAa,mBAAM,mBAAmB,EAAG,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,uBAAuB,CAAC,KAAa;QAC3C,OAAO,CAAC,aAAkB,EAAE,EAAE;;YAC5B,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACpD,IAAI,WAAW,GACb,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC7G,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,0CAAE,IAAI,0CAAG,CAAC,CAAC,EAAE,KAAK,CAAC;gBACxE,CAAC,CAAC,IAAI,CAAC;YAEX,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAClD,IAAI,OAAO,IAAI,aAAa,EAAE;wBAC5B,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;wBAE9E,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;qBACnF;gBACH,CAAC,CAAC,CAAC;aACJ;YAED,MAAM,sBAAsB,GAAG,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YACrF,IAAI,sBAAsB,EAAE;gBAC1B,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC;aACjG;YAED,IAAI,WAAW,EAAE;gBACf,KAAK,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;oBACzC,IAAI,UAAU,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;wBAC9C,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;qBACxD;gBACH,CAAC,CAAC,CAAC;aACJ;YAED,OAAO,aAAa,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC;IA4BS,cAAc,CAAC,QAAgC,EAAE;QACzD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACjC,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACpE,KAAK,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,CAAC,KAAU,EAAE,EAAE;;YAC5D,IAAI,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,IAAI,MAAK,iCAAiC,EAAE;gBAC7D,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;aACvD;QACH,CAAC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAEhC,IAAI,QAAQ,EAAE;YACZ,MAAM,WAAW,GAAe,EAAE,CAAC;YAEnC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAEnC,MAAM,UAAU,GAAG,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,oBAChE,QAAQ,CAAC,IAAI,CAAC,CAAC,iBAAiB,EACnC,CAAC;gBAEH,IAAI,UAAU,EAAE;oBACd,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAE7B,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;oBACvB,UAAU,CAAC,uBAAuB,GAAG,CAAC,KAAU,EAAE,EAAE;wBAClD,OAAO,KAAK,CAAC;oBACf,CAAC,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;SAClC;QAEA,KAAa,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAE9C,OAAO,KAAK,CAAC;IACf,CAAC;IAES,sBAAsB,CAAC,QAAwB;QACvD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,OAAO,CAAC,wBAAwB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACvD,kBAAkB,EAAE,CAAC;IACrB,aAAa,EAAE,CAAC;AAClB,CAAC,CAAC","file":"glyph.js","sourcesContent":["import type { ICommonSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IGlyph, IGlyphGraphicAttribute, IGraphic } from '@visactor/vrender-core';\nimport { createGlyph } from '@visactor/vrender-core';\nimport type { IGlyphMark } from './interface/mark';\nimport type { MarkType } from './interface/type';\nimport { Factory } from '../core/factory';\nimport type { Datum } from '../typings/common';\nimport { registerGlyph } from '@visactor/vrender-kits/register/register-glyph';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\nimport type { IMarkGraphic } from './interface/common';\nimport { DiffState } from './interface/enum';\nimport { merge } from '@visactor/vutils';\n\nconst GLYPH_INHERITED_STYLE_ATTRIBUTES = new Set([\n 'fill',\n 'fillOpacity',\n 'stroke',\n 'strokeOpacity',\n 'opacity',\n 'lineWidth',\n 'lineDash',\n 'lineDashOffset',\n 'lineCap',\n 'lineJoin',\n 'miterLimit',\n 'shadowBlur',\n 'shadowColor',\n 'shadowOffsetX',\n 'shadowOffsetY',\n 'visible',\n 'pickable',\n 'cursor'\n]);\nconst GLYPH_STATE_ATTRIBUTE_UPDATE_TYPE = 2;\n\nexport abstract class GlyphMark<T extends ICommonSpec = ICommonSpec, Cfg = any>\n extends BaseMark<T>\n implements IGlyphMark<T, Cfg>\n{\n protected _defaultGlyphAttrs: T;\n\n protected _subMarks: Record<\n string,\n {\n type: MarkType;\n defaultAttributes?: any;\n }\n >;\n\n getSubMarks() {\n return this._subMarks;\n }\n\n protected _glyphConfig: Cfg;\n\n setGlyphConfig(cfg: Cfg) {\n this._glyphConfig = cfg;\n }\n\n getGlyphConfig() {\n return this._glyphConfig;\n }\n\n protected _positionChannels: string[];\n\n getPositionChannels() {\n return this._positionChannels;\n }\n\n protected _positionEncoder: (glyphAttrs: any, datum: Datum, g: IGlyph) => Record<string, any>;\n\n protected _channelEncoder: Record<string, (channelValue: any) => Record<string, any>>;\n\n private _getInheritedStyleAttrs(attributes: any) {\n let inheritedStyleAttrs: any = null;\n\n Object.keys(attributes).forEach(channel => {\n if (GLYPH_INHERITED_STYLE_ATTRIBUTES.has(channel)) {\n inheritedStyleAttrs = inheritedStyleAttrs ?? {};\n inheritedStyleAttrs[channel] = attributes[channel];\n }\n });\n\n return inheritedStyleAttrs;\n }\n\n private _getInheritedStyleAttrsMap(glyph: IGlyph, attributes: any) {\n const inheritedStyleAttrs = this._getInheritedStyleAttrs(attributes);\n\n if (!inheritedStyleAttrs) {\n return null;\n }\n\n return glyph.getSubGraphic().reduce((map, subGraphic) => {\n if (subGraphic) {\n map[subGraphic.name] = { ...inheritedStyleAttrs };\n }\n return map;\n }, {} as Record<string, any>);\n }\n\n private _syncInheritedStyleAttrs(glyph: IGlyph, attributes: any) {\n const inheritedStyleAttrs = this._getInheritedStyleAttrs(attributes);\n\n if (!inheritedStyleAttrs) {\n return;\n }\n\n glyph.getSubGraphic().forEach(subGraphic => {\n subGraphic?.setAttributes({ ...inheritedStyleAttrs });\n });\n }\n\n private _onGlyphAttributeUpdate(glyph: IGlyph) {\n return (newAttributes: any) => {\n const positionChannels = this.getPositionChannels();\n let subAttrsMap =\n positionChannels && this._positionEncoder && Object.keys(newAttributes).some(k => positionChannels.includes(k))\n ? this._positionEncoder(newAttributes, glyph?.context?.data?.[0], glyph)\n : null;\n\n if (this._channelEncoder) {\n Object.keys(this._channelEncoder).forEach(channel => {\n if (channel in newAttributes) {\n const channelAttrsMap = this._channelEncoder[channel](newAttributes[channel]);\n\n subAttrsMap = subAttrsMap ? merge(subAttrsMap, channelAttrsMap) : channelAttrsMap;\n }\n });\n }\n\n const inheritedStyleAttrsMap = this._getInheritedStyleAttrsMap(glyph, newAttributes);\n if (inheritedStyleAttrsMap) {\n subAttrsMap = subAttrsMap ? merge(inheritedStyleAttrsMap, subAttrsMap) : inheritedStyleAttrsMap;\n }\n\n if (subAttrsMap) {\n glyph.getSubGraphic().forEach(subGraphic => {\n if (subGraphic && subAttrsMap[subGraphic.name]) {\n subGraphic.setAttributes(subAttrsMap[subGraphic.name]);\n }\n });\n }\n\n return newAttributes;\n };\n }\n\n protected _setStateOfGraphic = (g: IMarkGraphic) => {\n g.clearStates();\n\n if (g.context.diffState === DiffState.enter || g.context.diffState === DiffState.update) {\n g.glyphStateProxy = (stateName: string, nexStates: string[]) => {\n const glyphAttrs = {\n attributes: {\n ...this._runEncoderOfGraphic(this._encoderOfState?.[stateName], g),\n ...(g.runtimeStateCache ? g.runtimeStateCache[stateName] : null)\n }\n };\n\n // 更新缓存\n if (!g.glyphStates) {\n g.glyphStates = { [stateName]: glyphAttrs };\n } else if (!g.glyphStates[stateName]) {\n g.glyphStates[stateName] = glyphAttrs;\n }\n\n return glyphAttrs;\n };\n\n g.useStates(g.context.states);\n }\n };\n\n protected _createGraphic(attrs: IGlyphGraphicAttribute = {}): IGraphic {\n const glyph = createGlyph(attrs);\n glyph.onBeforeAttributeUpdate = this._onGlyphAttributeUpdate(glyph);\n glyph.addEventListener('afterAttributeUpdate', (event: any) => {\n if (event?.detail?.type === GLYPH_STATE_ATTRIBUTE_UPDATE_TYPE) {\n this._syncInheritedStyleAttrs(glyph, glyph.attribute);\n }\n });\n const subMarks = this._subMarks;\n\n if (subMarks) {\n const subGraphics: IGraphic[] = [];\n\n Object.keys(subMarks).forEach(name => {\n // glyph 中的子元素会继承glyph 的 x,y,所以子元素手动设置一下,x: 0, y: 0\n const subGraphic = Factory.createGraphicComponent(subMarks[name].type, {\n ...subMarks[name].defaultAttributes\n });\n\n if (subGraphic) {\n subGraphics.push(subGraphic);\n\n subGraphic.name = name;\n subGraphic.onBeforeAttributeUpdate = (attrs: any) => {\n return attrs;\n };\n }\n });\n\n glyph.setSubGraphic(subGraphics);\n }\n\n (glyph as any).onBeforeAttributeUpdate(attrs);\n\n return glyph;\n }\n\n protected _runProgressiveEncoder(graphics: IMarkGraphic[]) {\n this._runEncoder(graphics);\n }\n}\n\nexport const registerGlyphMark = () => {\n Factory.registerGraphicComponent('glyph', createGlyph);\n registerShadowRoot();\n registerGlyph();\n};\n"]}
|
package/esm/mark/image.js
CHANGED
|
@@ -2,7 +2,9 @@ import { Factory } from "./../core/factory";
|
|
|
2
2
|
|
|
3
3
|
import { BaseMark } from "./base/base-mark";
|
|
4
4
|
|
|
5
|
-
import { registerImage
|
|
5
|
+
import { registerImage } from "@visactor/vrender-kits/register/register-image";
|
|
6
|
+
|
|
7
|
+
import { registerShadowRoot } from "@visactor/vrender-kits/register/register-shadowRoot";
|
|
6
8
|
|
|
7
9
|
import { createImage } from "@visactor/vrender-core";
|
|
8
10
|
|
package/esm/mark/image.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"sources":["../src/mark/image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,OAAO,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,OAAO,SAAU,SAAQ,QAAwB;IAAvD;;QAEW,SAAI,GAAG,SAAS,CAAC,IAAI,CAAC;IAWjC,CAAC;IATW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,CAAC,GACb,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;;AAXe,cAAI,WAAsB;AAc5C,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,SAAuC,CAAC,CAAC;IAC9E,kBAAkB,EAAE,CAAC;IACrB,aAAa,EAAE,CAAC;IAEhB,OAAO,CAAC,wBAAwB,UAAqB,WAAW,CAAC,CAAC;AACpE,CAAC,CAAC","file":"image.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { IImageMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IImageMark, IMarkStyle, MarkConstructor } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerImage } from '@visactor/vrender-kits/register/register-image';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\nimport { createImage } from '@visactor/vrender-core';\n\nexport class ImageMark extends BaseMark<IImageMarkSpec> implements IImageMark {\n static readonly type = MarkTypeEnum.image;\n readonly type = ImageMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IImageMarkSpec> = {\n ...super._getDefaultStyle(),\n width: undefined,\n height: undefined,\n lineWidth: 0\n };\n return defaultStyle;\n }\n}\n\nexport const registerImageMark = () => {\n Factory.registerMark(ImageMark.type, ImageMark as unknown as MarkConstructor);\n registerShadowRoot();\n registerImage();\n\n Factory.registerGraphicComponent(MarkTypeEnum.image, createImage);\n};\n"]}
|
package/esm/mark/link-path.js
CHANGED
|
@@ -4,7 +4,7 @@ import { GlyphMark, registerGlyphMark } from "./glyph";
|
|
|
4
4
|
|
|
5
5
|
import { createPath } from "@visactor/vrender-core";
|
|
6
6
|
|
|
7
|
-
import { registerPath } from "@visactor/vrender-kits";
|
|
7
|
+
import { registerPath } from "@visactor/vrender-kits/register/register-path";
|
|
8
8
|
|
|
9
9
|
export const getHorizontalPath = (options, ratio) => {
|
|
10
10
|
var _a;
|