Timewindow: apply and save allowed intervals configuration
This commit is contained in:
parent
7e1456a96e
commit
b62cf069ff
@ -355,14 +355,6 @@ export class TimewindowConfigDialogComponent extends PageComponent implements On
|
|||||||
&& !(this.quickIntervalOnly && timewindowFormValue.history.historyType === HistoryWindowType.LAST_INTERVAL)) {
|
&& !(this.quickIntervalOnly && timewindowFormValue.history.historyType === HistoryWindowType.LAST_INTERVAL)) {
|
||||||
const allowedLastIntervals = timewindowFormValue.realtime.advancedParams.allowedLastIntervals;
|
const allowedLastIntervals = timewindowFormValue.realtime.advancedParams.allowedLastIntervals;
|
||||||
const allowedQuickIntervals = timewindowFormValue.realtime.advancedParams.allowedQuickIntervals;
|
const allowedQuickIntervals = timewindowFormValue.realtime.advancedParams.allowedQuickIntervals;
|
||||||
// this.timewindowForm.get('realtime').patchValue({
|
|
||||||
// realtimeType: Object.keys(RealtimeWindowType).includes(HistoryWindowType[timewindowFormValue.history.historyType]) ?
|
|
||||||
// RealtimeWindowType[HistoryWindowType[timewindowFormValue.history.historyType]] :
|
|
||||||
// timewindowFormValue.realtime.realtimeType,
|
|
||||||
// timewindowMs: timewindowFormValue.history.timewindowMs,
|
|
||||||
// quickInterval: timewindowFormValue.history.quickInterval.startsWith('CURRENT') ?
|
|
||||||
// timewindowFormValue.history.quickInterval : timewindowFormValue.realtime.quickInterval
|
|
||||||
// });
|
|
||||||
if (Object.keys(RealtimeWindowType).includes(HistoryWindowType[timewindowFormValue.history.historyType])) {
|
if (Object.keys(RealtimeWindowType).includes(HistoryWindowType[timewindowFormValue.history.historyType])) {
|
||||||
this.timewindowForm.get('realtime.realtimeType').patchValue(RealtimeWindowType[HistoryWindowType[timewindowFormValue.history.historyType]]);
|
this.timewindowForm.get('realtime.realtimeType').patchValue(RealtimeWindowType[HistoryWindowType[timewindowFormValue.history.historyType]]);
|
||||||
}
|
}
|
||||||
@ -378,11 +370,6 @@ export class TimewindowConfigDialogComponent extends PageComponent implements On
|
|||||||
} else {
|
} else {
|
||||||
const allowedLastIntervals = timewindowFormValue.history.advancedParams.allowedLastIntervals;
|
const allowedLastIntervals = timewindowFormValue.history.advancedParams.allowedLastIntervals;
|
||||||
const allowedQuickIntervals = timewindowFormValue.history.advancedParams.allowedQuickIntervals;
|
const allowedQuickIntervals = timewindowFormValue.history.advancedParams.allowedQuickIntervals;
|
||||||
// this.timewindowForm.get('history').patchValue({
|
|
||||||
// historyType: HistoryWindowType[RealtimeWindowType[timewindowFormValue.realtime.realtimeType]],
|
|
||||||
// timewindowMs: timewindowFormValue.realtime.timewindowMs,
|
|
||||||
// quickInterval: timewindowFormValue.realtime.quickInterval
|
|
||||||
// });
|
|
||||||
this.timewindowForm.get('history.historyType').patchValue(HistoryWindowType[RealtimeWindowType[timewindowFormValue.realtime.realtimeType]]);
|
this.timewindowForm.get('history.historyType').patchValue(HistoryWindowType[RealtimeWindowType[timewindowFormValue.realtime.realtimeType]]);
|
||||||
if (!allowedLastIntervals?.length || allowedLastIntervals?.includes(timewindowFormValue.realtime.timewindowMs)) {
|
if (!allowedLastIntervals?.length || allowedLastIntervals?.includes(timewindowFormValue.realtime.timewindowMs)) {
|
||||||
this.timewindowForm.get('history.timewindowMs').patchValue(timewindowFormValue.realtime.timewindowMs);
|
this.timewindowForm.get('history.timewindowMs').patchValue(timewindowFormValue.realtime.timewindowMs);
|
||||||
@ -407,11 +394,42 @@ export class TimewindowConfigDialogComponent extends PageComponent implements On
|
|||||||
update() {
|
update() {
|
||||||
const timewindowFormValue = this.timewindowForm.getRawValue();
|
const timewindowFormValue = this.timewindowForm.getRawValue();
|
||||||
this.timewindow = mergeDeep(this.timewindow, timewindowFormValue);
|
this.timewindow = mergeDeep(this.timewindow, timewindowFormValue);
|
||||||
|
|
||||||
|
if (timewindowFormValue.realtime.advancedParams.allowedLastIntervals?.length) {
|
||||||
|
this.timewindow.realtime.advancedParams.allowedLastIntervals = timewindowFormValue.realtime.advancedParams.allowedLastIntervals;
|
||||||
|
} else {
|
||||||
|
delete this.timewindow.realtime.advancedParams.allowedLastIntervals;
|
||||||
|
}
|
||||||
|
if (timewindowFormValue.realtime.advancedParams.allowedQuickIntervals?.length) {
|
||||||
|
this.timewindow.realtime.advancedParams.allowedQuickIntervals = timewindowFormValue.realtime.advancedParams.allowedQuickIntervals;
|
||||||
|
} else {
|
||||||
|
delete this.timewindow.realtime.advancedParams.allowedQuickIntervals;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (timewindowFormValue.history.advancedParams.allowedLastIntervals?.length) {
|
||||||
|
this.timewindow.history.advancedParams.allowedLastIntervals = timewindowFormValue.history.advancedParams.allowedLastIntervals;
|
||||||
|
} else {
|
||||||
|
delete this.timewindow.history.advancedParams.allowedLastIntervals;
|
||||||
|
}
|
||||||
|
if (timewindowFormValue.history.advancedParams.allowedQuickIntervals?.length) {
|
||||||
|
this.timewindow.history.advancedParams.allowedQuickIntervals = timewindowFormValue.history.advancedParams.allowedQuickIntervals;
|
||||||
|
} else {
|
||||||
|
delete this.timewindow.history.advancedParams.allowedQuickIntervals;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!Object.keys(this.timewindow.realtime.advancedParams).length) {
|
||||||
|
delete this.timewindow.realtime.advancedParams;
|
||||||
|
}
|
||||||
|
if (!Object.keys(this.timewindow.history.advancedParams).length) {
|
||||||
|
delete this.timewindow.history.advancedParams;
|
||||||
|
}
|
||||||
|
|
||||||
if (timewindowFormValue.allowedAggTypes?.length) {
|
if (timewindowFormValue.allowedAggTypes?.length) {
|
||||||
this.timewindow.allowedAggTypes = timewindowFormValue.allowedAggTypes;
|
this.timewindow.allowedAggTypes = timewindowFormValue.allowedAggTypes;
|
||||||
} else {
|
} else {
|
||||||
delete this.timewindow.allowedAggTypes;
|
delete this.timewindow.allowedAggTypes;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this.aggregation) {
|
if (!this.aggregation) {
|
||||||
delete this.timewindow.aggregation;
|
delete this.timewindow.aggregation;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -51,6 +51,7 @@
|
|||||||
formControlName="timewindowMs"
|
formControlName="timewindowMs"
|
||||||
subscriptSizing="dynamic"
|
subscriptSizing="dynamic"
|
||||||
appearance="outline"
|
appearance="outline"
|
||||||
|
[allowedIntervals]="realtimeAllowedLastIntervals"
|
||||||
[disabledAdvanced]="timewindow.realtime.disableCustomInterval"
|
[disabledAdvanced]="timewindow.realtime.disableCustomInterval"
|
||||||
[required]="timewindowForm.get('selectedTab').value === timewindowTypes.REALTIME &&
|
[required]="timewindowForm.get('selectedTab').value === timewindowTypes.REALTIME &&
|
||||||
timewindowForm.get('realtime.realtimeType').value === realtimeTypes.LAST_INTERVAL">
|
timewindowForm.get('realtime.realtimeType').value === realtimeTypes.LAST_INTERVAL">
|
||||||
@ -63,6 +64,7 @@
|
|||||||
onlyCurrentInterval="true"
|
onlyCurrentInterval="true"
|
||||||
subscriptSizing="dynamic"
|
subscriptSizing="dynamic"
|
||||||
appearance="outline"
|
appearance="outline"
|
||||||
|
[allowedIntervals]="realtimeAllowedQuickIntervals"
|
||||||
[required]="timewindowForm.get('selectedTab').value === timewindowTypes.REALTIME &&
|
[required]="timewindowForm.get('selectedTab').value === timewindowTypes.REALTIME &&
|
||||||
timewindowForm.get('realtime.realtimeType').value === realtimeTypes.INTERVAL">
|
timewindowForm.get('realtime.realtimeType').value === realtimeTypes.INTERVAL">
|
||||||
</tb-quick-time-interval>
|
</tb-quick-time-interval>
|
||||||
@ -95,6 +97,7 @@
|
|||||||
formControlName="timewindowMs"
|
formControlName="timewindowMs"
|
||||||
subscriptSizing="dynamic"
|
subscriptSizing="dynamic"
|
||||||
appearance="outline"
|
appearance="outline"
|
||||||
|
[allowedIntervals]="historyAllowedLastIntervals"
|
||||||
[disabledAdvanced]="timewindow.history.disableCustomInterval"
|
[disabledAdvanced]="timewindow.history.disableCustomInterval"
|
||||||
[required]="timewindowForm.get('selectedTab').value === timewindowTypes.HISTORY &&
|
[required]="timewindowForm.get('selectedTab').value === timewindowTypes.HISTORY &&
|
||||||
timewindowForm.get('history.historyType').value === historyTypes.LAST_INTERVAL">
|
timewindowForm.get('history.historyType').value === historyTypes.LAST_INTERVAL">
|
||||||
@ -116,6 +119,7 @@
|
|||||||
formControlName="quickInterval"
|
formControlName="quickInterval"
|
||||||
subscriptSizing="dynamic"
|
subscriptSizing="dynamic"
|
||||||
appearance="outline"
|
appearance="outline"
|
||||||
|
[allowedIntervals]="historyAllowedQuickIntervals"
|
||||||
[required]="timewindowForm.get('selectedTab').value === timewindowTypes.HISTORY &&
|
[required]="timewindowForm.get('selectedTab').value === timewindowTypes.HISTORY &&
|
||||||
timewindowForm.get('history.historyType').value === historyTypes.INTERVAL">
|
timewindowForm.get('history.historyType').value === historyTypes.INTERVAL">
|
||||||
</tb-quick-time-interval>
|
</tb-quick-time-interval>
|
||||||
|
|||||||
@ -20,6 +20,8 @@ import {
|
|||||||
DAY,
|
DAY,
|
||||||
HistoryWindowType,
|
HistoryWindowType,
|
||||||
historyWindowTypeTranslations,
|
historyWindowTypeTranslations,
|
||||||
|
Interval,
|
||||||
|
QuickTimeInterval,
|
||||||
quickTimeIntervalPeriod,
|
quickTimeIntervalPeriod,
|
||||||
RealtimeWindowType,
|
RealtimeWindowType,
|
||||||
realtimeWindowTypeTranslations,
|
realtimeWindowTypeTranslations,
|
||||||
@ -103,6 +105,10 @@ export class TimewindowPanelComponent extends PageComponent implements OnInit, O
|
|||||||
historyIntervalSelectionAvailable: boolean;
|
historyIntervalSelectionAvailable: boolean;
|
||||||
aggregationOptionsAvailable: boolean;
|
aggregationOptionsAvailable: boolean;
|
||||||
|
|
||||||
|
realtimeAllowedLastIntervals: Array<Interval>;
|
||||||
|
realtimeAllowedQuickIntervals: Array<QuickTimeInterval>;
|
||||||
|
historyAllowedLastIntervals: Array<Interval>;
|
||||||
|
historyAllowedQuickIntervals: Array<QuickTimeInterval>;
|
||||||
allowedAggTypes: Array<AggregationType>;
|
allowedAggTypes: Array<AggregationType>;
|
||||||
|
|
||||||
private destroy$ = new Subject<void>();
|
private destroy$ = new Subject<void>();
|
||||||
@ -124,7 +130,7 @@ export class TimewindowPanelComponent extends PageComponent implements OnInit, O
|
|||||||
this.timezone = data.timezone;
|
this.timezone = data.timezone;
|
||||||
this.isEdit = data.isEdit;
|
this.isEdit = data.isEdit;
|
||||||
|
|
||||||
this.allowedAggTypes = this.timewindow.allowedAggTypes;
|
this.updateTimewindowAdvancedParams();
|
||||||
|
|
||||||
if (!this.historyOnly) {
|
if (!this.historyOnly) {
|
||||||
this.timewindowTypeOptions.unshift({
|
this.timewindowTypeOptions.unshift({
|
||||||
@ -370,9 +376,32 @@ export class TimewindowPanelComponent extends PageComponent implements OnInit, O
|
|||||||
fixedTimewindow: timewindowFormValue.history.fixedTimewindow,
|
fixedTimewindow: timewindowFormValue.history.fixedTimewindow,
|
||||||
quickInterval: timewindowFormValue.history.quickInterval,
|
quickInterval: timewindowFormValue.history.quickInterval,
|
||||||
}};
|
}};
|
||||||
if (!this.timewindow.allowedAggTypes?.length) {
|
|
||||||
delete this.timewindow.allowedAggTypes;
|
// if (!this.timewindow.realtime.advancedParams?.allowedLastIntervals?.length) {
|
||||||
}
|
// delete this.timewindow.realtime.advancedParams.allowedLastIntervals;
|
||||||
|
// }
|
||||||
|
// if (!this.timewindow.realtime.advancedParams?.allowedQuickIntervals?.length) {
|
||||||
|
// delete this.timewindow.realtime.advancedParams.allowedQuickIntervals;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// if (!this.timewindow.history.advancedParams?.allowedLastIntervals?.length) {
|
||||||
|
// delete this.timewindow.history.advancedParams.allowedLastIntervals;
|
||||||
|
// }
|
||||||
|
// if (!this.timewindow.history.advancedParams?.allowedQuickIntervals?.length) {
|
||||||
|
// } else {
|
||||||
|
// delete this.timewindow.history.advancedParams.allowedQuickIntervals;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// if (!Object.keys(this.timewindow.realtime.advancedParams).length) {
|
||||||
|
// delete this.timewindow.realtime.advancedParams;
|
||||||
|
// }
|
||||||
|
// if (!Object.keys(this.timewindow.history.advancedParams).length) {
|
||||||
|
// delete this.timewindow.history.advancedParams;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// if (!this.timewindow.allowedAggTypes?.length) {
|
||||||
|
// delete this.timewindow.allowedAggTypes;
|
||||||
|
// }
|
||||||
if (this.aggregation) {
|
if (this.aggregation) {
|
||||||
this.timewindow.aggregation = {
|
this.timewindow.aggregation = {
|
||||||
type: timewindowFormValue.aggregation.type,
|
type: timewindowFormValue.aggregation.type,
|
||||||
@ -515,10 +544,28 @@ export class TimewindowPanelComponent extends PageComponent implements OnInit, O
|
|||||||
.subscribe((res) => {
|
.subscribe((res) => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.timewindow = res;
|
this.timewindow = res;
|
||||||
this.allowedAggTypes = this.timewindow.allowedAggTypes;
|
this.updateTimewindowAdvancedParams();
|
||||||
this.updateTimewindowForm();
|
this.updateTimewindowForm();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private updateTimewindowAdvancedParams() {
|
||||||
|
if (this.timewindow.realtime.advancedParams) {
|
||||||
|
this.realtimeAllowedLastIntervals = this.timewindow.realtime.advancedParams.allowedLastIntervals;
|
||||||
|
this.realtimeAllowedQuickIntervals = this.timewindow.realtime.advancedParams.allowedQuickIntervals;
|
||||||
|
} else {
|
||||||
|
this.realtimeAllowedLastIntervals = null;
|
||||||
|
this.realtimeAllowedQuickIntervals = null;
|
||||||
|
}
|
||||||
|
if (this.timewindow.history.advancedParams) {
|
||||||
|
this.historyAllowedLastIntervals = this.timewindow.history.advancedParams.allowedLastIntervals;
|
||||||
|
this.historyAllowedQuickIntervals = this.timewindow.history.advancedParams.allowedQuickIntervals;
|
||||||
|
} else {
|
||||||
|
this.historyAllowedLastIntervals = null;
|
||||||
|
this.historyAllowedQuickIntervals = null;
|
||||||
|
}
|
||||||
|
this.allowedAggTypes = this.timewindow.allowedAggTypes;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -366,6 +366,10 @@ export const initModelFromDefaultTimewindow = (value: Timewindow, quickIntervalO
|
|||||||
if (isDefined(value.realtime.timewindowMs)) {
|
if (isDefined(value.realtime.timewindowMs)) {
|
||||||
model.realtime.timewindowMs = value.realtime.timewindowMs;
|
model.realtime.timewindowMs = value.realtime.timewindowMs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (value.realtime.advancedParams) {
|
||||||
|
model.realtime.advancedParams = value.realtime.advancedParams;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (isDefined(value.history)) {
|
if (isDefined(value.history)) {
|
||||||
if (isDefinedAndNotNull(value.history.hideInterval)) {
|
if (isDefinedAndNotNull(value.history.hideInterval)) {
|
||||||
@ -409,6 +413,10 @@ export const initModelFromDefaultTimewindow = (value: Timewindow, quickIntervalO
|
|||||||
model.history.fixedTimewindow.endTimeMs = value.history.fixedTimewindow.endTimeMs;
|
model.history.fixedTimewindow.endTimeMs = value.history.fixedTimewindow.endTimeMs;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (value.history.advancedParams) {
|
||||||
|
model.history.advancedParams = value.history.advancedParams;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (value.aggregation) {
|
if (value.aggregation) {
|
||||||
if (value.aggregation.type) {
|
if (value.aggregation.type) {
|
||||||
@ -467,6 +475,9 @@ export const toHistoryTimewindow = (timewindow: Timewindow, startTimeMs: number,
|
|||||||
},
|
},
|
||||||
timezone: timewindow.timezone
|
timezone: timewindow.timezone
|
||||||
};
|
};
|
||||||
|
if (timewindow.history?.advancedParams) {
|
||||||
|
historyTimewindow.history.advancedParams = timewindow.history.advancedParams;
|
||||||
|
}
|
||||||
if (timewindow.allowedAggTypes?.length) {
|
if (timewindow.allowedAggTypes?.length) {
|
||||||
historyTimewindow.allowedAggTypes = timewindow.allowedAggTypes;
|
historyTimewindow.allowedAggTypes = timewindow.allowedAggTypes;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user