@topconsultnpm/sdkui-react-beta 6.12.37 → 6.12.39

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 (61) hide show
  1. package/lib/components/base/Styled.d.ts +12 -0
  2. package/lib/components/base/Styled.js +49 -3
  3. package/lib/components/base/TMFloatingToolbar.d.ts +9 -0
  4. package/lib/components/base/TMFloatingToolbar.js +99 -0
  5. package/lib/components/base/TMRightSidebar.d.ts +0 -4
  6. package/lib/components/base/TMRightSidebar.js +2 -10
  7. package/lib/components/base/TMShowAllOrMaxItemsButton.d.ts +8 -0
  8. package/lib/components/base/TMShowAllOrMaxItemsButton.js +14 -0
  9. package/lib/components/base/TMTreeView.d.ts +27 -0
  10. package/lib/components/base/TMTreeView.js +199 -0
  11. package/lib/components/grids/TMBlogs.d.ts +84 -0
  12. package/lib/components/grids/TMBlogs.js +566 -0
  13. package/lib/components/grids/TMBlogsUtils.d.ts +83 -0
  14. package/lib/components/grids/TMBlogsUtils.js +258 -0
  15. package/lib/components/index.d.ts +2 -0
  16. package/lib/components/index.js +2 -0
  17. package/lib/components/query/TMBatchUpdateForm.d.ts +12 -0
  18. package/lib/components/query/TMBatchUpdateForm.js +149 -0
  19. package/lib/components/query/TMDcmtBlog.d.ts +7 -0
  20. package/lib/components/query/TMDcmtBlog.js +34 -0
  21. package/lib/components/query/TMDcmtForm.d.ts +32 -0
  22. package/lib/components/query/TMDcmtForm.js +544 -0
  23. package/lib/components/query/TMDcmtIcon.d.ts +10 -0
  24. package/lib/components/query/TMDcmtIcon.js +52 -0
  25. package/lib/components/query/TMDcmtPreview.d.ts +26 -0
  26. package/lib/components/query/TMDcmtPreview.js +200 -0
  27. package/lib/components/query/TMFileUploader.d.ts +11 -0
  28. package/lib/components/query/TMFileUploader.js +101 -0
  29. package/lib/components/query/TMMasterDetailDcmts.d.ts +23 -0
  30. package/lib/components/query/TMMasterDetailDcmts.js +475 -0
  31. package/lib/components/query/TMQueryEditor.js +2 -2
  32. package/lib/components/query/TMQueryResultForm.d.ts +1 -7
  33. package/lib/components/query/TMQueryResultForm.js +1 -9
  34. package/lib/components/query/TMWorkflowPopup.d.ts +29 -0
  35. package/lib/components/query/TMWorkflowPopup.js +131 -0
  36. package/lib/components/search/TMSearchResult.d.ts +31 -0
  37. package/lib/components/search/TMSearchResult.js +727 -0
  38. package/lib/components/search/TMSearchResultsMenuItems.d.ts +6 -0
  39. package/lib/components/search/TMSearchResultsMenuItems.js +376 -0
  40. package/lib/helper/Enum_Localizator.d.ts +2 -1
  41. package/lib/helper/Enum_Localizator.js +20 -1
  42. package/lib/helper/SDKUI_Localizator.d.ts +24 -0
  43. package/lib/helper/SDKUI_Localizator.js +240 -0
  44. package/lib/helper/dcmtsHelper.d.ts +4 -0
  45. package/lib/helper/dcmtsHelper.js +15 -0
  46. package/lib/helper/helpers.d.ts +2 -1
  47. package/lib/helper/helpers.js +74 -1
  48. package/lib/helper/queryHelper.d.ts +7 -1
  49. package/lib/helper/queryHelper.js +105 -1
  50. package/lib/hooks/useDcmtOperations.d.ts +24 -0
  51. package/lib/hooks/useDcmtOperations.js +387 -0
  52. package/lib/hooks/useInputDialog.d.ts +5 -0
  53. package/lib/hooks/useInputDialog.js +73 -0
  54. package/lib/hooks/usePreventFileDrop.d.ts +3 -0
  55. package/lib/hooks/usePreventFileDrop.js +37 -0
  56. package/lib/index.d.ts +0 -1
  57. package/lib/index.js +0 -1
  58. package/lib/services/platform_services.d.ts +1 -1
  59. package/lib/ts/types.d.ts +54 -1
  60. package/lib/ts/types.js +34 -0
  61. package/package.json +1 -1
