@datarailsshared/dr_renderer 1.2.288 → 1.2.290

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.288",
3
+ "version": "1.2.290",
4
4
  "description": "DataRails charts and tables renderer",
5
5
  "keywords": [
6
6
  "datarails",
@@ -668,6 +668,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
668
668
  shape: 'square',
669
669
  padding: 0,
670
670
  stickOnContact: true,
671
+ hideDelay: 1500,
671
672
  formatter: function () {
672
673
  const rowKey = pivotData.rowAttrs.length ? _.get(this.point, 'series.name') || "" : "";
673
674
  const colKey = _.get(this.point, 'name') || this.x.name[0] || "";
@@ -1218,7 +1219,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1218
1219
  );
1219
1220
  }
1220
1221
  });
1221
-
1222
+
1222
1223
  const ethalonSeries = chart_series[chart_series.length - 1];
1223
1224
 
1224
1225
  if (has_delta && additionOptions && additionOptions.delta_column.only_variant) {
@@ -4947,7 +4948,16 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
4947
4948
  format = format.replace('yyyy', 'YYYY');
4948
4949
  format = format.replace('yy', 'YY');
4949
4950
  format = lodash.replace(format, /h/g, 'H');
4950
- return moment_lib(tryParse).utcOffset(0).format(format) + "";
4951
+
4952
+ const timeframe = highchartsRenderer.getTimeframeByFormat(format);
4953
+ const fiscalYearMonthsModifier = highchartsRenderer.getFiscalYearMonthModifier();
4954
+
4955
+ let date = moment_lib(tryParse).utcOffset(0);
4956
+ if (['quarter', 'year'].includes(timeframe)) {
4957
+ date = date.subtract(fiscalYearMonthsModifier, 'M');
4958
+ }
4959
+
4960
+ return date.format(format) + "";
4951
4961
  } else {
4952
4962
  return 'Wrong date format';
4953
4963
  }
@@ -8239,7 +8249,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
8239
8249
  return str.toLowerCase().indexOf(it) != -1;
8240
8250
  };
8241
8251
 
