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([]),