import React, { Component, ReactNode } from 'react'; import { Card, message, Modal, Collapse } from 'antd'; import { DomainService, Entity } from 'matrix-ui-service'; import { EntityColumnProps } from './EntityList'; import { ModalProps } from 'antd/lib/modal'; import { CardProps } from 'antd/lib/card'; import { CollapsePanelProps } from 'antd/lib/collapse'; import { ReactUtil } from '../../utils/ReactUtil'; import { FormInstance } from 'antd/lib/form'; export interface EntityFormProps { domainService: DomainService; title?: string; columns?: EntityColumnProps[]; inputItem?: Entity; onSuccess?: (item: Entity) => void; onCancel?: () => void; containerType?: 'Modal' | 'Card' | 'Collapse' | 'Fragment'; modalProps?: ModalProps; cardProps?: CardProps; collapseProps?: CollapsePanelProps; readonly?: boolean; form?: FormInstance; } export class EntityForm
extends Component
{
render() {
const { containerType, title, modalProps, cardProps, collapseProps, readonly } = this.getContainerProps();
const formBody = this.getForm();
switch (containerType) {
case 'Fragment':
return