Skip to content

Commit

Permalink
Merge pull request #5478 from gooddata/pdo-lx-586-nested-layout-view-…
Browse files Browse the repository at this point in the history
…mode

feat: introduce feature flag for dashboard nested layout feature
  • Loading branch information
xMort authored Oct 16, 2024
2 parents afc0419 + e146544 commit 95ab0a4
Show file tree
Hide file tree
Showing 7 changed files with 30 additions and 0 deletions.
7 changes: 7 additions & 0 deletions libs/sdk-backend-tiger/src/backend/features/feature.ts
Original file line number Diff line number Diff line change
Expand Up @@ -548,6 +548,13 @@ export function mapFeatures(features: FeaturesMap): Partial<ITigerFeatureFlags>
"BOOLEAN",
FeatureFlagsValues.enableDefaultSmtp,
),
...loadFeature(
features,
TigerFeaturesNames.EnableDashboardNestedLayout,
"enableDashboardNestedLayout",
"BOOLEAN",
FeatureFlagsValues.enableDashboardNestedLayout,
),
};
}

Expand Down
4 changes: 4 additions & 0 deletions libs/sdk-backend-tiger/src/backend/uiFeatures.ts
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ export enum TigerFeaturesNames {
EnableEarlyAccessFeaturesRollout = "enableEarlyAccessFeaturesRollout",
EnableCrossFilteringAliasTitles = "enableCrossFilteringAliasTitles",
EnableDefaultSmtp = "enableDefaultSmtp",
EnableDashboardNestedLayout = "enableDashboardNestedLayout",
}

export type ITigerFeatureFlags = {
Expand Down Expand Up @@ -195,6 +196,7 @@ export type ITigerFeatureFlags = {
enableEarlyAccessFeaturesRollout: typeof FeatureFlagsValues["enableEarlyAccessFeaturesRollout"][number];
enableCrossFilteringAliasTitles: typeof FeatureFlagsValues["enableCrossFilteringAliasTitles"][number];
enableDefaultSmtp: typeof FeatureFlagsValues["enableDefaultSmtp"][number];
enableDashboardNestedLayout: typeof FeatureFlagsValues["enableDashboardNestedLayout"][number];
};

export const DefaultFeatureFlags: ITigerFeatureFlags = {
Expand Down Expand Up @@ -274,6 +276,7 @@ export const DefaultFeatureFlags: ITigerFeatureFlags = {
enableEarlyAccessFeaturesRollout: false,
enableCrossFilteringAliasTitles: false,
enableDefaultSmtp: false,
enableDashboardNestedLayout: false,
};

export const FeatureFlagsValues = {
Expand Down Expand Up @@ -357,4 +360,5 @@ export const FeatureFlagsValues = {
enableEarlyAccessFeaturesRollout: [true, false] as const,
enableCrossFilteringAliasTitles: [true, false] as const,
enableDefaultSmtp: [true, false] as const,
enableDashboardNestedLayout: [true, false] as const,
};
1 change: 1 addition & 0 deletions libs/sdk-model/api/sdk-model.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -3107,6 +3107,7 @@ export interface ISettings {
enableCsvUploader?: boolean;
enableCustomColorPicker?: boolean;
enableDashboardFilterViews?: boolean;
enableDashboardNestedLayout?: boolean;
enableDataSampling?: boolean;
// (undocumented)
enableDataSection?: boolean;
Expand Down
5 changes: 5 additions & 0 deletions libs/sdk-model/src/settings/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -446,6 +446,11 @@ export interface ISettings {
enableMotherDuckDataSource?: boolean;
enableSingleStoreDataSource?: boolean;

/**
* Enables new dashboard layout renderer with nesting support.
*/
enableDashboardNestedLayout?: boolean;

/**
* Enable GenAI-powered functionality, such as semantic-search.
* @deprecated Use separate flags for semantic search and GenAI chat below.
Expand Down
3 changes: 3 additions & 0 deletions libs/sdk-ui-dashboard/api/sdk-ui-dashboard.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -7449,6 +7449,9 @@ export const selectEnableKPIDashboardScheduleRecipients: DashboardSelector<boole
// @internal
export const selectEnableMultipleDateFilters: DashboardSelector<boolean>;

// @internal
export const selectEnableNestedLayout: DashboardSelector<boolean>;

// @internal
export const selectEnableRenamingMeasureToMetric: DashboardSelector<boolean>;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -767,3 +767,12 @@ export const selectEnableCrossFilteringAliasTitles: DashboardSelector<boolean> =
return state.settings?.enableCrossFilteringAliasTitles ?? false;
},
);

/**
* Returns whether nested layout is enabled.
*
* @internal
*/
export const selectEnableNestedLayout: DashboardSelector<boolean> = createSelector(selectConfig, (state) => {
return state.settings?.enableDashboardNestedLayout ?? false;
});
1 change: 1 addition & 0 deletions libs/sdk-ui-dashboard/src/model/store/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ export {
selectEnableIgnoreCrossFiltering,
selectEnableAutomations,
selectEnableCrossFilteringAliasTitles,
selectEnableNestedLayout,
} from "./config/configSelectors.js";
export type { EntitlementsState } from "./entitlements/entitlementsState.js";
export {
Expand Down

0 comments on commit 95ab0a4

Please sign in to comment.