@datarailsshared/dr_renderer 1.3.38 → 1.3.40
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/package.json
CHANGED
@@ -62,6 +62,10 @@ function disableLegendInteractionIfRequired(chartOptions, additionOptions) {
|
|
62
62
|
_.set(chartOptions, 'legend.itemStyle.cursor', 'default');
|
63
63
|
}
|
64
64
|
|
65
|
+
function isShowingEmptyValues(additionOptions) {
|
66
|
+
return !additionOptions || !additionOptions.chart || additionOptions.chart.dislay_empty_values !== false;
|
67
|
+
}
|
68
|
+
|
65
69
|
module.exports = {
|
66
70
|
backendSortingKeysAreNotEmpty,
|
67
71
|
capitalize,
|
@@ -70,4 +74,5 @@ module.exports = {
|
|
70
74
|
mergeDeep,
|
71
75
|
removeSVGTextCorrection,
|
72
76
|
disableLegendInteractionIfRequired,
|
77
|
+
isShowingEmptyValues,
|
73
78
|
}
|
@@ -406,6 +406,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
406
406
|
if (!type) return null;
|
407
407
|
return [
|
408
408
|
'line',
|
409
|
+
'line-chart-forecast',
|
409
410
|
'spline',
|
410
411
|
'area',
|
411
412
|
'areaspline',
|
@@ -1266,6 +1267,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
1266
1267
|
.replace(highchartsRenderer.DR_OTHERS_KEY, othersName);
|
1267
1268
|
ob.name = highchartsRenderer.getFormattedRowKey(ob.initialName, pivotData);
|
1268
1269
|
}
|
1270
|
+
|
1269
1271
|
lodash.forEach(col_n_keys, function (col_n_value, index) {
|
1270
1272
|
var agg = pivotData.getAggregator(row_n_value, col_n_value);
|
1271
1273
|
var val = agg.value();
|
@@ -1276,13 +1278,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
1276
1278
|
if (val != null) {
|
1277
1279
|
if ($.isNumeric(val)) {
|
1278
1280
|
val = parseFloat(val);
|
1279
|
-
// if (val > -1 && val < 1) {
|
1280
|
-
// val = parseFloat(val.toPrecision(4));
|
1281
|
-
// } else {
|
1282
|
-
// val = parseFloat(val.toFixed(2));
|
1283
|
-
// }
|
1284
1281
|
}
|
1285
|
-
} else {
|
1282
|
+
} else if (helpers.isShowingEmptyValues(additionOptions)) {
|
1286
1283
|
if (onlyNumbers)
|
1287
1284
|
val = NaN;
|
1288
1285
|
else
|
@@ -1484,13 +1481,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
1484
1481
|
if (val != null) {
|
1485
1482
|
if ($.isNumeric(val)) {
|
1486
1483
|
val = parseFloat(val);
|
1487
|
-
// if (val > -1 && val < 1) {
|
1488
|
-
// val = parseFloat(val.toPrecision(4));
|
1489
|
-
// } else {
|
1490
|
-
// val = parseFloat(val.toFixed(2));
|
1491
|
-
// }
|
1492
1484
|
}
|
1493
|
-
} else {
|
1485
|
+
} else if (helpers.isShowingEmptyValues(additionOptions)) {
|
1494
1486
|
if (onlyNumbers)
|
1495
1487
|
val = NaN;
|
1496
1488
|
else
|
@@ -1575,6 +1567,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
1575
1567
|
} else if (seriesIndex === chart_series.length - 1 && chart_series.length > 1 && !has_delta && !opts.total && !trendSerieses.length) {
|
1576
1568
|
series.type = 'line';
|
1577
1569
|
}
|
1570
|
+
series.connectNulls = !helpers.isShowingEmptyValues(additionOptions);
|
1578
1571
|
});
|
1579
1572
|
}
|
1580
1573
|
|
@@ -2532,7 +2525,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
2532
2525
|
enabled: additionOptions && additionOptions.label ? additionOptions.label.show : true,
|
2533
2526
|
formatter: highchartsRenderer.defaultDataLabelFormatter(pivotData, opts),
|
2534
2527
|
style: highchartsRenderer.getDataLabelsStyle(additionOptions)
|
2535
|
-
}
|
2528
|
+
},
|
2529
|
+
connectNulls: !helpers.isShowingEmptyValues(additionOptions),
|
2536
2530
|
}
|
2537
2531
|
};
|
2538
2532
|
|
@@ -2621,7 +2615,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
2621
2615
|
enabled: additionOptions && additionOptions.label ? additionOptions.label.show : true,
|
2622
2616
|
formatter: highchartsRenderer.defaultDataLabelFormatter(pivotData, opts),
|
2623
2617
|
style: highchartsRenderer.getDataLabelsStyle(additionOptions)
|
2624
|
-
}
|
2618
|
+
},
|
2619
|
+
connectNulls: !helpers.isShowingEmptyValues(additionOptions),
|
2625
2620
|
}
|
2626
2621
|
};
|
2627
2622
|
|
@@ -2717,8 +2712,9 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
2717
2712
|
allowOverlap: additionOptions && additionOptions.label ? additionOptions.label.overlap : false,
|
2718
2713
|
enabled: additionOptions && additionOptions.label ? additionOptions.label.show : true,
|
2719
2714
|
formatter: highchartsRenderer.defaultDataLabelFormatter(pivotData, opts),
|
2720
|
-
style: highchartsRenderer.getDataLabelsStyle(additionOptions)
|
2721
|
-
}
|
2715
|
+
style: highchartsRenderer.getDataLabelsStyle(additionOptions),
|
2716
|
+
},
|
2717
|
+
connectNulls: !helpers.isShowingEmptyValues(additionOptions),
|
2722
2718
|
}
|
2723
2719
|
};
|
2724
2720
|
|
@@ -2804,13 +2800,14 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
2804
2800
|
}
|
2805
2801
|
};
|
2806
2802
|
chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
|
2807
|
-
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null,
|
2803
|
+
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, additionOptions, opts, chartOptions);
|
2808
2804
|
|
2809
2805
|
highchartsRenderer.handleGridLines(additionOptions, chartOptions);
|
2810
2806
|
|
2807
|
+
const isShowingEmptyValues = helpers.isShowingEmptyValues(additionOptions);
|
2811
2808
|
chartOptions.plotOptions = {
|
2812
2809
|
[type === 'area-chart' ? 'area' : 'areaspline']: {
|
2813
|
-
stacking: 'normal',
|
2810
|
+
stacking: isShowingEmptyValues ? 'normal' : undefined,
|
2814
2811
|
lineColor: CHART_COLORS.TICK_COLOR,
|
2815
2812
|
lineWidth: 1,
|
2816
2813
|
marker: {
|
@@ -2825,7 +2822,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
2825
2822
|
enabled: additionOptions && additionOptions.label ? additionOptions.label.show : true,
|
2826
2823
|
formatter: highchartsRenderer.defaultDataLabelFormatter(pivotData, opts),
|
2827
2824
|
style: highchartsRenderer.getDataLabelsStyle(additionOptions)
|
2828
|
-
}
|
2825
|
+
},
|
2826
|
+
connectNulls: !isShowingEmptyValues,
|
2829
2827
|
}
|
2830
2828
|
};
|
2831
2829
|
|
@@ -2884,7 +2882,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
2884
2882
|
enabled: additionOptions && additionOptions.label ? additionOptions.label.show : true,
|
2885
2883
|
formatter: highchartsRenderer.defaultDataLabelFormatter(pivotData, opts),
|
2886
2884
|
style: highchartsRenderer.getDataLabelsStyle(additionOptions)
|
2887
|
-
}
|
2885
|
+
},
|
2886
|
+
connectNulls: !helpers.isShowingEmptyValues(additionOptions),
|
2888
2887
|
}
|
2889
2888
|
};
|
2890
2889
|
|
@@ -2911,7 +2910,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
2911
2910
|
},
|
2912
2911
|
lineWidth: 0
|
2913
2912
|
};
|
2914
|
-
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null,
|
2913
|
+
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, additionOptions, opts, chartOptions);
|
2915
2914
|
|
2916
2915
|
chartOptions.legend = highchartsRenderer.getOptionsForLegends(additionOptions, rowAttrs.length, false);
|
2917
2916
|
|
@@ -2981,7 +2980,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
2981
2980
|
highchartsRenderer.setYAxisMinMax(chartOptions.yAxis, additionOptions.axisY);
|
2982
2981
|
}
|
2983
2982
|
|
2984
|
-
|
2985
2983
|
chartOptions.tooltip = {
|
2986
2984
|
formatter: highchartsRenderer.defaultFormatterToTooltip(pivotData, opts),
|
2987
2985
|
valueDecimals: 2,
|
@@ -3012,7 +3010,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
3012
3010
|
enabled: additionOptions && additionOptions.label ? additionOptions.label.show : true,
|
3013
3011
|
formatter: highchartsRenderer.defaultDataLabelFormatter(pivotData, opts),
|
3014
3012
|
style: highchartsRenderer.getDataLabelsStyle(additionOptions)
|
3015
|
-
}
|
3013
|
+
},
|
3016
3014
|
}
|
3017
3015
|
};
|
3018
3016
|
if (opts.drillDownListFunc) {
|
@@ -3319,7 +3317,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
3319
3317
|
},
|
3320
3318
|
};
|
3321
3319
|
chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
|
3322
|
-
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null,
|
3320
|
+
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, additionOptions, opts, chartOptions);
|
3323
3321
|
|
3324
3322
|
highchartsRenderer.handleGridLines(additionOptions, chartOptions)
|
3325
3323
|
|
@@ -3337,7 +3335,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
3337
3335
|
enabled: additionOptions && additionOptions.label ? additionOptions.label.show : true,
|
3338
3336
|
formatter: highchartsRenderer.defaultDataLabelFormatter(pivotData, opts),
|
3339
3337
|
style: highchartsRenderer.getDataLabelsStyle(additionOptions)
|
3340
|
-
}
|
3338
|
+
},
|
3341
3339
|
}
|
3342
3340
|
};
|
3343
3341
|
|
@@ -3445,7 +3443,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
3445
3443
|
},
|
3446
3444
|
};
|
3447
3445
|
chartOptions = highchartsRenderer.prepareAxisX(chartOptions, additionOptions, pivotData.getColKeys());
|
3448
|
-
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null,
|
3446
|
+
chartOptions.series = highchartsRenderer.ptCreateBasicLineSeries(pivotData, null, null, null, additionOptions, opts, chartOptions);
|
3449
3447
|
|
3450
3448
|
if (opts.selectedPoint) {
|
3451
3449
|
seriesPointStylesHelper.setInitialPointStyles(opts, chartOptions.series);
|
@@ -6594,12 +6592,13 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
6594
6592
|
category_class: 'google-visualization-charteditor-mini-more',
|
6595
6593
|
category_label: 'Chart',
|
6596
6594
|
category_type: 'chart',
|
6597
|
-
elements: [
|
6598
|
-
|
6599
|
-
|
6600
|
-
|
6601
|
-
|
6602
|
-
|
6595
|
+
elements: [
|
6596
|
+
{
|
6597
|
+
element_type: 'input',
|
6598
|
+
value_name: 'colors_offset',
|
6599
|
+
element_label: 'Colors offset',
|
6600
|
+
default_value: 0
|
6601
|
+
},
|
6603
6602
|
{
|
6604
6603
|
element_type: 'radio',
|
6605
6604
|
value_name: 'zoom_type',
|
@@ -6611,12 +6610,19 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
6611
6610
|
{label: 'xy', value: 'xy'}
|
6612
6611
|
],
|
6613
6612
|
default_value: 'None'
|
6614
|
-
},
|
6613
|
+
},
|
6614
|
+
{
|
6615
6615
|
element_type: 'checkbox',
|
6616
6616
|
value_name: 'show',
|
6617
6617
|
element_label: 'Show grid',
|
6618
6618
|
default_value: true
|
6619
|
-
}
|
6619
|
+
},
|
6620
|
+
{
|
6621
|
+
element_type: 'checkbox',
|
6622
|
+
value_name: 'dislay_empty_values',
|
6623
|
+
element_label: 'Display empty values',
|
6624
|
+
default_value: true
|
6625
|
+
},
|
6620
6626
|
]
|
6621
6627
|
},
|
6622
6628
|
'chart_grid': {
|
@@ -6639,6 +6645,12 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
6639
6645
|
element_label: 'Show legends over 10',
|
6640
6646
|
default_value: false
|
6641
6647
|
},
|
6648
|
+
{
|
6649
|
+
element_type: 'checkbox',
|
6650
|
+
value_name: 'dislay_empty_values',
|
6651
|
+
element_label: 'Display empty values',
|
6652
|
+
default_value: true
|
6653
|
+
},
|
6642
6654
|
{
|
6643
6655
|
element_type: 'devider',
|
6644
6656
|
element_label: 'Chart Patterns',
|
@@ -6646,7 +6658,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
6646
6658
|
},
|
6647
6659
|
{
|
6648
6660
|
element_type: 'toggle',
|
6649
|
-
element_label: '
|
6661
|
+
element_label: 'Forecast Chart',
|
6650
6662
|
value_name: 'smart_query',
|
6651
6663
|
default_value: true,
|
6652
6664
|
showFn: isChartTypeSupportedForSmartQuery
|
@@ -7649,6 +7661,17 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
7649
7661
|
axisTooltipTitle: 'Drag one or more fields here to create your x-axis.',
|
7650
7662
|
legendTooltipTitle: 'Adding a field in this section will display lines for each item in that field.',
|
7651
7663
|
},
|
7664
|
+
'line-chart-forecast': {
|
7665
|
+
name: 'Combined Line',
|
7666
|
+
label: 'Combined Line',
|
7667
|
+
title: 'Show forecast over time.',
|
7668
|
+
description: 'For example, see how your Monthly Revenue evolves over a given period.',
|
7669
|
+
axisName: 'X - Axis',
|
7670
|
+
legendName: 'Data series',
|
7671
|
+
startedMessage: '“To get started, drag the Reporting Month field to the x-axis, include the Scenario Cycle field in the data series, and add one field to the value section.”',
|
7672
|
+
axisTooltipTitle: 'Drag one or more fields here to create your x-axis.',
|
7673
|
+
legendTooltipTitle: 'Adding a field in this section will display lines for each item in that field.',
|
7674
|
+
},
|
7652
7675
|
'scatter-chart': {
|
7653
7676
|
name: 'Scatter chart',
|
7654
7677
|
label: 'Scatter Chart',
|
@@ -7842,6 +7865,27 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
7842
7865
|
highchartsRenderer.suboptions["legends"],
|
7843
7866
|
]
|
7844
7867
|
},
|
7868
|
+
{
|
7869
|
+
type: 'line-chart-forecast',
|
7870
|
+
name: highchartsRenderer.chartsTypesInfo['line-chart-forecast'].name,
|
7871
|
+
class: 'google-visualization-charteditor-thumbs-linechart-forecast',
|
7872
|
+
render: highchartsRenderer.ptRenderSpLine,
|
7873
|
+
suboptions: [
|
7874
|
+
highchartsRenderer.suboptions["axisY"],
|
7875
|
+
highchartsRenderer.suboptions["axisX"],
|
7876
|
+
highchartsRenderer.suboptions["tooltips"],
|
7877
|
+
highchartsRenderer.suboptions["label"],
|
7878
|
+
highchartsRenderer.suboptions["subtitle"],
|
7879
|
+
highchartsRenderer.suboptions["widget_library"],
|
7880
|
+
highchartsRenderer.suboptions["table_options_transpose"],
|
7881
|
+
highchartsRenderer.suboptions["table_design_options"],
|
7882
|
+
highchartsRenderer.suboptions["chart_grid"],
|
7883
|
+
highchartsRenderer.suboptions["negative_number_format"],
|
7884
|
+
highchartsRenderer.suboptions["delta_column"],
|
7885
|
+
highchartsRenderer.suboptions["advanced"],
|
7886
|
+
highchartsRenderer.suboptions["legends"],
|
7887
|
+
]
|
7888
|
+
},
|
7845
7889
|
{
|
7846
7890
|
type: 'scatter-chart',
|
7847
7891
|
name: highchartsRenderer.chartsTypesInfo['scatter-chart'].name,
|
@@ -6811,6 +6811,7 @@ describe('highcharts_renderer', () => {
|
|
6811
6811
|
formatter: expect.any(Function),
|
6812
6812
|
},
|
6813
6813
|
color: '#ff0202',
|
6814
|
+
connectNulls: false,
|
6814
6815
|
type: 'area'
|
6815
6816
|
},
|
6816
6817
|
{data: [
|
@@ -6846,6 +6847,7 @@ describe('highcharts_renderer', () => {
|
|
6846
6847
|
enabled: true,
|
6847
6848
|
formatter: expect.any(Function),
|
6848
6849
|
},
|
6850
|
+
connectNulls: false,
|
6849
6851
|
color: '#b3060e',
|
6850
6852
|
type: 'line'
|
6851
6853
|
}
|