logitude-dashboard-library 1.4.2 → 1.4.4
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.
|
@@ -129,6 +129,7 @@ $dark-grey: #717585;
|
|
|
129
129
|
>div {
|
|
130
130
|
box-sizing: border-box;
|
|
131
131
|
border-radius: 7px;
|
|
132
|
+
|
|
132
133
|
}
|
|
133
134
|
|
|
134
135
|
}
|
|
@@ -469,4 +470,33 @@ $dark-grey: #717585;
|
|
|
469
470
|
margin-left: 12px;
|
|
470
471
|
margin-right: 12px;
|
|
471
472
|
margin-bottom: 12px;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
.dl-kpi-arrow-pic {
|
|
476
|
+
|
|
477
|
+
display: inline-block;
|
|
478
|
+
vertical-align: middle;
|
|
479
|
+
width: 0;
|
|
480
|
+
height: 0;
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
.dl-kpi-arrow-up {
|
|
484
|
+
border-left: 10px solid transparent;
|
|
485
|
+
border-right: 10px solid transparent;
|
|
486
|
+
border-bottom: 10px solid greenyellow;
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
.dl-kpi-arrow-down {
|
|
490
|
+
border-left: 10px solid transparent;
|
|
491
|
+
border-right: 10px solid transparent;
|
|
492
|
+
border-top: 10px solid red;
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
.dl-kpi-same-line {
|
|
496
|
+
display: flex;
|
|
497
|
+
flex-direction: row;
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
.dl-kpi-margin {
|
|
501
|
+
margin-right: 4px;
|
|
472
502
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { Layouts } from "react-grid-layout";
|
|
3
|
-
import ColumnChartComponent from "./ChartsComponents/ColumnChartComponent";
|
|
4
3
|
import { ReactWidgetPM } from "../../types/widget";
|
|
5
4
|
import { DataPointSelection } from "../../types/SeriesMeasure";
|
|
6
5
|
import { DashboardDataBinding } from "../../types/DashboardDataBinding";
|
|
@@ -27,12 +26,4 @@ export declare const layoutGridProps: {
|
|
|
27
26
|
};
|
|
28
27
|
useCSSTransforms: boolean;
|
|
29
28
|
};
|
|
30
|
-
export declare const WidgetTypes: {
|
|
31
|
-
Name: string;
|
|
32
|
-
Disabled: boolean;
|
|
33
|
-
}[];
|
|
34
|
-
export declare const widgetComponents: {
|
|
35
|
-
type: string;
|
|
36
|
-
component: typeof ColumnChartComponent;
|
|
37
|
-
}[];
|
|
38
29
|
export default DashboardDesigner;
|
package/dist/index.js
CHANGED
|
@@ -3,11 +3,10 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var React__default = _interopDefault(React);
|
|
5
5
|
var reactGridLayout = require('react-grid-layout');
|
|
6
|
-
require('react-apexcharts');
|
|
7
|
-
var axios = _interopDefault(require('axios'));
|
|
8
6
|
var button = require('primereact/button');
|
|
9
7
|
var overlaypanel = require('primereact/overlaypanel');
|
|
10
8
|
var progressspinner = require('primereact/progressspinner');
|
|
9
|
+
var axios = _interopDefault(require('axios'));
|
|
11
10
|
var ReactFC = _interopDefault(require('react-fusioncharts'));
|
|
12
11
|
var FusionCharts = _interopDefault(require('fusioncharts'));
|
|
13
12
|
var Charts = _interopDefault(require('fusioncharts/fusioncharts.charts'));
|
|
@@ -203,7 +202,7 @@ var DashboardAnalyticsService = /*#__PURE__*/function () {
|
|
|
203
202
|
}();
|
|
204
203
|
|
|
205
204
|
var KpiChart = function KpiChart(props) {
|
|
206
|
-
var _widget$
|
|
205
|
+
var _widget$current8;
|
|
207
206
|
|
|
208
207
|
var _useState = React.useState(false),
|
|
209
208
|
dataLoaded = _useState[0],
|
|
@@ -214,32 +213,30 @@ var KpiChart = function KpiChart(props) {
|
|
|
214
213
|
setError = _useState2[1];
|
|
215
214
|
|
|
216
215
|
var widget = React.useRef();
|
|
217
|
-
var widgetRef = React.useRef();
|
|
218
|
-
var hasDataError = React.useRef(false);
|
|
219
216
|
|
|
220
217
|
var _useState3 = React.useState(),
|
|
221
218
|
data = _useState3[0],
|
|
222
219
|
setData = _useState3[1];
|
|
223
220
|
|
|
224
221
|
var _useState4 = React.useState(),
|
|
225
|
-
|
|
222
|
+
arrowColorDirection = _useState4[0],
|
|
223
|
+
setArrowColorDirection = _useState4[1];
|
|
226
224
|
|
|
227
|
-
var _useState5 = React.useState(),
|
|
228
|
-
|
|
229
|
-
|
|
225
|
+
var _useState5 = React.useState(false),
|
|
226
|
+
checkValuesValidity = _useState5[0],
|
|
227
|
+
setCheckValuesValidity = _useState5[1];
|
|
230
228
|
|
|
231
229
|
var _useState6 = React.useState(false),
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
var _useState7 = React.useState(false),
|
|
236
|
-
checkVisibleUnit = _useState7[0],
|
|
237
|
-
setVisibilityUnit = _useState7[1];
|
|
230
|
+
checkVisibleUnit = _useState6[0],
|
|
231
|
+
setVisibilityUnit = _useState6[1];
|
|
238
232
|
|
|
239
|
-
var prev = "
|
|
233
|
+
var prev = "";
|
|
240
234
|
React.useEffect(function () {
|
|
241
235
|
widget.current = props.customChartProps.widget;
|
|
242
236
|
onRefresh();
|
|
237
|
+
setTimeout(function () {
|
|
238
|
+
RefreshData();
|
|
239
|
+
}, 500);
|
|
243
240
|
}, []);
|
|
244
241
|
|
|
245
242
|
var onRefresh = function onRefresh() {
|
|
@@ -250,7 +247,7 @@ var KpiChart = function KpiChart(props) {
|
|
|
250
247
|
|
|
251
248
|
if (e.key == ((_widget$current = widget.current) === null || _widget$current === void 0 ? void 0 : _widget$current.key)) {
|
|
252
249
|
setDataLoaded(false);
|
|
253
|
-
|
|
250
|
+
widget.current = e;
|
|
254
251
|
setTimeout(function () {
|
|
255
252
|
RefreshData();
|
|
256
253
|
}, 500);
|
|
@@ -258,20 +255,7 @@ var KpiChart = function KpiChart(props) {
|
|
|
258
255
|
});
|
|
259
256
|
};
|
|
260
257
|
|
|
261
|
-
React.useEffect(function () {
|
|
262
|
-
widgetRef.current = props.customChartProps.widgetRef;
|
|
263
|
-
setTimeout(function () {
|
|
264
|
-
RefreshData();
|
|
265
|
-
}, 500);
|
|
266
|
-
}, []);
|
|
267
|
-
React.useEffect(function () {
|
|
268
|
-
widgetRef.current = props.customChartProps.widgetRef;
|
|
269
|
-
}, [props.customChartProps.widgetRef]);
|
|
270
|
-
|
|
271
258
|
var RefreshData = function RefreshData() {
|
|
272
|
-
var _props$customChartPro2, _props$customChartPro3;
|
|
273
|
-
|
|
274
|
-
setTitle(props === null || props === void 0 ? void 0 : (_props$customChartPro2 = props.customChartProps) === null || _props$customChartPro2 === void 0 ? void 0 : (_props$customChartPro3 = _props$customChartPro2.widget) === null || _props$customChartPro3 === void 0 ? void 0 : _props$customChartPro3.Title);
|
|
275
259
|
var dashboardAnalyticsService = new DashboardAnalyticsService();
|
|
276
260
|
|
|
277
261
|
var postWidget = _extends({}, widget.current);
|
|
@@ -293,20 +277,20 @@ var KpiChart = function KpiChart(props) {
|
|
|
293
277
|
};
|
|
294
278
|
|
|
295
279
|
var kpiClick = function kpiClick() {
|
|
296
|
-
var
|
|
280
|
+
var _widget$current2, _widget$current3, _widget$current3$Widg;
|
|
297
281
|
|
|
298
282
|
var measureFieldId;
|
|
299
|
-
if (
|
|
283
|
+
if (widget !== null && widget !== void 0 && (_widget$current2 = widget.current) !== null && _widget$current2 !== void 0 && _widget$current2.WidgetMeasures) measureFieldId = widget === null || widget === void 0 ? void 0 : (_widget$current3 = widget.current) === null || _widget$current3 === void 0 ? void 0 : (_widget$current3$Widg = _widget$current3.WidgetMeasures[0]) === null || _widget$current3$Widg === void 0 ? void 0 : _widget$current3$Widg.MeasureFieldId;
|
|
300
284
|
props.customChartProps.onSelectDataPoint({
|
|
301
285
|
MeasureFieldId: measureFieldId,
|
|
302
|
-
Widget:
|
|
286
|
+
Widget: widget.current
|
|
303
287
|
});
|
|
304
288
|
};
|
|
305
289
|
|
|
306
290
|
var setTimeOverTimeImage = function setTimeOverTimeImage(data) {
|
|
307
|
-
var _widget$
|
|
291
|
+
var _widget$current4;
|
|
308
292
|
|
|
309
|
-
if (!(widget !== null && widget !== void 0 && (_widget$
|
|
293
|
+
if (!(widget !== null && widget !== void 0 && (_widget$current4 = widget.current) !== null && _widget$current4 !== void 0 && _widget$current4.TimeOverTime)) return;
|
|
310
294
|
var ratio = data === null || data === void 0 ? void 0 : data.Ratio;
|
|
311
295
|
if (!ratio) return;
|
|
312
296
|
if (ratio >= 1) setArrowColorDirection(React__default.createElement("span", {
|
|
@@ -317,17 +301,19 @@ var KpiChart = function KpiChart(props) {
|
|
|
317
301
|
};
|
|
318
302
|
|
|
319
303
|
var checkValues = function checkValues(data) {
|
|
320
|
-
var _widget$
|
|
304
|
+
var _widget$current5, _widget$current6;
|
|
321
305
|
|
|
322
|
-
|
|
323
|
-
if (widget !== null && widget !== void 0 && (_widget$
|
|
306
|
+
setCheckValuesValidity(false);
|
|
307
|
+
if (!(widget !== null && widget !== void 0 && (_widget$current5 = widget.current) !== null && _widget$current5 !== void 0 && _widget$current5.TimeOverTime)) return;
|
|
308
|
+
if (widget !== null && widget !== void 0 && (_widget$current6 = widget.current) !== null && _widget$current6 !== void 0 && _widget$current6.TimeOverTime && (data === null || data === void 0 ? void 0 : data.ComparisonValue) == 0 && (data === null || data === void 0 ? void 0 : data.Value) === 0) return;
|
|
324
309
|
setCheckValuesValidity(true);
|
|
325
310
|
};
|
|
326
311
|
|
|
327
312
|
var checkUnitVisible = function checkUnitVisible(data) {
|
|
328
|
-
var _widget$
|
|
313
|
+
var _widget$current7;
|
|
329
314
|
|
|
330
|
-
|
|
315
|
+
setVisibilityUnit(false);
|
|
316
|
+
if (!(widget !== null && widget !== void 0 && (_widget$current7 = widget.current) !== null && _widget$current7 !== void 0 && _widget$current7.TimeOverTime) || (data === null || data === void 0 ? void 0 : data.ComparisonValue) == 0) return;
|
|
331
317
|
setVisibilityUnit(true);
|
|
332
318
|
};
|
|
333
319
|
|
|
@@ -343,23 +329,21 @@ var KpiChart = function KpiChart(props) {
|
|
|
343
329
|
})) : !error ? React__default.createElement("div", {
|
|
344
330
|
className: "kpIcontainer",
|
|
345
331
|
onClick: kpiClick
|
|
346
|
-
}, React__default.createElement("div",
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
},
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
},
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
},
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
}
|
|
362
|
-
}, React__default.createElement("div", null)), React__default.createElement("td", null, checkVisibleUnit && (data === null || data === void 0 ? void 0 : data.Unit)))) : React__default.createElement("div", {
|
|
332
|
+
}, React__default.createElement("div", {
|
|
333
|
+
className: "dl-kpi-same-line"
|
|
334
|
+
}, React__default.createElement("div", {
|
|
335
|
+
className: "dl-kpi-margin"
|
|
336
|
+
}, data === null || data === void 0 ? void 0 : data.Value, " "), React__default.createElement("div", null, (data === null || data === void 0 ? void 0 : data.Value) != 0 && (data === null || data === void 0 ? void 0 : data.Unit))), checkValuesValidity ? React__default.createElement("div", {
|
|
337
|
+
className: "dl-kpi-same-line"
|
|
338
|
+
}, React__default.createElement("div", {
|
|
339
|
+
className: "dl-kpi-margin"
|
|
340
|
+
}, arrowColorDirection), React__default.createElement("div", null, data === null || data === void 0 ? void 0 : data.Ratio)) : null, widget !== null && widget !== void 0 && (_widget$current8 = widget.current) !== null && _widget$current8 !== void 0 && _widget$current8.TimeOverTime ? React__default.createElement("div", {
|
|
341
|
+
className: "dl-kpi-same-line"
|
|
342
|
+
}, React__default.createElement("div", {
|
|
343
|
+
className: "dl-kpi-margin"
|
|
344
|
+
}, prev), React__default.createElement("div", {
|
|
345
|
+
className: "dl-kpi-margin"
|
|
346
|
+
}, data === null || data === void 0 ? void 0 : data.ComparisonValue), React__default.createElement("div", null, checkVisibleUnit && (data === null || data === void 0 ? void 0 : data.Unit))) : null) : React__default.createElement("div", {
|
|
363
347
|
className: "dl-flex-content-center dl-full-hight "
|
|
364
348
|
}, React__default.createElement("div", {
|
|
365
349
|
className: "dl-tooltip"
|
|
@@ -496,7 +480,7 @@ function buildDataSource(values) {
|
|
|
496
480
|
data = values[0].SeriesMeasureVulues.map(function (e) {
|
|
497
481
|
return {
|
|
498
482
|
value: e.Value,
|
|
499
|
-
label: e.Label
|
|
483
|
+
label: getTrimedLabelText(e.Label),
|
|
500
484
|
id: {
|
|
501
485
|
GroupById: e.GroupById,
|
|
502
486
|
MeasureFieldId: values[0].MeasureFieldId
|
|
@@ -507,6 +491,11 @@ function buildDataSource(values) {
|
|
|
507
491
|
return data;
|
|
508
492
|
}
|
|
509
493
|
|
|
494
|
+
function getTrimedLabelText(label) {
|
|
495
|
+
if (!label || label.length <= 20) return label;
|
|
496
|
+
return label.substring(0, 17) + "...";
|
|
497
|
+
}
|
|
498
|
+
|
|
510
499
|
function buildDataSet(seriesMeasures) {
|
|
511
500
|
var dataSet = [];
|
|
512
501
|
seriesMeasures.forEach(function (seriesMeasure) {
|
|
@@ -591,7 +580,7 @@ var FusionChart = function FusionChart(props) {
|
|
|
591
580
|
|
|
592
581
|
if (e.key != ((_widget$current = widget.current) === null || _widget$current === void 0 ? void 0 : _widget$current.key)) return;
|
|
593
582
|
setDataLoaded(false);
|
|
594
|
-
|
|
583
|
+
widget.current = e;
|
|
595
584
|
setTimeout(function () {
|
|
596
585
|
RefreshData();
|
|
597
586
|
}, 500);
|
|
@@ -670,17 +659,27 @@ var FusionChart = function FusionChart(props) {
|
|
|
670
659
|
};
|
|
671
660
|
|
|
672
661
|
var WidgetCard = function WidgetCard(props, state) {
|
|
673
|
-
var _props$widget, _props$widget2, _props$widget4;
|
|
674
|
-
|
|
675
662
|
var moreBtnToggle = React.useRef(null);
|
|
676
663
|
|
|
664
|
+
var _useState = React.useState(),
|
|
665
|
+
widget = _useState[0],
|
|
666
|
+
setWidget = _useState[1];
|
|
667
|
+
|
|
677
668
|
var editWidget = function editWidget() {
|
|
678
669
|
var _moreBtnToggle$curren;
|
|
679
670
|
|
|
680
671
|
(_moreBtnToggle$curren = moreBtnToggle.current) === null || _moreBtnToggle$curren === void 0 ? void 0 : _moreBtnToggle$curren.hide();
|
|
681
|
-
props.editBtnClicked(
|
|
672
|
+
props.editBtnClicked(widget);
|
|
682
673
|
};
|
|
683
674
|
|
|
675
|
+
React.useEffect(function () {
|
|
676
|
+
var _props$dataBinding;
|
|
677
|
+
|
|
678
|
+
setWidget(props.widget);
|
|
679
|
+
(_props$dataBinding = props.dataBinding) === null || _props$dataBinding === void 0 ? void 0 : _props$dataBinding.onEditWidget.subscribe(function (e) {
|
|
680
|
+
setWidget(e);
|
|
681
|
+
});
|
|
682
|
+
}, []);
|
|
684
683
|
return React__default.createElement("div", {
|
|
685
684
|
className: "panel",
|
|
686
685
|
key: props.el.i,
|
|
@@ -690,10 +689,10 @@ var WidgetCard = function WidgetCard(props, state) {
|
|
|
690
689
|
}, React__default.createElement("header", null, React__default.createElement(tooltip.Tooltip, {
|
|
691
690
|
target: ".h-tool-tip"
|
|
692
691
|
}), React__default.createElement("h1", {
|
|
693
|
-
"data-pr-tooltip":
|
|
692
|
+
"data-pr-tooltip": widget === null || widget === void 0 ? void 0 : widget.Title,
|
|
694
693
|
"data-pr-position": "top",
|
|
695
694
|
className: "h-tool-tip"
|
|
696
|
-
},
|
|
695
|
+
}, widget === null || widget === void 0 ? void 0 : widget.Title), props.isInEditMode ? React__default.createElement(button.Button, {
|
|
697
696
|
icon: "pi pi-ellipsis-v",
|
|
698
697
|
className: "p-button-rounded p-button-text",
|
|
699
698
|
onClick: function onClick(e) {
|
|
@@ -713,25 +712,31 @@ var WidgetCard = function WidgetCard(props, state) {
|
|
|
713
712
|
onClick: editWidget
|
|
714
713
|
}, " Edit "), React__default.createElement("div", {
|
|
715
714
|
onClick: function onClick() {
|
|
716
|
-
var _props$
|
|
715
|
+
var _props$widget;
|
|
717
716
|
|
|
718
|
-
return props.deleteBtnClicked((_props$
|
|
717
|
+
return props.deleteBtnClicked((_props$widget = props.widget) === null || _props$widget === void 0 ? void 0 : _props$widget.key);
|
|
719
718
|
}
|
|
720
719
|
}, "Remove")))), React__default.createElement("div", {
|
|
721
720
|
className: "dl-line"
|
|
722
721
|
}), React__default.createElement("div", {
|
|
723
722
|
className: "dl-dashboard-widget"
|
|
724
|
-
},
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
723
|
+
}, " ", GetChartComponent(), " "));
|
|
724
|
+
|
|
725
|
+
function GetChartComponent() {
|
|
726
|
+
if (!(widget !== null && widget !== void 0 && widget.TypeCode)) return null;
|
|
727
|
+
if ((widget === null || widget === void 0 ? void 0 : widget.TypeCode) == "kpi") return React__default.createElement(CustomChart, {
|
|
728
|
+
dataBinding: props.dataBinding,
|
|
729
|
+
widget: widget,
|
|
730
|
+
widgetRef: props.widgetRef,
|
|
731
|
+
onSelectDataPoint: props.onSelectDataPoint
|
|
732
|
+
});
|
|
733
|
+
return React__default.createElement(FusionChart, {
|
|
734
|
+
dataBinding: props.dataBinding,
|
|
735
|
+
widget: widget,
|
|
736
|
+
widgetRef: props.widgetRef,
|
|
737
|
+
onSelectDataPoint: props.onSelectDataPoint
|
|
738
|
+
});
|
|
739
|
+
}
|
|
735
740
|
};
|
|
736
741
|
|
|
737
742
|
function deepClone(obj) {
|