logitude-dashboard-library 3.1.79 → 3.1.81

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.
@@ -0,0 +1,10 @@
1
+ import { ReactWidgetPM } from "../types/widget";
2
+ import { AxiosResponse } from "axios";
3
+ export declare class WidgetLoadLogger {
4
+ private StartTime;
5
+ private Widget;
6
+ constructor(widget: ReactWidgetPM, isPreviewMode: boolean | null | undefined);
7
+ log(loadDataResponse: AxiosResponse<any, any>): void;
8
+ private getLoadTime;
9
+ private isNumber;
10
+ }
@@ -8,6 +8,7 @@ export declare type FusionChartProps = {
8
8
  dataBinding: DashboardDataBinding;
9
9
  onSelectDataPoint: (dataPointSelection: DataPointSelection) => void;
10
10
  onShowError: (errorMsg: string | null) => void;
11
+ isPreviewModeActive?: boolean;
11
12
  };
12
13
  declare const FusionChart: React.ForwardRefExoticComponent<FusionChartProps & React.RefAttributes<unknown>>;
13
14
  export default FusionChart;
@@ -7,6 +7,7 @@ export declare type FusionChartProps = {
7
7
  widgetRef: ReactWidgetPM | undefined;
8
8
  dataBinding: DashboardDataBinding;
9
9
  onSelectDataPoint: (dataPointSelection: DataPointSelection) => void;
10
+ isPreviewModeActive?: boolean;
10
11
  };
11
12
  declare const FusionChart: React.ForwardRefExoticComponent<FusionChartProps & React.RefAttributes<unknown>>;
12
13
  export default FusionChart;
package/dist/index.js CHANGED
@@ -245,7 +245,7 @@ var DashboardAnalyticsService = /*#__PURE__*/function () {
245
245
  };
246
246
 
247
247
  _proto.getPivotData = function getPivotData(widget) {
248
- return this._ApiServices.post("/api/DashboardAnalytics/PostGetPivotData", widget);
248
+ return this._ApiServices.post("/api/" + this.controller + "/PostGetPivotData", widget);
249
249
  };
250
250
 
251
251
  return DashboardAnalyticsService;
@@ -781,6 +781,65 @@ var ConvertStringToPascalCaseHelper = function ConvertStringToPascalCaseHelper(s
781
781
  }).join(' ');
782
782
  };
783
783
 
