@datarailsshared/dr_renderer 1.2.172-dragons → 1.2.174-dragons

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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datarailsshared/dr_renderer",
3
- "version": "1.2.172-dragons",
3
+ "version": "1.2.174-dragons",
4
4
  "description": "DataRails charts and tables renderer",
5
5
  "keywords": [
6
6
  "datarails",
@@ -1,28 +1,10 @@
1
- const CHART_TYPES = {
2
- LINE_CHART: 'line-chart',
3
- LINE_CHART_SMOOTH: 'line-chart-smooth',
4
- COLUMN_CHART: 'column-chart',
5
- COLUMN_CHART_STACKED: 'column-chart-stacked',
6
- COMBO_CHART: 'combo-chart',
7
- COMBO_COLUMN_CHART: 'combo-column-chart',
8
- COMBO_STACKED_CHART: 'combo-stacked-chart',
9
- BAR_CHART: 'bar-chart',
10
- BAR_CHART_STACKED: 'bar-chart-stacked',
11
- SCATTER_CHART: 'scatter-chart',
12
- AREA_CHART: 'area-chart',
13
- AREA_CHART_SMOOTH: 'area-chart-smooth',
14
- TABLE_ONLY: 'table_only',
15
- POLYGON_CHART: 'polygon-chart',
16
- PIE_CHART: 'pie-chart',
17
- PIE_CHART_DRILLDOWN: 'pie-chart-drilldown',
18
- GAUGE_SOLID_CHART: 'gauge-solid-chart',
19
- GAUGE_CHART: 'gauge-chart',
20
- KPI_WIDGET: 'kpi-widget',
21
- TEXT_WIDGET: 'text-widget',
22
- WATERFALL_BREAKDOWN: 'waterfall-chart-breakdown',
23
- PUBLISHED_ITEM: 'published_item',
24
- RICH_TEXT: 'rich_text',
25
- }
1
+ const SERIES_CLASSNAMES = {
2
+ WATERFALL_BREAKDOWN: 'waterfallBreakdown',
3
+ TOTAL_SERIES: 'totalSeries',
4
+ TREND_SERIES: 'trendSeries',
5
+ };
6
+
7
+ const EMPTY_ROW_N_KEYS = [[]];
26
8
 
27
9
  let getHighchartsRenderer = function ($, document, Highcharts, default_colors, highchartsRenderer,
28
10
  DataFormatter, lodash, moment_lib, isNewAngular) {
@@ -77,6 +59,32 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
77
59
  ].join(''), 'i');
78
60
  highchartsRenderer.isMobile = mobileBrowserRegex.test(navigator.userAgent);
79
61
 
