amis-model-design
Version:
amis模型设计器
87 lines (86 loc) • 3.09 kB
TypeScript
/// <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 {};