From 6abd4bf427cda5dbe5d8646c63ef63e90443c486 Mon Sep 17 00:00:00 2001 From: EYHN Date: Tue, 20 May 2025 11:31:11 +0900 Subject: [PATCH] feat(core): add default display preference (#12333) --- .../core/src/components/explorer/context.ts | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/packages/frontend/core/src/components/explorer/context.ts b/packages/frontend/core/src/components/explorer/context.ts index 8d58e8ba2b..54d1066b1f 100644 --- a/packages/frontend/core/src/components/explorer/context.ts +++ b/packages/frontend/core/src/components/explorer/context.ts @@ -1,8 +1,22 @@ import { LiveData } from '@toeverything/infra'; +import { uniq } from 'lodash-es'; import { createContext } from 'react'; import type { ExplorerDisplayPreference } from './types'; +const DefaultDisplayPreference: ExplorerDisplayPreference = { + view: 'list', + displayProperties: [ + 'system:createdAt', + 'system:updatedAt', + 'system:createdBy', + 'system:tags', + ], + showDocIcon: true, + showDocPreview: true, + quickFavorite: true, +}; + export type DocExplorerContextType = { groups$: LiveData>; collapsedGroups$: LiveData; @@ -23,9 +37,14 @@ export const DocExplorerContext = createContext( export const createDocExplorerContext = ( initialState?: ExplorerDisplayPreference ) => { - const displayPreference$ = new LiveData( - initialState ?? {} - ); + const displayPreference$ = new LiveData({ + ...DefaultDisplayPreference, + ...initialState, + displayProperties: uniq([ + ...(DefaultDisplayPreference.displayProperties ?? []), + ...(initialState?.displayProperties ?? []), + ]), + }); return { groups$: new LiveData>([]), collapsedGroups$: new LiveData([]),