62
+ highchartsRenderer.CHART_TYPES = {
63
+ LINE_CHART: 'line-chart',
64
+ LINE_CHART_SMOOTH: 'line-chart-smooth',
65
+ COLUMN_CHART: 'column-chart',
66
+ COLUMN_CHART_STACKED: 'column-chart-stacked',
67
+ COMBO_CHART: 'combo-chart',
68
+ COMBO_COLUMN_CHART: 'combo-column-chart',
69
+ COMBO_STACKED_CHART: 'combo-stacked-chart',
70
+ BAR_CHART: 'bar-chart',
71
+ BAR_CHART_STACKED: 'bar-chart-stacked',
72
+ SCATTER_CHART: 'scatter-chart',
73
+ AREA_CHART: 'area-chart',
74
+ AREA_CHART_SMOOTH: 'area-chart-smooth',
75
+ TABLE_ONLY: 'table_only',
76
+ POLYGON_CHART: 'polygon-chart',
77
+ PIE_CHART: 'pie-chart',
78
+ PIE_CHART_DRILLDOWN: 'pie-chart-drilldown',
79
+ GAUGE_SOLID_CHART: 'gauge-solid-chart',
80
+ GAUGE_CHART: 'gauge-chart',
81
+ KPI_WIDGET: 'kpi-widget',
82
+ TEXT_WIDGET: 'text-widget',
83
+ WATERFALL_BREAKDOWN: 'waterfall-chart-breakdown',
84
+ PUBLISHED_ITEM: 'published_item',
85
+ RICH_TEXT: 'rich_text',
86
+ };
87
+
80
88
  highchartsRenderer.highcharts_theme = {
81
89
  "colors": highchartsRenderer.defaults_colors,
82
90
  "chart": {
@@ -528,7 +536,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
528
536
 
529
537
  const percentageWrapper = percentageArray.length ? `(${percentageArray.join(', ')})` : '';
530
538
 
531
- if (this.series.options.className === 'waterfallBreakdown') {
539
+ if (this.series.options.className === SERIES_CLASSNAMES.WATERFALL_BREAKDOWN) {
532
540
  const modifiedRowsAndCols = highchartsRenderer.transformRowsAndColsForBreakdown(rows, cols, this.point, opts);
533
541
  rows = modifiedRowsAndCols.rows;
534
542
  cols = modifiedRowsAndCols.cols;
@@ -604,7 +612,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
604
612
  }
605
613
 
606
614
  var func = function () {
607
- const isWaterfallBreakdown = this.series.options.className === 'waterfallBreakdown';
615
+ const isWaterfallBreakdown = this.series.options.className === SERIES_CLASSNAMES.WATERFALL_BREAKDOWN;
608
616
 
609
617
  var y = parseFloat(this.y);
610
618
  if (pivotData) {
@@ -641,7 +649,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
641
649
  rows = temp;
642
650
  }
643
651
 
644
- var category_text = `<span style="font-weight: bold;">${cols}${isWaterfallBreakdown ? ': ' : ' '}</span>`;
652
+ var category_text = `<span style="font-weight: bold;">${ cols }${ isWaterfallBreakdown ? ': ' : ' ' }</span>`;
645
653
  if (this.category) {
646
654
  category_text = '';
647
655
  }
@@ -1106,7 +1114,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1106
1114
 
1107
1115
  opts.chart_series = []
1108
1116
 
1109
- if (!lodash.isEqual(row_n_keys, [[]])) {
1117
+ if (!lodash.isEqual(row_n_keys, EMPTY_ROW_N_KEYS)) {
1110
1118
  chart_series.forEach(series => {
1111
1119
  opts.chart_series.push(series.name);
1112
1120
  })
@@ -1266,7 +1274,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1266
1274
 
1267
1275
  let weights = { line: 2,spline: 3 ,area:-2, areaspline: -1, scatter:4, column: 1 };
1268
1276
 
1269
- if (opts.comboOptions && lodash.includes(chartType,'combo') && !lodash.isEqual(row_n_keys, [[]])) {
1277
+ if (opts.comboOptions && lodash.includes(chartType,'combo') && !lodash.isEqual(row_n_keys, EMPTY_ROW_N_KEYS)) {
1270
1278
  chart_series.forEach((series, seriesIndex) => {
1271
1279
  const savedSeriesOption = lodash.find(opts.comboOptions.seriesOptions, {series: series.name});
1272
1280
  if (savedSeriesOption) {
@@ -1279,7 +1287,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1279
1287
 
1280
1288
  opts.chart_series = []
1281
1289
 
1282
- if (!lodash.isEqual(row_n_keys, [[]])) {
1290
+ if (!lodash.isEqual(row_n_keys, EMPTY_ROW_N_KEYS)) {
1283
1291
  chart_series.forEach(series => {
1284
1292
  opts.chart_series.push(series.name);
1285
1293
  })
@@ -1330,15 +1338,14 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1330
1338
  }
1331
1339
 
1332
1340
  highchartsRenderer.ptCreateWaterfallBreakdownSeries = function (pivotData, onlyNumbers, additionOptions, opts) {
1333
-
1334
1341
  const colorOptions = opts.breakdown_options.colors;
1335
-
1336
1342
  var chart_series = [],
1337
1343
  row_n_keys = pivotData.getRowKeys(),
1338
1344
  col_n_keys = pivotData.getColKeys();
1339
1345
 
1340
- if (row_n_keys.length == 0)
1346
+ if (row_n_keys.length === 0) {
1341
1347
  row_n_keys.push([]);
1348
+ }
1342
1349
 
1343
1350
  let resultObject = {
1344
1351
  data: [],
@@ -1350,7 +1357,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1350
1357
  },
1351
1358
  upColor: colorOptions.increase,
1352
1359
  color: colorOptions.decrease,
1353
- className: 'waterfallBreakdown'
1360
+ className: SERIES_CLASSNAMES.WATERFALL_BREAKDOWN
1354
1361
  };
1355
1362
  resultObject = highchartsRenderer.getDataLabelsOptions(additionOptions, resultObject);
1356
1363
 
@@ -1408,11 +1415,11 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1408
1415
 
1409
1416
  chart_series.push(resultObject);
1410
1417
 
1411
- opts.chart_series = []
1412
- if (!lodash.isEqual(row_n_keys, [[]])) {
1418
+ opts.chart_series = [];
1419
+ if (!lodash.isEqual(row_n_keys, EMPTY_ROW_N_KEYS)) {
1413
1420
  chart_series.forEach(series => {
1414
1421
  opts.chart_series.push(series.name);
1415
- })
1422
+ });
1416
1423
  }
1417
1424
 
1418
1425
  return chart_series;
@@ -3173,7 +3180,9 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
3173
3180
 
3174
3181
  highchartsRenderer.ptRenderWaterfallBreakdown = function (pivotData, opts, drilldownFunc, chartType) {
3175
3182
  let chartOptions = {};
3176
- const additionOptions = opts.chartOptions ? opts.chartOptions : highchartsRenderer.getDefaultValueForChart('column-chart');
3183
+ const additionOptions = opts.chartOptions
3184
+ ? opts.chartOptions
3185
+ : highchartsRenderer.getDefaultValueForChart(highchartsRenderer.CHART_TYPES.WATERFALL_BREAKDOWN);
3177
3186
 
3178
3187
  chartOptions.chart = {
3179
3188
  type: 'waterfall',
@@ -4336,7 +4345,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
4336
4345
  return null;
4337
4346
  }
4338
4347
 
4339
- if (widget && widget.chart_type === CHART_TYPES.WATERFALL_BREAKDOWN) {
4348
+ if (widget && widget.chart_type === highchartsRenderer.CHART_TYPES.WATERFALL_BREAKDOWN) {
4340
4349
  const breakdownSettings = widget.options.breakdown_options.settings;
4341
4350
  const maxCategories = breakdownSettings.maxCategoriesCount;
4342
4351
  const minCategories = breakdownSettings.minCategoriesCount;
@@ -6766,7 +6775,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
6766
6775
  };
6767
6776
 
6768
6777
  highchartsRenderer.chartsTypesInfo = {
6769
- [CHART_TYPES.WATERFALL_BREAKDOWN]: {
6778
+ [highchartsRenderer.CHART_TYPES.WATERFALL_BREAKDOWN]: {
6770
6779
  name: 'Waterfall Breakdown Chart ',
6771
6780
  label: 'Waterfall Breakdown Chart ',
6772
6781
  title: 'TODO: add text',
@@ -7416,8 +7425,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
7416
7425
  class: 'google-visualization-charteditor-mini-column',
7417
7426
  subtypes: [
7418
7427
  {
7419
- type: CHART_TYPES.WATERFALL_BREAKDOWN,
7420
- name: highchartsRenderer.chartsTypesInfo[CHART_TYPES.WATERFALL_BREAKDOWN].name,
7428
+ type: highchartsRenderer.CHART_TYPES.WATERFALL_BREAKDOWN,
7429
+ name: highchartsRenderer.chartsTypesInfo[highchartsRenderer.CHART_TYPES.WATERFALL_BREAKDOWN].name,
7421
7430
  class: 'google-visualization-charteditor-thumbs-columnchart',
7422
7431
  render: highchartsRenderer.ptRenderWaterfallBreakdown,
7423
7432
  suboptions: [
@@ -7907,7 +7916,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
7907
7916
 
7908
7917
  let filters = [];
7909
7918
 
7910
- if (widget.chart_type === CHART_TYPES.WATERFALL_BREAKDOWN) {
7919
+ if (widget.chart_type === highchartsRenderer.CHART_TYPES.WATERFALL_BREAKDOWN) {
7911
7920
  const colFilter = highchartsRenderer.createFilterObject(widget.cols[0]);
7912
7921
  const labels = [];
7913
7922
  colFilter.values = [];
@@ -8032,15 +8041,36 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
8032
8041
  filters.push(highchartsRenderer.createDrillDownFilterObject(widget, widget.rows[i], rowKey[i]))
8033
8042
  }
8034
8043
  }
8035
- for (let i = 0; i < colKey.length; i++) {
8036
- let filter = lodash.find(filters, {name: widget.cols[i].name});
8044
+
8045
+ if (widget.chart_type === highchartsRenderer.CHART_TYPES.WATERFALL_BREAKDOWN) {
8046
+ let filter = lodash.find(filters, {name: widget.cols[0].name});
8037
8047
  if (filter) {
8038
8048
  filter.is_excluded = false;
8039
- filter.values = widget.cols[i].type === 'Date' ?
8040
- highchartsRenderer.createDateTypeFromValue(colKey[i], highchartsRenderer.getDateFieldFormat(widget, widget.cols[i])) :
8041
- [colKey[i]];
8042
8049
  } else {
8043
- filters.push(highchartsRenderer.createDrillDownFilterObject(widget, widget.cols[i], colKey[i]))
8050
+ filter = highchartsRenderer.createDrillDownFilterObject(widget, widget.cols[0], colKey[0]);
8051
+ }
8052
+ filter.values = [];
8053
+ for (let i = 0; i < colKey.length; i++) {
8054
+ filter.values.push(
8055
+ widget.cols[0].type === 'Date'
8056
+ ? highchartsRenderer.createDateFromString(
8057
+ colKey[i],
8058
+ highchartsRenderer.getDateFieldFormat(widget, widget.cols[0])
8059
+ )
8060
+ : colKey[i]
8061
+ );
8062
+ }
8063
+ } else {
8064
+ for (let i = 0; i < colKey.length; i++) {
8065
+ let filter = lodash.find(filters, {name: widget.cols[i].name});
8066
+ if (filter) {
8067
+ filter.is_excluded = false;
8068
+ filter.values = widget.cols[i].type === 'Date' ?
8069
+ highchartsRenderer.createDateTypeFromValue(colKey[i], highchartsRenderer.getDateFieldFormat(widget, widget.cols[i])) :
8070
+ [colKey[i]];
8071
+ } else {
8072
+ filters.push(highchartsRenderer.createDrillDownFilterObject(widget, widget.cols[i], colKey[i]))
8073
+ }
8044
8074
  }
8045
8075
  }
8046
8076
  return filters;
@@ -8615,7 +8645,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
8615
8645
  rows = cols;
8616
8646
  cols = [];
8617
8647
  }
8618
- return { rows: rows, cols: cols };
8648
+ return { rows, cols };
8619
8649
  }
8620
8650
 
8621
8651
  return highchartsRenderer;