@datarailsshared/dr_renderer 1.2.395 → 1.2.397
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
@@ -728,7 +728,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
728
728
|
destroyWhenHiding: true,
|
729
729
|
formatter: function () {
|
730
730
|
const rowKey = pivotData.rowAttrs.length ? lodash.get(this.point, 'series.name') || "" : "";
|
731
|
-
const colKey = lodash.get(this.point, 'name') || this.x.name[0] || "";
|
731
|
+
const colKey = lodash.get(this.point, 'initialName') || lodash.get(this.point, 'name') || this.x.name[0] || "";
|
732
|
+
|
732
733
|
const insight = pivotData.getInsight(colKey, rowKey) || {};
|
733
734
|
setTimeout(() => {
|
734
735
|
var aggr = highchartsRenderer.defaultFormatterToTooltip(pivotData, opts);
|
@@ -1520,10 +1521,14 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
1520
1521
|
let totalKey = columnKey;
|
1521
1522
|
if (lodash.isArray(columnKey)) {
|
1522
1523
|
key = columnKey[0];
|
1523
|
-
totalKey = totalKey.join(
|
1524
|
+
totalKey = totalKey.join(highchartsRenderer.delimer);
|
1524
1525
|
}
|
1526
|
+
|
1527
|
+
const initialKey = lodash.unescape(key);
|
1528
|
+
const formattedKey = highchartsRenderer.getFormattedColKey(initialKey, pivotData);
|
1525
1529
|
const value = pivotData.colTotals[totalKey] ? pivotData.colTotals[totalKey].value() : 0;
|
1526
|
-
|
1530
|
+
|
1531
|
+
totalSeries.data.push({name: lodash.unescape(formattedKey), initialName: initialKey, y: value});
|
1527
1532
|
});
|
1528
1533
|
|
1529
1534
|
chart_series.push(totalSeries);
|
@@ -8927,6 +8932,8 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
8927
8932
|
value,
|
8928
8933
|
highchartsRenderer.getDateFieldFormat(widget, widget.cols[0])
|
8929
8934
|
);
|
8935
|
+
} else if (!isNaN(value)) {
|
8936
|
+
value = +value;
|
8930
8937
|
}
|
8931
8938
|
break;
|
8932
8939
|
case 'Integer':
|
@@ -9765,11 +9772,11 @@ let getHighchartsRenderer = function ($, document, Highcharts, default_colors, h
|
|
9765
9772
|
const isDate = formatInfo.type === 'Date';
|
9766
9773
|
const isDateFormatting = isDate && highchartsRenderer.isFormattingDatesAsOtherAxisTypes();
|
9767
9774
|
const isNumberFormatting = !isDate && formatInfo.format && highchartsRenderer.isFormattingNumberAxis(pivotData);
|
9768
|
-
|
9769
|
-
if (
|
9775
|
+
|
9776
|
+
if (isNumberFormatting || isDateFormatting) {
|
9770
9777
|
values[key] = highchartsRenderer.returnRawDataValue(
|
9771
9778
|
formatInfo.type,
|
9772
|
-
valueToFloat,
|
9779
|
+
!isNaN(valueToFloat) ? valueToFloat : value,
|
9773
9780
|
formatInfo.format,
|
9774
9781
|
formatInfo.name,
|
9775
9782
|
formatInfo.val_not_convert,
|
@@ -6174,4 +6174,250 @@ describe('highcharts_renderer', () => {
|
|
6174
6174
|
expect(tooltipHtml).toEqual('row 1: 10.99%');
|
6175
6175
|
});
|
6176
6176
|
});
|
6177
|
+
|
6178
|
+
describe("Function updateFiltersShowNames", () => {
|
6179
|
+
|
6180
|
+
it("should receive array or object", () => {
|
6181
|
+
|
6182
|
+
const filters = [{
|
6183
|
+
field: 4030578,
|
6184
|
+
name: "Month",
|
6185
|
+
values: [1682812800, 1680220800, "[null]"],
|
6186
|
+
is_excluded: false,
|
6187
|
+
allow_nulls: false,
|
6188
|
+
show_in_graph: true,
|
6189
|
+
type: "Date",
|
6190
|
+
override_global_filter: false,
|
6191
|
+
},
|
6192
|
+
{
|
6193
|
+
field: 4030223,
|
6194
|
+
name: "AccountCode",
|
6195
|
+
values: null,
|
6196
|
+
is_excluded: false,
|
6197
|
+
allow_nulls: false,
|
6198
|
+
show_in_graph: true,
|
6199
|
+
type: "Text",
|
6200
|
+
override_global_filter: false,
|
6201
|
+
},
|
6202
|
+
];
|
6203
|
+
|
6204
|
+
highchartsRenderer.updateFiltersShowNames(filters);
|
6205
|
+
|
6206
|
+
expect(filters[0].value_to_show).toEqual("04/30/2023, 03/31/2023, [null]");
|
6207
|
+
expect(filters[1].value_to_show).toEqual("All");
|
6208
|
+
});
|
6209
|
+
|
6210
|
+
it("should receive array or object", () => {
|
6211
|
+
const filters = [{
|
6212
|
+
field: 934090,
|
6213
|
+
name: "Data Type",
|
6214
|
+
values: ["Activity"],
|
6215
|
+
is_excluded: false,
|
6216
|
+
allow_nulls: false,
|
6217
|
+
show_in_graph: false,
|
6218
|
+
type: "Text",
|
6219
|
+
override_global_filter: false,
|
6220
|
+
},
|
6221
|
+
{
|
6222
|
+
field: 934093,
|
6223
|
+
name: "Scenario",
|
6224
|
+
values: {
|
6225
|
+
type: "advanced",
|
6226
|
+
val: [{
|
6227
|
+
operator: null,
|
6228
|
+
condition: "equals",
|
6229
|
+
value: "Actuals",
|
6230
|
+
}, ],
|
6231
|
+
},
|
6232
|
+
is_excluded: false,
|
6233
|
+
allow_nulls: false,
|
6234
|
+
show_in_graph: false,
|
6235
|
+
type: "Text",
|
6236
|
+
override_global_filter: false,
|
6237
|
+
},
|
6238
|
+
];
|
6239
|
+
|
6240
|
+
highchartsRenderer.updateFiltersShowNames(filters);
|
6241
|
+
|
6242
|
+
expect(filters[0].value_to_show).toEqual("Activity");
|
6243
|
+
expect(filters[1].value_to_show).toEqual("All");
|
6244
|
+
});
|
6245
|
+
});
|
6246
|
+
|
6247
|
+
describe("Function returnRawDataValue", () => {
|
6248
|
+
const testCases = [{
|
6249
|
+
name: "Date",
|
6250
|
+
filter: {
|
6251
|
+
field: 4030578,
|
6252
|
+
name: "Month",
|
6253
|
+
values: [1682812800, 1680220800, "[null]", null, 0, "", 1680220800],
|
6254
|
+
is_excluded: false,
|
6255
|
+
allow_nulls: false,
|
6256
|
+
show_in_graph: true,
|
6257
|
+
type: "Date",
|
6258
|
+
override_global_filter: false,
|
6259
|
+
},
|
6260
|
+
expectedResults: [
|
6261
|
+
"04/30/2023", "03/31/2023", "[null]", "[null]", "Untagged", "[blank]", "03/31/2023",
|
6262
|
+
],
|
6263
|
+
},
|
6264
|
+
{
|
6265
|
+
name: "Date with VT_Month",
|
6266
|
+
filter: {
|
6267
|
+
field: 4030578,
|
6268
|
+
name: "VT_Month",
|
6269
|
+
values: [1682812800, 1680220800, "[null]", null, 0, "", 1680220800],
|
6270
|
+
is_excluded: false,
|
6271
|
+
allow_nulls: false,
|
6272
|
+
show_in_graph: true,
|
6273
|
+
type: "Date",
|
6274
|
+
override_global_filter: false,
|
6275
|
+
},
|
6276
|
+
expectedResults: [
|
6277
|
+
"Apr 2023", "Mar 2023", "[null]", "[null]", "Untagged", "[blank]", "Mar 2023",
|
6278
|
+
],
|
6279
|
+
},
|
6280
|
+
{
|
6281
|
+
name: "Number",
|
6282
|
+
filter: {
|
6283
|
+
field: 4030578,
|
6284
|
+
name: "Month",
|
6285
|
+
values: [100, 200, "[null]", null, "Text", 0],
|
6286
|
+
is_excluded: false,
|
6287
|
+
allow_nulls: false,
|
6288
|
+
show_in_graph: true,
|
6289
|
+
type: "Number",
|
6290
|
+
override_global_filter: false,
|
6291
|
+
},
|
6292
|
+
expectedResults: [100, 200, "[null]", "[null]", "Text", 0],
|
6293
|
+
},
|
6294
|
+
];
|
6295
|
+
|
6296
|
+
testCases.forEach((testCase) => {
|
6297
|
+
describe(`Scenario: ${testCase.name}`, () => {
|
6298
|
+
testCase.filter.values.forEach((value, index) => {
|
6299
|
+
it(`should return the expected result with value ${value}`, () => {
|
6300
|
+
const result = highchartsRenderer.returnRawDataValue(testCase.filter.type, value, testCase.filter.format, testCase.filter.name);
|
6301
|
+
expect(result).toEqual(testCase.expectedResults[index]);
|
6302
|
+
});
|
6303
|
+
});
|
6304
|
+
});
|
6305
|
+
});
|
6306
|
+
});
|
6307
|
+
|
6308
|
+
describe("Function check_values_not_for_convert", () => {
|
6309
|
+
const testCases = [{
|
6310
|
+
name: "should return a array when field is series row name equal to field name",
|
6311
|
+
currentgraph: {
|
6312
|
+
rows: [{
|
6313
|
+
name: "Month",
|
6314
|
+
}, ],
|
6315
|
+
cols: [{
|
6316
|
+
name: "Grouping",
|
6317
|
+
}, ],
|
6318
|
+
options: {
|
6319
|
+
chartOptions: {
|
6320
|
+
delta_column: {
|
6321
|
+
field: "series",
|
6322
|
+
name: "Month",
|
6323
|
+
},
|
6324
|
+
},
|
6325
|
+
},
|
6326
|
+
},
|
6327
|
+
field_name: "Month",
|
6328
|
+
expected: ["Month"],
|
6329
|
+
},
|
6330
|
+
{
|
6331
|
+
name: "should return an empty array when field is category and col name does not equal to field name",
|
6332
|
+
currentgraph: {
|
6333
|
+
rows: [{
|
6334
|
+
name: "Month",
|
6335
|
+
}, ],
|
6336
|
+
cols: [{
|
6337
|
+
name: "Grouping",
|
6338
|
+
}, ],
|
6339
|
+
options: {
|
6340
|
+
chartOptions: {
|
6341
|
+
delta_column: {
|
6342
|
+
field: "category",
|
6343
|
+
name: "Month",
|
6344
|
+
},
|
6345
|
+
},
|
6346
|
+
},
|
6347
|
+
},
|
6348
|
+
field_name: "Month",
|
6349
|
+
expected: [],
|
6350
|
+
},
|
6351
|
+
{
|
6352
|
+
name: "should return an empty array when field is category and col name does not equal to field name",
|
6353
|
+
currentgraph: {
|
6354
|
+
rows: [{
|
6355
|
+
name: "Grouping",
|
6356
|
+
}, ],
|
6357
|
+
cols: [{
|
6358
|
+
name: "Month",
|
6359
|
+
}, ],
|
6360
|
+
options: {
|
6361
|
+
chartOptions: {
|
6362
|
+
delta_column: {
|
6363
|
+
field: "category",
|
6364
|
+
name: "Month",
|
6365
|
+
},
|
6366
|
+
},
|
6367
|
+
},
|
6368
|
+
},
|
6369
|
+
field_name: "Month",
|
6370
|
+
expected: ["Month"],
|
6371
|
+
},
|
6372
|
+
{
|
6373
|
+
name: 'should return an array with keys with trend "total" from walkthrough_options.values.walkthrough',
|
6374
|
+
currentgraph: {
|
6375
|
+
chart_type: "waterfall-chart-walkthrough",
|
6376
|
+
options: {
|
6377
|
+
walkthrough_options: {
|
6378
|
+
values: {
|
6379
|
+
walkthrough: [{
|
6380
|
+
trend: "total",
|
6381
|
+
key: ["Total"]
|
6382
|
+
},
|
6383
|
+
{
|
6384
|
+
trend: "other",
|
6385
|
+
key: ["Value2"]
|
6386
|
+
},
|
6387
|
+
],
|
6388
|
+
},
|
6389
|
+
},
|
6390
|
+
},
|
6391
|
+
},
|
6392
|
+
field_name: "SampleName",
|
6393
|
+
expected: ["Total"],
|
6394
|
+
},
|
6395
|
+
{
|
6396
|
+
name: "should return an empty array when no conditions are met",
|
6397
|
+
currentgraph: {
|
6398
|
+
options: {
|
6399
|
+
chartOptions: {}
|
6400
|
+
},
|
6401
|
+
chart_type: "column-chart",
|
6402
|
+
},
|
6403
|
+
field_name: "Month",
|
6404
|
+
expected: [],
|
6405
|
+
},
|
6406
|
+
];
|
6407
|
+
|
6408
|
+
testCases.forEach(({
|
6409
|
+
name,
|
6410
|
+
currentgraph,
|
6411
|
+
field_name,
|
6412
|
+
expected
|
6413
|
+
}) => {
|
6414
|
+
it(name, () => {
|
6415
|
+
const result = highchartsRenderer.check_values_not_for_convert(
|
6416
|
+
currentgraph,
|
6417
|
+
field_name
|
6418
|
+
);
|
6419
|
+
expect(result).toEqual(expected);
|
6420
|
+
});
|
6421
|
+
});
|
6422
|
+
});
|
6177
6423
|
});
|