@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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datarailsshared/dr_renderer",
3
- "version": "1.2.395",
3
+ "version": "1.2.397",
4
4
  "description": "DataRails charts and tables renderer",
5
5
  "keywords": [
6
6
  "datarails",
@@ -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
- totalSeries.data.push({name: lodash.unescape(key), y: value});
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
- const isApplyingFormat = !isNaN(valueToFloat) && (isNumberFormatting || isDateFormatting);
9769
- if (isApplyingFormat) {
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
  });