Add is active to overridable entities and deactivation logic for page layouts (#19200)

- Replace soft-deletion (deletedAt) with isActive boolean for
overridable entities (tabs, widgets, viewFieldGroups, viewFields).
Standard entities are deactivated (isActive: false) when removed from
update payloads, while custom entities are hard-deleted.
- When a viewFieldGroup is deactivated/deleted, its viewFields are
reassigned to the next section by position (or null if none remain).
- Add isActive: true filters to viewFieldGroup and viewField API queries
so deactivated entities are excluded from responses.

Next: 
- fields-widget-upsert.service.ts should be refactored a bit
- Add restore logic
This commit is contained in:
Weiko
2026-04-02 16:50:50 +02:00
committed by GitHub
parent 67d34be7c8
commit c1e4756f9c
35 changed files with 392 additions and 286 deletions
@@ -62,6 +62,7 @@ export const computeFieldsWidgetViewFieldsAndGroupsToCreate = ({
name: 'General',
position: 0,
isVisible: true,
isActive: true,
overrides: null,
viewFieldUniversalIdentifiers: [],
createdAt,
@@ -83,6 +84,7 @@ export const computeFieldsWidgetViewFieldsAndGroupsToCreate = ({
deletedAt: null,
universalIdentifier: v4(),
isVisible,
isActive: true,
size: DEFAULT_VIEW_FIELD_SIZE,
position: index,
aggregateOperation: null,
@@ -101,6 +103,7 @@ export const computeFieldsWidgetViewFieldsAndGroupsToCreate = ({
name: 'Other',
position: 1,
isVisible: true,
isActive: true,
overrides: null,
viewFieldUniversalIdentifiers: [],
createdAt,
@@ -122,6 +125,7 @@ export const computeFieldsWidgetViewFieldsAndGroupsToCreate = ({
deletedAt: null,
universalIdentifier: v4(),
isVisible,
isActive: true,
size: DEFAULT_VIEW_FIELD_SIZE,
position: index,
aggregateOperation: null,