@topconsultnpm/sdkui-react 6.20.0-dev3.8 → 6.20.0-dev4.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.
Files changed (40) hide show
  1. package/lib/components/base/TMPopUp.js +4 -0
  2. package/lib/components/base/TMTreeView.js +12 -8
  3. package/lib/components/choosers/TMDataListItemChooser.js +1 -1
  4. package/lib/components/choosers/TMDataListItemFields.js +1 -1
  5. package/lib/components/choosers/TMDataListItemPicker.d.ts +1 -0
  6. package/lib/components/choosers/TMDataListItemPicker.js +5 -1
  7. package/lib/components/choosers/TMUserChooser.js +1 -1
  8. package/lib/components/editors/TMMetadataValues.js +200 -40
  9. package/lib/components/editors/TMTextArea.d.ts +1 -0
  10. package/lib/components/editors/TMTextArea.js +6 -6
  11. package/lib/components/features/documents/TMDcmtForm.js +13 -4
  12. package/lib/components/features/documents/TMFileUploader.js +12 -2
  13. package/lib/components/features/documents/TMMasterDetailDcmts.js +25 -63
  14. package/lib/components/features/documents/TMRelationViewer.js +109 -40
  15. package/lib/components/features/search/TMSearchQueryPanel.js +3 -3
  16. package/lib/components/features/search/TMSearchResult.js +2 -10
  17. package/lib/components/features/search/TMSearchResultsMenuItems.d.ts +1 -1
  18. package/lib/components/features/search/TMSearchResultsMenuItems.js +1 -8
  19. package/lib/components/features/search/TMSignatureInfoContent.js +10 -6
  20. package/lib/components/features/tasks/TMTaskFormUtils.js +1 -1
  21. package/lib/components/features/workflow/TMWorkflowPopup.js +9 -19
  22. package/lib/components/features/workflow/diagram/DiagramItemForm.d.ts +2 -0
  23. package/lib/components/features/workflow/diagram/DiagramItemForm.js +32 -25
  24. package/lib/components/features/workflow/diagram/RecipientList.d.ts +3 -1
  25. package/lib/components/features/workflow/diagram/RecipientList.js +13 -9
  26. package/lib/components/features/workflow/diagram/WFDiagram.js +29 -2
  27. package/lib/components/features/workflow/diagram/workflowHelpers.js +31 -19
  28. package/lib/components/viewers/TMMidViewer.js +2 -1
  29. package/lib/components/viewers/TMTidViewer.js +2 -1
  30. package/lib/helper/SDKUI_Globals.d.ts +4 -0
  31. package/lib/helper/SDKUI_Globals.js +9 -1
  32. package/lib/helper/SDKUI_Localizator.d.ts +12 -4
  33. package/lib/helper/SDKUI_Localizator.js +104 -24
  34. package/lib/helper/TMUtils.d.ts +6 -40
  35. package/lib/helper/TMUtils.js +69 -166
  36. package/lib/hooks/useDataUserIdItem.js +2 -2
  37. package/lib/hooks/useRelatedDocuments.js +30 -31
  38. package/package.json +55 -55
  39. package/lib/components/features/search/TMSignSettingsForm.d.ts +0 -9
  40. package/lib/components/features/search/TMSignSettingsForm.js +0 -621
