@datarailsshared/dr_renderer 1.2.227 → 1.2.228-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 +49 -27
package/package.json
CHANGED
|
@@ -4738,7 +4738,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
4738
4738
|
};
|
|
4739
4739
|
|
|
4740
4740
|
highchartsRenderer.isSystemField = function (field) {
|
|
4741
|
-
var regex = new RegExp("^(Parent_Name|Parent_Id|FileBox_ID|FileBox_Name|DataMapper_Name|Doc_ID|Doc_version|Label|Submission_Date|User|table_id|Latest_In_Dim|Tab_name|CP_Name|DT_.+|VT_.+|System_.+)$", "m");
|
|
4741
|
+
var regex = new RegExp("^(Calc_Model_Name|Calc_Model_ID|Parent_Name|Parent_Id|FileBox_ID|FileBox_Name|DataMapper_Name|Doc_ID|Doc_version|Label|Submission_Date|User|table_id|Latest_In_Dim|Tab_name|CP_Name|DT_.+|VT_.+|System_.+)$", "m");
|
|
4742
4742
|
|
|
4743
4743
|
return (field.category && field.category.includes("")) || regex.test(field.name)
|
|
4744
4744
|
};
|
|
@@ -5101,34 +5101,55 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5101
5101
|
|
|
5102
5102
|
highchartsRenderer.addTemplateDataToCalcModel = function (selectedTemplate, calcModelOptions) {
|
|
5103
5103
|
highchartsRenderer.setWidgetFieldsToTemplate(selectedTemplate);
|
|
5104
|
-
|
|
5105
|
-
const scenarioName = 'scenario';
|
|
5106
5104
|
const fields = highchartsRenderer.objectCopyJsonMethod(selectedTemplate.fields);
|
|
5107
|
-
const
|
|
5108
|
-
const fieldScenario = _.find(fields, field => (field.name || '').toLowerCase() === scenarioName)
|
|
5109
|
-
const filters = calcModelOptions.config && calcModelOptions.config.filters;
|
|
5110
|
-
|
|
5111
|
-
const filterFields = [];
|
|
5112
|
-
const valueFields = [];
|
|
5113
|
-
const dateFields = [];
|
|
5114
|
-
const dataTypeFields = [];
|
|
5115
|
-
const dataSeriesFields = [];
|
|
5116
|
-
|
|
5117
|
-
let scenarioField = lodash.get(calcModelOptions, 'config.scenario', undefined) || fieldScenarioAlias || fieldScenario;
|
|
5118
|
-
let fieldOb;
|
|
5105
|
+
const filters = (calcModelOptions.config && calcModelOptions.config.filters) || [];
|
|
5119
5106
|
|
|
5120
|
-
const fillData = (fieldsArr
|
|
5107
|
+
const fillData = (fieldsArr) => {
|
|
5108
|
+
const destinationArr = [];
|
|
5121
5109
|
lodash.forEach(fieldsArr, function (valObj) {
|
|
5122
|
-
fieldOb = lodash.find(fields, { id: valObj.id });
|
|
5110
|
+
const fieldOb = lodash.find(fields, { id: valObj.id });
|
|
5123
5111
|
if (fieldOb) {
|
|
5124
5112
|
destinationArr.push(fieldOb);
|
|
5125
5113
|
lodash.remove(fields, { id: fieldOb.id });
|
|
5126
5114
|
}
|
|
5127
5115
|
});
|
|
5116
|
+
|
|
5117
|
+
return destinationArr;
|
|
5118
|
+
}
|
|
5119
|
+
|
|
5120
|
+
const predefinedField = {
|
|
5121
|
+
value: {
|
|
5122
|
+
regex: /posting[_\s]?amount/i,
|
|
5123
|
+
fieldWithAlias: undefined,
|
|
5124
|
+
fieldWithName: undefined
|
|
5125
|
+
},
|
|
5126
|
+
dataType: {
|
|
5127
|
+
regex: /data[_\s]?type/i,
|
|
5128
|
+
fieldWithAlias: undefined,
|
|
5129
|
+
fieldWithName: undefined
|
|
5130
|
+
},
|
|
5131
|
+
date: {
|
|
5132
|
+
regex: /reporting[_\s]?month/i,
|
|
5133
|
+
fieldWithAlias: undefined,
|
|
5134
|
+
fieldWithName: undefined
|
|
5135
|
+
},
|
|
5136
|
+
filters: {
|
|
5137
|
+
regex: /scenario/i,
|
|
5138
|
+
fieldWithAlias: undefined,
|
|
5139
|
+
fieldWithName: undefined
|
|
5140
|
+
},
|
|
5141
|
+
};
|
|
5142
|
+
|
|
5143
|
+
for (const key in predefinedField) {
|
|
5144
|
+
predefinedField[key].fieldWithAlias = _.find(fields, field => predefinedField[key].regex.test((field.alias || '').toLowerCase()));
|
|
5145
|
+
|
|
5146
|
+
if (!predefinedField[key].fieldWithAlias) {
|
|
5147
|
+
predefinedField[key].fieldWithName = _.find(fields, field => predefinedField[key].regex.test((field.name || '').toLowerCase()));
|
|
5148
|
+
}
|
|
5128
5149
|
}
|
|
5129
5150
|
|
|
5130
5151
|
lodash.forEach(filters, function (filterObj) {
|
|
5131
|
-
fieldOb = lodash.find(fields, { id: filterObj.id });
|
|
5152
|
+
const fieldOb = lodash.find(fields, { id: filterObj.id });
|
|
5132
5153
|
if (!fieldOb) return;
|
|
5133
5154
|
|
|
5134
5155
|
filterObj.values = filterObj.values && lodash.map(filterObj.values, highchartsRenderer.decodeFunc);
|
|
@@ -5147,15 +5168,16 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
|
5147
5168
|
});
|
|
5148
5169
|
|
|
5149
5170
|
const storedGroupByFields = lodash.get(calcModelOptions, 'config.group_by', []);
|
|
5150
|
-
const storedDateFields = [lodash.get(calcModelOptions, 'config.date_field',
|
|
5151
|
-
const storedAggFields = [lodash.get(calcModelOptions, 'config.agg_field',
|
|
5152
|
-
const storedDataTypeFields = [lodash.get(calcModelOptions, 'config.data_type_field',
|
|
5153
|
-
|
|
5154
|
-
|
|
5155
|
-
fillData(
|
|
5156
|
-
fillData(storedAggFields
|
|
5157
|
-
fillData(
|
|
5158
|
-
fillData(
|
|
5171
|
+
const storedDateFields = [lodash.get(calcModelOptions, 'config.date_field', predefinedField.date.fieldWithAlias || predefinedField.date.fieldWithName)].filter(f => !!f);
|
|
5172
|
+
const storedAggFields = [lodash.get(calcModelOptions, 'config.agg_field', predefinedField.value.fieldWithAlias || predefinedField.value.fieldWithName)].filter(f => !!f);
|
|
5173
|
+
const storedDataTypeFields = [lodash.get(calcModelOptions, 'config.data_type_field', predefinedField.dataType.fieldWithAlias || predefinedField.dataType.fieldWithName)].filter(f => !!f);
|
|
5174
|
+
const scenarioField = lodash.get(calcModelOptions, 'config.scenario', predefinedField.filters.fieldWithAlias || predefinedField.filters.fieldWithName);
|
|
5175
|
+
|
|
5176
|
+
const filterFields = fillData(filters);
|
|
5177
|
+
const valueFields = fillData(storedAggFields);
|
|
5178
|
+
const dateFields = fillData(storedDateFields);
|
|
5179
|
+
const dataTypeFields = fillData(storedDataTypeFields);
|
|
5180
|
+
const dataSeriesFields = fillData(storedGroupByFields);
|
|
5159
5181
|
|
|
5160
5182
|
calcModelOptions.pivot = {
|
|
5161
5183
|
fieldsArray: fields,
|