@topconsultnpm/sdkui-react 6.19.0-dev2.40 → 6.19.0-dev2.41
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/base/TMModal.d.ts +1 -0
- package/lib/components/base/TMModal.js +2 -2
- package/lib/components/features/blog/TMBlogCommentForm.d.ts +1 -2
- package/lib/components/features/blog/TMBlogCommentForm.js +15 -6
- package/lib/components/forms/TMSaveForm.js +2 -2
- package/lib/helper/SDKUI_Localizator.d.ts +1 -0
- package/lib/helper/SDKUI_Localizator.js +10 -0
- package/lib/ts/types.d.ts +1 -0
- package/package.json +1 -1
|
@@ -38,7 +38,7 @@ const StyledModalContext = styled.div `
|
|
|
38
38
|
overflow: auto;
|
|
39
39
|
height: 100%;
|
|
40
40
|
`;
|
|
41
|
-
const TMModal = ({ resizable = true, isModal = true, title = '', toolbar, onClose, children, width = '100%', height = '100%', fontSize = FontSize.defaultFontSize, hidePopup = true, askClosingConfirm = false }) => {
|
|
41
|
+
const TMModal = ({ resizable = true, isModal = true, title = '', toolbar, onClose, children, width = '100%', height = '100%', fontSize = FontSize.defaultFontSize, hidePopup = true, askClosingConfirm = false, showCloseButton = true }) => {
|
|
42
42
|
const [initialWidth, setInitialWidth] = useState(width);
|
|
43
43
|
const [initialHeight, setInitialHeight] = useState(height);
|
|
44
44
|
const [showPopup, setShowPopup] = useState(false);
|
|
@@ -65,6 +65,6 @@ const TMModal = ({ resizable = true, isModal = true, title = '', toolbar, onClos
|
|
|
65
65
|
setShowPopup(false);
|
|
66
66
|
onClose && onClose();
|
|
67
67
|
};
|
|
68
|
-
return (_jsx(_Fragment, { children: isModal ? (_jsx(Popup, { showCloseButton:
|
|
68
|
+
return (_jsx(_Fragment, { children: isModal ? (_jsx(Popup, { showCloseButton: showCloseButton, animation: undefined, maxHeight: '95%', maxWidth: '95%', dragEnabled: !isResizing, resizeEnabled: resizable, width: initialWidth, height: initialHeight, title: title, visible: showPopup, onResizeStart: handleResizeStart, onResizeEnd: handleResizeEnd, onHiding: onHiding, children: _jsxs(TMLayoutContainer, { children: [toolbar && (_jsx(TMLayoutItem, { height: "40px", children: _jsx(StyledModalToolbar, { children: toolbar }) })), _jsx(TMLayoutItem, { height: toolbar ? 'calc(100% - 50px)' : 'calc(100% - 10px)', children: _jsx(TMCard, { showBorder: false, padding: false, scrollY: true, children: children }) })] }) })) : (_jsxs(StyledModal, { "$isModal": isModal, className: "temp-modal", "$fontSize": fontSize, "$width": initialWidth, "$height": initialHeight, children: [toolbar ? _jsx(StyledModalToolbar, { children: toolbar }) : _jsx(_Fragment, {}), _jsx(StyledModalContext, { children: children })] })) }));
|
|
69
69
|
};
|
|
70
70
|
export default TMModal;
|
|
@@ -9,12 +9,11 @@ interface TMBlogCommentFormProps {
|
|
|
9
9
|
removeAndEditAttachment?: boolean;
|
|
10
10
|
selectedAttachments?: Array<FileItem>;
|
|
11
11
|
selectedAttachmentDid?: Array<number>;
|
|
12
|
-
title?: string;
|
|
13
12
|
allFileItems?: FileItem;
|
|
14
13
|
allArchivedDocumentsFileItems?: Array<FileItem>;
|
|
15
|
-
onSavedCallback?: () => void;
|
|
16
14
|
onFilterCreated?: (predicate: (post: BlogPost) => boolean) => void;
|
|
17
15
|
refreshCallback?: () => Promise<void>;
|
|
16
|
+
isCommentRequired?: boolean;
|
|
18
17
|
}
|
|
19
18
|
declare const TMBlogCommentForm: (props: TMBlogCommentFormProps) => import("react/jsx-runtime").JSX.Element;
|
|
20
19
|
export default TMBlogCommentForm;
|
|
@@ -29,7 +29,7 @@ const getNonDirectoryFiles = (items, exclude) => {
|
|
|
29
29
|
};
|
|
30
30
|
const TMBlogCommentForm = (props) => {
|
|
31
31
|
const maxLength = 1000;
|
|
32
|
-
const {
|
|
32
|
+
const { participants, selectedAttachments, selectedAttachmentDid, allFileItems, allArchivedDocumentsFileItems = [], onClose, context, showAttachmentsSection = true, removeAndEditAttachment = true, onFilterCreated, refreshCallback, isCommentRequired = false } = props;
|
|
33
33
|
// Initialize state with combined array
|
|
34
34
|
const [dataSource, setDataSource] = useState(() => [...getNonDirectoryFiles(allFileItems?.items || [], []), ...allArchivedDocumentsFileItems]);
|
|
35
35
|
const [isEditorEnabled, setIsEditorEnabled] = useState(true);
|
|
@@ -171,10 +171,7 @@ const TMBlogCommentForm = (props) => {
|
|
|
171
171
|
finally {
|
|
172
172
|
// Hide the loading spinner and close the operation (e.g., close a modal or cleanup)
|
|
173
173
|
TMSpinner.hide();
|
|
174
|
-
|
|
175
|
-
onSavedCallback();
|
|
176
|
-
else
|
|
177
|
-
onClose();
|
|
174
|
+
onClose();
|
|
178
175
|
}
|
|
179
176
|
};
|
|
180
177
|
const onCloseCallback = () => {
|
|
@@ -219,7 +216,19 @@ const TMBlogCommentForm = (props) => {
|
|
|
219
216
|
// Update the state with selected draft items
|
|
220
217
|
setCurrentDraftAttachments(selectedDraftItems);
|
|
221
218
|
};
|
|
222
|
-
return _jsx(TMSaveForm, { id: 1, title:
|
|
219
|
+
return _jsx(TMSaveForm, { id: 1, title: SDKUI_Localizator.AddNewComment, showTitleFormMode: false, showErrorCount: false, customSaveButton: _jsx("i", { className: 'dx-icon-send' }), customTooltipSaveButton: SDKUI_Localizator.Send, showUndoButton: false, hasNavigation: false, skipIsModifiedCheck: true, isModal: true, width: calcResponsiveSizes(deviceType, '800px', '800px', '95%'), height: '550px', formMode: FormModes.Create, validationItems: validationItems, exception: exception, isModified: calcIsModified(formData, formDataOrig), onSaveAsync: onSaveAsync, onClose: onCloseCallback, showCloseButton: isCommentRequired ? false : true, customToolbarElements: _jsx("div", { style: { display: 'flex', gap: '2px' }, children: _jsx(TMButton, { btnStyle: "toolbar", icon: isEditorEnabled ? _jsx("i", { className: 'dx-icon-font' }) : _jsx("i", { className: 'dx-icon-background' }), caption: isEditorEnabled ? SDKUI_Localizator.HideFormattingOptions : SDKUI_Localizator.ShowFormattingOptions, onClick: toggleEditorMode }) }), children: _jsxs("div", { style: { width: "100%", height: "100%" }, children: [_jsxs("div", { style: { width: "100%", height: "100%" }, children: [_jsxs("div", { style: { width: "100%", height: showAttachmentsSection ? `calc(100% - 60px)` : '100%' }, children: [isCommentRequired && _jsx("div", { style: {
|
|
220
|
+
padding: '10px',
|
|
221
|
+
width: '100%',
|
|
222
|
+
height: '30px',
|
|
223
|
+
backgroundColor: '#e8f5e9',
|
|
224
|
+
border: '1px solid #81c784',
|
|
225
|
+
borderRadius: '4px',
|
|
226
|
+
fontSize: '13px',
|
|
227
|
+
marginBottom: '10px',
|
|
228
|
+
color: '#2e7d32',
|
|
229
|
+
display: 'flex',
|
|
230
|
+
alignItems: 'center',
|
|
231
|
+
}, children: SDKUI_Localizator.InsertCommentToCompleteOperation }), _jsx("div", { style: { width: "100%", height: isCommentRequired ? `calc(100% - 40px)` : '100%' }, children: _jsx(TMHtmlEditor, { width: '100%', height: '100%', isEditorEnabled: isEditorEnabled, validationItems: validationItems, onValueChanged: onValueChanged, mentionsConfig: mentionsConfig, autoFocus: true, maxLength: maxLength }) })] }), showAttachmentsSection && _jsxs("div", { style: { display: 'flex', alignItems: 'center', height: '60px', marginTop: '10px' }, children: [_jsx("div", { style: {
|
|
223
232
|
width: `calc(100% - ${removeAndEditAttachment ? 60 : 0}px)`,
|
|
224
233
|
overflowX: 'auto',
|
|
225
234
|
whiteSpace: 'nowrap',
|
|
@@ -11,7 +11,7 @@ import { TMColors } from '../../utils/theme';
|
|
|
11
11
|
import TMValidationItemsList from '../grids/TMValidationItemsList';
|
|
12
12
|
import TMModal from '../base/TMModal';
|
|
13
13
|
import { DeviceType, useDeviceType } from '../base/TMDeviceProvider';
|
|
14
|
-
const TMSaveForm = ({ id, formMode = FormModes.Update, showToolbar = true, skipIsModifiedCheck = false, title, children, isModal, exception, customToolbarElements, hasNavigation, showSaveButton = true, customSaveButton, customTooltipSaveButton, showBackButton, showWarningsCount = true, showErrorCount = true, showUndoButton = true, onClose, onSaveAsync, onNext, onPrev, canNext, canPrev, isModified, onShowList, validationItems = [], onUndo, onCancel, width, height, askClosingConfirm = false, showTitleFormMode = true }) => {
|
|
14
|
+
const TMSaveForm = ({ id, formMode = FormModes.Update, showToolbar = true, skipIsModifiedCheck = false, title, children, isModal, exception, customToolbarElements, hasNavigation, showSaveButton = true, customSaveButton, customTooltipSaveButton, showBackButton, showWarningsCount = true, showErrorCount = true, showUndoButton = true, onClose, onSaveAsync, onNext, onPrev, canNext, canPrev, isModified, onShowList, validationItems = [], onUndo, onCancel, width, height, askClosingConfirm = false, showTitleFormMode = true, showCloseButton = true }) => {
|
|
15
15
|
const [showList, setShowList] = useState(true);
|
|
16
16
|
const [showErrorGrid, setShowErrorGrid] = useState(false);
|
|
17
17
|
const deviceType = useDeviceType();
|
|
@@ -110,7 +110,7 @@ const TMSaveForm = ({ id, formMode = FormModes.Update, showToolbar = true, skipI
|
|
|
110
110
|
_jsx("div", { style: { width: '100%', height: '100%', marginTop: '50px', display: 'flex', alignItems: 'center', justifyContent: 'center', flexDirection: 'column', color: getColor('error') }, children: 'Si è verificato un errore' })
|
|
111
111
|
: _jsx(_Fragment, { children: children }) }), showErrorGrid && validationItems.length > 0 ? _jsx(TMCard, { scrollY: true, padding: false, showBorder: false, children: _jsx(TMValidationItemsList, { validationItems: validationItems }) }) : _jsx(_Fragment, {})] }) }), (isModal && onClose) && _jsx("div", { id: "TMSaveFormShowConfirmForClose-" + id })] }));
|
|
112
112
|
};
|
|
113
|
-
return (_jsx(_Fragment, { children: (isModal && onClose) ? _jsx(_Fragment, { children: _jsx(TMModal, { title: `${title}${showTitleFormMode ? ` - ${LocalizeFormModes(formMode)}` : ''}`, onClose: doClose, width: width ?? '100%', height: height ?? '100%', hidePopup: false, askClosingConfirm: askClosingConfirm, children: _jsx("div", { style: { width: "100%", height: "100%", display: 'block' }, children: renderSaveForm() }) }) })
|
|
113
|
+
return (_jsx(_Fragment, { children: (isModal && onClose) ? _jsx(_Fragment, { children: _jsx(TMModal, { title: `${title}${showTitleFormMode ? ` - ${LocalizeFormModes(formMode)}` : ''}`, onClose: doClose, width: width ?? '100%', height: height ?? '100%', hidePopup: false, askClosingConfirm: askClosingConfirm, showCloseButton: showCloseButton, children: _jsx("div", { style: { width: "100%", height: "100%", display: 'block' }, children: renderSaveForm() }) }) })
|
|
114
114
|
: renderSaveForm() }));
|
|
115
115
|
};
|
|
116
116
|
export default TMSaveForm;
|
|
@@ -306,6 +306,7 @@ export declare class SDKUI_Localizator {
|
|
|
306
306
|
static get IndexingInformation(): string;
|
|
307
307
|
static get IndexOrReindex(): string;
|
|
308
308
|
static get InProgress(): "Laufende" | "In Progress" | "En curso" | "En cours" | "Em andamento" | "In corso";
|
|
309
|
+
static get InsertCommentToCompleteOperation(): string;
|
|
309
310
|
static get InsertYourEmail(): "Geben Sie Ihre E-Mail ein" | "Insert your Email" | "Inserta tu Email" | "Insérez votre e-mail" | "Insira seu e-mail" | "Inserisci la tua email";
|
|
310
311
|
static get InsertOTP(): "Geben Sie den OTP-Code ein" | "Insert OTP code" | "Insertar código OTP" | "Insérer le code OTP" | "Insira o código OTP" | "Inserisci il codice OTP";
|
|
311
312
|
static get Interrupt(): "Unterbrechen" | "Interrupt" | "interrumpir" | "Interrompre" | "Interromper" | "Interrompere";
|
|
@@ -2989,6 +2989,16 @@ export class SDKUI_Localizator {
|
|
|
2989
2989
|
default: return "In corso";
|
|
2990
2990
|
}
|
|
2991
2991
|
}
|
|
2992
|
+
static get InsertCommentToCompleteOperation() {
|
|
2993
|
+
switch (this._cultureID) {
|
|
2994
|
+
case CultureIDs.De_DE: return "Geben Sie einen Kommentar ein, um den Vorgang abzuschließen.";
|
|
2995
|
+
case CultureIDs.En_US: return "Enter a comment to complete the operation.";
|
|
2996
|
+
case CultureIDs.Es_ES: return "Introduzca un comentario para completar la operación.";
|
|
2997
|
+
case CultureIDs.Fr_FR: return "Saisissez un commentaire pour terminer l’opération.";
|
|
2998
|
+
case CultureIDs.Pt_PT: return "Introduza um comentário para concluir a operação.";
|
|
2999
|
+
default: return "Inserisci un commento per completare l’operazione.";
|
|
3000
|
+
}
|
|
3001
|
+
}
|
|
2992
3002
|
static get InsertYourEmail() {
|
|
2993
3003
|
switch (this._cultureID) {
|
|
2994
3004
|
case CultureIDs.De_DE: return "Geben Sie Ihre E-Mail ein";
|
package/lib/ts/types.d.ts
CHANGED
|
@@ -173,6 +173,7 @@ export interface ITMSaveFormBaseProps {
|
|
|
173
173
|
customTooltipSaveButton?: string;
|
|
174
174
|
showBackButton?: boolean;
|
|
175
175
|
showUndoButton?: boolean;
|
|
176
|
+
showCloseButton?: boolean;
|
|
176
177
|
showWarningsCount?: boolean;
|
|
177
178
|
showErrorCount?: boolean;
|
|
178
179
|
hasNavigation?: boolean;
|