@topconsultnpm/sdkui-react 6.20.0-dev1.3 → 6.20.0-dev1.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/NewComponents/ContextMenu/TMContextMenu.js +3 -3
- package/lib/components/NewComponents/ContextMenu/hooks.d.ts +1 -0
- package/lib/components/NewComponents/ContextMenu/hooks.js +8 -4
- package/lib/components/NewComponents/ContextMenu/styles.d.ts +4 -1
- package/lib/components/NewComponents/ContextMenu/styles.js +41 -8
- package/lib/components/NewComponents/ContextMenu/types.d.ts +1 -0
- package/lib/components/NewComponents/FloatingMenuBar/TMFloatingMenuBar.js +38 -30
- package/lib/components/NewComponents/FloatingMenuBar/styles.d.ts +8 -0
- package/lib/components/NewComponents/FloatingMenuBar/styles.js +30 -19
- package/lib/components/base/TMAccordion.js +2 -2
- package/lib/components/base/TMCustomButton.js +41 -5
- package/lib/components/base/TMDataGrid.d.ts +2 -2
- package/lib/components/base/TMDataGrid.js +16 -5
- package/lib/components/editors/TMHtmlEditor.js +1 -1
- package/lib/components/editors/TMMetadataValues.js +20 -2
- package/lib/components/features/documents/TMDcmtBlog.d.ts +1 -7
- package/lib/components/features/documents/TMDcmtBlog.js +29 -2
- package/lib/components/features/documents/TMDcmtForm.js +268 -168
- package/lib/components/features/documents/TMDcmtPreview.js +37 -66
- package/lib/components/features/search/TMDcmtCheckoutInfoForm.d.ts +8 -0
- package/lib/components/features/search/{TMSearchResultCheckoutInfoForm.js → TMDcmtCheckoutInfoForm.js} +6 -11
- package/lib/components/features/search/TMSearchQueryPanel.js +13 -12
- package/lib/components/features/search/TMSearchResult.js +74 -111
- package/lib/components/features/search/TMSearchResultsMenuItems.d.ts +1 -1
- package/lib/components/features/search/TMSearchResultsMenuItems.js +26 -43
- package/lib/components/features/search/TMSignatureInfoContent.d.ts +6 -0
- package/lib/components/features/search/TMSignatureInfoContent.js +140 -0
- 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/css/tm-sdkui.css +1 -1
- package/lib/helper/SDKUI_Globals.d.ts +13 -14
- package/lib/helper/SDKUI_Globals.js +9 -0
- package/lib/helper/SDKUI_Localizator.d.ts +8 -0
- package/lib/helper/SDKUI_Localizator.js +98 -0
- package/lib/helper/TMPdfViewer.d.ts +8 -0
- package/lib/helper/TMPdfViewer.js +187 -0
- package/lib/helper/TMUtils.d.ts +3 -1
- package/lib/helper/TMUtils.js +51 -0
- package/lib/helper/checkinCheckoutManager.d.ts +85 -0
- package/lib/helper/checkinCheckoutManager.js +348 -0
- package/lib/helper/devextremeCustomMessages.d.ts +30 -0
- package/lib/helper/devextremeCustomMessages.js +30 -0
- package/lib/helper/helpers.js +7 -1
- package/lib/helper/index.d.ts +2 -0
- package/lib/helper/index.js +2 -0
- package/lib/helper/queryHelper.js +29 -0
- package/lib/hooks/useCheckInOutOperations.d.ts +28 -0
- package/lib/hooks/useCheckInOutOperations.js +223 -0
- package/lib/services/platform_services.d.ts +1 -1
- package/package.json +5 -2
- 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/features/search/TMSearchResultCheckoutInfoForm.d.ts +0 -8
- package/lib/helper/cicoHelper.d.ts +0 -31
- package/lib/helper/cicoHelper.js +0 -155
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
import { SDK_Globals } from "@topconsultnpm/sdk-ts";
|
|
4
|
+
import { IconCopy, getExceptionMessage } from "../../../helper";
|
|
5
|
+
import TMSpinner from "../../base/TMSpinner";
|
|
6
|
+
const TMSignatureInfoContent = (props) => {
|
|
7
|
+
const { inputDcmt } = props;
|
|
8
|
+
const [selectedHash, setSelectedHash] = useState('sha256');
|
|
9
|
+
const [signerInfo, setSignerInfo] = useState(undefined);
|
|
10
|
+
const [error, setError] = useState(undefined);
|
|
11
|
+
const [copiedHash, setCopiedHash] = useState(false);
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
const fetchSignerInfo = async () => {
|
|
14
|
+
TMSpinner.show();
|
|
15
|
+
try {
|
|
16
|
+
const ue = SDK_Globals.tmSession?.NewUpdateEngineByID();
|
|
17
|
+
if (!ue) {
|
|
18
|
+
setError("Sessione non disponibile");
|
|
19
|
+
TMSpinner.hide();
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
ue.TID = inputDcmt.TID;
|
|
23
|
+
ue.DID = inputDcmt.DID;
|
|
24
|
+
const signerInfoDescriptor = await ue.GetSignersAsync();
|
|
25
|
+
if (!signerInfoDescriptor) {
|
|
26
|
+
setError("Informazioni di firma non disponibili");
|
|
27
|
+
TMSpinner.hide();
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
setSignerInfo(signerInfoDescriptor);
|
|
31
|
+
setError(undefined);
|
|
32
|
+
TMSpinner.hide();
|
|
33
|
+
}
|
|
34
|
+
catch (err) {
|
|
35
|
+
setError(getExceptionMessage(err));
|
|
36
|
+
TMSpinner.hide();
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
fetchSignerInfo();
|
|
40
|
+
}, [inputDcmt]);
|
|
41
|
+
const hashButtonStyle = (isActive) => ({
|
|
42
|
+
padding: '8px 16px',
|
|
43
|
+
margin: '0 2px',
|
|
44
|
+
border: isActive ? '2px solid #0078d4' : '1px solid #ccc',
|
|
45
|
+
borderRadius: '6px',
|
|
46
|
+
background: isActive ? '#e6f2ff' : '#fff',
|
|
47
|
+
color: isActive ? '#0078d4' : '#333',
|
|
48
|
+
cursor: 'pointer',
|
|
49
|
+
fontSize: '13px',
|
|
50
|
+
fontWeight: isActive ? '600' : '400',
|
|
51
|
+
transition: 'all 0.2s ease',
|
|
52
|
+
outline: 'none',
|
|
53
|
+
userSelect: 'none',
|
|
54
|
+
whiteSpace: 'nowrap'
|
|
55
|
+
});
|
|
56
|
+
const getHashValue = () => {
|
|
57
|
+
switch (selectedHash) {
|
|
58
|
+
case 'sha256': return signerInfo?.shA256;
|
|
59
|
+
case 'sha1': return signerInfo?.shA1;
|
|
60
|
+
case 'sha256base64': return signerInfo?.shA256Base64;
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
const getHashLabel = () => {
|
|
64
|
+
switch (selectedHash) {
|
|
65
|
+
case 'sha256': return 'SHA-256';
|
|
66
|
+
case 'sha1': return 'SHA-1';
|
|
67
|
+
case 'sha256base64': return 'SHA-256 (Base64)';
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
const copyToClipboard = async () => {
|
|
71
|
+
const value = getHashValue();
|
|
72
|
+
if (value) {
|
|
73
|
+
try {
|
|
74
|
+
await navigator.clipboard.writeText(value);
|
|
75
|
+
setCopiedHash(true);
|
|
76
|
+
setTimeout(() => setCopiedHash(false), 2000);
|
|
77
|
+
}
|
|
78
|
+
catch (err) {
|
|
79
|
+
console.error('Failed to copy:', err);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
if (error) {
|
|
84
|
+
return (_jsx("div", { style: {
|
|
85
|
+
padding: '20px',
|
|
86
|
+
textAlign: 'center',
|
|
87
|
+
color: '#d32f2f',
|
|
88
|
+
background: '#ffebee',
|
|
89
|
+
borderRadius: '8px'
|
|
90
|
+
}, children: error }));
|
|
91
|
+
}
|
|
92
|
+
if (!signerInfo) {
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
return (_jsxs("div", { style: { lineHeight: "1.5em", overflowY: "auto", maxHeight: "500px", paddingRight: "8px", boxSizing: "border-box", userSelect: 'text' }, children: [signerInfo.shA256 && (_jsxs("div", { style: {
|
|
96
|
+
marginBottom: '12px',
|
|
97
|
+
padding: '16px',
|
|
98
|
+
background: '#f5f5f5',
|
|
99
|
+
borderRadius: '8px',
|
|
100
|
+
border: '1px solid #e0e0e0'
|
|
101
|
+
}, children: [_jsxs("div", { style: { marginBottom: '12px', display: 'flex', gap: '4px', flexWrap: 'wrap' }, children: [signerInfo.shA256 && (_jsx("button", { onClick: () => setSelectedHash('sha256'), style: hashButtonStyle(selectedHash === 'sha256'), children: "SHA-256" })), signerInfo.shA1 && (_jsx("button", { onClick: () => setSelectedHash('sha1'), style: hashButtonStyle(selectedHash === 'sha1'), children: "SHA-1" })), signerInfo.shA256Base64 && (_jsx("button", { onClick: () => setSelectedHash('sha256base64'), style: hashButtonStyle(selectedHash === 'sha256base64'), children: "Base64" }))] }), _jsxs("div", { style: {
|
|
102
|
+
background: '#fff',
|
|
103
|
+
padding: '12px',
|
|
104
|
+
borderRadius: '6px',
|
|
105
|
+
wordBreak: 'break-all',
|
|
106
|
+
fontSize: '12px',
|
|
107
|
+
border: '1px solid #d0d0d0',
|
|
108
|
+
userSelect: 'text',
|
|
109
|
+
}, children: [_jsxs("div", { style: { display: 'flex', alignItems: 'center', justifyContent: 'space-between', marginBottom: '6px' }, children: [_jsxs("strong", { style: { color: '#0078d4', fontSize: '14px' }, children: [getHashLabel(), ":"] }), _jsxs("button", { onClick: copyToClipboard, style: {
|
|
110
|
+
background: copiedHash ? '#d4edda' : 'transparent',
|
|
111
|
+
border: 'none',
|
|
112
|
+
cursor: 'pointer',
|
|
113
|
+
padding: '4px 8px',
|
|
114
|
+
borderRadius: '4px',
|
|
115
|
+
display: 'flex',
|
|
116
|
+
alignItems: 'center',
|
|
117
|
+
gap: '4px',
|
|
118
|
+
transition: 'all 0.2s ease',
|
|
119
|
+
color: copiedHash ? '#155724' : '#666'
|
|
120
|
+
}, title: "Copia", children: [_jsx(IconCopy, { width: 16, height: 16 }), copiedHash && _jsx("span", { style: { fontSize: '11px' }, children: "Copiato" })] })] }), _jsx("div", { style: { color: '#333' }, children: getHashValue() })] })] })), signerInfo.signers && signerInfo.signers.length > 0 ? (_jsxs("div", { children: [_jsxs("h4", { style: { margin: '0 0 12px 0', color: '#0078d4', fontSize: '16px' }, children: ["Firme digitali (", signerInfo.signers.length, ")"] }), signerInfo.signers.map((signer, idx) => (_jsxs("div", { style: {
|
|
121
|
+
border: "1px solid #d0d0d0",
|
|
122
|
+
borderRadius: "8px",
|
|
123
|
+
padding: "16px",
|
|
124
|
+
marginBottom: "12px",
|
|
125
|
+
background: "linear-gradient(135deg, #ffffff 0%, #f9f9f9 100%)",
|
|
126
|
+
boxShadow: "0 2px 4px rgba(0,0,0,0.08)",
|
|
127
|
+
userSelect: 'text',
|
|
128
|
+
}, children: [_jsxs("h3", { style: { margin: "0 0 12px", color: "#0078d4", fontSize: '15px', fontWeight: '600' }, children: ["Firma ", signer.levelAndIndex] }), _jsxs("div", { style: {
|
|
129
|
+
display: 'grid',
|
|
130
|
+
gap: '10px',
|
|
131
|
+
fontSize: '13px'
|
|
132
|
+
}, children: [_jsxs("div", { children: [_jsx("strong", { style: { color: '#555' }, children: "Intestatario:" }), _jsx("div", { style: { marginTop: '4px', color: '#333' }, children: signer.info1 ?? '-' })] }), _jsxs("div", { children: [_jsx("strong", { style: { color: '#555' }, children: "Riferimento temporale:" }), _jsx("div", { style: { marginTop: '4px', color: '#333' }, children: signer.info2 ?? '-' })] }), _jsxs("div", { children: [_jsx("strong", { style: { color: '#555' }, children: "Dettagli:" }), _jsx("div", { style: { marginTop: '4px', color: '#333' }, children: signer.info3 ?? '-' })] })] })] }, idx)))] })) : (_jsx("div", { style: {
|
|
133
|
+
padding: '20px',
|
|
134
|
+
textAlign: 'center',
|
|
135
|
+
color: '#666',
|
|
136
|
+
background: '#f5f5f5',
|
|
137
|
+
borderRadius: '8px'
|
|
138
|
+
}, children: "Nessuna firma trovata" }))] }));
|
|
139
|
+
};
|
|
140
|
+
export default TMSignatureInfoContent;
|
|
@@ -3,6 +3,8 @@ import { TMEndpointsType } from './TMLoginForm';
|
|
|
3
3
|
export interface LoginData {
|
|
4
4
|
endpoint: TMEndpointsType;
|
|
5
5
|
dcmtArchive: ArchiveDescriptor;
|
|
6
|
+
manualArchiveID?: string;
|
|
7
|
+
hasArchives?: boolean;
|
|
6
8
|
authenticationMode: AuthenticationModes;
|
|
7
9
|
username?: string;
|
|
8
10
|
password?: string;
|
|
@@ -27,8 +27,13 @@ export class LoginValidator {
|
|
|
27
27
|
if (!data.endpoint?.Description?.trim()) {
|
|
28
28
|
addError("endpoint", SDKUI_Localizator.RequiredField);
|
|
29
29
|
}
|
|
30
|
-
if (
|
|
31
|
-
|
|
30
|
+
if (data.hasArchives) {
|
|
31
|
+
if (!data.dcmtArchive?.description?.trim()) {
|
|
32
|
+
addError("dcmtArchive", SDKUI_Localizator.RequiredField);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
else if (!data.manualArchiveID?.trim()) {
|
|
36
|
+
addError("manualArchiveID", SDKUI_Localizator.RequiredField);
|
|
32
37
|
}
|
|
33
38
|
if (!data.authenticationMode || data.authenticationMode === AuthenticationModes.None) {
|
|
34
39
|
addError("authenticationMode", SDKUI_Localizator.RequiredField);
|
|
@@ -8,6 +8,7 @@ import frMessages from "devextreme/localization/messages/fr.json";
|
|
|
8
8
|
import itMessages from "devextreme/localization/messages/it.json";
|
|
9
9
|
import ptMessages from "devextreme/localization/messages/pt.json";
|
|
10
10
|
import { locale as dxlocale, loadMessages } from "devextreme/localization";
|
|
11
|
+
import { devextremeCustomMessages } from "../../../helper/devextremeCustomMessages";
|
|
11
12
|
import styled from "styled-components";
|
|
12
13
|
import Menu from "./Menu";
|
|
13
14
|
import TextBox from "./TextBox";
|
|
@@ -81,6 +82,7 @@ export const useCultureID = ({ cultureID = CultureIDs.It_IT }) => {
|
|
|
81
82
|
loadMessages(frMessages);
|
|
82
83
|
loadMessages(itMessages);
|
|
83
84
|
loadMessages(ptMessages);
|
|
85
|
+
loadMessages(devextremeCustomMessages); // Fix traduzioni mancanti in DevExtreme
|
|
84
86
|
}, []);
|
|
85
87
|
return (currentCultureID);
|
|
86
88
|
};
|
|
@@ -111,6 +113,7 @@ const TMLoginForm = (props) => {
|
|
|
111
113
|
const [showCultureIDs, setShowCultureIDs] = useState(false);
|
|
112
114
|
const [dcmtArchives, setDcmtArchives] = useState([]);
|
|
113
115
|
const [dcmtArchive, setDcmtArchive] = useState();
|
|
116
|
+
const [manualArchiveID, setManualArchiveID] = useState('');
|
|
114
117
|
const [authMode, setAuthMode] = useState(AuthenticationModes.TopMedia);
|
|
115
118
|
const [username, setUsername] = useState('SysAdmin');
|
|
116
119
|
const [password, setPassword] = useState('');
|
|
@@ -131,6 +134,8 @@ const TMLoginForm = (props) => {
|
|
|
131
134
|
authenticationMode: authMode,
|
|
132
135
|
cultureID: props.cultureID ?? CultureIDs.It_IT,
|
|
133
136
|
dcmtArchive: dcmtArchive,
|
|
137
|
+
manualArchiveID: manualArchiveID,
|
|
138
|
+
hasArchives: dcmtArchives.length > 0,
|
|
134
139
|
endpoint: endpoint,
|
|
135
140
|
authDomain: authDomain,
|
|
136
141
|
authDomainOnBehalfOf: authDomain,
|
|
@@ -142,7 +147,7 @@ const TMLoginForm = (props) => {
|
|
|
142
147
|
username: username,
|
|
143
148
|
usernameOnBehalfOf: usernameOnBehalf
|
|
144
149
|
};
|
|
145
|
-
}, [authMode, props.cultureID, dcmtArchive, endpoint, authDomain, otpCode, password, passwordOnBehalf, saveLoginName, saveLoginEnable, username, usernameOnBehalf]);
|
|
150
|
+
}, [authMode, props.cultureID, dcmtArchive, manualArchiveID, dcmtArchives.length, endpoint, authDomain, otpCode, password, passwordOnBehalf, saveLoginName, saveLoginEnable, username, usernameOnBehalf]);
|
|
146
151
|
const inputRefs = useMemo(() => {
|
|
147
152
|
switch (authMode) {
|
|
148
153
|
case AuthenticationModes.TopMedia:
|
|
@@ -302,7 +307,7 @@ const TMLoginForm = (props) => {
|
|
|
302
307
|
}, []);
|
|
303
308
|
const disableContinueBtn = useMemo(() => {
|
|
304
309
|
switch (loginStep) {
|
|
305
|
-
case 1: return fieldValidations('endpoint').length > 0 || fieldValidations('dcmtArchive').length > 0;
|
|
310
|
+
case 1: return fieldValidations('endpoint').length > 0 || fieldValidations('dcmtArchive').length > 0 || fieldValidations('manualArchiveID').length > 0;
|
|
306
311
|
case 2: return fieldValidations('authenticationMode').length > 0 || fieldValidations('username').length > 0 || fieldValidations('password').length > 0;
|
|
307
312
|
default: return false;
|
|
308
313
|
}
|
|
@@ -321,8 +326,13 @@ const TMLoginForm = (props) => {
|
|
|
321
326
|
return tmSession;
|
|
322
327
|
}, [endpoint, username, dcmtArchive]);
|
|
323
328
|
const nextStepHandler = async () => {
|
|
324
|
-
if (!endpoint || !dcmtArchive)
|
|
329
|
+
if (!endpoint || (!dcmtArchive && !manualArchiveID))
|
|
325
330
|
return;
|
|
331
|
+
if (loginStep === 1 && !dcmtArchive && manualArchiveID) {
|
|
332
|
+
const isValid = await validateManualArchiveAsync();
|
|
333
|
+
if (!isValid)
|
|
334
|
+
return;
|
|
335
|
+
}
|
|
326
336
|
if (loginStep === 1) {
|
|
327
337
|
setLoginStep(2);
|
|
328
338
|
}
|
|
@@ -349,6 +359,23 @@ const TMLoginForm = (props) => {
|
|
|
349
359
|
return;
|
|
350
360
|
setLoginStep(prev => prev - 1);
|
|
351
361
|
}, [loginStep]);
|
|
362
|
+
const validateManualArchiveAsync = async () => {
|
|
363
|
+
if (!tmSession || !manualArchiveID)
|
|
364
|
+
return false;
|
|
365
|
+
try {
|
|
366
|
+
TMSpinner.show({ description: '' });
|
|
367
|
+
const archiveEngine = tmSession.NewArchiveEngine();
|
|
368
|
+
await archiveEngine.RetrieveAsync(manualArchiveID);
|
|
369
|
+
return true;
|
|
370
|
+
}
|
|
371
|
+
catch (e) {
|
|
372
|
+
TMExceptionBoxManager.show({ exception: e });
|
|
373
|
+
return false;
|
|
374
|
+
}
|
|
375
|
+
finally {
|
|
376
|
+
TMSpinner.hide();
|
|
377
|
+
}
|
|
378
|
+
};
|
|
352
379
|
const getArchivesAsync = async () => {
|
|
353
380
|
if (!tmSession)
|
|
354
381
|
return;
|
|
@@ -392,7 +419,7 @@ const TMLoginForm = (props) => {
|
|
|
392
419
|
const sdInput = {
|
|
393
420
|
authenticationMode: authMode,
|
|
394
421
|
appModuleID: props.appModule,
|
|
395
|
-
archiveID: dcmtArchive?.id,
|
|
422
|
+
archiveID: dcmtArchive?.id ?? (dcmtArchives.length === 0 && manualArchiveID ? manualArchiveID : undefined),
|
|
396
423
|
description: dcmtArchive?.description,
|
|
397
424
|
userName: username,
|
|
398
425
|
password: password,
|
|
@@ -594,7 +621,7 @@ const TMLoginForm = (props) => {
|
|
|
594
621
|
}
|
|
595
622
|
}, [SDK_Globals.appModule]);
|
|
596
623
|
return (_jsxs(StyledWrapper, { children: [!isMobile && _jsxs(StyledVersionContainer, { children: [_jsxs(StyledVersion, { children: [_jsxs(StyledVersionName, { children: [_jsx("span", { style: { color: TMColors.primary }, children: "\u25CF" }), SDK_Globals.appModule] }), _jsxs("p", { children: ["v.", SDK_Globals.appVersion] })] }), _jsxs(StyledVersion, { children: [_jsxs(StyledVersionName, { children: [_jsx("span", { style: { color: TMColors.tertiary }, children: "\u25CF" }), "SDKUI"] }), _jsxs("p", { children: ["v.", SDK_Globals.sdkuiVersion] })] }), _jsxs(StyledVersion, { children: [_jsxs(StyledVersionName, { children: [_jsx("span", { style: { color: TMColors.error }, children: "\u25CF" }), "SDK"] }), _jsxs("p", { children: ["v.", SDK_Globals.sdkVersion] })] })] }), _jsxs(StyledLoginContainer, { "$isMobile": isMobile, children: [_jsxs(StyledLeftSection, { "$isMobile": isMobile, "$isConnector": props.isConnector ?? false, children: [isMobile && _jsxs(StyledTopBar, { children: [_jsx(StyledTitle, { children: SDKUI_Localizator.WelcomeTo.replaceParams('') + ' ' + welcomeAppNameHeader + ' ' + 'v.' + SDK_Globals.appVersion }), _jsx(StyledMobileVersionIcon, { onClick: showVersionPopup, children: _jsx(IconInfo, { fontSize: 20, color: TMColors.primary }) })] }), _jsx(StyledOverlay, { "$isMobile": isMobile, children: _jsx(StyledCustomLogo, { style: { backgroundImage: `url(${showDefaultLogo ? 'logo-default.svg' : 'logo-custom.svg'})` } }) }), (windowHeight === WindowHeight.LARGE || !isMobile) && _jsxs(StyledPoweredByContainer, { "$isMobile": isMobile, children: [" ", showDefaultLogo ? 'Powered by TopConsult' : _jsx("img", { src: "/logo-default.svg", alt: "Logo", width: isMobile ? 50 : 100 }), " "] })] }), _jsxs(StyledRightSection, { "$isMobile": isMobile, children: [((((getDeviceType() === 'desktop' || isDesktop || isTablet) && windowHeight !== WindowHeight.SMALL)) && !isMobile) && _jsxs(StyledLogoContainer, { "$isMobile": isMobile, children: [_jsx(StyledWelcomeText, { children: SDKUI_Localizator.WelcomeTo.replaceParams('') }), _jsx(StyledLogo, { children: _jsx("img", { src: six, alt: "six", height: 50 }) }), _jsx(StyledWelcomeText, { children: welcomeAppName })] }), _jsxs(StyledToolbarContainer, { children: [_jsx(StyledLanguageChooser, { onClick: () => setShowCultureIDs(true), children: _jsx(TMTooltip, { content: SDKUI_Localizator.CultureID, children: _jsx("img", { src: getCultureIDImg(), alt: "Lang", width: 25, height: 25 }) }) }), loginStep !== 3 && _jsx(TMButton, { btnStyle: "icon", onClick: () => setShowRapidAccess(true), icon: _jsx(IconFastAccess, { fontSize: 20 }), caption: LOGINLocalizator.QuickAccess }), showPasswordOperations && _jsx(TMButton, { disabled: disablePasswordOperations, btnStyle: "icon", onClick: () => setShowChangePassword(true), icon: _jsx(IconPasswordOutline, { fontSize: 19 }), caption: SDKUI_Localizator.ChangePassword })] }), _jsxs(StyledFormContainer, { "$isMobile": isMobile, "$windowHeight": windowHeight, children: [loginStep === 1 &&
|
|
597
|
-
_jsxs(StyledStepContainer, { "$deviceType": deviceType, children: [_jsx(Chooser, { isDropDown: isDesktop, dataSource: props.endpoints, value: 'Description', columns: accessPointChooserColumns, additionalIcons: accessPointAdditionalIcons, icon: _jsx(IconAccessPoint, {}), label: SDKUI_Localizator.Endpoint, onSelectionChanged: (ep) => { setEndpoint(ep); setDcmtArchive(undefined); }, validationItems: fieldValidations('endpoint'), selectedRow: endpoint ?? undefined }), _jsx(Chooser, { isDropDown: isDesktop, dataSource: dcmtArchives, value: 'description', columns: dcmtArchiveChooserColumns, icon: _jsx(IconArchiveDoc, {}), label: SDKUI_Localizator.ArchiveID, onSelectionChanged: (arch) => setDcmtArchive(arch), validationItems: fieldValidations('dcmtArchive'), disabled: !endpoint, selectedRow: dcmtArchive ?? undefined })] }), loginStep === 2 &&
|
|
624
|
+
_jsxs(StyledStepContainer, { "$deviceType": deviceType, children: [_jsx(Chooser, { isDropDown: isDesktop, dataSource: props.endpoints, value: 'Description', columns: accessPointChooserColumns, additionalIcons: accessPointAdditionalIcons, icon: _jsx(IconAccessPoint, {}), label: SDKUI_Localizator.Endpoint, onSelectionChanged: (ep) => { setEndpoint(ep); setDcmtArchive(undefined); }, validationItems: fieldValidations('endpoint'), selectedRow: endpoint ?? undefined }), dcmtArchives.length > 0 ? (_jsx(Chooser, { isDropDown: isDesktop, dataSource: dcmtArchives, value: 'description', columns: dcmtArchiveChooserColumns, icon: _jsx(IconArchiveDoc, {}), label: SDKUI_Localizator.ArchiveID, onSelectionChanged: (arch) => setDcmtArchive(arch), validationItems: fieldValidations('dcmtArchive'), disabled: !endpoint, selectedRow: dcmtArchive ?? undefined })) : (_jsx(TextBox, { type: "text", icon: _jsx(IconArchiveDoc, {}), label: SDKUI_Localizator.ArchiveID, value: manualArchiveID, onValueChanged: (value) => setManualArchiveID(value), validationItems: fieldValidations('manualArchiveID'), disabled: !endpoint, placeHolder: 'Inserisci archivio' }))] }), loginStep === 2 &&
|
|
598
625
|
_jsxs(_Fragment, { children: [_jsxs(StyledSummaryContainer, { style: {
|
|
599
626
|
display: 'flex',
|
|
600
627
|
justifyContent: 'center',
|
|
@@ -604,7 +631,7 @@ const TMLoginForm = (props) => {
|
|
|
604
631
|
marginBottom: windowHeight === WindowHeight.SMALL ? '30px' : '25px',
|
|
605
632
|
width: '100%',
|
|
606
633
|
minHeight: '15px'
|
|
607
|
-
}, children: [_jsxs(StyledDescription, { children: [_jsx(TMTooltip, { content: SDKUI_Localizator.Endpoint, children: _jsx(IconAccessPoint, { color: TMColors.primary, fontSize: 16 }) }), _jsx(TMTooltip, { content: endpoint?.Description ?? '', children: _jsx("p", { children: endpoint?.Description && endpoint.Description.length > 20 ? endpoint.Description.substring(0, 20) + '...' : endpoint?.Description }) })] }), _jsxs(StyledDescription, { children: [_jsx(TMTooltip, { content: SDKUI_Localizator.ArchiveID, children: _jsx(IconArchiveDoc, { color: TMColors.primary, fontSize: 16 }) }), _jsx(TMTooltip, { content: dcmtArchive
|
|
634
|
+
}, children: [_jsxs(StyledDescription, { children: [_jsx(TMTooltip, { content: SDKUI_Localizator.Endpoint, children: _jsx(IconAccessPoint, { color: TMColors.primary, fontSize: 16 }) }), _jsx(TMTooltip, { content: endpoint?.Description ?? '', children: _jsx("p", { children: endpoint?.Description && endpoint.Description.length > 20 ? endpoint.Description.substring(0, 20) + '...' : endpoint?.Description }) })] }), _jsxs(StyledDescription, { children: [_jsx(TMTooltip, { content: SDKUI_Localizator.ArchiveID, children: _jsx(IconArchiveDoc, { color: TMColors.primary, fontSize: 16 }) }), _jsx(TMTooltip, { content: dcmtArchive ? (dcmtArchive.description ?? '') : manualArchiveID, children: _jsx(StyledArchiveText, { children: dcmtArchive ? (dcmtArchive.description ?? '') : manualArchiveID }) })] })] }), _jsxs(StyledStepContainer, { "$windowHeight": windowHeight, "$deviceType": deviceType, children: [_jsx(SelectBox, { value: authMode, options: authModeOptions, onValueChanged: (value) => setAuthMode(value), validationItems: fieldValidations('authenticationMode'), icon: _jsx(IconLogin, {}), label: SDKUI_Localizator.AuthMode }), _jsxs(StyledCredentialWrapper, { children: [authMode === AuthenticationModes.WindowsThroughTopMedia && _jsx(TextBox, { ref: authDomainRef, value: authDomain, onValueChanged: (e) => setAuthDomain(e), validationItems: fieldValidations('authDomain'), type: "text", icon: _jsx(IconWeb, {}), label: SDKUI_Localizator.Domain }), authMode !== AuthenticationModes.MSAzure && _jsx(CeredentialContainer, { isMobile: isMobile, ref: usernameRef, secondaryRef: passwordRef, usernameValidator: fieldValidations('username'), passwordValidator: fieldValidations('password'), authMode: authMode, username: username, password: password, onUsernameChanged: (un) => setUsername(un), onPasswordChanged: (ps) => setPassword(ps) }), authMode === AuthenticationModes.TopMediaOnBehalfOf &&
|
|
608
635
|
_jsxs(StyledCredentialWrapper, { children: [_jsx(TextBox, { value: authDomain, ref: authDomainRef, onValueChanged: (e) => setAuthDomain(e), validationItems: fieldValidations('authDomain'), type: "text", icon: _jsx(IconWeb, {}), label: SDKUI_Localizator.Domain }), _jsx(CeredentialContainer, { isMobile: isMobile, ref: usernameOnBehalfOfRef, secondaryRef: passwordOnBehalfOfRRef, usernameValidator: fieldValidations('usernameOnBehalfOf'), passwordValidator: fieldValidations('passwordOnBehalfOf'), authMode: AuthenticationModes.TopMediaOnBehalfOf, username: usernameOnBehalf, password: passwordOnBehalf, onUsernameChanged: (un) => setUsernameOnBehalf(un), onPasswordChanged: (ps) => setPasswordOnBehalf(ps) })] })] }), authMode !== AuthenticationModes.TopMediaWithMFA &&
|
|
609
636
|
_jsx(RapidAccessContainer, { isSaveEnable: saveLoginEnable, name: saveLoginName, nameValidationItems: fieldValidations('rapidAccessName'), onEnableSaveChange: () => setSaveLoginEnable(!saveLoginEnable), onNameChange: (name) => setSaveLoginName(name) })] })] }), loginStep === 3 &&
|
|
610
637
|
_jsxs(StyledStepThreeContainer, { "$isMobile": isMobile, children: [_jsx(OTPReader, { isMobile: isMobile, digits: otpCode, onChange: handleDigitChange, onFullChange: handleFullChange, text: _jsxs("div", { children: [" ", LOGINLocalizator.EnterOtpInstructions, " "] }), header: '', additionalButtons: [
|
|
@@ -703,6 +730,7 @@ const StyledLogo = styled.div ` display: flex; gap: 5px; align-items: center; `;
|
|
|
703
730
|
const StyledFormContainer = styled.div ` display: flex; flex-direction: column; padding: ${props => getPadding(props.$windowHeight, props.$isMobile)} ; align-items: center; justify-content: center; gap: 10px; width: 100%; height: fit-content; max-height: calc(100% - 100px); margin-top : ${props => !props.$isMobile && props.$windowHeight === WindowHeight.MEDIUM ? '70px' : '0'} ; `;
|
|
704
731
|
const StyledButtonContainer = styled.div ` display: flex; align-items: center; justify-content: center; padding: ${props => props.$windowHeight !== WindowHeight.SMALL ? '10px' : '0'}; width: 100%; margin-top: ${props => props.$windowHeight !== WindowHeight.SMALL ? '10px' : '0'}; `;
|
|
705
732
|
const StyledDescription = styled.div ` display: flex; align-items: center; gap: 2px; `;
|
|
733
|
+
const StyledArchiveText = styled.p ` max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; `;
|
|
706
734
|
const StyledRapidLoginSave = styled.div ` display: flex; flex-direction: column; width: 100%; gap: 2px; `;
|
|
707
735
|
const StyledForgetPassword = styled.div ` position: absolute; bottom: ${props => props.$isMobile ? '15px' : '25px'}; left: 50%; transform: translateX(-50%); font-size: 0.8rem; `;
|
|
708
736
|
const StyledBackButton = styled.div ` position: absolute; top: 20px; left: 20px; `;
|
package/lib/css/tm-sdkui.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@import"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap";@import"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap";*{margin:0;padding:0;box-sizing:border-box;font-family:"Open Sans",sans-serif}.tm-tooltip-container-base,.tm-tooltip-container-base-right,.tm-tooltip-container-base-bottom,.tm-tooltip-container-base-left,.tm-tooltip-container-base-top{position:absolute;width:max-content;height:max-content;border-radius:5px;user-select:none;z-index:20000070}.tm-tooltip-container-base-top{top:-0.8rem;left:0;transform:translateY(-100%)}.tm-tooltip-container-base-left{left:-0.8rem;top:0;transform:translateX(-100%)}.tm-tooltip-container-base-bottom{bottom:-0.8rem;left:0;transform:translateY(100%)}.tm-tooltip-container-base-right{right:-0.8rem;top:0;transform:translateX(100%)}.tm-tooltip-arrow,.tm-tooltip-arrow-right,.tm-tooltip-arrow-left,.tm-tooltip-arrow-top,.tm-tooltip-arrow-bottom{position:absolute;width:0;height:0;z-index:50000}.tm-tooltip-arrow-bottom{top:-8px;left:8px;border-bottom:9px solid #fff;border-left:9px solid rgba(0,0,0,0);border-right:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-top{bottom:-8px;left:8px;border-top:9px solid #fff;border-left:9px solid rgba(0,0,0,0);border-right:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-left{top:8px;right:-8px;border-left:9px solid #fff;border-top:9px solid rgba(0,0,0,0);border-bottom:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-right{top:8px;left:-8px;border-right:9px solid #fff;border-top:9px solid rgba(0,0,0,0);border-bottom:9px solid rgba(0,0,0,0)}#user-credentials-popup .dx-accordion-item-title::before{content:none !important}*{margin:0;padding:0;box-sizing:border-box;font-family:"Open Sans",sans-serif}.tm-tooltip-container-base,.tm-tooltip-container-base-top,.tm-tooltip-container-base-left,.tm-tooltip-container-base-bottom,.tm-tooltip-container-base-right{position:absolute;width:max-content;height:max-content;border-radius:5px;user-select:none;z-index:20000070}.tm-tooltip-container-base-top{top:-0.8rem;left:0;transform:translateY(-100%)}.tm-tooltip-container-base-left{left:-0.8rem;top:0;transform:translateX(-100%)}.tm-tooltip-container-base-bottom{bottom:-0.8rem;left:0;transform:translateY(100%)}.tm-tooltip-container-base-right{right:-0.8rem;top:0;transform:translateX(100%)}.tm-tooltip-arrow,.tm-tooltip-arrow-bottom,.tm-tooltip-arrow-top,.tm-tooltip-arrow-left,.tm-tooltip-arrow-right{position:absolute;width:0;height:0;z-index:50000}.tm-tooltip-arrow-bottom{top:-8px;left:8px;border-bottom:9px solid #fff;border-left:9px solid rgba(0,0,0,0);border-right:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-top{bottom:-8px;left:8px;border-top:9px solid #fff;border-left:9px solid rgba(0,0,0,0);border-right:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-left{top:8px;right:-8px;border-left:9px solid #fff;border-top:9px solid rgba(0,0,0,0);border-bottom:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-right{top:8px;left:-8px;border-right:9px solid #fff;border-top:9px solid rgba(0,0,0,0);border-bottom:9px solid rgba(0,0,0,0)}#user-credentials-popup .dx-accordion-item-title::before{content:none !important}@keyframes show-error{0%{display:none;opacity:0;z-index:20000999}5%{display:block;opacity:1;z-index:20000999}95%{display:block;opacity:1;z-index:20000999}100%{opacity:0;display:none;z-index:20000999}}.tm-alert-animation-style{animation:show-error both;animation-timing-function:linear;animation-iteration-count:none;z-index:20000999}.tm-alert-container{position:absolute;width:100%;height:100%;z-index:20000999}@keyframes loading{from{width:0}to{width:100%}}.tm-alert-loading{width:100%;height:5px;position:absolute;bottom:0;left:0;animation:loading;animation-duration:5000ms}.tm-alert-icon{position:absolute;width:22px;height:22px;background-color:#fff;top:"20px";left:"20px";border-radius:50%;display:flex;align-items:center;justify-content:center}.dx-context-menu.dx-overlay-content{height:auto !important;max-height:none !important}.dx-context-menu .dx-menu-items-container{max-height:none !important}.custom-mentions-wrapper span.dx-mention span[contenteditable=false]>span:first-child{font-size:0;width:0;display:inline-block;overflow:hidden}.custom-mentions-wrapper span.dx-mention{color:#2559a5;font-weight:bold;background-color:rgba(0,0,0,0)}
|
|
1
|
+
@import"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap";@import"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap";*{margin:0;padding:0;box-sizing:border-box;font-family:"Open Sans",sans-serif}.tm-tooltip-container-base,.tm-tooltip-container-base-right,.tm-tooltip-container-base-bottom,.tm-tooltip-container-base-left,.tm-tooltip-container-base-top{position:absolute;width:max-content;height:max-content;border-radius:5px;user-select:none;z-index:20000070}.tm-tooltip-container-base-top{top:-0.8rem;left:0;transform:translateY(-100%)}.tm-tooltip-container-base-left{left:-0.8rem;top:0;transform:translateX(-100%)}.tm-tooltip-container-base-bottom{bottom:-0.8rem;left:0;transform:translateY(100%)}.tm-tooltip-container-base-right{right:-0.8rem;top:0;transform:translateX(100%)}.tm-tooltip-arrow,.tm-tooltip-arrow-right,.tm-tooltip-arrow-left,.tm-tooltip-arrow-top,.tm-tooltip-arrow-bottom{position:absolute;width:0;height:0;z-index:50000}.tm-tooltip-arrow-bottom{top:-8px;left:8px;border-bottom:9px solid #fff;border-left:9px solid rgba(0,0,0,0);border-right:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-top{bottom:-8px;left:8px;border-top:9px solid #fff;border-left:9px solid rgba(0,0,0,0);border-right:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-left{top:8px;right:-8px;border-left:9px solid #fff;border-top:9px solid rgba(0,0,0,0);border-bottom:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-right{top:8px;left:-8px;border-right:9px solid #fff;border-top:9px solid rgba(0,0,0,0);border-bottom:9px solid rgba(0,0,0,0)}#user-credentials-popup .dx-accordion-item-title::before{content:none !important}*{margin:0;padding:0;box-sizing:border-box;font-family:"Open Sans",sans-serif}.tm-tooltip-container-base,.tm-tooltip-container-base-top,.tm-tooltip-container-base-left,.tm-tooltip-container-base-bottom,.tm-tooltip-container-base-right{position:absolute;width:max-content;height:max-content;border-radius:5px;user-select:none;z-index:20000070}.tm-tooltip-container-base-top{top:-0.8rem;left:0;transform:translateY(-100%)}.tm-tooltip-container-base-left{left:-0.8rem;top:0;transform:translateX(-100%)}.tm-tooltip-container-base-bottom{bottom:-0.8rem;left:0;transform:translateY(100%)}.tm-tooltip-container-base-right{right:-0.8rem;top:0;transform:translateX(100%)}.tm-tooltip-arrow,.tm-tooltip-arrow-bottom,.tm-tooltip-arrow-top,.tm-tooltip-arrow-left,.tm-tooltip-arrow-right{position:absolute;width:0;height:0;z-index:50000}.tm-tooltip-arrow-bottom{top:-8px;left:8px;border-bottom:9px solid #fff;border-left:9px solid rgba(0,0,0,0);border-right:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-top{bottom:-8px;left:8px;border-top:9px solid #fff;border-left:9px solid rgba(0,0,0,0);border-right:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-left{top:8px;right:-8px;border-left:9px solid #fff;border-top:9px solid rgba(0,0,0,0);border-bottom:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-right{top:8px;left:-8px;border-right:9px solid #fff;border-top:9px solid rgba(0,0,0,0);border-bottom:9px solid rgba(0,0,0,0)}#user-credentials-popup .dx-accordion-item-title::before{content:none !important}@keyframes show-error{0%{display:none;opacity:0;z-index:20000999}5%{display:block;opacity:1;z-index:20000999}95%{display:block;opacity:1;z-index:20000999}100%{opacity:0;display:none;z-index:20000999}}.tm-alert-animation-style{animation:show-error both;animation-timing-function:linear;animation-iteration-count:none;z-index:20000999}.tm-alert-container{position:absolute;width:100%;height:100%;z-index:20000999}@keyframes loading{from{width:0}to{width:100%}}.tm-alert-loading{width:100%;height:5px;position:absolute;bottom:0;left:0;animation:loading;animation-duration:5000ms}.tm-alert-icon{position:absolute;width:22px;height:22px;background-color:#fff;top:"20px";left:"20px";border-radius:50%;display:flex;align-items:center;justify-content:center}.dx-context-menu.dx-overlay-content{height:auto !important;max-height:none !important}.dx-context-menu .dx-menu-items-container{max-height:none !important}.custom-mentions-wrapper span.dx-mention span[contenteditable=false]>span:first-child{font-size:0;width:0;display:inline-block;overflow:hidden}.custom-mentions-wrapper span.dx-mention{color:#2559a5;font-weight:bold;background-color:rgba(0,0,0,0)}.dx-treeview-node.dx-treeview-item-with-checkbox.dx-state-selected.dx-treeview-root-node.dx-treeview-node-is-leaf[aria-disabled=true]{display:none !important}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { InvoiceRetrieveFormats, ObjectClasses, OrderRetrieveFormats } from "@topconsultnpm/sdk-ts";
|
|
2
|
+
import { CheckoutInfo } from "./checkinCheckoutManager";
|
|
2
3
|
export declare const dcmtsFileCacheDownload: Map<string, File>;
|
|
3
4
|
export declare const dcmtsFileCachePreview: Map<string, File>;
|
|
4
5
|
export declare const CACHE_SIZE_LIMIT = 10;
|
|
@@ -16,8 +17,8 @@ export declare class UserSettings {
|
|
|
16
17
|
searchSettings: SearchSettings;
|
|
17
18
|
themeSettings: ThemeSettings;
|
|
18
19
|
dcmtFormSettings: DcmtFormSettings[];
|
|
19
|
-
wgDraftCheckoutInfo:
|
|
20
|
-
dcmtCheckoutInfo:
|
|
20
|
+
wgDraftCheckoutInfo: CheckoutInfo[];
|
|
21
|
+
dcmtCheckoutInfo: CheckoutInfo[];
|
|
21
22
|
defaultCheckInOutFolder: string;
|
|
22
23
|
constructor(skipCssUpdate?: boolean);
|
|
23
24
|
/** Load settings from local storage or other sources */
|
|
@@ -53,6 +54,16 @@ export declare class SearchSettings {
|
|
|
53
54
|
mruTIDs: number[];
|
|
54
55
|
defaultTree: number;
|
|
55
56
|
previewThreshold: number;
|
|
57
|
+
floatingMenuBar: FloatingMenuBarSettings;
|
|
58
|
+
}
|
|
59
|
+
export declare class FloatingMenuBarSettings {
|
|
60
|
+
orientation: 'horizontal' | 'vertical';
|
|
61
|
+
pinnedItemIds: string[];
|
|
62
|
+
itemIds: string[];
|
|
63
|
+
position: {
|
|
64
|
+
x: number;
|
|
65
|
+
y: number;
|
|
66
|
+
};
|
|
56
67
|
}
|
|
57
68
|
export declare class ArchivingSettings {
|
|
58
69
|
mruTIDs: number[];
|
|
@@ -86,18 +97,6 @@ export declare class DcmtFormSettings {
|
|
|
86
97
|
};
|
|
87
98
|
};
|
|
88
99
|
}
|
|
89
|
-
export interface WgDraftCheckoutInfo {
|
|
90
|
-
DID: string;
|
|
91
|
-
TID: string;
|
|
92
|
-
checkoutFolder: string;
|
|
93
|
-
checkoutName: string;
|
|
94
|
-
}
|
|
95
|
-
export interface DcmtCheckoutInfo {
|
|
96
|
-
DID: string;
|
|
97
|
-
TID: string;
|
|
98
|
-
checkoutFolder: string;
|
|
99
|
-
checkoutName: string;
|
|
100
|
-
}
|
|
101
100
|
export declare class SDKUI_Globals {
|
|
102
101
|
static userSettings: UserSettings;
|
|
103
102
|
}
|
|
@@ -98,6 +98,15 @@ export class SearchSettings {
|
|
|
98
98
|
this.mruTIDs = [];
|
|
99
99
|
this.defaultTree = -1;
|
|
100
100
|
this.previewThreshold = 500; // KB
|
|
101
|
+
this.floatingMenuBar = new FloatingMenuBarSettings();
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
export class FloatingMenuBarSettings {
|
|
105
|
+
constructor() {
|
|
106
|
+
this.orientation = 'horizontal';
|
|
107
|
+
this.pinnedItemIds = [];
|
|
108
|
+
this.itemIds = [];
|
|
109
|
+
this.position = { x: 10, y: globalThis.window?.innerHeight ? globalThis.window.innerHeight - 215 : 100 };
|
|
101
110
|
}
|
|
102
111
|
}
|
|
103
112
|
export class ArchivingSettings {
|
|
@@ -33,6 +33,7 @@ export declare class SDKUI_Localizator {
|
|
|
33
33
|
static get AllPriorities(): "Alle Prioritäten" | "All priorities" | "Todas las prioridades" | "Toutes les priorités" | "Todas as prioridades" | "Tutte le priorità";
|
|
34
34
|
static get AllStates(): "Alle Staaten" | "All states" | "Todos los estados" | "Tous les états" | "Todos os estados" | "Tutti gli stati";
|
|
35
35
|
static get Alphabetic(): "Alphabetisch" | "Alphabetic" | "Alfabético" | "Alphabétique" | "Alfabética" | "Alfabetico";
|
|
36
|
+
static get Anomalies(): "Anomalien" | "Anomalies" | "Anomalías" | "Anomalias" | "Anomalie";
|
|
36
37
|
static get Answer(): "Antwort" | "Answer" | "Respuesta" | "Réponse" | "Resposta" | "Risposta";
|
|
37
38
|
static get AnswerTooltip(): "Die Antwort kann nur bearbeitet werden, wenn der Aktivitätsstatus \"Abgeschlossen\", \"Ausstehend\" oder \"Verschoben\" ist." | "The answer can be edited only if the activity status is \"Completed\", \"Pending\", or \"Deferred\"." | "La respuesta solo se puede editar si el estado de la actividad es \"Completada\", \"Pendiente\" o \"Pospuesta\"." | "La réponse peut être modifiée uniquement si l'état de l’activité est \"Terminée\", \"En attente\" ou \"Reportée\"." | "A resposta só pode ser editada se o estado da atividade for \"Concluída\", \"Pendente\" ou \"Adiada\"." | "La risposta può essere modificata solo se lo stato dell’attività è \"Completata\", \"In attesa\" o \"Rinviata\".";
|
|
38
39
|
static get Application(): "Anwendung" | "Application" | "Aplicación" | "Aplicação" | "Applicazione";
|
|
@@ -88,7 +89,9 @@ export declare class SDKUI_Localizator {
|
|
|
88
89
|
static get ChangePassword(): "Kennwort ändern" | "Change password" | "Cambiar la contraseña" | "Changer le mot de passe" | "Alterar a senha" | "Cambia password";
|
|
89
90
|
static get CharactersRemaining(): "verbleibende Zeichen" | "characters remaining" | "caracteres restantes" | "caractères restants" | "caratteri rimanenti";
|
|
90
91
|
static get CheckIn(): "Check in" | "Enregistrement";
|
|
92
|
+
static get CheckInElementConfirm(): string;
|
|
91
93
|
static get CheckInOutSettingsNotice(): string;
|
|
94
|
+
static get CheckInSuccessMessage(): string;
|
|
92
95
|
static get Checkmark(): "Häkchen" | "Checkmark" | "Marca de verificación" | "Coche" | "Marca de verificação" | "Spunta";
|
|
93
96
|
static get CheckOut(): "Check out" | "Extraction";
|
|
94
97
|
static get CheckoutInfo(): string;
|
|
@@ -130,6 +133,7 @@ export declare class SDKUI_Localizator {
|
|
|
130
133
|
static get CreateContextualTask(): string;
|
|
131
134
|
static get CreationTime(): "Erstellungsdatum" | "Creation Time" | "Fecha creación" | "Date de création" | "Data de criação" | "Data creazione";
|
|
132
135
|
static get CultureID(): "Sprache" | "Language" | "Idioma" | "Lingue" | "Língua" | "Lingua";
|
|
136
|
+
static get Current(): "Aktuell" | "Current" | "Actual" | "Actuel" | "Atual" | "Corrente";
|
|
133
137
|
static get CurrentUserExtract(): string;
|
|
134
138
|
static get Cut(): "Ausschneiden" | "Cut" | "Cortar" | "Couper" | "Taglia";
|
|
135
139
|
static get Date(): "Datum" | "Date" | "fecha" | "Data";
|
|
@@ -215,6 +219,7 @@ export declare class SDKUI_Localizator {
|
|
|
215
219
|
static get EditorConfiguration(): string;
|
|
216
220
|
static get ElectronicInvoice(): "Elektronische Rechnung" | "Electronic invoice" | "Factura electrónica" | "Facture électronique" | "Fatura eletrônica" | "Fattura elettronica";
|
|
217
221
|
static get ElectronicOrder(): "Elektronische Bestellung" | "Electronic order" | "Orden electrónica" | "Commande électronique" | "Pedido eletrônico" | "Ordine elettronico";
|
|
222
|
+
static get ElementNameConventionError(): string;
|
|
218
223
|
static get EmailIsNotValid(): "Dies ist keine gültige e-mail Adresse" | "This is not a valid email address" | "Esta no es una dirección de correo electrónico válida." | "Cette adresse email n'est pas valide" | "Este não é um endereço de e-mail válido" | "Questo non è un indirizzo e-mail valido";
|
|
219
224
|
static get EndDateMatchesToday(): "Das Ablaufdatum entspricht dem heutigen Datum" | "The expiration date matches today's date" | "La fecha de vencimiento coincide con la fecha de hoy" | "La date d'expiration correspond à la date d'aujourd'hui" | "A data de expiração coincide com a data de hoje" | "La data di scadenza coincide con la data odierna";
|
|
220
225
|
static get EndDateSetForTomorrow(): "Das Ablaufdatum ist für morgen festgelegt" | "The expiration date is set for tomorrow" | "La fecha de vencimiento está fijada para mañana" | "La date d'expiration est fixée pour demain" | "A data de expiração está marcada para amanhã" | "La data di scadenza è imminente (ovvero fissata per domani)";
|
|
@@ -235,6 +240,7 @@ export declare class SDKUI_Localizator {
|
|
|
235
240
|
static get ExtractedFromOtherUser(): string;
|
|
236
241
|
static get ExtractedOn(): "Ausgezogen am" | "Extracted on" | "Extraído el" | "Extrait le" | "Extraído em" | "Estratto il";
|
|
237
242
|
static get EvaluateResult(): "Bewerten Sie das Ergebnis" | "Evaluate result" | "Valorar el resultado" | "Évalue les résultats" | "Avalia os resultados" | "Valuta il risultato";
|
|
243
|
+
static get Expected(): "Erwartet" | "Expected" | "Esperado" | "Attendu" | "Atteso";
|
|
238
244
|
static get Expiration(): "Ablaufdatum" | "Expiration" | "Fecha de expiración" | "Date d'expiration" | "Data de expiração" | "Scadenza";
|
|
239
245
|
static get ExpertMode(): "Expertenmodus" | "Expert mode" | "Modo experto" | "Mode expert" | "Modo especialista" | "Modalità esperto";
|
|
240
246
|
static get Expiring(): "Ablaufend" | "Expiring" | "Por vencer" | "Expirant" | "Vencendo" | "In scadenza";
|
|
@@ -493,6 +499,7 @@ export declare class SDKUI_Localizator {
|
|
|
493
499
|
static get Previous(): "Vorherige" | "Previous" | "Anterior" | "Précédent" | "Precedente";
|
|
494
500
|
static get Priority(): string;
|
|
495
501
|
static get PriorityLegend(): "Legende der Prioritäten" | "Priority Legend" | "Leyenda de prioridades" | "Légende des priorités" | "Lenda das prioridades" | "Legenda delle priorità";
|
|
502
|
+
static get ProceedAnyway(): "Dennoch fortfahren?" | "Proceed anyway?" | "¿Proceder de todos modos?" | "Procéder quand même ?" | "Prosseguir mesmo assim?" | "Procedere comunque?";
|
|
496
503
|
static get ProcessedItems(): "Durchdachte Elemente" | "Processed items" | "Elementos elaborados" | "Items traités" | "Itens processados" | "Elementi elaborati";
|
|
497
504
|
static get Properties(): "Eigenschaften" | "Properties" | "Propiedades" | "Propriétés" | "Propriedades" | "Proprietà";
|
|
498
505
|
static get QueryClear(): "Query bereinigen" | "Clear query" | "Limpiar consulta" | "Efface query" | "Limpar query" | "Pulisci query";
|
|
@@ -585,6 +592,7 @@ export declare class SDKUI_Localizator {
|
|
|
585
592
|
static get SharedDocuments(): "Gemeinsame Dokumente" | "Shared documents" | "Documentos compartidos" | "Documents partagés" | "Documentos compartilhados" | "Documenti condivisi";
|
|
586
593
|
static get Shortcuts(): "Tastenkombinationen" | "Shortcuts" | "Atajos" | "Raccourcis" | "Atalhos" | "Scorciatoie";
|
|
587
594
|
static get ShowAll(): "Alle anzeigen" | "Show all" | "Mostrar todo" | "Tout afficher" | "Mostrar tudo" | "Mostra tutti";
|
|
595
|
+
static get ShowColumnSelection(): string;
|
|
588
596
|
static get ShowFloatingBar(): string;
|
|
589
597
|
static get ShowLess(): "Weniger anzeigen" | "Show less" | "Mostrar menos" | "Afficher moins" | "Mostra meno";
|
|
590
598
|
static get Show_CompleteName(): "Vollständigen Namen anzeigen" | "View full name" | "Mostrar nombre completo" | "Afficher le nom complet" | "Mostrar nome completo" | "Visualizza nome completo";
|
|
@@ -278,6 +278,16 @@ export class SDKUI_Localizator {
|
|
|
278
278
|
default: return "Alfabetico";
|
|
279
279
|
}
|
|
280
280
|
}
|
|
281
|
+
static get Anomalies() {
|
|
282
|
+
switch (this._cultureID) {
|
|
283
|
+
case CultureIDs.De_DE: return "Anomalien";
|
|
284
|
+
case CultureIDs.En_US: return "Anomalies";
|
|
285
|
+
case CultureIDs.Es_ES: return "Anomalías";
|
|
286
|
+
case CultureIDs.Fr_FR: return "Anomalies";
|
|
287
|
+
case CultureIDs.Pt_PT: return "Anomalias";
|
|
288
|
+
default: return "Anomalie";
|
|
289
|
+
}
|
|
290
|
+
}
|
|
281
291
|
static get Answer() {
|
|
282
292
|
switch (this._cultureID) {
|
|
283
293
|
case CultureIDs.De_DE: return "Antwort";
|
|
@@ -835,6 +845,22 @@ export class SDKUI_Localizator {
|
|
|
835
845
|
default: return "Check in";
|
|
836
846
|
}
|
|
837
847
|
}
|
|
848
|
+
static get CheckInElementConfirm() {
|
|
849
|
+
switch (this._cultureID) {
|
|
850
|
+
case CultureIDs.De_DE:
|
|
851
|
+
return "Das Element '{{0}}' einchecken?";
|
|
852
|
+
case CultureIDs.En_US:
|
|
853
|
+
return "Check in the element '{{0}}'?";
|
|
854
|
+
case CultureIDs.Es_ES:
|
|
855
|
+
return "¿Realizar el check-in del elemento '{{0}}'?";
|
|
856
|
+
case CultureIDs.Fr_FR:
|
|
857
|
+
return "Effectuer le check-in de l’élément '{{0}}'?";
|
|
858
|
+
case CultureIDs.Pt_PT:
|
|
859
|
+
return "Efetuar o check-in do elemento '{{0}}'?";
|
|
860
|
+
default:
|
|
861
|
+
return "Eseguire il check-in dell’elemento '{{0}}'?";
|
|
862
|
+
}
|
|
863
|
+
}
|
|
838
864
|
static get CheckInOutSettingsNotice() {
|
|
839
865
|
switch (this._cultureID) {
|
|
840
866
|
case CultureIDs.De_DE:
|
|
@@ -852,6 +878,22 @@ export class SDKUI_Localizator {
|
|
|
852
878
|
return "Puoi modificare questa impostazione in “Ricerca → Check in/Check out” in qualsiasi momento.";
|
|
853
879
|
}
|
|
854
880
|
}
|
|
881
|
+
static get CheckInSuccessMessage() {
|
|
882
|
+
switch (this._cultureID) {
|
|
883
|
+
case CultureIDs.De_DE:
|
|
884
|
+
return "Check-in erfolgreich abgeschlossen! Löschen Sie die Datei aus dem Dateisystem.";
|
|
885
|
+
case CultureIDs.En_US:
|
|
886
|
+
return "Check-in completed successfully! Delete the document from the file system.";
|
|
887
|
+
case CultureIDs.Es_ES:
|
|
888
|
+
return "¡Check-in completado con éxito! Elimine el archivo del sistema de archivos.";
|
|
889
|
+
case CultureIDs.Fr_FR:
|
|
890
|
+
return "Check-in terminé avec succès ! Supprimez le fichier du système de fichiers.";
|
|
891
|
+
case CultureIDs.Pt_PT:
|
|
892
|
+
return "Check-in concluído com sucesso! Elimine o ficheiro do sistema de ficheiros.";
|
|
893
|
+
default:
|
|
894
|
+
return "Check-in completato con successo! Cancella il documento dal file system.";
|
|
895
|
+
}
|
|
896
|
+
}
|
|
855
897
|
static get Checkmark() {
|
|
856
898
|
switch (this._cultureID) {
|
|
857
899
|
case CultureIDs.De_DE: return "Häkchen";
|
|
@@ -1274,6 +1316,16 @@ export class SDKUI_Localizator {
|
|
|
1274
1316
|
default: return "Lingua";
|
|
1275
1317
|
}
|
|
1276
1318
|
}
|
|
1319
|
+
static get Current() {
|
|
1320
|
+
switch (this._cultureID) {
|
|
1321
|
+
case CultureIDs.De_DE: return "Aktuell";
|
|
1322
|
+
case CultureIDs.En_US: return "Current";
|
|
1323
|
+
case CultureIDs.Es_ES: return "Actual";
|
|
1324
|
+
case CultureIDs.Fr_FR: return "Actuel";
|
|
1325
|
+
case CultureIDs.Pt_PT: return "Atual";
|
|
1326
|
+
default: return "Corrente";
|
|
1327
|
+
}
|
|
1328
|
+
}
|
|
1277
1329
|
static get CurrentUserExtract() {
|
|
1278
1330
|
switch (this._cultureID) {
|
|
1279
1331
|
case CultureIDs.De_DE: return "Auszug aus dem aktuellen Benutzer und änderbar";
|
|
@@ -2093,6 +2145,22 @@ export class SDKUI_Localizator {
|
|
|
2093
2145
|
default: return "Ordine elettronico";
|
|
2094
2146
|
}
|
|
2095
2147
|
}
|
|
2148
|
+
static get ElementNameConventionError() {
|
|
2149
|
+
switch (this._cultureID) {
|
|
2150
|
+
case CultureIDs.De_DE:
|
|
2151
|
+
return "Der Name des Elements ist nicht konform";
|
|
2152
|
+
case CultureIDs.En_US:
|
|
2153
|
+
return "The element name does not comply";
|
|
2154
|
+
case CultureIDs.Es_ES:
|
|
2155
|
+
return "El nombre del elemento no es conforme";
|
|
2156
|
+
case CultureIDs.Fr_FR:
|
|
2157
|
+
return "Le nom de l’élément n’est pas conforme";
|
|
2158
|
+
case CultureIDs.Pt_PT:
|
|
2159
|
+
return "O nome do elemento não está conforme";
|
|
2160
|
+
default:
|
|
2161
|
+
return "Il nome dell’elemento non è conforme";
|
|
2162
|
+
}
|
|
2163
|
+
}
|
|
2096
2164
|
static get EmailIsNotValid() {
|
|
2097
2165
|
switch (this._cultureID) {
|
|
2098
2166
|
case CultureIDs.De_DE: return "Dies ist keine gültige e-mail Adresse";
|
|
@@ -2299,6 +2367,16 @@ export class SDKUI_Localizator {
|
|
|
2299
2367
|
default: return "Valuta il risultato";
|
|
2300
2368
|
}
|
|
2301
2369
|
}
|
|
2370
|
+
static get Expected() {
|
|
2371
|
+
switch (this._cultureID) {
|
|
2372
|
+
case CultureIDs.De_DE: return "Erwartet";
|
|
2373
|
+
case CultureIDs.En_US: return "Expected";
|
|
2374
|
+
case CultureIDs.Es_ES: return "Esperado";
|
|
2375
|
+
case CultureIDs.Fr_FR: return "Attendu";
|
|
2376
|
+
case CultureIDs.Pt_PT: return "Esperado";
|
|
2377
|
+
default: return "Atteso";
|
|
2378
|
+
}
|
|
2379
|
+
}
|
|
2302
2380
|
static get Expiration() {
|
|
2303
2381
|
switch (this._cultureID) {
|
|
2304
2382
|
case CultureIDs.De_DE: return "Ablaufdatum";
|
|
@@ -4870,6 +4948,16 @@ export class SDKUI_Localizator {
|
|
|
4870
4948
|
default: return "Legenda delle priorità";
|
|
4871
4949
|
}
|
|
4872
4950
|
}
|
|
4951
|
+
static get ProceedAnyway() {
|
|
4952
|
+
switch (this._cultureID) {
|
|
4953
|
+
case CultureIDs.De_DE: return "Dennoch fortfahren?";
|
|
4954
|
+
case CultureIDs.En_US: return "Proceed anyway?";
|
|
4955
|
+
case CultureIDs.Es_ES: return "¿Proceder de todos modos?";
|
|
4956
|
+
case CultureIDs.Fr_FR: return "Procéder quand même ?";
|
|
4957
|
+
case CultureIDs.Pt_PT: return "Prosseguir mesmo assim?";
|
|
4958
|
+
default: return "Procedere comunque?";
|
|
4959
|
+
}
|
|
4960
|
+
}
|
|
4873
4961
|
static get ProcessedItems() {
|
|
4874
4962
|
switch (this._cultureID) {
|
|
4875
4963
|
case CultureIDs.De_DE: return "Durchdachte Elemente";
|
|
@@ -5798,6 +5886,16 @@ export class SDKUI_Localizator {
|
|
|
5798
5886
|
default: return "Mostra tutti";
|
|
5799
5887
|
}
|
|
5800
5888
|
}
|
|
5889
|
+
static get ShowColumnSelection() {
|
|
5890
|
+
switch (this._cultureID) {
|
|
5891
|
+
case CultureIDs.De_DE: return "Spaltenauswahl anzeigen";
|
|
5892
|
+
case CultureIDs.En_US: return "Show column selection";
|
|
5893
|
+
case CultureIDs.Es_ES: return "Mostrar selección de columnas";
|
|
5894
|
+
case CultureIDs.Fr_FR: return "Afficher la sélection de colonnes";
|
|
5895
|
+
case CultureIDs.Pt_PT: return "Mostrar seleção de colunas";
|
|
5896
|
+
default: return "Mostra selezione colonne";
|
|
5897
|
+
}
|
|
5898
|
+
}
|
|
5801
5899
|
static get ShowFloatingBar() {
|
|
5802
5900
|
switch (this._cultureID) {
|
|
5803
5901
|
case CultureIDs.De_DE: return "Floating-Leiste anzeigen";
|