logitude-dashboard-library 1.3.84 → 1.3.86

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.
@@ -1,4 +1,4 @@
1
1
  import { ChartObject } from "fusioncharts";
2
2
  import { SeriesMeasure } from "../../../types/SeriesMeasure";
3
3
  import { FusionChartProps } from "./FusionChart";
4
- export declare function BuildFusionChartObject(seriesMeasures: SeriesMeasure[], props: FusionChartProps): ChartObject;
4
+ export declare function BuildFusionChartObject(seriesMeasures: SeriesMeasure[], props: FusionChartProps, id: string): ChartObject;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare function FusionChartTest(): JSX.Element;
3
+ export default FusionChartTest;
package/dist/index.js CHANGED
@@ -10,7 +10,7 @@ var overlaypanel = require('primereact/overlaypanel');
10
10
  var progressspinner = require('primereact/progressspinner');
11
11
  var ReactFC = _interopDefault(require('react-fusioncharts'));
12
12
  var FusionCharts = _interopDefault(require('fusioncharts'));
13
- var Charts = _interopDefault(require('fusioncharts/fusioncharts.charts'));
13
+ var Column2D = _interopDefault(require('fusioncharts/fusioncharts.charts'));
14
14
  var FusionTheme = _interopDefault(require('fusioncharts/themes/fusioncharts.theme.fusion'));
15
15
  var useResizeObserver = _interopDefault(require('use-resize-observer'));
16
16
 
@@ -349,247 +349,57 @@ var CustomChart = function CustomChart(props) {
349
349
  }, project());
350
350
  };
351
351
 
