seeder-st2110-components 1.5.2 → 1.5.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
@@ -2701,7 +2701,9 @@ const NetworkSettingsModal = _ref2 => {
2701
2701
  autoComplete: "off"
2702
2702
  }, formProps);
2703
2703
  return /*#__PURE__*/jsxs(Modal, _objectSpread2(_objectSpread2({}, mergedModalProps), {}, {
2704
- children: [/*#__PURE__*/jsxs(Form, _objectSpread2(_objectSpread2({}, mergedFormProps), {}, {
2704
+ children: [/*#__PURE__*/jsxs(Form, _objectSpread2(_objectSpread2({
2705
+ form: form
2706
+ }, mergedFormProps), {}, {
2705
2707
  children: [sections.includes('LAN') && lanConfigs.length > 0 && /*#__PURE__*/jsxs(Fragment, {
2706
2708
  children: [/*#__PURE__*/jsx(NetworkFieldGroup, {
2707
2709
  prefix: "LAN",
@@ -2876,10 +2878,29 @@ const RightDetailForm = /*#__PURE__*/memo(_ref3 => {
2876
2878
  const isInitiallySelected = initialSelected.includes(category.name);
2877
2879
  const shouldDisable = isEditing ? !isInitiallySelected : false;
2878
2880
  return _objectSpread2(_objectSpread2({}, category), {}, {
2879
- disabled: shouldDisable
2881
+ disabled: shouldDisable,
2882
+ initiallySelected: isInitiallySelected
2880
2883
  });
2881
2884
  });
2882
2885
  }, [initialSelected, isEditing, hasCategoryList, fields.category_list]);
2886
+ const handleCheckboxChange = checkedValues => {
2887
+ form.setFieldsValue({
2888
+ category_list: checkedValues
2889
+ });
2890
+ };
2891
+ const handleLoad = async () => {
2892
+ try {
2893
+ const formValues = await form.validateFields();
2894
+ const loadData = {
2895
+ id: form.getFieldValue('id'),
2896
+ // 只加载当前勾选的选项
2897
+ category_list: formValues.category_list || []
2898
+ };
2899
+ await onLoad(loadData);
2900
+ } catch (error) {
2901
+ console.error('表单验证失败:', error);
2902
+ }
2903
+ };
2883
2904
  return /*#__PURE__*/jsxs(Flex, {
2884
2905
  vertical: true,
2885
2906
  className: "h-full",
@@ -2921,6 +2942,7 @@ const RightDetailForm = /*#__PURE__*/memo(_ref3 => {
2921
2942
  }],
2922
2943
  children: /*#__PURE__*/jsx(Checkbox.Group, {
2923
2944
  className: "grid grid-cols-2 gap-2",
2945
+ onChange: handleCheckboxChange,
2924
2946
  children: checkboxOptions.map(category => /*#__PURE__*/jsx(Checkbox, {
2925
2947
  value: category.name,
2926
2948
  disabled: category.disabled,
@@ -2937,7 +2959,7 @@ const RightDetailForm = /*#__PURE__*/memo(_ref3 => {
2937
2959
  })
2938
2960
  })]
2939
2961
  }), isEditing ? /*#__PURE__*/jsx(SubmitButton, _objectSpread2(_objectSpread2({
2940
- action: onLoad
2962
+ action: handleLoad
2941
2963
  }, hasCategoryList && {
2942
2964
  disabled: !currentSelected.length
2943
2965
  }), {}, {
@@ -3009,7 +3031,7 @@ const Preset = _ref => {
3009
3031
  const handleSelectPreset = useCallback(preset => {
3010
3032
  setSelectedPreset(preset);
3011
3033
  form.setFieldsValue(preset);
3012
- setPresetChanged(prev => prev + 1); // 触发更新
3034
+ setPresetChanged(prev => prev + 1); // 触发react更新
3013
3035
  }, [form]);
3014
3036
  const handleAddNew = useCallback(() => {
3015
3037
  var _fields$category_list;
@@ -3066,8 +3088,8 @@ const Preset = _ref => {
3066
3088
  console.error('Failed to delete preset:', error);
3067
3089
  }
3068
3090
  }, [selectedPreset, form, AntdModal, AntdMessage, fetchPresetList, texts]);
3069
- const handleLoadPreset = useCallback(async () => {
3070
- if (!(selectedPreset !== null && selectedPreset !== void 0 && selectedPreset.id)) return;
3091
+ const handleLoadPreset = useCallback(async loadData => {
3092
+ if (!loadData) return;
3071
3093
 
3072
3094
  // 显示加载模态框
3073
3095
  const modalInstance = Modal.info({
@@ -3085,9 +3107,9 @@ const Preset = _ref => {
3085
3107
  });
3086
3108
  try {
3087
3109
  await loadPreset(_objectSpread2({
3088
- id: selectedPreset.id
3089
- }, selectedPreset.category_list && {
3090
- category_list: selectedPreset.category_list
3110
+ id: loadData.id
3111
+ }, loadData.category_list && {
3112
+ category_list: loadData.category_list
3091
3113
  }));
3092
3114
  // 成功时延迟关闭
3093
3115
  setTimeout(() => {
@@ -3098,7 +3120,7 @@ const Preset = _ref => {
3098
3120
  console.error('Failed to load preset:', error);
3099
3121
  modalInstance.destroy();
3100
3122
  }
3101
- }, [selectedPreset, loadPreset, texts, AntdMessage]);
3123
+ }, [loadPreset, texts, AntdMessage]);
3102
3124
  const handleSave = useCallback(async () => {
3103
3125
  setLoading(true);
3104
3126
  try {