@@ -8,6 +8,16 @@ export class SDKUI_Localizator {
8
8
  static setLanguage(cultureID) {
9
9
  this._cultureID = cultureID;
10
10
  }
11
+ static get Active() {
12
+ switch (this._cultureID) {
13
+ case CultureIDs.De_DE: return "Aktive";
14
+ case CultureIDs.En_US: return "Active";
15
+ case CultureIDs.Es_ES: return "Activos";
16
+ case CultureIDs.Fr_FR: return "Actifs";
17
+ case CultureIDs.Pt_PT: return "Ativos";
18
+ default: return "Attivi";
19
+ }
20
+ }
11
21
  static get Abort() {
12
22
  switch (this._cultureID) {
13
23
  case CultureIDs.De_DE: return "Stoppen";
@@ -238,6 +248,16 @@ export class SDKUI_Localizator {
238
248
  default: return "Consenti solo archiviazioni di metadati";
239
249
  }
240
250
  }
251
+ static get ArchivedDocuments() {
252
+ switch (this._cultureID) {
253
+ case CultureIDs.De_DE: return "Archivierte Dokumente";
254
+ case CultureIDs.En_US: return "Archived Documents";
255
+ case CultureIDs.Es_ES: return "Documentos Archivados";
256
+ case CultureIDs.Fr_FR: return "Documents Archivés";
257
+ case CultureIDs.Pt_PT: return "Documentos Arquivados";
258
+ default: return "Documenti Archiviati";
259
+ }
260
+ }
241
261
  static get ArchiveID() {
242
262
  switch (this._cultureID) {
243
263
  case CultureIDs.De_DE: return "Dokumentarisches Archiv";
@@ -248,6 +268,26 @@ export class SDKUI_Localizator {
248
268
  default: return "Archivio documentale";
249
269
  }
250
270
  }
271
+ static get Attachment() {
272
+ switch (this._cultureID) {
273
+ case CultureIDs.De_DE: return "Anhang";
274
+ case CultureIDs.En_US: return "Attachment";
275
+ case CultureIDs.Es_ES: return "Adjunto";
276
+ case CultureIDs.Fr_FR: return "Pièce jointe";
277
+ case CultureIDs.Pt_PT: return "Anexo";
278
+ default: return "Allegato";
279
+ }
280
+ }
281
+ static get Attachments() {
282
+ switch (this._cultureID) {
283
+ case CultureIDs.De_DE: return "Anhänge";
284
+ case CultureIDs.En_US: return "Attachments";
285
+ case CultureIDs.Es_ES: return "Adjuntos";
286
+ case CultureIDs.Fr_FR: return "Pièces jointes";
287
+ case CultureIDs.Pt_PT: return "Anexos";
288
+ default: return "Allegati";
289
+ }
290
+ }
251
291
  static get Attention() {
252
292
  switch (this._cultureID) {
253
293
  case CultureIDs.De_DE: return "Aufmerksamkeit";
@@ -519,6 +559,16 @@ export class SDKUI_Localizator {
519
559
  default: return "Visualizza tutte le colonne";
520
560
  }
521
561
  }
562
+ static get Comment() {
563
+ switch (this._cultureID) {
564
+ case CultureIDs.De_DE: return "Kommentieren";
565
+ case CultureIDs.En_US: return "Comment";
566
+ case CultureIDs.Es_ES: return "Comentar";
567
+ case CultureIDs.Fr_FR: return "Commenter";
568
+ case CultureIDs.Pt_PT: return "Comentar";
569
+ default: return "Commenta";
570
+ }
571
+ }
522
572
  static get CompleteError() {
523
573
  switch (this._cultureID) {
524
574
  case CultureIDs.De_DE: return "Kompletter Fehler";
@@ -609,6 +659,16 @@ export class SDKUI_Localizator {
609
659
  default: return "Crea";
610
660
  }
611
661
  }
662
+ static get CreateContextualTask() {
663
+ switch (this._cultureID) {
664
+ case CultureIDs.De_DE: return "Kontextbezogene Aufgabe erstellen";
665
+ case CultureIDs.En_US: return "Create contextual task";
666
+ case CultureIDs.Es_ES: return "Crear tarea contextual";
667
+ case CultureIDs.Fr_FR: return "Créer une tâche contextuelle";
668
+ case CultureIDs.Pt_PT: return "Criar tarefa contextual";
669
+ default: return "Crea attività contestuale";
670
+ }
671
+ }
612
672
  static get CreationTime() {
613
673
  switch (this._cultureID) {
614
674
  case CultureIDs.De_DE: return "Erstellungsdatum";
@@ -769,6 +829,16 @@ export class SDKUI_Localizator {
769
829
  default: return "{{0}} oggetti selezionati. Eliminarli tutti?";
770
830
  }
771
831
  }
832
+ static get DeleteComment() {
833
+ switch (this._cultureID) {
834
+ case CultureIDs.De_DE: return "Kommentar löschen?";
835
+ case CultureIDs.En_US: return "Delete the comment?";
836
+ case CultureIDs.Es_ES: return "¿Eliminar el comentario?";
837
+ case CultureIDs.Fr_FR: return "Supprimer le commentaire ?";
838
+ case CultureIDs.Pt_PT: return "Eliminar o comentário?";
839
+ default: return "Eliminare il commento?";
840
+ }
841
+ }
772
842
  static get DeletionCompletedSuccessfully() {
773
843
  switch (this._cultureID) {
774
844
  case CultureIDs.De_DE: return "Löschung erfolgreich abgeschlossen";
@@ -779,6 +849,16 @@ export class SDKUI_Localizator {
779
849
  default: return "Eliminazione completata con successo";
780
850
  }
781
851
  }
852
+ static get Deleted() {
853
+ switch (this._cultureID) {
854
+ case CultureIDs.De_DE: return "Gelöscht";
855
+ case CultureIDs.En_US: return "Deleted";
856
+ case CultureIDs.Es_ES: return "Eliminados";
857
+ case CultureIDs.Fr_FR: return "Supprimés";
858
+ case CultureIDs.Pt_PT: return "Excluídos";
859
+ default: return "Eliminati";
860
+ }
861
+ }
782
862
  static get DeletionOperationInterrupted() {
783
863
  switch (this._cultureID) {
784
864
  case CultureIDs.De_DE: return "Löschvorgang abgebrochen";
@@ -839,6 +919,16 @@ export class SDKUI_Localizator {
839
919
  default: return "Valori distinti";
840
920
  }
841
921
  }
922
+ static get DocumentNotAvailable() {
923
+ switch (this._cultureID) {
924
+ case CultureIDs.De_DE: return "Dokument nicht verfügbar";
925
+ case CultureIDs.En_US: return "Document not available";
926
+ case CultureIDs.Es_ES: return "Documento no disponible";
927
+ case CultureIDs.Fr_FR: return "Document non disponible";
928
+ case CultureIDs.Pt_PT: return "Documento não disponível";
929
+ default: return "Documento non disponibile";
930
+ }
931
+ }
842
932
  static get Domain() {
843
933
  switch (this._cultureID) {
844
934
  case CultureIDs.De_DE: return "Domäne";
@@ -1500,6 +1590,16 @@ export class SDKUI_Localizator {
1500
1590
  default: return "Nascondi nome completo";
1501
1591
  }
1502
1592
  }
1593
+ static get HideFilters() {
1594
+ switch (this._cultureID) {
1595
+ case CultureIDs.De_DE: return "Filter ausblenden";
1596
+ case CultureIDs.En_US: return "Hide filters";
1597
+ case CultureIDs.Es_ES: return "Ocultar filtros";
1598
+ case CultureIDs.Fr_FR: return "Masquer les filtres";
1599
+ case CultureIDs.Pt_PT: return "Ocultar filtros";
1600
+ default: return "Nascondi filtri";
1601
+ }
1602
+ }
1503
1603
  static get HideLeftPanel() {
1504
1604
  switch (this._cultureID) {
1505
1605
  case CultureIDs.De_DE: return "Linkes Panel ausblenden";
@@ -1650,6 +1750,26 @@ export class SDKUI_Localizator {
1650
1750
  default: return "Ultima modifica";
1651
1751
  }
1652
1752
  }
1753
+ static get LastVersion() {
1754
+ switch (this._cultureID) {
1755
+ case CultureIDs.De_DE: return "Letzte Version";
1756
+ case CultureIDs.En_US: return "Last version";
1757
+ case CultureIDs.Es_ES: return "Última versión";
1758
+ case CultureIDs.Fr_FR: return "Dernière version";
1759
+ case CultureIDs.Pt_PT: return "Última versão";
1760
+ default: return "Ultima versione";
1761
+ }
1762
+ }
1763
+ static get Latest() {
1764
+ switch (this._cultureID) {
1765
+ case CultureIDs.De_DE: return "Letzte";
1766
+ case CultureIDs.En_US: return "Latest";
1767
+ case CultureIDs.Es_ES: return "Últimos";
1768
+ case CultureIDs.Fr_FR: return "Derniers";
1769
+ case CultureIDs.Pt_PT: return "Últimos";
1770
+ default: return "Ultimi";
1771
+ }
1772
+ }
1653
1773
  static get LexProt() {
1654
1774
  switch (this._cultureID) {
1655
1775
  case CultureIDs.De_DE: return "Lex-Schutz";
@@ -2101,6 +2221,26 @@ export class SDKUI_Localizator {
2101
2221
  default: return "Nessun documento trovato";
2102
2222
  }
2103
2223
  }
2224
+ static get NoMessages() {
2225
+ switch (this._cultureID) {
2226
+ case CultureIDs.De_DE: return "Keine Nachrichten vorhanden";
2227
+ case CultureIDs.En_US: return "No Messages Present";
2228
+ case CultureIDs.Es_ES: return "Ningún mensaje presente";
2229
+ case CultureIDs.Fr_FR: return "Aucun message présent";
2230
+ case CultureIDs.Pt_PT: return "Nenhuma mensagem presente";
2231
+ default: return "Nessun messaggio presente in Bacheca";
2232
+ }
2233
+ }
2234
+ static get NoMessagesFound() {
2235
+ switch (this._cultureID) {
2236
+ case CultureIDs.De_DE: return "Keine Nachricht gefunden";
2237
+ case CultureIDs.En_US: return "No messages found";
2238
+ case CultureIDs.Es_ES: return "No se encontraron mensajes";
2239
+ case CultureIDs.Fr_FR: return "Aucun message trouvé";
2240
+ case CultureIDs.Pt_PT: return "Nenhuma mensagem encontrada";
2241
+ default: return "Nessun messaggio trovato";
2242
+ }
2243
+ }
2104
2244
  static get NoneSelection() {
2105
2245
  switch (this._cultureID) {
2106
2246
  case CultureIDs.De_DE: return "Keine Auswahl";
@@ -2111,6 +2251,16 @@ export class SDKUI_Localizator {
2111
2251
  default: return "Nessuna selezione";
2112
2252
  }
2113
2253
  }
2254
+ static get OfSystem() {
2255
+ switch (this._cultureID) {
2256
+ case CultureIDs.De_DE: return "Des Systems";
2257
+ case CultureIDs.En_US: return "Of system";
2258
+ case CultureIDs.Es_ES: return "Del sistema";
2259
+ case CultureIDs.Fr_FR: return "Du système";
2260
+ case CultureIDs.Pt_PT: return "Do sistema";
2261
+ default: return "Di sistema";
2262
+ }
2263
+ }
2114
2264
  static get OldPassword() {
2115
2265
  switch (this._cultureID) {
2116
2266
  case CultureIDs.De_DE: return "Altes Kennwort";
@@ -2281,6 +2431,16 @@ export class SDKUI_Localizator {
2281
2431
  default: return "Non proprietario";
2282
2432
  }
2283
2433
  }
2434
+ static get Path() {
2435
+ switch (this._cultureID) {
2436
+ case CultureIDs.De_DE: return "Dateipfad";
2437
+ case CultureIDs.En_US: return "File Path";
2438
+ case CultureIDs.Es_ES: return "Ruta de archivo";
2439
+ case CultureIDs.Fr_FR: return "Chemin de fichier";
2440
+ case CultureIDs.Pt_PT: return "Caminho de arquivo";
2441
+ default: return "Percorso";
2442
+ }
2443
+ }
2284
2444
  static get ParametricFilter() {
2285
2445
  switch (this._cultureID) {
2286
2446
  case CultureIDs.De_DE: return "Parametrischer Filter";
@@ -2521,6 +2681,16 @@ export class SDKUI_Localizator {
2521
2681
  default: return "Cancellazione fisica";
2522
2682
  }
2523
2683
  }
2684
+ static get Practice() {
2685
+ switch (this._cultureID) {
2686
+ case CultureIDs.De_DE: return "Praxis";
2687
+ case CultureIDs.En_US: return "Practice";
2688
+ case CultureIDs.Es_ES: return "Práctica";
2689
+ case CultureIDs.Fr_FR: return "Pratique";
2690
+ case CultureIDs.Pt_PT: return "Prática";
2691
+ default: return "Pratica";
2692
+ }
2693
+ }
2524
2694
  static get PreviewView() {
2525
2695
  switch (this._cultureID) {
2526
2696
  case CultureIDs.De_DE: return "Vorschauansicht";
@@ -2641,6 +2811,36 @@ export class SDKUI_Localizator {
2641
2811
  default: return "Documenti recenti";
2642
2812
  }
2643
2813
  }
2814
+ static get RefersTo() {
2815
+ switch (this._cultureID) {
2816
+ case CultureIDs.De_DE: return "Bezieht sich auf";
2817
+ case CultureIDs.En_US: return "Refers to";
2818
+ case CultureIDs.Es_ES: return "Se refiere a";
2819
+ case CultureIDs.Fr_FR: return "Fait référence à";
2820
+ case CultureIDs.Pt_PT: return "Refere-se a";
2821
+ default: return "Riferito a";
2822
+ }
2823
+ }
2824
+ static get RecentDocs_Archived() {
2825
+ switch (this._cultureID) {
2826
+ case CultureIDs.De_DE: return "Zuletzt archivierte Dokumente";
2827
+ case CultureIDs.En_US: return "Last archived documents";
2828
+ case CultureIDs.Es_ES: return "Últimos documentos archivados";
2829
+ case CultureIDs.Fr_FR: return "Derniers documents archivés";
2830
+ case CultureIDs.Pt_PT: return "Últimos documentos arquivados";
2831
+ default: return "Ultimi documenti archiviati";
2832
+ }
2833
+ }
2834
+ static get RecentDocs_Visualized() {
2835
+ switch (this._cultureID) {
2836
+ case CultureIDs.De_DE: return "Zuletzt visualisierte Dokumente";
2837
+ case CultureIDs.En_US: return "Last seen documents";
2838
+ case CultureIDs.Es_ES: return "Últimos documentos visualizados";
2839
+ case CultureIDs.Fr_FR: return "Derniers documents visualisés";
2840
+ case CultureIDs.Pt_PT: return "Últimos documentos visualizados";
2841
+ default: return "Ultimi documenti visualizzati";
2842
+ }
2843
+ }
2644
2844
  static get Reject() {
2645
2845
  switch (this._cultureID) {
2646
2846
  case CultureIDs.De_DE: return "Ablehnen";
@@ -2808,6 +3008,16 @@ export class SDKUI_Localizator {
2808
3008
  default: return "Ripristina";
2809
3009
  }
2810
3010
  }
3011
+ static get RestoreComment() {
3012
+ switch (this._cultureID) {
3013
+ case CultureIDs.De_DE: return "Kommentar wiederherstellen?";
3014
+ case CultureIDs.En_US: return "Restore the comment?";
3015
+ case CultureIDs.Es_ES: return "¿Restaurar el comentario?";
3016
+ case CultureIDs.Fr_FR: return "Restaurer le commentaire ?";
3017
+ case CultureIDs.Pt_PT: return "Restaurar o comentário?";
3018
+ default: return "Ripristinare il commento?";
3019
+ }
3020
+ }
2811
3021
  static get RetrieveFile() {
2812
3022
  switch (this._cultureID) {
2813
3023
  case CultureIDs.De_DE: return "Dateiwiederherstellung";
@@ -3088,6 +3298,16 @@ export class SDKUI_Localizator {
3088
3298
  default: return "Mostra dettagli";
3089
3299
  }
3090
3300
  }
3301
+ static get ShowFilters() {
3302
+ switch (this._cultureID) {
3303
+ case CultureIDs.De_DE: return "Filter anzeigen";
3304
+ case CultureIDs.En_US: return "Show filters";
3305
+ case CultureIDs.Es_ES: return "Mostrar filtros";
3306
+ case CultureIDs.Fr_FR: return "Afficher les filtres";
3307
+ case CultureIDs.Pt_PT: return "Mostrar filtros";
3308
+ default: return "Mostra filtri";
3309
+ }
3310
+ }
3091
3311
  static get ShowHideMetadataSystemDesc() {
3092
3312
  switch (this._cultureID) {
3093
3313
  case CultureIDs.De_DE: return "Anzeigen oder Verbergen von Methadaten des Dokumententypsystems";
@@ -3218,6 +3438,16 @@ export class SDKUI_Localizator {
3218
3438
  default: return "Modello";
3219
3439
  }
3220
3440
  }
3441
+ static get Today() {
3442
+ switch (this._cultureID) {
3443
+ case CultureIDs.De_DE: return "Heute";
3444
+ case CultureIDs.En_US: return "Today";
3445
+ case CultureIDs.Es_ES: return "Hoy";
3446
+ case CultureIDs.Fr_FR: return "Aujourd'hui";
3447
+ case CultureIDs.Pt_PT: return "Hoje";
3448
+ default: return "Oggi";
3449
+ }
3450
+ }
3221
3451
  static get ToTime() {
3222
3452
  switch (this._cultureID) {
3223
3453
  case CultureIDs.De_DE: return "zu";
@@ -3628,6 +3858,16 @@ export class SDKUI_Localizator {
3628
3858
  default: return "Approvazione workflow";
3629
3859
  }
3630
3860
  }
3861
+ static get WorkGroup() {
3862
+ switch (this._cultureID) {
3863
+ case CultureIDs.De_DE: return "Arbeitsgruppe";
3864
+ case CultureIDs.En_US: return "Work Group";
3865
+ case CultureIDs.Es_ES: return "Grupo de Trabajo";
3866
+ case CultureIDs.Fr_FR: return "Groupe de travail";
3867
+ case CultureIDs.Pt_PT: return "Grupo de Trabalho";
3868
+ default: return "Gruppo di lavoro";
3869
+ }
3870
+ }
3631
3871
  static get Yes() {
3632
3872
  switch (this._cultureID) {
3633
3873
  case CultureIDs.De_DE: return "Ja";
@@ -0,0 +1,4 @@
1
+ /** Check if dcmtType (mTID) has configured Detail or Many-to-Many relations */
2
+ export declare const hasDetailRelations: (mTID: number | undefined) => Promise<boolean>;
3
+ /** Check if dcmtType (mTID) has configured Master or Many-to-Many relations */
4
+ export declare const hasMasterRelations: (mTID: number | undefined) => Promise<boolean>;
@@ -0,0 +1,15 @@
1
+ import { RelationCacheService, RelationTypes } from "@topconsultnpm/sdk-ts-beta";
2
+ /** Check if dcmtType (mTID) has configured Detail or Many-to-Many relations */
3
+ export const hasDetailRelations = async (mTID) => {
4
+ let allRelations = await RelationCacheService.GetAllAsync();
5
+ let rdlOneToMany = allRelations?.filter(o => o.masterTID == mTID && o.relationType == RelationTypes.OneToMany) ?? [];
6
+ let rdlManyToMany = allRelations?.filter(o => o.relationType == RelationTypes.ManyToMany && (o.masterTID == mTID || o.detailTID == mTID)) ?? [];
7
+ return rdlManyToMany.length > 0 || rdlOneToMany.length > 0;
8
+ };
9
+ /** Check if dcmtType (mTID) has configured Master or Many-to-Many relations */
10
+ export const hasMasterRelations = async (mTID) => {
11
+ let allRelations = await RelationCacheService.GetAllAsync();
12
+ let rdlOneToMany = allRelations?.filter(o => o.detailTID == mTID && o.relationType == RelationTypes.OneToMany) ?? [];
13
+ let rdlManyToMany = allRelations?.filter(o => o.relationType == RelationTypes.ManyToMany && (o.masterTID == mTID || o.detailTID == mTID)) ?? [];
14
+ return rdlManyToMany.length > 0 || rdlOneToMany.length > 0;
15
+ };
@@ -1,7 +1,7 @@
1
1
  import { Colors as ColorsType } from "../components/base/TMEditorBase";
2
2
  import { DeviceType } from "../components";
3
3
  import { AppModules, DataColumnDescriptor, ITopMediaSession, MetadataDescriptor, QueryDescriptor, SearchResultDescriptor } from "@topconsultnpm/sdk-ts-beta";
4
- import { FormModes, moduleTypes } from "../ts";
4
+ import { FileExtensionHandler, FormModes, moduleTypes } from "../ts";
5
5
  declare const TABLET_WIDTH = 1024;
6
6
  declare const MOBILE_WIDTH = 640;
7
7
  declare const calcResponsiveDirection: (deviceType: DeviceType, desktopDir: "horizontal" | "vertical", tabletDir: "horizontal" | "vertical", mobileDir: "horizontal" | "vertical") => "horizontal" | "vertical";
@@ -20,6 +20,7 @@ export declare const getQueryCountAsync: (qd: QueryDescriptor, showSpinner: bool
20
20
  export declare function getTIDByMID(mid: number | undefined, defaultTid?: number): number;
21
21
  export declare const getSystemMetadata: (withPerm?: boolean) => MetadataDescriptor[];
22
22
  export declare function deepCompare(obj1: any, obj2: any): boolean;
23
+ export declare const extensionHandler: (fileExt: string | undefined) => FileExtensionHandler;
23
24
  export declare const canNext: (visibleItems: any[], selectedItems: any[]) => boolean;
24
25
  export declare const getNext: (visibleItems: any[], selectedItems: any[]) => any;
25
26
  export declare const canPrev: (visibleItems: any[], selectedItems: any[]) => boolean;
@@ -3,7 +3,7 @@ import { Colors } from "../utils/theme";
3
3
  import { ButtonNames, DeviceType, TMExceptionBoxManager, TMMessageBoxManager, TMSpinner } from "../components";
4
4
  import { AccessLevels, MetadataDataDomains, MetadataDataTypes, MetadataDescriptor, MetadataFormatDescriptor, MetadataFormats, MetadataPermission, SDK_Globals, SystemMIDs, SystemMIDsAsNumber, TopMediaServer } from "@topconsultnpm/sdk-ts-beta";
5
5
  import { Buffer } from 'buffer';
6
- import { buildTypes, FormModes, moduleTypes } from "../ts";
6
+ import { buildTypes, FileExtensionHandler, FormModes, moduleTypes } from "../ts";
7
7
  import { SDKUI_Localizator } from "./SDKUI_Localizator";
8
8
  import ReactDOMServer from "react-dom/server";
9
9
  //#region Responsive Helpers
@@ -400,6 +400,79 @@ export function deepCompare(obj1, obj2) {
400
400
  }
401
401
  return true;
402
402
  }
403
+ export const extensionHandler = (fileExt) => {
404
+ if (!fileExt || fileExt.length === 0) {
405
+ return FileExtensionHandler.NONE;
406
+ }
407
+ switch (fileExt.toLowerCase()) {
408
+ case 'pdf.p7m':
409
+ case 'pdf.p7m.ts': return FileExtensionHandler.CONVERTIBLE;
410
+ case 'doc':
411
+ case 'doc.p7m':
412
+ case 'doc.p7m.ts': return FileExtensionHandler.CONVERTIBLE;
413
+ case 'docx':
414
+ case 'docx.p7m':
415
+ case 'docx.p7m.ts': return FileExtensionHandler.CONVERTIBLE;
416
+ case 'xls':
417
+ case 'xls.p7m':
418
+ case 'xls.p7m.ts': return FileExtensionHandler.CONVERTIBLE;
419
+ case 'xlsx':
420
+ case 'xlsx.p7m':
421
+ case 'xlsx.p7m.ts': return FileExtensionHandler.CONVERTIBLE;
422
+ case 'ppt':
423
+ case 'ppt.p7m':
424
+ case 'ppt.p7m.ts': return FileExtensionHandler.CONVERTIBLE;
425
+ case 'pptx':
426
+ case 'pptx.p7m':
427
+ case 'pptx.p7m.ts': return FileExtensionHandler.CONVERTIBLE;
428
+ case 'pptm':
429
+ case 'pptm.p7m':
430
+ case 'pptm.p7m.ts': return FileExtensionHandler.CONVERTIBLE;
431
+ case 'pps':
432
+ case 'pps.p7m':
433
+ case 'pps.p7m.ts': return FileExtensionHandler.CONVERTIBLE;
434
+ case 'ppsx':
435
+ case 'ppsx.p7m':
436
+ case 'ppsx.p7m.ts': return FileExtensionHandler.CONVERTIBLE;
437
+ case 'tif':
438
+ case 'tif.p7m':
439
+ case 'tif.p7m.ts': return FileExtensionHandler.CONVERTIBLE;
440
+ case 'tiff':
441
+ case 'tiff.p7m':
442
+ case 'tiff.p7m.ts': return FileExtensionHandler.CONVERTIBLE;
443
+ case 'eml':
444
+ case 'eml.p7m':
445
+ case 'eml.p7m.ts': return FileExtensionHandler.CONVERTIBLE;
446
+ case 'msg':
447
+ case 'msg.p7m':
448
+ case 'msg.p7m.ts': return FileExtensionHandler.CONVERTIBLE;
449
+ case 'htm.p7m':
450
+ case 'htm.p7m.ts': return FileExtensionHandler.CONVERTIBLE;
451
+ case 'html.p7m':
452
+ case 'html.p7m.ts': return FileExtensionHandler.CONVERTIBLE;
453
+ case 'txt.p7m':
454
+ case 'txt.p7m.ts': return FileExtensionHandler.CONVERTIBLE;
455
+ case 'csv': return FileExtensionHandler.CONVERTIBLE;
456
+ // case 'xml.p7m': case 'xml.p7m.ts': return FileExtensionHandler.CONVERTIBLE;
457
+ case 'jpg':
458
+ case 'jpeg':
459
+ case 'png':
460
+ case 'bmp':
461
+ case 'gif':
462
+ case 'svg': return FileExtensionHandler.READY_TO_SHOW;
463
+ case 'htm':
464
+ case 'html': return FileExtensionHandler.READY_TO_SHOW;
465
+ case 'mp4':
466
+ case 'webm': return FileExtensionHandler.READY_TO_SHOW;
467
+ case 'xml': return FileExtensionHandler.READY_TO_SHOW;
468
+ case 'xml.p7m':
469
+ case 'xml.p7m.ts':
470
+ case 'xml.p7m.tsd': return FileExtensionHandler.READY_TO_SHOW;
471
+ case 'pdf': return FileExtensionHandler.READY_TO_SHOW;
472
+ case 'txt': return FileExtensionHandler.READY_TO_SHOW;
473
+ default: return FileExtensionHandler.NONE;
474
+ }
475
+ };
403
476
  //#region Form, Page Helpers
404
477
  export const canNext = (visibleItems, selectedItems) => {
405
478
  if (!visibleItems)
@@ -1,4 +1,5 @@
1
- import { MetadataDescriptor, SystemMIDsAsNumber, QueryDescriptor, SelectItem } from '@topconsultnpm/sdk-ts-beta';
1
+ import { MetadataDescriptor, MetadataDataDomains, SystemMIDsAsNumber, MetadataDataTypes, QueryDescriptor, SelectItem, DataTableDescriptor, LayoutModes, QueryOperators, SavedQueryDescriptor } from '@topconsultnpm/sdk-ts-beta';
2
+ import { MetadataValueDescriptorEx } from '../ts';
2
3
  export type TID_Alias = {
3
4
  tid: number;
4
5
  alias: string | undefined;
@@ -9,3 +10,8 @@ export declare const displayMetadataValue: (md: MetadataDescriptor | undefined,
9
10
  export declare const IsParametricQuery: (qd: QueryDescriptor | undefined) => boolean;
10
11
  export declare const addHiddenSelectItem: (select: SelectItem[], tid: number | undefined, mid: SystemMIDsAsNumber) => void;
11
12
  export declare const prepareQdForSearchAsync: (qdInput?: QueryDescriptor) => Promise<QueryDescriptor>;
13
+ export declare function getDefaultOperator(dataDomain: MetadataDataDomains | undefined, dataType: MetadataDataTypes | undefined): QueryOperators.Equal | QueryOperators.Contain | QueryOperators.In;
14
+ export declare const getQD: (tid: number | undefined, easyOr: boolean) => Promise<QueryDescriptor | undefined>;
15
+ export declare const getSysAllDcmtsSQD: (tid: number | undefined, easyOr: boolean) => Promise<SavedQueryDescriptor>;
16
+ export declare const searchResultToMetadataValues: (tid: number | undefined, dtd: DataTableDescriptor | undefined, rows: string[], mids: number[], metadata: MetadataDescriptor[], layoutMode: LayoutModes) => MetadataValueDescriptorEx[];
17
+ export declare const handleArchiveVisibility: (md: MetadataDescriptor) => boolean;
@@ -1,5 +1,6 @@
1
- import { AccessLevels, MetadataDataDomains, DcmtTypeListCacheService, SystemMIDsAsNumber, MetadataDataTypes, QueryDescriptor, QueryFunctions, SelectItem, SelectItemVisibilities } from '@topconsultnpm/sdk-ts-beta';
1
+ import { AccessLevels, MetadataDataDomains, DcmtTypeListCacheService, SystemMIDsAsNumber, MetadataDataTypes, QueryDescriptor, QueryFunctions, SelectItem, SelectItemVisibilities, FromItem, LayoutModes, QueryOperators, SavedQueryDescriptor, SearchEngine, WhereItem } from '@topconsultnpm/sdk-ts-beta';
2
2
  import { DateDisplayTypes, Globalization } from './Globalization';
3
+ import { MetadataValueDescriptorEx } from '../ts';
3
4
  export const getTIDsByQd = (qd) => {
4
5
  let tids = [];
5
6
  qd?.from?.tid && tids.push({ tid: qd.from?.tid, alias: undefined });
@@ -96,3 +97,106 @@ export const prepareQdForSearchAsync = async (qdInput) => {
96
97
  qd.isLexProt = 1;
97
98
  return qd;
98
99
  };
100
+ export function getDefaultOperator(dataDomain, dataType) {
101
+ if (dataDomain == MetadataDataDomains.DataList)
102
+ return QueryOperators.In;
103
+ return dataType == MetadataDataTypes.Varchar ? QueryOperators.Contain : QueryOperators.Equal;
104
+ }
105
+ export const getQD = async (tid, easyOr) => {
106
+ let dtd = await DcmtTypeListCacheService.GetAsync(tid);
107
+ if (!dtd?.metadata)
108
+ return;
109
+ let qd = SearchEngine.NewQueryDescriptor();
110
+ qd.isDistinct = false;
111
+ qd.id = 1;
112
+ qd.maxDcmtsToBeReturned = 1000;
113
+ qd.from = new FromItem();
114
+ qd.from.tid = tid;
115
+ qd.select = [];
116
+ for (const md of dtd.metadata) {
117
+ if ((md?.perm?.canView == AccessLevels.No) && (md?.perm?.canUpdate == AccessLevels.No))
118
+ continue;
119
+ if (md.isSystem == 1)
120
+ continue;
121
+ let si = new SelectItem();
122
+ si.visibility = SelectItemVisibilities.Visible;
123
+ si.tid = dtd.id;
124
+ si.mid = md.id;
125
+ qd.select.push(si);
126
+ }
127
+ qd.where = [];
128
+ for (const md of dtd.metadata) {
129
+ if ((md?.perm?.canView == AccessLevels.No) && (md?.perm?.canSearch == AccessLevels.No))
130
+ continue;
131
+ if (md.isSystem == 1)
132
+ continue;
133
+ let wi = new WhereItem();
134
+ wi.or = easyOr;
135
+ wi.leftBrackets = "(";
136
+ wi.tid = dtd.id;
137
+ wi.mid = md.id;
138
+ wi.operator = getDefaultOperator(md.dataDomain, md.dataType);
139
+ wi.rightBrackets = ")";
140
+ qd.where.push(wi);
141
+ }
142
+ return qd;
143
+ };
144
+ export const getSysAllDcmtsSQD = async (tid, easyOr) => {
145
+ let sqd = new SavedQueryDescriptor();
146
+ sqd.id = 1;
147
+ sqd.masterTID = tid;
148
+ sqd.isEasyWhere = 1;
149
+ sqd.name = "Tutti i documenti";
150
+ sqd.description = "Restituisce tutti i documenti";
151
+ sqd.qd = await getQD(tid, easyOr);
152
+ return sqd;
153
+ };
154
+ export const searchResultToMetadataValues = (tid, dtd, rows, mids, metadata, layoutMode) => {
155
+ if (!metadata || metadata.length === 0) {
156
+ return [];
157
+ }
158
+ const outputMetadataList = [];
159
+ const isLexProtIndex = dtd?.columns?.findIndex(col => col.caption === 'IsLexProt') !== -1 ? dtd?.columns?.findIndex(col => col.caption === 'IsLexProt') : 0;
160
+ const createMetadataProps = (tid, md, value, isLexProt) => {
161
+ const isNumeratorInArk = md.dataDomain === MetadataDataDomains.Numerator && layoutMode === LayoutModes.Ark;
162
+ const hasDefaultValue = md.defaultValue !== undefined;
163
+ let mvd = new MetadataValueDescriptorEx();
164
+ mvd.tid = tid;
165
+ mvd.mid = md.id;
166
+ mvd.md = md;
167
+ mvd.value = (md.dataDomain === MetadataDataDomains.Numerator && layoutMode === LayoutModes.Ark) ? undefined : value;
168
+ mvd.isRequired = isNumeratorInArk || hasDefaultValue ? '0' : md.isRequired?.toString();
169
+ mvd.isLexProt = isLexProt;
170
+ return mvd;
171
+ };
172
+ metadata.forEach(md => {
173
+ if (!md.id)
174
+ return;
175
+ if (layoutMode === LayoutModes.Ark && !handleArchiveVisibility(md))
176
+ return;
177
+ if (!rows)
178
+ return;
179
+ if (mids.length > 0) {
180
+ const index = mids.indexOf(md.id);
181
+ if (index >= 0) {
182
+ const isLexProt = (isLexProtIndex !== undefined && rows[isLexProtIndex]) ? (parseInt(rows[isLexProtIndex]) || undefined) : undefined;
183
+ outputMetadataList.push(createMetadataProps(tid, md, rows[index], isLexProt));
184
+ }
185
+ }
186
+ else {
187
+ let defaultValue;
188
+ if (layoutMode === LayoutModes.Ark && (md.dataDomain === MetadataDataDomains.DataList || md.dataDomain === MetadataDataDomains.DynamicDataList || md.dataDomain === MetadataDataDomains.UserID))
189
+ defaultValue = md.defaultValue;
190
+ outputMetadataList.push(createMetadataProps(tid, md, defaultValue, undefined));
191
+ }
192
+ });
193
+ return outputMetadataList;
194
+ };
195
+ export const handleArchiveVisibility = (md) => {
196
+ if (md.dataDomain === MetadataDataDomains.Computed ||
197
+ md.perm?.canArchive !== AccessLevels.Yes ||
198
+ md.isSystem === 1 ||
199
+ md.isRootMID !== 1)
200
+ return false;
201
+ return true;
202
+ };
@@ -0,0 +1,24 @@
1
+ import { RetrieveFileOptions } from '@topconsultnpm/sdk-ts-beta';
2
+ import { DcmtInfo, DcmtOperationTypes } from '../ts';
3
+ export declare function useDcmtOperations(): {
4
+ abortController: AbortController;
5
+ showWaitPanel: boolean;
6
+ showPrimary: boolean;
7
+ waitPanelTitle: string;
8
+ waitPanelTextPrimary: string;
9
+ waitPanelValuePrimary: number;
10
+ waitPanelMaxValuePrimary: number;
11
+ showSecondary: boolean;
12
+ waitPanelTextSecondary: string;
13
+ waitPanelValueSecondary: number;
14
+ waitPanelMaxValueSecondary: number;
15
+ downloadDcmtsAsync: (inputDcmts: DcmtInfo[] | undefined) => Promise<void>;
16
+ getDcmtFileAsync: (inputDcmt: DcmtInfo | undefined, rfo: RetrieveFileOptions, operationTitle: string, keepWaitPanelPrimary: boolean) => Promise<{
17
+ file: File | undefined;
18
+ isFromCache: boolean;
19
+ } | undefined>;
20
+ clearDcmtsFileCache: () => void;
21
+ removeDcmtsFileCache: (key: string) => boolean;
22
+ isDcmtFileInCache: (key: string) => boolean;
23
+ runOperationAsync: (inputDcmts: DcmtInfo[] | undefined, dcmtOperationType: DcmtOperationTypes, actionAfterOperationAsync?: () => Promise<void>) => Promise<void>;
24
+ };