logitude-dashboard-library 3.2.1 → 3.2.3
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/assets/styles/dl-dashboard.scss +43 -7
- package/dist/features/Dashboard/ChartsComponents/FusionCharts/FusionChartObjectHelper.d.ts +3 -0
- package/dist/features/Dashboard/ChartsComponents/FusionCharts/FusionColors.d.ts +16 -0
- package/dist/index.js +252 -137
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +252 -137
- package/dist/index.modern.js.map +1 -1
- package/dist/services/ApiServices.d.ts +1 -1
- package/dist/services/DashboardAnalyticsService.d.ts +1 -1
- package/dist/styles/dl-dashboard.scss +43 -7
- package/dist/types/widget.d.ts +2 -0
- package/package.json +3 -3
package/dist/index.modern.js
CHANGED
|
@@ -4,6 +4,8 @@ import { ProgressSpinner } from 'primereact/progressspinner';
|
|
|
4
4
|
import axios from 'axios';
|
|
5
5
|
import moment from 'moment';
|
|
6
6
|
import { v4 } from 'uuid';
|
|
7
|
+
import { DataTable } from 'primereact/datatable';
|
|
8
|
+
import { Column } from 'primereact/column';
|
|
7
9
|
import ReactFC from 'react-fusioncharts';
|
|
8
10
|
import FusionCharts from 'fusioncharts';
|
|
9
11
|
import Charts from 'fusioncharts/fusioncharts.charts';
|
|
@@ -137,14 +139,19 @@ var ApiServices = /*#__PURE__*/function () {
|
|
|
137
139
|
});
|
|
138
140
|
};
|
|
139
141
|
|
|
140
|
-
_proto.post = function post(api, date) {
|
|
142
|
+
_proto.post = function post(api, date, requestSignal) {
|
|
143
|
+
if (requestSignal === void 0) {
|
|
144
|
+
requestSignal = undefined;
|
|
145
|
+
}
|
|
146
|
+
|
|
141
147
|
var token = this.getTokenFromStorage();
|
|
142
148
|
var apiURL = "" + this._apiUrl + api;
|
|
143
149
|
return axios.post(apiURL, date, {
|
|
144
150
|
headers: {
|
|
145
151
|
'Content-Type': 'application/json',
|
|
146
152
|
'Token': token
|
|
147
|
-
}
|
|
153
|
+
},
|
|
154
|
+
signal: requestSignal
|
|
148
155
|
});
|
|
149
156
|
};
|
|
150
157
|
|
|
@@ -193,8 +200,12 @@ var DashboardAnalyticsService = /*#__PURE__*/function () {
|
|
|
193
200
|
|
|
194
201
|
var _proto = DashboardAnalyticsService.prototype;
|
|
195
202
|
|
|
196
|
-
_proto.getData = function getData(widget) {
|
|
197
|
-
|
|
203
|
+
_proto.getData = function getData(widget, signal) {
|
|
204
|
+
if (signal === void 0) {
|
|
205
|
+
signal = undefined;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
return this._ApiServices.post("/api/" + this.controller + "/PostGetDataAnalytic", widget, signal);
|
|
198
209
|
};
|
|
199
210
|
|
|
200
211
|
_proto.getKpiData = function getKpiData(widget) {
|
|
@@ -308,7 +319,7 @@ var isNullOrUndefined = function isNullOrUndefined(val) {
|
|
|
308
319
|
};
|
|
309
320
|
|
|
310
321
|
var KpiChart = function KpiChart(props) {
|
|
311
|
-
var _widget$
|
|
322
|
+
var _widget$current18;
|
|
312
323
|
|
|
313
324
|
var _useState = useState(true),
|
|
314
325
|
isLoading = _useState[0],
|
|
@@ -399,8 +410,22 @@ var KpiChart = function KpiChart(props) {
|
|
|
399
410
|
});
|
|
400
411
|
};
|
|
401
412
|
|
|
413
|
+
var isComparisonIndicatorChecked = function isComparisonIndicatorChecked() {
|
|
414
|
+
var _widget$current5;
|
|
415
|
+
|
|
416
|
+
var _kpiSettings = (_widget$current5 = widget.current) === null || _widget$current5 === void 0 ? void 0 : _widget$current5.KPIComparisonSettings;
|
|
417
|
+
|
|
418
|
+
if (_kpiSettings) {
|
|
419
|
+
var _kpiSettingsAsObj = JSON.parse(_kpiSettings);
|
|
420
|
+
|
|
421
|
+
return !isNullOrUndefined(_kpiSettingsAsObj.ComparisonIndicator) ? _kpiSettingsAsObj.ComparisonIndicator : false;
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
return false;
|
|
425
|
+
};
|
|
426
|
+
|
|
402
427
|
function getRatioComponent() {
|
|
403
|
-
if (!(data !== null && data !== void 0 && data.CompareWithPrevious)) return null;
|
|
428
|
+
if (!(data !== null && data !== void 0 && data.CompareWithPrevious) || !isComparisonIndicatorChecked()) return null;
|
|
404
429
|
return React__default.createElement("div", {
|
|
405
430
|
className: "dl-kpi-ratio-container"
|
|
406
431
|
}, getArrowComponent(), React__default.createElement("div", {
|
|
@@ -409,7 +434,7 @@ var KpiChart = function KpiChart(props) {
|
|
|
409
434
|
}
|
|
410
435
|
|
|
411
436
|
function getArrowComponent() {
|
|
412
|
-
var _widget$
|
|
437
|
+
var _widget$current6, _widget$current7, _widget$current8, _widget$current9, _widget$current10, _widget$current11, _widget$current12, _widget$current13;
|
|
413
438
|
|
|
414
439
|
if (!data) return null;
|
|
415
440
|
if ((data === null || data === void 0 ? void 0 : data.Ratio) == 0 || data.Value == data.ComparisonValue || (data.Value == "0" || data.Value == 0) && (data.ComparisonValue == "0" || data.ComparisonValue == 0)) return React__default.createElement("div", {
|
|
@@ -422,22 +447,22 @@ var KpiChart = function KpiChart(props) {
|
|
|
422
447
|
marginTop: "2px"
|
|
423
448
|
}
|
|
424
449
|
}));
|
|
425
|
-
if ((data === null || data === void 0 ? void 0 : data.Ratio) > 1 && (_widget$
|
|
450
|
+
if ((data === null || data === void 0 ? void 0 : data.Ratio) > 1 && (_widget$current6 = widget.current) !== null && _widget$current6 !== void 0 && _widget$current6.Increase && ((_widget$current7 = widget.current) === null || _widget$current7 === void 0 ? void 0 : _widget$current7.Increase) == "Positive") return React__default.createElement("div", {
|
|
426
451
|
className: "dl-kpi-arrow-container"
|
|
427
452
|
}, React__default.createElement("span", {
|
|
428
453
|
className: "dl-kpi-arrow-pic dl-kpi-arrow-up-green"
|
|
429
454
|
}));
|
|
430
|
-
if ((data === null || data === void 0 ? void 0 : data.Ratio) > 1 && (_widget$
|
|
455
|
+
if ((data === null || data === void 0 ? void 0 : data.Ratio) > 1 && (_widget$current8 = widget.current) !== null && _widget$current8 !== void 0 && _widget$current8.Increase && ((_widget$current9 = widget.current) === null || _widget$current9 === void 0 ? void 0 : _widget$current9.Increase) == "Negative") return React__default.createElement("div", {
|
|
431
456
|
className: "dl-kpi-arrow-container"
|
|
432
457
|
}, React__default.createElement("span", {
|
|
433
458
|
className: "dl-kpi-arrow-pic dl-kpi-arrow-up-red"
|
|
434
459
|
}));
|
|
435
|
-
if ((data === null || data === void 0 ? void 0 : data.Ratio) < 1 && (_widget$
|
|
460
|
+
if ((data === null || data === void 0 ? void 0 : data.Ratio) < 1 && (_widget$current10 = widget.current) !== null && _widget$current10 !== void 0 && _widget$current10.Increase && ((_widget$current11 = widget.current) === null || _widget$current11 === void 0 ? void 0 : _widget$current11.Increase) == "Positive") return React__default.createElement("div", {
|
|
436
461
|
className: "dl-kpi-arrow-container"
|
|
437
462
|
}, React__default.createElement("span", {
|
|
438
463
|
className: "dl-kpi-arrow-pic dl-kpi-arrow-down-red"
|
|
439
464
|
}));
|
|
440
|
-
if ((data === null || data === void 0 ? void 0 : data.Ratio) < 1 && (_widget$
|
|
465
|
+
if ((data === null || data === void 0 ? void 0 : data.Ratio) < 1 && (_widget$current12 = widget.current) !== null && _widget$current12 !== void 0 && _widget$current12.Increase && ((_widget$current13 = widget.current) === null || _widget$current13 === void 0 ? void 0 : _widget$current13.Increase) == "Negative") return React__default.createElement("div", {
|
|
441
466
|
className: "dl-kpi-arrow-container"
|
|
442
467
|
}, React__default.createElement("span", {
|
|
443
468
|
className: "dl-kpi-arrow-pic dl-kpi-arrow-down-green"
|
|
@@ -446,10 +471,10 @@ var KpiChart = function KpiChart(props) {
|
|
|
446
471
|
}
|
|
447
472
|
|
|
448
473
|
function getPreviousValueComponent() {
|
|
449
|
-
if (
|
|
450
|
-
var
|
|
451
|
-
var labelFormated =
|
|
452
|
-
prevtext = labelFormated + ": " +
|
|
474
|
+
if (isNullOrUndefined(data) || isNullOrUndefined(data === null || data === void 0 ? void 0 : data.ComparisonValue) || isNullOrUndefined(data === null || data === void 0 ? void 0 : data.ComparisonLabel)) return "";
|
|
475
|
+
var labelFormatByDateGroupType = getLabelFormatByDateGroupType(data.ComparisonLabel, widget.current, false);
|
|
476
|
+
var labelFormated = !isNullOrUndefined(labelFormatByDateGroupType) ? labelFormatByDateGroupType : null;
|
|
477
|
+
var prevtext = labelFormated ? labelFormated + ": " + (data === null || data === void 0 ? void 0 : data.ComparisonValue) : "";
|
|
453
478
|
return React__default.createElement("div", {
|
|
454
479
|
className: "dl-kpi-prev-container"
|
|
455
480
|
}, React__default.createElement("div", {
|
|
@@ -494,11 +519,11 @@ var KpiChart = function KpiChart(props) {
|
|
|
494
519
|
};
|
|
495
520
|
|
|
496
521
|
var isKPICustomResizeNeeded = function isKPICustomResizeNeeded() {
|
|
497
|
-
var _widget$
|
|
522
|
+
var _widget$current14, _widget$current15, _widget$current16, _widget$current17;
|
|
498
523
|
|
|
499
524
|
if (!widget || !widget.current) return;
|
|
500
|
-
var isThereTitle = !isNullOrUndefined((_widget$
|
|
501
|
-
var isThereSubTitle = !isNullOrUndefined((_widget$
|
|
525
|
+
var isThereTitle = !isNullOrUndefined((_widget$current14 = widget.current) === null || _widget$current14 === void 0 ? void 0 : _widget$current14.Title) && ((_widget$current15 = widget.current) === null || _widget$current15 === void 0 ? void 0 : _widget$current15.Title.length) > 0;
|
|
526
|
+
var isThereSubTitle = !isNullOrUndefined((_widget$current16 = widget.current) === null || _widget$current16 === void 0 ? void 0 : _widget$current16.Subtitle) && ((_widget$current17 = widget.current) === null || _widget$current17 === void 0 ? void 0 : _widget$current17.Subtitle.length) > 0;
|
|
502
527
|
var isKPIHasSmallestHeight = getIsKPIHasSmallestHeight();
|
|
503
528
|
return isThereTitle && isThereSubTitle && isKPIHasSmallestHeight;
|
|
504
529
|
};
|
|
@@ -515,7 +540,7 @@ var KpiChart = function KpiChart(props) {
|
|
|
515
540
|
})) : !error && widget.current ? React__default.createElement("div", {
|
|
516
541
|
key: triggerId,
|
|
517
542
|
onClick: kpiClick,
|
|
518
|
-
className: ((_widget$
|
|
543
|
+
className: ((_widget$current18 = widget.current) === null || _widget$current18 === void 0 ? void 0 : _widget$current18.Alighnment) == "Left" ? "dl-kpi-container-click db-justify-content-flex-start" : "dl-kpi-container-click"
|
|
519
544
|
}, React__default.createElement("div", {
|
|
520
545
|
className: isKPICustomSizeNeeded ? "dl-kpi-container kpi-custom-size" : "dl-kpi-container"
|
|
521
546
|
}, getLabel(), getValueComponent(), getPreviousValueComponent())) : React__default.createElement("div", {
|
|
@@ -548,6 +573,10 @@ var TableChart = function TableChart(props) {
|
|
|
548
573
|
tableData = _useState4[0],
|
|
549
574
|
setTableData = _useState4[1];
|
|
550
575
|
|
|
576
|
+
var _useState5 = useState([]),
|
|
577
|
+
tableColumns = _useState5[0],
|
|
578
|
+
setTableColumns = _useState5[1];
|
|
579
|
+
|
|
551
580
|
useEffect(function () {
|
|
552
581
|
if (props.customChartProps && props.customChartProps.widget) {
|
|
553
582
|
setWidget(props.customChartProps.widget);
|
|
@@ -565,7 +594,7 @@ var TableChart = function TableChart(props) {
|
|
|
565
594
|
var dashboardAnalyticsService = new DashboardAnalyticsService();
|
|
566
595
|
widget.onChange = undefined;
|
|
567
596
|
widget.PageIndex = 0;
|
|
568
|
-
widget.PageSize =
|
|
597
|
+
widget.PageSize = 100;
|
|
569
598
|
dashboardAnalyticsService.getTableData(widget).then(function (res) {
|
|
570
599
|
if (res && res.data) {
|
|
571
600
|
fillTableData(res.data);
|
|
@@ -598,56 +627,29 @@ var TableChart = function TableChart(props) {
|
|
|
598
627
|
};
|
|
599
628
|
|
|
600
629
|
var fillTableData = function fillTableData(tableData) {
|
|
601
|
-
var
|
|
602
|
-
var tableRow = [];
|
|
603
|
-
|
|
604
|
-
if (tableData.Fields) {
|
|
605
|
-
tableData.Fields.forEach(function (item) {
|
|
606
|
-
tableRow.push(_extends({}, item, {
|
|
607
|
-
value: item.DisplayName ? item.DisplayName : "",
|
|
608
|
-
isHeader: true
|
|
609
|
-
}));
|
|
610
|
-
});
|
|
611
|
-
}
|
|
630
|
+
var tableRecords = [];
|
|
612
631
|
|
|
613
|
-
|
|
632
|
+
if (tableData.Fields && tableData.Fields.length) {
|
|
633
|
+
setTableColumns([].concat(tableData.Fields));
|
|
634
|
+
}
|
|
614
635
|
|
|
615
|
-
if (tableData.Result) {
|
|
636
|
+
if (tableData.Result && tableData.Result.length) {
|
|
616
637
|
tableData.Result.forEach(function (item) {
|
|
617
|
-
var _tableRow =
|
|
638
|
+
var _tableRow = _extends({}, item);
|
|
639
|
+
|
|
618
640
|
tableData.Fields.forEach(function (field) {
|
|
619
641
|
var key = field.FieldCode;
|
|
620
642
|
var valueType = field.DataTypeCode;
|
|
621
643
|
|
|
622
644
|
var _value = valueType && (valueType == "Date" || valueType == "DateTime") ? getDateTimeValue(item[key]) : valueType == "Boolean" ? getBooleanStringValue(item[key]) : item[key];
|
|
623
645
|
|
|
624
|
-
_tableRow
|
|
625
|
-
value: _value
|
|
626
|
-
});
|
|
646
|
+
_tableRow[key] = isNullOrUndefined(_value) ? "" : _value;
|
|
627
647
|
});
|
|
628
|
-
|
|
648
|
+
tableRecords.push(_tableRow);
|
|
629
649
|
});
|
|
630
650
|
}
|
|
631
651
|
|
|
632
|
-
setTableData([].concat(
|
|
633
|
-
};
|
|
634
|
-
|
|
635
|
-
var getTableTemplate = function getTableTemplate() {
|
|
636
|
-
return tableData.length == 0 ? React__default.createElement("div", {
|
|
637
|
-
className: "dl-kpi-no-data margin-auto"
|
|
638
|
-
}, "No data to display.") : React__default.createElement("table", null, React__default.createElement("thead", null, React__default.createElement("tr", null, tableData[0].map(function (el) {
|
|
639
|
-
return React__default.createElement("th", {
|
|
640
|
-
key: el.value
|
|
641
|
-
}, !isNullOrUndefined(el.value) ? el.value + "" : '');
|
|
642
|
-
}))), React__default.createElement("tbody", null, tableData.map(function (el, index) {
|
|
643
|
-
return index == 0 ? null : React__default.createElement("tr", {
|
|
644
|
-
key: index
|
|
645
|
-
}, el.map(function (item, index2) {
|
|
646
|
-
return React__default.createElement("td", {
|
|
647
|
-
key: index2 + "_" + el.value
|
|
648
|
-
}, !isNullOrUndefined(item.value) ? item.value + "" : '');
|
|
649
|
-
}));
|
|
650
|
-
})));
|
|
652
|
+
setTableData([].concat(tableRecords));
|
|
651
653
|
};
|
|
652
654
|
|
|
653
655
|
return isLoading ? React__default.createElement("div", {
|
|
@@ -670,11 +672,20 @@ var TableChart = function TableChart(props) {
|
|
|
670
672
|
className: "red-warning-icon"
|
|
671
673
|
}), React__default.createElement("span", {
|
|
672
674
|
className: "dl-tooltiptext"
|
|
673
|
-
}, error))) :
|
|
675
|
+
}, error))) : React__default.createElement(DataTable, {
|
|
676
|
+
value: tableData,
|
|
677
|
+
responsiveLayout: "scroll"
|
|
678
|
+
}, tableColumns.map(function (column, index) {
|
|
679
|
+
return React__default.createElement(Column, {
|
|
680
|
+
key: column.FieldCode + "_" + index,
|
|
681
|
+
field: column.FieldCode,
|
|
682
|
+
header: column.DisplayName
|
|
683
|
+
});
|
|
684
|
+
}));
|
|
674
685
|
};
|
|
675
686
|
|
|
676
687
|
var CustomChart = function CustomChart(props) {
|
|
677
|
-
var _props$widget2;
|
|
688
|
+
var _props$widget2, _props$widget3, _props$widget4;
|
|
678
689
|
|
|
679
690
|
var project = function project() {
|
|
680
691
|
var _props$widget;
|
|
@@ -695,50 +706,16 @@ var CustomChart = function CustomChart(props) {
|
|
|
695
706
|
}
|
|
696
707
|
};
|
|
697
708
|
|
|
698
|
-
return React__default.createElement("div", {
|
|
699
|
-
className:
|
|
700
|
-
},
|
|
709
|
+
return React__default.createElement(React__default.Fragment, null, ((_props$widget2 = props.widget) === null || _props$widget2 === void 0 ? void 0 : _props$widget2.TypeCode) && ((_props$widget3 = props.widget) === null || _props$widget3 === void 0 ? void 0 : _props$widget3.TypeCode) == 'table' && React__default.createElement("div", {
|
|
710
|
+
className: "table-rows-number-indicator"
|
|
711
|
+
}, "Showing the first 100 rows"), React__default.createElement("div", {
|
|
712
|
+
className: props.widget && ((_props$widget4 = props.widget) === null || _props$widget4 === void 0 ? void 0 : _props$widget4.TypeCode) == 'table' ? "dl-custom-chart-container dl-table-chart-container" : "dl-custom-chart-container"
|
|
713
|
+
}, project()));
|
|
701
714
|
};
|
|
702
715
|
|
|
703
|
-
var mainYellowColor = "#F6CF33";
|
|
704
|
-
var mainRedColor = "#EE5F77";
|
|
705
|
-
var mainGreenColor = "#4AC76F";
|
|
706
|
-
var mainTurquoiseColor = "#32C7C7";
|
|
707
|
-
var mainBlueColor = "#369CFB";
|
|
708
|
-
var mainPurpleColor = "#935BE0";
|
|
709
|
-
var mainOrangeColor = "#FAAD14";
|
|
710
|
-
|
|
711
|
-
function getSeriesPositionColor(position) {
|
|
712
|
-
switch (position) {
|
|
713
|
-
case 1:
|
|
714
|
-
return mainBlueColor;
|
|
715
|
-
|
|
716
|
-
case 2:
|
|
717
|
-
return mainGreenColor;
|
|
718
|
-
|
|
719
|
-
case 3:
|
|
720
|
-
return mainYellowColor;
|
|
721
|
-
|
|
722
|
-
case 4:
|
|
723
|
-
return mainTurquoiseColor;
|
|
724
|
-
|
|
725
|
-
case 5:
|
|
726
|
-
return mainPurpleColor;
|
|
727
|
-
|
|
728
|
-
case 6:
|
|
729
|
-
return mainOrangeColor;
|
|
730
|
-
|
|
731
|
-
case 7:
|
|
732
|
-
return mainRedColor;
|
|
733
|
-
|
|
734
|
-
default:
|
|
735
|
-
return null;
|
|
736
|
-
}
|
|
737
|
-
}
|
|
738
|
-
|
|
739
716
|
function buildToolTip(widget, value, seriesName, label, index) {
|
|
740
717
|
var padding = widget.TypeCode == 'line' && index > 0 ? 'padding-top: 3px' : '';
|
|
741
|
-
return "\n <div style=\"min-width: 108px;" + padding + "\">\n <div style=\"display: flex;align-items: center;margin-bottom: 6px;\">\n <span style=\"margin: 0; height: 10px; width: 10px; background-color:
|
|
718
|
+
return "\n <div style=\"min-width: 108px;" + padding + "\">\n <div style=\"display: flex;align-items: center;margin-bottom: 6px;\">\n <span style=\"margin: 0; min-height: 10px; min-width: 10px; height: 10px; width: 10px; background-color: transparent; border-radius: 50%; display: inline-block;\"></span>\n <p style=\" margin: 0; margin-left: 4px; white-space: pre-line; font-family: 'Manrope'; font-style: normal;font-weight: 400; font-size: 11px; line-height: 100%; color: #323232;\"> " + getTooltiplabel(label, seriesName) + "</p>\n </div>\n <hr style=\"margin: 0;border-top: 1px solid #F0F0F0;\">\n <div style=\"display: flex;align-items: center;margin:0;margin-top: 6px;\">\n <p style=\"margin: 0;font-family: 'Manrope'; white-space: pre-line; font-style: normal;font-weight: 400; font-size: 11px;line-height: 100%;color: #A4A4A4;\"> " + getMeasureType(seriesName) + "</p>\n <p style=\"margin: 0;margin-left: 6px; white-space: pre-line; font-family: 'Manrope';font-style: normal;font-weight: 500;font-size: 11px;line-height: 100%; color: #323232;\">" + getTooltipValue(value) + "</p>\n " + getTooltipPercentage(widget) + " </div>\n </div>\n ";
|
|
742
719
|
}
|
|
743
720
|
|
|
744
721
|
function getTooltipPercentage(widget) {
|
|
@@ -746,8 +723,9 @@ function getTooltipPercentage(widget) {
|
|
|
746
723
|
return "\n <p style=\"margin: 0;margin-left: 2px;font-family: 'Manrope';font-style: normal;font-weight: 500;font-size: 11px;line-height: 100%; color: #A4A4A4;flex: none; order: 1;flex-grow: 0;\">($percentValue)</p>\n ";
|
|
747
724
|
}
|
|
748
725
|
|
|
749
|
-
function getTooltiplabel(value) {
|
|
726
|
+
function getTooltiplabel(value, seriesMeasure) {
|
|
750
727
|
if (value) return value;
|
|
728
|
+
if (seriesMeasure && seriesMeasure.Name) return '$label' + " - " + seriesMeasure.Name;
|
|
751
729
|
return '$label';
|
|
752
730
|
}
|
|
753
731
|
|
|
@@ -827,8 +805,7 @@ function buildDataSource(values, widget) {
|
|
|
827
805
|
MeasureCode: series.MeasureCode,
|
|
828
806
|
Formula: series.Formula
|
|
829
807
|
},
|
|
830
|
-
tooltext: buildToolTip(widget, null, series, e.Label, 0)
|
|
831
|
-
color: getSeriesPositionColor(index + 1)
|
|
808
|
+
tooltext: buildToolTip(widget, null, series, e.Label, 0)
|
|
832
809
|
};
|
|
833
810
|
return item;
|
|
834
811
|
});
|
|
@@ -837,7 +814,6 @@ function buildDataSource(values, widget) {
|
|
|
837
814
|
|
|
838
815
|
function buildDataSet(seriesMeasures, widget) {
|
|
839
816
|
var dataSet = [];
|
|
840
|
-
var seriesPosition = 1;
|
|
841
817
|
seriesMeasures.forEach(function (seriesMeasure) {
|
|
842
818
|
var datas = seriesMeasure.Values.map(function (e, index) {
|
|
843
819
|
return {
|
|
@@ -851,26 +827,22 @@ function buildDataSet(seriesMeasures, widget) {
|
|
|
851
827
|
tooltext: buildToolTip(widget, e.Value, seriesMeasure, null, index)
|
|
852
828
|
};
|
|
853
829
|
});
|
|
854
|
-
var color = getSeriesPositionColor(seriesPosition);
|
|
855
830
|
dataSet.push({
|
|
856
831
|
data: datas,
|
|
857
832
|
seriesname: seriesMeasure.Name,
|
|
858
|
-
|
|
859
|
-
anchorBgColor: color,
|
|
833
|
+
anchorBgColor: "inherit",
|
|
860
834
|
anchorBorderColor: "#FFFFFF",
|
|
861
835
|
anchorBorderThickness: "2",
|
|
862
|
-
anchorHoverColor:
|
|
836
|
+
anchorHoverColor: "inherit",
|
|
863
837
|
parentyaxis: seriesMeasure.PlotasLineChart && seriesMeasure.PlotonSecondAxis ? 'S' : "P",
|
|
864
838
|
renderAs: seriesMeasure.PlotasLineChart ? 'line' : "column"
|
|
865
839
|
});
|
|
866
|
-
seriesPosition++;
|
|
867
840
|
});
|
|
868
841
|
return dataSet;
|
|
869
842
|
}
|
|
870
843
|
|
|
871
844
|
function buildStackedDataSet(seriesMeasures, widget) {
|
|
872
845
|
var dataSet = [];
|
|
873
|
-
var seriesPosition = 1;
|
|
874
846
|
var series = seriesMeasures[0];
|
|
875
847
|
var uniqueGroups = [];
|
|
876
848
|
series.Values.forEach(function (element) {
|
|
@@ -882,13 +854,10 @@ function buildStackedDataSet(seriesMeasures, widget) {
|
|
|
882
854
|
});
|
|
883
855
|
});
|
|
884
856
|
uniqueGroups.forEach(function (group) {
|
|
885
|
-
var color = getSeriesPositionColor(seriesPosition);
|
|
886
857
|
dataSet.push({
|
|
887
858
|
seriesName: group.label,
|
|
888
|
-
color: color,
|
|
889
859
|
data: buildStackedGroupData(group, series, widget)
|
|
890
860
|
});
|
|
891
|
-
seriesPosition++;
|
|
892
861
|
});
|
|
893
862
|
var emptylabels = dataSet.filter(function (e) {
|
|
894
863
|
return e.seriesName == null;
|
|
@@ -1248,6 +1217,7 @@ function getDefaultChartInfo(widget) {
|
|
|
1248
1217
|
chart.minAngleForValue = "27";
|
|
1249
1218
|
}
|
|
1250
1219
|
|
|
1220
|
+
chart.palettecolors = "#369CFB,#4AC76F,#F6CF33,#32C7C7,#935BE0,#FAAD14,#EE5F77,#5D62B5, #29C3BE, #F2726F, #FFC533, #62B58F, #BC95DF, #67CDF2";
|
|
1251
1221
|
chart.enableSlicing = "0";
|
|
1252
1222
|
chart.enableRotation = "0";
|
|
1253
1223
|
chart.chartTopMargin = "10";
|
|
@@ -1256,6 +1226,7 @@ function getDefaultChartInfo(widget) {
|
|
|
1256
1226
|
chart.chartRightMargin = "40";
|
|
1257
1227
|
chart.toolTipBgColor = "#FFFFFF";
|
|
1258
1228
|
chart.showToolTipShadow = "1";
|
|
1229
|
+
chart.plotHoverEffect = "0";
|
|
1259
1230
|
chart.scrollHeight = "6";
|
|
1260
1231
|
chart.scrollWidth = "6";
|
|
1261
1232
|
chart.plotColorinTooltip = "0";
|
|
@@ -1389,6 +1360,78 @@ var FusionChartHelper = /*#__PURE__*/function () {
|
|
|
1389
1360
|
return FusionChartHelper;
|
|
1390
1361
|
}();
|
|
1391
1362
|
|
|
1363
|
+
var plotColorsDictionary = {
|
|
1364
|
+
plotColor0: "#369CFB",
|
|
1365
|
+
plotColor1: "#4AC76F",
|
|
1366
|
+
plotColor2: "#F6CF33",
|
|
1367
|
+
plotColor3: "#32C7C7",
|
|
1368
|
+
plotColor4: "#935BE0",
|
|
1369
|
+
plotColor5: "#FAAD14",
|
|
1370
|
+
plotColor6: "#EE5F77",
|
|
1371
|
+
plotColor7: "#5D62B5",
|
|
1372
|
+
plotColor8: "#29C3BE",
|
|
1373
|
+
plotColor9: "#F2726F",
|
|
1374
|
+
plotColor10: "#FFC533",
|
|
1375
|
+
plotColor11: "#62B58F",
|
|
1376
|
+
plotColor12: "#BC95DF",
|
|
1377
|
+
plotColor13: "#67CDF2"
|
|
1378
|
+
};
|
|
1379
|
+
|
|
1380
|
+
var getPlotColorByIndexOrder = function getPlotColorByIndexOrder(index) {
|
|
1381
|
+
var _index = index;
|
|
1382
|
+
|
|
1383
|
+
if (_index >= 14) {
|
|
1384
|
+
_index = _index % 14;
|
|
1385
|
+
}
|
|
1386
|
+
|
|
1387
|
+
switch (_index) {
|
|
1388
|
+
case 0:
|
|
1389
|
+
return plotColorsDictionary.plotColor0;
|
|
1390
|
+
|
|
1391
|
+
case 1:
|
|
1392
|
+
return plotColorsDictionary.plotColor1;
|
|
1393
|
+
|
|
1394
|
+
case 2:
|
|
1395
|
+
return plotColorsDictionary.plotColor2;
|
|
1396
|
+
|
|
1397
|
+
case 3:
|
|
1398
|
+
return plotColorsDictionary.plotColor3;
|
|
1399
|
+
|
|
1400
|
+
case 4:
|
|
1401
|
+
return plotColorsDictionary.plotColor4;
|
|
1402
|
+
|
|
1403
|
+
case 5:
|
|
1404
|
+
return plotColorsDictionary.plotColor5;
|
|
1405
|
+
|
|
1406
|
+
case 6:
|
|
1407
|
+
return plotColorsDictionary.plotColor6;
|
|
1408
|
+
|
|
1409
|
+
case 7:
|
|
1410
|
+
return plotColorsDictionary.plotColor7;
|
|
1411
|
+
|
|
1412
|
+
case 8:
|
|
1413
|
+
return plotColorsDictionary.plotColor8;
|
|
1414
|
+
|
|
1415
|
+
case 9:
|
|
1416
|
+
return plotColorsDictionary.plotColor9;
|
|
1417
|
+
|
|
1418
|
+
case 10:
|
|
1419
|
+
return plotColorsDictionary.plotColor10;
|
|
1420
|
+
|
|
1421
|
+
case 11:
|
|
1422
|
+
return plotColorsDictionary.plotColor11;
|
|
1423
|
+
|
|
1424
|
+
case 12:
|
|
1425
|
+
return plotColorsDictionary.plotColor12;
|
|
1426
|
+
|
|
1427
|
+
case 13:
|
|
1428
|
+
return plotColorsDictionary.plotColor13;
|
|
1429
|
+
|
|
1430
|
+
default:
|
|
1431
|
+
return "#0566c2";
|
|
1432
|
+
}
|
|
1433
|
+
};
|
|
1434
|
+
|
|
1392
1435
|
ReactFC.fcRoot(FusionCharts, Charts, FusionTheme);
|
|
1393
1436
|
FusionCharts.options['license']({
|
|
1394
1437
|
key: 'prD4C-8eiA7A3A3C7E6G4B4A3J4C7B2D3D2nyqE1C3fd1npaE4D4tlA-21D7E4F4F1F1E1F4F1A10A8C2C5F5E2F2D1hwqD1B5D1aG4A19A32twbC6D3G4lhJ-7A9C11A5B-13ddA2I3A1B9B3D7A2B4G2H3H1F-7smC8B2XB4cetB8A7A5mxD3SG4F2tvgB2A3B2E4C3I3C7B3A4A3A2D3D2G4J-7==',
|
|
@@ -1407,27 +1450,35 @@ var FusionChart = forwardRef(function (props, comRef) {
|
|
|
1407
1450
|
fusionKey = _useState3[0];
|
|
1408
1451
|
|
|
1409
1452
|
var chartData = useRef(null);
|
|
1453
|
+
|
|
1454
|
+
var _useState4 = useState(null),
|
|
1455
|
+
resizeTimer = _useState4[0],
|
|
1456
|
+
setResizeTimer = _useState4[1];
|
|
1457
|
+
|
|
1458
|
+
var axiosController = useRef(new AbortController());
|
|
1410
1459
|
var widget = useRef();
|
|
1411
1460
|
|
|
1412
|
-
var
|
|
1413
|
-
args =
|
|
1414
|
-
setArgs =
|
|
1461
|
+
var _useState5 = useState({}),
|
|
1462
|
+
args = _useState5[0],
|
|
1463
|
+
setArgs = _useState5[1];
|
|
1415
1464
|
|
|
1416
|
-
var
|
|
1417
|
-
fChart =
|
|
1418
|
-
setFchart =
|
|
1465
|
+
var _useState6 = useState(),
|
|
1466
|
+
fChart = _useState6[0],
|
|
1467
|
+
setFchart = _useState6[1];
|
|
1468
|
+
|
|
1469
|
+
var _useState7 = useState(v4()),
|
|
1470
|
+
chartContainerId = _useState7[0];
|
|
1419
1471
|
|
|
1420
|
-
var id = (Math.random() + 1).toString(36).substring(7);
|
|
1421
1472
|
var progressRef = useRef(null);
|
|
1422
1473
|
var fusionRef = useRef(null);
|
|
1423
1474
|
var fusionChartHelper = useRef();
|
|
1475
|
+
var isDummyChangesActive = useRef(false);
|
|
1424
1476
|
useEffect(function () {
|
|
1425
1477
|
var _props$dataBinding;
|
|
1426
1478
|
|
|
1479
|
+
axiosController.current = new AbortController();
|
|
1427
1480
|
widget.current = props.widget;
|
|
1428
|
-
|
|
1429
|
-
RefreshData();
|
|
1430
|
-
}, 500);
|
|
1481
|
+
RefreshData();
|
|
1431
1482
|
(_props$dataBinding = props.dataBinding) === null || _props$dataBinding === void 0 ? void 0 : _props$dataBinding.widgetUpdated.subscribe(function (updatedWidget) {
|
|
1432
1483
|
var _widget$current;
|
|
1433
1484
|
|
|
@@ -1437,25 +1488,32 @@ var FusionChart = forwardRef(function (props, comRef) {
|
|
|
1437
1488
|
if (chartData && chartData.current) {
|
|
1438
1489
|
var _data = JSON.parse(JSON.stringify(chartData.current));
|
|
1439
1490
|
|
|
1491
|
+
isDummyChangesActive.current = true;
|
|
1440
1492
|
handleData(_data, true);
|
|
1441
1493
|
}
|
|
1442
1494
|
});
|
|
1443
|
-
}, []);
|
|
1444
|
-
useEffect(function () {
|
|
1445
|
-
var timeout;
|
|
1446
|
-
|
|
1447
|
-
var handleResize = function handleResize() {
|
|
1448
|
-
clearTimeout(timeout);
|
|
1449
|
-
timeout = setTimeout(function () {
|
|
1450
|
-
HandleSizeChange();
|
|
1451
|
-
}, 200);
|
|
1452
|
-
};
|
|
1453
|
-
|
|
1454
1495
|
window.addEventListener("resize", handleResize);
|
|
1455
1496
|
return function () {
|
|
1456
|
-
|
|
1497
|
+
var _axiosController$curr;
|
|
1498
|
+
|
|
1499
|
+
window.removeEventListener("resize", handleResize);
|
|
1500
|
+
setDataLoaded(false);
|
|
1501
|
+
|
|
1502
|
+
if (axiosController && axiosController !== null && axiosController !== void 0 && (_axiosController$curr = axiosController.current) !== null && _axiosController$curr !== void 0 && _axiosController$curr.abort) {
|
|
1503
|
+
var _axiosController$curr2;
|
|
1504
|
+
|
|
1505
|
+
axiosController === null || axiosController === void 0 ? void 0 : (_axiosController$curr2 = axiosController.current) === null || _axiosController$curr2 === void 0 ? void 0 : _axiosController$curr2.abort();
|
|
1506
|
+
}
|
|
1457
1507
|
};
|
|
1458
1508
|
}, []);
|
|
1509
|
+
|
|
1510
|
+
var handleResize = function handleResize() {
|
|
1511
|
+
clearTimeout(resizeTimer);
|
|
1512
|
+
setResizeTimer(setTimeout(function () {
|
|
1513
|
+
HandleSizeChange();
|
|
1514
|
+
}, 200));
|
|
1515
|
+
};
|
|
1516
|
+
|
|
1459
1517
|
useImperativeHandle(comRef, function () {
|
|
1460
1518
|
return {
|
|
1461
1519
|
onResizeFinish: function onResizeFinish() {
|
|
@@ -1494,9 +1552,21 @@ var FusionChart = forwardRef(function (props, comRef) {
|
|
|
1494
1552
|
var postWidget = _extends({}, widget.current);
|
|
1495
1553
|
|
|
1496
1554
|
postWidget.onChange = undefined;
|
|
1497
|
-
|
|
1555
|
+
var signal = undefined;
|
|
1556
|
+
|
|
1557
|
+
if (axiosController) {
|
|
1558
|
+
var _axiosController$curr3;
|
|
1559
|
+
|
|
1560
|
+
axiosController === null || axiosController === void 0 ? void 0 : (_axiosController$curr3 = axiosController.current) === null || _axiosController$curr3 === void 0 ? void 0 : _axiosController$curr3.abort();
|
|
1561
|
+
var updatedAxiosController = new AbortController();
|
|
1562
|
+
axiosController.current = updatedAxiosController;
|
|
1563
|
+
signal = updatedAxiosController === null || updatedAxiosController === void 0 ? void 0 : updatedAxiosController.signal;
|
|
1564
|
+
}
|
|
1565
|
+
|
|
1566
|
+
dashboardAnalyticsService.getData(postWidget, signal).then(function (result) {
|
|
1498
1567
|
handleData(result === null || result === void 0 ? void 0 : result.data);
|
|
1499
1568
|
chartData.current = result === null || result === void 0 ? void 0 : result.data;
|
|
1569
|
+
setDataLoaded(true);
|
|
1500
1570
|
}, function (error) {
|
|
1501
1571
|
var _error$response, _error$response$data, _error$response2, _error$response2$data;
|
|
1502
1572
|
|
|
@@ -1520,6 +1590,10 @@ var FusionChart = forwardRef(function (props, comRef) {
|
|
|
1520
1590
|
|
|
1521
1591
|
if (!isDummyChange) {
|
|
1522
1592
|
setDataLoaded(true);
|
|
1593
|
+
} else {
|
|
1594
|
+
setTimeout(function () {
|
|
1595
|
+
isDummyChangesActive.current = false;
|
|
1596
|
+
}, 100);
|
|
1523
1597
|
}
|
|
1524
1598
|
};
|
|
1525
1599
|
|
|
@@ -1547,6 +1621,46 @@ var FusionChart = forwardRef(function (props, comRef) {
|
|
|
1547
1621
|
setFchart(chart);
|
|
1548
1622
|
};
|
|
1549
1623
|
|
|
1624
|
+
var handlePieDonutChartTooltip = function handlePieDonutChartTooltip(chartData) {
|
|
1625
|
+
if (chartData && chartData.data && chartData.data.length) {
|
|
1626
|
+
chartData.data.forEach(function (item, index) {
|
|
1627
|
+
var color = getPlotColorByIndexOrder(index);
|
|
1628
|
+
item.tooltext = item.tooltext.replaceAll("transparent", color);
|
|
1629
|
+
});
|
|
1630
|
+
setArgs(_extends({}, args, {
|
|
1631
|
+
dataSource: chartData
|
|
1632
|
+
}));
|
|
1633
|
+
}
|
|
1634
|
+
};
|
|
1635
|
+
|
|
1636
|
+
var handleOtherChartsTooltip = function handleOtherChartsTooltip(chartData) {
|
|
1637
|
+
if (chartData && chartData.dataset && chartData.dataset.length) {
|
|
1638
|
+
chartData.dataset.forEach(function (el, index) {
|
|
1639
|
+
el.data.forEach(function (item) {
|
|
1640
|
+
var color = getPlotColorByIndexOrder(index);
|
|
1641
|
+
item.tooltext = item.tooltext.replaceAll("transparent", color);
|
|
1642
|
+
});
|
|
1643
|
+
});
|
|
1644
|
+
setArgs(_extends({}, args, {
|
|
1645
|
+
dataSource: chartData
|
|
1646
|
+
}));
|
|
1647
|
+
}
|
|
1648
|
+
};
|
|
1649
|
+
|
|
1650
|
+
var loaded = function loaded(event) {
|
|
1651
|
+
var _widget$current6, _widget$current7;
|
|
1652
|
+
|
|
1653
|
+
if (isDummyChangesActive && isDummyChangesActive.current) return;
|
|
1654
|
+
var chartData = event.sender.args && event.sender.args.dataSource ? event.sender.args.dataSource : null;
|
|
1655
|
+
var isPieOrDonutChart = ((_widget$current6 = widget.current) === null || _widget$current6 === void 0 ? void 0 : _widget$current6.TypeCode) == 'pie' || ((_widget$current7 = widget.current) === null || _widget$current7 === void 0 ? void 0 : _widget$current7.TypeCode) == 'donut';
|
|
1656
|
+
|
|
1657
|
+
if (isPieOrDonutChart) {
|
|
1658
|
+
handlePieDonutChartTooltip(chartData);
|
|
1659
|
+
} else {
|
|
1660
|
+
handleOtherChartsTooltip(chartData);
|
|
1661
|
+
}
|
|
1662
|
+
};
|
|
1663
|
+
|
|
1550
1664
|
return !dataLoaded ? React__default.createElement("div", {
|
|
1551
1665
|
ref: progressRef,
|
|
1552
1666
|
className: 'dl-full-hight dl-flex-content-center spinner-custome'
|
|
@@ -1561,12 +1675,13 @@ var FusionChart = forwardRef(function (props, comRef) {
|
|
|
1561
1675
|
className: 'db-fc-parent-container',
|
|
1562
1676
|
ref: fusionRef
|
|
1563
1677
|
}, React__default.createElement("div", {
|
|
1564
|
-
key: fusionKey,
|
|
1565
1678
|
className: 'db-fc-container',
|
|
1679
|
+
key: fusionKey,
|
|
1566
1680
|
ref: ref,
|
|
1567
|
-
id:
|
|
1681
|
+
id: chartContainerId
|
|
1568
1682
|
}, React__default.createElement(ReactFC, Object.assign({}, args, {
|
|
1569
1683
|
"fcEvent-dataplotClick": dataplotClick,
|
|
1684
|
+
"fcEvent-loaded": loaded,
|
|
1570
1685
|
onRender: renderComplete
|
|
1571
1686
|
})))) : React__default.createElement("div", {
|
|
1572
1687
|
className: "dl-flex-content-center dl-full-hight",
|