@topconsultnpm/sdkui-react-beta 6.12.94 → 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, InvoiceRetrieveFormats, OrderRetrieveFormats } from '@topconsultnpm/sdk-ts-beta';
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 = InvoiceRetrieveFormats.ASW_HTML;
51
- rfo.orderRetrieveFormat = OrderRetrieveFormats.NSO_HTML;
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 refreshDataGrid = async () => {
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, refreshDataGrid);
266
+ await runOperationAsync(getSelectedDcmtsOrFocused(selectedItems, focusedItem), DcmtOperationTypes.RemoveFromFavs, refreshDataGridAfterRemoveAsync);
255
267
  break;
256
268
  case "RecentArchive":
257
- await runOperationAsync(getSelectedDcmtsOrFocused(selectedItems, focusedItem), DcmtOperationTypes.RemoveFromRecentsArk, refreshDataGrid);
269
+ await runOperationAsync(getSelectedDcmtsOrFocused(selectedItems, focusedItem), DcmtOperationTypes.RemoveFromRecentsArk, refreshDataGridAfterRemoveAsync);
258
270
  break;
259
271
  case "RecentView":
260
- await runOperationAsync(getSelectedDcmtsOrFocused(selectedItems, focusedItem), DcmtOperationTypes.RemoveFromRecentsView, refreshDataGrid);
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: searchResults, onSelectionChanged: onSearchResultSelectionChanged }) })
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}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@topconsultnpm/sdkui-react-beta",
3
- "version": "6.12.94",
3
+ "version": "6.12.96",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1",