UNPKG

@firecms/core

Version:

Awesome Firebase/Firestore-based headless open-source CMS

61 lines (60 loc) 2.33 kB
import React from "react"; import { Entity, EntityCollection, EntityStatus, User } from "../types"; import { EntityFormProps } from "../form"; export declare const MAIN_TAB_VALUE = "__main_##Q$SC^#S6"; export declare const JSON_TAB_VALUE = "__json"; export type OnUpdateParams = { entity: Entity<any>; status: EntityStatus; path: string; entityId?: string; selectedTab?: string; collection: EntityCollection<any>; }; export type BarActionsParams = { values: object; status: EntityStatus; path: string; entityId?: string; }; export type OnTabChangeParams<M extends Record<string, any>> = { path: string; entityId?: string; selectedTab?: string; collection: EntityCollection<M>; }; export interface EntityEditViewProps<M extends Record<string, any>> { /** * The database path of the entity, e.g. "users" or "products". */ path: string; /** * The navigation path to the entity. */ fullIdPath?: string; collection: EntityCollection<M>; entityId?: string; databaseId?: string; copy?: boolean; selectedTab?: string; parentCollectionIds: string[]; onValuesModified?: (modified: boolean, values: M) => void; onSaved?: (params: OnUpdateParams) => void; onTabChange?: (props: OnTabChangeParams<M>) => void; layout?: "side_panel" | "full_screen"; barActions?: (params: BarActionsParams) => React.ReactNode; formProps?: Partial<EntityFormProps<M>>; } /** * This is the default view that is used as the content of a side panel when * an entity is opened. */ export declare function EntityEditView<M extends Record<string, any>, USER extends User>({ entityId, ...props }: EntityEditViewProps<M>): import("react/jsx-runtime").JSX.Element; export declare function EntityEditViewInner<M extends Record<string, any>>({ path, fullIdPath, entityId, selectedTab: selectedTabProp, collection, parentCollectionIds, onValuesModified, onSaved, onTabChange, entity, initialDirtyValues, dataLoading, layout, barActions, status, setStatus, formProps, canEdit }: EntityEditViewProps<M> & { entity?: Entity<M>; initialDirtyValues?: Partial<M>; dataLoading: boolean; status: EntityStatus; setStatus: (status: EntityStatus) => void; canEdit?: boolean; }): import("react/jsx-runtime").JSX.Element;