@datarailsshared/dr_renderer 1.2.289 → 1.2.291
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 +1 -1
- package/src/highcharts_renderer.js +40 -23
package/package.json
CHANGED
@@ -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
|
-
|
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
|
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
|
-
|
8265
|
-
|
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
|
-
|
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,
|
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
|
-
|
8323
|
-
|
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
|
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
|
|