@topconsultnpm/sdkui-react 6.21.0-dev2.13 → 6.21.0-dev2.15
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.
- package/lib/components/features/search/TMSavedQuerySelector.d.ts +2 -2
- package/lib/components/features/search/TMSavedQuerySelector.js +3 -2
- package/lib/components/features/search/TMSearch.d.ts +1 -1
- package/lib/components/features/search/TMSearch.js +15 -9
- package/lib/components/features/search/TMSearchResult.js +2 -1
- package/lib/hooks/useDocumentOperations.d.ts +1 -0
- package/lib/hooks/useDocumentOperations.js +4 -0
- package/package.json +1 -1
|
@@ -9,8 +9,8 @@ interface ITMSavedQuerySelectorProps {
|
|
|
9
9
|
manageDefault?: boolean;
|
|
10
10
|
onItemClick?: (sqd: SavedQueryDescriptor) => void;
|
|
11
11
|
onDeleted?: (sqd: SavedQueryDescriptor) => void;
|
|
12
|
-
|
|
12
|
+
refreshFavoriteSavedQueries?: (sqd: SavedQueryDescriptor) => void;
|
|
13
13
|
onRefreshData?: () => void;
|
|
14
14
|
}
|
|
15
|
-
declare const TMSavedQuerySelector: React.MemoExoticComponent<({ items, selectedId, allowShowSearch, height, manageDefault, onItemClick, onDeleted,
|
|
15
|
+
declare const TMSavedQuerySelector: React.MemoExoticComponent<({ items, selectedId, allowShowSearch, height, manageDefault, onItemClick, onDeleted, refreshFavoriteSavedQueries, onRefreshData }: ITMSavedQuerySelectorProps) => import("react/jsx-runtime").JSX.Element>;
|
|
16
16
|
export default TMSavedQuerySelector;
|
|
@@ -105,7 +105,7 @@ const getContextMenuItems = (sqd, manageDefault, isMobile, deleteAsync, setDefau
|
|
|
105
105
|
onClick: () => { setInfoSQD?.(sqd); }
|
|
106
106
|
}] : [])
|
|
107
107
|
];
|
|
108
|
-
const TMSavedQuerySelector = React.memo(({ items, selectedId, allowShowSearch = true, height, manageDefault = true, onItemClick, onDeleted,
|
|
108
|
+
const TMSavedQuerySelector = React.memo(({ items, selectedId, allowShowSearch = true, height, manageDefault = true, onItemClick, onDeleted, refreshFavoriteSavedQueries, onRefreshData }) => {
|
|
109
109
|
const [dataSource, setDataSource] = useState([]);
|
|
110
110
|
const [selectedItem, setSelectedItem] = useState();
|
|
111
111
|
const [searchText, setSearchText] = useState('');
|
|
@@ -135,6 +135,7 @@ const TMSavedQuerySelector = React.memo(({ items, selectedId, allowShowSearch =
|
|
|
135
135
|
await SDK_Globals.tmSession?.NewSavedQueryEngine().DeleteAsync(sqd?.id);
|
|
136
136
|
await loadDataAsync(true);
|
|
137
137
|
onDeleted?.(sqd);
|
|
138
|
+
refreshFavoriteSavedQueries?.(sqd);
|
|
138
139
|
TMSpinner.hide();
|
|
139
140
|
}
|
|
140
141
|
catch (ex) {
|
|
@@ -148,7 +149,7 @@ const TMSavedQuerySelector = React.memo(({ items, selectedId, allowShowSearch =
|
|
|
148
149
|
try {
|
|
149
150
|
TMSpinner.show();
|
|
150
151
|
await SDK_Globals.tmSession?.NewSavedQueryEngine().FavoritesAddOrRemoveAsync(sqd?.id, false);
|
|
151
|
-
|
|
152
|
+
refreshFavoriteSavedQueries?.(sqd);
|
|
152
153
|
TMSpinner.hide();
|
|
153
154
|
ShowAlert({ mode: 'success', title: SDK_Localizator.SavedQuery, message: SDKUI_Localizator.OperationSuccess, duration: 3000 });
|
|
154
155
|
}
|
|
@@ -36,7 +36,7 @@ interface ITMSearchProps {
|
|
|
36
36
|
mid: number;
|
|
37
37
|
value: string;
|
|
38
38
|
}>, tid?: number) => void;
|
|
39
|
-
|
|
39
|
+
refreshFavoriteSavedQueries?: (sqd: SavedQueryDescriptor) => void;
|
|
40
40
|
onCurrentTIDChangedCallback?: (tid: number | undefined) => void;
|
|
41
41
|
onlyShowSearchQueryPanel?: boolean;
|
|
42
42
|
onReferenceClick?: (ref: ObjectRef) => void;
|
|
@@ -14,12 +14,13 @@ import { StyledMultiViewPanel } from '../../base/Styled';
|
|
|
14
14
|
import { useTMPanelManagerContext } from '../../layout/panelManager/TMPanelManagerContext';
|
|
15
15
|
import TMPanelManagerContainer from '../../layout/panelManager/TMPanelManagerContainer';
|
|
16
16
|
import { TMPanelManagerWithPersistenceProvider } from '../../layout/panelManager/TMPanelManagerWithPersistenceProvider';
|
|
17
|
+
import { TMExceptionBoxManager } from '../../base/TMPopUp';
|
|
17
18
|
var TMSearchViews;
|
|
18
19
|
(function (TMSearchViews) {
|
|
19
20
|
TMSearchViews[TMSearchViews["Search"] = 0] = "Search";
|
|
20
21
|
TMSearchViews[TMSearchViews["Result"] = 1] = "Result";
|
|
21
22
|
})(TMSearchViews || (TMSearchViews = {}));
|
|
22
|
-
const TMSearch = ({ allTasks = [], getAllTasks, deleteTaskByIdsCallback, addTaskCallback, editTaskCallback, handleNavigateToWGs, handleNavigateToDossiers, openInOffice, isVisible, inputTID, inputSqdID, inputMids, isExpertMode = SDKUI_Globals.userSettings.advancedSettings.expertMode === 1, floatingActionConfig, onFileOpened, onRefreshAfterAddDcmtToFavs, onTaskCreateRequest, openWGsCopyMoveForm, editPdfForm = false, openS4TViewer, onOpenS4TViewerRequest, onOpenPdfEditorRequest, openFileUploaderPdfEditor, showTodoDcmtForm, showToppyDraggableHelpCenter = true, toppyHelpCenterUsePortal = false, passToArchiveCallback, onCurrentTIDChangedCallback, onlyShowSearchQueryPanel, onReferenceClick,
|
|
23
|
+
const TMSearch = ({ allTasks = [], getAllTasks, deleteTaskByIdsCallback, addTaskCallback, editTaskCallback, handleNavigateToWGs, handleNavigateToDossiers, openInOffice, isVisible, inputTID, inputSqdID, inputMids, isExpertMode = SDKUI_Globals.userSettings.advancedSettings.expertMode === 1, floatingActionConfig, onFileOpened, onRefreshAfterAddDcmtToFavs, onTaskCreateRequest, openWGsCopyMoveForm, editPdfForm = false, openS4TViewer, onOpenS4TViewerRequest, onOpenPdfEditorRequest, openFileUploaderPdfEditor, showTodoDcmtForm, showToppyDraggableHelpCenter = true, toppyHelpCenterUsePortal = false, passToArchiveCallback, onCurrentTIDChangedCallback, onlyShowSearchQueryPanel, onReferenceClick, refreshFavoriteSavedQueries }) => {
|
|
23
24
|
const [allSQDs, setAllSQDs] = useState([]);
|
|
24
25
|
const [filteredByTIDSQDs, setFilteredByTIDSQDs] = useState([]);
|
|
25
26
|
const [currentSQD, setCurrentSQD] = useState();
|
|
@@ -50,13 +51,18 @@ const TMSearch = ({ allTasks = [], getAllTasks, deleteTaskByIdsCallback, addTask
|
|
|
50
51
|
setCurrentSearchView(TMSearchViews.Search);
|
|
51
52
|
}, [inputTID]);
|
|
52
53
|
useEffect(() => {
|
|
53
|
-
|
|
54
|
-
|
|
54
|
+
const loadSqd = async () => {
|
|
55
|
+
try {
|
|
56
|
+
const resultSqd = await SavedQueryCacheService.GetAsync(inputSqdID);
|
|
55
57
|
await setSQDAsync(resultSqd);
|
|
56
58
|
// Mostra la vista Search per visualizzare i filtri della SavedQuery caricata
|
|
57
59
|
setCurrentSearchView(TMSearchViews.Search);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
+
}
|
|
61
|
+
catch (err) {
|
|
62
|
+
TMExceptionBoxManager.show({ exception: err });
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
loadSqd();
|
|
60
66
|
}, [inputSqdID]);
|
|
61
67
|
useEffect(() => {
|
|
62
68
|
const newMaxDcmtsToBeReturned = SDKUI_Globals.userSettings.searchSettings?.maxDcmtsToBeReturned ?? 1000;
|
|
@@ -195,9 +201,9 @@ const TMSearch = ({ allTasks = [], getAllTasks, deleteTaskByIdsCallback, addTask
|
|
|
195
201
|
} }), [fromDTD, showSearchResults, setShowSearchResults, currentSQD, isExpertMode, mruTIDs, searchResult, passToArchiveCallback, inputMids, maxDcmtsToBeReturned]);
|
|
196
202
|
const tmSavedQuerySelectorElement = useMemo(() => _jsxs(TabPanel, { width: "100%", height: "100%", showNavButtons: true, repaintChangesOnly: true, selectedIndex: currentSQDMode, onSelectedIndexChange: (index) => setCurrentSQDMode(index), children: [(currentTID || currentSQD) ? _jsx(Item, { title: fromDTD?.nameLoc, children: _jsx(TMSavedQuerySelectorWrapper, { allowShowSearch: false, items: filteredByTIDSQDs, selectedId: currentSQD?.id, onRefreshData: () => { loadDataSQDsAsync(true); }, onItemClick: (sqd) => {
|
|
197
203
|
onSQDItemClick(sqd, setSQDAsync);
|
|
198
|
-
}, onDeleted: (sqd) => onSQDDeleted(sqd, sqd.id == currentSQD?.id ? filteredByTIDSQDs.find(o => o.id == 1) : currentSQD, setSQDAsync),
|
|
204
|
+
}, onDeleted: (sqd) => onSQDDeleted(sqd, sqd.id == currentSQD?.id ? filteredByTIDSQDs.find(o => o.id == 1) : currentSQD, setSQDAsync), refreshFavoriteSavedQueries: refreshFavoriteSavedQueries }) }) : _jsx(_Fragment, {}), _jsx(Item, { title: SDKUI_Localizator.AllFemale, children: _jsx(TMSavedQuerySelectorWrapper, { allowShowSearch: true, items: allSQDs, manageDefault: false, onItemClick: (sqd) => {
|
|
199
205
|
onSQDItemClick(sqd, setSQDAsync);
|
|
200
|
-
}, onDeleted: (sqd) => onSQDDeleted(sqd, sqd.id == currentSQD?.id ? undefined : currentSQD, setSQDAsync),
|
|
206
|
+
}, onDeleted: (sqd) => onSQDDeleted(sqd, sqd.id == currentSQD?.id ? undefined : currentSQD, setSQDAsync), refreshFavoriteSavedQueries: refreshFavoriteSavedQueries }) })] }), [currentSQDMode, currentTID, currentSQD, fromDTD, filteredByTIDSQDs, allSQDs]);
|
|
201
207
|
// Returns the current panelLayout from user settings, falling back to an empty object if not present.
|
|
202
208
|
const getPanelLayoutSetting = () => {
|
|
203
209
|
return SDKUI_Globals.userSettings.searchSettings.panelLayout ?? {};
|
|
@@ -285,10 +291,10 @@ const TMSearchQueryPanelWrapper = ({ fromDTD, SQD, isExpertMode, showBackToResul
|
|
|
285
291
|
const isMobile = deviceType === DeviceType.MOBILE;
|
|
286
292
|
return (_jsx(TMSearchQueryPanel, { onClosePanel: (!isMobile && countVisibleLeafPanels() > 1) ? () => setPanelVisibilityById('TMSearchQueryPanel', false) : undefined, allowMaximize: !isMobile && countVisibleLeafPanels() > 1, onMaximizePanel: (!isMobile && countVisibleLeafPanels() > 1) ? () => toggleMaximize("TMSearchQueryPanel") : undefined, isExpertMode: isExpertMode, fromDTD: fromDTD, SQD: SQD, inputMids: inputMids, onSearchCompleted: onSearchCompleted, onSqdSaved: onSqdSaved, showBackToResultButton: showBackToResultButton, onBackToResult: onBackToResult, passToArchiveCallback: passToArchiveCallback, maxDcmtsToBeReturned: maxDcmtsToBeReturned }));
|
|
287
293
|
};
|
|
288
|
-
const TMSavedQuerySelectorWrapper = ({ items, selectedId, allowShowSearch, manageDefault, onRefreshData, onItemClick, onDeleted,
|
|
294
|
+
const TMSavedQuerySelectorWrapper = ({ items, selectedId, allowShowSearch, manageDefault, onRefreshData, onItemClick, onDeleted, refreshFavoriteSavedQueries }) => {
|
|
289
295
|
const { setPanelVisibilityById } = useTMPanelManagerContext();
|
|
290
296
|
return (_jsx(TMSavedQuerySelector, { allowShowSearch: allowShowSearch, manageDefault: manageDefault, items: items, selectedId: selectedId, onRefreshData: onRefreshData, onItemClick: (sqd) => {
|
|
291
297
|
onItemClick?.(sqd);
|
|
292
298
|
setPanelVisibilityById('TMSearchQueryPanel', true);
|
|
293
|
-
}, onDeleted: onDeleted,
|
|
299
|
+
}, onDeleted: onDeleted, refreshFavoriteSavedQueries: refreshFavoriteSavedQueries }));
|
|
294
300
|
};
|
|
@@ -353,7 +353,7 @@ handleNavigateToWGs, handleNavigateToDossiers, }) => {
|
|
|
353
353
|
openTaskFormHandler,
|
|
354
354
|
},
|
|
355
355
|
});
|
|
356
|
-
const { isOpenDcmtForm, openFormHandler, dcmtFormLayoutMode, onDcmtFormOpenChange, showSearchTMDatagrid, showExportForm, isOpenBatchUpdate, isModifiedBatchUpdate, updateBatchUpdateForm, handleSignApprove, checkoutInfo: { showCicoWaitPanel, cicoWaitPanelTitle, showCicoPrimaryProgress, cicoPrimaryProgressText, cicoPrimaryProgressValue, cicoPrimaryProgressMax, }, dcmtOperations: { abortController, showWaitPanel, showPrimary, waitPanelTitle, waitPanelTextPrimary, waitPanelValuePrimary, waitPanelMaxValuePrimary, showSecondary, waitPanelTextSecondary, waitPanelValueSecondary, waitPanelMaxValueSecondary, downloadDcmtsAsync, runOperationAsync, }, relatedDocumentsInfo: { isOpenDetails, isOpenMaster, checkRelatedDcmtsArchiveCapability, checkManyToManyCapability, }, toppyOperations: { showApprovePopup, showRejectPopup, showReAssignPopup, showMoreInfoPopup, updateShowApprovePopup, updateShowRejectPopup, updateShowReAssignPopup, updateShowMoreInfoPopup } } = features;
|
|
356
|
+
const { isOpenDcmtForm, openFormHandler, dcmtFormLayoutMode, onDcmtFormOpenChange, showSearchTMDatagrid, showExportForm, isOpenBatchUpdate, isModifiedBatchUpdate, updateBatchUpdateForm, closeDcmtFormHandler, handleSignApprove, checkoutInfo: { showCicoWaitPanel, cicoWaitPanelTitle, showCicoPrimaryProgress, cicoPrimaryProgressText, cicoPrimaryProgressValue, cicoPrimaryProgressMax, }, dcmtOperations: { abortController, showWaitPanel, showPrimary, waitPanelTitle, waitPanelTextPrimary, waitPanelValuePrimary, waitPanelMaxValuePrimary, showSecondary, waitPanelTextSecondary, waitPanelValueSecondary, waitPanelMaxValueSecondary, downloadDcmtsAsync, runOperationAsync, }, relatedDocumentsInfo: { isOpenDetails, isOpenMaster, checkRelatedDcmtsArchiveCapability, checkManyToManyCapability, }, toppyOperations: { showApprovePopup, showRejectPopup, showReAssignPopup, showMoreInfoPopup, updateShowApprovePopup, updateShowRejectPopup, updateShowReAssignPopup, updateShowMoreInfoPopup } } = features;
|
|
357
357
|
const deviceType = useDeviceType();
|
|
358
358
|
const isMobile = deviceType === DeviceType.MOBILE;
|
|
359
359
|
const selectedDocs = getSelectedDcmtsOrFocused(selectedItems, focusedItem);
|
|
@@ -367,6 +367,7 @@ handleNavigateToWGs, handleNavigateToDossiers, }) => {
|
|
|
367
367
|
useEffect(() => {
|
|
368
368
|
setSelectedItems([]);
|
|
369
369
|
updateBatchUpdateForm(false);
|
|
370
|
+
closeDcmtFormHandler();
|
|
370
371
|
setCurrentSearchResults(searchResults);
|
|
371
372
|
if (searchResults.length <= 0) {
|
|
372
373
|
setSelectedSearchResult(undefined);
|
|
@@ -110,6 +110,7 @@ export interface UseDocumentOperationsResult {
|
|
|
110
110
|
isOpenBatchUpdate: boolean;
|
|
111
111
|
isModifiedBatchUpdate: boolean;
|
|
112
112
|
updateBatchUpdateForm: (value: boolean) => void;
|
|
113
|
+
closeDcmtFormHandler: () => void;
|
|
113
114
|
handleSignApprove: () => void;
|
|
114
115
|
showSearchTMDatagrid: boolean;
|
|
115
116
|
showExportForm: boolean;
|
|
@@ -182,6 +182,9 @@ export const useDocumentOperations = (props) => {
|
|
|
182
182
|
setIsOpenDcmtForm(isOpen);
|
|
183
183
|
setDcmtFormLayoutMode(layoutMode);
|
|
184
184
|
};
|
|
185
|
+
const closeDcmtFormHandler = () => {
|
|
186
|
+
setIsOpenDcmtForm(false);
|
|
187
|
+
};
|
|
185
188
|
const handleAddItem = (tid, did) => {
|
|
186
189
|
let newItem = { TID: tid ?? 0, DID: did ?? 0 };
|
|
187
190
|
setSecondaryMasterDcmts((prevItems) => [...prevItems, newItem]);
|
|
@@ -1209,6 +1212,7 @@ export const useDocumentOperations = (props) => {
|
|
|
1209
1212
|
isOpenBatchUpdate,
|
|
1210
1213
|
isModifiedBatchUpdate,
|
|
1211
1214
|
updateBatchUpdateForm,
|
|
1215
|
+
closeDcmtFormHandler,
|
|
1212
1216
|
handleSignApprove,
|
|
1213
1217
|
checkoutInfo: {
|
|
1214
1218
|
showHistory,
|