logitude-dashboard-library 3.2.25 → 3.2.27
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/dist/Utils/WidgetLoadLogger.d.ts +10 -0
- package/dist/assets/styles/dl-dashboard.scss +5 -1
- package/dist/features/Dashboard/ChartsComponents/FusionCharts/FusionChart.d.ts +1 -0
- package/dist/features/Dashboard/ChartsComponents/FusionCharts/GaugeChart.d.ts +1 -0
- package/dist/index.js +82 -44
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +82 -44
- package/dist/index.modern.js.map +1 -1
- package/dist/services/WidgetLoadLogService.d.ts +8 -0
- package/dist/styles/dl-dashboard.scss +5 -1
- package/dist/types/WidgetLoadLog.d.ts +7 -0
- package/package.json +1 -1
|
@@ -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
|
+
}
|
|
@@ -1035,7 +1035,7 @@ $dark-grey: #717585;
|
|
|
1035
1035
|
font-size: 14px;
|
|
1036
1036
|
white-space: nowrap;
|
|
1037
1037
|
padding: 0px !important;
|
|
1038
|
-
position: sticky;
|
|
1038
|
+
position: sticky !important;
|
|
1039
1039
|
top: 0px;
|
|
1040
1040
|
z-index: 1;
|
|
1041
1041
|
border: 0px !important;
|
|
@@ -1105,6 +1105,10 @@ $dark-grey: #717585;
|
|
|
1105
1105
|
.p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon::before {
|
|
1106
1106
|
color: #343a40 !important;
|
|
1107
1107
|
}
|
|
1108
|
+
|
|
1109
|
+
.p-datatable .p-column-resizer-helper {
|
|
1110
|
+
background: #e0e0e0;
|
|
1111
|
+
}
|
|
1108
1112
|
}
|
|
1109
1113
|
|
|
1110
1114
|
.header-content > .p-column-title > .pi::before {
|
|
@@ -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/
|
|
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
|
|
|
@@ -1483,7 +1546,7 @@ var TableChart = function TableChart(props) {
|
|
|
1483
1546
|
};
|
|
1484
1547
|
|
|
1485
1548
|
var isClickableCell = function isClickableCell(fieldCode) {
|
|
1486
|
-
return fieldCode == "ShipmentNumber" && objectTableName == "Shipment" || fieldCode == "InvoiceNumber" && objectTableName == "APInvoice" || fieldCode == "InvoiceNumber" && objectTableName == "ARInvoice" || fieldCode == "ContainerNumber" && objectTableName == "Container" || fieldCode == "QuoteNumber" && objectTableName == "Quote" || fieldCode == "Subject" && objectTableName == "Opportunity" || fieldCode == "EnglishName" && objectTableName == "Customer" || fieldCode == "TaskNumber" && objectTableName == "Task";
|
|
1549
|
+
return fieldCode == "ShipmentNumber" && objectTableName == "Shipment" || fieldCode == "InvoiceNumber" && objectTableName == "APInvoice" || fieldCode == "InvoiceNumber" && objectTableName == "ARInvoice" || fieldCode == "ContainerNumber" && objectTableName == "Container" || fieldCode == "QuoteNumber" && objectTableName == "Quote" || fieldCode == "Subject" && objectTableName == "Opportunity" || fieldCode == "EnglishName" && objectTableName == "Customer" || fieldCode == "TaskNumber" && objectTableName == "Task" || fieldCode == "TicketNumber" && objectTableName == "Ticket";
|
|
1487
1550
|
};
|
|
1488
1551
|
|
|
1489
1552
|
var tableCellClicked = function tableCellClicked(data, fieldCode) {
|
|
@@ -1596,6 +1659,8 @@ var TableChart = function TableChart(props) {
|
|
|
1596
1659
|
}, error))) : React__default.createElement(datatable.DataTable, {
|
|
1597
1660
|
loading: isTableLoading,
|
|
1598
1661
|
value: tableData,
|
|
1662
|
+
resizableColumns: !props.customChartProps.isInEditMode,
|
|
1663
|
+
columnResizeMode: "fit",
|
|
1599
1664
|
responsiveLayout: "scroll"
|
|
1600
1665
|
}, tableColumns.map(function (column$1, index) {
|
|
1601
1666
|
return React__default.createElement(column.Column, {
|
|
@@ -1688,10 +1753,12 @@ var PivotTable = React.forwardRef(function (props, comRef) {
|
|
|
1688
1753
|
}
|
|
1689
1754
|
|
|
1690
1755
|
var dashboardAnalyticsService = new DashboardAnalyticsService();
|
|
1756
|
+
var widgetLoadLogger = new WidgetLoadLogger(props.customChartProps.widget, props.customChartProps.isPreviewModeActive);
|
|
1691
1757
|
dashboardAnalyticsService.getPivotData(props.customChartProps.widget).then(function (res) {
|
|
1692
1758
|
tabledata.current = res.data;
|
|
1693
1759
|
setPivotDataSourceFields();
|
|
1694
1760
|
setIsLoading(false);
|
|
1761
|
+
widgetLoadLogger.log(res);
|
|
1695
1762
|
})["catch"](function (err) {
|
|
1696
1763
|
console.log("Error while Getting Pivot Table Data: ", err);
|
|
1697
1764
|
tabledata.current = null;
|
|
@@ -2076,48 +2143,9 @@ function buildDataSource(values, widget) {
|
|
|
2076
2143
|
return data;
|
|
2077
2144
|
}
|
|
2078
2145
|
|
|
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
2146
|
function buildDataSet(seriesMeasures, widget) {
|
|
2118
2147
|
var dataSet = [];
|
|
2119
|
-
|
|
2120
|
-
orderedSeriesMeasures.forEach(function (seriesMeasure) {
|
|
2148
|
+
seriesMeasures.forEach(function (seriesMeasure) {
|
|
2121
2149
|
var datas = seriesMeasure.Values.map(function (e, index) {
|
|
2122
2150
|
return {
|
|
2123
2151
|
value: e.Value,
|
|
@@ -2941,6 +2969,7 @@ var FusionChart = React.forwardRef(function (props, comRef) {
|
|
|
2941
2969
|
var isTargetUsed = isTargetWidget(postWidget) && postWidget.WidgetMeasures && postWidget.WidgetMeasures[1] && postWidget.WidgetMeasures[1].MeasureCode == 'Target';
|
|
2942
2970
|
|
|
2943
2971
|
if (isTargetUsed) {
|
|
2972
|
+
var widgetLoadLogger = new WidgetLoadLogger(postWidget, props.isPreviewModeActive);
|
|
2944
2973
|
dashboardAnalyticsService.getTargetAnalyticsData(postWidget, signal).then(function (result) {
|
|
2945
2974
|
var _result$data, _result$data4, _result$data5;
|
|
2946
2975
|
|
|
@@ -2960,6 +2989,7 @@ var FusionChart = React.forwardRef(function (props, comRef) {
|
|
|
2960
2989
|
}
|
|
2961
2990
|
|
|
2962
2991
|
setDataLoaded(true);
|
|
2992
|
+
widgetLoadLogger.log(result);
|
|
2963
2993
|
}, function (error) {
|
|
2964
2994
|
var _error$response, _error$response$data, _error$response2, _error$response2$data;
|
|
2965
2995
|
|
|
@@ -2968,10 +2998,14 @@ var FusionChart = React.forwardRef(function (props, comRef) {
|
|
|
2968
2998
|
setDataLoaded(true);
|
|
2969
2999
|
});
|
|
2970
3000
|
} else {
|
|
3001
|
+
var _widgetLoadLogger = new WidgetLoadLogger(postWidget, props.isPreviewModeActive);
|
|
3002
|
+
|
|
2971
3003
|
dashboardAnalyticsService.getData(postWidget, signal).then(function (result) {
|
|
2972
3004
|
handleData(result === null || result === void 0 ? void 0 : result.data);
|
|
2973
3005
|
chartData.current = result === null || result === void 0 ? void 0 : result.data;
|
|
2974
3006
|
setDataLoaded(true);
|
|
3007
|
+
|
|
3008
|
+
_widgetLoadLogger.log(result);
|
|
2975
3009
|
}, function (error) {
|
|
2976
3010
|
var _error$response3, _error$response3$data, _error$response4, _error$response4$data;
|
|
2977
3011
|
|
|
@@ -3340,10 +3374,12 @@ var FusionChart$1 = React.forwardRef(function (props, comRef) {
|
|
|
3340
3374
|
signal = updatedAxiosController === null || updatedAxiosController === void 0 ? void 0 : updatedAxiosController.signal;
|
|
3341
3375
|
}
|
|
3342
3376
|
|
|
3377
|
+
var widgetLoadLogger = new WidgetLoadLogger(postWidget, props.isPreviewModeActive);
|
|
3343
3378
|
dashboardAnalyticsService.getGaugeData(postWidget, signal).then(function (result) {
|
|
3344
3379
|
handleData(result === null || result === void 0 ? void 0 : result.data);
|
|
3345
3380
|
chartData.current = result === null || result === void 0 ? void 0 : result.data;
|
|
3346
3381
|
setDataLoaded(true);
|
|
3382
|
+
widgetLoadLogger.log(result);
|
|
3347
3383
|
}, function (error) {
|
|
3348
3384
|
var _error$response, _error$response$data, _error$response2, _error$response2$data;
|
|
3349
3385
|
|
|
@@ -3506,7 +3542,8 @@ var WidgetCard = React.forwardRef(function (props, comRef) {
|
|
|
3506
3542
|
dataBinding: props.dataBinding,
|
|
3507
3543
|
widget: widget.current,
|
|
3508
3544
|
widgetRef: props.widgetRef,
|
|
3509
|
-
onSelectDataPoint: props.onSelectDataPoint
|
|
3545
|
+
onSelectDataPoint: props.onSelectDataPoint,
|
|
3546
|
+
isPreviewModeActive: props.isPreviewModeActive
|
|
3510
3547
|
});
|
|
3511
3548
|
return React__default.createElement(FusionChart, {
|
|
3512
3549
|
ref: fusionChartRef,
|
|
@@ -3516,7 +3553,8 @@ var WidgetCard = React.forwardRef(function (props, comRef) {
|
|
|
3516
3553
|
onSelectDataPoint: props.onSelectDataPoint,
|
|
3517
3554
|
onShowError: function onShowError(errorMsg) {
|
|
3518
3555
|
return showErrorMsg(errorMsg);
|
|
3519
|
-
}
|
|
3556
|
+
},
|
|
3557
|
+
isPreviewModeActive: props.isPreviewModeActive
|
|
3520
3558
|
});
|
|
3521
3559
|
};
|
|
3522
3560
|
|