@datarailsshared/dr_renderer 1.2.244-dragons → 1.2.246-rocket
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 +37 -53
package/package.json
CHANGED
|
@@ -1042,7 +1042,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1042
1042
|
if (row_n_value && row_n_value.length > 0) {
|
|
1043
1043
|
ob.name = row_n_value.join(highchartsRenderer.delimer).replace('DR_Others', othersName);
|
|
1044
1044
|
}
|
|
1045
|
-
|
|
1046
1045
|
lodash.forEach(col_n_keys, function (col_n_value, index) {
|
|
1047
1046
|
var agg = pivotData.getAggregator(row_n_value, col_n_value);
|
|
1048
1047
|
var val = agg.value();
|
|
@@ -1259,7 +1258,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1259
1258
|
if (opts.trendLine) {
|
|
1260
1259
|
const a = ((ySum * squareXSum) - (xSum * xySum)) / ((n * squareXSum) - (xSum * xSum));
|
|
1261
1260
|
const b = ((n * xySum) - (xSum* ySum)) / ((n * squareXSum) - (xSum * xSum));
|
|
1262
|
-
|
|
1263
1261
|
const trendSeries = lodash.clone(chart_series[chart_series.length - 1]);
|
|
1264
1262
|
trendSeries.className = 'trendSeries';
|
|
1265
1263
|
trendSeries.name = highchartsRenderer.getTrendSeriesName(trendSeries);
|
|
@@ -1270,7 +1268,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1270
1268
|
if (colors && colors[i]) {
|
|
1271
1269
|
trendSeries.color = colors[i];
|
|
1272
1270
|
}
|
|
1273
|
-
|
|
1274
1271
|
trendSerieses.push(trendSeries);
|
|
1275
1272
|
}
|
|
1276
1273
|
i++;
|
|
@@ -1287,7 +1284,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1287
1284
|
}
|
|
1288
1285
|
|
|
1289
1286
|
let weights = { line: 2,spline: 3 ,area:-2, areaspline: -1, scatter:4, column: 1 };
|
|
1290
|
-
|
|
1291
1287
|
if (opts.comboOptions && lodash.includes(chartType,'combo') && !lodash.isEqual(row_n_keys, EMPTY_ROW_N_KEYS)) {
|
|
1292
1288
|
chart_series.forEach((series, seriesIndex) => {
|
|
1293
1289
|
const savedSeriesOption = lodash.find(opts.comboOptions.seriesOptions, {series: series.name});
|
|
@@ -1433,8 +1429,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1433
1429
|
formatter: highchartsRenderer.defaultDataLabelFormatter(pivotData, {'chartOptions': additionOptions, total_value_options: opts.total_value_options}),
|
|
1434
1430
|
style: highchartsRenderer.getDataLabelsStyle(additionOptions),
|
|
1435
1431
|
},
|
|
1436
|
-
upColor: waterfallOptions.colors
|
|
1437
|
-
color: waterfallOptions.colors
|
|
1432
|
+
upColor: waterfallOptions.colors.increase,
|
|
1433
|
+
color: waterfallOptions.colors.decrease,
|
|
1438
1434
|
className: SERIES_CLASSNAMES.WATERFALL_WALKTHROUGH
|
|
1439
1435
|
};
|
|
1440
1436
|
resultObject = highchartsRenderer.getDataLabelsOptions(additionOptions, resultObject);
|
|
@@ -1470,9 +1466,9 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1470
1466
|
if (value.color) {
|
|
1471
1467
|
color = value.color;
|
|
1472
1468
|
} else {
|
|
1473
|
-
if (value.trend === 'total') color = waterfallOptions.colors
|
|
1474
|
-
if (value.trend === 'decrease') color = waterfallOptions.colors
|
|
1475
|
-
if (value.trend === 'increase') color = waterfallOptions.colors
|
|
1469
|
+
if (value.trend === 'total') color = waterfallOptions.colors.total;
|
|
1470
|
+
if (value.trend === 'decrease') color = waterfallOptions.colors.decrease;
|
|
1471
|
+
if (value.trend === 'increase') color = waterfallOptions.colors.increase;
|
|
1476
1472
|
}
|
|
1477
1473
|
|
|
1478
1474
|
resultObject.data.push({
|
|
@@ -1489,14 +1485,14 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
1489
1485
|
{
|
|
1490
1486
|
name: 'Positive',
|
|
1491
1487
|
visible: false,
|
|
1492
|
-
color: waterfallOptions.colors
|
|
1488
|
+
color: waterfallOptions.colors.increase
|
|
1493
1489
|
});
|
|
1494
1490
|
|
|
1495
1491
|
chart_series.push(
|
|
1496
1492
|
{
|
|
1497
1493
|
name: 'Negative',
|
|
1498
1494
|
visible: false,
|
|
1499
|
-
color: waterfallOptions.colors
|
|
1495
|
+
color: waterfallOptions.colors.decrease
|
|
1500
1496
|
});
|
|
1501
1497
|
|
|
1502
1498
|
return chart_series;
|
|
@@ -5223,7 +5219,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5223
5219
|
|
|
5224
5220
|
// TODO: remove this logic after BE sort is implemented
|
|
5225
5221
|
// it is required to do sort by totals for comparative analysis - we need to change deltas if columns swaped vice versa
|
|
5226
|
-
const isTwoColumnComparisonWidget = widgetOptions.chart_type === highchartsRenderer.CHART_TYPES.WATERFALL_BREAKDOWN
|
|
5222
|
+
const isTwoColumnComparisonWidget = widgetOptions.chart_type === highchartsRenderer.CHART_TYPES.WATERFALL_BREAKDOWN
|
|
5227
5223
|
&& lodash.get(widgetOptions, 'options.breakdown_options.values.totals', []).length === 2;
|
|
5228
5224
|
|
|
5229
5225
|
if (isTwoColumnComparisonWidget) {
|
|
@@ -5363,13 +5359,16 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5363
5359
|
dynamicRangeOptions.pivot.calculatedValues = highchartsRenderer.objectCopyJsonMethod(dynamicRangeOptions.calculated_values || []);
|
|
5364
5360
|
}
|
|
5365
5361
|
|
|
5366
|
-
highchartsRenderer.addTemplateDataToCalcModel = function (selectedTemplate, calcModelOptions) {
|
|
5362
|
+
highchartsRenderer.addTemplateDataToCalcModel = function (selectedTemplate, calcModelOptions, calcModelPredefinedField) {
|
|
5367
5363
|
highchartsRenderer.setWidgetFieldsToTemplate(selectedTemplate);
|
|
5368
5364
|
const fields = highchartsRenderer.objectCopyJsonMethod(selectedTemplate.fields);
|
|
5365
|
+
const predefinedField = lodash.cloneDeep(calcModelPredefinedField);
|
|
5369
5366
|
|
|
5370
5367
|
const fillData = (fieldsArr, ignoreFieldsIdToRemove = []) => {
|
|
5371
5368
|
const destinationArr = [];
|
|
5372
5369
|
lodash.forEach(fieldsArr, function (valObj) {
|
|
5370
|
+
if (!valObj) return;
|
|
5371
|
+
|
|
5373
5372
|
const fieldOb = lodash.find(fields, { id: valObj.id });
|
|
5374
5373
|
if (fieldOb) {
|
|
5375
5374
|
destinationArr.push(fieldOb);
|
|
@@ -5405,37 +5404,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5405
5404
|
}
|
|
5406
5405
|
})();
|
|
5407
5406
|
|
|
5408
|
-
|
|
5409
|
-
|
|
5410
|
-
const predefinedField = {
|
|
5411
|
-
value: {
|
|
5412
|
-
regex: /posting[_\s]amount/i,
|
|
5413
|
-
allowedFieldTypes: ['Float', 'Integer'],
|
|
5414
|
-
fields: [],
|
|
5415
|
-
},
|
|
5416
|
-
dataType: {
|
|
5417
|
-
regex: /^(data[_\s]type[_\s]by|data[_\s]type)$/i,
|
|
5418
|
-
allowedFieldTypes: ['Text'],
|
|
5419
|
-
fields: [],
|
|
5420
|
-
},
|
|
5421
|
-
date: {
|
|
5422
|
-
regex: reportingMonthRegex,
|
|
5423
|
-
allowedFieldTypes: ['Date'],
|
|
5424
|
-
fields: [],
|
|
5425
|
-
},
|
|
5426
|
-
filters: {
|
|
5427
|
-
isMultipleFields: true,
|
|
5428
|
-
regex: /^(scenario|DR_ACC_L0)$/i,
|
|
5429
|
-
fields: [],
|
|
5430
|
-
},
|
|
5431
|
-
dataSeries: {
|
|
5432
|
-
isMultipleFields: true,
|
|
5433
|
-
regex: /^(scenario|account[_\s]full|entity|intercompany|posting[_\s]currency|reporting[_\s]currency|report[_\s]field|USER_TO_DR_ACC_KEY|USER_TO_DR_KPI_KEY)$/i,
|
|
5434
|
-
fields: [],
|
|
5435
|
-
},
|
|
5436
|
-
};
|
|
5437
|
-
|
|
5438
|
-
if (!lodash.get(calcModelOptions, 'config', false)) {
|
|
5407
|
+
if (!lodash.get(calcModelOptions, 'config', false) && predefinedField) {
|
|
5439
5408
|
/**
|
|
5440
5409
|
* alias stronger than name (order in array is important)
|
|
5441
5410
|
* Firstly we try to get predefined field by aliases and then fill in by names
|
|
@@ -5453,13 +5422,18 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5453
5422
|
: [lodash.find(fields, field => canAssignPredefinedField(predefinedField[key], key, field, value, opposite, ignoredFields))].filter(f => !!f);
|
|
5454
5423
|
|
|
5455
5424
|
if (result && result.length) {
|
|
5425
|
+
if (!predefinedField[key].fields) {
|
|
5426
|
+
predefinedField[key].fields = [];
|
|
5427
|
+
}
|
|
5428
|
+
|
|
5456
5429
|
predefinedField[key].fields.push(...result);
|
|
5457
5430
|
}
|
|
5458
5431
|
});
|
|
5459
5432
|
}
|
|
5460
5433
|
}
|
|
5461
5434
|
|
|
5462
|
-
const
|
|
5435
|
+
const defaultFilters = lodash.get(predefinedField, 'filters.fields', []);
|
|
5436
|
+
const filters = lodash.get(calcModelOptions, 'config.filters', defaultFilters);
|
|
5463
5437
|
|
|
5464
5438
|
lodash.forEach(filters, function (filterObj) {
|
|
5465
5439
|
const fieldOb = lodash.find(fields, { id: filterObj.id });
|
|
@@ -5480,13 +5454,23 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5480
5454
|
}
|
|
5481
5455
|
});
|
|
5482
5456
|
|
|
5483
|
-
const
|
|
5484
|
-
const
|
|
5485
|
-
|
|
5486
|
-
const
|
|
5487
|
-
const
|
|
5488
|
-
|
|
5489
|
-
const
|
|
5457
|
+
const defaultGroupByValues = lodash.get(predefinedField, 'dataSeries.fields', []);
|
|
5458
|
+
const storedGroupByFields = lodash.get(calcModelOptions, 'config.group_by', defaultGroupByValues);
|
|
5459
|
+
|
|
5460
|
+
const defaultDateValue = lodash.get(predefinedField, 'date.fields[0]', undefined);
|
|
5461
|
+
const storedDateFields = [lodash.get(calcModelOptions, 'config.date_field', defaultDateValue)].filter(f => !!f);
|
|
5462
|
+
|
|
5463
|
+
const defaultAggValue = lodash.get(predefinedField, 'value.fields[0]', undefined);
|
|
5464
|
+
const storedAggFields = [lodash.get(calcModelOptions, 'config.agg_field', defaultAggValue)].filter(f => !!f);
|
|
5465
|
+
|
|
5466
|
+
const defaultDataTypeValue = lodash.get(predefinedField, 'dataType.fields[0]', undefined);
|
|
5467
|
+
const storedDataTypeFields = [lodash.get(calcModelOptions, 'config.data_type_field', defaultDataTypeValue)].filter(f => !!f);
|
|
5468
|
+
|
|
5469
|
+
const reportingMonthRegex = /reporting[_\s]month/i;
|
|
5470
|
+
const scenarioRegex = /scenario/i;
|
|
5471
|
+
|
|
5472
|
+
const scenarioField = lodash.find(fields, _field => scenarioRegex.test(_field.alias)) || lodash.find(fields, _field => scenarioRegex.test(_field.name));
|
|
5473
|
+
const reportingMonthField = lodash.find(fields, _field => reportingMonthRegex.test(_field.alias)) || lodash.find(fields, _field => reportingMonthRegex.test(_field.name));
|
|
5490
5474
|
|
|
5491
5475
|
/**
|
|
5492
5476
|
* We can have several common fields, so we should ignore deleting during fillData
|
|
@@ -5505,7 +5489,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5505
5489
|
selectedFieldsArray: dataSeriesFields,
|
|
5506
5490
|
filtersArray: filterFields,
|
|
5507
5491
|
scenarioField,
|
|
5508
|
-
reportingMonthField
|
|
5492
|
+
reportingMonthField,
|
|
5509
5493
|
dateFields,
|
|
5510
5494
|
dataTypeFields,
|
|
5511
5495
|
valueFields
|