@topconsultnpm/sdkui-react 6.21.0-dev2.23 → 6.21.0-dev2.25

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();
@@ -330,7 +331,7 @@ const TMDcmtForm = ({ TID, DID, groupId, layoutMode = LayoutModes.Update, formMo
330
331
  }
331
332
  else {
332
333
  const renderedMetadata = dtd?.metadata?.filter((metadata) => handleArchiveVisibility(metadata)) ?? [];
333
- const metadataList = searchResultToMetadataValues(dtd?.id, undefined, [], [], renderedMetadata, layoutMode, isReadOnlyOriginCallback(metadataDcmtOrigin?.fromTID));
334
+ const metadataList = searchResultToMetadataValues(dtd?.id, undefined, [], [], renderedMetadata, layoutMode, isReadOnlyOriginCallback(metadataDcmtOriginRef.current?.fromTID));
334
335
  setFormDataOrig(structuredClone(metadataList));
335
336
  setFormData(structuredClone(metadataList));
336
337
  formDataOrigRef.current = structuredClone(metadataList);
@@ -345,7 +346,7 @@ const TMDcmtForm = ({ TID, DID, groupId, layoutMode = LayoutModes.Update, formMo
345
346
  setIsInitialLoading(false);
346
347
  setIsNavigating(false);
347
348
  }
348
- }, [TID, DID, layoutMode, inputFile, setMetadataList, handleReset, allowButtonsRefs, isReadOnlyOriginCallback, metadataDcmtOrigin?.fromTID]);
349
+ }, [TID, DID, layoutMode, inputFile, setMetadataList, handleReset, allowButtonsRefs, isReadOnlyOriginCallback]);
349
350
  const currentSearchResults = useMemo(() => {
350
351
  if (!formData || formData.length === 0 || !TID || !DID)
351
352
  return [];
@@ -500,6 +501,9 @@ const TMDcmtForm = ({ TID, DID, groupId, layoutMode = LayoutModes.Update, formMo
500
501
  useEffect(() => {
501
502
  dcmtFileRef.current = dcmtFile;
502
503
  }, [dcmtFile]);
504
+ useEffect(() => {
505
+ metadataDcmtOriginRef.current = metadataDcmtOrigin;
506
+ }, [metadataDcmtOrigin]);
503
507
  useEffect(() => {
504
508
  if (!inputFile || inputFile === null)
505
509
  return;
@@ -1590,31 +1594,52 @@ const validateMaxLength = (mvd, value, validationItems) => {
1590
1594
  //#endregion Validation
1591
1595
  // Synchronizes panel visibility and toolbar button disabled states when panels become disabled
1592
1596
  const PanelDisabledStateHandler = ({ isWFDisabled, isSysMetadataDisabled, isBoardDisabled, isDcmtTasksDisabled, isPreviewDisabled }) => {
1593
- const { setPanelVisibilityById, setToolbarButtonDisabled, panelVisibility } = useTMPanelManagerContext();
1597
+ const { setPanelVisibilityById, setToolbarButtonDisabled } = useTMPanelManagerContext();
1594
1598
  useEffect(() => {
1595
- // Aggiorna lo stato disabled del bottone toolbar
1596
- setToolbarButtonDisabled('tmSysMetadata', isSysMetadataDisabled);
1597
- setToolbarButtonDisabled('tmBlog', isBoardDisabled);
1598
- setToolbarButtonDisabled('tmWF', isWFDisabled);
1599
- setToolbarButtonDisabled('tmDcmtTasks', isDcmtTasksDisabled);
1600
- setToolbarButtonDisabled('tmDcmtPreview', isPreviewDisabled);
1601
- // Chiude il pannello solo se è attualmente visibile e deve essere disabilitato
1602
- if (isSysMetadataDisabled && panelVisibility['tmSysMetadata']) {
1599
+ if (isSysMetadataDisabled) {
1600
+ setToolbarButtonDisabled('tmSysMetadata', true);
1603
1601
  setPanelVisibilityById('tmSysMetadata', false);
1604
1602
  }
1605
- if (isBoardDisabled && panelVisibility['tmBlog']) {
1603
+ else {
1604
+ setToolbarButtonDisabled('tmSysMetadata', false);
1605
+ }
1606
+ }, [isSysMetadataDisabled]);
1607
+ useEffect(() => {
1608
+ if (isBoardDisabled) {
1609
+ setToolbarButtonDisabled('tmBlog', true);
1606
1610
  setPanelVisibilityById('tmBlog', false);
1607
1611
  }
1608
- if (isWFDisabled && panelVisibility['tmWF']) {
1612
+ else {
1613
+ setToolbarButtonDisabled('tmBlog', false);
1614
+ }
1615
+ }, [isBoardDisabled]);
1616
+ useEffect(() => {
1617
+ if (isWFDisabled) {
1618
+ setToolbarButtonDisabled('tmWF', true);
1609
1619
  setPanelVisibilityById('tmWF', false);
1610
1620
  }
1611
- if (isDcmtTasksDisabled && panelVisibility['tmDcmtTasks']) {
1621
+ else {
1622
+ setToolbarButtonDisabled('tmWF', false);
1623
+ }
1624
+ }, [isWFDisabled]);
1625
+ useEffect(() => {
1626
+ if (isDcmtTasksDisabled) {
1627
+ setToolbarButtonDisabled('tmDcmtTasks', true);
1612
1628
  setPanelVisibilityById('tmDcmtTasks', false);
1613
1629
  }
1614
- if (isPreviewDisabled && panelVisibility['tmDcmtPreview']) {
1630
+ else {
1631
+ setToolbarButtonDisabled('tmDcmtTasks', false);
1632
+ }
1633
+ }, [isDcmtTasksDisabled]);
1634
+ useEffect(() => {
1635
+ if (isPreviewDisabled) {
1636
+ setToolbarButtonDisabled('tmDcmtPreview', true);
1615
1637
  setPanelVisibilityById('tmDcmtPreview', false);
1616
1638
  }
1617
- }, [isSysMetadataDisabled, isBoardDisabled, isWFDisabled, isDcmtTasksDisabled, isPreviewDisabled, setPanelVisibilityById, setToolbarButtonDisabled, panelVisibility]);
1639
+ else {
1640
+ setToolbarButtonDisabled('tmDcmtPreview', false);
1641
+ }
1642
+ }, [isPreviewDisabled]);
1618
1643
  return null;
1619
1644
  };
1620
1645
  const TMDcmtPreviewWrapper = ({ refreshPreviewTrigger, fromDTD, currentDcmt, layoutMode, dcmtFile, deviceType, isVisible, onFileUpload, openFileUploaderPdfEditor, enableDragDropOverlay = false, onScanRequest, onBack }) => {
@@ -101,6 +101,15 @@ handleNavigateToWGs, handleNavigateToDossiers, }) => {
101
101
  // State to control the layout of the custom buttons
102
102
  const [customButtonsLayout, setCustomButtonsLayout] = useState();
103
103
  const [allUsers, setAllUsers] = useState([]);
104
+ const [isBoardDisabled, setIsBoardDisabled] = useState(true);
105
+ useEffect(() => {
106
+ if (!fromDTD) {
107
+ setIsBoardDisabled(false);
108
+ return;
109
+ }
110
+ const newValue = fromDTD.hasBlog !== undefined && fromDTD.hasBlog !== 1;
111
+ setIsBoardDisabled(newValue);
112
+ }, [fromDTD]);
104
113
  useEffect(() => {
105
114
  const fetchAllUsers = async () => {
106
115
  const users = await UserListCacheService.GetAllAsync();
@@ -675,7 +684,6 @@ handleNavigateToWGs, handleNavigateToDossiers, }) => {
675
684
  }
676
685
  return (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', height: '100%', overflow: 'hidden', width: '100%' }, children: [_jsx("div", { style: { padding: '10px', overflow: 'auto', flex: 1 }, children: _jsx("div", { dangerouslySetInnerHTML: { __html: ftExplanation } }) }), _jsxs(StyledIndexingInfoSection, { children: [_jsxs(StyledIndexingToggle, { onClick: handleToggleIndexingInfo, disabled: loadingIndexingInfo, children: [_jsx(StyledLeftContent, { children: _jsx("span", { children: SDKUI_Localizator.IndexingInformation }) }), _jsx(StyledRightContent, { children: _jsx(StyledChevron, { "$isOpen": showIndexingInfo, children: "\u25BC" }) })] }), showIndexingInfo && indexingInfo && (_jsxs(StyledIndexingInfoBox, { children: [_jsx("div", { dangerouslySetInnerHTML: { __html: indexingInfo } }), loadingIndexingInfo && (_jsxs("div", { style: { position: 'absolute', top: '50%', left: '50%', transform: 'translate(-50%, -50%)', background: 'rgba(255, 255, 255, 0.9)', padding: '10px', borderRadius: '4px', boxShadow: '0 2px 8px rgba(0,0,0,0.15)' }, children: [SDKUI_Localizator.Loading, "..."] }))] }))] })] }));
677
686
  }, [selectedSearchResult, focusedItem, indexingInfo, showIndexingInfo, loadingIndexingInfo]);
678
- const isBoardDisabled = useMemo(() => fromDTD !== undefined && fromDTD.hasBlog !== 1, [fromDTD]);
679
687
  const allInitialPanelVisibility = {
680
688
  'tmSearchResult': true,
681
689
  'tmBlog': false,
@@ -1278,19 +1286,16 @@ const TMSearchResultSelector = ({ searchResults = [], disableAccordionIfSingleCa
1278
1286
  };
1279
1287
  //#endregion TMSearchResultSelector
1280
1288
  const PanelDisabledStateHandler = ({ isBoardDisabled }) => {
1281
- const { setPanelVisibilityById, setToolbarButtonDisabled, panelVisibility } = useTMPanelManagerContext();
1289
+ const { setPanelVisibilityById, setToolbarButtonDisabled } = useTMPanelManagerContext();
1282
1290
  useEffect(() => {
1283
- // Chiude il pannello solo se è attualmente visibile e deve essere disabilitato
1284
- if (isBoardDisabled && panelVisibility['tmBlog']) {
1285
- setPanelVisibilityById('tmBlog', false);
1291
+ if (isBoardDisabled) {
1286
1292
  setToolbarButtonDisabled('tmBlog', true);
1293
+ setPanelVisibilityById('tmBlog', false);
1287
1294
  }
1288
- // Riapre il pannello solo se è attualmente visibile e deve essere abilitato
1289
- if (!isBoardDisabled && panelVisibility['tmBlog']) {
1290
- setPanelVisibilityById('tmBlog', true);
1295
+ else {
1291
1296
  setToolbarButtonDisabled('tmBlog', false);
1292
1297
  }
1293
- }, [isBoardDisabled, setPanelVisibilityById, setToolbarButtonDisabled, panelVisibility]);
1298
+ }, [isBoardDisabled]);
1294
1299
  return null;
1295
1300
  };
1296
1301
  const TMDcmtPreviewWrapper = ({ refreshPreviewTrigger, currentDcmt, isVisible, onBack }) => {
@@ -332,7 +332,7 @@ export const renderDTDTooltipContent = (dtd) => {
332
332
  : _jsxs(StyledTooltipContainer, { children: [_jsx(StyledTooltipItem, { children: `${SDK_Globals.useLocalizedName ? dtd.nameLoc : dtd.name} (${dtd.isView ? 'VID' : 'TID'}: ${dtd.id}, RootTID: ${dtd.rootTID ?? 0})` }), dtd.description && _jsx(StyledTooltipItem, { children: dtd.description }), _jsx(StyledTooltipSeparatorItem, {}), dtd.customData2 === "NOTGRANTED"
333
333
  ? _jsx(StyledTooltipItem, { style: { fontWeight: 600 }, children: 'Tipo documento NON autorizzato' })
334
334
  :
335
- _jsxs(_Fragment, { children: [_jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.ArchiveConstraint}: ${LocalizeArchiveConstraints(dtd.archiveConstraint)}` }), dtd.isView && dtd.parametricFilterType != ParametricFilterTypes.None && _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.ParametricFilter}: ${LocalizeParametricFilterTypes(dtd.parametricFilterType)}` }), dtd.isView && dtd.withCheckOption && _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.ViewWithCheckOption}: ${SDKUI_Localizator.Yes}` }), dtd.isLexProt && dtd.isLexProt > 0 && _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.LexProt}: ${SDKUI_Localizator.Yes}` }), dtd.isFreeSearchable && _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.Search_Free}: ${SDKUI_Localizator.Yes}` }), dtd.templateTID && _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.Template}: ${dtd.templateTID}` }), dtd.traceTID && _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.Tracing}: ${SDKUI_Localizator.Yes} - ${dtd.templateTID == TemplateTIDs.Trace_DcmtType ? SDKUI_Localizator.Destination : SDKUI_Localizator.Source} ${dtd.traceTID < 0 ? SDKUI_Localizator.Disabled : ''}` }), dtd.wfAppr && _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.WorkflowApproval}: ${SDKUI_Localizator.Yes}` }), dtd.hasBlog && _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.BlogCase}: ${SDKUI_Localizator.Yes}` }), _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.CheckIn}: ${dtd.cico ? SDKUI_Localizator.Yes : SDKUI_Localizator.No}` }), dtd.perm ?
335
+ _jsxs(_Fragment, { children: [_jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.ArchiveConstraint}: ${LocalizeArchiveConstraints(dtd.archiveConstraint)}` }), dtd.isView && dtd.parametricFilterType != ParametricFilterTypes.None && _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.ParametricFilter}: ${LocalizeParametricFilterTypes(dtd.parametricFilterType)}` }), dtd.isView && dtd.withCheckOption && _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.ViewWithCheckOption}: ${SDKUI_Localizator.Yes}` }), dtd.isLexProt && dtd.isLexProt > 0 && _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.LexProt}: ${SDKUI_Localizator.Yes}` }), dtd.isFreeSearchable && _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.Search_Free}: ${SDKUI_Localizator.Yes}` }), dtd.templateTID && _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.Template}: ${dtd.templateTID}` }), dtd.traceTID && _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.Tracing}: ${SDKUI_Localizator.Yes} - ${dtd.templateTID == TemplateTIDs.Trace_DcmtType ? SDKUI_Localizator.Destination : SDKUI_Localizator.Source} ${dtd.traceTID < 0 ? SDKUI_Localizator.Disabled : ''}` }), dtd.wfAppr && _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.WorkflowApproval}: ${SDKUI_Localizator.Yes}` }), _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.BlogCase}: ${dtd.hasBlog ? SDKUI_Localizator.Yes : SDKUI_Localizator.No}` }), _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.CheckIn}: ${dtd.cico ? SDKUI_Localizator.Yes : SDKUI_Localizator.No}` }), dtd.perm ?
336
336
  _jsxs(_Fragment, { children: [_jsx(StyledTooltipItem, { "$color": 'primary', "$marginTop": '5px', children: SDKUI_Localizator.Perms }), _jsx(StyledTooltipSeparatorItem, {}), _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.Archive}: ${mapAccessLevelToLocalizedString(dtd.perm.canArchive)}` }), _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.View_Metadato}: ${mapAccessLevelToLocalizedString(dtd.perm.canView)}` }), _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.Search}: ${mapAccessLevelToLocalizedString(dtd.perm.canSearch)}` }), _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.Update}: ${mapAccessLevelToLocalizedString(dtd.perm.canUpdate)}` }), _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.RetrieveFile}: ${mapAccessLevelToLocalizedString(dtd.perm.canRetrieveFile)}` }), _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.AddOrSubstFile}: ${mapAccessLevelToLocalizedString(dtd.perm.canSubstFile)}` }), _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.LogDelete}: ${mapAccessLevelToLocalizedString(dtd.perm.canLogicalDelete)}` }), _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.PhysDelete}: ${mapAccessLevelToLocalizedString(dtd.perm.canPhysicalDelete)}` }), dtd.hasBlog && _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.Blog_Read}: ${mapAccessLevelToLocalizedString(dtd.perm.canReadBlog)}` }), dtd.hasBlog && _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.Blog_Write}: ${mapAccessLevelToLocalizedString(dtd.perm.canWriteBlog)}` }), _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.CheckIn}: ${mapAccessLevelToLocalizedString(dtd.perm.canCICO)}` }), _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.ChronologyDelete}: ${mapAccessLevelToLocalizedString(dtd.perm.canDelChron)}` })] })
