logitude-dashboard-library 3.2.63 → 3.2.64

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.
@@ -593,7 +593,103 @@ var getLast30DaysDates = function getLast30DaysDates(format) {
593
593
  return dateValues;
594
594
  };
595
595
 
596
- var getDateRangesByCode = function getDateRangesByCode(code, _fromDate, _toDate) {
596
+ var getDateRangesByPeriod = function getDateRangesByPeriod(_operator, _interval, _range, _format) {
597
+ if (_format === void 0) {
598
+ _format = "YYYYMMDD000000";
599
+ }
600
+
601
+ if (!_operator || !_interval || !_range) return null;
602
+ var result = {
603
+ date1: null,
604
+ date2: null
605
+ };
606
+
607
+ if (_operator.toLowerCase() == 'current') {
608
+ switch (_range) {
609
+ case "Day":
610
+ result.date1 = getTodayDates()[0];
611
+ result.date2 = getTodayDates()[1];
612
+ break;
613
+
614
+ case "Week":
615
+ result.date1 = getCurrentWeekDates()[0];
616
+ result.date2 = getCurrentWeekDates()[1];
617
+ break;
618
+
619
+ case "Month":
620
+ result.date1 = getCurrentMonthDates()[0];
621
+ result.date2 = getCurrentMonthDates()[1];
622
+ break;
623
+
624
+ case "Current_Month_To_Date":
625
+ case "Month To Date":
626
+ result.date1 = getCurrentMonthToDateDates()[0];
627
+ result.date2 = getCurrentMonthToDateDates()[1];
628
+ break;
629
+
630
+ case "Quarter":
631
+ result.date1 = getCurrentQuarterDates()[0];
632
+ result.date2 = getCurrentQuarterDates()[1];
633
+ break;
634
+
635
+ case "Current_Quarter_To_Date":
636
+ case "Quarter To Date":
637
+ result.date1 = getCurrentQuarterToDateDates()[0];
638
+ result.date2 = getCurrentQuarterToDateDates()[1];
639
+ break;
640
+
641
+ case "Year":
642
+ result.date1 = getCurrentYearDates()[0];
643
+ result.date2 = getCurrentYearDates()[1];
644
+ break;
645
+
646
+ case "Current_Year_To_Date":
647
+ case "Year To Date":
648
+ result.date1 = getCurrentYearToDateDates()[0];
649
+ result.date2 = getCurrentYearToDateDates()[1];
650
+ break;
651
+ }
652
+ } else {
653
+ var dateGroupCodes = {
654
+ 'Day': 'days',
655
+ 'Week': 'weeks',
656
+ 'Month': 'months',
657
+ 'Quarter': 'quarters',
658
+ 'Year': 'years',
659
+ 'Year To Date': 'years',
660
+ 'Quarter To Date': 'quarters',
661
+ 'Month To Date': 'months'
662
+ };
663
+ var customDateGroupCodes = ['Year To Date', 'Quarter To Date', 'Month To Date'];
664
+
665
+ if (_operator.toLowerCase() == 'next') {
666
+ result.date1 = moment().startOf(dateGroupCodes[_range]).add(1, dateGroupCodes[_range]).format(_format);
667
+ result.date2 = moment().startOf(dateGroupCodes[_range]).add(Number(_interval), dateGroupCodes[_range]).endOf(dateGroupCodes[_range]).format(_format);
668
+ } else if (_operator.toLowerCase() == 'previous' && !customDateGroupCodes.includes(_range)) {
669
+ result.date1 = moment().subtract(Number(_interval), dateGroupCodes[_range]).startOf(dateGroupCodes[_range]).format(_format);
670
+ result.date2 = moment().subtract(1, dateGroupCodes[_range]).endOf(dateGroupCodes[_range]).format(_format);
671
+ } else if (_operator.toLowerCase() == 'previous' && customDateGroupCodes.includes(_range)) {
672
+ result.date1 = moment().subtract(Number(_interval), dateGroupCodes[_range]).startOf(dateGroupCodes[_range]).format(_format);
673
+ result.date2 = moment().format(_format);
674
+ }
675
+ }
676
+
677
+ return result;
678
+ };
679
+
680
+ var getDateRangesByCode = function getDateRangesByCode(code, _fromDate, _toDate, _operator, _interval, _range) {
681
+ if (_operator === void 0) {
682
+ _operator = null;
683
+ }
684
+
685
+ if (_interval === void 0) {
686
+ _interval = null;
687
+ }
688
+
689
+ if (_range === void 0) {
690
+ _range = null;
691
+ }
692
+
597
693
  var result = {
598
694
  fromDate: null,
599
695
  toDate: null
@@ -701,6 +797,12 @@ var getDateRangesByCode = function getDateRangesByCode(code, _fromDate, _toDate)
701
797
  result.fromDate = getCurrentWeekDates()[0];
702
798
  result.toDate = getCurrentWeekDates()[1];
703
799
  break;
800
+
801
+ case "Previous_Next":
802
+ var previousNextDates = getDateRangesByPeriod(_operator || "", _interval || "", _range || "");
803
+ result.fromDate = previousNextDates && previousNextDates.date1 ? previousNextDates.date1 : null;
804
+ result.toDate = previousNextDates && previousNextDates.date2 ? previousNextDates.date2 : null;
805
+ break;
704
806
  }
705
807
 
706
808
  return result;
@@ -1099,11 +1201,18 @@ var KpiChart = function KpiChart(props) {
1099
1201
 
1100
1202
  if (isKPISettingsActivated) {
1101
1203
  var PeriodDateFilterDates = getDateRangesByCode(kpiSettings.PeriodDateFilter.DateTimeValueCode, null, null);
1102
- var ComparePeriodDateFilterDates = kpiSettings.ComparisonPeriodType == 'Manually' ? getDateRangesByCode(kpiSettings.ComparePeriodDateFilter.DateTimeValueCode, kpiSettings.ComparePeriodDateFilter.FieldValue, kpiSettings.ComparePeriodDateFilter.FieldValue2) : getDateRangesByCode(null, null, null);
1204
+ var comparePeriodOperator = kpiSettings.ComparePeriodDateFilter.DateRangeOperator || kpiSettings.ComparePeriodDateFilter.Operator;
1205
+ var comparePeriodInterval = kpiSettings.ComparePeriodDateFilter.DatePickerTextFieldValue != null ? String(kpiSettings.ComparePeriodDateFilter.DatePickerTextFieldValue) : null;
1206
+ var ComparePeriodDateFilterDates = kpiSettings.ComparisonPeriodType == 'Manually' ? getDateRangesByCode(kpiSettings.ComparePeriodDateFilter.DateTimeValueCode, kpiSettings.ComparePeriodDateFilter.FieldValue, kpiSettings.ComparePeriodDateFilter.FieldValue2, comparePeriodOperator, comparePeriodInterval, kpiSettings.ComparePeriodDateFilter.DateGroupCode) : getDateRangesByCode(null, null, null);
1103
1207
  kpiSettings.PeriodDateFilter.FieldValue = PeriodDateFilterDates.fromDate;
1104
1208
  kpiSettings.PeriodDateFilter.FieldValue2 = PeriodDateFilterDates.toDate;
1105
1209
  kpiSettings.ComparePeriodDateFilter.FieldValue = ComparePeriodDateFilterDates.fromDate;
1106
1210
  kpiSettings.ComparePeriodDateFilter.FieldValue2 = ComparePeriodDateFilterDates.toDate;
1211
+
1212
+ if (kpiSettings.ComparisonPeriodType == 'Manually' && kpiSettings.ComparePeriodDateFilter.DateTimeValueCode == 'Previous_Next') {
1213
+ kpiSettings.ComparePeriodDateFilter.Operator = 'Between';
1214
+ }
1215
+
1107
1216
  _updatedWidget.KPIComparisonSettings = JSON.stringify(kpiSettings);
1108
1217
  }
1109
1218