diff --git a/ui-ngx/src/app/shared/components/time/timewindow-config-dialog.component.ts b/ui-ngx/src/app/shared/components/time/timewindow-config-dialog.component.ts
index af3d51de69..1ac80c8ba3 100644
--- a/ui-ngx/src/app/shared/components/time/timewindow-config-dialog.component.ts
+++ b/ui-ngx/src/app/shared/components/time/timewindow-config-dialog.component.ts
@@ -62,6 +62,7 @@ import {
export interface TimewindowConfigDialogData {
quickIntervalOnly: boolean;
aggregation: boolean;
+ showSaveAsDefault: boolean;
timewindow: Timewindow;
}
@@ -76,6 +77,8 @@ export class TimewindowConfigDialogComponent extends PageComponent implements On
aggregation = false;
+ showSaveAsDefault = false;
+
timewindowForm: FormGroup;
historyTypes = HistoryWindowType;
@@ -140,6 +143,7 @@ export class TimewindowConfigDialogComponent extends PageComponent implements On
super(store);
this.quickIntervalOnly = data.quickIntervalOnly;
this.aggregation = data.aggregation;
+ this.showSaveAsDefault = data.showSaveAsDefault;
this.timewindow = data.timewindow;
if (!this.quickIntervalOnly) {
@@ -241,7 +245,9 @@ export class TimewindowConfigDialogComponent extends PageComponent implements On
hideAggInterval: [ isDefinedAndNotNull(this.timewindow.hideAggInterval)
? this.timewindow.hideAggInterval : false ],
hideTimezone: [ isDefinedAndNotNull(this.timewindow.hideTimezone)
- ? this.timewindow.hideTimezone : false ]
+ ? this.timewindow.hideTimezone : false ],
+ hideSaveAsDefault: [ isDefinedAndNotNull(this.timewindow.hideSaveAsDefault)
+ ? this.timewindow.hideSaveAsDefault : false ],
});
this.updateValidators(this.timewindowForm.get('aggregation.type').value);
@@ -423,11 +429,6 @@ export class TimewindowConfigDialogComponent extends PageComponent implements On
realtimeDisableCustomInterval, historyDisableCustomInterval,
timewindowFormValue.realtime.advancedParams, timewindowFormValue.history.advancedParams,
this.realtimeTimewindowOptions, this.historyTimewindowOptions);
- this.timewindowForm.patchValue({
- hideAggregation: timewindowFormValue.hideAggregation,
- hideAggInterval: timewindowFormValue.hideAggInterval,
- hideTimezone: timewindowFormValue.hideTimezone
- });
}
update() {
diff --git a/ui-ngx/src/app/shared/components/time/timewindow-panel.component.html b/ui-ngx/src/app/shared/components/time/timewindow-panel.component.html
index fbb3c1d2f6..7cc4362ce6 100644
--- a/ui-ngx/src/app/shared/components/time/timewindow-panel.component.html
+++ b/ui-ngx/src/app/shared/components/time/timewindow-panel.component.html
@@ -173,6 +173,11 @@
+ @if (saveAsDefaultAvailable) {
+
+ {{ 'timewindow.save-current-settings-as-default' | translate }}
+
+ }
diff --git a/ui-ngx/src/app/shared/components/time/timewindow-panel.component.scss b/ui-ngx/src/app/shared/components/time/timewindow-panel.component.scss
index 325be68584..ad3acb71e3 100644
--- a/ui-ngx/src/app/shared/components/time/timewindow-panel.component.scss
+++ b/ui-ngx/src/app/shared/components/time/timewindow-panel.component.scss
@@ -39,5 +39,9 @@
&-settings-btn {
color: rgba(0, 0, 0, 0.54);
}
+
+ &-checkbox {
+ --mdc-checkbox-state-layer-size: 24px;
+ }
}
}
diff --git a/ui-ngx/src/app/shared/components/time/timewindow-panel.component.ts b/ui-ngx/src/app/shared/components/time/timewindow-panel.component.ts
index c306ce4a49..d5b952b338 100644
--- a/ui-ngx/src/app/shared/components/time/timewindow-panel.component.ts
+++ b/ui-ngx/src/app/shared/components/time/timewindow-panel.component.ts
@@ -47,7 +47,7 @@ import {
import { PageComponent } from '@shared/components/page.component';
import { Store } from '@ngrx/store';
import { AppState } from '@core/core.state';
-import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
+import { FormControl, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
import { TimeService } from '@core/services/time.service';
import { deepClone, isDefined } from '@core/utils';
import { OverlayRef } from '@angular/cdk/overlay';
@@ -70,6 +70,7 @@ export interface TimewindowPanelData {
timezone: boolean;
isEdit: boolean;
panelMode: boolean;
+ showSaveAsDefault?: boolean;
}
export const TIMEWINDOW_PANEL_DATA = new InjectionToken('TimewindowPanelData');
@@ -111,6 +112,8 @@ export class TimewindowPanelComponent extends PageComponent implements OnInit, O
aggregationTypes = AggregationType;
result: Timewindow;
+ saveTimewindow: boolean;
+ saveTimewindowControl: FormControl;
timewindowTypeOptions: ToggleHeaderOption[] = [{
name: this.translate.instant('timewindow.history'),
@@ -126,6 +129,7 @@ export class TimewindowPanelComponent extends PageComponent implements OnInit, O
historyTypeSelectionAvailable: boolean;
historyIntervalSelectionAvailable: boolean;
aggregationOptionsAvailable: boolean;
+ saveAsDefaultAvailable: boolean;
realtimeDisableCustomInterval: boolean;
realtimeDisableCustomGroupInterval: boolean;
@@ -220,6 +224,8 @@ export class TimewindowPanelComponent extends PageComponent implements OnInit, O
this.aggregationOptionsAvailable = this.aggregation && (this.isEdit ||
!(this.timewindow.hideAggregation && this.timewindow.hideAggInterval));
+
+ this.saveAsDefaultAvailable = this.data.showSaveAsDefault && (!this.timewindow.hideSaveAsDefault || this.isEdit);
}
ngOnInit(): void {
@@ -262,6 +268,10 @@ export class TimewindowPanelComponent extends PageComponent implements OnInit, O
}
}
+ if (this.saveAsDefaultAvailable) {
+ this.saveTimewindowControl = this.fb.control({value: this.isEdit, disabled: this.isEdit});
+ }
+
this.timewindowForm = this.fb.group({
selectedTab: [isDefined(this.timewindow.selectedTab) ? this.timewindow.selectedTab : TimewindowType.REALTIME],
realtime: this.fb.group({
@@ -409,6 +419,7 @@ export class TimewindowPanelComponent extends PageComponent implements OnInit, O
update() {
this.result = this.prepareTimewindowConfig();
+ this.saveTimewindow = this.saveAsDefaultAvailable && this.saveTimewindowControl.enabled && this.saveTimewindowControl.value;
this.overlayRef?.dispose();
}
@@ -564,7 +575,8 @@ export class TimewindowPanelComponent extends PageComponent implements OnInit, O
data: {
quickIntervalOnly: this.quickIntervalOnly,
aggregation: this.aggregation,
- timewindow: this.prepareTimewindowConfig(false)
+ timewindow: this.prepareTimewindowConfig(false),
+ showSaveAsDefault: this.data.showSaveAsDefault
}
}).afterClosed()
.subscribe((res) => {
diff --git a/ui-ngx/src/app/shared/components/time/timewindow.component.ts b/ui-ngx/src/app/shared/components/time/timewindow.component.ts
index 07f90db66e..bc49e84574 100644
--- a/ui-ngx/src/app/shared/components/time/timewindow.component.ts
+++ b/ui-ngx/src/app/shared/components/time/timewindow.component.ts
@@ -19,12 +19,14 @@ import {
Component,
DestroyRef,
ElementRef,
+ EventEmitter,
forwardRef,
HostBinding,
Injector,
Input,
OnChanges,
OnInit,
+ Output,
SimpleChanges,
StaticProvider,
ViewChild,
@@ -189,6 +191,13 @@ export class TimewindowComponent implements ControlValueAccessor, OnInit, OnChan
@coerceBoolean()
panelMode = true;
+ @Input()
+ @coerceBoolean()
+ showSaveAsDefault = false;
+
+ @Output()
+ saveAsDefault = new EventEmitter();
+
innerValue: Timewindow;
timewindowDisabled: boolean;
@@ -261,6 +270,7 @@ export class TimewindowComponent implements ControlValueAccessor, OnInit, OnChan
timezone: this.timezone,
isEdit: this.isEdit,
panelMode: this.panelMode,
+ showSaveAsDefault: this.showSaveAsDefault,
} as TimewindowPanelData
},
{
@@ -280,7 +290,7 @@ export class TimewindowComponent implements ControlValueAccessor, OnInit, OnChan
this.innerValue = componentRef.instance.result;
this.timewindowDisabled = this.isTimewindowDisabled();
this.updateDisplayValue();
- this.notifyChanged();
+ this.notifyChanged(this.showSaveAsDefault && componentRef.instance.saveTimewindow);
}
});
this.cd.detectChanges();
@@ -334,8 +344,11 @@ export class TimewindowComponent implements ControlValueAccessor, OnInit, OnChan
}
}
- notifyChanged() {
+ notifyChanged(notifySaveAsDefault = false) {
this.propagateChange(cloneSelectedTimewindow(this.innerValue));
+ if (notifySaveAsDefault) {
+ this.saveAsDefault.emit(this.innerValue);
+ }
}
displayValue(): string {
@@ -402,6 +415,7 @@ export class TimewindowComponent implements ControlValueAccessor, OnInit, OnChan
timezone: this.timezone,
isEdit: this.isEdit,
panelMode: this.panelMode,
+ showSaveAsDefault: this.showSaveAsDefault,
}
const injector = Injector.create({
providers: [{ provide: TIMEWINDOW_PANEL_DATA, useValue: panelData }],
@@ -413,7 +427,7 @@ export class TimewindowComponent implements ControlValueAccessor, OnInit, OnChan
).subscribe(value => {
this.innerValue = value;
this.timewindowDisabled = this.isTimewindowDisabled();
- this.notifyChanged();
+ this.notifyChanged(this.showSaveAsDefault && componentRef.instance.saveTimewindow);
})
}
}
diff --git a/ui-ngx/src/app/shared/models/ai-model.models.ts b/ui-ngx/src/app/shared/models/ai-model.models.ts
index d3b70f9a74..410f7ad900 100644
--- a/ui-ngx/src/app/shared/models/ai-model.models.ts
+++ b/ui-ngx/src/app/shared/models/ai-model.models.ts
@@ -110,6 +110,7 @@ export const AiModelMap = new Map {
dynamicValueArgument?: string;
@@ -128,26 +129,33 @@ export interface AlarmRuleValue {
}
export interface StringAlarmRuleFilterPredicate {
- type: FilterPredicateType.STRING;
- operation: StringOperation;
+ type: AlarmRuleFilterPredicateType.STRING;
+ operation: AlarmRuleStringOperation;
value: AlarmRuleValue;
ignoreCase: boolean;
}
export interface NumericAlarmRuleFilterPredicate {
- type: FilterPredicateType.NUMERIC;
- operation: NumericOperation;
+ type: AlarmRuleFilterPredicateType.NUMERIC;
+ operation: AlarmRuleNumericOperation;
value: AlarmRuleValue;
}
export interface BooleanAlarmRuleFilterPredicate {
- type: FilterPredicateType.BOOLEAN;
- operation: BooleanOperation;
+ type: AlarmRuleFilterPredicateType.BOOLEAN;
+ operation: AlarmRuleBooleanOperation;
value: AlarmRuleValue;
}
+export interface NoDataAlarmRuleFilterPredicate {
+ type: AlarmRuleFilterPredicateType.NO_DATA;
+ unit: TimeUnit,
+ operation: AlarmRuleStringOperation.NO_DATA | AlarmRuleNumericOperation.NO_DATA | AlarmRuleBooleanOperation.NO_DATA;
+ duration: AlarmRuleValue;
+}
+
export interface BaseComplexFilterPredicate {
- type: FilterPredicateType.COMPLEX;
+ type: AlarmRuleFilterPredicateType.COMPLEX;
operation: ComplexOperation;
predicates: Array;
}
@@ -160,6 +168,83 @@ export interface AlarmRuleFilterConfig {
entities?: Array;
}
+export const filterOperationTranslationMap = new Map(
+ [
+ [ComplexOperation.AND, 'alarm-rule.filter-operation.and'],
+ [ComplexOperation.OR, 'alarm-rule.filter-operation.or'],
+ ]
+);
+
+export enum AlarmRuleFilterPredicateType {
+ STRING = 'STRING',
+ NUMERIC = 'NUMERIC',
+ BOOLEAN = 'BOOLEAN',
+ COMPLEX = 'COMPLEX',
+ NO_DATA = 'NO_DATA'
+}
+
+export enum AlarmRuleStringOperation {
+ EQUAL = 'EQUAL',
+ NOT_EQUAL = 'NOT_EQUAL',
+ NO_DATA = 'NO_DATA',
+ STARTS_WITH = 'STARTS_WITH',
+ ENDS_WITH = 'ENDS_WITH',
+ CONTAINS = 'CONTAINS',
+ NOT_CONTAINS = 'NOT_CONTAINS',
+ IN = 'IN',
+ NOT_IN = 'NOT_IN',
+}
+
+export const alarmRuleStringOperationTranslationMap = new Map(
+ [
+ [AlarmRuleStringOperation.EQUAL, 'filter.operation.equal'],
+ [AlarmRuleStringOperation.NOT_EQUAL, 'filter.operation.not-equal'],
+ [AlarmRuleStringOperation.STARTS_WITH, 'filter.operation.starts-with'],
+ [AlarmRuleStringOperation.ENDS_WITH, 'filter.operation.ends-with'],
+ [AlarmRuleStringOperation.CONTAINS, 'filter.operation.contains'],
+ [AlarmRuleStringOperation.NOT_CONTAINS, 'filter.operation.not-contains'],
+ [AlarmRuleStringOperation.IN, 'filter.operation.in'],
+ [AlarmRuleStringOperation.NOT_IN, 'filter.operation.not-in'],
+ [AlarmRuleStringOperation.NO_DATA, 'alarm-rule.missing-for']
+ ]
+);
+
+export enum AlarmRuleNumericOperation {
+ EQUAL = 'EQUAL',
+ NOT_EQUAL = 'NOT_EQUAL',
+ NO_DATA = 'NO_DATA',
+ GREATER = 'GREATER',
+ LESS = 'LESS',
+ GREATER_OR_EQUAL = 'GREATER_OR_EQUAL',
+ LESS_OR_EQUAL = 'LESS_OR_EQUAL'
+}
+
+export const alarmRuleNumericOperationTranslationMap = new Map(
+ [
+ [AlarmRuleNumericOperation.EQUAL, 'filter.operation.equal'],
+ [AlarmRuleNumericOperation.NOT_EQUAL, 'filter.operation.not-equal'],
+ [AlarmRuleNumericOperation.GREATER, 'filter.operation.greater'],
+ [AlarmRuleNumericOperation.LESS, 'filter.operation.less'],
+ [AlarmRuleNumericOperation.GREATER_OR_EQUAL, 'filter.operation.greater-or-equal'],
+ [AlarmRuleNumericOperation.LESS_OR_EQUAL, 'filter.operation.less-or-equal'],
+ [AlarmRuleNumericOperation.NO_DATA, 'alarm-rule.missing-for']
+ ]
+);
+
+export enum AlarmRuleBooleanOperation {
+ EQUAL = 'EQUAL',
+ NOT_EQUAL = 'NOT_EQUAL',
+ NO_DATA = 'NO_DATA',
+}
+
+export const alarmRuleBooleanOperationTranslationMap = new Map(
+ [
+ [AlarmRuleBooleanOperation.EQUAL, 'filter.operation.equal'],
+ [AlarmRuleBooleanOperation.NOT_EQUAL, 'filter.operation.not-equal'],
+ [AlarmRuleBooleanOperation.NO_DATA, 'alarm-rule.missing-for']
+ ]
+);
+
export const alarmRuleDefaultScript =
'// Sample expression for an alarm rule: triggers when temperature is above 20 degree\n' +
'return temperature > 20;'
diff --git a/ui-ngx/src/app/shared/models/edge.models.ts b/ui-ngx/src/app/shared/models/edge.models.ts
index 49c858767b..5d68d167e0 100644
--- a/ui-ngx/src/app/shared/models/edge.models.ts
+++ b/ui-ngx/src/app/shared/models/edge.models.ts
@@ -184,9 +184,9 @@ export interface EdgeInstructions {
}
export enum EdgeInstructionsMethod {
+ docker,
ubuntu,
- centos,
- docker
+ centos
}
export const edgeVersionAttributeKey = 'edgeVersion';
diff --git a/ui-ngx/src/app/shared/models/resource.models.ts b/ui-ngx/src/app/shared/models/resource.models.ts
index e19f1c82a0..be25cb7871 100644
--- a/ui-ngx/src/app/shared/models/resource.models.ts
+++ b/ui-ngx/src/app/shared/models/resource.models.ts
@@ -89,7 +89,7 @@ export interface TbResourceInfo extends Omit, 'name' |
export type ResourceInfo = TbResourceInfo;
export interface Resource extends ResourceInfo {
- data?: string;
+ data?: any;
name?: string;
}
diff --git a/ui-ngx/src/app/shared/models/time/time.models.ts b/ui-ngx/src/app/shared/models/time/time.models.ts
index 1046feb2ca..aed39bfe32 100644
--- a/ui-ngx/src/app/shared/models/time/time.models.ts
+++ b/ui-ngx/src/app/shared/models/time/time.models.ts
@@ -169,6 +169,7 @@ export interface Timewindow {
history?: HistoryWindow;
aggregation?: Aggregation;
timezone?: string;
+ hideSaveAsDefault?: boolean;
}
export interface SubscriptionAggregation extends Aggregation {
@@ -285,14 +286,14 @@ export const defaultTimewindow = (timeService: TimeService, isDashboard = false)
selectedTab: TimewindowType.REALTIME,
realtime: {
realtimeType: RealtimeWindowType.LAST_INTERVAL,
- interval: SECOND,
- timewindowMs: isDashboard ? HOUR : MINUTE,
+ interval: MINUTE,
+ timewindowMs: HOUR,
quickInterval: QuickTimeInterval.CURRENT_DAY,
},
history: {
historyType: HistoryWindowType.LAST_INTERVAL,
- interval: SECOND,
- timewindowMs: MINUTE,
+ interval: MINUTE,
+ timewindowMs: HOUR,
fixedTimewindow: {
startTimeMs: currentTime - DAY,
endTimeMs: currentTime
@@ -331,6 +332,9 @@ export const initModelFromDefaultTimewindow = (value: Timewindow, quickIntervalO
if (value.hideTimezone) {
model.hideTimezone = value.hideTimezone;
}
+ if (value.hideSaveAsDefault) {
+ model.hideSaveAsDefault = value.hideSaveAsDefault;
+ }
model.selectedTab = getTimewindowType(value);
@@ -1116,6 +1120,9 @@ export const cloneSelectedTimewindow = (timewindow: Timewindow): Timewindow => {
if (timewindow.hideTimezone) {
cloned.hideTimezone = timewindow.hideTimezone;
}
+ if (timewindow.hideSaveAsDefault) {
+ cloned.hideSaveAsDefault = timewindow.hideSaveAsDefault;
+ }
if (isDefined(timewindow.selectedTab)) {
cloned.selectedTab = timewindow.selectedTab;
}
diff --git a/ui-ngx/src/app/shared/models/vc.models.ts b/ui-ngx/src/app/shared/models/vc.models.ts
index 9a4a68e005..c59b190ffe 100644
--- a/ui-ngx/src/app/shared/models/vc.models.ts
+++ b/ui-ngx/src/app/shared/models/vc.models.ts
@@ -265,4 +265,4 @@ export interface EntityDataInfo {
hasCalculatedFields: boolean;
}
-export const typesWithCalculatedFields = new Set([EntityType.DEVICE, EntityType.ASSET, EntityType.ASSET_PROFILE, EntityType.DEVICE_PROFILE]);
+export const typesWithCalculatedFields = new Set([EntityType.DEVICE, EntityType.ASSET, EntityType.ASSET_PROFILE, EntityType.DEVICE_PROFILE, EntityType.CUSTOMER]);
diff --git a/ui-ngx/src/assets/dashboard/api_usage.json b/ui-ngx/src/assets/dashboard/api_usage.json
index bf3fd220be..02708d12fd 100644
--- a/ui-ngx/src/assets/dashboard/api_usage.json
+++ b/ui-ngx/src/assets/dashboard/api_usage.json
@@ -105,7 +105,7 @@
}
},
"title": "{i18n:api-usage.exceptions}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": {
"fontSize": "16px",
@@ -125,7 +125,8 @@
"pageSize": 1024,
"noDataDisplayMessage": "",
"configMode": "basic",
- "borderRadius": "4px"
+ "borderRadius": "12px",
+ "titleColor": "rgba(0, 0, 0, 0.54)"
},
"id": "a669cf86-e715-efa4-dd9a-b839abf499e9",
"typeFullFqn": "system.cards.timeseries_table"
@@ -499,7 +500,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -632,7 +633,7 @@
"tooltipLabelColor": "rgba(0, 0, 0, 0.76)"
},
"title": "{i18n:api-usage.queue-stats}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -643,14 +644,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -675,7 +676,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -978,7 +979,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -1111,7 +1112,7 @@
"tooltipLabelColor": "rgba(0, 0, 0, 0.76)"
},
"title": "{i18n:api-usage.processing-failures-and-timeouts}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -1122,14 +1123,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -1154,7 +1155,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -1331,7 +1332,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -1450,7 +1451,7 @@
"weight": "500",
"lineHeight": "16px"
},
- "legendValueColor": "rgba(0, 0, 0, 0.87)",
+ "legendValueColor": "rgba(0, 0, 0, 0.76)",
"tooltipLabelFont": {
"family": "Roboto",
"size": 12,
@@ -1461,10 +1462,11 @@
},
"tooltipLabelColor": "rgba(0, 0, 0, 0.76)",
"tooltipHideZeroValues": null,
- "padding": "12px"
+ "padding": "12px",
+ "tooltipStackedShowTotal": false
},
"title": "{i18n:api-usage.transport-messages-hourly-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -1477,16 +1479,16 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
- "widgetStyle": {},
+ "widgetStyle": null,
"widgetCss": "",
"pageSize": 1024,
"units": "",
@@ -1509,7 +1511,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -1685,7 +1687,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -1818,7 +1820,7 @@
"padding": "12px"
},
"title": "{i18n:api-usage.transport-data-point-hourly-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -1831,14 +1833,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -1863,7 +1865,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -2075,7 +2077,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -2208,7 +2210,7 @@
"padding": "12px"
},
"title": "{i18n:api-usage.rule-engine-hourly-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -2216,7 +2218,12 @@
"headerButton": [
{
"name": "{i18n:api-usage.view-statistics}",
+ "buttonType": "icon",
"icon": "show_chart",
+ "buttonColor": "rgba(0, 0, 0, 0.54)",
+ "customButtonStyle": {},
+ "useShowWidgetActionFunction": null,
+ "showWidgetActionFunction": "return true;",
"type": "openDashboardState",
"targetDashboardStateId": "rule_engine_statistics",
"setEntityId": false,
@@ -2232,14 +2239,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -2264,7 +2271,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -2476,7 +2483,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -2609,7 +2616,7 @@
"padding": "12px"
},
"title": "{i18n:api-usage.data-points-storage-days-hourly-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -2622,14 +2629,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -2654,7 +2661,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -2839,7 +2846,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -2972,7 +2979,7 @@
"padding": "12px"
},
"title": "{i18n:api-usage.transport-msg-daily-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -2983,14 +2990,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -3015,7 +3022,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -3205,7 +3212,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -3338,7 +3345,7 @@
"padding": "12px"
},
"title": "{i18n:api-usage.transport-msg-monthly-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -3349,14 +3356,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -3381,7 +3388,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -3568,7 +3575,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -3701,7 +3708,7 @@
"padding": "12px"
},
"title": "{i18n:api-usage.transport-data-points-daily-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -3712,14 +3719,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -3744,7 +3751,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -3985,7 +3992,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -4118,7 +4125,7 @@
"padding": "12px"
},
"title": "{i18n:api-usage.transport-data-points-monthly-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -4129,14 +4136,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -4161,7 +4168,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -4392,7 +4399,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -4525,7 +4532,7 @@
"padding": "12px"
},
"title": "{i18n:api-usage.rule-engine-daily-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -4556,14 +4563,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -4588,7 +4595,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -4829,7 +4836,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -4962,7 +4969,7 @@
"padding": "12px"
},
"title": "{i18n:api-usage.rule-engine-monthly-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -4993,14 +5000,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -5025,7 +5032,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -5203,7 +5210,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -5336,7 +5343,7 @@
"padding": "12px"
},
"title": "{i18n:api-usage.javascript-function-executions-hourly-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -5347,14 +5354,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -5379,7 +5386,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -5566,7 +5573,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -5699,7 +5706,7 @@
"padding": "12px"
},
"title": "{i18n:api-usage.javascript-function-executions-daily-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -5710,14 +5717,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -5742,7 +5749,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -5934,7 +5941,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -6067,7 +6074,7 @@
"padding": "12px"
},
"title": "{i18n:api-usage.javascript-function-executions-monthly-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -6078,14 +6085,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -6110,7 +6117,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -6288,7 +6295,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -6421,7 +6428,7 @@
"padding": "12px"
},
"title": "{i18n:api-usage.tbel-function-executions-hourly-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -6432,14 +6439,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -6464,7 +6471,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -6651,7 +6658,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -6784,7 +6791,7 @@
"padding": "12px"
},
"title": "{i18n:api-usage.tbel-function-executions-daily-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -6795,14 +6802,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -6827,7 +6834,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -7019,7 +7026,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -7152,7 +7159,7 @@
"padding": "12px"
},
"title": "{i18n:api-usage.tbel-function-executions-monthly-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -7163,14 +7170,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -7195,7 +7202,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -7382,7 +7389,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -7515,7 +7522,7 @@
"padding": "12px"
},
"title": "{i18n:api-usage.data-points-storage-days-daily-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -7526,14 +7533,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -7558,7 +7565,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -7755,7 +7762,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -7888,7 +7895,7 @@
"padding": "12px"
},
"title": "{i18n:api-usage.data-points-storage-days-monthly-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -7899,14 +7906,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -7931,7 +7938,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -8109,7 +8116,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -8242,7 +8249,7 @@
"padding": "12px"
},
"title": "{i18n:api-usage.alarms-created-hourly-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -8253,14 +8260,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -8285,7 +8292,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -8472,7 +8479,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -8605,7 +8612,7 @@
"padding": "12px"
},
"title": "{i18n:api-usage.alarms-created-daily-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -8616,14 +8623,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -8648,7 +8655,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -8845,7 +8852,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -8978,7 +8985,7 @@
"padding": "12px"
},
"title": "{i18n:api-usage.alarms-created-monthly-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -8989,14 +8996,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -9021,7 +9028,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -9199,7 +9206,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -9332,7 +9339,7 @@
"padding": "12px"
},
"title": "{i18n:api-usage.emails-hourly-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -9343,14 +9350,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -9375,7 +9382,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -9562,7 +9569,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -9695,7 +9702,7 @@
"padding": "12px"
},
"title": "{i18n:api-usage.emails-daily-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -9706,14 +9713,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -9738,7 +9745,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -9930,7 +9937,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -10063,7 +10070,7 @@
"padding": "12px"
},
"title": "{i18n:api-usage.emails-monthly-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -10074,14 +10081,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -10106,7 +10113,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -10284,7 +10291,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -10417,7 +10424,7 @@
"padding": "12px"
},
"title": "{i18n:api-usage.sms-messages-hourly-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -10428,14 +10435,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -10460,7 +10467,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -10647,7 +10654,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -10780,7 +10787,7 @@
"padding": "12px"
},
"title": "{i18n:api-usage.sms-messages-daily-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -10791,14 +10798,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -10823,7 +10830,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -11015,7 +11022,7 @@
"weight": "400",
"lineHeight": "16px"
},
- "legendLabelColor": "rgba(0, 0, 0, 0.76)",
+ "legendLabelColor": "rgba(0, 0, 0, 0.54)",
"legendConfig": {
"direction": "column",
"position": "bottom",
@@ -11148,7 +11155,7 @@
"padding": "12px"
},
"title": "{i18n:api-usage.sms-messages-monthly-activity}",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": true,
"titleStyle": null,
"configMode": "basic",
@@ -11159,14 +11166,14 @@
"useDashboardTimewindow": false,
"displayTimewindow": true,
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": "Roboto",
"weight": "500",
"style": "normal",
- "lineHeight": "24px"
+ "lineHeight": "20px"
},
- "titleColor": "rgba(0, 0, 0, 0.87)",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
"titleTooltip": "",
"widgetStyle": {},
"widgetCss": "",
@@ -11191,7 +11198,7 @@
"displayTypePrefix": true
},
"margin": "0px",
- "borderRadius": "4px",
+ "borderRadius": "12px",
"iconSize": "0px"
},
"row": 0,
@@ -11460,10 +11467,10 @@
"decimals": null,
"showTitleIcon": false,
"titleTooltip": "",
- "dropShadow": true,
+ "dropShadow": false,
"enableFullscreen": false,
"widgetStyle": {},
- "widgetCss": ".tb-widget-header {\n height: 48px;\n align-items: center !important;\n padding: 5px 10px 0 10px;\n}",
+ "widgetCss": ".tb-widget-header {\n height: 48px;\n align-items: center !important;\n padding: 5px 10px 0 10px;\n}\n\n@media screen and (min-width: 960px) {\n .tb-widget {\n margin-right: 0px !important;\n }\n}",
"titleStyle": {},
"pageSize": 1024,
"noDataDisplayMessage": "",
@@ -11490,14 +11497,16 @@
]
},
"titleFont": {
- "size": 16,
+ "size": 14,
"sizeUnit": "px",
"family": null,
"weight": "500",
"style": null,
- "lineHeight": "21px"
+ "lineHeight": "20px"
},
- "borderRadius": "4px"
+ "borderRadius": "12px",
+ "titleColor": "rgba(0, 0, 0, 0.54)",
+ "margin": "12px"
},
"row": 0,
"col": 0,
@@ -11522,13 +11531,13 @@
"backgroundColor": "#eeeeee",
"color": "rgba(0,0,0,0.870588)",
"columns": 12,
- "margin": 8,
+ "margin": 12,
"backgroundSizeMode": "100%",
"autoFillHeight": true,
"backgroundImageUrl": null,
"mobileAutoFillHeight": true,
"mobileRowHeight": 100,
- "outerMargin": true,
+ "outerMargin": false,
"layoutType": "divider",
"minColumns": 12,
"viewFormat": "grid",
@@ -11578,7 +11587,7 @@
"layoutType": "divider",
"backgroundColor": "#eeeeee",
"columns": 12,
- "margin": 8,
+ "margin": 12,
"outerMargin": true,
"backgroundSizeMode": "100%",
"minColumns": 12,
@@ -11628,7 +11637,7 @@
"backgroundColor": "#eeeeee",
"color": "rgba(0,0,0,0.870588)",
"columns": 24,
- "margin": 8,
+ "margin": 12,
"backgroundSizeMode": "100%",
"autoFillHeight": true,
"backgroundImageUrl": null,
@@ -11662,8 +11671,8 @@
"layoutType": "divider",
"backgroundColor": "#eeeeee",
"columns": 12,
- "margin": 8,
- "outerMargin": true,
+ "margin": 12,
+ "outerMargin": false,
"backgroundSizeMode": "100%",
"minColumns": 12,
"viewFormat": "grid",
@@ -11708,7 +11717,7 @@
"layoutType": "divider",
"backgroundColor": "#eeeeee",
"columns": 12,
- "margin": 8,
+ "margin": 12,
"outerMargin": true,
"backgroundSizeMode": "100%",
"minColumns": 12,
@@ -11740,8 +11749,8 @@
"layoutType": "divider",
"backgroundColor": "#eeeeee",
"columns": 12,
- "margin": 8,
- "outerMargin": true,
+ "margin": 12,
+ "outerMargin": false,
"backgroundSizeMode": "100%",
"minColumns": 12,
"viewFormat": "grid",
@@ -11786,7 +11795,7 @@
"layoutType": "divider",
"backgroundColor": "#eeeeee",
"columns": 12,
- "margin": 8,
+ "margin": 12,
"outerMargin": true,
"backgroundSizeMode": "100%",
"minColumns": 12,
@@ -11818,8 +11827,8 @@
"layoutType": "divider",
"backgroundColor": "#eeeeee",
"columns": 12,
- "margin": 8,
- "outerMargin": true,
+ "margin": 12,
+ "outerMargin": false,
"backgroundSizeMode": "100%",
"minColumns": 12,
"viewFormat": "grid",
@@ -11864,7 +11873,7 @@
"layoutType": "divider",
"backgroundColor": "#eeeeee",
"columns": 12,
- "margin": 8,
+ "margin": 12,
"outerMargin": true,
"backgroundSizeMode": "100%",
"minColumns": 12,
@@ -11896,8 +11905,8 @@
"layoutType": "divider",
"backgroundColor": "#eeeeee",
"columns": 12,
- "margin": 8,
- "outerMargin": true,
+ "margin": 12,
+ "outerMargin": false,
"backgroundSizeMode": "100%",
"minColumns": 12,
"viewFormat": "grid",
@@ -11943,7 +11952,7 @@
"layoutType": "divider",
"backgroundColor": "#eeeeee",
"columns": 12,
- "margin": 8,
+ "margin": 12,
"outerMargin": true,
"backgroundSizeMode": "100%",
"minColumns": 12,
@@ -11975,8 +11984,8 @@
"layoutType": "divider",
"backgroundColor": "#eeeeee",
"columns": 12,
- "margin": 8,
- "outerMargin": true,
+ "margin": 12,
+ "outerMargin": false,
"backgroundSizeMode": "100%",
"minColumns": 12,
"viewFormat": "grid",
@@ -12022,7 +12031,7 @@
"layoutType": "divider",
"backgroundColor": "#eeeeee",
"columns": 12,
- "margin": 8,
+ "margin": 12,
"outerMargin": true,
"backgroundSizeMode": "100%",
"minColumns": 12,
@@ -12054,8 +12063,8 @@
"layoutType": "divider",
"backgroundColor": "#eeeeee",
"columns": 12,
- "margin": 8,
- "outerMargin": true,
+ "margin": 12,
+ "outerMargin": false,
"backgroundSizeMode": "100%",
"minColumns": 12,
"viewFormat": "grid",
@@ -12100,7 +12109,7 @@
"layoutType": "divider",
"backgroundColor": "#eeeeee",
"columns": 12,
- "margin": 8,
+ "margin": 12,
"outerMargin": true,
"backgroundSizeMode": "100%",
"minColumns": 12,
@@ -12132,8 +12141,8 @@
"layoutType": "divider",
"backgroundColor": "#eeeeee",
"columns": 12,
- "margin": 8,
- "outerMargin": true,
+ "margin": 12,
+ "outerMargin": false,
"backgroundSizeMode": "100%",
"minColumns": 12,
"viewFormat": "grid",
@@ -12179,7 +12188,7 @@
"layoutType": "divider",
"backgroundColor": "#eeeeee",
"columns": 12,
- "margin": 8,
+ "margin": 12,
"outerMargin": true,
"backgroundSizeMode": "100%",
"minColumns": 12,
@@ -12211,8 +12220,8 @@
"layoutType": "divider",
"backgroundColor": "#eeeeee",
"columns": 12,
- "margin": 8,
- "outerMargin": true,
+ "margin": 12,
+ "outerMargin": false,
"backgroundSizeMode": "100%",
"minColumns": 12,
"viewFormat": "grid",
@@ -12258,7 +12267,7 @@
"layoutType": "divider",
"backgroundColor": "#eeeeee",
"columns": 12,
- "margin": 8,
+ "margin": 12,
"outerMargin": true,
"backgroundSizeMode": "100%",
"minColumns": 12,
@@ -12290,8 +12299,8 @@
"layoutType": "divider",
"backgroundColor": "#eeeeee",
"columns": 12,
- "margin": 8,
- "outerMargin": true,
+ "margin": 12,
+ "outerMargin": false,
"backgroundSizeMode": "100%",
"minColumns": 12,
"viewFormat": "grid",
@@ -12337,7 +12346,7 @@
"layoutType": "divider",
"backgroundColor": "#eeeeee",
"columns": 12,
- "margin": 8,
+ "margin": 12,
"outerMargin": true,
"backgroundSizeMode": "100%",
"minColumns": 12,
@@ -12374,21 +12383,15 @@
},
"filters": {},
"timewindow": {
- "hideAggregation": false,
- "hideAggInterval": false,
- "hideTimezone": false,
"selectedTab": 0,
"realtime": {
"realtimeType": 0,
- "timewindowMs": 86400000,
- "quickInterval": "CURRENT_DAY",
- "interval": 3600000
+ "timewindowMs": 86400000
},
"aggregation": {
"type": "NONE",
"limit": 50000
- },
- "timezone": null
+ }
},
"settings": {
"stateControllerId": "entity",
@@ -12404,7 +12407,7 @@
"dashboardLogoUrl": null,
"hideToolbar": false,
"showUpdateDashboardImage": false,
- "dashboardCss": ""
+ "dashboardCss": ".tb-widget-actions {\n --mat-icon-color: rgba(0, 0, 0, 0.54);\n}"
}
},
"name": "Api Usage"
diff --git a/ui-ngx/src/assets/help/en_US/alarm-rule/alarm_rule_schedule_format.md b/ui-ngx/src/assets/help/en_US/alarm-rule/alarm_rule_schedule_format.md
index 94ffabbc34..c49d1029bf 100644
--- a/ui-ngx/src/assets/help/en_US/alarm-rule/alarm_rule_schedule_format.md
+++ b/ui-ngx/src/assets/help/en_US/alarm-rule/alarm_rule_schedule_format.md
@@ -1,6 +1,6 @@
-#### Active all time schedule format
+#### Active-all-the-time schedule format
-An attribute with a dynamic value for an active all-time schedule format must contain an empty JSON object or JSON in the following format:
+For a schedule that is always active, the argument can be an empty JSON object or a JSON object in the following format:
```javascript
{
@@ -10,7 +10,7 @@ An attribute with a dynamic value for an active all-time schedule format must co
#### Specific time schedule format
-An attribute with a dynamic value for a specific schedule format must have JSON in the following format:
+The argument value for a specific time schedule must be a JSON object in the following format (the `type` field is optional):
```javascript
{
@@ -27,23 +27,25 @@ An attribute with a dynamic value for a specific schedule format must have JSON
-
-timezone: this value is used to designate the timezone you are using.
+timezone: the name of the timezone.
-
-daysOfWeek: this value is used to designate the days in numerical representation (Monday - 1, Tuesday 2, etc.) on which the schedule will be active.
+daysOfWeek: days of the week (Monday = 1, Tuesday = 2, ..., Sunday = 7) when the schedule should be active.
-
-startsOn: this value is used to designate the timestamp in milliseconds, from which the schedule will be active for the designated days.
+startsOn: time of day in milliseconds from the start of the day (00:00) when the schedule becomes active on the selected days.
-
-endsOn: this value is used to designate the timestamp in milliseconds until which the schedule will be active for the specified days.
+endsOn: time of day in milliseconds from the start of the day (00:00) when the schedule stops being active on the selected days.
+If this value is not provided or equals 0, it defaults to the full day (24 hours in milliseconds).
-When startsOn and endsOn equals 0 it's means that the schedule will be active the whole day.
+
+If both startsOn and endsOn are 0, the schedule is active for the entire day.
#### Custom time schedule format
-An attribute with a dynamic value for a custom schedule format must have JSON in the following format:
+The argument value for a specific time schedule must be a JSON object in the following format (the `type` field is optional):
```javascript
{
@@ -98,26 +100,28 @@ An attribute with a dynamic value for a custom schedule format must have JSON in
-
-timezone: this value is used to designate the timezone you are using.
+timezone: the name of the timezone.
-
-items: the array of values representing the days on which the schedule will be active.
+items: a list of day-specific schedule entries.
-One array item contains such fields:
+Each item represents one day of the week and contains:
-
-dayOfWeek: this value is used to designate the specified day in numerical representation (Monday - 1, Tuesday 2, etc.) on which the schedule will be active.
+dayOfWeek: the day number (Monday = 1, Tuesday = 2, ..., Sunday = 7)
-
-enabled: this
boolean value, used to designate that the specified day in the schedule will be enabled.
+enabled: a boolean value that defines whether this day is active in the schedule.
-
-startsOn: this value is used to designate the timestamp in milliseconds, from which the schedule will be active for the designated day.
+startsOn: time of day in milliseconds from the start of the day (00:00) when the schedule becomes active for that day.
-
-endsOn: this value is used to designate the timestamp in milliseconds until which the schedule will be active for the specified day.
+endsOn: time of day in milliseconds from the start of the day (00:00) when the schedule stops being active for that day.
+If this value is not provided or equals 0, it defaults to the full day (24 hours in milliseconds).
-When startsOn and endsOn equals 0 it's means that the schedule will be active the whole day.
+
+If both startsOn and endsOn are 0, the schedule is active for the entire day.
diff --git a/ui-ngx/src/assets/locale/locale.constant-en_US.json b/ui-ngx/src/assets/locale/locale.constant-en_US.json
index 813195ea98..477c1fa012 100644
--- a/ui-ngx/src/assets/locale/locale.constant-en_US.json
+++ b/ui-ngx/src/assets/locale/locale.constant-en_US.json
@@ -558,6 +558,7 @@
},
"alarm": {
"alarm": "Alarm",
+ "alarm-list": "Alarm list",
"alarms": "Alarms",
"all-alarms": "All alarms",
"select-alarm": "Select alarm",
@@ -1209,8 +1210,9 @@
"propagation-path-related-entities": "Propagation path to related entities",
"propagate-type": {
"arguments-only": "Arguments only",
- "expression-result": "Expression result"
+ "expression-result": "Calculation result"
},
+ "script": "Script",
"data-propagate": "Data to propagate",
"output-key": "Output key",
"copy-output-key": "Copy output key",
@@ -1368,7 +1370,7 @@
"arguments-aggregation": "Defines input parameters used for filtering and aggregation.",
"setting-arguments-aggregation": "Data will be fetched from related entities configured in aggregation path.",
"metrics": "Defines metrics aggregated based on the configured arguments.",
- "import-invalid-calculated-field-type": "Unable to import calculated field: Invalid calculated field type."
+ "import-invalid-calculated-field-type": "Unable to import calculated field: Invalid calculated field structure."
}
},
"alarm-rule": {
@@ -1378,7 +1380,7 @@
"alarm-rules-old": "Old",
"alarm-rules-actual": "Actual",
"severities": "Severities",
- "cleared": "Clear condition",
+ "cleared": "Clearing condition",
"delete-title": "Are you sure you want to delete the alarm rule '{{title}}'?",
"delete-text": "Be careful, after the confirmation the alarm rule and all related data will become unrecoverable.",
"delete-multiple-title": "Are you sure you want to delete { count, plural, =1 {1 alarm rule} other {# alarm rules} }?",
@@ -1395,7 +1397,8 @@
"entity-type": "Entity type",
"target-entity-type": "Target entity type",
"entity-type-required": "Entity type is required.",
- "entity-name": "Entity name",
+ "target-entity": "Target entity",
+ "target-entities": "Target entities",
"alarm-type": "Alarm type",
"alarm-type-required": "Alarm type is required.",
"alarm-type-pattern": "Alarm type is invalid.",
@@ -1412,7 +1415,7 @@
"condition-during": "During {{during}}",
"condition-during-dynamic": "During \"{{ attribute }}\"",
"condition-repeat-times": "Repeats { count, plural, =1 {1 time} other {# times} }",
- "condition-repeat-times-dynamic": "Repeats \"{ attribute }\"",
+ "condition-repeat-times-dynamic": "Repeats \"{{ attribute }}\"",
"filter-preview": "Filter preview",
"condition-settings": "Condition settings",
"static": "Static",
@@ -1421,7 +1424,7 @@
"argument-name": "Argument name",
"value-type": "Value type",
"general": "General",
- "filter": "Filter",
+ "filters": "Filters",
"date-time-hint": "The argument must be in epoch milliseconds. Example: 1698839340000 equals 2023-11-01 12:49:00 UTC.",
"operation": "Operation",
"value-source": "Value source",
@@ -1429,8 +1432,11 @@
"ignore-case": "Ignore case",
"condition": "Condition",
"script": "Script",
- "add-filter": "Add filter",
- "edit-filter": "Edit filter",
+ "add-filter": "Add argument filter",
+ "edit-filter": "Argument filter",
+ "remove-filter": "Remove argument filter",
+ "no-filter": "No argument filters configured",
+ "filter-required": "At least one filter must be configured.",
"conditions": {
"simple": "Simple",
"duration": "Duration",
@@ -1478,16 +1484,18 @@
"edit-alarm-rule-additional-info": "Edit additional info",
"alarm-rule-additional-info-placeholder": "Please provide your comments and adjustments here to display them within Alarm details under Additional info",
"alarm-rule-additional-info-hint": "Hint: use ${Argument name} to substitute values of the arguments that are used in alarm rule condition.",
+ "alarm-rule-additional-info-icon-hint": "Use Argument name to substitute values of the arguments that are used in alarm rule condition.",
"alarm-rule-mobile-dashboard": "Mobile dashboard",
"alarm-rule-mobile-dashboard-hint": "Used by mobile application as an alarm details dashboard",
"alarm-rule-no-mobile-dashboard": "No dashboard selected",
"alarm-rule-condition": "Alarm rule condition",
- "enter-alarm-rule-condition-prompt": "Add alarm rule creating condition",
- "enter-alarm-rule-clear-condition-prompt": "Add alarm rule clearing condition",
- "edit-alarm-rule-condition": "Edit alarm rule condition",
+ "enter-alarm-rule-condition-prompt": "Add condition",
+ "enter-alarm-rule-clear-condition-prompt": "Add clearing condition",
+ "edit-alarm-rule-condition": "Alarm condition",
"condition-type": "Condition type",
+ "condition-type-hint": "\"Duration\" and \"Repeating\" options are not available when the \"Missing for\" operation is used in the filter.",
"select-alarm-severity": "Select alarm severity",
- "add-create-alarm-rule-prompt": "At least one creation condition should be specified",
+ "add-create-alarm-rule-prompt": "At least one creation condition should be configured",
"add-create-alarm-rule": "Add creation condition",
"add-clear-alarm-rule": "Add clearing condition",
"condition-duration": "Condition duration",
@@ -1498,6 +1506,7 @@
"condition-duration-value-required": "Duration value is required.",
"condition-duration-time-unit-required": "Time unit is required.",
"condition-repeating-value": "Count of events",
+ "condition-repeating-value-hint": "Update of any alarm rule argument will be counted as event",
"condition-repeating-value-range": "Count of events should be in a range from 1 to 2147483647.",
"condition-repeating-value-pattern": "Count of events should be integers.",
"condition-repeating-value-required": "Count of events is required.",
@@ -1513,12 +1522,22 @@
"alarm-rule-filter-title": "Filter",
"debugging": "Alarm rule debugging",
"any-type": "Any type",
- "enter-alarm-rule-type": "Enter alarm rule type",
- "no-alarm-rule-types-matching": "No alarm rule types matching '{{entitySubtype}}' were found.",
- "alarm-rule-type-list-empty": "No alarm rule types selected.",
- "alarm-rule-type-list": "Alarm rule type list",
+ "enter-alarm-rule-type": "Enter alarm type",
+ "no-alarm-rule-types-matching": "No alarm types matching '{{entitySubtype}}' were found.",
+ "alarm-rule-type-list-empty": "No alarm types selected.",
+ "alarm-rule-type-list": "Alarm type list",
"alarm-rule-entity-list": "Entity list",
- "import-invalid-alarm-rule-type": "Unable to import alarm rule: Invalid alarm rule type."
+ "missing-for": "missing for",
+ "time-unit": "Unit",
+ "value-required": "Value is required.",
+ "min-value": "Value must be 0 or greater.",
+ "argument-in-use": "Argument is used as general argument.",
+ "import-invalid-alarm-rule-type": "Unable to import alarm rule: Invalid alarm rule structure.",
+ "no-filter-preview": "No filter specified",
+ "filter-operation": {
+ "and": "And",
+ "or": "Or"
+ }
},
"ai-models": {
"ai-models": "AI models",
@@ -6456,13 +6475,13 @@
"timewindow": {
"timewindow": "Time window",
"timewindow-settings": "Time window settings",
- "years": "{ years, plural, =1 { year } other {# years } }",
+ "years": "{ years, plural, =1 {1 year } other {# years } }",
"years-short": "{{ years }}y",
- "months": "{ months, plural, =1 { month } other {# months } }",
+ "months": "{ months, plural, =1 {1 month } other {# months } }",
"months-short": "{{ months }}M",
- "weeks": "{ weeks, plural, =1 { week } other {# weeks } }",
+ "weeks": "{ weeks, plural, =1 {1 week } other {# weeks } }",
"weeks-short": "{{ weeks }}w",
- "days": "{ days, plural, =1 { day } other {# days } }",
+ "days": "{ days, plural, =1 {1 day } other {# days } }",
"days-short": "{{ days }}d",
"hours": "{ hours, plural, =0 { hour } =1 {1 hour } other {# hours } }",
"hr": "{{ hr }} hr",
@@ -6522,7 +6541,9 @@
"default-agg-interval": "Default grouping interval",
"edit-intervals-list-hint": "List of available interval options can be specified.",
"edit-grouping-intervals-list-hint": "It is possible to configure the grouping intervals list and default grouping interval.",
- "all": "All"
+ "all": "All",
+ "save-current-settings-as-default": "Save current settings as default time window",
+ "hide-option-from-end-users": "Hide option from end-users"
},
"tooltip": {
"trigger": "Trigger",
@@ -7176,7 +7197,8 @@
"export-relations": "Export relations",
"export-attributes": "Export attributes",
"export-credentials": "Export credentials",
- "export-calculated-fields": "Export calculated fields",
+ "export-calculated-fields": "Export calculated fields \nand alarm rules",
+ "export-alarm-rules": "Export alarm rules",
"entity-versions": "Entity versions",
"versions": "Versions",
"created-time": "Created time",
diff --git a/ui-ngx/yarn.lock b/ui-ngx/yarn.lock
index dc79929cc8..56dc0f47a5 100644
--- a/ui-ngx/yarn.lock
+++ b/ui-ngx/yarn.lock
@@ -5604,11 +5604,6 @@ fs-minipass@^3.0.0:
dependencies:
minipass "^7.0.3"
-fs.realpath@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
- integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
-
fsevents@^2.3.2, fsevents@~2.3.2, fsevents@~2.3.3:
version "2.3.3"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
@@ -5738,10 +5733,10 @@ glob-to-regexp@^0.4.1:
resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
-glob@^10.2.2, glob@^10.3.10, glob@^10.3.3, glob@^10.3.7:
- version "10.4.5"
- resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956"
- integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==
+glob@10.5.0, glob@^10.2.2, glob@^10.3.10, glob@^10.3.3, glob@^10.3.7, glob@^7.1.3:
+ version "10.5.0"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-10.5.0.tgz#8ec0355919cd3338c28428a23d4f24ecc5fe738c"
+ integrity sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==
dependencies:
foreground-child "^3.1.0"
jackspeak "^3.1.2"
@@ -5750,18 +5745,6 @@ glob@^10.2.2, glob@^10.3.10, glob@^10.3.3, glob@^10.3.7:
package-json-from-dist "^1.0.0"
path-scurry "^1.11.1"
-glob@^7.1.3:
- version "7.2.3"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
- integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.1.1"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
global-prefix@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-4.0.0.tgz#e9cc79aab9be1d03287e156a3f912dd0895463ed"
@@ -6104,24 +6087,16 @@ indent-string@^4.0.0:
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
-inflight@^1.0.4:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
- integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
- dependencies:
- once "^1.3.0"
- wrappy "1"
-
-inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
- integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
-
inherits@2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==
+inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
+ integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+
ini@4.1.3, ini@^4.1.3:
version "4.1.3"
resolved "https://registry.yarnpkg.com/ini/-/ini-4.1.3.tgz#4c359675a6071a46985eb39b14e4a2c0ec98a795"
@@ -7170,7 +7145,7 @@ minimatch@9.0.1:
dependencies:
brace-expansion "^2.0.1"
-minimatch@^3.1.1, minimatch@^3.1.2:
+minimatch@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
@@ -7493,10 +7468,10 @@ node-fetch@^3.3.2:
fetch-blob "^3.1.4"
formdata-polyfill "^4.0.10"
-node-forge@^1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3"
- integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==
+node-forge@1.3.3, node-forge@^1:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.3.tgz#0ad80f6333b3a0045e827ac20b7f735f93716751"
+ integrity sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==
node-gyp-build-optional-packages@5.2.2:
version "5.2.2"
@@ -7711,13 +7686,6 @@ on-headers@~1.0.2:
resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f"
integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==
-once@^1.3.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
- integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
- dependencies:
- wrappy "1"
-
onetime@^5.1.0, onetime@^5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
@@ -7982,11 +7950,6 @@ path-exists@^5.0.0:
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7"
integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==
-path-is-absolute@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
- integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
-
path-key@^3.0.0, path-key@^3.1.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
@@ -8005,10 +7968,10 @@ path-scurry@^1.11.1:
lru-cache "^10.2.0"
minipass "^5.0.0 || ^6.0.2 || ^7.0.0"
-path-to-regexp@0.1.10:
- version "0.1.10"
- resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.10.tgz#67e9108c5c0551b9e5326064387de4763c4d5f8b"
- integrity sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==
+path-to-regexp@0.1.10, path-to-regexp@0.1.12:
+ version "0.1.12"
+ resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.12.tgz#d5e1a12e478a976d432ef3c58d534b9923164bb7"
+ integrity sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==
path-type@^5.0.0:
version "5.0.0"
@@ -10079,11 +10042,6 @@ wrap-ansi@^9.0.0:
string-width "^7.0.0"
strip-ansi "^7.1.0"
-wrappy@1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
- integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
-
ws@^8.16.0:
version "8.18.0"
resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc"