fix(plugin-workflow): fix variable type check (#2492)

* fix(plugin-workflow): fix variable type check

* fix(plugin-workflow): fix node job button style
This commit is contained in:
Junyi 2023-08-20 16:45:46 +07:00 committed by GitHub
parent 95e1cd390b
commit a59ed4ee17
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 20 deletions

View File

@ -20,8 +20,9 @@ import { BaseTypeSets, defaultFieldNames, nodesOptions, triggerOptions } from '.
function matchToManyField(field, appends): boolean {
const fieldPrefix = `${field.name}.`;
return (
['hasMany', 'belongsToMany'].includes(field.type) &&
(appends ? appends.includes(field.name) || appends.some((item) => item.startsWith(fieldPrefix)) : true)
(['hasOne', 'belongsTo'].includes(field.type) &&
(appends ? appends.includes(field.name) || appends.some((item) => item.startsWith(fieldPrefix)) : true)) ||
['hasMany', 'belongsToMany'].includes(field.type)
);
}

View File

@ -265,6 +265,8 @@ export function JobButton() {
border: 2px solid #d9d9d9;
border-radius: 50%;
cursor: not-allowed;
width: 24px;
height: 24px;
`,
)}
/>

View File

@ -165,28 +165,25 @@ function getNextAppends(field, appends: string[]) {
function filterTypedFields({ fields, types, appends, compile, getCollectionFields }) {
return fields.filter((field) => {
const match = types?.length ? types.some((type) => matchFieldType(field, type, appends)) : true;
if (types?.length) {
return types.some((type) => matchFieldType(field, type, appends));
}
if (isAssociationField(field)) {
const nextAppends = getNextAppends(field, appends);
const included = appends.includes(field.name);
if (match) {
return included;
} else {
return (
(nextAppends.length || included) &&
filterTypedFields({
fields: getNormalizedFields(field.target, { compile, getCollectionFields }),
types,
// depth: depth - 1,
appends: nextAppends,
compile,
getCollectionFields,
}).length
);
}
} else {
return match;
return (
(nextAppends.length || included) &&
filterTypedFields({
fields: getNormalizedFields(field.target, { compile, getCollectionFields }),
types,
// depth: depth - 1,
appends: nextAppends,
compile,
getCollectionFields,
}).length
);
}
return true;
});
}