337
337
  : dtd.ownershipLevel == OwnershipLevels.DirectOwner || dtd.ownershipLevel == OwnershipLevels.IndirectOwner ?
338
338
  _jsxs(_Fragment, { children: [_jsx(StyledTooltipItem, { "$color": 'primary', "$marginTop": '5px', children: SDKUI_Localizator.Perms }), _jsx(StyledTooltipSeparatorItem, {}), _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.Archive}: ${SDKUI_Localizator.Yes}` }), _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.View_Metadato}: ${SDKUI_Localizator.Yes}` }), _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.Search}: ${SDKUI_Localizator.Yes}` }), _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.Update}: ${SDKUI_Localizator.Yes}` }), _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.RetrieveFile}: ${SDKUI_Localizator.Yes}` }), _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.AddOrSubstFile}: ${SDKUI_Localizator.Yes}` }), _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.LogDelete}: ${SDKUI_Localizator.Yes}` }), _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.PhysDelete}: ${SDKUI_Localizator.Yes}` }), dtd.hasBlog && _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.Blog_Read}: ${SDKUI_Localizator.Yes}` }), dtd.hasBlog && _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.Blog_Write}: ${SDKUI_Localizator.Yes}` }), _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.CheckIn}: ${SDKUI_Localizator.Yes}` }), _jsx(StyledTooltipItem, { children: `${SDKUI_Localizator.ChronologyDelete}: ${SDKUI_Localizator.Yes}` })] })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@topconsultnpm/sdkui-react",
3
- "version": "6.21.0-dev2.23",
3
+ "version": "6.21.0-dev2.25",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1",