From a5f4c40f58408276cc2ed8b0e3ff95d288c5b454 Mon Sep 17 00:00:00 2001 From: Lin Wang Date: Thu, 3 Aug 2023 17:16:30 +0800 Subject: [PATCH] Feat remove feature group (#72) * feat: remove featureGroup and update management category Signed-off-by: Lin Wang * feat: filter out empty feature category Signed-off-by: Lin Wang --------- Signed-off-by: Lin Wang --- src/core/public/application/types.ts | 5 ----- .../workspace_creator/workspace_form.tsx | 14 +++++++++++--- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/core/public/application/types.ts b/src/core/public/application/types.ts index e284e80297f0..66ee93ffefb6 100644 --- a/src/core/public/application/types.ts +++ b/src/core/public/application/types.ts @@ -252,11 +252,6 @@ export interface App { */ exactRoute?: boolean; - /** - * The feature group of workspace, won't be displayed as feature if feature set is ADMIN. - */ - featureGroup?: Array<'WORKSPACE' | 'ADMIN'>; - /** * The dependencies of one application, required feature will be automatic select and can't * be unselect in the workspace configuration. diff --git a/src/plugins/workspace/public/components/workspace_creator/workspace_form.tsx b/src/plugins/workspace/public/components/workspace_creator/workspace_form.tsx index 29e4d66edd2a..a43b318ce801 100644 --- a/src/plugins/workspace/public/components/workspace_creator/workspace_form.tsx +++ b/src/plugins/workspace/public/components/workspace_creator/workspace_form.tsx @@ -33,7 +33,12 @@ import { } from '@elastic/eui'; import { WorkspaceTemplate } from '../../../../../core/types'; -import { App, AppNavLinkStatus, ApplicationStart } from '../../../../../core/public'; +import { + App, + AppNavLinkStatus, + ApplicationStart, + DEFAULT_APP_CATEGORIES, +} from '../../../../../core/public'; import { useApplications, useWorkspaceTemplate } from '../../hooks'; import { WORKSPACE_OP_TYPE_CREATE, WORKSPACE_OP_TYPE_UPDATE } from '../../../common/constants'; import { @@ -122,10 +127,10 @@ export const WorkspaceForm = ({ const apps = category2Applications[currentKey]; const features = apps .filter( - ({ navLinkStatus, chromeless, featureGroup }) => + ({ navLinkStatus, chromeless, category }) => navLinkStatus !== AppNavLinkStatus.hidden && !chromeless && - featureGroup?.includes('WORKSPACE') + category?.id !== DEFAULT_APP_CATEGORIES.management.id ) .map(({ id, title, workspaceTemplate, dependencies }) => ({ id, @@ -133,6 +138,9 @@ export const WorkspaceForm = ({ templates: workspaceTemplate || [], dependencies, })); + if (features.length === 0) { + return previousValue; + } if (features.length === 1 || currentKey === 'undefined') { return [...previousValue, ...features]; }