@datarailsshared/dr_renderer 1.2.221-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.
- package/.circleci/config.yml +0 -7
- package/package.json +3 -24
- package/src/highcharts_renderer.js +30 -13
- package/babel.config.js +0 -3
- package/jest.config.js +0 -10
- package/tests/highcharts_renderer.test.js +0 -48
package/.circleci/config.yml
CHANGED
|
@@ -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.
|
|
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"
|
|
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 =
|
|
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(
|
|
4959
|
-
|
|
4960
|
-
|
|
4961
|
-
|
|
4962
|
-
lodash.
|
|
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 &&
|
|
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
package/jest.config.js
DELETED
|
@@ -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
|
-
});
|