diff --git a/ui-ngx/src/app/modules/home/components/calculated-fields/components/dialog/calculated-field-dialog.component.html b/ui-ngx/src/app/modules/home/components/calculated-fields/components/dialog/calculated-field-dialog.component.html
index 753df131a5..08bf1328d8 100644
--- a/ui-ngx/src/app/modules/home/components/calculated-fields/components/dialog/calculated-field-dialog.component.html
+++ b/ui-ngx/src/app/modules/home/components/calculated-fields/components/dialog/calculated-field-dialog.component.html
@@ -70,6 +70,7 @@
}
diff --git a/ui-ngx/src/app/modules/home/components/calculated-fields/components/geofencing-configuration/calculated-field-geofencing-zone-groups-panel.component.ts b/ui-ngx/src/app/modules/home/components/calculated-fields/components/geofencing-configuration/calculated-field-geofencing-zone-groups-panel.component.ts
index 19e54f25dd..0e18521572 100644
--- a/ui-ngx/src/app/modules/home/components/calculated-fields/components/geofencing-configuration/calculated-field-geofencing-zone-groups-panel.component.ts
+++ b/ui-ngx/src/app/modules/home/components/calculated-fields/components/geofencing-configuration/calculated-field-geofencing-zone-groups-panel.component.ts
@@ -66,6 +66,7 @@ export class CalculatedFieldGeofencingZoneGroupsPanelComponent implements OnInit
@Input() entityId: EntityId;
@Input() tenantId: string;
@Input() entityName: string;
+ @Input() ownerId: EntityId;
@Input() usedNames: string[];
@ViewChild('entityAutocomplete') entityAutocomplete: EntityAutocompleteComponent;
@@ -195,6 +196,11 @@ export class CalculatedFieldGeofencingZoneGroupsPanelComponent implements OnInit
case ArgumentEntityType.Current:
delete value.refEntityId;
break;
+ case ArgumentEntityType.Owner:
+ delete value.refEntityId;
+ value.refDynamicSourceConfiguration ||= { type: ArgumentEntityType.Owner };
+ value.refDynamicSourceConfiguration.type = ArgumentEntityType.Owner;
+ break;
case ArgumentEntityType.RelationQuery:
delete value.refEntityId;
value.refDynamicSourceConfiguration.type = ArgumentEntityType.RelationQuery;
@@ -219,6 +225,12 @@ export class CalculatedFieldGeofencingZoneGroupsPanelComponent implements OnInit
case ArgumentEntityType.RelationQuery:
entityFilter = this.currentEntityFilter;
break;
+ case ArgumentEntityType.Owner:
+ entityFilter = {
+ type: AliasFilterType.singleEntity,
+ singleEntity: this.ownerId
+ };
+ break;
case ArgumentEntityType.Tenant:
entityFilter = {
type: AliasFilterType.singleEntity,
diff --git a/ui-ngx/src/app/modules/home/components/calculated-fields/components/geofencing-configuration/calculated-field-geofencing-zone-groups-table.component.ts b/ui-ngx/src/app/modules/home/components/calculated-fields/components/geofencing-configuration/calculated-field-geofencing-zone-groups-table.component.ts
index 284e8f98ec..9dc2e99465 100644
--- a/ui-ngx/src/app/modules/home/components/calculated-fields/components/geofencing-configuration/calculated-field-geofencing-zone-groups-table.component.ts
+++ b/ui-ngx/src/app/modules/home/components/calculated-fields/components/geofencing-configuration/calculated-field-geofencing-zone-groups-table.component.ts
@@ -81,6 +81,7 @@ export class CalculatedFieldGeofencingZoneGroupsTableComponent implements Contro
@Input({required: true}) entityId: EntityId;
@Input({required: true}) tenantId: string;
@Input({required: true}) entityName: string;
+ @Input({required: true}) ownerId: EntityId;
@ViewChild(MatSort, { static: true }) sort: MatSort;
@@ -159,6 +160,7 @@ export class CalculatedFieldGeofencingZoneGroupsTableComponent implements Contro
buttonTitle: isExists ? 'action.apply' : 'action.add',
tenantId: this.tenantId,
entityName: this.entityName,
+ ownerId: this.ownerId,
usedNames: this.zoneGroupsFormArray.value.map(({ name }) => name).filter(name => name !== zone.name),
};
this.popoverComponent = this.popoverService.displayPopover({
diff --git a/ui-ngx/src/app/modules/home/components/calculated-fields/components/geofencing-configuration/geofencing-configuration.component.html b/ui-ngx/src/app/modules/home/components/calculated-fields/components/geofencing-configuration/geofencing-configuration.component.html
index 6448cdab35..e0580be7f1 100644
--- a/ui-ngx/src/app/modules/home/components/calculated-fields/components/geofencing-configuration/geofencing-configuration.component.html
+++ b/ui-ngx/src/app/modules/home/components/calculated-fields/components/geofencing-configuration/geofencing-configuration.component.html
@@ -43,6 +43,7 @@
diff --git a/ui-ngx/src/app/modules/home/components/calculated-fields/components/geofencing-configuration/geofencing-configuration.component.ts b/ui-ngx/src/app/modules/home/components/calculated-fields/components/geofencing-configuration/geofencing-configuration.component.ts
index bbf43e93e4..846b063042 100644
--- a/ui-ngx/src/app/modules/home/components/calculated-fields/components/geofencing-configuration/geofencing-configuration.component.ts
+++ b/ui-ngx/src/app/modules/home/components/calculated-fields/components/geofencing-configuration/geofencing-configuration.component.ts
@@ -69,6 +69,9 @@ export class GeofencingConfigurationComponent implements ControlValueAccessor, V
@Input({required: true})
entityName: string;
+ @Input({required: true})
+ ownerId: EntityId;
+
readonly minAllowedScheduledUpdateIntervalInSecForCF = getCurrentAuthState(this.store).minAllowedScheduledUpdateIntervalInSecForCF;
readonly DataKeyType = DataKeyType;
diff --git a/ui-ngx/src/app/modules/home/pages/asset/asset-tabs.component.html b/ui-ngx/src/app/modules/home/pages/asset/asset-tabs.component.html
index b12381bf70..9cb82c07fb 100644
--- a/ui-ngx/src/app/modules/home/pages/asset/asset-tabs.component.html
+++ b/ui-ngx/src/app/modules/home/pages/asset/asset-tabs.component.html
@@ -37,7 +37,7 @@
-
+
}
diff --git a/ui-ngx/src/app/modules/home/pages/device/device-tabs.component.html b/ui-ngx/src/app/modules/home/pages/device/device-tabs.component.html
index 6eab983b53..119da03175 100644
--- a/ui-ngx/src/app/modules/home/pages/device/device-tabs.component.html
+++ b/ui-ngx/src/app/modules/home/pages/device/device-tabs.component.html
@@ -33,10 +33,10 @@
@if (authUser.authority === authorities.TENANT_ADMIN) {
-
+
-
+
}