Fix workflow detail (#3382)

* fix: loop node init

* fix: workflow detail

* fix: point table

* add null check
This commit is contained in:
Archer
2024-12-12 17:14:46 +08:00
committed by GitHub
parent 181b854342
commit ddddd998c8
34 changed files with 292 additions and 237 deletions

View File

@@ -29,7 +29,7 @@ export const simpleText = (text = '') => {
replace {{variable}} to value
*/
export function replaceVariable(text: any, obj: Record<string, string | number>) {
if (!(typeof text === 'string')) return text;
if (typeof text !== 'string') return text;
for (const key in obj) {
const val = obj[key];

View File

@@ -251,6 +251,7 @@ export const getReferenceVariableValue = ({
return variables[outputId];
}
// 避免 value 刚好就是二个元素的字符串数组
const node = nodes.find((node) => node.nodeId === sourceNodeId);
if (!node) {
return value;

View File

@@ -193,6 +193,18 @@ export const MultipleRowArraySelect = ({
ref: ref,
handler: onClose
});
const onChange = useCallback(
(val: any[][]) => {
// Filter invalid value
const validList = val.filter((item) => {
const listItem = list.find((v) => v.value === item[0]);
if (!listItem) return false;
return listItem.children?.some((v) => v.value === item[1]);
});
onSelect(validList);
},
[onSelect]
);
const RenderList = useCallback(
({ index, list }: { index: number; list: MultipleSelectProps['list'] }) => {
@@ -213,9 +225,9 @@ export const MultipleRowArraySelect = ({
const newValue = [parentValue, item.value];
if (newValues.some((v) => v[0] === parentValue && v[1] === item.value)) {
onSelect(newValues.filter((v) => !(v[0] === parentValue && v[1] === item.value)));
onChange(newValues.filter((v) => !(v[0] === parentValue && v[1] === item.value)));
} else {
onSelect([...newValues, newValue]);
onChange([...newValues, newValue]);
}
}
};

View File

@@ -43,14 +43,16 @@ export const useI18nLng = () => {
setLang(lang);
await i18n?.changeLanguage?.(lang);
if (prevLang && prevLang !== lang) {
if (!i18n.hasResourceBundle(lang, 'common') && prevLang !== lang) {
window?.location?.reload?.();
}
};
const setUserDefaultLng = () => {
const setUserDefaultLng = (forceGetDefaultLng: boolean = false) => {
if (!navigator || !localStorage) return;
if (getLang()) return onChangeLng(getLang() as string);
if (getLang() && !forceGetDefaultLng) return onChangeLng(getLang() as string);
const lang = languageMap[navigator.language] || 'en';