784
+ var WidgetLoadLogService = /*#__PURE__*/function () {
785
+ function WidgetLoadLogService() {
786
+ this.controller = 'WidgetLoadLogs';
787
+ this._ApiServices = new ApiServices();
788
+ }
789
+
790
+ var _proto = WidgetLoadLogService.prototype;
791
+
792
+ _proto.create = function create(widgetLoadLog) {
793
+ return this._ApiServices.post("/api/" + this.controller, widgetLoadLog, undefined);
794
+ };
795
+
796
+ return WidgetLoadLogService;
797
+ }();
798
+
799
+ var WidgetLoadLogger = /*#__PURE__*/function () {
800
+ function WidgetLoadLogger(widget, isPreviewMode) {
801
+ this.StartTime = null;
802
+ this.Widget = null;
803
+
804
+ if (!isPreviewMode) {
805
+ this.StartTime = new Date().getTime();
806
+ this.Widget = widget;
807
+ }
808
+ }
809
+
810
+ var _proto = WidgetLoadLogger.prototype;
811
+
812
+ _proto.log = function log(loadDataResponse) {
813
+ if (this.StartTime && this.Widget && loadDataResponse) {
814
+ var totalExecutionTime = new Date().getTime() - this.StartTime;
815
+ var widgetLoadLogService = new WidgetLoadLogService();
816
+ var widgetLoadLog = {
817
+ Tenant: this.Widget.Tenant,
818
+ WidgetId: this.Widget.Id,
819
+ DashboardId: this.Widget.DashboardId,
820
+ LoadTime: this.getLoadTime(loadDataResponse),
821
+ TotalExecutionTime: totalExecutionTime
822
+ };
823
+ widgetLoadLogService.create(widgetLoadLog).then(function (_response) {}, function (_error) {});
824
+ }
825
+
826
+ this.StartTime = null;
827
+ this.Widget = null;
828
+ };
829
+
830
+ _proto.getLoadTime = function getLoadTime(loadDataResponse) {
831
+ var loadTimeHeaderKey = "load-time";
832
+ var loadTimeHeader = loadDataResponse && loadDataResponse.headers && loadDataResponse.headers[loadTimeHeaderKey] ? loadDataResponse.headers[loadTimeHeaderKey] : "";
833
+ return this.isNumber(loadTimeHeader) ? Number(loadTimeHeader) : 0;
834
+ };
835
+
836
+ _proto.isNumber = function isNumber(value) {
837
+ return value !== null && value !== undefined && value !== "" && !isNaN(Number(value.toString()));
838
+ };
839
+
840
+ return WidgetLoadLogger;
841
+ }();
842
+
784
843
  var KpiChart = function KpiChart(props) {
785
844
  var _widget$current16;
786
845
 
@@ -867,10 +926,12 @@ var KpiChart = function KpiChart(props) {
867
926
  var dashboardAnalyticsService = new DashboardAnalyticsService();
868
927
  var postWidget = calculateWidgetKPISettingsDates();
869
928
  postWidget.onChange = undefined;
929
+ var widgetLoadLogger = new WidgetLoadLogger(postWidget, props.customChartProps.isPreviewModeActive);
870
930
  dashboardAnalyticsService.getKpiData(postWidget).then(function (result) {
871
931
  setData(result.data);
872
932
  handleResponseErrors(result);
873
933
  setIsLoading(false);
934
+ widgetLoadLogger.log(result);
874
935
  }, function (error) {
875
936
  var _error$response, _error$response$data, _error$response2, _error$response2$data;
876
937
 
@@ -1247,12 +1308,14 @@ var TableChart = function TableChart(props) {
1247
1308
  widget.onChange = undefined;
1248
1309
  widget.PageIndex = 0;
1249
1310
  widget.PageSize = 100;
1311
+ var widgetLoadLogger = new WidgetLoadLogger(widget, props.customChartProps.isPreviewModeActive);
1250
1312
  dashboardAnalyticsService.getTableData(widget).then(function (res) {
1251
1313
  if (res && res.data) {
1252
1314
  fillTableData(res.data);
1253
1315
  }
1254
1316
 
1255
1317
  setIsLoading(false);
1318
+ widgetLoadLogger.log(res);
1256
1319
  })["catch"](function (error) {
1257
1320
  var _error$response, _error$response$data, _error$response2, _error$response2$data;
1258
1321
 
@@ -1688,10 +1751,12 @@ var PivotTable = React.forwardRef(function (props, comRef) {
1688
1751
  }
1689
1752
 
1690
1753
  var dashboardAnalyticsService = new DashboardAnalyticsService();
1754
+ var widgetLoadLogger = new WidgetLoadLogger(props.customChartProps.widget, props.customChartProps.isPreviewModeActive);
1691
1755
  dashboardAnalyticsService.getPivotData(props.customChartProps.widget).then(function (res) {
1692
1756
  tabledata.current = res.data;
1693
1757
  setPivotDataSourceFields();
1694
1758
  setIsLoading(false);
1759
+ widgetLoadLogger.log(res);
1695
1760
  })["catch"](function (err) {
1696
1761
  console.log("Error while Getting Pivot Table Data: ", err);
1697
1762
  tabledata.current = null;
@@ -2076,48 +2141,9 @@ function buildDataSource(values, widget) {
2076
2141
  return data;
2077
2142
  }
2078
2143
 
2079
- var reorder = function reorder(values, referenceOrder) {
2080
- return referenceOrder.map(function (groupById) {
2081
- return values.find(function (v) {
2082
- return v.GroupById === groupById;
2083
- }) || {
2084
- GroupById: groupById,
2085
- Value: 0
2086
- };
2087
- });
2088
- };
2089
-
2090
- var getOrderedSeriesMeasures = function getOrderedSeriesMeasures(seriesMeasures, widget) {
2091
- if (!seriesMeasures || seriesMeasures.length < 2) {
2092
- return seriesMeasures;
2093
- }
2094
-
2095
- var referenceOrder;
2096
-
2097
- if (widget.SortBy == 1) {
2098
- referenceOrder = seriesMeasures[0].Values.map(function (v) {
2099
- return v.Label;
2100
- });
2101
- seriesMeasures[1].Values = reorder(seriesMeasures[1].Values, referenceOrder);
2102
- } else if (widget.SortBy == 2) {
2103
- referenceOrder = seriesMeasures[1].Values.map(function (v) {
2104
- return v.Label;
2105
- });
2106
- seriesMeasures[0].Values = reorder(seriesMeasures[0].Values, referenceOrder);
2107
- } else {
2108
- referenceOrder = seriesMeasures[0].Values.map(function (v) {
2109
- return v.GroupById;
2110
- });
2111
- seriesMeasures[1].Values = reorder(seriesMeasures[1].Values, referenceOrder);
2112
- }
2113
-
2114
- return seriesMeasures;
2115
- };
2116
-
2117
2144
  function buildDataSet(seriesMeasures, widget) {
2118
2145
  var dataSet = [];
2119
- var orderedSeriesMeasures = getOrderedSeriesMeasures(seriesMeasures, widget);
2120
- orderedSeriesMeasures.forEach(function (seriesMeasure) {
2146
+ seriesMeasures.forEach(function (seriesMeasure) {
2121
2147
  var datas = seriesMeasure.Values.map(function (e, index) {
2122
2148
  return {
2123
2149
  value: e.Value,
@@ -2941,6 +2967,7 @@ var FusionChart = React.forwardRef(function (props, comRef) {
2941
2967
  var isTargetUsed = isTargetWidget(postWidget) && postWidget.WidgetMeasures && postWidget.WidgetMeasures[1] && postWidget.WidgetMeasures[1].MeasureCode == 'Target';
2942
2968
 
2943
2969
  if (isTargetUsed) {
2970
+ var widgetLoadLogger = new WidgetLoadLogger(postWidget, props.isPreviewModeActive);
2944
2971
  dashboardAnalyticsService.getTargetAnalyticsData(postWidget, signal).then(function (result) {
2945
2972
  var _result$data, _result$data4, _result$data5;
2946
2973
 
@@ -2960,6 +2987,7 @@ var FusionChart = React.forwardRef(function (props, comRef) {
2960
2987
  }
2961
2988
 
2962
2989
  setDataLoaded(true);
2990
+ widgetLoadLogger.log(result);
2963
2991
  }, function (error) {
2964
2992
  var _error$response, _error$response$data, _error$response2, _error$response2$data;
2965
2993
 
@@ -2968,10 +2996,14 @@ var FusionChart = React.forwardRef(function (props, comRef) {
2968
2996
  setDataLoaded(true);
2969
2997
  });
2970
2998
  } else {
2999
+ var _widgetLoadLogger = new WidgetLoadLogger(postWidget, props.isPreviewModeActive);
3000
+
2971
3001
  dashboardAnalyticsService.getData(postWidget, signal).then(function (result) {
2972
3002
  handleData(result === null || result === void 0 ? void 0 : result.data);
2973
3003
  chartData.current = result === null || result === void 0 ? void 0 : result.data;
2974
3004
  setDataLoaded(true);
3005
+
3006
+ _widgetLoadLogger.log(result);
2975
3007
  }, function (error) {
2976
3008
  var _error$response3, _error$response3$data, _error$response4, _error$response4$data;
2977
3009
 
@@ -3340,10 +3372,12 @@ var FusionChart$1 = React.forwardRef(function (props, comRef) {
3340
3372
  signal = updatedAxiosController === null || updatedAxiosController === void 0 ? void 0 : updatedAxiosController.signal;
3341
3373
  }
3342
3374
 
3375
+ var widgetLoadLogger = new WidgetLoadLogger(postWidget, props.isPreviewModeActive);
3343
3376
  dashboardAnalyticsService.getGaugeData(postWidget, signal).then(function (result) {
3344
3377
  handleData(result === null || result === void 0 ? void 0 : result.data);
3345
3378
  chartData.current = result === null || result === void 0 ? void 0 : result.data;
3346
3379
  setDataLoaded(true);
3380
+ widgetLoadLogger.log(result);
3347
3381
  }, function (error) {
3348
3382
  var _error$response, _error$response$data, _error$response2, _error$response2$data;
3349
3383
 
@@ -3506,7 +3540,8 @@ var WidgetCard = React.forwardRef(function (props, comRef) {
3506
3540
  dataBinding: props.dataBinding,
3507
3541
  widget: widget.current,
3508
3542
  widgetRef: props.widgetRef,
3509
- onSelectDataPoint: props.onSelectDataPoint
3543
+ onSelectDataPoint: props.onSelectDataPoint,
3544
+ isPreviewModeActive: props.isPreviewModeActive
3510
3545
  });
3511
3546
  return React__default.createElement(FusionChart, {
3512
3547
  ref: fusionChartRef,
@@ -3516,7 +3551,8 @@ var WidgetCard = React.forwardRef(function (props, comRef) {
3516
3551
  onSelectDataPoint: props.onSelectDataPoint,
3517
3552
  onShowError: function onShowError(errorMsg) {
3518
3553
  return showErrorMsg(errorMsg);
3519
- }
3554
+ },
3555
+ isPreviewModeActive: props.isPreviewModeActive
3520
3556
  });
3521
3557
  };
3522
3558