mdt-charts 1.19.0 → 1.20.1
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/lib/config/config.d.ts +16 -0
- package/lib/engine/block/blockSvg.d.ts +1 -1
- package/lib/engine/block/blockSvg.js +1 -1
- package/lib/engine/elementHighlighter/elementHighlighter.d.ts +0 -1
- package/lib/engine/elementHighlighter/elementHighlighter.js +5 -8
- package/lib/engine/elementHighlighter/selectHighlighter.js +11 -10
- package/lib/engine/features/axis/axis.d.ts +3 -3
- package/lib/engine/features/axis/axis.js +6 -0
- package/lib/engine/features/legend/legendMarkerCreator.js +1 -1
- package/lib/engine/features/markDots/markDot.d.ts +11 -3
- package/lib/engine/features/markDots/markDot.js +21 -10
- package/lib/engine/features/scale/scale.js +1 -1
- package/lib/engine/features/tolltip/tooltip.js +5 -4
- package/lib/engine/features/valueLabels/valueLabels.d.ts +45 -0
- package/lib/engine/features/valueLabels/valueLabels.js +139 -0
- package/lib/engine/features/valueLabels/valueLabelsHelper.d.ts +6 -0
- package/lib/engine/features/valueLabels/valueLabelsHelper.js +21 -0
- package/lib/engine/features/valueLabelsCollision/valueLabelsCollision.d.ts +23 -0
- package/lib/engine/features/valueLabelsCollision/valueLabelsCollision.js +24 -0
- package/lib/engine/features/valueLabelsCollision/valueLabelsCollisionHelper.d.ts +5 -0
- package/lib/engine/features/valueLabelsCollision/valueLabelsCollisionHelper.js +47 -0
- package/lib/engine/twoDimensionalNotation/area/area.d.ts +18 -11
- package/lib/engine/twoDimensionalNotation/area/area.js +32 -22
- package/lib/engine/twoDimensionalNotation/area/areaGenerator.d.ts +14 -0
- package/lib/engine/twoDimensionalNotation/area/areaGenerator.js +22 -0
- package/lib/engine/twoDimensionalNotation/area/areaHelper.d.ts +7 -7
- package/lib/engine/twoDimensionalNotation/area/areaHelper.js +30 -31
- package/lib/engine/twoDimensionalNotation/bar/barHelper.js +1 -1
- package/lib/engine/twoDimensionalNotation/bar/stackedData/dataStacker.d.ts +4 -2
- package/lib/engine/twoDimensionalNotation/bar/stackedData/dataStacker.js +2 -5
- package/lib/engine/twoDimensionalNotation/line/line.d.ts +0 -6
- package/lib/engine/twoDimensionalNotation/line/line.js +4 -4
- package/lib/engine/twoDimensionalNotation/line/lineGenerator.d.ts +4 -7
- package/lib/engine/twoDimensionalNotation/line/lineGenerator.js +2 -16
- package/lib/engine/twoDimensionalNotation/line/lineHelper.d.ts +4 -13
- package/lib/engine/twoDimensionalNotation/line/lineHelper.js +22 -10
- package/lib/engine/twoDimensionalNotation/lineLike/generatorFactory/lineLikeGeneratorFactory.d.ts +12 -0
- package/lib/engine/twoDimensionalNotation/lineLike/generatorFactory/lineLikeGeneratorFactory.js +1 -0
- package/lib/engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorCurveMiddleware.d.ts +14 -0
- package/lib/engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorCurveMiddleware.js +21 -0
- package/lib/engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorDefineMiddleware.d.ts +20 -0
- package/lib/engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorDefineMiddleware.js +9 -0
- package/lib/engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorMiddleware.d.ts +5 -0
- package/lib/engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorMiddleware.js +1 -0
- package/lib/engine/twoDimensionalNotation/twoDimensionalManager.d.ts +1 -0
- package/lib/engine/twoDimensionalNotation/twoDimensionalManager.js +19 -3
- package/lib/model/featuresModel/axisModel.d.ts +4 -2
- package/lib/model/featuresModel/axisModel.js +14 -6
- package/lib/model/featuresModel/scaleModel/scaleModel.js +1 -1
- package/lib/model/featuresModel/valueLabelsModel/valueLabelsModel.d.ts +9 -0
- package/lib/model/featuresModel/valueLabelsModel/valueLabelsModel.js +33 -0
- package/lib/model/helpers/modelHelper.d.ts +1 -0
- package/lib/model/helpers/modelHelper.js +3 -2
- package/lib/model/helpers/twoDimensionalModelHelper.d.ts +5 -0
- package/lib/model/helpers/twoDimensionalModelHelper.js +16 -0
- package/lib/model/margin/twoDim/twoDimMarginModel.d.ts +2 -0
- package/lib/model/margin/twoDim/twoDimMarginModel.js +34 -1
- package/lib/model/model.d.ts +29 -5
- package/lib/model/modelInstance/configReader.d.ts +9 -3
- package/lib/model/modelInstance/configReader.js +46 -15
- package/lib/model/notations/twoDimensionalModel.js +31 -35
- package/package.json +1 -1
- /package/lib/engine/block/{defs.d.ts → defs/hatchPattern.d.ts} +0 -0
- /package/lib/engine/block/{defs.js → defs/hatchPattern.js} +0 -0
|
@@ -5,38 +5,38 @@ import { ScaleAxisRecalcer } from "../featuresModel/scaleModel/scaleAxisRecalcer
|
|
|
5
5
|
import { ScaleModel } from "../featuresModel/scaleModel/scaleModel";
|
|
6
6
|
import { getLegendMarkerOptions, parseDashStyles, parseShape } from "./twoDimensional/styles";
|
|
7
7
|
import { getResolvedTitle } from "../../model/featuresModel/titleModel";
|
|
8
|
+
import { calculateValueLabelAlignment, getValueLabelX, getValueLabelY } from "../../model/featuresModel/valueLabelsModel/valueLabelsModel";
|
|
9
|
+
import { TwoDimensionalModelHelper } from "../helpers/twoDimensionalModelHelper";
|
|
8
10
|
export class TwoDimensionalModel {
|
|
9
11
|
static getOptions(configReader, designerConfig, modelInstance) {
|
|
12
|
+
var _a;
|
|
13
|
+
let secondaryScaleValueInfo;
|
|
10
14
|
const options = configReader.options;
|
|
11
15
|
const canvasModel = modelInstance.canvasModel;
|
|
12
|
-
const resolvedTitle = getResolvedTitle(options.title, modelInstance.dataModel.repository.getRawRows());
|
|
13
16
|
const scaleModel = new ScaleModel();
|
|
14
17
|
const scaleMarginRecalcer = new ScaleAxisRecalcer(() => scaleModel.getScaleLinear(options, modelInstance.dataModel.repository.getScopedRows(), canvasModel, configReader));
|
|
15
18
|
scaleMarginRecalcer.recalculateMargin(canvasModel, options.orientation, options.axis.key);
|
|
16
19
|
const scaleValueInfo = scaleMarginRecalcer.getScaleValue();
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
if (configReader.containsSecondaryAxis()) {
|
|
21
|
+
const secondaryScaleMarginRecalcer = new ScaleAxisRecalcer(() => scaleModel.getScaleSecondaryLinear(options, modelInstance.dataModel.repository.getScopedRows(), canvasModel, configReader));
|
|
22
|
+
secondaryScaleMarginRecalcer.recalculateMargin(canvasModel, options.orientation, options.axis.key);
|
|
23
|
+
secondaryScaleValueInfo = secondaryScaleMarginRecalcer.getScaleValue();
|
|
24
|
+
}
|
|
25
|
+
const keyAxis = AxisModel.getKeyAxis(options, modelInstance.dataModel.repository.getScopedFullSource(), designerConfig.canvas.axisLabel, canvasModel, designerConfig.elementsOptions.tooltip, () => scaleValueInfo.scaleFn(0));
|
|
20
26
|
return {
|
|
21
27
|
legend: canvasModel.legendCanvas.getModel(),
|
|
22
|
-
title:
|
|
28
|
+
title: getResolvedTitle(options.title, modelInstance.dataModel.repository.getRawRows()),
|
|
23
29
|
selectable: !!options.selectable,
|
|
24
30
|
orient: options.orientation,
|
|
25
|
-
scale: {
|
|
26
|
-
|
|
27
|
-
value: scaleValueInfo.scale,
|
|
28
|
-
valueSecondary: secondaryScaleValueInfo.scale,
|
|
29
|
-
},
|
|
30
|
-
axis: {
|
|
31
|
-
key: AxisModel.getKeyAxis(options, modelInstance.dataModel.repository.getScopedFullSource(), designerConfig.canvas.axisLabel, canvasModel, designerConfig.elementsOptions.tooltip, () => scaleValueInfo.scaleFn(0)),
|
|
32
|
-
value: AxisModel.getValueAxis(options.orientation, options.axis.value, designerConfig.canvas.axisLabel, canvasModel)
|
|
33
|
-
},
|
|
31
|
+
scale: Object.assign({ key: scaleModel.getScaleKey(modelInstance.dataModel.getAllowableKeys(), options.orientation, canvasModel, options.charts, this.getChartsByType(options.charts, 'bar')), value: scaleValueInfo.scale }, (configReader.containsSecondaryAxis() && { valueSecondary: secondaryScaleValueInfo.scale })),
|
|
32
|
+
axis: Object.assign({ key: keyAxis, value: AxisModel.getMainValueAxis(options.orientation, options.axis.value.position, options.axis.value, designerConfig.canvas.axisLabel, canvasModel) }, (configReader.containsSecondaryAxis() && { valueSecondary: AxisModel.getSecondaryValueAxis(options.orientation, options.axis.value.position, options.axis.valueSecondary, designerConfig.canvas.axisLabel, canvasModel) })),
|
|
34
33
|
type: options.type,
|
|
35
34
|
data: Object.assign({}, options.data),
|
|
36
|
-
charts: this.getChartsModel(options.charts, options.orientation, designerConfig, modelInstance.dataModel.repository),
|
|
35
|
+
charts: this.getChartsModel(options.charts, configReader, options.orientation, designerConfig, modelInstance.dataModel.repository, keyAxis.orient, canvasModel, options.data.keyField.name),
|
|
37
36
|
additionalElements: this.getAdditionalElements(options),
|
|
38
37
|
tooltip: options.tooltip,
|
|
39
|
-
chartSettings: this.getChartsSettings(designerConfig.canvas.chartOptions, options.orientation)
|
|
38
|
+
chartSettings: this.getChartsSettings(designerConfig.canvas.chartOptions, options.orientation),
|
|
39
|
+
valueLabels: (_a = options.valueLabels) !== null && _a !== void 0 ? _a : { collision: { mode: "none" } }
|
|
40
40
|
};
|
|
41
41
|
}
|
|
42
42
|
static getChartsEmbeddedLabelsFlag(charts, chartOrientation) {
|
|
@@ -61,22 +61,14 @@ export class TwoDimensionalModel {
|
|
|
61
61
|
lineLike: { shape: parseShape(chartOrientation, (_a = chartOptions.line) === null || _a === void 0 ? void 0 : _a.shape) }
|
|
62
62
|
};
|
|
63
63
|
}
|
|
64
|
-
static getChartsModel(charts, chartOrientation, designerConfig, dataModelRep) {
|
|
64
|
+
static getChartsModel(charts, configReader, chartOrientation, designerConfig, dataModelRep, keyAxisOrient, canvasModel, keyFieldName) {
|
|
65
65
|
const styleModel = new TwoDimensionalChartStyleModel(charts, designerConfig.chartStyle);
|
|
66
66
|
this.sortCharts(charts);
|
|
67
67
|
const chartsModel = [];
|
|
68
68
|
charts.forEach((chart, index) => {
|
|
69
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
70
|
-
chartsModel.push({
|
|
71
|
-
|
|
72
|
-
isSegmented: chart.isSegmented,
|
|
73
|
-
data: Object.assign({}, chart.data),
|
|
74
|
-
tooltip: chart.tooltip,
|
|
75
|
-
cssClasses: ChartStyleModelService.getCssClasses(index),
|
|
76
|
-
style: styleModel.getChartStyle(chart, index),
|
|
77
|
-
embeddedLabels: this.getEmbeddedLabelType(chart, chartOrientation),
|
|
78
|
-
markersOptions: {
|
|
79
|
-
show: dataModelRep.getScopedRows().length === 1 ? true : chart.markers.show,
|
|
69
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
70
|
+
chartsModel.push(Object.assign({ type: chart.type, isSegmented: chart.isSegmented, data: Object.assign({}, chart.data), tooltip: chart.tooltip, cssClasses: ChartStyleModelService.getCssClasses(index), style: styleModel.getChartStyle(chart, index), embeddedLabels: this.getEmbeddedLabelType(chart, chartOrientation), markersOptions: {
|
|
71
|
+
show: ({ row, valueFieldName }) => TwoDimensionalModelHelper.shouldMarkerShow(chart, dataModelRep.getRawRows(), valueFieldName, row, keyFieldName),
|
|
80
72
|
styles: {
|
|
81
73
|
highlighted: {
|
|
82
74
|
size: { radius: (_c = (_b = (_a = designerConfig.canvas.markers) === null || _a === void 0 ? void 0 : _a.highlighted) === null || _b === void 0 ? void 0 : _b.radius) !== null && _c !== void 0 ? _c : 4, borderSize: '3.5px' }
|
|
@@ -88,15 +80,19 @@ export class TwoDimensionalModel {
|
|
|
88
80
|
}
|
|
89
81
|
}
|
|
90
82
|
}
|
|
91
|
-
},
|
|
92
|
-
lineViewOptions: {
|
|
83
|
+
}, lineLikeViewOptions: {
|
|
93
84
|
dashedStyles: parseDashStyles((_k = chart.lineStyles) === null || _k === void 0 ? void 0 : _k.dash),
|
|
94
85
|
renderForKey: (dataRow, valueFieldName) => dataRow[valueFieldName] !== null && dataRow[valueFieldName] !== undefined
|
|
95
|
-
},
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
86
|
+
}, barViewOptions: { hatch: { on: (_o = (_m = (_l = chart.barStyles) === null || _l === void 0 ? void 0 : _l.hatch) === null || _m === void 0 ? void 0 : _m.on) !== null && _o !== void 0 ? _o : false } }, legend: getLegendMarkerOptions(chart), index }, (((_p = chart.valueLabels) === null || _p === void 0 ? void 0 : _p.on) && {
|
|
87
|
+
valueLabels: {
|
|
88
|
+
show: true,
|
|
89
|
+
handleX: (scaledValue) => getValueLabelX(scaledValue, keyAxisOrient, canvasModel.getMargin()),
|
|
90
|
+
handleY: (scaledValue) => getValueLabelY(scaledValue, keyAxisOrient, canvasModel.getMargin()),
|
|
91
|
+
textAnchor: calculateValueLabelAlignment(keyAxisOrient).textAnchor,
|
|
92
|
+
dominantBaseline: calculateValueLabelAlignment(keyAxisOrient).dominantBaseline,
|
|
93
|
+
format: configReader.getValueLabelFormatterForChart(index),
|
|
94
|
+
}
|
|
95
|
+
})));
|
|
100
96
|
});
|
|
101
97
|
return chartsModel;
|
|
102
98
|
}
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|