@topconsultnpm/sdkui-react 6.17.0-test9
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/assets/IconsS4t/add.svg +12 -0
- package/lib/assets/IconsS4t/aggiorna.svg +18 -0
- package/lib/assets/IconsS4t/bookmark.svg +42 -0
- package/lib/assets/IconsS4t/cancella.svg +15 -0
- package/lib/assets/IconsS4t/check-box.svg +19 -0
- package/lib/assets/IconsS4t/down-arrow-signBook.svg +40 -0
- package/lib/assets/IconsS4t/down.svg +28 -0
- package/lib/assets/IconsS4t/edit-file.svg +19 -0
- package/lib/assets/IconsS4t/edita.svg +32 -0
- package/lib/assets/IconsS4t/firma.svg +19 -0
- package/lib/assets/IconsS4t/icona_download.svg +16 -0
- package/lib/assets/IconsS4t/info.svg +51 -0
- package/lib/assets/IconsS4t/left.svg +20 -0
- package/lib/assets/IconsS4t/line.svg +40 -0
- package/lib/assets/IconsS4t/more.svg +19 -0
- package/lib/assets/IconsS4t/new-signature.svg +1 -0
- package/lib/assets/IconsS4t/plus.svg +23 -0
- package/lib/assets/IconsS4t/printer.svg +49 -0
- package/lib/assets/IconsS4t/radio-on-button.svg +25 -0
- package/lib/assets/IconsS4t/rectangle.svg +41 -0
- package/lib/assets/IconsS4t/redo.svg +19 -0
- package/lib/assets/IconsS4t/right-arrow-signBook-finish.svg +40 -0
- package/lib/assets/IconsS4t/right-arrow-signBook.svg +40 -0
- package/lib/assets/IconsS4t/right.svg +22 -0
- package/lib/assets/IconsS4t/searchbar.svg +21 -0
- package/lib/assets/IconsS4t/text-box.svg +36 -0
- package/lib/assets/IconsS4t/tick.svg +8 -0
- package/lib/assets/IconsS4t/trash-white.svg +11 -0
- package/lib/assets/IconsS4t/trash.svg +1 -0
- package/lib/assets/IconsS4t/undo.svg +19 -0
- package/lib/assets/IconsS4t/up.svg +32 -0
- package/lib/assets/IconsS4t/video-streaming.svg +2 -0
- package/lib/assets/IconsS4t/zoom-in.svg +58 -0
- package/lib/assets/IconsS4t/zoom-out.svg +56 -0
- package/lib/assets/ImageLibrary/arrow_001.png +0 -0
- package/lib/assets/ImageLibrary/arrow_002.png +0 -0
- package/lib/assets/ImageLibrary/arrow_003.png +0 -0
- package/lib/assets/ImageLibrary/arrow_004.png +0 -0
- package/lib/assets/ImageLibrary/arrow_005.png +0 -0
- package/lib/assets/ImageLibrary/arrow_006.png +0 -0
- package/lib/assets/ImageLibrary/arrow_007.png +0 -0
- package/lib/assets/ImageLibrary/arrow_008.png +0 -0
- package/lib/assets/ImageLibrary/arrow_009.png +0 -0
- package/lib/assets/ImageLibrary/arrow_010.png +0 -0
- package/lib/assets/ImageLibrary/arrow_011.png +0 -0
- package/lib/assets/ImageLibrary/arrow_012.png +0 -0
- package/lib/assets/ImageLibrary/book_001.png +0 -0
- package/lib/assets/ImageLibrary/book_002.png +0 -0
- package/lib/assets/ImageLibrary/book_003.png +0 -0
- package/lib/assets/ImageLibrary/book_004.png +0 -0
- package/lib/assets/ImageLibrary/book_005.png +0 -0
- package/lib/assets/ImageLibrary/book_006.png +0 -0
- package/lib/assets/ImageLibrary/book_007.png +0 -0
- package/lib/assets/ImageLibrary/clock_001.png +0 -0
- package/lib/assets/ImageLibrary/clock_002.png +0 -0
- package/lib/assets/ImageLibrary/clock_003.png +0 -0
- package/lib/assets/ImageLibrary/cube_001.png +0 -0
- package/lib/assets/ImageLibrary/cube_002.png +0 -0
- package/lib/assets/ImageLibrary/cube_003.png +0 -0
- package/lib/assets/ImageLibrary/dcmt_001.png +0 -0
- package/lib/assets/ImageLibrary/dcmt_002.png +0 -0
- package/lib/assets/ImageLibrary/dcmt_003.png +0 -0
- package/lib/assets/ImageLibrary/dcmt_004.png +0 -0
- package/lib/assets/ImageLibrary/dcmt_005.png +0 -0
- package/lib/assets/ImageLibrary/dcmt_006.png +0 -0
- package/lib/assets/ImageLibrary/dcmt_007.png +0 -0
- package/lib/assets/ImageLibrary/dcmt_008.png +0 -0
- package/lib/assets/ImageLibrary/emoticon_001.png +0 -0
- package/lib/assets/ImageLibrary/emoticon_002.png +0 -0
- package/lib/assets/ImageLibrary/emoticon_003.png +0 -0
- package/lib/assets/ImageLibrary/emoticon_004.png +0 -0
- package/lib/assets/ImageLibrary/fld_001.png +0 -0
- package/lib/assets/ImageLibrary/fld_002.png +0 -0
- package/lib/assets/ImageLibrary/fld_003.png +0 -0
- package/lib/assets/ImageLibrary/fld_004.png +0 -0
- package/lib/assets/ImageLibrary/fld_005.png +0 -0
- package/lib/assets/ImageLibrary/fld_006.png +0 -0
- package/lib/assets/ImageLibrary/fld_007.png +0 -0
- package/lib/assets/ImageLibrary/fld_008.png +0 -0
- package/lib/assets/ImageLibrary/fld_009.png +0 -0
- package/lib/assets/ImageLibrary/fld_010.png +0 -0
- package/lib/assets/ImageLibrary/fld_011.png +0 -0
- package/lib/assets/ImageLibrary/fld_012.png +0 -0
- package/lib/assets/ImageLibrary/fld_013.png +0 -0
- package/lib/assets/ImageLibrary/fld_014.png +0 -0
- package/lib/assets/ImageLibrary/fld_015.png +0 -0
- package/lib/assets/ImageLibrary/fld_016.png +0 -0
- package/lib/assets/ImageLibrary/fld_017.png +0 -0
- package/lib/assets/ImageLibrary/fld_018.png +0 -0
- package/lib/assets/ImageLibrary/fld_019.png +0 -0
- package/lib/assets/ImageLibrary/fld_020.png +0 -0
- package/lib/assets/ImageLibrary/fld_021.png +0 -0
- package/lib/assets/ImageLibrary/fld_022.png +0 -0
- package/lib/assets/ImageLibrary/fld_023.png +0 -0
- package/lib/assets/ImageLibrary/fld_024.png +0 -0
- package/lib/assets/ImageLibrary/fld_025.png +0 -0
- package/lib/assets/ImageLibrary/fld_026.png +0 -0
- package/lib/assets/ImageLibrary/fld_027.png +0 -0
- package/lib/assets/ImageLibrary/fld_028.png +0 -0
- package/lib/assets/ImageLibrary/fld_029.png +0 -0
- package/lib/assets/ImageLibrary/fld_030.png +0 -0
- package/lib/assets/ImageLibrary/fld_031.png +0 -0
- package/lib/assets/ImageLibrary/fld_032.png +0 -0
- package/lib/assets/ImageLibrary/fld_033.png +0 -0
- package/lib/assets/ImageLibrary/gen_001.png +0 -0
- package/lib/assets/ImageLibrary/gen_002.png +0 -0
- package/lib/assets/ImageLibrary/gen_003.png +0 -0
- package/lib/assets/ImageLibrary/gen_004.png +0 -0
- package/lib/assets/ImageLibrary/gen_005.png +0 -0
- package/lib/assets/ImageLibrary/gen_006.png +0 -0
- package/lib/assets/ImageLibrary/gen_007.png +0 -0
- package/lib/assets/ImageLibrary/gen_008.png +0 -0
- package/lib/assets/ImageLibrary/gen_009.png +0 -0
- package/lib/assets/ImageLibrary/gen_010.png +0 -0
- package/lib/assets/ImageLibrary/gen_011.png +0 -0
- package/lib/assets/ImageLibrary/gen_012.png +0 -0
- package/lib/assets/ImageLibrary/gen_013.png +0 -0
- package/lib/assets/ImageLibrary/gen_014.png +0 -0
- package/lib/assets/ImageLibrary/gen_015.png +0 -0
- package/lib/assets/ImageLibrary/gen_016.png +0 -0
- package/lib/assets/ImageLibrary/gen_017.png +0 -0
- package/lib/assets/ImageLibrary/gen_018.png +0 -0
- package/lib/assets/ImageLibrary/gen_019.png +0 -0
- package/lib/assets/ImageLibrary/gen_020.png +0 -0
- package/lib/assets/ImageLibrary/gen_021.png +0 -0
- package/lib/assets/ImageLibrary/gen_022.png +0 -0
- package/lib/assets/ImageLibrary/gen_023.png +0 -0
- package/lib/assets/ImageLibrary/gen_024.png +0 -0
- package/lib/assets/ImageLibrary/gen_025.png +0 -0
- package/lib/assets/ImageLibrary/gen_026.png +0 -0
- package/lib/assets/ImageLibrary/gen_027.png +0 -0
- package/lib/assets/ImageLibrary/gen_028.png +0 -0
- package/lib/assets/ImageLibrary/gen_029.png +0 -0
- package/lib/assets/ImageLibrary/gen_030.png +0 -0
- package/lib/assets/ImageLibrary/gen_031.png +0 -0
- package/lib/assets/ImageLibrary/gen_032.png +0 -0
- package/lib/assets/ImageLibrary/gen_033.png +0 -0
- package/lib/assets/ImageLibrary/gen_034.png +0 -0
- package/lib/assets/ImageLibrary/gen_035.png +0 -0
- package/lib/assets/ImageLibrary/gen_036.png +0 -0
- package/lib/assets/ImageLibrary/gen_037.png +0 -0
- package/lib/assets/ImageLibrary/gen_038.png +0 -0
- package/lib/assets/ImageLibrary/gen_039.png +0 -0
- package/lib/assets/ImageLibrary/gen_040.png +0 -0
- package/lib/assets/ImageLibrary/gen_041.png +0 -0
- package/lib/assets/ImageLibrary/gen_042.png +0 -0
- package/lib/assets/ImageLibrary/gen_043.png +0 -0
- package/lib/assets/ImageLibrary/gen_044.png +0 -0
- package/lib/assets/ImageLibrary/gen_045.png +0 -0
- package/lib/assets/ImageLibrary/gen_046.png +0 -0
- package/lib/assets/ImageLibrary/gen_047.png +0 -0
- package/lib/assets/ImageLibrary/gen_048.png +0 -0
- package/lib/assets/ImageLibrary/gen_049.png +0 -0
- package/lib/assets/ImageLibrary/gen_050.png +0 -0
- package/lib/assets/ImageLibrary/gen_051.png +0 -0
- package/lib/assets/ImageLibrary/gen_052.png +0 -0
- package/lib/assets/ImageLibrary/hand_001.png +0 -0
- package/lib/assets/ImageLibrary/hand_002.png +0 -0
- package/lib/assets/ImageLibrary/hand_003.png +0 -0
- package/lib/assets/ImageLibrary/hand_004.png +0 -0
- package/lib/assets/ImageLibrary/hand_005.png +0 -0
- package/lib/assets/ImageLibrary/hand_006.png +0 -0
- package/lib/assets/ImageLibrary/law_001.png +0 -0
- package/lib/assets/ImageLibrary/law_002.png +0 -0
- package/lib/assets/ImageLibrary/law_003.png +0 -0
- package/lib/assets/ImageLibrary/lock_001.png +0 -0
- package/lib/assets/ImageLibrary/lock_002.png +0 -0
- package/lib/assets/ImageLibrary/lock_003.png +0 -0
- package/lib/assets/ImageLibrary/mail_001.png +0 -0
- package/lib/assets/ImageLibrary/mail_002.png +0 -0
- package/lib/assets/ImageLibrary/mail_003.png +0 -0
- package/lib/assets/ImageLibrary/mail_004.png +0 -0
- package/lib/assets/ImageLibrary/mail_005.png +0 -0
- package/lib/assets/ImageLibrary/mail_006.png +0 -0
- package/lib/assets/ImageLibrary/mail_007.png +0 -0
- package/lib/assets/ImageLibrary/mail_008.png +0 -0
- package/lib/assets/ImageLibrary/mail_009.png +0 -0
- package/lib/assets/ImageLibrary/mail_010.png +0 -0
- package/lib/assets/ImageLibrary/mail_011.png +0 -0
- package/lib/assets/ImageLibrary/mail_012.png +0 -0
- package/lib/assets/ImageLibrary/mail_013.png +0 -0
- package/lib/assets/ImageLibrary/mail_014.png +0 -0
- package/lib/assets/ImageLibrary/mail_015.png +0 -0
- package/lib/assets/ImageLibrary/net_001.png +0 -0
- package/lib/assets/ImageLibrary/net_002.png +0 -0
- package/lib/assets/ImageLibrary/net_003.png +0 -0
- package/lib/assets/ImageLibrary/net_004.png +0 -0
- package/lib/assets/ImageLibrary/nmbr_001.png +0 -0
- package/lib/assets/ImageLibrary/nmbr_002.png +0 -0
- package/lib/assets/ImageLibrary/nmbr_003.png +0 -0
- package/lib/assets/ImageLibrary/nmbr_004.png +0 -0
- package/lib/assets/ImageLibrary/nmbr_005.png +0 -0
- package/lib/assets/ImageLibrary/nmbr_006.png +0 -0
- package/lib/assets/ImageLibrary/nmbr_007.png +0 -0
- package/lib/assets/ImageLibrary/nmbr_008.png +0 -0
- package/lib/assets/ImageLibrary/nmbr_009.png +0 -0
- package/lib/assets/ImageLibrary/note_001.png +0 -0
- package/lib/assets/ImageLibrary/note_002.png +0 -0
- package/lib/assets/ImageLibrary/note_003.png +0 -0
- package/lib/assets/ImageLibrary/note_004.png +0 -0
- package/lib/assets/ImageLibrary/note_005.png +0 -0
- package/lib/assets/ImageLibrary/note_006.png +0 -0
- package/lib/assets/ImageLibrary/note_007.png +0 -0
- package/lib/assets/ImageLibrary/note_008.png +0 -0
- package/lib/assets/ImageLibrary/note_009.png +0 -0
- package/lib/assets/ImageLibrary/note_010.png +0 -0
- package/lib/assets/ImageLibrary/note_011.png +0 -0
- package/lib/assets/ImageLibrary/note_012.png +0 -0
- package/lib/assets/ImageLibrary/note_013.png +0 -0
- package/lib/assets/ImageLibrary/note_014.png +0 -0
- package/lib/assets/ImageLibrary/note_015.png +0 -0
- package/lib/assets/ImageLibrary/note_016.png +0 -0
- package/lib/assets/ImageLibrary/run_001.png +0 -0
- package/lib/assets/ImageLibrary/run_002.png +0 -0
- package/lib/assets/ImageLibrary/run_003.png +0 -0
- package/lib/assets/ImageLibrary/sem_001.png +0 -0
- package/lib/assets/ImageLibrary/sem_002.png +0 -0
- package/lib/assets/ImageLibrary/sem_003.png +0 -0
- package/lib/assets/ImageLibrary/sem_004.png +0 -0
- package/lib/assets/ImageLibrary/sem_005.png +0 -0
- package/lib/assets/ImageLibrary/star_001.png +0 -0
- package/lib/assets/ImageLibrary/star_002.png +0 -0
- package/lib/assets/ImageLibrary/star_003.png +0 -0
- package/lib/assets/ImageLibrary/star_004.png +0 -0
- package/lib/assets/ImageLibrary/star_005.png +0 -0
- package/lib/assets/ImageLibrary/star_006.png +0 -0
- package/lib/assets/ImageLibrary/state_001.png +0 -0
- package/lib/assets/ImageLibrary/state_002.png +0 -0
- package/lib/assets/ImageLibrary/state_003.png +0 -0
- package/lib/assets/ImageLibrary/state_004.png +0 -0
- package/lib/assets/ImageLibrary/state_005.png +0 -0
- package/lib/assets/ImageLibrary/study_001.png +0 -0
- package/lib/assets/ImageLibrary/study_002.png +0 -0
- package/lib/assets/ImageLibrary/user_001.png +0 -0
- package/lib/assets/ImageLibrary/user_002.png +0 -0
- package/lib/assets/ImageLibrary/user_003.png +0 -0
- package/lib/assets/ImageLibrary/user_004.png +0 -0
- package/lib/assets/ImageLibrary/user_005.png +0 -0
- package/lib/assets/ImageLibrary/user_006.png +0 -0
- package/lib/assets/ImageLibrary/user_007.png +0 -0
- package/lib/assets/ImageLibrary/user_008.png +0 -0
- package/lib/assets/ImageLibrary/user_009.png +0 -0
- package/lib/assets/ImageLibrary/user_010.png +0 -0
- package/lib/assets/ImageLibrary/user_011.png +0 -0
- package/lib/assets/ImageLibrary/user_012.png +0 -0
- package/lib/assets/ImageLibrary/user_013.png +0 -0
- package/lib/assets/ImageLibrary/user_014.png +0 -0
- package/lib/assets/ImageLibrary/user_015.png +0 -0
- package/lib/assets/ImageLibrary/user_016.png +0 -0
- package/lib/assets/ImageLibrary/user_017.png +0 -0
- package/lib/assets/ImageLibrary/user_018.png +0 -0
- package/lib/assets/ImageLibrary/user_019.png +0 -0
- package/lib/assets/ImageLibrary/user_020.png +0 -0
- package/lib/assets/ImageLibrary/user_021.png +0 -0
- package/lib/assets/ImageLibrary/user_022.png +0 -0
- package/lib/assets/ImageLibrary/user_023.png +0 -0
- package/lib/assets/ImageLibrary/vehicle_001.png +0 -0
- package/lib/assets/ImageLibrary/vehicle_002.png +0 -0
- package/lib/assets/ImageLibrary/vehicle_003.png +0 -0
- package/lib/assets/ImageLibrary/vehicle_004.png +0 -0
- package/lib/assets/ImageLibrary/vehicle_005.png +0 -0
- package/lib/assets/ImageLibrary/vehicle_006.png +0 -0
- package/lib/assets/ImageLibrary/vehicle_007.png +0 -0
- package/lib/assets/ImageLibrary/vehicle_008.png +0 -0
- package/lib/assets/Toppy-generico.png +0 -0
- package/lib/assets/france.svg +1 -0
- package/lib/assets/german.svg +1 -0
- package/lib/assets/icomoon.eot +0 -0
- package/lib/assets/icomoon.svg +97 -0
- package/lib/assets/icomoon.ttf +0 -0
- package/lib/assets/icomoon.woff +0 -0
- package/lib/assets/italy.svg +16 -0
- package/lib/assets/loading.png +0 -0
- package/lib/assets/login-bg.png +0 -0
- package/lib/assets/multipleSelectionManager.jpg +0 -0
- package/lib/assets/portugal.svg +1 -0
- package/lib/assets/six.png +0 -0
- package/lib/assets/six.svg +4 -0
- package/lib/assets/spain.svg +1 -0
- package/lib/assets/thumbnails/dicom.png +0 -0
- package/lib/assets/thumbnails/doc.png +0 -0
- package/lib/assets/thumbnails/docx.png +0 -0
- package/lib/assets/thumbnails/dwg.png +0 -0
- package/lib/assets/thumbnails/email.png +0 -0
- package/lib/assets/thumbnails/exe.png +0 -0
- package/lib/assets/thumbnails/folder.png +0 -0
- package/lib/assets/thumbnails/html.png +0 -0
- package/lib/assets/thumbnails/image.png +0 -0
- package/lib/assets/thumbnails/index.d.ts +19 -0
- package/lib/assets/thumbnails/index.js +19 -0
- package/lib/assets/thumbnails/index.ts +39 -0
- package/lib/assets/thumbnails/mp4.png +0 -0
- package/lib/assets/thumbnails/other.png +0 -0
- package/lib/assets/thumbnails/p7m.png +0 -0
- package/lib/assets/thumbnails/pdf.png +0 -0
- package/lib/assets/thumbnails/ppt.png +0 -0
- package/lib/assets/thumbnails/slddrw.png +0 -0
- package/lib/assets/thumbnails/txt.png +0 -0
- package/lib/assets/thumbnails/xls.png +0 -0
- package/lib/assets/thumbnails/xml.png +0 -0
- package/lib/assets/thumbnails/zip.png +0 -0
- package/lib/assets/topmedia-six.svg +66 -0
- package/lib/assets/topmeida-six-bianco.svg +66 -0
- package/lib/assets/united-kingdom.svg +1 -0
- package/lib/components/base/Styled.d.ts +63 -0
- package/lib/components/base/Styled.js +337 -0
- package/lib/components/base/TMAccordion.d.ts +12 -0
- package/lib/components/base/TMAccordion.js +62 -0
- package/lib/components/base/TMAlert.d.ts +73 -0
- package/lib/components/base/TMAlert.js +77 -0
- package/lib/components/base/TMAreaManager.d.ts +25 -0
- package/lib/components/base/TMAreaManager.js +733 -0
- package/lib/components/base/TMButton.d.ts +21 -0
- package/lib/components/base/TMButton.js +174 -0
- package/lib/components/base/TMClosableList.d.ts +10 -0
- package/lib/components/base/TMClosableList.js +70 -0
- package/lib/components/base/TMConfirm.d.ts +13 -0
- package/lib/components/base/TMConfirm.js +119 -0
- package/lib/components/base/TMContextMenu.d.ts +25 -0
- package/lib/components/base/TMContextMenu.js +109 -0
- package/lib/components/base/TMContextMenuOLD.d.ts +26 -0
- package/lib/components/base/TMContextMenuOLD.js +56 -0
- package/lib/components/base/TMCounterBar.d.ts +10 -0
- package/lib/components/base/TMCounterBar.js +43 -0
- package/lib/components/base/TMCounterContainer.d.ts +23 -0
- package/lib/components/base/TMCounterContainer.js +58 -0
- package/lib/components/base/TMCustomButton.d.ts +11 -0
- package/lib/components/base/TMCustomButton.js +116 -0
- package/lib/components/base/TMDataGrid.d.ts +56 -0
- package/lib/components/base/TMDataGrid.js +237 -0
- package/lib/components/base/TMDataGridExportForm.d.ts +15 -0
- package/lib/components/base/TMDataGridExportForm.js +215 -0
- package/lib/components/base/TMDeviceProvider.d.ts +15 -0
- package/lib/components/base/TMDeviceProvider.js +41 -0
- package/lib/components/base/TMDropDownMenu.d.ts +23 -0
- package/lib/components/base/TMDropDownMenu.js +45 -0
- package/lib/components/base/TMEditorBase.d.ts +39 -0
- package/lib/components/base/TMEditorBase.js +1 -0
- package/lib/components/base/TMFileManager.d.ts +45 -0
- package/lib/components/base/TMFileManager.js +233 -0
- package/lib/components/base/TMFileManagerDataGridView.d.ts +16 -0
- package/lib/components/base/TMFileManagerDataGridView.js +101 -0
- package/lib/components/base/TMFileManagerThumbnailItems.d.ts +18 -0
- package/lib/components/base/TMFileManagerThumbnailItems.js +148 -0
- package/lib/components/base/TMFileManagerThumbnailsView.d.ts +19 -0
- package/lib/components/base/TMFileManagerThumbnailsView.js +46 -0
- package/lib/components/base/TMFileManagerUtils.d.ts +78 -0
- package/lib/components/base/TMFileManagerUtils.js +207 -0
- package/lib/components/base/TMFloatingToolbar.d.ts +9 -0
- package/lib/components/base/TMFloatingToolbar.js +101 -0
- package/lib/components/base/TMLayout.d.ts +55 -0
- package/lib/components/base/TMLayout.js +201 -0
- package/lib/components/base/TMList.d.ts +9 -0
- package/lib/components/base/TMList.js +54 -0
- package/lib/components/base/TMListView.d.ts +42 -0
- package/lib/components/base/TMListView.js +387 -0
- package/lib/components/base/TMModal.d.ts +16 -0
- package/lib/components/base/TMModal.js +70 -0
- package/lib/components/base/TMPanel.d.ts +32 -0
- package/lib/components/base/TMPanel.js +181 -0
- package/lib/components/base/TMPopUp.d.ts +33 -0
- package/lib/components/base/TMPopUp.js +267 -0
- package/lib/components/base/TMProgressBar.d.ts +11 -0
- package/lib/components/base/TMProgressBar.js +32 -0
- package/lib/components/base/TMResizableMenu.d.ts +20 -0
- package/lib/components/base/TMResizableMenu.js +98 -0
- package/lib/components/base/TMRightSidebar.d.ts +19 -0
- package/lib/components/base/TMRightSidebar.js +80 -0
- package/lib/components/base/TMShowAllOrMaxItemsButton.d.ts +8 -0
- package/lib/components/base/TMShowAllOrMaxItemsButton.js +20 -0
- package/lib/components/base/TMSpinner.d.ts +14 -0
- package/lib/components/base/TMSpinner.js +160 -0
- package/lib/components/base/TMTab.d.ts +20 -0
- package/lib/components/base/TMTab.js +42 -0
- package/lib/components/base/TMToggleButton.d.ts +10 -0
- package/lib/components/base/TMToggleButton.js +58 -0
- package/lib/components/base/TMToolbarCard.d.ts +19 -0
- package/lib/components/base/TMToolbarCard.js +51 -0
- package/lib/components/base/TMTooltip.d.ts +14 -0
- package/lib/components/base/TMTooltip.js +20 -0
- package/lib/components/base/TMTreeView.d.ts +32 -0
- package/lib/components/base/TMTreeView.js +356 -0
- package/lib/components/base/TMUserAvatar.d.ts +8 -0
- package/lib/components/base/TMUserAvatar.js +34 -0
- package/lib/components/base/TMVilViewer.d.ts +5 -0
- package/lib/components/base/TMVilViewer.js +22 -0
- package/lib/components/base/TMWaitPanel.d.ts +32 -0
- package/lib/components/base/TMWaitPanel.js +44 -0
- package/lib/components/choosers/TMCultureIDPicker.d.ts +9 -0
- package/lib/components/choosers/TMCultureIDPicker.js +72 -0
- package/lib/components/choosers/TMDataListItemChooser.d.ts +17 -0
- package/lib/components/choosers/TMDataListItemChooser.js +49 -0
- package/lib/components/choosers/TMDataListItemPicker.d.ts +9 -0
- package/lib/components/choosers/TMDataListItemPicker.js +96 -0
- package/lib/components/choosers/TMDcmtTypeChooser.d.ts +25 -0
- package/lib/components/choosers/TMDcmtTypeChooser.js +61 -0
- package/lib/components/choosers/TMDiskChooser.d.ts +10 -0
- package/lib/components/choosers/TMDiskChooser.js +41 -0
- package/lib/components/choosers/TMDistinctValues.d.ts +21 -0
- package/lib/components/choosers/TMDistinctValues.js +140 -0
- package/lib/components/choosers/TMDynDataListItemChooser.d.ts +40 -0
- package/lib/components/choosers/TMDynDataListItemChooser.js +159 -0
- package/lib/components/choosers/TMGroupChooser.d.ts +7 -0
- package/lib/components/choosers/TMGroupChooser.js +37 -0
- package/lib/components/choosers/TMInvoiceRetrieveFormats.d.ts +4 -0
- package/lib/components/choosers/TMInvoiceRetrieveFormats.js +22 -0
- package/lib/components/choosers/TMMetadataChooser.d.ts +54 -0
- package/lib/components/choosers/TMMetadataChooser.js +142 -0
- package/lib/components/choosers/TMOrderRetrieveFormats.d.ts +4 -0
- package/lib/components/choosers/TMOrderRetrieveFormats.js +22 -0
- package/lib/components/choosers/TMPathChooser.d.ts +12 -0
- package/lib/components/choosers/TMPathChooser.js +147 -0
- package/lib/components/choosers/TMRelationChooser.d.ts +31 -0
- package/lib/components/choosers/TMRelationChooser.js +94 -0
- package/lib/components/choosers/TMUserChooser.d.ts +40 -0
- package/lib/components/choosers/TMUserChooser.js +141 -0
- package/lib/components/editors/TMCheckBox.d.ts +9 -0
- package/lib/components/editors/TMCheckBox.js +90 -0
- package/lib/components/editors/TMDateBox.d.ts +17 -0
- package/lib/components/editors/TMDateBox.js +75 -0
- package/lib/components/editors/TMDropDown.d.ts +10 -0
- package/lib/components/editors/TMDropDown.js +62 -0
- package/lib/components/editors/TMEditorStyled.d.ts +41 -0
- package/lib/components/editors/TMEditorStyled.js +90 -0
- package/lib/components/editors/TMFormulaEditor.d.ts +49 -0
- package/lib/components/editors/TMFormulaEditor.js +727 -0
- package/lib/components/editors/TMHtmlContentDisplay.d.ts +7 -0
- package/lib/components/editors/TMHtmlContentDisplay.js +78 -0
- package/lib/components/editors/TMHtmlEditor.d.ts +38 -0
- package/lib/components/editors/TMHtmlEditor.js +203 -0
- package/lib/components/editors/TMLocalizedTextBox.d.ts +19 -0
- package/lib/components/editors/TMLocalizedTextBox.js +125 -0
- package/lib/components/editors/TMMetadataEditor.d.ts +29 -0
- package/lib/components/editors/TMMetadataEditor.js +140 -0
- package/lib/components/editors/TMMetadataValues.d.ts +46 -0
- package/lib/components/editors/TMMetadataValues.js +530 -0
- package/lib/components/editors/TMRadioButton.d.ts +10 -0
- package/lib/components/editors/TMRadioButton.js +57 -0
- package/lib/components/editors/TMSummary.d.ts +20 -0
- package/lib/components/editors/TMSummary.js +92 -0
- package/lib/components/editors/TMTextArea.d.ts +17 -0
- package/lib/components/editors/TMTextArea.js +155 -0
- package/lib/components/editors/TMTextBox.d.ts +20 -0
- package/lib/components/editors/TMTextBox.js +249 -0
- package/lib/components/editors/TMTextExpression.d.ts +25 -0
- package/lib/components/editors/TMTextExpression.js +174 -0
- package/lib/components/editors/TMTreeDropDown.d.ts +18 -0
- package/lib/components/editors/TMTreeDropDown.js +66 -0
- package/lib/components/features/archive/TMArchive.d.ts +29 -0
- package/lib/components/features/archive/TMArchive.js +193 -0
- package/lib/components/features/assistant/ToppyHelpCenter.d.ts +12 -0
- package/lib/components/features/assistant/ToppyHelpCenter.js +173 -0
- package/lib/components/features/blog/TMBlogCommentForm.d.ts +17 -0
- package/lib/components/features/blog/TMBlogCommentForm.js +333 -0
- package/lib/components/features/documents/TMBatchUpdateForm.d.ts +17 -0
- package/lib/components/features/documents/TMBatchUpdateForm.js +159 -0
- package/lib/components/features/documents/TMDcmtBlog.d.ts +23 -0
- package/lib/components/features/documents/TMDcmtBlog.js +65 -0
- package/lib/components/features/documents/TMDcmtForm.d.ts +64 -0
- package/lib/components/features/documents/TMDcmtForm.js +1245 -0
- package/lib/components/features/documents/TMDcmtIcon.d.ts +18 -0
- package/lib/components/features/documents/TMDcmtIcon.js +93 -0
- package/lib/components/features/documents/TMDcmtPreview.d.ts +31 -0
- package/lib/components/features/documents/TMDcmtPreview.js +446 -0
- package/lib/components/features/documents/TMDcmtTasks.d.ts +13 -0
- package/lib/components/features/documents/TMDcmtTasks.js +24 -0
- package/lib/components/features/documents/TMDragDropOverlay.d.ts +6 -0
- package/lib/components/features/documents/TMDragDropOverlay.js +97 -0
- package/lib/components/features/documents/TMFileUploader.d.ts +14 -0
- package/lib/components/features/documents/TMFileUploader.js +115 -0
- package/lib/components/features/documents/TMMasterDetailDcmts.d.ts +26 -0
- package/lib/components/features/documents/TMMasterDetailDcmts.js +288 -0
- package/lib/components/features/documents/TMRelationViewer.d.ts +121 -0
- package/lib/components/features/documents/TMRelationViewer.js +753 -0
- package/lib/components/features/search/TMSavedQueryForm.d.ts +9 -0
- package/lib/components/features/search/TMSavedQueryForm.js +41 -0
- package/lib/components/features/search/TMSavedQuerySelector.d.ts +16 -0
- package/lib/components/features/search/TMSavedQuerySelector.js +226 -0
- package/lib/components/features/search/TMSearch.d.ts +40 -0
- package/lib/components/features/search/TMSearch.js +253 -0
- package/lib/components/features/search/TMSearchQueryEditor.d.ts +15 -0
- package/lib/components/features/search/TMSearchQueryEditor.js +367 -0
- package/lib/components/features/search/TMSearchQueryPanel.d.ts +29 -0
- package/lib/components/features/search/TMSearchQueryPanel.js +438 -0
- package/lib/components/features/search/TMSearchResult.d.ts +53 -0
- package/lib/components/features/search/TMSearchResult.js +1092 -0
- package/lib/components/features/search/TMSearchResultFloatingActionButton.d.ts +16 -0
- package/lib/components/features/search/TMSearchResultFloatingActionButton.js +50 -0
- package/lib/components/features/search/TMSearchResultsMenuItems.d.ts +11 -0
- package/lib/components/features/search/TMSearchResultsMenuItems.js +725 -0
- package/lib/components/features/search/TMTreeSelector.d.ts +12 -0
- package/lib/components/features/search/TMTreeSelector.js +270 -0
- package/lib/components/features/tasks/TMTaskForm.d.ts +38 -0
- package/lib/components/features/tasks/TMTaskForm.js +387 -0
- package/lib/components/features/tasks/TMTasksAgenda.d.ts +17 -0
- package/lib/components/features/tasks/TMTasksAgenda.js +107 -0
- package/lib/components/features/tasks/TMTasksCalendar.d.ts +21 -0
- package/lib/components/features/tasks/TMTasksCalendar.js +240 -0
- package/lib/components/features/tasks/TMTasksHeader.d.ts +14 -0
- package/lib/components/features/tasks/TMTasksHeader.js +37 -0
- package/lib/components/features/tasks/TMTasksPanelContent.d.ts +20 -0
- package/lib/components/features/tasks/TMTasksPanelContent.js +65 -0
- package/lib/components/features/tasks/TMTasksUtils.d.ts +132 -0
- package/lib/components/features/tasks/TMTasksUtils.js +634 -0
- package/lib/components/features/tasks/TMTasksUtilsView.d.ts +39 -0
- package/lib/components/features/tasks/TMTasksUtilsView.js +140 -0
- package/lib/components/features/tasks/TMTasksView.d.ts +40 -0
- package/lib/components/features/tasks/TMTasksView.js +560 -0
- package/lib/components/features/wg/TMWGsCopyMoveForm.d.ts +39 -0
- package/lib/components/features/wg/TMWGsCopyMoveForm.js +439 -0
- package/lib/components/features/workflow/TMWorkflowPopup.d.ts +42 -0
- package/lib/components/features/workflow/TMWorkflowPopup.js +286 -0
- package/lib/components/features/workflow/diagram/ConnectionComponent.d.ts +14 -0
- package/lib/components/features/workflow/diagram/ConnectionComponent.js +90 -0
- package/lib/components/features/workflow/diagram/ConnectionForm.d.ts +9 -0
- package/lib/components/features/workflow/diagram/ConnectionForm.js +73 -0
- package/lib/components/features/workflow/diagram/DiagramItemComponent.d.ts +18 -0
- package/lib/components/features/workflow/diagram/DiagramItemComponent.js +264 -0
- package/lib/components/features/workflow/diagram/DiagramItemForm.d.ts +10 -0
- package/lib/components/features/workflow/diagram/DiagramItemForm.js +686 -0
- package/lib/components/features/workflow/diagram/DiagramItemSvgContent.d.ts +12 -0
- package/lib/components/features/workflow/diagram/DiagramItemSvgContent.js +97 -0
- package/lib/components/features/workflow/diagram/RecipientList.d.ts +27 -0
- package/lib/components/features/workflow/diagram/RecipientList.js +204 -0
- package/lib/components/features/workflow/diagram/WFDiagram.d.ts +9 -0
- package/lib/components/features/workflow/diagram/WFDiagram.js +1680 -0
- package/lib/components/features/workflow/diagram/WorkitemRecipientsEditor.d.ts +18 -0
- package/lib/components/features/workflow/diagram/WorkitemRecipientsEditor.js +97 -0
- package/lib/components/features/workflow/diagram/interfaces.d.ts +126 -0
- package/lib/components/features/workflow/diagram/interfaces.js +26 -0
- package/lib/components/features/workflow/diagram/metadataParser.d.ts +14 -0
- package/lib/components/features/workflow/diagram/metadataParser.js +54 -0
- package/lib/components/features/workflow/diagram/queryDescriptorParser.d.ts +3 -0
- package/lib/components/features/workflow/diagram/queryDescriptorParser.js +188 -0
- package/lib/components/features/workflow/diagram/workflowHelpers.d.ts +122 -0
- package/lib/components/features/workflow/diagram/workflowHelpers.js +488 -0
- package/lib/components/features/workflow/diagram/xmlParser.d.ts +10 -0
- package/lib/components/features/workflow/diagram/xmlParser.js +490 -0
- package/lib/components/filesystem/ProgressBar.d.ts +7 -0
- package/lib/components/filesystem/ProgressBar.js +25 -0
- package/lib/components/forms/Login/ChangePassword.d.ts +9 -0
- package/lib/components/forms/Login/ChangePassword.js +22 -0
- package/lib/components/forms/Login/ChangePasswordInputs.d.ts +14 -0
- package/lib/components/forms/Login/ChangePasswordInputs.js +80 -0
- package/lib/components/forms/Login/Chooser.d.ts +28 -0
- package/lib/components/forms/Login/Chooser.js +145 -0
- package/lib/components/forms/Login/LOGINLocalizator.d.ts +29 -0
- package/lib/components/forms/Login/LOGINLocalizator.js +247 -0
- package/lib/components/forms/Login/LoginValidatorService.d.ts +50 -0
- package/lib/components/forms/Login/LoginValidatorService.js +162 -0
- package/lib/components/forms/Login/Menu.d.ts +10 -0
- package/lib/components/forms/Login/Menu.js +48 -0
- package/lib/components/forms/Login/OTPReader.d.ts +14 -0
- package/lib/components/forms/Login/OTPReader.js +90 -0
- package/lib/components/forms/Login/PasswordStrengthChecker.d.ts +7 -0
- package/lib/components/forms/Login/PasswordStrengthChecker.js +45 -0
- package/lib/components/forms/Login/RapidAccessLogin.d.ts +25 -0
- package/lib/components/forms/Login/RapidAccessLogin.js +310 -0
- package/lib/components/forms/Login/RecoverPasswordFlow.d.ts +11 -0
- package/lib/components/forms/Login/RecoverPasswordFlow.js +111 -0
- package/lib/components/forms/Login/SelectBox.d.ts +23 -0
- package/lib/components/forms/Login/SelectBox.js +96 -0
- package/lib/components/forms/Login/StepIndicator.d.ts +7 -0
- package/lib/components/forms/Login/StepIndicator.js +19 -0
- package/lib/components/forms/Login/TMLoginForm.d.ts +44 -0
- package/lib/components/forms/Login/TMLoginForm.js +737 -0
- package/lib/components/forms/Login/TextBox.d.ts +27 -0
- package/lib/components/forms/Login/TextBox.js +111 -0
- package/lib/components/forms/TMApplyForm.d.ts +4 -0
- package/lib/components/forms/TMApplyForm.js +105 -0
- package/lib/components/forms/TMChooserForm.d.ts +3 -0
- package/lib/components/forms/TMChooserForm.js +94 -0
- package/lib/components/forms/TMResultDialog.d.ts +20 -0
- package/lib/components/forms/TMResultDialog.js +44 -0
- package/lib/components/forms/TMSaveForm.d.ts +31 -0
- package/lib/components/forms/TMSaveForm.js +176 -0
- package/lib/components/grids/TMBlogAttachments.d.ts +42 -0
- package/lib/components/grids/TMBlogAttachments.js +43 -0
- package/lib/components/grids/TMBlogHeader.d.ts +31 -0
- package/lib/components/grids/TMBlogHeader.js +41 -0
- package/lib/components/grids/TMBlogsPost.d.ts +87 -0
- package/lib/components/grids/TMBlogsPost.js +644 -0
- package/lib/components/grids/TMBlogsPostUtils.d.ts +113 -0
- package/lib/components/grids/TMBlogsPostUtils.js +250 -0
- package/lib/components/grids/TMRecentsManager.d.ts +13 -0
- package/lib/components/grids/TMRecentsManager.js +155 -0
- package/lib/components/grids/TMValidationItemsList.d.ts +6 -0
- package/lib/components/grids/TMValidationItemsList.js +82 -0
- package/lib/components/index.d.ts +115 -0
- package/lib/components/index.js +137 -0
- package/lib/components/layout/panelManager/TMPanelManagerContainer.d.ts +10 -0
- package/lib/components/layout/panelManager/TMPanelManagerContainer.js +215 -0
- package/lib/components/layout/panelManager/TMPanelManagerContext.d.ts +39 -0
- package/lib/components/layout/panelManager/TMPanelManagerContext.js +257 -0
- package/lib/components/layout/panelManager/TMPanelManagerToolbar.d.ts +11 -0
- package/lib/components/layout/panelManager/TMPanelManagerToolbar.js +83 -0
- package/lib/components/layout/panelManager/TMPanelManagerWithPersistenceProvider.d.ts +21 -0
- package/lib/components/layout/panelManager/TMPanelManagerWithPersistenceProvider.js +64 -0
- package/lib/components/layout/panelManager/TMPanelWrapper.d.ts +8 -0
- package/lib/components/layout/panelManager/TMPanelWrapper.js +59 -0
- package/lib/components/layout/panelManager/types.d.ts +42 -0
- package/lib/components/layout/panelManager/types.js +1 -0
- package/lib/components/layout/panelManager/utils.d.ts +21 -0
- package/lib/components/layout/panelManager/utils.js +208 -0
- package/lib/components/pages/TMPage.d.ts +38 -0
- package/lib/components/pages/TMPage.js +220 -0
- package/lib/components/query/TMQueryEditor.d.ts +58 -0
- package/lib/components/query/TMQueryEditor.js +1001 -0
- package/lib/components/query/TMQuerySummary.d.ts +16 -0
- package/lib/components/query/TMQuerySummary.js +35 -0
- package/lib/components/settings/SettingsAppearance.d.ts +14 -0
- package/lib/components/settings/SettingsAppearance.js +73 -0
- package/lib/components/sidebar/TMAboutApp.d.ts +8 -0
- package/lib/components/sidebar/TMAboutApp.js +14 -0
- package/lib/components/sidebar/TMCommandsPanel.d.ts +16 -0
- package/lib/components/sidebar/TMCommandsPanel.js +27 -0
- package/lib/components/sidebar/TMHeader.d.ts +43 -0
- package/lib/components/sidebar/TMHeader.js +616 -0
- package/lib/components/sidebar/TMSidebar.d.ts +21 -0
- package/lib/components/sidebar/TMSidebar.js +61 -0
- package/lib/components/sidebar/TMSidebarItem.d.ts +15 -0
- package/lib/components/sidebar/TMSidebarItem.js +39 -0
- package/lib/components/viewers/TMDataListItemViewer.d.ts +10 -0
- package/lib/components/viewers/TMDataListItemViewer.js +80 -0
- package/lib/components/viewers/TMMidViewer.d.ts +36 -0
- package/lib/components/viewers/TMMidViewer.js +128 -0
- package/lib/components/viewers/TMTidViewer.d.ts +256 -0
- package/lib/components/viewers/TMTidViewer.js +343 -0
- package/lib/components/wizard/TMStepIndicator.d.ts +11 -0
- package/lib/components/wizard/TMStepIndicator.js +165 -0
- package/lib/components/wizard/TMWizard.d.ts +18 -0
- package/lib/components/wizard/TMWizard.js +93 -0
- package/lib/css/tm-sdkui.css +1 -0
- package/lib/helper/DeepCompareHelper.d.ts +7 -0
- package/lib/helper/DeepCompareHelper.js +106 -0
- package/lib/helper/Enum_Localizator.d.ts +18 -0
- package/lib/helper/Enum_Localizator.js +247 -0
- package/lib/helper/GlobalStyles.d.ts +2 -0
- package/lib/helper/GlobalStyles.js +10 -0
- package/lib/helper/Globalization.d.ts +15 -0
- package/lib/helper/Globalization.js +110 -0
- package/lib/helper/SDKUI_Globals.d.ts +96 -0
- package/lib/helper/SDKUI_Globals.js +174 -0
- package/lib/helper/SDKUI_Localizator.d.ts +738 -0
- package/lib/helper/SDKUI_Localizator.js +7288 -0
- package/lib/helper/TMCommandsContextMenu.d.ts +14 -0
- package/lib/helper/TMCommandsContextMenu.js +6 -0
- package/lib/helper/TMConditionalWrapper.d.ts +8 -0
- package/lib/helper/TMConditionalWrapper.js +4 -0
- package/lib/helper/TMCustomSearchBar.d.ts +8 -0
- package/lib/helper/TMCustomSearchBar.js +54 -0
- package/lib/helper/TMIcons.d.ts +274 -0
- package/lib/helper/TMIcons.js +673 -0
- package/lib/helper/TMImageLibrary.d.ts +4 -0
- package/lib/helper/TMImageLibrary.js +466 -0
- package/lib/helper/TMToppyMessage.d.ts +7 -0
- package/lib/helper/TMToppyMessage.js +42 -0
- package/lib/helper/TMUtils.d.ts +26 -0
- package/lib/helper/TMUtils.js +212 -0
- package/lib/helper/dcmtsHelper.d.ts +8 -0
- package/lib/helper/dcmtsHelper.js +49 -0
- package/lib/helper/helpers.d.ts +84 -0
- package/lib/helper/helpers.js +826 -0
- package/lib/helper/index.d.ts +13 -0
- package/lib/helper/index.js +13 -0
- package/lib/helper/queryHelper.d.ts +19 -0
- package/lib/helper/queryHelper.js +336 -0
- package/lib/hooks/useDcmtOperations.d.ts +24 -0
- package/lib/hooks/useDcmtOperations.js +482 -0
- package/lib/hooks/useForm.d.ts +24 -0
- package/lib/hooks/useForm.js +157 -0
- package/lib/hooks/useInputDialog.d.ts +9 -0
- package/lib/hooks/useInputDialog.js +105 -0
- package/lib/hooks/useOutsideClick.d.ts +2 -0
- package/lib/hooks/useOutsideClick.js +38 -0
- package/lib/hooks/usePreventFileDrop.d.ts +3 -0
- package/lib/hooks/usePreventFileDrop.js +37 -0
- package/lib/hooks/useQueryParametersDialog.d.ts +2 -0
- package/lib/hooks/useQueryParametersDialog.js +71 -0
- package/lib/hooks/useRelatedDocuments.d.ts +72 -0
- package/lib/hooks/useRelatedDocuments.js +655 -0
- package/lib/hooks/useResizeObserver.d.ts +4 -0
- package/lib/hooks/useResizeObserver.js +22 -0
- package/lib/hooks/useWorkflowApprove.d.ts +11 -0
- package/lib/hooks/useWorkflowApprove.js +57 -0
- package/lib/index.d.ts +12 -0
- package/lib/index.js +15 -0
- package/lib/services/index.d.ts +1 -0
- package/lib/services/index.js +1 -0
- package/lib/services/platform_services.d.ts +18 -0
- package/lib/services/platform_services.js +492 -0
- package/lib/ts/index.d.ts +1 -0
- package/lib/ts/index.js +1 -0
- package/lib/ts/types.d.ts +310 -0
- package/lib/ts/types.js +100 -0
- package/lib/utils/theme.d.ts +69 -0
- package/lib/utils/theme.js +81 -0
- package/package.json +54 -0
|
@@ -0,0 +1,488 @@
|
|
|
1
|
+
import { PlatformObjectValidator, QueryValidatorOptions, ResultTypes, TMPropertyNames, ValidationItem, WorkItemStatus } from '@topconsultnpm/sdk-ts';
|
|
2
|
+
import { DiagramItemTypes, ArrowSymbol } from './interfaces'; // Assicurati che il percorso sia corretto
|
|
3
|
+
import { generateUUID, SDKUI_Localizator } from '../../../../helper';
|
|
4
|
+
/**
|
|
5
|
+
* Calculates the angle in degrees of an arrow based on two points.
|
|
6
|
+
* @param prevPoint The previous point on the trajectory.
|
|
7
|
+
* @param currentPoint The current point (where the arrow tip is located).
|
|
8
|
+
* @returns The angle in degrees.
|
|
9
|
+
*/
|
|
10
|
+
export const calculateArrowAngle = (prevPoint, currentPoint) => {
|
|
11
|
+
const angleRad = Math.atan2(currentPoint.y - prevPoint.y, currentPoint.x - prevPoint.x);
|
|
12
|
+
return angleRad * 180 / Math.PI;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Calculates the center point of a diagram item.
|
|
16
|
+
* @param item The diagram item.
|
|
17
|
+
* @returns The center point.
|
|
18
|
+
*/
|
|
19
|
+
export const getItemCenter = (item) => {
|
|
20
|
+
return {
|
|
21
|
+
x: item.Left + item.Width / 2,
|
|
22
|
+
y: item.Top + item.Height / 2,
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Calculates the specific connection point for a given connector of an item.
|
|
27
|
+
* @param item The diagram item.
|
|
28
|
+
* @param connectorName The name of the connector (e.g., "Left", "Right", "Top", "Bottom").
|
|
29
|
+
* @returns The connection point.
|
|
30
|
+
*/
|
|
31
|
+
export const getConnectionPoint = (item, connectorName) => {
|
|
32
|
+
const { Left, Top, Width, Height } = item;
|
|
33
|
+
switch (connectorName) {
|
|
34
|
+
case 'Left': return { x: Left, y: Top + Height / 2 };
|
|
35
|
+
case 'Right': return { x: Left + Width, y: Top + Height / 2 };
|
|
36
|
+
case 'Top': return { x: Left + Width / 2, y: Top };
|
|
37
|
+
case 'Bottom': return { x: Left + Width / 2, y: Top + Height };
|
|
38
|
+
default: return getItemCenter(item);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Determines whether a connection requires a non-linear path (one that "bends" around the nodes).
|
|
43
|
+
* This typically occurs when the source and sink connectors are on the same side
|
|
44
|
+
* or when the node alignment is inverted relative to the opposite connectors.
|
|
45
|
+
*
|
|
46
|
+
* @param sourceRect The rectangle of the source node.
|
|
47
|
+
* @param sinkRect The rectangle of the sink node.
|
|
48
|
+
* @param sourceConnectorName The name of the source connector (e.g., "Right", "Left").
|
|
49
|
+
* @param sinkConnectorName The name of the sink connector (e.g., "Right", "Left").
|
|
50
|
+
* @returns True if the connection is considered non-linear, otherwise False.
|
|
51
|
+
*/
|
|
52
|
+
export const isConnectionNonLinear = (sourceRect, sinkRect, sourceConnectorName, sinkConnectorName) => {
|
|
53
|
+
const srcConn = sourceConnectorName.toLowerCase();
|
|
54
|
+
const snkConn = sinkConnectorName.toLowerCase();
|
|
55
|
+
// Case 1: The connectors are on the same side (e.g., Right-Right, Left-Left, Top-Top, Bottom-Bottom)
|
|
56
|
+
if (srcConn === snkConn) {
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
// Case 2: The connectors are opposite, but the node alignment is inverted
|
|
60
|
+
// (e.g., Right-Left, but the source node is to the right of the sink node)
|
|
61
|
+
if (srcConn === 'right' && snkConn === 'left' && sourceRect.x > sinkRect.x) {
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
if (srcConn === 'left' && snkConn === 'right' && sourceRect.x < sinkRect.x) {
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
if (srcConn === 'bottom' && snkConn === 'top' && sourceRect.y > sinkRect.y) {
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
if (srcConn === 'top' && snkConn === 'bottom' && sourceRect.y < sinkRect.y) {
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
// If none of the above conditions are true, the connection is considered "linear"
|
|
74
|
+
return false;
|
|
75
|
+
};
|
|
76
|
+
// Layout constants of DiagramItemComponent.tsx
|
|
77
|
+
export const SVG_ICON_SIZE = 60;
|
|
78
|
+
export const PADDING_TOP = 5;
|
|
79
|
+
export const PADDING_BOTTOM = 5;
|
|
80
|
+
export const PADDING_HORIZONTAL = 5;
|
|
81
|
+
export const SPACING_SVG_TEXT = 0;
|
|
82
|
+
export const FONT_SIZE = 11;
|
|
83
|
+
export const MAX_ITEM_WIDTH = 130;
|
|
84
|
+
export const MIN_ITEM_WIDTH = 64;
|
|
85
|
+
export const MAX_LINES = 2;
|
|
86
|
+
/**
|
|
87
|
+
* Breaks a string into multiple lines to fit a maximum width, adding an ellipsis if it exceeds the maximum number of lines.
|
|
88
|
+
*
|
|
89
|
+
* @param text The string to be wrapped.
|
|
90
|
+
* @param maxWidth The maximum width for a single line of text.
|
|
91
|
+
* @param maxLines The maximum number of lines allowed before truncation.
|
|
92
|
+
* @returns An array of strings, where each element is a line of text.
|
|
93
|
+
*/
|
|
94
|
+
export const wrapText = (text, maxWidth, maxLines, ctx) => {
|
|
95
|
+
if (!text || !ctx) {
|
|
96
|
+
return [];
|
|
97
|
+
}
|
|
98
|
+
// Per un calcolo accurato, usiamo un contesto canvas
|
|
99
|
+
// La logica precedente aveva un piccolo problema con la gestione degli spazi
|
|
100
|
+
const words = text.split(' ');
|
|
101
|
+
let lines = [];
|
|
102
|
+
let currentLine = '';
|
|
103
|
+
for (let i = 0; i < words.length; i++) {
|
|
104
|
+
const word = words[i];
|
|
105
|
+
let testLine = currentLine.length > 0 ? currentLine + ' ' + word : word;
|
|
106
|
+
const metrics = ctx.measureText(testLine);
|
|
107
|
+
const testWidth = metrics.width;
|
|
108
|
+
if (testWidth > maxWidth) {
|
|
109
|
+
lines.push(currentLine);
|
|
110
|
+
currentLine = word;
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
currentLine = testLine;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
lines.push(currentLine);
|
|
117
|
+
// Gestisce il caso dell'ellissi
|
|
118
|
+
if (lines.length > maxLines) {
|
|
119
|
+
let lastLine = lines[maxLines - 1];
|
|
120
|
+
while (ctx.measureText(lastLine + '...').width > maxWidth) {
|
|
121
|
+
lastLine = lastLine.slice(0, -1);
|
|
122
|
+
}
|
|
123
|
+
lines[maxLines - 1] = lastLine + '...';
|
|
124
|
+
lines = lines.slice(0, maxLines);
|
|
125
|
+
}
|
|
126
|
+
return lines;
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* Calculates the full dimensions of a diagram item, including the icon and text.
|
|
130
|
+
* This function is based on already measured or estimated text dimensions.
|
|
131
|
+
*
|
|
132
|
+
* @param item The DiagramItem.
|
|
133
|
+
* @param textDimensions The dimensions (width, height) of the item's text.
|
|
134
|
+
* @returns An object with the calculatedWidth and calculatedHeight of the item.
|
|
135
|
+
*/
|
|
136
|
+
export const calculateDiagramItemFullDimensions = (item, textDimensions) => {
|
|
137
|
+
// Calcola la larghezza del testo con padding
|
|
138
|
+
const textWidthWithPadding = textDimensions.width + (PADDING_HORIZONTAL * 2);
|
|
139
|
+
// Applica i vincoli: la larghezza è il valore maggiore tra il minimo e il minore tra la larghezza calcolata e il massimo
|
|
140
|
+
const finalCalculatedWidth = Math.max(MIN_ITEM_WIDTH, Math.min(textWidthWithPadding, MAX_ITEM_WIDTH));
|
|
141
|
+
const textHeight = textDimensions.height;
|
|
142
|
+
let finalCalculatedHeight;
|
|
143
|
+
if (item.ItemName) {
|
|
144
|
+
// Calculate height based on wrapped text lines
|
|
145
|
+
const canvas = document.createElement('canvas');
|
|
146
|
+
const context = canvas.getContext('2d');
|
|
147
|
+
if (context) {
|
|
148
|
+
context.font = `${FONT_SIZE}px sans-serif`;
|
|
149
|
+
const lines = wrapText(item.ItemName, MAX_ITEM_WIDTH - (PADDING_HORIZONTAL * 2), MAX_LINES, context);
|
|
150
|
+
// Calculate height based on number of lines
|
|
151
|
+
finalCalculatedHeight = PADDING_TOP + SVG_ICON_SIZE + SPACING_SVG_TEXT + (lines.length * FONT_SIZE) + PADDING_BOTTOM;
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
// Fallback if canvas context is not available
|
|
155
|
+
finalCalculatedHeight = PADDING_TOP + SVG_ICON_SIZE + SPACING_SVG_TEXT + textHeight + PADDING_BOTTOM;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
// No text, so height is just icon + padding
|
|
160
|
+
finalCalculatedHeight = PADDING_TOP + SVG_ICON_SIZE + PADDING_BOTTOM;
|
|
161
|
+
}
|
|
162
|
+
// Applies the guarantee that dimensions are never less than 64px
|
|
163
|
+
finalCalculatedHeight = Math.max(finalCalculatedHeight, 64);
|
|
164
|
+
return { calculatedWidth: finalCalculatedWidth, calculatedHeight: finalCalculatedHeight };
|
|
165
|
+
};
|
|
166
|
+
/** Helper function to get the color based on connection status */
|
|
167
|
+
export const getConnectionColor = (status) => {
|
|
168
|
+
switch (status) {
|
|
169
|
+
case WorkItemStatus.Rejected:
|
|
170
|
+
return 'red';
|
|
171
|
+
case WorkItemStatus.Completed:
|
|
172
|
+
return 'green';
|
|
173
|
+
case WorkItemStatus.New:
|
|
174
|
+
default: // Default to gray for 'New' or any unhandled status
|
|
175
|
+
return 'gray';
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
export const validateDiagram = (diagram, newConnection) => {
|
|
179
|
+
// 1. Validazione di tutte le connessioni esistenti e della nuova
|
|
180
|
+
const connectionsToValidate = newConnection ? [...diagram.Connections, newConnection] : diagram.Connections;
|
|
181
|
+
// Usiamo una mappa per tracciare le connessioni in uscita da ciascun nodo
|
|
182
|
+
const connectionsFromSourceMap = new Map();
|
|
183
|
+
connectionsToValidate.forEach(conn => {
|
|
184
|
+
const sourceId = conn.Source.ParentDiagramItem.ID;
|
|
185
|
+
if (!connectionsFromSourceMap.has(sourceId)) {
|
|
186
|
+
connectionsFromSourceMap.set(sourceId, []);
|
|
187
|
+
}
|
|
188
|
+
connectionsFromSourceMap.get(sourceId)?.push(conn);
|
|
189
|
+
});
|
|
190
|
+
// Esegui la validazione per ogni connessione
|
|
191
|
+
for (const connection of connectionsToValidate) {
|
|
192
|
+
const sourceItem = diagram.DiagramItems.find(item => item.ID === connection.Source.ParentDiagramItem.ID);
|
|
193
|
+
const sinkItem = diagram.DiagramItems.find(item => item.ID === connection.Sink.ParentDiagramItem.ID);
|
|
194
|
+
if (!sourceItem || !sinkItem) {
|
|
195
|
+
throw new Error(SDKUI_Localizator.WorkflowDiagramConnectionInvalidNodes);
|
|
196
|
+
}
|
|
197
|
+
const sourceName = sourceItem.ItemName.length > 0 ? sourceItem.ItemName : DiagramItemTypes[sourceItem.Type].toString().toUpperCase();
|
|
198
|
+
const sinkName = sinkItem.ItemName.length > 0 ? sinkItem.ItemName : DiagramItemTypes[sinkItem.Type].toString().toUpperCase();
|
|
199
|
+
// Verifica la connessione di base (non verso 'Start' o da 'End')
|
|
200
|
+
if (sinkItem.Type === DiagramItemTypes.Start) {
|
|
201
|
+
throw new Error(SDKUI_Localizator.WorkflowDiagramCannotConnectToStart);
|
|
202
|
+
}
|
|
203
|
+
if (sourceItem.Type === DiagramItemTypes.End) {
|
|
204
|
+
throw new Error(SDKUI_Localizator.WorkflowDiagramCannotConnectFromEnd);
|
|
205
|
+
}
|
|
206
|
+
if (sourceItem.ID === sinkItem.ID) {
|
|
207
|
+
throw new Error(SDKUI_Localizator.WorkflowDiagramConnectionSelf.replace('{0}', sourceName));
|
|
208
|
+
}
|
|
209
|
+
// Verifica se la connessione esiste già
|
|
210
|
+
const connectionsFromCurrentSource = connectionsToValidate.filter(c => c.Source.ParentDiagramItem.ID === sourceItem.ID &&
|
|
211
|
+
c.Sink.ParentDiagramItem.ID === sinkItem.ID &&
|
|
212
|
+
c.ID !== connection.ID // Escludi la connessione corrente se stiamo aggiornando
|
|
213
|
+
);
|
|
214
|
+
if (connectionsFromCurrentSource.length > 0) {
|
|
215
|
+
throw new Error(SDKUI_Localizator.WorkflowDiagramConnectionAlreadyExists.replace('{0}', sourceName).replace('{1}', sinkName));
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
// 2. Validazione sul numero di connessioni in uscita per tipo di nodo
|
|
219
|
+
connectionsFromSourceMap.forEach((connections, sourceId) => {
|
|
220
|
+
const sourceItem = diagram.DiagramItems.find(item => item.ID === sourceId);
|
|
221
|
+
if (!sourceItem)
|
|
222
|
+
return;
|
|
223
|
+
const sourceName = sourceItem.ItemName.length > 0 ? sourceItem.ItemName : DiagramItemTypes[sourceItem.Type].toString().toUpperCase();
|
|
224
|
+
switch (sourceItem.Type) {
|
|
225
|
+
case DiagramItemTypes.Exit:
|
|
226
|
+
if (connections.length > 0) {
|
|
227
|
+
throw new Error(SDKUI_Localizator.WorkflowDiagramExitCannotHaveOutgoing.replace('{0}', sourceName));
|
|
228
|
+
}
|
|
229
|
+
break;
|
|
230
|
+
case DiagramItemTypes.Start:
|
|
231
|
+
case DiagramItemTypes.UpdateDcmt:
|
|
232
|
+
if (connections.length > 1) {
|
|
233
|
+
throw new Error(SDKUI_Localizator.WorkflowDiagramMaxOneOutgoing.replace('{0}', sourceName));
|
|
234
|
+
}
|
|
235
|
+
break;
|
|
236
|
+
default:
|
|
237
|
+
if (connections.length > 2) {
|
|
238
|
+
throw new Error(SDKUI_Localizator.WorkflowDiagramMaxTwoOutgoing.replace('{0}', sourceName));
|
|
239
|
+
}
|
|
240
|
+
break;
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
};
|
|
244
|
+
export const downloadFile = (data, filename, type) => {
|
|
245
|
+
const blob = new Blob([data], { type });
|
|
246
|
+
const url = window.URL.createObjectURL(blob);
|
|
247
|
+
const a = document.createElement('a');
|
|
248
|
+
a.href = url;
|
|
249
|
+
a.download = filename;
|
|
250
|
+
document.body.appendChild(a);
|
|
251
|
+
a.click();
|
|
252
|
+
document.body.removeChild(a);
|
|
253
|
+
window.URL.revokeObjectURL(url);
|
|
254
|
+
};
|
|
255
|
+
export const getNewWfDiagram = (info) => {
|
|
256
|
+
const startItem = {
|
|
257
|
+
ID: generateUUID(),
|
|
258
|
+
Left: 100,
|
|
259
|
+
Top: 100,
|
|
260
|
+
Width: 32,
|
|
261
|
+
Height: 32,
|
|
262
|
+
Type: DiagramItemTypes.Start,
|
|
263
|
+
StartAfterArchive: 1,
|
|
264
|
+
ItemName: '',
|
|
265
|
+
Description: '',
|
|
266
|
+
};
|
|
267
|
+
const endItem = {
|
|
268
|
+
ID: generateUUID(),
|
|
269
|
+
Left: 300,
|
|
270
|
+
Top: 100,
|
|
271
|
+
Width: 32,
|
|
272
|
+
Height: 32,
|
|
273
|
+
Type: DiagramItemTypes.End,
|
|
274
|
+
Hist: 1,
|
|
275
|
+
ItemName: '',
|
|
276
|
+
Description: '',
|
|
277
|
+
};
|
|
278
|
+
const newConnection = {
|
|
279
|
+
ID: generateUUID(),
|
|
280
|
+
Source: { ParentDiagramItem: { ID: startItem.ID }, ConnectorName: 'Right' },
|
|
281
|
+
Sink: { ParentDiagramItem: { ID: endItem.ID }, ConnectorName: 'Left' },
|
|
282
|
+
OutputStatus: WorkItemStatus.New,
|
|
283
|
+
Description: "",
|
|
284
|
+
PathGeometry: "",
|
|
285
|
+
SourceArrowSymbol: ArrowSymbol.None,
|
|
286
|
+
SinkArrowSymbol: ArrowSymbol.Arrow,
|
|
287
|
+
};
|
|
288
|
+
const newWfDiagram = {
|
|
289
|
+
DiagramItems: [startItem, endItem],
|
|
290
|
+
Connections: [newConnection],
|
|
291
|
+
Info: info,
|
|
292
|
+
};
|
|
293
|
+
return newWfDiagram;
|
|
294
|
+
};
|
|
295
|
+
export const workflowValidator = async (wf) => {
|
|
296
|
+
const validationItems = [];
|
|
297
|
+
if (!wf.Info) {
|
|
298
|
+
validationItems.push(new ValidationItem(ResultTypes.ERROR, "info", SDKUI_Localizator.WorkflowDiagramMissingInfo));
|
|
299
|
+
}
|
|
300
|
+
if (!wf.DiagramItems || wf.DiagramItems.length === 0) {
|
|
301
|
+
validationItems.push(new ValidationItem(ResultTypes.ERROR, "diagramItems", SDKUI_Localizator.WorkflowDiagramNoItems));
|
|
302
|
+
}
|
|
303
|
+
if (!wf.Connections || wf.Connections.length === 0) {
|
|
304
|
+
validationItems.push(new ValidationItem(ResultTypes.ERROR, "connections", SDKUI_Localizator.WorkflowDiagramNoConnections));
|
|
305
|
+
}
|
|
306
|
+
const startItems = wf.DiagramItems.filter(item => item.Type === DiagramItemTypes.Start);
|
|
307
|
+
if (startItems.length === 0) {
|
|
308
|
+
validationItems.push(new ValidationItem(ResultTypes.ERROR, "startItems", SDKUI_Localizator.WorkflowDiagramStartMissing));
|
|
309
|
+
}
|
|
310
|
+
if (startItems.length > 1) {
|
|
311
|
+
validationItems.push(new ValidationItem(ResultTypes.ERROR, "startItems", SDKUI_Localizator.WorkflowDiagramStartMultiple));
|
|
312
|
+
}
|
|
313
|
+
const endItems = wf.DiagramItems.filter(item => item.Type === DiagramItemTypes.End);
|
|
314
|
+
if (endItems.length === 0) {
|
|
315
|
+
validationItems.push(new ValidationItem(ResultTypes.ERROR, "endItems", SDKUI_Localizator.WorkflowDiagramEndMissing));
|
|
316
|
+
}
|
|
317
|
+
for (const item of wf.DiagramItems) {
|
|
318
|
+
const vil = await wfDiagramItemValidator(item);
|
|
319
|
+
vil.forEach(v => v.PropertyScopes = ['diagramItem']);
|
|
320
|
+
validationItems.push(...vil);
|
|
321
|
+
switch (item.Type) {
|
|
322
|
+
case DiagramItemTypes.Start:
|
|
323
|
+
if (wf.Connections.filter(c => c.Source.ParentDiagramItem.ID === item.ID).length === 0) {
|
|
324
|
+
validationItems.push(new ValidationItem(ResultTypes.ERROR, `item-${item.ID}`, SDKUI_Localizator.WorkflowDiagramStartMustHaveOutgoing, ['diagramItem']));
|
|
325
|
+
}
|
|
326
|
+
if (wf.Connections.filter(c => c.Sink.ParentDiagramItem.ID === item.ID).length > 0) {
|
|
327
|
+
validationItems.push(new ValidationItem(ResultTypes.ERROR, `item-${item.ID}`, SDKUI_Localizator.WorkflowDiagramStartCannotHaveIncoming, ['diagramItem']));
|
|
328
|
+
}
|
|
329
|
+
break;
|
|
330
|
+
case DiagramItemTypes.End:
|
|
331
|
+
case DiagramItemTypes.Exit:
|
|
332
|
+
if (wf.Connections.filter(c => c.Sink.ParentDiagramItem.ID === item.ID).length === 0) {
|
|
333
|
+
validationItems.push(new ValidationItem(ResultTypes.ERROR, `item-${item.ID}`, `L'elemento '${DiagramItemTypes[item.Type]}' deve avere almeno una connessione in ingresso.`, ['diagramItem']));
|
|
334
|
+
}
|
|
335
|
+
if (wf.Connections.filter(c => c.Source.ParentDiagramItem.ID === item.ID).length > 0) {
|
|
336
|
+
validationItems.push(new ValidationItem(ResultTypes.ERROR, `item-${item.ID}`, `L'elemento '${DiagramItemTypes[item.Type]}' non può avere connessioni in uscita.`, ['diagramItem']));
|
|
337
|
+
}
|
|
338
|
+
break;
|
|
339
|
+
case DiagramItemTypes.Condition:
|
|
340
|
+
if (wf.Connections.filter(c => c.Source.ParentDiagramItem.ID === item.ID).length !== 2) {
|
|
341
|
+
validationItems.push(new ValidationItem(ResultTypes.WARNING, `item-${item.ID}`, SDKUI_Localizator.WorkflowDiagramConditionTwoOutgoing, ['diagramItem']));
|
|
342
|
+
}
|
|
343
|
+
if (wf.Connections.filter(c => c.Sink.ParentDiagramItem.ID === item.ID).length === 0) {
|
|
344
|
+
validationItems.push(new ValidationItem(ResultTypes.ERROR, `item-${item.ID}`, SDKUI_Localizator.WorkflowDiagramConditionMustHaveIncoming, ['diagramItem']));
|
|
345
|
+
}
|
|
346
|
+
break;
|
|
347
|
+
case DiagramItemTypes.Approval:
|
|
348
|
+
case DiagramItemTypes.ExecTask:
|
|
349
|
+
case DiagramItemTypes.DataEntry:
|
|
350
|
+
if (wf.Connections.filter(c => c.Source.ParentDiagramItem.ID === item.ID).length !== 2) {
|
|
351
|
+
validationItems.push(new ValidationItem(ResultTypes.WARNING, `item-${item.ID}`, SDKUI_Localizator.WorkflowDiagramElementShouldHaveTwoOutgoing.replace('{0}', item.ItemName), ['diagramItem']));
|
|
352
|
+
}
|
|
353
|
+
if (wf.Connections.filter(c => c.Sink.ParentDiagramItem.ID === item.ID).length === 0) {
|
|
354
|
+
validationItems.push(new ValidationItem(ResultTypes.WARNING, `item-${item.ID}`, SDKUI_Localizator.WorkflowDiagramElementShouldHaveIncoming.replace('{0}', item.ItemName), ['diagramItem']));
|
|
355
|
+
}
|
|
356
|
+
break;
|
|
357
|
+
case DiagramItemTypes.Notification:
|
|
358
|
+
if (wf.Connections.filter(c => c.Source.ParentDiagramItem.ID === item.ID).length === 0) {
|
|
359
|
+
validationItems.push(new ValidationItem(ResultTypes.WARNING, `item-${item.ID}`, `L'elemento '${item.ItemName}' dovrebbe avere almeno una connessione in uscita.`, ['diagramItem']));
|
|
360
|
+
}
|
|
361
|
+
if (wf.Connections.filter(c => c.Sink.ParentDiagramItem.ID === item.ID).length === 0) {
|
|
362
|
+
validationItems.push(new ValidationItem(ResultTypes.WARNING, `item-${item.ID}`, `L'elemento '${item.ItemName}' deve avere almeno una connessione in ingresso.`, ['diagramItem']));
|
|
363
|
+
}
|
|
364
|
+
break;
|
|
365
|
+
case DiagramItemTypes.UpdateDcmt:
|
|
366
|
+
if (wf.Connections.filter(c => c.Source.ParentDiagramItem.ID === item.ID).length !== 1) {
|
|
367
|
+
validationItems.push(new ValidationItem(ResultTypes.WARNING, `item-${item.ID}`, `L'elemento '${item.ItemName}' dovrebbe avere esattamente una connessione in uscita.`, ['diagramItem']));
|
|
368
|
+
}
|
|
369
|
+
if (wf.Connections.filter(c => c.Sink.ParentDiagramItem.ID === item.ID).length === 0) {
|
|
370
|
+
validationItems.push(new ValidationItem(ResultTypes.WARNING, `item-${item.ID}`, `L'elemento '${item.ItemName}' deve avere almeno una connessione in ingresso.`, ['diagramItem']));
|
|
371
|
+
}
|
|
372
|
+
break;
|
|
373
|
+
case DiagramItemTypes.Status:
|
|
374
|
+
if (wf.Connections.filter(c => c.Source.ParentDiagramItem.ID === item.ID).length !== 1) {
|
|
375
|
+
validationItems.push(new ValidationItem(ResultTypes.WARNING, `item-${item.ID}`, `L'elemento '${item.ItemName}' dovrebbe avere esattamente una connessione in uscita.`, ['diagramItem']));
|
|
376
|
+
}
|
|
377
|
+
if (wf.Connections.filter(c => c.Sink.ParentDiagramItem.ID === item.ID).length === 0) {
|
|
378
|
+
validationItems.push(new ValidationItem(ResultTypes.WARNING, `item-${item.ID}`, `L'elemento '${item.ItemName}' deve avere almeno una connessione in ingresso.`, ['diagramItem']));
|
|
379
|
+
}
|
|
380
|
+
break;
|
|
381
|
+
case DiagramItemTypes.RunApp:
|
|
382
|
+
if (wf.Connections.filter(c => c.Source.ParentDiagramItem.ID === item.ID).length === 0) {
|
|
383
|
+
validationItems.push(new ValidationItem(ResultTypes.WARNING, `item-${item.ID}`, `L'elemento '${item.ItemName}' dovrebbe avere almeno una connessione in uscita.`, ['diagramItem']));
|
|
384
|
+
}
|
|
385
|
+
if (wf.Connections.filter(c => c.Sink.ParentDiagramItem.ID === item.ID).length === 0) {
|
|
386
|
+
validationItems.push(new ValidationItem(ResultTypes.WARNING, `item-${item.ID}`, `L'elemento '${item.ItemName}' deve avere almeno una connessione in ingresso.`, ['diagramItem']));
|
|
387
|
+
}
|
|
388
|
+
break;
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
// Tutte le validazioni sono passate
|
|
392
|
+
return validationItems;
|
|
393
|
+
};
|
|
394
|
+
export const DiagramItemProps = {
|
|
395
|
+
ID: 'ID',
|
|
396
|
+
Left: 'Left',
|
|
397
|
+
Top: 'Top',
|
|
398
|
+
Width: 'Width',
|
|
399
|
+
Height: 'Height',
|
|
400
|
+
Type: 'Type',
|
|
401
|
+
ItemName: 'ItemName',
|
|
402
|
+
ItemName_IT: 'ItemName_IT',
|
|
403
|
+
ItemName_EN: 'ItemName_EN',
|
|
404
|
+
ItemName_FR: 'ItemName_FR',
|
|
405
|
+
ItemName_PT: 'ItemName_PT',
|
|
406
|
+
ItemName_ES: 'ItemName_ES',
|
|
407
|
+
ItemName_DE: 'ItemName_DE',
|
|
408
|
+
Description: 'Description',
|
|
409
|
+
Description_IT: 'Description_IT',
|
|
410
|
+
Description_EN: 'Description_EN',
|
|
411
|
+
Description_FR: 'Description_FR',
|
|
412
|
+
Description_PT: 'Description_PT',
|
|
413
|
+
Description_ES: 'Description_ES',
|
|
414
|
+
Description_DE: 'Description_DE',
|
|
415
|
+
StatusValue: 'StatusValue',
|
|
416
|
+
RegisterPost: 'RegisterPost',
|
|
417
|
+
AllowZeroTos: 'AllowZeroTos',
|
|
418
|
+
Tos: 'Tos',
|
|
419
|
+
SetRule: 'SetRule',
|
|
420
|
+
StartAfterArchive: 'StartAfterArchive',
|
|
421
|
+
StartAfterUpdate: 'StartAfterUpdate',
|
|
422
|
+
StartAfterUpdateMIDs: 'StartAfterUpdateMIDs',
|
|
423
|
+
StartManual: 'StartManual',
|
|
424
|
+
Hist: 'Hist',
|
|
425
|
+
EndWFInstance: 'EndWFInstance',
|
|
426
|
+
QD: 'QD',
|
|
427
|
+
SOD: 'SOD',
|
|
428
|
+
MetadataValues: 'MetadataValues',
|
|
429
|
+
Severity: 'Severity',
|
|
430
|
+
RegAsWfInstPart: 'RegAsWfInstPart',
|
|
431
|
+
FormatCultureID: 'FormatCultureID',
|
|
432
|
+
Tos2: 'Tos2',
|
|
433
|
+
QD2: 'QD2',
|
|
434
|
+
PlatformObjName: 'PlatformObjName',
|
|
435
|
+
PlatformObjDescr: 'PlatformObjDescr',
|
|
436
|
+
Value1asInt: 'Value1asInt',
|
|
437
|
+
Value2asInt: 'Value2asInt',
|
|
438
|
+
Value3asInt: 'Value3asInt',
|
|
439
|
+
Value1asString: 'Value1asString',
|
|
440
|
+
AppType: 'AppType',
|
|
441
|
+
AppName: 'AppName',
|
|
442
|
+
AppArgs: 'AppArgs',
|
|
443
|
+
Trunc: 'Trunc',
|
|
444
|
+
};
|
|
445
|
+
export const wfDiagramItemValidator = async (d) => {
|
|
446
|
+
let vil = [];
|
|
447
|
+
switch (d.Type) {
|
|
448
|
+
case DiagramItemTypes.Start:
|
|
449
|
+
if (d.StartAfterArchive !== 1 && d.StartAfterUpdate !== 1 && d.StartManual !== 1)
|
|
450
|
+
vil.push(new ValidationItem(ResultTypes.ERROR, "*", "Indicare la modalità di avvio dell'istanza di workflow"));
|
|
451
|
+
if (d.StartAfterUpdate === 1 && (d.StartAfterUpdateMIDs === undefined || d.StartAfterUpdateMIDs.length <= 0))
|
|
452
|
+
vil.push(new ValidationItem(ResultTypes.ERROR, DiagramItemProps.StartAfterUpdateMIDs, "Indicare almeno un metadato la cui modifica avvii l'istanza"));
|
|
453
|
+
break;
|
|
454
|
+
case DiagramItemTypes.Approval:
|
|
455
|
+
PlatformObjectValidator.RequiredStringValidator(d.ItemName, DiagramItemProps.ItemName, vil, SDKUI_Localizator.Name);
|
|
456
|
+
PlatformObjectValidator.RequiredStringValidator(d.Description, DiagramItemProps.Description, vil, SDKUI_Localizator.Description);
|
|
457
|
+
PlatformObjectValidator.RequiredStringValidator(d.Tos, DiagramItemProps.Tos, vil, SDKUI_Localizator.Recipients);
|
|
458
|
+
break;
|
|
459
|
+
case DiagramItemTypes.ExecTask:
|
|
460
|
+
PlatformObjectValidator.RequiredStringValidator(d.ItemName, DiagramItemProps.ItemName, vil, SDKUI_Localizator.Name);
|
|
461
|
+
PlatformObjectValidator.RequiredStringValidator(d.Description, DiagramItemProps.Description, vil, SDKUI_Localizator.Description);
|
|
462
|
+
PlatformObjectValidator.RequiredStringValidator(d.Tos, DiagramItemProps.Tos, vil, SDKUI_Localizator.Recipients);
|
|
463
|
+
PlatformObjectValidator.RequiredStringValidator(d.AppName, DiagramItemProps.AppName, vil, SDKUI_Localizator.WorkflowAppName);
|
|
464
|
+
PlatformObjectValidator.RequiredStringValidator(d.AppType, DiagramItemProps.AppType, vil, SDKUI_Localizator.WorkflowAppType);
|
|
465
|
+
break;
|
|
466
|
+
case DiagramItemTypes.Notification:
|
|
467
|
+
PlatformObjectValidator.RequiredStringValidator(d.ItemName, DiagramItemProps.ItemName, vil, SDKUI_Localizator.Name);
|
|
468
|
+
PlatformObjectValidator.RequiredStringValidator(d.Tos, DiagramItemProps.Tos, vil, SDKUI_Localizator.Recipients);
|
|
469
|
+
PlatformObjectValidator.RequiredStringValidator(d.Severity, DiagramItemProps.Severity, vil, SDKUI_Localizator.Severity);
|
|
470
|
+
break;
|
|
471
|
+
case DiagramItemTypes.RunApp:
|
|
472
|
+
PlatformObjectValidator.RequiredStringValidator(d.ItemName, DiagramItemProps.ItemName, vil, SDKUI_Localizator.Name);
|
|
473
|
+
PlatformObjectValidator.RequiredStringValidator(d.AppName, DiagramItemProps.AppName, vil, SDKUI_Localizator.WorkflowAppName);
|
|
474
|
+
PlatformObjectValidator.RequiredStringValidator(d.AppType, DiagramItemProps.AppType, vil, SDKUI_Localizator.WorkflowAppType);
|
|
475
|
+
break;
|
|
476
|
+
case DiagramItemTypes.Condition:
|
|
477
|
+
PlatformObjectValidator.RequiredStringValidator(d.ItemName, DiagramItemProps.ItemName, vil, SDKUI_Localizator.Name);
|
|
478
|
+
let qvo = new QueryValidatorOptions();
|
|
479
|
+
qvo.DoSelectValidation = false;
|
|
480
|
+
qvo.DoOrderByValidation = false;
|
|
481
|
+
await PlatformObjectValidator.QueryValidatorAsync(d.QD, vil, qvo);
|
|
482
|
+
if (d.QD?.where === undefined || d.QD.where.length <= 0) {
|
|
483
|
+
vil.push(new ValidationItem(ResultTypes.ERROR, TMPropertyNames.where, "La query della condizione non contiene criteri di selezione", [DiagramItemProps.QD]));
|
|
484
|
+
}
|
|
485
|
+
break;
|
|
486
|
+
}
|
|
487
|
+
return vil;
|
|
488
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { WfDiagram } from './interfaces';
|
|
2
|
+
import { CultureIDs, Severities, WFAppTypes, WorkItemSetRules, WorkItemStatus } from '@topconsultnpm/sdk-ts';
|
|
3
|
+
export declare const getCultureIDsNumber: (cultureID: CultureIDs | undefined) => number;
|
|
4
|
+
export declare const getWorkItemStatusNumber: (status: WorkItemStatus | undefined) => number;
|
|
5
|
+
export declare const getSeveritiesNumber: (severity: Severities | undefined) => number;
|
|
6
|
+
export declare const getWorkItemSetRulesNumber: (setRule: WorkItemSetRules | undefined) => number;
|
|
7
|
+
export declare const getWFAppTypesNumber: (appType: WFAppTypes | undefined) => number;
|
|
8
|
+
export declare const mapCultureIDs: (cultureIDValue: number) => CultureIDs;
|
|
9
|
+
export declare const parseWfDiagramXml: (xmlString: string) => WfDiagram;
|
|
10
|
+
export declare const serializeWfDiagramToXml: (wfDiagram: WfDiagram | null) => Promise<string>;
|