@datarailsshared/dr_renderer 1.2.160-dragons → 1.2.162

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.160-dragons",
3
+ "version": "1.2.162",
4
4
  "description": "DataRails charts and tables renderer",
5
5
  "keywords": [
6
6
  "datarails",
@@ -7581,14 +7581,16 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
7581
7581
  }
7582
7582
 
7583
7583
  let filters = [];
7584
-
7585
- this.formatDatesWithAggregationIfRequired(widget, null);
7586
7584
 
7587
7585
  lodash.forEach(col_key, function (col_value, index) {
7588
7586
  if (widget && widget.cols[index]) {
7589
7587
  let temp = highchartsRenderer.createFilterObject(widget.cols[index]);
7590
7588
  if (widget.cols[index].type === 'Date') {
7591
- let datetrange = highchartsRenderer.createDateTypeFromValue(col_value, widget.cols[index].format);
7589
+ let datetrange = highchartsRenderer.createDateTypeFromValue(
7590
+ col_value,
7591
+ highchartsRenderer.getDateFieldFormat(widget, widget.cols[index])
7592
+ );
7593
+
7592
7594
  if ($.isEmptyObject(datetrange)) {
7593
7595
  return;
7594
7596
  }
@@ -7606,7 +7608,11 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
7606
7608
  let temp = highchartsRenderer.createFilterObject(widget.rows[index]);
7607
7609
 
7608
7610
  if (widget.rows[index].type === 'Date') {
7609
- let datetrange = highchartsRenderer.createDateTypeFromValue(row_value, widget.rows[index].format);
7611
+ let datetrange = highchartsRenderer.createDateTypeFromValue(
7612
+ row_value,
7613
+ highchartsRenderer.getDateFieldFormat(widget, widget.rows[index])
7614
+ );
7615
+
7610
7616
  if ($.isEmptyObject(datetrange)) {
7611
7617
  return;
7612
7618
  }
@@ -7672,10 +7678,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
7672
7678
  if (filter) {
7673
7679
  filter.is_excluded = false;
7674
7680
  filter.values = widget.rows[i].type === 'Date' ?
7675
- highchartsRenderer.createDateTypeFromValue(rowKey[i], widget.rows[i].format) :
7681
+ highchartsRenderer.createDateTypeFromValue(rowKey[i], highchartsRenderer.getDateFieldFormat(widget, widget.rows[i])) :
7676
7682
  [rowKey[i]];
7677
7683
  } else {
7678
- filters.push(highchartsRenderer.createDrillDownFilterObject(widget.rows[i], rowKey[i]))
7684
+ filters.push(highchartsRenderer.createDrillDownFilterObject(widget, widget.rows[i], rowKey[i]))
7679
7685
  }
7680
7686
  }
7681
7687
  for (let i = 0; i < colKey.length; i++) {
@@ -7683,16 +7689,16 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
7683
7689
  if (filter) {
7684
7690
  filter.is_excluded = false;
7685
7691
  filter.values = widget.cols[i].type === 'Date' ?
7686
- highchartsRenderer.createDateTypeFromValue(colKey[i], widget.cols[i].format) :
7692
+ highchartsRenderer.createDateTypeFromValue(colKey[i], highchartsRenderer.getDateFieldFormat(widget, widget.cols[i])) :
7687
7693
  [colKey[i]];
7688
7694
  } else {
7689
- filters.push(highchartsRenderer.createDrillDownFilterObject(widget.cols[i], colKey[i]))
7695
+ filters.push(highchartsRenderer.createDrillDownFilterObject(widget, widget.cols[i], colKey[i]))
7690
7696
  }
7691
7697
  }
7692
7698
  return filters;
7693
7699
  };
7694
7700
 
7695
- highchartsRenderer.createDrillDownFilterObject = function (field, value) {
7701
+ highchartsRenderer.createDrillDownFilterObject = function (widget, field, value) {
7696
7702
  var filtOb = {};
7697
7703
 
7698
7704
  filtOb.is_excluded = false;
@@ -7703,7 +7709,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
7703
7709
  filtOb.field = field.id;
7704
7710
  filtOb.name = highchartsRenderer.decodeFunc(field.name);
7705
7711
  if (field.type === 'Date') {
7706
- filtOb.values = highchartsRenderer.createDateTypeFromValue(value, field.format);
7712
+ filtOb.values = highchartsRenderer.createDateTypeFromValue(value, highchartsRenderer.getDateFieldFormat(widget, field));
7707
7713
  }
7708
7714
 
7709
7715
  return filtOb;
@@ -7786,8 +7792,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
7786
7792
  datesFields = lodash.filter(widget.rows, element => element.type == 'Date');
7787
7793
  datesFields = datesFields.concat(lodash.filter(widget.cols, element => element.type == 'Date'));
7788
7794
 
7789
- highchartsRenderer.formatDatesWithAggregationIfRequired(widget, defaultDateFormat);
7790
-
7791
7795
  const isCustomSorting = widget.options.sortingFields && Array.isArray(widget.options.sortingFields) && widget.options.sortingFields.length > 0;
7792
7796
  if (isCustomSorting) {
7793
7797
  lodash.forEach(datesFields, function (field) {
@@ -7797,7 +7801,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
7797
7801
  }
7798
7802
 
7799
7803
  datesFields = lodash.map(datesFields, function (row) {
7800
- return {"format": row.format, "name": row.name, "type": row.type, "values": [], "sorting": row.sorting} //'MMM - yyyy' format
7804
+ return { "format": highchartsRenderer.getDateFieldFormat(widget, row), "name": row.name, "type": row.type, "values": [], "sorting": row.sorting } //'MMM - yyyy' format
7801
7805
  });
7802
7806
 
7803
7807
  var data = res;
@@ -8216,32 +8220,18 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
8216
8220
  yAxis.max = !isNaN(maxNumber) ? maxNumber : null;
8217
8221
  }
8218
8222
 
8219
- highchartsRenderer.formatDatesWithAggregationIfRequired = function(widget, defaultDateFormat) {
8220
-
8221
- let datesFields = [];
8222
- datesFields = lodash.filter(widget.rows, element => element.type == 'Date');
8223
- datesFields = datesFields.concat(lodash.filter(widget.cols, element => element.type == 'Date'));
8224
- const aggregationConfigs = widget.options ? widget.options.date_aggregation_configs || [] : [];
8223
+ highchartsRenderer.getDateFieldFormat = function(widget, dateField) {
8224
+ const aggregationConfig = widget.options && widget.options.date_aggregation_configs
8225
+ ? _.find(widget.options.date_aggregation_configs, { field_id: dateField.id })
8226
+ : null;
8225
8227
 
8226
- if (aggregationConfigs.length && datesFields && datesFields.length) {
8227
- _.forEach(aggregationConfigs, aggregationConfig => {
8228
- const aggregationTimeframe = aggregationConfig ? aggregationConfig.aggregate_by : null;
8229
- const isFormattingByAggregation = aggregationConfig ? aggregationConfig.is_formatting_by_aggregation_method : false;
8230
-
8231
- if (aggregationTimeframe && isFormattingByAggregation) {
8232
- const dateField = lodash.find(
8233
- datesFields,
8234
- (element) => element.id === aggregationConfig.field_id
8235
- );
8236
- if (dateField) {
8237
- dateField.format = highchartsRenderer.getDateFormatByAggregation(aggregationTimeframe, defaultDateFormat);
8238
- }
8239
- }
8240
- });
8228
+ if (aggregationConfig && aggregationConfig.aggregate_by && aggregationConfig.is_formatting_by_aggregation_method) {
8229
+ return highchartsRenderer.getDateFormatByTimeframe(aggregationConfig.aggregate_by, dateField.format);
8241
8230
  }
8231
+ return dateField.format;
8242
8232
  }
8243
8233
 
8244
- highchartsRenderer.getDateFormatByAggregation = function(timeframe, defaultDateFormat) {
8234
+ highchartsRenderer.getDateFormatByTimeframe = function(timeframe, defaultDateFormat) {
8245
8235
  switch (timeframe) {
8246
8236
  case 'month':
8247
8237
  return 'MMM-YY';