@datarailsshared/dr_renderer 1.2.171-dragons → 1.2.172-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.171-dragons",
3
+ "version": "1.2.172-dragons",
4
4
  "description": "DataRails charts and tables renderer",
5
5
  "keywords": [
6
6
  "datarails",
@@ -1391,6 +1391,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1391
1391
  tmoobj.visible = false;
1392
1392
  }
1393
1393
  tmoobj.y = value;
1394
+ tmoobj.colKeys = [lodash.unescape(col_n_keys[col_index - 1]), lodash.unescape(col_n_value)];
1394
1395
  resultObject.data.push(tmoobj);
1395
1396
  }
1396
1397
  }
@@ -7883,6 +7884,16 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
7883
7884
 
7884
7885
  };
7885
7886
 
7887
+ highchartsRenderer.createDateFromString = function (dateString, format) {
7888
+ if ((format && !highchartsRenderer.isDateFormat(dateString, format)) || !highchartsRenderer.isDate(dateString)) {
7889
+ return null;
7890
+ }
7891
+ const utcDate = format
7892
+ ? moment_lib.utc(dateString, format, true)
7893
+ : moment_lib.utc(dateString);
7894
+ return utcDate.startOf('day').unix();
7895
+ }
7896
+
7886
7897
  highchartsRenderer.prepareDrillDownFilters = function (r_keys, c_keys, widget) {
7887
7898
  let row_key = r_keys;
7888
7899
  let col_key = c_keys;
@@ -7896,26 +7907,46 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
7896
7907
 
7897
7908
  let filters = [];
7898
7909
 
7899
- lodash.forEach(col_key, function (col_value, index) {
7900
- if (widget && widget.cols[index]) {
7901
- let temp = highchartsRenderer.createFilterObject(widget.cols[index]);
7902
- if (widget.cols[index].type === 'Date') {
7903
- let datetrange = highchartsRenderer.createDateTypeFromValue(
7910
+ if (widget.chart_type === CHART_TYPES.WATERFALL_BREAKDOWN) {
7911
+ const colFilter = highchartsRenderer.createFilterObject(widget.cols[0]);
7912
+ const labels = [];
7913
+ colFilter.values = [];
7914
+ lodash.forEach(col_key, function (col_value) {
7915
+ if (widget.cols[0].type === 'Date') {
7916
+ let date = highchartsRenderer.createDateFromString(
7904
7917
  col_value,
7905
- highchartsRenderer.getDateFieldFormat(widget, widget.cols[index])
7918
+ highchartsRenderer.getDateFieldFormat(widget, widget.cols[0])
7906
7919
  );
7907
-
7908
- if ($.isEmptyObject(datetrange)) {
7909
- return;
7910
- }
7911
- temp.values = datetrange;
7912
- temp.values.label = col_value;
7920
+ colFilter.values.push(date);
7913
7921
  } else {
7914
- temp.values = [col_value];
7922
+ colFilter.values.push(col_value);
7915
7923
  }
7916
- filters.push(temp);
7917
- }
7918
- });
7924
+ labels.push(col_value);
7925
+ });
7926
+ colFilter.value_to_show = labels.join(', ');
7927
+ filters.push(colFilter);
7928
+ } else {
7929
+ lodash.forEach(col_key, function (col_value, index) {
7930
+ if (widget && widget.cols[index]) {
7931
+ let temp = highchartsRenderer.createFilterObject(widget.cols[index]);
7932
+ if (widget.cols[index].type === 'Date') {
7933
+ let datetrange = highchartsRenderer.createDateTypeFromValue(
7934
+ col_value,
7935
+ highchartsRenderer.getDateFieldFormat(widget, widget.cols[index])
7936
+ );
7937
+
7938
+ if ($.isEmptyObject(datetrange)) {
7939
+ return;
7940
+ }
7941
+ temp.values = datetrange;
7942
+ temp.values.label = col_value;
7943
+ } else {
7944
+ temp.values = [col_value];
7945
+ }
7946
+ filters.push(temp);
7947
+ }
7948
+ });
7949
+ }
7919
7950
 
7920
7951
  lodash.forEach(row_key, function (row_value, index) {
7921
7952
  if (widget && widget.rows[index]) {
@@ -7960,6 +7991,9 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
7960
7991
  });
7961
7992
 
7962
7993
  lodash.forEach(filters, function (filter) {
7994
+ if (filter.value_to_show) {
7995
+ return;
7996
+ }
7963
7997
  if (Array.isArray(filter.values)) {
7964
7998
  if (filter.type) {
7965
7999
  for (let i = 0; i < filter.values.length; i++) {