Fix moving a widget to another tab (#19450)

https://github.com/user-attachments/assets/aac81e79-7f2f-4a34-bf68-c76061086821

---------

Co-authored-by: Weiko <corentin@twenty.com>
This commit is contained in:
Baptiste Devessier
2026-04-09 15:59:04 +02:00
committed by GitHub
parent 1e908e5f0f
commit 16e145b036
25 changed files with 415 additions and 132 deletions
@@ -5,6 +5,7 @@ import { type FlatPageLayoutTab } from 'src/engine/metadata-modules/flat-page-la
import { type FlatPageLayoutWidgetMaps } from 'src/engine/metadata-modules/flat-page-layout-widget/types/flat-page-layout-widget-maps.type';
import { type FlatPageLayoutWidget } from 'src/engine/metadata-modules/flat-page-layout-widget/types/flat-page-layout-widget.type';
import { type FlatPageLayout } from 'src/engine/metadata-modules/flat-page-layout/types/flat-page-layout.type';
import { resolveOverridableEntityProperty } from 'src/engine/metadata-modules/utils/resolve-overridable-entity-property.util';
export type FlatPageLayoutTabWithWidgets = FlatPageLayoutTab & {
widgets: FlatPageLayoutWidget[];
@@ -14,6 +15,9 @@ export type FlatPageLayoutWithTabsAndWidgets = FlatPageLayout & {
tabs: FlatPageLayoutTabWithWidgets[];
};
const getResolvedPageLayoutTabId = (widget: FlatPageLayoutWidget): string =>
resolveOverridableEntityProperty(widget, 'pageLayoutTabId');
export const reconstructFlatPageLayoutWithTabsAndWidgets = ({
layout,
flatPageLayoutTabMaps,
@@ -33,7 +37,10 @@ export const reconstructFlatPageLayoutWithTabsAndWidgets = ({
flatPageLayoutWidgetMaps.byUniversalIdentifier,
)
.filter(isDefined)
.filter((widget) => widget.pageLayoutTabId === tab.id && widget.isActive);
.filter(
(widget) =>
getResolvedPageLayoutTabId(widget) === tab.id && widget.isActive,
);
return {
...tab,