@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datarailsshared/dr_renderer",
3
- "version": "1.2.227",
3
+ "version": "1.2.228-rocket",
4
4
  "description": "DataRails charts and tables renderer",
5
5
  "keywords": [
6
6
  "datarails",
@@ -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 fieldScenarioAlias = _.find(fields, field => (field.alias || '').toLowerCase() === scenarioName)
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, destinationArr) => {
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', undefined)].filter(f => !!f);
5151
- const storedAggFields = [lodash.get(calcModelOptions, 'config.agg_field', undefined)].filter(f => !!f);
5152
- const storedDataTypeFields = [lodash.get(calcModelOptions, 'config.data_type_field', undefined)].filter(f => !!f);
5153
-
5154
- fillData(storedGroupByFields, dataSeriesFields);
5155
- fillData(storedDateFields, dateFields);
5156
- fillData(storedAggFields, valueFields);
5157
- fillData(storedDataTypeFields, dataTypeFields);
5158
- fillData(filters, filterFields);
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,