@datarailsshared/dr_renderer 1.2.222-unittests → 1.2.223

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.
@@ -31,12 +31,6 @@ jobs:
31
31
  - run:
32
32
  name: Authenticate with registry
33
33
  command: echo "//registry.npmjs.org/:_authToken=$npm_TOKEN" > ~/repo/.npmrc
34
- - run:
35
- name: Install dependencies
36
- command: npm install
37
- - run:
38
- name: Run npm test
39
- command: npm test
40
34
  - run:
41
35
  name: Publish package
42
36
  command: npm publish . --access=public
@@ -71,4 +65,3 @@ workflows:
71
65
  - /tigers/
72
66
  - /wizards/
73
67
  - /rocket/
74
- - /unittests/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datarailsshared/dr_renderer",
3
- "version": "1.2.222-unittests",
3
+ "version": "1.2.223",
4
4
  "description": "DataRails charts and tables renderer",
5
5
  "keywords": [
6
6
  "datarails",
@@ -9,8 +9,7 @@
9
9
  "tables"
10
10
  ],
11
11
  "scripts": {
12
- "login": "npm login",
13
- "test": "jest --coverage"
12
+ "login": "npm login"
14
13
  },
15
14
  "author": "Sergey Spivakov",
16
15
  "repository": {
@@ -18,21 +17,6 @@
18
17
  "url": "git+https://bitbucket.org/datarails/dr_renderer.git"
19
18
  },
20
19
  "license": "",
21
- "dependencies": {
22
- "jquery": "^3.6.0",
23
- "lodash": "^4.17.20",
24
- "regenerator-runtime": "^0.13.5"
25
- },
26
- "devDependencies": {
27
- "@babel/core": "^7.20.12",
28
- "@babel/preset-env": "^7.20.2",
29
- "@testing-library/dom": "^7.2.1",
30
- "@testing-library/jest-dom": "^5.5.0",
31
- "babel-jest": "^25.5.1",
32
- "jest": "^25.3.0",
33
- "moment": "^2.29.1",
34
- "serve": "^11.3.0"
35
- },
36
20
  "bugs": {
37
21
  "url": ""
38
22
  },
@@ -40,10 +24,5 @@
40
24
  "whitelistedNonPeerDependencies": [],
41
25
  "main": "src/index.js",
42
26
  "module": "src/index.js",
43
- "sideEffects": false,
44
- "jest": {
45
- "setupFiles": [
46
- "./setup-jest.js"
47
- ]
48
- }
27
+ "sideEffects": false
49
28
  }
@@ -87,6 +87,10 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
87
87
  EXCEL_VIEWER: 'excel_viewer',
88
88
  };
89
89
 
