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