@topconsultnpm/sdkui-react 6.19.0-dev1.33 → 6.19.0-dev1.34

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.
@@ -10,7 +10,7 @@ import TMTooltip from "../base/TMTooltip";
10
10
  import TMCheckBox from "./TMCheckBox";
11
11
  import TMMetadataEditor, { useMetadataEditableList } from "./TMMetadataEditor";
12
12
  import { FormulaHelper } from "./TMFormulaEditor";
13
- import { DraftsMIDs } from "../../ts";
13
+ import { DraftsMIDs, DSAttachsMIDs } from "../../ts";
14
14
  import { TMNothingToShow } from "../features/documents/TMDcmtPreview";
15
15
  import TMAccordion from "../base/TMAccordion";
16
16
  export var ShowCheckBoxesMode;
@@ -384,7 +384,22 @@ const TMMetadataValues = ({ showCheckBoxes = ShowCheckBoxesMode.Never, checkPerm
384
384
  checkOutData.push(tempCICODataMap[id]);
385
385
  }
386
386
  });
387
- return (_jsxs("div", { style: { width: '100%' }, children: [draftData.length > 0 && _jsx(TMAccordion, { title: SDKUI_Localizator.Draft, children: draftData.map(item => renderMetadataItem(item)) }), checkOutData.length > 0 && _jsx(TMAccordion, { title: `${SDKUI_Localizator.CheckIn}/${SDKUI_Localizator.CheckOut}`, children: checkOutData.map(item => renderMetadataItem(item, true)) })] }));
387
+ return (_jsxs("div", { style: { width: '100%' }, children: [draftData.length > 0 && _jsx(TMAccordion, { title: SDKUI_Localizator.Draft, children: draftData.map(item => renderMetadataItem(item, isReadOnly)) }), checkOutData.length > 0 && _jsx(TMAccordion, { title: `${SDKUI_Localizator.CheckIn}/${SDKUI_Localizator.CheckOut}`, children: checkOutData.map(item => renderMetadataItem(item, true)) })] }));
388
+ };
389
+ const layoutDsAttachs = () => {
390
+ const dsAttachsData = [];
391
+ metadataValues.forEach(item => {
392
+ switch (item.md?.id) {
393
+ // case DSAttachsMIDs.DSID:
394
+ case DSAttachsMIDs.Name:
395
+ case DSAttachsMIDs.Description:
396
+ dsAttachsData.push(item);
397
+ break;
398
+ default:
399
+ break;
400
+ }
401
+ });
402
+ return (_jsx("div", { style: { width: '100%' }, children: dsAttachsData.length > 0 && _jsx(TMAccordion, { title: SDKUI_Localizator.Attachment, children: dsAttachsData.map(item => renderMetadataItem(item, isReadOnly)) }) }));
388
403
  };
