@topconsultnpm/sdkui-react 6.20.0-dev2.9 → 6.20.0-dev3.10
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/styles.d.ts +3 -1
- package/lib/components/NewComponents/ContextMenu/styles.js +7 -5
- package/lib/components/base/Styled.d.ts +4 -1
- package/lib/components/base/Styled.js +11 -3
- package/lib/components/base/TMTreeView.d.ts +3 -1
- package/lib/components/base/TMTreeView.js +64 -21
- package/lib/components/choosers/TMDataListItemEditor.d.ts +11 -0
- package/lib/components/choosers/TMDataListItemEditor.js +130 -0
- package/lib/components/choosers/TMDataListItemFields.d.ts +11 -0
- package/lib/components/choosers/TMDataListItemFields.js +61 -0
- package/lib/components/choosers/TMDataListItemPicker.d.ts +1 -0
- package/lib/components/choosers/TMDataListItemPicker.js +178 -18
- package/lib/components/choosers/TMImageIDChooser.d.ts +16 -0
- package/lib/components/choosers/TMImageIDChooser.js +53 -0
- package/lib/components/choosers/TMMetadataChooser.js +1 -1
- package/lib/components/editors/TMDateBox.js +1 -1
- package/lib/components/editors/TMHtmlEditor.js +1 -1
- package/lib/components/editors/TMLocalizedTextBox.d.ts +1 -0
- package/lib/components/editors/TMLocalizedTextBox.js +3 -3
- package/lib/components/editors/TMTextBox.js +9 -10
- package/lib/components/features/archive/TMArchive.d.ts +3 -1
- package/lib/components/features/archive/TMArchive.js +31 -44
- package/lib/components/features/blog/TMBlogCommentForm.d.ts +3 -0
- package/lib/components/features/blog/TMBlogCommentForm.js +42 -36
- package/lib/components/features/documents/TMDcmtForm.d.ts +3 -1
- package/lib/components/features/documents/TMDcmtForm.js +197 -53
- package/lib/components/features/documents/TMDcmtTasks.d.ts +3 -1
- package/lib/components/features/documents/TMDcmtTasks.js +2 -2
- package/lib/components/features/documents/TMFileUploader.d.ts +5 -0
- package/lib/components/features/documents/TMFileUploader.js +28 -6
- package/lib/components/features/documents/TMMasterDetailDcmts.js +68 -84
- package/lib/components/features/documents/TMRelationViewer.d.ts +7 -1
- package/lib/components/features/documents/TMRelationViewer.js +395 -78
- package/lib/components/features/search/TMSearchResult.d.ts +2 -0
- package/lib/components/features/search/TMSearchResult.js +86 -91
- package/lib/components/features/search/TMSearchResultsMenuItems.d.ts +1 -1
- package/lib/components/features/search/TMSearchResultsMenuItems.js +6 -18
- package/lib/components/features/search/TMTreeSelector.js +1 -1
- package/lib/components/features/tasks/TMTaskForm.d.ts +1 -0
- package/lib/components/features/tasks/TMTaskForm.js +61 -193
- package/lib/components/features/tasks/TMTaskFormUtils.d.ts +80 -0
- package/lib/components/features/tasks/TMTaskFormUtils.js +559 -0
- package/lib/components/features/tasks/TMTasksUtils.d.ts +3 -1
- package/lib/components/features/tasks/TMTasksUtils.js +46 -16
- package/lib/components/features/tasks/TMTasksUtilsView.d.ts +0 -7
- package/lib/components/features/tasks/TMTasksUtilsView.js +7 -14
- package/lib/components/features/tasks/TMTasksView.js +5 -3
- package/lib/components/features/workflow/TMWorkflowPopup.d.ts +20 -3
- package/lib/components/features/workflow/TMWorkflowPopup.js +14 -92
- package/lib/components/features/workflow/diagram/ConnectionComponent.d.ts +1 -0
- package/lib/components/features/workflow/diagram/ConnectionComponent.js +6 -2
- package/lib/components/features/workflow/diagram/DiagramItemForm.js +1 -1
- package/lib/components/features/workflow/diagram/WFDiagram.js +75 -5
- package/lib/components/forms/Login/TMLoginForm.js +1 -1
- package/lib/components/forms/TMSaveForm.js +61 -13
- package/lib/components/grids/TMBlogsPost.js +8 -8
- package/lib/components/grids/TMBlogsPostUtils.js +2 -2
- package/lib/components/grids/TMRecentsManager.js +1 -1
- package/lib/components/index.d.ts +2 -0
- package/lib/components/index.js +2 -0
- package/lib/components/pages/TMPage.js +4 -0
- package/lib/components/query/TMQueryEditor.d.ts +1 -0
- package/lib/components/query/TMQueryEditor.js +2 -2
- package/lib/helper/Enum_Localizator.js +5 -0
- package/lib/helper/GlobalStyles.js +3 -0
- package/lib/helper/SDKUI_Globals.d.ts +8 -0
- package/lib/helper/SDKUI_Globals.js +12 -0
- package/lib/helper/SDKUI_Localizator.d.ts +19 -3
- package/lib/helper/SDKUI_Localizator.js +182 -22
- package/lib/helper/TMIcons.d.ts +2 -1
- package/lib/helper/TMIcons.js +4 -1
- package/lib/helper/TMUtils.d.ts +13 -41
- package/lib/helper/TMUtils.js +86 -170
- package/lib/helper/helpers.d.ts +6 -2
- package/lib/helper/helpers.js +24 -8
- package/lib/helper/index.d.ts +1 -0
- package/lib/helper/index.js +1 -0
- package/lib/helper/queryHelper.js +1 -1
- package/lib/hooks/useBetaFeatures.d.ts +1 -0
- package/lib/hooks/useBetaFeatures.js +41 -0
- package/lib/hooks/useDcmtOperations.js +14 -2
- package/lib/hooks/useRelatedDocuments.js +34 -11
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/services/platform_services.d.ts +1 -1
- package/lib/services/platform_services.js +4 -0
- package/package.json +2 -2
- package/lib/components/features/search/TMSignSettingsForm.d.ts +0 -9
- package/lib/components/features/search/TMSignSettingsForm.js +0 -621
package/lib/helper/TMUtils.js
CHANGED
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import styled from "styled-components";
|
|
3
3
|
import { TMTooltip } from '../components';
|
|
4
4
|
import { IconCADossier, IconKey, IconMenuCAWorkingGroups } from './TMIcons';
|
|
5
|
-
import { AppModules, DataListCacheService, MetadataDataDomains, PdGs } from '@topconsultnpm/sdk-ts';
|
|
5
|
+
import { AppModules, DataListCacheService, LicenseModuleStatus, MetadataDataDomains, PdGs, SDK_Globals } from '@topconsultnpm/sdk-ts';
|
|
6
6
|
import { SDKUI_Localizator } from './SDKUI_Localizator';
|
|
7
7
|
const StyledIconFileContainer = styled.div `
|
|
8
8
|
height: 22px;
|
|
@@ -178,6 +178,15 @@ export const isCreateCertificateEnabled = (widgetsString) => {
|
|
|
178
178
|
export const isPdfEditorEnabled = (widgetsString) => {
|
|
179
179
|
return isWidgetEnabled(PDF_EDITOR_ID, widgetsString);
|
|
180
180
|
};
|
|
181
|
+
/** Verifica se l'editor PDF è disponibile: richiede file PDF, licenza attiva e widget abilitato sul tipo documento. */
|
|
182
|
+
export const isPdfEditorAvailable = (fromDTD, ext) => {
|
|
183
|
+
if (fromDTD === undefined || !fromDTD.widgets || !ext)
|
|
184
|
+
return false;
|
|
185
|
+
if (ext.toLowerCase() !== "pdf")
|
|
186
|
+
return false;
|
|
187
|
+
const isPdfEditorLicensed = SDK_Globals?.license?.dcmtArchiveLicenses?.[0]?.siX_60007?.status === LicenseModuleStatus.Licensed;
|
|
188
|
+
return isPdfEditorLicensed && isPdfEditorEnabled(fromDTD.widgets);
|
|
189
|
+
};
|
|
181
190
|
export const StyledTabItem = styled.div `
|
|
182
191
|
display: flex;
|
|
183
192
|
align-items: center;
|
|
@@ -201,186 +210,93 @@ export const StyledTabIcon = styled.i `
|
|
|
201
210
|
transition: color 0.2s ease;
|
|
202
211
|
`;
|
|
203
212
|
export const TMCountBadge = styled.div ` background-color: #ff5252; color: white; border-radius: 999px; margin-left: 8px; font-size: 0.7rem; line-height: 1; min-height: 20px; min-width: 20px; display: flex ; align-items: center; justify-content: center; `;
|
|
213
|
+
export const PDGS_COLORS = {
|
|
214
|
+
DOSSIER: '#e65b00',
|
|
215
|
+
DOCUMENT: '#b38600',
|
|
216
|
+
WORKING_GROUP: '#009700',
|
|
217
|
+
};
|
|
204
218
|
export const getPdgsIconMap = (fontSize = 20) => {
|
|
205
219
|
return new Map([
|
|
206
220
|
[PdGs.None, _jsx("span", {}, "PdGs-None")],
|
|
207
|
-
[PdGs.CF, _jsx(IconCADossier, { color:
|
|
208
|
-
[PdGs.DT, _jsx("i", { style: { fontSize, color:
|
|
221
|
+
[PdGs.CF, _jsx(IconCADossier, { color: PDGS_COLORS.DOSSIER, fontSize: 28 }, "PdGs-CF")],
|
|
222
|
+
[PdGs.DT, _jsx("i", { style: { fontSize, color: PDGS_COLORS.DOCUMENT }, className: "dx-icon-file" }, "PdGs-DT")],
|
|
209
223
|
[PdGs.WF, _jsx("i", { style: { fontSize }, className: "dx-icon-box" }, "PdGs-WF")],
|
|
210
|
-
[PdGs.WG, _jsx(IconMenuCAWorkingGroups, { color:
|
|
224
|
+
[PdGs.WG, _jsx(IconMenuCAWorkingGroups, { color: PDGS_COLORS.WORKING_GROUP, fontSize: 28 }, "PdGs-WG")],
|
|
211
225
|
]);
|
|
212
226
|
};
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
*
|
|
230
|
-
* // 2. "All" - Tutti i campi attivi con valori di default
|
|
231
|
-
* parseSignatureConfiguration(1, "All", "Mario", "Rossi", "Doc1")
|
|
232
|
-
*
|
|
233
|
-
* // 3. "None" - Nessun campo attivo
|
|
234
|
-
* parseSignatureConfiguration(1, "None", "Mario", "Rossi", "Doc1")
|
|
235
|
-
*
|
|
236
|
-
* // 4. Formato con valori espliciti: Key=Value
|
|
237
|
-
* parseSignatureConfiguration(1, "Date=Yes,SignerBy=Mario,Location=Milano,Copyright=TopConsult", ...)
|
|
238
|
-
*
|
|
239
|
-
* // 5. Formato chiavi semplici (attiva i default): key1,key2,key3
|
|
240
|
-
* parseSignatureConfiguration(1, "date,signerby,location", "Mario", "Rossi", "Doc1")
|
|
241
|
-
*
|
|
242
|
-
* // 6. Formato misto
|
|
243
|
-
* parseSignatureConfiguration(1, "date,SignerBy=Yes,Location=Roma", "Mario", "Rossi", "Doc1")
|
|
244
|
-
*/
|
|
245
|
-
export const parseSignatureConfiguration = (did, informationSign, firstName, lastName, title) => {
|
|
246
|
-
try {
|
|
247
|
-
// Rimuove spazi dalla stringa di input mantenendo il case originale
|
|
248
|
-
const signatureSign = informationSign?.trim();
|
|
249
|
-
// Definisce i valori di default per ciascun campo
|
|
250
|
-
const defaultLocationValue = SDKUI_Localizator.Torino;
|
|
251
|
-
const defaultCopyrightValue = "Sign4Top";
|
|
252
|
-
const defaultSignerByValue = `${firstName ?? ''} ${lastName ?? ''}`.trim() || '';
|
|
253
|
-
// Configurazione di default: solo data attiva
|
|
254
|
-
const defaultInfo = {
|
|
255
|
-
allowDate: true,
|
|
256
|
-
allowSignerBy: false,
|
|
257
|
-
signerByValue: defaultSignerByValue,
|
|
258
|
-
allowLocation: false,
|
|
259
|
-
locationValue: defaultLocationValue,
|
|
260
|
-
allowCopyright: false,
|
|
261
|
-
copyrightValue: defaultCopyrightValue
|
|
262
|
-
};
|
|
263
|
-
// Se la stringa è vuota o non definita, ritorna la configurazione di default
|
|
264
|
-
if (!signatureSign || signatureSign.length === 0) {
|
|
265
|
-
return defaultInfo;
|
|
266
|
-
}
|
|
267
|
-
// Caso speciale: "all" attiva tutti i campi con valori di default
|
|
268
|
-
if (signatureSign.toLowerCase() === "all") {
|
|
269
|
-
return {
|
|
270
|
-
allowDate: true,
|
|
271
|
-
allowSignerBy: true,
|
|
272
|
-
signerByValue: defaultSignerByValue,
|
|
273
|
-
allowLocation: true,
|
|
274
|
-
locationValue: defaultLocationValue,
|
|
275
|
-
allowCopyright: true,
|
|
276
|
-
copyrightValue: defaultCopyrightValue
|
|
277
|
-
};
|
|
227
|
+
export const parseSignatureConfiguration = (did, informationSign, title) => {
|
|
228
|
+
const signatureSign = informationSign?.trim() || "";
|
|
229
|
+
if (!signatureSign)
|
|
230
|
+
return {};
|
|
231
|
+
const infoParts = signatureSign.split(',').map(part => part.trim()).filter(Boolean);
|
|
232
|
+
const allowedKeys = ["copyright", "date", "location"];
|
|
233
|
+
const allowedDateValues = ["no", "yes", "true", "false", ""];
|
|
234
|
+
const invalidKeys = [];
|
|
235
|
+
const invalidDateValues = [];
|
|
236
|
+
for (const part of infoParts) {
|
|
237
|
+
const [key, ...valueParts] = part.split("=");
|
|
238
|
+
const currentKey = key.trim().toLowerCase();
|
|
239
|
+
const rawValue = valueParts.join("=").trim();
|
|
240
|
+
const currentValue = rawValue.replace(/^["']|["']$/g, "").toLowerCase();
|
|
241
|
+
if (!allowedKeys.includes(currentKey)) {
|
|
242
|
+
invalidKeys.push(key.trim());
|
|
278
243
|
}
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
return {
|
|
282
|
-
allowDate: false,
|
|
283
|
-
allowSignerBy: false,
|
|
284
|
-
signerByValue: defaultSignerByValue,
|
|
285
|
-
allowLocation: false,
|
|
286
|
-
locationValue: defaultLocationValue,
|
|
287
|
-
allowCopyright: false,
|
|
288
|
-
copyrightValue: defaultCopyrightValue
|
|
289
|
-
};
|
|
244
|
+
else if (currentKey === "date" && !allowedDateValues.includes(currentValue)) {
|
|
245
|
+
invalidDateValues.push(rawValue);
|
|
290
246
|
}
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
247
|
+
}
|
|
248
|
+
if (invalidKeys.length > 0) {
|
|
249
|
+
throw new Error(`${invalidKeys.length > 1 ? 'I parametri' : 'Il parametro'} "${invalidKeys.join('", "')}" non ${invalidKeys.length > 1 ? 'sono riconosciuti' : 'è riconosciuto'} nel campo "informationSign" per il documento "${title || did}". ` +
|
|
250
|
+
`I parametri ammessi sono: ${allowedKeys.join(", ")}. ` +
|
|
251
|
+
`Il valore attuale del campo è "${informationSign}"`);
|
|
252
|
+
}
|
|
253
|
+
if (invalidDateValues.length > 0) {
|
|
254
|
+
throw new Error(`${invalidDateValues.length > 1 ? 'I valori' : 'Il valore'} "${invalidDateValues.join('", "')}" non ${invalidDateValues.length > 1 ? 'sono validi' : 'è valido'} per il parametro "date" nel campo "informationSign" per il documento "${title || did}". ` +
|
|
255
|
+
`I valori ammessi per "date" sono: ${allowedDateValues.filter(v => v).join(", ")}. ` +
|
|
256
|
+
`Il valore attuale del campo è "${informationSign}"`);
|
|
257
|
+
}
|
|
258
|
+
// DEFAULT
|
|
259
|
+
let result = {
|
|
260
|
+
copyright: "",
|
|
261
|
+
date: false,
|
|
262
|
+
location: ""
|
|
263
|
+
};
|
|
264
|
+
const parseBooleanOrValue = (value) => {
|
|
265
|
+
const valueLower = value.toLowerCase();
|
|
266
|
+
if (valueLower === "no" || valueLower === "false")
|
|
267
|
+
return { enabled: false };
|
|
268
|
+
if (valueLower === "yes" || valueLower === "true" || !value)
|
|
269
|
+
return { enabled: true };
|
|
270
|
+
return { enabled: true, customValue: value };
|
|
271
|
+
};
|
|
272
|
+
for (const part of infoParts) {
|
|
273
|
+
const [key, ...valueParts] = part.split("=");
|
|
274
|
+
const currentKey = key.trim().toLowerCase();
|
|
275
|
+
const rawValue = valueParts.join("=").trim();
|
|
276
|
+
const currentValue = rawValue.replace(/^["']|["']$/g, "");
|
|
277
|
+
switch (currentKey) {
|
|
278
|
+
case "date": {
|
|
279
|
+
const parsed = parseBooleanOrValue(currentValue);
|
|
280
|
+
result.date = parsed.enabled;
|
|
281
|
+
break;
|
|
302
282
|
}
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
}
|
|
310
|
-
// Clone della configurazione di default per la modifica
|
|
311
|
-
const info = { ...defaultInfo };
|
|
312
|
-
// Itera su ogni parte della configurazione
|
|
313
|
-
for (const part of infoParts) {
|
|
314
|
-
const [key, ...valueParts] = part.split("=");
|
|
315
|
-
const currentKey = key.trim().toLowerCase();
|
|
316
|
-
// Ricostruisce il valore nel caso contenga "=" al suo interno
|
|
317
|
-
const rawValue = valueParts.join("=").trim();
|
|
318
|
-
// Rimuove le virgolette dall'inizio e dalla fine del valore
|
|
319
|
-
const currentValue = rawValue.replace(/^["']|["']$/g, "");
|
|
320
|
-
// Helper per gestire i valori booleani e custom
|
|
321
|
-
const parseBooleanOrValue = (value) => {
|
|
322
|
-
const valueLower = value.toLowerCase();
|
|
323
|
-
if (valueLower === "no" || valueLower === "false")
|
|
324
|
-
return { enabled: false };
|
|
325
|
-
if (valueLower === "yes" || valueLower === "true" || !value)
|
|
326
|
-
return { enabled: true };
|
|
327
|
-
return { enabled: true, customValue: value };
|
|
328
|
-
};
|
|
329
|
-
// Processa ciascuna chiave in base al tipo
|
|
330
|
-
if (part.includes("=")) {
|
|
331
|
-
// Formato: Key=Value
|
|
332
|
-
switch (currentKey) {
|
|
333
|
-
case "date":
|
|
334
|
-
// Data supporta solo Yes/No/True/False
|
|
335
|
-
const dateLower = currentValue.toLowerCase();
|
|
336
|
-
info.allowDate = dateLower === "yes" || dateLower === "true";
|
|
337
|
-
break;
|
|
338
|
-
case "signerby": {
|
|
339
|
-
const parsed = parseBooleanOrValue(currentValue);
|
|
340
|
-
info.allowSignerBy = parsed.enabled;
|
|
341
|
-
info.signerByValue = parsed.customValue || defaultSignerByValue;
|
|
342
|
-
break;
|
|
343
|
-
}
|
|
344
|
-
case "location": {
|
|
345
|
-
const parsed = parseBooleanOrValue(currentValue);
|
|
346
|
-
info.allowLocation = parsed.enabled;
|
|
347
|
-
info.locationValue = parsed.customValue || defaultLocationValue;
|
|
348
|
-
break;
|
|
349
|
-
}
|
|
350
|
-
case "copyright": {
|
|
351
|
-
const parsed = parseBooleanOrValue(currentValue);
|
|
352
|
-
info.allowCopyright = parsed.enabled;
|
|
353
|
-
info.copyrightValue = parsed.customValue || defaultCopyrightValue;
|
|
354
|
-
break;
|
|
355
|
-
}
|
|
356
|
-
}
|
|
283
|
+
case "location": {
|
|
284
|
+
const parsed = parseBooleanOrValue(currentValue);
|
|
285
|
+
result.location = parsed.enabled
|
|
286
|
+
? parsed.customValue || ""
|
|
287
|
+
: "";
|
|
288
|
+
break;
|
|
357
289
|
}
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
case "signerby":
|
|
365
|
-
info.allowSignerBy = true;
|
|
366
|
-
info.signerByValue = defaultSignerByValue;
|
|
367
|
-
break;
|
|
368
|
-
case "location":
|
|
369
|
-
info.allowLocation = true;
|
|
370
|
-
info.locationValue = defaultLocationValue;
|
|
371
|
-
break;
|
|
372
|
-
case "copyright":
|
|
373
|
-
info.allowCopyright = true;
|
|
374
|
-
info.copyrightValue = defaultCopyrightValue;
|
|
375
|
-
break;
|
|
376
|
-
}
|
|
290
|
+
case "copyright": {
|
|
291
|
+
const parsed = parseBooleanOrValue(currentValue);
|
|
292
|
+
result.copyright = parsed.enabled
|
|
293
|
+
? parsed.customValue || ""
|
|
294
|
+
: "";
|
|
295
|
+
break;
|
|
377
296
|
}
|
|
378
297
|
}
|
|
379
|
-
return info;
|
|
380
|
-
}
|
|
381
|
-
catch (error) {
|
|
382
|
-
throw error;
|
|
383
298
|
}
|
|
299
|
+
return result;
|
|
384
300
|
};
|
|
385
301
|
export const convertSearchResultDescriptorToFileItems = (documents) => {
|
|
386
302
|
const fileItems = [];
|
|
@@ -473,8 +389,8 @@ export const getSearchToolbarVisibility = (appModuleID) => {
|
|
|
473
389
|
return {
|
|
474
390
|
tmSearchResult: true,
|
|
475
391
|
tmBlog: false,
|
|
476
|
-
tmSysMetadata:
|
|
477
|
-
tmDcmtPreview:
|
|
392
|
+
tmSysMetadata: false,
|
|
393
|
+
tmDcmtPreview: false,
|
|
478
394
|
tmFullTextSearch: false,
|
|
479
395
|
};
|
|
480
396
|
}
|
package/lib/helper/helpers.d.ts
CHANGED
|
@@ -2,12 +2,16 @@ import { Colors as ColorsType } from "../components/base/TMEditorBase";
|
|
|
2
2
|
import { DeviceType } from "../components";
|
|
3
3
|
import { AppModules, DataColumnDescriptor, DcmtTypeDescriptor, ITopMediaSession, MetadataDescriptor, QueryDescriptor, SearchResultDescriptor, TaskDescriptor } from "@topconsultnpm/sdk-ts";
|
|
4
4
|
import { FileExtensionHandler, FormModes, moduleTypes } from "../ts";
|
|
5
|
+
declare const calcResponsiveSizes: (deviceType: DeviceType | undefined, desktopSize: string, tabletSize: string, mobileSize: string) => string;
|
|
6
|
+
declare const taskModalSizes: (deviceType: DeviceType | undefined, formMode: FormModes) => {
|
|
7
|
+
width: string;
|
|
8
|
+
height: string;
|
|
9
|
+
};
|
|
5
10
|
declare const TABLET_WIDTH = 1024;
|
|
6
11
|
declare const MOBILE_WIDTH = 640;
|
|
7
12
|
declare const calcResponsiveDirection: (deviceType: DeviceType, desktopDir: "horizontal" | "vertical", tabletDir: "horizontal" | "vertical", mobileDir: "horizontal" | "vertical") => "horizontal" | "vertical";
|
|
8
13
|
declare const openApps: (appModule: AppModules, tmSession: ITopMediaSession, appRoutes?: any[]) => Promise<void>;
|
|
9
14
|
export declare const setSDK_GlobalsInfoAsync: (tms: ITopMediaSession | undefined) => Promise<ITopMediaSession | undefined>;
|
|
10
|
-
declare const calcResponsiveSizes: (deviceType: DeviceType | undefined, desktopSize: string, tabletSize: string, mobileSize: string) => string;
|
|
11
15
|
declare const getColor: (color: ColorsType) => string;
|
|
12
16
|
/**
|
|
13
17
|
* Genera un Universally Unique Identifier (UUID) versione 4.
|
|
@@ -44,7 +48,7 @@ export declare const canPrev: (visibleItems: any[], selectedItems: any[]) => boo
|
|
|
44
48
|
export declare const getPrev: (visibleItems: any[], selectedItems: any[]) => any;
|
|
45
49
|
export declare const calcSaveFormTitle: (rootTitle: string | undefined, formMode: FormModes, updateId: number | undefined, pathKeys: string[] | undefined) => string;
|
|
46
50
|
export declare function calcIsModified(formData: any, formDataOrig: any): boolean;
|
|
47
|
-
export { openApps, calcResponsiveDirection, calcResponsiveSizes, getColor, genUniqueId, makeID, MOBILE_WIDTH, TABLET_WIDTH };
|
|
51
|
+
export { openApps, calcResponsiveDirection, calcResponsiveSizes, taskModalSizes, getColor, genUniqueId, makeID, MOBILE_WIDTH, TABLET_WIDTH };
|
|
48
52
|
export declare function moduleVersion(module: moduleTypes): string;
|
|
49
53
|
export declare function buildtype(module: moduleTypes): string;
|
|
50
54
|
export declare const highlightText: (text: string, searchValue: string) => JSX.Element;
|
package/lib/helper/helpers.js
CHANGED
|
@@ -7,6 +7,28 @@ import { buildTypes, FileExtensionHandler, FormModes, moduleTypes } from "../ts"
|
|
|
7
7
|
import { SDKUI_Localizator } from "./SDKUI_Localizator";
|
|
8
8
|
import ReactDOMServer from "react-dom/server";
|
|
9
9
|
import { DeepCompareHelper } from "./DeepCompareHelper";
|
|
10
|
+
const calcResponsiveSizes = (deviceType, desktopSize, tabletSize, mobileSize) => {
|
|
11
|
+
if (deviceType === DeviceType.DESKTOP)
|
|
12
|
+
return desktopSize;
|
|
13
|
+
if (deviceType === DeviceType.TABLET)
|
|
14
|
+
return tabletSize;
|
|
15
|
+
return mobileSize;
|
|
16
|
+
};
|
|
17
|
+
const taskModalSizes = (deviceType, formMode) => {
|
|
18
|
+
switch (formMode) {
|
|
19
|
+
case FormModes.Create:
|
|
20
|
+
case FormModes.Duplicate:
|
|
21
|
+
return {
|
|
22
|
+
width: calcResponsiveSizes(deviceType, '500px', '90%', '95%'),
|
|
23
|
+
height: calcResponsiveSizes(deviceType, '600px', '90%', '95%'),
|
|
24
|
+
};
|
|
25
|
+
default:
|
|
26
|
+
return {
|
|
27
|
+
width: calcResponsiveSizes(deviceType, '670px', '90%', '95%'),
|
|
28
|
+
height: calcResponsiveSizes(deviceType, '770px', '90%', '95%'),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
};
|
|
10
32
|
//#region Responsive Helpers
|
|
11
33
|
const TABLET_WIDTH = 1024;
|
|
12
34
|
const MOBILE_WIDTH = 640;
|
|
@@ -50,13 +72,6 @@ export const setSDK_GlobalsInfoAsync = async (tms) => {
|
|
|
50
72
|
return undefined;
|
|
51
73
|
}
|
|
52
74
|
};
|
|
53
|
-
const calcResponsiveSizes = (deviceType, desktopSize, tabletSize, mobileSize) => {
|
|
54
|
-
if (deviceType === DeviceType.DESKTOP)
|
|
55
|
-
return desktopSize;
|
|
56
|
-
if (deviceType === DeviceType.TABLET)
|
|
57
|
-
return tabletSize;
|
|
58
|
-
return mobileSize;
|
|
59
|
-
};
|
|
60
75
|
//#endregion
|
|
61
76
|
const getColor = (color) => {
|
|
62
77
|
let c = '';
|
|
@@ -540,6 +555,7 @@ export const getMoreInfoTasksForDocument = (allTasks, TID, DID) => {
|
|
|
540
555
|
return [];
|
|
541
556
|
return allTasks.filter(task => isTaskMoreInfo(task.name) &&
|
|
542
557
|
task.state !== Task_States.Completed &&
|
|
558
|
+
task.state !== Task_States.Closed &&
|
|
543
559
|
task.iD1?.toString() === TID.toString() &&
|
|
544
560
|
task.iD2?.toString() === DID.toString());
|
|
545
561
|
};
|
|
@@ -616,7 +632,7 @@ export function calcIsModified(formData, formDataOrig) {
|
|
|
616
632
|
return JSON.stringify(formData) !== JSON.stringify(formDataOrig);
|
|
617
633
|
}
|
|
618
634
|
//#endregion
|
|
619
|
-
export { openApps, calcResponsiveDirection, calcResponsiveSizes, getColor, genUniqueId, makeID, MOBILE_WIDTH, TABLET_WIDTH };
|
|
635
|
+
export { openApps, calcResponsiveDirection, calcResponsiveSizes, taskModalSizes, getColor, genUniqueId, makeID, MOBILE_WIDTH, TABLET_WIDTH };
|
|
620
636
|
export function moduleVersion(module) {
|
|
621
637
|
switch (module) {
|
|
622
638
|
case moduleTypes.SDK: return SDK_Globals.sdkVersion ?? '0.0.0';
|
package/lib/helper/index.d.ts
CHANGED
package/lib/helper/index.js
CHANGED
|
@@ -49,7 +49,7 @@ export const IsParametricQuery = (qd) => {
|
|
|
49
49
|
return false;
|
|
50
50
|
};
|
|
51
51
|
export const addHiddenSelectItem = (select, tid, mid) => {
|
|
52
|
-
if (select.findIndex(o => o.mid == mid) >= 0)
|
|
52
|
+
if (select.findIndex(o => o.tid == tid && o.mid == mid) >= 0)
|
|
53
53
|
return;
|
|
54
54
|
let si = new SelectItem();
|
|
55
55
|
si.tid = tid;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useBetaFeatures: () => boolean;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { useEffect, useMemo } from 'react';
|
|
2
|
+
import { SDK_Globals } from '@topconsultnpm/sdk-ts';
|
|
3
|
+
import { SDKUI_Globals } from '../helper';
|
|
4
|
+
import { ShowAlert } from '../components';
|
|
5
|
+
export const useBetaFeatures = () => {
|
|
6
|
+
const tmSession = SDK_Globals.tmSession;
|
|
7
|
+
const archiveId = tmSession?.SessionDescr?.archiveID;
|
|
8
|
+
const userId = tmSession?.SessionDescr?.userID;
|
|
9
|
+
const isBetaFeaturesEnabled = useMemo(() => {
|
|
10
|
+
return SDKUI_Globals.userSettings.devSettings?.betaFeatures === 1;
|
|
11
|
+
}, [archiveId, userId]);
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
const handleBetaFeaturesShortcut = (e) => {
|
|
14
|
+
if (e.ctrlKey && e.altKey && e.key.toLowerCase() === 'y') {
|
|
15
|
+
e.preventDefault();
|
|
16
|
+
e.stopPropagation();
|
|
17
|
+
e.stopImmediatePropagation();
|
|
18
|
+
const currentValue = SDKUI_Globals.userSettings.devSettings?.betaFeatures;
|
|
19
|
+
const isCurrentlyEnabled = currentValue === 1;
|
|
20
|
+
if (isCurrentlyEnabled) {
|
|
21
|
+
SDKUI_Globals.userSettings.devSettings = undefined;
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
SDKUI_Globals.userSettings.devSettings = { betaFeatures: 1 };
|
|
25
|
+
}
|
|
26
|
+
const status = isCurrentlyEnabled ? 'disabilitato' : 'abilitato';
|
|
27
|
+
ShowAlert({
|
|
28
|
+
message: `Beta features ${status}! Saranno ${status === 'abilitato' ? 'disponibili' : 'nascoste'} al prossimo login.`,
|
|
29
|
+
mode: 'info',
|
|
30
|
+
duration: 5000,
|
|
31
|
+
title: 'Beta Features'
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
globalThis.addEventListener('keydown', handleBetaFeaturesShortcut);
|
|
36
|
+
return () => {
|
|
37
|
+
globalThis.removeEventListener('keydown', handleBetaFeaturesShortcut);
|
|
38
|
+
};
|
|
39
|
+
}, []);
|
|
40
|
+
return isBetaFeaturesEnabled;
|
|
41
|
+
};
|
|
@@ -8,6 +8,18 @@ import { useFileDialog } from './useInputDialog';
|
|
|
8
8
|
import { isXMLFileExt } from '../helper/dcmtsHelper';
|
|
9
9
|
import { ShowConfirm } from '../components/base/TMConfirm';
|
|
10
10
|
let abortController = new AbortController();
|
|
11
|
+
const downloadCountMap = new Map();
|
|
12
|
+
const getDownloadFileName = (fileName) => {
|
|
13
|
+
const firstDot = fileName.indexOf('.');
|
|
14
|
+
const lastDot = fileName.lastIndexOf('.');
|
|
15
|
+
if (firstDot === -1 || firstDot === lastDot)
|
|
16
|
+
return fileName;
|
|
17
|
+
const count = downloadCountMap.get(fileName) ?? 0;
|
|
18
|
+
downloadCountMap.set(fileName, count + 1);
|
|
19
|
+
if (count === 0)
|
|
20
|
+
return fileName;
|
|
21
|
+
return `${fileName.slice(0, firstDot)}(${count})${fileName.slice(firstDot)}`;
|
|
22
|
+
};
|
|
11
23
|
export function useDcmtOperations() {
|
|
12
24
|
const [showWaitPanel, setShowWaitPanel] = useState(false);
|
|
13
25
|
const [waitPanelTitle, setWaitPanelTitle] = useState('');
|
|
@@ -96,8 +108,8 @@ export function useDcmtOperations() {
|
|
|
96
108
|
else {
|
|
97
109
|
const alink2 = document.createElement('a');
|
|
98
110
|
alink2.href = fileURL;
|
|
99
|
-
const
|
|
100
|
-
alink2.download =
|
|
111
|
+
const baseFileName = inputDcmts[i].fileName ?? (inputDcmts[i].FILEEXT ? `${inputDcmts[i].DID}.${inputDcmts[i].FILEEXT}` : file?.name);
|
|
112
|
+
alink2.download = getDownloadFileName(baseFileName);
|
|
101
113
|
alink2.target = "_blank";
|
|
102
114
|
alink2.rel = "noreferrer";
|
|
103
115
|
alink2.click();
|
|
@@ -225,9 +225,6 @@ export const useRelatedDocuments = ({ selectedSearchResult, focusedItem, current
|
|
|
225
225
|
const filterRelationsWithAssociations = (relations) => {
|
|
226
226
|
return relations.filter(rel => rel.associations && rel.associations.length > 0);
|
|
227
227
|
};
|
|
228
|
-
const getRelatedDcmt = async (relation, type) => {
|
|
229
|
-
return await DcmtTypeListCacheService.GetAsync(type === 'detail' ? relation.detailTID : relation.masterTID);
|
|
230
|
-
};
|
|
231
228
|
const showNoRelationsAlert = (type) => {
|
|
232
229
|
ShowAlert({
|
|
233
230
|
message: type === 'detail'
|
|
@@ -282,6 +279,26 @@ export const useRelatedDocuments = ({ selectedSearchResult, focusedItem, current
|
|
|
282
279
|
TMExceptionBoxManager.show({ exception: error });
|
|
283
280
|
}
|
|
284
281
|
}, [mapAssociationsToMids]);
|
|
282
|
+
const filterRelationsByPermission = async (relations, type) => {
|
|
283
|
+
const dataSourcePromises = relations.map(async (rel) => {
|
|
284
|
+
const targetTID = type === 'detail' ? rel.detailTID : rel.masterTID;
|
|
285
|
+
const dtd = await DcmtTypeListCacheService.GetWithNotGrantedAsync(targetTID, undefined);
|
|
286
|
+
const hasPermission = dtd?.perm?.canArchive === AccessLevelsEx.Yes || dtd?.perm?.canArchive === AccessLevelsEx.Mixed;
|
|
287
|
+
return { id: rel?.id, name: dtd?.name, hasPermission, relation: rel };
|
|
288
|
+
});
|
|
289
|
+
const allResults = await Promise.all(dataSourcePromises);
|
|
290
|
+
return allResults.filter(r => r.hasPermission);
|
|
291
|
+
};
|
|
292
|
+
const showNoPermissionAlert = (type) => {
|
|
293
|
+
ShowAlert({
|
|
294
|
+
message: type === 'detail'
|
|
295
|
+
? SDKUI_Localizator.YouDoNotHavePermissionsToArchiveDetailDocumentsOfThisType
|
|
296
|
+
: SDKUI_Localizator.YouDoNotHavePermissionsToArchiveMasterDocumentsOfThisType,
|
|
297
|
+
mode: 'warning',
|
|
298
|
+
title: type === 'detail' ? SDKUI_Localizator.DcmtsDetail : SDKUI_Localizator.DcmtsMaster,
|
|
299
|
+
duration: 5000
|
|
300
|
+
});
|
|
301
|
+
};
|
|
285
302
|
const archiveRelatedDocuments = useCallback(async (tid, type) => {
|
|
286
303
|
try {
|
|
287
304
|
TMSpinner.show({ description: SDKUI_Localizator.Loading });
|
|
@@ -300,14 +317,20 @@ export const useRelatedDocuments = ({ selectedSearchResult, focusedItem, current
|
|
|
300
317
|
}
|
|
301
318
|
setRelatedDcmts(withAssociations);
|
|
302
319
|
if (withAssociations.length > 1) {
|
|
303
|
-
const
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
320
|
+
const permittedResults = await filterRelationsByPermission(withAssociations, type);
|
|
321
|
+
if (permittedResults.length === 0) {
|
|
322
|
+
showNoPermissionAlert(type);
|
|
323
|
+
return;
|
|
324
|
+
}
|
|
325
|
+
if (permittedResults.length === 1) {
|
|
326
|
+
await archiveRelatedDcmtHandler(permittedResults[0].relation, type);
|
|
327
|
+
}
|
|
328
|
+
else {
|
|
329
|
+
const dataSource = permittedResults.map(r => ({ id: r.id, name: r.name }));
|
|
330
|
+
setRelatedDcmtsChooserDataSource(dataSource);
|
|
331
|
+
setArchiveType(type);
|
|
332
|
+
setShowRelatedDcmtsChooser(true);
|
|
333
|
+
}
|
|
311
334
|
}
|
|
312
335
|
else {
|
|
313
336
|
await archiveRelatedDcmtHandler(withAssociations[0], type);
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -10,6 +10,7 @@ export * from './hooks/useResizeObserver';
|
|
|
10
10
|
export * from './hooks/useWorkflowApprove';
|
|
11
11
|
export * from './hooks/useRelatedDocuments';
|
|
12
12
|
export * from './hooks/useSettingsFeedback';
|
|
13
|
+
export * from './hooks/useBetaFeatures';
|
|
13
14
|
export * from './services';
|
|
14
15
|
import config from 'devextreme/core/config';
|
|
15
16
|
// DevExtreme License Key (valid for v25.2 and earlier versions)
|
|
@@ -6,7 +6,7 @@ export declare class PlatformObjectService {
|
|
|
6
6
|
static readonly retrieveAllAdminAsync: (objClass: ObjectClasses, jobType?: JobTypes) => Promise<import("@topconsultnpm/sdk-ts").UserDescriptor[] | DcmtTypeDescriptor[] | import("@topconsultnpm/sdk-ts").AreaDescriptor[] | import("@topconsultnpm/sdk-ts").RelationDescriptor[] | import("@topconsultnpm/sdk-ts").FEDistillerJobDescriptor[] | import("@topconsultnpm/sdk-ts").DataListDescriptor[] | import("@topconsultnpm/sdk-ts").DiskDescriptor[] | import("@topconsultnpm/sdk-ts").GroupDescriptor[] | import("@topconsultnpm/sdk-ts").LDAPDescriptor[] | import("@topconsultnpm/sdk-ts").NumeratorDescriptor[] | ProcessDescriptor[] | import("@topconsultnpm/sdk-ts").SAPLoginDescriptor[] | import("@topconsultnpm/sdk-ts").SignCertDescriptor[] | import("@topconsultnpm/sdk-ts").SignServerDescriptor[] | import("@topconsultnpm/sdk-ts").TreeDescriptor[] | import("@topconsultnpm/sdk-ts").TSADescriptor[] | import("@topconsultnpm/sdk-ts").WFDescriptor[] | undefined>;
|
|
7
7
|
private static readonly loadCacheForJobAsync;
|
|
8
8
|
private static readonly retrieveAdminJobAsync;
|
|
9
|
-
static readonly retrieveAdminAsync: (objClass: ObjectClasses, jobType: JobTypes, id: number) => Promise<import("@topconsultnpm/sdk-ts").UserDescriptor | import("@topconsultnpm/sdk-ts").WFDescriptor | DcmtTypeDescriptor | import("@topconsultnpm/sdk-ts").MailSenderJobDescriptor | import("@topconsultnpm/sdk-ts").TaskDescriptor | import("@topconsultnpm/sdk-ts").SavedQueryDescriptor | import("@topconsultnpm/sdk-ts").DataListDescriptor | import("@topconsultnpm/sdk-ts").AreaDescriptor | import("@topconsultnpm/sdk-ts").BasketTypeDescriptor | import("@topconsultnpm/sdk-ts").RelationDescriptor | import("@topconsultnpm/sdk-ts").WorkingGroupDescriptor | import("@topconsultnpm/sdk-ts").BarcodeArchiverJobDescriptor | import("@topconsultnpm/sdk-ts").BatchUpdaterJobDescriptor | import("@topconsultnpm/sdk-ts").CassettoDoganaleJobDescriptor | import("@topconsultnpm/sdk-ts").CassettoDoganalePlusJobDescriptor | import("@topconsultnpm/sdk-ts").CassettoFiscaleQueryJobDescriptor | import("@topconsultnpm/sdk-ts").CassettoFiscaleSenderJobDescriptor | import("@topconsultnpm/sdk-ts").CheckSequenceJobDescriptor | import("@topconsultnpm/sdk-ts").COSCheckerJobDescriptor | import("@topconsultnpm/sdk-ts").DcmtConverterJobDescriptor | import("@topconsultnpm/sdk-ts").DcmtDeleterJobDescriptor | import("@topconsultnpm/sdk-ts").DcmtNoteJobDescriptor | import("@topconsultnpm/sdk-ts").DcmtPrinterJobDescriptor | import("@topconsultnpm/sdk-ts").FEAttacherJobDescriptor | import("@topconsultnpm/sdk-ts").FECreatorTxtJobDescriptor | import("@topconsultnpm/sdk-ts").FEDetacherJobDescriptor | import("@topconsultnpm/sdk-ts").FEDistillerJobDescriptor | import("@topconsultnpm/sdk-ts").FESenderWsJobDescriptor | import("@topconsultnpm/sdk-ts").FESplitterJobDescriptor | import("@topconsultnpm/sdk-ts").FEValidatorJobDescriptor | import("@topconsultnpm/sdk-ts").FileArchiverJobDescriptor | import("@topconsultnpm/sdk-ts").FileCheckerJobDescriptor | import("@topconsultnpm/sdk-ts").FileExecJobDescriptor | import("@topconsultnpm/sdk-ts").FileExportJobDescriptor | import("@topconsultnpm/sdk-ts").FileMoverJobDescriptor | import("@topconsultnpm/sdk-ts").LexJobDescriptor | import("@topconsultnpm/sdk-ts").LinkerJobDescriptor | import("@topconsultnpm/sdk-ts").MailArchiverJobDescriptor | import("@topconsultnpm/sdk-ts").MailQueryJobDescriptor | import("@topconsultnpm/sdk-ts").MigrationJobDescriptor | import("@topconsultnpm/sdk-ts").PdDCreatorJobDescriptor | import("@topconsultnpm/sdk-ts").PDFArchiverJobDescriptor | import("@topconsultnpm/sdk-ts").PdVArchiverJobDescriptor | import("@topconsultnpm/sdk-ts").PdVQueryJobDescriptor | import("@topconsultnpm/sdk-ts").PdVSenderJobDescriptor | import("@topconsultnpm/sdk-ts").PeppolQueryJobDescriptor | import("@topconsultnpm/sdk-ts").PeppolSenderJobDescriptor | import("@topconsultnpm/sdk-ts").PostelQueryJobDescriptor | import("@topconsultnpm/sdk-ts").PostelSenderJobDescriptor | import("@topconsultnpm/sdk-ts").ReplicatorJobDescriptor | import("@topconsultnpm/sdk-ts").SAPAlignerJobDescriptor | import("@topconsultnpm/sdk-ts").SAPBarcodeJobDescriptor | import("@topconsultnpm/sdk-ts").SAPDataReaderJobDescriptor | import("@topconsultnpm/sdk-ts").SAPDataWriterJobDescriptor | import("@topconsultnpm/sdk-ts").SignerJobDescriptor | import("@topconsultnpm/sdk-ts").SpoolArchiverJobDescriptor | import("@topconsultnpm/sdk-ts").UpdaterJobDescriptor | import("@topconsultnpm/sdk-ts").DiskDescriptor | import("@topconsultnpm/sdk-ts").GroupDescriptor | import("@topconsultnpm/sdk-ts").LDAPDescriptor | import("@topconsultnpm/sdk-ts").NumeratorDescriptor | ProcessDescriptor | import("@topconsultnpm/sdk-ts").SAPLoginDescriptor | import("@topconsultnpm/sdk-ts").SignCertDescriptor | import("@topconsultnpm/sdk-ts").SignServerDescriptor | import("@topconsultnpm/sdk-ts").TreeDescriptor | import("@topconsultnpm/sdk-ts").TSADescriptor | undefined>;
|
|
9
|
+
static readonly retrieveAdminAsync: (objClass: ObjectClasses, jobType: JobTypes, id: number) => Promise<import("@topconsultnpm/sdk-ts").UserDescriptor | import("@topconsultnpm/sdk-ts").WFDescriptor | DcmtTypeDescriptor | import("@topconsultnpm/sdk-ts").MailSenderJobDescriptor | import("@topconsultnpm/sdk-ts").TaskDescriptor | import("@topconsultnpm/sdk-ts").SavedQueryDescriptor | import("@topconsultnpm/sdk-ts").DataListDescriptor | import("@topconsultnpm/sdk-ts").AreaDescriptor | import("@topconsultnpm/sdk-ts").BasketTypeDescriptor | import("@topconsultnpm/sdk-ts").RelationDescriptor | import("@topconsultnpm/sdk-ts").WorkingGroupDescriptor | import("@topconsultnpm/sdk-ts").BarcodeArchiverJobDescriptor | import("@topconsultnpm/sdk-ts").BatchUpdaterJobDescriptor | import("@topconsultnpm/sdk-ts").CassettoDoganaleJobDescriptor | import("@topconsultnpm/sdk-ts").CassettoDoganalePlusJobDescriptor | import("@topconsultnpm/sdk-ts").CassettoDoganaleDistillerJobDescriptor | import("@topconsultnpm/sdk-ts").CassettoFiscaleQueryJobDescriptor | import("@topconsultnpm/sdk-ts").CassettoFiscaleSenderJobDescriptor | import("@topconsultnpm/sdk-ts").CheckSequenceJobDescriptor | import("@topconsultnpm/sdk-ts").COSCheckerJobDescriptor | import("@topconsultnpm/sdk-ts").DcmtConverterJobDescriptor | import("@topconsultnpm/sdk-ts").DcmtDeleterJobDescriptor | import("@topconsultnpm/sdk-ts").DcmtNoteJobDescriptor | import("@topconsultnpm/sdk-ts").DcmtPrinterJobDescriptor | import("@topconsultnpm/sdk-ts").FEAttacherJobDescriptor | import("@topconsultnpm/sdk-ts").FECreatorTxtJobDescriptor | import("@topconsultnpm/sdk-ts").FEDetacherJobDescriptor | import("@topconsultnpm/sdk-ts").FEDistillerJobDescriptor | import("@topconsultnpm/sdk-ts").FESenderWsJobDescriptor | import("@topconsultnpm/sdk-ts").FESplitterJobDescriptor | import("@topconsultnpm/sdk-ts").FEValidatorJobDescriptor | import("@topconsultnpm/sdk-ts").FileArchiverJobDescriptor | import("@topconsultnpm/sdk-ts").FileCheckerJobDescriptor | import("@topconsultnpm/sdk-ts").FileExecJobDescriptor | import("@topconsultnpm/sdk-ts").FileExportJobDescriptor | import("@topconsultnpm/sdk-ts").FileMoverJobDescriptor | import("@topconsultnpm/sdk-ts").LexJobDescriptor | import("@topconsultnpm/sdk-ts").LinkerJobDescriptor | import("@topconsultnpm/sdk-ts").MailArchiverJobDescriptor | import("@topconsultnpm/sdk-ts").MailQueryJobDescriptor | import("@topconsultnpm/sdk-ts").MigrationJobDescriptor | import("@topconsultnpm/sdk-ts").PdDCreatorJobDescriptor | import("@topconsultnpm/sdk-ts").PDFArchiverJobDescriptor | import("@topconsultnpm/sdk-ts").PdVArchiverJobDescriptor | import("@topconsultnpm/sdk-ts").PdVQueryJobDescriptor | import("@topconsultnpm/sdk-ts").PdVSenderJobDescriptor | import("@topconsultnpm/sdk-ts").PeppolQueryJobDescriptor | import("@topconsultnpm/sdk-ts").PeppolSenderJobDescriptor | import("@topconsultnpm/sdk-ts").PostelQueryJobDescriptor | import("@topconsultnpm/sdk-ts").PostelSenderJobDescriptor | import("@topconsultnpm/sdk-ts").ReplicatorJobDescriptor | import("@topconsultnpm/sdk-ts").SAPAlignerJobDescriptor | import("@topconsultnpm/sdk-ts").SAPBarcodeJobDescriptor | import("@topconsultnpm/sdk-ts").SAPDataReaderJobDescriptor | import("@topconsultnpm/sdk-ts").SAPDataWriterJobDescriptor | import("@topconsultnpm/sdk-ts").SignerJobDescriptor | import("@topconsultnpm/sdk-ts").SpoolArchiverJobDescriptor | import("@topconsultnpm/sdk-ts").UpdaterJobDescriptor | import("@topconsultnpm/sdk-ts").DiskDescriptor | import("@topconsultnpm/sdk-ts").GroupDescriptor | import("@topconsultnpm/sdk-ts").LDAPDescriptor | import("@topconsultnpm/sdk-ts").NumeratorDescriptor | ProcessDescriptor | import("@topconsultnpm/sdk-ts").SAPLoginDescriptor | import("@topconsultnpm/sdk-ts").SignCertDescriptor | import("@topconsultnpm/sdk-ts").SignServerDescriptor | import("@topconsultnpm/sdk-ts").TreeDescriptor | import("@topconsultnpm/sdk-ts").TSADescriptor | undefined>;
|
|
10
10
|
private static readonly updateJobAsync;
|
|
11
11
|
static readonly updateAsync: (objClass: ObjectClasses, jobType: JobTypes, d: any, ...args: any[]) => Promise<number | undefined>;
|
|
12
12
|
private static readonly createJobAsync;
|
|
@@ -42,6 +42,7 @@ PlatformObjectService.retrieveAllAdminJobsAsync = async (jobType) => {
|
|
|
42
42
|
case JobTypes.BatchUpdater: return await je.BatchUpdater_RetrieveAllAdminAsync();
|
|
43
43
|
case JobTypes.CassettoDoganale: return await je.CassettoDoganale_RetrieveAllAdminAsync();
|
|
44
44
|
case JobTypes.CassettoDoganalePlus: return await je.CassettoDoganalePlus_RetrieveAllAdminAsync();
|
|
45
|
+
case JobTypes.CassettoDoganaleDistiller: return await je.CassettoDoganaleDistiller_RetrieveAllAdminAsync();
|
|
45
46
|
case JobTypes.CassettoFiscaleQuery: return await je.CassettoFiscaleQuery_RetrieveAllAdminAsync();
|
|
46
47
|
case JobTypes.CassettoFiscaleSender: return await je.CassettoFiscaleSender_RetrieveAllAdminAsync();
|
|
47
48
|
case JobTypes.CheckSequence: return await je.CheckSequence_RetrieveAllAdminAsync();
|
|
@@ -138,6 +139,7 @@ PlatformObjectService.retrieveAdminJobAsync = async (jobType, id) => {
|
|
|
138
139
|
case JobTypes.BatchUpdater: return await je.BatchUpdater_RetrieveAdminAsync(id);
|
|
139
140
|
case JobTypes.CassettoDoganale: return await je.CassettoDoganale_RetrieveAdminAsync(id);
|
|
140
141
|
case JobTypes.CassettoDoganalePlus: return await je.CassettoDoganalePlus_RetrieveAdminAsync(id);
|
|
142
|
+
case JobTypes.CassettoDoganaleDistiller: return await je.CassettoDoganaleDistiller_RetrieveAdminAsync(id);
|
|
141
143
|
case JobTypes.CassettoFiscaleQuery: return await je.CassettoFiscaleQuery_RetrieveAdminAsync(id);
|
|
142
144
|
case JobTypes.CassettoFiscaleSender: return await je.CassettoFiscaleSender_RetrieveAdminAsync(id);
|
|
143
145
|
case JobTypes.CheckSequence: return await je.CheckSequence_RetrieveAdminAsync(id);
|
|
@@ -230,6 +232,7 @@ PlatformObjectService.updateJobAsync = async (jobType, jd) => {
|
|
|
230
232
|
case JobTypes.BatchUpdater: return (await je.BatchUpdater_UpdateAsync(jd));
|
|
231
233
|
case JobTypes.CassettoDoganale: return await je.CassettoDoganale_UpdateAsync(jd);
|
|
232
234
|
case JobTypes.CassettoDoganalePlus: return await je.CassettoDoganalePlus_UpdateAsync(jd);
|
|
235
|
+
case JobTypes.CassettoDoganaleDistiller: return await je.CassettoDoganaleDistiller_UpdateAsync(jd);
|
|
233
236
|
case JobTypes.CassettoFiscaleQuery: return await je.CassettoFiscaleQuery_UpdateAsync(jd);
|
|
234
237
|
case JobTypes.CassettoFiscaleSender: return await je.CassettoFiscaleSender_UpdateAsync(jd);
|
|
235
238
|
case JobTypes.CheckSequence: return (await je.CheckSequence_UpdateAsync(jd));
|
|
@@ -317,6 +320,7 @@ PlatformObjectService.createJobAsync = async (jobType, jd) => {
|
|
|
317
320
|
case JobTypes.BatchUpdater: return (await je.BatchUpdater_CreateAsync(jd));
|
|
318
321
|
case JobTypes.CassettoDoganale: return await je.CassettoDoganale_CreateAsync(jd);
|
|
319
322
|
case JobTypes.CassettoDoganalePlus: return await je.CassettoDoganalePlus_CreateAsync(jd);
|
|
323
|
+
case JobTypes.CassettoDoganaleDistiller: return await je.CassettoDoganaleDistiller_CreateAsync(jd);
|
|
320
324
|
case JobTypes.CassettoFiscaleQuery: return await je.CassettoFiscaleQuery_CreateAsync(jd);
|
|
321
325
|
case JobTypes.CassettoFiscaleSender: return await je.CassettoFiscaleSender_CreateAsync(jd);
|
|
322
326
|
case JobTypes.CheckSequence: return (await je.CheckSequence_CreateAsync(jd));
|