@@ -54,6 +54,7 @@ export declare class SDKUI_Localizator {
54
54
  static get ArchiveDetailDocument(): "Detaildokument archivieren" | "Archive detail document" | "Archivar documento de detalle" | "Archiver le document détail" | "Arquivar documento de detalhe" | "Archivia documento dettaglio";
55
55
  static get ArchiveMasterDocument(): "Master-Dokument archivieren" | "Archive master document" | "Archivar documento maestro" | "Archiver le document maître" | "Arquivar documento mestre" | "Archivia documento master";
56
56
  static get Arguments(): "Themen" | "Arguments" | "Argumentos" | "Sujets" | "Tópicos" | "Argomenti";
57
+ static get AssignTo(): "Zuweisen an" | "Assign to" | "Asignar a" | "Assigner à" | "Atribuir a" | "Assegna a";
57
58
  static get AssignedBy(): "Zugewiesen von" | "Assigned by" | "Asignado por" | "Assigné par" | "Atribuído por" | "Assegnata da";
58
59
  static get AssignedByMe(): "Von mir zugewiesene" | "Assigned by me" | "Por mí" | "Que j'ai assignées" | "Atribuídas por mim" | "Assegnate da me";
59
60
  static get AssignedTo(): string;
@@ -201,6 +202,7 @@ export declare class SDKUI_Localizator {
201
202
  static get Domain(): "Domäne" | "Domain" | "Dominio" | "Domaine";
202
203
  static get Dossier(): "Übung" | "Dossier" | "Expediente" | "Pratique" | "Prática" | "Pratica";
203
204
  static get Dossiers(): "Akten" | "Dossiers" | "Expedientes" | "Pratiques" | "Práticas" | "Pratiche";
205
+ static get DossierType(): "Aktentyp" | "Dossier Type" | "Tipo de Expediente" | "Type de Pratique" | "Tipo de Prática" | "Modello di Pratica";
204
206
  static get DownloadFile(): string;
205
207
  static get Download_in_Process(): "Download läuft" | "Download in progress" | "Descarga en curso" | "Téléchargement en cours" | "Download em progresso" | "Download in corso";
206
208
  static get DownloadXMLAttachments(): string;
@@ -430,6 +432,7 @@ export declare class SDKUI_Localizator {
430
432
  static get NoMessagesFound(): string;
431
433
  static get NoPanelSelected(): string;
432
434
  static get NoResultsFound(): string;
435
+ static get NoSignatureFound(): string;
433
436
  static get NoSource(): "Keine Quelle" | "No Source" | "Ninguna fuente" | "Aucune source" | "Nenhuma fonte" | "Nessun Origine";
434
437
  static get NoneSelection(): "Keine Auswahl" | "No selection" | "Ninguna selección" | "Pas de sélections" | "Nenhuma seleção" | "Nessuna selezione";
435
438
  static get NotAvailable(): string;
@@ -751,10 +754,14 @@ export declare class SDKUI_Localizator {
751
754
  static get WorkflowDiagramEndMissing(): "Il workflow deve contenere almeno un elemento di tipo 'End'." | "Workflow must contain at least one 'End' item." | "El workflow debe contener al menos un elemento de tipo 'End'." | "Le workflow doit contenir au moins un élément de type 'End'." | "O workflow deve conter pelo menos um elemento do tipo 'End'.";
752
755
  static get WorkflowDiagramStartMustHaveOutgoing(): "L'elemento 'Start' deve avere almeno una connessione in uscita." | "The 'Start' item must have at least one outgoing connection." | "El elemento 'Start' debe tener al menos una conexión de salida." | "L'élément 'Start' doit avoir au moins une connexion sortante." | "O elemento 'Start' deve ter pelo menos uma ligação de saída.";
753
756
  static get WorkflowDiagramStartCannotHaveIncoming(): "L'elemento 'Start' non può avere connessioni in ingresso." | "The 'Start' item cannot have incoming connections." | "El elemento 'Start' no puede tener conexiones de entrada." | "L'élément 'Start' ne peut pas avoir de connexions entrantes." | "O elemento 'Start' não pode ter ligações de entrada.";
754
- static get WorkflowDiagramConditionTwoOutgoing(): "L'elemento 'Condition' deve avere esattamente due connessioni in uscita." | "The 'Condition' item must have exactly two outgoing connections." | "El elemento 'Condition' debe tener exactamente dos conexiones de salida." | "L'élément 'Condition' doit avoir exactement deux connexions sortantes." | "O elemento 'Condition' deve ter exactamente duas ligações de saída.";
755
- static get WorkflowDiagramConditionMustHaveIncoming(): "L'elemento 'Condition' deve avere almeno una connessione in ingresso." | "The 'Condition' item must have at least one incoming connection." | "El elemento 'Condition' debe tener al menos una conexión de entrada." | "L'élément 'Condition' doit avoir au moins une connexion entrante." | "O elemento 'Condition' deve ter pelo menos uma ligação de entrada.";
756
- static get WorkflowDiagramElementShouldHaveTwoOutgoing(): "L'elemento '{0}' dovrebbe avere esattamente due connessioni in uscita." | "The element '{0}' should have exactly two outgoing connections." | "El elemento '{0}' debería tener exactamente dos conexiones de salida." | "L'élément '{0}' devrait avoir exactement deux connexions sortantes." | "O elemento '{0}' deveria ter exactamente duas ligações de saída.";
757
- static get WorkflowDiagramElementShouldHaveIncoming(): "L'elemento '{0}' deve avere almeno una connessione in ingresso." | "The element '{0}' must have at least one incoming connection." | "El elemento '{0}' debe tener al menos una conexión de entrada." | "L'élément '{0}' doit avoir au moins une connexion entrante." | "O elemento '{0}' deve ter pelo menos uma ligação de entrada.";
757
+ static get WorkflowDiagramConditionTwoOutgoing(): "L'elemento '{{0}}' deve avere esattamente due connessioni in uscita." | "The '{{0}}' item must have exactly two outgoing connections." | "El elemento '{{0}}' debe tener exactamente dos conexiones de salida." | "L'élément '{{0}}' doit avoir exactement deux connexions sortantes." | "O elemento '{{0}}' deve ter exactamente duas ligações de saída.";
758
+ static get WorkflowDiagramConditionMustHaveIncoming(): "L'elemento '{{0}}' deve avere almeno una connessione in ingresso." | "The '{{0}}' item must have at least one incoming connection." | "El elemento '{{0}}' debe tener al menos una conexión de entrada." | "L'élément '{{0}}' doit avoir au moins une connexion entrante." | "O elemento '{{0}}' deve ter pelo menos uma ligação de entrada.";
759
+ static get WorkflowDiagramElementShouldHaveTwoOutgoing(): "L'elemento '{{0}}' dovrebbe avere esattamente due connessioni in uscita." | "The element '{{0}}' should have exactly two outgoing connections." | "El elemento '{{0}}' debería tener exactamente dos conexiones de salida." | "L'élément '{{0}}' devrait avoir exactement deux connexions sortantes." | "O elemento '{{0}}' deveria ter exactamente duas ligações de saída.";
760
+ static get WorkflowDiagramElementShouldHaveIncoming(): "L'elemento '{{0}}' deve avere almeno una connessione in ingresso." | "El elemento '{{0}}' debe tener al menos una conexión de entrada." | "L'élément '{{0}}' doit avoir au moins une connexion entrante." | "O elemento '{{0}}' deve ter pelo menos uma ligação de entrada." | "The element '{{0}}' must have at least one incoming connection.";
761
+ static get WorkflowDiagramElementMustHaveIncoming(): "L'elemento '{{0}}' deve avere almeno una connessione in ingresso." | "El elemento '{{0}}' debe tener al menos una conexión de entrada." | "L'élément '{{0}}' doit avoir au moins une connexion entrante." | "O elemento '{{0}}' deve ter pelo menos uma ligação de entrada." | "The element '{{0}}' must have at least one incoming connection." | "Das Element '{{0}}' muss mindestens eine eingehende Verbindung haben.";
762
+ static get WorkflowDiagramElementCannotHaveOutgoing(): "Das Element '{{0}}' kann keine ausgehenden Verbindungen haben." | "The element '{{0}}' cannot have outgoing connections." | "El elemento '{{0}}' no puede tener conexiones de salida." | "L'élément '{{0}}' ne peut pas avoir de connexions sortantes." | "O elemento '{{0}}' não pode ter ligações de saída." | "L'elemento '{{0}}' non può avere connessioni in uscita.";
763
+ static get WorkflowDiagramElementShouldHaveOutgoing(): "Das Element '{{0}}' sollte mindestens eine ausgehende Verbindung haben." | "The element '{{0}}' should have at least one outgoing connection." | "El elemento '{{0}}' debería tener al menos una conexión de salida." | "L'élément '{{0}}' devrait avoir au moins une connexion sortante." | "O elemento '{{0}}' deveria ter pelo menos uma ligação de saída." | "L'elemento '{{0}}' dovrebbe avere almeno una connessione in uscita.";
764
+ static get WorkflowDiagramElementShouldHaveOneOutgoing(): "Das Element '{{0}}' sollte genau eine ausgehende Verbindung haben." | "The element '{{0}}' should have exactly one outgoing connection." | "El elemento '{{0}}' debería tener exactamente una conexión de salida." | "L'élément '{{0}}' devrait avoir exactement une connexion sortante." | "O elemento '{{0}}' deveria ter exactamente uma ligação de saída." | "L'elemento '{{0}}' dovrebbe avere esattamente una connessione in uscita.";
758
765
  static get WorkflowDiagramMissingOrInvalid(): "Diagramm fehlt oder ist ungültig" | "Diagram missing or invalid" | "Diagrama no presente o no válido" | "Schéma manquant ou invalide" | "Diagrama ausente ou inválido" | "Diagramma non presente o non valido";
759
766
  static get WorkflowDiagramNotAuthorized(): "Sie sind nicht berechtigt, das Diagramm anzuzeigen" | "You are not authorized to view the diagram" | "No está autorizado para ver el diagrama" | "Vous n'êtes pas autorisé à afficher le diagramme" | "Não está autorizado a visualizar o diagrama" | "Non sei abilitato a visualizzare il diagramma";
760
767
  static get WorkflowEndInstance(): "Instanz beenden" | "End instance" | "Finalizar instancia" | "Termine l'instance" | "Pare a instância" | "Termina istanza";
@@ -765,6 +772,7 @@ export declare class SDKUI_Localizator {
765
772
  static get WorkflowStartAfterArchive(): "Starten Sie die Instanz beim Archivieren des Dokuments" | "Start the instance when you archive the document" | "Iniciar la instancia cuando se almacena el documento" | "Démarrer l'instance lorsque vous archivez le document" | "Inicie a instância quando você fizer check in no documento" | "Avviare l'istanza quando si archivia il documento";
766
773
  static get WorkflowStartAfterUpdate(): "Starten Sie die Instanz beim Bearbeiten der folgenden Methadaten" | "Start the instance when updating the following metadata" | "Iniciar la instancia cuando se modifican los siguientes metadatos" | "Démarrer l'instance lors de l'édition des métadonnées suivantes" | "Inicie a instância ao editar os seguintes metadados" | "Avviare l'istanza quando si modificano i seguenti metadati";
767
774
  static get WorkflowGetRecipientsFromQuery(): "Ermitteln Sie die Empfänger aus der ABFRAGE" | "Get the recipients from QUERY" | "Obtenga los destinatarios de QUERY" | "Obtenez les destinataires de QUERY" | "Obtenha os destinatários de QUERY" | "Ottieni i destinatari da QUERY";
775
+ static get WorkflowOnlyOneOwnerAllowed(): "Es ist nur ein Eigentümer zulässig" | "Only one owner is allowed" | "Solo se permite un propietario" | "Un seul propriétaire est autorisé" | "Apenas um proprietário é permitido" | "È consentito un solo proprietario";
768
776
  static get WorkflowOnlyOneQueryForRecipients(): "Nur eine Abfrage für die Empfänger definieren" | "Define only one query for recipients" | "Definir solo una consulta para los destinatarios" | "Définissez une seule requête pour les destinataires" | "Defina apenas uma query para os destinatários" | "Definire solo una query per i destinatari";
769
777
  static get WorkflowRecipientSetRule(): "Verwalten Sie Empfänger mit der folgenden Regel" | "Manage recipients with the following rule" | "Gestionar los destinatarios con la siguiente regla" | "Gérer les destinataires avec la règle suivante" | "Gerenciar destinatários com a seguinte regra" | "Gestisci i destinatari con la seguente regola";
770
778
  static get WorkGroup(): "Arbeitsgruppe" | "Work Group" | "Grupo de Trabajo" | "Groupe de travail" | "Grupo de Trabalho" | "Gruppo di lavoro";
@@ -494,6 +494,16 @@ export class SDKUI_Localizator {
494
494
  default: return "Argomenti";
495
495
  }
496
496
  }
497
+ static get AssignTo() {
498
+ switch (this._cultureID) {
499
+ case CultureIDs.De_DE: return "Zuweisen an";
500
+ case CultureIDs.En_US: return "Assign to";
501
+ case CultureIDs.Es_ES: return "Asignar a";
502
+ case CultureIDs.Fr_FR: return "Assigner à";
503
+ case CultureIDs.Pt_PT: return "Atribuir a";
504
+ default: return "Assegna a";
505
+ }
506
+ }
497
507
  static get AssignedBy() {
498
508
  switch (this._cultureID) {
499
509
  case CultureIDs.De_DE: return "Zugewiesen von";
@@ -1959,6 +1969,16 @@ export class SDKUI_Localizator {
1959
1969
  default: return "Pratiche";
1960
1970
  }
1961
1971
  }
1972
+ static get DossierType() {
1973
+ switch (this._cultureID) {
1974
+ case CultureIDs.De_DE: return "Aktentyp";
1975
+ case CultureIDs.En_US: return "Dossier Type";
1976
+ case CultureIDs.Es_ES: return "Tipo de Expediente";
1977
+ case CultureIDs.Fr_FR: return "Type de Pratique";
1978
+ case CultureIDs.Pt_PT: return "Tipo de Prática";
1979
+ default: return "Modello di Pratica";
1980
+ }
1981
+ }
1962
1982
  static get DownloadFile() {
1963
1983
  switch (this._cultureID) {
1964
1984
  case CultureIDs.De_DE: return "Datei herunterladen";
@@ -4258,6 +4278,16 @@ export class SDKUI_Localizator {
4258
4278
  default: return "Nessun risultato trovato";
4259
4279
  }
4260
4280
  }
4281
+ static get NoSignatureFound() {
4282
+ switch (this._cultureID) {
4283
+ case CultureIDs.De_DE: return "Keine Unterschrift gefunden";
4284
+ case CultureIDs.En_US: return "No signature found";
4285
+ case CultureIDs.Es_ES: return "No se encontró ninguna firma";
4286
+ case CultureIDs.Fr_FR: return "Aucune signature trouvée";
4287
+ case CultureIDs.Pt_PT: return "Nenhuma assinatura encontrada";
4288
+ default: return "Nessuna firma trovata";
4289
+ }
4290
+ }
4261
4291
  static get NoSource() {
4262
4292
  switch (this._cultureID) {
4263
4293
  case CultureIDs.De_DE: return "Keine Quelle";
@@ -7496,42 +7526,82 @@ export class SDKUI_Localizator {
7496
7526
  }
7497
7527
  static get WorkflowDiagramConditionTwoOutgoing() {
7498
7528
  switch (this._cultureID) {
7499
- case CultureIDs.De_DE: return "L'elemento 'Condition' deve avere esattamente due connessioni in uscita.";
7500
- case CultureIDs.En_US: return "The 'Condition' item must have exactly two outgoing connections.";
7501
- case CultureIDs.Es_ES: return "El elemento 'Condition' debe tener exactamente dos conexiones de salida.";
7502
- case CultureIDs.Fr_FR: return "L'élément 'Condition' doit avoir exactement deux connexions sortantes.";
7503
- case CultureIDs.Pt_PT: return "O elemento 'Condition' deve ter exactamente duas ligações de saída.";
7504
- default: return "L'elemento 'Condition' deve avere esattamente due connessioni in uscita.";
7529
+ case CultureIDs.De_DE: return "L'elemento '{{0}}' deve avere esattamente due connessioni in uscita.";
7530
+ case CultureIDs.En_US: return "The '{{0}}' item must have exactly two outgoing connections.";
7531
+ case CultureIDs.Es_ES: return "El elemento '{{0}}' debe tener exactamente dos conexiones de salida.";
7532
+ case CultureIDs.Fr_FR: return "L'élément '{{0}}' doit avoir exactement deux connexions sortantes.";
7533
+ case CultureIDs.Pt_PT: return "O elemento '{{0}}' deve ter exactamente duas ligações de saída.";
7534
+ default: return "L'elemento '{{0}}' deve avere esattamente due connessioni in uscita.";
7505
7535
  }
7506
7536
  }
7507
7537
  static get WorkflowDiagramConditionMustHaveIncoming() {
7508
7538
  switch (this._cultureID) {
7509
- case CultureIDs.De_DE: return "L'elemento 'Condition' deve avere almeno una connessione in ingresso.";
7510
- case CultureIDs.En_US: return "The 'Condition' item must have at least one incoming connection.";
7511
- case CultureIDs.Es_ES: return "El elemento 'Condition' debe tener al menos una conexión de entrada.";
7512
- case CultureIDs.Fr_FR: return "L'élément 'Condition' doit avoir au moins une connexion entrante.";
7513
- case CultureIDs.Pt_PT: return "O elemento 'Condition' deve ter pelo menos uma ligação de entrada.";
7514
- default: return "L'elemento 'Condition' deve avere almeno una connessione in ingresso.";
7539
+ case CultureIDs.De_DE: return "L'elemento '{{0}}' deve avere almeno una connessione in ingresso.";
7540
+ case CultureIDs.En_US: return "The '{{0}}' item must have at least one incoming connection.";
7541
+ case CultureIDs.Es_ES: return "El elemento '{{0}}' debe tener al menos una conexión de entrada.";
7542
+ case CultureIDs.Fr_FR: return "L'élément '{{0}}' doit avoir au moins une connexion entrante.";
7543
+ case CultureIDs.Pt_PT: return "O elemento '{{0}}' deve ter pelo menos uma ligação de entrada.";
7544
+ default: return "L'elemento '{{0}}' deve avere almeno una connessione in ingresso.";
7515
7545
  }
7516
7546
  }
7517
7547
  static get WorkflowDiagramElementShouldHaveTwoOutgoing() {
7518
7548
  switch (this._cultureID) {
7519
- case CultureIDs.De_DE: return "L'elemento '{0}' dovrebbe avere esattamente due connessioni in uscita.";
7520
- case CultureIDs.En_US: return "The element '{0}' should have exactly two outgoing connections.";
7521
- case CultureIDs.Es_ES: return "El elemento '{0}' debería tener exactamente dos conexiones de salida.";
7522
- case CultureIDs.Fr_FR: return "L'élément '{0}' devrait avoir exactement deux connexions sortantes.";
7523
- case CultureIDs.Pt_PT: return "O elemento '{0}' deveria ter exactamente duas ligações de saída.";
7524
- default: return "L'elemento '{0}' dovrebbe avere esattamente due connessioni in uscita.";
7549
+ case CultureIDs.De_DE: return "L'elemento '{{0}}' dovrebbe avere esattamente due connessioni in uscita.";
7550
+ case CultureIDs.En_US: return "The element '{{0}}' should have exactly two outgoing connections.";
7551
+ case CultureIDs.Es_ES: return "El elemento '{{0}}' debería tener exactamente dos conexiones de salida.";
7552
+ case CultureIDs.Fr_FR: return "L'élément '{{0}}' devrait avoir exactement deux connexions sortantes.";
7553
+ case CultureIDs.Pt_PT: return "O elemento '{{0}}' deveria ter exactamente duas ligações de saída.";
7554
+ default: return "L'elemento '{{0}}' dovrebbe avere esattamente due connessioni in uscita.";
7525
7555
  }
7526
7556
  }
7527
7557
  static get WorkflowDiagramElementShouldHaveIncoming() {
7528
7558
  switch (this._cultureID) {
7529
- case CultureIDs.De_DE: return "L'elemento '{0}' deve avere almeno una connessione in ingresso.";
7530
- case CultureIDs.En_US: return "The element '{0}' must have at least one incoming connection.";
7531
- case CultureIDs.Es_ES: return "El elemento '{0}' debe tener al menos una conexión de entrada.";
7532
- case CultureIDs.Fr_FR: return "L'élément '{0}' doit avoir au moins une connexion entrante.";
7533
- case CultureIDs.Pt_PT: return "O elemento '{0}' deve ter pelo menos uma ligação de entrada.";
7534
- default: return "L'elemento '{0}' deve avere almeno una connessione in ingresso.";
7559
+ case CultureIDs.De_DE: return "L'elemento '{{0}}' deve avere almeno una connessione in ingresso.";
7560
+ case CultureIDs.En_US: return "The element '{{0}}' must have at least one incoming connection.";
7561
+ case CultureIDs.Es_ES: return "El elemento '{{0}}' debe tener al menos una conexión de entrada.";
7562
+ case CultureIDs.Fr_FR: return "L'élément '{{0}}' doit avoir au moins une connexion entrante.";
7563
+ case CultureIDs.Pt_PT: return "O elemento '{{0}}' deve ter pelo menos uma ligação de entrada.";
7564
+ default: return "L'elemento '{{0}}' deve avere almeno una connessione in ingresso.";
7565
+ }
7566
+ }
7567
+ static get WorkflowDiagramElementMustHaveIncoming() {
7568
+ switch (this._cultureID) {
7569
+ case CultureIDs.De_DE: return "Das Element '{{0}}' muss mindestens eine eingehende Verbindung haben.";
7570
+ case CultureIDs.En_US: return "The element '{{0}}' must have at least one incoming connection.";
7571
+ case CultureIDs.Es_ES: return "El elemento '{{0}}' debe tener al menos una conexión de entrada.";
7572
+ case CultureIDs.Fr_FR: return "L'élément '{{0}}' doit avoir au moins une connexion entrante.";
7573
+ case CultureIDs.Pt_PT: return "O elemento '{{0}}' deve ter pelo menos uma ligação de entrada.";
7574
+ default: return "L'elemento '{{0}}' deve avere almeno una connessione in ingresso.";
7575
+ }
7576
+ }
7577
+ static get WorkflowDiagramElementCannotHaveOutgoing() {
7578
+ switch (this._cultureID) {
7579
+ case CultureIDs.De_DE: return "Das Element '{{0}}' kann keine ausgehenden Verbindungen haben.";
7580
+ case CultureIDs.En_US: return "The element '{{0}}' cannot have outgoing connections.";
7581
+ case CultureIDs.Es_ES: return "El elemento '{{0}}' no puede tener conexiones de salida.";
7582
+ case CultureIDs.Fr_FR: return "L'élément '{{0}}' ne peut pas avoir de connexions sortantes.";
7583
+ case CultureIDs.Pt_PT: return "O elemento '{{0}}' não pode ter ligações de saída.";
7584
+ default: return "L'elemento '{{0}}' non può avere connessioni in uscita.";
7585
+ }
7586
+ }
7587
+ static get WorkflowDiagramElementShouldHaveOutgoing() {
7588
+ switch (this._cultureID) {
7589
+ case CultureIDs.De_DE: return "Das Element '{{0}}' sollte mindestens eine ausgehende Verbindung haben.";
7590
+ case CultureIDs.En_US: return "The element '{{0}}' should have at least one outgoing connection.";
7591
+ case CultureIDs.Es_ES: return "El elemento '{{0}}' debería tener al menos una conexión de salida.";
7592
+ case CultureIDs.Fr_FR: return "L'élément '{{0}}' devrait avoir au moins une connexion sortante.";
7593
+ case CultureIDs.Pt_PT: return "O elemento '{{0}}' deveria ter pelo menos uma ligação de saída.";
7594
+ default: return "L'elemento '{{0}}' dovrebbe avere almeno una connessione in uscita.";
7595
+ }
7596
+ }
7597
+ static get WorkflowDiagramElementShouldHaveOneOutgoing() {
7598
+ switch (this._cultureID) {
7599
+ case CultureIDs.De_DE: return "Das Element '{{0}}' sollte genau eine ausgehende Verbindung haben.";
7600
+ case CultureIDs.En_US: return "The element '{{0}}' should have exactly one outgoing connection.";
7601
+ case CultureIDs.Es_ES: return "El elemento '{{0}}' debería tener exactamente una conexión de salida.";
7602
+ case CultureIDs.Fr_FR: return "L'élément '{{0}}' devrait avoir exactement une connexion sortante.";
7603
+ case CultureIDs.Pt_PT: return "O elemento '{{0}}' deveria ter exactamente uma ligação de saída.";
7604
+ default: return "L'elemento '{{0}}' dovrebbe avere esattamente una connessione in uscita.";
7535
7605
  }
7536
7606
  }
7537
7607
  static get WorkflowDiagramMissingOrInvalid() {
@@ -7634,6 +7704,16 @@ export class SDKUI_Localizator {
7634
7704
  default: return "Ottieni i destinatari da QUERY";
7635
7705
  }
7636
7706
  }
7707
+ static get WorkflowOnlyOneOwnerAllowed() {
7708
+ switch (this._cultureID) {
7709
+ case CultureIDs.De_DE: return "Es ist nur ein Eigentümer zulässig";
7710
+ case CultureIDs.En_US: return "Only one owner is allowed";
7711
+ case CultureIDs.Es_ES: return "Solo se permite un propietario";
7712
+ case CultureIDs.Fr_FR: return "Un seul propriétaire est autorisé";
7713
+ case CultureIDs.Pt_PT: return "Apenas um proprietário é permitido";
7714
+ default: return "È consentito un solo proprietario";
7715
+ }
7716
+ }
7637
7717
  static get WorkflowOnlyOneQueryForRecipients() {
7638
7718
  switch (this._cultureID) {
7639
7719
  case CultureIDs.De_DE: return "Nur eine Abfrage für die Empfänger definieren";
@@ -21,6 +21,7 @@ export declare const isPdfEditorEnabled: (widgetsString: string) => boolean;
21
21
  export declare const isPdfEditorAvailable: (fromDTD: DcmtTypeDescriptor | undefined, ext: string | undefined) => boolean;
22
22
  interface TabItemProps {
23
23
  $isSelected: boolean;
24
+ $activeGradient?: string;
24
25
  }
25
26
  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;
26
27
  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;
@@ -31,47 +32,12 @@ export declare const PDGS_COLORS: {
31
32
  WORKING_GROUP: string;
32
33
  };
33
34
  export declare const getPdgsIconMap: (fontSize?: number) => Map<PdGs, JSX.Element>;
34
- /**
35
- * Analizza e configura i parametri delle informazioni di firma per un documento.
36
- *
37
- * @param did - ID del documento
38
- * @param informationSign - Stringa di configurazione della firma
39
- * @param firstName - Nome del firmatario
40
- * @param lastName - Cognome del firmatario
41
- * @param title - Titolo del documento (per messaggi di errore)
42
- *
43
- * @returns Oggetto contenente le configurazioni dei campi della firma
44
- *
45
- * @example
46
- * // Formati supportati:
47
- *
48
- * // 1. Configurazione predefinita (vuoto o undefined): solo data attiva
49
- * parseSignatureConfiguration(1, undefined, "Mario", "Rossi", "Doc1")
50
- *
51
- * // 2. "All" - Tutti i campi attivi con valori di default
52
- * parseSignatureConfiguration(1, "All", "Mario", "Rossi", "Doc1")
53
- *
54
- * // 3. "None" - Nessun campo attivo
55
- * parseSignatureConfiguration(1, "None", "Mario", "Rossi", "Doc1")
56
- *
57
- * // 4. Formato con valori espliciti: Key=Value
58
- * parseSignatureConfiguration(1, "Date=Yes,SignerBy=Mario,Location=Milano,Copyright=TopConsult", ...)
59
- *
60
- * // 5. Formato chiavi semplici (attiva i default): key1,key2,key3
61
- * parseSignatureConfiguration(1, "date,signerby,location", "Mario", "Rossi", "Doc1")
62
- *
63
- * // 6. Formato misto
64
- * parseSignatureConfiguration(1, "date,SignerBy=Yes,Location=Roma", "Mario", "Rossi", "Doc1")
65
- */
66
- export declare const parseSignatureConfiguration: (did: number, informationSign: string | undefined | null, firstName: string | undefined | null, lastName: string | undefined | null, title: string | undefined | null) => {
67
- allowDate: boolean;
68
- allowSignerBy: boolean;
69
- signerByValue: string;
70
- allowLocation: boolean;
71
- locationValue: string;
72
- allowCopyright: boolean;
73
- copyrightValue: string;
35
+ export type SignatureConfiguration = {
36
+ copyright: string;
37
+ date: boolean;
38
+ location: string;
74
39
  };
40
+ export declare const parseSignatureConfiguration: (did: number, informationSign: string | undefined | null, title: string | undefined | null) => Partial<SignatureConfiguration>;
75
41
  export declare const convertSearchResultDescriptorToFileItems: (documents: Array<SearchResultDescriptor>) => Array<FileItem>;
76
42
  export declare const getAppModuleGradient: (appModuleID: AppModules) => string;
77
43
  export declare const getPanelManagerToolbarColor: (appModuleID: AppModules) => string;
@@ -194,8 +194,9 @@ export const StyledTabItem = styled.div `
194
194
  border-radius: 8px;
195
195
  font-weight: ${({ $isSelected }) => ($isSelected ? 'bold' : 'normal')};
196
196
  color: ${({ $isSelected }) => ($isSelected ? '#fff' : '#000')};
197
- background: ${({ $isSelected }) => $isSelected
198
- ? 'linear-gradient(270deg, #46B5A2 16%, #3BAABC 34%, #3BAABC 34%, #3681AD 54%, #3368A5 72%, #2F549D 88%, #304F99 100%)'
197
+ background: ${({ $isSelected, $activeGradient }) => $isSelected
198
+ ? ($activeGradient ??
199
+ 'linear-gradient(270deg, #46B5A2 16%, #3BAABC 34%, #3BAABC 34%, #3681AD 54%, #3368A5 72%, #2F549D 88%, #304F99 100%)')
199
200
  : 'transparent'};
200
201
  transition: background-color 0.2s ease;
201
202
  font-size: 1rem;
@@ -224,177 +225,79 @@ export const getPdgsIconMap = (fontSize = 20) => {
224
225
  [PdGs.WG, _jsx(IconMenuCAWorkingGroups, { color: PDGS_COLORS.WORKING_GROUP, fontSize: 28 }, "PdGs-WG")],
225
226
  ]);
226
227
  };
227
- /**
228
- * Analizza e configura i parametri delle informazioni di firma per un documento.
229
- *
230
- * @param did - ID del documento
231
- * @param informationSign - Stringa di configurazione della firma
232
- * @param firstName - Nome del firmatario
233
- * @param lastName - Cognome del firmatario
234
- * @param title - Titolo del documento (per messaggi di errore)
235
- *
236
- * @returns Oggetto contenente le configurazioni dei campi della firma
237
- *
238
- * @example
239
- * // Formati supportati:
240
- *
241
- * // 1. Configurazione predefinita (vuoto o undefined): solo data attiva
242
- * parseSignatureConfiguration(1, undefined, "Mario", "Rossi", "Doc1")
243
- *
244
- * // 2. "All" - Tutti i campi attivi con valori di default
245
- * parseSignatureConfiguration(1, "All", "Mario", "Rossi", "Doc1")
246
- *
247
- * // 3. "None" - Nessun campo attivo
248
- * parseSignatureConfiguration(1, "None", "Mario", "Rossi", "Doc1")
249
- *
250
- * // 4. Formato con valori espliciti: Key=Value
251
- * parseSignatureConfiguration(1, "Date=Yes,SignerBy=Mario,Location=Milano,Copyright=TopConsult", ...)
252
- *
253
- * // 5. Formato chiavi semplici (attiva i default): key1,key2,key3
254
- * parseSignatureConfiguration(1, "date,signerby,location", "Mario", "Rossi", "Doc1")
255
- *
256
- * // 6. Formato misto
257
- * parseSignatureConfiguration(1, "date,SignerBy=Yes,Location=Roma", "Mario", "Rossi", "Doc1")
258
- */
259
- export const parseSignatureConfiguration = (did, informationSign, firstName, lastName, title) => {
260
- try {
261
- // Rimuove spazi dalla stringa di input mantenendo il case originale
262
- const signatureSign = informationSign?.trim();
263
- // Definisce i valori di default per ciascun campo
264
- const defaultLocationValue = SDKUI_Localizator.Torino;
265
- const defaultCopyrightValue = "Sign4Top";
266
- const defaultSignerByValue = `${firstName ?? ''} ${lastName ?? ''}`.trim() || '';
267
- // Configurazione di default: solo data attiva
268
- const defaultInfo = {
269
- allowDate: true,
270
- allowSignerBy: false,
271
- signerByValue: defaultSignerByValue,
272
- allowLocation: false,
273
- locationValue: defaultLocationValue,
274
- allowCopyright: false,
275
- copyrightValue: defaultCopyrightValue
276
- };
277
- // Se la stringa è vuota o non definita, ritorna la configurazione di default
278
- if (!signatureSign || signatureSign.length === 0) {
279
- return defaultInfo;
280
- }
281
- // Caso speciale: "all" attiva tutti i campi con valori di default
282
- if (signatureSign.toLowerCase() === "all") {
283
- return {
284
- allowDate: true,
285
- allowSignerBy: true,
286
- signerByValue: defaultSignerByValue,
287
- allowLocation: true,
288
- locationValue: defaultLocationValue,
289
- allowCopyright: true,
290
- copyrightValue: defaultCopyrightValue
291
- };
228
+ export const parseSignatureConfiguration = (did, informationSign, title) => {
229
+ const signatureSign = informationSign?.trim() || "";
230
+ if (!signatureSign)
231
+ return {};
232
+ const infoParts = signatureSign.split(',').map(part => part.trim()).filter(Boolean);
233
+ const allowedKeys = ["copyright", "date", "location"];
234
+ const allowedDateValues = ["no", "yes", "true", "false", ""];
235
+ const invalidKeys = [];
236
+ const invalidDateValues = [];
237
+ for (const part of infoParts) {
238
+ const [key, ...valueParts] = part.split("=");
239
+ const currentKey = key.trim().toLowerCase();
240
+ const rawValue = valueParts.join("=").trim();
241
+ const currentValue = rawValue.replace(/^["']|["']$/g, "").toLowerCase();
242
+ if (!allowedKeys.includes(currentKey)) {
243
+ invalidKeys.push(key.trim());
292
244
  }
293
- // Caso speciale: "none" disattiva tutti i campi
294
- if (signatureSign.toLowerCase() === "none") {
295
- return {
296
- allowDate: false,
297
- allowSignerBy: false,
298
- signerByValue: defaultSignerByValue,
299
- allowLocation: false,
300
- locationValue: defaultLocationValue,
301
- allowCopyright: false,
302
- copyrightValue: defaultCopyrightValue
303
- };
245
+ else if (currentKey === "date" && !allowedDateValues.includes(currentValue)) {
246
+ invalidDateValues.push(rawValue);
304
247
  }
305
- // Chiavi ammesse per la configurazione
306
- const allowedKeys = ["date", "signerby", "location", "copyright"];
307
- // Suddivisione della stringa in parti separate da virgola
308
- const infoParts = signatureSign.split(',').map(part => part.trim()).filter(Boolean);
309
- // Validazione preventiva di tutte le chiavi
310
- const invalidKeys = [];
311
- for (const part of infoParts) {
312
- const [key] = part.split("=");
313
- const currentKey = key.trim().toLowerCase();
314
- if (!allowedKeys.includes(currentKey)) {
315
- invalidKeys.push(key.trim());
248
+ }
249
+ if (invalidKeys.length > 0) {
250
+ 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}". ` +
251
+ `I parametri ammessi sono: ${allowedKeys.join(", ")}. ` +
252
+ `Il valore attuale del campo è "${informationSign}"`);
253
+ }
254
+ if (invalidDateValues.length > 0) {
255
+ 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}". ` +
256
+ `I valori ammessi per "date" sono: ${allowedDateValues.filter(v => v).join(", ")}. ` +
257
+ `Il valore attuale del campo è "${informationSign}"`);
258
+ }
259
+ // DEFAULT
260
+ let result = {
261
+ copyright: "",
262
+ date: false,
263
+ location: ""
264
+ };
265
+ const parseBooleanOrValue = (value) => {
266
+ const valueLower = value.toLowerCase();
267
+ if (valueLower === "no" || valueLower === "false")
268
+ return { enabled: false };
269
+ if (valueLower === "yes" || valueLower === "true" || !value)
270
+ return { enabled: true };
271
+ return { enabled: true, customValue: value };
272
+ };
273
+ for (const part of infoParts) {
274
+ const [key, ...valueParts] = part.split("=");
275
+ const currentKey = key.trim().toLowerCase();
276
+ const rawValue = valueParts.join("=").trim();
277
+ const currentValue = rawValue.replace(/^["']|["']$/g, "");
278
+ switch (currentKey) {
279
+ case "date": {
280
+ const parsed = parseBooleanOrValue(currentValue);
281
+ result.date = parsed.enabled;
282
+ break;
316
283
  }
317
- }
318
- // Se ci sono chiavi non valide, lancia un errore unico
319
- if (invalidKeys.length > 0) {
320
- 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}". ` +
321
- `I parametri ammessi sono: ${allowedKeys.join(", ")}. ` +
322
- `Il valore attuale del campo è "${informationSign}"`);
323
- }
324
- // Clone della configurazione di default per la modifica
325
- const info = { ...defaultInfo };
326
- // Itera su ogni parte della configurazione
327
- for (const part of infoParts) {
328
- const [key, ...valueParts] = part.split("=");
329
- const currentKey = key.trim().toLowerCase();
330
- // Ricostruisce il valore nel caso contenga "=" al suo interno
331
- const rawValue = valueParts.join("=").trim();
332
- // Rimuove le virgolette dall'inizio e dalla fine del valore
333
- const currentValue = rawValue.replace(/^["']|["']$/g, "");
334
- // Helper per gestire i valori booleani e custom
335
- const parseBooleanOrValue = (value) => {
336
- const valueLower = value.toLowerCase();
337
- if (valueLower === "no" || valueLower === "false")
338
- return { enabled: false };
339
- if (valueLower === "yes" || valueLower === "true" || !value)
340
- return { enabled: true };
341
- return { enabled: true, customValue: value };
342
- };
343
- // Processa ciascuna chiave in base al tipo
344
- if (part.includes("=")) {
345
- // Formato: Key=Value
346
- switch (currentKey) {
347
- case "date":
348
- // Data supporta solo Yes/No/True/False
349
- const dateLower = currentValue.toLowerCase();
350
- info.allowDate = dateLower === "yes" || dateLower === "true";
351
- break;
352
- case "signerby": {
353
- const parsed = parseBooleanOrValue(currentValue);
354
- info.allowSignerBy = parsed.enabled;
355
- info.signerByValue = parsed.customValue || defaultSignerByValue;
356
- break;
357
- }
358
- case "location": {
359
- const parsed = parseBooleanOrValue(currentValue);
360
- info.allowLocation = parsed.enabled;
361
- info.locationValue = parsed.customValue || defaultLocationValue;
362
- break;
363
- }
364
- case "copyright": {
365
- const parsed = parseBooleanOrValue(currentValue);
366
- info.allowCopyright = parsed.enabled;
367
- info.copyrightValue = parsed.customValue || defaultCopyrightValue;
368
- break;
369
- }
370
- }
284
+ case "location": {
285
+ const parsed = parseBooleanOrValue(currentValue);
286
+ result.location = parsed.enabled
287
+ ? parsed.customValue || ""
288
+ : "";
289
+ break;
371
290
  }
372
- else {
373
- // Formato: Key (attiva il campo con valore di default)
374
- switch (currentKey) {
375
- case "date":
376
- info.allowDate = true;
377
- break;
378
- case "signerby":
379
- info.allowSignerBy = true;
380
- info.signerByValue = defaultSignerByValue;
381
- break;
382
- case "location":
383
- info.allowLocation = true;
384
- info.locationValue = defaultLocationValue;
385
- break;
386
- case "copyright":
387
- info.allowCopyright = true;
388
- info.copyrightValue = defaultCopyrightValue;
389
- break;
390
- }
291
+ case "copyright": {
292
+ const parsed = parseBooleanOrValue(currentValue);
293
+ result.copyright = parsed.enabled
294
+ ? parsed.customValue || ""
295
+ : "";
296
+ break;
391
297
  }
392
298
  }
393
- return info;
394
- }
395
- catch (error) {
396
- throw error;
397
299
  }
300
+ return result;
398
301
  };
399
302
  export const convertSearchResultDescriptorToFileItems = (documents) => {
400
303
  const fileItems = [];
@@ -76,14 +76,14 @@ export const useDataUserIdItem = () => {
76
76
  return null;
77
77
  if (!userId)
78
78
  return null;
79
- return ud ? _jsx(TMUserIcon, { ud: ud }) : _jsx("div", { title: showTitile ? SDKUI_Localizator.ValueNotPresent : undefined, children: _jsx(IconWarning, { color: TMColors.warning }) });
79
+ return ud ? _jsx(TMUserIcon, { ud: ud }) : _jsx("span", { title: showTitile ? SDKUI_Localizator.ValueNotPresent : undefined, style: { display: 'inline-flex', alignItems: 'center' }, children: _jsx(IconWarning, { color: TMColors.warning }) });
80
80
  };
81
81
  const getDescription = () => {
82
82
  if (!userId)
83
83
  return undefined;
84
84
  return ud ? getCompleteUserName(ud.domain, ud.name) : userId.toString() ?? SDKUI_Localizator.NoneSelection;
85
85
  };
86
- return (_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: '4px' }, children: [getIcon(), _jsx("span", { children: getDescription() })] }));
86
+ return (_jsxs("span", { style: { display: 'inline-flex', alignItems: 'center', gap: '4px', lineHeight: 1 }, children: [getIcon(), _jsx("span", { style: { lineHeight: 'normal' }, children: getDescription() })] }));
87
87
  }, [getUserItem, getCompleteUserName]);
88
88
  return {
89
89
  loadUsersAsync,