@visactor/vseed 0.1.13 → 0.1.15
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/dist/cjs/index.cjs +1 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/builder/builder/builder.d.ts +3372 -108
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/{encodingAdapter.d.ts → adapter/encodingAdapter.d.ts} +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/{encodingAdapter.js → adapter/encodingAdapter.js} +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/adapter/encodingAdapter.js.map +1 -0
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/adapter/index.d.ts +1 -0
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/adapter/index.js +2 -0
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/bar.js +4 -6
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/bar.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/color/addColorToEncoding.d.ts +8 -0
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/color/addColorToEncoding.js +13 -0
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/color/addColorToEncoding.js.map +1 -0
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/color/index.d.ts +1 -0
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/color/index.js +2 -0
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/column.js +4 -6
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/column.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/dualAxis.js +4 -6
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/dualAxis.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/funnel.js +4 -6
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/funnel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/heatmap.js +4 -6
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/heatmap.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/index.d.ts +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/index.js +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/line.js +4 -6
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/line.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/pie.js +4 -6
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/pie.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/radar.js +4 -6
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/radar.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/rose.js +4 -6
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/rose.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/scatter.js +2 -4
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/scatter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/heatmap.js +1 -3
- package/dist/esm/pipeline/spec/chart/pipeline/heatmap.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/scatter.js +3 -3
- package/dist/esm/pipeline/spec/chart/pipeline/scatter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/angle.js +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/axes/angle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/radius.js +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/axes/radius.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/xLinear.js +9 -3
- package/dist/esm/pipeline/spec/chart/pipes/axes/xLinear.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/yLinear.js +9 -3
- package/dist/esm/pipeline/spec/chart/pipes/axes/yLinear.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearPrimary.js +8 -3
- package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearPrimary.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearSecondary.js +8 -3
- package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearSecondary.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/index.d.ts +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/index.js +2 -2
- package/dist/esm/pipeline/spec/chart/pipes/label/label.d.ts +5 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/label.js +59 -38
- package/dist/esm/pipeline/spec/chart/pipes/label/label.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/labelDualAxis.js +15 -52
- package/dist/esm/pipeline/spec/chart/pipes/label/labelDualAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/{labelColorInversion.d.ts → labelScatter.d.ts} +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/labelScatter.js +19 -0
- package/dist/esm/pipeline/spec/chart/pipes/label/labelScatter.js.map +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/legend/colorLegend.js +3 -3
- package/dist/esm/pipeline/spec/chart/pipes/legend/colorLegend.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/legend/discreteLegend.js +4 -4
- package/dist/esm/pipeline/spec/chart/pipes/legend/discreteLegend.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/legend/pivotColorLegend.js +3 -3
- package/dist/esm/pipeline/spec/chart/pipes/legend/pivotColorLegend.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/legend/pivotDiscreteLegend.js +4 -4
- package/dist/esm/pipeline/spec/chart/pipes/legend/pivotDiscreteLegend.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/series/series.js +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/series/series.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.d.ts +3 -3
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js +13 -30
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js +6 -6
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHeatmap.js +6 -18
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHeatmap.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.js +6 -18
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/columns/measuresToColumns.js +8 -11
- package/dist/esm/pipeline/spec/table/pipes/columns/measuresToColumns.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/indicators/pivotIndicators.js +8 -13
- package/dist/esm/pipeline/spec/table/pipes/indicators/pivotIndicators.js.map +1 -1
- package/dist/esm/pipeline/utils/constant.d.ts +1 -0
- package/dist/esm/pipeline/utils/constant.js +2 -1
- package/dist/esm/pipeline/utils/constant.js.map +1 -1
- package/dist/esm/pipeline/utils/format/createFormatter.d.ts +1 -1
- package/dist/esm/pipeline/utils/format/createFormatter.js +3 -2
- package/dist/esm/pipeline/utils/format/createFormatter.js.map +1 -1
- package/dist/esm/pipeline/utils/format/createFormatterByMeasure.d.ts +2 -0
- package/dist/esm/pipeline/utils/format/createFormatterByMeasure.js +13 -0
- package/dist/esm/pipeline/utils/format/createFormatterByMeasure.js.map +1 -0
- package/dist/esm/pipeline/utils/format/createNumFormatter.d.ts +1 -1
- package/dist/esm/pipeline/utils/format/createNumFormatter.js.map +1 -1
- package/dist/esm/pipeline/utils/format/index.d.ts +1 -0
- package/dist/esm/pipeline/utils/format/index.js +1 -0
- package/dist/esm/theme/dark.js +9 -3
- package/dist/esm/theme/dark.js.map +1 -1
- package/dist/esm/theme/light.js +27 -6
- package/dist/esm/theme/light.js.map +1 -1
- package/dist/esm/types/advancedVSeed.d.ts +2334 -36
- package/dist/esm/types/chartType/area/zArea.d.ts +99 -1
- package/dist/esm/types/chartType/areaPercent/zAreaPercent.d.ts +99 -1
- package/dist/esm/types/chartType/bar/zBar.d.ts +99 -1
- package/dist/esm/types/chartType/barParallel/zBarParallel.d.ts +99 -1
- package/dist/esm/types/chartType/barPercent/zBarPercent.d.ts +99 -1
- package/dist/esm/types/chartType/column/zColumn.d.ts +99 -1
- package/dist/esm/types/chartType/columnParallel/zColumnParallel.d.ts +99 -1
- package/dist/esm/types/chartType/columnPercent/zColumnPercent.d.ts +99 -1
- package/dist/esm/types/chartType/donut/zDonut.d.ts +69 -1
- package/dist/esm/types/chartType/dualAxis/zDualAxis.d.ts +309 -1
- package/dist/esm/types/chartType/funnel/zFunnel.d.ts +68 -0
- package/dist/esm/types/chartType/heatmap/zHeatmap.d.ts +68 -0
- package/dist/esm/types/chartType/line/zLine.d.ts +99 -1
- package/dist/esm/types/chartType/pie/zPie.d.ts +69 -1
- package/dist/esm/types/chartType/pivotTable/zPivotTable.d.ts +30 -0
- package/dist/esm/types/chartType/radar/zRadar.d.ts +69 -1
- package/dist/esm/types/chartType/rose/zRose.d.ts +69 -1
- package/dist/esm/types/chartType/roseParallel/zRoseParallel.d.ts +69 -1
- package/dist/esm/types/chartType/scatter/zScatter.d.ts +249 -1
- package/dist/esm/types/chartType/table/zTable.d.ts +30 -0
- package/dist/esm/types/properties/config/axes/bandAxis.d.ts +146 -82
- package/dist/esm/types/properties/config/axes/bandAxis.js +0 -48
- package/dist/esm/types/properties/config/axes/index.d.ts +4 -3
- package/dist/esm/types/properties/config/axes/index.js +2 -3
- package/dist/esm/types/properties/config/axes/linearAxis.d.ts +149 -84
- package/dist/esm/types/properties/config/axes/linearAxis.js +0 -45
- package/dist/esm/types/properties/config/axes/zBandAxis.d.ts +79 -0
- package/dist/esm/types/properties/config/axes/{axis.js → zBandAxis.js} +5 -11
- package/dist/esm/types/properties/config/axes/zBandAxis.js.map +1 -0
- package/dist/esm/types/properties/config/axes/zLinearAxis.d.ts +141 -0
- package/dist/esm/types/properties/config/axes/zLinearAxis.js +47 -0
- package/dist/esm/types/properties/config/axes/zLinearAxis.js.map +1 -0
- package/dist/esm/types/properties/config/config.d.ts +2304 -37
- package/dist/esm/types/properties/config/config.js +1 -2
- package/dist/esm/types/properties/config/config.js.map +1 -1
- package/dist/esm/types/properties/config/label/label.d.ts +37 -0
- package/dist/esm/types/properties/config/label/zLabel.d.ts +38 -0
- package/dist/esm/types/properties/config/label/zLabel.js +11 -1
- package/dist/esm/types/properties/config/label/zLabel.js.map +1 -1
- package/dist/esm/types/properties/config/legend/legend.d.ts +6 -2
- package/dist/esm/types/properties/config/legend/legend.js +1 -1
- package/dist/esm/types/properties/config/legend/legend.js.map +1 -1
- package/dist/esm/types/properties/format/numFormat.js.map +1 -0
- package/dist/esm/types/properties/index.d.ts +1 -0
- package/dist/esm/types/properties/index.js +1 -0
- package/dist/esm/types/properties/measures/index.d.ts +0 -1
- package/dist/esm/types/properties/measures/index.js +0 -1
- package/dist/esm/types/properties/measures/measures.d.ts +6 -2
- package/dist/esm/types/properties/measures/zDualMeasures.d.ts +240 -0
- package/dist/esm/types/properties/measures/zMeasures.d.ts +90 -0
- package/dist/esm/types/properties/measures/zMeasures.js +2 -1
- package/dist/esm/types/properties/measures/zMeasures.js.map +1 -1
- package/dist/esm/types/properties/measures/zScatterMeasures.d.ts +240 -0
- package/dist/esm/types/properties/theme/customTheme.d.ts +2304 -36
- package/dist/esm/types/zVseed.d.ts +2090 -116
- package/dist/umd/index.js +270 -335
- package/dist/umd/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/encodingAdapter.js.map +0 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/labelColorInversion.js +0 -13
- package/dist/esm/pipeline/spec/chart/pipes/label/labelColorInversion.js.map +0 -1
- package/dist/esm/types/properties/config/axes/axis.d.ts +0 -255
- package/dist/esm/types/properties/config/axes/axis.js.map +0 -1
- package/dist/esm/types/properties/config/axes/bandAxis.js.map +0 -1
- package/dist/esm/types/properties/config/axes/linearAxis.js.map +0 -1
- package/dist/esm/types/properties/measures/format/numFormat.js.map +0 -1
- /package/dist/esm/types/properties/{measures/format → format}/formatter.d.ts +0 -0
- /package/dist/esm/types/properties/{measures/format → format}/formatter.js +0 -0
- /package/dist/esm/types/properties/{measures/format → format}/index.d.ts +0 -0
- /package/dist/esm/types/properties/{measures/format → format}/index.js +0 -0
- /package/dist/esm/types/properties/{measures/format → format}/numFormat.d.ts +0 -0
- /package/dist/esm/types/properties/{measures/format → format}/numFormat.js +0 -0
package/dist/umd/index.js
CHANGED
@@ -106,6 +106,7 @@
|
|
106
106
|
columnAdvancedPipeline: ()=>columnAdvancedPipeline,
|
107
107
|
zLabel: ()=>zLabel,
|
108
108
|
registerColumn: ()=>registerColumn,
|
109
|
+
createFormatterByMeasure: ()=>createFormatterByMeasure,
|
109
110
|
findAllMeasures: ()=>findAllMeasures,
|
110
111
|
funnelSpecPipeline: ()=>funnelSpecPipeline,
|
111
112
|
isDimensionSelector: ()=>isDimensionSelector,
|
@@ -193,21 +194,20 @@
|
|
193
194
|
darkTheme: ()=>darkTheme,
|
194
195
|
createNumFormatter: ()=>createNumFormatter,
|
195
196
|
zAreaConfig: ()=>zAreaConfig,
|
196
|
-
zAxis: ()=>zAxis,
|
197
|
-
isVTable: ()=>isVTable,
|
198
197
|
zMeasures: ()=>zMeasures,
|
198
|
+
isVTable: ()=>isVTable,
|
199
199
|
zRadar: ()=>zRadar,
|
200
|
+
zRadarConfig: ()=>zRadarConfig,
|
200
201
|
zLine: ()=>zLine,
|
201
202
|
columnSpecPipeline: ()=>columnSpecPipeline,
|
202
203
|
zFoldInfo: ()=>zFoldInfo,
|
203
204
|
zDatasetReshapeInfo: ()=>zDatasetReshapeInfo,
|
204
205
|
zLinearColor: ()=>zLinearColor,
|
205
|
-
|
206
|
+
zStackCornerRadius: ()=>zStackCornerRadius,
|
206
207
|
zAreaStyle: ()=>zAreaStyle,
|
207
208
|
ORIGINAL_DATA: ()=>ORIGINAL_DATA,
|
208
|
-
zStackCornerRadius: ()=>zStackCornerRadius,
|
209
|
-
zAnnotationArea: ()=>zAnnotationArea,
|
210
209
|
zUnfoldInfo: ()=>zUnfoldInfo,
|
210
|
+
zAnnotationArea: ()=>zAnnotationArea,
|
211
211
|
DetailEncoding: ()=>DetailEncoding,
|
212
212
|
zRose: ()=>zRose,
|
213
213
|
columnParallelSpecPipeline: ()=>columnParallelSpecPipeline,
|
@@ -982,9 +982,6 @@
|
|
982
982
|
});
|
983
983
|
return result || [];
|
984
984
|
};
|
985
|
-
function chunk_VCYTMP4D_n(e) {
|
986
|
-
return void 0 === e ? !0 : "string" == typeof e || Array.isArray(e) ? 0 === e.length : 0 === Object.keys(e).length;
|
987
|
-
}
|
988
985
|
const createNumFormatter = (format, locale = intl.getLocale())=>{
|
989
986
|
const { type = 'number', ratio = 1, symbol = '', thousandSeparator = true, prefix = '', suffix = '', fractionDigits = 2, significantDigits, roundingMode = 'halfExpand', roundingPriority = 'auto' } = format || {};
|
990
987
|
const numFormatterOptions = {
|
@@ -1041,11 +1038,21 @@
|
|
1041
1038
|
});
|
1042
1039
|
return numFormatter.format(Number(value));
|
1043
1040
|
};
|
1044
|
-
const createFormatter = (format)=>createNumFormatter(format);
|
1045
|
-
const autoFormatter = (value, locale)=>autoNumFormatter(value, locale);
|
1041
|
+
const createFormatter = (format, locale)=>createNumFormatter(format, locale);
|
1042
|
+
const autoFormatter = (value, locale = intl.getLocale())=>autoNumFormatter(value, locale);
|
1043
|
+
function chunk_VCYTMP4D_n(e) {
|
1044
|
+
return void 0 === e ? !0 : "string" == typeof e || Array.isArray(e) ? 0 === e.length : 0 === Object.keys(e).length;
|
1045
|
+
}
|
1046
|
+
const createFormatterByMeasure = (measure)=>{
|
1047
|
+
if (!measure) return (v)=>String(v);
|
1048
|
+
const { numFormat, format, autoFormat = true } = measure;
|
1049
|
+
const formatterFormat = numFormat || format || {};
|
1050
|
+
if (!chunk_VCYTMP4D_n(formatterFormat)) return createFormatter(formatterFormat);
|
1051
|
+
if (autoFormat) return autoFormatter;
|
1052
|
+
return (v)=>String(v);
|
1053
|
+
};
|
1046
1054
|
const measureTreeToColumns = (spec, context)=>{
|
1047
1055
|
const { advancedVSeed } = context;
|
1048
|
-
const { locale } = advancedVSeed;
|
1049
1056
|
const measures = advancedVSeed.measures;
|
1050
1057
|
const result = {
|
1051
1058
|
...spec
|
@@ -1053,7 +1060,7 @@
|
|
1053
1060
|
const eachNode = (node)=>{
|
1054
1061
|
if (isMeasure(node)) return {
|
1055
1062
|
width: 'auto',
|
1056
|
-
fieldFormat: fieldFormat(node
|
1063
|
+
fieldFormat: fieldFormat(node)
|
1057
1064
|
};
|
1058
1065
|
return {};
|
1059
1066
|
};
|
@@ -1066,15 +1073,14 @@
|
|
1066
1073
|
]
|
1067
1074
|
};
|
1068
1075
|
};
|
1069
|
-
const fieldFormat = (node
|
1070
|
-
|
1076
|
+
const fieldFormat = (node)=>{
|
1077
|
+
const formatter = createFormatterByMeasure(node);
|
1078
|
+
return (datum)=>{
|
1079
|
+
const { id } = node;
|
1071
1080
|
const value = datum[id];
|
1072
|
-
|
1073
|
-
const formatter = createFormatter(format);
|
1074
|
-
return formatter(value);
|
1075
|
-
}
|
1076
|
-
if (autoFormat) return autoFormatter(value, locale);
|
1081
|
+
return formatter(value);
|
1077
1082
|
};
|
1083
|
+
};
|
1078
1084
|
const measuresToColumns_treeTreeToColumns = (tree, callback)=>{
|
1079
1085
|
const result = tree.map((item)=>{
|
1080
1086
|
if ('children' in item && Array.isArray(item.children)) {
|
@@ -1515,7 +1521,7 @@
|
|
1515
1521
|
};
|
1516
1522
|
const pivotIndicators = (spec, context)=>{
|
1517
1523
|
const { advancedVSeed } = context;
|
1518
|
-
const {
|
1524
|
+
const { measures, datasetReshapeInfo } = advancedVSeed;
|
1519
1525
|
const { foldInfo } = datasetReshapeInfo[0];
|
1520
1526
|
return {
|
1521
1527
|
...spec,
|
@@ -1528,25 +1534,20 @@
|
|
1528
1534
|
indicatorKey: foldInfo.measureValue,
|
1529
1535
|
title: 'indicator',
|
1530
1536
|
width: 'auto',
|
1531
|
-
format: pivotIndicators_fieldFormat(measures, foldInfo
|
1537
|
+
format: pivotIndicators_fieldFormat(measures, foldInfo)
|
1532
1538
|
}
|
1533
1539
|
]
|
1534
1540
|
};
|
1535
1541
|
};
|
1536
|
-
const pivotIndicators_fieldFormat = (measures, foldInfo
|
1542
|
+
const pivotIndicators_fieldFormat = (measures, foldInfo)=>(value, col, row, table)=>{
|
1537
1543
|
if (!chunk_6GTAPB47_e(col) || !chunk_6GTAPB47_e(row) || !table) return value;
|
1538
1544
|
const datum = table.getCellOriginRecord(col, row);
|
1539
1545
|
if (!datum[0]) return value;
|
1540
1546
|
const { measureId: foldMeasureId } = foldInfo;
|
1541
1547
|
const measureId = datum[0][foldMeasureId];
|
1542
|
-
const
|
1543
|
-
|
1544
|
-
|
1545
|
-
if (!chunk_VCYTMP4D_n(format)) {
|
1546
|
-
const formatter = createFormatter(format);
|
1547
|
-
return formatter(value);
|
1548
|
-
}
|
1549
|
-
if (autoFormat) return autoFormatter(value, locale);
|
1548
|
+
const measure = findMeasureById(measures, measureId);
|
1549
|
+
const formatter = createFormatterByMeasure(measure);
|
1550
|
+
return formatter(value);
|
1550
1551
|
};
|
1551
1552
|
const rowHeaderStyle = (spec, context)=>{
|
1552
1553
|
const result = {
|
@@ -1776,6 +1777,14 @@
|
|
1776
1777
|
if (hasEncoding) return execPipeline(hasEncodingPipeline, context, advancedVSeed);
|
1777
1778
|
return execPipeline(noEncodingPipeline, context, advancedVSeed);
|
1778
1779
|
};
|
1780
|
+
const addColorToEncoding = (dimensions, encoding, isMultiMeasure)=>{
|
1781
|
+
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
1782
|
+
const measureName = dimensions.find((item)=>item.id === MeasureName);
|
1783
|
+
if (isMultiMeasure && measureName && !measureName.encoding) encoding.color.push(MeasureName);
|
1784
|
+
if (0 === encoding.color.length) encoding.color = [
|
1785
|
+
MeasureName
|
1786
|
+
];
|
1787
|
+
};
|
1779
1788
|
const defaultEncodingForLine = (advancedVSeed)=>{
|
1780
1789
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
1781
1790
|
const measures = findAllMeasures(vseedMeasures);
|
@@ -1793,7 +1802,7 @@
|
|
1793
1802
|
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
1794
1803
|
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
1795
1804
|
const encoding = {};
|
1796
|
-
if (hasDimensionEncoding) line_generateDimensionEncoding(dimensions, encoding);
|
1805
|
+
if (hasDimensionEncoding) line_generateDimensionEncoding(dimensions, encoding, measures.length > 1);
|
1797
1806
|
else line_generateDefaultDimensionEncoding(dimensions, encoding);
|
1798
1807
|
if (hasMeasureEncoding) line_generateMeasureEncoding(measures, encoding);
|
1799
1808
|
else line_generateDefaultMeasureEncoding(measures, encoding);
|
@@ -1812,15 +1821,12 @@
|
|
1812
1821
|
encoding.row = [];
|
1813
1822
|
encoding.column = [];
|
1814
1823
|
};
|
1815
|
-
const line_generateDimensionEncoding = (dimensions, encoding)=>{
|
1824
|
+
const line_generateDimensionEncoding = (dimensions, encoding, isMultiMeasure)=>{
|
1816
1825
|
encoding.x = chunk_QJLMYOTX_i(dimensions.filter((item)=>'xAxis' === item.encoding).map((item)=>item.id));
|
1817
1826
|
if (0 === encoding.x.length) encoding.x = [
|
1818
1827
|
dimensions[0].id
|
1819
1828
|
];
|
1820
|
-
|
1821
|
-
if (0 === encoding.color.length) encoding.color = [
|
1822
|
-
MeasureName
|
1823
|
-
];
|
1829
|
+
addColorToEncoding(dimensions, encoding, isMultiMeasure);
|
1824
1830
|
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
1825
1831
|
if (0 === encoding.detail.length) encoding.detail = [
|
1826
1832
|
MeasureName
|
@@ -2682,7 +2688,8 @@
|
|
2682
2688
|
];
|
2683
2689
|
return result;
|
2684
2690
|
}
|
2685
|
-
const { visible = true, label, tick, title, grid, line, zero, nice, inverse, max, min, log, logBase = 10 } = config;
|
2691
|
+
const { visible = true, label, tick, title, grid, line, zero, nice, inverse, max, min, log, logBase = 10, autoFormat = true, numFormat = {} } = config;
|
2692
|
+
const formatter = createNumFormatter(numFormat);
|
2686
2693
|
const linearAxis = {
|
2687
2694
|
visible,
|
2688
2695
|
type: log ? 'log' : 'linear',
|
@@ -2695,7 +2702,11 @@
|
|
2695
2702
|
min,
|
2696
2703
|
label: {
|
2697
2704
|
visible: label?.visible,
|
2698
|
-
formatMethod: (value)=>
|
2705
|
+
formatMethod: (value)=>{
|
2706
|
+
if (!chunk_VCYTMP4D_n(numFormat)) return formatter(value);
|
2707
|
+
if (autoFormat) return autoFormatter(value, locale);
|
2708
|
+
return value;
|
2709
|
+
},
|
2699
2710
|
style: {
|
2700
2711
|
fill: label?.labelColor,
|
2701
2712
|
angle: label?.labelAngle,
|
@@ -2798,7 +2809,7 @@
|
|
2798
2809
|
const baseConfig = advancedVSeed.config[chartType];
|
2799
2810
|
if (!baseConfig || !baseConfig.legend) return result;
|
2800
2811
|
const { legend } = baseConfig;
|
2801
|
-
const { enable, position = 'bottom', labelFontColor, labelFontSize = 12, labelFontWeight, maxSize = 1, border, shapeType = 'rectRound' } = legend || {};
|
2812
|
+
const { enable, position = 'bottom', labelFontColor, labelColor, labelFontSize = 12, labelFontWeight, maxSize = 1, border, shapeType = 'rectRound' } = legend || {};
|
2802
2813
|
const orient = [
|
2803
2814
|
'bottom',
|
2804
2815
|
'bottomLeft',
|
@@ -2858,7 +2869,7 @@
|
|
2858
2869
|
maxWidth: '30%',
|
2859
2870
|
focusIconStyle: {
|
2860
2871
|
size: labelFontSize + 2,
|
2861
|
-
fill: labelFontColor,
|
2872
|
+
fill: labelColor || labelFontColor,
|
2862
2873
|
fontWeight: labelFontWeight
|
2863
2874
|
},
|
2864
2875
|
shape: {
|
@@ -2872,14 +2883,14 @@
|
|
2872
2883
|
formatMethod: (value)=>unfoldInfo.colorIdMap[String(value)] ?? value,
|
2873
2884
|
style: {
|
2874
2885
|
fontSize: labelFontSize,
|
2875
|
-
fill: labelFontColor,
|
2886
|
+
fill: labelColor || labelFontColor,
|
2876
2887
|
fontWeight: labelFontWeight
|
2877
2888
|
}
|
2878
2889
|
},
|
2879
2890
|
background: {
|
2880
2891
|
state: {
|
2881
2892
|
selectedHover: {
|
2882
|
-
fill: labelFontColor,
|
2893
|
+
fill: labelColor || labelFontColor,
|
2883
2894
|
fillOpacity: 0.05
|
2884
2895
|
}
|
2885
2896
|
}
|
@@ -2899,7 +2910,7 @@
|
|
2899
2910
|
const baseConfig = advancedVSeed.config[chartType];
|
2900
2911
|
if (!baseConfig || !baseConfig.legend) return result;
|
2901
2912
|
const { legend } = baseConfig;
|
2902
|
-
const { enable, position = 'bottom', labelFontColor, labelFontSize = 12, labelFontWeight } = legend || {};
|
2913
|
+
const { enable, position = 'bottom', labelFontColor, labelColor, labelFontSize = 12, labelFontWeight } = legend || {};
|
2903
2914
|
const orient = [
|
2904
2915
|
'bottom',
|
2905
2916
|
'bottomLeft',
|
@@ -2949,7 +2960,7 @@
|
|
2949
2960
|
startText: {
|
2950
2961
|
visible: true,
|
2951
2962
|
style: {
|
2952
|
-
fill: labelFontColor,
|
2963
|
+
fill: labelColor || labelFontColor,
|
2953
2964
|
fontSize: labelFontSize,
|
2954
2965
|
fontWeight: labelFontWeight
|
2955
2966
|
}
|
@@ -2957,7 +2968,7 @@
|
|
2957
2968
|
endText: {
|
2958
2969
|
visible: true,
|
2959
2970
|
style: {
|
2960
|
-
fill: labelFontColor,
|
2971
|
+
fill: labelColor || labelFontColor,
|
2961
2972
|
fontSize: labelFontSize,
|
2962
2973
|
fontWeight: labelFontWeight
|
2963
2974
|
}
|
@@ -3273,61 +3284,83 @@
|
|
3273
3284
|
...spec
|
3274
3285
|
};
|
3275
3286
|
const { advancedVSeed, vseed } = context;
|
3276
|
-
const {
|
3287
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
3277
3288
|
const { chartType, encoding } = advancedVSeed;
|
3278
3289
|
const baseConfig = advancedVSeed.config[chartType];
|
3279
|
-
|
3280
|
-
|
3290
|
+
const foldInfo = datasetReshapeInfo[0].foldInfo;
|
3291
|
+
if (!baseConfig || chunk_VCYTMP4D_n(baseConfig.label)) return result;
|
3281
3292
|
const { label } = baseConfig;
|
3282
|
-
|
3283
|
-
|
3284
|
-
|
3285
|
-
|
3286
|
-
|
3293
|
+
result.label = buildLabel(label, vseed.measures, vseed.dimensions, advancedVSeed.measures, encoding, [
|
3294
|
+
foldInfo
|
3295
|
+
]);
|
3296
|
+
return result;
|
3297
|
+
};
|
3298
|
+
const generateMeasureValue = (value, measure, labelAutoFormat = true, numFormat = {})=>{
|
3299
|
+
if (!measure) return value;
|
3300
|
+
const format = chunk_5S4PYKVY_t(numFormat, measure.numFormat || measure.format);
|
3301
|
+
const mergedMeasure = {
|
3302
|
+
...measure,
|
3303
|
+
numFormat: format,
|
3304
|
+
autoFormat: labelAutoFormat || measure.autoFormat
|
3287
3305
|
};
|
3288
|
-
const formatter =
|
3289
|
-
|
3306
|
+
const formatter = createFormatterByMeasure(mergedMeasure);
|
3307
|
+
return formatter(value);
|
3308
|
+
};
|
3309
|
+
const generateMeasurePercent = (value, sum, formatter)=>{
|
3310
|
+
if (null == value) return String(value);
|
3311
|
+
const num = Number(value);
|
3312
|
+
if (Number.isNaN(num)) return String(value);
|
3313
|
+
const percentValue = num / sum;
|
3314
|
+
return formatter(percentValue);
|
3315
|
+
};
|
3316
|
+
const buildLabel = (label, vseedMeasures = [], vseedDimensions = [], advancedVSeedMeasures, encoding, foldInfoList)=>{
|
3317
|
+
const { enable, wrap, showValue, showValuePercent, labelOverlap, labelColorSmartInvert, labelColor, labelFontSize, labelFontWeight, labelBackgroundColor, labelPosition, autoFormat = true, numFormat = {} } = label;
|
3318
|
+
const labelDims = T((vseedDimensions || []).filter((item)=>encoding.label?.includes(item.id)), (item)=>item.id);
|
3319
|
+
const labelMeas = T((vseedMeasures || []).filter((item)=>encoding.label?.includes(item.id)), (item)=>item.id);
|
3320
|
+
const percentFormat = chunk_5S4PYKVY_t(numFormat, {
|
3321
|
+
type: 'percent'
|
3322
|
+
});
|
3323
|
+
const percentFormatter = createFormatter(percentFormat);
|
3324
|
+
const result = {
|
3290
3325
|
visible: enable,
|
3291
3326
|
formatMethod: (_, datum)=>{
|
3292
3327
|
const result = [];
|
3293
|
-
const measure = findMeasureById(measures, datum[measureId]);
|
3294
3328
|
const dimLabels = labelDims.map((item)=>item.alias || item.id);
|
3295
|
-
const meaLabels = labelMeas.map((item)=>generateMeasureValue(datum[item.id], item));
|
3296
|
-
const measureValueLabel = generateMeasureValue(datum[measureValue], measure);
|
3297
|
-
const measurePercentLabel = generateMeasurePercent(datum[measureValue], statistics.sum, formatter);
|
3329
|
+
const meaLabels = labelMeas.map((item)=>generateMeasureValue(datum[item.id], item, autoFormat, numFormat));
|
3298
3330
|
result.push(...dimLabels);
|
3299
|
-
|
3300
|
-
|
3331
|
+
foldInfoList.forEach((foldInfo)=>{
|
3332
|
+
const { measureId, measureValue, statistics } = foldInfo;
|
3333
|
+
const measure = findMeasureById(advancedVSeedMeasures, datum[measureId]);
|
3334
|
+
const measureValueLabel = generateMeasureValue(datum[measureValue], measure, autoFormat, numFormat);
|
3335
|
+
const measurePercentLabel = generateMeasurePercent(datum[measureValue], statistics.sum, percentFormatter);
|
3336
|
+
if (showValue) result.push(measureValueLabel);
|
3337
|
+
if (showValuePercent) result.push(measurePercentLabel);
|
3338
|
+
});
|
3301
3339
|
result.push(...meaLabels);
|
3302
3340
|
if (wrap) return result;
|
3303
3341
|
return result.join(' ');
|
3304
|
-
}
|
3342
|
+
},
|
3343
|
+
position: labelPosition,
|
3344
|
+
style: {
|
3345
|
+
fill: labelColor,
|
3346
|
+
fontSize: labelFontSize,
|
3347
|
+
fontWeight: labelFontWeight,
|
3348
|
+
background: labelBackgroundColor
|
3349
|
+
},
|
3350
|
+
smartInvert: labelColorSmartInvert
|
3351
|
+
};
|
3352
|
+
if (labelOverlap) result.overlap = {
|
3353
|
+
hideOnHit: true,
|
3354
|
+
clampForce: true
|
3305
3355
|
};
|
3306
3356
|
return result;
|
3307
3357
|
};
|
3308
|
-
const generateMeasureValue = (value, measure)=>{
|
3309
|
-
if (!measure) return value;
|
3310
|
-
const { format = {}, autoFormat = true } = measure;
|
3311
|
-
if (!chunk_VCYTMP4D_n(format)) {
|
3312
|
-
const formatter = createFormatter(format);
|
3313
|
-
return formatter(value);
|
3314
|
-
}
|
3315
|
-
if (autoFormat) return autoFormatter(value, intl.getLocale());
|
3316
|
-
return String(value);
|
3317
|
-
};
|
3318
|
-
const generateMeasurePercent = (value, sum, formatter)=>{
|
3319
|
-
if (null == value) return String(value);
|
3320
|
-
const num = Number(value);
|
3321
|
-
if (Number.isNaN(num)) return String(value);
|
3322
|
-
const percentValue = num / sum;
|
3323
|
-
return formatter(percentValue);
|
3324
|
-
};
|
3325
3358
|
const tooltip_tooltip = (spec, context)=>{
|
3326
3359
|
const result = {
|
3327
3360
|
...spec
|
3328
3361
|
};
|
3329
3362
|
const { advancedVSeed, vseed } = context;
|
3330
|
-
const { measures, datasetReshapeInfo, chartType,
|
3363
|
+
const { measures, datasetReshapeInfo, chartType, dimensions, encoding } = advancedVSeed;
|
3331
3364
|
const baseConfig = advancedVSeed.config[chartType];
|
3332
3365
|
const { tooltip = {
|
3333
3366
|
enable: true
|
@@ -3340,18 +3373,18 @@
|
|
3340
3373
|
title: {
|
3341
3374
|
visible: false
|
3342
3375
|
},
|
3343
|
-
content: createMarkContent(encoding.tooltip || [], dimensions, findAllMeasures(vseed.measures),
|
3376
|
+
content: createMarkContent(encoding.tooltip || [], dimensions, findAllMeasures(vseed.measures), foldInfo, unfoldInfo)
|
3344
3377
|
},
|
3345
3378
|
dimension: {
|
3346
3379
|
title: {
|
3347
3380
|
visible: true
|
3348
3381
|
},
|
3349
|
-
content: createDimensionContent(measures, foldInfo, unfoldInfo
|
3382
|
+
content: createDimensionContent(measures, foldInfo, unfoldInfo)
|
3350
3383
|
}
|
3351
3384
|
};
|
3352
3385
|
return result;
|
3353
3386
|
};
|
3354
|
-
const createDimensionContent = (measures, foldInfo, unfoldInfo
|
3387
|
+
const createDimensionContent = (measures, foldInfo, unfoldInfo)=>{
|
3355
3388
|
const { measureId, measureValue } = foldInfo;
|
3356
3389
|
const { encodingColor } = unfoldInfo;
|
3357
3390
|
return [
|
@@ -3369,19 +3402,13 @@
|
|
3369
3402
|
const value = datum[measureValue];
|
3370
3403
|
const id = datum[measureId];
|
3371
3404
|
const measure = findMeasureById(measures, id);
|
3372
|
-
|
3373
|
-
|
3374
|
-
if (!chunk_VCYTMP4D_n(format)) {
|
3375
|
-
const formatter = createFormatter(format);
|
3376
|
-
return formatter(value);
|
3377
|
-
}
|
3378
|
-
if (autoFormat) return autoFormatter(value, locale);
|
3379
|
-
return String(value);
|
3405
|
+
const formatter = createFormatterByMeasure(measure);
|
3406
|
+
return formatter(value);
|
3380
3407
|
}
|
3381
3408
|
}
|
3382
3409
|
];
|
3383
3410
|
};
|
3384
|
-
const createMarkContent = (tooltip, dimensions, measures,
|
3411
|
+
const createMarkContent = (tooltip, dimensions, measures, foldInfo, unfoldInfo)=>{
|
3385
3412
|
const dims = C(dimensions.filter((item)=>tooltip.includes(item.id)), T((item)=>item.id), T((item)=>item.alias));
|
3386
3413
|
const meas = C(measures.filter((item)=>tooltip.includes(item.id)), T((item)=>item.id), T((item)=>item.alias));
|
3387
3414
|
const dimContent = dims.map((item)=>({
|
@@ -3411,14 +3438,8 @@
|
|
3411
3438
|
const originalData = datum[ORIGINAL_DATA];
|
3412
3439
|
const value = originalData[id];
|
3413
3440
|
const measure = findMeasureById(measures, id);
|
3414
|
-
|
3415
|
-
|
3416
|
-
if (!chunk_VCYTMP4D_n(format)) {
|
3417
|
-
const formatter = createFormatter(format);
|
3418
|
-
return formatter(value);
|
3419
|
-
}
|
3420
|
-
if (autoFormat) return autoFormatter(value, locale);
|
3421
|
-
return String(value);
|
3441
|
+
const formatter = createFormatterByMeasure(measure);
|
3442
|
+
return formatter(value);
|
3422
3443
|
}
|
3423
3444
|
}));
|
3424
3445
|
const defaultContent = {
|
@@ -3439,13 +3460,8 @@
|
|
3439
3460
|
const id = datum[measureId];
|
3440
3461
|
const measure = findMeasureById(measures, id);
|
3441
3462
|
if (!measure) return String(value);
|
3442
|
-
const
|
3443
|
-
|
3444
|
-
const formatter = createFormatter(format);
|
3445
|
-
return formatter(value);
|
3446
|
-
}
|
3447
|
-
if (autoFormat) return autoFormatter(value, locale);
|
3448
|
-
return String(value);
|
3463
|
+
const formatter = createFormatterByMeasure(measure);
|
3464
|
+
return formatter(value);
|
3449
3465
|
}
|
3450
3466
|
};
|
3451
3467
|
return [
|
@@ -4117,7 +4133,7 @@
|
|
4117
4133
|
const { legend, color } = baseConfig;
|
4118
4134
|
const { colorScheme, colorMapping } = color;
|
4119
4135
|
const colorSpecified = createSpecifiedForColorMapping(colorMapping, colorIdMap, colorItems);
|
4120
|
-
const { enable, position = 'bottom', labelFontColor, labelFontSize = 12, labelFontWeight = 400, maxSize = 1, border, shapeType = 'rectRound' } = legend || {};
|
4136
|
+
const { enable, position = 'bottom', labelFontColor, labelColor, labelFontSize = 12, labelFontWeight = 400, maxSize = 1, border, shapeType = 'rectRound' } = legend || {};
|
4121
4137
|
const orient = [
|
4122
4138
|
'bottom',
|
4123
4139
|
'bottomLeft',
|
@@ -4182,7 +4198,7 @@
|
|
4182
4198
|
maxWidth: '30%',
|
4183
4199
|
focusIconStyle: {
|
4184
4200
|
size: labelFontSize + 2,
|
4185
|
-
fill: labelFontColor,
|
4201
|
+
fill: labelColor || labelFontColor,
|
4186
4202
|
fontWeight: labelFontWeight
|
4187
4203
|
},
|
4188
4204
|
shape: {
|
@@ -4196,14 +4212,14 @@
|
|
4196
4212
|
formatMethod: (value)=>colorIdMap[value] ?? value,
|
4197
4213
|
style: {
|
4198
4214
|
fontSize: labelFontSize,
|
4199
|
-
fill: labelFontColor,
|
4215
|
+
fill: labelColor || labelFontColor,
|
4200
4216
|
fontWeight: labelFontWeight
|
4201
4217
|
}
|
4202
4218
|
},
|
4203
4219
|
background: {
|
4204
4220
|
state: {
|
4205
4221
|
selectedHover: {
|
4206
|
-
fill: labelFontColor,
|
4222
|
+
fill: labelColor || labelFontColor,
|
4207
4223
|
fillOpacity: 0.05
|
4208
4224
|
}
|
4209
4225
|
}
|
@@ -4228,7 +4244,7 @@
|
|
4228
4244
|
const min = Math.min(...datasetReshapeInfo.map((d)=>d.foldInfo.statistics.colorMax));
|
4229
4245
|
const { legend, color } = baseConfig;
|
4230
4246
|
const { colorScheme, linearColorScheme } = color;
|
4231
|
-
const { enable, position = 'bottom', labelFontColor, labelFontSize = 12, labelFontWeight = 400 } = legend || {};
|
4247
|
+
const { enable, position = 'bottom', labelFontColor, labelColor, labelFontSize = 12, labelFontWeight = 400 } = legend || {};
|
4232
4248
|
const orient = [
|
4233
4249
|
'bottom',
|
4234
4250
|
'bottomLeft',
|
@@ -4283,7 +4299,7 @@
|
|
4283
4299
|
startText: {
|
4284
4300
|
visible: true,
|
4285
4301
|
style: {
|
4286
|
-
fill: labelFontColor,
|
4302
|
+
fill: labelColor || labelFontColor,
|
4287
4303
|
fontSize: labelFontSize,
|
4288
4304
|
fontWeight: labelFontWeight
|
4289
4305
|
}
|
@@ -4291,7 +4307,7 @@
|
|
4291
4307
|
endText: {
|
4292
4308
|
visible: true,
|
4293
4309
|
style: {
|
4294
|
-
fill: labelFontColor,
|
4310
|
+
fill: labelColor || labelFontColor,
|
4295
4311
|
fontSize: labelFontSize,
|
4296
4312
|
fontWeight: labelFontWeight
|
4297
4313
|
}
|
@@ -4380,7 +4396,7 @@
|
|
4380
4396
|
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
4381
4397
|
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
4382
4398
|
const encoding = {};
|
4383
|
-
if (hasDimensionEncoding) column_generateDimensionEncoding(dimensions, encoding);
|
4399
|
+
if (hasDimensionEncoding) column_generateDimensionEncoding(dimensions, encoding, measures.length > 1);
|
4384
4400
|
else column_generateDefaultDimensionEncoding(dimensions, encoding);
|
4385
4401
|
if (hasMeasureEncoding) column_generateMeasureEncoding(measures, encoding);
|
4386
4402
|
else column_generateDefaultMeasureEncoding(measures, encoding);
|
@@ -4400,15 +4416,12 @@
|
|
4400
4416
|
encoding.row = [];
|
4401
4417
|
encoding.column = [];
|
4402
4418
|
};
|
4403
|
-
const column_generateDimensionEncoding = (dimensions, encoding)=>{
|
4419
|
+
const column_generateDimensionEncoding = (dimensions, encoding, isMultiMeasure)=>{
|
4404
4420
|
encoding.x = chunk_QJLMYOTX_i(dimensions.filter((item)=>'xAxis' === item.encoding).map((item)=>item.id));
|
4405
4421
|
if (0 === encoding.x.length) encoding.x = [
|
4406
4422
|
dimensions[0].id
|
4407
4423
|
];
|
4408
|
-
|
4409
|
-
if (0 === encoding.color.length) encoding.color = [
|
4410
|
-
MeasureName
|
4411
|
-
];
|
4424
|
+
addColorToEncoding(dimensions, encoding, isMultiMeasure);
|
4412
4425
|
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
4413
4426
|
if (0 === encoding.detail.length) encoding.detail = encoding.color;
|
4414
4427
|
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
@@ -5019,7 +5032,7 @@
|
|
5019
5032
|
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
5020
5033
|
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
5021
5034
|
const encoding = {};
|
5022
|
-
if (hasDimensionEncoding) bar_generateDimensionEncoding(dimensions, encoding);
|
5035
|
+
if (hasDimensionEncoding) bar_generateDimensionEncoding(dimensions, encoding, measures.length > 1);
|
5023
5036
|
else bar_generateDefaultDimensionEncoding(dimensions, encoding);
|
5024
5037
|
if (hasMeasureEncoding) bar_generateMeasureEncoding(measures, encoding);
|
5025
5038
|
else bar_generateDefaultMeasureEncoding(measures, encoding);
|
@@ -5039,15 +5052,12 @@
|
|
5039
5052
|
encoding.row = [];
|
5040
5053
|
encoding.column = [];
|
5041
5054
|
};
|
5042
|
-
const bar_generateDimensionEncoding = (dimensions, encoding)=>{
|
5055
|
+
const bar_generateDimensionEncoding = (dimensions, encoding, isMultiMeasure)=>{
|
5043
5056
|
encoding.y = chunk_QJLMYOTX_i(dimensions.filter((item)=>'yAxis' === item.encoding).map((item)=>item.id));
|
5044
5057
|
if (0 === encoding.y.length) encoding.y = [
|
5045
5058
|
dimensions[0].id
|
5046
5059
|
];
|
5047
|
-
|
5048
|
-
if (0 === encoding.color.length) encoding.color = [
|
5049
|
-
MeasureName
|
5050
|
-
];
|
5060
|
+
addColorToEncoding(dimensions, encoding, isMultiMeasure);
|
5051
5061
|
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
5052
5062
|
if (0 === encoding.detail.length) encoding.detail = encoding.color;
|
5053
5063
|
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
@@ -5201,7 +5211,8 @@
|
|
5201
5211
|
];
|
5202
5212
|
return result;
|
5203
5213
|
}
|
5204
|
-
const { visible = true, label, tick, title, grid, line, zero, nice, inverse, max, min, log, logBase = 10 } = config;
|
5214
|
+
const { visible = true, label, tick, title, grid, line, zero, nice, inverse, max, min, log, logBase = 10, autoFormat = true, numFormat = {} } = config;
|
5215
|
+
const formatter = createNumFormatter(numFormat, locale);
|
5205
5216
|
const linearAxis = {
|
5206
5217
|
visible,
|
5207
5218
|
type: log ? 'log' : 'linear',
|
@@ -5214,7 +5225,11 @@
|
|
5214
5225
|
min,
|
5215
5226
|
label: {
|
5216
5227
|
visible: label?.visible,
|
5217
|
-
formatMethod: (value)=>
|
5228
|
+
formatMethod: (value)=>{
|
5229
|
+
if (!chunk_VCYTMP4D_n(numFormat)) return formatter(value);
|
5230
|
+
if (autoFormat) return autoFormatter(value, locale);
|
5231
|
+
return value;
|
5232
|
+
},
|
5218
5233
|
style: {
|
5219
5234
|
fill: label?.labelColor,
|
5220
5235
|
angle: label?.labelAngle,
|
@@ -5928,10 +5943,7 @@
|
|
5928
5943
|
encoding.column = [];
|
5929
5944
|
};
|
5930
5945
|
const scatter_generateDimensionEncoding = (dimensions, encoding)=>{
|
5931
|
-
|
5932
|
-
if (0 === encoding.color.length) encoding.color = [
|
5933
|
-
MeasureName
|
5934
|
-
];
|
5946
|
+
addColorToEncoding(dimensions, encoding, false);
|
5935
5947
|
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
5936
5948
|
if (0 === encoding.detail.length) encoding.detail = [
|
5937
5949
|
MeasureName
|
@@ -6248,6 +6260,20 @@
|
|
6248
6260
|
}
|
6249
6261
|
};
|
6250
6262
|
};
|
6263
|
+
const labelScatter = (spec, context)=>{
|
6264
|
+
const result = {
|
6265
|
+
...spec
|
6266
|
+
};
|
6267
|
+
const { advancedVSeed, vseed } = context;
|
6268
|
+
const { datasetReshapeInfo } = advancedVSeed;
|
6269
|
+
const { chartType, encoding } = advancedVSeed;
|
6270
|
+
const baseConfig = advancedVSeed.config[chartType];
|
6271
|
+
if (!baseConfig || chunk_VCYTMP4D_n(baseConfig.label)) return result;
|
6272
|
+
const foldInfoList = datasetReshapeInfo[0].foldInfoList;
|
6273
|
+
const { label } = baseConfig;
|
6274
|
+
result.label = buildLabel(label, vseed.measures, vseed.dimensions, advancedVSeed.measures, encoding, foldInfoList);
|
6275
|
+
return result;
|
6276
|
+
};
|
6251
6277
|
const tooltipScatter = (spec, context)=>{
|
6252
6278
|
const result = {
|
6253
6279
|
...spec
|
@@ -6304,14 +6330,8 @@
|
|
6304
6330
|
const originalData = datum[ORIGINAL_DATA];
|
6305
6331
|
const value = originalData[id];
|
6306
6332
|
const measure = findMeasureById(measures, id);
|
6307
|
-
|
6308
|
-
|
6309
|
-
if (!chunk_VCYTMP4D_n(format)) {
|
6310
|
-
const formatter = createFormatter(format);
|
6311
|
-
return formatter(value);
|
6312
|
-
}
|
6313
|
-
if (autoFormat) return autoFormatter(value, locale);
|
6314
|
-
return String(value);
|
6333
|
+
const formatter = createFormatterByMeasure(measure);
|
6334
|
+
return formatter(value);
|
6315
6335
|
}
|
6316
6336
|
}));
|
6317
6337
|
const foldMeaContent = foldInfoList.map((foldInfo)=>({
|
@@ -6331,14 +6351,8 @@
|
|
6331
6351
|
const value = datum[measureValue];
|
6332
6352
|
const id = datum[measureId];
|
6333
6353
|
const measure = findMeasureById(measures, id);
|
6334
|
-
|
6335
|
-
|
6336
|
-
if (!chunk_VCYTMP4D_n(format)) {
|
6337
|
-
const formatter = createFormatter(format);
|
6338
|
-
return formatter(value);
|
6339
|
-
}
|
6340
|
-
if (autoFormat) return autoFormatter(value, locale);
|
6341
|
-
return String(value);
|
6354
|
+
const formatter = createFormatterByMeasure(measure);
|
6355
|
+
return formatter(value);
|
6342
6356
|
}
|
6343
6357
|
}));
|
6344
6358
|
return [
|
@@ -6399,7 +6413,7 @@
|
|
6399
6413
|
progressive,
|
6400
6414
|
xLinear,
|
6401
6415
|
yLinear,
|
6402
|
-
|
6416
|
+
labelScatter,
|
6403
6417
|
tooltipScatter,
|
6404
6418
|
colorAdapter(discreteLegend, colorLegend),
|
6405
6419
|
verticalCrosshairLine,
|
@@ -6424,7 +6438,7 @@
|
|
6424
6438
|
progressive,
|
6425
6439
|
xLinear,
|
6426
6440
|
yLinear,
|
6427
|
-
|
6441
|
+
labelScatter,
|
6428
6442
|
tooltipScatter,
|
6429
6443
|
verticalCrosshairLine,
|
6430
6444
|
horizontalCrosshairLine,
|
@@ -6463,7 +6477,7 @@
|
|
6463
6477
|
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
6464
6478
|
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
6465
6479
|
const encoding = {};
|
6466
|
-
if (hasDimensionEncoding) dualAxis_generateDimensionEncoding(dimensions, encoding);
|
6480
|
+
if (hasDimensionEncoding) dualAxis_generateDimensionEncoding(dimensions, encoding, measures.length > 1);
|
6467
6481
|
else dualAxis_generateDefaultDimensionEncoding(dimensions, encoding);
|
6468
6482
|
if (hasMeasureEncoding) dualAxis_generateMeasureEncoding(measures, encoding);
|
6469
6483
|
else dualAxis_generateDefaultMeasureEncoding(measures, encoding);
|
@@ -6483,15 +6497,12 @@
|
|
6483
6497
|
encoding.row = [];
|
6484
6498
|
encoding.column = [];
|
6485
6499
|
};
|
6486
|
-
const dualAxis_generateDimensionEncoding = (dimensions, encoding)=>{
|
6500
|
+
const dualAxis_generateDimensionEncoding = (dimensions, encoding, isMultiMeasure)=>{
|
6487
6501
|
encoding.x = chunk_QJLMYOTX_i(dimensions.filter((item)=>'xAxis' === item.encoding).map((item)=>item.id));
|
6488
6502
|
if (0 === encoding.x.length) encoding.x = [
|
6489
6503
|
dimensions[0].id
|
6490
6504
|
];
|
6491
|
-
|
6492
|
-
if (0 === encoding.color.length) encoding.color = [
|
6493
|
-
MeasureName
|
6494
|
-
];
|
6505
|
+
addColorToEncoding(dimensions, encoding, isMultiMeasure);
|
6495
6506
|
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
6496
6507
|
if (0 === encoding.detail.length) encoding.detail = encoding.color;
|
6497
6508
|
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
@@ -6813,6 +6824,7 @@
|
|
6813
6824
|
const result = {
|
6814
6825
|
type: 'common',
|
6815
6826
|
padding: 0,
|
6827
|
+
labelLayout: 'region',
|
6816
6828
|
region: [
|
6817
6829
|
{
|
6818
6830
|
clip: true
|
@@ -7068,71 +7080,33 @@
|
|
7068
7080
|
const result = {
|
7069
7081
|
...spec
|
7070
7082
|
};
|
7071
|
-
const { advancedVSeed } = context;
|
7072
|
-
const {
|
7083
|
+
const { advancedVSeed, vseed } = context;
|
7084
|
+
const { datasetReshapeInfo, encoding } = advancedVSeed;
|
7073
7085
|
const { chartType } = advancedVSeed;
|
7074
7086
|
const baseConfig = advancedVSeed.config[chartType];
|
7075
7087
|
if (!baseConfig || !baseConfig.label) return result;
|
7076
7088
|
const foldInfoList = datasetReshapeInfo[0].foldInfoList;
|
7077
|
-
|
7078
|
-
|
7079
|
-
|
7080
|
-
result.label =
|
7081
|
-
visible: enable,
|
7082
|
-
formatMethod: (value, datum)=>{
|
7083
|
-
const result = [];
|
7084
|
-
const formatValue = (value)=>{
|
7085
|
-
const id = datum[measureId];
|
7086
|
-
const measure = findMeasureById(measures, id);
|
7087
|
-
if (!measure) return value;
|
7088
|
-
const { format = {}, autoFormat = true } = measure;
|
7089
|
-
if (!chunk_VCYTMP4D_n(format)) {
|
7090
|
-
const formatter = createFormatter(format);
|
7091
|
-
return formatter(value);
|
7092
|
-
}
|
7093
|
-
if (autoFormat) return autoFormatter(value, locale);
|
7094
|
-
return String(value);
|
7095
|
-
};
|
7096
|
-
result.push(formatValue(datum[measureValue]));
|
7097
|
-
return result.join(' ');
|
7098
|
-
}
|
7099
|
-
};
|
7089
|
+
result.label = buildLabel(baseConfig.label, vseed.measures, vseed.dimensions, advancedVSeed.measures, encoding, [
|
7090
|
+
foldInfoList[0]
|
7091
|
+
]);
|
7092
|
+
result.label.zIndex = 1002;
|
7100
7093
|
return result;
|
7101
7094
|
};
|
7102
7095
|
const labelSecondary = (spec, context)=>{
|
7103
7096
|
const result = {
|
7104
7097
|
...spec
|
7105
7098
|
};
|
7106
|
-
const { advancedVSeed } = context;
|
7107
|
-
const {
|
7099
|
+
const { advancedVSeed, vseed } = context;
|
7100
|
+
const { datasetReshapeInfo, encoding } = advancedVSeed;
|
7108
7101
|
const { chartType } = advancedVSeed;
|
7109
7102
|
const baseConfig = advancedVSeed.config[chartType];
|
7110
7103
|
if (!baseConfig || !baseConfig.label) return result;
|
7111
7104
|
if (chunk_JK3VNB42_n(datasetReshapeInfo[0].foldInfoList?.[1])) return result;
|
7112
7105
|
const foldInfoList = datasetReshapeInfo[0].foldInfoList;
|
7113
|
-
|
7114
|
-
|
7115
|
-
|
7116
|
-
result.label =
|
7117
|
-
visible: enable,
|
7118
|
-
formatMethod: (value, datum)=>{
|
7119
|
-
const result = [];
|
7120
|
-
const formatValue = (value)=>{
|
7121
|
-
const id = datum[measureId];
|
7122
|
-
const measure = findMeasureById(measures, id);
|
7123
|
-
if (!measure) return value;
|
7124
|
-
const { format = {}, autoFormat = true } = measure;
|
7125
|
-
if (!chunk_VCYTMP4D_n(format)) {
|
7126
|
-
const formatter = createFormatter(format);
|
7127
|
-
return formatter(value);
|
7128
|
-
}
|
7129
|
-
if (autoFormat) return autoFormatter(value, locale);
|
7130
|
-
return String(value);
|
7131
|
-
};
|
7132
|
-
result.push(formatValue(datum[measureValue]));
|
7133
|
-
return result.join(' ');
|
7134
|
-
}
|
7135
|
-
};
|
7106
|
+
result.label = buildLabel(baseConfig.label, vseed.measures, vseed.dimensions, advancedVSeed.measures, encoding, [
|
7107
|
+
foldInfoList[1]
|
7108
|
+
]);
|
7109
|
+
result.label.zIndex = 1002;
|
7136
7110
|
return result;
|
7137
7111
|
};
|
7138
7112
|
const tooltipPrimary = (spec, context)=>{
|
@@ -7140,7 +7114,7 @@
|
|
7140
7114
|
...spec
|
7141
7115
|
};
|
7142
7116
|
const { advancedVSeed, vseed } = context;
|
7143
|
-
const { measures, datasetReshapeInfo, chartType,
|
7117
|
+
const { measures, datasetReshapeInfo, chartType, dimensions, encoding } = advancedVSeed;
|
7144
7118
|
const baseConfig = advancedVSeed.config[chartType];
|
7145
7119
|
const { tooltip = {
|
7146
7120
|
enable: true
|
@@ -7154,13 +7128,13 @@
|
|
7154
7128
|
title: {
|
7155
7129
|
visible: false
|
7156
7130
|
},
|
7157
|
-
content: createMarkContent(encoding.tooltip || [], dimensions, findAllMeasures(vseed.measures),
|
7131
|
+
content: createMarkContent(encoding.tooltip || [], dimensions, findAllMeasures(vseed.measures), foldInfoList[0], unfoldInfo)
|
7158
7132
|
},
|
7159
7133
|
dimension: {
|
7160
7134
|
title: {
|
7161
7135
|
visible: true
|
7162
7136
|
},
|
7163
|
-
content: createDimensionContent(measures, foldInfoList[0], unfoldInfo
|
7137
|
+
content: createDimensionContent(measures, foldInfoList[0], unfoldInfo)
|
7164
7138
|
}
|
7165
7139
|
};
|
7166
7140
|
return result;
|
@@ -7170,7 +7144,7 @@
|
|
7170
7144
|
...spec
|
7171
7145
|
};
|
7172
7146
|
const { advancedVSeed, vseed } = context;
|
7173
|
-
const { measures, datasetReshapeInfo, chartType,
|
7147
|
+
const { measures, datasetReshapeInfo, chartType, dimensions, encoding } = advancedVSeed;
|
7174
7148
|
const baseConfig = advancedVSeed.config[chartType];
|
7175
7149
|
const { tooltip = {
|
7176
7150
|
enable: true
|
@@ -7185,13 +7159,13 @@
|
|
7185
7159
|
title: {
|
7186
7160
|
visible: false
|
7187
7161
|
},
|
7188
|
-
content: createMarkContent(encoding.tooltip || [], dimensions, findAllMeasures(vseed.measures),
|
7162
|
+
content: createMarkContent(encoding.tooltip || [], dimensions, findAllMeasures(vseed.measures), foldInfoList[1], unfoldInfo)
|
7189
7163
|
},
|
7190
7164
|
dimension: {
|
7191
7165
|
title: {
|
7192
7166
|
visible: true
|
7193
7167
|
},
|
7194
|
-
content: createDimensionContent(measures, foldInfoList[1], unfoldInfo
|
7168
|
+
content: createDimensionContent(measures, foldInfoList[1], unfoldInfo)
|
7195
7169
|
}
|
7196
7170
|
};
|
7197
7171
|
return result;
|
@@ -7230,7 +7204,8 @@
|
|
7230
7204
|
];
|
7231
7205
|
return result;
|
7232
7206
|
}
|
7233
|
-
const { visible = true, label, tick, title, grid, line, zero, nice, inverse, max, min, log, logBase = 10 } = yAxisConfig;
|
7207
|
+
const { visible = true, label, tick, title, grid, line, zero, nice, inverse, max, min, log, logBase = 10, autoFormat = true, numFormat = {} } = yAxisConfig;
|
7208
|
+
const formatter = createNumFormatter(numFormat, locale);
|
7234
7209
|
const linearAxis = {
|
7235
7210
|
visible: isEmptySecondary ? false : visible,
|
7236
7211
|
id,
|
@@ -7245,7 +7220,11 @@
|
|
7245
7220
|
min,
|
7246
7221
|
label: {
|
7247
7222
|
visible: label?.visible,
|
7248
|
-
formatMethod: (value)=>
|
7223
|
+
formatMethod: (value)=>{
|
7224
|
+
if (!chunk_VCYTMP4D_n(numFormat)) return formatter(value);
|
7225
|
+
if (autoFormat) return autoFormatter(value, locale);
|
7226
|
+
return value;
|
7227
|
+
},
|
7249
7228
|
style: {
|
7250
7229
|
fill: label?.labelColor,
|
7251
7230
|
angle: label?.labelAngle,
|
@@ -7334,7 +7313,8 @@
|
|
7334
7313
|
];
|
7335
7314
|
return result;
|
7336
7315
|
}
|
7337
|
-
const { visible = true, label, tick, title, grid, line, zero, nice, inverse, max, min, log, logBase = 10 } = yAxisConfig;
|
7316
|
+
const { visible = true, label, tick, title, grid, line, zero, nice, inverse, max, min, log, logBase = 10, numFormat = {}, autoFormat = true } = yAxisConfig;
|
7317
|
+
const formatter = createNumFormatter(numFormat, locale);
|
7338
7318
|
const linearAxis = {
|
7339
7319
|
visible: isEmptySecondary ? false : visible,
|
7340
7320
|
id,
|
@@ -7350,7 +7330,11 @@
|
|
7350
7330
|
min,
|
7351
7331
|
label: {
|
7352
7332
|
visible: label?.visible,
|
7353
|
-
formatMethod: (value)=>
|
7333
|
+
formatMethod: (value)=>{
|
7334
|
+
if (!chunk_VCYTMP4D_n(numFormat)) return formatter(value);
|
7335
|
+
if (autoFormat) return autoFormatter(value, locale);
|
7336
|
+
return value;
|
7337
|
+
},
|
7354
7338
|
style: {
|
7355
7339
|
fill: label?.labelColor,
|
7356
7340
|
angle: label?.labelAngle,
|
@@ -7538,7 +7522,7 @@
|
|
7538
7522
|
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
7539
7523
|
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
7540
7524
|
const encoding = {};
|
7541
|
-
if (hasDimensionEncoding) pie_generateDimensionEncoding(dimensions, encoding);
|
7525
|
+
if (hasDimensionEncoding) pie_generateDimensionEncoding(dimensions, encoding, measures.length > 1);
|
7542
7526
|
else pie_generateDefaultDimensionEncoding(dimensions, encoding);
|
7543
7527
|
if (hasMeasureEncoding) pie_generateMeasureEncoding(measures, encoding);
|
7544
7528
|
else pie_generateDefaultMeasureEncoding(measures, encoding);
|
@@ -7556,11 +7540,8 @@
|
|
7556
7540
|
encoding.row = [];
|
7557
7541
|
encoding.column = [];
|
7558
7542
|
};
|
7559
|
-
const pie_generateDimensionEncoding = (dimensions, encoding)=>{
|
7560
|
-
|
7561
|
-
if (0 === encoding.color.length) encoding.color = [
|
7562
|
-
MeasureName
|
7563
|
-
];
|
7543
|
+
const pie_generateDimensionEncoding = (dimensions, encoding, isMultiMeasure)=>{
|
7544
|
+
addColorToEncoding(dimensions, encoding, isMultiMeasure);
|
7564
7545
|
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7565
7546
|
if (0 === encoding.detail.length) encoding.detail = [
|
7566
7547
|
MeasureName
|
@@ -7822,7 +7803,7 @@
|
|
7822
7803
|
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
7823
7804
|
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
7824
7805
|
const encoding = {};
|
7825
|
-
if (hasDimensionEncoding) rose_generateDimensionEncoding(dimensions, encoding);
|
7806
|
+
if (hasDimensionEncoding) rose_generateDimensionEncoding(dimensions, encoding, measures.length > 1);
|
7826
7807
|
else rose_generateDefaultDimensionEncoding(dimensions, encoding);
|
7827
7808
|
if (hasMeasureEncoding) rose_generateMeasureEncoding(measures, encoding);
|
7828
7809
|
else rose_generateDefaultMeasureEncoding(measures, encoding);
|
@@ -7842,15 +7823,12 @@
|
|
7842
7823
|
encoding.row = [];
|
7843
7824
|
encoding.column = [];
|
7844
7825
|
};
|
7845
|
-
const rose_generateDimensionEncoding = (dimensions, encoding)=>{
|
7826
|
+
const rose_generateDimensionEncoding = (dimensions, encoding, isMultiMeasure)=>{
|
7846
7827
|
encoding.angle = chunk_QJLMYOTX_i(dimensions.filter((item)=>'angle' === item.encoding).map((item)=>item.id));
|
7847
7828
|
if (0 === encoding.angle.length) encoding.angle = [
|
7848
7829
|
dimensions[0].id
|
7849
7830
|
];
|
7850
|
-
|
7851
|
-
if (0 === encoding.color.length) encoding.color = [
|
7852
|
-
MeasureName
|
7853
|
-
];
|
7831
|
+
addColorToEncoding(dimensions, encoding, isMultiMeasure);
|
7854
7832
|
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
7855
7833
|
if (0 === encoding.detail.length) encoding.detail = encoding.color;
|
7856
7834
|
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
@@ -7937,6 +7915,7 @@
|
|
7937
7915
|
const showAxis = !(is0D || is1M1D);
|
7938
7916
|
if (!result.axes) result.axes = [];
|
7939
7917
|
result.axes.push({
|
7918
|
+
type: 'band',
|
7940
7919
|
orient: 'angle',
|
7941
7920
|
visible: showAxis,
|
7942
7921
|
zero: true,
|
@@ -7979,6 +7958,7 @@
|
|
7979
7958
|
const showAxis = !(is0D || is1M1D);
|
7980
7959
|
if (!result.axes) result.axes = [];
|
7981
7960
|
result.axes.push({
|
7961
|
+
type: 'linear',
|
7982
7962
|
orient: 'radius',
|
7983
7963
|
visible: showAxis,
|
7984
7964
|
zero: true,
|
@@ -8220,7 +8200,7 @@
|
|
8220
8200
|
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
8221
8201
|
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
8222
8202
|
const encoding = {};
|
8223
|
-
if (hasDimensionEncoding) radar_generateDimensionEncoding(dimensions, encoding);
|
8203
|
+
if (hasDimensionEncoding) radar_generateDimensionEncoding(dimensions, encoding, measures.length > 1);
|
8224
8204
|
else radar_generateDefaultDimensionEncoding(dimensions, encoding);
|
8225
8205
|
if (hasMeasureEncoding) radar_generateMeasureEncoding(measures, encoding);
|
8226
8206
|
else radar_generateDefaultMeasureEncoding(measures, encoding);
|
@@ -8239,15 +8219,12 @@
|
|
8239
8219
|
encoding.row = [];
|
8240
8220
|
encoding.column = [];
|
8241
8221
|
};
|
8242
|
-
const radar_generateDimensionEncoding = (dimensions, encoding)=>{
|
8222
|
+
const radar_generateDimensionEncoding = (dimensions, encoding, isMultiMeasure)=>{
|
8243
8223
|
encoding.angle = chunk_QJLMYOTX_i(dimensions.filter((item)=>'angle' === item.encoding).map((item)=>item.id));
|
8244
8224
|
if (0 === encoding.angle.length) encoding.angle = [
|
8245
8225
|
dimensions[0].id
|
8246
8226
|
];
|
8247
|
-
|
8248
|
-
if (0 === encoding.color.length) encoding.color = [
|
8249
|
-
MeasureName
|
8250
|
-
];
|
8227
|
+
addColorToEncoding(dimensions, encoding, isMultiMeasure);
|
8251
8228
|
encoding.detail = [];
|
8252
8229
|
if (0 === encoding.detail.length) encoding.detail = [
|
8253
8230
|
MeasureName
|
@@ -8440,7 +8417,7 @@
|
|
8440
8417
|
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
8441
8418
|
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
8442
8419
|
const encoding = {};
|
8443
|
-
if (hasDimensionEncoding) funnel_generateDimensionEncoding(dimensions, encoding);
|
8420
|
+
if (hasDimensionEncoding) funnel_generateDimensionEncoding(dimensions, encoding, measures.length > 1);
|
8444
8421
|
else funnel_generateDefaultDimensionEncoding(dimensions, encoding);
|
8445
8422
|
if (hasMeasureEncoding) funnel_generateMeasureEncoding(measures, encoding);
|
8446
8423
|
else funnel_generateDefaultMeasureEncoding(measures, encoding);
|
@@ -8458,11 +8435,8 @@
|
|
8458
8435
|
encoding.row = [];
|
8459
8436
|
encoding.column = [];
|
8460
8437
|
};
|
8461
|
-
const funnel_generateDimensionEncoding = (dimensions, encoding)=>{
|
8462
|
-
|
8463
|
-
if (0 === encoding.color.length) encoding.color = [
|
8464
|
-
MeasureName
|
8465
|
-
];
|
8438
|
+
const funnel_generateDimensionEncoding = (dimensions, encoding, isMultiMeasure)=>{
|
8439
|
+
addColorToEncoding(dimensions, encoding, isMultiMeasure);
|
8466
8440
|
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
8467
8441
|
if (0 === encoding.detail.length) encoding.detail = [
|
8468
8442
|
MeasureName
|
@@ -8636,7 +8610,7 @@
|
|
8636
8610
|
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
8637
8611
|
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
8638
8612
|
const encoding = {};
|
8639
|
-
if (hasDimensionEncoding) heatmap_generateDimensionEncoding(dimensions, encoding);
|
8613
|
+
if (hasDimensionEncoding) heatmap_generateDimensionEncoding(dimensions, encoding, measures.length > 1);
|
8640
8614
|
else heatmap_generateDefaultDimensionEncoding(dimensions, encoding);
|
8641
8615
|
if (hasMeasureEncoding) heatmap_generateMeasureEncoding(measures, encoding);
|
8642
8616
|
else heatmap_generateDefaultMeasureEncoding(measures, encoding);
|
@@ -8657,7 +8631,7 @@
|
|
8657
8631
|
encoding.row = [];
|
8658
8632
|
encoding.column = [];
|
8659
8633
|
};
|
8660
|
-
const heatmap_generateDimensionEncoding = (dimensions, encoding)=>{
|
8634
|
+
const heatmap_generateDimensionEncoding = (dimensions, encoding, isMultiMeasure)=>{
|
8661
8635
|
encoding.x = chunk_QJLMYOTX_i(dimensions.filter((item)=>'xAxis' === item.encoding).map((item)=>item.id));
|
8662
8636
|
if (0 === encoding.x.length) encoding.x = [
|
8663
8637
|
dimensions[0].id
|
@@ -8665,10 +8639,7 @@
|
|
8665
8639
|
encoding.y = chunk_QJLMYOTX_i(dimensions.filter((item)=>'yAxis' === item.encoding).map((item)=>item.id));
|
8666
8640
|
if (0 === encoding.y.length) if (dimensions.length > 1) encoding.y = dimensions.slice(1).map((item)=>item.id);
|
8667
8641
|
else encoding.y = dimensions.slice(0).map((item)=>item.id);
|
8668
|
-
|
8669
|
-
if (0 === encoding.color.length) encoding.color = [
|
8670
|
-
MeasureName
|
8671
|
-
];
|
8642
|
+
addColorToEncoding(dimensions, encoding, isMultiMeasure);
|
8672
8643
|
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
8673
8644
|
if (0 === encoding.detail.length) encoding.detail = encoding.color;
|
8674
8645
|
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
@@ -8724,16 +8695,6 @@
|
|
8724
8695
|
markStyle_markStyle,
|
8725
8696
|
annotation_annotation
|
8726
8697
|
];
|
8727
|
-
const labelColorInversion = (spec)=>{
|
8728
|
-
const result = {
|
8729
|
-
...spec
|
8730
|
-
};
|
8731
|
-
if (result.label) result.label.smartInvert = true;
|
8732
|
-
else result.label = {
|
8733
|
-
smartInvert: true
|
8734
|
-
};
|
8735
|
-
return result;
|
8736
|
-
};
|
8737
8698
|
const colorCellStyleFill = (stylePipe)=>(spec, context)=>{
|
8738
8699
|
const result = stylePipe(spec, context);
|
8739
8700
|
const { advancedVSeed } = context;
|
@@ -8821,14 +8782,8 @@
|
|
8821
8782
|
const originalData = datum[ORIGINAL_DATA];
|
8822
8783
|
const value = originalData[id];
|
8823
8784
|
const measure = findMeasureById(measures, id);
|
8824
|
-
|
8825
|
-
|
8826
|
-
if (!chunk_VCYTMP4D_n(format)) {
|
8827
|
-
const formatter = createFormatter(format);
|
8828
|
-
return formatter(value);
|
8829
|
-
}
|
8830
|
-
if (autoFormat) return autoFormatter(value, locale);
|
8831
|
-
return String(value);
|
8785
|
+
const formatter = createFormatterByMeasure(measure);
|
8786
|
+
return formatter(value);
|
8832
8787
|
}
|
8833
8788
|
}));
|
8834
8789
|
const foldMeaContent = [
|
@@ -8850,14 +8805,8 @@
|
|
8850
8805
|
const value = datum[measureValue];
|
8851
8806
|
const id = datum[measureId];
|
8852
8807
|
const measure = findMeasureById(measures, id);
|
8853
|
-
|
8854
|
-
|
8855
|
-
if (!chunk_VCYTMP4D_n(format)) {
|
8856
|
-
const formatter = createFormatter(format);
|
8857
|
-
return formatter(value);
|
8858
|
-
}
|
8859
|
-
if (autoFormat) return autoFormatter(value, locale);
|
8860
|
-
return String(value);
|
8808
|
+
const formatter = createFormatterByMeasure(measure);
|
8809
|
+
return formatter(value);
|
8861
8810
|
}
|
8862
8811
|
}));
|
8863
8812
|
return [
|
@@ -8906,7 +8855,6 @@
|
|
8906
8855
|
datasetXY,
|
8907
8856
|
colorAdapter(color_color, linearColor),
|
8908
8857
|
label_label,
|
8909
|
-
labelColorInversion,
|
8910
8858
|
colorAdapter(discreteLegend, colorLegend),
|
8911
8859
|
colorCellStyleFill(cellStyle),
|
8912
8860
|
tooltipHeatmap,
|
@@ -8926,7 +8874,6 @@
|
|
8926
8874
|
datasetXY,
|
8927
8875
|
colorAdapter(color_color, linearColor),
|
8928
8876
|
label_label,
|
8929
|
-
labelColorInversion,
|
8930
8877
|
discreteLegend,
|
8931
8878
|
tooltipHeatmap,
|
8932
8879
|
colorCellStyleFill(cellStyle),
|
@@ -9075,7 +9022,9 @@
|
|
9075
9022
|
enable: true,
|
9076
9023
|
wrap: true,
|
9077
9024
|
showValue: true,
|
9078
|
-
showValuePercent: false
|
9025
|
+
showValuePercent: false,
|
9026
|
+
labelColorSmartInvert: false,
|
9027
|
+
labelOverlap: true
|
9079
9028
|
},
|
9080
9029
|
tooltip: {
|
9081
9030
|
enable: true
|
@@ -9086,7 +9035,7 @@
|
|
9086
9035
|
maxSize: 1,
|
9087
9036
|
shapeType: 'rectRound',
|
9088
9037
|
position: 'rt',
|
9089
|
-
|
9038
|
+
labelColor: '#646A73',
|
9090
9039
|
labelFontSize: 12,
|
9091
9040
|
labelFontWeight: 400
|
9092
9041
|
}
|
@@ -9144,7 +9093,12 @@
|
|
9144
9093
|
columnPercent: {
|
9145
9094
|
...baseConfig,
|
9146
9095
|
xAxis: bandAxis,
|
9147
|
-
yAxis:
|
9096
|
+
yAxis: {
|
9097
|
+
...linearAxis,
|
9098
|
+
numFormat: {
|
9099
|
+
type: 'percent'
|
9100
|
+
}
|
9101
|
+
},
|
9148
9102
|
crosshairRect,
|
9149
9103
|
stackCornerRadius: [
|
9150
9104
|
4,
|
@@ -9179,7 +9133,12 @@
|
|
9179
9133
|
},
|
9180
9134
|
barPercent: {
|
9181
9135
|
...baseConfig,
|
9182
|
-
xAxis:
|
9136
|
+
xAxis: {
|
9137
|
+
...linearAxis,
|
9138
|
+
numFormat: {
|
9139
|
+
type: 'percent'
|
9140
|
+
}
|
9141
|
+
},
|
9183
9142
|
yAxis: barBandAxis,
|
9184
9143
|
crosshairRect,
|
9185
9144
|
stackCornerRadius: [
|
@@ -9198,7 +9157,12 @@
|
|
9198
9157
|
areaPercent: {
|
9199
9158
|
...baseConfig,
|
9200
9159
|
xAxis: bandAxis,
|
9201
|
-
yAxis:
|
9160
|
+
yAxis: {
|
9161
|
+
...linearAxis,
|
9162
|
+
numFormat: {
|
9163
|
+
type: 'percent'
|
9164
|
+
}
|
9165
|
+
},
|
9202
9166
|
crosshairLine
|
9203
9167
|
},
|
9204
9168
|
scatter: {
|
@@ -9266,7 +9230,11 @@
|
|
9266
9230
|
...baseConfig
|
9267
9231
|
},
|
9268
9232
|
heatmap: {
|
9269
|
-
...baseConfig
|
9233
|
+
...baseConfig,
|
9234
|
+
label: {
|
9235
|
+
...baseConfig.label,
|
9236
|
+
labelColorSmartInvert: true
|
9237
|
+
}
|
9270
9238
|
}
|
9271
9239
|
}
|
9272
9240
|
};
|
@@ -9399,7 +9367,9 @@
|
|
9399
9367
|
enable: true,
|
9400
9368
|
wrap: true,
|
9401
9369
|
showValue: true,
|
9402
|
-
showValuePercent: false
|
9370
|
+
showValuePercent: false,
|
9371
|
+
labelColorSmartInvert: false,
|
9372
|
+
labelOverlap: true
|
9403
9373
|
},
|
9404
9374
|
tooltip: {
|
9405
9375
|
enable: true
|
@@ -9410,7 +9380,7 @@
|
|
9410
9380
|
maxSize: 1,
|
9411
9381
|
position: 'rt',
|
9412
9382
|
shapeType: 'rectRound',
|
9413
|
-
|
9383
|
+
labelColor: '#FDFDFD',
|
9414
9384
|
labelFontSize: 12,
|
9415
9385
|
labelFontWeight: 400
|
9416
9386
|
}
|
@@ -9589,7 +9559,11 @@
|
|
9589
9559
|
...baseConfig
|
9590
9560
|
},
|
9591
9561
|
heatmap: {
|
9592
|
-
...baseConfig
|
9562
|
+
...baseConfig,
|
9563
|
+
label: {
|
9564
|
+
...baseConfig.label,
|
9565
|
+
labelColorSmartInvert: true
|
9566
|
+
}
|
9593
9567
|
}
|
9594
9568
|
}
|
9595
9569
|
};
|
@@ -13018,6 +12992,7 @@
|
|
13018
12992
|
id: schemas_string(),
|
13019
12993
|
alias: schemas_string().optional(),
|
13020
12994
|
autoFormat: schemas_boolean().default(true),
|
12995
|
+
numFormat: zNumFormat["default"]({}),
|
13021
12996
|
format: zNumFormat["default"]({}),
|
13022
12997
|
encoding: schemas_enum([
|
13023
12998
|
'primaryYAxis',
|
@@ -13218,6 +13193,7 @@
|
|
13218
13193
|
log: schemas_boolean().default(false).nullish(),
|
13219
13194
|
logBase: schemas_number().default(10).nullish(),
|
13220
13195
|
inverse: schemas_boolean().default(false).nullish(),
|
13196
|
+
numFormat: zNumFormat.nullish(),
|
13221
13197
|
label: schemas_object({
|
13222
13198
|
visible: schemas_boolean().default(true).nullish(),
|
13223
13199
|
labelColor: schemas_string().default('#797B85').nullish(),
|
@@ -13283,7 +13259,16 @@
|
|
13283
13259
|
enable: schemas_boolean().nullish(),
|
13284
13260
|
wrap: schemas_boolean().nullish(),
|
13285
13261
|
showValue: schemas_boolean().nullish(),
|
13286
|
-
showValuePercent: schemas_boolean().nullish()
|
13262
|
+
showValuePercent: schemas_boolean().nullish(),
|
13263
|
+
autoFormat: schemas_boolean().nullish(),
|
13264
|
+
numFormat: zNumFormat.nullish(),
|
13265
|
+
labelFontSize: schemas_number().nullish(),
|
13266
|
+
labelFontWeight: schemas_number().or(schemas_string()).nullish(),
|
13267
|
+
labelBackgroundColor: schemas_string().nullish(),
|
13268
|
+
labelColor: schemas_string().nullish(),
|
13269
|
+
labelColorSmartInvert: schemas_boolean().nullish(),
|
13270
|
+
labelPosition: schemas_string().nullish(),
|
13271
|
+
labelOverlap: schemas_boolean().nullish()
|
13287
13272
|
});
|
13288
13273
|
const zLegend = schemas_object({
|
13289
13274
|
enable: schemas_boolean().default(true).nullish(),
|
@@ -13335,8 +13320,8 @@
|
|
13335
13320
|
'bl',
|
13336
13321
|
'br'
|
13337
13322
|
]).default('bottom').nullish(),
|
13323
|
+
labelColor: schemas_string().default('#fff').nullish(),
|
13338
13324
|
labelFontSize: schemas_number().default(12).nullish(),
|
13339
|
-
labelFontColor: schemas_string().default('#fff').nullish(),
|
13340
13325
|
labelFontWeight: schemas_number().or(schemas_string()).default(400).nullish()
|
13341
13326
|
});
|
13342
13327
|
const zColorLegend = schemas_object({
|
@@ -13495,56 +13480,6 @@
|
|
13495
13480
|
funnel: zFunnelConfig.nullish(),
|
13496
13481
|
heatmap: zHeatmapConfig.nullish()
|
13497
13482
|
});
|
13498
|
-
const zAxis = schemas_object({
|
13499
|
-
visible: schemas_boolean().default(true).nullish(),
|
13500
|
-
min: schemas_number().nullish(),
|
13501
|
-
max: schemas_number().nullish(),
|
13502
|
-
nice: schemas_boolean().default(true).nullish(),
|
13503
|
-
zero: schemas_boolean().default(true).nullish(),
|
13504
|
-
inverse: schemas_boolean().default(false).nullish(),
|
13505
|
-
log: schemas_boolean().default(false).nullish(),
|
13506
|
-
logBase: schemas_number().default(10).nullish(),
|
13507
|
-
labelAutoHide: schemas_boolean().default(true).nullish(),
|
13508
|
-
labelAutoHideGap: schemas_number().default(4).nullish(),
|
13509
|
-
labelAutoRotate: schemas_boolean().default(true).nullish(),
|
13510
|
-
labelAutoRotateAngleRange: schemas_array(schemas_number()).default([
|
13511
|
-
0,
|
13512
|
-
-45,
|
13513
|
-
-90
|
13514
|
-
]).nullish(),
|
13515
|
-
labelAutoLimit: schemas_boolean().default(true).nullish(),
|
13516
|
-
labelAutoLimitLength: schemas_number().default(100).nullish(),
|
13517
|
-
label: schemas_object({
|
13518
|
-
visible: schemas_boolean().default(true).nullish(),
|
13519
|
-
labelColor: schemas_string().default('#797B85').nullish(),
|
13520
|
-
labelFontSize: schemas_number().default(12).nullish(),
|
13521
|
-
labelFontWeight: schemas_number().default(400).nullish(),
|
13522
|
-
labelAngle: schemas_number().default(0).nullish()
|
13523
|
-
}).nullish(),
|
13524
|
-
line: schemas_object({
|
13525
|
-
visible: schemas_boolean().default(true).nullish(),
|
13526
|
-
lineColor: schemas_string().default('rgba(54, 65, 89, 0.30)').nullish(),
|
13527
|
-
lineWidth: schemas_number().default(1).nullish()
|
13528
|
-
}).nullish(),
|
13529
|
-
tick: schemas_object({
|
13530
|
-
visible: schemas_boolean().default(true).nullish(),
|
13531
|
-
tickInside: schemas_boolean().default(false).nullish(),
|
13532
|
-
tickColor: schemas_string().default('rgba(54, 65, 89, 0.30)').nullish(),
|
13533
|
-
tickSize: schemas_number().default(4).nullish()
|
13534
|
-
}).nullish(),
|
13535
|
-
title: schemas_object({
|
13536
|
-
visible: schemas_boolean().default(false).nullish(),
|
13537
|
-
titleText: schemas_string().default('').nullish(),
|
13538
|
-
titleColor: schemas_string().default('#646A73').nullish(),
|
13539
|
-
titleFontSize: schemas_number().default(12).nullish(),
|
13540
|
-
titleFontWeight: schemas_number().default(400).nullish()
|
13541
|
-
}).nullish(),
|
13542
|
-
grid: schemas_object({
|
13543
|
-
visible: schemas_boolean().default(false).nullish(),
|
13544
|
-
gridColor: schemas_string().default('rgba(54, 65, 89, 0.15)').nullish(),
|
13545
|
-
gridWidth: schemas_number().default(0.5).nullish()
|
13546
|
-
}).nullish()
|
13547
|
-
});
|
13548
13483
|
const zCustomThemeConfig = schemas_object({
|
13549
13484
|
config: zConfig.nullish()
|
13550
13485
|
});
|