@topconsultnpm/sdkui-react-beta 6.12.107 → 6.12.109

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.
@@ -144,9 +144,9 @@ const ImageViewer = ({ fileBlob, alt = 'Image', className }) => {
144
144
  const [zoomFactor, setZoomFactor] = useState(1);
145
145
  const [translateX, setTranslateX] = useState(0);
146
146
  const [translateY, setTranslateY] = useState(0);
147
- const isDragging = useRef(false);
148
- const lastX = useRef(0);
149
- const lastY = useRef(0);
147
+ const [isDragging, setIsDragging] = useState(false);
148
+ const dragStartX = useRef(0);
149
+ const dragStartY = useRef(0);
150
150
  useEffect(() => {
151
151
  if (fileBlob) {
152
152
  const url = URL.createObjectURL(fileBlob);
@@ -162,29 +162,29 @@ const ImageViewer = ({ fileBlob, alt = 'Image', className }) => {
162
162
  const container = containerRef.current;
163
163
  const image = imageRef.current;
164
164
  if (container && image) {
165
- const containerWidth = container.clientWidth;
166
- const containerHeight = container.clientHeight;
167
- const imageWidth = image.naturalWidth;
168
- const imageHeight = image.naturalHeight;
169
- const scaleX = containerWidth / imageWidth;
170
- const scaleY = containerHeight / imageHeight;
171
- const initialScale = Math.min(scaleX, scaleY);
172
- setBaseZoom(initialScale);
165
+ const cw = container.clientWidth;
166
+ const ch = container.clientHeight;
167
+ const iw = image.naturalWidth;
168
+ const ih = image.naturalHeight;
169
+ const scaleX = cw / iw;
170
+ const scaleY = ch / ih;
171
+ const initialZoom = Math.min(scaleX, scaleY);
172
+ setBaseZoom(initialZoom);
173
173
  setZoomFactor(1);
174
174
  setTranslateX(0);
175
175
  setTranslateY(0);
176
176
  }
177
177
  };
178
178
  const img = imageRef.current;
179
- if (img?.complete) {
179
+ if (img?.complete)
180
180
  handleLoad();
181
- }
182
181
  else {
183
182
  img?.addEventListener('load', handleLoad);
184
183
  return () => img?.removeEventListener('load', handleLoad);
185
184
  }
186
185
  return () => { };
187
186
  }, [imageUrl]);
187
+ const fullZoom = baseZoom * zoomFactor;
188
188
  const clampTranslation = (tx, ty, zoom) => {
189
189
  const container = containerRef.current;
190
190
  const image = imageRef.current;
@@ -201,68 +201,67 @@ const ImageViewer = ({ fileBlob, alt = 'Image', className }) => {
201
201
  y: Math.max(minY, Math.min(0, ty)),
202
202
  };
203
203
  };
204
- const isZoomedIn = useMemo(() => {
205
- return zoomFactor > 1;
206
- }, [zoomFactor]);
207
- const containerCursor = useMemo(() => {
208
- if (isZoomedIn) {
209
- if (isDragging)
210
- return 'grabbing';
211
- return 'grab';
212
- }
213
- return 'default';
214
- }, [isZoomedIn, isDragging]);
215
- const handleZoomIn = () => setZoomFactor(prev => Math.min(prev + 0.25, 3));
216
- const handleZoomOut = () => setZoomFactor(prev => Math.max(prev - 0.25, 0.5));
204
+ const handleZoom = (delta) => {
205
+ const newZoom = Math.min(3, Math.max(0.5, zoomFactor + delta));
206
+ if (newZoom === zoomFactor)
207
+ return;
208
+ const scaleChange = newZoom / zoomFactor;
209
+ const newTx = translateX * scaleChange;
210
+ const newTy = translateY * scaleChange;
211
+ const clamped = clampTranslation(newTx, newTy, baseZoom * newZoom);
212
+ setTranslateX(clamped.x);
213
+ setTranslateY(clamped.y);
214
+ setZoomFactor(newZoom);
215
+ };
217
216
  const handleResetZoom = () => {
218
217
  setZoomFactor(1);
219
218
  setTranslateX(0);
220
219
  setTranslateY(0);
221
220
  };
222
- const handleMouseDown = (e) => {
221
+ const handleZoomIn = () => handleZoom(0.25);
222
+ const handleZoomOut = () => handleZoom(-0.25);
223
+ const onMouseDown = (e) => {
223
224
  if (zoomFactor === 1)
224
225
  return;
225
- isDragging.current = true;
226
- const clientX = 'touches' in e ? e.touches[0].clientX : e.clientX;
227
- const clientY = 'touches' in e ? e.touches[0].clientY : e.clientY;
228
- lastX.current = clientX;
229
- lastY.current = clientY;
226
+ setIsDragging(true);
227
+ const point = 'touches' in e ? e.touches[0] : e;
228
+ dragStartX.current = point.clientX;
229
+ dragStartY.current = point.clientY;
230
230
  };
231
- const handleMouseMove = (e) => {
232
- if (!isDragging.current)
231
+ const onMouseMove = (e) => {
232
+ if (!isDragging)
233
233
  return;
234
- const clientX = 'touches' in e ? e.touches[0].clientX : e.clientX;
235
- const clientY = 'touches' in e ? e.touches[0].clientY : e.clientY;
236
- const dx = clientX - lastX.current;
237
- const dy = clientY - lastY.current;
238
- const newTx = translateX + dx;
239
- const newTy = translateY + dy;
240
- const clamped = clampTranslation(newTx, newTy, baseZoom * zoomFactor);
234
+ const point = 'touches' in e ? e.touches[0] : e;
235
+ const dx = point.clientX - dragStartX.current;
236
+ const dy = point.clientY - dragStartY.current;
237
+ const scale = baseZoom * zoomFactor;
238
+ const newTx = translateX + dx / scale;
239
+ const newTy = translateY + dy / scale;
240
+ const clamped = clampTranslation(newTx, newTy, scale);
241
241
  setTranslateX(clamped.x);
242
242
  setTranslateY(clamped.y);
243
- lastX.current = clientX;
244
- lastY.current = clientY;
245
- };
246
- const handleMouseUp = () => {
247
- isDragging.current = false;
243
+ dragStartX.current = point.clientX;
244
+ dragStartY.current = point.clientY;
248
245
  };
246
+ const stopDrag = () => setIsDragging(false);
249
247
  useEffect(() => {
250
- const moveHandler = (e) => handleMouseMove(e);
251
- const upHandler = () => handleMouseUp();
252
- window.addEventListener('mousemove', moveHandler);
253
- window.addEventListener('touchmove', moveHandler);
254
- window.addEventListener('mouseup', upHandler);
255
- window.addEventListener('touchend', upHandler);
248
+ window.addEventListener('mousemove', onMouseMove);
249
+ window.addEventListener('mouseup', stopDrag);
250
+ window.addEventListener('touchmove', onMouseMove);
251
+ window.addEventListener('touchend', stopDrag);
256
252
  return () => {
257
- window.removeEventListener('mousemove', moveHandler);
258
- window.removeEventListener('touchmove', moveHandler);
259
- window.removeEventListener('mouseup', upHandler);
260
- window.removeEventListener('touchend', upHandler);
253
+ window.removeEventListener('mousemove', onMouseMove);
254
+ window.removeEventListener('mouseup', stopDrag);
255
+ window.removeEventListener('touchmove', onMouseMove);
256
+ window.removeEventListener('touchend', stopDrag);
261
257
  };
262
- }, [baseZoom, zoomFactor, translateX, translateY]);
263
- const fullZoom = baseZoom * zoomFactor;
264
- const transform = `scale(${fullZoom}) translate(${translateX}px, ${translateY}px)`;
265
- return (_jsxs(ImageContainer, { className: className, ref: containerRef, onMouseDown: handleMouseDown, onTouchStart: handleMouseDown, "$cursor": containerCursor, children: [imageUrl && (_jsx(StyledImage, { ref: imageRef, src: imageUrl, alt: alt, "$transform": transform })), _jsxs(Toolbar, { children: [_jsx(ZoomButton, { onClick: handleZoomOut, disabled: zoomFactor <= 0.5, children: _jsx(IconZoomOutLinear, {}) }), _jsx(ZoomButton, { onClick: handleResetZoom, disabled: zoomFactor === 1 && translateX === 0 && translateY === 0, children: SDKUI_Localizator.Restore }), _jsx(ZoomButton, { onClick: handleZoomIn, disabled: zoomFactor >= 3, children: _jsx(IconZoomInLinear, {}) })] })] }));
258
+ }, [translateX, translateY, fullZoom, isDragging]);
259
+ const cursor = useMemo(() => {
260
+ if (zoomFactor <= 1)
261
+ return 'default';
262
+ return isDragging ? 'grabbing' : 'grab';
263
+ }, [zoomFactor, isDragging]);
264
+ return (_jsxs(ImageContainer, { ref: containerRef, onMouseDown: onMouseDown, onTouchStart: onMouseDown, "$cursor": cursor, className: className, children: [imageUrl && (_jsx(StyledImage, { ref: imageRef, src: imageUrl, alt: alt, "$scale": fullZoom, "$tx": translateX, "$ty": translateY })), _jsxs(Toolbar, { children: [_jsx(ZoomButton, { onClick: handleZoomOut, disabled: zoomFactor <= 0.5, children: _jsx(IconZoomOutLinear, {}) }), _jsx(ZoomButton, { onClick: handleResetZoom, disabled: zoomFactor === 1 && translateX === 0 && translateY === 0, children: SDKUI_Localizator.Restore }), _jsx(ZoomButton, { onClick: handleZoomIn, disabled: zoomFactor >= 3, children: _jsx(IconZoomInLinear, {}) })] })] }));
266
265
  };
267
266
  export const TMNothingToShow = ({ text = '', secondText, fileExt, icon = _jsx(IconPreview, { fontSize: 96 }) }) => {
268
267
  return (_jsx(StyledAnimatedComponentOpacity, { style: { width: '100%', height: '100%' }, children: _jsxs(StyledPanelStatusContainer, { children: [icon, _jsxs(StyledPreviewNotAvailable, { children: [text && _jsx("div", { children: text }), _jsxs("div", { children: [" ", secondText ?? 'Anteprima non disponibile.', fileExt && _jsx("b", { children: ` (*.${fileExt})` })] })] })] }) }));
@@ -287,6 +286,19 @@ export const StyledHeaderIcon = styled.div ` color: ${props => props.$color}; c
287
286
  export const StyledPanelStatusContainer = styled.div ` width: 100%; height: 100%; padding: 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; `;
288
287
  const StyledPreviewNotAvailable = styled.div ` display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; `;
289
288
  const ImageContainer = styled.div ` width: 100%; height: 100%; position: relative; overflow: hidden; background: #f5f5f5; touch-action: none; user-select: none; cursor: ${({ $cursor }) => $cursor ?? 'default'}; `;
289
+ const ZoomButton = styled.button ` display: flex; align-items: center; justify-content: center; background: ${TMColors.primary}; color: white; border: none; padding: 6px; border-radius: 4px; cursor: pointer; font-size: 14px; &:disabled { background: #ccc; cursor: not-allowed; } `;
290
290
  const Toolbar = styled.div ` position: absolute; bottom: 15px; left: 15px; display: flex; gap: 10px; background: rgba(255, 255, 255, 0.8); padding: 6px 10px; border-radius: 8px; box-shadow: 0 0 5px rgba(0, 0, 0, 0.15); z-index: 1; `;
291
- const ZoomButton = styled.button ` display: flex; align-items: center; justify-content: center; background: #007bff; color: white; border: none; padding: 6px; border-radius: 4px; cursor: pointer; font-size: 14px; &:disabled { background: #ccc; cursor: not-allowed; } `;
292
- const StyledImage = styled.img.attrs(props => ({ style: { transform: props.$transform, }, })) ` position: absolute; top: 0; left: 0; transform-origin: top left; pointer-events: none; `;
291
+ const StyledImage = styled.img.attrs(props => ({
292
+ style: {
293
+ transform: `translate(${props.$tx}px, ${props.$ty}px) scale(${props.$scale})`,
294
+ },
295
+ })) `
296
+ display: block;
297
+ max-width: none;
298
+ max-height: none;
299
+ transform-origin: top left;
300
+ pointer-events: none;
301
+ position: absolute;
302
+ top: 0;
303
+ left: 0;
304
+ `;
@@ -0,0 +1,7 @@
1
+ import { MailSenderJobDescriptor } from '@topconsultnpm/sdk-ts-beta';
2
+ export declare class DeepCompareHelper {
3
+ static deepCompareUnorderedNormalized(obj1: MailSenderJobDescriptor, obj2: MailSenderJobDescriptor): boolean;
4
+ static normalizeObject(obj: any): any;
5
+ static normalizeHtmlString(html: string): string;
6
+ static normalizeCssString(css: string): string;
7
+ }
@@ -0,0 +1,81 @@
1
+ import { parseDocument } from 'htmlparser2';
2
+ import DomSerializer from 'dom-serializer';
3
+ export class DeepCompareHelper {
4
+ static deepCompareUnorderedNormalized(obj1, obj2) {
5
+ if (JSON.stringify(obj1) === JSON.stringify(obj2))
6
+ return true;
7
+ if (obj1.mailFormat?.bodyMapping6?.fixedValue?.length !== obj2.mailFormat?.bodyMapping6?.fixedValue?.length)
8
+ return false;
9
+ const normalizedObj1 = DeepCompareHelper.normalizeObject(obj1);
10
+ const normalizedObj2 = DeepCompareHelper.normalizeObject(obj2);
11
+ return JSON.stringify(normalizedObj1) === JSON.stringify(normalizedObj2);
12
+ }
13
+ static normalizeObject(obj) {
14
+ if (typeof obj !== 'object' || obj === null) {
15
+ // Gestione specifica per stringhe che contengono HTML
16
+ if (typeof obj === 'string' && obj.includes('<p') && obj.includes('style')) {
17
+ return DeepCompareHelper.normalizeHtmlString(obj); // Normalizza la stringa HTML
18
+ }
19
+ return obj; // Restituisci il valore se non è un oggetto
20
+ }
21
+ if (Array.isArray(obj)) {
22
+ // Ordina gli array
23
+ return obj.map(DeepCompareHelper.normalizeObject).sort((a, b) => JSON.stringify(a).localeCompare(JSON.stringify(b)));
24
+ }
25
+ // Ordina le chiavi dell'oggetto
26
+ const sortedKeys = Object.keys(obj).sort((a, b) => a.localeCompare(b));
27
+ const normalizedObj = {};
28
+ for (const key of sortedKeys) {
29
+ normalizedObj[key] = DeepCompareHelper.normalizeObject(obj[key]); // Normalizza ricorsivamente
30
+ }
31
+ return normalizedObj;
32
+ }
33
+ static normalizeHtmlString(html) {
34
+ const document = parseDocument(html);
35
+ const reorderAttributes = (node) => {
36
+ if (node.attribs) {
37
+ // Riordina gli attributi HTML
38
+ const sortedAttributes = Object.keys(node.attribs)
39
+ .sort((a, b) => a.localeCompare(b))
40
+ .reduce((acc, key) => {
41
+ // Normalizza lo stile CSS se l'attributo è "style"
42
+ if (key === 'style') {
43
+ acc[key] = DeepCompareHelper.normalizeCssString(node.attribs[key]);
44
+ }
45
+ else {
46
+ acc[key] = node.attribs[key];
47
+ }
48
+ return acc;
49
+ }, {});
50
+ node.attribs = sortedAttributes;
51
+ }
52
+ // Applica la funzione ai figli del nodo
53
+ if (node.children) {
54
+ node.children.forEach(reorderAttributes);
55
+ }
56
+ };
57
+ // Riordina gli attributi per tutti i nodi
58
+ if (document.children) {
59
+ document.children.forEach(reorderAttributes);
60
+ }
61
+ // Ricostruisci la stringa HTML
62
+ let output = DomSerializer(document);
63
+ //output = output.replace(/&#xA0;/g, ' '); // Sostituisci &#xA0; con uno spazio normale
64
+ return output;
65
+ }
66
+ static normalizeCssString(css) {
67
+ // Dividi la stringa CSS in coppie chiave-valore
68
+ const stylePairs = css
69
+ .split(';') // Dividi per punto e virgola
70
+ .map(pair => pair.trim()) // Rimuovi spazi inutili
71
+ .filter(pair => pair); // Rimuovi stringhe vuote
72
+ // Ordina le coppie chiave-valore in ordine alfabetico
73
+ const sortedStylePairs = [...stylePairs].sort((a, b) => {
74
+ const [keyA] = a.split(':').map(part => part.trim());
75
+ const [keyB] = b.split(':').map(part => part.trim());
76
+ return keyA.localeCompare(keyB);
77
+ });
78
+ // Ricostruisci la stringa CSS
79
+ return sortedStylePairs.join('; ') + (sortedStylePairs.length > 0 ? ';' : '');
80
+ }
81
+ }
@@ -6,6 +6,7 @@ import { Buffer } from 'buffer';
6
6
  import { buildTypes, FileExtensionHandler, FormModes, moduleTypes } from "../ts";
7
7
  import { SDKUI_Localizator } from "./SDKUI_Localizator";
8
8
  import ReactDOMServer from "react-dom/server";
9
+ import { DeepCompareHelper } from "./DeepCompareHelper";
9
10
  //#region Responsive Helpers
10
11
  const TABLET_WIDTH = 1024;
11
12
  const MOBILE_WIDTH = 640;
@@ -556,7 +557,11 @@ export const calcSaveFormTitle = (rootTitle, formMode, updateId, pathKeys) => {
556
557
  return title;
557
558
  return title + " > " + pathKeys.join(" > ");
558
559
  };
559
- export function calcIsModified(formData, formDataOrig) { return JSON.stringify(formData) !== JSON.stringify(formDataOrig); }
560
+ export function calcIsModified(formData, formDataOrig) {
561
+ if (!formData || !formDataOrig)
562
+ return JSON.stringify(formData) !== JSON.stringify(formDataOrig);
563
+ return !DeepCompareHelper.deepCompareUnorderedNormalized(formData, formDataOrig);
564
+ }
560
565
  //#endregion
561
566
  export { openApps, calcResponsiveDirection, calcResponsiveSizes, getColor, genUniqueId, makeID, MOBILE_WIDTH, TABLET_WIDTH };
562
567
  export function moduleVersion(module) {
@@ -4,7 +4,7 @@ export declare class PlatformObjectService {
4
4
  static readonly retrieveAllAsync: (objClass: ObjectClasses, jobType?: JobTypes) => Promise<DcmtTypeDescriptor[] | import("@topconsultnpm/sdk-ts-beta").UserDescriptor[] | import("@topconsultnpm/sdk-ts-beta").FEDistillerJobDescriptor[] | import("@topconsultnpm/sdk-ts-beta").AreaDescriptor[] | import("@topconsultnpm/sdk-ts-beta").DataListDescriptor[] | import("@topconsultnpm/sdk-ts-beta").DiskDescriptor[] | import("@topconsultnpm/sdk-ts-beta").GroupDescriptor[] | import("@topconsultnpm/sdk-ts-beta").LDAPDescriptor[] | import("@topconsultnpm/sdk-ts-beta").NumeratorDescriptor[] | import("@topconsultnpm/sdk-ts-beta").SignCertDescriptor[] | import("@topconsultnpm/sdk-ts-beta").SignServerDescriptor[] | import("@topconsultnpm/sdk-ts-beta").TreeDescriptor[] | import("@topconsultnpm/sdk-ts-beta").TSADescriptor[] | ProcessDescriptor[] | import("@topconsultnpm/sdk-ts-beta").TaskDescriptor[] | undefined>;
5
5
  private static readonly loadCacheForJobAsync;
6
6
  private static readonly retrieveAdminJobAsync;
7
- static readonly retrieveAdminAsync: (objClass: ObjectClasses, jobType: JobTypes, id: number) => Promise<-1 | DcmtTypeDescriptor | import("@topconsultnpm/sdk-ts-beta").SavedQueryDescriptor | import("@topconsultnpm/sdk-ts-beta").DataListDescriptor | import("@topconsultnpm/sdk-ts-beta").UserDescriptor | import("@topconsultnpm/sdk-ts-beta").BarcodeArchiverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").BatchUpdaterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").CassettoDoganaleJobDescriptor | import("@topconsultnpm/sdk-ts-beta").CassettoDoganalePlusJobDescriptor | import("@topconsultnpm/sdk-ts-beta").CassettoFiscaleQueryJobDescriptor | import("@topconsultnpm/sdk-ts-beta").CassettoFiscaleSenderJobDescriptor | import("@topconsultnpm/sdk-ts-beta").CheckSequenceJobDescriptor | import("@topconsultnpm/sdk-ts-beta").COSCheckerJobDescriptor | import("@topconsultnpm/sdk-ts-beta").DcmtConverterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").DcmtDeleterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").DcmtNoteJobDescriptor | import("@topconsultnpm/sdk-ts-beta").DcmtPrinterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FEAttacherJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FECreatorTxtJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FEDetacherJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FEDistillerJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FESenderWsJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FESplitterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FEValidatorJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FileArchiverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FileCheckerJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FileExecJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FileExportJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FileMoverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").LexJobDescriptor | import("@topconsultnpm/sdk-ts-beta").LinkerJobDescriptor | import("@topconsultnpm/sdk-ts-beta").MailArchiverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").MailQueryJobDescriptor | import("@topconsultnpm/sdk-ts-beta").MailSenderJobDescriptor | import("@topconsultnpm/sdk-ts-beta").MigrationJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PdDCreatorJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PDFArchiverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PdVArchiverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PdVQueryJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PdVSenderJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PeppolQueryJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PeppolSenderJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PostelQueryJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PostelSenderJobDescriptor | import("@topconsultnpm/sdk-ts-beta").ReplicatorJobDescriptor | import("@topconsultnpm/sdk-ts-beta").SAPAlignerJobDescriptor | import("@topconsultnpm/sdk-ts-beta").SAPBarcodeJobDescriptor | import("@topconsultnpm/sdk-ts-beta").SAPDataReaderJobDescriptor | import("@topconsultnpm/sdk-ts-beta").SAPDataWriterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").SignerJobDescriptor | import("@topconsultnpm/sdk-ts-beta").SpoolArchiverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").UpdaterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").AreaDescriptor | import("@topconsultnpm/sdk-ts-beta").BasketTypeDescriptor | import("@topconsultnpm/sdk-ts-beta").DiskDescriptor | import("@topconsultnpm/sdk-ts-beta").GroupDescriptor | import("@topconsultnpm/sdk-ts-beta").LDAPDescriptor | import("@topconsultnpm/sdk-ts-beta").NumeratorDescriptor | import("@topconsultnpm/sdk-ts-beta").SignCertDescriptor | import("@topconsultnpm/sdk-ts-beta").SignServerDescriptor | import("@topconsultnpm/sdk-ts-beta").TreeDescriptor | import("@topconsultnpm/sdk-ts-beta").TSADescriptor | ProcessDescriptor | import("@topconsultnpm/sdk-ts-beta").TaskDescriptor | import("@topconsultnpm/sdk-ts-beta").WorkingGroupDescriptor | undefined>;
7
+ static readonly retrieveAdminAsync: (objClass: ObjectClasses, jobType: JobTypes, id: number) => Promise<-1 | import("@topconsultnpm/sdk-ts-beta").MailSenderJobDescriptor | DcmtTypeDescriptor | import("@topconsultnpm/sdk-ts-beta").SavedQueryDescriptor | import("@topconsultnpm/sdk-ts-beta").DataListDescriptor | import("@topconsultnpm/sdk-ts-beta").UserDescriptor | import("@topconsultnpm/sdk-ts-beta").BarcodeArchiverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").BatchUpdaterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").CassettoDoganaleJobDescriptor | import("@topconsultnpm/sdk-ts-beta").CassettoDoganalePlusJobDescriptor | import("@topconsultnpm/sdk-ts-beta").CassettoFiscaleQueryJobDescriptor | import("@topconsultnpm/sdk-ts-beta").CassettoFiscaleSenderJobDescriptor | import("@topconsultnpm/sdk-ts-beta").CheckSequenceJobDescriptor | import("@topconsultnpm/sdk-ts-beta").COSCheckerJobDescriptor | import("@topconsultnpm/sdk-ts-beta").DcmtConverterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").DcmtDeleterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").DcmtNoteJobDescriptor | import("@topconsultnpm/sdk-ts-beta").DcmtPrinterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FEAttacherJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FECreatorTxtJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FEDetacherJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FEDistillerJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FESenderWsJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FESplitterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FEValidatorJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FileArchiverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FileCheckerJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FileExecJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FileExportJobDescriptor | import("@topconsultnpm/sdk-ts-beta").FileMoverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").LexJobDescriptor | import("@topconsultnpm/sdk-ts-beta").LinkerJobDescriptor | import("@topconsultnpm/sdk-ts-beta").MailArchiverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").MailQueryJobDescriptor | import("@topconsultnpm/sdk-ts-beta").MigrationJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PdDCreatorJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PDFArchiverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PdVArchiverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PdVQueryJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PdVSenderJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PeppolQueryJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PeppolSenderJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PostelQueryJobDescriptor | import("@topconsultnpm/sdk-ts-beta").PostelSenderJobDescriptor | import("@topconsultnpm/sdk-ts-beta").ReplicatorJobDescriptor | import("@topconsultnpm/sdk-ts-beta").SAPAlignerJobDescriptor | import("@topconsultnpm/sdk-ts-beta").SAPBarcodeJobDescriptor | import("@topconsultnpm/sdk-ts-beta").SAPDataReaderJobDescriptor | import("@topconsultnpm/sdk-ts-beta").SAPDataWriterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").SignerJobDescriptor | import("@topconsultnpm/sdk-ts-beta").SpoolArchiverJobDescriptor | import("@topconsultnpm/sdk-ts-beta").UpdaterJobDescriptor | import("@topconsultnpm/sdk-ts-beta").AreaDescriptor | import("@topconsultnpm/sdk-ts-beta").BasketTypeDescriptor | import("@topconsultnpm/sdk-ts-beta").DiskDescriptor | import("@topconsultnpm/sdk-ts-beta").GroupDescriptor | import("@topconsultnpm/sdk-ts-beta").LDAPDescriptor | import("@topconsultnpm/sdk-ts-beta").NumeratorDescriptor | import("@topconsultnpm/sdk-ts-beta").SignCertDescriptor | import("@topconsultnpm/sdk-ts-beta").SignServerDescriptor | import("@topconsultnpm/sdk-ts-beta").TreeDescriptor | import("@topconsultnpm/sdk-ts-beta").TSADescriptor | ProcessDescriptor | import("@topconsultnpm/sdk-ts-beta").TaskDescriptor | import("@topconsultnpm/sdk-ts-beta").WorkingGroupDescriptor | undefined>;
8
8
  private static readonly updateJobAsync;
9
9
  static readonly updateAsync: (objClass: ObjectClasses, jobType: JobTypes, d: any) => Promise<number | undefined>;
10
10
  private static readonly createJobAsync;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@topconsultnpm/sdkui-react-beta",
3
- "version": "6.12.107",
3
+ "version": "6.12.109",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1",
@@ -22,6 +22,7 @@
22
22
  "@storybook/react": "^8.6.12",
23
23
  "@storybook/react-vite": "^8.6.12",
24
24
  "@storybook/test": "^8.6.12",
25
+ "@types/htmlparser2": "^3.10.7",
25
26
  "@types/node": "^20.2.5",
26
27
  "@types/react": "^18.2.7",
27
28
  "@types/react-dom": "^18.2.4",
@@ -45,6 +46,7 @@
45
46
  "buffer": "^6.0.3",
46
47
  "devextreme": "24.2.6",
47
48
  "devextreme-react": "24.2.6",
49
+ "htmlparser2": "^10.0.0",
48
50
  "react-router-dom": "^6.15.0",
49
51
  "styled-components": "^6.1.1"
50
52
  },