@topconsultnpm/sdkui-react 6.20.0-dev1.11 → 6.20.0-dev1.111
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/Toppy-help-center.png +0 -0
- package/lib/assets/headergradient.svg +87 -0
- package/lib/components/NewComponents/ContextMenu/TMContextMenu.js +285 -28
- package/lib/components/NewComponents/ContextMenu/hooks.d.ts +8 -1
- package/lib/components/NewComponents/ContextMenu/hooks.js +80 -8
- package/lib/components/NewComponents/ContextMenu/index.d.ts +3 -0
- package/lib/components/NewComponents/ContextMenu/index.js +2 -0
- package/lib/components/NewComponents/ContextMenu/styles.d.ts +9 -1
- package/lib/components/NewComponents/ContextMenu/styles.js +157 -37
- package/lib/components/NewComponents/ContextMenu/types.d.ts +14 -1
- package/lib/components/NewComponents/ContextMenu/useLongPress.d.ts +21 -0
- package/lib/components/NewComponents/ContextMenu/useLongPress.js +112 -0
- package/lib/components/NewComponents/FloatingMenuBar/TMFloatingMenuBar.js +563 -112
- package/lib/components/NewComponents/FloatingMenuBar/styles.d.ts +21 -5
- package/lib/components/NewComponents/FloatingMenuBar/styles.js +210 -58
- package/lib/components/NewComponents/FloatingMenuBar/types.d.ts +8 -2
- package/lib/components/base/TMAccordionNew.js +35 -14
- package/lib/components/base/TMCustomButton.js +61 -17
- package/lib/components/base/TMDataGrid.d.ts +7 -4
- package/lib/components/base/TMDataGrid.js +153 -11
- package/lib/components/base/TMDropDownMenu.js +19 -18
- package/lib/components/base/TMFileManager.d.ts +4 -3
- package/lib/components/base/TMFileManager.js +32 -24
- package/lib/components/base/TMFileManagerDataGridView.d.ts +3 -2
- package/lib/components/base/TMFileManagerDataGridView.js +1 -11
- package/lib/components/base/TMFileManagerThumbnailItems.d.ts +7 -1
- package/lib/components/base/TMFileManagerThumbnailItems.js +5 -2
- package/lib/components/base/TMFileManagerThumbnailsView.d.ts +17 -4
- package/lib/components/base/TMFileManagerThumbnailsView.js +18 -6
- package/lib/components/base/TMFileManagerUtils.d.ts +0 -12
- package/lib/components/base/TMListView.js +33 -15
- package/lib/components/base/TMPanel.d.ts +1 -1
- package/lib/components/base/TMPanel.js +1 -1
- package/lib/components/base/TMTreeView.d.ts +2 -1
- package/lib/components/base/TMTreeView.js +33 -26
- package/lib/components/choosers/TMDistinctValues.js +2 -2
- package/lib/components/choosers/TMInvoiceRetrieveFormats.js +1 -1
- package/lib/components/choosers/TMMetadataChooser.js +8 -1
- package/lib/components/choosers/TMOrderRetrieveFormats.js +1 -1
- package/lib/components/choosers/TMUserChooser.d.ts +0 -5
- package/lib/components/choosers/TMUserChooser.js +25 -45
- package/lib/components/editors/TMDateBox.js +18 -9
- package/lib/components/editors/TMLocalizedTextBox.d.ts +3 -1
- package/lib/components/editors/TMLocalizedTextBox.js +16 -14
- package/lib/components/editors/TMMetadataTextBox.d.ts +9 -0
- package/lib/components/editors/TMMetadataTextBox.js +92 -0
- package/lib/components/editors/TMMetadataValues.js +23 -5
- package/lib/components/editors/TMTextArea.js +18 -30
- package/lib/components/editors/TMTextBox.d.ts +1 -1
- package/lib/components/editors/TMTextBox.js +6 -3
- package/lib/components/editors/TMTextExpression.js +6 -91
- package/lib/components/features/archive/TMArchive.js +2 -2
- package/lib/components/features/assistant/TMToppyDraggableHelpCenter.d.ts +15 -0
- package/lib/components/features/assistant/TMToppyDraggableHelpCenter.js +460 -0
- package/lib/components/features/assistant/TMToppySpeechBubble.d.ts +11 -0
- package/lib/components/features/assistant/TMToppySpeechBubble.js +126 -0
- package/lib/components/features/documents/TMDcmtForm.d.ts +14 -2
- package/lib/components/features/documents/TMDcmtForm.js +457 -206
- package/lib/components/features/documents/TMDcmtPreview.js +44 -110
- package/lib/components/features/documents/TMDcmtTasks.js +9 -9
- package/lib/components/features/documents/TMMasterDetailDcmts.js +38 -53
- package/lib/components/features/documents/TMRelationViewer.d.ts +1 -1
- package/lib/components/features/documents/TMRelationViewer.js +2 -2
- package/lib/components/features/search/TMDcmtCheckoutInfoForm.d.ts +8 -0
- package/lib/components/features/search/{TMSearchResultCheckoutInfoForm.js → TMDcmtCheckoutInfoForm.js} +2 -2
- package/lib/components/features/search/TMSavedQuerySelector.js +72 -67
- package/lib/components/features/search/TMSearch.d.ts +3 -0
- package/lib/components/features/search/TMSearch.js +50 -11
- package/lib/components/features/search/TMSearchQueryPanel.d.ts +1 -0
- package/lib/components/features/search/TMSearchQueryPanel.js +29 -21
- package/lib/components/features/search/TMSearchResult.d.ts +3 -0
- package/lib/components/features/search/TMSearchResult.js +208 -250
- package/lib/components/features/search/TMSearchResultsMenuItems.d.ts +3 -3
- package/lib/components/features/search/TMSearchResultsMenuItems.js +205 -169
- package/lib/components/features/search/TMSignSettingsForm.js +1 -1
- package/lib/components/features/search/TMSignatureInfoContent.d.ts +6 -0
- package/lib/components/features/search/TMSignatureInfoContent.js +140 -0
- package/lib/components/features/search/TMViewHistoryDcmt.js +2 -2
- package/lib/components/features/tasks/TMTaskForm.js +20 -1
- package/lib/components/features/tasks/TMTasksAgenda.d.ts +3 -1
- package/lib/components/features/tasks/TMTasksAgenda.js +48 -9
- package/lib/components/features/tasks/TMTasksCalendar.d.ts +2 -0
- package/lib/components/features/tasks/TMTasksCalendar.js +19 -7
- package/lib/components/features/tasks/TMTasksUtils.d.ts +2 -2
- package/lib/components/features/tasks/TMTasksUtils.js +43 -36
- package/lib/components/features/tasks/TMTasksView.js +28 -19
- package/lib/components/features/workflow/TMWorkflowPopup.d.ts +33 -2
- package/lib/components/features/workflow/TMWorkflowPopup.js +139 -34
- package/lib/components/features/workflow/diagram/DiagramItemComponent.d.ts +2 -0
- package/lib/components/features/workflow/diagram/DiagramItemComponent.js +12 -7
- package/lib/components/features/workflow/diagram/DiagramItemForm.js +1 -1
- package/lib/components/features/workflow/diagram/RecipientList.js +3 -2
- package/lib/components/features/workflow/diagram/WFDiagram.d.ts +4 -0
- package/lib/components/features/workflow/diagram/WFDiagram.js +164 -13
- package/lib/components/forms/Login/LoginValidatorService.d.ts +2 -0
- package/lib/components/forms/Login/LoginValidatorService.js +7 -2
- package/lib/components/forms/Login/TMLoginForm.js +34 -6
- package/lib/components/forms/TMChooserForm.js +1 -1
- package/lib/components/grids/TMBlogsPost.js +56 -31
- package/lib/components/grids/TMRecentsManager.js +20 -10
- package/lib/components/index.d.ts +6 -3
- package/lib/components/index.js +6 -3
- package/lib/components/query/TMQueryEditor.d.ts +2 -1
- package/lib/components/query/TMQueryEditor.js +92 -92
- package/lib/components/settings/SettingsAppearance.d.ts +2 -1
- package/lib/components/settings/SettingsAppearance.js +99 -30
- package/lib/components/sidebar/TMHeader.js +7 -7
- package/lib/components/sidebar/TMSidebar.d.ts +0 -1
- package/lib/components/sidebar/TMSidebar.js +16 -44
- package/lib/components/sidebar/TMSidebarItem.js +34 -17
- package/lib/components/viewers/TMDataListItemViewer.d.ts +2 -1
- package/lib/components/viewers/TMDataListItemViewer.js +35 -71
- package/lib/components/viewers/TMDataUserIdItemViewer.d.ts +8 -0
- package/lib/components/viewers/TMDataUserIdItemViewer.js +39 -0
- package/lib/css/tm-sdkui.css +1 -1
- package/lib/helper/SDKUI_Globals.d.ts +22 -0
- package/lib/helper/SDKUI_Globals.js +10 -1
- package/lib/helper/SDKUI_Localizator.d.ts +17 -1
- package/lib/helper/SDKUI_Localizator.js +167 -1
- package/lib/helper/TMCommandsContextMenu.d.ts +4 -2
- package/lib/helper/TMCommandsContextMenu.js +15 -4
- package/lib/helper/TMIcons.d.ts +4 -0
- package/lib/helper/TMIcons.js +13 -3
- package/lib/helper/TMPdfViewer.d.ts +8 -0
- package/lib/helper/TMPdfViewer.js +373 -0
- package/lib/helper/checkinCheckoutManager.d.ts +31 -1
- package/lib/helper/checkinCheckoutManager.js +112 -30
- package/lib/helper/devextremeCustomMessages.d.ts +30 -0
- package/lib/helper/devextremeCustomMessages.js +30 -0
- package/lib/helper/helpers.d.ts +28 -1
- package/lib/helper/helpers.js +130 -3
- package/lib/helper/index.d.ts +2 -0
- package/lib/helper/index.js +2 -0
- package/lib/helper/queryHelper.d.ts +1 -1
- package/lib/helper/queryHelper.js +33 -3
- package/lib/helper/workItemsHelper.d.ts +6 -0
- package/lib/helper/workItemsHelper.js +230 -0
- package/lib/hooks/useCheckInOutOperations.d.ts +28 -0
- package/lib/hooks/useCheckInOutOperations.js +223 -0
- package/lib/hooks/useDataListItem.d.ts +12 -0
- package/lib/hooks/useDataListItem.js +132 -0
- package/lib/hooks/useDataUserIdItem.d.ts +10 -0
- package/lib/hooks/useDataUserIdItem.js +96 -0
- package/lib/hooks/useMetadataExpression.d.ts +19 -0
- package/lib/hooks/useMetadataExpression.js +99 -0
- package/lib/hooks/useSettingsFeedback.d.ts +11 -0
- package/lib/hooks/useSettingsFeedback.js +38 -0
- package/lib/hooks/useWorkflowApprove.d.ts +4 -0
- package/lib/hooks/useWorkflowApprove.js +14 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +3 -2
- package/lib/services/platform_services.d.ts +3 -3
- package/lib/ts/types.d.ts +61 -1
- package/lib/utils/theme.d.ts +1 -1
- package/lib/utils/theme.js +1 -1
- package/package.json +7 -4
- package/lib/components/NewComponents/Notification/Notification.d.ts +0 -4
- package/lib/components/NewComponents/Notification/Notification.js +0 -60
- package/lib/components/NewComponents/Notification/NotificationContainer.d.ts +0 -8
- package/lib/components/NewComponents/Notification/NotificationContainer.js +0 -33
- package/lib/components/NewComponents/Notification/index.d.ts +0 -2
- package/lib/components/NewComponents/Notification/index.js +0 -2
- package/lib/components/NewComponents/Notification/styles.d.ts +0 -21
- package/lib/components/NewComponents/Notification/styles.js +0 -180
- package/lib/components/NewComponents/Notification/types.d.ts +0 -18
- package/lib/components/NewComponents/Notification/types.js +0 -1
- package/lib/components/base/TMContextMenu.d.ts +0 -25
- package/lib/components/base/TMContextMenu.js +0 -109
- package/lib/components/base/TMContextMenuOLD.d.ts +0 -26
- package/lib/components/base/TMContextMenuOLD.js +0 -56
- package/lib/components/base/TMFloatingToolbar.d.ts +0 -9
- package/lib/components/base/TMFloatingToolbar.js +0 -101
- package/lib/components/features/assistant/ToppyDraggableHelpCenter.d.ts +0 -30
- package/lib/components/features/assistant/ToppyDraggableHelpCenter.js +0 -482
- package/lib/components/features/assistant/ToppySpeechBubble.d.ts +0 -9
- package/lib/components/features/assistant/ToppySpeechBubble.js +0 -117
- package/lib/components/features/search/TMSearchResultCheckoutInfoForm.d.ts +0 -8
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import React, { useCallback, useEffect, useRef, useState } from "react";
|
|
3
|
-
import { DossierEngine, LayoutModes, ResultTypes, SDK_Globals, TaskDescriptor, WorkingGroupEngine } from "@topconsultnpm/sdk-ts";
|
|
4
|
-
import { ContextMenu } from "
|
|
5
|
-
import { SDKUI_Localizator, Globalization, getExceptionMessage, TMConditionalWrapper, calcResponsiveSizes } from "../../helper";
|
|
3
|
+
import { DossierEngine, LayoutModes, ObjectClasses, ResultTypes, SDK_Globals, TaskDescriptor, WorkingGroupEngine } from "@topconsultnpm/sdk-ts";
|
|
4
|
+
import { ContextMenu as TMContextMenu } from "../NewComponents/ContextMenu";
|
|
5
|
+
import { SDKUI_Localizator, Globalization, getExceptionMessage, TMConditionalWrapper, calcResponsiveSizes, getMoreInfoTasksForDocument } from "../../helper";
|
|
6
6
|
import TMToppyMessage from "../../helper/TMToppyMessage";
|
|
7
7
|
import { useDcmtOperations } from "../../hooks/useDcmtOperations";
|
|
8
8
|
import { DownloadTypes, FormModes } from "../../ts";
|
|
@@ -68,7 +68,8 @@ const TMBlogsPost = (props) => {
|
|
|
68
68
|
const [showTaskForm, setShowTaskForm] = useState(false);
|
|
69
69
|
// State to manage show selected file
|
|
70
70
|
const [dcmtForm, setDcmtForm] = useState({ show: false, dcmt: undefined });
|
|
71
|
-
const [
|
|
71
|
+
const [menuVisible, setMenuVisible] = useState(false);
|
|
72
|
+
const [menuPosition, setMenuPosition] = useState({ x: 0, y: 0 });
|
|
72
73
|
const [menuItems, setMenuItems] = useState([]);
|
|
73
74
|
const [localShowWaitPanel, setLocalShowWaitPanel] = useState(false);
|
|
74
75
|
const [localWaitPanelTitle, setLocalWaitPanelTitle] = useState('');
|
|
@@ -500,8 +501,8 @@ const TMBlogsPost = (props) => {
|
|
|
500
501
|
const classId = targetItem ? targetItem.classID : undefined;
|
|
501
502
|
if (contextMenuParams.isDownloadAttachmentEnabled && focusedAttachment !== undefined) {
|
|
502
503
|
menuItems.push({
|
|
503
|
-
icon: "download",
|
|
504
|
-
|
|
504
|
+
icon: _jsx("span", { className: "dx-icon-download" }),
|
|
505
|
+
name: 'Download',
|
|
505
506
|
onClick: async () => {
|
|
506
507
|
await downloadDcmtsAsync([
|
|
507
508
|
{ TID: focusedAttachment.TID, DID: focusedAttachment.DID, fileName: focusedAttachment.fileName }
|
|
@@ -511,26 +512,26 @@ const TMBlogsPost = (props) => {
|
|
|
511
512
|
}
|
|
512
513
|
if (contextMenuParams.isViewEditMetadata && focusedAttachment !== undefined) {
|
|
513
514
|
menuItems.push({
|
|
514
|
-
icon:
|
|
515
|
-
|
|
515
|
+
icon: _jsx("span", { className: "dx-icon-eyeopen" }),
|
|
516
|
+
name: SDKUI_Localizator.OpenForm,
|
|
516
517
|
onClick: () => openDcmtForm(focusedAttachment),
|
|
517
518
|
});
|
|
518
519
|
}
|
|
519
520
|
if (contextMenuParams.isCommentEnabled && showCommentFormCallback !== undefined) {
|
|
520
521
|
menuItems.push({
|
|
521
|
-
icon:
|
|
522
|
-
|
|
522
|
+
icon: _jsx("span", { className: "dx-icon-chat" }),
|
|
523
|
+
name: SDKUI_Localizator.Comment,
|
|
523
524
|
disabled: isGroupArchived ? true : false,
|
|
524
525
|
onClick: () => {
|
|
525
526
|
showCommentFormCallback(focusedAttachment);
|
|
526
527
|
},
|
|
527
|
-
beginGroup:
|
|
528
|
+
beginGroup: menuItems.length > 0
|
|
528
529
|
});
|
|
529
530
|
}
|
|
530
531
|
if (targetItem && contextMenuParams.isDeleteEnabled) {
|
|
531
532
|
menuItems.push({
|
|
532
|
-
icon: "trash",
|
|
533
|
-
|
|
533
|
+
icon: _jsx("span", { className: "dx-icon-trash" }),
|
|
534
|
+
name: SDKUI_Localizator.Delete,
|
|
534
535
|
visible: contextMenuParams.isDeleteEnabled,
|
|
535
536
|
onClick: () => deleteOrUndeleteCommentCallback(targetItem, true),
|
|
536
537
|
disabled: isNotOwner || isDeleted || isGroupArchived,
|
|
@@ -538,24 +539,24 @@ const TMBlogsPost = (props) => {
|
|
|
538
539
|
}
|
|
539
540
|
if (targetItem && contextMenuParams.isRestoreEnabled) {
|
|
540
541
|
menuItems.push({
|
|
541
|
-
icon: "undo",
|
|
542
|
-
|
|
542
|
+
icon: _jsx("span", { className: "dx-icon-undo" }),
|
|
543
|
+
name: SDKUI_Localizator.Restore,
|
|
543
544
|
onClick: () => deleteOrUndeleteCommentCallback(targetItem, false),
|
|
544
545
|
disabled: isNotOwner || (targetItem && (targetItem.isDel === undefined || targetItem.isDel === 0)),
|
|
545
546
|
});
|
|
546
547
|
}
|
|
547
548
|
if (targetItem && contextMenuParams.isCopyToClipboardEnabled) {
|
|
548
549
|
menuItems.push({
|
|
549
|
-
|
|
550
|
-
icon:
|
|
550
|
+
name: SDKUI_Localizator.CopyToClipboard,
|
|
551
|
+
icon: _jsx("span", { className: "dx-icon-copy" }),
|
|
551
552
|
disabled: false,
|
|
552
553
|
onClick: () => { copyInClipboard(targetItem); }
|
|
553
554
|
});
|
|
554
555
|
}
|
|
555
556
|
if (contextMenuParams.isCreateContextualTask) {
|
|
556
557
|
menuItems.push({
|
|
557
|
-
|
|
558
|
-
icon:
|
|
558
|
+
name: SDKUI_Localizator.CreateContextualTask,
|
|
559
|
+
icon: _jsx("span", { className: "dx-icon-plus" }),
|
|
559
560
|
onClick: () => openTaskFormCallback(targetItem),
|
|
560
561
|
disabled: isGroupArchived ? true : false,
|
|
561
562
|
beginGroup: true
|
|
@@ -563,15 +564,15 @@ const TMBlogsPost = (props) => {
|
|
|
563
564
|
}
|
|
564
565
|
if (targetItem && Boolean(classId && (classId === 'WG' || classId === 'DS'))) {
|
|
565
566
|
menuItems.push({
|
|
566
|
-
icon: "eyeclose",
|
|
567
|
-
|
|
567
|
+
icon: _jsx("span", { className: "dx-icon-eyeclose" }),
|
|
568
|
+
name: SDKUI_Localizator.Unfollow,
|
|
568
569
|
onClick: () => (targetItem && classId) && unFollowCallback(targetItem, classId),
|
|
569
570
|
});
|
|
570
571
|
}
|
|
571
572
|
if (contextMenuParams.isShowHideFilterEnabled) {
|
|
572
573
|
menuItems.push({
|
|
573
|
-
icon: isHeaderHidden ?
|
|
574
|
-
|
|
574
|
+
icon: _jsx("span", { className: isHeaderHidden ? "dx-icon-eyeopen" : "dx-icon-eyeclose" }),
|
|
575
|
+
name: isHeaderHidden ? SDKUI_Localizator.ShowFilters : SDKUI_Localizator.HideFilters,
|
|
575
576
|
onClick: toggleHeaderClick,
|
|
576
577
|
disabled: false,
|
|
577
578
|
beginGroup: true
|
|
@@ -579,23 +580,24 @@ const TMBlogsPost = (props) => {
|
|
|
579
580
|
}
|
|
580
581
|
if (contextMenuParams.isShowHideIDEnaled) {
|
|
581
582
|
menuItems.push({
|
|
582
|
-
icon: localShowId ?
|
|
583
|
+
icon: _jsx("span", { className: localShowId ? "dx-icon-eyeclose" : "dx-icon-eyeopen" }),
|
|
583
584
|
onClick: () => setLocalShowId(prevShowId => !prevShowId),
|
|
584
|
-
|
|
585
|
+
name: localShowId ? SDKUI_Localizator.ID_Hide : SDKUI_Localizator.ID_Show,
|
|
585
586
|
disabled: false,
|
|
586
587
|
});
|
|
587
588
|
}
|
|
588
589
|
if (contextMenuParams.isRefreshEnabled && refreshCallback !== undefined) {
|
|
589
590
|
menuItems.push({
|
|
590
|
-
icon: "refresh",
|
|
591
|
-
|
|
591
|
+
icon: _jsx("span", { className: "dx-icon-refresh" }),
|
|
592
|
+
name: SDKUI_Localizator.Refresh,
|
|
592
593
|
onClick: refresh,
|
|
593
594
|
disabled: false,
|
|
594
595
|
});
|
|
595
596
|
}
|
|
596
597
|
if (menuItems.length > 0) {
|
|
597
|
-
|
|
598
|
+
setMenuPosition({ x: event.clientX, y: event.clientY });
|
|
598
599
|
setMenuItems(menuItems);
|
|
600
|
+
setMenuVisible(true);
|
|
599
601
|
}
|
|
600
602
|
};
|
|
601
603
|
const handlePostsToShowChange = (value) => {
|
|
@@ -606,12 +608,31 @@ const TMBlogsPost = (props) => {
|
|
|
606
608
|
setSearchText(value);
|
|
607
609
|
};
|
|
608
610
|
const closeContextMenu = useCallback(() => {
|
|
609
|
-
|
|
611
|
+
setMenuVisible(false);
|
|
610
612
|
}, []);
|
|
613
|
+
const handleNavigateToReference = (ref) => {
|
|
614
|
+
switch (ref.objClass) {
|
|
615
|
+
case ObjectClasses.Dossier:
|
|
616
|
+
if (ref.objID)
|
|
617
|
+
handleNavigateToDossiers?.(ref.objID);
|
|
618
|
+
else
|
|
619
|
+
console.log("Dossier reference missing objID");
|
|
620
|
+
break;
|
|
621
|
+
case ObjectClasses.WorkingGroup:
|
|
622
|
+
if (ref.objID)
|
|
623
|
+
handleNavigateToWGs?.(ref.objID);
|
|
624
|
+
else
|
|
625
|
+
console.log("Working Group reference missing objID");
|
|
626
|
+
break;
|
|
627
|
+
// Handle other object types as needed
|
|
628
|
+
default:
|
|
629
|
+
console.warn(`Unhandled object type: ${ref.objClass}`);
|
|
630
|
+
}
|
|
631
|
+
};
|
|
611
632
|
return _jsx("div", { ref: containerRef, style: { height: height, width: width }, children: _jsx(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(TMLayoutWaitingContainer, { direction: 'vertical', showWaitPanel: localShowWaitPanel, showWaitPanelPrimary: localShowPrimary, waitPanelTitle: localWaitPanelTitle, waitPanelTextPrimary: localWaitPanelTextPrimary, waitPanelValuePrimary: localWaitPanelValuePrimary, waitPanelMaxValuePrimary: localWaitPanelMaxValuePrimary, isCancelable: true, abortController: localAbortController, children: [_jsx(TMBlogHeader, { isVisible: currentHeader !== undefined && !isHeaderHidden, layoutMode: layoutMode, height: layoutMode === 'extended' ? "40px" : "70px", width: "100%", allPosts: posts, postsToShow: postsToShow, onPostsToShowChange: handlePostsToShowChange, categoryIdDataSource: categoryIdDataSource, appliedCategoryIdFilters: appliedCategoryIdFilters, setAppliedCategoryIdFilters: setAppliedCategoryIdFilters, searchText: searchText, onSearchChange: handleSearchChange }), _jsxs("div", { style: {
|
|
612
633
|
width: "100%",
|
|
613
634
|
height: currentHeader !== undefined && !isHeaderHidden ? `calc(100% - ${layoutMode === 'extended' ? "40px" : "70px"})` : "100%",
|
|
614
|
-
}, children: [blogPosts.length === 0 && _jsx(TMToppyMessage, { message: searchText.length > 0 ? SDKUI_Localizator.NoMessagesFound : SDKUI_Localizator.NoMessages }), blogPosts.length > 0 && _jsxs("div", { tabIndex: 0, onKeyDown: handleKeyDown, onContextMenu: onContextMenu, style: {
|
|
635
|
+
}, children: [blogPosts.length === 0 && _jsx(TMToppyMessage, { message: searchText.length > 0 ? SDKUI_Localizator.NoMessagesFound : SDKUI_Localizator.NoMessages }), blogPosts.length > 0 && _jsxs("div", { id: `${id}-blogs-container`, tabIndex: 0, onKeyDown: handleKeyDown, onContextMenu: onContextMenu, style: {
|
|
615
636
|
height: '100%',
|
|
616
637
|
width: '100%',
|
|
617
638
|
outline: "none",
|
|
@@ -659,7 +680,11 @@ const TMBlogsPost = (props) => {
|
|
|
659
680
|
boxShadow: isFocused ? "0 4px 12px rgba(19, 85, 150, 0.6)" : "none",
|
|
660
681
|
cursor: 'pointer',
|
|
661
682
|
}, children: [_jsx(BlogPostTitle, { displayMode: displayMode, layoutMode: layoutMode, blogPost: blogPost, isSelected: isSelected, isOwnComment: isOwnComment, searchText: searchText, isSys: isSys, isHomeBlogPost: isHomeBlogPost, showId: localShowId, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers }), isNew && _jsx(NewBadge, { layoutMode: layoutMode }), _jsx("div", { style: { fontSize: '1rem', color: "#000", marginTop: "10px", overflow: "hidden" }, children: _jsx(TMHtmlContentDisplay, { markup: blogPost.description ?? '-', searchText: searchText, isSelected: isSelected }) }), showExtendedAttachments && blogPost.attachments && blogPost.attachments.length > 0 && (_jsx(TMBlogAttachments, { attachments: blogPost.attachments, layoutMode: layoutMode, isSelected: isSelected, searchText: searchText, dcmtTypeDescriptors: dcmtTypeDescriptors, treeFs: treeFs, draftLatestInfoMap: draftLatestInfoMap, archivedDocumentMap: archivedDocumentMap, handleAttachmentFocus: handleFocusedAttachment, openDcmtForm: openDcmtForm }))] }, `${id}-blogpost-${blogPost.id}`) })] }, "blog-post-wrapper-" + id + "-" + blogPost.id);
|
|
662
|
-
}), _jsx("div", { ref: bottomRef }),
|
|
683
|
+
}), _jsx("div", { ref: bottomRef }), _jsx(TMContextMenu, { items: menuItems, target: `#${id}-blogs-container`, externalControl: {
|
|
684
|
+
visible: menuVisible,
|
|
685
|
+
position: menuPosition,
|
|
686
|
+
onClose: closeContextMenu,
|
|
687
|
+
} })] }), (showTaskForm && handleNavigateToWGs && handleNavigateToDossiers && getAllTasks && deleteTaskByIdsCallback && addTaskCallback && editTaskCallback) && _jsx("div", { style: { height: "100%", width: "100%" }, children: _jsx(TMTaskForm, { id: -1, title: SDKUI_Localizator.ContextualTask, isModal: true, width: calcResponsiveSizes(deviceType, '700px', '700px', '95%'), height: calcResponsiveSizes(deviceType, '670px', '80%', '95%'), formMode: FormModes.Create, visualizedTasks: [], currentTask: currentTask, setCurrentTask: () => { }, selectedRowKeys: [], handleFocusedRowKeyChange: () => { }, onStatusChanged: () => { }, onSaved: onSavedTaskFormCallback, onClose: () => closeTaskFormCallback(), onCancel: () => closeTaskFormCallback(), usersList: participants, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, isContextualCreate: true, taskContext: taskContext, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback }) }), (dcmtForm.dcmt && dcmtForm.dcmt.TID && dcmtForm.dcmt.DID) && _jsx(TMDcmtForm, { TID: Number(dcmtForm.dcmt.TID), DID: Number(dcmtForm.dcmt.DID), layoutMode: LayoutModes.Update, onClose: closeDcmtForm, isClosable: true, titleModal: SDKUI_Localizator.Attachment + ": " + dcmtForm.dcmt.fileName, isModal: true, widthModal: "95%", heightModal: "95%", allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, onReferenceClick: handleNavigateToReference, moreInfoTasks: getMoreInfoTasksForDocument(allTasks, Number(dcmtForm.dcmt.TID), Number(dcmtForm.dcmt.DID)) }), (showFloatingCommentButton && showCommentFormCallback && !(context?.engine === 'WorkingGroupEngine' && context?.object?.customData1 === 1)) && _jsx("button", { style: {
|
|
663
688
|
position: 'absolute',
|
|
664
689
|
bottom: '18px',
|
|
665
690
|
right: '20px',
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import styled from 'styled-components';
|
|
3
3
|
import { useCallback, useEffect, useState } from 'react';
|
|
4
|
-
import ReactDOMServer from 'react-dom/server';
|
|
5
4
|
import { DcmtTypeListCacheService } from '@topconsultnpm/sdk-ts';
|
|
6
|
-
import ContextMenu from '
|
|
5
|
+
import { ContextMenu as TMContextMenu } from '../NewComponents/ContextMenu';
|
|
7
6
|
import { IconDelete, SDKUI_Localizator, IconApply, IconInfo, IconCloseOutline } from '../../helper';
|
|
8
7
|
import { TMColors } from '../../utils/theme';
|
|
9
8
|
import { DeviceType } from '../base/TMDeviceProvider';
|
|
@@ -62,11 +61,15 @@ const StyledRecentTidItem = styled.div `
|
|
|
62
61
|
margin-bottom: 0;
|
|
63
62
|
}
|
|
64
63
|
`;
|
|
65
|
-
const iconDelete = () => ReactDOMServer.renderToString(_jsx(IconDelete, {}));
|
|
66
64
|
const TMRecentsManager = ({ deviceType, mruTIDs, currentMruTID, accessFilter = 'all', onSelectedTID, onDeletedTID }) => {
|
|
67
65
|
const [showDcmtTypeChooser, setShowDcmtTypeChooser] = useState(false);
|
|
68
66
|
const [recentDcmtTypes, setRecentDcmtTypes] = useState([]);
|
|
69
67
|
const [infoDTD, setInfoDTD] = useState();
|
|
68
|
+
const [contextMenuState, setContextMenuState] = useState({
|
|
69
|
+
visible: false,
|
|
70
|
+
position: { x: 0, y: 0 },
|
|
71
|
+
tid: null
|
|
72
|
+
});
|
|
70
73
|
// Handler for the cache refresh event
|
|
71
74
|
const handleCacheRefresh = useCallback(async () => {
|
|
72
75
|
// Retrieve all document types without metadata from the refreshed cache
|
|
@@ -114,7 +117,10 @@ const TMRecentsManager = ({ deviceType, mruTIDs, currentMruTID, accessFilter = '
|
|
|
114
117
|
textOverflow: 'ellipsis'
|
|
115
118
|
}, children: `${SDKUI_Localizator.AllDcmtTypes} (${DcmtTypeListCacheService.CacheCount(true, accessFilter)})` }) }) }, 0), recentDcmtTypes.map((dtd) => {
|
|
116
119
|
const isCurrent = currentMruTID == dtd.id;
|
|
117
|
-
return (_jsxs(StyledRecentTidItem, { id: `tid-${dtd.id}`, "$isMobile": isMobile, onClick: () => { onSelectedTID?.(dtd.id ?? 0); },
|
|
120
|
+
return (_jsxs(StyledRecentTidItem, { id: `tid-${dtd.id}`, "$isMobile": isMobile, onClick: () => { onSelectedTID?.(dtd.id ?? 0); }, onContextMenu: (e) => {
|
|
121
|
+
e.preventDefault();
|
|
122
|
+
setContextMenuState({ visible: true, position: { x: e.clientX, y: e.clientY }, tid: dtd.id ?? null });
|
|
123
|
+
}, children: [_jsxs(StyledDivHorizontal, { style: { alignItems: 'center', gap: 8, width: '100%' }, children: [!isMobile && (_jsx("span", { className: "info-icon", style: {
|
|
118
124
|
marginRight: 4,
|
|
119
125
|
display: 'flex',
|
|
120
126
|
alignItems: 'center'
|
|
@@ -135,20 +141,24 @@ const TMRecentsManager = ({ deviceType, mruTIDs, currentMruTID, accessFilter = '
|
|
|
135
141
|
fontWeight: 'bold',
|
|
136
142
|
marginLeft: 8,
|
|
137
143
|
visibility: isCurrent ? 'visible' : 'hidden'
|
|
138
|
-
}, children: _jsx(IconApply, { fontSize: 24, color: 'green' }) })] }), _jsx(
|
|
144
|
+
}, children: _jsx(IconApply, { fontSize: 24, color: 'green' }) })] }), contextMenuState.tid === dtd.id && (_jsx(TMContextMenu, { items: [
|
|
139
145
|
{
|
|
140
|
-
|
|
141
|
-
icon:
|
|
146
|
+
name: SDKUI_Localizator.Remove,
|
|
147
|
+
icon: _jsx(IconDelete, {}),
|
|
142
148
|
onClick: () => { onDeletedTID?.(dtd.id ?? 0); }
|
|
143
149
|
},
|
|
144
150
|
...(isMobile ? [
|
|
145
151
|
{
|
|
146
|
-
|
|
147
|
-
icon:
|
|
152
|
+
name: SDKUI_Localizator.About,
|
|
153
|
+
icon: _jsx(IconInfo, { color: TMColors.info }),
|
|
148
154
|
onClick: () => { setInfoDTD(dtd); }
|
|
149
155
|
}
|
|
150
156
|
] : [])
|
|
151
|
-
], target: `#tid-${dtd.id}
|
|
157
|
+
], target: `#tid-${dtd.id}`, externalControl: {
|
|
158
|
+
visible: contextMenuState.visible,
|
|
159
|
+
position: contextMenuState.position,
|
|
160
|
+
onClose: () => setContextMenuState({ visible: false, position: { x: 0, y: 0 }, tid: null })
|
|
161
|
+
} }))] }, dtd.id));
|
|
152
162
|
})] }), showDcmtTypeChooser &&
|
|
153
163
|
_jsx(TMDcmtTypeChooserForm, { accessFilter: accessFilter, onClose: () => setShowDcmtTypeChooser(false), onChoose: (tids) => { onSelectedTID?.(tids?.[0] ?? 0); } }), _jsxs(StyledOffCanvasPanel, { ref: panelRef, "$isOpen": isMobile && infoDTD !== undefined, children: [_jsxs(StyledDivHorizontal, { style: { gap: 10, padding: '10px 8px', width: '100%', alignItems: 'center' }, children: [_jsx("p", { style: { fontSize: '1.1rem', fontWeight: 'bold' }, children: `${SDKUI_Localizator.DcmtType} - ${SDKUI_Localizator.About}` }), _jsx(IconCloseOutline, { style: { marginLeft: 'auto', cursor: 'pointer' }, onClick: () => setInfoDTD(undefined) })] }), renderDTDTooltipContent(infoDTD)] })] }));
|
|
154
164
|
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export { default as ShowAlert } from './base/TMAlert';
|
|
2
2
|
export { default as TMButton } from './base/TMButton';
|
|
3
3
|
export { default as TMClosableList } from './base/TMClosableList';
|
|
4
|
-
export * from './base/TMContextMenu';
|
|
5
4
|
export { default as TMDropDownMenu } from './base/TMDropDownMenu';
|
|
6
5
|
export * from './base/TMListView';
|
|
7
6
|
export { default as TMList } from './base/TMList';
|
|
@@ -16,6 +15,7 @@ export * from './base/TMTreeView';
|
|
|
16
15
|
export * from './base/TMPanel';
|
|
17
16
|
export * from './base/TMResizableMenu';
|
|
18
17
|
export * from './base/TMAccordionNew';
|
|
18
|
+
export * from './NewComponents/ContextMenu';
|
|
19
19
|
export { default as CounterBar } from './base/TMCounterBar';
|
|
20
20
|
export { default as TMProgressBar } from './base/TMProgressBar';
|
|
21
21
|
export { default as TMSpinner } from './base/TMSpinner';
|
|
@@ -24,13 +24,13 @@ export { default as TMToggleButton } from './base/TMToggleButton';
|
|
|
24
24
|
export { default as TMTooltip } from './base/TMTooltip';
|
|
25
25
|
export { default as TMVilViewer } from './base/TMVilViewer';
|
|
26
26
|
export { default as TMUserAvatar } from './base/TMUserAvatar';
|
|
27
|
-
export { default as TMFloatingToolbar } from './base/TMFloatingToolbar';
|
|
28
27
|
export { default as TMDropDown } from './editors/TMDropDown';
|
|
29
28
|
export { default as TMTreeDropDown } from './editors/TMTreeDropDown';
|
|
30
29
|
export { default as TMSummary } from './editors/TMSummary';
|
|
31
30
|
export { default as TMTextBox } from './editors/TMTextBox';
|
|
32
31
|
export { default as TMTextArea } from './editors/TMTextArea';
|
|
33
32
|
export { default as TMTextExpression } from './editors/TMTextExpression';
|
|
33
|
+
export { default as TMMetadataTextBox } from './editors/TMMetadataTextBox';
|
|
34
34
|
export { default as TMCheckBox } from './editors/TMCheckBox';
|
|
35
35
|
export { default as TMRadioButton } from './editors/TMRadioButton';
|
|
36
36
|
export { default as TMDateBox } from './editors/TMDateBox';
|
|
@@ -60,7 +60,7 @@ export { default as TMBlogAttachments } from './grids/TMBlogAttachments';
|
|
|
60
60
|
export { default as TMBlogCommentForm } from './features/blog/TMBlogCommentForm';
|
|
61
61
|
export * from './query/TMQueryEditor';
|
|
62
62
|
export * from './query/TMQuerySummary';
|
|
63
|
-
export { default as
|
|
63
|
+
export { default as TMToppyDraggableHelpCenter } from './features/assistant/TMToppyDraggableHelpCenter';
|
|
64
64
|
export * from './features/documents/TMDcmtForm';
|
|
65
65
|
export * from './features/documents/TMDcmtIcon';
|
|
66
66
|
export * from './features/documents/TMDcmtPreview';
|
|
@@ -92,6 +92,7 @@ export { default as SettingsAppearance } from "./settings/SettingsAppearance";
|
|
|
92
92
|
export * from "./viewers/TMTidViewer";
|
|
93
93
|
export * from "./viewers/TMMidViewer";
|
|
94
94
|
export * from "./viewers/TMDataListItemViewer";
|
|
95
|
+
export * from "./viewers/TMDataUserIdItemViewer";
|
|
95
96
|
export * from "./base/TMDeviceProvider";
|
|
96
97
|
export { default as TMDataGrid } from "./base/TMDataGrid";
|
|
97
98
|
export { default as TMFileManager } from "./base/TMFileManager";
|
|
@@ -112,5 +113,7 @@ export * from "./features/workflow/diagram/WFDiagram";
|
|
|
112
113
|
export * from "./features/workflow/diagram/workflowHelpers";
|
|
113
114
|
export * from "./features/workflow/diagram/xmlParser";
|
|
114
115
|
export * from "./features/workflow/diagram/interfaces";
|
|
116
|
+
export * from "./features/workflow/diagram/DiagramItemSvgContent";
|
|
117
|
+
export * from "./features/workflow/TMWorkflowPopup";
|
|
115
118
|
export { default as TMWizard } from './wizard/TMWizard';
|
|
116
119
|
export * from './wizard/TMWizard';
|
package/lib/components/index.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
export { default as ShowAlert } from './base/TMAlert';
|
|
3
3
|
export { default as TMButton } from './base/TMButton';
|
|
4
4
|
export { default as TMClosableList } from './base/TMClosableList';
|
|
5
|
-
export * from './base/TMContextMenu';
|
|
6
5
|
export { default as TMDropDownMenu } from './base/TMDropDownMenu';
|
|
7
6
|
export * from './base/TMListView';
|
|
8
7
|
export { default as TMList } from './base/TMList';
|
|
@@ -17,6 +16,7 @@ export * from './base/TMTreeView';
|
|
|
17
16
|
export * from './base/TMPanel';
|
|
18
17
|
export * from './base/TMResizableMenu';
|
|
19
18
|
export * from './base/TMAccordionNew';
|
|
19
|
+
export * from './NewComponents/ContextMenu';
|
|
20
20
|
export { default as CounterBar } from './base/TMCounterBar';
|
|
21
21
|
export { default as TMProgressBar } from './base/TMProgressBar';
|
|
22
22
|
export { default as TMSpinner } from './base/TMSpinner';
|
|
@@ -25,7 +25,6 @@ export { default as TMToggleButton } from './base/TMToggleButton';
|
|
|
25
25
|
export { default as TMTooltip } from './base/TMTooltip';
|
|
26
26
|
export { default as TMVilViewer } from './base/TMVilViewer';
|
|
27
27
|
export { default as TMUserAvatar } from './base/TMUserAvatar';
|
|
28
|
-
export { default as TMFloatingToolbar } from './base/TMFloatingToolbar';
|
|
29
28
|
//editors
|
|
30
29
|
export { default as TMDropDown } from './editors/TMDropDown';
|
|
31
30
|
export { default as TMTreeDropDown } from './editors/TMTreeDropDown';
|
|
@@ -33,6 +32,7 @@ export { default as TMSummary } from './editors/TMSummary';
|
|
|
33
32
|
export { default as TMTextBox } from './editors/TMTextBox';
|
|
34
33
|
export { default as TMTextArea } from './editors/TMTextArea';
|
|
35
34
|
export { default as TMTextExpression } from './editors/TMTextExpression';
|
|
35
|
+
export { default as TMMetadataTextBox } from './editors/TMMetadataTextBox';
|
|
36
36
|
export { default as TMCheckBox } from './editors/TMCheckBox';
|
|
37
37
|
export { default as TMRadioButton } from './editors/TMRadioButton';
|
|
38
38
|
export { default as TMDateBox } from './editors/TMDateBox';
|
|
@@ -67,7 +67,7 @@ export { default as TMBlogCommentForm } from './features/blog/TMBlogCommentForm'
|
|
|
67
67
|
export * from './query/TMQueryEditor';
|
|
68
68
|
export * from './query/TMQuerySummary';
|
|
69
69
|
//assistant
|
|
70
|
-
export { default as
|
|
70
|
+
export { default as TMToppyDraggableHelpCenter } from './features/assistant/TMToppyDraggableHelpCenter';
|
|
71
71
|
//documents
|
|
72
72
|
export * from './features/documents/TMDcmtForm';
|
|
73
73
|
export * from './features/documents/TMDcmtIcon';
|
|
@@ -110,6 +110,7 @@ export { default as SettingsAppearance } from "./settings/SettingsAppearance";
|
|
|
110
110
|
export * from "./viewers/TMTidViewer";
|
|
111
111
|
export * from "./viewers/TMMidViewer";
|
|
112
112
|
export * from "./viewers/TMDataListItemViewer";
|
|
113
|
+
export * from "./viewers/TMDataUserIdItemViewer";
|
|
113
114
|
//TMDeviceProvider
|
|
114
115
|
export * from "./base/TMDeviceProvider";
|
|
115
116
|
export { default as TMDataGrid } from "./base/TMDataGrid";
|
|
@@ -133,6 +134,8 @@ export * from "./features/workflow/diagram/WFDiagram";
|
|
|
133
134
|
export * from "./features/workflow/diagram/workflowHelpers";
|
|
134
135
|
export * from "./features/workflow/diagram/xmlParser";
|
|
135
136
|
export * from "./features/workflow/diagram/interfaces";
|
|
137
|
+
export * from "./features/workflow/diagram/DiagramItemSvgContent";
|
|
138
|
+
export * from "./features/workflow/TMWorkflowPopup";
|
|
136
139
|
// wizard
|
|
137
140
|
export { default as TMWizard } from './wizard/TMWizard';
|
|
138
141
|
export * from './wizard/TMWizard';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { QueryDescriptor, ValidationItem } from '@topconsultnpm/sdk-ts';
|
|
3
3
|
import { ITMApplyFormProps, FormModes } from '../../ts';
|
|
4
|
+
import type { TMContextMenuItemProps } from '../NewComponents/ContextMenu/types';
|
|
4
5
|
export declare const StyledRowItem: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
5
6
|
export declare const StyledItemWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
|
|
6
7
|
$borderRadius?: string;
|
|
@@ -54,5 +55,5 @@ export interface ITMQdDropDownMenuProps {
|
|
|
54
55
|
backgroundColor?: string;
|
|
55
56
|
disabled?: boolean;
|
|
56
57
|
borderRadius?: string;
|
|
57
|
-
items?:
|
|
58
|
+
items?: TMContextMenuItemProps[];
|
|
58
59
|
}
|