@topconsultnpm/sdkui-react-beta 6.14.119 → 6.14.121
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/features/archive/TMArchive.js +3 -3
- package/lib/components/features/assistant/ToppyHelpCenter.js +8 -3
- package/lib/components/features/documents/TMDcmtPreview.js +1 -1
- package/lib/components/features/search/TMSearchQueryPanel.d.ts +1 -0
- package/lib/components/features/search/TMSearchQueryPanel.js +30 -12
- package/lib/components/features/search/TMTreeSelector.js +27 -20
- package/lib/components/grids/TMBlogs.js +9 -5
- package/package.json +1 -1
|
@@ -4,10 +4,10 @@ import Logo from '../../../assets/Toppy-generico.png';
|
|
|
4
4
|
import { DcmtTypeListCacheService, LayoutModes, SDK_Localizator } from '@topconsultnpm/sdk-ts-beta';
|
|
5
5
|
import { IconTree, SDKUI_Globals, SDKUI_Localizator, IconRecentlyViewed, IconPreview, IconShow, IconBoard, IconDcmtTypeSys, removeMruTid } from '../../../helper';
|
|
6
6
|
import { useDeviceType, DeviceType } from '../../base/TMDeviceProvider';
|
|
7
|
-
import TMLayoutContainer
|
|
7
|
+
import TMLayoutContainer from '../../base/TMLayout';
|
|
8
8
|
import TMRecentsManager from '../../grids/TMRecentsManager';
|
|
9
9
|
import TMDcmtForm from '../documents/TMDcmtForm';
|
|
10
|
-
import { StyledToppyTextContainer, StyledToppyText } from '../search/TMSearchQueryPanel';
|
|
10
|
+
import { StyledToppyTextContainer, StyledToppyText, StyledToppyImage } from '../search/TMSearchQueryPanel';
|
|
11
11
|
import TMTreeSelector from '../search/TMTreeSelector';
|
|
12
12
|
import TMPanel from '../../base/TMPanel';
|
|
13
13
|
import { TMPanelManagerProvider, useTMPanelManagerContext } from '../../layout/panelManager/TMPanelManagerContext';
|
|
@@ -51,7 +51,7 @@ const TMArchive = ({ inputTID, fileFromConnector = null }) => {
|
|
|
51
51
|
const tmFormElement = useMemo(() => currentTID ?
|
|
52
52
|
_jsx(TMDcmtForm, { TID: currentTID, DID: undefined, groupId: 'tmForm', layoutMode: LayoutModes.Ark, onClose: deviceType === DeviceType.MOBILE ? () => setCurrentTID(undefined) : undefined, onSaveRecents: (TIDs) => setMruTIDs(TIDs), showDcmtFormSidebar: false, fileFromConnector: fileFromConnector })
|
|
53
53
|
:
|
|
54
|
-
_jsx(TMPanel, { title: 'Archiviazione', allowMaximize: false, children: _jsxs(TMLayoutContainer, { gap: 30, alignItems: 'center', justifyContent: 'center', children: [
|
|
54
|
+
_jsx(TMPanel, { title: 'Archiviazione', allowMaximize: false, children: _jsxs(TMLayoutContainer, { gap: 30, alignItems: 'center', justifyContent: 'center', children: [_jsx(StyledToppyTextContainer, { children: _jsx(StyledToppyText, { children: SDKUI_Localizator.DcmtTypeSelect }) }), _jsx(StyledToppyImage, { src: Logo, alt: 'Toppy' })] }) }), [currentTID, deviceType, mruTIDs, fileFromConnector]);
|
|
55
55
|
const allInitialPanelVisibility = {
|
|
56
56
|
'tmTreeSelector': true,
|
|
57
57
|
'tmRecentsManager': true,
|
|
@@ -69,11 +69,16 @@ const ToppyImage = styled.img `
|
|
|
69
69
|
css `
|
|
70
70
|
/* animation: ${bounceAnimation} 2s infinite; */
|
|
71
71
|
/* animation: ${pulseAnimation} 2s infinite; */
|
|
72
|
-
animation: ${wiggle}
|
|
72
|
+
animation: ${wiggle} 2s infinite;
|
|
73
73
|
`}
|
|
74
74
|
`;
|
|
75
75
|
const ToppyContent = styled.div `
|
|
76
|
-
margin-bottom: ${
|
|
76
|
+
margin-bottom: ${({ $isMobile, $align }) => $align === 'left'
|
|
77
|
+
? '50px'
|
|
78
|
+
: $isMobile
|
|
79
|
+
? '10px'
|
|
80
|
+
: '20px'};
|
|
81
|
+
margin-left: ${({ $align }) => $align === 'left' ? '50px' : '0'};
|
|
77
82
|
display: ${props => (props.$isCollapsed ? 'none' : 'block')};
|
|
78
83
|
width: max-content;
|
|
79
84
|
max-width: 250px;
|
|
@@ -108,7 +113,7 @@ const ToppyContent = styled.div `
|
|
|
108
113
|
}
|
|
109
114
|
|
|
110
115
|
&::before {
|
|
111
|
-
|
|
116
|
+
transform: ${({ $align }) => $align === 'left' ? 'skewX(15deg)' : 'skewX(-15deg)'};
|
|
112
117
|
content: "";
|
|
113
118
|
position: absolute;
|
|
114
119
|
top: 100%;
|
|
@@ -205,7 +205,7 @@ export const TMFileViewer = ({ fileBlob, isResizingActive }) => {
|
|
|
205
205
|
return (_jsx(ImageViewer, { fileBlob: fileBlob, alt: '' }));
|
|
206
206
|
}
|
|
207
207
|
if (fileType === 'application/pdf') {
|
|
208
|
-
return (_jsx("div", { style: { width: '100%', height: '100%', position: 'relative' }, children: _jsx("object", { data: blobUrl, type: "application/pdf", width: "100%", height: "100%", style: { border: 'none' }, children: _jsxs("div", { style: {
|
|
208
|
+
return (_jsx("div", { style: { width: '100%', height: '100%', position: 'relative' }, children: _jsx("object", { data: blobUrl, type: "application/pdf", width: "100%", height: "100%", style: { border: 'none', pointerEvents: isResizingActive === true ? "none" : "auto" }, children: _jsxs("div", { style: {
|
|
209
209
|
padding: '40px',
|
|
210
210
|
textAlign: 'center',
|
|
211
211
|
display: 'flex',
|
|
@@ -18,3 +18,4 @@ export default TMSearchQueryPanel;
|
|
|
18
18
|
export declare const refreshLastSearch: (qd: QueryDescriptor | undefined) => Promise<SearchResultDescriptor[] | undefined>;
|
|
19
19
|
export declare const StyledToppyTextContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
20
20
|
export declare const StyledToppyText: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, never>> & string;
|
|
21
|
+
export declare const StyledToppyImage: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, never>> & string;
|
|
@@ -250,7 +250,7 @@ const TMSearchQueryPanel = ({ fromDTD, showBackToResultButton, isExpertMode = SD
|
|
|
250
250
|
_jsx(TMMetadataChooserForm, { allowMultipleSelection: true, height: '500px', width: '600px', allowSysMetadata: true, qd: qd, selectedIDs: qd?.select?.map((item) => ({ tid: item.tid, mid: item.mid })), onClose: handleCloseOutputConfig, onChoose: handleChooseOutput }), showOrderByConfig &&
|
|
251
251
|
_jsx(TMMetadataChooserForm, { allowMultipleSelection: true, height: '500px', width: '600px', allowSysMetadata: true, qd: qd, selectedIDs: qd?.orderBy?.map((item) => ({ tid: item.tid, mid: item.mid })), onClose: handleCloseOrderByConfig, onChoose: handleChooseOrderBy })] })
|
|
252
252
|
:
|
|
253
|
-
_jsxs(TMLayoutContainer, { gap: 30, alignItems: 'center', justifyContent: 'center', children: [_jsx(StyledToppyTextContainer, { children: _jsx(StyledToppyText, { children: SDKUI_Localizator.DcmtTypeSelectOrQuickSearch }) }), _jsx(
|
|
253
|
+
_jsxs(TMLayoutContainer, { gap: 30, alignItems: 'center', justifyContent: 'center', children: [_jsx(StyledToppyTextContainer, { children: _jsx(StyledToppyText, { children: SDKUI_Localizator.DcmtTypeSelectOrQuickSearch }) }), _jsx(StyledToppyImage, { src: Toppy, alt: 'Toppy' })] }), showSqdForm &&
|
|
254
254
|
_jsx(StyledModalContainer, { style: { backgroundColor: `${TMColors.backgroundColorHeader}12` }, children: _jsx(TMSavedQueryForm, { height: '50%', width: '50%', id: formModeSqdForm === FormModes.Create ? -1 : SQD?.id, title: 'Ricerca rapida', formMode: formModeSqdForm, showBackButton: true, qd: qd, isAdvancedSearch: showAdvancedSearch, isModal: false, onClose: () => { setShowSqdForm(false); }, onSaved: onSqdSaved }) })] }), showDistinctValuesPanel &&
|
|
255
255
|
_jsx(TMDistinctValues, { isModal: true, tid: focusedTidMid?.tid, mid: focusedTidMid?.mid, separator: ',', onClosePanelCallback: () => setShowDistinctValuesPanel(false), onSelectionChanged: (e) => {
|
|
256
256
|
if (!e)
|
|
@@ -329,25 +329,43 @@ export const refreshLastSearch = async (qd) => {
|
|
|
329
329
|
}
|
|
330
330
|
return searchResults;
|
|
331
331
|
};
|
|
332
|
-
export const StyledToppyTextContainer = styled.div `
|
|
333
|
-
padding:
|
|
332
|
+
export const StyledToppyTextContainer = styled.div `
|
|
333
|
+
padding: 22px 8px;
|
|
334
334
|
width: 100%;
|
|
335
335
|
max-width: 345px;
|
|
336
|
-
border: 1px solid #2559A5;
|
|
337
|
-
border-radius: 30px;
|
|
338
|
-
display: flex;
|
|
339
|
-
align-items: center;
|
|
340
|
-
justify-content: center;
|
|
336
|
+
border: 1px solid #2559A5;
|
|
337
|
+
border-radius: 30px;
|
|
338
|
+
display: flex;
|
|
339
|
+
align-items: center;
|
|
340
|
+
justify-content: center;
|
|
341
341
|
box-sizing: border-box;
|
|
342
|
+
min-height: 120px;
|
|
342
343
|
|
|
343
344
|
@media (max-width: 400px) {
|
|
344
345
|
padding: 20px 10px;
|
|
345
346
|
max-width: 98vw;
|
|
346
347
|
}
|
|
347
348
|
`;
|
|
348
|
-
export const StyledToppyText = styled.p `
|
|
349
|
-
text-align: center;
|
|
350
|
-
color: #2559A5;
|
|
351
|
-
font-size: 30px;
|
|
349
|
+
export const StyledToppyText = styled.p `
|
|
350
|
+
text-align: center;
|
|
351
|
+
color: #2559A5;
|
|
352
|
+
font-size: 30px;
|
|
352
353
|
user-select: none;
|
|
354
|
+
margin: 0;
|
|
355
|
+
|
|
356
|
+
/* Stili per l'ellissi multiriga (soluzione più semplice e ampiamente supportata) */
|
|
357
|
+
display: -webkit-box;
|
|
358
|
+
-webkit-box-orient: vertical;
|
|
359
|
+
-webkit-line-clamp: 3; /* non è una proprietà standard ma è così diffusa e ben supportata che è considerata una "best practice pragmatica" */
|
|
360
|
+
overflow: hidden;
|
|
361
|
+
text-overflow: ellipsis;
|
|
362
|
+
white-space: normal;
|
|
363
|
+
word-break: break-word;
|
|
364
|
+
line-height: 1.2;
|
|
365
|
+
`;
|
|
366
|
+
export const StyledToppyImage = styled.img `
|
|
367
|
+
width: 100%;
|
|
368
|
+
max-width: 120px;
|
|
369
|
+
height: auto;
|
|
370
|
+
display: block;
|
|
353
371
|
`;
|
|
@@ -27,28 +27,29 @@ const TMTreeSelector = ({ layoutMode = LayoutModes.Update, isVisible, onSelected
|
|
|
27
27
|
const deviceType = useDeviceType();
|
|
28
28
|
const isMobile = deviceType === DeviceType.MOBILE;
|
|
29
29
|
const panelRef = useOutsideClick(() => setInfoDTD(undefined));
|
|
30
|
-
useEffect(() => {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}, [treeItems])
|
|
30
|
+
// useEffect(() => {
|
|
31
|
+
// if (treeItems.length > 0 && treeItems[0].id) {
|
|
32
|
+
// setSelectedRowKeys([treeItems[0].id])
|
|
33
|
+
// }
|
|
34
|
+
// }, [treeItems])
|
|
35
35
|
useEffect(() => {
|
|
36
36
|
const setResultCache = (result) => {
|
|
37
37
|
if (result && result.length > 0) {
|
|
38
38
|
setTrees(result);
|
|
39
39
|
let defaultTree = SDKUI_Globals.userSettings.searchSettings.defaultTree;
|
|
40
|
+
let initialTreeId;
|
|
41
|
+
let treeToSelect;
|
|
40
42
|
if (defaultTree > 0) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
const treeItemDescriptor = result.find(o => o.id == defaultTree);
|
|
44
|
-
if (treeItemDescriptor?.id)
|
|
45
|
-
setSelectedRowKeys([treeItemDescriptor.id]);
|
|
43
|
+
initialTreeId = defaultTree;
|
|
44
|
+
treeToSelect = result.find(o => o.id == defaultTree);
|
|
46
45
|
}
|
|
47
46
|
else {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
47
|
+
initialTreeId = result[0]?.id ?? 0;
|
|
48
|
+
treeToSelect = result[0];
|
|
49
|
+
}
|
|
50
|
+
setSelectedTreeId(initialTreeId);
|
|
51
|
+
if (treeToSelect?.id) {
|
|
52
|
+
setSelectedRowKeys([treeToSelect.id]);
|
|
52
53
|
}
|
|
53
54
|
}
|
|
54
55
|
};
|
|
@@ -58,12 +59,12 @@ const TMTreeSelector = ({ layoutMode = LayoutModes.Update, isVisible, onSelected
|
|
|
58
59
|
else {
|
|
59
60
|
TreeCacheService.GetAllArchiveAsync().then((result) => { setResultCache(result); });
|
|
60
61
|
}
|
|
61
|
-
}, []);
|
|
62
|
+
}, [layoutMode]);
|
|
62
63
|
useEffect(() => {
|
|
63
64
|
let newTreeItems = trees.find(o => o.id == selectedTreeId)?.items ?? [];
|
|
64
65
|
setTreeItems(newTreeItems);
|
|
65
|
-
}, [selectedTreeId]);
|
|
66
|
-
const renderCell = (data) => {
|
|
66
|
+
}, [selectedTreeId, trees]);
|
|
67
|
+
const renderCell = useCallback((data) => {
|
|
67
68
|
const treeItem = data.data;
|
|
68
69
|
const [showInfo, setShowInfo] = useState(false);
|
|
69
70
|
// Documento (DcmtType)
|
|
@@ -114,7 +115,7 @@ const TMTreeSelector = ({ layoutMode = LayoutModes.Update, isVisible, onSelected
|
|
|
114
115
|
whiteSpace: 'nowrap',
|
|
115
116
|
flex: 1,
|
|
116
117
|
}, children: treeItem.nameLoc })] }));
|
|
117
|
-
};
|
|
118
|
+
}, [isMobile, setInfoDTD]);
|
|
118
119
|
// Handles selection change in the data grid
|
|
119
120
|
const onSelectionChanged = useCallback((e) => {
|
|
120
121
|
const selectedKeys = e.component.getSelectedRowKeys() ?? [];
|
|
@@ -144,11 +145,17 @@ const TMTreeSelector = ({ layoutMode = LayoutModes.Update, isVisible, onSelected
|
|
|
144
145
|
}, []);
|
|
145
146
|
return (_jsx(TMPanel, { title: SDK_Localizator.Trees, isVisible: isVisible, totalItems: trees.length, onClose: onClosePanel, allowMaximize: allowMaximize, onMaximize: onMaximizePanel, onHeaderDoubleClick: onMaximizePanel, toolbar: _jsx(TMButton, { btnStyle: 'icon', caption: defaultTreeId == selectedTreeId ? SDKUI_Localizator.TreeRemoveDefault : SDKUI_Localizator.SetAsDefault, icon: defaultTreeId == selectedTreeId ? _jsx(IconStarRemove, { color: 'rgb(243, 114, 92)' }) : _jsx(IconStar, { color: 'rgb(248, 215, 117)' }), onClick: () => {
|
|
146
147
|
if (defaultTreeId == selectedTreeId) {
|
|
147
|
-
|
|
148
|
+
if (layoutMode == LayoutModes.Update)
|
|
149
|
+
SDKUI_Globals.userSettings.searchSettings.defaultTree = -1;
|
|
150
|
+
else
|
|
151
|
+
SDKUI_Globals.userSettings.archivingSettings.defaultTree = -1;
|
|
148
152
|
setDefaultTreeId(-1);
|
|
149
153
|
}
|
|
150
154
|
else {
|
|
151
|
-
|
|
155
|
+
if (layoutMode == LayoutModes.Update)
|
|
156
|
+
SDKUI_Globals.userSettings.searchSettings.defaultTree = selectedTreeId;
|
|
157
|
+
else
|
|
158
|
+
SDKUI_Globals.userSettings.archivingSettings.defaultTree = selectedTreeId;
|
|
152
159
|
setDefaultTreeId(selectedTreeId);
|
|
153
160
|
}
|
|
154
161
|
} }), children: trees.length > 0
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
2
2
|
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
3
3
|
import { DcmtTypeListCacheService, LayoutModes, ResultTypes, SDK_Globals, WorkingGroupEngine } from "@topconsultnpm/sdk-ts-beta";
|
|
4
4
|
import { ContextMenu, ScrollView } from 'devextreme-react';
|
|
5
|
-
import { SDKUI_Localizator, IconAttachment, getExceptionMessage, Globalization, IconBoard } from '../../helper';
|
|
5
|
+
import { SDKUI_Localizator, IconAttachment, getExceptionMessage, Globalization, IconBoard, genUniqueId } from '../../helper';
|
|
6
6
|
import { useDeviceType, DeviceType } from '../base/TMDeviceProvider';
|
|
7
7
|
import { TMMessageBoxManager, ButtonNames } from '../base/TMPopUp';
|
|
8
8
|
import TMTooltip from '../base/TMTooltip';
|
|
@@ -31,6 +31,7 @@ const TMBlogs = (props) => {
|
|
|
31
31
|
isRefreshEnabled: false,
|
|
32
32
|
isCreateContextualTask: false,
|
|
33
33
|
}, refreshCallback, showCommentFormCallback, showTaskFormCallback, handleAttachmentFocus, showFloatingCommentButton = false, context, layoutMode = 'stacked', markBlogAsRead, shouldSelectLastBlog = false, updateShouldSelectLastBlog } = props;
|
|
34
|
+
const [uiId, setUiId] = useState('');
|
|
34
35
|
// Get the current device type (e.g., mobile, tablet, desktop) using a custom hook.
|
|
35
36
|
const deviceType = useDeviceType();
|
|
36
37
|
const { abortController, showWaitPanel, waitPanelTitle, showPrimary, waitPanelTextPrimary, waitPanelValuePrimary, waitPanelMaxValuePrimary, showSecondary, waitPanelTextSecondary, waitPanelValueSecondary, waitPanelMaxValueSecondary, downloadDcmtsAsync } = useDcmtOperations();
|
|
@@ -288,6 +289,9 @@ const TMBlogs = (props) => {
|
|
|
288
289
|
];
|
|
289
290
|
return menuItemsElements;
|
|
290
291
|
}, [isHeaderHidden, localShowId, setLocalShowId, focusedBlog, focusedAttachment, showDcmtForm]);
|
|
292
|
+
useEffect(() => {
|
|
293
|
+
setUiId(genUniqueId());
|
|
294
|
+
}, []);
|
|
291
295
|
useEffect(() => {
|
|
292
296
|
if (showId !== undefined)
|
|
293
297
|
setLocalShowId(showId);
|
|
@@ -403,7 +407,7 @@ const TMBlogs = (props) => {
|
|
|
403
407
|
// Scroll the focused blog post into view
|
|
404
408
|
useEffect(() => {
|
|
405
409
|
if (focusedBlog && focusedBlog.id && containerRef.current) {
|
|
406
|
-
const focusedElement = document.getElementById(id + "-" + focusedBlog.id.toString());
|
|
410
|
+
const focusedElement = document.getElementById(id + "-" + uiId + focusedBlog.id.toString());
|
|
407
411
|
if (focusedElement) {
|
|
408
412
|
focusedElement.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
|
409
413
|
}
|
|
@@ -413,7 +417,7 @@ const TMBlogs = (props) => {
|
|
|
413
417
|
const scrollRef = useRef(null);
|
|
414
418
|
useEffect(() => {
|
|
415
419
|
if (focusedBlog && focusedBlog.id) { // containerRef.current
|
|
416
|
-
const focusedElement = document.getElementById(id + "-" + focusedBlog.id.toString());
|
|
420
|
+
const focusedElement = document.getElementById(id + "-" + uiId + focusedBlog.id.toString());
|
|
417
421
|
if (focusedElement) {
|
|
418
422
|
focusedElement.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
|
419
423
|
}
|
|
@@ -496,7 +500,7 @@ const TMBlogs = (props) => {
|
|
|
496
500
|
handleFocusedBlog(blogPost);
|
|
497
501
|
handleFocusedAttachment(undefined);
|
|
498
502
|
};
|
|
499
|
-
return (_jsxs(BlogPostContainer, { className: "blog-post-container", id: id + "-" + blogPost.id.toString(), ref: containerRef, "$color": textColor, "$textDecoration": blogPost.isDel ? 'line-through' : 'none', "$backgroundColor": bgColor, "$paddingRight": layoutMode === 'chat' ? '50px' : '10px', "$canNavigate": canNavigate(), onClick: onClickCallback, onDoubleClick: headerClickCallback, tabIndex: 0, onKeyDown: handleKeyDown, onKeyUp: handleKeyUp, onContextMenu: onContextMenu, children: [_jsxs("div", { style: { display: "flex", alignItems: "center" }, children: [(layoutMode !== 'chat' || !isOwnComment) && OwnerInitialsBadge(blogPost), _jsx("div", { style: { flex: "1 1 auto", minWidth: "0" }, children: _jsxs("div", { style: { display: 'flex', justifyContent: 'space-between', alignItems: 'center', flexWrap: "wrap", /* overflow: "hidden" */ }, children: [_jsxs("div", { style: { flex: "1 1 auto", minWidth: "0" }, children: [_jsxs("div", { style: {
|
|
503
|
+
return (_jsxs(BlogPostContainer, { className: "blog-post-container", id: id + "-" + uiId + "-" + blogPost.id.toString(), ref: containerRef, "$color": textColor, "$textDecoration": blogPost.isDel ? 'line-through' : 'none', "$backgroundColor": bgColor, "$paddingRight": layoutMode === 'chat' ? '50px' : '10px', "$canNavigate": canNavigate(), onClick: onClickCallback, onDoubleClick: headerClickCallback, tabIndex: 0, onKeyDown: handleKeyDown, onKeyUp: handleKeyUp, onContextMenu: onContextMenu, children: [_jsxs("div", { style: { display: "flex", alignItems: "center" }, children: [(layoutMode !== 'chat' || !isOwnComment) && OwnerInitialsBadge(blogPost), _jsx("div", { style: { flex: "1 1 auto", minWidth: "0" }, children: _jsxs("div", { style: { display: 'flex', justifyContent: 'space-between', alignItems: 'center', flexWrap: "wrap", /* overflow: "hidden" */ }, children: [_jsxs("div", { style: { flex: "1 1 auto", minWidth: "0" }, children: [_jsxs("div", { style: {
|
|
500
504
|
fontWeight: "bold",
|
|
501
505
|
fontSize: '1rem',
|
|
502
506
|
display: "flex",
|
|
@@ -551,7 +555,7 @@ const TMBlogs = (props) => {
|
|
|
551
555
|
}, children: [(showIconHeader) && blogPost.header && blogPost.classID &&
|
|
552
556
|
_jsxs(_Fragment, { children: [_jsx("span", { style: { marginLeft: showIconHeader ? "5px" : "0" }, children: blogPost.ownerName }), _jsx("span", { style: { margin: "0 5px" }, children: "\u2501" })] }), blogPost.creationTime && highlightText(`${Globalization.getDateTimeDisplayValue(blogPost.creationTime)} ${new Date(blogPost.creationTime).toDateString() === new Date().toDateString()
|
|
553
557
|
? `(${SDKUI_Localizator.Today})`
|
|
554
|
-
: ''}`, searchText, isSelected), localShowId && (_jsxs(_Fragment, { children: [_jsx("span", { style: { margin: "0 5px" }, children: "\u2501" }), _jsxs("span", { children: ["(ID: ", blogPost.id, ")"] })] }))] })] }), blogPost.attachments && showExtendedAttachments === false && (_jsx("div", { style: { marginTop: "25px", fontSize: "13px", display: "flex", justifyContent: "flex-end" }, children: _jsx(TMTooltip, { content: `${SDKUI_Localizator.Attachments}: ${blogPost.attachments.length}`, children: _jsx(IconAttachment, { fontSize: 20, color: isSelected ? '#fff' : color }) }) }))] }) })] }), _jsx("div", { style: { marginTop: "10px", fontSize: '1rem' }, children: _jsx(TMHtmlContentDisplay, { markup: blogPost.description ?? '-', searchText: searchText, isSelected: isSelected }) }), showExtendedAttachments && blogPost.attachments && blogPost.attachments.length > 0 && attachmentDetails(blogPost.attachments, isSelected)] }, id + "-" + blogPost.id));
|
|
558
|
+
: ''}`, searchText, isSelected), localShowId && (_jsxs(_Fragment, { children: [_jsx("span", { style: { margin: "0 5px" }, children: "\u2501" }), _jsxs("span", { children: ["(ID: ", blogPost.id, ")"] })] }))] })] }), blogPost.attachments && showExtendedAttachments === false && (_jsx("div", { style: { marginTop: "25px", fontSize: "13px", display: "flex", justifyContent: "flex-end" }, children: _jsx(TMTooltip, { content: `${SDKUI_Localizator.Attachments}: ${blogPost.attachments.length}`, children: _jsx(IconAttachment, { fontSize: 20, color: isSelected ? '#fff' : color }) }) }))] }) })] }), _jsx("div", { style: { marginTop: "10px", fontSize: '1rem' }, children: _jsx(TMHtmlContentDisplay, { markup: blogPost.description ?? '-', searchText: searchText, isSelected: isSelected }) }), showExtendedAttachments && blogPost.attachments && blogPost.attachments.length > 0 && attachmentDetails(blogPost.attachments, isSelected)] }, id + "-" + uiId + "-" + blogPost.id));
|
|
555
559
|
};
|
|
556
560
|
return _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: _jsx("div", { ref: scrollRef, style: { backgroundColor: layoutMode === "stacked" ? "rgba(191, 191, 191, 0.15)" : '#fff', height: "100%", padding: "5px", overflowY: "auto", width: "100%" }, children: blogPosts.length === 0 ?
|
|
557
561
|
_jsxs("div", { style: { display: 'flex', flexDirection: 'column', alignItems: 'center', justifyContent: 'center', height: '100%' }, children: [_jsx(IconBoard, { fontSize: 96 }), searchText.length > 0 ?
|