UNPKG

@tachybase/module-workflow

Version:

A powerful BPM tool that provides foundational support for business automation, with the capability to extend unlimited triggers and nodes.

236 lines (235 loc) 9.8 kB
import { SchemaInitializerItemType, useCollectionDataSource } from '@tachybase/client'; import { FilterDynamicComponent } from '../components/FilterDynamicComponent'; import { WorkflowVariableInput } from '../variable'; import { Instruction } from './default-node/interface'; export default class extends Instruction { title: string; type: string; group: string; icon: string; color: string; description: string; fieldset: { collection: { 'x-reactions': any[]; type: string; title: string; required: boolean; 'x-decorator': string; 'x-component': string; }; multiple: { type: string; 'x-decorator': string; 'x-component': string; 'x-content': string; description: string; }; isTree: { type: string; 'x-decorator': string; 'x-component': string; 'x-content': string; }; params: { type: string; 'x-component': string; properties: { filter: { type: string; title: string; 'x-decorator': string; 'x-component': string; 'x-use-component-props': () => { options: any[]; className: string; }; 'x-component-props': { dynamicComponent: string; }; }; sort: { type: string; title: string; 'x-decorator': string; 'x-component': string; items: { type: string; properties: { space: { type: string; 'x-component': string; properties: { sort: { type: string; 'x-decorator': string; 'x-component': string; }; field: { type: string; enum: string; required: boolean; 'x-decorator': string; 'x-component': string; 'x-component-props': { style: { width: number; }; }; }; direction: { type: string; 'x-decorator': string; 'x-component': string; 'x-component-props': { optionType: string; }; enum: { label: string; value: string; }[]; }; remove: { type: string; 'x-decorator': string; 'x-component': string; }; }; }; }; }; properties: { add: { type: string; title: string; 'x-component': string; }; }; }; pagination: { type: string; properties: { paginate: { type: string; title: string; 'x-decorator': string; 'x-component': string; 'x-content': string; default: boolean; }; pagination: { type: string; 'x-decorator': string; 'x-component': string; 'x-reactions': { dependencies: string[]; fulfill: { state: { hidden: string; }; }; }[]; properties: { row: { type: string; 'x-component': string; properties: { page: { type: string; 'x-component': string; properties: { page: { type: string; title: string; 'x-decorator': string; 'x-component': string; 'x-component-props': { useTypedConstant: string[]; }; default: number; }; }; }; pageSize: { type: string; 'x-component': string; properties: { pageSize: { type: string; title: string; 'x-decorator': string; 'x-component': string; 'x-component-props': { min: number; max: number; }; default: number; }; }; }; }; }; }; }; }; }; summary: { type: string; title: string; 'x-decorator': string; 'x-component': string; 'x-component-props': { title: string; needLeaf: boolean; useCollection(): any; }; 'x-reactions': { dependencies: string[]; fulfill: { state: { visible: string; }; }; }[]; }; }; 'x-reactions': { dependencies: string[]; fulfill: { state: { visible: string; }; }; }[]; }; failOnEmpty: { type: string; 'x-decorator': string; 'x-component': string; 'x-content': string; }; }; scope: { useCollectionDataSource: typeof useCollectionDataSource; useSortableFields(): { value: any; label: any; }[]; }; components: { ArrayItems: import("@tachybase/schema").ReactFC<import("react").HTMLAttributes<HTMLDivElement>> & import("@tego/client").ArrayBaseMixins & { Item: import("@tachybase/schema").ReactFC<React.HTMLAttributes<HTMLDivElement> & { type?: "card" | "divide"; }>; }; FilterDynamicComponent: typeof FilterDynamicComponent; SchemaComponentContext: import("react").Context<import("@tachybase/client").ISchemaComponentContext>; WorkflowVariableInput: typeof WorkflowVariableInput; }; useVariables({ key: name, title, config }: { key: any; title: any; config: any; }, options: any): import("..").VariableOption; useInitializers(node: any): SchemaInitializerItemType | null; }