Skip to content

Commit

Permalink
optimize code
Browse files Browse the repository at this point in the history
Signed-off-by: yubonluo <[email protected]>
  • Loading branch information
yubonluo committed Apr 16, 2024
1 parent 62e19b4 commit 7dfaca8
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 11 deletions.
2 changes: 0 additions & 2 deletions src/plugins/opensearch_dashboards_overview/public/plugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -84,13 +84,11 @@ export class OpenSearchDashboardsOverviewPlugin
return {
status: AppStatus.inaccessible,
navLinkStatus: AppNavLinkStatus.hidden,
workspaceAccessibility: WorkspaceAccessibility.NO,
};
} else {
return {
status: AppStatus.accessible,
navLinkStatus: AppNavLinkStatus.default,
workspaceAccessibility: WorkspaceAccessibility.NO,
};
}
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import { DEFAULT_APP_CATEGORIES, PublicAppInfo } from '../../../../../core/publi

import { WorkspaceFeature, WorkspaceFeatureGroup } from './types';
import { isDefaultCheckedFeatureId, isWorkspaceFeatureGroup } from './utils';
import { getAllIncludingDashboardsManagementApps } from '../../utils';
import { getAllFilterApps } from '../../utils';

const libraryCategoryLabel = i18n.translate('core.ui.libraryNavList.label', {
defaultMessage: 'Library',
Expand Down Expand Up @@ -55,7 +55,7 @@ export const WorkspaceFeatureSelector = ({
Array<WorkspaceFeature | WorkspaceFeatureGroup>
>((previousValue, currentKey) => {
const apps = category2Applications[currentKey];
const features = getAllIncludingDashboardsManagementApps(apps).map(({ id, title }) => ({
const features = getAllFilterApps(apps).map(({ id, title }) => ({
id,
name: title,
}));
Expand Down
12 changes: 5 additions & 7 deletions src/plugins/workspace/public/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -69,21 +69,19 @@ export const featureMatchesConfig = (featureConfigs: string[]) => ({
return matched;
};

// Get all apps excluding management category
export const getAllIncludingDashboardsManagementApps = (
applications: PublicAppInfo[]
): PublicAppInfo[] => {
// Get all apps excluding that should not be displayed in workspace.
export const getAllFilterApps = (applications: PublicAppInfo[]): PublicAppInfo[] => {
return applications.filter(
({ navLinkStatus, chromeless, category, workspaceAccessibility, id }) => {
const filterCondition =
navLinkStatus !== AppNavLinkStatus.hidden &&
!chromeless &&
workspaceAccessibility !== WorkspaceAccessibility.NO;
// If the category is management, only retain dashboards management.
if (category?.id === DEFAULT_APP_CATEGORIES.management.id) {
return filterCondition && id === 'management';
} else {
return filterCondition;
}
return filterCondition;
}
);
};
Expand All @@ -92,7 +90,7 @@ export const getSelectedFeatureQuantities = (
featuresConfig: string[],
applications: PublicAppInfo[]
) => {
const visibleApplications = getAllIncludingDashboardsManagementApps(applications);
const visibleApplications = getAllFilterApps(applications);
const featureFilter = featureMatchesConfig(featuresConfig);
const selectedApplications = visibleApplications.filter((app) => featureFilter(app));
return {
Expand Down

0 comments on commit 7dfaca8

Please sign in to comment.