8242
- highchartsRenderer.createDateTypeFromValue = function (fieldnametoFilter, format, colName, fiscalYear) {
8252
+ highchartsRenderer.createDateTypeFromValue = function (fieldnametoFilter, format, colName) {
8253
+
8254
+ const fiscalYearMonthsModifier = highchartsRenderer.getFiscalYearMonthModifier();
8255
+
8243
8256
  const initialDateString = fieldnametoFilter;
8244
8257
  if (format) {
8245
8258
  format = format.replace(/y/g, 'Y');
@@ -8260,13 +8273,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
8260
8273
  return {};
8261
8274
 
8262
8275
  var dt = new Date(fieldnametoFilter);
8263
- var timeframe = 'day';
8264
- if (format && highchartsRenderer.containsIgnoreCase(format, 'q'))
8265
- timeframe = 'quarter';
8266
- else if (format && !highchartsRenderer.containsIgnoreCase(format, 'dd') && !highchartsRenderer.containsIgnoreCase(format, 'mm') && highchartsRenderer.containsIgnoreCase(format, 'yy'))
8267
- timeframe = 'year';
8268
- else if (format && !highchartsRenderer.containsIgnoreCase(format, 'dd') && highchartsRenderer.containsIgnoreCase(format, 'mm') && highchartsRenderer.containsIgnoreCase(format, 'yy'))
8269
- timeframe = 'month';
8276
+
8277
+ const timeframe = highchartsRenderer.getTimeframeByFormat(format);
8270
8278
  switch (timeframe) {
8271
8279
  case 'day':
8272
8280
  range.val.fromdate = Math.round(Date.UTC(
@@ -8302,12 +8310,12 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
8302
8310
  case 'year':
8303
8311
  range.val.fromdate = Math.round(Date.UTC(
8304
8312
  dt.getFullYear(),
8305
- fiscalYear || dt.getMonth(),
8313
+ fiscalYearMonthsModifier || dt.getMonth(),
8306
8314
  1,
8307
8315
  0, 0, 0, 0
8308
8316
  ) / 1000);
8309
8317
 
8310
- let lastDay2 = new Date(dt.getFullYear() + 1, fiscalYear || 0, 0);
8318
+ let lastDay2 = new Date(dt.getFullYear() + 1, fiscalYearMonthsModifier || 0, 0);
8311
8319
  range.val.todate = Math.round(Date.UTC(
8312
8320
  lastDay2.getFullYear(),
8313
8321
  lastDay2.getMonth(),
@@ -8318,13 +8326,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
8318
8326
  break;
8319
8327
  case 'quarter':
8320
8328
  const utcDate = moment_lib.utc(initialDateString, format, true);
8321
- if (fiscalYear) {
8322
- range.val.fromdate = utcDate.startOf(timeframe).add(fiscalYear, 'M').unix();
8323
- range.val.todate = utcDate.endOf(timeframe).add(fiscalYear, 'M').unix();
8324
- } else {
8325
- range.val.fromdate = utcDate.startOf(timeframe).unix();
8326
- range.val.todate = utcDate.endOf(timeframe).unix();
8327
- }
8329
+ range.val.fromdate = utcDate.startOf(timeframe).add(fiscalYearMonthsModifier, 'M').unix();
8330
+ range.val.todate = utcDate.endOf(timeframe).add(fiscalYearMonthsModifier, 'M').unix();
8328
8331
  return range;
8329
8332
  default:
8330
8333
  return "";
@@ -8342,7 +8345,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
8342
8345
  return utcDate.startOf('day').unix();
8343
8346
  }
8344
8347
 
8345
- highchartsRenderer.prepareDrillDownFilters = function (r_keys, c_keys, widget, fiscalYear) {
8348
+ highchartsRenderer.prepareDrillDownFilters = function (r_keys, c_keys, widget) {
8346
8349
  let row_key = r_keys;
8347
8350
  let col_key = c_keys;
8348
8351
  if (widget.options &&
@@ -8390,8 +8393,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
8390
8393
  let datetrange = highchartsRenderer.createDateTypeFromValue(
8391
8394
  col_value,
8392
8395
  highchartsRenderer.getDateFieldFormat(widget, widget.cols[index]),
8393
- null,
8394
- fiscalYear
8396
+ null
8395
8397
  );
8396
8398
 
8397
8399
  if ($.isEmptyObject(datetrange)) {
@@ -8415,8 +8417,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
8415
8417
  let datetrange = highchartsRenderer.createDateTypeFromValue(
8416
8418
  row_value,
8417
8419
  highchartsRenderer.getDateFieldFormat(widget, widget.rows[index]),
8418
- null,
8419
- fiscalYear
8420
+ null
8420
8421
  );
8421
8422
 
8422
8423
  if ($.isEmptyObject(datetrange)) {
@@ -9213,6 +9214,23 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
9213
9214
  });
9214
9215
  }
9215
9216
 
9217
+
9218
+ highchartsRenderer.getFiscalYearMonthModifier = function() {
9219
+ return lodash.get(document, 'ReportHippo.user.organization.fiscal_year_starts_from', 1) - 1;
9220
+ }
9221
+
9222
+ highchartsRenderer.getTimeframeByFormat = function(format) {
9223
+ if (format && highchartsRenderer.containsIgnoreCase(format, 'q'))
9224
+ return 'quarter';
9225
+ else if (format && !highchartsRenderer.containsIgnoreCase(format, 'dd') && !highchartsRenderer.containsIgnoreCase(format, 'mm') && highchartsRenderer.containsIgnoreCase(format, 'yy'))
9226
+ return 'year';
9227
+ else if (format && !highchartsRenderer.containsIgnoreCase(format, 'dd') && highchartsRenderer.containsIgnoreCase(format, 'mm') && highchartsRenderer.containsIgnoreCase(format, 'yy'))
9228
+ return 'month';
9229
+ else {
9230
+ return 'day';
9231
+ }
9232
+ }
9233
+
9216
9234
  return highchartsRenderer;
9217
9235
  };
9218
9236