UNPKG

amis-model-design

Version:

amis模型设计器

87 lines (86 loc) 3.09 kB
/// <reference types="codemirror" /> import { FormControlProps } from 'amis-core'; import type { OptionsControlProps } from 'amis-core'; import React from 'react'; interface FormulaPluginConfig { getProps: () => any; onExpressionMouseEnter?: (e: MouseEvent, expression: string, brace?: Array<CodeMirror.Position>) => any; customMarkText?: (editor: CodeMirror.Editor) => void; onPluginInit?: (plugin: FormulaPlugin) => void; showPopover?: boolean; showClearIcon?: boolean; } declare class FormulaPlugin { readonly editor: CodeMirror.Editor; config: FormulaPluginConfig; constructor(editor: CodeMirror.Editor, config: FormulaPluginConfig); autoMark(): void; getExpressionBrace(expression: string): { line: number; ch: number; }[] | undefined; computedBracesPosition(exp: string): { begin: number; end: number; }[]; checkStrIsInBraces([from, to]: number[], braces: { begin: number; end: number; }[]): boolean; insertBraces(originFrom: CodeMirror.Position, originTo: CodeMirror.Position): void; setValue(value: string): void; getCorsur(): import("codemirror").Position; insertContent(content: string, type?: 'expression' | 'string', brace?: Array<CodeMirror.Position>): void; markExpression(from: CodeMirror.Position, to: CodeMirror.Position, expression?: string, className?: string): void; focus(value: string): void; dispose(): void; validate(): void; } interface TitleFieldControlProps extends FormControlProps, OptionsControlProps { /** * 是否可清除 */ clearable?: boolean; placeholder?: string; popOverContainer?: any; /** * 是否从 amis数据域中取变量集合,默认 false; */ requiredDataPropsVariables?: boolean; } interface TitleFieldControlState { value: string; variables: any[]; isOpened: boolean; isLoading: boolean; } export declare class TitleFieldControl extends React.PureComponent<TitleFieldControlProps, TitleFieldControlState> { static defaultProps: Partial<TitleFieldControlProps>; wrapRef: React.RefObject<HTMLDivElement>; editorPlugin: FormulaPlugin; unReaction: any; appLocale: string; appCorpusData: any; constructor(props: TitleFieldControlProps); componentDidMount(): Promise<void>; componentDidUpdate(prevProps: TitleFieldControlProps): Promise<void>; getVariables(that: any): Promise<any[]>; handleClick(): void; handleItemClick(value: string): void; handleKeyDown(e: any): void; editorAutoMark(): void; handleEditorMounted(cm: any, editor: any): void; closeOuter(): void; handleClear(): void; handleOnChange(value: any): void; handleSearch(evt: any): void; handleSearchClear(): void; renderList(): React.JSX.Element; getParent(): HTMLElement | null; extractWrappedStrings(value: string): string[]; renderOuter(): React.JSX.Element; render(): React.JSX.Element; } export default class TitleFieldControlRenderer extends TitleFieldControl { } export {};