@topconsultnpm/sdkui-react 6.22.0-dev2.2 → 6.22.0-dev2.21
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/NewComponents/ContextMenu/TMContextMenu.js +1 -1
- package/lib/components/NewComponents/FloatingMenuBar/TMFloatingMenuBar.js +1 -1
- package/lib/components/base/TMButton.d.ts +13 -0
- package/lib/components/base/TMButton.js +137 -5
- package/lib/components/base/TMDataGrid.d.ts +2 -0
- package/lib/components/base/TMDataGrid.js +68 -4
- package/lib/components/base/TMEditorBase.d.ts +2 -0
- package/lib/components/base/TMModal.d.ts +4 -0
- package/lib/components/base/TMModal.js +42 -11
- package/lib/components/base/TMPanel.d.ts +1 -0
- package/lib/components/base/TMPanel.js +79 -20
- package/lib/components/base/TMTooltip.d.ts +2 -1
- package/lib/components/base/TMTooltip.js +23 -6
- package/lib/components/base/TMTreeView.js +108 -67
- package/lib/components/choosers/TMDcmtTypeChooser.js +4 -3
- package/lib/components/choosers/TMDistinctValues.d.ts +9 -7
- package/lib/components/choosers/TMDistinctValues.js +149 -142
- package/lib/components/choosers/TMMetadataChooser.js +1 -1
- package/lib/components/choosers/TMQuickSearchInfo.d.ts +12 -0
- package/lib/components/choosers/TMQuickSearchInfo.js +279 -0
- package/lib/components/choosers/TMQuickSearchSettingsForm.d.ts +16 -0
- package/lib/components/choosers/TMQuickSearchSettingsForm.js +94 -0
- package/lib/components/choosers/TMSelectedValuesSummary.d.ts +13 -0
- package/lib/components/choosers/TMSelectedValuesSummary.js +91 -0
- package/lib/components/editors/TMDropDown.d.ts +3 -0
- package/lib/components/editors/TMDropDown.js +197 -5
- package/lib/components/editors/TMMetadataEditor.d.ts +5 -1
- package/lib/components/editors/TMMetadataEditor.js +8 -3
- package/lib/components/editors/TMTextBox.js +15 -15
- package/lib/components/features/documents/TMBatchUpdateForm.js +19 -5
- package/lib/components/features/documents/TMDcmtForm.d.ts +7 -0
- package/lib/components/features/documents/TMDcmtForm.js +104 -42
- package/lib/components/features/documents/TMDcmtFormActionButtons.d.ts +11 -0
- package/lib/components/features/documents/TMDcmtFormActionButtons.js +74 -7
- package/lib/components/features/documents/TMMasterDetailDcmts.js +95 -33
- package/lib/components/features/documents/TMMasterInfoFields.d.ts +19 -0
- package/lib/components/features/documents/TMMasterInfoFields.js +172 -0
- package/lib/components/features/documents/TMMultiMasterDetailDcmtsForm.d.ts +40 -0
- package/lib/components/features/documents/TMMultiMasterDetailDcmtsForm.js +277 -0
- package/lib/components/features/documents/TMMultiMasterDetailDcmtsUtils.d.ts +354 -0
- package/lib/components/features/documents/TMMultiMasterDetailDcmtsUtils.js +234 -0
- package/lib/components/features/documents/TMRelationViewer.d.ts +14 -1
- package/lib/components/features/documents/TMRelationViewer.js +69 -20
- package/lib/components/features/search/TMSearch.js +29 -16
- package/lib/components/features/search/TMSearchQueryEditor.js +5 -3
- package/lib/components/features/search/TMSearchQueryPanel.d.ts +1 -1
- package/lib/components/features/search/TMSearchQueryPanel.js +28 -7
- package/lib/components/features/search/TMSearchResult.d.ts +9 -0
- package/lib/components/features/search/TMSearchResult.js +323 -92
- package/lib/components/features/search/TMTreeSelector.js +18 -5
- package/lib/components/features/workflow/TMWorkflowPopup.d.ts +10 -0
- package/lib/components/features/workflow/TMWorkflowPopup.js +8 -4
- package/lib/components/layout/panelManager/TMPanelManagerContainer.d.ts +1 -0
- package/lib/components/layout/panelManager/TMPanelManagerContainer.js +24 -14
- package/lib/components/layout/panelManager/TMPanelWrapper.js +2 -2
- package/lib/components/layout/panelManager/types.d.ts +3 -0
- package/lib/components/viewers/TMMidViewer.js +4 -1
- package/lib/components/viewers/TMTidViewer.js +25 -11
- package/lib/helper/SDKUI_Globals.d.ts +55 -0
- package/lib/helper/SDKUI_Globals.js +82 -0
- package/lib/helper/SDKUI_Localizator.d.ts +24 -0
- package/lib/helper/SDKUI_Localizator.js +240 -0
- package/lib/helper/TMIcons.d.ts +1 -0
- package/lib/helper/TMIcons.js +3 -0
- package/lib/helper/dataGridSearchHelper.d.ts +28 -0
- package/lib/helper/dataGridSearchHelper.js +51 -0
- package/lib/helper/dcmtsHelper.d.ts +20 -0
- package/lib/helper/dcmtsHelper.js +58 -1
- package/lib/helper/helpers.d.ts +20 -0
- package/lib/helper/helpers.js +40 -0
- package/lib/helper/index.d.ts +1 -0
- package/lib/helper/index.js +1 -0
- package/lib/helper/queryHelper.d.ts +2 -0
- package/lib/helper/queryHelper.js +3 -1
- package/lib/hooks/tmDistinctValuesGridHelper.d.ts +16 -0
- package/lib/hooks/tmDistinctValuesGridHelper.js +31 -0
- package/lib/hooks/useArchiveListForm.d.ts +39 -0
- package/lib/hooks/useArchiveListForm.js +46 -0
- package/lib/hooks/useCaseFlowApprove.d.ts +56 -0
- package/lib/hooks/useCaseFlowApprove.js +157 -0
- package/lib/hooks/useDataUserIdItem.d.ts +1 -0
- package/lib/hooks/useDataUserIdItem.js +1 -0
- package/lib/hooks/useDocumentOperations.d.ts +2 -0
- package/lib/hooks/useDocumentOperations.js +28 -5
- package/lib/hooks/useMultiMasterDetailDcmts.d.ts +98 -0
- package/lib/hooks/useMultiMasterDetailDcmts.js +567 -0
- package/lib/hooks/useRelatedDocuments.js +2 -26
- package/lib/hooks/useTMDistinctValuesMetadataDisplay.d.ts +18 -0
- package/lib/hooks/useTMDistinctValuesMetadataDisplay.js +103 -0
- package/lib/hooks/useTMDistinctValuesQuickSearch.d.ts +49 -0
- package/lib/hooks/useTMDistinctValuesQuickSearch.js +307 -0
- package/lib/hooks/useTMDistinctValuesSelection.d.ts +42 -0
- package/lib/hooks/useTMDistinctValuesSelection.js +103 -0
- package/lib/hooks/useTMDistinctValuesSource.d.ts +29 -0
- package/lib/hooks/useTMDistinctValuesSource.js +105 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/services/caseflow/CaseFlowService.d.ts +236 -0
- package/lib/services/caseflow/CaseFlowService.js +693 -0
- package/lib/services/caseflow/CaseFlowTemplateCacheService.d.ts +28 -0
- package/lib/services/caseflow/CaseFlowTemplateCacheService.js +121 -0
- package/lib/services/caseflow/caseFlowNameCache.d.ts +32 -0
- package/lib/services/caseflow/caseFlowNameCache.js +116 -0
- package/lib/services/caseflow/caseFlowWorkItemUtils.d.ts +61 -0
- package/lib/services/caseflow/caseFlowWorkItemUtils.js +113 -0
- package/lib/services/index.d.ts +4 -0
- package/lib/services/index.js +4 -0
- package/lib/services/platform_services.d.ts +1 -1
- package/package.json +66 -66
|
@@ -46,6 +46,8 @@ const TMSearchQueryPanel = ({ fromDTD, showBackToResultButton, isExpertMode = SD
|
|
|
46
46
|
let initialMaxItems = deviceType === DeviceType.MOBILE ? 8 : 12;
|
|
47
47
|
const appliedInputMidsRef = useRef(null);
|
|
48
48
|
const pendingMidsRef = useRef(null);
|
|
49
|
+
// Flag "accoda": impostato dall'azione secondaria del bottone Ricerca, consumato in executeSearch
|
|
50
|
+
const appendNextSearchRef = useRef(false);
|
|
49
51
|
useEffect(() => {
|
|
50
52
|
if (!SQD)
|
|
51
53
|
return;
|
|
@@ -122,7 +124,10 @@ const TMSearchQueryPanel = ({ fromDTD, showBackToResultButton, isExpertMode = SD
|
|
|
122
124
|
useEffect(() => {
|
|
123
125
|
if (shouldSearch && qd) {
|
|
124
126
|
const executeSearch = async () => {
|
|
125
|
-
|
|
127
|
+
// Legge e consuma il flag "accoda" impostato dall'azione secondaria del bottone Ricerca
|
|
128
|
+
const append = appendNextSearchRef.current;
|
|
129
|
+
appendNextSearchRef.current = false;
|
|
130
|
+
await searchAsync(qd, showAdvancedSearch, append);
|
|
126
131
|
setShouldSearch(false); // Resetta il trigger dopo la ricerca
|
|
127
132
|
};
|
|
128
133
|
executeSearch();
|
|
@@ -167,8 +172,9 @@ const TMSearchQueryPanel = ({ fromDTD, showBackToResultButton, isExpertMode = SD
|
|
|
167
172
|
});
|
|
168
173
|
setQd({ ...qd, where: newWhere, orderBy: [] });
|
|
169
174
|
};
|
|
170
|
-
const searchAsync = async (qdInput, isAdvancedSearch) => {
|
|
171
|
-
|
|
175
|
+
const searchAsync = async (qdInput, isAdvancedSearch, append = false) => {
|
|
176
|
+
if (!append)
|
|
177
|
+
onSearchCompleted?.([], undefined); // reset results (solo in ricerca normale, non in accoda)
|
|
172
178
|
let searchParams = { isAdvancedSearch: isAdvancedSearch, lastQdParams: lastQdParams, confirmQueryParams: confirmQueryParams, setLastQdParamsCallback: setLastQdParams };
|
|
173
179
|
let searchResult = await searchByQdAsync(qdInput, searchParams);
|
|
174
180
|
let dcmtsFound = searchResult?.result?.dcmtsFound ?? 0;
|
|
@@ -180,7 +186,7 @@ const TMSearchQueryPanel = ({ fromDTD, showBackToResultButton, isExpertMode = SD
|
|
|
180
186
|
results.push(searchResult?.result);
|
|
181
187
|
// Before notifying onSearchComplete, let's set the panel to NOT active
|
|
182
188
|
setIsQueryPanelActive(false);
|
|
183
|
-
onSearchCompleted?.(results, searchResult?.qd);
|
|
189
|
+
onSearchCompleted?.(results, searchResult?.qd, append);
|
|
184
190
|
}
|
|
185
191
|
};
|
|
186
192
|
const updateIsModalOpen = useCallback((isOpen) => {
|
|
@@ -214,9 +220,24 @@ const TMSearchQueryPanel = ({ fromDTD, showBackToResultButton, isExpertMode = SD
|
|
|
214
220
|
if (document.activeElement instanceof HTMLElement) {
|
|
215
221
|
document.activeElement.blur();
|
|
216
222
|
}
|
|
217
|
-
//
|
|
223
|
+
// Ricerca normale: azzera l'eventuale flag accoda e avvia
|
|
224
|
+
appendNextSearchRef.current = false;
|
|
218
225
|
setShouldSearch(true);
|
|
219
226
|
}, []);
|
|
227
|
+
const handleSearchAndAppendClick = useCallback(() => {
|
|
228
|
+
// Propagazione blur
|
|
229
|
+
if (document.activeElement instanceof HTMLElement) {
|
|
230
|
+
document.activeElement.blur();
|
|
231
|
+
}
|
|
232
|
+
// Ricerca e accoda: imposta il flag consumato da executeSearch
|
|
233
|
+
appendNextSearchRef.current = true;
|
|
234
|
+
setShouldSearch(true);
|
|
235
|
+
}, []);
|
|
236
|
+
const searchButtonSecondaryActions = useMemo(() => [{
|
|
237
|
+
name: SDKUI_Localizator.SearchAndAppend,
|
|
238
|
+
icon: _jsx(IconSearch, {}),
|
|
239
|
+
onClick: handleSearchAndAppendClick
|
|
240
|
+
}], [handleSearchAndAppendClick]);
|
|
220
241
|
const handleQdChanged = useCallback((newQd) => {
|
|
221
242
|
if (!deepCompare(qd, newQd)) {
|
|
222
243
|
setQd(newQd);
|
|
@@ -270,7 +291,7 @@ const TMSearchQueryPanel = ({ fromDTD, showBackToResultButton, isExpertMode = SD
|
|
|
270
291
|
}, [qd, fromDTD?.metadata, SQD?.masterTID]);
|
|
271
292
|
const handleCloseOutputConfig = useCallback(() => setShowOutputConfig(false), []);
|
|
272
293
|
const contextMenuItems = useMemo(() => [
|
|
273
|
-
...(showBackToResultButton ? [{ icon: _jsx(IconArrowRight, {}), name:
|
|
294
|
+
...(showBackToResultButton ? [{ icon: _jsx(IconArrowRight, {}), name: SDKUI_Localizator.BackToResult, onClick: () => { onBackToResult?.(); } }] : []),
|
|
274
295
|
{ icon: _jsx(IconAddCircleOutline, {}), name: SDKUI_Localizator.SavedQueryNew, beginGroup: showBackToResultButton, onClick: () => { openSqdForm(FormModes.Create); } },
|
|
275
296
|
{ icon: _jsx(IconEdit, {}), name: SDKUI_Localizator.SavedQueryUpdate, disabled: (SQD && SQD.id == 1), onClick: () => { openSqdForm(FormModes.Update); } },
|
|
276
297
|
{ icon: showAdvancedSearch ? _jsx(IconEasy, {}) : _jsx(IconAdvanced, {}), beginGroup: true, name: showAdvancedSearch ? SDKUI_Localizator.Search_Easy : SDKUI_Localizator.Search_Advanced, onClick: () => { changeAdvancedSearchAsync(!showAdvancedSearch); } },
|
|
@@ -353,7 +374,7 @@ const TMSearchQueryPanel = ({ fromDTD, showBackToResultButton, isExpertMode = SD
|
|
|
353
374
|
alignItems: 'center',
|
|
354
375
|
gap: '10px',
|
|
355
376
|
width: '100%'
|
|
356
|
-
}, children: [_jsx(TMButton, { btnStyle: 'advanced', icon: _jsx(IconSearch, {}), showTooltip: false, width: '
|
|
377
|
+
}, children: [_jsx(TMButton, { btnStyle: 'advanced', icon: _jsx(IconSearch, {}), showTooltip: false, width: '120px', caption: SDKUI_Localizator.Search, advancedColor: '#4A96D2', onClick: handleSearchButtonClick, secondaryActions: searchButtonSecondaryActions }), _jsx(TMButton, { width: '90px', btnStyle: 'advanced', advancedType: 'primary', showTooltip: false, caption: SDKUI_Localizator.Clear, icon: _jsx(IconClear, {}), advancedColor: 'white', color: 'primaryOutline', onClick: clearFilters }), (!showAdvancedSearch && qd?.where && qd.where.length > initialMaxItems) && (_jsx(TMButton, { width: '120px', btnStyle: isMobile ? 'icon' : 'advanced', advancedColor: TMColors.button_primary, caption: captionText, showTooltip: false, icon: isMobile ? (_jsx("div", { children: _jsx("p", { children: showAllMdWhere ? `-${diff}` : `+${diff}` }) })) : (_jsx("p", { children: showAllMdWhere ? `-${diff}` : `+${diff}` })), onClick: () => setShowAllMdWhere(!showAllMdWhere) }))] }), showFiltersConfig &&
|
|
357
378
|
_jsx(TMMetadataChooserForm, { allowMultipleSelection: true, height: '500px', width: '600px', allowSysMetadata: true, filterMetadata: (o => o.perm?.canSearch === AccessLevels.Yes), qd: qd, selectedIDs: qd?.where?.map((w) => ({ tid: w.tid, mid: w.mid })), onClose: handleCloseFiltersConfig, onChoose: handleChooseFilters }), showOutputConfig &&
|
|
358
379
|
_jsx(TMMetadataOutputForm, { qd: qd, selectedSelectItems: qd?.select, allowSysMetadata: true, filterMetadata: (o => o.perm?.canView === AccessLevels.Yes || o.perm?.canUpdate === AccessLevels.Yes), onClose: handleCloseOutputConfig, onChoose: (selectItems) => {
|
|
359
380
|
setQd({ ...qd, select: selectItems });
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { DcmtTypeDescriptor, HomeBlogPost, ObjectRef, SearchResultDescriptor, TaskDescriptor, WorkingGroupDescriptor } from '@topconsultnpm/sdk-ts';
|
|
3
3
|
import { IntesiCertificateData } from '../../../helper';
|
|
4
|
+
import { ITMCounterContainerProps } from '../../base/TMCounterContainer';
|
|
4
5
|
import { DcmtInfo, IGraphometricManagerProp, SearchResultContext, TaskContext } from '../../../ts';
|
|
5
6
|
import { TMSearchResultFloatingActionConfig } from './TMSearchResultFloatingActionButton';
|
|
6
7
|
export declare const getSearchResultCountersSingleCategory: (searchResults: SearchResultDescriptor[]) => string;
|
|
@@ -25,6 +26,7 @@ interface ITMSearchResultProps {
|
|
|
25
26
|
showSelector?: boolean;
|
|
26
27
|
showToolbarHeader?: boolean;
|
|
27
28
|
showBackButton?: boolean;
|
|
29
|
+
showToolbarCloseButton?: boolean;
|
|
28
30
|
disableAccordionIfSingleCategory?: boolean;
|
|
29
31
|
enablePinIcons?: boolean;
|
|
30
32
|
editPdfForm?: boolean;
|
|
@@ -33,10 +35,17 @@ interface ITMSearchResultProps {
|
|
|
33
35
|
showToppyDraggableHelpCenter?: boolean;
|
|
34
36
|
toppyHelpCenterUsePortal?: boolean;
|
|
35
37
|
showNoDcmtFoundMessage?: boolean;
|
|
38
|
+
showCounterConfig?: boolean;
|
|
39
|
+
/** Mostra in testa alla griglia la colonna con le azioni di riga (modifica, duplica, cancella) */
|
|
40
|
+
showActionsColumn?: boolean;
|
|
41
|
+
/** Rende compatto il paginatore della griglia: utile quando il risultato è dentro pannelli bassi (es. accordion) */
|
|
42
|
+
compactPager?: boolean;
|
|
43
|
+
counterConfig?: ITMCounterContainerProps;
|
|
36
44
|
onClose?: () => void;
|
|
37
45
|
openInOffice?: (selectedDcmtsOrFocused: Array<DcmtInfo>) => Promise<void>;
|
|
38
46
|
onWFOperationCompleted?: () => Promise<void>;
|
|
39
47
|
onSelectedTIDChanged?: (TID: number) => void;
|
|
48
|
+
onSelectedTIDCleared?: () => void;
|
|
40
49
|
onRefreshSearchAsyncDatagrid?: () => Promise<void>;
|
|
41
50
|
onRefreshAfterAddDcmtToFavs?: () => void;
|
|
42
51
|
onFileOpened?: (blob: File | undefined) => void;
|