@topconsultnpm/sdkui-react-beta 6.17.0 → 6.17.2
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/assets/IconsS4t/add.svg +12 -12
- package/lib/assets/IconsS4t/aggiorna.svg +18 -18
- package/lib/assets/IconsS4t/bookmark.svg +42 -42
- package/lib/assets/IconsS4t/cancella.svg +15 -15
- package/lib/assets/IconsS4t/check-box.svg +19 -19
- package/lib/assets/IconsS4t/down-arrow-signBook.svg +40 -40
- package/lib/assets/IconsS4t/down.svg +28 -28
- package/lib/assets/IconsS4t/edit-file.svg +19 -19
- package/lib/assets/IconsS4t/edita.svg +32 -32
- package/lib/assets/IconsS4t/firma.svg +19 -19
- package/lib/assets/IconsS4t/icona_download.svg +16 -16
- package/lib/assets/IconsS4t/info.svg +51 -51
- package/lib/assets/IconsS4t/left.svg +20 -20
- package/lib/assets/IconsS4t/line.svg +40 -40
- package/lib/assets/IconsS4t/more.svg +19 -19
- package/lib/assets/IconsS4t/plus.svg +23 -23
- package/lib/assets/IconsS4t/printer.svg +49 -49
- package/lib/assets/IconsS4t/radio-on-button.svg +25 -25
- package/lib/assets/IconsS4t/rectangle.svg +41 -41
- package/lib/assets/IconsS4t/redo.svg +19 -19
- package/lib/assets/IconsS4t/right-arrow-signBook-finish.svg +40 -40
- package/lib/assets/IconsS4t/right-arrow-signBook.svg +40 -40
- package/lib/assets/IconsS4t/right.svg +22 -22
- package/lib/assets/IconsS4t/searchbar.svg +21 -21
- package/lib/assets/IconsS4t/text-box.svg +36 -36
- package/lib/assets/IconsS4t/tick.svg +8 -8
- package/lib/assets/IconsS4t/trash-white.svg +10 -10
- package/lib/assets/IconsS4t/undo.svg +19 -19
- package/lib/assets/IconsS4t/up.svg +32 -32
- package/lib/assets/IconsS4t/video-streaming.svg +2 -2
- package/lib/assets/IconsS4t/zoom-in.svg +58 -58
- package/lib/assets/IconsS4t/zoom-out.svg +56 -56
- package/lib/assets/six.svg +3 -3
- package/lib/assets/thumbnails/index.ts +38 -38
- package/lib/components/base/Styled.js +263 -263
- package/lib/components/base/TMAccordion.js +43 -43
- package/lib/components/base/TMAreaManager.js +23 -23
- package/lib/components/base/TMButton.js +130 -130
- package/lib/components/base/TMClosableList.js +46 -46
- package/lib/components/base/TMConfirm.js +20 -20
- package/lib/components/base/TMContextMenu.js +4 -4
- package/lib/components/base/TMContextMenuOLD.js +25 -25
- package/lib/components/base/TMCounterBar.js +32 -32
- package/lib/components/base/TMCounterContainer.js +30 -30
- package/lib/components/base/TMDropDownMenu.js +24 -24
- package/lib/components/base/TMFileManagerUtils.js +19 -19
- package/lib/components/base/TMFloatingToolbar.js +34 -34
- package/lib/components/base/TMLayout.js +44 -44
- package/lib/components/base/TMList.js +34 -34
- package/lib/components/base/TMModal.js +31 -31
- package/lib/components/base/TMPanel.js +57 -57
- package/lib/components/base/TMPopUp.js +131 -131
- package/lib/components/base/TMProgressBar.js +20 -20
- package/lib/components/base/TMResizableMenu.js +28 -28
- package/lib/components/base/TMRightSidebar.js +40 -40
- package/lib/components/base/TMTab.js +11 -11
- package/lib/components/base/TMToggleButton.js +36 -36
- package/lib/components/base/TMToolbarCard.js +35 -35
- package/lib/components/base/TMTreeView.js +12 -12
- package/lib/components/base/TMUserAvatar.js +7 -7
- package/lib/components/base/TMWaitPanel.js +22 -22
- package/lib/components/choosers/TMCultureIDPicker.js +35 -35
- package/lib/components/choosers/TMDataListItemPicker.js +54 -54
- package/lib/components/editors/TMCheckBox.js +24 -24
- package/lib/components/editors/TMDropDown.js +43 -43
- package/lib/components/editors/TMEditorStyled.js +71 -71
- package/lib/components/editors/TMHtmlContentDisplay.js +16 -16
- package/lib/components/editors/TMLocalizedTextBox.js +31 -31
- package/lib/components/editors/TMMetadataValues.js +12 -12
- package/lib/components/editors/TMRadioButton.js +39 -39
- package/lib/components/editors/TMSummary.js +39 -39
- package/lib/components/editors/TMTextArea.js +12 -12
- package/lib/components/editors/TMTextBox.js +19 -19
- package/lib/components/features/archive/TMArchive.js +1 -0
- package/lib/components/features/assistant/ToppyHelpCenter.js +114 -114
- package/lib/components/features/blog/TMBlogCommentForm.js +3 -3
- package/lib/components/features/documents/TMDcmtIcon.js +8 -8
- package/lib/components/features/documents/TMDcmtPreview.js +30 -30
- package/lib/components/features/documents/TMFileUploader.js +21 -21
- package/lib/components/features/search/TMSavedQuerySelector.js +51 -51
- package/lib/components/features/search/TMSearch.d.ts +2 -0
- package/lib/components/features/search/TMSearch.js +11 -6
- package/lib/components/features/search/TMSearchQueryEditor.js +13 -13
- package/lib/components/features/search/TMSearchQueryPanel.d.ts +1 -0
- package/lib/components/features/search/TMSearchQueryPanel.js +33 -32
- package/lib/components/features/search/TMSearchResult.d.ts +1 -0
- package/lib/components/features/search/TMSearchResult.js +7 -7
- package/lib/components/features/search/TMSearchResultsMenuItems.d.ts +1 -1
- package/lib/components/features/search/TMSearchResultsMenuItems.js +12 -2
- package/lib/components/features/search/TMTreeSelector.js +66 -66
- package/lib/components/features/wg/TMWGsCopyMoveForm.js +9 -9
- package/lib/components/features/workflow/TMWorkflowPopup.js +41 -41
- package/lib/components/features/workflow/diagram/ConnectionComponent.js +29 -29
- package/lib/components/features/workflow/diagram/ConnectionForm.js +10 -10
- package/lib/components/features/workflow/diagram/DiagramItemComponent.js +57 -57
- package/lib/components/features/workflow/diagram/DiagramItemForm.js +29 -29
- package/lib/components/features/workflow/diagram/DiagramItemSvgContent.js +12 -12
- package/lib/components/features/workflow/diagram/RecipientList.js +40 -40
- package/lib/components/features/workflow/diagram/WFDiagram.js +279 -279
- package/lib/components/features/workflow/diagram/WorkitemRecipientsEditor.js +4 -4
- package/lib/components/features/workflow/diagram/workflowHelpers.js +1 -1
- package/lib/components/forms/Login/Chooser.js +35 -35
- package/lib/components/forms/Login/Menu.js +22 -22
- package/lib/components/forms/Login/SelectBox.js +46 -46
- package/lib/components/forms/Login/TMLoginForm.js +4 -4
- package/lib/components/forms/Login/TextBox.js +57 -57
- package/lib/components/grids/TMBlogsUtils.js +25 -25
- package/lib/components/grids/TMRecentsManager.js +50 -50
- package/lib/components/grids/TMValidationItemsList.js +48 -48
- package/lib/components/layout/panelManager/TMPanelManagerContainer.js +12 -12
- package/lib/components/layout/panelManager/TMPanelManagerToolbar.js +34 -34
- package/lib/components/query/TMQueryEditor.js +17 -17
- package/lib/components/query/TMQuerySummary.js +12 -12
- package/lib/components/sidebar/TMCommandsPanel.js +10 -10
- package/lib/components/sidebar/TMHeader.js +307 -307
- package/lib/components/sidebar/TMSidebar.js +24 -24
- package/lib/components/sidebar/TMSidebarItem.js +21 -21
- package/lib/helper/SDKUI_Localizator.d.ts +1 -0
- package/lib/helper/SDKUI_Localizator.js +10 -0
- package/lib/helper/TMUtils.js +19 -19
- package/lib/hooks/useForm.d.ts +1 -1
- package/lib/hooks/useForm.js +4 -4
- package/lib/services/platform_services.d.ts +1 -1
- package/lib/services/platform_services.js +2 -2
- package/lib/stories/TMHtmlContentDisplay.stories.js +16 -16
- package/lib/stories/TMHtmlEditor.stories.js +3 -3
- package/package.json +1 -1
|
@@ -12,6 +12,7 @@ interface ITMSearchQueryPanelProps {
|
|
|
12
12
|
onClosePanel?: () => void;
|
|
13
13
|
allowMaximize?: boolean;
|
|
14
14
|
onMaximizePanel?: () => void;
|
|
15
|
+
passToArchiveCallback?: () => void;
|
|
15
16
|
}
|
|
16
17
|
declare const TMSearchQueryPanel: React.FunctionComponent<ITMSearchQueryPanelProps>;
|
|
17
18
|
export default TMSearchQueryPanel;
|
|
@@ -4,7 +4,7 @@ import { PlatformObjectValidator, WhereItem, SDK_Localizator, OrderByItem, Selec
|
|
|
4
4
|
import styled from 'styled-components';
|
|
5
5
|
import TMSearchQueryEditor from './TMSearchQueryEditor';
|
|
6
6
|
import Toppy from '../../../assets/Toppy-generico.png';
|
|
7
|
-
import { getDcmtTypesByQdAsync, SDKUI_Localizator, getQD, IconMenuVertical, IconAddCircleOutline, IconEdit, IconEasy, IconAdvanced, deepCompare, IconSearch, IconClear, getDefaultOperator, prepareQdForSearchAsync, IsParametricQuery, SDKUI_Globals, IconArrowRight } from '../../../helper';
|
|
7
|
+
import { getDcmtTypesByQdAsync, SDKUI_Localizator, getQD, IconMenuVertical, IconAddCircleOutline, IconEdit, IconEasy, IconAdvanced, deepCompare, IconSearch, IconClear, getDefaultOperator, prepareQdForSearchAsync, IsParametricQuery, SDKUI_Globals, IconArrowRight, IconMenuCAArchive } from '../../../helper';
|
|
8
8
|
import { useQueryParametersDialog } from '../../../hooks/useQueryParametersDialog';
|
|
9
9
|
import { FormModes } from '../../../ts';
|
|
10
10
|
import { TMColors } from '../../../utils/theme';
|
|
@@ -23,7 +23,7 @@ import TMQueryEditor from '../../query/TMQueryEditor';
|
|
|
23
23
|
import TMSavedQueryForm from './TMSavedQueryForm';
|
|
24
24
|
import { AdvancedMenuButtons } from '../../editors/TMMetadataValues';
|
|
25
25
|
import TMShowAllOrMaxItemsButton from '../../base/TMShowAllOrMaxItemsButton';
|
|
26
|
-
const TMSearchQueryPanel = ({ fromDTD, showBackToResultButton, isExpertMode = SDKUI_Globals.userSettings.advancedSettings.expertMode === 1, SQD, onSearchCompleted, onSqdSaved, onBack, onClosePanel, allowMaximize = true, onMaximizePanel, onBackToResult }) => {
|
|
26
|
+
const TMSearchQueryPanel = ({ fromDTD, showBackToResultButton, isExpertMode = SDKUI_Globals.userSettings.advancedSettings.expertMode === 1, SQD, onSearchCompleted, onSqdSaved, onBack, onClosePanel, allowMaximize = true, onMaximizePanel, onBackToResult, passToArchiveCallback }) => {
|
|
27
27
|
const [confirmQueryParams, ConfirmQueryParamsDialog] = useQueryParametersDialog();
|
|
28
28
|
const [qd, setQd] = useState();
|
|
29
29
|
const [shouldSearch, setShouldSearch] = useState(false);
|
|
@@ -240,6 +240,7 @@ const TMSearchQueryPanel = ({ fromDTD, showBackToResultButton, isExpertMode = SD
|
|
|
240
240
|
{ icon: _jsx(IconEdit, {}), beginGroup: true, text: `${SDKUI_Localizator.Configure} - ${SDK_Localizator.QueryWhere}`, onClick: () => { setShowFiltersConfig(true); } },
|
|
241
241
|
{ icon: _jsx(IconEdit, {}), text: `${SDKUI_Localizator.Configure} - ${SDK_Localizator.QuerySelect}`, onClick: () => { setShowOutputConfig(true); } },
|
|
242
242
|
{ icon: _jsx(IconEdit, {}), text: `${SDKUI_Localizator.Configure} - ${SDK_Localizator.QueryOrderBy}`, onClick: () => { setShowOrderByConfig(true); } },
|
|
243
|
+
{ icon: _jsx(IconMenuCAArchive, { fontSize: 24 }), beginGroup: true, text: SDKUI_Localizator.PassToArchive, onClick: () => passToArchiveCallback?.() }
|
|
243
244
|
] })
|
|
244
245
|
: _jsx(_Fragment, {}) }), children: [_jsx(ConfirmQueryParamsDialog, {}), SQD
|
|
245
246
|
? _jsxs("div", { style: { height: '100%', width: '100%', position: 'relative', display: 'flex', flexDirection: 'column', gap: 5 }, children: [showAdvancedSearch
|
|
@@ -324,36 +325,36 @@ export const refreshLastSearch = async (qd) => {
|
|
|
324
325
|
}
|
|
325
326
|
return searchResults;
|
|
326
327
|
};
|
|
327
|
-
export const StyledToppyTextContainer = styled.div `
|
|
328
|
-
padding: 22px 8px;
|
|
329
|
-
width: 100%;
|
|
330
|
-
max-width: 300px;
|
|
331
|
-
border: 1px solid #2559A5;
|
|
332
|
-
border-radius: 30px;
|
|
333
|
-
display: flex;
|
|
334
|
-
align-items: center;
|
|
335
|
-
justify-content: center;
|
|
336
|
-
box-sizing: border-box;
|
|
337
|
-
min-height: 100px;
|
|
328
|
+
export const StyledToppyTextContainer = styled.div `
|
|
329
|
+
padding: 22px 8px;
|
|
330
|
+
width: 100%;
|
|
331
|
+
max-width: 300px;
|
|
332
|
+
border: 1px solid #2559A5;
|
|
333
|
+
border-radius: 30px;
|
|
334
|
+
display: flex;
|
|
335
|
+
align-items: center;
|
|
336
|
+
justify-content: center;
|
|
337
|
+
box-sizing: border-box;
|
|
338
|
+
min-height: 100px;
|
|
338
339
|
`;
|
|
339
|
-
export const StyledToppyText = styled.p `
|
|
340
|
-
text-align: center;
|
|
341
|
-
color: #2559A5;
|
|
342
|
-
font-size: 1rem;
|
|
343
|
-
user-select: none;
|
|
344
|
-
margin: 0;
|
|
345
|
-
display: -webkit-box;
|
|
346
|
-
-webkit-box-orient: vertical;
|
|
347
|
-
-webkit-line-clamp: 3; /* non è una proprietà standard ma è così diffusa e ben supportata che è considerata una "best practice pragmatica" */
|
|
348
|
-
overflow: hidden;
|
|
349
|
-
text-overflow: ellipsis;
|
|
350
|
-
white-space: normal;
|
|
351
|
-
word-break: break-word;
|
|
352
|
-
line-height: 1.2;
|
|
340
|
+
export const StyledToppyText = styled.p `
|
|
341
|
+
text-align: center;
|
|
342
|
+
color: #2559A5;
|
|
343
|
+
font-size: 1rem;
|
|
344
|
+
user-select: none;
|
|
345
|
+
margin: 0;
|
|
346
|
+
display: -webkit-box;
|
|
347
|
+
-webkit-box-orient: vertical;
|
|
348
|
+
-webkit-line-clamp: 3; /* non è una proprietà standard ma è così diffusa e ben supportata che è considerata una "best practice pragmatica" */
|
|
349
|
+
overflow: hidden;
|
|
350
|
+
text-overflow: ellipsis;
|
|
351
|
+
white-space: normal;
|
|
352
|
+
word-break: break-word;
|
|
353
|
+
line-height: 1.2;
|
|
353
354
|
`;
|
|
354
|
-
export const StyledToppyImage = styled.img `
|
|
355
|
-
width: 100%;
|
|
356
|
-
max-width: 120px;
|
|
357
|
-
height: auto;
|
|
358
|
-
display: block;
|
|
355
|
+
export const StyledToppyImage = styled.img `
|
|
356
|
+
width: 100%;
|
|
357
|
+
max-width: 120px;
|
|
358
|
+
height: auto;
|
|
359
|
+
display: block;
|
|
359
360
|
`;
|
|
@@ -34,6 +34,7 @@ interface ITMSearchResultProps {
|
|
|
34
34
|
openAddDocumentForm?: () => void;
|
|
35
35
|
openS4TViewer?: boolean;
|
|
36
36
|
onOpenS4TViewerRequest?: (dcmtInfo: Array<DcmtInfo>, onRefreshSearchAsync?: (() => Promise<void>)) => void;
|
|
37
|
+
passToArchiveCallback?: () => void;
|
|
37
38
|
showTodoDcmtForm?: boolean;
|
|
38
39
|
}
|
|
39
40
|
declare const TMSearchResult: React.FC<ITMSearchResultProps>;
|
|
@@ -55,7 +55,7 @@ const orderByName = (array) => {
|
|
|
55
55
|
return 1;
|
|
56
56
|
} return 0; });
|
|
57
57
|
};
|
|
58
|
-
const TMSearchResult = ({ context = SearchResultContext.METADATA_SEARCH, isVisible = true, allowRelations = true, openDcmtFormAsModal = false, searchResults = [], showSearchResultSidebar = true, showSelector = false, groupId, title, isClosable = false, allowFloatingBar = true, showToolbarHeader = true, selectedSearchResultTID, workingGroupContext = undefined, disableAccordionIfSingleCategory = false, floatingActionConfig, openInOffice, onRefreshAfterAddDcmtToFavs, onRefreshSearchAsync, onSelectedTIDChanged, onWFOperationCompleted, onClose, onFileOpened, onTaskCreateRequest, openWGsCopyMoveForm, openEditPdf, openCommentFormCallback, openAddDocumentForm, openS4TViewer = false, onOpenS4TViewerRequest, showTodoDcmtForm = false }) => {
|
|
58
|
+
const TMSearchResult = ({ context = SearchResultContext.METADATA_SEARCH, isVisible = true, allowRelations = true, openDcmtFormAsModal = false, searchResults = [], showSearchResultSidebar = true, showSelector = false, groupId, title, isClosable = false, allowFloatingBar = true, showToolbarHeader = true, selectedSearchResultTID, workingGroupContext = undefined, disableAccordionIfSingleCategory = false, floatingActionConfig, openInOffice, onRefreshAfterAddDcmtToFavs, onRefreshSearchAsync, onSelectedTIDChanged, onWFOperationCompleted, onClose, onFileOpened, onTaskCreateRequest, openWGsCopyMoveForm, openEditPdf, openCommentFormCallback, openAddDocumentForm, openS4TViewer = false, onOpenS4TViewerRequest, passToArchiveCallback, showTodoDcmtForm = false }) => {
|
|
59
59
|
const [id, setID] = useState('');
|
|
60
60
|
const [showApprovePopup, setShowApprovePopup] = useState(false);
|
|
61
61
|
const [showRejectPopup, setShowRejectPopup] = useState(false);
|
|
@@ -241,7 +241,7 @@ const TMSearchResult = ({ context = SearchResultContext.METADATA_SEARCH, isVisib
|
|
|
241
241
|
return;
|
|
242
242
|
if (e.target === 'content') {
|
|
243
243
|
e.items = e.items || [];
|
|
244
|
-
const menuItems = getCommandsMenuItems(isMobile, fromDTD, selectedItems, focusedItem, context, showFloatingBar, workingGroupContext, showSearch, setShowFloatingBar, openFormHandler, downloadDcmtsAsync, runOperationAsync, onRefreshSearchAsync, refreshSelectionDataRowsAsync, onRefreshAfterAddDcmtToFavs, confirmFormat, openConfirmAttachmentsDialog, openTaskFormHandler, openDetailDcmtsFormHandler, openMasterDcmtsFormHandler, openBatchUpdateFormHandler, openExportForm, handleToggleSearch, handleSignApprove, openWGsCopyMoveForm, openCommentFormCallback, openEditPdf, openAddDocumentForm);
|
|
244
|
+
const menuItems = getCommandsMenuItems(isMobile, fromDTD, selectedItems, focusedItem, context, showFloatingBar, workingGroupContext, showSearch, setShowFloatingBar, openFormHandler, downloadDcmtsAsync, runOperationAsync, onRefreshSearchAsync, refreshSelectionDataRowsAsync, onRefreshAfterAddDcmtToFavs, confirmFormat, openConfirmAttachmentsDialog, openTaskFormHandler, openDetailDcmtsFormHandler, openMasterDcmtsFormHandler, openBatchUpdateFormHandler, openExportForm, handleToggleSearch, handleSignApprove, openWGsCopyMoveForm, openCommentFormCallback, openEditPdf, openAddDocumentForm, passToArchiveCallback);
|
|
245
245
|
e.items.push(...menuItems);
|
|
246
246
|
}
|
|
247
247
|
};
|
|
@@ -368,7 +368,7 @@ const TMSearchResult = ({ context = SearchResultContext.METADATA_SEARCH, isVisib
|
|
|
368
368
|
}
|
|
369
369
|
};
|
|
370
370
|
const searchResutlToolbar = _jsxs(_Fragment, { children: [(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 &&
|
|
371
|
-
_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(TMCommandsContextMenu, { target: `#commands-header-${id}`, showEvent: "click", menuItems: getCommandsMenuItems(isMobile, fromDTD, selectedItems, focusedItem, context, showFloatingBar, workingGroupContext, showSearch, setShowFloatingBar, openFormHandler, downloadDcmtsAsync, runOperationAsync, onRefreshSearchAsync, refreshSelectionDataRowsAsync, onRefreshAfterAddDcmtToFavs, confirmFormat, openConfirmAttachmentsDialog, openTaskFormHandler, openDetailDcmtsFormHandler, openMasterDcmtsFormHandler, openBatchUpdateFormHandler, openExportForm, handleToggleSearch, handleSignApprove, openWGsCopyMoveForm, openCommentFormCallback, openEditPdf, openAddDocumentForm) })] });
|
|
371
|
+
_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(TMCommandsContextMenu, { target: `#commands-header-${id}`, showEvent: "click", menuItems: getCommandsMenuItems(isMobile, fromDTD, selectedItems, focusedItem, context, showFloatingBar, workingGroupContext, showSearch, setShowFloatingBar, openFormHandler, downloadDcmtsAsync, runOperationAsync, onRefreshSearchAsync, refreshSelectionDataRowsAsync, onRefreshAfterAddDcmtToFavs, confirmFormat, openConfirmAttachmentsDialog, openTaskFormHandler, openDetailDcmtsFormHandler, openMasterDcmtsFormHandler, openBatchUpdateFormHandler, openExportForm, handleToggleSearch, handleSignApprove, openWGsCopyMoveForm, openCommentFormCallback, openEditPdf, openAddDocumentForm, passToArchiveCallback) })] });
|
|
372
372
|
const middlePanelToolbar = _jsxs("div", { style: { width: 'max-content', display: 'flex', alignItems: 'center', gap: '10px' }, children: [_jsx(TMSaveFormButtonPrevious, { btnStyle: 'icon', isModified: false, iconColor: TMColors.default_background, formMode: FormModes.ReadOnly, canPrev: canNavigateHandler('prev'), onPrev: () => onNavigateHandler('prev') }), _jsx(TMSaveFormButtonNext, { btnStyle: 'icon', isModified: false, iconColor: TMColors.default_background, formMode: FormModes.ReadOnly, canNext: canNavigateHandler('next'), onNext: () => onNavigateHandler('next') })] });
|
|
373
373
|
const handleAddItem = (tid, did) => {
|
|
374
374
|
let newItem = { TID: tid ?? 0, DID: did ?? 0 };
|
|
@@ -385,7 +385,7 @@ const TMSearchResult = ({ context = SearchResultContext.METADATA_SEARCH, isVisib
|
|
|
385
385
|
_jsx(TMLayoutItem, { children: _jsx(TMSearchResultSelector, { searchResults: currentSearchResults, disableAccordionIfSingleCategory: disableAccordionIfSingleCategory, selectedTID: selectedSearchResultTID, onSelectionChanged: onSearchResultSelectionChanged }) })
|
|
386
386
|
:
|
|
387
387
|
_jsx(_Fragment, {}), _jsxs(TMLayoutItem, { children: [_jsx(TMSearchResultGrid, { showSearch: showSearch, inputFocusedItem: focusedItem, inputSelectedItems: selectedItems, searchResult: searchResults.length > 1 ? selectedSearchResult : searchResults[0], lastUpdateSearchTime: lastUpdateSearchTime, openInOffice: openInOffice, onDblClick: () => openFormHandler(LayoutModes.Update), onContextMenuPreparing: onContextMenuPreparing, onSelectionChanged: (items) => { setSelectedItems(items); }, onVisibleItemChanged: setVisibleItems, onFocusedItemChanged: setFocusedItem, onDownloadDcmtsAsync: async (inputDcmts, downloadType, downloadMode, _y, confirmAttachments) => await downloadDcmtsAsync(inputDcmts, downloadType, downloadMode, onFileOpened, confirmAttachments), showExportForm: showExportForm, onCloseExportForm: onCloseExportForm }), allowFloatingBar && showFloatingBar && deviceType !== DeviceType.MOBILE &&
|
|
388
|
-
_jsxs(TMFloatingToolbar, { backgroundColor: TMColors.primaryColor, initialLeft: '10px', initialTop: 'calc(100% - 75px)', children: [fromDTD?.perm?.canRetrieveFile === AccessLevels.Yes && _jsx(TMButton, { btnStyle: 'icon', caption: "Download file", disabled: fromDTD?.perm?.canRetrieveFile !== AccessLevels.Yes || !focusedItem?.DID, icon: _jsx(IconDownload, { color: 'white' }), onClick: () => { downloadDcmtsAsync(getSelectedDcmtsOrFocused(selectedItems, focusedItem), DownloadTypes.Dcmt, "download"); } }), allowRelations && _jsx(TMButton, { btnStyle: 'icon', disabled: !currentTIDHasDetailRelations || !focusedItem?.DID, icon: _jsx(IconDetailDcmts, { color: 'white' }), caption: SDKUI_Localizator.DcmtsDetail, onClick: () => setIsOpenDetails(true) }), allowRelations && _jsx(TMButton, { btnStyle: 'icon', disabled: !currentTIDHasMasterRelations || !focusedItem?.DID, icon: _jsx(IconDetailDcmts, { color: 'white', transform: 'scale(-1, 1)' }), caption: SDKUI_Localizator.DcmtsMaster, onClick: () => setIsOpenMaster(true) }), _jsx(IconMenuVertical, { id: `commands-floating-${id}`, color: 'white', cursor: 'pointer' }), _jsx(TMCommandsContextMenu, { target: `#commands-floating-${id}`, showEvent: "click", menuItems: getCommandsMenuItems(isMobile, fromDTD, selectedItems, focusedItem, context, showFloatingBar, workingGroupContext, showSearch, setShowFloatingBar, openFormHandler, downloadDcmtsAsync, runOperationAsync, onRefreshSearchAsync, refreshSelectionDataRowsAsync, onRefreshAfterAddDcmtToFavs, confirmFormat, openConfirmAttachmentsDialog, openTaskFormHandler, openDetailDcmtsFormHandler, openMasterDcmtsFormHandler, openBatchUpdateFormHandler, openExportForm, handleToggleSearch, handleSignApprove, openWGsCopyMoveForm, openCommentFormCallback, openEditPdf, openAddDocumentForm) })] })] })] }), showApprovePopup && _jsx(WorkFlowApproveRejectPopUp, { deviceType: deviceType, onCompleted: onWFOperationCompleted, selectedItems: getSelectedDcmtsOrFocused(selectedItems, focusedItem), isReject: 0, onClose: () => setShowApprovePopup(false) }), showRejectPopup && _jsx(WorkFlowApproveRejectPopUp, { deviceType: deviceType, onCompleted: onWFOperationCompleted, selectedItems: getSelectedDcmtsOrFocused(selectedItems, focusedItem), isReject: 1, onClose: () => setShowRejectPopup(false) }), showReAssignPopup && _jsx(WorkFlowReAssignPopUp, { deviceType: deviceType, onCompleted: onWFOperationCompleted, selectedItems: getSelectedDcmtsOrFocused(selectedItems, focusedItem), onClose: () => setShowReAssignPopup(false) }), showMoreInfoPopup && _jsx(WorkFlowMoreInfoPopUp, { TID: focusedItem?.TID, DID: focusedItem?.DID, deviceType: deviceType, onCompleted: onWFOperationCompleted, onClose: () => setShowMoreInfoPopup(false) }), isOpenBatchUpdate && _jsx(TMBatchUpdateForm, { isModal: true, titleModal: `${SDKUI_Localizator.BatchUpdate} (${getSelectionDcmtInfo().length} documenti selezionati)`, inputDcmts: getSelectionDcmtInfo(), TID: focusedItem ? focusedItem?.TID : selectedItems[0]?.TID, DID: focusedItem ? focusedItem?.DID : selectedItems[0]?.DID, onBack: () => {
|
|
388
|
+
_jsxs(TMFloatingToolbar, { backgroundColor: TMColors.primaryColor, initialLeft: '10px', initialTop: 'calc(100% - 75px)', children: [fromDTD?.perm?.canRetrieveFile === AccessLevels.Yes && _jsx(TMButton, { btnStyle: 'icon', caption: "Download file", disabled: fromDTD?.perm?.canRetrieveFile !== AccessLevels.Yes || !focusedItem?.DID, icon: _jsx(IconDownload, { color: 'white' }), onClick: () => { downloadDcmtsAsync(getSelectedDcmtsOrFocused(selectedItems, focusedItem), DownloadTypes.Dcmt, "download"); } }), allowRelations && _jsx(TMButton, { btnStyle: 'icon', disabled: !currentTIDHasDetailRelations || !focusedItem?.DID, icon: _jsx(IconDetailDcmts, { color: 'white' }), caption: SDKUI_Localizator.DcmtsDetail, onClick: () => setIsOpenDetails(true) }), allowRelations && _jsx(TMButton, { btnStyle: 'icon', disabled: !currentTIDHasMasterRelations || !focusedItem?.DID, icon: _jsx(IconDetailDcmts, { color: 'white', transform: 'scale(-1, 1)' }), caption: SDKUI_Localizator.DcmtsMaster, onClick: () => setIsOpenMaster(true) }), _jsx(IconMenuVertical, { id: `commands-floating-${id}`, color: 'white', cursor: 'pointer' }), _jsx(TMCommandsContextMenu, { target: `#commands-floating-${id}`, showEvent: "click", menuItems: getCommandsMenuItems(isMobile, fromDTD, selectedItems, focusedItem, context, showFloatingBar, workingGroupContext, showSearch, setShowFloatingBar, openFormHandler, downloadDcmtsAsync, runOperationAsync, onRefreshSearchAsync, refreshSelectionDataRowsAsync, onRefreshAfterAddDcmtToFavs, confirmFormat, openConfirmAttachmentsDialog, openTaskFormHandler, openDetailDcmtsFormHandler, openMasterDcmtsFormHandler, openBatchUpdateFormHandler, openExportForm, handleToggleSearch, handleSignApprove, openWGsCopyMoveForm, openCommentFormCallback, openEditPdf, openAddDocumentForm, passToArchiveCallback) })] })] })] }), showApprovePopup && _jsx(WorkFlowApproveRejectPopUp, { deviceType: deviceType, onCompleted: onWFOperationCompleted, selectedItems: getSelectedDcmtsOrFocused(selectedItems, focusedItem), isReject: 0, onClose: () => setShowApprovePopup(false) }), showRejectPopup && _jsx(WorkFlowApproveRejectPopUp, { deviceType: deviceType, onCompleted: onWFOperationCompleted, selectedItems: getSelectedDcmtsOrFocused(selectedItems, focusedItem), isReject: 1, onClose: () => setShowRejectPopup(false) }), showReAssignPopup && _jsx(WorkFlowReAssignPopUp, { deviceType: deviceType, onCompleted: onWFOperationCompleted, selectedItems: getSelectedDcmtsOrFocused(selectedItems, focusedItem), onClose: () => setShowReAssignPopup(false) }), showMoreInfoPopup && _jsx(WorkFlowMoreInfoPopUp, { TID: focusedItem?.TID, DID: focusedItem?.DID, deviceType: deviceType, onCompleted: onWFOperationCompleted, onClose: () => setShowMoreInfoPopup(false) }), isOpenBatchUpdate && _jsx(TMBatchUpdateForm, { isModal: true, titleModal: `${SDKUI_Localizator.BatchUpdate} (${getSelectionDcmtInfo().length} documenti selezionati)`, inputDcmts: getSelectionDcmtInfo(), TID: focusedItem ? focusedItem?.TID : selectedItems[0]?.TID, DID: focusedItem ? focusedItem?.DID : selectedItems[0]?.DID, onBack: () => {
|
|
389
389
|
setIsOpenBatchUpdate(false);
|
|
390
390
|
}, onSavedCallbackAsync: async () => {
|
|
391
391
|
setIsOpenBatchUpdate(false);
|
|
@@ -703,9 +703,9 @@ const TMSearchResultGrid = ({ openInOffice, inputFocusedItem, showSearch, allowM
|
|
|
703
703
|
return _jsxs("div", { style: { width: "100%", height: "100%" }, children: [_jsx(TMDataGrid, { id: "tm-search-result", keyExpr: "rowIndex", dataColumns: dataColumns, dataSource: dataSource, repaintChangesOnly: true, selectedRowKeys: selectedRowKeys, focusedRowKey: Number(focusedItem?.rowIndex ?? 0), showSearchPanel: showSearch, showFilterPanel: true, sorting: { mode: "multiple" }, selection: { mode: allowMultipleSelection ? 'multiple' : 'single' }, pageSize: TMDataGridPageSize.Small, onSelectionChanged: handleSelectionChange, onFocusedRowChanged: handleFocusedRowChange, onRowDblClick: onRowDblClick, onContentReady: onContentReady, onContextMenuPreparing: onContextMenuPreparing, onKeyDown: onKeyDown, counterConfig: { show: true } }), (showExportForm && searchResult && onCloseExportForm) && _jsx(TMDataGridExportForm, { dataColumns: dataColumns, dataSource: dataSource, selectedRowKeys: selectedRowKeys, onCloseExportForm: onCloseExportForm, searchResult: searchResult })] });
|
|
704
704
|
};
|
|
705
705
|
//#region TMSearchResultSelector
|
|
706
|
-
const StyledItemTemplate = styled.div `
|
|
707
|
-
background: ${(props) => props.$isSelected ? 'oklch(from var(--dx-color-primary) l c h / .2) !important' : 'transparent'};
|
|
708
|
-
cursor: pointer;
|
|
706
|
+
const StyledItemTemplate = styled.div `
|
|
707
|
+
background: ${(props) => props.$isSelected ? 'oklch(from var(--dx-color-primary) l c h / .2) !important' : 'transparent'};
|
|
708
|
+
cursor: pointer;
|
|
709
709
|
`;
|
|
710
710
|
const MemoizedStyledItemTemplate = React.memo(StyledItemTemplate);
|
|
711
711
|
const TMSearchResultSelector = ({ searchResults = [], disableAccordionIfSingleCategory = false, selectedTID, onSelectionChanged }) => {
|
|
@@ -4,4 +4,4 @@ import { TMDataGridContextMenuItem } from '../../base/TMDataGrid';
|
|
|
4
4
|
import { DcmtInfo, DcmtOperationTypes, DownloadModes, DownloadTypes, SearchResultContext } from '../../../ts';
|
|
5
5
|
export declare const getSelectedDcmtsOrFocused: (selectedItems: Array<any>, focusedItem: any, fileFormat?: FileFormats) => DcmtInfo[];
|
|
6
6
|
export declare const signatureInformationCallback: (isMobile: boolean, inputDcmts: DcmtInfo[] | undefined) => Promise<void>;
|
|
7
|
-
export declare const getCommandsMenuItems: (isMobile: boolean, dtd: DcmtTypeDescriptor | undefined, selectedItems: Array<any>, focusedItem: any, context: SearchResultContext, showFloatingBar: boolean, workingGroupContext: WorkingGroupDescriptor | undefined, showSearch: boolean, setShowFloatingBar: React.Dispatch<React.SetStateAction<boolean>>, openFormHandler: (layoutMode: LayoutModes) => void, downloadDcmtsAsync: (inputDcmts: DcmtInfo[] | undefined, downloadType: DownloadTypes, downloadMode: DownloadModes, onFileDownloaded?: (dcmtFile: File | undefined) => void, confirmAttachments?: (list: FileDescriptor[]) => Promise<string[] | undefined>) => Promise<void>, runOperationAsync: (inputDcmts: DcmtInfo[] | undefined, dcmtOperationType: DcmtOperationTypes, actionAfterOperationAsync?: () => Promise<void>) => Promise<void>, onRefreshSearchAsync: (() => Promise<void>) | undefined, onRefreshDataRowsAsync: (() => Promise<void>) | undefined, onRefreshAfterAddDcmtToFavs: (() => void) | undefined, confirmFormat: () => Promise<FileFormats>, confirmAttachments: (list: FileDescriptor[]) => Promise<string[] | undefined>, openTaskFormHandler: () => void, openDetailDcmtsFormHandler: (value: boolean) => void, openMasterDcmtsFormHandler: (value: boolean) => void, openBatchUpdateFormHandler: (value: boolean) => void, openExportForm: () => void, handleToggleSearch: () => void, handleSignApprove: () => void, openWGsCopyMoveForm?: ((mode: "copyToWgDraft" | "copyToWgArchivedDoc", dcmtTypeDescriptor: DcmtTypeDescriptor, documents: Array<DcmtInfo>) => void), openCommentFormCallback?: ((documents: Array<DcmtInfo>) => void), openEditPdf?: ((documents: Array<DcmtInfo>) => void), openAddDocumentForm?: () => void) => Array<TMDataGridContextMenuItem>;
|
|
7
|
+
export declare const getCommandsMenuItems: (isMobile: boolean, dtd: DcmtTypeDescriptor | undefined, selectedItems: Array<any>, focusedItem: any, context: SearchResultContext, showFloatingBar: boolean, workingGroupContext: WorkingGroupDescriptor | undefined, showSearch: boolean, setShowFloatingBar: React.Dispatch<React.SetStateAction<boolean>>, openFormHandler: (layoutMode: LayoutModes) => void, downloadDcmtsAsync: (inputDcmts: DcmtInfo[] | undefined, downloadType: DownloadTypes, downloadMode: DownloadModes, onFileDownloaded?: (dcmtFile: File | undefined) => void, confirmAttachments?: (list: FileDescriptor[]) => Promise<string[] | undefined>) => Promise<void>, runOperationAsync: (inputDcmts: DcmtInfo[] | undefined, dcmtOperationType: DcmtOperationTypes, actionAfterOperationAsync?: () => Promise<void>) => Promise<void>, onRefreshSearchAsync: (() => Promise<void>) | undefined, onRefreshDataRowsAsync: (() => Promise<void>) | undefined, onRefreshAfterAddDcmtToFavs: (() => void) | undefined, confirmFormat: () => Promise<FileFormats>, confirmAttachments: (list: FileDescriptor[]) => Promise<string[] | undefined>, openTaskFormHandler: () => void, openDetailDcmtsFormHandler: (value: boolean) => void, openMasterDcmtsFormHandler: (value: boolean) => void, openBatchUpdateFormHandler: (value: boolean) => void, openExportForm: () => void, handleToggleSearch: () => void, handleSignApprove: () => void, openWGsCopyMoveForm?: ((mode: "copyToWgDraft" | "copyToWgArchivedDoc", dcmtTypeDescriptor: DcmtTypeDescriptor, documents: Array<DcmtInfo>) => void), openCommentFormCallback?: ((documents: Array<DcmtInfo>) => void), openEditPdf?: ((documents: Array<DcmtInfo>) => void), openAddDocumentForm?: () => void, passToArchiveCallback?: () => void) => Array<TMDataGridContextMenuItem>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { AccessLevels, AccessLevelsEx, AppModules, FileFormats, LayoutModes, SDK_Globals } from '@topconsultnpm/sdk-ts-beta';
|
|
3
|
-
import { IconActivity, IconArchiveDoc, IconBatchUpdate, IconCheckFile, IconCheckIn, IconCircleInfo, IconCloseCircle, IconConvertFilePdf, IconDelete, IconDotsVerticalCircleOutline, IconDownload, IconEdit, IconExportTo, IconFileDots, IconHide, IconInfo, IconPlatform, IconPreview, IconRelation, IconSearch, IconShow, IconSignature, IconStar, IconSubstFile, IconUndo, IconUserGroupOutline, SDKUI_Localizator, svgToString } from '../../../helper';
|
|
3
|
+
import { IconActivity, IconArchiveDoc, IconBatchUpdate, IconCheckFile, IconCheckIn, IconCircleInfo, IconCloseCircle, IconConvertFilePdf, IconDelete, IconDotsVerticalCircleOutline, IconDownload, IconEdit, IconExportTo, IconFileDots, IconHide, IconInfo, IconMenuCAArchive, IconPlatform, IconPreview, IconRelation, IconSearch, IconShow, IconSignature, IconStar, IconSubstFile, IconUndo, IconUserGroupOutline, SDKUI_Localizator, svgToString } from '../../../helper';
|
|
4
4
|
import ShowAlert from '../../base/TMAlert';
|
|
5
5
|
import { TMMessageBoxManager, ButtonNames, TMExceptionBoxManager } from '../../base/TMPopUp';
|
|
6
6
|
import TMSpinner from '../../base/TMSpinner';
|
|
@@ -75,7 +75,7 @@ export const signatureInformationCallback = async (isMobile, inputDcmts) => {
|
|
|
75
75
|
TMExceptionBoxManager.show({ exception: error });
|
|
76
76
|
}
|
|
77
77
|
};
|
|
78
|
-
export const getCommandsMenuItems = (isMobile, dtd, selectedItems, focusedItem, context, showFloatingBar, workingGroupContext, showSearch, setShowFloatingBar, openFormHandler, downloadDcmtsAsync, runOperationAsync, onRefreshSearchAsync, onRefreshDataRowsAsync, onRefreshAfterAddDcmtToFavs, confirmFormat, confirmAttachments, openTaskFormHandler, openDetailDcmtsFormHandler, openMasterDcmtsFormHandler, openBatchUpdateFormHandler, openExportForm, handleToggleSearch, handleSignApprove, openWGsCopyMoveForm, openCommentFormCallback, openEditPdf, openAddDocumentForm) => {
|
|
78
|
+
export const getCommandsMenuItems = (isMobile, dtd, selectedItems, focusedItem, context, showFloatingBar, workingGroupContext, showSearch, setShowFloatingBar, openFormHandler, downloadDcmtsAsync, runOperationAsync, onRefreshSearchAsync, onRefreshDataRowsAsync, onRefreshAfterAddDcmtToFavs, confirmFormat, confirmAttachments, openTaskFormHandler, openDetailDcmtsFormHandler, openMasterDcmtsFormHandler, openBatchUpdateFormHandler, openExportForm, handleToggleSearch, handleSignApprove, openWGsCopyMoveForm, openCommentFormCallback, openEditPdf, openAddDocumentForm, passToArchiveCallback) => {
|
|
79
79
|
const addToFavoriteMenuItem = () => {
|
|
80
80
|
return {
|
|
81
81
|
icon: svgToString(_jsx(IconStar, {})),
|
|
@@ -208,6 +208,15 @@ export const getCommandsMenuItems = (isMobile, dtd, selectedItems, focusedItem,
|
|
|
208
208
|
onClick: () => openBatchUpdateFormHandler?.(true)
|
|
209
209
|
};
|
|
210
210
|
};
|
|
211
|
+
const passToArchive = () => {
|
|
212
|
+
return {
|
|
213
|
+
icon: svgToString(_jsx(IconMenuCAArchive, { fontSize: 24 })),
|
|
214
|
+
text: SDKUI_Localizator.PassToArchive,
|
|
215
|
+
operationType: 'singleRow',
|
|
216
|
+
disabled: disabledForSingleRow(selectedItems, focusedItem),
|
|
217
|
+
onClick: async () => { passToArchiveCallback && passToArchiveCallback(); }
|
|
218
|
+
};
|
|
219
|
+
};
|
|
211
220
|
const pdfEditorMenuItem = (openEditPdfCallback) => {
|
|
212
221
|
return {
|
|
213
222
|
icon: svgToString(_jsx(IconEdit, {})),
|
|
@@ -572,6 +581,7 @@ export const getCommandsMenuItems = (isMobile, dtd, selectedItems, focusedItem,
|
|
|
572
581
|
downloadXMLAttachmentsMenuItem(),
|
|
573
582
|
duplicateDocumentMenuItem(),
|
|
574
583
|
batchUpdateMenuItem(),
|
|
584
|
+
passToArchive(),
|
|
575
585
|
...((openEditPdf && getSelectedDcmtsOrFocused(selectedItems, focusedItem)?.[0]?.FILEEXT?.toLowerCase() === "pdf") ? [pdfEditorMenuItem(openEditPdf)] : []),
|
|
576
586
|
]
|
|
577
587
|
},
|
|
@@ -201,70 +201,70 @@ const TMTreeSelector = ({ layoutMode = LayoutModes.Update, isVisible, onSelected
|
|
|
201
201
|
: _jsx("div", { style: { display: 'flex', flexDirection: 'column', alignItems: 'center', justifyContent: 'center', height: '100%', width: '100%', fontSize: '1.5rem' }, children: SDKUI_Localizator.TreesNoAvailable }) }));
|
|
202
202
|
};
|
|
203
203
|
export default TMTreeSelector;
|
|
204
|
-
const StyledTreeListWrapper = styled.div `
|
|
205
|
-
width: 100%;
|
|
206
|
-
height: 100%;
|
|
207
|
-
min-height: 0;
|
|
208
|
-
flex: 1;
|
|
209
|
-
display: flex;
|
|
210
|
-
flex-direction: column;
|
|
211
|
-
|
|
212
|
-
.dx-treelist,
|
|
213
|
-
.dx-treelist-rowsview,
|
|
214
|
-
.dx-scrollable,
|
|
215
|
-
.dx-scrollable-wrapper,
|
|
216
|
-
.dx-scrollable-container,
|
|
217
|
-
.dx-scrollable-content {
|
|
218
|
-
height: 100% !important;
|
|
219
|
-
min-height: 0 !important;
|
|
220
|
-
max-height: 100% !important;
|
|
221
|
-
box-sizing: border-box;
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
.dx-scrollable-scrollbar.dx-scrollbar-vertical {
|
|
225
|
-
/* Mostra solo quando serve */
|
|
226
|
-
opacity: 1 !important;
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
.dx-scrollable-scrollbar.dx-scrollbar-horizontal {
|
|
230
|
-
display: none !important;
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
.dx-treelist-container>.dx-treelist-headers,
|
|
234
|
-
.dx-treelist-container>.dx-treelist-rowsview {
|
|
235
|
-
background-color: transparent;
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
.dx-treelist-rowsview .dx-treelist-empty-space {
|
|
239
|
-
position: relative;
|
|
240
|
-
top: 4px;
|
|
241
|
-
display: inline-block;
|
|
242
|
-
width: 16px;
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
.dx-row > td {
|
|
246
|
-
padding: 10px 4px;
|
|
247
|
-
font-size: 1rem;
|
|
248
|
-
white-space: nowrap;
|
|
249
|
-
overflow: hidden;
|
|
250
|
-
text-overflow: ellipsis;
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
.dx-selection td {
|
|
254
|
-
background: oklch(from var(--dx-color-primary) l c h / .2) !important;
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
.dx-data-row:hover {
|
|
258
|
-
cursor: pointer;
|
|
259
|
-
background: linear-gradient(
|
|
260
|
-
270deg,
|
|
261
|
-
rgba(70, 181, 162, 0.15) 16%,
|
|
262
|
-
rgba(59, 170, 188, 0.15) 34%,
|
|
263
|
-
rgba(59, 170, 188, 0.15) 34%,
|
|
264
|
-
rgba(54, 129, 173, 0.15) 54%,
|
|
265
|
-
rgba(51, 104, 165, 0.15) 72%,
|
|
266
|
-
rgba(47, 84, 157, 0.15) 88%,
|
|
267
|
-
rgba(48, 79, 153, 0.15) 100%
|
|
268
|
-
);
|
|
269
|
-
}
|
|
204
|
+
const StyledTreeListWrapper = styled.div `
|
|
205
|
+
width: 100%;
|
|
206
|
+
height: 100%;
|
|
207
|
+
min-height: 0;
|
|
208
|
+
flex: 1;
|
|
209
|
+
display: flex;
|
|
210
|
+
flex-direction: column;
|
|
211
|
+
|
|
212
|
+
.dx-treelist,
|
|
213
|
+
.dx-treelist-rowsview,
|
|
214
|
+
.dx-scrollable,
|
|
215
|
+
.dx-scrollable-wrapper,
|
|
216
|
+
.dx-scrollable-container,
|
|
217
|
+
.dx-scrollable-content {
|
|
218
|
+
height: 100% !important;
|
|
219
|
+
min-height: 0 !important;
|
|
220
|
+
max-height: 100% !important;
|
|
221
|
+
box-sizing: border-box;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
.dx-scrollable-scrollbar.dx-scrollbar-vertical {
|
|
225
|
+
/* Mostra solo quando serve */
|
|
226
|
+
opacity: 1 !important;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
.dx-scrollable-scrollbar.dx-scrollbar-horizontal {
|
|
230
|
+
display: none !important;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
.dx-treelist-container>.dx-treelist-headers,
|
|
234
|
+
.dx-treelist-container>.dx-treelist-rowsview {
|
|
235
|
+
background-color: transparent;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
.dx-treelist-rowsview .dx-treelist-empty-space {
|
|
239
|
+
position: relative;
|
|
240
|
+
top: 4px;
|
|
241
|
+
display: inline-block;
|
|
242
|
+
width: 16px;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
.dx-row > td {
|
|
246
|
+
padding: 10px 4px;
|
|
247
|
+
font-size: 1rem;
|
|
248
|
+
white-space: nowrap;
|
|
249
|
+
overflow: hidden;
|
|
250
|
+
text-overflow: ellipsis;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
.dx-selection td {
|
|
254
|
+
background: oklch(from var(--dx-color-primary) l c h / .2) !important;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
.dx-data-row:hover {
|
|
258
|
+
cursor: pointer;
|
|
259
|
+
background: linear-gradient(
|
|
260
|
+
270deg,
|
|
261
|
+
rgba(70, 181, 162, 0.15) 16%,
|
|
262
|
+
rgba(59, 170, 188, 0.15) 34%,
|
|
263
|
+
rgba(59, 170, 188, 0.15) 34%,
|
|
264
|
+
rgba(54, 129, 173, 0.15) 54%,
|
|
265
|
+
rgba(51, 104, 165, 0.15) 72%,
|
|
266
|
+
rgba(47, 84, 157, 0.15) 88%,
|
|
267
|
+
rgba(48, 79, 153, 0.15) 100%
|
|
268
|
+
);
|
|
269
|
+
}
|
|
270
270
|
`;
|
|
@@ -419,15 +419,15 @@ const TMWGsCopyMoveForm = (props) => {
|
|
|
419
419
|
}, children: SDKUI_Localizator.Cancel })] })] }) });
|
|
420
420
|
};
|
|
421
421
|
export default TMWGsCopyMoveForm;
|
|
422
|
-
const StepSpan = styled.span `
|
|
423
|
-
color: ${({ $isCurrent, $isPast }) => ($isCurrent ? TMColors.primary : $isPast ? '#555' : '#888')};
|
|
424
|
-
font-weight: ${({ $isCurrent }) => ($isCurrent ? 600 : 400)};
|
|
425
|
-
cursor: ${({ $isPast }) => ($isPast ? 'pointer' : 'default')};
|
|
426
|
-
transition: color 0.3s ease;
|
|
427
|
-
&:hover {
|
|
428
|
-
color: ${({ $isPast }) => ($isPast ? '#007bff' : undefined)};
|
|
429
|
-
text-decoration: ${({ $isPast }) => ($isPast ? 'underline' : 'none')};
|
|
430
|
-
}
|
|
422
|
+
const StepSpan = styled.span `
|
|
423
|
+
color: ${({ $isCurrent, $isPast }) => ($isCurrent ? TMColors.primary : $isPast ? '#555' : '#888')};
|
|
424
|
+
font-weight: ${({ $isCurrent }) => ($isCurrent ? 600 : 400)};
|
|
425
|
+
cursor: ${({ $isPast }) => ($isPast ? 'pointer' : 'default')};
|
|
426
|
+
transition: color 0.3s ease;
|
|
427
|
+
&:hover {
|
|
428
|
+
color: ${({ $isPast }) => ($isPast ? '#007bff' : undefined)};
|
|
429
|
+
text-decoration: ${({ $isPast }) => ($isPast ? 'underline' : 'none')};
|
|
430
|
+
}
|
|
431
431
|
`;
|
|
432
432
|
export const TMStepNavigator = (props) => {
|
|
433
433
|
const { steps, currentStep, onStepChange } = props;
|
|
@@ -15,55 +15,55 @@ import TMTextArea from "../../editors/TMTextArea";
|
|
|
15
15
|
import TMDropDown from "../../editors/TMDropDown";
|
|
16
16
|
import TMDateBox from "../../editors/TMDateBox";
|
|
17
17
|
import ShowAlert from "../../base/TMAlert";
|
|
18
|
-
const StyledWorkFlowOperationButtonsContainer = styled.div `
|
|
19
|
-
display: flex;
|
|
20
|
-
align-items: center;
|
|
21
|
-
gap: 10px;
|
|
22
|
-
flex-direction: column;
|
|
18
|
+
const StyledWorkFlowOperationButtonsContainer = styled.div `
|
|
19
|
+
display: flex;
|
|
20
|
+
align-items: center;
|
|
21
|
+
gap: 10px;
|
|
22
|
+
flex-direction: column;
|
|
23
23
|
`;
|
|
24
24
|
const StyledTextArea = styled.textarea.attrs({
|
|
25
25
|
maxLength: 200
|
|
26
|
-
}) `
|
|
27
|
-
width: 100%;
|
|
28
|
-
height: 100%;
|
|
29
|
-
border: 1px solid ${props => props.$isValid ? '#b4b4b4' : TMColors.error};
|
|
30
|
-
border-radius: 10px;
|
|
31
|
-
padding: 10px;
|
|
32
|
-
&:focus{
|
|
33
|
-
outline: none;
|
|
34
|
-
border-bottom: 4px solid ${props => props.$isValid ? TMColors.primaryColor : TMColors.error};
|
|
35
|
-
}
|
|
26
|
+
}) `
|
|
27
|
+
width: 100%;
|
|
28
|
+
height: 100%;
|
|
29
|
+
border: 1px solid ${props => props.$isValid ? '#b4b4b4' : TMColors.error};
|
|
30
|
+
border-radius: 10px;
|
|
31
|
+
padding: 10px;
|
|
32
|
+
&:focus{
|
|
33
|
+
outline: none;
|
|
34
|
+
border-bottom: 4px solid ${props => props.$isValid ? TMColors.primaryColor : TMColors.error};
|
|
35
|
+
}
|
|
36
36
|
`;
|
|
37
|
-
const CharacterCounter = styled.div `
|
|
38
|
-
text-align: right;
|
|
39
|
-
font-size: 0.8rem;
|
|
40
|
-
color: #6c757d;
|
|
41
|
-
margin-top: 2px;
|
|
37
|
+
const CharacterCounter = styled.div `
|
|
38
|
+
text-align: right;
|
|
39
|
+
font-size: 0.8rem;
|
|
40
|
+
color: #6c757d;
|
|
41
|
+
margin-top: 2px;
|
|
42
42
|
`;
|
|
43
|
-
const StyledModalBodyWrapper = styled.div `
|
|
44
|
-
display: flex;
|
|
45
|
-
flex-direction: column;
|
|
46
|
-
height: 100%;
|
|
43
|
+
const StyledModalBodyWrapper = styled.div `
|
|
44
|
+
display: flex;
|
|
45
|
+
flex-direction: column;
|
|
46
|
+
height: 100%;
|
|
47
47
|
`;
|
|
48
|
-
const StyledModalFooter = styled.div `
|
|
49
|
-
padding: 16px 0 12px 0;
|
|
50
|
-
height: 60px;
|
|
51
|
-
display: flex;
|
|
52
|
-
justify-content: center;
|
|
48
|
+
const StyledModalFooter = styled.div `
|
|
49
|
+
padding: 16px 0 12px 0;
|
|
50
|
+
height: 60px;
|
|
51
|
+
display: flex;
|
|
52
|
+
justify-content: center;
|
|
53
53
|
`;
|
|
54
|
-
const StyledModalContentContainer = styled.div `
|
|
55
|
-
width: 100%;
|
|
56
|
-
padding: 10px;
|
|
57
|
-
flex: 1; /* Questo fa sì che prenda tutto lo spazio verticale disponibile */
|
|
58
|
-
overflow-y: auto;
|
|
59
|
-
display: flex;
|
|
60
|
-
flex-direction: column;
|
|
61
|
-
gap: 5px;
|
|
54
|
+
const StyledModalContentContainer = styled.div `
|
|
55
|
+
width: 100%;
|
|
56
|
+
padding: 10px;
|
|
57
|
+
flex: 1; /* Questo fa sì che prenda tutto lo spazio verticale disponibile */
|
|
58
|
+
overflow-y: auto;
|
|
59
|
+
display: flex;
|
|
60
|
+
flex-direction: column;
|
|
61
|
+
gap: 5px;
|
|
62
62
|
`;
|
|
63
|
-
const StyledHorizontalContainer = styled.div `
|
|
64
|
-
display: flex;
|
|
65
|
-
gap: 10px;
|
|
66
|
-
/* align-items: flex-end; */
|
|
63
|
+
const StyledHorizontalContainer = styled.div `
|
|
64
|
+
display: flex;
|
|
65
|
+
gap: 10px;
|
|
66
|
+
/* align-items: flex-end; */
|
|
67
67
|
`;
|
|
68
68
|
export const WorkFlowOperationButtons = ({ deviceType = DeviceType.DESKTOP, approveDisable = false, signApproveDisable = false, reassignDisable = false, rejectDisable = false, infoDisable = false, onApprove, onSignApprove, onReAssign, onReject, onMoreInfo }) => {
|
|
69
69
|
const isMobile = deviceType === DeviceType.MOBILE;
|
|
@@ -3,39 +3,39 @@ import React, { useCallback } from 'react';
|
|
|
3
3
|
import { ArrowSymbol } from './interfaces';
|
|
4
4
|
import styled, { css } from 'styled-components';
|
|
5
5
|
import { getConnectionColor } from './workflowHelpers';
|
|
6
|
-
const StyledPath = styled.path ` // Aggiungi $isTemporary
|
|
7
|
-
fill: none;
|
|
8
|
-
stroke: ${props => getConnectionColor(props.$outputStatus)};
|
|
9
|
-
stroke-width: ${props => props.$isSelected ? 3 : 1};
|
|
10
|
-
cursor: pointer;
|
|
11
|
-
transition: stroke-width 0.1s ease-in-out;
|
|
12
|
-
pointer-events: stroke;
|
|
13
|
-
|
|
14
|
-
${props => props.$isTemporary && css `
|
|
15
|
-
stroke: #888;
|
|
16
|
-
stroke-dasharray: 5 5;
|
|
17
|
-
opacity: 0.5;
|
|
18
|
-
`}
|
|
6
|
+
const StyledPath = styled.path ` // Aggiungi $isTemporary
|
|
7
|
+
fill: none;
|
|
8
|
+
stroke: ${props => getConnectionColor(props.$outputStatus)};
|
|
9
|
+
stroke-width: ${props => props.$isSelected ? 3 : 1};
|
|
10
|
+
cursor: pointer;
|
|
11
|
+
transition: stroke-width 0.1s ease-in-out;
|
|
12
|
+
pointer-events: stroke;
|
|
13
|
+
|
|
14
|
+
${props => props.$isTemporary && css `
|
|
15
|
+
stroke: #888;
|
|
16
|
+
stroke-dasharray: 5 5;
|
|
17
|
+
opacity: 0.5;
|
|
18
|
+
`}
|
|
19
19
|
`;
|
|
20
20
|
// Path invisibile e più spesso per migliorare l'area di click
|
|
21
|
-
const StyledPathHitArea = styled.path `
|
|
22
|
-
fill: none;
|
|
23
|
-
stroke: transparent;
|
|
24
|
-
stroke-width: 10;
|
|
25
|
-
cursor: pointer;
|
|
26
|
-
pointer-events: stroke;
|
|
21
|
+
const StyledPathHitArea = styled.path `
|
|
22
|
+
fill: none;
|
|
23
|
+
stroke: transparent;
|
|
24
|
+
stroke-width: 10;
|
|
25
|
+
cursor: pointer;
|
|
26
|
+
pointer-events: stroke;
|
|
27
27
|
`;
|
|
28
|
-
const StyledArrow = styled.path `
|
|
29
|
-
fill: ${props => props.$color};
|
|
30
|
-
stroke: ${props => props.$color};
|
|
31
|
-
stroke-width: 1;
|
|
32
|
-
pointer-events: none;
|
|
28
|
+
const StyledArrow = styled.path `
|
|
29
|
+
fill: ${props => props.$color};
|
|
30
|
+
stroke: ${props => props.$color};
|
|
31
|
+
stroke-width: 1;
|
|
32
|
+
pointer-events: none;
|
|
33
33
|
`;
|
|
34
|
-
const StyledSquareConnector = styled.rect `
|
|
35
|
-
fill: #007bff;
|
|
36
|
-
stroke: #007bff;
|
|
37
|
-
stroke-width: 1;
|
|
38
|
-
pointer-events: all;
|
|
34
|
+
const StyledSquareConnector = styled.rect `
|
|
35
|
+
fill: #007bff;
|
|
36
|
+
stroke: #007bff;
|
|
37
|
+
stroke-width: 1;
|
|
38
|
+
pointer-events: all;
|
|
39
39
|
`;
|
|
40
40
|
const ConnectionComponent = ({ connection, isSelected, sourcePoint, sinkPoint, isTemporary, onClick, onDoubleClick, onConnectionEndpointMouseDown }) => {
|
|
41
41
|
const connectionColor = getConnectionColor(connection.OutputStatus);
|
|
@@ -7,17 +7,17 @@ import TMModal from '../../../base/TMModal';
|
|
|
7
7
|
import { TMColors } from '../../../../utils/theme';
|
|
8
8
|
import { CultureIDs, WorkItemStatus } from '@topconsultnpm/sdk-ts-beta';
|
|
9
9
|
import TMLocalizedTextBox from '../../../editors/TMLocalizedTextBox';
|
|
10
|
-
const FormContainer = styled.div `
|
|
11
|
-
display: flex;
|
|
12
|
-
flex-direction: column;
|
|
13
|
-
gap: 5px;
|
|
14
|
-
padding: 10px;
|
|
10
|
+
const FormContainer = styled.div `
|
|
11
|
+
display: flex;
|
|
12
|
+
flex-direction: column;
|
|
13
|
+
gap: 5px;
|
|
14
|
+
padding: 10px;
|
|
15
15
|
`;
|
|
16
|
-
const ModalFooter = styled.div `
|
|
17
|
-
display: flex;
|
|
18
|
-
justify-content: flex-end;
|
|
19
|
-
gap: 10px;
|
|
20
|
-
margin-top: 20px;
|
|
16
|
+
const ModalFooter = styled.div `
|
|
17
|
+
display: flex;
|
|
18
|
+
justify-content: flex-end;
|
|
19
|
+
gap: 10px;
|
|
20
|
+
margin-top: 20px;
|
|
21
21
|
`;
|
|
22
22
|
const WORKITEMSTATUS_DATASOURCE = [
|
|
23
23
|
{ value: WorkItemStatus.New, display: SDKUI_Localizator.WorkItemStatus_New },
|