mirror of
https://gitee.com/nocobase/nocobase.git
synced 2025-05-05 13:39:24 +08:00
* feat(plugin-workflow): add prompt node * feat(plugin-workflow): useValueGetter for all instructions and triggers * feat(plugin-workflow): add workflow block initializer * refactor(plugin-workflow): change prompt node type to manual * feat(plugin-workflow): add ModeConfig component for mode * feat(plugin-workflow): add todo drawer * feat(plugin-workflow): add block value provider * feat(plugin-workflow): improve todo block and drawer * fix(plugin-workflow): fix instruction name in test cases * fix(plugin-workflow): fix test cases * refactor(plugin-workflow): change param type of collection field initializer * feat(plugin-workflow): add filter types for getters * fix(plugin-workflow): fix assignees variable * fix(plugin-workflow): filter todo by exist workflow * fix(plugin-workflow): fix duplicated save action in manual config * fix(plugin-workflow): fix transaction * feat(plugin-workflow): destroy workflow will be cascaded * fix(plugin-workflow): fix merge * fix(plugin-workflow): fix locale * fix(plugin-workflow): allow open ui view when executed * fix(plugin-workflow): change todo table filter * feat(plugin-workflow): use formula for calculation * fix(plugin-workflow): fix variable template regexp * fix(plugin-workflow): fix sub-options logic with types * refactor(plugin-workflow): drop useless component * fix(plugin-workflow): fix manual node action button * feat(plugin-workflow): add new variable input component * refactor(plugin-workflow): change all variable to new component * fix(plugin-workflow): fix type * fix(plugin-workflow): fix functions init * fix(plugin-workflow): change jsonb to json for stable order * fix(plugin-workflow): fix duplicated field name when initialize * fix(plugin-workflow): fix manual result in manual block * test(plugin-workflow): log field initializer props * fix(plugin-workflow): fix nullable arguments * test(plugin-workflow): test initializer fields schema * fix: observer * fix(plugin-workflow): adjust hints * fix(plugin-workflow): fix locale and cursor in variable input * refactor(plugin-workflow): change status keys * fix(plugin-workflow): fix parallel instruction * fix(plugin-workflow): fix calculation migration * fix(plugin-workflow): move tasks native filter to server * fix(plugin-workflow): fix manual options for variable * fix(plugin-workflow): fix conflict * fix(plugin-workflow): fix some bugs * fix(plugin-workflow): fix todo list filter and locale * fix(plugin-workflow): fix update action of workflow * refactor(plugin-workflow): add legacy condition calculation as basic engine * fix(plugin-workflow): fix type * fix(plugin-workflow): fix condition basic calculation * fix(plugin-workflow): fix type * fix(plugin-workflow): fix migration * fix(plugin-workflow): fix evaluators and scope * fix(plugin-workflow): remove disabled type select in schema config * fix(plugin-workflow): fix manual form schema designer --------- Co-authored-by: chenos <chenlinxh@gmail.com>
200 lines
5.6 KiB
TypeScript
200 lines
5.6 KiB
TypeScript
import { ArrayItems } from '@formily/antd';
|
|
import { css } from '@emotion/css';
|
|
|
|
import { NAMESPACE } from '../locale';
|
|
import { useWorkflowVariableOptions } from '../variable';
|
|
import { VariableJSONInput } from '../components/VariableJSONInput';
|
|
import { VariableInput } from '../components/VariableInput';
|
|
|
|
|
|
|
|
export default {
|
|
title: `{{t("HTTP request", { ns: "${NAMESPACE}" })}}`,
|
|
type: 'request',
|
|
group: 'extended',
|
|
fieldset: {
|
|
'config.method': {
|
|
type: 'string',
|
|
name: 'config.method',
|
|
required: true,
|
|
title: `{{t("HTTP method", { ns: "${NAMESPACE}" })}}`,
|
|
'x-decorator': 'FormItem',
|
|
'x-component': 'Select',
|
|
'x-component-props': {
|
|
showSearch: false,
|
|
allowClear: false,
|
|
},
|
|
enum: [
|
|
{ label: 'GET', value: 'GET' },
|
|
{ label: 'POST', value: 'POST' },
|
|
{ label: 'PUT', value: 'PUT' },
|
|
{ label: 'PATCH', value: 'PATCH' },
|
|
{ label: 'DELETE', value: 'DELETE' },
|
|
],
|
|
default: 'POST'
|
|
},
|
|
'config.url': {
|
|
type: 'string',
|
|
name: 'config.url',
|
|
required: true,
|
|
title: `{{t("URL", { ns: "${NAMESPACE}" })}}`,
|
|
'x-decorator': 'FormItem',
|
|
'x-decorator-props': {
|
|
className: css`
|
|
.ant-formily-item-control-content-component{
|
|
.ant-input-affix-wrapper,
|
|
.ant-input{
|
|
width: 100%;
|
|
}
|
|
}
|
|
`
|
|
},
|
|
'x-component': 'Input',
|
|
'x-component-props': {
|
|
placeholder: 'https://www.nocobase.com',
|
|
},
|
|
},
|
|
'config.headers': {
|
|
type: 'array',
|
|
name: 'config.headers',
|
|
'x-component': 'ArrayItems',
|
|
'x-decorator': 'FormItem',
|
|
title: `{{t("Headers", { ns: "${NAMESPACE}" })}}`,
|
|
description: `{{t('"Content-Type" only support "application/json", and no need to specify', { ns: "${NAMESPACE}" })}}`,
|
|
items: {
|
|
type: 'object',
|
|
properties: {
|
|
space: {
|
|
type: 'void',
|
|
'x-component': 'Space',
|
|
properties: {
|
|
name: {
|
|
type: 'string',
|
|
'x-decorator': 'FormItem',
|
|
'x-component': 'Input',
|
|
'x-component-props': {
|
|
placeholder: `{{t("Name")}}`,
|
|
},
|
|
},
|
|
value: {
|
|
type: 'string',
|
|
'x-decorator': 'FormItem',
|
|
'x-component': 'VariableInput',
|
|
'x-component-props': {
|
|
scope: useWorkflowVariableOptions
|
|
}
|
|
},
|
|
remove: {
|
|
type: 'void',
|
|
'x-decorator': 'FormItem',
|
|
'x-component': 'ArrayItems.Remove',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
properties: {
|
|
add: {
|
|
type: 'void',
|
|
title: `{{t("Add request header", { ns: "${NAMESPACE}" })}}`,
|
|
'x-component': 'ArrayItems.Addition',
|
|
},
|
|
},
|
|
},
|
|
'config.params': {
|
|
type: 'array',
|
|
name: 'config.params',
|
|
'x-component': 'ArrayItems',
|
|
'x-decorator': 'FormItem',
|
|
title: `{{t("Parameters", { ns: "${NAMESPACE}" })}}`,
|
|
items: {
|
|
type: 'object',
|
|
properties: {
|
|
space: {
|
|
type: 'void',
|
|
'x-component': 'Space',
|
|
properties: {
|
|
name: {
|
|
type: 'string',
|
|
'x-decorator': 'FormItem',
|
|
'x-component': 'Input',
|
|
'x-component-props': {
|
|
placeholder: `{{t("Name")}}`,
|
|
},
|
|
},
|
|
value: {
|
|
type: 'string',
|
|
'x-decorator': 'FormItem',
|
|
'x-component': 'VariableInput',
|
|
'x-component-props': {
|
|
scope: useWorkflowVariableOptions
|
|
}
|
|
},
|
|
remove: {
|
|
type: 'void',
|
|
'x-decorator': 'FormItem',
|
|
'x-component': 'ArrayItems.Remove',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
properties: {
|
|
add: {
|
|
type: 'void',
|
|
title: `{{t("Add parameter", { ns: "${NAMESPACE}" })}}`,
|
|
'x-component': 'ArrayItems.Addition',
|
|
},
|
|
},
|
|
},
|
|
'config.data': {
|
|
type: 'string',
|
|
name: 'config.data',
|
|
title: `{{t("Body", { ns: "${NAMESPACE}" })}}`,
|
|
'x-decorator': 'FormItem',
|
|
'x-decorator-props': {},
|
|
'x-component': 'VariableJSONInput',
|
|
'x-component-props': {
|
|
scope: useWorkflowVariableOptions,
|
|
autoSize: {
|
|
minRows: 10,
|
|
},
|
|
placeholder: `{{t("Input request data", { ns: "${NAMESPACE}" })}}`,
|
|
className: css`
|
|
font-size: 85%;
|
|
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
|
|
`
|
|
},
|
|
description: `{{t("Only support standard JSON data", { ns: "${NAMESPACE}" })}}`,
|
|
},
|
|
'config.timeout': {
|
|
type: 'number',
|
|
name: 'config.timeout',
|
|
title: `{{t("Timeout config", { ns: "${NAMESPACE}" })}}`,
|
|
'x-decorator': 'FormItem',
|
|
'x-decorator-props': {},
|
|
'x-component': 'InputNumber',
|
|
'x-component-props': {
|
|
addonAfter: `{{t("ms", { ns: "${NAMESPACE}" })}}`,
|
|
min: 1,
|
|
step: 1000,
|
|
defaultValue: 5000,
|
|
},
|
|
},
|
|
'config.ignoreFail': {
|
|
type: 'boolean',
|
|
name: 'config.ignoreFail',
|
|
title: `{{t("Ignore fail request and continue workflow", { ns: "${NAMESPACE}" })}}`,
|
|
'x-decorator': 'FormItem',
|
|
'x-component': 'Checkbox',
|
|
}
|
|
},
|
|
view: {},
|
|
scope: {},
|
|
components: {
|
|
ArrayItems,
|
|
VariableInput,
|
|
VariableJSONInput
|
|
},
|
|
};
|