@topconsultnpm/sdkui-react 6.20.0-dev2.9 → 6.20.0-dev3.2
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 +2 -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 +4 -0
- package/lib/components/features/documents/TMFileUploader.js +17 -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 +82 -79
- package/lib/components/features/search/TMSearchResultsMenuItems.js +2 -2
- 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/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 +5 -0
- package/lib/helper/TMUtils.js +10 -5
- 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
|
@@ -324,6 +324,16 @@ export class SDKUI_Localizator {
|
|
|
324
324
|
return "La risposta può essere modificata solo se lo stato dell’attività è \"Completata\", \"In attesa\" o \"Rinviata\".";
|
|
325
325
|
}
|
|
326
326
|
}
|
|
327
|
+
static get NoAnswerProvided() {
|
|
328
|
+
switch (this._cultureID) {
|
|
329
|
+
case CultureIDs.De_DE: return "Keine Antwort";
|
|
330
|
+
case CultureIDs.En_US: return "No answer";
|
|
331
|
+
case CultureIDs.Es_ES: return "Sin respuesta";
|
|
332
|
+
case CultureIDs.Fr_FR: return "Aucune réponse";
|
|
333
|
+
case CultureIDs.Pt_PT: return "Nenhuma resposta";
|
|
334
|
+
default: return "Nessuna risposta";
|
|
335
|
+
}
|
|
336
|
+
}
|
|
327
337
|
static get Application() {
|
|
328
338
|
switch (this._cultureID) {
|
|
329
339
|
case CultureIDs.De_DE: return "Anwendung";
|
|
@@ -795,6 +805,16 @@ export class SDKUI_Localizator {
|
|
|
795
805
|
default: return "Cambia password";
|
|
796
806
|
}
|
|
797
807
|
}
|
|
808
|
+
static get ChangeStatusTo() {
|
|
809
|
+
switch (this._cultureID) {
|
|
810
|
+
case CultureIDs.De_DE: return "Ändern in {{0}}";
|
|
811
|
+
case CultureIDs.En_US: return "Change to {{0}}";
|
|
812
|
+
case CultureIDs.Es_ES: return "Cambiar a {{0}}";
|
|
813
|
+
case CultureIDs.Fr_FR: return "Changer en {{0}}";
|
|
814
|
+
case CultureIDs.Pt_PT: return "Alterar para {{0}}";
|
|
815
|
+
default: return "Cambia in {{0}}";
|
|
816
|
+
}
|
|
817
|
+
}
|
|
798
818
|
static get CharactersRemaining() {
|
|
799
819
|
switch (this._cultureID) {
|
|
800
820
|
case CultureIDs.De_DE: return "verbleibende Zeichen";
|
|
@@ -970,6 +990,26 @@ export class SDKUI_Localizator {
|
|
|
970
990
|
default: return "Chiudi";
|
|
971
991
|
}
|
|
972
992
|
}
|
|
993
|
+
static get Closed() {
|
|
994
|
+
switch (this._cultureID) {
|
|
995
|
+
case CultureIDs.De_DE: return "Geschlossen";
|
|
996
|
+
case CultureIDs.En_US: return "Closed";
|
|
997
|
+
case CultureIDs.Es_ES: return "Cerrada";
|
|
998
|
+
case CultureIDs.Fr_FR: return "Fermée";
|
|
999
|
+
case CultureIDs.Pt_PT: return "Fechada";
|
|
1000
|
+
default: return "Chiusa";
|
|
1001
|
+
}
|
|
1002
|
+
}
|
|
1003
|
+
static get CloseTask() {
|
|
1004
|
+
switch (this._cultureID) {
|
|
1005
|
+
case CultureIDs.De_DE: return "Aufgabe schließen";
|
|
1006
|
+
case CultureIDs.En_US: return "Close task";
|
|
1007
|
+
case CultureIDs.Es_ES: return "Cerrar tarea";
|
|
1008
|
+
case CultureIDs.Fr_FR: return "Fermer la tâche";
|
|
1009
|
+
case CultureIDs.Pt_PT: return "Fechar tarefa";
|
|
1010
|
+
default: return "Chiudi attività";
|
|
1011
|
+
}
|
|
1012
|
+
}
|
|
973
1013
|
static get Columns_All_Hide() {
|
|
974
1014
|
switch (this._cultureID) {
|
|
975
1015
|
case CultureIDs.De_DE: return "Alle Spalten ausblenden";
|
|
@@ -2075,6 +2115,16 @@ export class SDKUI_Localizator {
|
|
|
2075
2115
|
default: return "Operazione di duplicazione interrotta";
|
|
2076
2116
|
}
|
|
2077
2117
|
}
|
|
2118
|
+
static get DuplicateActivity() {
|
|
2119
|
+
switch (this._cultureID) {
|
|
2120
|
+
case CultureIDs.De_DE: return "Aktivität duplizieren";
|
|
2121
|
+
case CultureIDs.En_US: return "Duplicate activity";
|
|
2122
|
+
case CultureIDs.Es_ES: return "Duplicar actividad";
|
|
2123
|
+
case CultureIDs.Fr_FR: return "Dupliquer l'activité";
|
|
2124
|
+
case CultureIDs.Pt_PT: return "Duplicar atividade";
|
|
2125
|
+
default: return "Duplica attività";
|
|
2126
|
+
}
|
|
2127
|
+
}
|
|
2078
2128
|
static get Edit_ConfirmFor1() {
|
|
2079
2129
|
switch (this._cultureID) {
|
|
2080
2130
|
case CultureIDs.De_DE: return "Möchten Sie '{{0}}' ändern?";
|
|
@@ -2367,6 +2417,26 @@ export class SDKUI_Localizator {
|
|
|
2367
2417
|
default: return "Scadenza";
|
|
2368
2418
|
}
|
|
2369
2419
|
}
|
|
2420
|
+
static get ExpirationDate() {
|
|
2421
|
+
switch (this._cultureID) {
|
|
2422
|
+
case CultureIDs.De_DE: return "Ablaufdatum";
|
|
2423
|
+
case CultureIDs.En_US: return "Expiration date";
|
|
2424
|
+
case CultureIDs.Es_ES: return "Fecha de vencimiento";
|
|
2425
|
+
case CultureIDs.Fr_FR: return "Date d'échéance";
|
|
2426
|
+
case CultureIDs.Pt_PT: return "Data de validade";
|
|
2427
|
+
default: return "Data di scadenza";
|
|
2428
|
+
}
|
|
2429
|
+
}
|
|
2430
|
+
static get ExpirationDateMustBeAfterCurrentDateTime() {
|
|
2431
|
+
switch (this._cultureID) {
|
|
2432
|
+
case CultureIDs.De_DE: return "Das Ablaufdatum muss nach dem aktuellen Datum und der aktuellen Uhrzeit liegen.";
|
|
2433
|
+
case CultureIDs.En_US: return "The expiration date must be after the current date and time.";
|
|
2434
|
+
case CultureIDs.Es_ES: return "La fecha de vencimiento debe ser posterior a la fecha y hora actual.";
|
|
2435
|
+
case CultureIDs.Fr_FR: return "La date d'expiration doit être postérieure à la date et l'heure actuelles.";
|
|
2436
|
+
case CultureIDs.Pt_PT: return "A data de validade deve ser posterior à data e hora atuais.";
|
|
2437
|
+
default: return "La data di scadenza deve essere successiva alla data e ora corrente.";
|
|
2438
|
+
}
|
|
2439
|
+
}
|
|
2370
2440
|
static get ExpertMode() {
|
|
2371
2441
|
switch (this._cultureID) {
|
|
2372
2442
|
case CultureIDs.De_DE: return "Expertenmodus";
|
|
@@ -4538,6 +4608,16 @@ export class SDKUI_Localizator {
|
|
|
4538
4608
|
default: return "Filtro su {@UserName} (Contiene)";
|
|
4539
4609
|
}
|
|
4540
4610
|
}
|
|
4611
|
+
static get PaginationInfo() {
|
|
4612
|
+
switch (this._cultureID) {
|
|
4613
|
+
case CultureIDs.De_DE: return "Seite {{0}} von {{1}} ({{2}} Elemente)";
|
|
4614
|
+
case CultureIDs.En_US: return "Page {{0}} of {{1}} ({{2}} items)";
|
|
4615
|
+
case CultureIDs.Es_ES: return "Página {{0}} de {{1}} ({{2}} elementos)";
|
|
4616
|
+
case CultureIDs.Fr_FR: return "Page {{0}} sur {{1}} ({{2}} éléments)";
|
|
4617
|
+
case CultureIDs.Pt_PT: return "Página {{0}} de {{1}} ({{2}} itens)";
|
|
4618
|
+
default: return "Pagina {{0}} di {{1}} ({{2}} elementi)";
|
|
4619
|
+
}
|
|
4620
|
+
}
|
|
4541
4621
|
static get Participants() {
|
|
4542
4622
|
switch (this._cultureID) {
|
|
4543
4623
|
case CultureIDs.De_DE: return "Teilnehmer";
|
|
@@ -5115,6 +5195,26 @@ export class SDKUI_Localizator {
|
|
|
5115
5195
|
}
|
|
5116
5196
|
;
|
|
5117
5197
|
}
|
|
5198
|
+
static get RelationsNotFound() {
|
|
5199
|
+
switch (this._cultureID) {
|
|
5200
|
+
case CultureIDs.De_DE: return "Keine Korrelationen gefunden";
|
|
5201
|
+
case CultureIDs.En_US: return "No correlations found";
|
|
5202
|
+
case CultureIDs.Es_ES: return "No se encontraron correlaciones";
|
|
5203
|
+
case CultureIDs.Fr_FR: return "Aucune corrélation trouvée";
|
|
5204
|
+
case CultureIDs.Pt_PT: return "Nenhuma correlação encontrada";
|
|
5205
|
+
default: return "Nessuna correlazione trovata";
|
|
5206
|
+
}
|
|
5207
|
+
}
|
|
5208
|
+
static get RelatedDcmtsNotFound() {
|
|
5209
|
+
switch (this._cultureID) {
|
|
5210
|
+
case CultureIDs.De_DE: return "Für das ausgewählte Dokument wurden keine zugehörigen Dokumente gefunden.";
|
|
5211
|
+
case CultureIDs.En_US: return "No related documents were found for the selected document.";
|
|
5212
|
+
case CultureIDs.Es_ES: return "No se encontraron documentos relacionados para el documento seleccionado.";
|
|
5213
|
+
case CultureIDs.Fr_FR: return "Aucun document associé n'a été trouvé pour le document sélectionné.";
|
|
5214
|
+
case CultureIDs.Pt_PT: return "Nenhum documento relacionado foi encontrado para o documento selecionado.";
|
|
5215
|
+
default: return "Non sono stati trovati documenti correlati per il documento selezionato.";
|
|
5216
|
+
}
|
|
5217
|
+
}
|
|
5118
5218
|
static get RelationManyToMany() {
|
|
5119
5219
|
switch (this._cultureID) {
|
|
5120
5220
|
case CultureIDs.De_DE: return "Folge viele mit vielen";
|
|
@@ -5321,16 +5421,6 @@ export class SDKUI_Localizator {
|
|
|
5321
5421
|
default: return "Promemoria";
|
|
5322
5422
|
}
|
|
5323
5423
|
}
|
|
5324
|
-
static get ReminderDateMustBeBeforeEndDate() {
|
|
5325
|
-
switch (this._cultureID) {
|
|
5326
|
-
case CultureIDs.De_DE: return "Das Erinnerungsdatum muss vor dem Enddatum liegen";
|
|
5327
|
-
case CultureIDs.En_US: return "The reminder date must be before the end date";
|
|
5328
|
-
case CultureIDs.Es_ES: return "La fecha de recordatorio debe ser anterior a la fecha de finalización";
|
|
5329
|
-
case CultureIDs.Fr_FR: return "La date de rappel doit être antérieure à la date de fin";
|
|
5330
|
-
case CultureIDs.Pt_PT: return "A data de lembrete deve ser anterior à data de término";
|
|
5331
|
-
default: return "La data di promemoria deve essere precedente alla data di fine";
|
|
5332
|
-
}
|
|
5333
|
-
}
|
|
5334
5424
|
static get ReminderSetForToday() {
|
|
5335
5425
|
switch (this._cultureID) {
|
|
5336
5426
|
case CultureIDs.De_DE: return "Es gibt eine Erinnerung, die für heute eingestellt ist und bis zum Ablaufdatum gültig ist";
|
|
@@ -5481,6 +5571,26 @@ export class SDKUI_Localizator {
|
|
|
5481
5571
|
default: return "Salva e accedi";
|
|
5482
5572
|
}
|
|
5483
5573
|
}
|
|
5574
|
+
static get SaveAndClose() {
|
|
5575
|
+
switch (this._cultureID) {
|
|
5576
|
+
case CultureIDs.De_DE: return "Speichern und schließen";
|
|
5577
|
+
case CultureIDs.En_US: return "Save and close";
|
|
5578
|
+
case CultureIDs.Es_ES: return "Guardar y cerrar";
|
|
5579
|
+
case CultureIDs.Fr_FR: return "Enregistrer et fermer";
|
|
5580
|
+
case CultureIDs.Pt_PT: return "Salvar e fechar";
|
|
5581
|
+
default: return "Salva e chiudi";
|
|
5582
|
+
}
|
|
5583
|
+
}
|
|
5584
|
+
static get SavingInProgress() {
|
|
5585
|
+
switch (this._cultureID) {
|
|
5586
|
+
case CultureIDs.De_DE: return "Speichern läuft";
|
|
5587
|
+
case CultureIDs.En_US: return "Saving in progress";
|
|
5588
|
+
case CultureIDs.Es_ES: return "Guardando";
|
|
5589
|
+
case CultureIDs.Fr_FR: return "Enregistrement en cours";
|
|
5590
|
+
case CultureIDs.Pt_PT: return "Salvando";
|
|
5591
|
+
default: return "Salvataggio in corso";
|
|
5592
|
+
}
|
|
5593
|
+
}
|
|
5484
5594
|
static get SaveQuestion() {
|
|
5485
5595
|
switch (this._cultureID) {
|
|
5486
5596
|
case CultureIDs.De_DE: return "Ihre Änderungen speichern?";
|
|
@@ -5491,6 +5601,16 @@ export class SDKUI_Localizator {
|
|
|
5491
5601
|
default: return "Salvare le modifiche apportate?";
|
|
5492
5602
|
}
|
|
5493
5603
|
}
|
|
5604
|
+
static get FormErrorsProceedQuestion() {
|
|
5605
|
+
switch (this._cultureID) {
|
|
5606
|
+
case CultureIDs.De_DE: return "Es gibt Fehler im Formular. Wenn Sie fortfahren, werden die Daten nicht gespeichert. Möchten Sie trotzdem fortfahren?";
|
|
5607
|
+
case CultureIDs.En_US: return "There are errors in the form. If you continue, the data will not be saved. Do you want to proceed anyway?";
|
|
5608
|
+
case CultureIDs.Es_ES: return "Hay errores en el formulario. Si continúas, los datos no se guardarán. ¿Quieres proceder de todos modos?";
|
|
5609
|
+
case CultureIDs.Fr_FR: return "Il y a des erreurs dans le formulaire. Si vous continuez, les données ne seront pas enregistrées. Voulez-vous continuer quand même?";
|
|
5610
|
+
case CultureIDs.Pt_PT: return "Há erros no formulário. Se continuar, os dados não serão salvos. Deseja prosseguir mesmo assim?";
|
|
5611
|
+
default: return "Ci sono errori nel form. Se continui, i dati non saranno salvati. Vuoi comunque procedere?";
|
|
5612
|
+
}
|
|
5613
|
+
}
|
|
5494
5614
|
static get SavedQueryNew() {
|
|
5495
5615
|
switch (this._cultureID) {
|
|
5496
5616
|
case CultureIDs.De_DE: return "Neue Suche speichern";
|
|
@@ -5661,6 +5781,16 @@ export class SDKUI_Localizator {
|
|
|
5661
5781
|
default: return "Seleziona dagli allegati";
|
|
5662
5782
|
}
|
|
5663
5783
|
}
|
|
5784
|
+
static get SelectMetadata() {
|
|
5785
|
+
switch (this._cultureID) {
|
|
5786
|
+
case CultureIDs.De_DE: return "Metadaten auswählen";
|
|
5787
|
+
case CultureIDs.En_US: return "Select metadata";
|
|
5788
|
+
case CultureIDs.Es_ES: return "Seleccionar metadatos";
|
|
5789
|
+
case CultureIDs.Fr_FR: return "Sélectionner les métadonnées";
|
|
5790
|
+
case CultureIDs.Pt_PT: return "Selecionar metadados";
|
|
5791
|
+
default: return "Seleziona metadato";
|
|
5792
|
+
}
|
|
5793
|
+
}
|
|
5664
5794
|
static get SelectSupportAreaMessage() {
|
|
5665
5795
|
switch (this._cultureID) {
|
|
5666
5796
|
case CultureIDs.De_DE: return "Wählen Sie einen Ablagebereich aus";
|
|
@@ -6242,6 +6372,16 @@ export class SDKUI_Localizator {
|
|
|
6242
6372
|
default: return "Stato";
|
|
6243
6373
|
}
|
|
6244
6374
|
}
|
|
6375
|
+
static get StatusAndAnswer() {
|
|
6376
|
+
switch (this._cultureID) {
|
|
6377
|
+
case CultureIDs.De_DE: return "Status und Antwort";
|
|
6378
|
+
case CultureIDs.En_US: return "Status and answer";
|
|
6379
|
+
case CultureIDs.Es_ES: return "Estado y respuesta";
|
|
6380
|
+
case CultureIDs.Fr_FR: return "Statut et réponse";
|
|
6381
|
+
case CultureIDs.Pt_PT: return "Estado e resposta";
|
|
6382
|
+
default: return "Stato e risposta";
|
|
6383
|
+
}
|
|
6384
|
+
}
|
|
6245
6385
|
static get Subject() {
|
|
6246
6386
|
switch (this._cultureID) {
|
|
6247
6387
|
case CultureIDs.De_DE: return "Betreff";
|
|
@@ -6284,22 +6424,42 @@ export class SDKUI_Localizator {
|
|
|
6284
6424
|
}
|
|
6285
6425
|
static get TaskAssignedMessage() {
|
|
6286
6426
|
switch (this._cultureID) {
|
|
6287
|
-
case CultureIDs.De_DE: return "
|
|
6288
|
-
case CultureIDs.En_US: return "
|
|
6289
|
-
case CultureIDs.Es_ES: return "
|
|
6290
|
-
case CultureIDs.Fr_FR: return "
|
|
6291
|
-
case CultureIDs.Pt_PT: return "
|
|
6292
|
-
default: return "Attività assegnata dall'utente
|
|
6427
|
+
case CultureIDs.De_DE: return "Aufgabe wurde vom Benutzer \"{{0}}\" zugewiesen.";
|
|
6428
|
+
case CultureIDs.En_US: return "Task assigned by user \"{{0}}\".";
|
|
6429
|
+
case CultureIDs.Es_ES: return "Tarea asignada por el usuario \"{{0}}\".";
|
|
6430
|
+
case CultureIDs.Fr_FR: return "Tâche assignée par l'utilisateur \"{{0}}\".";
|
|
6431
|
+
case CultureIDs.Pt_PT: return "Tarefa atribuída pelo usuário \"{{0}}\".";
|
|
6432
|
+
default: return "Attività assegnata dall'utente \"{{0}}\".";
|
|
6433
|
+
}
|
|
6434
|
+
}
|
|
6435
|
+
static get MoreInfoRequestedTo() {
|
|
6436
|
+
switch (this._cultureID) {
|
|
6437
|
+
case CultureIDs.De_DE: return "Weitere Informationen angefordert von \"{{0}}\".";
|
|
6438
|
+
case CultureIDs.En_US: return "More information requested to \"{{0}}\".";
|
|
6439
|
+
case CultureIDs.Es_ES: return "Solicitud de más información a \"{{0}}\".";
|
|
6440
|
+
case CultureIDs.Fr_FR: return "Demande d'informations supplémentaires à \"{{0}}\".";
|
|
6441
|
+
case CultureIDs.Pt_PT: return "Pedido de mais informações a \"{{0}}\".";
|
|
6442
|
+
default: return "Richiesta di maggiori informazioni a \"{{0}}\".";
|
|
6443
|
+
}
|
|
6444
|
+
}
|
|
6445
|
+
static get MoreInfoRequested() {
|
|
6446
|
+
switch (this._cultureID) {
|
|
6447
|
+
case CultureIDs.De_DE: return "Weitere Informationen angefordert";
|
|
6448
|
+
case CultureIDs.En_US: return "More information requested";
|
|
6449
|
+
case CultureIDs.Es_ES: return "Solicitud de más información";
|
|
6450
|
+
case CultureIDs.Fr_FR: return "Demande d'informations supplémentaires";
|
|
6451
|
+
case CultureIDs.Pt_PT: return "Pedido de mais informações";
|
|
6452
|
+
default: return "Richiesta di maggiori informazioni";
|
|
6293
6453
|
}
|
|
6294
6454
|
}
|
|
6295
6455
|
static get TaskAssignedToUserMessage() {
|
|
6296
6456
|
switch (this._cultureID) {
|
|
6297
|
-
case CultureIDs.De_DE: return "Aufgabe zugewiesen an den Benutzer
|
|
6298
|
-
case CultureIDs.En_US: return "Task assigned to user
|
|
6299
|
-
case CultureIDs.Es_ES: return "Tarea asignada al usuario
|
|
6300
|
-
case CultureIDs.Fr_FR: return "Tâche assignée à l'utilisateur
|
|
6301
|
-
case CultureIDs.Pt_PT: return "Tarefa atribuída ao usuário
|
|
6302
|
-
default: return "Attività assegnata all'utente
|
|
6457
|
+
case CultureIDs.De_DE: return "Aufgabe zugewiesen an den Benutzer \"{{0}}\"";
|
|
6458
|
+
case CultureIDs.En_US: return "Task assigned to user \"{{0}}\"";
|
|
6459
|
+
case CultureIDs.Es_ES: return "Tarea asignada al usuario \"{{0}}\"";
|
|
6460
|
+
case CultureIDs.Fr_FR: return "Tâche assignée à l'utilisateur \"{{0}}\"";
|
|
6461
|
+
case CultureIDs.Pt_PT: return "Tarefa atribuída ao usuário \"{{0}}\"";
|
|
6462
|
+
default: return "Attività assegnata all'utente \"{{0}}\"";
|
|
6303
6463
|
}
|
|
6304
6464
|
}
|
|
6305
6465
|
static get TaskConsideredExpiring() {
|
package/lib/helper/TMIcons.d.ts
CHANGED
|
@@ -279,4 +279,5 @@ export declare function IconMoveToFolder(props: React.SVGProps<SVGSVGElement>):
|
|
|
279
279
|
export declare function IconCustom(props: React.SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
|
|
280
280
|
export declare function IconSeparator(props: React.SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
|
|
281
281
|
export declare function IconCache(props: React.SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
|
|
282
|
-
|
|
282
|
+
declare function IconScanner(props: React.SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
|
|
283
|
+
export { Icon123, IconABC, IconAccessPoint, IconAddressBook, IconSignCert, IconServerService, IconActivity, IconActivityLog, IconAdd, IconAddCircleOutline, IconAll, IconApply, IconApplyAndClose, IconArchive, IconArchiveDoc, IconArrowDown, IconArrowLeft, IconArrowRight, IconArrowUp, IconAtSign, IconAttachment, IconAutoConfig, IconBackward, IconBasket, IconBoard, IconBoxArchiveIn, IconBxInfo, IconBxLock, IconCalendar, IconCloseCircle, IconCloseOutline, IconCloud, IconCircleInfo, IconClear, IconColumns, IconCommand, IconCopy, IconCount, IconCrown, IconDashboard, IconDcmtType, IconDcmtTypeOnlyMetadata, IconDcmtTypeSys, IconDelete, IconDetails, IconDown, IconDownload, IconDotsVerticalCircleOutline, IconDuplicate, IconEdit, IconEqual, IconEqualNot, IconEraser, IconExpandRight, IconExport, IconFastBackward, IconFoldeAdd, IconFolderSearch, IconFolderZip, IconFastForward, IconFastSearch, IconFileDots, IconFilter, IconForceStop, IconForward, IconFreeze, IconFreeSearch, IconGreaterThan, IconGreaterThanOrEqual, IconHistory, IconImport, IconTag, IconInfo, IconInsertAbove, IconInsertBelow, IconHeart, IconHide, IconLanguage, IconLeft, IconLessThan, IconLessThanOrEqual, IconLock, IconLockClosed, IconLogin, IconLink, IconLogout, IconMail, IconMapping, IconMic, IconMenuHorizontal, IconMenuKebab, IconMenuVertical, IconMetadata, IconMetadata_Computed, IconMetadata_DataList, IconMetadata_Date, IconMetadata_DynamicDataList, IconMetadata_Numerator, IconMetadata_Numeric, IconMetadata_Special, IconMetadata_Text, IconMetadata_User, IconMonitor, IconOpenInNew, IconNotification, IconPassword, IconPencil, IconPlatform, IconPlay, IconPreview, IconPrinter, IconPrintOutline, IconProcess, IconProgressAbortRequested, IconProgressCompleted, IconProgressNotCompleted, IconProgressReady, IconProgressRunning, IconProgressStarted, IconRefresh, IconReset, IconRecentlyViewed, IconRight, IconSave, IconSearch, IconSelected, IconSettings, IconShow, IconSort, IconStop, IconStopwatch, IconSuccess, IconAlarmPlus, IconHourglass, IconNone, IconNotStarted, IconProgress, IconSuccessCirlce, IconSuitcase, IconSupport, IconUndo, IconUnFreeze, IconUp, IconUpdate, IconUpload, IconUser, IconUserProfile, IconVisible, IconWarning, IconWeb, IconWifi, IconWindowMaximize, IconWindowMinimize, IconWorkflow, IconWorkspace, IconUserGroup, IconUserGroupOutline, IconUserLevelMember, IconUserLevelAdministrator, IconUserLevelSystemAdministrator, IconUserLevelAutonomousAdministrator, IconDraggabledots, IconRelation, IconEasy, IconSum, IconDisk, IconDataList, IconPalette, IconFormatPageSplit, IconPaste, IconFileSearch, IconStar, IconStarRemove, IconSearchCheck, IconLightningFill, IconArrowUnsorted, IconArrowSortedUp, IconArrowSortedDown, IconConvertFilePdf, IconExportTo, IconSharedDcmt, IconShare, IconBatchUpdate, IconCheckFile, IconStatistics, IconSubstFile, IconAdvanced, IconSync, IconSavedQuery, IconSignature, IconSignaturePencil, IconRecursiveOps, IconCheckIn, IconTree, IconGrid, IconList, IconFolder, IconFolderOpen, IconFactory, IconTest, IconCheck, IconUncheck, IconSortAsc, IconSortDesc, IconRoundFileUpload, IconSortAscLetters, IconSortDescLetters, IconRotate, IconSortAscNumbers, IconSortDescNumbers, IconSortAscClock, IconSortDescClock, IconLayerGroup, IconBell, IconBellCheck, IconBellOutline, IconBellCheckOutline, IconEnvelopeOpenText, IconChangeUser, IconUserCheck, IconRelationManyToMany, IconRelationOneToMany, IconUserExpired, IconKey, IconZoomInLinear, IconZoomOutLinear, IconMenuCAWorkingGroups, IconCADossier, IconMenuCACaseflow, IconMenuDashboard, IconMenuCAAreas, IconMenuTask, IconMenuSearch, IconMenuFullTextSearch, IconMenuFavourite, IconSAPLogin, IconSAPLogin2, IconView, IconNewSignature, IconScanner };
|
package/lib/helper/TMIcons.js
CHANGED
|
@@ -697,4 +697,7 @@ export function IconSeparator(props) {
|
|
|
697
697
|
export function IconCache(props) {
|
|
698
698
|
return (_jsx("svg", { fontSize: props.fontSize ?? FONTSIZE, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: "1em", height: "1em", ...props, children: _jsxs("g", { fill: "none", children: [" ", _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M6 8a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V8zm-2 .17A3.001 3.001 0 0 0 2 11v7a3 3 0 0 0 3 3h10a3.001 3.001 0 0 0 2.83-2H9a5 5 0 0 1-5-5V8.17zM14 3a1 1 0 0 1 1 1v5.586l1.293-1.293a1 1 0 1 1 1.414 1.414l-3 3a1 1 0 0 1-1.414 0l-3-3a1 1 0 1 1 1.414-1.414L13 9.586V4a1 1 0 0 1 1-1z", fill: "currentColor" }), " "] }) }));
|
|
699
699
|
}
|
|
700
|
-
|
|
700
|
+
function IconScanner(props) {
|
|
701
|
+
return (_jsxs("svg", { fontSize: props.fontSize ? props.fontSize : FONTSIZE, viewBox: "0 0 24 24", fill: "currentColor", height: "1em", width: "1em", ...props, children: [_jsx("path", { d: "M4 3.5 L20 3.5 L21 9 L3 9 Z", opacity: "0.5" }), _jsx("rect", { x: "2", y: "10", width: "20", height: "7", rx: "1.5" }), _jsx("rect", { x: "4", y: "11.5", width: "16", height: "4", rx: "0.5", opacity: "0.25", fill: "white" }), _jsx("rect", { x: "4", y: "13", width: "16", height: "0.8", fill: "white", opacity: "0.7" }), _jsx("rect", { x: "4", y: "18", width: "16", height: "1.5", rx: "0.5" }), _jsx("circle", { cx: "5", cy: "9.5", r: "0.7" }), _jsx("circle", { cx: "19", cy: "9.5", r: "0.7" })] }));
|
|
702
|
+
}
|
|
703
|
+
export { Icon123, IconABC, IconAccessPoint, IconAddressBook, IconSignCert, IconServerService, IconActivity, IconActivityLog, IconAdd, IconAddCircleOutline, IconAll, IconApply, IconApplyAndClose, IconArchive, IconArchiveDoc, IconArrowDown, IconArrowLeft, IconArrowRight, IconArrowUp, IconAtSign, IconAttachment, IconAutoConfig, IconBackward, IconBasket, IconBoard, IconBoxArchiveIn, IconBxInfo, IconBxLock, IconCalendar, IconCloseCircle, IconCloseOutline, IconCloud, IconCircleInfo, IconClear, IconColumns, IconCommand, IconCopy, IconCount, IconCrown, IconDashboard, IconDcmtType, IconDcmtTypeOnlyMetadata, IconDcmtTypeSys, IconDelete, IconDetails, IconDown, IconDownload, IconDotsVerticalCircleOutline, IconDuplicate, IconEdit, IconEqual, IconEqualNot, IconEraser, IconExpandRight, IconExport, IconFastBackward, IconFoldeAdd, IconFolderSearch, IconFolderZip, IconFastForward, IconFastSearch, IconFileDots, IconFilter, IconForceStop, IconForward, IconFreeze, IconFreeSearch, IconGreaterThan, IconGreaterThanOrEqual, IconHistory, IconImport, IconTag, IconInfo, IconInsertAbove, IconInsertBelow, IconHeart, IconHide, IconLanguage, IconLeft, IconLessThan, IconLessThanOrEqual, IconLock, IconLockClosed, IconLogin, IconLink, IconLogout, IconMail, IconMapping, IconMic, IconMenuHorizontal, IconMenuKebab, IconMenuVertical, IconMetadata, IconMetadata_Computed, IconMetadata_DataList, IconMetadata_Date, IconMetadata_DynamicDataList, IconMetadata_Numerator, IconMetadata_Numeric, IconMetadata_Special, IconMetadata_Text, IconMetadata_User, IconMonitor, IconOpenInNew, IconNotification, IconPassword, IconPencil, IconPlatform, IconPlay, IconPreview, IconPrinter, IconPrintOutline, IconProcess, IconProgressAbortRequested, IconProgressCompleted, IconProgressNotCompleted, IconProgressReady, IconProgressRunning, IconProgressStarted, IconRefresh, IconReset, IconRecentlyViewed, IconRight, IconSave, IconSearch, IconSelected, IconSettings, IconShow, IconSort, IconStop, IconStopwatch, IconSuccess, IconAlarmPlus, IconHourglass, IconNone, IconNotStarted, IconProgress, IconSuccessCirlce, IconSuitcase, IconSupport, IconUndo, IconUnFreeze, IconUp, IconUpdate, IconUpload, IconUser, IconUserProfile, IconVisible, IconWarning, IconWeb, IconWifi, IconWindowMaximize, IconWindowMinimize, IconWorkflow, IconWorkspace, IconUserGroup, IconUserGroupOutline, IconUserLevelMember, IconUserLevelAdministrator, IconUserLevelSystemAdministrator, IconUserLevelAutonomousAdministrator, IconDraggabledots, IconRelation, IconEasy, IconSum, IconDisk, IconDataList, IconPalette, IconFormatPageSplit, IconPaste, IconFileSearch, IconStar, IconStarRemove, IconSearchCheck, IconLightningFill, IconArrowUnsorted, IconArrowSortedUp, IconArrowSortedDown, IconConvertFilePdf, IconExportTo, IconSharedDcmt, IconShare, IconBatchUpdate, IconCheckFile, IconStatistics, IconSubstFile, IconAdvanced, IconSync, IconSavedQuery, IconSignature, IconSignaturePencil, IconRecursiveOps, IconCheckIn, IconTree, IconGrid, IconList, IconFolder, IconFolderOpen, IconFactory, IconTest, IconCheck, IconUncheck, IconSortAsc, IconSortDesc, IconRoundFileUpload, IconSortAscLetters, IconSortDescLetters, IconRotate, IconSortAscNumbers, IconSortDescNumbers, IconSortAscClock, IconSortDescClock, IconLayerGroup, IconBell, IconBellCheck, IconBellOutline, IconBellCheckOutline, IconEnvelopeOpenText, IconChangeUser, IconUserCheck, IconRelationManyToMany, IconRelationOneToMany, IconUserExpired, IconKey, IconZoomInLinear, IconZoomOutLinear, IconMenuCAWorkingGroups, IconCADossier, IconMenuCACaseflow, IconMenuDashboard, IconMenuCAAreas, IconMenuTask, IconMenuSearch, IconMenuFullTextSearch, IconMenuFavourite, IconSAPLogin, IconSAPLogin2, IconView, IconNewSignature, IconScanner };
|
package/lib/helper/TMUtils.d.ts
CHANGED
|
@@ -23,6 +23,11 @@ interface TabItemProps {
|
|
|
23
23
|
export declare const StyledTabItem: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, TabItemProps>> & string;
|
|
24
24
|
export declare const StyledTabIcon: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>, TabItemProps>> & string;
|
|
25
25
|
export declare const TMCountBadge: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
26
|
+
export declare const PDGS_COLORS: {
|
|
27
|
+
DOSSIER: string;
|
|
28
|
+
DOCUMENT: string;
|
|
29
|
+
WORKING_GROUP: string;
|
|
30
|
+
};
|
|
26
31
|
export declare const getPdgsIconMap: (fontSize?: number) => Map<PdGs, JSX.Element>;
|
|
27
32
|
/**
|
|
28
33
|
* Analizza e configura i parametri delle informazioni di firma per un documento.
|
package/lib/helper/TMUtils.js
CHANGED
|
@@ -201,13 +201,18 @@ export const StyledTabIcon = styled.i `
|
|
|
201
201
|
transition: color 0.2s ease;
|
|
202
202
|
`;
|
|
203
203
|
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; `;
|
|
204
|
+
export const PDGS_COLORS = {
|
|
205
|
+
DOSSIER: '#e65b00',
|
|
206
|
+
DOCUMENT: '#b38600',
|
|
207
|
+
WORKING_GROUP: '#009700',
|
|
208
|
+
};
|
|
204
209
|
export const getPdgsIconMap = (fontSize = 20) => {
|
|
205
210
|
return new Map([
|
|
206
211
|
[PdGs.None, _jsx("span", {}, "PdGs-None")],
|
|
207
|
-
[PdGs.CF, _jsx(IconCADossier, { color:
|
|
208
|
-
[PdGs.DT, _jsx("i", { style: { fontSize, color:
|
|
212
|
+
[PdGs.CF, _jsx(IconCADossier, { color: PDGS_COLORS.DOSSIER, fontSize: 28 }, "PdGs-CF")],
|
|
213
|
+
[PdGs.DT, _jsx("i", { style: { fontSize, color: PDGS_COLORS.DOCUMENT }, className: "dx-icon-file" }, "PdGs-DT")],
|
|
209
214
|
[PdGs.WF, _jsx("i", { style: { fontSize }, className: "dx-icon-box" }, "PdGs-WF")],
|
|
210
|
-
[PdGs.WG, _jsx(IconMenuCAWorkingGroups, { color:
|
|
215
|
+
[PdGs.WG, _jsx(IconMenuCAWorkingGroups, { color: PDGS_COLORS.WORKING_GROUP, fontSize: 28 }, "PdGs-WG")],
|
|
211
216
|
]);
|
|
212
217
|
};
|
|
213
218
|
/**
|
|
@@ -473,8 +478,8 @@ export const getSearchToolbarVisibility = (appModuleID) => {
|
|
|
473
478
|
return {
|
|
474
479
|
tmSearchResult: true,
|
|
475
480
|
tmBlog: false,
|
|
476
|
-
tmSysMetadata:
|
|
477
|
-
tmDcmtPreview:
|
|
481
|
+
tmSysMetadata: false,
|
|
482
|
+
tmDcmtPreview: false,
|
|
478
483
|
tmFullTextSearch: false,
|
|
479
484
|
};
|
|
480
485
|
}
|
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();
|