@topconsultnpm/sdkui-react 6.21.0-dev2.22 → 6.21.0-dev2.24

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.
@@ -91,6 +91,7 @@ const TMDcmtForm = ({ TID, DID, groupId, layoutMode = LayoutModes.Update, formMo
91
91
  const formDataRef = useRef([]);
92
92
  const fromDTDRef = useRef();
93
93
  const dcmtFileRef = useRef(null);
94
+ const metadataDcmtOriginRef = useRef(null);
94
95
  const [isOpenDistinctValues, setIsOpenDistinctValues] = useState(false);
95
96
  const [isOpenFormulaEditor, setIsOpenFormulaEditor] = useState(false);
96
97
  const [currentTIDHasDetailRelations, setCurrentTIDHasDetailRelations] = useState();
@@ -135,7 +136,30 @@ const TMDcmtForm = ({ TID, DID, groupId, layoutMode = LayoutModes.Update, formMo
135
136
  if (!did)
136
137
  return;
137
138
  TMSpinner.show({ description: 'Loading Metadata...' });
138
- let res = getMetadataResult ?? await SDK_Globals.tmSession?.NewSearchEngine().GetMetadataAsync(TID, did, true);
139
+ let res = getMetadataResult;
140
+ if (!res) {
141
+ try {
142
+ res = await SDK_Globals.tmSession?.NewSearchEngine().GetMetadataAsync(TID, did, true);
143
+ }
144
+ catch (metadataError) {
145
+ // Estrai ErrorCode dal campo detail se disponibile
146
+ let errorCode = undefined;
147
+ if (metadataError?.isApiException && metadataError?.response?.detail) {
148
+ try {
149
+ const detailObj = JSON.parse(metadataError.response.detail);
150
+ errorCode = detailObj?.ErrorCode;
151
+ }
152
+ catch (parseError) {
153
+ console.log("Impossibile parsare il detail dell'eccezione:", parseError);
154
+ }
155
+ }
156
+ // Se ErrorCode è -5, ignora silenziosamente, altrimenti mostra l'eccezione originale
157
+ if (errorCode !== -5) {
158
+ TMExceptionBoxManager.show({ exception: metadataError });
159
+ }
160
+ return;
161
+ }
162
+ }
139
163
  const origin = { fromName: res?.fromName, fromTID: res?.fromTID };
140
164
  let dtd = res?.dtdResult;
141
165
  let rows = dtd.rows ? dtd.rows[0] : [];
@@ -307,7 +331,7 @@ const TMDcmtForm = ({ TID, DID, groupId, layoutMode = LayoutModes.Update, formMo
307
331
  }
308
332
  else {
309
333
  const renderedMetadata = dtd?.metadata?.filter((metadata) => handleArchiveVisibility(metadata)) ?? [];
310
- const metadataList = searchResultToMetadataValues(dtd?.id, undefined, [], [], renderedMetadata, layoutMode, isReadOnlyOriginCallback(metadataDcmtOrigin?.fromTID));
334
+ const metadataList = searchResultToMetadataValues(dtd?.id, undefined, [], [], renderedMetadata, layoutMode, isReadOnlyOriginCallback(metadataDcmtOriginRef.current?.fromTID));
311
335
  setFormDataOrig(structuredClone(metadataList));
312
336
  setFormData(structuredClone(metadataList));
313
337
  formDataOrigRef.current = structuredClone(metadataList);
@@ -322,7 +346,7 @@ const TMDcmtForm = ({ TID, DID, groupId, layoutMode = LayoutModes.Update, formMo
322
346
  setIsInitialLoading(false);
323
347
  setIsNavigating(false);
324
348
  }
325
- }, [TID, DID, layoutMode, inputFile, setMetadataList, handleReset, allowButtonsRefs, isReadOnlyOriginCallback, metadataDcmtOrigin?.fromTID]);
349
+ }, [TID, DID, layoutMode, inputFile, setMetadataList, handleReset, allowButtonsRefs, isReadOnlyOriginCallback]);
326
350
  const currentSearchResults = useMemo(() => {
327
351
  if (!formData || formData.length === 0 || !TID || !DID)
328
352
  return [];
@@ -477,6 +501,9 @@ const TMDcmtForm = ({ TID, DID, groupId, layoutMode = LayoutModes.Update, formMo
477
501
  useEffect(() => {
478
502
  dcmtFileRef.current = dcmtFile;
479
503
  }, [dcmtFile]);
504
+ useEffect(() => {
505
+ metadataDcmtOriginRef.current = metadataDcmtOrigin;
506
+ }, [metadataDcmtOrigin]);
480
507
  useEffect(() => {
481
508
  if (!inputFile || inputFile === null)
482
509
  return;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@topconsultnpm/sdkui-react",
3
- "version": "6.21.0-dev2.22",
3
+ "version": "6.21.0-dev2.24",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1",