|
|
|
@ -140,6 +140,8 @@ export enum QuickTimeInterval { |
|
|
|
PREVIOUS_WEEK = 'PREVIOUS_WEEK', |
|
|
|
PREVIOUS_WEEK_ISO = 'PREVIOUS_WEEK_ISO', |
|
|
|
PREVIOUS_MONTH = 'PREVIOUS_MONTH', |
|
|
|
PREVIOUS_QUARTER = 'PREVIOUS_QUARTER', |
|
|
|
PREVIOUS_HALF_YEAR = 'PREVIOUS_HALF_YEAR', |
|
|
|
PREVIOUS_YEAR = 'PREVIOUS_YEAR', |
|
|
|
CURRENT_HOUR = 'CURRENT_HOUR', |
|
|
|
CURRENT_DAY = 'CURRENT_DAY', |
|
|
|
@ -150,6 +152,10 @@ export enum QuickTimeInterval { |
|
|
|
CURRENT_WEEK_ISO_SO_FAR = 'CURRENT_WEEK_ISO_SO_FAR', |
|
|
|
CURRENT_MONTH = 'CURRENT_MONTH', |
|
|
|
CURRENT_MONTH_SO_FAR = 'CURRENT_MONTH_SO_FAR', |
|
|
|
CURRENT_QUARTER = 'CURRENT_QUARTER', |
|
|
|
CURRENT_QUARTER_SO_FAR = 'CURRENT_QUARTER_SO_FAR', |
|
|
|
CURRENT_HALF_YEAR = 'CURRENT_HALF_YEAR', |
|
|
|
CURRENT_HALF_YEAR_SO_FAR = 'CURRENT_HALF_YEAR_SO_FAR', |
|
|
|
CURRENT_YEAR = 'CURRENT_YEAR', |
|
|
|
CURRENT_YEAR_SO_FAR = 'CURRENT_YEAR_SO_FAR' |
|
|
|
} |
|
|
|
@ -161,6 +167,8 @@ export const QuickTimeIntervalTranslationMap = new Map<QuickTimeInterval, string |
|
|
|
[QuickTimeInterval.PREVIOUS_WEEK, 'timeinterval.predefined.previous-week'], |
|
|
|
[QuickTimeInterval.PREVIOUS_WEEK_ISO, 'timeinterval.predefined.previous-week-iso'], |
|
|
|
[QuickTimeInterval.PREVIOUS_MONTH, 'timeinterval.predefined.previous-month'], |
|
|
|
[QuickTimeInterval.PREVIOUS_QUARTER, 'timeinterval.predefined.previous-quarter'], |
|
|
|
[QuickTimeInterval.PREVIOUS_HALF_YEAR, 'timeinterval.predefined.previous-half-year'], |
|
|
|
[QuickTimeInterval.PREVIOUS_YEAR, 'timeinterval.predefined.previous-year'], |
|
|
|
[QuickTimeInterval.CURRENT_HOUR, 'timeinterval.predefined.current-hour'], |
|
|
|
[QuickTimeInterval.CURRENT_DAY, 'timeinterval.predefined.current-day'], |
|
|
|
@ -171,6 +179,10 @@ export const QuickTimeIntervalTranslationMap = new Map<QuickTimeInterval, string |
|
|
|
[QuickTimeInterval.CURRENT_WEEK_ISO_SO_FAR, 'timeinterval.predefined.current-week-iso-so-far'], |
|
|
|
[QuickTimeInterval.CURRENT_MONTH, 'timeinterval.predefined.current-month'], |
|
|
|
[QuickTimeInterval.CURRENT_MONTH_SO_FAR, 'timeinterval.predefined.current-month-so-far'], |
|
|
|
[QuickTimeInterval.CURRENT_QUARTER, 'timeinterval.predefined.current-quarter'], |
|
|
|
[QuickTimeInterval.CURRENT_QUARTER_SO_FAR, 'timeinterval.predefined.current-quarter-so-far'], |
|
|
|
[QuickTimeInterval.CURRENT_HALF_YEAR, 'timeinterval.predefined.current-half-year'], |
|
|
|
[QuickTimeInterval.CURRENT_HALF_YEAR_SO_FAR, 'timeinterval.predefined.current-half-year-so-far'], |
|
|
|
[QuickTimeInterval.CURRENT_YEAR, 'timeinterval.predefined.current-year'], |
|
|
|
[QuickTimeInterval.CURRENT_YEAR_SO_FAR, 'timeinterval.predefined.current-year-so-far'] |
|
|
|
]); |
|
|
|
@ -477,6 +489,18 @@ function getSubscriptionRealtimeWindowFromTimeInterval(interval: QuickTimeInterv |
|
|
|
case QuickTimeInterval.CURRENT_MONTH_SO_FAR: |
|
|
|
currentDate = getCurrentTime(tz); |
|
|
|
return currentDate.endOf('month').diff(currentDate.clone().startOf('month')); |
|
|
|
case QuickTimeInterval.CURRENT_QUARTER: |
|
|
|
case QuickTimeInterval.CURRENT_QUARTER_SO_FAR: |
|
|
|
currentDate = getCurrentTime(tz); |
|
|
|
return currentDate.endOf('quarter').diff(currentDate.clone().startOf('quarter')); |
|
|
|
case QuickTimeInterval.CURRENT_HALF_YEAR: |
|
|
|
case QuickTimeInterval.CURRENT_HALF_YEAR_SO_FAR: |
|
|
|
currentDate = getCurrentTime(tz); |
|
|
|
if (currentDate.get('quarter') < 3) { |
|
|
|
return currentDate.clone().set('quarter', 2).endOf('quarter').diff(currentDate.startOf('year')); |
|
|
|
} else { |
|
|
|
return currentDate.endOf('year').diff(currentDate.clone().set('quarter', 3).startOf('quarter')); |
|
|
|
} |
|
|
|
case QuickTimeInterval.CURRENT_YEAR: |
|
|
|
case QuickTimeInterval.CURRENT_YEAR_SO_FAR: |
|
|
|
currentDate = getCurrentTime(tz); |
|
|
|
@ -531,6 +555,16 @@ export function calculateIntervalStartTime(interval: QuickTimeInterval, currentD |
|
|
|
case QuickTimeInterval.CURRENT_MONTH: |
|
|
|
case QuickTimeInterval.CURRENT_MONTH_SO_FAR: |
|
|
|
return currentDate.startOf('month'); |
|
|
|
case QuickTimeInterval.CURRENT_QUARTER: |
|
|
|
case QuickTimeInterval.CURRENT_QUARTER_SO_FAR: |
|
|
|
return currentDate.startOf('quarter'); |
|
|
|
case QuickTimeInterval.CURRENT_HALF_YEAR: |
|
|
|
case QuickTimeInterval.CURRENT_HALF_YEAR_SO_FAR: |
|
|
|
if (currentDate.get('quarter') < 3) { |
|
|
|
return currentDate.startOf('year'); |
|
|
|
} else { |
|
|
|
return currentDate.clone().set('quarter', 3).startOf('quarter'); |
|
|
|
} |
|
|
|
case QuickTimeInterval.CURRENT_YEAR: |
|
|
|
case QuickTimeInterval.CURRENT_YEAR_SO_FAR: |
|
|
|
return currentDate.startOf('year'); |
|
|
|
@ -552,6 +586,12 @@ export function calculateIntervalEndTime(interval: QuickTimeInterval, startDate: |
|
|
|
case QuickTimeInterval.PREVIOUS_MONTH: |
|
|
|
case QuickTimeInterval.CURRENT_MONTH: |
|
|
|
return startDate.add(1, 'month').valueOf(); |
|
|
|
case QuickTimeInterval.PREVIOUS_QUARTER: |
|
|
|
case QuickTimeInterval.CURRENT_QUARTER: |
|
|
|
return startDate.add(1, 'quarter').valueOf(); |
|
|
|
case QuickTimeInterval.PREVIOUS_HALF_YEAR: |
|
|
|
case QuickTimeInterval.CURRENT_HALF_YEAR: |
|
|
|
return startDate.add(2, 'quarters').valueOf(); |
|
|
|
case QuickTimeInterval.PREVIOUS_YEAR: |
|
|
|
case QuickTimeInterval.CURRENT_YEAR: |
|
|
|
return startDate.add(1, 'year').valueOf(); |
|
|
|
@ -561,6 +601,8 @@ export function calculateIntervalEndTime(interval: QuickTimeInterval, startDate: |
|
|
|
case QuickTimeInterval.CURRENT_WEEK_SO_FAR: |
|
|
|
case QuickTimeInterval.CURRENT_WEEK_ISO_SO_FAR: |
|
|
|
case QuickTimeInterval.CURRENT_MONTH_SO_FAR: |
|
|
|
case QuickTimeInterval.CURRENT_QUARTER_SO_FAR: |
|
|
|
case QuickTimeInterval.CURRENT_HALF_YEAR_SO_FAR: |
|
|
|
case QuickTimeInterval.CURRENT_YEAR_SO_FAR: |
|
|
|
return getCurrentTime(tz).valueOf(); |
|
|
|
} |
|
|
|
@ -587,6 +629,14 @@ export function quickTimeIntervalPeriod(interval: QuickTimeInterval): number { |
|
|
|
case QuickTimeInterval.CURRENT_MONTH: |
|
|
|
case QuickTimeInterval.CURRENT_MONTH_SO_FAR: |
|
|
|
return DAY * 30; |
|
|
|
case QuickTimeInterval.PREVIOUS_QUARTER: |
|
|
|
case QuickTimeInterval.CURRENT_QUARTER: |
|
|
|
case QuickTimeInterval.CURRENT_QUARTER_SO_FAR: |
|
|
|
return DAY * 30 * 3; |
|
|
|
case QuickTimeInterval.PREVIOUS_HALF_YEAR: |
|
|
|
case QuickTimeInterval.CURRENT_HALF_YEAR: |
|
|
|
case QuickTimeInterval.CURRENT_HALF_YEAR_SO_FAR: |
|
|
|
return DAY * 30 * 6; |
|
|
|
case QuickTimeInterval.PREVIOUS_YEAR: |
|
|
|
case QuickTimeInterval.CURRENT_YEAR: |
|
|
|
case QuickTimeInterval.CURRENT_YEAR_SO_FAR: |
|
|
|
@ -621,6 +671,20 @@ export function calculateIntervalComparisonStartTime(interval: QuickTimeInterval |
|
|
|
case QuickTimeInterval.CURRENT_MONTH_SO_FAR: |
|
|
|
startDate.subtract(1, 'months'); |
|
|
|
return startDate.startOf('month'); |
|
|
|
case QuickTimeInterval.PREVIOUS_QUARTER: |
|
|
|
case QuickTimeInterval.CURRENT_QUARTER: |
|
|
|
case QuickTimeInterval.CURRENT_QUARTER_SO_FAR: |
|
|
|
startDate.subtract(1, 'quarters'); |
|
|
|
return startDate.startOf('quarter'); |
|
|
|
case QuickTimeInterval.PREVIOUS_HALF_YEAR: |
|
|
|
case QuickTimeInterval.CURRENT_HALF_YEAR: |
|
|
|
case QuickTimeInterval.CURRENT_HALF_YEAR_SO_FAR: |
|
|
|
startDate.subtract(2, 'quarters'); |
|
|
|
if (startDate.get('quarter') < 3) { |
|
|
|
return startDate.startOf('year'); |
|
|
|
} else { |
|
|
|
return startDate.clone().set('quarter', 3).startOf('quarter'); |
|
|
|
} |
|
|
|
case QuickTimeInterval.PREVIOUS_YEAR: |
|
|
|
case QuickTimeInterval.CURRENT_YEAR: |
|
|
|
case QuickTimeInterval.CURRENT_YEAR_SO_FAR: |
|
|
|
@ -643,6 +707,10 @@ export function calculateIntervalComparisonEndTime(interval: QuickTimeInterval, |
|
|
|
return endDate.subtract(1, 'week').valueOf(); |
|
|
|
case QuickTimeInterval.CURRENT_MONTH_SO_FAR: |
|
|
|
return endDate.subtract(1, 'month').valueOf(); |
|
|
|
case QuickTimeInterval.CURRENT_QUARTER_SO_FAR: |
|
|
|
return endDate.subtract(1, 'quarter').valueOf(); |
|
|
|
case QuickTimeInterval.CURRENT_HALF_YEAR_SO_FAR: |
|
|
|
return endDate.subtract(2, 'quarters').valueOf(); |
|
|
|
case QuickTimeInterval.CURRENT_YEAR_SO_FAR: |
|
|
|
return endDate.subtract(1, 'year').valueOf(); |
|
|
|
default: |
|
|
|
|