389
404
  const layoutCustom = () => {
390
405
  if (!layout || !layout.items || layout.items.length === 0) {
@@ -437,13 +452,18 @@ const TMMetadataValues = ({ showCheckBoxes = ShowCheckBoxesMode.Never, checkPerm
437
452
  return (_jsx("div", { style: { width: '100%' }, children: rootItems.map(item => renderLayoutItem(item, 0)) }));
438
453
  };
439
454
  const renderForm = () => {
455
+ // Se tutti i metadata sono di sistema, renderizziamo tutti in sola lettura senza layout
456
+ const allSystem = metadataValues.length > 0 && metadataValues.every(item => item.md?.isSystem === 1);
457
+ if (allSystem) {
458
+ return metadataValues.map((item) => renderMetadataItem(item, true));
459
+ }
440
460
  if (currentDTD?.templateTID === TemplateTIDs.WF_WIApprView && !isReadOnly) {
441
461
  return layoutWorkItem();
442
462
  }
443
463
  switch (currentDTD?.id) {
444
- case SystemTIDs.Drafts: return !isReadOnly ? layoutDraft() : metadataValues.map((item) => renderMetadataItem(item));
464
+ case SystemTIDs.Drafts: return layoutDraft();
445
465
  // case SystemTIDs.Chronology: break;
446
- // case SystemTIDs.DSAttachs: break;
466
+ case SystemTIDs.DSAttachs: return layoutDsAttachs();
447
467
  default:
448
468
  // Se è presente un layout personalizzato, usalo, altrimenti usa il rendering standard
449
469
  if (layout && layout.items && layout.items.length > 0) {
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
3
3
  import TMDcmtPreview from './TMDcmtPreview';
4
- import { AccessLevels, ArchiveConstraints, ArchiveEngineByID, DcmtTypeListCacheService, LayoutModes, MetadataDataTypes, ResultTypes, SDK_Globals, SDK_Localizator, SystemMIDsAsNumber, SystemTIDs, Task_States, TemplateTIDs, UpdateEngineByID, ValidationItem, WorkflowCacheService, WorkItemMetadataNames } from '@topconsultnpm/sdk-ts';
4
+ import { AccessLevels, ArchiveConstraints, ArchiveEngineByID, DcmtTypeListCacheService, LayoutCacheService, LayoutModes, MetadataDataTypes, ResultTypes, SDK_Globals, SDK_Localizator, SystemMIDsAsNumber, SystemTIDs, Task_States, TemplateTIDs, UpdateEngineByID, ValidationItem, WorkflowCacheService, WorkItemMetadataNames } from '@topconsultnpm/sdk-ts';
5
5
  import { ContextMenu } from 'devextreme-react';
6
6
  import { WorkFlowApproveRejectPopUp, WorkFlowMoreInfoPopUp, WorkFlowOperationButtons, WorkFlowReAssignPopUp } from '../workflow/TMWorkflowPopup';
7
7
  import { DownloadTypes, FormModes } from '../../../ts';
@@ -153,11 +153,18 @@ const TMDcmtForm = ({ showHeader = true, onSaveRecents, layoutMode = LayoutModes
153
153
  return;
154
154
  if (!DID && layoutMode === LayoutModes.Update)
155
155
  return;
156
- let getMetadataResult;
157
- if (layoutMode === LayoutModes.Update)
158
- getMetadataResult = await SDK_Globals.tmSession?.NewSearchEngine().GetMetadataAsync(TID, DID, true);
156
+ // Esegui in parallelo GetMetadataAsync e LayoutCacheService.GetAsync
157
+ // poiché non dipendono l'uno dall'altro
158
+ const [getMetadataResult, resLayout] = await Promise.all([
159
+ layoutMode === LayoutModes.Update
160
+ ? SDK_Globals.tmSession?.NewSearchEngine().GetMetadataAsync(TID, DID, true)
161
+ : Promise.resolve(undefined),
162
+ LayoutCacheService.GetAsync(TID, layoutMode)
163
+ ]);
164
+ // DcmtTypeListCacheService dipende da getMetadataResult, quindi deve attendere
159
165
  let dtd = await DcmtTypeListCacheService.GetWithNotGrantedAsync(TID, DID, getMetadataResult);
160
166
  setFromDTD(dtd);
167
+ setLayout(resLayout);
161
168
  if (layoutMode === LayoutModes.Update || (layoutMode === LayoutModes.Ark && DID)) {
162
169
  await setMetadataList(dtd?.metadata ?? [], getMetadataResult);
163
170
  }
@@ -168,8 +175,6 @@ const TMDcmtForm = ({ showHeader = true, onSaveRecents, layoutMode = LayoutModes
168
175
  setFormData(structuredClone(metadataList));
169
176
  formDataOrigRef.current = structuredClone(metadataList);
170
177
  }
171
- let resLayout = await SDK_Globals.tmSession?.NewDcmtTypeEngine().LayoutRetrieveAsync(TID, layoutMode);
172
- setLayout(resLayout);
173
178
  (layoutMode === LayoutModes.Ark && !inputFile) && handleReset();
174
179
  }
175
180
  catch (e) {
package/lib/ts/types.d.ts CHANGED
@@ -61,6 +61,19 @@ export declare enum DraftsMIDs {
61
61
  Ver = 6008,// N° di versione della bozza
62
62
  LastVer = 6009
63
63
  }
64
+ export declare enum DSAttachsMIDs {
65
+ DSID = 7001,
66
+ Name = 7002,
67
+ Description = 7003
68
+ }
69
+ export declare enum ChronologyMIDs {
70
+ RefRootTID = 15001,
71
+ RefDID = 15002,
72
+ Ver = 15003,
73
+ AuthorID = 15004,
74
+ CheckInTime = 15005,
75
+ Note = 15006
76
+ }
64
77
  export type DownloadModes = "none" | "download" | "openInNewWindow";
65
78
  export type TID_MID = {
66
79
  tid: number | undefined;
package/lib/ts/types.js CHANGED
@@ -66,6 +66,21 @@ export var DraftsMIDs;
66
66
  DraftsMIDs[DraftsMIDs["Ver"] = 6008] = "Ver";
67
67
  DraftsMIDs[DraftsMIDs["LastVer"] = 6009] = "LastVer"; // Ultima versione? (0 | 1)
68
68
  })(DraftsMIDs || (DraftsMIDs = {}));
69
+ export var DSAttachsMIDs;
70
+ (function (DSAttachsMIDs) {
71
+ DSAttachsMIDs[DSAttachsMIDs["DSID"] = 7001] = "DSID";
72
+ DSAttachsMIDs[DSAttachsMIDs["Name"] = 7002] = "Name";
73
+ DSAttachsMIDs[DSAttachsMIDs["Description"] = 7003] = "Description";
74
+ })(DSAttachsMIDs || (DSAttachsMIDs = {}));
75
+ export var ChronologyMIDs;
76
+ (function (ChronologyMIDs) {
77
+ ChronologyMIDs[ChronologyMIDs["RefRootTID"] = 15001] = "RefRootTID";
78
+ ChronologyMIDs[ChronologyMIDs["RefDID"] = 15002] = "RefDID";
79
+ ChronologyMIDs[ChronologyMIDs["Ver"] = 15003] = "Ver";
80
+ ChronologyMIDs[ChronologyMIDs["AuthorID"] = 15004] = "AuthorID";
81
+ ChronologyMIDs[ChronologyMIDs["CheckInTime"] = 15005] = "CheckInTime";
82
+ ChronologyMIDs[ChronologyMIDs["Note"] = 15006] = "Note";
83
+ })(ChronologyMIDs || (ChronologyMIDs = {}));
69
84
  export class MetadataValueDescriptorEx extends MetadataValueDescriptor {
70
85
  }
71
86
  export var moduleTypes;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@topconsultnpm/sdkui-react",
3
- "version": "6.19.0-dev1.33",
3
+ "version": "6.19.0-dev1.34",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1",
@@ -39,7 +39,7 @@
39
39
  "lib"
40
40
  ],
41
41
  "dependencies": {
42
- "@topconsultnpm/sdk-ts": "6.19.0-dev1.5",
42
+ "@topconsultnpm/sdk-ts": "6.19.0-dev1.6",
43
43
  "buffer": "^6.0.3",
44
44
  "devextreme": "25.1.4",
45
45
  "devextreme-react": "25.1.4",