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$current6, _widget$current7;
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
- setTitle = _useState4[1];
222
+ arrowColorDirection = _useState4[0],
223
+ setArrowColorDirection = _useState4[1];
226
224
 
227
- var _useState5 = React.useState(),
228
- arrowColorDirection = _useState5[0],
229
- setArrowColorDirection = _useState5[1];
225
+ var _useState5 = React.useState(false),
226
+ checkValuesValidity = _useState5[0],
227
+ setCheckValuesValidity = _useState5[1];
230
228
 
231
229
  var _useState6 = React.useState(false),
232
- checkValuesValidity = _useState6[0],
233
- setCheckValuesValidity = _useState6[1];
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 = "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
- Tools.Map(e, widget.current);
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 _props$customChartPro4, _props$customChartPro5, _props$customChartPro6, _props$customChartPro7, _props$customChartPro8;
280
+ var _widget$current2, _widget$current3, _widget$current3$Widg;
297
281
 
298
282
  var measureFieldId;
299
- if ((_props$customChartPro4 = props.customChartProps) !== null && _props$customChartPro4 !== void 0 && (_props$customChartPro5 = _props$customChartPro4.widgetRef) !== null && _props$customChartPro5 !== void 0 && _props$customChartPro5.WidgetMeasures) measureFieldId = (_props$customChartPro6 = props.customChartProps) === null || _props$customChartPro6 === void 0 ? void 0 : (_props$customChartPro7 = _props$customChartPro6.widgetRef) === null || _props$customChartPro7 === void 0 ? void 0 : (_props$customChartPro8 = _props$customChartPro7.WidgetMeasures[0]) === null || _props$customChartPro8 === void 0 ? void 0 : _props$customChartPro8.MeasureFieldId;
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: props.customChartProps.widget
286
+ Widget: widget.current
303
287
  });
304
288
  };
305
289
 
306
290
  var setTimeOverTimeImage = function setTimeOverTimeImage(data) {
307
- var _widget$current2;
291
+ var _widget$current4;
308
292
 
309
- if (!(widget !== null && widget !== void 0 && (_widget$current2 = widget.current) !== null && _widget$current2 !== void 0 && _widget$current2.TimeOverTime)) return;
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$current3, _widget$current4;
304
+ var _widget$current5, _widget$current6;
321
305
 
322
- if (!(widget !== null && widget !== void 0 && (_widget$current3 = widget.current) !== null && _widget$current3 !== void 0 && _widget$current3.TimeOverTime)) return;
323
- if (widget !== null && widget !== void 0 && (_widget$current4 = widget.current) !== null && _widget$current4 !== void 0 && _widget$current4.TimeOverTime && (data === null || data === void 0 ? void 0 : data.ComparisonValue) == 0 && (data === null || data === void 0 ? void 0 : data.Value) === 0) return;
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$current5;
313
+ var _widget$current7;
329
314
 
330
- if (!(widget !== null && widget !== void 0 && (_widget$current5 = widget.current) !== null && _widget$current5 !== void 0 && _widget$current5.TimeOverTime) || (data === null || data === void 0 ? void 0 : data.ComparisonValue) == 0) return;
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", null, React__default.createElement("td", null, data === null || data === void 0 ? void 0 : data.Value, " "), React__default.createElement("td", {
347
- style: {
348
- width: '4px'
349
- }
350
- }, React__default.createElement("div", null)), React__default.createElement("td", null, (data === null || data === void 0 ? void 0 : data.Value) != 0 && (data === null || data === void 0 ? void 0 : data.Unit))), React__default.createElement("div", null, React__default.createElement("td", null, checkValuesValidity && arrowColorDirection), React__default.createElement("td", {
351
- style: {
352
- width: '4px'
353
- }
354
- }, React__default.createElement("div", null)), React__default.createElement("td", null, checkValuesValidity && (data === null || data === void 0 ? void 0 : data.Ratio))), React__default.createElement("div", null, React__default.createElement("td", null, (widget === null || widget === void 0 ? void 0 : (_widget$current6 = widget.current) === null || _widget$current6 === void 0 ? void 0 : _widget$current6.TimeOverTime) && prev), React__default.createElement("td", {
355
- style: {
356
- width: '4px'
357
- }
358
- }, React__default.createElement("div", null)), React__default.createElement("td", null, (widget === null || widget === void 0 ? void 0 : (_widget$current7 = widget.current) === null || _widget$current7 === void 0 ? void 0 : _widget$current7.TimeOverTime) && (data === null || data === void 0 ? void 0 : data.ComparisonValue)), React__default.createElement("td", {
359
- style: {
360
- width: '4px'
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.substring(0, 20),
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
- Tools.Map(e, widget.current);
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(props.widget);
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": (_props$widget = props.widget) === null || _props$widget === void 0 ? void 0 : _props$widget.Title,
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
- }, (_props$widget2 = props.widget) === null || _props$widget2 === void 0 ? void 0 : _props$widget2.Title), props.isInEditMode ? React__default.createElement(button.Button, {
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$widget3;
715
+ var _props$widget;
717
716
 
718
- return props.deleteBtnClicked((_props$widget3 = props.widget) === null || _props$widget3 === void 0 ? void 0 : _props$widget3.key);
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
- }, (props === null || props === void 0 ? void 0 : (_props$widget4 = props.widget) === null || _props$widget4 === void 0 ? void 0 : _props$widget4.TypeCode) == "kpi" ? React__default.createElement(CustomChart, {
725
- dataBinding: props.dataBinding,
726
- widget: props.widget,
727
- widgetRef: props.widgetRef,
728
- onSelectDataPoint: props.onSelectDataPoint
729
- }) : React__default.createElement(FusionChart, {
730
- dataBinding: props.dataBinding,
731
- widget: props.widget,
732
- widgetRef: props.widgetRef,
733
- onSelectDataPoint: props.onSelectDataPoint
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) {