@visactor/vseed 0.2.5 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/area.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/area.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/areaPercent.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/areaPercent.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/bar.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/bar.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/barParallel.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/barParallel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/barPercent.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/barPercent.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/boxplot.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/boxplot.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/column.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/column.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/columnParallel.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/columnParallel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/columnPercent.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/columnPercent.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/dualAxis.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/dualAxis.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/funnel.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/funnel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/heatmap.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/heatmap.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/histogram.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/histogram.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/line.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/line.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/radar.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/radar.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/rose.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/rose.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/roseParallel.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/roseParallel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js +3 -3
- package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/bar.js +8 -7
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/bar.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/boxplot.js +8 -7
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/boxplot.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/color/addColorToEncoding.d.ts +7 -0
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/color/addColorToEncoding.js +9 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/color/addColorToEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/column.js +8 -7
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/column.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/dualAxis.js +16 -7
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/dualAxis.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/funnel.js +7 -6
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/funnel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/heatmap.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/line.js +8 -6
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/line.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/radar.js +8 -6
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/radar.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/rose.js +8 -7
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/rose.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForDualAxis.js +48 -23
- package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForDualAxis.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.js +47 -23
- package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.js +2 -2
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipElement.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipeline/pivotTable.js +2 -2
- package/dist/esm/pipeline/spec/table/pipeline/pivotTable.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipeline/table.js +2 -2
- package/dist/esm/pipeline/spec/table/pipeline/table.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.js +16 -4
- package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/cellStyle/table.js +16 -4
- package/dist/esm/pipeline/spec/table/pipes/cellStyle/table.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/indicators/pivotIndicators.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/theme/frameStyle.d.ts +1 -1
- package/dist/esm/pipeline/spec/table/pipes/theme/frameStyle.js +6 -2
- package/dist/esm/pipeline/spec/table/pipes/theme/frameStyle.js.map +1 -1
- package/dist/umd/index.js +435 -339
- package/dist/umd/index.js.map +1 -1
- package/package.json +3 -3
package/dist/umd/index.js
CHANGED
|
@@ -1383,7 +1383,7 @@
|
|
|
1383
1383
|
};
|
|
1384
1384
|
return result;
|
|
1385
1385
|
};
|
|
1386
|
-
const
|
|
1386
|
+
const tableThemeStyle = (spec, context)=>{
|
|
1387
1387
|
const result = {
|
|
1388
1388
|
...spec
|
|
1389
1389
|
};
|
|
@@ -1397,6 +1397,10 @@
|
|
|
1397
1397
|
borderLineWidth: 1,
|
|
1398
1398
|
cornerRadius: 4
|
|
1399
1399
|
};
|
|
1400
|
+
result.theme.scrollStyle = {
|
|
1401
|
+
visible: 'scrolling',
|
|
1402
|
+
hoverOn: true
|
|
1403
|
+
};
|
|
1400
1404
|
return result;
|
|
1401
1405
|
};
|
|
1402
1406
|
const selectionStyle = (spec, context)=>{
|
|
@@ -1596,6 +1600,7 @@
|
|
|
1596
1600
|
if (!bodyCellStyle) return spec;
|
|
1597
1601
|
const bodyCellStyleList = array_array(bodyCellStyle);
|
|
1598
1602
|
const columns = spec.columns || [];
|
|
1603
|
+
const selectedPos = [];
|
|
1599
1604
|
const setStyleOfColumn = (col)=>{
|
|
1600
1605
|
const field = col.field;
|
|
1601
1606
|
const matchedStyles = bodyCellStyleList.filter((style)=>{
|
|
@@ -1609,10 +1614,17 @@
|
|
|
1609
1614
|
[field]: datum.dataValue
|
|
1610
1615
|
};
|
|
1611
1616
|
const mergedStyle = matchedStyles.reduce((result, style)=>{
|
|
1612
|
-
if (selector_selector(originalDatum, style.selector))
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1617
|
+
if (selector_selector(originalDatum, style.selector)) {
|
|
1618
|
+
if (selectedPos.length && selectedPos[0].col === datum?.col && selectedPos[0].row === datum?.row) selectedPos.length = 0;
|
|
1619
|
+
selectedPos.push({
|
|
1620
|
+
col: datum?.col,
|
|
1621
|
+
row: datum?.row
|
|
1622
|
+
});
|
|
1623
|
+
return {
|
|
1624
|
+
...result,
|
|
1625
|
+
...pickBodyCellStyle(style)
|
|
1626
|
+
};
|
|
1627
|
+
}
|
|
1616
1628
|
return result;
|
|
1617
1629
|
}, {});
|
|
1618
1630
|
return mergedStyle;
|
|
@@ -1620,6 +1632,10 @@
|
|
|
1620
1632
|
return false;
|
|
1621
1633
|
};
|
|
1622
1634
|
preorderTraverse(columns, setStyleOfColumn, 'columns');
|
|
1635
|
+
spec.runningConfig = {
|
|
1636
|
+
...spec.runningConfig || {},
|
|
1637
|
+
selectedPos
|
|
1638
|
+
};
|
|
1623
1639
|
return spec;
|
|
1624
1640
|
};
|
|
1625
1641
|
const tableSpecPipeline = [
|
|
@@ -1628,7 +1644,7 @@
|
|
|
1628
1644
|
measureTreeToColumns,
|
|
1629
1645
|
bodyStyle,
|
|
1630
1646
|
headerStyle,
|
|
1631
|
-
|
|
1647
|
+
tableThemeStyle,
|
|
1632
1648
|
selectionStyle,
|
|
1633
1649
|
tableBodyCell
|
|
1634
1650
|
];
|
|
@@ -2070,6 +2086,7 @@
|
|
|
2070
2086
|
if (!bodyCellStyle) return spec;
|
|
2071
2087
|
const bodyCellStyleList = array_array(bodyCellStyle);
|
|
2072
2088
|
const indicators = spec.indicators || [];
|
|
2089
|
+
const selectedPos = [];
|
|
2073
2090
|
const newIndicators = indicators.map((ind)=>{
|
|
2074
2091
|
const newInd = chunk_SFZGYJFI_t(ind) ? {
|
|
2075
2092
|
indicatorKey: ind
|
|
@@ -2089,10 +2106,17 @@
|
|
|
2089
2106
|
});
|
|
2090
2107
|
if (!chunk_JK3VNB42_n(originalDatum[MeasureId]) && !chunk_JK3VNB42_n(originalDatum[FoldMeasureValue])) originalDatum[originalDatum[MeasureId]] = originalDatum[FoldMeasureValue];
|
|
2091
2108
|
const mergedStyle = bodyCellStyleList.reduce((result, style)=>{
|
|
2092
|
-
if (selector_selector(originalDatum, style.selector))
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
|
|
2109
|
+
if (selector_selector(originalDatum, style.selector)) {
|
|
2110
|
+
if (selectedPos.length && selectedPos[0].col === datum?.col && selectedPos[0].row === datum?.row) selectedPos.length = 0;
|
|
2111
|
+
selectedPos.push({
|
|
2112
|
+
col: datum?.col,
|
|
2113
|
+
row: datum?.row
|
|
2114
|
+
});
|
|
2115
|
+
return {
|
|
2116
|
+
...result,
|
|
2117
|
+
...pickBodyCellStyle(style)
|
|
2118
|
+
};
|
|
2119
|
+
}
|
|
2096
2120
|
return result;
|
|
2097
2121
|
}, {});
|
|
2098
2122
|
return mergedStyle;
|
|
@@ -2101,6 +2125,10 @@
|
|
|
2101
2125
|
});
|
|
2102
2126
|
return {
|
|
2103
2127
|
...spec,
|
|
2128
|
+
runningConfig: {
|
|
2129
|
+
...spec?.runningConfig || {},
|
|
2130
|
+
selectedPos
|
|
2131
|
+
},
|
|
2104
2132
|
indicators: newIndicators
|
|
2105
2133
|
};
|
|
2106
2134
|
};
|
|
@@ -2129,7 +2157,7 @@
|
|
|
2129
2157
|
headerStyle,
|
|
2130
2158
|
rowHeaderStyle,
|
|
2131
2159
|
cornerHeaderStyle,
|
|
2132
|
-
|
|
2160
|
+
tableThemeStyle,
|
|
2133
2161
|
selectionStyle,
|
|
2134
2162
|
dataConfig,
|
|
2135
2163
|
pivotTableBodyCell
|
|
@@ -2231,6 +2259,54 @@
|
|
|
2231
2259
|
if (hasEncoding) return execPipeline(hasEncodingPipeline, context, advancedVSeed);
|
|
2232
2260
|
return execPipeline(noEncodingPipeline, context, advancedVSeed);
|
|
2233
2261
|
};
|
|
2262
|
+
const buildMeasures = (advancedVSeed)=>{
|
|
2263
|
+
if (isMeasureTreeWithChildren(advancedVSeed.measures)) {
|
|
2264
|
+
advancedVSeed.measures = normalizeMeasureTree(advancedVSeed.measures);
|
|
2265
|
+
return advancedVSeed;
|
|
2266
|
+
}
|
|
2267
|
+
if (isMeasureTreeWithParentId(advancedVSeed.measures)) {
|
|
2268
|
+
advancedVSeed.measures = generateMeasuresByParentId(advancedVSeed.measures);
|
|
2269
|
+
return advancedVSeed;
|
|
2270
|
+
}
|
|
2271
|
+
if (chatType_isPivotChart(advancedVSeed)) advancedVSeed.measures = basicMeasuresToMeasureTree(advancedVSeed.measures);
|
|
2272
|
+
return advancedVSeed;
|
|
2273
|
+
};
|
|
2274
|
+
const generateMeasuresByParentId = (measures)=>{
|
|
2275
|
+
const measureTree = [];
|
|
2276
|
+
measures.forEach((measure)=>{
|
|
2277
|
+
const parent = measureTree.find((item)=>item.id === measure.parentId);
|
|
2278
|
+
if (parent && 'children' in parent) {
|
|
2279
|
+
parent.children = parent.children || [];
|
|
2280
|
+
if (parent.children.length > 0) parent.alias += `-${measure.alias ?? measure.id}`;
|
|
2281
|
+
parent.children.push(measure);
|
|
2282
|
+
} else if (common_isValid(measure.parentId)) measureTree.push({
|
|
2283
|
+
id: measure.parentId,
|
|
2284
|
+
alias: measure.alias ?? measure.id,
|
|
2285
|
+
children: [
|
|
2286
|
+
measure
|
|
2287
|
+
]
|
|
2288
|
+
});
|
|
2289
|
+
else measureTree.push({
|
|
2290
|
+
id: DEFAULT_PARENT_ID,
|
|
2291
|
+
alias: measure.alias ?? measure.id,
|
|
2292
|
+
children: [
|
|
2293
|
+
measure
|
|
2294
|
+
]
|
|
2295
|
+
});
|
|
2296
|
+
});
|
|
2297
|
+
return measureTree;
|
|
2298
|
+
};
|
|
2299
|
+
const basicMeasuresToMeasureTree = (measures)=>{
|
|
2300
|
+
const id = measures.map((item)=>item.id).join('-');
|
|
2301
|
+
const alias = measures.map((item)=>item.alias || item.id).join('-');
|
|
2302
|
+
return [
|
|
2303
|
+
{
|
|
2304
|
+
id,
|
|
2305
|
+
alias,
|
|
2306
|
+
children: measures
|
|
2307
|
+
}
|
|
2308
|
+
];
|
|
2309
|
+
};
|
|
2234
2310
|
const addColorToEncoding = (dimensions, encoding, isMultiMeasure)=>{
|
|
2235
2311
|
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
|
2236
2312
|
const measureId = dimensions.find((item)=>item.id === MeasureId);
|
|
@@ -2239,11 +2315,19 @@
|
|
|
2239
2315
|
MeasureId
|
|
2240
2316
|
];
|
|
2241
2317
|
};
|
|
2318
|
+
const addDefaultColorEncoding = (uniqueDimIds, encoding, isMultiMeasure)=>{
|
|
2319
|
+
if (1 === uniqueDimIds.length && uniqueDimIds[0] === MeasureId) encoding.color = uniqueDimIds.slice(0);
|
|
2320
|
+
else if (isMultiMeasure) encoding.color = uniqueDimIds.slice(1);
|
|
2321
|
+
else encoding.color = uniqueDimIds.slice(1).filter((d)=>d !== MeasureId);
|
|
2322
|
+
if (0 === encoding.color.length) encoding.color = [
|
|
2323
|
+
MeasureId
|
|
2324
|
+
];
|
|
2325
|
+
};
|
|
2242
2326
|
const defaultEncodingForLine = (advancedVSeed)=>{
|
|
2243
2327
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
|
2244
2328
|
const measures = findAllMeasures(vseedMeasures);
|
|
2245
2329
|
const encoding = {};
|
|
2246
|
-
line_generateDefaultDimensionEncoding(dimensions, encoding);
|
|
2330
|
+
line_generateDefaultDimensionEncoding(dimensions, encoding, hasMultipleMeasureInSingleView(vseedMeasures));
|
|
2247
2331
|
line_generateDefaultMeasureEncoding(measures, encoding);
|
|
2248
2332
|
return {
|
|
2249
2333
|
...advancedVSeed,
|
|
@@ -2256,8 +2340,9 @@
|
|
|
2256
2340
|
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
|
2257
2341
|
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
|
2258
2342
|
const encoding = {};
|
|
2259
|
-
|
|
2260
|
-
|
|
2343
|
+
const hasMulti = hasMultipleMeasureInSingleView(vseedMeasures);
|
|
2344
|
+
if (hasDimensionEncoding) line_generateDimensionEncoding(dimensions, encoding, hasMulti);
|
|
2345
|
+
else line_generateDefaultDimensionEncoding(dimensions, encoding, hasMulti);
|
|
2261
2346
|
if (hasMeasureEncoding) line_generateMeasureEncoding(measures, encoding);
|
|
2262
2347
|
else line_generateDefaultMeasureEncoding(measures, encoding);
|
|
2263
2348
|
return {
|
|
@@ -2265,10 +2350,10 @@
|
|
|
2265
2350
|
encoding
|
|
2266
2351
|
};
|
|
2267
2352
|
};
|
|
2268
|
-
const line_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
|
2353
|
+
const line_generateDefaultDimensionEncoding = (dimensions, encoding, isMultiMeasure)=>{
|
|
2269
2354
|
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
|
2270
2355
|
encoding.x = uniqueDimIds.slice(0, 1);
|
|
2271
|
-
encoding
|
|
2356
|
+
addDefaultColorEncoding(uniqueDimIds, encoding, isMultiMeasure);
|
|
2272
2357
|
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureId);
|
|
2273
2358
|
encoding.detail = [];
|
|
2274
2359
|
encoding.label = [];
|
|
@@ -2309,54 +2394,6 @@
|
|
|
2309
2394
|
...tooltip
|
|
2310
2395
|
]);
|
|
2311
2396
|
};
|
|
2312
|
-
const buildMeasures = (advancedVSeed)=>{
|
|
2313
|
-
if (isMeasureTreeWithChildren(advancedVSeed.measures)) {
|
|
2314
|
-
advancedVSeed.measures = normalizeMeasureTree(advancedVSeed.measures);
|
|
2315
|
-
return advancedVSeed;
|
|
2316
|
-
}
|
|
2317
|
-
if (isMeasureTreeWithParentId(advancedVSeed.measures)) {
|
|
2318
|
-
advancedVSeed.measures = generateMeasuresByParentId(advancedVSeed.measures);
|
|
2319
|
-
return advancedVSeed;
|
|
2320
|
-
}
|
|
2321
|
-
if (chatType_isPivotChart(advancedVSeed)) advancedVSeed.measures = basicMeasuresToMeasureTree(advancedVSeed.measures);
|
|
2322
|
-
return advancedVSeed;
|
|
2323
|
-
};
|
|
2324
|
-
const generateMeasuresByParentId = (measures)=>{
|
|
2325
|
-
const measureTree = [];
|
|
2326
|
-
measures.forEach((measure)=>{
|
|
2327
|
-
const parent = measureTree.find((item)=>item.id === measure.parentId);
|
|
2328
|
-
if (parent && 'children' in parent) {
|
|
2329
|
-
parent.children = parent.children || [];
|
|
2330
|
-
if (parent.children.length > 0) parent.alias += `-${measure.alias ?? measure.id}`;
|
|
2331
|
-
parent.children.push(measure);
|
|
2332
|
-
} else if (common_isValid(measure.parentId)) measureTree.push({
|
|
2333
|
-
id: measure.parentId,
|
|
2334
|
-
alias: measure.alias ?? measure.id,
|
|
2335
|
-
children: [
|
|
2336
|
-
measure
|
|
2337
|
-
]
|
|
2338
|
-
});
|
|
2339
|
-
else measureTree.push({
|
|
2340
|
-
id: DEFAULT_PARENT_ID,
|
|
2341
|
-
alias: measure.alias ?? measure.id,
|
|
2342
|
-
children: [
|
|
2343
|
-
measure
|
|
2344
|
-
]
|
|
2345
|
-
});
|
|
2346
|
-
});
|
|
2347
|
-
return measureTree;
|
|
2348
|
-
};
|
|
2349
|
-
const basicMeasuresToMeasureTree = (measures)=>{
|
|
2350
|
-
const id = measures.map((item)=>item.id).join('-');
|
|
2351
|
-
const alias = measures.map((item)=>item.alias || item.id).join('-');
|
|
2352
|
-
return [
|
|
2353
|
-
{
|
|
2354
|
-
id,
|
|
2355
|
-
alias,
|
|
2356
|
-
children: measures
|
|
2357
|
-
}
|
|
2358
|
-
];
|
|
2359
|
-
};
|
|
2360
2397
|
const deleteMeasureTreeByCallback = (measureTree, callback)=>{
|
|
2361
2398
|
if (!measureTree) return;
|
|
2362
2399
|
const stack = [
|
|
@@ -2758,11 +2795,11 @@
|
|
|
2758
2795
|
defaultDimensions_defaultDimensions,
|
|
2759
2796
|
defaultMeasureId_defaultMeasureId,
|
|
2760
2797
|
encodingAdapter([
|
|
2761
|
-
|
|
2762
|
-
|
|
2798
|
+
buildMeasures,
|
|
2799
|
+
defaultEncodingForLine
|
|
2763
2800
|
], [
|
|
2764
|
-
encodingForLine,
|
|
2765
2801
|
buildMeasures,
|
|
2802
|
+
encodingForLine,
|
|
2766
2803
|
pickMeasuresForReshape([
|
|
2767
2804
|
'tooltip',
|
|
2768
2805
|
'label',
|
|
@@ -5712,7 +5749,7 @@
|
|
|
5712
5749
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
|
5713
5750
|
const measures = findAllMeasures(vseedMeasures);
|
|
5714
5751
|
const encoding = {};
|
|
5715
|
-
column_generateDefaultDimensionEncoding(dimensions, encoding);
|
|
5752
|
+
column_generateDefaultDimensionEncoding(dimensions, encoding, hasMultipleMeasureInSingleView(vseedMeasures));
|
|
5716
5753
|
column_generateDefaultMeasureEncoding(measures, encoding);
|
|
5717
5754
|
return {
|
|
5718
5755
|
...advancedVSeed,
|
|
@@ -5725,8 +5762,9 @@
|
|
|
5725
5762
|
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
|
5726
5763
|
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
|
5727
5764
|
const encoding = {};
|
|
5728
|
-
|
|
5729
|
-
|
|
5765
|
+
const hasMulti = hasMultipleMeasureInSingleView(vseedMeasures);
|
|
5766
|
+
if (hasDimensionEncoding) column_generateDimensionEncoding(dimensions, encoding, hasMulti);
|
|
5767
|
+
else column_generateDefaultDimensionEncoding(dimensions, encoding, hasMulti);
|
|
5730
5768
|
if (hasMeasureEncoding) column_generateMeasureEncoding(measures, encoding);
|
|
5731
5769
|
else column_generateDefaultMeasureEncoding(measures, encoding);
|
|
5732
5770
|
return {
|
|
@@ -5734,11 +5772,10 @@
|
|
|
5734
5772
|
encoding
|
|
5735
5773
|
};
|
|
5736
5774
|
};
|
|
5737
|
-
const column_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
|
5738
|
-
const onlyMeasureId = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureId);
|
|
5775
|
+
const column_generateDefaultDimensionEncoding = (dimensions, encoding, isMultiMeasure)=>{
|
|
5739
5776
|
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
|
5740
5777
|
encoding.x = uniqueDimIds.slice(0, 1);
|
|
5741
|
-
|
|
5778
|
+
addDefaultColorEncoding(uniqueDimIds, encoding, isMultiMeasure);
|
|
5742
5779
|
encoding.detail = encoding.color;
|
|
5743
5780
|
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureId);
|
|
5744
5781
|
encoding.label = [];
|
|
@@ -5844,11 +5881,11 @@
|
|
|
5844
5881
|
defaultDimensions_defaultDimensions,
|
|
5845
5882
|
defaultMeasureId_defaultMeasureId,
|
|
5846
5883
|
encodingAdapter([
|
|
5847
|
-
|
|
5848
|
-
|
|
5884
|
+
buildMeasures,
|
|
5885
|
+
defaultEncodingForColumn
|
|
5849
5886
|
], [
|
|
5850
|
-
encodingForColumn,
|
|
5851
5887
|
buildMeasures,
|
|
5888
|
+
encodingForColumn,
|
|
5852
5889
|
pickMeasuresForReshape([
|
|
5853
5890
|
'tooltip',
|
|
5854
5891
|
'label',
|
|
@@ -6728,11 +6765,11 @@
|
|
|
6728
6765
|
defaultDimensions_defaultDimensions,
|
|
6729
6766
|
defaultMeasureId_defaultMeasureId,
|
|
6730
6767
|
encodingAdapter([
|
|
6731
|
-
|
|
6732
|
-
|
|
6768
|
+
buildMeasures,
|
|
6769
|
+
defaultEncodingForColumn
|
|
6733
6770
|
], [
|
|
6734
|
-
encodingForColumn,
|
|
6735
6771
|
buildMeasures,
|
|
6772
|
+
encodingForColumn,
|
|
6736
6773
|
pickMeasuresForReshape([
|
|
6737
6774
|
'tooltip',
|
|
6738
6775
|
'label',
|
|
@@ -6894,11 +6931,11 @@
|
|
|
6894
6931
|
defaultDimensions_defaultDimensions,
|
|
6895
6932
|
defaultMeasureId_defaultMeasureId,
|
|
6896
6933
|
encodingAdapter([
|
|
6897
|
-
|
|
6898
|
-
|
|
6934
|
+
buildMeasures,
|
|
6935
|
+
defaultEncodingForColumn
|
|
6899
6936
|
], [
|
|
6900
|
-
encodingForColumn,
|
|
6901
6937
|
buildMeasures,
|
|
6938
|
+
encodingForColumn,
|
|
6902
6939
|
pickMeasuresForReshape([
|
|
6903
6940
|
'tooltip',
|
|
6904
6941
|
'label',
|
|
@@ -6990,7 +7027,7 @@
|
|
|
6990
7027
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
|
6991
7028
|
const measures = findAllMeasures(vseedMeasures);
|
|
6992
7029
|
const encoding = {};
|
|
6993
|
-
bar_generateDefaultDimensionEncoding(dimensions, encoding);
|
|
7030
|
+
bar_generateDefaultDimensionEncoding(dimensions, encoding, hasMultipleMeasureInSingleView(vseedMeasures));
|
|
6994
7031
|
bar_generateDefaultMeasureEncoding(measures, encoding);
|
|
6995
7032
|
return {
|
|
6996
7033
|
...advancedVSeed,
|
|
@@ -7003,8 +7040,9 @@
|
|
|
7003
7040
|
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
|
7004
7041
|
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
|
7005
7042
|
const encoding = {};
|
|
7006
|
-
|
|
7007
|
-
|
|
7043
|
+
const hasMulti = hasMultipleMeasureInSingleView(vseedMeasures);
|
|
7044
|
+
if (hasDimensionEncoding) bar_generateDimensionEncoding(dimensions, encoding, hasMulti);
|
|
7045
|
+
else bar_generateDefaultDimensionEncoding(dimensions, encoding, hasMulti);
|
|
7008
7046
|
if (hasMeasureEncoding) bar_generateMeasureEncoding(measures, encoding);
|
|
7009
7047
|
else bar_generateDefaultMeasureEncoding(measures, encoding);
|
|
7010
7048
|
return {
|
|
@@ -7012,11 +7050,10 @@
|
|
|
7012
7050
|
encoding
|
|
7013
7051
|
};
|
|
7014
7052
|
};
|
|
7015
|
-
const bar_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
|
7016
|
-
const onlyMeasureId = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureId);
|
|
7053
|
+
const bar_generateDefaultDimensionEncoding = (dimensions, encoding, isMultiMeasure)=>{
|
|
7017
7054
|
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
|
7018
7055
|
encoding.y = uniqueDimIds.slice(0, 1);
|
|
7019
|
-
|
|
7056
|
+
addDefaultColorEncoding(uniqueDimIds, encoding, isMultiMeasure);
|
|
7020
7057
|
encoding.detail = encoding.color;
|
|
7021
7058
|
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureId);
|
|
7022
7059
|
encoding.label = [];
|
|
@@ -7077,11 +7114,11 @@
|
|
|
7077
7114
|
defaultDimensions_defaultDimensions,
|
|
7078
7115
|
defaultMeasureId_defaultMeasureId,
|
|
7079
7116
|
encodingAdapter([
|
|
7080
|
-
|
|
7081
|
-
|
|
7117
|
+
buildMeasures,
|
|
7118
|
+
defaultEncodingForBar
|
|
7082
7119
|
], [
|
|
7083
|
-
encodingForBar,
|
|
7084
7120
|
buildMeasures,
|
|
7121
|
+
encodingForBar,
|
|
7085
7122
|
pickMeasuresForReshape([
|
|
7086
7123
|
'tooltip',
|
|
7087
7124
|
'label',
|
|
@@ -7344,11 +7381,11 @@
|
|
|
7344
7381
|
defaultDimensions_defaultDimensions,
|
|
7345
7382
|
defaultMeasureId_defaultMeasureId,
|
|
7346
7383
|
encodingAdapter([
|
|
7347
|
-
|
|
7348
|
-
|
|
7384
|
+
buildMeasures,
|
|
7385
|
+
defaultEncodingForBar
|
|
7349
7386
|
], [
|
|
7350
|
-
encodingForBar,
|
|
7351
7387
|
buildMeasures,
|
|
7388
|
+
encodingForBar,
|
|
7352
7389
|
pickMeasuresForReshape([
|
|
7353
7390
|
'tooltip',
|
|
7354
7391
|
'label',
|
|
@@ -7459,11 +7496,11 @@
|
|
|
7459
7496
|
defaultDimensions_defaultDimensions,
|
|
7460
7497
|
defaultMeasureId_defaultMeasureId,
|
|
7461
7498
|
encodingAdapter([
|
|
7462
|
-
|
|
7463
|
-
|
|
7499
|
+
buildMeasures,
|
|
7500
|
+
defaultEncodingForBar
|
|
7464
7501
|
], [
|
|
7465
|
-
encodingForBar,
|
|
7466
7502
|
buildMeasures,
|
|
7503
|
+
encodingForBar,
|
|
7467
7504
|
pickMeasuresForReshape([
|
|
7468
7505
|
'tooltip',
|
|
7469
7506
|
'label',
|
|
@@ -7547,11 +7584,11 @@
|
|
|
7547
7584
|
defaultDimensions_defaultDimensions,
|
|
7548
7585
|
defaultMeasureId_defaultMeasureId,
|
|
7549
7586
|
encodingAdapter([
|
|
7550
|
-
|
|
7551
|
-
|
|
7587
|
+
buildMeasures,
|
|
7588
|
+
defaultEncodingForLine
|
|
7552
7589
|
], [
|
|
7553
|
-
encodingForLine,
|
|
7554
7590
|
buildMeasures,
|
|
7591
|
+
encodingForLine,
|
|
7555
7592
|
pickMeasuresForReshape([
|
|
7556
7593
|
'tooltip',
|
|
7557
7594
|
'label',
|
|
@@ -7745,11 +7782,11 @@
|
|
|
7745
7782
|
defaultDimensions_defaultDimensions,
|
|
7746
7783
|
defaultMeasureId_defaultMeasureId,
|
|
7747
7784
|
encodingAdapter([
|
|
7748
|
-
|
|
7749
|
-
|
|
7785
|
+
buildMeasures,
|
|
7786
|
+
defaultEncodingForLine
|
|
7750
7787
|
], [
|
|
7751
|
-
encodingForLine,
|
|
7752
7788
|
buildMeasures,
|
|
7789
|
+
encodingForLine,
|
|
7753
7790
|
pickMeasuresForReshape([
|
|
7754
7791
|
'tooltip',
|
|
7755
7792
|
'label',
|
|
@@ -7832,74 +7869,6 @@
|
|
|
7832
7869
|
Builder._advancedPipelineMap.areaPercent = areaPercentAdvancedPipeline;
|
|
7833
7870
|
Builder._specPipelineMap.areaPercent = areaPercentSpecPipeline;
|
|
7834
7871
|
};
|
|
7835
|
-
const defaultEncodingForScatter = (advancedVSeed)=>{
|
|
7836
|
-
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
|
7837
|
-
const measures = findAllMeasures(vseedMeasures);
|
|
7838
|
-
const encoding = {};
|
|
7839
|
-
scatter_generateDefaultDimensionEncoding(dimensions, encoding);
|
|
7840
|
-
scatter_generateDefaultMeasureEncoding(measures, encoding);
|
|
7841
|
-
return {
|
|
7842
|
-
...advancedVSeed,
|
|
7843
|
-
encoding
|
|
7844
|
-
};
|
|
7845
|
-
};
|
|
7846
|
-
const encodingForScatter = (advancedVSeed)=>{
|
|
7847
|
-
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
|
7848
|
-
const measures = findAllMeasures(vseedMeasures);
|
|
7849
|
-
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
|
7850
|
-
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
|
7851
|
-
const encoding = {};
|
|
7852
|
-
if (hasDimensionEncoding) scatter_generateDimensionEncoding(dimensions, encoding);
|
|
7853
|
-
else scatter_generateDefaultDimensionEncoding(dimensions, encoding);
|
|
7854
|
-
if (hasMeasureEncoding) scatter_generateMeasureEncoding(measures, encoding);
|
|
7855
|
-
else scatter_generateDefaultMeasureEncoding(measures, encoding);
|
|
7856
|
-
return {
|
|
7857
|
-
...advancedVSeed,
|
|
7858
|
-
encoding
|
|
7859
|
-
};
|
|
7860
|
-
};
|
|
7861
|
-
const scatter_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
|
7862
|
-
const dimensionsWithoutMeasureId = dimensions.filter((item)=>item.id !== MeasureId);
|
|
7863
|
-
const uniqueDimIds = chunk_QJLMYOTX_i(dimensionsWithoutMeasureId.map((d)=>d.id));
|
|
7864
|
-
encoding.detail = encoding.color;
|
|
7865
|
-
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureId);
|
|
7866
|
-
encoding.label = [];
|
|
7867
|
-
encoding.row = [];
|
|
7868
|
-
encoding.column = [];
|
|
7869
|
-
};
|
|
7870
|
-
const scatter_generateDimensionEncoding = (dimensions, encoding)=>{
|
|
7871
|
-
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
|
7872
|
-
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
|
7873
|
-
if (0 === encoding.detail.length) encoding.detail = [
|
|
7874
|
-
MeasureId
|
|
7875
|
-
];
|
|
7876
|
-
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
|
7877
|
-
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureId);
|
|
7878
|
-
encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
|
|
7879
|
-
encoding.label = encoding.label.filter((d)=>d !== MeasureId);
|
|
7880
|
-
};
|
|
7881
|
-
const scatter_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
|
7882
|
-
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || 'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
|
7883
|
-
};
|
|
7884
|
-
const scatter_generateMeasureEncoding = (measures, encoding)=>{
|
|
7885
|
-
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || 'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
|
7886
|
-
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
|
7887
|
-
if (color.length > 0) encoding.color = [
|
|
7888
|
-
color[0]
|
|
7889
|
-
];
|
|
7890
|
-
encoding.size = chunk_QJLMYOTX_i(measures.filter((item)=>'size' === item.encoding).map((item)=>item.id));
|
|
7891
|
-
const label = chunk_QJLMYOTX_i(measures.filter((item)=>'label' === item.encoding).map((item)=>item.id));
|
|
7892
|
-
encoding.label = chunk_QJLMYOTX_i([
|
|
7893
|
-
...encoding.label || [],
|
|
7894
|
-
...label
|
|
7895
|
-
]);
|
|
7896
|
-
const tooltip = chunk_QJLMYOTX_i(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
|
7897
|
-
encoding.tooltip = chunk_QJLMYOTX_i([
|
|
7898
|
-
...encoding.tooltip || [],
|
|
7899
|
-
...label,
|
|
7900
|
-
...tooltip
|
|
7901
|
-
]);
|
|
7902
|
-
};
|
|
7903
7872
|
const buildMeasuresForScatter = (advancedVSeed, context)=>{
|
|
7904
7873
|
const { vseed } = context;
|
|
7905
7874
|
if (isMeasureTreeWithChildren(advancedVSeed.measures)) return advancedVSeed;
|
|
@@ -7907,33 +7876,49 @@
|
|
|
7907
7876
|
advancedVSeed.measures = buildMeasuresForScatter_generateMeasuresByParentId(advancedVSeed.measures);
|
|
7908
7877
|
return advancedVSeed;
|
|
7909
7878
|
}
|
|
7910
|
-
|
|
7879
|
+
if (vseed.scatterMeasures) {
|
|
7880
|
+
advancedVSeed.measures = scatterMeasuresToMeasureTree(chunk_BCBB46UE_d(vseed.scatterMeasures));
|
|
7881
|
+
return advancedVSeed;
|
|
7882
|
+
}
|
|
7883
|
+
const { scatterMeasures, encodedMeasures } = basicMeasuresToScatterMeasures(advancedVSeed.measures || []);
|
|
7911
7884
|
advancedVSeed.measures = scatterMeasuresToMeasureTree(scatterMeasures);
|
|
7885
|
+
if (encodedMeasures.length) encodedMeasures.forEach((m)=>{
|
|
7886
|
+
advancedVSeed.measures.push(m);
|
|
7887
|
+
});
|
|
7912
7888
|
return advancedVSeed;
|
|
7913
7889
|
};
|
|
7914
7890
|
const basicMeasuresToScatterMeasures = (basicMeasures)=>{
|
|
7915
7891
|
const yMeasures = [];
|
|
7916
7892
|
const xMeasures = [];
|
|
7893
|
+
const encodedMeasures = [];
|
|
7917
7894
|
for(let index = 0; index < basicMeasures.length; index++){
|
|
7918
7895
|
const item = basicMeasures[index];
|
|
7919
|
-
const encoding =
|
|
7920
|
-
|
|
7921
|
-
|
|
7922
|
-
const
|
|
7923
|
-
|
|
7896
|
+
const encoding = item.encoding;
|
|
7897
|
+
const isYAxis = 'yAxis' === encoding;
|
|
7898
|
+
const isXAxis = 'xAxis' === encoding;
|
|
7899
|
+
const isOther = encoding && [
|
|
7900
|
+
'color',
|
|
7901
|
+
'label',
|
|
7902
|
+
'tooltip',
|
|
7903
|
+
'detail'
|
|
7904
|
+
].includes(encoding);
|
|
7924
7905
|
if (isYAxis) yMeasures.push(item);
|
|
7925
7906
|
else if (isXAxis) xMeasures.push(item);
|
|
7907
|
+
else if (isOther) encodedMeasures.push(item);
|
|
7926
7908
|
else if (0 !== index) yMeasures.push(item);
|
|
7927
7909
|
else xMeasures.push(item);
|
|
7928
7910
|
}
|
|
7929
7911
|
if (0 === yMeasures.length && xMeasures.length > 0) yMeasures.push(xMeasures[0]);
|
|
7930
|
-
return
|
|
7931
|
-
|
|
7932
|
-
|
|
7933
|
-
|
|
7934
|
-
|
|
7935
|
-
|
|
7936
|
-
|
|
7912
|
+
return {
|
|
7913
|
+
scatterMeasures: [
|
|
7914
|
+
{
|
|
7915
|
+
id: 'scatterMeasures',
|
|
7916
|
+
xMeasures,
|
|
7917
|
+
yMeasures
|
|
7918
|
+
}
|
|
7919
|
+
],
|
|
7920
|
+
encodedMeasures
|
|
7921
|
+
};
|
|
7937
7922
|
};
|
|
7938
7923
|
const scatterMeasuresToMeasureTree = (scatterMeasures)=>{
|
|
7939
7924
|
const measureTree = scatterMeasures.map((item, index)=>{
|
|
@@ -7975,6 +7960,7 @@
|
|
|
7975
7960
|
};
|
|
7976
7961
|
const buildMeasuresForScatter_generateMeasuresByParentId = (measures)=>{
|
|
7977
7962
|
const scatterMeasures = [];
|
|
7963
|
+
const encodedMeasures = [];
|
|
7978
7964
|
measures.forEach((item)=>{
|
|
7979
7965
|
const id = item.parentId || DEFAULT_PARENT_ID;
|
|
7980
7966
|
if (!scatterMeasures.find((d)=>d.id === id)) scatterMeasures.push({
|
|
@@ -7984,18 +7970,93 @@
|
|
|
7984
7970
|
});
|
|
7985
7971
|
const scatterChart = scatterMeasures.find((d)=>d.id === id);
|
|
7986
7972
|
if (!scatterChart || !Array.isArray(scatterChart.yMeasures) || !Array.isArray(scatterChart.xMeasures)) return;
|
|
7987
|
-
const
|
|
7988
|
-
|
|
7989
|
-
|
|
7990
|
-
|
|
7991
|
-
|
|
7992
|
-
|
|
7993
|
-
|
|
7994
|
-
|
|
7995
|
-
|
|
7973
|
+
const isYAxis = 'yAxis' === item.encoding;
|
|
7974
|
+
const isXAxis = 'xAxis' === item.encoding;
|
|
7975
|
+
const isOther = item.encoding && [
|
|
7976
|
+
'color',
|
|
7977
|
+
'label',
|
|
7978
|
+
'tooltip',
|
|
7979
|
+
'detail'
|
|
7980
|
+
].includes(item.encoding);
|
|
7981
|
+
if (isYAxis) scatterChart.yMeasures.push(item);
|
|
7982
|
+
else if (isXAxis) scatterChart.xMeasures.push(item);
|
|
7983
|
+
else if (isOther) encodedMeasures.push(item);
|
|
7984
|
+
else if (0 !== scatterChart.yMeasures.length) scatterChart.yMeasures.push(item);
|
|
7996
7985
|
else scatterChart.xMeasures.push(item);
|
|
7997
7986
|
});
|
|
7998
|
-
|
|
7987
|
+
const res = scatterMeasuresToMeasureTree(scatterMeasures);
|
|
7988
|
+
if (encodedMeasures.length) encodedMeasures.forEach((m)=>{
|
|
7989
|
+
res.push(m);
|
|
7990
|
+
});
|
|
7991
|
+
return res;
|
|
7992
|
+
};
|
|
7993
|
+
const defaultEncodingForScatter = (advancedVSeed)=>{
|
|
7994
|
+
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
|
7995
|
+
const measures = findAllMeasures(vseedMeasures);
|
|
7996
|
+
const encoding = {};
|
|
7997
|
+
scatter_generateDefaultDimensionEncoding(dimensions, encoding);
|
|
7998
|
+
scatter_generateDefaultMeasureEncoding(measures, encoding);
|
|
7999
|
+
return {
|
|
8000
|
+
...advancedVSeed,
|
|
8001
|
+
encoding
|
|
8002
|
+
};
|
|
8003
|
+
};
|
|
8004
|
+
const encodingForScatter = (advancedVSeed)=>{
|
|
8005
|
+
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
|
8006
|
+
const measures = findAllMeasures(vseedMeasures);
|
|
8007
|
+
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
|
8008
|
+
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
|
8009
|
+
const encoding = {};
|
|
8010
|
+
if (hasDimensionEncoding) scatter_generateDimensionEncoding(dimensions, encoding);
|
|
8011
|
+
else scatter_generateDefaultDimensionEncoding(dimensions, encoding);
|
|
8012
|
+
if (hasMeasureEncoding) scatter_generateMeasureEncoding(measures, encoding);
|
|
8013
|
+
else scatter_generateDefaultMeasureEncoding(measures, encoding);
|
|
8014
|
+
return {
|
|
8015
|
+
...advancedVSeed,
|
|
8016
|
+
encoding
|
|
8017
|
+
};
|
|
8018
|
+
};
|
|
8019
|
+
const scatter_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
|
8020
|
+
const dimensionsWithoutMeasureId = dimensions.filter((item)=>item.id !== MeasureId);
|
|
8021
|
+
const uniqueDimIds = chunk_QJLMYOTX_i(dimensionsWithoutMeasureId.map((d)=>d.id));
|
|
8022
|
+
encoding.detail = encoding.color;
|
|
8023
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureId);
|
|
8024
|
+
encoding.label = [];
|
|
8025
|
+
encoding.row = [];
|
|
8026
|
+
encoding.column = [];
|
|
8027
|
+
};
|
|
8028
|
+
const scatter_generateDimensionEncoding = (dimensions, encoding)=>{
|
|
8029
|
+
encoding.color = chunk_QJLMYOTX_i(dimensions.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
|
8030
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
|
8031
|
+
if (0 === encoding.detail.length) encoding.detail = [
|
|
8032
|
+
MeasureId
|
|
8033
|
+
];
|
|
8034
|
+
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
|
8035
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureId);
|
|
8036
|
+
encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
|
|
8037
|
+
encoding.label = encoding.label.filter((d)=>d !== MeasureId);
|
|
8038
|
+
};
|
|
8039
|
+
const scatter_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
|
8040
|
+
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || 'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
|
8041
|
+
};
|
|
8042
|
+
const scatter_generateMeasureEncoding = (measures, encoding)=>{
|
|
8043
|
+
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'xAxis' === item.encoding || 'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
|
8044
|
+
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
|
8045
|
+
if (color.length > 0) encoding.color = [
|
|
8046
|
+
color[0]
|
|
8047
|
+
];
|
|
8048
|
+
encoding.size = chunk_QJLMYOTX_i(measures.filter((item)=>'size' === item.encoding).map((item)=>item.id));
|
|
8049
|
+
const label = chunk_QJLMYOTX_i(measures.filter((item)=>'label' === item.encoding).map((item)=>item.id));
|
|
8050
|
+
encoding.label = chunk_QJLMYOTX_i([
|
|
8051
|
+
...encoding.label || [],
|
|
8052
|
+
...label
|
|
8053
|
+
]);
|
|
8054
|
+
const tooltip = chunk_QJLMYOTX_i(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
|
8055
|
+
encoding.tooltip = chunk_QJLMYOTX_i([
|
|
8056
|
+
...encoding.tooltip || [],
|
|
8057
|
+
...label,
|
|
8058
|
+
...tooltip
|
|
8059
|
+
]);
|
|
7999
8060
|
};
|
|
8000
8061
|
const scatterConfig = (advancedVSeed, context)=>{
|
|
8001
8062
|
const { vseed } = context;
|
|
@@ -8032,7 +8093,7 @@
|
|
|
8032
8093
|
const { vseed } = context;
|
|
8033
8094
|
const { dataset } = vseed;
|
|
8034
8095
|
const { encoding, chartType } = advancedVSeed;
|
|
8035
|
-
const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? [];
|
|
8096
|
+
const measures = (advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? []).filter((m)=>m && m.children);
|
|
8036
8097
|
const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
|
|
8037
8098
|
if (measures.length > 2) throw new Error('measures can not be more than 2 groups in scatter');
|
|
8038
8099
|
const foldInfoList = [];
|
|
@@ -8164,11 +8225,11 @@
|
|
|
8164
8225
|
defaultDimensions_defaultDimensions,
|
|
8165
8226
|
defaultMeasureId_defaultMeasureId,
|
|
8166
8227
|
encodingAdapter([
|
|
8167
|
-
|
|
8168
|
-
|
|
8228
|
+
buildMeasuresForScatter,
|
|
8229
|
+
defaultEncodingForScatter
|
|
8169
8230
|
], [
|
|
8170
|
-
encodingForScatter,
|
|
8171
8231
|
buildMeasuresForScatter,
|
|
8232
|
+
encodingForScatter,
|
|
8172
8233
|
pickMeasuresForReshape([
|
|
8173
8234
|
'tooltip',
|
|
8174
8235
|
'label',
|
|
@@ -8894,75 +8955,6 @@
|
|
|
8894
8955
|
Builder._advancedPipelineMap.scatter = scatterAdvancedPipeline;
|
|
8895
8956
|
Builder._specPipelineMap.scatter = scatterSpecPipeline;
|
|
8896
8957
|
};
|
|
8897
|
-
const defaultEncodingForDualAxis = (advancedVSeed)=>{
|
|
8898
|
-
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
|
8899
|
-
const measures = findAllMeasures(vseedMeasures);
|
|
8900
|
-
const encoding = {};
|
|
8901
|
-
dualAxis_generateDefaultDimensionEncoding(dimensions, encoding);
|
|
8902
|
-
dualAxis_generateDefaultMeasureEncoding(measures, encoding);
|
|
8903
|
-
return {
|
|
8904
|
-
...advancedVSeed,
|
|
8905
|
-
encoding
|
|
8906
|
-
};
|
|
8907
|
-
};
|
|
8908
|
-
const encodingForDualAxis = (advancedVSeed)=>{
|
|
8909
|
-
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
|
8910
|
-
const measures = findAllMeasures(vseedMeasures);
|
|
8911
|
-
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
|
8912
|
-
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
|
8913
|
-
const encoding = {};
|
|
8914
|
-
if (hasDimensionEncoding) dualAxis_generateDimensionEncoding(dimensions, encoding, measures.length > 1);
|
|
8915
|
-
else dualAxis_generateDefaultDimensionEncoding(dimensions, encoding);
|
|
8916
|
-
if (hasMeasureEncoding) dualAxis_generateMeasureEncoding(measures, encoding);
|
|
8917
|
-
else dualAxis_generateDefaultMeasureEncoding(measures, encoding);
|
|
8918
|
-
return {
|
|
8919
|
-
...advancedVSeed,
|
|
8920
|
-
encoding
|
|
8921
|
-
};
|
|
8922
|
-
};
|
|
8923
|
-
const dualAxis_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
|
8924
|
-
const onlyMeasureId = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureId);
|
|
8925
|
-
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
|
8926
|
-
encoding.x = uniqueDimIds.slice(0, 1);
|
|
8927
|
-
encoding.color = uniqueDimIds.slice(onlyMeasureId ? 0 : 1);
|
|
8928
|
-
encoding.detail = encoding.color;
|
|
8929
|
-
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureId);
|
|
8930
|
-
encoding.label = [];
|
|
8931
|
-
encoding.row = [];
|
|
8932
|
-
encoding.column = [];
|
|
8933
|
-
};
|
|
8934
|
-
const dualAxis_generateDimensionEncoding = (dimensions, encoding, isMultiMeasure)=>{
|
|
8935
|
-
encoding.x = chunk_QJLMYOTX_i(dimensions.filter((item)=>'xAxis' === item.encoding).map((item)=>item.id));
|
|
8936
|
-
if (0 === encoding.x.length) encoding.x = [
|
|
8937
|
-
dimensions[0].id
|
|
8938
|
-
];
|
|
8939
|
-
addColorToEncoding(dimensions, encoding, isMultiMeasure);
|
|
8940
|
-
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
|
8941
|
-
if (0 === encoding.detail.length) encoding.detail = encoding.color;
|
|
8942
|
-
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
|
8943
|
-
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureId);
|
|
8944
|
-
encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
|
|
8945
|
-
encoding.label = encoding.label.filter((d)=>d !== MeasureId);
|
|
8946
|
-
};
|
|
8947
|
-
const dualAxis_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
|
8948
|
-
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
|
8949
|
-
};
|
|
8950
|
-
const dualAxis_generateMeasureEncoding = (measures, encoding)=>{
|
|
8951
|
-
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
|
8952
|
-
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
|
8953
|
-
if (color.length > 0) encoding.color = color;
|
|
8954
|
-
const label = chunk_QJLMYOTX_i(measures.filter((item)=>'label' === item.encoding).map((item)=>item.id));
|
|
8955
|
-
encoding.label = chunk_QJLMYOTX_i([
|
|
8956
|
-
...encoding.label || [],
|
|
8957
|
-
...label
|
|
8958
|
-
]);
|
|
8959
|
-
const tooltip = chunk_QJLMYOTX_i(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
|
8960
|
-
encoding.tooltip = chunk_QJLMYOTX_i([
|
|
8961
|
-
...encoding.tooltip || [],
|
|
8962
|
-
...label,
|
|
8963
|
-
...tooltip
|
|
8964
|
-
]);
|
|
8965
|
-
};
|
|
8966
8958
|
const buildMeasuresForDualAxis = (advancedVSeed, context)=>{
|
|
8967
8959
|
const { vseed } = context;
|
|
8968
8960
|
if (isMeasureTreeWithChildren(advancedVSeed.measures)) return advancedVSeed;
|
|
@@ -8970,32 +8962,48 @@
|
|
|
8970
8962
|
advancedVSeed.measures = buildMeasuresForDualAxis_generateMeasuresByParentId(advancedVSeed.measures);
|
|
8971
8963
|
return advancedVSeed;
|
|
8972
8964
|
}
|
|
8973
|
-
|
|
8965
|
+
if (vseed.dualMeasures) {
|
|
8966
|
+
advancedVSeed.measures = dualMeasuresToMeasureTree(chunk_BCBB46UE_d(vseed.dualMeasures));
|
|
8967
|
+
return advancedVSeed;
|
|
8968
|
+
}
|
|
8969
|
+
const { dualMeasures, encodedMeasures } = basicMeasuresToDualMeasures(advancedVSeed.measures || []);
|
|
8974
8970
|
advancedVSeed.measures = dualMeasuresToMeasureTree(dualMeasures);
|
|
8971
|
+
if (encodedMeasures.length) encodedMeasures.forEach((m)=>{
|
|
8972
|
+
advancedVSeed.measures.push(m);
|
|
8973
|
+
});
|
|
8975
8974
|
return advancedVSeed;
|
|
8976
8975
|
};
|
|
8977
8976
|
const basicMeasuresToDualMeasures = (basicMeasures)=>{
|
|
8978
8977
|
const primaryMeasures = [];
|
|
8979
8978
|
const secondaryMeasures = [];
|
|
8979
|
+
const encodedMeasures = [];
|
|
8980
8980
|
for(let index = 0; index < basicMeasures.length; index++){
|
|
8981
8981
|
const item = basicMeasures[index];
|
|
8982
|
-
const encoding =
|
|
8983
|
-
|
|
8984
|
-
|
|
8985
|
-
const
|
|
8986
|
-
|
|
8982
|
+
const encoding = item.encoding;
|
|
8983
|
+
const isPrimaryYAxis = 'primaryYAxis' === encoding;
|
|
8984
|
+
const isSecondaryYAxis = 'secondaryYAxis' === encoding;
|
|
8985
|
+
const isOtherEncoding = item.encoding && [
|
|
8986
|
+
'color',
|
|
8987
|
+
'label',
|
|
8988
|
+
'tooltip',
|
|
8989
|
+
'detail'
|
|
8990
|
+
].includes(item.encoding);
|
|
8987
8991
|
if (isPrimaryYAxis) primaryMeasures.push(item);
|
|
8988
8992
|
else if (isSecondaryYAxis) secondaryMeasures.push(item);
|
|
8993
|
+
else if (isOtherEncoding) encodedMeasures.push(item);
|
|
8989
8994
|
else if (0 === index) primaryMeasures.push(item);
|
|
8990
8995
|
else secondaryMeasures.push(item);
|
|
8991
8996
|
}
|
|
8992
|
-
return
|
|
8993
|
-
|
|
8994
|
-
|
|
8995
|
-
|
|
8996
|
-
|
|
8997
|
-
|
|
8998
|
-
|
|
8997
|
+
return {
|
|
8998
|
+
dualMeasures: [
|
|
8999
|
+
{
|
|
9000
|
+
id: 'dualMeasures',
|
|
9001
|
+
primaryMeasures,
|
|
9002
|
+
secondaryMeasures
|
|
9003
|
+
}
|
|
9004
|
+
],
|
|
9005
|
+
encodedMeasures
|
|
9006
|
+
};
|
|
8999
9007
|
};
|
|
9000
9008
|
const dualMeasuresToMeasureTree = (dualMeasures)=>{
|
|
9001
9009
|
const measureTree = dualMeasures.map((item, index)=>{
|
|
@@ -9037,6 +9045,7 @@
|
|
|
9037
9045
|
};
|
|
9038
9046
|
const buildMeasuresForDualAxis_generateMeasuresByParentId = (measures)=>{
|
|
9039
9047
|
const dualMeasures = [];
|
|
9048
|
+
const encodedMeasures = [];
|
|
9040
9049
|
measures.forEach((item)=>{
|
|
9041
9050
|
const id = item.parentId || DEFAULT_PARENT_ID;
|
|
9042
9051
|
if (!dualMeasures.find((d)=>d.id === id)) dualMeasures.push({
|
|
@@ -9046,18 +9055,103 @@
|
|
|
9046
9055
|
});
|
|
9047
9056
|
const dualChart = dualMeasures.find((d)=>d.id === id);
|
|
9048
9057
|
if (!dualChart || !Array.isArray(dualChart.primaryMeasures) || !Array.isArray(dualChart.secondaryMeasures)) return;
|
|
9049
|
-
const encoding =
|
|
9050
|
-
|
|
9051
|
-
|
|
9052
|
-
const
|
|
9053
|
-
|
|
9054
|
-
|
|
9055
|
-
|
|
9056
|
-
|
|
9057
|
-
|
|
9058
|
+
const encoding = item.encoding;
|
|
9059
|
+
const isPrimaryYAxis = 'primaryYAxis' === encoding;
|
|
9060
|
+
const isSecondaryYAxis = 'secondaryYAxis' === encoding;
|
|
9061
|
+
const isOtherEncoding = item.encoding && [
|
|
9062
|
+
'color',
|
|
9063
|
+
'label',
|
|
9064
|
+
'tooltip',
|
|
9065
|
+
'detail'
|
|
9066
|
+
].includes(item.encoding);
|
|
9067
|
+
if (isPrimaryYAxis) dualChart.primaryMeasures.push(item);
|
|
9068
|
+
else if (isSecondaryYAxis) dualChart.secondaryMeasures.push(item);
|
|
9069
|
+
else if (isOtherEncoding) encodedMeasures.push(item);
|
|
9070
|
+
else if (0 === dualChart.primaryMeasures.length) dualChart.primaryMeasures.push(item);
|
|
9058
9071
|
else dualChart.secondaryMeasures.push(item);
|
|
9059
9072
|
});
|
|
9060
|
-
|
|
9073
|
+
const res = dualMeasuresToMeasureTree(dualMeasures);
|
|
9074
|
+
if (encodedMeasures.length) encodedMeasures.forEach((m)=>{
|
|
9075
|
+
res.push(m);
|
|
9076
|
+
});
|
|
9077
|
+
return res;
|
|
9078
|
+
};
|
|
9079
|
+
const checkSingleViewMultiMeasures = (measures = [])=>measures.length <= 1 && (measures[0].children ?? []).length <= 1;
|
|
9080
|
+
const dualAxis_hasMultipleMeasureInSingleView = (measures = [])=>{
|
|
9081
|
+
const depth = measureDepth(measures);
|
|
9082
|
+
if (depth >= 3) return measures.some((m)=>m && m.children && !checkSingleViewMultiMeasures(m.children));
|
|
9083
|
+
if (2 === depth) return !checkSingleViewMultiMeasures(measures);
|
|
9084
|
+
if (1 === depth) return measures.length >= 1;
|
|
9085
|
+
return false;
|
|
9086
|
+
};
|
|
9087
|
+
const defaultEncodingForDualAxis = (advancedVSeed)=>{
|
|
9088
|
+
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
|
9089
|
+
const measures = findAllMeasures(vseedMeasures);
|
|
9090
|
+
const encoding = {};
|
|
9091
|
+
dualAxis_generateDefaultDimensionEncoding(dimensions, encoding, dualAxis_hasMultipleMeasureInSingleView(vseedMeasures));
|
|
9092
|
+
dualAxis_generateDefaultMeasureEncoding(measures, encoding);
|
|
9093
|
+
return {
|
|
9094
|
+
...advancedVSeed,
|
|
9095
|
+
encoding
|
|
9096
|
+
};
|
|
9097
|
+
};
|
|
9098
|
+
const encodingForDualAxis = (advancedVSeed)=>{
|
|
9099
|
+
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
|
9100
|
+
const measures = findAllMeasures(vseedMeasures);
|
|
9101
|
+
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
|
9102
|
+
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
|
9103
|
+
const encoding = {};
|
|
9104
|
+
const hasMulti = dualAxis_hasMultipleMeasureInSingleView(vseedMeasures);
|
|
9105
|
+
if (hasDimensionEncoding) dualAxis_generateDimensionEncoding(dimensions, encoding, hasMulti);
|
|
9106
|
+
else dualAxis_generateDefaultDimensionEncoding(dimensions, encoding, hasMulti);
|
|
9107
|
+
if (hasMeasureEncoding) dualAxis_generateMeasureEncoding(measures, encoding);
|
|
9108
|
+
else dualAxis_generateDefaultMeasureEncoding(measures, encoding);
|
|
9109
|
+
return {
|
|
9110
|
+
...advancedVSeed,
|
|
9111
|
+
encoding
|
|
9112
|
+
};
|
|
9113
|
+
};
|
|
9114
|
+
const dualAxis_generateDefaultDimensionEncoding = (dimensions, encoding, isMultiMeasure)=>{
|
|
9115
|
+
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
|
9116
|
+
encoding.x = uniqueDimIds.slice(0, 1);
|
|
9117
|
+
addDefaultColorEncoding(uniqueDimIds, encoding, isMultiMeasure);
|
|
9118
|
+
encoding.detail = encoding.color;
|
|
9119
|
+
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureId);
|
|
9120
|
+
encoding.label = [];
|
|
9121
|
+
encoding.row = [];
|
|
9122
|
+
encoding.column = [];
|
|
9123
|
+
};
|
|
9124
|
+
const dualAxis_generateDimensionEncoding = (dimensions, encoding, isMultiMeasure)=>{
|
|
9125
|
+
encoding.x = chunk_QJLMYOTX_i(dimensions.filter((item)=>'xAxis' === item.encoding).map((item)=>item.id));
|
|
9126
|
+
if (0 === encoding.x.length) encoding.x = [
|
|
9127
|
+
dimensions[0].id
|
|
9128
|
+
];
|
|
9129
|
+
addColorToEncoding(dimensions, encoding, isMultiMeasure);
|
|
9130
|
+
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
|
9131
|
+
if (0 === encoding.detail.length) encoding.detail = encoding.color;
|
|
9132
|
+
encoding.tooltip = chunk_QJLMYOTX_i(dimensions.map((item)=>item.id));
|
|
9133
|
+
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureId);
|
|
9134
|
+
encoding.label = chunk_QJLMYOTX_i(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
|
|
9135
|
+
encoding.label = encoding.label.filter((d)=>d !== MeasureId);
|
|
9136
|
+
};
|
|
9137
|
+
const dualAxis_generateDefaultMeasureEncoding = (measures, encoding)=>{
|
|
9138
|
+
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
|
9139
|
+
};
|
|
9140
|
+
const dualAxis_generateMeasureEncoding = (measures, encoding)=>{
|
|
9141
|
+
encoding.y = chunk_QJLMYOTX_i(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
|
9142
|
+
const color = chunk_QJLMYOTX_i(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
|
9143
|
+
if (color.length > 0) encoding.color = color;
|
|
9144
|
+
const label = chunk_QJLMYOTX_i(measures.filter((item)=>'label' === item.encoding).map((item)=>item.id));
|
|
9145
|
+
encoding.label = chunk_QJLMYOTX_i([
|
|
9146
|
+
...encoding.label || [],
|
|
9147
|
+
...label
|
|
9148
|
+
]);
|
|
9149
|
+
const tooltip = chunk_QJLMYOTX_i(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
|
9150
|
+
encoding.tooltip = chunk_QJLMYOTX_i([
|
|
9151
|
+
...encoding.tooltip || [],
|
|
9152
|
+
...label,
|
|
9153
|
+
...tooltip
|
|
9154
|
+
]);
|
|
9061
9155
|
};
|
|
9062
9156
|
const reshapeWithDualEncoding = (advancedVSeed, context)=>{
|
|
9063
9157
|
const result = {
|
|
@@ -9066,7 +9160,7 @@
|
|
|
9066
9160
|
const { vseed } = context;
|
|
9067
9161
|
const { dataset } = vseed;
|
|
9068
9162
|
const { encoding, chartType } = advancedVSeed;
|
|
9069
|
-
const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? [];
|
|
9163
|
+
const measures = (advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? []).filter((m)=>m && m.children);
|
|
9070
9164
|
const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
|
|
9071
9165
|
if (measures.length > 2) throw new Error('measures can not be more than 2 groups in dualAxis');
|
|
9072
9166
|
const foldInfoList = [];
|
|
@@ -9131,9 +9225,9 @@
|
|
|
9131
9225
|
const measureGroups = [];
|
|
9132
9226
|
const depth = measureDepth(measures);
|
|
9133
9227
|
if (3 === depth) measures.forEach((measure)=>{
|
|
9134
|
-
measureGroups.push(measure.children);
|
|
9228
|
+
if (measure.children) measureGroups.push(measure.children);
|
|
9135
9229
|
});
|
|
9136
|
-
else if (2 === depth) measureGroups.push(measures);
|
|
9230
|
+
else if (2 === depth) measureGroups.push(measures.filter((m)=>m && m.children));
|
|
9137
9231
|
measureGroups.forEach((measures, index)=>{
|
|
9138
9232
|
if (measures.length > 2) throw new Error('measures can not be more than 2 groups in dualAxis');
|
|
9139
9233
|
const foldInfoList = [];
|
|
@@ -9226,11 +9320,11 @@
|
|
|
9226
9320
|
defaultDimensions_defaultDimensions,
|
|
9227
9321
|
defaultMeasureId_defaultMeasureId,
|
|
9228
9322
|
encodingAdapter([
|
|
9229
|
-
|
|
9230
|
-
|
|
9323
|
+
buildMeasuresForDualAxis,
|
|
9324
|
+
defaultEncodingForDualAxis
|
|
9231
9325
|
], [
|
|
9232
|
-
encodingForDualAxis,
|
|
9233
9326
|
buildMeasuresForDualAxis,
|
|
9327
|
+
encodingForDualAxis,
|
|
9234
9328
|
pickMeasuresForReshape([
|
|
9235
9329
|
'tooltip',
|
|
9236
9330
|
'label',
|
|
@@ -10250,7 +10344,7 @@
|
|
|
10250
10344
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
|
10251
10345
|
const measures = findAllMeasures(vseedMeasures);
|
|
10252
10346
|
const encoding = {};
|
|
10253
|
-
rose_generateDefaultDimensionEncoding(dimensions, encoding);
|
|
10347
|
+
rose_generateDefaultDimensionEncoding(dimensions, encoding, hasMultipleMeasureInSingleView(vseedMeasures));
|
|
10254
10348
|
rose_generateDefaultMeasureEncoding(measures, encoding);
|
|
10255
10349
|
return {
|
|
10256
10350
|
...advancedVSeed,
|
|
@@ -10263,8 +10357,9 @@
|
|
|
10263
10357
|
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
|
10264
10358
|
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
|
10265
10359
|
const encoding = {};
|
|
10266
|
-
|
|
10267
|
-
|
|
10360
|
+
const hasMulti = hasMultipleMeasureInSingleView(vseedMeasures);
|
|
10361
|
+
if (hasDimensionEncoding) rose_generateDimensionEncoding(dimensions, encoding, hasMulti);
|
|
10362
|
+
else rose_generateDefaultDimensionEncoding(dimensions, encoding, hasMulti);
|
|
10268
10363
|
if (hasMeasureEncoding) rose_generateMeasureEncoding(measures, encoding);
|
|
10269
10364
|
else rose_generateDefaultMeasureEncoding(measures, encoding);
|
|
10270
10365
|
return {
|
|
@@ -10272,11 +10367,10 @@
|
|
|
10272
10367
|
encoding
|
|
10273
10368
|
};
|
|
10274
10369
|
};
|
|
10275
|
-
const rose_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
|
10276
|
-
const onlyMeasureId = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureId);
|
|
10370
|
+
const rose_generateDefaultDimensionEncoding = (dimensions, encoding, isMultiMeasure)=>{
|
|
10277
10371
|
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
|
10278
10372
|
encoding.angle = uniqueDimIds.slice(0, 1);
|
|
10279
|
-
|
|
10373
|
+
addDefaultColorEncoding(uniqueDimIds, encoding, isMultiMeasure);
|
|
10280
10374
|
encoding.detail = encoding.color;
|
|
10281
10375
|
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureId);
|
|
10282
10376
|
encoding.label = [];
|
|
@@ -10321,11 +10415,11 @@
|
|
|
10321
10415
|
defaultDimensions_defaultDimensions,
|
|
10322
10416
|
defaultMeasureId_defaultMeasureId,
|
|
10323
10417
|
encodingAdapter([
|
|
10324
|
-
|
|
10325
|
-
|
|
10418
|
+
buildMeasures,
|
|
10419
|
+
defaultEncodingForRose
|
|
10326
10420
|
], [
|
|
10327
|
-
encodingForRose,
|
|
10328
10421
|
buildMeasures,
|
|
10422
|
+
encodingForRose,
|
|
10329
10423
|
pickMeasuresForReshape([
|
|
10330
10424
|
'tooltip',
|
|
10331
10425
|
'label',
|
|
@@ -10474,11 +10568,11 @@
|
|
|
10474
10568
|
defaultDimensions_defaultDimensions,
|
|
10475
10569
|
defaultMeasureId_defaultMeasureId,
|
|
10476
10570
|
encodingAdapter([
|
|
10477
|
-
|
|
10478
|
-
|
|
10571
|
+
buildMeasures,
|
|
10572
|
+
defaultEncodingForRose
|
|
10479
10573
|
], [
|
|
10480
|
-
encodingForRose,
|
|
10481
10574
|
buildMeasures,
|
|
10575
|
+
encodingForRose,
|
|
10482
10576
|
pickMeasuresForReshape([
|
|
10483
10577
|
'tooltip',
|
|
10484
10578
|
'label',
|
|
@@ -10597,7 +10691,7 @@
|
|
|
10597
10691
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
|
10598
10692
|
const measures = findAllMeasures(vseedMeasures);
|
|
10599
10693
|
const encoding = {};
|
|
10600
|
-
radar_generateDefaultDimensionEncoding(dimensions, encoding);
|
|
10694
|
+
radar_generateDefaultDimensionEncoding(dimensions, encoding, hasMultipleMeasureInSingleView(vseedMeasures));
|
|
10601
10695
|
radar_generateDefaultMeasureEncoding(measures, encoding);
|
|
10602
10696
|
return {
|
|
10603
10697
|
...advancedVSeed,
|
|
@@ -10610,8 +10704,9 @@
|
|
|
10610
10704
|
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
|
10611
10705
|
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
|
10612
10706
|
const encoding = {};
|
|
10613
|
-
|
|
10614
|
-
|
|
10707
|
+
const hasMulti = hasMultipleMeasureInSingleView(vseedMeasures);
|
|
10708
|
+
if (hasDimensionEncoding) radar_generateDimensionEncoding(dimensions, encoding, hasMulti);
|
|
10709
|
+
else radar_generateDefaultDimensionEncoding(dimensions, encoding, hasMulti);
|
|
10615
10710
|
if (hasMeasureEncoding) radar_generateMeasureEncoding(measures, encoding);
|
|
10616
10711
|
else radar_generateDefaultMeasureEncoding(measures, encoding);
|
|
10617
10712
|
return {
|
|
@@ -10619,10 +10714,10 @@
|
|
|
10619
10714
|
encoding
|
|
10620
10715
|
};
|
|
10621
10716
|
};
|
|
10622
|
-
const radar_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
|
10717
|
+
const radar_generateDefaultDimensionEncoding = (dimensions, encoding, isMultiMeasure)=>{
|
|
10623
10718
|
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
|
10624
10719
|
encoding.angle = uniqueDimIds.slice(0, 1);
|
|
10625
|
-
encoding
|
|
10720
|
+
addDefaultColorEncoding(uniqueDimIds, encoding, isMultiMeasure);
|
|
10626
10721
|
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureId);
|
|
10627
10722
|
encoding.detail = [];
|
|
10628
10723
|
encoding.label = [];
|
|
@@ -10669,11 +10764,11 @@
|
|
|
10669
10764
|
defaultDimensions_defaultDimensions,
|
|
10670
10765
|
defaultMeasureId_defaultMeasureId,
|
|
10671
10766
|
encodingAdapter([
|
|
10672
|
-
|
|
10673
|
-
|
|
10767
|
+
buildMeasures,
|
|
10768
|
+
defaultEncodingForRadar
|
|
10674
10769
|
], [
|
|
10675
|
-
encodingForRadar,
|
|
10676
10770
|
buildMeasures,
|
|
10771
|
+
encodingForRadar,
|
|
10677
10772
|
pickMeasuresForReshape([
|
|
10678
10773
|
'tooltip',
|
|
10679
10774
|
'label',
|
|
@@ -10815,7 +10910,7 @@
|
|
|
10815
10910
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
|
10816
10911
|
const measures = findAllMeasures(vseedMeasures);
|
|
10817
10912
|
const encoding = {};
|
|
10818
|
-
funnel_generateDefaultDimensionEncoding(dimensions, encoding);
|
|
10913
|
+
funnel_generateDefaultDimensionEncoding(dimensions, encoding, hasMultipleMeasureInSingleView(vseedMeasures));
|
|
10819
10914
|
funnel_generateDefaultMeasureEncoding(measures, encoding);
|
|
10820
10915
|
return {
|
|
10821
10916
|
...advancedVSeed,
|
|
@@ -10828,8 +10923,9 @@
|
|
|
10828
10923
|
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
|
10829
10924
|
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
|
10830
10925
|
const encoding = {};
|
|
10831
|
-
|
|
10832
|
-
|
|
10926
|
+
const hasMulti = hasMultipleMeasureInSingleView(vseedMeasures);
|
|
10927
|
+
if (hasDimensionEncoding) funnel_generateDimensionEncoding(dimensions, encoding, hasMulti);
|
|
10928
|
+
else funnel_generateDefaultDimensionEncoding(dimensions, encoding, hasMulti);
|
|
10833
10929
|
if (hasMeasureEncoding) funnel_generateMeasureEncoding(measures, encoding);
|
|
10834
10930
|
else funnel_generateDefaultMeasureEncoding(measures, encoding);
|
|
10835
10931
|
return {
|
|
@@ -10837,9 +10933,9 @@
|
|
|
10837
10933
|
encoding
|
|
10838
10934
|
};
|
|
10839
10935
|
};
|
|
10840
|
-
const funnel_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
|
10936
|
+
const funnel_generateDefaultDimensionEncoding = (dimensions, encoding, isMultiMeasure)=>{
|
|
10841
10937
|
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
|
10842
|
-
encoding.color = uniqueDimIds.slice(0);
|
|
10938
|
+
encoding.color = !isMultiMeasure && uniqueDimIds.some((id)=>id !== MeasureId) ? uniqueDimIds.filter((id)=>id !== MeasureId) : uniqueDimIds.slice(0);
|
|
10843
10939
|
encoding.detail = encoding.color;
|
|
10844
10940
|
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureId);
|
|
10845
10941
|
encoding.label = [];
|
|
@@ -10884,11 +10980,11 @@
|
|
|
10884
10980
|
defaultDimensions_defaultDimensions,
|
|
10885
10981
|
defaultMeasureId_defaultMeasureId,
|
|
10886
10982
|
encodingAdapter([
|
|
10887
|
-
|
|
10888
|
-
|
|
10983
|
+
buildMeasures,
|
|
10984
|
+
defaultEncodingForFunnel
|
|
10889
10985
|
], [
|
|
10890
|
-
encodingForFunnel,
|
|
10891
10986
|
buildMeasures,
|
|
10987
|
+
encodingForFunnel,
|
|
10892
10988
|
pickMeasuresForReshape([
|
|
10893
10989
|
'tooltip',
|
|
10894
10990
|
'label',
|
|
@@ -11111,11 +11207,11 @@
|
|
|
11111
11207
|
defaultDimensions_defaultDimensions,
|
|
11112
11208
|
defaultMeasureId_defaultMeasureId,
|
|
11113
11209
|
encodingAdapter([
|
|
11114
|
-
|
|
11115
|
-
|
|
11210
|
+
buildMeasures,
|
|
11211
|
+
defaultEncodingForHeatmap
|
|
11116
11212
|
], [
|
|
11117
|
-
encodingForHeatmap,
|
|
11118
11213
|
buildMeasures,
|
|
11214
|
+
encodingForHeatmap,
|
|
11119
11215
|
pickMeasuresForReshape([
|
|
11120
11216
|
'tooltip',
|
|
11121
11217
|
'label'
|
|
@@ -11394,7 +11490,7 @@
|
|
|
11394
11490
|
const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed;
|
|
11395
11491
|
const measures = findAllMeasures(vseedMeasures);
|
|
11396
11492
|
const encoding = {};
|
|
11397
|
-
boxplot_generateDefaultDimensionEncoding(dimensions, encoding);
|
|
11493
|
+
boxplot_generateDefaultDimensionEncoding(dimensions, encoding, hasMultipleMeasureInSingleView(vseedMeasures));
|
|
11398
11494
|
boxplot_generateDefaultMeasureEncoding(measures, encoding);
|
|
11399
11495
|
return {
|
|
11400
11496
|
...advancedVSeed,
|
|
@@ -11407,8 +11503,9 @@
|
|
|
11407
11503
|
const hasDimensionEncoding = dimensions.some((item)=>item.encoding);
|
|
11408
11504
|
const hasMeasureEncoding = measures.some((item)=>item.encoding);
|
|
11409
11505
|
const encoding = {};
|
|
11410
|
-
|
|
11411
|
-
|
|
11506
|
+
const hasMulti = hasMultipleMeasureInSingleView(vseedMeasures);
|
|
11507
|
+
if (hasDimensionEncoding) boxplot_generateDimensionEncoding(dimensions, encoding, hasMulti);
|
|
11508
|
+
else boxplot_generateDefaultDimensionEncoding(dimensions, encoding, hasMulti);
|
|
11412
11509
|
if (hasMeasureEncoding) boxplot_generateMeasureEncoding(measures, encoding);
|
|
11413
11510
|
else boxplot_generateDefaultMeasureEncoding(measures, encoding);
|
|
11414
11511
|
if ((!encoding.value || encoding.value.length <= 1) && encoding.color && encoding.color.length > 1) encoding.color = encoding.color.filter((c)=>c !== MeasureId);
|
|
@@ -11417,11 +11514,10 @@
|
|
|
11417
11514
|
encoding
|
|
11418
11515
|
};
|
|
11419
11516
|
};
|
|
11420
|
-
const boxplot_generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
|
11421
|
-
const onlyMeasureId = 1 === dimensions.length && dimensions.find((item)=>item.id === MeasureId);
|
|
11517
|
+
const boxplot_generateDefaultDimensionEncoding = (dimensions, encoding, isMultiMeasure)=>{
|
|
11422
11518
|
const uniqueDimIds = chunk_QJLMYOTX_i(dimensions.map((d)=>d.id));
|
|
11423
11519
|
encoding.x = uniqueDimIds.slice(0, 1);
|
|
11424
|
-
|
|
11520
|
+
addDefaultColorEncoding(uniqueDimIds, encoding, isMultiMeasure);
|
|
11425
11521
|
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureId);
|
|
11426
11522
|
encoding.label = [];
|
|
11427
11523
|
encoding.row = [];
|
|
@@ -11718,11 +11814,11 @@
|
|
|
11718
11814
|
defaultMeasureId_defaultMeasureId,
|
|
11719
11815
|
boxplotConfig,
|
|
11720
11816
|
encodingAdapter([
|
|
11721
|
-
|
|
11722
|
-
|
|
11817
|
+
buildMeasures,
|
|
11818
|
+
defaultEncodingForBoxplot
|
|
11723
11819
|
], [
|
|
11724
|
-
encodingForBoxplot,
|
|
11725
11820
|
buildMeasures,
|
|
11821
|
+
encodingForBoxplot,
|
|
11726
11822
|
pickMeasuresForReshape([
|
|
11727
11823
|
'tooltip',
|
|
11728
11824
|
'label',
|
|
@@ -12636,11 +12732,11 @@
|
|
|
12636
12732
|
defaultDimensions_defaultDimensions,
|
|
12637
12733
|
histogramConfig,
|
|
12638
12734
|
encodingAdapter([
|
|
12639
|
-
|
|
12640
|
-
|
|
12735
|
+
buildMeasures,
|
|
12736
|
+
defaultEncodingForHistogram
|
|
12641
12737
|
], [
|
|
12642
|
-
encodingForHistogram,
|
|
12643
12738
|
buildMeasures,
|
|
12739
|
+
encodingForHistogram,
|
|
12644
12740
|
pickMeasuresForReshape([
|
|
12645
12741
|
'tooltip',
|
|
12646
12742
|
'label',
|