Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
75 lines
3.5 KiB
Plaintext
75 lines
3.5 KiB
Plaintext
import type { SanitizedCollectionPermission } from '../../auth/types.js';
|
|
import type { CollectionAdminOptions, SanitizedCollectionConfig } from '../../collections/config/types.js';
|
|
import type { ServerProps } from '../../config/types.js';
|
|
import type { CollectionPreferences } from '../../preferences/types.js';
|
|
import type { QueryPreset } from '../../query-presets/types.js';
|
|
import type { ResolvedFilterOptions } from '../../types/index.js';
|
|
import type { Column } from '../elements/Table.js';
|
|
import type { Data, ViewTypes } from '../types.js';
|
|
export type ListViewSlots = {
|
|
AfterList?: React.ReactNode;
|
|
AfterListTable?: React.ReactNode;
|
|
BeforeList?: React.ReactNode;
|
|
BeforeListTable?: React.ReactNode;
|
|
Description?: React.ReactNode;
|
|
listMenuItems?: React.ReactNode[];
|
|
Table: React.ReactNode | React.ReactNode[];
|
|
};
|
|
/**
|
|
* The `ListViewServerPropsOnly` approach is needed to ensure type strictness when injecting component props
|
|
* There is no way to do something like `Omit<ListViewServerProps, keyof ListViewClientProps>`
|
|
* This is because `ListViewClientProps` is a union which is impossible to exclude from
|
|
* Exporting explicitly defined `ListViewServerPropsOnly`, etc. allows for the strictest typing
|
|
*/
|
|
export type ListViewServerPropsOnly = {
|
|
collectionConfig: SanitizedCollectionConfig;
|
|
data: Data;
|
|
limit: number;
|
|
listPreferences: CollectionPreferences;
|
|
listSearchableFields: CollectionAdminOptions['listSearchableFields'];
|
|
} & ServerProps;
|
|
export type ListViewServerProps = ListViewClientProps & ListViewServerPropsOnly;
|
|
export type ListViewClientProps = {
|
|
beforeActions?: React.ReactNode[];
|
|
collectionSlug: SanitizedCollectionConfig['slug'];
|
|
columnState: Column[];
|
|
disableBulkDelete?: boolean;
|
|
disableBulkEdit?: boolean;
|
|
disableQueryPresets?: boolean;
|
|
enableRowSelections?: boolean;
|
|
hasCreatePermission: boolean;
|
|
hasDeletePermission?: boolean;
|
|
/**
|
|
* @deprecated
|
|
*/
|
|
listPreferences?: CollectionPreferences;
|
|
newDocumentURL: string;
|
|
/**
|
|
* @deprecated
|
|
*/
|
|
preferenceKey?: string;
|
|
queryPreset?: QueryPreset;
|
|
queryPresetPermissions?: SanitizedCollectionPermission;
|
|
renderedFilters?: Map<string, React.ReactNode>;
|
|
resolvedFilterOptions?: Map<string, ResolvedFilterOptions>;
|
|
viewType: ViewTypes;
|
|
} & ListViewSlots;
|
|
export type ListViewSlotSharedClientProps = {
|
|
collectionSlug: SanitizedCollectionConfig['slug'];
|
|
hasCreatePermission: boolean;
|
|
hasDeletePermission?: boolean;
|
|
newDocumentURL: string;
|
|
};
|
|
export type BeforeListClientProps = ListViewSlotSharedClientProps;
|
|
export type BeforeListServerPropsOnly = {} & ListViewServerPropsOnly;
|
|
export type BeforeListServerProps = BeforeListClientProps & BeforeListServerPropsOnly;
|
|
export type BeforeListTableClientProps = ListViewSlotSharedClientProps;
|
|
export type BeforeListTableServerPropsOnly = {} & ListViewServerPropsOnly;
|
|
export type BeforeListTableServerProps = BeforeListTableClientProps & BeforeListTableServerPropsOnly;
|
|
export type AfterListClientProps = ListViewSlotSharedClientProps;
|
|
export type AfterListServerPropsOnly = {} & ListViewServerPropsOnly;
|
|
export type AfterListServerProps = AfterListClientProps & AfterListServerPropsOnly;
|
|
export type AfterListTableClientProps = ListViewSlotSharedClientProps;
|
|
export type AfterListTableServerPropsOnly = {} & ListViewServerPropsOnly;
|
|
export type AfterListTableServerProps = AfterListTableClientProps & AfterListTableServerPropsOnly;
|
|
//# sourceMappingURL=list.d.ts.map |