UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

130 lines (129 loc) 6.44 kB
import { ReactNode } from 'react'; import PropTypes from 'prop-types'; import { IReactionDisposer } from 'mobx'; import { EditorConfiguration } from 'codemirror'; import { IInstance } from 'react-codemirror2'; import { FormField, FormFieldProps } from '../field/FormField'; import { CodeAreaFormatter } from './CodeAreaFormatter'; export interface CodeAreaProps extends FormFieldProps { options?: EditorConfiguration; formatHotKey?: string; unFormatHotKey?: string; formatter?: CodeAreaFormatter; editorDidMount?: (editor: IInstance, value: string, cb: () => void) => void; } export default class CodeArea extends FormField<CodeAreaProps> { static displayName: string; static propTypes: { id: PropTypes.Requireable<string>; size: PropTypes.Requireable<import("../core/enum").Size>; suffixCls: PropTypes.Requireable<string>; prefixCls: PropTypes.Requireable<string>; title: PropTypes.Requireable<PropTypes.ReactNodeLike>; disabled: PropTypes.Requireable<boolean>; hidden: PropTypes.Requireable<boolean>; autoFocus: PropTypes.Requireable<boolean>; accessKey: PropTypes.Requireable<string | boolean>; dir: PropTypes.Requireable<string>; contentEditable: PropTypes.Requireable<string | boolean>; draggable: PropTypes.Requireable<string | boolean>; style: PropTypes.Requireable<object>; className: PropTypes.Requireable<string>; tabIndex: PropTypes.Requireable<number>; lang: PropTypes.Requireable<string>; spellCheck: PropTypes.Requireable<boolean>; onFocus: PropTypes.Requireable<(...args: any[]) => any>; onBlur: PropTypes.Requireable<(...args: any[]) => any>; onClick: PropTypes.Requireable<(...args: any[]) => any>; onDoubleClick: PropTypes.Requireable<(...args: any[]) => any>; onMouseUp: PropTypes.Requireable<(...args: any[]) => any>; onMouseDown: PropTypes.Requireable<(...args: any[]) => any>; onMouseMove: PropTypes.Requireable<(...args: any[]) => any>; onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>; onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>; onMouseOver: PropTypes.Requireable<(...args: any[]) => any>; onMouseOut: PropTypes.Requireable<(...args: any[]) => any>; onContextMenu: PropTypes.Requireable<(...args: any[]) => any>; onKeyDown: PropTypes.Requireable<(...args: any[]) => any>; onKeyUp: PropTypes.Requireable<(...args: any[]) => any>; onKeyPress: PropTypes.Requireable<(...args: any[]) => any>; dataSet: PropTypes.Requireable<object>; _inTable: PropTypes.Requireable<boolean>; type: PropTypes.Requireable<string>; name: PropTypes.Requireable<string>; value: PropTypes.Requireable<any>; defaultValue: PropTypes.Requireable<any>; required: PropTypes.Requireable<boolean>; readOnly: PropTypes.Requireable<boolean>; form: PropTypes.Requireable<string>; dataIndex: PropTypes.Requireable<number>; multiple: PropTypes.Requireable<boolean>; range: PropTypes.Requireable<boolean | (string | null | undefined)[]>; rowSpan: PropTypes.Requireable<number>; newLine: PropTypes.Requireable<boolean>; colSpan: PropTypes.Requireable<number>; validator: PropTypes.Requireable<(...args: any[]) => any>; onInvalid: PropTypes.Requireable<(...args: any[]) => any>; help: PropTypes.Requireable<string>; showHelp: PropTypes.Requireable<import("../field/enum").ShowHelp>; renderer: PropTypes.Requireable<(...args: any[]) => any>; validationRenderer: PropTypes.Requireable<(...args: any[]) => any>; maxTagPlaceholder: PropTypes.Requireable<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>; maxTagCount: PropTypes.Requireable<number>; maxTagTextLength: PropTypes.Requireable<number>; pristine: PropTypes.Requireable<boolean>; trim: PropTypes.Requireable<import("../data-set/enum").FieldTrim>; onBeforeChange: PropTypes.Requireable<(...args: any[]) => any>; onChange: PropTypes.Requireable<(...args: any[]) => any>; onInput: PropTypes.Requireable<(...args: any[]) => any>; onEnterDown: PropTypes.Requireable<(...args: any[]) => any>; fieldClassName: PropTypes.Requireable<string>; highlight: PropTypes.Requireable<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>; highlightRenderer: PropTypes.Requireable<(...args: any[]) => any>; useColon: PropTypes.Requireable<boolean>; showValidation: PropTypes.Requireable<string>; options: PropTypes.Requireable<object>; formatHotKey: PropTypes.Requireable<string>; unFormatHotKey: PropTypes.Requireable<string>; formatter: PropTypes.Requireable<object>; editorDidMount: PropTypes.Requireable<(...args: any[]) => any>; }; static defaultProps: { suffixCls: string; formatHotKey: string; unFormatHotKey: string; readOnly: boolean; disabled: boolean; noValidate: boolean; showHelp: string; trim: import("../data-set/enum").FieldTrim; }; cmOptions: EditorConfiguration; text?: string; midText: string; disposer: IReactionDisposer; constructor(props: any, content: any); componentWillUnmount(): void; handleBeforeChange(_editor: any, _data: any, value: any): void; handleCodeMirrorKeyDown(cm: any, e: any): void; getCodeMirrorOptions(options?: EditorConfiguration): EditorConfiguration; getOmitPropsKeys(): string[]; getOtherProps(): any; componentWillReceiveProps(nextProps: any, nextContext: any): void; renderWrapper(): ReactNode; setText(text?: string): void; getTextNode(value?: any): ReactNode; processValue(value: any): ReactNode; /** * 编辑器失去焦点时,调用父类方法,同步DataSet中的内容 * * @memberof CodeArea */ handleCodeMirrorBlur: ((codeMirrorInstance: IInstance) => void) & import("mobx").IAction; /** * 在CodeMirror编辑器实例挂载前添加额外配置 * * @memberof CodeArea */ handleCodeMirrorDidMount: (editor: IInstance, value: string, cb: () => void) => void; }