@topconsultnpm/sdkui-react-beta 6.12.95 → 6.12.96
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.
@@ -1,8 +1,8 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import { useEffect, useState } from 'react';
|
3
3
|
import styled from 'styled-components';
|
4
|
-
import { RetrieveFileOptions, DcmtOpers, GeneralRetrieveFormats, FileFormats
|
5
|
-
import { extensionHandler, sleep, getExceptionMessage, formatBytes, IconMenuVertical, IconCloseCircle, IconClear, SDKUI_Localizator, IconCloseOutline, IconPreview } from '../../../helper';
|
4
|
+
import { RetrieveFileOptions, DcmtOpers, GeneralRetrieveFormats, FileFormats } from '@topconsultnpm/sdk-ts-beta';
|
5
|
+
import { extensionHandler, sleep, getExceptionMessage, formatBytes, IconMenuVertical, IconCloseCircle, IconClear, SDKUI_Localizator, IconCloseOutline, IconPreview, SDKUI_Globals } from '../../../helper';
|
6
6
|
import { useDcmtOperations } from '../../../hooks/useDcmtOperations';
|
7
7
|
import { FileExtensionHandler, FormModes } from '../../../ts';
|
8
8
|
import { TMColors } from '../../../utils/theme';
|
@@ -47,8 +47,8 @@ const TMDcmtPreview = ({ dcmtData, onClose, canNext, canPrev, onNext, onPrev })
|
|
47
47
|
rfo.retrieveReason = DcmtOpers.None;
|
48
48
|
rfo.generalRetrieveFormat = GeneralRetrieveFormats.OriginalUnsigned;
|
49
49
|
rfo.cvtFormat = extensionHandler(dcmtData?.fileExt) === FileExtensionHandler.CONVERTIBLE ? FileFormats.PDF : FileFormats.None;
|
50
|
-
rfo.invoiceRetrieveFormat =
|
51
|
-
rfo.orderRetrieveFormat =
|
50
|
+
rfo.invoiceRetrieveFormat = SDKUI_Globals.invoiceRetrieveFormat;
|
51
|
+
rfo.orderRetrieveFormat = SDKUI_Globals.orderRetrieveFormat;
|
52
52
|
try {
|
53
53
|
await sleep(300); //wait for DX-DataGrid selectionChanged
|
54
54
|
let dcmtFile = await getDcmtFileAsync({ TID: dcmtData?.tid, DID: dcmtData?.did, FILEEXT: dcmtData?.fileExt }, rfo, 'Anteprima', false);
|
@@ -63,6 +63,7 @@ const TMSearchResult = ({ context = SearchResultContext.METADATA_SEARCH, isVisib
|
|
63
63
|
const [lastUpdateSearchTime, setLastUpdateSearchTime] = useState();
|
64
64
|
const [fromDTD, setFromDTD] = useState();
|
65
65
|
const [selectedSearchResult, setSelectedSearchResult] = useState();
|
66
|
+
const [currentSearchResults, setCurrentSearchResults] = useState(searchResults || []);
|
66
67
|
const [isOpenDetails, setIsOpenDetails] = useState(false);
|
67
68
|
const [isOpenMaster, setIsOpenMaster] = useState(false);
|
68
69
|
const [secondaryMasterDcmts, setSecondaryMasterDcmts] = useState([]);
|
@@ -95,6 +96,7 @@ const TMSearchResult = ({ context = SearchResultContext.METADATA_SEARCH, isVisib
|
|
95
96
|
setSelectedItems([]);
|
96
97
|
setFocusedItem(undefined);
|
97
98
|
setIsOpenBatchUpdate(false);
|
99
|
+
setCurrentSearchResults(searchResults);
|
98
100
|
if (searchResults.length <= 0)
|
99
101
|
return;
|
100
102
|
if (searchResults.length === 1) {
|
@@ -226,8 +228,8 @@ const TMSearchResult = ({ context = SearchResultContext.METADATA_SEARCH, isVisib
|
|
226
228
|
e.items.push(...menuItems);
|
227
229
|
}
|
228
230
|
};
|
229
|
-
const
|
230
|
-
await onRefreshSearchAsync?.();
|
231
|
+
const refreshDataGridAfterRemoveAsync = async () => {
|
232
|
+
// await onRefreshSearchAsync?.();
|
231
233
|
let index = selectedSearchResult?.dtdResult?.columns?.findIndex(col => col.caption === 'DID');
|
232
234
|
let selectedRows = [];
|
233
235
|
if (!index)
|
@@ -246,18 +248,28 @@ const TMSearchResult = ({ context = SearchResultContext.METADATA_SEARCH, isVisib
|
|
246
248
|
let newDtd = structuredClone(selectedSearchResult.dtdResult);
|
247
249
|
newDtd.rows = newRows;
|
248
250
|
newSearchresult.dtdResult = newDtd;
|
251
|
+
newSearchresult.dcmtsReturned = newRows.length;
|
252
|
+
newSearchresult.dcmtsFound = newRows.length;
|
249
253
|
setSelectedSearchResult(newSearchresult);
|
254
|
+
setCurrentSearchResults((prev) => {
|
255
|
+
let newResults = [...prev];
|
256
|
+
let index = newResults.findIndex((res) => res.fromTID === selectedSearchResult?.fromTID);
|
257
|
+
if (index >= 0) {
|
258
|
+
newResults[index] = newSearchresult;
|
259
|
+
}
|
260
|
+
return newResults;
|
261
|
+
});
|
250
262
|
};
|
251
263
|
const removeDcmtFromFavsOrRecents = async () => {
|
252
264
|
switch (selectedSearchResult?.category) {
|
253
265
|
case "Favorites":
|
254
|
-
await runOperationAsync(getSelectedDcmtsOrFocused(selectedItems, focusedItem), DcmtOperationTypes.RemoveFromFavs,
|
266
|
+
await runOperationAsync(getSelectedDcmtsOrFocused(selectedItems, focusedItem), DcmtOperationTypes.RemoveFromFavs, refreshDataGridAfterRemoveAsync);
|
255
267
|
break;
|
256
268
|
case "RecentArchive":
|
257
|
-
await runOperationAsync(getSelectedDcmtsOrFocused(selectedItems, focusedItem), DcmtOperationTypes.RemoveFromRecentsArk,
|
269
|
+
await runOperationAsync(getSelectedDcmtsOrFocused(selectedItems, focusedItem), DcmtOperationTypes.RemoveFromRecentsArk, refreshDataGridAfterRemoveAsync);
|
258
270
|
break;
|
259
271
|
case "RecentView":
|
260
|
-
await runOperationAsync(getSelectedDcmtsOrFocused(selectedItems, focusedItem), DcmtOperationTypes.RemoveFromRecentsView,
|
272
|
+
await runOperationAsync(getSelectedDcmtsOrFocused(selectedItems, focusedItem), DcmtOperationTypes.RemoveFromRecentsView, refreshDataGridAfterRemoveAsync);
|
261
273
|
break;
|
262
274
|
default: break;
|
263
275
|
}
|
@@ -420,7 +432,7 @@ const TMSearchResult = ({ context = SearchResultContext.METADATA_SEARCH, isVisib
|
|
420
432
|
return _jsxs("div", { style: { display: 'flex', flexDirection: 'column', alignItems: 'center', justifyContent: 'center', height: '100%' }, children: [_jsx(IconBoard, { fontSize: 96 }), _jsx("div", { style: { fontSize: "15px", marginTop: "10px" }, children: SDKUI_Localizator.NoDcmtFound })] });
|
421
433
|
return (_jsx(StyledMultiViewPanel, { "$isVisible": isVisible, children: _jsxs(TMLayoutWaitingContainer, { direction: 'vertical', showWaitPanel: showWaitPanel, showWaitPanelPrimary: showPrimary, showWaitPanelSecondary: showSecondary, waitPanelTitle: waitPanelTitle, waitPanelTextPrimary: waitPanelTextPrimary, waitPanelValuePrimary: waitPanelValuePrimary, waitPanelMaxValuePrimary: waitPanelMaxValuePrimary, waitPanelTextSecondary: waitPanelTextSecondary, waitPanelValueSecondary: waitPanelValueSecondary, waitPanelMaxValueSecondary: waitPanelMaxValueSecondary, isCancelable: true, abortController: abortController, children: [_jsxs(TMSplitterLayout, { separatorSize: 5, separatorColor: 'transparent', showSeparator: (isOpenPreview || isOpenMiddlePanel() || isOpenBatchUpdate) && deviceType !== DeviceType.MOBILE, start: getPrimarySplitterStartLayout(), min: deviceType !== DeviceType.MOBILE && isOpenDcmtForm ? ['150px', '0'] : ['0', '0'], direction: 'horizontal', children: [_jsx(TMLayoutItem, { children: _jsxs(TMToolbarCard, { toolbar: _jsxs(_Fragment, { children: [context !== SearchResultContext.METADATA_SEARCH && fromDTD?.templateTID === TemplateTIDs.WF_WIApprView && _jsx(WorkFlowOperationButtons, { deviceType: deviceType, onApprove: () => setShowApprovePopup(true), onReject: () => setShowRejectPopup(true), onReAssign: () => setShowReAssignPopup(true), approveDisable: disable, rejectDisable: disable, reassignDisable: disable, infoDisable: getSelectedDcmtsOrFocused(selectedItems, focusedItem).length !== 1 }), (dcmtsReturned != dcmtsFound) && _jsx("p", { style: { backgroundColor: `white`, color: TMColors.primaryColor, textAlign: 'center', padding: '1px 4px', borderRadius: '3px', display: 'flex' }, children: `${dcmtsReturned}/${dcmtsFound} restituiti` }), context === SearchResultContext.FAVORITES_AND_RECENTS &&
|
422
434
|
_jsx("div", { style: { display: 'flex', alignItems: 'center', gap: '5px' }, children: _jsx(TMButton, { btnStyle: 'icon', icon: _jsx(IconDelete, { color: 'white' }), caption: "Rimuovi da " + (selectedSearchResult?.category === "Favorites" ? '"Preferiti"' : '"Recenti"'), disabled: getSelectedDcmtsOrFocused(selectedItems, focusedItem).length <= 0, onClick: removeDcmtFromFavsOrRecents }) }), _jsx(TMButton, { btnStyle: 'icon', icon: _jsx(IconRefresh, { color: 'white' }), caption: SDKUI_Localizator.Refresh, onClick: onRefreshSearchAsync }), _jsx(IconMenuVertical, { id: `commands-header-${id}`, color: 'white', cursor: 'pointer' }), _jsx(CommandsContextMenu, { target: `#commands-header-${id}`, menuItems: getCommandsMenuItems(fromDTD, selectedItems, focusedItem, context, showFloatingBar, setShowFloatingBar, openFormHandler, downloadDcmtsAsync, runOperationAsync, onRefreshSearchAsync, refreshSelectionDataRowsAsync, onRefreshAfterAddDcmtToFavs, confirmFormat, openConfirmAttachmentsDialog, openTaskFormHandler, openDetailDcmtsFormHandler, openMasterDcmtsFormHandler, openBatchUpdateFormHandler) })] }), onBack: !isClosable && allowBackButton() ? onBack : undefined, onClose: isClosable && allowBackButton() ? onBack : undefined, items: showSearchResultSidebar ? sideBarItems : undefined, title: getTitleHeader(), showHeader: showToolbarHeader, children: [_jsxs(TMLayoutItem, { height: '100%', children: [_jsxs(TMSplitterLayout, { direction: 'horizontal', min: ['0', '0'], showSeparator: showSelector && deviceType !== DeviceType.MOBILE, start: showSelector ? deviceType !== DeviceType.MOBILE ? ['25%', '75%'] : splitterSize : ['0%', '100%'], children: [showSelector ?
|
423
|
-
_jsx(TMLayoutItem, { children: _jsx(TMSearchResultSelector, { searchResults:
|
435
|
+
_jsx(TMLayoutItem, { children: _jsx(TMSearchResultSelector, { searchResults: currentSearchResults, onSelectionChanged: onSearchResultSelectionChanged }) })
|
424
436
|
:
|
425
437
|
_jsx(_Fragment, {}), _jsxs(TMLayoutItem, { children: [_jsx(TMSearchResultGrid
|
426
438
|
// allowMultipleSelection={allowMultipleSelection}
|