seeder-st2110-components 1.7.3 → 1.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +77 -59
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +77 -59
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -1891,8 +1891,8 @@ const Preset = _ref => {
|
|
|
1891
1891
|
enableEdit = true
|
|
1892
1892
|
} = _ref;
|
|
1893
1893
|
const {
|
|
1894
|
-
message
|
|
1895
|
-
modal
|
|
1894
|
+
message,
|
|
1895
|
+
modal
|
|
1896
1896
|
} = App.useApp();
|
|
1897
1897
|
const [presetList, setPresetList] = useState([]);
|
|
1898
1898
|
const [selectedPreset, setSelectedPreset] = useState(null);
|
|
@@ -1925,7 +1925,7 @@ const Preset = _ref => {
|
|
|
1925
1925
|
var _fields$category_list;
|
|
1926
1926
|
const unsavedPreset = presetList.find(item => !item.id);
|
|
1927
1927
|
if (unsavedPreset) {
|
|
1928
|
-
|
|
1928
|
+
message.warning('Existing unsaved preset detected.');
|
|
1929
1929
|
return;
|
|
1930
1930
|
}
|
|
1931
1931
|
|
|
@@ -1942,7 +1942,7 @@ const Preset = _ref => {
|
|
|
1942
1942
|
setPresetList([...presetList, newPreset]);
|
|
1943
1943
|
setSelectedPreset(newPreset);
|
|
1944
1944
|
form.setFieldsValue(newPreset);
|
|
1945
|
-
}, [form, presetList,
|
|
1945
|
+
}, [form, presetList, message]);
|
|
1946
1946
|
const handleRemove = useCallback(async () => {
|
|
1947
1947
|
if (!selectedPreset) return;
|
|
1948
1948
|
|
|
@@ -1950,7 +1950,7 @@ const Preset = _ref => {
|
|
|
1950
1950
|
const isUnsavedPreset = !selectedPreset.id;
|
|
1951
1951
|
const presetName = selectedPreset.name || 'Untitled Preset';
|
|
1952
1952
|
try {
|
|
1953
|
-
|
|
1953
|
+
modal.confirm({
|
|
1954
1954
|
icon: /*#__PURE__*/jsx(ExclamationCircleFilled, {}),
|
|
1955
1955
|
title: 'Delete Preset',
|
|
1956
1956
|
content: "".concat(texts.deleteConfirm, " \"").concat(presetName, "\"?"),
|
|
@@ -1963,7 +1963,7 @@ const Preset = _ref => {
|
|
|
1963
1963
|
await removePreset({
|
|
1964
1964
|
id: selectedPreset.id
|
|
1965
1965
|
});
|
|
1966
|
-
|
|
1966
|
+
message.success(texts.successText);
|
|
1967
1967
|
} else {
|
|
1968
1968
|
// 移除未保存的预设
|
|
1969
1969
|
setPresetList(prev => prev.filter(item => !!item.id));
|
|
@@ -2002,59 +2002,77 @@ const Preset = _ref => {
|
|
|
2002
2002
|
} catch (error) {
|
|
2003
2003
|
console.error('Failed to delete preset:', error);
|
|
2004
2004
|
}
|
|
2005
|
-
}, [selectedPreset, form,
|
|
2005
|
+
}, [selectedPreset, form, modal, message, texts, removePreset, getPresetList]);
|
|
2006
2006
|
const handleLoadPreset = useCallback(async loadData => {
|
|
2007
2007
|
if (!loadData) return;
|
|
2008
|
-
|
|
2009
|
-
|
|
2010
|
-
AntdModal.confirm({
|
|
2008
|
+
let resolveLoading = null;
|
|
2009
|
+
const modalInstance = modal.confirm({
|
|
2011
2010
|
title: 'Load Preset',
|
|
2012
2011
|
content: "".concat(texts.loadConfirm, " \"").concat(loadData.name, "\"?"),
|
|
2013
2012
|
cancelText: 'No',
|
|
2014
2013
|
okText: 'Yes',
|
|
2015
|
-
onOk
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
|
|
2014
|
+
// onOk 返回一个 pending Promise
|
|
2015
|
+
onOk: () => {
|
|
2016
|
+
return new Promise((resolve, reject) => {
|
|
2017
|
+
resolveLoading = resolve;
|
|
2018
|
+
|
|
2019
|
+
// 立即切换为 loading 状态
|
|
2020
|
+
modalInstance.update({
|
|
2021
|
+
title: texts.loadText,
|
|
2022
|
+
content: /*#__PURE__*/jsx(Spin, {
|
|
2023
|
+
size: "large",
|
|
2024
|
+
className: "block mx-auto"
|
|
2025
|
+
}),
|
|
2026
|
+
okButtonProps: {
|
|
2027
|
+
style: {
|
|
2028
|
+
display: 'none'
|
|
2029
|
+
}
|
|
2030
|
+
},
|
|
2031
|
+
cancelButtonProps: {
|
|
2032
|
+
style: {
|
|
2033
|
+
display: 'none'
|
|
2034
|
+
}
|
|
2035
|
+
},
|
|
2036
|
+
maskClosable: false,
|
|
2037
|
+
closable: false
|
|
2038
|
+
});
|
|
2029
2039
|
});
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2040
|
+
},
|
|
2041
|
+
onCancel: () => {
|
|
2042
|
+
// 用户取消
|
|
2043
|
+
}
|
|
2044
|
+
});
|
|
2045
|
+
|
|
2046
|
+
// 延迟执行异步操作,确保 update 生效
|
|
2047
|
+
setTimeout(async () => {
|
|
2048
|
+
try {
|
|
2049
|
+
await loadPreset(_objectSpread2$1({
|
|
2050
|
+
id: loadData.id
|
|
2051
|
+
}, loadData.category_list && {
|
|
2052
|
+
category_list: loadData.category_list
|
|
2053
|
+
}));
|
|
2054
|
+
|
|
2055
|
+
// 成功 1秒后自动关闭
|
|
2056
|
+
setTimeout(() => {
|
|
2057
|
+
var _resolveLoading;
|
|
2058
|
+
(_resolveLoading = resolveLoading) === null || _resolveLoading === void 0 || _resolveLoading();
|
|
2059
|
+
message.success(texts.successText);
|
|
2060
|
+
|
|
2061
|
+
// 加载成功的外部回调
|
|
2062
|
+
if (onLoadSuccess) {
|
|
2063
|
+
onLoadSuccess(loadData);
|
|
2053
2064
|
}
|
|
2065
|
+
}, 2000);
|
|
2066
|
+
} catch (error) {
|
|
2067
|
+
console.error('Failed to load preset:', error);
|
|
2068
|
+
modalInstance.destroy();
|
|
2069
|
+
// 加载失败的外部回调
|
|
2070
|
+
if (onLoadError) {
|
|
2071
|
+
onLoadError(error, loadData);
|
|
2054
2072
|
}
|
|
2055
2073
|
}
|
|
2056
|
-
});
|
|
2057
|
-
}, [loadPreset, texts,
|
|
2074
|
+
}, 100);
|
|
2075
|
+
}, [loadPreset, texts, message, modal, onLoadSuccess, onLoadError]);
|
|
2058
2076
|
const handleSave = useCallback(async () => {
|
|
2059
2077
|
setLoading(true);
|
|
2060
2078
|
try {
|
|
@@ -2064,7 +2082,7 @@ const Preset = _ref => {
|
|
|
2064
2082
|
// 验证预设名称
|
|
2065
2083
|
if ((_fields$name = fields.name) !== null && _fields$name !== void 0 && _fields$name.required) {
|
|
2066
2084
|
if (!values.name || values.name.trim() === '') {
|
|
2067
|
-
|
|
2085
|
+
message.error('Name is required.');
|
|
2068
2086
|
return; // 直接返回 不执行
|
|
2069
2087
|
}
|
|
2070
2088
|
}
|
|
@@ -2072,12 +2090,12 @@ const Preset = _ref => {
|
|
|
2072
2090
|
// 验证分类列表
|
|
2073
2091
|
if ((_fields$category_list2 = fields.category_list) !== null && _fields$category_list2 !== void 0 && _fields$category_list2.required) {
|
|
2074
2092
|
if (!values.category_list || values.category_list.length === 0) {
|
|
2075
|
-
|
|
2093
|
+
message.error('No category selected.');
|
|
2076
2094
|
return;
|
|
2077
2095
|
}
|
|
2078
2096
|
}
|
|
2079
2097
|
await savePreset(values);
|
|
2080
|
-
|
|
2098
|
+
message.success(texts.successText);
|
|
2081
2099
|
const savedPresetName = values.name;
|
|
2082
2100
|
|
|
2083
2101
|
// 刷新列表
|
|
@@ -2099,10 +2117,10 @@ const Preset = _ref => {
|
|
|
2099
2117
|
} finally {
|
|
2100
2118
|
setLoading(false);
|
|
2101
2119
|
}
|
|
2102
|
-
}, [form,
|
|
2120
|
+
}, [form, message, texts, savePreset, getPresetList]);
|
|
2103
2121
|
const handleUpdate = useCallback(async () => {
|
|
2104
2122
|
if (!selectedPreset || !selectedPreset.id) {
|
|
2105
|
-
|
|
2123
|
+
message.error('No preset selected or preset ID is missing.');
|
|
2106
2124
|
return;
|
|
2107
2125
|
}
|
|
2108
2126
|
setLoading(true);
|
|
@@ -2113,7 +2131,7 @@ const Preset = _ref => {
|
|
|
2113
2131
|
// 验证预设名称
|
|
2114
2132
|
if ((_fields$name2 = fields.name) !== null && _fields$name2 !== void 0 && _fields$name2.required) {
|
|
2115
2133
|
if (!values.name || values.name.trim() === '') {
|
|
2116
|
-
|
|
2134
|
+
message.error('Name is required.');
|
|
2117
2135
|
return; // 直接返回 不执行
|
|
2118
2136
|
}
|
|
2119
2137
|
}
|
|
@@ -2133,14 +2151,14 @@ const Preset = _ref => {
|
|
|
2133
2151
|
if (updatedPreset) {
|
|
2134
2152
|
setSelectedPreset(updatedPreset);
|
|
2135
2153
|
}
|
|
2136
|
-
|
|
2154
|
+
message.success(texts.successText);
|
|
2137
2155
|
} catch (error) {
|
|
2138
2156
|
console.error('Failed to update preset:', error);
|
|
2139
2157
|
throw error;
|
|
2140
2158
|
} finally {
|
|
2141
2159
|
setLoading(false);
|
|
2142
2160
|
}
|
|
2143
|
-
}, [form,
|
|
2161
|
+
}, [form, message, texts, updatePreset, selectedPreset]);
|
|
2144
2162
|
|
|
2145
2163
|
// 初始化数据
|
|
2146
2164
|
useEffect(() => {
|
|
@@ -3468,7 +3486,7 @@ const SystemOperations = _ref => {
|
|
|
3468
3486
|
run
|
|
3469
3487
|
} = _ref;
|
|
3470
3488
|
const {
|
|
3471
|
-
modal
|
|
3489
|
+
modal
|
|
3472
3490
|
} = App.useApp();
|
|
3473
3491
|
const menuItems = [{
|
|
3474
3492
|
key: "poweroff",
|
|
@@ -3490,7 +3508,7 @@ const SystemOperations = _ref => {
|
|
|
3490
3508
|
restart: "restart"
|
|
3491
3509
|
};
|
|
3492
3510
|
const actionText = actionLabels[action] || action;
|
|
3493
|
-
|
|
3511
|
+
modal.confirm({
|
|
3494
3512
|
icon: /*#__PURE__*/jsx(ExclamationCircleFilled, {}),
|
|
3495
3513
|
title: confirmTitle,
|
|
3496
3514
|
content: confirmMessage.replace('{action}', actionText),
|