shouldIncludeRecordPageLayouts deprecation (#19774)
## Context Deprecating shouldIncludeRecordPageLayouts in preparation for page layout release. See new workspace with standard page layout from standard app <img width="570" height="682" alt="Screenshot 2026-04-16 at 18 35 23" src="https://github.com/user-attachments/assets/bf7fa621-d40d-4c29-8d96-537c58b3eb40" />
This commit is contained in:
@@ -64,7 +64,7 @@ test('Create and update record', async ({ page }) => {
|
|||||||
await lastNameInput.press('Enter');
|
await lastNameInput.press('Enter');
|
||||||
|
|
||||||
// Focus on recordFieldList
|
// Focus on recordFieldList
|
||||||
const recordFieldList = page.getByTestId('person-widget-fields');
|
const recordFieldList = page.getByTestId('record-fields-widget');
|
||||||
await expect(recordFieldList).toBeVisible();
|
await expect(recordFieldList).toBeVisible();
|
||||||
await recordFieldList.getByText('Emails').first().click();
|
await recordFieldList.getByText('Emails').first().click();
|
||||||
|
|
||||||
|
|||||||
+4
-1
@@ -67,6 +67,9 @@ export const WidgetCardShell = ({
|
|||||||
}: WidgetCardShellProps) => {
|
}: WidgetCardShellProps) => {
|
||||||
const { theme } = useContext(ThemeContext);
|
const { theme } = useContext(ThemeContext);
|
||||||
|
|
||||||
|
const dataTestId =
|
||||||
|
widget.type === WidgetType.FIELDS ? 'record-fields-widget' : widget.id;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<WidgetComponentInstanceContext.Provider value={{ instanceId: widget.id }}>
|
<WidgetComponentInstanceContext.Provider value={{ instanceId: widget.id }}>
|
||||||
<WidgetCard
|
<WidgetCard
|
||||||
@@ -81,7 +84,7 @@ export const WidgetCardShell = ({
|
|||||||
onMouseEnter={onMouseEnter}
|
onMouseEnter={onMouseEnter}
|
||||||
onMouseLeave={onMouseLeave}
|
onMouseLeave={onMouseLeave}
|
||||||
data-widget-id={widget.id}
|
data-widget-id={widget.id}
|
||||||
data-testid={widget.id}
|
data-testid={dataTestId}
|
||||||
className="widget"
|
className="widget"
|
||||||
>
|
>
|
||||||
{showHeader && (
|
{showHeader && (
|
||||||
|
|||||||
-1
@@ -65,7 +65,6 @@ export class AddComposeEmailCommandMenuItemCommand extends ActiveOrSuspendedWork
|
|||||||
|
|
||||||
const { allFlatEntityMaps: standardAllFlatEntityMaps } =
|
const { allFlatEntityMaps: standardAllFlatEntityMaps } =
|
||||||
computeTwentyStandardApplicationAllFlatEntityMaps({
|
computeTwentyStandardApplicationAllFlatEntityMaps({
|
||||||
shouldIncludeRecordPageLayouts: true,
|
|
||||||
now: new Date().toISOString(),
|
now: new Date().toISOString(),
|
||||||
workspaceId,
|
workspaceId,
|
||||||
twentyStandardApplicationId: twentyStandardFlatApplication.id,
|
twentyStandardApplicationId: twentyStandardFlatApplication.id,
|
||||||
|
|||||||
-1
@@ -76,7 +76,6 @@ export class DeduplicateEngineCommandsCommand extends ActiveOrSuspendedWorkspace
|
|||||||
|
|
||||||
const { allFlatEntityMaps: standardAllFlatEntityMaps } =
|
const { allFlatEntityMaps: standardAllFlatEntityMaps } =
|
||||||
computeTwentyStandardApplicationAllFlatEntityMaps({
|
computeTwentyStandardApplicationAllFlatEntityMaps({
|
||||||
shouldIncludeRecordPageLayouts: true,
|
|
||||||
now: new Date().toISOString(),
|
now: new Date().toISOString(),
|
||||||
workspaceId,
|
workspaceId,
|
||||||
twentyStandardApplicationId: twentyStandardFlatApplication.id,
|
twentyStandardApplicationId: twentyStandardFlatApplication.id,
|
||||||
|
|||||||
-1
@@ -55,7 +55,6 @@ export class FixSelectAllCommandMenuItemsCommand extends ActiveOrSuspendedWorksp
|
|||||||
|
|
||||||
const { allFlatEntityMaps: standardAllFlatEntityMaps } =
|
const { allFlatEntityMaps: standardAllFlatEntityMaps } =
|
||||||
computeTwentyStandardApplicationAllFlatEntityMaps({
|
computeTwentyStandardApplicationAllFlatEntityMaps({
|
||||||
shouldIncludeRecordPageLayouts: true,
|
|
||||||
now: new Date().toISOString(),
|
now: new Date().toISOString(),
|
||||||
workspaceId,
|
workspaceId,
|
||||||
twentyStandardApplicationId: twentyStandardFlatApplication.id,
|
twentyStandardApplicationId: twentyStandardFlatApplication.id,
|
||||||
|
|||||||
-1
@@ -73,7 +73,6 @@ export class AddSendEmailRecordSelectionCommandMenuItemsCommand extends ActiveOr
|
|||||||
|
|
||||||
const { allFlatEntityMaps: standardAllFlatEntityMaps } =
|
const { allFlatEntityMaps: standardAllFlatEntityMaps } =
|
||||||
computeTwentyStandardApplicationAllFlatEntityMaps({
|
computeTwentyStandardApplicationAllFlatEntityMaps({
|
||||||
shouldIncludeRecordPageLayouts: true,
|
|
||||||
now: new Date().toISOString(),
|
now: new Date().toISOString(),
|
||||||
workspaceId,
|
workspaceId,
|
||||||
twentyStandardApplicationId: twentyStandardFlatApplication.id,
|
twentyStandardApplicationId: twentyStandardFlatApplication.id,
|
||||||
|
|||||||
-1
@@ -48,7 +48,6 @@ export class BackfillStandardSkillsCommand extends ActiveOrSuspendedWorkspaceCom
|
|||||||
|
|
||||||
const { allFlatEntityMaps: standardAllFlatEntityMaps } =
|
const { allFlatEntityMaps: standardAllFlatEntityMaps } =
|
||||||
computeTwentyStandardApplicationAllFlatEntityMaps({
|
computeTwentyStandardApplicationAllFlatEntityMaps({
|
||||||
shouldIncludeRecordPageLayouts: true,
|
|
||||||
now: new Date().toISOString(),
|
now: new Date().toISOString(),
|
||||||
workspaceId,
|
workspaceId,
|
||||||
twentyStandardApplicationId: twentyStandardFlatApplication.id,
|
twentyStandardApplicationId: twentyStandardFlatApplication.id,
|
||||||
|
|||||||
-1
@@ -53,7 +53,6 @@ export class FixMergeCommandSelectAllCommand extends ActiveOrSuspendedWorkspaceC
|
|||||||
|
|
||||||
const { allFlatEntityMaps: standardAllFlatEntityMaps } =
|
const { allFlatEntityMaps: standardAllFlatEntityMaps } =
|
||||||
computeTwentyStandardApplicationAllFlatEntityMaps({
|
computeTwentyStandardApplicationAllFlatEntityMaps({
|
||||||
shouldIncludeRecordPageLayouts: true,
|
|
||||||
now: new Date().toISOString(),
|
now: new Date().toISOString(),
|
||||||
workspaceId,
|
workspaceId,
|
||||||
twentyStandardApplicationId: twentyStandardFlatApplication.id,
|
twentyStandardApplicationId: twentyStandardFlatApplication.id,
|
||||||
|
|||||||
-1
@@ -240,7 +240,6 @@ export class BackfillRecordPageLayoutsCommand extends ActiveOrSuspendedWorkspace
|
|||||||
}): Promise<void> {
|
}): Promise<void> {
|
||||||
const { allFlatEntityMaps: standardMaps } =
|
const { allFlatEntityMaps: standardMaps } =
|
||||||
computeTwentyStandardApplicationAllFlatEntityMaps({
|
computeTwentyStandardApplicationAllFlatEntityMaps({
|
||||||
shouldIncludeRecordPageLayouts: true,
|
|
||||||
now: new Date().toISOString(),
|
now: new Date().toISOString(),
|
||||||
workspaceId,
|
workspaceId,
|
||||||
twentyStandardApplicationId: twentyStandardFlatApplication.id,
|
twentyStandardApplicationId: twentyStandardFlatApplication.id,
|
||||||
|
|||||||
-1
@@ -58,7 +58,6 @@ export class UpdateGlobalObjectContextCommandMenuItemsCommand extends ActiveOrSu
|
|||||||
|
|
||||||
const { allFlatEntityMaps: standardAllFlatEntityMaps } =
|
const { allFlatEntityMaps: standardAllFlatEntityMaps } =
|
||||||
computeTwentyStandardApplicationAllFlatEntityMaps({
|
computeTwentyStandardApplicationAllFlatEntityMaps({
|
||||||
shouldIncludeRecordPageLayouts: true,
|
|
||||||
now: new Date().toISOString(),
|
now: new Date().toISOString(),
|
||||||
workspaceId,
|
workspaceId,
|
||||||
twentyStandardApplicationId: twentyStandardFlatApplication.id,
|
twentyStandardApplicationId: twentyStandardFlatApplication.id,
|
||||||
|
|||||||
@@ -230,14 +230,16 @@ export class ConfigVariables {
|
|||||||
@ValidateIf((env) => env.AUTH_MICROSOFT_ENABLED)
|
@ValidateIf((env) => env.AUTH_MICROSOFT_ENABLED)
|
||||||
AUTH_MICROSOFT_APIS_CALLBACK_URL: string;
|
AUTH_MICROSOFT_APIS_CALLBACK_URL: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @deprecated Use is now GA - record page layouts are always seeded
|
||||||
|
*/
|
||||||
@ConfigVariablesMetadata({
|
@ConfigVariablesMetadata({
|
||||||
group: ConfigVariablesGroup.ADVANCED_SETTINGS,
|
group: ConfigVariablesGroup.ADVANCED_SETTINGS,
|
||||||
description:
|
description: 'Deprecated - record page layouts are now always seeded (GA)',
|
||||||
'Enable or disable the seeding of standard record page layouts',
|
|
||||||
type: ConfigVariableType.BOOLEAN,
|
type: ConfigVariableType.BOOLEAN,
|
||||||
})
|
})
|
||||||
@IsOptional()
|
@IsOptional()
|
||||||
SHOULD_SEED_STANDARD_RECORD_PAGE_LAYOUTS = false;
|
SHOULD_SEED_STANDARD_RECORD_PAGE_LAYOUTS = true;
|
||||||
|
|
||||||
@ConfigVariablesMetadata({
|
@ConfigVariablesMetadata({
|
||||||
group: ConfigVariablesGroup.MICROSOFT_AUTH,
|
group: ConfigVariablesGroup.MICROSOFT_AUTH,
|
||||||
|
|||||||
-7
@@ -1,7 +1,6 @@
|
|||||||
import { Injectable } from '@nestjs/common';
|
import { Injectable } from '@nestjs/common';
|
||||||
|
|
||||||
import { ApplicationService } from 'src/engine/core-modules/application/application.service';
|
import { ApplicationService } from 'src/engine/core-modules/application/application.service';
|
||||||
import { TwentyConfigService } from 'src/engine/core-modules/twenty-config/twenty-config.service';
|
|
||||||
import { MetadataFlatEntity } from 'src/engine/metadata-modules/flat-entity/types/metadata-flat-entity.type';
|
import { MetadataFlatEntity } from 'src/engine/metadata-modules/flat-entity/types/metadata-flat-entity.type';
|
||||||
import { getMetadataFlatEntityMapsKey } from 'src/engine/metadata-modules/flat-entity/utils/get-metadata-flat-entity-maps-key.util';
|
import { getMetadataFlatEntityMapsKey } from 'src/engine/metadata-modules/flat-entity/utils/get-metadata-flat-entity-maps-key.util';
|
||||||
import { getSubFlatEntityMapsByApplicationIdsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/get-sub-flat-entity-maps-by-application-ids-or-throw.util';
|
import { getSubFlatEntityMapsByApplicationIdsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/get-sub-flat-entity-maps-by-application-ids-or-throw.util';
|
||||||
@@ -18,7 +17,6 @@ import { FromToAllUniversalFlatEntityMaps } from 'src/engine/workspace-manager/w
|
|||||||
export class TwentyStandardApplicationService {
|
export class TwentyStandardApplicationService {
|
||||||
constructor(
|
constructor(
|
||||||
private readonly applicationService: ApplicationService,
|
private readonly applicationService: ApplicationService,
|
||||||
private readonly twentyConfigService: TwentyConfigService,
|
|
||||||
private readonly workspaceMigrationValidateBuildAndRunService: WorkspaceMigrationValidateBuildAndRunService,
|
private readonly workspaceMigrationValidateBuildAndRunService: WorkspaceMigrationValidateBuildAndRunService,
|
||||||
private readonly workspaceCacheService: WorkspaceCacheService,
|
private readonly workspaceCacheService: WorkspaceCacheService,
|
||||||
private readonly globalWorkspaceOrmManager: GlobalWorkspaceOrmManager,
|
private readonly globalWorkspaceOrmManager: GlobalWorkspaceOrmManager,
|
||||||
@@ -41,10 +39,6 @@ export class TwentyStandardApplicationService {
|
|||||||
'featureFlagsMap',
|
'featureFlagsMap',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const shouldIncludeRecordPageLayouts = this.twentyConfigService.get(
|
|
||||||
'SHOULD_SEED_STANDARD_RECORD_PAGE_LAYOUTS',
|
|
||||||
);
|
|
||||||
|
|
||||||
const {
|
const {
|
||||||
allFlatEntityMaps: toTwentyStandardAllFlatEntityMaps,
|
allFlatEntityMaps: toTwentyStandardAllFlatEntityMaps,
|
||||||
idByUniversalIdentifierByMetadataName,
|
idByUniversalIdentifierByMetadataName,
|
||||||
@@ -52,7 +46,6 @@ export class TwentyStandardApplicationService {
|
|||||||
now: new Date().toISOString(),
|
now: new Date().toISOString(),
|
||||||
workspaceId,
|
workspaceId,
|
||||||
twentyStandardApplicationId: twentyStandardFlatApplication.id,
|
twentyStandardApplicationId: twentyStandardFlatApplication.id,
|
||||||
shouldIncludeRecordPageLayouts,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const fromToAllFlatEntityMaps: FromToAllUniversalFlatEntityMaps = {};
|
const fromToAllFlatEntityMaps: FromToAllUniversalFlatEntityMaps = {};
|
||||||
|
|||||||
+2
-16
@@ -2,10 +2,7 @@ import { createEmptyFlatEntityMaps } from 'src/engine/metadata-modules/flat-enti
|
|||||||
import { type FlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-maps.type';
|
import { type FlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-maps.type';
|
||||||
import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util';
|
import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util';
|
||||||
import { type FlatPageLayoutTab } from 'src/engine/metadata-modules/flat-page-layout-tab/types/flat-page-layout-tab.type';
|
import { type FlatPageLayoutTab } from 'src/engine/metadata-modules/flat-page-layout-tab/types/flat-page-layout-tab.type';
|
||||||
import {
|
import { STANDARD_PAGE_LAYOUTS } from 'src/engine/workspace-manager/twenty-standard-application/constants/standard-page-layout.constant';
|
||||||
STANDARD_PAGE_LAYOUTS,
|
|
||||||
STANDARD_RECORD_PAGE_LAYOUTS,
|
|
||||||
} from 'src/engine/workspace-manager/twenty-standard-application/constants/standard-page-layout.constant';
|
|
||||||
import { type StandardPageLayoutTabConfig } from 'src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-page-layout-config.type';
|
import { type StandardPageLayoutTabConfig } from 'src/engine/workspace-manager/twenty-standard-application/utils/page-layout-config/standard-page-layout-config.type';
|
||||||
import {
|
import {
|
||||||
type CreateStandardPageLayoutTabArgs,
|
type CreateStandardPageLayoutTabArgs,
|
||||||
@@ -15,28 +12,17 @@ import {
|
|||||||
export type BuildStandardFlatPageLayoutTabMetadataMapsArgs = Omit<
|
export type BuildStandardFlatPageLayoutTabMetadataMapsArgs = Omit<
|
||||||
CreateStandardPageLayoutTabArgs,
|
CreateStandardPageLayoutTabArgs,
|
||||||
'context'
|
'context'
|
||||||
> & {
|
>;
|
||||||
shouldIncludeRecordPageLayouts?: boolean;
|
|
||||||
};
|
|
||||||
|
|
||||||
export const buildStandardFlatPageLayoutTabMetadataMaps = ({
|
export const buildStandardFlatPageLayoutTabMetadataMaps = ({
|
||||||
now,
|
now,
|
||||||
workspaceId,
|
workspaceId,
|
||||||
twentyStandardApplicationId,
|
twentyStandardApplicationId,
|
||||||
standardPageLayoutMetadataRelatedEntityIds,
|
standardPageLayoutMetadataRelatedEntityIds,
|
||||||
shouldIncludeRecordPageLayouts,
|
|
||||||
}: BuildStandardFlatPageLayoutTabMetadataMapsArgs): FlatEntityMaps<FlatPageLayoutTab> => {
|
}: BuildStandardFlatPageLayoutTabMetadataMapsArgs): FlatEntityMaps<FlatPageLayoutTab> => {
|
||||||
const allPageLayoutTabMetadatas: FlatPageLayoutTab[] = [];
|
const allPageLayoutTabMetadatas: FlatPageLayoutTab[] = [];
|
||||||
const recordPageLayoutNames = Object.keys(STANDARD_RECORD_PAGE_LAYOUTS);
|
|
||||||
|
|
||||||
for (const layoutName of Object.keys(STANDARD_PAGE_LAYOUTS)) {
|
for (const layoutName of Object.keys(STANDARD_PAGE_LAYOUTS)) {
|
||||||
if (
|
|
||||||
!shouldIncludeRecordPageLayouts &&
|
|
||||||
recordPageLayoutNames.includes(layoutName)
|
|
||||||
) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
const layout = STANDARD_PAGE_LAYOUTS[
|
const layout = STANDARD_PAGE_LAYOUTS[
|
||||||
layoutName as keyof typeof STANDARD_PAGE_LAYOUTS
|
layoutName as keyof typeof STANDARD_PAGE_LAYOUTS
|
||||||
] as { tabs: Record<string, StandardPageLayoutTabConfig> };
|
] as { tabs: Record<string, StandardPageLayoutTabConfig> };
|
||||||
|
|||||||
+2
-6
@@ -23,9 +23,7 @@ import { findObjectNameByUniversalIdentifier } from 'src/engine/workspace-manage
|
|||||||
export type BuildStandardFlatPageLayoutWidgetMetadataMapsArgs = Omit<
|
export type BuildStandardFlatPageLayoutWidgetMetadataMapsArgs = Omit<
|
||||||
CreateStandardPageLayoutWidgetArgs,
|
CreateStandardPageLayoutWidgetArgs,
|
||||||
'context'
|
'context'
|
||||||
> & {
|
>;
|
||||||
shouldIncludeRecordPageLayouts?: boolean;
|
|
||||||
};
|
|
||||||
|
|
||||||
const RECORD_PAGE_LAYOUT_WIDGET_TYPES = [
|
const RECORD_PAGE_LAYOUT_WIDGET_TYPES = [
|
||||||
WidgetType.FIELDS,
|
WidgetType.FIELDS,
|
||||||
@@ -336,9 +334,7 @@ export const buildStandardFlatPageLayoutWidgetMetadataMaps = (
|
|||||||
): FlatEntityMaps<FlatPageLayoutWidget> => {
|
): FlatEntityMaps<FlatPageLayoutWidget> => {
|
||||||
const allWidgetMetadatas: FlatPageLayoutWidget[] = [
|
const allWidgetMetadatas: FlatPageLayoutWidget[] = [
|
||||||
...computeMyFirstDashboardWidgets(args),
|
...computeMyFirstDashboardWidgets(args),
|
||||||
...(args.shouldIncludeRecordPageLayouts
|
...computeRecordPageWidgets(args),
|
||||||
? computeRecordPageWidgets(args)
|
|
||||||
: []),
|
|
||||||
];
|
];
|
||||||
|
|
||||||
let flatPageLayoutWidgetMaps = createEmptyFlatEntityMaps();
|
let flatPageLayoutWidgetMaps = createEmptyFlatEntityMaps();
|
||||||
|
|||||||
+3
-16
@@ -2,33 +2,20 @@ import { createEmptyFlatEntityMaps } from 'src/engine/metadata-modules/flat-enti
|
|||||||
import { type FlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-maps.type';
|
import { type FlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-maps.type';
|
||||||
import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util';
|
import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util';
|
||||||
import { type FlatPageLayout } from 'src/engine/metadata-modules/flat-page-layout/types/flat-page-layout.type';
|
import { type FlatPageLayout } from 'src/engine/metadata-modules/flat-page-layout/types/flat-page-layout.type';
|
||||||
import { STANDARD_RECORD_PAGE_LAYOUTS } from 'src/engine/workspace-manager/twenty-standard-application/constants/standard-page-layout.constant';
|
|
||||||
import { type CreateStandardPageLayoutArgs } from 'src/engine/workspace-manager/twenty-standard-application/utils/page-layout/create-standard-page-layout-flat-metadata.util';
|
import { type CreateStandardPageLayoutArgs } from 'src/engine/workspace-manager/twenty-standard-application/utils/page-layout/create-standard-page-layout-flat-metadata.util';
|
||||||
import { STANDARD_FLAT_PAGE_LAYOUT_BUILDERS_BY_LAYOUT_NAME } from 'src/engine/workspace-manager/twenty-standard-application/utils/page-layout/standard-flat-page-layout-builders.constant';
|
import { STANDARD_FLAT_PAGE_LAYOUT_BUILDERS_BY_LAYOUT_NAME } from 'src/engine/workspace-manager/twenty-standard-application/utils/page-layout/standard-flat-page-layout-builders.constant';
|
||||||
|
|
||||||
export type BuildStandardFlatPageLayoutMetadataMapsArgs = Omit<
|
export type BuildStandardFlatPageLayoutMetadataMapsArgs = Omit<
|
||||||
CreateStandardPageLayoutArgs,
|
CreateStandardPageLayoutArgs,
|
||||||
'context'
|
'context'
|
||||||
> & {
|
>;
|
||||||
shouldIncludeRecordPageLayouts?: boolean;
|
|
||||||
};
|
|
||||||
|
|
||||||
export const buildStandardFlatPageLayoutMetadataMaps = (
|
export const buildStandardFlatPageLayoutMetadataMaps = (
|
||||||
args: BuildStandardFlatPageLayoutMetadataMapsArgs,
|
args: BuildStandardFlatPageLayoutMetadataMapsArgs,
|
||||||
): FlatEntityMaps<FlatPageLayout> => {
|
): FlatEntityMaps<FlatPageLayout> => {
|
||||||
const recordPageLayoutNames = Object.keys(STANDARD_RECORD_PAGE_LAYOUTS);
|
const allPageLayoutMetadatas: FlatPageLayout[] = Object.values(
|
||||||
|
|
||||||
const layoutEntries = Object.entries(
|
|
||||||
STANDARD_FLAT_PAGE_LAYOUT_BUILDERS_BY_LAYOUT_NAME,
|
STANDARD_FLAT_PAGE_LAYOUT_BUILDERS_BY_LAYOUT_NAME,
|
||||||
).filter(
|
).map((builder) => builder(args));
|
||||||
([layoutName]) =>
|
|
||||||
args.shouldIncludeRecordPageLayouts ||
|
|
||||||
!recordPageLayoutNames.includes(layoutName),
|
|
||||||
);
|
|
||||||
|
|
||||||
const allPageLayoutMetadatas: FlatPageLayout[] = layoutEntries.map(
|
|
||||||
([, builder]) => builder(args),
|
|
||||||
);
|
|
||||||
|
|
||||||
let flatPageLayoutMaps = createEmptyFlatEntityMaps();
|
let flatPageLayoutMaps = createEmptyFlatEntityMaps();
|
||||||
|
|
||||||
|
|||||||
-8
@@ -28,14 +28,12 @@ export type ComputeTwentyStandardApplicationAllFlatEntityMapsArgs = {
|
|||||||
now: string;
|
now: string;
|
||||||
workspaceId: string;
|
workspaceId: string;
|
||||||
twentyStandardApplicationId: string;
|
twentyStandardApplicationId: string;
|
||||||
shouldIncludeRecordPageLayouts?: boolean;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export const computeTwentyStandardApplicationAllFlatEntityMaps = ({
|
export const computeTwentyStandardApplicationAllFlatEntityMaps = ({
|
||||||
now,
|
now,
|
||||||
workspaceId,
|
workspaceId,
|
||||||
twentyStandardApplicationId,
|
twentyStandardApplicationId,
|
||||||
shouldIncludeRecordPageLayouts,
|
|
||||||
}: ComputeTwentyStandardApplicationAllFlatEntityMapsArgs): {
|
}: ComputeTwentyStandardApplicationAllFlatEntityMapsArgs): {
|
||||||
allFlatEntityMaps: TwentyStandardAllFlatEntityMaps;
|
allFlatEntityMaps: TwentyStandardAllFlatEntityMaps;
|
||||||
// TODO remove once all metadatas has fully been universal migrated
|
// TODO remove once all metadatas has fully been universal migrated
|
||||||
@@ -84,7 +82,6 @@ export const computeTwentyStandardApplicationAllFlatEntityMaps = ({
|
|||||||
standardObjectMetadataRelatedEntityIds,
|
standardObjectMetadataRelatedEntityIds,
|
||||||
twentyStandardApplicationId,
|
twentyStandardApplicationId,
|
||||||
workspaceId,
|
workspaceId,
|
||||||
shouldIncludeRecordPageLayouts,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const flatViewGroupMaps = buildStandardFlatViewGroupMetadataMaps({
|
const flatViewGroupMaps = buildStandardFlatViewGroupMetadataMaps({
|
||||||
@@ -108,7 +105,6 @@ export const computeTwentyStandardApplicationAllFlatEntityMaps = ({
|
|||||||
standardObjectMetadataRelatedEntityIds,
|
standardObjectMetadataRelatedEntityIds,
|
||||||
twentyStandardApplicationId,
|
twentyStandardApplicationId,
|
||||||
workspaceId,
|
workspaceId,
|
||||||
shouldIncludeRecordPageLayouts,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const flatViewFilterMaps = buildStandardFlatViewFilterMetadataMaps({
|
const flatViewFilterMaps = buildStandardFlatViewFilterMetadataMaps({
|
||||||
@@ -134,7 +130,6 @@ export const computeTwentyStandardApplicationAllFlatEntityMaps = ({
|
|||||||
standardObjectMetadataRelatedEntityIds,
|
standardObjectMetadataRelatedEntityIds,
|
||||||
twentyStandardApplicationId,
|
twentyStandardApplicationId,
|
||||||
workspaceId,
|
workspaceId,
|
||||||
shouldIncludeRecordPageLayouts,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const flatRoleMaps = buildStandardFlatRoleMetadataMaps({
|
const flatRoleMaps = buildStandardFlatRoleMetadataMaps({
|
||||||
@@ -172,7 +167,6 @@ export const computeTwentyStandardApplicationAllFlatEntityMaps = ({
|
|||||||
twentyStandardApplicationId,
|
twentyStandardApplicationId,
|
||||||
standardObjectMetadataRelatedEntityIds,
|
standardObjectMetadataRelatedEntityIds,
|
||||||
standardPageLayoutMetadataRelatedEntityIds,
|
standardPageLayoutMetadataRelatedEntityIds,
|
||||||
shouldIncludeRecordPageLayouts,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const flatPageLayoutTabMaps = buildStandardFlatPageLayoutTabMetadataMaps({
|
const flatPageLayoutTabMaps = buildStandardFlatPageLayoutTabMetadataMaps({
|
||||||
@@ -180,7 +174,6 @@ export const computeTwentyStandardApplicationAllFlatEntityMaps = ({
|
|||||||
workspaceId,
|
workspaceId,
|
||||||
twentyStandardApplicationId,
|
twentyStandardApplicationId,
|
||||||
standardPageLayoutMetadataRelatedEntityIds,
|
standardPageLayoutMetadataRelatedEntityIds,
|
||||||
shouldIncludeRecordPageLayouts,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const flatPageLayoutWidgetMaps =
|
const flatPageLayoutWidgetMaps =
|
||||||
@@ -190,7 +183,6 @@ export const computeTwentyStandardApplicationAllFlatEntityMaps = ({
|
|||||||
twentyStandardApplicationId,
|
twentyStandardApplicationId,
|
||||||
standardObjectMetadataRelatedEntityIds,
|
standardObjectMetadataRelatedEntityIds,
|
||||||
standardPageLayoutMetadataRelatedEntityIds,
|
standardPageLayoutMetadataRelatedEntityIds,
|
||||||
shouldIncludeRecordPageLayouts,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const flatNavigationMenuItemMaps = buildStandardFlatNavigationMenuItemMaps({
|
const flatNavigationMenuItemMaps = buildStandardFlatNavigationMenuItemMaps({
|
||||||
|
|||||||
+4
-11
@@ -58,18 +58,11 @@ const STANDARD_FLAT_VIEW_FIELD_GROUP_METADATA_BUILDERS_BY_OBJECT_NAME = {
|
|||||||
export type BuildStandardFlatViewFieldGroupMetadataMapsArgs = Omit<
|
export type BuildStandardFlatViewFieldGroupMetadataMapsArgs = Omit<
|
||||||
CreateStandardViewFieldGroupArgs,
|
CreateStandardViewFieldGroupArgs,
|
||||||
'context' | 'objectName'
|
'context' | 'objectName'
|
||||||
> & {
|
>;
|
||||||
shouldIncludeRecordPageLayouts?: boolean;
|
|
||||||
};
|
|
||||||
|
|
||||||
export const buildStandardFlatViewFieldGroupMetadataMaps = ({
|
|
||||||
shouldIncludeRecordPageLayouts,
|
|
||||||
...args
|
|
||||||
}: BuildStandardFlatViewFieldGroupMetadataMapsArgs): FlatEntityMaps<FlatViewFieldGroup> => {
|
|
||||||
if (!shouldIncludeRecordPageLayouts) {
|
|
||||||
return createEmptyFlatEntityMaps();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
export const buildStandardFlatViewFieldGroupMetadataMaps = (
|
||||||
|
args: BuildStandardFlatViewFieldGroupMetadataMapsArgs,
|
||||||
|
): FlatEntityMaps<FlatViewFieldGroup> => {
|
||||||
const allViewFieldGroupMetadatas: FlatViewFieldGroup[] = (
|
const allViewFieldGroupMetadatas: FlatViewFieldGroup[] = (
|
||||||
Object.keys(
|
Object.keys(
|
||||||
STANDARD_FLAT_VIEW_FIELD_GROUP_METADATA_BUILDERS_BY_OBJECT_NAME,
|
STANDARD_FLAT_VIEW_FIELD_GROUP_METADATA_BUILDERS_BY_OBJECT_NAME,
|
||||||
|
|||||||
+5
-18
@@ -1,5 +1,3 @@
|
|||||||
import { isDefined } from 'twenty-shared/utils';
|
|
||||||
|
|
||||||
import { createEmptyFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/constant/create-empty-flat-entity-maps.constant';
|
import { createEmptyFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/constant/create-empty-flat-entity-maps.constant';
|
||||||
import { type FlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-maps.type';
|
import { type FlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-maps.type';
|
||||||
import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util';
|
import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util';
|
||||||
@@ -78,14 +76,11 @@ const STANDARD_FLAT_VIEW_FIELD_METADATA_BUILDERS_BY_OBJECT_NAME = {
|
|||||||
export type BuildStandardFlatViewFieldMetadataMapsArgs = Omit<
|
export type BuildStandardFlatViewFieldMetadataMapsArgs = Omit<
|
||||||
CreateStandardViewFieldArgs,
|
CreateStandardViewFieldArgs,
|
||||||
'context' | 'objectName'
|
'context' | 'objectName'
|
||||||
> & {
|
>;
|
||||||
shouldIncludeRecordPageLayouts?: boolean;
|
|
||||||
};
|
|
||||||
|
|
||||||
export const buildStandardFlatViewFieldMetadataMaps = ({
|
export const buildStandardFlatViewFieldMetadataMaps = (
|
||||||
shouldIncludeRecordPageLayouts,
|
args: BuildStandardFlatViewFieldMetadataMapsArgs,
|
||||||
...args
|
): FlatEntityMaps<FlatViewField> => {
|
||||||
}: BuildStandardFlatViewFieldMetadataMapsArgs): FlatEntityMaps<FlatViewField> => {
|
|
||||||
const allViewFieldMetadatas: FlatViewField[] = (
|
const allViewFieldMetadatas: FlatViewField[] = (
|
||||||
Object.keys(
|
Object.keys(
|
||||||
STANDARD_FLAT_VIEW_FIELD_METADATA_BUILDERS_BY_OBJECT_NAME,
|
STANDARD_FLAT_VIEW_FIELD_METADATA_BUILDERS_BY_OBJECT_NAME,
|
||||||
@@ -99,15 +94,7 @@ export const buildStandardFlatViewFieldMetadataMaps = ({
|
|||||||
objectName,
|
objectName,
|
||||||
});
|
});
|
||||||
|
|
||||||
return Object.values(result).filter(
|
return Object.values(result);
|
||||||
(viewField) =>
|
|
||||||
shouldIncludeRecordPageLayouts ||
|
|
||||||
isDefined(
|
|
||||||
args.dependencyFlatEntityMaps.flatViewMaps.byUniversalIdentifier[
|
|
||||||
viewField.viewUniversalIdentifier
|
|
||||||
],
|
|
||||||
),
|
|
||||||
);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
let flatViewFieldMaps = createEmptyFlatEntityMaps();
|
let flatViewFieldMaps = createEmptyFlatEntityMaps();
|
||||||
|
|||||||
+5
-13
@@ -1,5 +1,3 @@
|
|||||||
import { ViewType } from 'twenty-shared/types';
|
|
||||||
|
|
||||||
import { createEmptyFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/constant/create-empty-flat-entity-maps.constant';
|
import { createEmptyFlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/constant/create-empty-flat-entity-maps.constant';
|
||||||
import { type FlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-maps.type';
|
import { type FlatEntityMaps } from 'src/engine/metadata-modules/flat-entity/types/flat-entity-maps.type';
|
||||||
import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util';
|
import { addFlatEntityToFlatEntityMapsOrThrow } from 'src/engine/metadata-modules/flat-entity/utils/add-flat-entity-to-flat-entity-maps-or-throw.util';
|
||||||
@@ -78,14 +76,11 @@ const STANDARD_FLAT_VIEW_METADATA_BUILDERS_BY_OBJECT_NAME = {
|
|||||||
export type BuildStandardFlatViewMetadataMapsArgs = Omit<
|
export type BuildStandardFlatViewMetadataMapsArgs = Omit<
|
||||||
CreateStandardViewArgs,
|
CreateStandardViewArgs,
|
||||||
'context' | 'objectName'
|
'context' | 'objectName'
|
||||||
> & {
|
>;
|
||||||
shouldIncludeRecordPageLayouts?: boolean;
|
|
||||||
};
|
|
||||||
|
|
||||||
export const buildStandardFlatViewMetadataMaps = ({
|
export const buildStandardFlatViewMetadataMaps = (
|
||||||
shouldIncludeRecordPageLayouts,
|
args: BuildStandardFlatViewMetadataMapsArgs,
|
||||||
...args
|
): FlatEntityMaps<FlatView> => {
|
||||||
}: BuildStandardFlatViewMetadataMapsArgs): FlatEntityMaps<FlatView> => {
|
|
||||||
const allViewMetadatas: FlatView[] = (
|
const allViewMetadatas: FlatView[] = (
|
||||||
Object.keys(
|
Object.keys(
|
||||||
STANDARD_FLAT_VIEW_METADATA_BUILDERS_BY_OBJECT_NAME,
|
STANDARD_FLAT_VIEW_METADATA_BUILDERS_BY_OBJECT_NAME,
|
||||||
@@ -99,10 +94,7 @@ export const buildStandardFlatViewMetadataMaps = ({
|
|||||||
objectName,
|
objectName,
|
||||||
});
|
});
|
||||||
|
|
||||||
return Object.values(result).filter(
|
return Object.values(result);
|
||||||
(view) =>
|
|
||||||
shouldIncludeRecordPageLayouts || view.type !== ViewType.FIELDS_WIDGET,
|
|
||||||
);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
let flatViewMaps = createEmptyFlatEntityMaps();
|
let flatViewMaps = createEmptyFlatEntityMaps();
|
||||||
|
|||||||
Reference in New Issue
Block a user