90
+ highchartsRenderer.VIRTUAL_FIELDS = {
91
+ WATERFALL_VARIANCE: 'DR_WATERFALL_BREAKDOWN_VARIANCE',
92
+ };
93
+
90
94
  highchartsRenderer.highcharts_theme = {
91
95
  "colors": highchartsRenderer.defaults_colors,
92
96
  "chart": {
@@ -1344,7 +1348,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1344
1348
  const chart_series = [];
1345
1349
  const row_n_keys = pivotData.getRowKeys();
1346
1350
  const col_n_keys = pivotData.getColKeys();
1347
- const hasBreakdownValues = lodash.get(opts, 'breakdown_options.values.breakdown.length');
1348
1351
 
1349
1352
  let resultObject = {
1350
1353
  data: [],
@@ -1363,8 +1366,6 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1363
1366
  lodash.forEach(col_n_keys, function(col_n_value, col_index) {
1364
1367
 
1365
1368
  const totalColumnValue = pivotData.getAggregator([], col_n_value).value();
1366
- const nextTotalColumnKey = col_n_keys[col_index + 1];
1367
- const nextTotalColumnValue = nextTotalColumnKey ? pivotData.getAggregator([], nextTotalColumnKey).value() : null;
1368
1369
  resultObject.data.push({
1369
1370
  y: totalColumnValue,
1370
1371
  name: lodash.unescape(col_n_value).replace('DR_Others', highchartsRenderer.getOthersName(opts)),
@@ -1376,9 +1377,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1376
1377
  if (col_index !== col_n_keys.length - 1) {
1377
1378
  lodash.forEach(row_n_keys, function (row_n_value) {
1378
1379
  const agg = pivotData.getAggregator(row_n_value, col_n_value);
1379
- let val = hasBreakdownValues
1380
- ? agg.value()
1381
- : nextTotalColumnValue - totalColumnValue;
1380
+ let val = agg.value();
1382
1381
 
1383
1382
  val = $.isNumeric(val) ? parseFloat(val) : 0;
1384
1383
  if (val) {
@@ -1389,6 +1388,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1389
1388
  if (tmoobj.name) {
1390
1389
  tmoobj.name = tmoobj.name.replace('DR_Others', highchartsRenderer.getOthersName(opts));
1391
1390
  }
1391
+
1392
1392
  if (lodash.isEmpty(String(tmoobj.name))) {
1393
1393
  tmoobj.name = lodash.unescape(col_n_value);
1394
1394
  tmoobj.visible = false;
@@ -1398,12 +1398,12 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
1398
1398
  tmoobj.colKeys = [lodash.unescape(col_n_keys[col_index - 1]), lodash.unescape(col_n_value)];
1399
1399
  resultObject.data.push(tmoobj);
1400
1400
  }
1401
+
1401
1402
  });
1402
1403
  }
1403
1404
  });
1404
1405
 
1405
1406
  chart_series.push(resultObject);
1406
-
1407
1407
  opts.chart_series = [];
1408
1408
  if (!lodash.isEqual(row_n_keys, EMPTY_ROW_N_KEYS)) {
1409
1409
  chart_series.forEach(series => {
@@ -4954,12 +4954,28 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
4954
4954
  }
4955
4955
  });
4956
4956
 
4957
+ // add virtual fields to rows if required
4958
+ let rows = widgetOptions.rows;
4959
+ if (!lodash.get(widgetOptions, 'rows.length') && widgetOptions.options.breakdown_options) {
4960
+ rows = [
4961
+ {
4962
+ id: -1,
4963
+ name: highchartsRenderer.VIRTUAL_FIELDS.WATERFALL_VARIANCE,
4964
+ type: 'Text',
4965
+ },
4966
+ ];
4967
+ }
4968
+
4957
4969
  // fill rows fields
4958
- lodash.forEach(widgetOptions.rows, function (valObj) {
4959
- fieldOb = lodash.find(fields, {id: valObj.id});
4960
- if (fieldOb) {
4961
- legendFields.push(fieldOb);
4962
- lodash.remove(fields, {id: fieldOb.id});
4970
+ lodash.forEach(rows, function (valObj) {
4971
+ if (lodash.includes(highchartsRenderer.VIRTUAL_FIELDS, valObj.name)) {
4972
+ legendFields.push(valObj);
4973
+ } else {
4974
+ fieldOb = lodash.find(fields, {id: valObj.id});
4975
+ if (fieldOb) {
4976
+ legendFields.push(fieldOb);
4977
+ lodash.remove(fields, {id: fieldOb.id});
4978
+ }
4963
4979
  }
4964
4980
  });
4965
4981
 
@@ -7976,7 +7992,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
7976
7992
  };
7977
7993
 
7978
7994
  highchartsRenderer.createDateFromString = function (dateString, format) {
7979
- if ((format && !highchartsRenderer.isDateFormat(dateString, format)) || !highchartsRenderer.isDate(dateString)) {
7995
+ if (!(format && highchartsRenderer.isDateFormat(dateString, format) || highchartsRenderer.isDate(dateString))) {
7980
7996
  return null;
7981
7997
  }
7982
7998
  const utcDate = format
@@ -8130,6 +8146,7 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
8130
8146
  filter.is_excluded = false;
8131
8147
  } else {
8132
8148
  filter = highchartsRenderer.createDrillDownFilterObject(widget, widget.cols[0], colKey[0]);
8149
+ filters.push(filter);
8133
8150
  }
8134
8151
  filter.values = [];
8135
8152
  for (let i = 0; i < colKey.length; i++) {
package/babel.config.js DELETED
@@ -1,3 +0,0 @@
1
- module.exports = {
2
- presets: [['@babel/preset-env', {targets: {node: 'current'}}]],
3
- };
package/jest.config.js DELETED
@@ -1,27 +0,0 @@
1
- module.exports = {
2
- clearMocks: true,
3
- setupFilesAfterEnv: ['regenerator-runtime/runtime'],
4
- testPathIgnorePatterns: [
5
- "/node_modules/",
6
- ],
7
- transformIgnorePatterns: [
8
- "<rootDir>/node_modules/(?!jquery|lodash|moment/)",
9
- ],
10
- collectCoverage: true,
11
- collectCoverageFrom: [
12
- '**/*.js',
13
- '!**/*.config.js',
14
- '!**/build/**',
15
- '!**/coverage/**',
16
- '!**/node_modules/**',
17
- '!**/vendor/**'
18
- ],
19
- // coverageThreshold: {
20
- // "global": {
21
- // "branches": 100,
22
- // "functions": 100,
23
- // "lines": 100,
24
- // "statements": 100
25
- // }
26
- // },
27
- };
@@ -1,48 +0,0 @@
1
- import * as $ from 'jquery';
2
- import * as lodash from 'lodash';
3
- import * as moment from 'moment';
4
- import initPivotTable from "../src/pivottable";
5
- import initDRPivotTable from "../src/dr_pivottable";
6
-
7
- const getHighchartsRenderer = require('../src/highcharts_renderer');
8
- const DataFormatter = require('../src/dataformatter');
9
- const DEFAULT_USER_COLORS = {
10
- colors: ['#008aff', '#91e7e7', '#f37789', '#ffdc65', '#0e569d', '#bbe0ff', '#57b2ff', '#5ecfb9', '#c7ffda', '#179ab9'],
11
- variance_color: null
12
- };
13
-
14
- let highchartsRenderer = {};
15
- let _window = window;
16
- let _document = document;
17
-
18
- describe('highcharts_renderer', () => {
19
- beforeAll(() => {
20
- const Highcharts = {
21
- opt: {},
22
- setOptions: function(value) {Highcharts.opt = value;},
23
- numberFormat: function(value) { return value ;},
24
- getOptions: function() { return Highcharts.opt; }
25
- };
26
- _window.DataFormatter = DataFormatter;
27
- initPivotTable($, _window, _document);
28
- initDRPivotTable($, _window, _document);
29
-
30
- highchartsRenderer = getHighchartsRenderer($, _document, Highcharts, DEFAULT_USER_COLORS, highchartsRenderer,
31
- DataFormatter, lodash, moment, true)
32
- })
33
-
34
- describe('function isSystemField', () => {
35
- it('system name', () => {
36
- const field = {
37
- name: 'Doc_ID'
38
- };
39
- expect(highchartsRenderer.isSystemField(field)).toBe(true)
40
- });
41
- it('not system name', () => {
42
- const field = {
43
- name: 'field name'
44
- };
45
- expect(highchartsRenderer.isSystemField(field)).toBe(false)
46
- });
47
- });
48
- });