sy-form-components 0.2.10 → 0.2.12

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.mjs CHANGED
@@ -5930,6 +5930,20 @@ var createDefaultRequest = (baseUrl) => async (config) => {
5930
5930
  return parseResponse(response);
5931
5931
  };
5932
5932
  var generateUid = () => `${Date.now().toString(36)}${Math.random().toString(36).slice(2)}`;
5933
+ var normalizeFormInstancePayload = (payload) => {
5934
+ const { formInstanceId, ...rest } = payload || {};
5935
+ return {
5936
+ ...rest,
5937
+ formInstId: payload?.formInstId || formInstanceId
5938
+ };
5939
+ };
5940
+ var unwrapBusinessResponse = (response) => {
5941
+ const result = response?.data || response?.result || response;
5942
+ if (result?.success === false) {
5943
+ throw new Error(result.message || response?.message || "\u8BF7\u6C42\u5931\u8D25");
5944
+ }
5945
+ return result;
5946
+ };
5933
5947
  var normalizeUploadData = (data, file, bucketName) => {
5934
5948
  const item = Array.isArray(data) ? data[0] : data;
5935
5949
  const objectName = item?.objectName || item?.objectKey || item?.key;
@@ -6157,12 +6171,13 @@ function createFormRuntimeApi(config) {
6157
6171
  return response.data || response.result || response;
6158
6172
  },
6159
6173
  updateFormData: async (payload) => {
6174
+ const data = normalizeFormInstancePayload(payload);
6160
6175
  const response = await request({
6161
- url: `/${payload.appType}/v1/form/updateFormData.json`,
6176
+ url: `/${data.appType}/v1/form/updateFormData.json`,
6162
6177
  method: "post",
6163
- data: payload
6178
+ data
6164
6179
  });
6165
- return response.data || response.result || response;
6180
+ return unwrapBusinessResponse(response);
6166
6181
  }
6167
6182
  };
6168
6183
  return { ...defaults, ...overrides, request };
@@ -6705,7 +6720,11 @@ async function deleteFormData(request, params) {
6705
6720
  const response = await request({
6706
6721
  url: `/${params.appType}/v1/form/deleteFormData.json`,
6707
6722
  method: "post",
6708
- data: params
6723
+ data: {
6724
+ appType: params.appType,
6725
+ formUuid: params.formUuid,
6726
+ formInstId: params.formInstanceId
6727
+ }
6709
6728
  });
6710
6729
  return response.data || response.result;
6711
6730
  }
@@ -7727,12 +7746,17 @@ function useFormDetail(options) {
7727
7746
  const [instanceInfo, setInstanceInfo] = useState24(null);
7728
7747
  const [permissions, setPermissions] = useState24(null);
7729
7748
  const mountedRef = useRef9(true);
7749
+ const onPermissionDeniedRef = useRef9(onPermissionDenied);
7750
+ const fieldIdsKey = fieldIds?.join("") ?? "";
7730
7751
  useEffect29(() => {
7731
7752
  mountedRef.current = true;
7732
7753
  return () => {
7733
7754
  mountedRef.current = false;
7734
7755
  };
7735
7756
  }, []);
7757
+ useEffect29(() => {
7758
+ onPermissionDeniedRef.current = onPermissionDenied;
7759
+ }, [onPermissionDenied]);
7736
7760
  const loadData = useCallback11(async () => {
7737
7761
  if (!mountedRef.current) return;
7738
7762
  setLoading(true);
@@ -7743,7 +7767,7 @@ function useFormDetail(options) {
7743
7767
  ]);
7744
7768
  if (!mountedRef.current) return;
7745
7769
  if (!permResult || !hasViewOperation(permResult.operations, "view")) {
7746
- onPermissionDenied?.();
7770
+ onPermissionDeniedRef.current?.();
7747
7771
  }
7748
7772
  const normalizedInfo = normalizeFormInstanceInfo(formResult, {
7749
7773
  formUuid,
@@ -7752,7 +7776,9 @@ function useFormDetail(options) {
7752
7776
  });
7753
7777
  setPermissions(permResult);
7754
7778
  setInstanceInfo(normalizedInfo);
7755
- setFormData(extractFormValues(formResult, fieldIds));
7779
+ setFormData(
7780
+ extractFormValues(formResult, fieldIdsKey ? fieldIdsKey.split("") : void 0)
7781
+ );
7756
7782
  } catch (error) {
7757
7783
  console.error("[useFormDetail] Failed to load data:", error);
7758
7784
  if (mountedRef.current) {
@@ -7765,7 +7791,7 @@ function useFormDetail(options) {
7765
7791
  setLoading(false);
7766
7792
  }
7767
7793
  }
7768
- }, [request, formUuid, appType, formInstanceId, fieldIds, onPermissionDenied]);
7794
+ }, [request, formUuid, appType, formInstanceId, fieldIdsKey]);
7769
7795
  useEffect29(() => {
7770
7796
  loadData();
7771
7797
  }, [loadData]);
@@ -7861,6 +7887,7 @@ function useProcessDetail(options) {
7861
7887
  const [permissions, setPermissions] = useState25(null);
7862
7888
  const [processDefinition, setProcessDefinition] = useState25(null);
7863
7889
  const mountedRef = useRef10(true);
7890
+ const fieldIdsKey = fieldIds?.join("") ?? "";
7864
7891
  useEffect30(() => {
7865
7892
  mountedRef.current = true;
7866
7893
  return () => {
@@ -7906,7 +7933,9 @@ function useProcessDetail(options) {
7906
7933
  setApprovalTasks(approvalResult?.currentTasks ?? []);
7907
7934
  setPermissions(permResult);
7908
7935
  setInstanceInfo(formResult);
7909
- setFormData(extractFormValues(formResult, fieldIds));
7936
+ setFormData(
7937
+ extractFormValues(formResult, fieldIdsKey ? fieldIdsKey.split("") : void 0)
7938
+ );
7910
7939
  if (permResult?.operations?.includes("VIEW_PROCESS") || permResult?.operations?.length > 0) {
7911
7940
  try {
7912
7941
  const progress = await getProcessProgress(request, formInstanceId);
@@ -7941,7 +7970,7 @@ function useProcessDetail(options) {
7941
7970
  setLoading(false);
7942
7971
  }
7943
7972
  }
7944
- }, [request, formUuid, appType, formInstanceId, fieldIds]);
7973
+ }, [request, formUuid, appType, formInstanceId, fieldIdsKey]);
7945
7974
  useEffect30(() => {
7946
7975
  loadData();
7947
7976
  }, [loadData]);