352
- function BuildFusionChartObject(seriesMeasures, props) {
353
- var _props$widget;
354
-
355
- handelNullLabels(seriesMeasures);
356
- var defaultChart = getDefaultChartobject(seriesMeasures, props);
357
-
358
- switch ((_props$widget = props.widget) === null || _props$widget === void 0 ? void 0 : _props$widget.TypeCode) {
359
- case 'bar':
360
- return getBarObject(seriesMeasures, defaultChart);
361
-
362
- case 'line':
363
- return getLineObject(seriesMeasures, defaultChart);
364
-
365
- case 'pie':
366
- return getPieObject(seriesMeasures, defaultChart);
367
-
368
- case 'donut':
369
- return getDonutObject(seriesMeasures, defaultChart);
370
-
371
- default:
372
- return defaultChart;
373
- }
374
- }
375
-
376
- function handelNullLabels(seriesMeasures) {
377
- seriesMeasures.forEach(function (element) {
378
- element.SeriesMeasureVulues.forEach(function (value) {
379
- if (!value.Label || value.Label == '') value.Label = 'Not defined';
380
- });
381
- });
382
- }
383
-
384
- function getBarObject(seriesMeasures, chart) {
385
- chart.type = "scrollbar2d";
386
- return chart;
387
- }
388
-
389
- function getLineObject(seriesMeasures, chart) {
390
- chart.type = "scrollline2d";
391
- return chart;
392
- }
393
-
394
- function getDonutObject(seriesMeasures, chart) {
395
- chart.type = "doughnut2d";
396
- return chart;
397
- }
398
-
399
- function getPieObject(seriesMeasures, chart) {
400
- chart.type = "pie2d";
401
- return chart;
402
- }
403
-
404
- function getDefaultChartobject(seriesMeasures, props) {
405
- var chart = {};
406
- chart.type = "column2d";
407
- chart.width = "100%";
408
- chart.height = "80%";
409
- chart.dataFormat = "json";
410
- buildChartDataSource(chart, props, seriesMeasures);
411
- return chart;
412
- }
413
-
414
- function buildChartDataSource(chart, props, seriesMeasures) {
415
- var _props$widget2, _props$widget3, _props$widget4;
416
-
417
- if (!seriesMeasures || !seriesMeasures[0]) return;
418
- var chartinfo = {
419
- caption: (_props$widget2 = props.widget) === null || _props$widget2 === void 0 ? void 0 : _props$widget2.Title,
420
- theme: "fusion",
421
- scrollHeight: "5",
422
- scrollWidth: "5",
423
- scrollPadding: "8",
424
- flatScrollBars: "1",
425
- enableSlicing: "0",
426
- showLegend: "0"
427
- };
428
-
429
- if (((_props$widget3 = props.widget) === null || _props$widget3 === void 0 ? void 0 : _props$widget3.TypeCode) == "bar" || ((_props$widget4 = props.widget) === null || _props$widget4 === void 0 ? void 0 : _props$widget4.TypeCode) == "line") {
430
- chart.dataSource = {
431
- chart: chartinfo,
432
- categories: buildCategories(seriesMeasures),
433
- dataset: buildDataSet(seriesMeasures)
434
- };
435
- return;
352
+ ReactFC.fcRoot(FusionCharts, Column2D, FusionTheme);
353
+ var chartData = [{
354
+ label: "Venezuela",
355
+ value: "290"
356
+ }, {
357
+ label: "Saudi",
358
+ value: "260"
359
+ }, {
360
+ label: "Canada",
361
+ value: "180"
362
+ }, {
363
+ label: "Iran",
364
+ value: "140"
365
+ }, {
366
+ label: "Russia",
367
+ value: "115"
368
+ }, {
369
+ label: "UAE",
370
+ value: "100"
371
+ }, {
372
+ label: "US",
373
+ value: "30"
374
+ }, {
375
+ label: "China",
376
+ value: "30"
377
+ }];
378
+ var chartConfigs = {
379
+ type: "column2d",
380
+ width: "100%",
381
+ height: "80%",
382
+ dataFormat: "json",
383
+ dataSource: {
384
+ chart: {
385
+ caption: "Countries With Most Oil Reserves [2017-18]",
386
+ subCaption: "In MMbbl = One Million barrels",
387
+ xAxisName: "Country",
388
+ yAxisName: "Reserves (MMbbl)",
389
+ numberSuffix: "K",
390
+ theme: "fusion"
391
+ },
392
+ data: chartData
436
393
  }
394
+ };
437
395
 
438
- chart.dataSource = {
439
- chart: chartinfo,
440
- data: buildDataSource(seriesMeasures)
441
- };
442
- }
443
-
444
- function buildDataSource(values) {
445
- var data = [];
446
- if (!values || !values[0]) return data;
447
- data = values[0].SeriesMeasureVulues.map(function (e) {
448
- return {
449
- value: e.Value,
450
- label: e.Label,
451
- id: {
452
- GroupById: e.GroupById,
453
- MeasureFieldId: values[0].MeasureFieldId
454
- }
455
- };
456
- });
457
- return data;
458
- }
459
-
460
- function buildDataSet(seriesMeasures) {
461
- var dataSet = [];
462
- var position = 1;
463
- seriesMeasures.forEach(function (seriesMeasure) {
464
- var datas = seriesMeasure.SeriesMeasureVulues.map(function (e) {
465
- return {
466
- value: e.Value,
467
- id: {
468
- GroupById: e.GroupById,
469
- MeasureFieldId: seriesMeasure.MeasureFieldId
470
- }
471
- };
472
- });
473
- dataSet.push({
474
- data: datas,
475
- seriesname: "series-" + position
476
- });
477
- position++;
478
- });
479
- return dataSet;
480
- }
481
-
482
- function buildCategories(seriesMeasures) {
483
- var categories = seriesMeasures[0].SeriesMeasureVulues.map(function (e) {
484
- return {
485
- label: e.Label
486
- };
487
- });
488
- var result = [];
489
- result.push({
490
- category: categories
491
- });
492
- return result;
493
- }
494
-
495
- ReactFC.fcRoot(FusionCharts, Charts, FusionTheme);
496
-
497
- var FusionChart = function FusionChart(props) {
498
- var _useState = React.useState(false),
499
- isView = _useState[0],
500
- setisView = _useState[1];
501
-
502
- var _useState2 = React.useState(false),
503
- viewError = _useState2[0],
504
- setViewError = _useState2[1];
505
-
506
- var isLoadingDrow = React.useRef(true);
507
- var widget = React.useRef();
508
- var widgetRef = React.useRef();
509
- var isDataLoaded = React.useRef(false);
510
- var hasDataError = React.useRef(false);
511
-
512
- var _useState3 = React.useState(''),
513
- error = _useState3[0],
514
- setError = _useState3[1];
515
-
516
- var _useState4 = React.useState({}),
517
- args = _useState4[0],
518
- setArgs = _useState4[1];
519
-
520
- var _useState5 = React.useState({}),
521
- fChart = _useState5[0],
522
- setFchart = _useState5[1];
396
+ function FusionChartTest() {
397
+ var _useState = React.useState({}),
398
+ fChart = _useState[0],
399
+ setFchart = _useState[1];
523
400
 
524
401
  var entered = React.useRef(false);
525
- React.useEffect(function () {
526
- var _props$dataBinding;
527
-
528
- setTimeout(function () {
529
- isLoadingDrow.current = false;
530
- updateView();
531
- }, 500);
532
- widget.current = props.widget;
533
- (_props$dataBinding = props.dataBinding) === null || _props$dataBinding === void 0 ? void 0 : _props$dataBinding.onEditWidget.subscribe(function (e) {
534
- var _widget$current;
535
-
536
- if (e.key == ((_widget$current = widget.current) === null || _widget$current === void 0 ? void 0 : _widget$current.key)) {
537
- Tools.Map(e, widget.current);
538
- RefreshData();
539
- }
540
- });
541
- }, []);
542
-
543
- var updateView = function updateView() {
544
- if (isDataLoaded.current && !isLoadingDrow.current && !hasDataError.current) {
545
- setisView(true);
546
- setViewError(false);
547
- }
548
-
549
- if (isDataLoaded.current && !isLoadingDrow.current && hasDataError.current) {
550
- setisView(false);
551
- setViewError(true);
552
- }
553
- };
554
-
555
- React.useEffect(function () {
556
- widgetRef.current = props.widgetRef;
557
- RefreshData();
558
- }, []);
559
- React.useEffect(function () {
560
- widgetRef.current = props.widgetRef;
561
- }, [props.widgetRef]);
562
-
563
- var RefreshData = function RefreshData() {
564
- var dashboardAnalyticsService = new DashboardAnalyticsService();
565
-
566
- var postWidget = _extends({}, widget.current);
567
-
568
- postWidget.onChange = undefined;
569
- dashboardAnalyticsService.getData(postWidget).then(function (result) {
570
- isDataLoaded.current = true;
571
- hasDataError.current = false;
572
- updateView();
573
- var chart = BuildFusionChartObject(result.data, props);
574
- setArgs(chart);
575
- }, function (error) {
576
- var _error$response, _error$response$data, _error$response2, _error$response2$data;
577
-
578
- console.log('error', error);
579
- if (error !== null && error !== void 0 && (_error$response = error.response) !== null && _error$response !== void 0 && (_error$response$data = _error$response.data) !== null && _error$response$data !== void 0 && _error$response$data.ErrorMessage) setError(error === null || error === void 0 ? void 0 : (_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : (_error$response2$data = _error$response2.data) === null || _error$response2$data === void 0 ? void 0 : _error$response2$data.ErrorMessage);else setError(error.message);
580
- isDataLoaded.current = true;
581
- hasDataError.current = true;
582
- updateView();
583
- });
584
- };
585
-
586
- var dataplotClick = function dataplotClick(eventObj, dataObj) {
587
- props.onSelectDataPoint({
588
- GroupById: dataObj.id.groupbyid,
589
- MeasureFieldId: dataObj.id.measurefieldid,
590
- Widget: props.widget
591
- });
592
- };
402
+ var id = (Math.random() + 1).toString(36).substring(7);
593
403
 
594
404
  var renderComplete = function renderComplete(chart) {
595
405
  setFchart(chart);
@@ -610,32 +420,14 @@ var FusionChart = function FusionChart(props) {
610
420
  }),
611
421
  ref = _useResizeObserver.ref;
612
422
 
613
- return !isView && !viewError ? React__default.createElement("div", {
614
- className: 'dl-full-hight dl-flex-content-center spinner-custome'
615
- }, React__default.createElement(progressspinner.ProgressSpinner, {
616
- style: {
617
- width: '100px',
618
- height: '100px'
619
- },
620
- strokeWidth: "4",
621
- animationDuration: "2s"
622
- })) : isView ? React__default.createElement("div", {
423
+ return React__default.createElement("div", {
623
424
  className: 'db-fc-container',
624
- ref: ref
625
- }, React__default.createElement(ReactFC, Object.assign({}, args, {
626
- "fcEvent-dataplotClick": dataplotClick,
425
+ ref: ref,
426
+ id: id
427
+ }, React__default.createElement(ReactFC, Object.assign({}, chartConfigs, {
627
428
  onRender: renderComplete
628
- }))) : React__default.createElement("div", {
629
- className: "dl-flex-content-center dl-full-hight "
630
- }, React__default.createElement("div", {
631
- className: "dl-tooltip"
632
- }, React__default.createElement("img", {
633
- width: 100,
634
- src: "https://www.seekpng.com/png/full/334-3345964_error-icon-png.png"
635
- }), React__default.createElement("span", {
636
- className: "dl-tooltiptext"
637
- }, error)));
638
- };
429
+ })));
430
+ }
639
431
 
640
432
  var WidgetCard = function WidgetCard(props, state) {
641
433
  var _props$widget2;
@@ -684,12 +476,7 @@ var WidgetCard = function WidgetCard(props, state) {
684
476
  widget: props.widget,
685
477
  widgetRef: props.widgetRef,
686
478
  onSelectDataPoint: props.onSelectDataPoint
687
- }) : React__default.createElement(FusionChart, {
688
- dataBinding: props.dataBinding,
689
- widget: props.widget,
690
- widgetRef: props.widgetRef,
691
- onSelectDataPoint: props.onSelectDataPoint
692
- })));
479
+ }) : React__default.createElement(FusionChartTest, null)));
693
480
  };
694
481
 
695
482
  function deepClone(obj) {