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.
@@ -1,4 +1,4 @@
1
1
  import { ReactWidgetPM } from "../types/widget";
2
2
  declare const getLabelFormatByDateGroupType: (label: string, widget: ReactWidgetPM, isSecondGrouping?: boolean) => any;
3
- declare const getDateRangesByCode: (code: string | null, _fromDate: string | null, _toDate: string | null) => any;
3
+ declare const getDateRangesByCode: (code: string | null, _fromDate: string | null, _toDate: string | null, _operator?: string | null, _interval?: string | null, _range?: string | null) => any;
4
4
  export { getLabelFormatByDateGroupType, getDateRangesByCode };
@@ -20,6 +20,7 @@ export declare type kPIComparisonSettingsProps = {
20
20
  DateTimeValueCode: string;
21
21
  DateGroupCode: string | null;
22
22
  Operator: string | null;
23
+ DateRangeOperator?: string | null;
23
24
  };
24
25
  ComparisonPeriodType: string | null;
25
26
  ComparisonIndicator: boolean;
package/dist/index.js CHANGED
@@ -597,7 +597,103 @@ var getLast30DaysDates = function getLast30DaysDates(format) {
597
597
  return dateValues;
598
598
  };
599
599
 
600
- var getDateRangesByCode = function getDateRangesByCode(code, _fromDate, _toDate) {
600
+ var getDateRangesByPeriod = function getDateRangesByPeriod(_operator, _interval, _range, _format) {
601
+ if (_format === void 0) {
602
+ _format = "YYYYMMDD000000";
603
+ }
604
+
605
+ if (!_operator || !_interval || !_range) return null;
606
+ var result = {
607
+ date1: null,
608
+ date2: null
609
+ };
610
+
611
+ if (_operator.toLowerCase() == 'current') {
612
+ switch (_range) {
613
+ case "Day":
614
+ result.date1 = getTodayDates()[0];
615
+ result.date2 = getTodayDates()[1];
616
+ break;
617
+
618
+ case "Week":
619
+ result.date1 = getCurrentWeekDates()[0];
620
+ result.date2 = getCurrentWeekDates()[1];
621
+ break;
622
+
623
+ case "Month":
624
+ result.date1 = getCurrentMonthDates()[0];
625
+ result.date2 = getCurrentMonthDates()[1];
626
+ break;
627
+
628
+ case "Current_Month_To_Date":
629
+ case "Month To Date":
630
+ result.date1 = getCurrentMonthToDateDates()[0];
631
+ result.date2 = getCurrentMonthToDateDates()[1];
632
+ break;
633
+
634
+ case "Quarter":
635
+ result.date1 = getCurrentQuarterDates()[0];
636
+ result.date2 = getCurrentQuarterDates()[1];
637
+ break;
638
+
639
+ case "Current_Quarter_To_Date":
640
+ case "Quarter To Date":
641
+ result.date1 = getCurrentQuarterToDateDates()[0];
642
+ result.date2 = getCurrentQuarterToDateDates()[1];
643
+ break;
644
+
645
+ case "Year":
646
+ result.date1 = getCurrentYearDates()[0];
647
+ result.date2 = getCurrentYearDates()[1];
648
+ break;
649
+
650
+ case "Current_Year_To_Date":
651
+ case "Year To Date":
652
+ result.date1 = getCurrentYearToDateDates()[0];
653
+ result.date2 = getCurrentYearToDateDates()[1];
654
+ break;
655
+ }
656
+ } else {
657
+ var dateGroupCodes = {
658
+ 'Day': 'days',
659
+ 'Week': 'weeks',
660
+ 'Month': 'months',
661
+ 'Quarter': 'quarters',
662
+ 'Year': 'years',
663
+ 'Year To Date': 'years',
664
+ 'Quarter To Date': 'quarters',
665
+ 'Month To Date': 'months'
666
+ };
667
+ var customDateGroupCodes = ['Year To Date', 'Quarter To Date', 'Month To Date'];
668
+
669
+ if (_operator.toLowerCase() == 'next') {
670
+ result.date1 = moment().startOf(dateGroupCodes[_range]).add(1, dateGroupCodes[_range]).format(_format);
671
+ result.date2 = moment().startOf(dateGroupCodes[_range]).add(Number(_interval), dateGroupCodes[_range]).endOf(dateGroupCodes[_range]).format(_format);
672
+ } else if (_operator.toLowerCase() == 'previous' && !customDateGroupCodes.includes(_range)) {
673
+ result.date1 = moment().subtract(Number(_interval), dateGroupCodes[_range]).startOf(dateGroupCodes[_range]).format(_format);
674
+ result.date2 = moment().subtract(1, dateGroupCodes[_range]).endOf(dateGroupCodes[_range]).format(_format);
675
+ } else if (_operator.toLowerCase() == 'previous' && customDateGroupCodes.includes(_range)) {
676
+ result.date1 = moment().subtract(Number(_interval), dateGroupCodes[_range]).startOf(dateGroupCodes[_range]).format(_format);
677
+ result.date2 = moment().format(_format);
678
+ }
679
+ }
680
+
681
+ return result;
682
+ };
683
+
684
+ var getDateRangesByCode = function getDateRangesByCode(code, _fromDate, _toDate, _operator, _interval, _range) {
685
+ if (_operator === void 0) {
686
+ _operator = null;
687
+ }
688
+
689
+ if (_interval === void 0) {
690
+ _interval = null;
691
+ }
692
+
693
+ if (_range === void 0) {
694
+ _range = null;
695
+ }
696
+
601
697
  var result = {
602
698
  fromDate: null,
603
699
  toDate: null
@@ -705,6 +801,12 @@ var getDateRangesByCode = function getDateRangesByCode(code, _fromDate, _toDate)
705
801
  result.fromDate = getCurrentWeekDates()[0];
706
802
  result.toDate = getCurrentWeekDates()[1];
707
803
  break;
804
+
805
+ case "Previous_Next":
806
+ var previousNextDates = getDateRangesByPeriod(_operator || "", _interval || "", _range || "");
807
+ result.fromDate = previousNextDates && previousNextDates.date1 ? previousNextDates.date1 : null;
808
+ result.toDate = previousNextDates && previousNextDates.date2 ? previousNextDates.date2 : null;
809
+ break;
708
810
  }
709
811
 
710
812
  return result;
@@ -1103,11 +1205,18 @@ var KpiChart = function KpiChart(props) {
1103
1205
 
1104
1206
  if (isKPISettingsActivated) {
1105
1207
  var PeriodDateFilterDates = getDateRangesByCode(kpiSettings.PeriodDateFilter.DateTimeValueCode, null, null);
1106
- var ComparePeriodDateFilterDates = kpiSettings.ComparisonPeriodType == 'Manually' ? getDateRangesByCode(kpiSettings.ComparePeriodDateFilter.DateTimeValueCode, kpiSettings.ComparePeriodDateFilter.FieldValue, kpiSettings.ComparePeriodDateFilter.FieldValue2) : getDateRangesByCode(null, null, null);
1208
+ var comparePeriodOperator = kpiSettings.ComparePeriodDateFilter.DateRangeOperator || kpiSettings.ComparePeriodDateFilter.Operator;
1209
+ var comparePeriodInterval = kpiSettings.ComparePeriodDateFilter.DatePickerTextFieldValue != null ? String(kpiSettings.ComparePeriodDateFilter.DatePickerTextFieldValue) : null;
1210
+ var ComparePeriodDateFilterDates = kpiSettings.ComparisonPeriodType == 'Manually' ? getDateRangesByCode(kpiSettings.ComparePeriodDateFilter.DateTimeValueCode, kpiSettings.ComparePeriodDateFilter.FieldValue, kpiSettings.ComparePeriodDateFilter.FieldValue2, comparePeriodOperator, comparePeriodInterval, kpiSettings.ComparePeriodDateFilter.DateGroupCode) : getDateRangesByCode(null, null, null);
1107
1211
  kpiSettings.PeriodDateFilter.FieldValue = PeriodDateFilterDates.fromDate;
1108
1212
  kpiSettings.PeriodDateFilter.FieldValue2 = PeriodDateFilterDates.toDate;
1109
1213
  kpiSettings.ComparePeriodDateFilter.FieldValue = ComparePeriodDateFilterDates.fromDate;
1110
1214
  kpiSettings.ComparePeriodDateFilter.FieldValue2 = ComparePeriodDateFilterDates.toDate;
1215
+
1216
+ if (kpiSettings.ComparisonPeriodType == 'Manually' && kpiSettings.ComparePeriodDateFilter.DateTimeValueCode == 'Previous_Next') {
1217
+ kpiSettings.ComparePeriodDateFilter.Operator = 'Between';
1218
+ }
1219
+
1111
1220
  _updatedWidget.KPIComparisonSettings = JSON.stringify(kpiSettings);
1112
1221
  }
1113
1222