@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
TypeScript
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;
}