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 CHANGED
@@ -1891,8 +1891,8 @@ const Preset = _ref => {
1891
1891
  enableEdit = true
1892
1892
  } = _ref;
1893
1893
  const {
1894
- message: AntdMessage,
1895
- modal: AntdModal
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
- AntdMessage.warning('Existing unsaved preset detected.');
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, AntdMessage]);
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
- AntdModal.confirm({
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
- AntdMessage.success(texts.successText);
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, AntdModal, AntdMessage, texts, removePreset, getPresetList]);
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: async () => {
2016
- // 显示加载模态框
2017
- const modalInstance = Modal.info({
2018
- title: texts.loadText,
2019
- content: /*#__PURE__*/jsx(Spin, {
2020
- size: "large",
2021
- className: "block mx-auto"
2022
- }),
2023
- maskClosable: false,
2024
- okButtonProps: {
2025
- style: {
2026
- display: 'none'
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
- try {
2031
- await loadPreset(_objectSpread2$1({
2032
- id: loadData.id
2033
- }, loadData.category_list && {
2034
- category_list: loadData.category_list
2035
- }));
2036
- // 成功时延迟关闭
2037
- setTimeout(() => {
2038
- modalInstance.destroy();
2039
- AntdMessage.success(texts.successText);
2040
-
2041
- // 加载成功的外部回调
2042
- if (onLoadSuccess) {
2043
- onLoadSuccess(loadData);
2044
- }
2045
- }, 1000);
2046
- } catch (error) {
2047
- console.error('Failed to load preset:', error);
2048
- modalInstance.destroy();
2049
-
2050
- // 加载失败的外部回调
2051
- if (onLoadError) {
2052
- onLoadError(error, loadData);
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, AntdMessage, AntdModal, onLoadSuccess, onLoadError]);
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
- AntdMessage.error('Name is required.');
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
- AntdMessage.error('No category selected.');
2093
+ message.error('No category selected.');
2076
2094
  return;
2077
2095
  }
2078
2096
  }
2079
2097
  await savePreset(values);
2080
- AntdMessage.success(texts.successText);
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, AntdMessage, texts, savePreset, getPresetList]);
2120
+ }, [form, message, texts, savePreset, getPresetList]);
2103
2121
  const handleUpdate = useCallback(async () => {
2104
2122
  if (!selectedPreset || !selectedPreset.id) {
2105
- AntdMessage.error('No preset selected or preset ID is missing.');
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
- AntdMessage.error('Name is required.');
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
- AntdMessage.success(texts.successText);
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, AntdMessage, texts, updatePreset, selectedPreset]);
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: AntdModal
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
- AntdModal.confirm({
3511
+ modal.confirm({
3494
3512
  icon: /*#__PURE__*/jsx(ExclamationCircleFilled, {}),
3495
3513
  title: confirmTitle,
3496
3514
  content: confirmMessage.replace('{action}', actionText),