@topconsultnpm/sdkui-react 6.17.0-test10
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 +155 -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 +1498 -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 +392 -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 +133 -0
- package/lib/components/features/tasks/TMTasksUtils.js +649 -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 +566 -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 +89 -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 +739 -0
- package/lib/helper/SDKUI_Localizator.js +7298 -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 +53 -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 +664 -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,733 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
3
|
+
import FileManager, { Column, Details, ItemView, Permissions, Notifications, ContextMenu, Toolbar, Item } from 'devextreme-react/file-manager';
|
|
4
|
+
import { FileDescriptor, FileFormats, FileTransferModes, SDK_Localizator, SDK_Globals } from '@topconsultnpm/sdk-ts';
|
|
5
|
+
import CustomFileSystemProvider from 'devextreme/file_management/custom_provider';
|
|
6
|
+
import FileSystemError from "devextreme/file_management/error";
|
|
7
|
+
import Button from "devextreme/ui/button";
|
|
8
|
+
import { alert, confirm } from "devextreme/ui/dialog";
|
|
9
|
+
import { loadMessages } from 'devextreme/localization';
|
|
10
|
+
import { Globalization, IconAll, IconCloud, IconFolder, IconFolderForCSS, IconSelected, SDKUI_Localizator, svgToString } from '../../helper';
|
|
11
|
+
import { TMExceptionBoxManager } from './TMPopUp';
|
|
12
|
+
import ShowAlert from './TMAlert';
|
|
13
|
+
import { TMLayoutWaitingContainer } from './TMWaitPanel';
|
|
14
|
+
import TMCounterContainer, { CounterItemKey } from './TMCounterContainer';
|
|
15
|
+
import { IconPdf, IconTxt, IconXls, IconDocx, IconImage, IconZip, IconXml, IconMp4, IconEmail, IconPpt, IconSigned, IconExe, IconHtml, IconDwg, IconDicom, IconSlddrw } from '../../assets/thumbnails';
|
|
16
|
+
import { TMColors } from '../../utils/theme';
|
|
17
|
+
import styled from 'styled-components';
|
|
18
|
+
import { renderToStaticMarkup } from 'react-dom/server';
|
|
19
|
+
export class TMFileSystemItem {
|
|
20
|
+
constructor() {
|
|
21
|
+
this.name = "";
|
|
22
|
+
this.thumbnail = "";
|
|
23
|
+
this.isDirectory = false;
|
|
24
|
+
this.size = 0;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
let abortController = new AbortController();
|
|
28
|
+
const svgString = encodeURIComponent(renderToStaticMarkup(_jsx(IconFolderForCSS, { fill: "#9fc6e7" })));
|
|
29
|
+
const svgDataUrl = `data:image/svg+xml,${svgString}`;
|
|
30
|
+
const StyledFileManagerWrapper = styled.div `
|
|
31
|
+
.dx-filemanager .dx-treeview-item .dx-icon-folder {
|
|
32
|
+
display: none !important;
|
|
33
|
+
}
|
|
34
|
+
.dx-filemanager .dx-treeview-item .dx-treeview-item-content {
|
|
35
|
+
position: relative !important;
|
|
36
|
+
padding-left: 26px !important;
|
|
37
|
+
min-height: 22px !important;
|
|
38
|
+
}
|
|
39
|
+
.dx-filemanager .dx-treeview-item .dx-treeview-item-content::before {
|
|
40
|
+
content: '';
|
|
41
|
+
position: absolute;
|
|
42
|
+
left: 0;
|
|
43
|
+
top: 60%;
|
|
44
|
+
width: 20px;
|
|
45
|
+
height: 20px;
|
|
46
|
+
transform: translateY(-50%);
|
|
47
|
+
background-image: url("${svgDataUrl}");
|
|
48
|
+
background-size: contain;
|
|
49
|
+
background-repeat: no-repeat;
|
|
50
|
+
display: inline-block;
|
|
51
|
+
z-index: 1;
|
|
52
|
+
}
|
|
53
|
+
`;
|
|
54
|
+
const TMAreaManager = (props = { selectionMode: 'multiple', isPathChooser: false }) => {
|
|
55
|
+
// State to store the instance of CustomFileSystemProvider. It is initialized once and used for managing file system operations.
|
|
56
|
+
const [areaProvider, setAreaProvider] = useState();
|
|
57
|
+
// LEFT PANEL = PARENT DIR | RIGHT PANEL = File Sytem Item
|
|
58
|
+
// State to maintain the selected parent dir (Support area - left panel)
|
|
59
|
+
const [parentDir, setParentDir] = useState(null);
|
|
60
|
+
// State to maintain the selected parent path (Support area - left panel)
|
|
61
|
+
const [currentRoute, setCurrentRoute] = useState('');
|
|
62
|
+
// State to maintain the Area Descriptor Array (Support area - left panel)
|
|
63
|
+
const [areas, setAreas] = useState([]);
|
|
64
|
+
// State to maintain the Area Descriptor Name Set (Support area - left panel)
|
|
65
|
+
const [areasRoots, setAreasRoots] = useState(new Set());
|
|
66
|
+
// State to store the file system items of the current directory's parent
|
|
67
|
+
const [parentDirectoryFileSystemItems, setParentDirectoryFileSystemItems] = useState([]);
|
|
68
|
+
// State to maintain the selected area file (File System Item - right panel)
|
|
69
|
+
const [areaFile, setAreaFile] = useState('');
|
|
70
|
+
// State to maintain the selected area folder (File System Item - right panel)
|
|
71
|
+
const [areaFolder, setAreaFolder] = useState('');
|
|
72
|
+
// State to maintain the focused/clicked file system item (File System Item - right panel)
|
|
73
|
+
const [focusedFileSystemItem, setFocusedFileSystemItem] = useState(undefined);
|
|
74
|
+
// State to maintain the number of selected items)
|
|
75
|
+
const [selectedItemsCount, setSelectedItemsCount] = useState(0);
|
|
76
|
+
// State to maintain the counter values (total item into selected support area and selected items)
|
|
77
|
+
const [counterValues, setCounterValues] = useState(new Map());
|
|
78
|
+
// State to maintain the selection mode (File System Item - right panel)
|
|
79
|
+
const [selectionMode, setSelectionMode] = useState('single');
|
|
80
|
+
/* State to manage the Wait Panel */
|
|
81
|
+
const [showWaitPanel, setShowWaitPanel] = useState(false);
|
|
82
|
+
const [waitPanelTitle, setWaitPanelTitle] = useState('');
|
|
83
|
+
const [showPrimary, setShowPrimary] = useState(false);
|
|
84
|
+
const [waitPanelTextPrimary, setWaitPanelTextPrimary] = useState('');
|
|
85
|
+
const [waitPanelValuePrimary, setWaitPanelValuePrimary] = useState(0);
|
|
86
|
+
const [waitPanelMaxValuePrimary, setWaitPanelMaxValuePrimary] = useState(0);
|
|
87
|
+
const [showSecondary, setShowSecondary] = useState(false);
|
|
88
|
+
const [waitPanelTextSecondary, setWaitPanelTextSecondary] = useState('');
|
|
89
|
+
const [waitPanelValueSecondary, setWaitPanelValueSecondary] = useState(0);
|
|
90
|
+
const [waitPanelMaxValueSecondary, setWaitPanelMaxValueSecondary] = useState(0);
|
|
91
|
+
// Timer ID to store reference for any scheduled operation
|
|
92
|
+
let timerId = null;
|
|
93
|
+
// Prefix for area folder names
|
|
94
|
+
const AreaFolderNamePrefix = "AID_";
|
|
95
|
+
// Prefix for area paths, indicating a specific file system location
|
|
96
|
+
const AreaPathPrefix = "tmarea:\\\\";
|
|
97
|
+
// Arrays to store resolve functions for existing and non-existing files
|
|
98
|
+
let resolvesForExistingFiles = [];
|
|
99
|
+
let resolvesForNonExistingFiles = [];
|
|
100
|
+
// Promise to store the directory content for a destination folder
|
|
101
|
+
let destinationDirectoryContentPromise = null;
|
|
102
|
+
// Reference to the file manager component
|
|
103
|
+
const fileManagerRef = useRef(null);
|
|
104
|
+
// Cache for uploaded file IDs, mapping file paths to their corresponding IDs
|
|
105
|
+
let _cacheUploadFileId = new Map();
|
|
106
|
+
useEffect(() => {
|
|
107
|
+
const defaultCounterItems = new Map([
|
|
108
|
+
[
|
|
109
|
+
String(SDKUI_Localizator.AllItems),
|
|
110
|
+
{
|
|
111
|
+
key: String(SDK_Localizator.Areas),
|
|
112
|
+
show: true,
|
|
113
|
+
caption: String(SDK_Localizator.Areas),
|
|
114
|
+
value: areasRoots.size,
|
|
115
|
+
icon: _jsx(IconCloud, {}),
|
|
116
|
+
order: 0
|
|
117
|
+
}
|
|
118
|
+
],
|
|
119
|
+
[
|
|
120
|
+
String(SDKUI_Localizator.All),
|
|
121
|
+
{
|
|
122
|
+
key: String(SDKUI_Localizator.AllFilesAndFoldersInSupportArea),
|
|
123
|
+
show: true,
|
|
124
|
+
caption: String(SDKUI_Localizator.AllFilesAndFoldersInSupportArea),
|
|
125
|
+
value: focusedFileSystemItem?.name === '' ? 0 : parentDirectoryFileSystemItems.length,
|
|
126
|
+
icon: _jsx(IconAll, {}),
|
|
127
|
+
order: 0
|
|
128
|
+
}
|
|
129
|
+
],
|
|
130
|
+
[
|
|
131
|
+
String(CounterItemKey.selectedItems),
|
|
132
|
+
{
|
|
133
|
+
key: String(CounterItemKey.selectedItems),
|
|
134
|
+
show: true,
|
|
135
|
+
caption: String(SDKUI_Localizator.SelectedItems),
|
|
136
|
+
value: selectedItemsCount,
|
|
137
|
+
icon: _jsx(IconSelected, {}),
|
|
138
|
+
order: 1
|
|
139
|
+
}
|
|
140
|
+
]
|
|
141
|
+
]);
|
|
142
|
+
setCounterValues(defaultCounterItems);
|
|
143
|
+
}, [areasRoots, focusedFileSystemItem, parentDirectoryFileSystemItems, selectedItemsCount]);
|
|
144
|
+
useEffect(() => {
|
|
145
|
+
// If areaProvider is already set, exit early to prevent reinitialization
|
|
146
|
+
if (areaProvider)
|
|
147
|
+
return;
|
|
148
|
+
// Initialize a new instance of CustomFileSystemProvider with necessary methods
|
|
149
|
+
setAreaProvider(new CustomFileSystemProvider({
|
|
150
|
+
copyItem, // Function to copy an item
|
|
151
|
+
getItems, // Function to retrieve items
|
|
152
|
+
moveItem, // Function to move an item
|
|
153
|
+
renameItem, // Function to rename an item
|
|
154
|
+
deleteItem, // Function to delete an item
|
|
155
|
+
downloadItems, // Function to download items
|
|
156
|
+
uploadFileChunk, // Function to upload file chunks
|
|
157
|
+
createDirectory // Function to create a directory
|
|
158
|
+
}));
|
|
159
|
+
// Load localization messages for different languages
|
|
160
|
+
loadMessages({
|
|
161
|
+
"it": {
|
|
162
|
+
"dxFileManager-dialogDeleteItemSingleItemConfirmation": "Sei sicuro di voler eliminare {0}?",
|
|
163
|
+
"dxFileManager-dialogDeleteItemMultipleItemsConfirmation": "Sei sicuro di voler eliminare {0} elementi?",
|
|
164
|
+
"dxFileManager-dialogDirectoryChooserMoveButtonText": "Sposta"
|
|
165
|
+
},
|
|
166
|
+
"fr": {
|
|
167
|
+
"dxFileManager-dialogDeleteItemSingleItemConfirmation": "Êtes-vous sûr de vouloir supprimer {0}?",
|
|
168
|
+
"dxFileManager-dialogDeleteItemMultipleItemsConfirmation": "Êtes-vous sûr de vouloir supprimer {0} éléments?",
|
|
169
|
+
"dxFileManager-dialogDirectoryChooserMoveButtonText": "Déplacer"
|
|
170
|
+
},
|
|
171
|
+
"pt": {
|
|
172
|
+
"dxFileManager-dialogDeleteItemSingleItemConfirmation": "Tem a certeza de que pretende eliminar {0}?",
|
|
173
|
+
"dxFileManager-dialogDeleteItemMultipleItemsConfirmation": "Tem a certeza de que pretende eliminar {0} itens?",
|
|
174
|
+
"dxFileManager-dialogDirectoryChooserMoveButtonText": "Mover"
|
|
175
|
+
},
|
|
176
|
+
"de": {
|
|
177
|
+
"dxFileManager-dialogDeleteItemSingleItemConfirmation": "Möchten Sie {0} wirklich löschen?",
|
|
178
|
+
"dxFileManager-dialogDeleteItemMultipleItemsConfirmation": "Möchten Sie {0} Elemente wirklich löschen?",
|
|
179
|
+
"dxFileManager-dialogDirectoryChooserMoveButtonText": "Verschieben"
|
|
180
|
+
},
|
|
181
|
+
"es": {
|
|
182
|
+
"dxFileManager-dialogDeleteItemSingleItemConfirmation": "¿Estás seguro de que quieres eliminar {0}?",
|
|
183
|
+
"dxFileManager-dialogDeleteItemMultipleItemsConfirmation": "¿Estás seguro de que quieres eliminar {0} artículos?",
|
|
184
|
+
"dxFileManager-dialogDirectoryChooserMoveButtonText": "Mover"
|
|
185
|
+
},
|
|
186
|
+
"en": {
|
|
187
|
+
"dxFileManager-dialogDeleteItemSingleItemConfirmation": "Are you sure you want to delete {0}?",
|
|
188
|
+
"dxFileManager-dialogDeleteItemMultipleItemsConfirmation": "Are you sure you want to delete {0} items?",
|
|
189
|
+
"dxFileManager-dialogDirectoryChooserMoveButtonText": "Move"
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
}, []); // Empty dependency array ensures this effect runs only once when the component mounts
|
|
193
|
+
useEffect(() => {
|
|
194
|
+
const btnNewDir = document.querySelector(".dx-filemanager-wrapper [aria-label='Nuova cartella']");
|
|
195
|
+
const instanceBtnNewDir = Button.getInstance(btnNewDir);
|
|
196
|
+
const btnSearchFile = document.querySelector(".dx-filemanager-wrapper [aria-label='Carica i files']");
|
|
197
|
+
const instanceBtnSearchFile = Button.getInstance(btnSearchFile);
|
|
198
|
+
if (currentRoute === '') {
|
|
199
|
+
instanceBtnNewDir?.option("disabled", true);
|
|
200
|
+
instanceBtnSearchFile?.option("disabled", true);
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
instanceBtnNewDir?.option("disabled", false);
|
|
204
|
+
instanceBtnSearchFile?.option("disabled", false);
|
|
205
|
+
}
|
|
206
|
+
}, [parentDir, currentRoute]);
|
|
207
|
+
useEffect(() => {
|
|
208
|
+
if (!props.initialPath?.startsWith(AreaPathPrefix))
|
|
209
|
+
return;
|
|
210
|
+
//Rimuovere i prefissi
|
|
211
|
+
let curFld = props.initialPath?.replace(AreaPathPrefix, '').replace(AreaFolderNamePrefix, '');
|
|
212
|
+
const keys = curFld?.split("\\");
|
|
213
|
+
if (!keys || keys.length === 0)
|
|
214
|
+
return;
|
|
215
|
+
const aid = keys[0];
|
|
216
|
+
const ad = areas.find(ad => ad.id?.toString() == aid);
|
|
217
|
+
//sostituire ID Area con il nome
|
|
218
|
+
curFld = curFld?.replace(keys[0], ad?.name ?? '').replaceAll("\\", "/");
|
|
219
|
+
if (!props.showOnlyFolders) {
|
|
220
|
+
fileManagerRef.current?.instance().option("focusedItemKey", curFld);
|
|
221
|
+
// Se lavoriamo con i files impostiamo la folder parent
|
|
222
|
+
curFld = curFld.replace(keys[keys.length - 1], "");
|
|
223
|
+
}
|
|
224
|
+
fileManagerRef.current?.instance().option("currentPath", curFld);
|
|
225
|
+
}, [areas]);
|
|
226
|
+
useEffect(() => {
|
|
227
|
+
props.onFolderChanged?.(areaFolder);
|
|
228
|
+
}, [areaFolder]);
|
|
229
|
+
useEffect(() => {
|
|
230
|
+
props.onFileChanged?.(areaFile);
|
|
231
|
+
}, [areaFile]);
|
|
232
|
+
useEffect(() => {
|
|
233
|
+
setSelectionMode('multiple');
|
|
234
|
+
fileManagerRef.current?.instance().refresh();
|
|
235
|
+
}, [props.areaStatus]);
|
|
236
|
+
const checkTargetDirectory = (operationType, e, data, resolve) => {
|
|
237
|
+
const fileExists = !!data.find((x) => x.name === (operationType === 'copyOrMove' ? e.item.name : e.fileData.name));
|
|
238
|
+
if (fileExists) {
|
|
239
|
+
resolvesForExistingFiles.push(resolve);
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
resolvesForNonExistingFiles.push(resolve);
|
|
243
|
+
}
|
|
244
|
+
if (!timerId) {
|
|
245
|
+
timerId = setTimeout(() => {
|
|
246
|
+
const showDialog = resolvesForExistingFiles.length > 0;
|
|
247
|
+
if (showDialog) {
|
|
248
|
+
let msg = '';
|
|
249
|
+
if (resolvesForExistingFiles.length === 1) {
|
|
250
|
+
msg = SDKUI_Localizator.FileManager_QuestionAlreadyExistsFile.replaceParams(operationType === 'copyOrMove' ? e.item.name : e.fileData.name);
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
msg = SDKUI_Localizator.FileManager_QuestionAlreadyExistsFiles.replaceParams(resolvesForExistingFiles.length.toString());
|
|
254
|
+
}
|
|
255
|
+
const result = confirm(msg, SDKUI_Localizator.Attention);
|
|
256
|
+
result.then((dialogResult) => {
|
|
257
|
+
resolvesForNonExistingFiles.forEach((res) => {
|
|
258
|
+
res({
|
|
259
|
+
cancel: false,
|
|
260
|
+
});
|
|
261
|
+
});
|
|
262
|
+
if (dialogResult) {
|
|
263
|
+
resolvesForExistingFiles.forEach((res) => {
|
|
264
|
+
res({
|
|
265
|
+
cancel: false,
|
|
266
|
+
});
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
resolvesForExistingFiles.forEach((res) => {
|
|
271
|
+
res({
|
|
272
|
+
cancel: fileExists,
|
|
273
|
+
errorCode: fileExists ? 1 : 0,
|
|
274
|
+
errorText: fileExists ? SDKUI_Localizator.OverwritingCanceled : "",
|
|
275
|
+
});
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
clearTempData();
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
else {
|
|
282
|
+
resolvesForNonExistingFiles.forEach((res) => {
|
|
283
|
+
res({
|
|
284
|
+
cancel: false,
|
|
285
|
+
});
|
|
286
|
+
});
|
|
287
|
+
clearTempData();
|
|
288
|
+
}
|
|
289
|
+
}, 200);
|
|
290
|
+
}
|
|
291
|
+
};
|
|
292
|
+
const onItemCopying = (e) => {
|
|
293
|
+
new Promise((resolve) => {
|
|
294
|
+
const provider = e.component.option("fileSystemProvider");
|
|
295
|
+
if (!destinationDirectoryContentPromise) {
|
|
296
|
+
destinationDirectoryContentPromise = new Promise((res) => {
|
|
297
|
+
provider.getItems(e.destinationDirectory).then((data) => {
|
|
298
|
+
res(data);
|
|
299
|
+
checkTargetDirectory('copyOrMove', e, data, resolve);
|
|
300
|
+
});
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
else {
|
|
304
|
+
destinationDirectoryContentPromise.then((data) => {
|
|
305
|
+
checkTargetDirectory('copyOrMove', e, data, resolve);
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
});
|
|
309
|
+
};
|
|
310
|
+
const onFileUploading = (e) => {
|
|
311
|
+
new Promise((resolve) => {
|
|
312
|
+
const provider = e.component.option("fileSystemProvider");
|
|
313
|
+
if (!destinationDirectoryContentPromise) {
|
|
314
|
+
destinationDirectoryContentPromise = new Promise((res) => {
|
|
315
|
+
provider.getItems(e.destinationDirectory).then((data) => {
|
|
316
|
+
res(data);
|
|
317
|
+
checkTargetDirectory('upload', e, data, resolve);
|
|
318
|
+
});
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
destinationDirectoryContentPromise.then((data) => {
|
|
323
|
+
checkTargetDirectory('upload', e, data, resolve);
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
});
|
|
327
|
+
};
|
|
328
|
+
const clearTempData = () => {
|
|
329
|
+
timerId = null;
|
|
330
|
+
resolvesForExistingFiles = [];
|
|
331
|
+
resolvesForNonExistingFiles = [];
|
|
332
|
+
destinationDirectoryContentPromise = null;
|
|
333
|
+
};
|
|
334
|
+
const getAreaPath = (aid, subFolder) => {
|
|
335
|
+
if (aid <= 0)
|
|
336
|
+
return '';
|
|
337
|
+
if (subFolder === undefined)
|
|
338
|
+
subFolder = '';
|
|
339
|
+
let areaPath = `${AreaPathPrefix}${AreaFolderNamePrefix}${aid}\\${subFolder.replaceAll("/", "\\")}`;
|
|
340
|
+
if (props.showOnlyFolders && !areaPath.toLowerCase().endsWith("\\"))
|
|
341
|
+
areaPath += "\\";
|
|
342
|
+
return areaPath;
|
|
343
|
+
};
|
|
344
|
+
const blobToBase64Async = async (file) => {
|
|
345
|
+
return new Promise((resolve, reject) => {
|
|
346
|
+
const fileReader = new FileReader();
|
|
347
|
+
fileReader.onerror = () => reject(fileReader.error);
|
|
348
|
+
fileReader.onloadend = () => {
|
|
349
|
+
const dataUrl = fileReader.result;
|
|
350
|
+
// remove "data:mime/type;base64," prefix from data url
|
|
351
|
+
const base64 = dataUrl.substring(dataUrl.indexOf(',') + 1);
|
|
352
|
+
resolve(base64);
|
|
353
|
+
};
|
|
354
|
+
fileReader.readAsDataURL(file);
|
|
355
|
+
});
|
|
356
|
+
};
|
|
357
|
+
const createDirectory = async (parentDirectory, name) => {
|
|
358
|
+
if (parentDirectory.path === '' && parentDirectory.name === '') {
|
|
359
|
+
throw new FileSystemError(5, parentDirectory, SDKUI_Localizator.SelectSupportAreaMessage);
|
|
360
|
+
}
|
|
361
|
+
const ad = parentDirectory.dataItem.dataItem;
|
|
362
|
+
const aid = ad.id;
|
|
363
|
+
const subFolder = parentDirectory.path === ad.name ? '' : parentDirectory.path.replace(ad.name + '/', '');
|
|
364
|
+
const tms = props.tmSession ?? SDK_Globals.tmSession;
|
|
365
|
+
await tms?.NewAreaEngine().AddFolderAsync(aid, subFolder, name);
|
|
366
|
+
};
|
|
367
|
+
const copyItem = async (item, destinationDirectory) => {
|
|
368
|
+
copyOrMoveItem(item, destinationDirectory, false);
|
|
369
|
+
};
|
|
370
|
+
const moveItem = async (item, destinationDirectory) => {
|
|
371
|
+
copyOrMoveItem(item, destinationDirectory, true);
|
|
372
|
+
};
|
|
373
|
+
const copyOrMoveItem = async (itemSource, destinationDirectory, deleteSource) => {
|
|
374
|
+
const adSource = itemSource.dataItem.dataItem;
|
|
375
|
+
const aidSource = adSource.id;
|
|
376
|
+
let subFolderSource = '';
|
|
377
|
+
const adDest = destinationDirectory.dataItem.dataItem;
|
|
378
|
+
const aidDest = adDest.id;
|
|
379
|
+
const subFolderDest = destinationDirectory.path === adDest.name ? '' : destinationDirectory.path.replace(adDest.name + '/', '');
|
|
380
|
+
const tms = props.tmSession ?? SDK_Globals.tmSession;
|
|
381
|
+
if (itemSource.isDirectory) {
|
|
382
|
+
subFolderSource = itemSource.path === adSource.name ? '' : itemSource.path.replace(adSource.name + '/', '');
|
|
383
|
+
await tms?.NewAreaEngine().CopyFolderAsync(aidSource, subFolderSource, aidDest, subFolderDest, deleteSource, true).catch((err) => { throw new FileSystemError(5, itemSource, err.message ?? SDKUI_Localizator.Error); });
|
|
384
|
+
}
|
|
385
|
+
else {
|
|
386
|
+
subFolderSource = itemSource.parentPath === adSource.name ? '' : itemSource.parentPath.replace(adSource.name + '/', '');
|
|
387
|
+
await tms?.NewAreaEngine().CopyFilesAsync(aidSource, subFolderSource, [itemSource.name], aidDest, subFolderDest, deleteSource, true).catch((err) => { throw new FileSystemError(5, itemSource, err.message ?? SDKUI_Localizator.Error); });
|
|
388
|
+
}
|
|
389
|
+
};
|
|
390
|
+
const deleteItem = async (item) => {
|
|
391
|
+
const ad = item.dataItem.dataItem;
|
|
392
|
+
const aid = ad.id;
|
|
393
|
+
const subFolder = item.parentPath === ad.name ? '' : item.parentPath.replace(ad.name + '/', '');
|
|
394
|
+
const tms = props.tmSession ?? SDK_Globals.tmSession;
|
|
395
|
+
if (item.isDirectory) {
|
|
396
|
+
await tms?.NewAreaEngine().DeleteFoldersAsync(aid, subFolder, [item.name]).catch((err) => { throw new FileSystemError(5, item, err.message ?? SDKUI_Localizator.GetFolderDeletionErrorMessage); });
|
|
397
|
+
}
|
|
398
|
+
else {
|
|
399
|
+
await tms?.NewAreaEngine().DeleteFilesAsync(aid, subFolder, [item.name]).catch((err) => { throw new FileSystemError(5, item, err.message ?? SDKUI_Localizator.GetFolderDeletionErrorMessage); });
|
|
400
|
+
}
|
|
401
|
+
};
|
|
402
|
+
const downloadItems = async (items) => {
|
|
403
|
+
try {
|
|
404
|
+
setShowWaitPanel(true);
|
|
405
|
+
setShowPrimary(items.length > 1);
|
|
406
|
+
setShowSecondary(true);
|
|
407
|
+
setWaitPanelTitle("Download");
|
|
408
|
+
abortController = new AbortController();
|
|
409
|
+
let i = 0;
|
|
410
|
+
setWaitPanelMaxValuePrimary(items.length);
|
|
411
|
+
let firstBlock = true;
|
|
412
|
+
let maxFileSize = 0;
|
|
413
|
+
for (const item of items) {
|
|
414
|
+
if (item.isDirectory)
|
|
415
|
+
continue;
|
|
416
|
+
if (abortController.signal.aborted) {
|
|
417
|
+
ShowAlert({ message: 'Operazione interrotta', mode: 'warning', title: "Download files", duration: 3000 });
|
|
418
|
+
return;
|
|
419
|
+
}
|
|
420
|
+
setWaitPanelTextPrimary(`Download ${item.name}`);
|
|
421
|
+
const ad = item.dataItem.dataItem;
|
|
422
|
+
const aid = ad?.id;
|
|
423
|
+
const subFolder = item.parentPath === ad.name ? '' : item.parentPath.replace(ad.name + '/', '');
|
|
424
|
+
const tms = props.tmSession ?? SDK_Globals.tmSession;
|
|
425
|
+
const file = await tms?.NewAreaEngine().RetrieveFileAsync(aid, subFolder, item.name, FileFormats.None, abortController.signal, (pd) => {
|
|
426
|
+
if (firstBlock) {
|
|
427
|
+
maxFileSize = pd.ProgressBarMaximum ?? 0;
|
|
428
|
+
setWaitPanelMaxValueSecondary(maxFileSize);
|
|
429
|
+
firstBlock = false;
|
|
430
|
+
}
|
|
431
|
+
setWaitPanelValueSecondary(pd.ProgressBarValue);
|
|
432
|
+
setWaitPanelTextSecondary(`Downloading... ${Globalization.getNumberDisplayValue(pd.ProgressBarValue, true)} / ${Globalization.getNumberDisplayValue(maxFileSize, true)}`);
|
|
433
|
+
if (pd.ProgressBarValue === pd.ProgressBarMaximum) {
|
|
434
|
+
setWaitPanelMaxValueSecondary(0);
|
|
435
|
+
setWaitPanelValueSecondary(0);
|
|
436
|
+
setWaitPanelTextSecondary('');
|
|
437
|
+
firstBlock = true;
|
|
438
|
+
}
|
|
439
|
+
});
|
|
440
|
+
setWaitPanelValuePrimary(i + 1);
|
|
441
|
+
const fileURL = window.URL.createObjectURL(file);
|
|
442
|
+
const alink2 = document.createElement('a');
|
|
443
|
+
alink2.href = fileURL;
|
|
444
|
+
alink2.download = file?.name;
|
|
445
|
+
alink2.target = "_blank";
|
|
446
|
+
alink2.rel = "noreferrer";
|
|
447
|
+
alink2.click();
|
|
448
|
+
i++;
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
catch (ex) {
|
|
452
|
+
const err = ex;
|
|
453
|
+
if (err.name === 'CanceledError') {
|
|
454
|
+
ShowAlert({ message: err.message, mode: 'warning', duration: 3000, title: 'Abort' });
|
|
455
|
+
}
|
|
456
|
+
else
|
|
457
|
+
TMExceptionBoxManager.show({ exception: ex });
|
|
458
|
+
}
|
|
459
|
+
finally {
|
|
460
|
+
setWaitPanelTextPrimary('');
|
|
461
|
+
setWaitPanelMaxValuePrimary(0);
|
|
462
|
+
setWaitPanelValuePrimary(0);
|
|
463
|
+
setWaitPanelTextSecondary('');
|
|
464
|
+
setWaitPanelMaxValueSecondary(0);
|
|
465
|
+
setWaitPanelValueSecondary(0);
|
|
466
|
+
setShowWaitPanel(false);
|
|
467
|
+
}
|
|
468
|
+
};
|
|
469
|
+
// Asynchronous function to retrieve the items in a given directory (parentDirectory)
|
|
470
|
+
const getItems = async (parentDirectory) => {
|
|
471
|
+
// Set the parent directory to the current state
|
|
472
|
+
setParentDir(parentDirectory);
|
|
473
|
+
// Initialize an empty array to hold the file system items
|
|
474
|
+
const fileSystem = [];
|
|
475
|
+
// Retrieve the current session or use the global session if not available
|
|
476
|
+
const tms = props.tmSession ?? SDK_Globals.tmSession;
|
|
477
|
+
// Check if the parent directory is the root (empty name)
|
|
478
|
+
if (parentDirectory.name === "") {
|
|
479
|
+
// Retrieve all area descriptors asynchronously
|
|
480
|
+
const adlist = await tms?.NewAreaEngine().RetrieveAllAsync().catch((err) => TMExceptionBoxManager.show({ exception: err }));
|
|
481
|
+
const areasRootsName = new Set();
|
|
482
|
+
// Iterate over each area descriptor and create corresponding file system items
|
|
483
|
+
for (const ad of adlist) {
|
|
484
|
+
// Localize the name of the area
|
|
485
|
+
ad.name = ad?.nameLoc;
|
|
486
|
+
if (ad.name)
|
|
487
|
+
areasRootsName.add(ad.name);
|
|
488
|
+
// Create a new file system item for each area descriptor
|
|
489
|
+
const fsi = new TMFileSystemItem();
|
|
490
|
+
fsi.name = ad.name ?? ''; // Use the localized name or an empty string if undefined
|
|
491
|
+
fsi.dataItem = ad; // Store the area descriptor as data
|
|
492
|
+
fsi.dateModified = ad.lastUpdateTime; // Store the last update time
|
|
493
|
+
fsi.isDirectory = true; // Since this represents a directory, mark it as a directory
|
|
494
|
+
fileSystem.push(fsi); // Add the file system item to the list
|
|
495
|
+
}
|
|
496
|
+
// Set the areas
|
|
497
|
+
setAreas(adlist);
|
|
498
|
+
setAreasRoots(areasRootsName);
|
|
499
|
+
setParentDirectoryFileSystemItems([]);
|
|
500
|
+
}
|
|
501
|
+
else {
|
|
502
|
+
// If the parent directory is not the root, retrieve files within the area
|
|
503
|
+
const ad = parentDirectory.dataItem.dataItem;
|
|
504
|
+
const aid = ad?.id; // Get the area ID
|
|
505
|
+
const path = parentDirectory.pathKeys.length === 1 ? "" : parentDirectory.path; // Determine the path
|
|
506
|
+
// Retrieve all files in the area, based on the path, asynchronously
|
|
507
|
+
const files = await tms?.NewAreaEngine().RetrieveAllFilesAsync(aid, path.replace(ad.name + '/', '')).catch((err) => TMExceptionBoxManager.show({ exception: err }));
|
|
508
|
+
// Iterate over each file descriptor and create corresponding file system items
|
|
509
|
+
files.forEach((file) => {
|
|
510
|
+
const fsi = new TMFileSystemItem();
|
|
511
|
+
fsi.name = file.name ?? ''; // Set the file name, defaulting to an empty string if undefined
|
|
512
|
+
fsi.dataItem = ad; // Store the area descriptor as data
|
|
513
|
+
fsi.dateModified = file.lastUpdateTime; // Store the file's last modified time
|
|
514
|
+
fsi.isDirectory = file.isFld == 1; // Mark as a directory if the 'isFld' field is 1 (directory)
|
|
515
|
+
fsi.size = file.size; // Store the file size
|
|
516
|
+
fileSystem.push(fsi); // Add the file system item to the list
|
|
517
|
+
});
|
|
518
|
+
setParentDirectoryFileSystemItems(fileSystem);
|
|
519
|
+
}
|
|
520
|
+
// Return the constructed list of file system items (directories or files)
|
|
521
|
+
return fileSystem;
|
|
522
|
+
};
|
|
523
|
+
const renameItem = async (item, newName) => {
|
|
524
|
+
const ad = item.dataItem.dataItem;
|
|
525
|
+
const aid = ad.id;
|
|
526
|
+
const msg = `${SDKUI_Localizator.FromTime} "${item.name}" ${SDKUI_Localizator.ToTime} "${newName}"`;
|
|
527
|
+
const tms = props.tmSession ?? SDK_Globals.tmSession;
|
|
528
|
+
if (item.isDirectory) {
|
|
529
|
+
const oldSubFolder = item.path === ad.name ? '' : item.path.replace(ad.name + '/', '');
|
|
530
|
+
const newSubFolder = item.parentPath.replace(ad.name, '') + '/' + newName;
|
|
531
|
+
await tms?.NewAreaEngine().RenameFolderAsync(aid, oldSubFolder, newSubFolder).then(() => ShowAlert({ message: `${msg}`, mode: 'info', title: SDKUI_Localizator.RenameFolder, duration: 3000 })).catch((err) => { throw new FileSystemError(5, item, err.message ?? SDKUI_Localizator.Error); });
|
|
532
|
+
}
|
|
533
|
+
else {
|
|
534
|
+
const subFolder = item.parentPath === ad.name ? '' : item.parentPath.replace(ad.name + '/', '');
|
|
535
|
+
await tms?.NewAreaEngine().RenameFileAsync(aid, subFolder, item.name, newName).then(() => ShowAlert({ message: `${msg}`, mode: 'info', title: SDKUI_Localizator.RenameFile, duration: 3000 })).catch((err) => { throw new FileSystemError(5, item, err.message ?? SDKUI_Localizator.Error); });
|
|
536
|
+
}
|
|
537
|
+
};
|
|
538
|
+
const uploadFileChunk = async (file, uploadInfo, destinationDirectory) => {
|
|
539
|
+
try {
|
|
540
|
+
// Retrieve the current TM session
|
|
541
|
+
const tms = props.tmSession ?? SDK_Globals.tmSession;
|
|
542
|
+
// If there's no session, abort the function
|
|
543
|
+
if (!tms)
|
|
544
|
+
return;
|
|
545
|
+
// Create a new instance of UploadFileEngine, which handles the file upload
|
|
546
|
+
const ufe = tms.NewUploadFileEngine();
|
|
547
|
+
// Generate a unique key based on the file properties (name, size, and last modified date)
|
|
548
|
+
const key = `${file.name}_${file.size}_${file.lastModified}`;
|
|
549
|
+
// Check if an upload file ID already exists in the cache for this file
|
|
550
|
+
let uploadFileId = _cacheUploadFileId.get(key);
|
|
551
|
+
// If it's the first chunk of the file (chunkIndex is 0), start the file upload
|
|
552
|
+
if (uploadInfo.chunkIndex === 0) {
|
|
553
|
+
// Begin uploading the file
|
|
554
|
+
uploadFileId = await ufe.UploadFileBegin(file.name, file.size, true);
|
|
555
|
+
// Store the upload file ID in cache
|
|
556
|
+
_cacheUploadFileId.set(key, uploadFileId);
|
|
557
|
+
}
|
|
558
|
+
// Create an array to store promises for chunk uploads
|
|
559
|
+
const chunkPromises = [];
|
|
560
|
+
// Iterate through the chunks and prepare the upload tasks
|
|
561
|
+
for (let chunkIndex = 0; chunkIndex < uploadInfo.chunkCount; chunkIndex++) {
|
|
562
|
+
const chunkBlob = uploadInfo.chunkIndex === chunkIndex ? uploadInfo.chunkBlob : null;
|
|
563
|
+
if (!chunkBlob)
|
|
564
|
+
continue;
|
|
565
|
+
let fd = new FileDescriptor();
|
|
566
|
+
fd.fileTransferMode = FileTransferModes.Base64;
|
|
567
|
+
fd.base64Content = await blobToBase64Async(chunkBlob);
|
|
568
|
+
// Add the chunk upload promise
|
|
569
|
+
chunkPromises.push(ufe.UploadFileSendChunk(uploadFileId, fd));
|
|
570
|
+
}
|
|
571
|
+
// Wait for all chunks to be uploaded concurrently
|
|
572
|
+
await Promise.all(chunkPromises);
|
|
573
|
+
// If it's the last chunk of the file (chunkIndex is equal to chunkCount - 1), finalize the upload
|
|
574
|
+
if (uploadInfo.chunkIndex === uploadInfo.chunkCount - 1) {
|
|
575
|
+
// Retrieve the destination directory and associated area descriptor (area to upload to)
|
|
576
|
+
const ad = destinationDirectory?.dataItem?.dataItem;
|
|
577
|
+
const aid = ad.id;
|
|
578
|
+
// Determine the subfolder path if it's not the root folder
|
|
579
|
+
const subFolder = destinationDirectory.path === ad.name ? '' : destinationDirectory.path.replace(ad.name + '/', '');
|
|
580
|
+
// Finalize the upload process and add the file to the server
|
|
581
|
+
let fd = new FileDescriptor();
|
|
582
|
+
fd.uploadFileIDContent = uploadFileId;
|
|
583
|
+
fd.fileTransferMode = FileTransferModes.UploadFileID;
|
|
584
|
+
await tms?.NewAreaEngine().AddFileAsync(aid, subFolder, fd, true, abortController?.signal);
|
|
585
|
+
// Remove the upload file ID from cache after the upload is complete
|
|
586
|
+
_cacheUploadFileId.delete(key);
|
|
587
|
+
if (fileManagerRef.current) {
|
|
588
|
+
fileManagerRef.current.instance().refresh();
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
catch (error) {
|
|
593
|
+
// console.error('Error uploading file:', error);
|
|
594
|
+
throw new FileSystemError(5, undefined, error.message ?? SDKUI_Localizator.Error);
|
|
595
|
+
}
|
|
596
|
+
};
|
|
597
|
+
const onCurrentDirectoryChanged = (e) => {
|
|
598
|
+
setCurrentRoute(e.directory.path);
|
|
599
|
+
setFocusedFileSystemItem(e.directory);
|
|
600
|
+
if (e.directory.path === '' && e.directory.name === '')
|
|
601
|
+
return;
|
|
602
|
+
let ad = e.directory.dataItem.dataItem;
|
|
603
|
+
if (!ad)
|
|
604
|
+
return;
|
|
605
|
+
let aid = ad.id;
|
|
606
|
+
let subFolder = e.directory.path.replace(ad.name + '/', '').replace(ad.name, '');
|
|
607
|
+
setAreaFolder(getAreaPath(aid, subFolder));
|
|
608
|
+
e.component.option("fileSystemProvider").getItems(e.directory).then((items) => {
|
|
609
|
+
setParentDirectoryFileSystemItems(items);
|
|
610
|
+
});
|
|
611
|
+
};
|
|
612
|
+
const onSelectionChanged = async (e) => {
|
|
613
|
+
setSelectedItemsCount(e.selectedItems.length);
|
|
614
|
+
};
|
|
615
|
+
const onFocusedItemChanged = (e) => {
|
|
616
|
+
if (!e.item)
|
|
617
|
+
return;
|
|
618
|
+
let ad = e.item.dataItem.dataItem;
|
|
619
|
+
if (!ad)
|
|
620
|
+
return;
|
|
621
|
+
let aid = ad.id;
|
|
622
|
+
let path = e.item.path.replace(ad.name + '/', '');
|
|
623
|
+
if (e.item.isDirectory) {
|
|
624
|
+
setAreaFile('');
|
|
625
|
+
setAreaFolder(getAreaPath(aid, path));
|
|
626
|
+
}
|
|
627
|
+
else {
|
|
628
|
+
setAreaFolder('');
|
|
629
|
+
setAreaFile(getAreaPath(aid, path));
|
|
630
|
+
}
|
|
631
|
+
setFocusedFileSystemItem(e.item);
|
|
632
|
+
};
|
|
633
|
+
const customizeIcon = useCallback((fileSystemItem) => {
|
|
634
|
+
if (fileSystemItem.isDirectory) {
|
|
635
|
+
return svgToString(_jsx(IconFolder, { fontSize: 20, color: TMColors.iconLight }));
|
|
636
|
+
}
|
|
637
|
+
else {
|
|
638
|
+
const fileExtension = fileSystemItem.getFileExtension();
|
|
639
|
+
switch (fileExtension.toLowerCase()) {
|
|
640
|
+
case '.pdf':
|
|
641
|
+
return IconPdf;
|
|
642
|
+
case '.xls':
|
|
643
|
+
case '.xlsx':
|
|
644
|
+
case '.csv':
|
|
645
|
+
return IconXls;
|
|
646
|
+
case '.txt':
|
|
647
|
+
return IconTxt;
|
|
648
|
+
case '.xml':
|
|
649
|
+
return IconXml;
|
|
650
|
+
case '.dwg':
|
|
651
|
+
return IconDwg;
|
|
652
|
+
case '.dcm':
|
|
653
|
+
return IconDicom;
|
|
654
|
+
case '.slddrw':
|
|
655
|
+
return IconSlddrw;
|
|
656
|
+
case '.mp4':
|
|
657
|
+
return IconMp4;
|
|
658
|
+
case '.doc':
|
|
659
|
+
case '.docx':
|
|
660
|
+
case '.dotx':
|
|
661
|
+
case '.rtf':
|
|
662
|
+
return IconDocx;
|
|
663
|
+
case '.ppt':
|
|
664
|
+
case '.pptx':
|
|
665
|
+
return IconPpt;
|
|
666
|
+
case '.msg':
|
|
667
|
+
case '.eml':
|
|
668
|
+
return IconEmail;
|
|
669
|
+
case '.exe':
|
|
670
|
+
return IconExe;
|
|
671
|
+
case '.htm':
|
|
672
|
+
case '.html':
|
|
673
|
+
return IconHtml;
|
|
674
|
+
case '.p7m':
|
|
675
|
+
return IconSigned;
|
|
676
|
+
case '.png':
|
|
677
|
+
case '.jpg':
|
|
678
|
+
case '.jpeg':
|
|
679
|
+
case '.svg':
|
|
680
|
+
case '.tiff':
|
|
681
|
+
case '.tif':
|
|
682
|
+
case '.ico':
|
|
683
|
+
case '.gif':
|
|
684
|
+
case '.webp':
|
|
685
|
+
return IconImage;
|
|
686
|
+
case '.zip':
|
|
687
|
+
case '.rar':
|
|
688
|
+
case '.7z':
|
|
689
|
+
return IconZip;
|
|
690
|
+
default:
|
|
691
|
+
return IconTxt;
|
|
692
|
+
}
|
|
693
|
+
}
|
|
694
|
+
}, []);
|
|
695
|
+
const onSelectedFileOpened = async (e) => {
|
|
696
|
+
if (props.isPathChooser)
|
|
697
|
+
props.areaChoose();
|
|
698
|
+
else
|
|
699
|
+
downloadItems([e.file]);
|
|
700
|
+
};
|
|
701
|
+
const onContextMenuItemClick = async (e) => {
|
|
702
|
+
if (e.viewArea === 'navPane' && e.itemData === 'refresh') {
|
|
703
|
+
const tms = props.tmSession ?? SDK_Globals.tmSession;
|
|
704
|
+
await tms?.NewAreaEngine().RetrieveAllAsync(true);
|
|
705
|
+
}
|
|
706
|
+
};
|
|
707
|
+
const getSubFolders = async (dir) => {
|
|
708
|
+
const ad = dir?.dataItem?.dataItem;
|
|
709
|
+
const aid = ad?.id;
|
|
710
|
+
const tms = props.tmSession ?? SDK_Globals.tmSession;
|
|
711
|
+
const path = dir.pathKeys.length === 1 ? "" : dir.path;
|
|
712
|
+
return tms?.NewAreaEngine()
|
|
713
|
+
.RetrieveAllFilesAsync(aid, path.replace(ad?.name + '/', ''))
|
|
714
|
+
.then(allFilesAndFolders => {
|
|
715
|
+
const folders = allFilesAndFolders?.filter(item => item.isFld === 1).map(item => item.name);
|
|
716
|
+
return folders;
|
|
717
|
+
})
|
|
718
|
+
.catch(err => TMExceptionBoxManager.show({ exception: err }));
|
|
719
|
+
};
|
|
720
|
+
const onDirectoryCreating = async (e) => {
|
|
721
|
+
const folders = await getSubFolders(e.parentDirectory);
|
|
722
|
+
if (folders?.includes(e.name)) {
|
|
723
|
+
alert(`"${e.name}" ${SDKUI_Localizator.FolderExist}`, SDKUI_Localizator.Attention);
|
|
724
|
+
}
|
|
725
|
+
};
|
|
726
|
+
return (_jsx(TMLayoutWaitingContainer, { direction: 'vertical', showWaitPanel: showWaitPanel, showWaitPanelPrimary: showPrimary, showWaitPanelSecondary: showSecondary, waitPanelTitle: waitPanelTitle, waitPanelTextPrimary: waitPanelTextPrimary, waitPanelValuePrimary: waitPanelValuePrimary, waitPanelMaxValuePrimary: waitPanelMaxValuePrimary, waitPanelTextSecondary: waitPanelTextSecondary, waitPanelValueSecondary: waitPanelValueSecondary, waitPanelMaxValueSecondary: waitPanelMaxValueSecondary, isCancelable: true, abortController: abortController, children: _jsxs(StyledFileManagerWrapper, { style: { width: "100%", height: "100%" }, children: [_jsxs(FileManager, { width: props.width, ref: fileManagerRef, height: `calc(${props.height} - 30px)`, onItemMoving: onItemCopying, onItemCopying: onItemCopying, onFileUploading: onFileUploading, fileSystemProvider: areaProvider, customizeThumbnail: customizeIcon, rootFolderName: SDK_Localizator.Areas, onSelectionChanged: onSelectionChanged, onDirectoryCreating: onDirectoryCreating, onFocusedItemChanged: onFocusedItemChanged, onSelectedFileOpened: onSelectedFileOpened, onContextMenuItemClick: onContextMenuItemClick,
|
|
727
|
+
/* onItemMoved={() => setCounter(counter => counter + 1)}
|
|
728
|
+
onItemCopied={() => setCounter(counter => counter + 1)}
|
|
729
|
+
onItemDeleted={() => setCounter(counter => counter - 1)}
|
|
730
|
+
onFileUploaded={() => setCounter(counter => counter + 1)} */
|
|
731
|
+
onCurrentDirectoryChanged: onCurrentDirectoryChanged, selectionMode: props.selectionMode === 'single' ? 'single' : selectionMode, children: [_jsxs(Toolbar, { children: [_jsx(Item, { name: "showNavPane", visible: true }), _jsx(Item, { name: "create", visible: true }), _jsx(Item, { name: "upload", visible: true }), _jsx(Item, { name: "separator", location: 'after' }), _jsx(Item, { name: "switchView", visible: true }), _jsx(Item, { name: "refresh", visible: true })] }), _jsx(ContextMenu, { items: ["create", "upload", "rename", "move", "copy", "delete", "refresh", "download"] }), _jsx(Permissions, { copy: focusedFileSystemItem && focusedFileSystemItem.name !== "" && !areasRoots.has(focusedFileSystemItem.name), move: focusedFileSystemItem && focusedFileSystemItem.name !== "" && !areasRoots.has(focusedFileSystemItem.name), create: focusedFileSystemItem && focusedFileSystemItem.name !== "", upload: focusedFileSystemItem && focusedFileSystemItem.name !== "", rename: focusedFileSystemItem && focusedFileSystemItem.name !== "" && !areasRoots.has(focusedFileSystemItem.name), delete: focusedFileSystemItem && focusedFileSystemItem.name !== "" && !areasRoots.has(focusedFileSystemItem.name), download: true }), _jsx(ItemView, { children: _jsxs(Details, { children: [_jsx(Column, { dataField: "thumbnail", cssClass: 'file-thumbnail' }, "thumbnail"), _jsx(Column, { dataField: "name", caption: SDKUI_Localizator.Name }, "name"), _jsx(Column, { dataField: 'size', width: '120px', alignment: 'center', dataType: 'number', caption: SDKUI_Localizator.File_Size }, "size"), _jsx(Column, { dataField: 'dateModified', width: '160px', alignment: 'center', dataType: 'datetime', caption: SDKUI_Localizator.Date_Modified }, "dateModified")] }) }), _jsx(Notifications, { showPopup: true, showPanel: true })] }), _jsx("div", { style: { width: "100%", height: "30px", overflowY: "hidden" }, children: _jsx(TMCounterContainer, { items: counterValues }) })] }) }));
|
|
732
|
+
};
|
|
733
|
+
export default TMAreaManager;
|