import { PrismaCmsComponentProps, // PrismaCmsComponentPropsData, PrismaCmsComponentState, } from '@prisma-cms/component' import { Padding } from 'material-ui/Table' import TBody from './Body' import EnhancedTableHead from './Header' import { EnhancedTableToolbar } from './Toolbar' // export type Column

= Record> = { export type Column

= { /** * Любое из полей полученного из запроса объекта */ id: keyof P key?: string /** * Заголовок колонки */ label?: string description?: string className?: string renderer?(value: any, record: P): any hidden?: boolean numeric?: boolean padding?: Padding disablePadding?: boolean } // export type ColumnConfig

> = Column

// export interface TableViewQueryFragment extends Record { // id: string | null // } /** * Нельзя расширять интерфейс, так как тогда будет требовать на вход расширенный * от него же */ // export type ColumnConfig

= Column

export type ColumnConfig

= Column

interface Variables extends Record { first?: number | null } // export interface TableViewPropsData extends PrismaCmsComponentPropsData { // export interface TableViewPropsData { // objectsConnection?: { // edges: Array<{ node: Record } | null> // aggregate: { // count: number // } // } // objects?: Record[] // } export interface TableViewProps extends PrismaCmsComponentProps { columnData?: ColumnConfig[] // data: TableViewPropsData | null | undefined objects: Record[] // data: { // objectsConnection?: { // edges: Array<{node: Record} | null> // aggregate: { // count: number // } // } // objects?: Record[] // object?: PrismaCmsComponentPropsDataObject | null // }; loading: boolean // page: number // withPagination?: boolean // data: // | { // objectsConnection: any // } // | null // | undefined variables?: Variables classes?: Record className?: string title?: string Header?: typeof EnhancedTableHead // Header: React.FC; Toolbar?: EnhancedTableToolbar Body?: typeof TBody addObject?: () => void } export interface TableViewState extends PrismaCmsComponentState { columnData: TableViewProps['columnData'] } // export class TableView< // P extends TableViewProps = TableViewProps, // S extends TableViewState = TableViewState // > extends PrismaCmsComponent { // static defaultProps = { // columnData: [], // } // mutate(arg0: any): void // } // export const styles: any = {}