@datarailsshared/dr_renderer 1.2.289 → 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.289",
3
+ "version": "1.2.290",
4
4
  "description": "DataRails charts and tables renderer",
5
5
  "keywords": [
6
6
  "datarails",
@@ -4948,7 +4948,16 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
4948
4948
  format = format.replace('yyyy', 'YYYY');
4949
4949
  format = format.replace('yy', 'YY');
4950
4950
  format = lodash.replace(format, /h/g, 'H');
4951
- 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) + "";
4952
4961
  } else {
4953
4962
  return 'Wrong date format';
4954
4963
  }
@@ -8240,7 +8249,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
8240
8249
  return str.toLowerCase().indexOf(it) != -1;
8241
8250
  };
8242
8251
 
8243
- highchartsRenderer.createDateTypeFromValue = function (fieldnametoFilter, format, colName, fiscalYear) {
8252
+ highchartsRenderer.createDateTypeFromValue = function (fieldnametoFilter, format, colName) {
8253
+
8254
+ const fiscalYearMonthsModifier = highchartsRenderer.getFiscalYearMonthModifier();
8255
+
8244
8256
  const initialDateString = fieldnametoFilter;
8245
8257
  if (format) {
8246
8258
  format = format.replace(/y/g, 'Y');
@@ -8261,13 +8273,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
8261
8273
  return {};
8262
8274
 
8263
8275
  var dt = new Date(fieldnametoFilter);
8264
- var timeframe = 'day';
8265
- if (format && highchartsRenderer.containsIgnoreCase(format, 'q'))
8266
- timeframe = 'quarter';
8267
- else if (format && !highchartsRenderer.containsIgnoreCase(format, 'dd') && !highchartsRenderer.containsIgnoreCase(format, 'mm') && highchartsRenderer.containsIgnoreCase(format, 'yy'))
8268
- timeframe = 'year';
8269
- else if (format && !highchartsRenderer.containsIgnoreCase(format, 'dd') && highchartsRenderer.containsIgnoreCase(format, 'mm') && highchartsRenderer.containsIgnoreCase(format, 'yy'))
8270
- timeframe = 'month';
8276
+
8277
+ const timeframe = highchartsRenderer.getTimeframeByFormat(format);
8271
8278
  switch (timeframe) {
8272
8279
  case 'day':
8273
8280
  range.val.fromdate = Math.round(Date.UTC(
@@ -8303,12 +8310,12 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
8303
8310
  case 'year':
8304
8311
  range.val.fromdate = Math.round(Date.UTC(
8305
8312
  dt.getFullYear(),
8306
- fiscalYear || dt.getMonth(),
8313
+ fiscalYearMonthsModifier || dt.getMonth(),
8307
8314
  1,
8308
8315
  0, 0, 0, 0
8309
8316
  ) / 1000);
8310
8317
 
8311
- let lastDay2 = new Date(dt.getFullYear() + 1, fiscalYear || 0, 0);
8318
+ let lastDay2 = new Date(dt.getFullYear() + 1, fiscalYearMonthsModifier || 0, 0);
8312
8319
  range.val.todate = Math.round(Date.UTC(
8313
8320
  lastDay2.getFullYear(),
8314
8321
  lastDay2.getMonth(),
@@ -8319,13 +8326,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
8319
8326
  break;
8320
8327
  case 'quarter':
8321
8328
  const utcDate = moment_lib.utc(initialDateString, format, true);
8322
- if (fiscalYear) {
8323
- range.val.fromdate = utcDate.startOf(timeframe).add(fiscalYear, 'M').unix();
8324
- range.val.todate = utcDate.endOf(timeframe).add(fiscalYear, 'M').unix();
8325
- } else {
8326
- range.val.fromdate = utcDate.startOf(timeframe).unix();
8327
- range.val.todate = utcDate.endOf(timeframe).unix();
8328
- }
8329
+ range.val.fromdate = utcDate.startOf(timeframe).add(fiscalYearMonthsModifier, 'M').unix();
8330
+ range.val.todate = utcDate.endOf(timeframe).add(fiscalYearMonthsModifier, 'M').unix();
8329
8331
  return range;
8330
8332
  default:
8331
8333
  return "";
@@ -8343,7 +8345,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
8343
8345
  return utcDate.startOf('day').unix();
8344
8346
  }
8345
8347
 
8346
- highchartsRenderer.prepareDrillDownFilters = function (r_keys, c_keys, widget, fiscalYear) {
8348
+ highchartsRenderer.prepareDrillDownFilters = function (r_keys, c_keys, widget) {
8347
8349
  let row_key = r_keys;
8348
8350
  let col_key = c_keys;
8349
8351
  if (widget.options &&
@@ -8391,8 +8393,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
8391
8393
  let datetrange = highchartsRenderer.createDateTypeFromValue(
8392
8394
  col_value,
8393
8395
  highchartsRenderer.getDateFieldFormat(widget, widget.cols[index]),
8394
- null,
8395
- fiscalYear
8396
+ null
8396
8397
  );
8397
8398
 
8398
8399
  if ($.isEmptyObject(datetrange)) {
@@ -8416,8 +8417,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
8416
8417
  let datetrange = highchartsRenderer.createDateTypeFromValue(
8417
8418
  row_value,
8418
8419
  highchartsRenderer.getDateFieldFormat(widget, widget.rows[index]),
8419
- null,
8420
- fiscalYear
8420
+ null
8421
8421
  );
8422
8422
 
8423
8423
  if ($.isEmptyObject(datetrange)) {
@@ -9214,6 +9214,23 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
9214
9214
  });
9215
9215
  }
9216
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
+
9217
9234
  return highchartsRenderer;
9218
9235
  };
9219
9236