@visactor/vchart 1.5.2 → 1.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/es5/index.js +1 -1
- package/build/index.js +655 -504
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/chart/base-chart.d.ts +4 -6
- package/cjs/chart/base-chart.js +44 -45
- package/cjs/chart/base-chart.js.map +1 -1
- package/cjs/chart/gauge/gauge.js +3 -2
- package/cjs/chart/gauge/gauge.js.map +1 -1
- package/cjs/chart/interface/chart.d.ts +3 -3
- package/cjs/chart/interface/chart.js.map +1 -1
- package/cjs/chart/sequence/sequence.js +0 -1
- package/cjs/chart/sequence/sequence.js.map +1 -1
- package/cjs/chart/stack.js +1 -2
- package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
- package/cjs/component/axis/polar/interface/common.d.ts +1 -0
- package/cjs/component/axis/polar/interface/common.js.map +1 -1
- package/cjs/component/axis/util.d.ts +3 -3
- package/cjs/component/axis/util.js +14 -10
- package/cjs/component/axis/util.js.map +1 -1
- package/cjs/component/base/base-component.d.ts +1 -2
- package/cjs/component/base/base-component.js +2 -39
- package/cjs/component/base/base-component.js.map +1 -1
- package/cjs/component/base/util.d.ts +2 -3
- package/cjs/component/base/util.js +16 -19
- package/cjs/component/base/util.js.map +1 -1
- package/cjs/component/brush/brush.js +1 -1
- package/cjs/component/brush/brush.js.map +1 -1
- package/cjs/component/common/trigger/config.d.ts +19 -49
- package/cjs/component/common/trigger/config.js +9 -37
- package/cjs/component/common/trigger/config.js.map +1 -1
- package/cjs/component/crosshair/base.js +14 -11
- package/cjs/component/crosshair/base.js.map +1 -1
- package/cjs/component/crosshair/config.d.ts +11 -31
- package/cjs/component/crosshair/config.js +9 -26
- package/cjs/component/crosshair/config.js.map +1 -1
- package/cjs/component/crosshair/util.d.ts +3 -3
- package/cjs/component/crosshair/util.js +7 -5
- package/cjs/component/crosshair/util.js.map +1 -1
- package/cjs/component/index.js +2 -1
- package/cjs/component/tooltip/handler/base.js +6 -6
- package/cjs/component/tooltip/handler/base.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/attribute.d.ts +3 -3
- package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
- package/cjs/component/util.d.ts +4 -0
- package/cjs/component/util.js +14 -0
- package/cjs/component/util.js.map +1 -0
- package/cjs/constant/waterfall.js +1 -2
- package/cjs/constant/word-cloud.js +2 -1
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/interface.d.ts +7 -1
- package/cjs/core/interface.js.map +1 -1
- package/cjs/core/vchart.d.ts +3 -2
- package/cjs/core/vchart.js +52 -47
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/transforms/sankey.d.ts +1 -0
- package/cjs/data/transforms/sankey.js +16 -3
- package/cjs/data/transforms/sankey.js.map +1 -1
- package/cjs/interaction/config.d.ts +17 -52
- package/cjs/interaction/config.js +9 -42
- package/cjs/interaction/config.js.map +1 -1
- package/cjs/interaction/dimension-trigger.js +2 -1
- package/cjs/interaction/drill/drillable.js +1 -1
- package/cjs/interaction/drill/drillable.js.map +1 -1
- package/cjs/interaction/trigger.js +1 -1
- package/cjs/interaction/trigger.js.map +1 -1
- package/cjs/interaction/zoom/zoomable.js +8 -8
- package/cjs/interaction/zoom/zoomable.js.map +1 -1
- package/cjs/layout/base-layout.js +1 -1
- package/cjs/layout/index.js +1 -1
- package/cjs/layout/interface.js +1 -1
- package/cjs/mark/arc-3d.js +1 -1
- package/cjs/mark/arc.js +1 -1
- package/cjs/mark/area.js +1 -1
- package/cjs/mark/base/base-mark.js +4 -5
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/mark/box-plot.js +1 -1
- package/cjs/model/base-model.d.ts +4 -2
- package/cjs/model/base-model.js +51 -11
- package/cjs/model/base-model.js.map +1 -1
- package/cjs/model/interface.d.ts +10 -3
- package/cjs/model/interface.js.map +1 -1
- package/cjs/series/area/area.d.ts +1 -1
- package/cjs/series/area/area.js +1 -1
- package/cjs/series/area/area.js.map +1 -1
- package/cjs/series/bar/bar.d.ts +1 -1
- package/cjs/series/bar/bar.js +1 -1
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/base/base-series.d.ts +4 -3
- package/cjs/series/base/base-series.js +12 -46
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/cartesian/cartesian.d.ts +3 -0
- package/cjs/series/cartesian/cartesian.js +5 -2
- package/cjs/series/cartesian/cartesian.js.map +1 -1
- package/cjs/series/dot/dot.js +3 -4
- package/cjs/series/dot/dot.js.map +1 -1
- package/cjs/series/gauge/gauge-pointer.d.ts +1 -0
- package/cjs/series/gauge/gauge-pointer.js +1 -1
- package/cjs/series/gauge/gauge-pointer.js.map +1 -1
- package/cjs/series/heatmap/heatmap.js +1 -1
- package/cjs/series/heatmap/heatmap.js.map +1 -1
- package/cjs/series/interface/theme.d.ts +2 -0
- package/cjs/series/interface/theme.js +3 -2
- package/cjs/series/interface/theme.js.map +1 -1
- package/cjs/series/link/link.js +1 -1
- package/cjs/series/link/link.js.map +1 -1
- package/cjs/series/map/map.js +1 -1
- package/cjs/series/map/map.js.map +1 -1
- package/cjs/series/polar/polar.d.ts +1 -0
- package/cjs/series/polar/polar.js +3 -1
- package/cjs/series/polar/polar.js.map +1 -1
- package/cjs/series/polar/progress-like/progress-like.d.ts +1 -1
- package/cjs/series/polar/progress-like/progress-like.js +2 -3
- package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
- package/cjs/series/progress/circular/circular.js +4 -4
- package/cjs/series/progress/circular/circular.js.map +1 -1
- package/cjs/series/range-area/interface.d.ts +2 -1
- package/cjs/series/range-area/interface.js.map +1 -1
- package/cjs/series/rose/rose.d.ts +1 -1
- package/cjs/series/rose/rose.js +2 -2
- package/cjs/series/rose/rose.js.map +1 -1
- package/cjs/series/sankey/sankey.js +20 -17
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/series/scatter/scatter.d.ts +1 -2
- package/cjs/series/scatter/scatter.js +1 -3
- package/cjs/series/scatter/scatter.js.map +1 -1
- package/cjs/series/waterfall/waterfall.d.ts +1 -1
- package/cjs/series/waterfall/waterfall.js +3 -3
- package/cjs/series/waterfall/waterfall.js.map +1 -1
- package/cjs/series/word-cloud/base.js +34 -35
- package/cjs/series/word-cloud/base.js.map +1 -1
- package/cjs/series/word-cloud/word-cloud-3d.js +32 -32
- package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
- package/cjs/theme/builtin/index.d.ts +4 -1
- package/cjs/theme/builtin/index.js +13 -8
- package/cjs/theme/builtin/index.js.map +1 -1
- package/cjs/theme/color-scheme/util.js +2 -1
- package/cjs/theme/color-scheme/util.js.map +1 -1
- package/cjs/theme/theme-manager.js +4 -3
- package/cjs/theme/theme-manager.js.map +1 -1
- package/cjs/theme/util.d.ts +5 -0
- package/cjs/theme/util.js +34 -0
- package/cjs/theme/util.js.map +1 -0
- package/cjs/util/spec/merge-theme.d.ts +4 -1
- package/cjs/util/spec/merge-theme.js +22 -13
- package/cjs/util/spec/merge-theme.js.map +1 -1
- package/cjs/util/spec/preprocess.js +1 -0
- package/cjs/util/spec/preprocess.js.map +1 -1
- package/esm/chart/base-chart.d.ts +4 -6
- package/esm/chart/base-chart.js +42 -42
- package/esm/chart/base-chart.js.map +1 -1
- package/esm/chart/gauge/gauge.js +3 -2
- package/esm/chart/gauge/gauge.js.map +1 -1
- package/esm/chart/interface/chart.d.ts +3 -3
- package/esm/chart/interface/chart.js.map +1 -1
- package/esm/chart/sequence/sequence.js +0 -1
- package/esm/chart/sequence/sequence.js.map +1 -1
- package/esm/chart/stack.js +1 -2
- package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
- package/esm/component/axis/polar/interface/common.d.ts +1 -0
- package/esm/component/axis/polar/interface/common.js.map +1 -1
- package/esm/component/axis/util.d.ts +3 -3
- package/esm/component/axis/util.js +10 -8
- package/esm/component/axis/util.js.map +1 -1
- package/esm/component/base/base-component.d.ts +1 -2
- package/esm/component/base/base-component.js +3 -40
- package/esm/component/base/base-component.js.map +1 -1
- package/esm/component/base/util.d.ts +2 -3
- package/esm/component/base/util.js +19 -16
- package/esm/component/base/util.js.map +1 -1
- package/esm/component/brush/brush.js +1 -1
- package/esm/component/brush/brush.js.map +1 -1
- package/esm/component/common/trigger/config.d.ts +19 -49
- package/esm/component/common/trigger/config.js +7 -35
- package/esm/component/common/trigger/config.js.map +1 -1
- package/esm/component/crosshair/base.js +14 -12
- package/esm/component/crosshair/base.js.map +1 -1
- package/esm/component/crosshair/config.d.ts +11 -31
- package/esm/component/crosshair/config.js +8 -25
- package/esm/component/crosshair/config.js.map +1 -1
- package/esm/component/crosshair/util.d.ts +3 -3
- package/esm/component/crosshair/util.js +8 -4
- package/esm/component/crosshair/util.js.map +1 -1
- package/esm/component/index.js +2 -1
- package/esm/component/tooltip/handler/base.js +7 -5
- package/esm/component/tooltip/handler/base.js.map +1 -1
- package/esm/component/tooltip/handler/utils/attribute.d.ts +3 -3
- package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
- package/esm/component/util.d.ts +4 -0
- package/esm/component/util.js +6 -0
- package/esm/component/util.js.map +1 -0
- package/esm/constant/waterfall.js +1 -2
- package/esm/constant/word-cloud.js +2 -1
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +1 -1
- package/esm/core/index.js.map +1 -1
- package/esm/core/interface.d.ts +7 -1
- package/esm/core/interface.js.map +1 -1
- package/esm/core/vchart.d.ts +3 -2
- package/esm/core/vchart.js +53 -42
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/transforms/sankey.d.ts +1 -0
- package/esm/data/transforms/sankey.js +17 -4
- package/esm/data/transforms/sankey.js.map +1 -1
- package/esm/interaction/config.d.ts +17 -52
- package/esm/interaction/config.js +7 -40
- package/esm/interaction/config.js.map +1 -1
- package/esm/interaction/dimension-trigger.js +2 -1
- package/esm/interaction/drill/drillable.js +2 -2
- package/esm/interaction/drill/drillable.js.map +1 -1
- package/esm/interaction/trigger.js +2 -2
- package/esm/interaction/trigger.js.map +1 -1
- package/esm/interaction/zoom/zoomable.js +9 -9
- package/esm/interaction/zoom/zoomable.js.map +1 -1
- package/esm/layout/base-layout.js +1 -1
- package/esm/layout/index.js +1 -1
- package/esm/layout/interface.js +1 -1
- package/esm/mark/arc-3d.js +1 -1
- package/esm/mark/arc.js +1 -1
- package/esm/mark/area.js +1 -1
- package/esm/mark/base/base-mark.js +4 -5
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/mark/box-plot.js +1 -1
- package/esm/model/base-model.d.ts +4 -2
- package/esm/model/base-model.js +53 -10
- package/esm/model/base-model.js.map +1 -1
- package/esm/model/interface.d.ts +10 -3
- package/esm/model/interface.js.map +1 -1
- package/esm/series/area/area.d.ts +1 -1
- package/esm/series/area/area.js +1 -1
- package/esm/series/area/area.js.map +1 -1
- package/esm/series/bar/bar.d.ts +1 -1
- package/esm/series/bar/bar.js +1 -1
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/base/base-series.d.ts +4 -3
- package/esm/series/base/base-series.js +14 -46
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/cartesian/cartesian.d.ts +3 -0
- package/esm/series/cartesian/cartesian.js +4 -3
- package/esm/series/cartesian/cartesian.js.map +1 -1
- package/esm/series/dot/dot.js +2 -4
- package/esm/series/dot/dot.js.map +1 -1
- package/esm/series/gauge/gauge-pointer.d.ts +1 -0
- package/esm/series/gauge/gauge-pointer.js +1 -1
- package/esm/series/gauge/gauge-pointer.js.map +1 -1
- package/esm/series/heatmap/heatmap.js +1 -1
- package/esm/series/heatmap/heatmap.js.map +1 -1
- package/esm/series/interface/theme.d.ts +2 -0
- package/esm/series/interface/theme.js +4 -1
- package/esm/series/interface/theme.js.map +1 -1
- package/esm/series/link/link.js +1 -1
- package/esm/series/link/link.js.map +1 -1
- package/esm/series/map/map.js +1 -1
- package/esm/series/map/map.js.map +1 -1
- package/esm/series/polar/polar.d.ts +1 -0
- package/esm/series/polar/polar.js +3 -2
- package/esm/series/polar/polar.js.map +1 -1
- package/esm/series/polar/progress-like/progress-like.d.ts +1 -1
- package/esm/series/polar/progress-like/progress-like.js +2 -3
- package/esm/series/polar/progress-like/progress-like.js.map +1 -1
- package/esm/series/progress/circular/circular.js +4 -4
- package/esm/series/progress/circular/circular.js.map +1 -1
- package/esm/series/range-area/interface.d.ts +2 -1
- package/esm/series/range-area/interface.js.map +1 -1
- package/esm/series/rose/rose.d.ts +1 -1
- package/esm/series/rose/rose.js +1 -1
- package/esm/series/rose/rose.js.map +1 -1
- package/esm/series/sankey/sankey.js +12 -9
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/series/scatter/scatter.d.ts +1 -2
- package/esm/series/scatter/scatter.js +2 -3
- package/esm/series/scatter/scatter.js.map +1 -1
- package/esm/series/waterfall/waterfall.d.ts +1 -1
- package/esm/series/waterfall/waterfall.js +3 -3
- package/esm/series/waterfall/waterfall.js.map +1 -1
- package/esm/series/word-cloud/base.js +33 -35
- package/esm/series/word-cloud/base.js.map +1 -1
- package/esm/series/word-cloud/word-cloud-3d.js +32 -32
- package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
- package/esm/theme/builtin/index.d.ts +4 -1
- package/esm/theme/builtin/index.js +15 -6
- package/esm/theme/builtin/index.js.map +1 -1
- package/esm/theme/color-scheme/util.js +1 -1
- package/esm/theme/color-scheme/util.js.map +1 -1
- package/esm/theme/theme-manager.js +5 -4
- package/esm/theme/theme-manager.js.map +1 -1
- package/esm/theme/util.d.ts +5 -0
- package/esm/theme/util.js +34 -0
- package/esm/theme/util.js.map +1 -0
- package/esm/util/spec/merge-theme.d.ts +4 -1
- package/esm/util/spec/merge-theme.js +18 -10
- package/esm/util/spec/merge-theme.js.map +1 -1
- package/esm/util/spec/preprocess.js +2 -1
- package/esm/util/spec/preprocess.js.map +1 -1
- package/package.json +17 -17
|
@@ -11,7 +11,7 @@ class WordCloud3dSeries extends base_1.BaseWordCloudSeries {
|
|
|
11
11
|
super(...arguments), this.type = type_1.SeriesTypeEnum.wordCloud3d;
|
|
12
12
|
}
|
|
13
13
|
compile() {
|
|
14
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30
|
|
14
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30;
|
|
15
15
|
super.compile();
|
|
16
16
|
const wordCloudTransforms = [], valueField = this._valueField, valueScale = new vscale_1.LinearScale, fontWeightRange = this._fontWeightRange, rotateAngles = this._rotateAngles, fontWeightField = this._fontWeightField, fillingRotateAngles = this._wordCloudShapeConfig.fillingRotateAngles;
|
|
17
17
|
if (valueField) {
|
|
@@ -40,7 +40,7 @@ class WordCloud3dSeries extends base_1.BaseWordCloudSeries {
|
|
|
40
40
|
type: "wordcloudShape",
|
|
41
41
|
size: [ this._region.getLayoutRect().width, this._region.getLayoutRect().height ],
|
|
42
42
|
shape: this._maskShape,
|
|
43
|
-
postProjection: null !== (
|
|
43
|
+
postProjection: null !== (_o = this._spec.postProjection) && void 0 !== _o ? _o : "StereographicProjection",
|
|
44
44
|
dataIndexKey: constant_1.DEFAULT_DATA_KEY,
|
|
45
45
|
text: {
|
|
46
46
|
field: textField
|
|
@@ -51,39 +51,39 @@ class WordCloud3dSeries extends base_1.BaseWordCloudSeries {
|
|
|
51
51
|
fontSizeRange: this._fontSizeRange,
|
|
52
52
|
padding: this._fontPadding,
|
|
53
53
|
rotateList: rotateAngles,
|
|
54
|
-
fontFamily: null !== (
|
|
54
|
+
fontFamily: null !== (_s = null !== (_p = this._fontFamilyField) && void 0 !== _p ? _p : null === (_r = null === (_q = this._spec.word) || void 0 === _q ? void 0 : _q.style) || void 0 === _r ? void 0 : _r.fontFamily) && void 0 !== _s ? _s : null === (_t = this._getChartLevelTheme()) || void 0 === _t ? void 0 : _t.fontFamily,
|
|
55
55
|
fontWeight: fontWeightField ? {
|
|
56
56
|
field: fontWeightField
|
|
57
57
|
} : valueField ? {
|
|
58
58
|
field: word_cloud_1.WORD_CLOUD_WEIGHT
|
|
59
59
|
} : null,
|
|
60
|
-
fontStyle: null !== (
|
|
60
|
+
fontStyle: null !== (_u = this._fontStyleField) && void 0 !== _u ? _u : null === (_w = null === (_v = this._spec.word) || void 0 === _v ? void 0 : _v.style) || void 0 === _w ? void 0 : _w.fontStyle,
|
|
61
61
|
depth_3d: this._spec.depth_3d,
|
|
62
|
-
fillingFontFamily: null !== (
|
|
62
|
+
fillingFontFamily: null !== (_1 = null !== (_y = null === (_x = this._wordCloudShapeConfig) || void 0 === _x ? void 0 : _x.fillingFontFamilyField) && void 0 !== _y ? _y : null === (_0 = null === (_z = this._spec.word) || void 0 === _z ? void 0 : _z.style) || void 0 === _0 ? void 0 : _0.fontFamily) && void 0 !== _1 ? _1 : null === (_2 = this._getChartLevelTheme()) || void 0 === _2 ? void 0 : _2.fontFamily,
|
|
63
63
|
fillingPadding: this._fillingFontPadding,
|
|
64
|
-
fillingFontStyle: null !== (
|
|
65
|
-
fillingFontWeight: null !== (
|
|
64
|
+
fillingFontStyle: null !== (_4 = null === (_3 = this._wordCloudShapeConfig) || void 0 === _3 ? void 0 : _3.fillingFontStyleField) && void 0 !== _4 ? _4 : null === (_6 = null === (_5 = this._spec.word) || void 0 === _5 ? void 0 : _5.style) || void 0 === _6 ? void 0 : _6.fontStyle,
|
|
65
|
+
fillingFontWeight: null !== (_8 = null === (_7 = this._wordCloudShapeConfig) || void 0 === _7 ? void 0 : _7.fillingFontWeightField) && void 0 !== _8 ? _8 : null === (_10 = null === (_9 = this._spec.word) || void 0 === _9 ? void 0 : _9.style) || void 0 === _10 ? void 0 : _10.fontWeight,
|
|
66
66
|
fillingRotateList: fillingRotateAngles,
|
|
67
|
-
fillingTimes: null === (
|
|
68
|
-
fillingXStep: null === (
|
|
69
|
-
fillingYStep: null === (
|
|
70
|
-
fillingXRatioStep: null === (
|
|
71
|
-
fillingYRatioStep: null === (
|
|
72
|
-
fillingInitialOpacity: null === (
|
|
73
|
-
fillingDeltaOpacity: null === (
|
|
74
|
-
fillingInitialFontSize: null === (
|
|
75
|
-
fillingDeltaFontSize: null === (
|
|
76
|
-
ratio: null === (
|
|
77
|
-
fillingRatio: null === (
|
|
78
|
-
removeWhiteBorder: null === (
|
|
79
|
-
textLayoutTimes: null === (
|
|
80
|
-
fontSizeShrinkFactor: null === (
|
|
81
|
-
stepFactor: null === (
|
|
82
|
-
layoutMode: null === (
|
|
83
|
-
importantWordCount: null === (
|
|
84
|
-
globalShinkLimit: null === (
|
|
85
|
-
fontSizeEnlargeFactor: null === (
|
|
86
|
-
fillingDeltaFontSizeFactor: null === (
|
|
67
|
+
fillingTimes: null === (_11 = this._wordCloudShapeConfig) || void 0 === _11 ? void 0 : _11.fillingTimes,
|
|
68
|
+
fillingXStep: null === (_12 = this._wordCloudShapeConfig) || void 0 === _12 ? void 0 : _12.fillingXStep,
|
|
69
|
+
fillingYStep: null === (_13 = this._wordCloudShapeConfig) || void 0 === _13 ? void 0 : _13.fillingYStep,
|
|
70
|
+
fillingXRatioStep: null === (_14 = this._wordCloudShapeConfig) || void 0 === _14 ? void 0 : _14.fillingXRatioStep,
|
|
71
|
+
fillingYRatioStep: null === (_15 = this._wordCloudShapeConfig) || void 0 === _15 ? void 0 : _15.fillingYRatioStep,
|
|
72
|
+
fillingInitialOpacity: null === (_16 = this._wordCloudShapeConfig) || void 0 === _16 ? void 0 : _16.fillingInitialOpacity,
|
|
73
|
+
fillingDeltaOpacity: null === (_17 = this._wordCloudShapeConfig) || void 0 === _17 ? void 0 : _17.fillingDeltaOpacity,
|
|
74
|
+
fillingInitialFontSize: null === (_18 = this._wordCloudShapeConfig) || void 0 === _18 ? void 0 : _18.fillingInitialFontSize,
|
|
75
|
+
fillingDeltaFontSize: null === (_19 = this._wordCloudShapeConfig) || void 0 === _19 ? void 0 : _19.fillingDeltaFontSize,
|
|
76
|
+
ratio: null === (_20 = this._wordCloudShapeConfig) || void 0 === _20 ? void 0 : _20.ratio,
|
|
77
|
+
fillingRatio: null === (_21 = this._wordCloudShapeConfig) || void 0 === _21 ? void 0 : _21.fillingRatio,
|
|
78
|
+
removeWhiteBorder: null === (_22 = this._wordCloudShapeConfig) || void 0 === _22 ? void 0 : _22.removeWhiteBorder,
|
|
79
|
+
textLayoutTimes: null === (_23 = this._wordCloudShapeConfig) || void 0 === _23 ? void 0 : _23.textLayoutTimes,
|
|
80
|
+
fontSizeShrinkFactor: null === (_24 = this._wordCloudShapeConfig) || void 0 === _24 ? void 0 : _24.fontSizeShrinkFactor,
|
|
81
|
+
stepFactor: null === (_25 = this._wordCloudShapeConfig) || void 0 === _25 ? void 0 : _25.stepFactor,
|
|
82
|
+
layoutMode: null === (_26 = this._wordCloudShapeConfig) || void 0 === _26 ? void 0 : _26.layoutMode,
|
|
83
|
+
importantWordCount: null === (_27 = this._wordCloudShapeConfig) || void 0 === _27 ? void 0 : _27.importantWordCount,
|
|
84
|
+
globalShinkLimit: null === (_28 = this._wordCloudShapeConfig) || void 0 === _28 ? void 0 : _28.globalShinkLimit,
|
|
85
|
+
fontSizeEnlargeFactor: null === (_29 = this._wordCloudShapeConfig) || void 0 === _29 ? void 0 : _29.fontSizeEnlargeFactor,
|
|
86
|
+
fillingDeltaFontSizeFactor: null === (_30 = this._wordCloudShapeConfig) || void 0 === _30 ? void 0 : _30.fillingDeltaFontSizeFactor
|
|
87
87
|
}) : (wordCloudTransforms.push({
|
|
88
88
|
type: "wordcloud",
|
|
89
89
|
layoutType: this._wordCloudConfig.layoutMode,
|
|
@@ -102,13 +102,13 @@ class WordCloud3dSeries extends base_1.BaseWordCloudSeries {
|
|
|
102
102
|
rotate: {
|
|
103
103
|
field: word_cloud_1.WORD_CLOUD_ANGLE
|
|
104
104
|
},
|
|
105
|
-
fontFamily: null !== (_h = null !== (_e = this._fontFamilyField) && void 0 !== _e ? _e : null === (_g = null === (_f = this._spec.word) || void 0 === _f ? void 0 : _f.style) || void 0 === _g ? void 0 : _g.fontFamily) && void 0 !== _h ? _h : null === (
|
|
105
|
+
fontFamily: null !== (_h = null !== (_e = this._fontFamilyField) && void 0 !== _e ? _e : null === (_g = null === (_f = this._spec.word) || void 0 === _f ? void 0 : _f.style) || void 0 === _g ? void 0 : _g.fontFamily) && void 0 !== _h ? _h : null === (_j = this._getChartLevelTheme()) || void 0 === _j ? void 0 : _j.fontFamily,
|
|
106
106
|
fontWeight: fontWeightField ? {
|
|
107
107
|
field: fontWeightField
|
|
108
108
|
} : valueField ? {
|
|
109
109
|
field: word_cloud_1.WORD_CLOUD_WEIGHT
|
|
110
110
|
} : null,
|
|
111
|
-
fontStyle: null !== (
|
|
111
|
+
fontStyle: null !== (_k = this._fontStyleField) && void 0 !== _k ? _k : null === (_m = null === (_l = this._spec.word) || void 0 === _l ? void 0 : _l.style) || void 0 === _m ? void 0 : _m.fontStyle,
|
|
112
112
|
depth_3d: this._spec.depth_3d,
|
|
113
113
|
randomVisible: this._random,
|
|
114
114
|
clip: "clip" === this._wordCloudConfig.drawOutOfBound,
|
|
@@ -131,7 +131,7 @@ class WordCloud3dSeries extends base_1.BaseWordCloudSeries {
|
|
|
131
131
|
}));
|
|
132
132
|
}
|
|
133
133
|
initMarkStyle() {
|
|
134
|
-
var _a, _b, _c, _d, _e, _f, _g, _h
|
|
134
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
135
135
|
const wordMark = this._wordMark, fillingWordMark = this._fillingWordMark;
|
|
136
136
|
wordMark && (this.setMarkStyle(wordMark, {
|
|
137
137
|
fill: this._colorHexField ? datum => datum[this._colorHexField] : this.getWordColorAttribute(this._seriesField, !1),
|
|
@@ -149,7 +149,7 @@ class WordCloud3dSeries extends base_1.BaseWordCloudSeries {
|
|
|
149
149
|
angle: datum => datum.angle,
|
|
150
150
|
visible: datum => !datum.isFillingWord
|
|
151
151
|
}, "normal", constant_1.AttributeLevel.Series), this.setMarkStyle(wordMark, {
|
|
152
|
-
fontFamily: null !== (_c = null === (_b = null === (_a = this._spec.word) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fontFamily) && void 0 !== _c ? _c : null === (
|
|
152
|
+
fontFamily: null !== (_c = null === (_b = null === (_a = this._spec.word) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fontFamily) && void 0 !== _c ? _c : null === (_d = this._getChartLevelTheme()) || void 0 === _d ? void 0 : _d.fontFamily
|
|
153
153
|
}, "normal", constant_1.AttributeLevel.User_Mark)), fillingWordMark && (this.setMarkStyle(fillingWordMark, {
|
|
154
154
|
fill: this._wordCloudShapeConfig.fillingColorHexField ? datum => datum[this._wordCloudShapeConfig.fillingColorHexField] : this.getWordColorAttribute(this._wordCloudShapeConfig.fillingSeriesField, !0),
|
|
155
155
|
text: datum => datum[this._nameField],
|
|
@@ -166,7 +166,7 @@ class WordCloud3dSeries extends base_1.BaseWordCloudSeries {
|
|
|
166
166
|
angle: datum => datum.angle,
|
|
167
167
|
visible: datum => datum.isFillingWord
|
|
168
168
|
}, "normal", constant_1.AttributeLevel.Series), this.setMarkStyle(fillingWordMark, {
|
|
169
|
-
fontFamily: null !== (
|
|
169
|
+
fontFamily: null !== (_g = null === (_f = null === (_e = this._spec.word) || void 0 === _e ? void 0 : _e.style) || void 0 === _f ? void 0 : _f.fontFamily) && void 0 !== _g ? _g : null === (_h = this._getChartLevelTheme()) || void 0 === _h ? void 0 : _h.fontFamily
|
|
170
170
|
}, "normal", constant_1.AttributeLevel.User_Mark)), this._trigger.registerMark(wordMark),
|
|
171
171
|
this._trigger.registerMark(fillingWordMark);
|
|
172
172
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/word-cloud/word-cloud-3d.ts"],"names":[],"mappings":"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","file":"word-cloud-3d.js","sourcesContent":["import { AttributeLevel, DEFAULT_DATA_KEY } from '../../constant';\nimport { TextMark, type ITextMark } from '../../mark/text';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport type { IWordCloud3dSeriesSpec } from './interface';\nimport type { Datum } from '../../typings';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { LinearScale } from '@visactor/vscale';\nimport { extent } from '@visactor/vgrammar-util';\nimport {\n WORD_CLOUD_ANGLE,\n WORD_CLOUD_FILLING_ANGLE,\n WORD_CLOUD_TEXT,\n WORD_CLOUD_WEIGHT\n} from '../../constant/word-cloud';\nimport type { ICompilableMark } from '../../compile/mark';\nimport { BaseWordCloudSeries } from './base';\nimport { Factory } from '../../core/factory';\nimport { registerWordCloud3dAnimation } from './animation';\n\nexport class WordCloud3dSeries<\n T extends IWordCloud3dSeriesSpec = IWordCloud3dSeriesSpec\n> extends BaseWordCloudSeries<T> {\n static readonly type: string = SeriesTypeEnum.wordCloud3d;\n type = SeriesTypeEnum.wordCloud3d;\n\n compile(): void {\n super.compile();\n\n const wordCloudTransforms: any[] = [];\n const valueField = this._valueField;\n const valueScale = new LinearScale();\n const fontWeightRange = this._fontWeightRange;\n const rotateAngles = this._rotateAngles;\n const fontWeightField = this._fontWeightField;\n const fillingRotateAngles = this._wordCloudShapeConfig.fillingRotateAngles;\n\n // fontWeight处理\n if (valueField) {\n const [minValue, maxValue] = extent(this.getViewData()?.latestData.map((datum: any) => +datum[valueField]));\n valueScale.domain([minValue, maxValue], true).range(fontWeightRange);\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_WEIGHT,\n callback: (datum: any) => {\n if (minValue === maxValue) {\n return valueScale.scale(maxValue);\n }\n return valueScale.scale(datum[valueField]);\n }\n });\n }\n\n // rotateAngles处理\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_ANGLE,\n callback: () => {\n return rotateAngles[Math.floor(Math.random() * rotateAngles.length)];\n }\n });\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_FILLING_ANGLE,\n callback: () => {\n return fillingRotateAngles[Math.floor(Math.random() * fillingRotateAngles.length)];\n }\n });\n\n // text fromat method 处理\n if (this._spec.word?.formatMethod) {\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_TEXT,\n callback: this._spec.word.formatMethod\n });\n }\n\n const textField = this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField;\n\n // 词云 transform\n if (!this._isWordCloudShape) {\n wordCloudTransforms.push({\n type: 'wordcloud',\n layoutType: this._wordCloudConfig.layoutMode,\n size: [this._region.getLayoutRect().width, this._region.getLayoutRect().height],\n shape: this._maskShape,\n postProjection: this._spec.postProjection ?? 'StereographicProjection',\n dataIndexKey: DEFAULT_DATA_KEY,\n text: { field: textField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotate: { field: WORD_CLOUD_ANGLE },\n fontFamily: this._fontFamilyField ?? this._spec.word?.style?.fontFamily ?? this._option?.getTheme()?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n depth_3d: this._spec.depth_3d,\n\n randomVisible: this._random,\n clip: this._wordCloudConfig.drawOutOfBound === 'clip',\n shrink: this._wordCloudConfig.zoomToFit.shrink,\n enlarge: this._wordCloudConfig.zoomToFit.enlarge,\n minFontSize: this._wordCloudConfig.zoomToFit.fontSizeLimitMin,\n progressiveTime: this._wordCloudConfig.progressiveTime,\n progressiveStep: this._wordCloudConfig.progressiveStep\n });\n // 挂到mark的trnsform上,注册的时候决定transform的执行时机\n (this._wordMark as ICompilableMark).getProduct().transform(wordCloudTransforms);\n }\n // 形状词云 transform\n else {\n wordCloudTransforms.push({\n type: 'wordcloudShape',\n size: [this._region.getLayoutRect().width, this._region.getLayoutRect().height],\n shape: this._maskShape,\n postProjection: this._spec.postProjection ?? 'StereographicProjection',\n dataIndexKey: DEFAULT_DATA_KEY,\n text: { field: textField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotateList: rotateAngles,\n fontFamily: this._fontFamilyField ?? this._spec.word?.style?.fontFamily ?? this._option?.getTheme()?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n depth_3d: this._spec.depth_3d,\n\n fillingFontFamily:\n this._wordCloudShapeConfig?.fillingFontFamilyField ??\n this._spec.word?.style?.fontFamily ??\n this._option?.getTheme()?.fontFamily,\n fillingPadding: this._fillingFontPadding,\n fillingFontStyle: this._wordCloudShapeConfig?.fillingFontStyleField ?? this._spec.word?.style?.fontStyle,\n fillingFontWeight: this._wordCloudShapeConfig?.fillingFontWeightField ?? this._spec.word?.style?.fontWeight, // 填充词fontWeight默认不跟随valueField\n fillingRotateList: fillingRotateAngles,\n\n fillingTimes: this._wordCloudShapeConfig?.fillingTimes,\n fillingXStep: this._wordCloudShapeConfig?.fillingXStep,\n fillingYStep: this._wordCloudShapeConfig?.fillingYStep,\n fillingXRatioStep: this._wordCloudShapeConfig?.fillingXRatioStep,\n fillingYRatioStep: this._wordCloudShapeConfig?.fillingYRatioStep,\n fillingInitialOpacity: this._wordCloudShapeConfig?.fillingInitialOpacity,\n fillingDeltaOpacity: this._wordCloudShapeConfig?.fillingDeltaOpacity,\n fillingInitialFontSize: this._wordCloudShapeConfig?.fillingInitialFontSize,\n fillingDeltaFontSize: this._wordCloudShapeConfig?.fillingDeltaFontSize,\n\n ratio: this._wordCloudShapeConfig?.ratio,\n fillingRatio: this._wordCloudShapeConfig?.fillingRatio,\n removeWhiteBorder: this._wordCloudShapeConfig?.removeWhiteBorder,\n textLayoutTimes: this._wordCloudShapeConfig?.textLayoutTimes,\n fontSizeShrinkFactor: this._wordCloudShapeConfig?.fontSizeShrinkFactor,\n stepFactor: this._wordCloudShapeConfig?.stepFactor,\n layoutMode: this._wordCloudShapeConfig?.layoutMode,\n importantWordCount: this._wordCloudShapeConfig?.importantWordCount,\n globalShinkLimit: this._wordCloudShapeConfig?.globalShinkLimit,\n fontSizeEnlargeFactor: this._wordCloudShapeConfig?.fontSizeEnlargeFactor,\n fillingDeltaFontSizeFactor: this._wordCloudShapeConfig?.fillingDeltaFontSizeFactor\n });\n }\n // 把transform挂载到data的product上\n this._data.getProduct().transform(wordCloudTransforms);\n }\n\n initMark(): void {\n this._wordMark = this._createMark(BaseWordCloudSeries.mark.word, {\n groupKey: this._seriesField,\n support3d: true,\n isSeriesMark: true\n }) as ITextMark;\n if (this._isWordCloudShape) {\n this._fillingWordMark = this._createMark(BaseWordCloudSeries.mark.fillingWord, {\n groupKey: this._seriesField,\n support3d: true,\n isSeriesMark: true\n }) as ITextMark;\n }\n }\n\n initMarkStyle() {\n const wordMark = this._wordMark;\n const fillingWordMark = this._fillingWordMark;\n if (wordMark) {\n this.setMarkStyle(\n wordMark,\n {\n fill: this._colorHexField\n ? (datum: Datum) => datum[this._colorHexField]\n : this.getWordColorAttribute(this._seriesField, false),\n text: (datum: Datum) => datum[this._nameField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n z: (datum: Datum) => datum.z ?? 0,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle,\n visible: (datum: Datum) => !datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n this.setMarkStyle(\n wordMark,\n {\n fontFamily: this._spec.word?.style?.fontFamily ?? this._option?.getTheme()?.fontFamily\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n }\n if (fillingWordMark) {\n this.setMarkStyle(\n fillingWordMark,\n {\n fill: this._wordCloudShapeConfig.fillingColorHexField\n ? (datum: Datum) => datum[this._wordCloudShapeConfig.fillingColorHexField]\n : this.getWordColorAttribute(this._wordCloudShapeConfig.fillingSeriesField, true),\n text: (datum: Datum) => datum[this._nameField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n z: (datum: Datum) => datum.z ?? 0,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle,\n visible: (datum: Datum) => datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n this.setMarkStyle(\n fillingWordMark,\n {\n fontFamily: this._spec.word?.style?.fontFamily ?? this._option?.getTheme()?.fontFamily\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n }\n this._trigger.registerMark(wordMark);\n this._trigger.registerMark(fillingWordMark);\n }\n\n initAnimation() {\n if (this._wordMark) {\n this._wordMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('wordCloud3d')?.(() => {\n const srView = this.getCompiler().getVGrammarView();\n const width = srView.width() - this._padding?.left || 0 - this._padding?.right || 0;\n const height = srView.height() - this._padding?.top || 0 - this._padding?.bottom || 0;\n const r = Math.max(width, height) / 2;\n return {\n center: { x: r, y: r, z: this._spec.depth_3d ?? r },\n r\n };\n }),\n userAnimationConfig(SeriesMarkNameEnum.word, this._spec)\n )\n );\n }\n if (this._fillingWordMark) {\n this._fillingWordMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('wordCloud3d')?.(() => {\n const srView = this.getCompiler().getVGrammarView();\n const width = srView.width() - this._padding?.left || 0 - this._padding?.right || 0;\n const height = srView.height() - this._padding?.top || 0 - this._padding?.bottom || 0;\n const r = Math.max(width, height) / 2;\n return {\n center: { x: r, y: r, z: this._spec.depth_3d ?? r },\n r\n };\n }),\n userAnimationConfig(SeriesMarkNameEnum.fillingWord, this._spec)\n )\n );\n }\n }\n}\n\nexport const registerWordCloud3dSeries = () => {\n Factory.registerMark(TextMark.type, TextMark);\n Factory.registerSeries(WordCloud3dSeries.type, WordCloud3dSeries);\n registerWordCloud3dAnimation();\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/word-cloud/word-cloud-3d.ts"],"names":[],"mappings":"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","file":"word-cloud-3d.js","sourcesContent":["import { AttributeLevel, DEFAULT_DATA_KEY } from '../../constant';\nimport { TextMark, type ITextMark } from '../../mark/text';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport type { IWordCloud3dSeriesSpec } from './interface';\nimport type { Datum } from '../../typings';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { LinearScale } from '@visactor/vscale';\nimport { extent } from '@visactor/vgrammar-util';\nimport {\n WORD_CLOUD_ANGLE,\n WORD_CLOUD_FILLING_ANGLE,\n WORD_CLOUD_TEXT,\n WORD_CLOUD_WEIGHT\n} from '../../constant/word-cloud';\nimport type { ICompilableMark } from '../../compile/mark';\nimport { BaseWordCloudSeries } from './base';\nimport { Factory } from '../../core/factory';\nimport { registerWordCloud3dAnimation } from './animation';\n\nexport class WordCloud3dSeries<\n T extends IWordCloud3dSeriesSpec = IWordCloud3dSeriesSpec\n> extends BaseWordCloudSeries<T> {\n static readonly type: string = SeriesTypeEnum.wordCloud3d;\n type = SeriesTypeEnum.wordCloud3d;\n\n compile(): void {\n super.compile();\n\n const wordCloudTransforms: any[] = [];\n const valueField = this._valueField;\n const valueScale = new LinearScale();\n const fontWeightRange = this._fontWeightRange;\n const rotateAngles = this._rotateAngles;\n const fontWeightField = this._fontWeightField;\n const fillingRotateAngles = this._wordCloudShapeConfig.fillingRotateAngles;\n\n // fontWeight处理\n if (valueField) {\n const [minValue, maxValue] = extent(this.getViewData()?.latestData.map((datum: any) => +datum[valueField]));\n valueScale.domain([minValue, maxValue], true).range(fontWeightRange);\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_WEIGHT,\n callback: (datum: any) => {\n if (minValue === maxValue) {\n return valueScale.scale(maxValue);\n }\n return valueScale.scale(datum[valueField]);\n }\n });\n }\n\n // rotateAngles处理\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_ANGLE,\n callback: () => {\n return rotateAngles[Math.floor(Math.random() * rotateAngles.length)];\n }\n });\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_FILLING_ANGLE,\n callback: () => {\n return fillingRotateAngles[Math.floor(Math.random() * fillingRotateAngles.length)];\n }\n });\n\n // text fromat method 处理\n if (this._spec.word?.formatMethod) {\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_TEXT,\n callback: this._spec.word.formatMethod\n });\n }\n\n const textField = this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField;\n\n // 词云 transform\n if (!this._isWordCloudShape) {\n wordCloudTransforms.push({\n type: 'wordcloud',\n layoutType: this._wordCloudConfig.layoutMode,\n size: [this._region.getLayoutRect().width, this._region.getLayoutRect().height],\n shape: this._maskShape,\n postProjection: this._spec.postProjection ?? 'StereographicProjection',\n dataIndexKey: DEFAULT_DATA_KEY,\n text: { field: textField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotate: { field: WORD_CLOUD_ANGLE },\n fontFamily:\n this._fontFamilyField ?? this._spec.word?.style?.fontFamily ?? this._getChartLevelTheme()?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n depth_3d: this._spec.depth_3d,\n\n randomVisible: this._random,\n clip: this._wordCloudConfig.drawOutOfBound === 'clip',\n shrink: this._wordCloudConfig.zoomToFit.shrink,\n enlarge: this._wordCloudConfig.zoomToFit.enlarge,\n minFontSize: this._wordCloudConfig.zoomToFit.fontSizeLimitMin,\n progressiveTime: this._wordCloudConfig.progressiveTime,\n progressiveStep: this._wordCloudConfig.progressiveStep\n });\n // 挂到mark的trnsform上,注册的时候决定transform的执行时机\n (this._wordMark as ICompilableMark).getProduct().transform(wordCloudTransforms);\n }\n // 形状词云 transform\n else {\n wordCloudTransforms.push({\n type: 'wordcloudShape',\n size: [this._region.getLayoutRect().width, this._region.getLayoutRect().height],\n shape: this._maskShape,\n postProjection: this._spec.postProjection ?? 'StereographicProjection',\n dataIndexKey: DEFAULT_DATA_KEY,\n text: { field: textField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotateList: rotateAngles,\n fontFamily:\n this._fontFamilyField ?? this._spec.word?.style?.fontFamily ?? this._getChartLevelTheme()?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n depth_3d: this._spec.depth_3d,\n\n fillingFontFamily:\n this._wordCloudShapeConfig?.fillingFontFamilyField ??\n this._spec.word?.style?.fontFamily ??\n this._getChartLevelTheme()?.fontFamily,\n fillingPadding: this._fillingFontPadding,\n fillingFontStyle: this._wordCloudShapeConfig?.fillingFontStyleField ?? this._spec.word?.style?.fontStyle,\n fillingFontWeight: this._wordCloudShapeConfig?.fillingFontWeightField ?? this._spec.word?.style?.fontWeight, // 填充词fontWeight默认不跟随valueField\n fillingRotateList: fillingRotateAngles,\n\n fillingTimes: this._wordCloudShapeConfig?.fillingTimes,\n fillingXStep: this._wordCloudShapeConfig?.fillingXStep,\n fillingYStep: this._wordCloudShapeConfig?.fillingYStep,\n fillingXRatioStep: this._wordCloudShapeConfig?.fillingXRatioStep,\n fillingYRatioStep: this._wordCloudShapeConfig?.fillingYRatioStep,\n fillingInitialOpacity: this._wordCloudShapeConfig?.fillingInitialOpacity,\n fillingDeltaOpacity: this._wordCloudShapeConfig?.fillingDeltaOpacity,\n fillingInitialFontSize: this._wordCloudShapeConfig?.fillingInitialFontSize,\n fillingDeltaFontSize: this._wordCloudShapeConfig?.fillingDeltaFontSize,\n\n ratio: this._wordCloudShapeConfig?.ratio,\n fillingRatio: this._wordCloudShapeConfig?.fillingRatio,\n removeWhiteBorder: this._wordCloudShapeConfig?.removeWhiteBorder,\n textLayoutTimes: this._wordCloudShapeConfig?.textLayoutTimes,\n fontSizeShrinkFactor: this._wordCloudShapeConfig?.fontSizeShrinkFactor,\n stepFactor: this._wordCloudShapeConfig?.stepFactor,\n layoutMode: this._wordCloudShapeConfig?.layoutMode,\n importantWordCount: this._wordCloudShapeConfig?.importantWordCount,\n globalShinkLimit: this._wordCloudShapeConfig?.globalShinkLimit,\n fontSizeEnlargeFactor: this._wordCloudShapeConfig?.fontSizeEnlargeFactor,\n fillingDeltaFontSizeFactor: this._wordCloudShapeConfig?.fillingDeltaFontSizeFactor\n });\n }\n // 把transform挂载到data的product上\n this._data.getProduct().transform(wordCloudTransforms);\n }\n\n initMark(): void {\n this._wordMark = this._createMark(BaseWordCloudSeries.mark.word, {\n groupKey: this._seriesField,\n support3d: true,\n isSeriesMark: true\n }) as ITextMark;\n if (this._isWordCloudShape) {\n this._fillingWordMark = this._createMark(BaseWordCloudSeries.mark.fillingWord, {\n groupKey: this._seriesField,\n support3d: true,\n isSeriesMark: true\n }) as ITextMark;\n }\n }\n\n initMarkStyle() {\n const wordMark = this._wordMark;\n const fillingWordMark = this._fillingWordMark;\n if (wordMark) {\n this.setMarkStyle(\n wordMark,\n {\n fill: this._colorHexField\n ? (datum: Datum) => datum[this._colorHexField]\n : this.getWordColorAttribute(this._seriesField, false),\n text: (datum: Datum) => datum[this._nameField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n z: (datum: Datum) => datum.z ?? 0,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle,\n visible: (datum: Datum) => !datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n this.setMarkStyle(\n wordMark,\n {\n fontFamily: this._spec.word?.style?.fontFamily ?? this._getChartLevelTheme()?.fontFamily\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n }\n if (fillingWordMark) {\n this.setMarkStyle(\n fillingWordMark,\n {\n fill: this._wordCloudShapeConfig.fillingColorHexField\n ? (datum: Datum) => datum[this._wordCloudShapeConfig.fillingColorHexField]\n : this.getWordColorAttribute(this._wordCloudShapeConfig.fillingSeriesField, true),\n text: (datum: Datum) => datum[this._nameField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n z: (datum: Datum) => datum.z ?? 0,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle,\n visible: (datum: Datum) => datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n this.setMarkStyle(\n fillingWordMark,\n {\n fontFamily: this._spec.word?.style?.fontFamily ?? this._getChartLevelTheme()?.fontFamily\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n }\n this._trigger.registerMark(wordMark);\n this._trigger.registerMark(fillingWordMark);\n }\n\n initAnimation() {\n if (this._wordMark) {\n this._wordMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('wordCloud3d')?.(() => {\n const srView = this.getCompiler().getVGrammarView();\n const width = srView.width() - this._padding?.left || 0 - this._padding?.right || 0;\n const height = srView.height() - this._padding?.top || 0 - this._padding?.bottom || 0;\n const r = Math.max(width, height) / 2;\n return {\n center: { x: r, y: r, z: this._spec.depth_3d ?? r },\n r\n };\n }),\n userAnimationConfig(SeriesMarkNameEnum.word, this._spec)\n )\n );\n }\n if (this._fillingWordMark) {\n this._fillingWordMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('wordCloud3d')?.(() => {\n const srView = this.getCompiler().getVGrammarView();\n const width = srView.width() - this._padding?.left || 0 - this._padding?.right || 0;\n const height = srView.height() - this._padding?.top || 0 - this._padding?.bottom || 0;\n const r = Math.max(width, height) / 2;\n return {\n center: { x: r, y: r, z: this._spec.depth_3d ?? r },\n r\n };\n }),\n userAnimationConfig(SeriesMarkNameEnum.fillingWord, this._spec)\n )\n );\n }\n }\n}\n\nexport const registerWordCloud3dSeries = () => {\n Factory.registerMark(TextMark.type, TextMark);\n Factory.registerSeries(WordCloud3dSeries.type, WordCloud3dSeries);\n registerWordCloud3dAnimation();\n};\n"]}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
export * from './light';
|
|
2
2
|
export * from './common/legacy';
|
|
3
|
+
import type { IChartLevelTheme } from '../../core/interface';
|
|
3
4
|
import type { ITheme } from '../interface';
|
|
4
|
-
export declare const
|
|
5
|
+
export declare const builtinThemes: Record<string, ITheme>;
|
|
5
6
|
export declare const defaultThemeName: string;
|
|
6
7
|
export declare const themes: Map<string, ITheme>;
|
|
8
|
+
export declare const hasThemeMerged: Map<string, boolean>;
|
|
7
9
|
export declare const getMergedTheme: (theme: Partial<ITheme>) => ITheme;
|
|
10
|
+
export declare const defaultChartLevelTheme: IChartLevelTheme;
|
|
@@ -17,17 +17,22 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
|
|
|
17
17
|
|
|
18
18
|
Object.defineProperty(exports, "__esModule", {
|
|
19
19
|
value: !0
|
|
20
|
-
}), exports.getMergedTheme = exports.themes = exports.defaultThemeName = exports.
|
|
20
|
+
}), exports.defaultChartLevelTheme = exports.getMergedTheme = exports.hasThemeMerged = exports.themes = exports.defaultThemeName = exports.builtinThemes = void 0,
|
|
21
21
|
__exportStar(require("./light"), exports), __exportStar(require("./common/legacy"), exports);
|
|
22
22
|
|
|
23
|
-
const merge_theme_1 = require("../../util/spec/merge-theme"), dark_1 = require("./dark"), light_1 = require("./light");
|
|
23
|
+
const merge_theme_1 = require("../../util/spec/merge-theme"), util_1 = require("../color-scheme/util"), dark_1 = require("./dark"), light_1 = require("./light");
|
|
24
24
|
|
|
25
|
-
exports.
|
|
26
|
-
|
|
25
|
+
exports.builtinThemes = {
|
|
26
|
+
[light_1.lightTheme.name]: light_1.lightTheme,
|
|
27
|
+
[dark_1.darkTheme.name]: dark_1.darkTheme
|
|
28
|
+
}, exports.defaultThemeName = light_1.lightTheme.name, exports.themes = new Map(Object.keys(exports.builtinThemes).map((key => [ key, exports.builtinThemes[key] ]))),
|
|
29
|
+
exports.hasThemeMerged = new Map(Object.keys(exports.builtinThemes).map((key => [ key, key === exports.defaultThemeName ])));
|
|
27
30
|
|
|
28
|
-
const getMergedTheme = theme => (0, merge_theme_1.mergeTheme)({}, exports.
|
|
31
|
+
const getMergedTheme = theme => (0, merge_theme_1.mergeTheme)({}, exports.themes.get(exports.defaultThemeName), theme);
|
|
29
32
|
|
|
30
|
-
exports.getMergedTheme = getMergedTheme, exports.
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
exports.getMergedTheme = getMergedTheme, exports.defaultChartLevelTheme = {
|
|
34
|
+
background: (0, util_1.getActualColor)(exports.builtinThemes[exports.defaultThemeName].background, exports.builtinThemes[exports.defaultThemeName].colorScheme),
|
|
35
|
+
fontFamily: exports.builtinThemes[exports.defaultThemeName].fontFamily,
|
|
36
|
+
colorScheme: exports.builtinThemes[exports.defaultThemeName].colorScheme
|
|
37
|
+
};
|
|
33
38
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/theme/builtin/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0CAAwB;AAExB,kDAAgC;
|
|
1
|
+
{"version":3,"sources":["../src/theme/builtin/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0CAAwB;AAExB,kDAAgC;AAGhC,6DAAyD;AACzD,+CAAsD;AAEtD,iCAAmC;AACnC,mCAAqC;AAGxB,QAAA,aAAa,GAA2B;IACnD,CAAC,kBAAU,CAAC,IAAI,CAAC,EAAE,kBAAU;IAC7B,CAAC,gBAAS,CAAC,IAAI,CAAC,EAAE,gBAAS;CAC5B,CAAC;AAEW,QAAA,gBAAgB,GAAG,kBAAU,CAAC,IAAI,CAAC;AAGnC,QAAA,MAAM,GAAwB,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAa,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,qBAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAExG,QAAA,cAAc,GAAyB,IAAI,GAAG,CACzD,MAAM,CAAC,IAAI,CAAC,qBAAa,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,wBAAgB,CAAC,CAAC,CACvE,CAAC;AAGK,MAAM,cAAc,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,IAAA,wBAAU,EAAC,EAAE,EAAE,cAAM,CAAC,GAAG,CAAC,wBAAgB,CAAC,EAAE,KAAK,CAAC,CAAC;AAAzG,QAAA,cAAc,kBAA2F;AAEzG,QAAA,sBAAsB,GAAqB;IACtD,UAAU,EAAE,IAAA,qBAAc,EAAC,qBAAa,CAAC,wBAAgB,CAAC,CAAC,UAAU,EAAE,qBAAa,CAAC,wBAAgB,CAAC,CAAC,WAAW,CAAC;IACnH,UAAU,EAAE,qBAAa,CAAC,wBAAgB,CAAC,CAAC,UAAU;IACtD,WAAW,EAAE,qBAAa,CAAC,wBAAgB,CAAC,CAAC,WAAW;CACzD,CAAC","file":"index.js","sourcesContent":["export * from './light';\n/** 历史弃用主题 */\nexport * from './common/legacy';\n\nimport type { IChartLevelTheme } from '../../core/interface';\nimport { mergeTheme } from '../../util/spec/merge-theme';\nimport { getActualColor } from '../color-scheme/util';\nimport type { ITheme } from '../interface';\nimport { darkTheme } from './dark';\nimport { lightTheme } from './light';\n\n/** 声明内置主题 */\nexport const builtinThemes: Record<string, ITheme> = {\n [lightTheme.name]: lightTheme,\n [darkTheme.name]: darkTheme\n};\n/** 声明默认主题 */\nexport const defaultThemeName = lightTheme.name;\n\n/** 全局主题 map (包含用户新注册的主题) */\nexport const themes: Map<string, ITheme> = new Map(Object.keys(builtinThemes).map(key => [key, builtinThemes[key]]));\n/** 主题 map 中的元素是否 merge 过默认主题 (非默认主题的其他内置主题没有 merge 过默认主题) */\nexport const hasThemeMerged: Map<string, boolean> = new Map(\n Object.keys(builtinThemes).map(key => [key, key === defaultThemeName])\n);\n\n/** 使新主题基于默认主题扩展,保证基础值 */\nexport const getMergedTheme = (theme: Partial<ITheme>): ITheme => mergeTheme({}, themes.get(defaultThemeName), theme);\n\nexport const defaultChartLevelTheme: IChartLevelTheme = {\n background: getActualColor(builtinThemes[defaultThemeName].background, builtinThemes[defaultThemeName].colorScheme),\n fontFamily: builtinThemes[defaultThemeName].fontFamily,\n colorScheme: builtinThemes[defaultThemeName].colorScheme\n};\n"]}
|
|
@@ -60,7 +60,8 @@ function isColorKey(obj) {
|
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
function isProgressiveDataColorScheme(obj) {
|
|
63
|
-
return
|
|
63
|
+
return !(!(0, vutils_1.isArray)(obj) || 0 === obj.length) && obj.every((item => (0,
|
|
64
|
+
vutils_1.isValid)(item.scheme)));
|
|
64
65
|
}
|
|
65
66
|
|
|
66
67
|
function transformColorSchemeToStandardStruct(colorScheme) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/theme/color-scheme/util.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../src/theme/color-scheme/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import { array, isArray, isFunction, isObject, isString, isValid } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { ColorUtil } from '@visactor/vutils';\nimport type { SeriesTypeEnum } from '../../series/interface';\nimport { Color } from '../../util/color';\nimport type {\n ColorScheme,\n ColorSchemeItem,\n IColorKey,\n IColorSchemeStruct,\n IProgressiveDataSchemeCase,\n IThemeColorScheme,\n ProgressiveDataScheme\n} from './interface';\n\n/**\n * 从色板中获取数据色板(在此步骤中替换语义色值)\n * @param colorScheme\n * @param seriesType\n * @returns\n */\nexport function getDataScheme(\n colorScheme: IThemeColorScheme,\n seriesType?: SeriesTypeEnum\n): Array<ColorSchemeItem> | ProgressiveDataScheme<ColorSchemeItem> {\n const scheme = !isValid(seriesType) ? colorScheme?.default : colorScheme?.[seriesType] ?? colorScheme?.default;\n if (!scheme || isArray(scheme)) {\n // 不带语义色板,直接输出\n return scheme as Array<ColorSchemeItem> | ProgressiveDataScheme<ColorSchemeItem>;\n } else if (isObject(scheme)) {\n // 带语义色板,转换颜色后输出\n const { dataScheme } = scheme as IColorSchemeStruct;\n if (!dataScheme) {\n return [];\n }\n // 渐进式色板的情况\n if (isProgressiveDataColorScheme(dataScheme)) {\n return dataScheme.map(item => ({\n ...item,\n scheme: item.scheme\n .map(color => {\n if (isColorKey(color)) {\n return queryColorFromColorScheme(colorScheme, color, seriesType);\n }\n return color;\n })\n .filter(isValid)\n }));\n }\n // 普通色板的情况\n return dataScheme\n .map(color => {\n if (isColorKey(color)) {\n return queryColorFromColorScheme(colorScheme, color, seriesType);\n }\n return color;\n })\n .filter(isValid);\n }\n return [];\n}\n\n/**\n * 计算最终数据色板(在此步骤中获得渐进式色板的最终色板)\n * @param colorScheme\n * @param seriesType\n * @returns\n */\nexport function computeActualDataScheme(\n dataScheme: Array<ColorSchemeItem> | ProgressiveDataScheme<ColorSchemeItem>,\n colorDomain: any[]\n): Array<ColorSchemeItem> {\n if (isProgressiveDataColorScheme(dataScheme)) {\n return (\n dataScheme.find(item => {\n if (isValid(item.isAvailable)) {\n if (isFunction(item.isAvailable)) {\n return item.isAvailable(colorDomain);\n }\n return !!item.isAvailable;\n } else if (isValid(item.maxDomainLength)) {\n return colorDomain?.length <= item.maxDomainLength;\n }\n return true;\n })?.scheme ?? dataScheme[dataScheme.length - 1].scheme\n );\n }\n return dataScheme;\n}\n\n/**\n * 根据色板和色值索引生成颜色\n * @param colorScheme\n * @param colorKey\n * @param seriesType\n * @returns\n */\nexport function queryColorFromColorScheme(\n colorScheme: IThemeColorScheme,\n colorKey: IColorKey,\n seriesType?: SeriesTypeEnum\n): ColorSchemeItem | undefined {\n const scheme = !isValid(seriesType) ? colorScheme.default : colorScheme[seriesType] ?? colorScheme.default;\n if (!scheme) {\n return undefined;\n }\n let color;\n const { palette } = scheme as IColorSchemeStruct;\n if (isObject(palette)) {\n color = palette[colorKey.key] ?? colorKey.default;\n }\n if (!color) {\n return undefined;\n }\n if ((!isValid(colorKey.a) && !isValid(colorKey.l)) || !isString(color)) {\n return color;\n }\n let c = new Color(color);\n if (isValid(colorKey.l)) {\n const { r, g, b } = c.color;\n const { h, s } = ColorUtil.rgbToHsl(r, g, b);\n const rgb = ColorUtil.hslToRgb(h, s, colorKey.l);\n const newColor = new Color(`rgb(${rgb.r}, ${rgb.g}, ${rgb.b})`);\n newColor.setOpacity(c.color.opacity);\n c = newColor;\n }\n if (isValid(colorKey.a)) {\n c.setOpacity(colorKey.a);\n }\n return c.toRGBA();\n}\n\n/** 查询语义化颜色 */\nexport const getActualColor = (value: any, colorScheme?: IThemeColorScheme, seriesType?: SeriesTypeEnum) => {\n if (isColorKey(value)) {\n if (colorScheme) {\n const color = queryColorFromColorScheme(colorScheme, value, seriesType);\n if (color) {\n return color;\n }\n }\n }\n return value;\n};\n\nexport function isColorKey(obj: any): obj is IColorKey {\n return isObject(obj) && (obj as IColorKey).type === 'palette' && !!(obj as IColorKey).key;\n}\n\nexport function isProgressiveDataColorScheme<T>(obj: any): obj is ProgressiveDataScheme<T> {\n if (!isArray(obj) || obj.length === 0) {\n return false;\n }\n return obj.every(item => {\n return isValid((item as IProgressiveDataSchemeCase<T>).scheme);\n });\n}\n\n/** 将色板转化为标准形式 */\nexport function transformColorSchemeToStandardStruct(colorScheme: ColorScheme): IColorSchemeStruct {\n if (isArray(colorScheme)) {\n return {\n dataScheme: colorScheme\n };\n }\n return colorScheme;\n}\n"]}
|
|
@@ -8,13 +8,14 @@ const builtin_1 = require("./builtin"), instance_manager_1 = require("../core/in
|
|
|
8
8
|
|
|
9
9
|
class ThemeManager {
|
|
10
10
|
static registerTheme(name, theme) {
|
|
11
|
-
name && ThemeManager.themes.set(name, (0, builtin_1.getMergedTheme)(theme));
|
|
11
|
+
name && (ThemeManager.themes.set(name, (0, builtin_1.getMergedTheme)(theme)), builtin_1.hasThemeMerged.set(name, !0));
|
|
12
12
|
}
|
|
13
13
|
static getTheme(name) {
|
|
14
|
-
return
|
|
14
|
+
return builtin_1.hasThemeMerged.has(name) && !builtin_1.hasThemeMerged.get(name) && ThemeManager.registerTheme(name, ThemeManager.themes.get(name)),
|
|
15
|
+
ThemeManager.themes.get(name) || ThemeManager.getDefaultTheme();
|
|
15
16
|
}
|
|
16
17
|
static removeTheme(name) {
|
|
17
|
-
return ThemeManager.themes.delete(name);
|
|
18
|
+
return ThemeManager.themes.delete(name) && builtin_1.hasThemeMerged.delete(name);
|
|
18
19
|
}
|
|
19
20
|
static themeExist(name) {
|
|
20
21
|
return !!(0, vutils_1.isString)(name) && ThemeManager.themes.has(name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/theme/theme-manager.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"sources":["../src/theme/theme-manager.ts"],"names":[],"mappings":";;;AAAA,uCAAqF;AAErF,+DAA2D;AAE3D,6CAA4C;AAE5C,MAAa,YAAY;IAYvB,MAAM,CAAC,aAAa,CAAC,IAAY,EAAE,KAAsB;QACvD,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QAED,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAA,wBAAc,EAAC,KAAK,CAAC,CAAC,CAAC;QACrD,wBAAc,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAOD,MAAM,CAAC,QAAQ,CAAC,IAAY;QAC1B,IAAI,wBAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAEzD,YAAY,CAAC,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;SACjE;QACD,OAAO,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC;IACzE,CAAC;IAOD,MAAM,CAAC,WAAW,CAAC,IAAY;QAC7B,OAAO,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,wBAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC;IAOD,MAAM,CAAC,UAAU,CAAC,IAAS;QACzB,IAAI,CAAC,IAAA,iBAAQ,EAAC,IAAI,CAAC,EAAE;YACnB,OAAO,KAAK,CAAC;SACd;QACD,OAAO,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAGD,MAAM,CAAC,eAAe;QACpB,OAAO,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,0BAAgB,CAAC,CAAC;IACnD,CAAC;IAGD,MAAM,CAAC,eAAe,CAAC,IAAY;QACjC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAClC,OAAO;SACR;QACD,YAAY,CAAC,iBAAiB,GAAG,IAAI,CAAC;QACtC,kCAAe,CAAC,OAAO,CAAC,CAAC,QAAiB,EAAE,EAAE,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IAClF,CAAC;IAGD,MAAM,CAAC,eAAe;QACpB,OAAO,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAC/D,CAAC;IAGD,MAAM,CAAC,mBAAmB;QACxB,OAAO,YAAY,CAAC,iBAAiB,CAAC;IACxC,CAAC;;AA7EH,oCA8EC;AA5EiB,mBAAM,GAAG,gBAAM,CAAC;AAEjB,8BAAiB,GAAW,0BAAgB,CAAC","file":"theme-manager.js","sourcesContent":["import { defaultThemeName, getMergedTheme, hasThemeMerged, themes } from './builtin';\nimport type { ITheme } from './interface';\nimport { InstanceManager } from '../core/instance-manager';\nimport type { IVChart } from '../core/interface';\nimport { isString } from '@visactor/vutils';\n\nexport class ThemeManager {\n /** 主题字典 */\n static readonly themes = themes;\n\n private static _currentThemeName: string = defaultThemeName; // 设置缺省为默认主题\n\n /**\n * 注册主题\n * @param name 主题名称\n * @param theme 主题配置\n * @returns\n */\n static registerTheme(name: string, theme: Partial<ITheme>) {\n if (!name) {\n return;\n }\n // 所有主题基于默认主题扩展,保证基础值\n ThemeManager.themes.set(name, getMergedTheme(theme));\n hasThemeMerged.set(name, true);\n }\n\n /**\n * 获取主题\n * @param name 主题名称\n * @returns\n */\n static getTheme(name: string) {\n if (hasThemeMerged.has(name) && !hasThemeMerged.get(name)) {\n // 重新 merge 默认主题\n ThemeManager.registerTheme(name, ThemeManager.themes.get(name));\n }\n return ThemeManager.themes.get(name) || ThemeManager.getDefaultTheme();\n }\n\n /**\n * 移除主题\n * @param name 主题名称\n * @returns 是否移除成功\n */\n static removeTheme(name: string): boolean {\n return ThemeManager.themes.delete(name) && hasThemeMerged.delete(name);\n }\n\n /**\n * 判断主题是否存在\n * @param name 主题名称\n * @returns 是否存在\n */\n static themeExist(name: any) {\n if (!isString(name)) {\n return false;\n }\n return ThemeManager.themes.has(name);\n }\n\n /** 获取图表默认主题(非用户配置) */\n static getDefaultTheme(): ITheme {\n return ThemeManager.themes.get(defaultThemeName);\n }\n\n /** 设置当前主题(所有实例生效) */\n static setCurrentTheme(name: string) {\n if (!ThemeManager.themeExist(name)) {\n return;\n }\n ThemeManager._currentThemeName = name;\n InstanceManager.forEach((instance: IVChart) => instance?.setCurrentTheme(name));\n }\n\n /** 获取当前主题(只能获取用户通过`setCurrentTheme`方法设置过的主题,默认值为默认主题) */\n static getCurrentTheme(): ITheme {\n return ThemeManager.getTheme(ThemeManager._currentThemeName);\n }\n\n /** 获取当前主题名称(只能获取用户通过`setCurrentTheme`方法设置过的主题,默认值为默认主题) */\n static getCurrentThemeName(): string {\n return ThemeManager._currentThemeName;\n }\n}\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ITheme } from './interface';
|
|
2
|
+
import type { IThemeColorScheme } from './color-scheme/interface';
|
|
3
|
+
import type { IModelOption } from '../model/interface';
|
|
4
|
+
export declare const mergeThemeAndGet: (path: string, currentThemeName?: string, optionTheme?: string | ITheme, specTheme?: string | ITheme, colorScheme?: IThemeColorScheme) => any;
|
|
5
|
+
export declare const getThemeFromOption: (path: string, option: Partial<IModelOption>) => any;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.getThemeFromOption = exports.mergeThemeAndGet = void 0;
|
|
6
|
+
|
|
7
|
+
const vutils_1 = require("@visactor/vutils"), theme_manager_1 = require("./theme-manager"), util_1 = require("../util"), util_2 = require("./color-scheme/util"), builtin_1 = require("./builtin"), mergeThemeAndGet = (path, currentThemeName, optionTheme, specTheme, colorScheme) => (0,
|
|
8
|
+
vutils_1.isString)(specTheme) && theme_manager_1.ThemeManager.themeExist(specTheme) ? getMergedValue(getThemeValue(path, specTheme, colorScheme)) : (0,
|
|
9
|
+
vutils_1.isString)(optionTheme) && theme_manager_1.ThemeManager.themeExist(optionTheme) ? getMergedValue(getThemeValue(path, optionTheme, colorScheme), getThemeValue(path, specTheme, colorScheme)) : getMergedValue(getThemeValue(path, currentThemeName, colorScheme), getThemeValue(path, optionTheme, colorScheme), getThemeValue(path, specTheme, colorScheme));
|
|
10
|
+
|
|
11
|
+
exports.mergeThemeAndGet = mergeThemeAndGet;
|
|
12
|
+
|
|
13
|
+
const getThemeValue = (path, theme, colorScheme) => {
|
|
14
|
+
let themeObject;
|
|
15
|
+
if ((0, vutils_1.isString)(theme) && theme_manager_1.ThemeManager.themeExist(theme) ? themeObject = theme_manager_1.ThemeManager.getTheme(theme) : (0,
|
|
16
|
+
vutils_1.isObject)(theme) && (themeObject = theme), (0, vutils_1.isNil)(themeObject)) return;
|
|
17
|
+
const paths = path.split(".");
|
|
18
|
+
if ("colorScheme" === path) return (0, util_1.transformColorSchemeToMerge)(themeObject.colorScheme);
|
|
19
|
+
if ("background" === path) return (0, util_2.getActualColor)(themeObject.background, colorScheme);
|
|
20
|
+
if (2 === paths.length && "series" === paths[0]) {
|
|
21
|
+
const {markByName: markByName, mark: mark} = themeObject;
|
|
22
|
+
return (0, util_1.transformSeriesThemeToMerge)((0, vutils_1.get)(themeObject, paths), paths[1], mark, markByName);
|
|
23
|
+
}
|
|
24
|
+
return (0, vutils_1.get)(themeObject, paths);
|
|
25
|
+
}, getMergedValue = (...sources) => (0, util_1.mergeSpec)({}, ...sources.map((source => ({
|
|
26
|
+
__TMP_KEY__: source
|
|
27
|
+
})))).__TMP_KEY__, getThemeFromOption = (path, option) => {
|
|
28
|
+
var _a, _b;
|
|
29
|
+
const {globalTheme: globalTheme = builtin_1.defaultThemeName, optionTheme: optionTheme, specTheme: specTheme, chartLevelTheme: chartLevelTheme = builtin_1.defaultChartLevelTheme} = null !== (_b = null === (_a = option.getThemeConfig) || void 0 === _a ? void 0 : _a.call(option)) && void 0 !== _b ? _b : {};
|
|
30
|
+
return (0, exports.mergeThemeAndGet)(path, globalTheme, optionTheme, specTheme, null == chartLevelTheme ? void 0 : chartLevelTheme.colorScheme);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
exports.getThemeFromOption = getThemeFromOption;
|
|
34
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/theme/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import { isString, get, isObject, isNil } from '@visactor/vutils';\nimport type { ITheme } from './interface';\nimport { ThemeManager } from './theme-manager';\nimport { mergeSpec, transformColorSchemeToMerge, transformSeriesThemeToMerge } from '../util';\nimport { getActualColor } from './color-scheme/util';\nimport type { IThemeColorScheme } from './color-scheme/interface';\nimport type { IModelOption } from '../model/interface';\nimport { defaultChartLevelTheme, defaultThemeName } from './builtin';\n\n/**\n * 性能优化过的主题合并,只合并需要取用的主题部分\n * @param path 需要取用的路径\n * @param currentThemeName (低优先级)当前全局主题 name\n * @param optionTheme (中优先级)option 中设置的主题\n * @param specTheme (高优先级)spec 中设置的主题\n * @returns\n */\nexport const mergeThemeAndGet = (\n path: string,\n currentThemeName?: string,\n optionTheme?: string | ITheme,\n specTheme?: string | ITheme,\n colorScheme?: IThemeColorScheme\n) => {\n if (isString(specTheme) && ThemeManager.themeExist(specTheme)) {\n // 以 specTheme 为最底开始合并\n return getMergedValue(getThemeValue(path, specTheme, colorScheme));\n } else if (isString(optionTheme) && ThemeManager.themeExist(optionTheme)) {\n // 以 optionTheme 为最底开始合并\n return getMergedValue(getThemeValue(path, optionTheme, colorScheme), getThemeValue(path, specTheme, colorScheme));\n }\n // 以 baseTheme 为最底开始合并\n return getMergedValue(\n getThemeValue(path, currentThemeName, colorScheme),\n getThemeValue(path, optionTheme, colorScheme),\n getThemeValue(path, specTheme, colorScheme)\n );\n};\n\n/** 从 theme 取特定 path 的值,但可能会改变形式为 merge 作准备 */\nconst getThemeValue = (path: string, theme?: string | ITheme, colorScheme?: IThemeColorScheme) => {\n let themeObject: ITheme;\n if (isString(theme) && ThemeManager.themeExist(theme)) {\n themeObject = ThemeManager.getTheme(theme);\n } else if (isObject(theme)) {\n themeObject = theme;\n }\n if (isNil(themeObject)) {\n return undefined;\n }\n\n const paths = path.split('.');\n\n const colorSchemePath: keyof ITheme = 'colorScheme';\n if (path === colorSchemePath) {\n return transformColorSchemeToMerge(themeObject.colorScheme);\n }\n const backgroundPath: keyof ITheme = 'background';\n if (path === backgroundPath) {\n return getActualColor(themeObject.background, colorScheme);\n }\n const seriesPath: keyof ITheme = 'series';\n if (paths.length === 2 && paths[0] === seriesPath) {\n const { markByName, mark } = themeObject;\n return transformSeriesThemeToMerge(get(themeObject, paths), paths[1], mark, markByName);\n }\n\n return get(themeObject, paths);\n};\n\nconst getMergedValue = (...sources: any[]) => {\n const tmpKey = '__TMP_KEY__';\n const obj = mergeSpec(\n {},\n ...sources.map(source => ({\n [tmpKey]: source\n }))\n );\n return obj[tmpKey];\n};\n\nexport const getThemeFromOption = (path: string, option: Partial<IModelOption>) => {\n const {\n globalTheme = defaultThemeName,\n optionTheme,\n specTheme,\n chartLevelTheme = defaultChartLevelTheme\n } = option.getThemeConfig?.() ?? {};\n return mergeThemeAndGet(path, globalTheme, optionTheme, specTheme, chartLevelTheme?.colorScheme);\n};\n"]}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
import { type Maybe } from '@visactor/vutils';
|
|
2
|
-
import type { ITheme } from '../../theme';
|
|
2
|
+
import type { IGlobalMarkThemeByName, IGlobalMarkThemeByType, ITheme } from '../../theme';
|
|
3
|
+
import type { IThemeColorScheme } from '../../theme/color-scheme/interface';
|
|
3
4
|
export declare function mergeTheme(target: Maybe<ITheme>, ...sources: Maybe<ITheme>[]): Maybe<ITheme>;
|
|
5
|
+
export declare function transformColorSchemeToMerge(colorScheme?: Maybe<IThemeColorScheme>): Maybe<IThemeColorScheme>;
|
|
6
|
+
export declare function transformSeriesThemeToMerge(seriesTheme: any, seriesType: string, markByType: IGlobalMarkThemeByType, markByName: IGlobalMarkThemeByName): any;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: !0
|
|
5
|
-
}), exports.mergeTheme = void 0;
|
|
5
|
+
}), exports.transformSeriesThemeToMerge = exports.transformColorSchemeToMerge = exports.mergeTheme = void 0;
|
|
6
6
|
|
|
7
7
|
const vutils_1 = require("@visactor/vutils"), util_1 = require("../../theme/color-scheme/util"), interface_1 = require("../../series/interface"), merge_spec_1 = require("./merge-spec");
|
|
8
8
|
|
|
@@ -12,26 +12,35 @@ function mergeTheme(target, ...sources) {
|
|
|
12
12
|
|
|
13
13
|
function transformThemeToMerge(theme) {
|
|
14
14
|
if (!theme) return theme;
|
|
15
|
-
|
|
16
|
-
colorScheme && (colorScheme = Object.keys(colorScheme).reduce(((scheme, key) => {
|
|
17
|
-
const value = colorScheme[key];
|
|
18
|
-
return scheme[key] = (0, util_1.transformColorSchemeToStandardStruct)(value), scheme;
|
|
19
|
-
}), {}));
|
|
15
|
+
const colorScheme = transformColorSchemeToMerge(theme.colorScheme);
|
|
20
16
|
let {series: series} = theme;
|
|
21
17
|
const {mark: markByType, markByName: markByName} = theme;
|
|
22
18
|
return (markByType || markByName) && (series = Object.keys(interface_1.seriesMarkInfoMap).reduce(((newSeriesTheme, key) => {
|
|
23
19
|
var _a;
|
|
24
|
-
const value = null !== (_a = null == series ? void 0 : series[key]) && void 0 !== _a ? _a : {}
|
|
25
|
-
return
|
|
26
|
-
|
|
27
|
-
newValue[name] = (0, merge_spec_1.mergeSpec)({}, null !== (_a = null == markByType ? void 0 : markByType[(0,
|
|
28
|
-
vutils_1.array)(type)[0]]) && void 0 !== _a ? _a : {}, null !== (_b = null == markByName ? void 0 : markByName[name]) && void 0 !== _b ? _b : {}, value[name]);
|
|
29
|
-
})), newSeriesTheme[key] = Object.assign(Object.assign({}, value), newValue), newSeriesTheme;
|
|
20
|
+
const value = null !== (_a = null == series ? void 0 : series[key]) && void 0 !== _a ? _a : {};
|
|
21
|
+
return newSeriesTheme[key] = transformSeriesThemeToMerge(value, key, markByType, markByName),
|
|
22
|
+
newSeriesTheme;
|
|
30
23
|
}), {})), Object.assign(Object.assign({}, theme), {
|
|
31
24
|
colorScheme: colorScheme,
|
|
32
25
|
series: series
|
|
33
26
|
});
|
|
34
27
|
}
|
|
35
28
|
|
|
36
|
-
|
|
29
|
+
function transformColorSchemeToMerge(colorScheme) {
|
|
30
|
+
return colorScheme && (colorScheme = Object.keys(colorScheme).reduce(((scheme, key) => {
|
|
31
|
+
const value = colorScheme[key];
|
|
32
|
+
return scheme[key] = (0, util_1.transformColorSchemeToStandardStruct)(value), scheme;
|
|
33
|
+
}), {})), colorScheme;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function transformSeriesThemeToMerge(seriesTheme, seriesType, markByType, markByName) {
|
|
37
|
+
const newTheme = {};
|
|
38
|
+
return Object.values(interface_1.seriesMarkInfoMap[seriesType]).forEach((({type: type, name: name}) => {
|
|
39
|
+
newTheme[name] = (0, merge_spec_1.mergeSpec)({}, null == markByType ? void 0 : markByType[(0,
|
|
40
|
+
vutils_1.array)(type)[0]], null == markByName ? void 0 : markByName[name], null == seriesTheme ? void 0 : seriesTheme[name]);
|
|
41
|
+
})), Object.assign(Object.assign({}, seriesTheme), newTheme);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
exports.mergeTheme = mergeTheme, exports.transformColorSchemeToMerge = transformColorSchemeToMerge,
|
|
45
|
+
exports.transformSeriesThemeToMerge = transformSeriesThemeToMerge;
|
|
37
46
|
//# sourceMappingURL=merge-theme.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/util/spec/merge-theme.ts"],"names":[],"mappings":";;;AAAA,6CAAqD;AAErD,wDAAqF;AAIrF,sDAAiF;AACjF,6CAAyC;AAEzC,SAAgB,UAAU,CAAC,MAAqB,EAAE,GAAG,OAAwB;IAC3E,OAAO,IAAA,sBAAS,EAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;AACzF,CAAC;AAFD,gCAEC;AAED,SAAS,qBAAqB,CAAC,KAAqB;IAClD,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,KAAK,CAAC;KACd;IAGD,IAAI,EAAE,
|
|
1
|
+
{"version":3,"sources":["../src/util/spec/merge-theme.ts"],"names":[],"mappings":";;;AAAA,6CAAqD;AAErD,wDAAqF;AAIrF,sDAAiF;AACjF,6CAAyC;AAEzC,SAAgB,UAAU,CAAC,MAAqB,EAAE,GAAG,OAAwB;IAC3E,OAAO,IAAA,sBAAS,EAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;AACzF,CAAC;AAFD,gCAEC;AAED,SAAS,qBAAqB,CAAC,KAAqB;IAClD,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,KAAK,CAAC;KACd;IAGD,MAAM,WAAW,GAAG,2BAA2B,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAGnE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACvB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAC/C,IAAI,UAAU,IAAI,UAAU,EAAE;QAC5B,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,6BAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,GAAG,EAAE,EAAE;;YACrE,MAAM,KAAK,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,CAAC,mCAAI,EAAE,CAAC;YAClC,cAAc,CAAC,GAAG,CAAC,GAAG,2BAA2B,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YACtF,OAAO,cAAc,CAAC;QACxB,CAAC,EAAE,EAAkB,CAAC,CAAC;KACxB;IAED,uCACK,KAAK,KACR,WAAW;QACX,MAAM,IACN;AACJ,CAAC;AAGD,SAAgB,2BAA2B,CAAC,WAAsC;IAChF,IAAI,WAAW,EAAE;QACf,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAoB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YAC/E,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,2CAAoC,EAAC,KAAK,CAAC,CAAC;YAC1D,OAAO,MAAM,CAAC;QAChB,CAAC,EAAE,EAAuB,CAAC,CAAC;KAC7B;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AATD,kEASC;AAGD,SAAgB,2BAA2B,CACzC,WAAgB,EAChB,UAAkB,EAClB,UAAkC,EAClC,UAAkC;IAElC,MAAM,QAAQ,GAAQ,EAAE,CAAC;IACzB,MAAM,CAAC,MAAM,CAAkB,6BAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;QACvF,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAA,sBAAS,EAAC,EAAE,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,IAAA,cAAK,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,IAAI,CAAC,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,IAAI,CAAC,CAAC,CAAC;IACxG,CAAC,CAAC,CAAC;IACH,uCACK,WAAW,GACX,QAAQ,EACX;AACJ,CAAC;AAdD,kEAcC","file":"merge-theme.js","sourcesContent":["import { type Maybe, array } from '@visactor/vutils';\nimport type { IGlobalMarkThemeByName, IGlobalMarkThemeByType, ITheme } from '../../theme';\nimport { transformColorSchemeToStandardStruct } from '../../theme/color-scheme/util';\nimport type { IThemeColorScheme } from '../../theme/color-scheme/interface';\nimport type { ISeriesTheme } from '../../series/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { seriesMarkInfoMap, type ISeriesMarkInfo } from '../../series/interface';\nimport { mergeSpec } from './merge-spec';\n\nexport function mergeTheme(target: Maybe<ITheme>, ...sources: Maybe<ITheme>[]): Maybe<ITheme> {\n return mergeSpec(transformThemeToMerge(target), ...sources.map(transformThemeToMerge));\n}\n\nfunction transformThemeToMerge(theme?: Maybe<ITheme>): Maybe<ITheme> {\n if (!theme) {\n return theme;\n }\n\n // 将色板转化为标准形式\n const colorScheme = transformColorSchemeToMerge(theme.colorScheme);\n\n // 将全局 mark 主题 merge 进系列主题\n let { series } = theme;\n const { mark: markByType, markByName } = theme;\n if (markByType || markByName) {\n series = Object.keys(seriesMarkInfoMap).reduce((newSeriesTheme, key) => {\n const value = series?.[key] ?? {};\n newSeriesTheme[key] = transformSeriesThemeToMerge(value, key, markByType, markByName);\n return newSeriesTheme;\n }, {} as ISeriesTheme);\n }\n\n return {\n ...theme,\n colorScheme,\n series\n };\n}\n\n/** 将色板转化为标准形式 */\nexport function transformColorSchemeToMerge(colorScheme?: Maybe<IThemeColorScheme>): Maybe<IThemeColorScheme> {\n if (colorScheme) {\n colorScheme = Object.keys(colorScheme).reduce<IThemeColorScheme>((scheme, key) => {\n const value = colorScheme[key];\n scheme[key] = transformColorSchemeToStandardStruct(value);\n return scheme;\n }, {} as IThemeColorScheme);\n }\n return colorScheme;\n}\n\n/** 将全局 mark 主题 merge 进系列主题 */\nexport function transformSeriesThemeToMerge(\n seriesTheme: any,\n seriesType: string,\n markByType: IGlobalMarkThemeByType,\n markByName: IGlobalMarkThemeByName\n): any {\n const newTheme: any = {};\n Object.values<ISeriesMarkInfo>(seriesMarkInfoMap[seriesType]).forEach(({ type, name }) => {\n newTheme[name] = mergeSpec({}, markByType?.[array(type)[0]], markByName?.[name], seriesTheme?.[name]);\n });\n return {\n ...seriesTheme,\n ...newTheme\n };\n}\n"]}
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
const vutils_1 = require("@visactor/vutils"), interface_1 = require("../../series/interface"), common_1 = require("./common"), util_1 = require("../../theme/color-scheme/util"), space_1 = require("../space");
|
|
8
8
|
|
|
9
9
|
function preprocessSpecOrTheme(type, obj, colorScheme, seriesType) {
|
|
10
|
+
if ((0, vutils_1.isNil)(obj)) return obj;
|
|
10
11
|
if ((0, vutils_1.isArray)(obj)) return obj.map((element => (0, vutils_1.isObject)(element) && !(0,
|
|
11
12
|
vutils_1.isFunction)(element) ? preprocessSpecOrTheme(type, element, colorScheme, seriesType) : element));
|
|
12
13
|
const newObj = {};
|