@webiny/app-file-manager 5.43.2 → 6.0.0-alpha.0
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/BatchFileUploader.js +75 -112
- package/BatchFileUploader.js.map +1 -1
- package/app.js +8 -15
- package/app.js.map +1 -1
- package/components/BottomInfoBar/BottomInfoBar.js +14 -17
- package/components/BottomInfoBar/BottomInfoBar.js.map +1 -1
- package/components/BottomInfoBar/ListStatus.js +17 -21
- package/components/BottomInfoBar/ListStatus.js.map +1 -1
- package/components/BottomInfoBar/SupportedFileTypes.js +31 -32
- package/components/BottomInfoBar/SupportedFileTypes.js.map +1 -1
- package/components/BottomInfoBar/index.js +1 -16
- package/components/BottomInfoBar/index.js.map +1 -1
- package/components/BulkActions/ActionDelete.js +70 -71
- package/components/BulkActions/ActionDelete.js.map +1 -1
- package/components/BulkActions/ActionEdit/ActionEdit.js +38 -45
- package/components/BulkActions/ActionEdit/ActionEdit.js.map +1 -1
- package/components/BulkActions/ActionEdit/ActionEdit.types.js +1 -5
- package/components/BulkActions/ActionEdit/ActionEditPresenter.js +45 -80
- package/components/BulkActions/ActionEdit/ActionEditPresenter.js.map +1 -1
- package/components/BulkActions/ActionEdit/ActionEditPresenter.test.js +11 -15
- package/components/BulkActions/ActionEdit/ActionEditPresenter.test.js.map +1 -1
- package/components/BulkActions/ActionEdit/BatchEditorDialog/AddOperation.js +15 -18
- package/components/BulkActions/ActionEdit/BatchEditorDialog/AddOperation.js.map +1 -1
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditor.js +34 -54
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditor.js.map +1 -1
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialog.js +34 -46
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialog.js.map +1 -1
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter.js +125 -173
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter.js.map +1 -1
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter.test.js +56 -48
- package/components/BulkActions/ActionEdit/BatchEditorDialog/BatchEditorDialogPresenter.test.js.map +1 -1
- package/components/BulkActions/ActionEdit/BatchEditorDialog/FieldRenderer.js +20 -28
- package/components/BulkActions/ActionEdit/BatchEditorDialog/FieldRenderer.js.map +1 -1
- package/components/BulkActions/ActionEdit/BatchEditorDialog/Operation.js +34 -46
- package/components/BulkActions/ActionEdit/BatchEditorDialog/Operation.js.map +1 -1
- package/components/BulkActions/ActionEdit/BatchEditorDialog/index.js +1 -16
- package/components/BulkActions/ActionEdit/BatchEditorDialog/index.js.map +1 -1
- package/components/BulkActions/ActionEdit/GraphQLInputMapper.js +41 -51
- package/components/BulkActions/ActionEdit/GraphQLInputMapper.js.map +1 -1
- package/components/BulkActions/ActionEdit/GraphQLInputMapper.test.js +88 -75
- package/components/BulkActions/ActionEdit/GraphQLInputMapper.test.js.map +1 -1
- package/components/BulkActions/ActionEdit/domain/Batch.js +23 -38
- package/components/BulkActions/ActionEdit/domain/Batch.js.map +1 -1
- package/components/BulkActions/ActionEdit/domain/BatchMapper.js +10 -27
- package/components/BulkActions/ActionEdit/domain/BatchMapper.js.map +1 -1
- package/components/BulkActions/ActionEdit/domain/Field.js +31 -53
- package/components/BulkActions/ActionEdit/domain/Field.js.map +1 -1
- package/components/BulkActions/ActionEdit/domain/FieldMapper.js +18 -41
- package/components/BulkActions/ActionEdit/domain/FieldMapper.js.map +1 -1
- package/components/BulkActions/ActionEdit/domain/index.js +4 -49
- package/components/BulkActions/ActionEdit/domain/index.js.map +1 -1
- package/components/BulkActions/ActionEdit/index.js +1 -16
- package/components/BulkActions/ActionEdit/index.js.map +1 -1
- package/components/BulkActions/ActionEdit/useActionEditWorker.js +44 -48
- package/components/BulkActions/ActionEdit/useActionEditWorker.js.map +1 -1
- package/components/BulkActions/ActionMove.js +64 -61
- package/components/BulkActions/ActionMove.js.map +1 -1
- package/components/BulkActions/BulkActions.js +35 -38
- package/components/BulkActions/BulkActions.js.map +1 -1
- package/components/BulkActions/index.js +4 -43
- package/components/BulkActions/index.js.map +1 -1
- package/components/EditFileUsingUrl/EditFileUsingUrl.js +31 -43
- package/components/EditFileUsingUrl/EditFileUsingUrl.js.map +1 -1
- package/components/EditFileUsingUrl/EditFileUsingUrlPresenter.js +39 -49
- package/components/EditFileUsingUrl/EditFileUsingUrlPresenter.js.map +1 -1
- package/components/EditFileUsingUrl/EditFileUsingUrlRepository.js +32 -49
- package/components/EditFileUsingUrl/EditFileUsingUrlRepository.js.map +1 -1
- package/components/EditFileUsingUrl/GetFileByUrl.js +22 -34
- package/components/EditFileUsingUrl/GetFileByUrl.js.map +1 -1
- package/components/EditFileUsingUrl/Loading.js +30 -53
- package/components/EditFileUsingUrl/Loading.js.map +1 -1
- package/components/EditFileUsingUrl/UpdateFile.js +6 -19
- package/components/EditFileUsingUrl/UpdateFile.js.map +1 -1
- package/components/EditFileUsingUrl/getFileByUrl.graphql.js +16 -13
- package/components/EditFileUsingUrl/getFileByUrl.graphql.js.map +1 -1
- package/components/EditFileUsingUrl/index.js +1 -16
- package/components/EditFileUsingUrl/index.js.map +1 -1
- package/components/Empty/Empty.js +18 -23
- package/components/Empty/Empty.js.map +1 -1
- package/components/Empty/index.js +1 -16
- package/components/Empty/index.js.map +1 -1
- package/components/FileDetails/FileDetails.js +120 -131
- package/components/FileDetails/FileDetails.js.map +1 -1
- package/components/FileDetails/FileDetailsProvider.js +11 -17
- package/components/FileDetails/FileDetailsProvider.js.map +1 -1
- package/components/FileDetails/components/ActionButton.d.ts +2 -1
- package/components/FileDetails/components/ActionButton.js +17 -24
- package/components/FileDetails/components/ActionButton.js.map +1 -1
- package/components/FileDetails/components/Actions.js +11 -34
- package/components/FileDetails/components/Actions.js.map +1 -1
- package/components/FileDetails/components/BaseFields.js +14 -22
- package/components/FileDetails/components/BaseFields.js.map +1 -1
- package/components/FileDetails/components/Content.d.ts +2 -1
- package/components/FileDetails/components/Content.js +28 -41
- package/components/FileDetails/components/Content.js.map +1 -1
- package/components/FileDetails/components/CreatedOn.js +19 -52
- package/components/FileDetails/components/CreatedOn.js.map +1 -1
- package/components/FileDetails/components/Description.d.ts +2 -0
- package/components/FileDetails/components/Description.js +23 -0
- package/components/FileDetails/components/Description.js.map +1 -0
- package/components/FileDetails/components/Extensions.js +19 -47
- package/components/FileDetails/components/Extensions.js.map +1 -1
- package/components/FileDetails/components/Preview.js +9 -27
- package/components/FileDetails/components/Preview.js.map +1 -1
- package/components/FileDetails/components/Thumbnail.js +13 -18
- package/components/FileDetails/components/Thumbnail.js.map +1 -1
- package/components/FileDetails/index.js +1 -16
- package/components/FileDetails/index.js.map +1 -1
- package/components/FileDropArea/FileDropArea.d.ts +9 -0
- package/components/FileDropArea/FileDropArea.js +69 -0
- package/components/FileDropArea/FileDropArea.js.map +1 -0
- package/components/FileDropArea/index.d.ts +1 -0
- package/components/FileDropArea/index.js +3 -0
- package/components/FileDropArea/index.js.map +1 -0
- package/components/FileDropPlaceholder/FileDropPlaceholder.d.ts +2 -0
- package/components/FileDropPlaceholder/FileDropPlaceholder.js +12 -0
- package/components/FileDropPlaceholder/FileDropPlaceholder.js.map +1 -0
- package/components/FileDropPlaceholder/index.d.ts +1 -0
- package/components/FileDropPlaceholder/index.js +3 -0
- package/components/FileDropPlaceholder/index.js.map +1 -0
- package/components/Filters/Filters.js +26 -0
- package/components/Filters/Filters.js.map +1 -0
- package/components/Filters/index.d.ts +1 -0
- package/components/Filters/index.js +3 -0
- package/components/Filters/index.js.map +1 -0
- package/components/Grid/ActionButton.d.ts +2 -1
- package/components/Grid/ActionButton.js +19 -21
- package/components/Grid/ActionButton.js.map +1 -1
- package/components/Grid/File.d.ts +1 -0
- package/components/Grid/File.js +73 -60
- package/components/Grid/File.js.map +1 -1
- package/components/Grid/Grid.d.ts +2 -1
- package/components/Grid/Grid.js +58 -67
- package/components/Grid/Grid.js.map +1 -1
- package/components/Grid/Thumbnail.js +13 -18
- package/components/Grid/Thumbnail.js.map +1 -1
- package/components/Grid/index.js +1 -16
- package/components/Grid/index.js.map +1 -1
- package/components/Header/Actions.d.ts +5 -0
- package/components/Header/Actions.js +99 -0
- package/components/Header/Actions.js.map +1 -0
- package/components/Header/Header.d.ts +9 -0
- package/components/Header/Header.js +17 -0
- package/components/Header/Header.js.map +1 -0
- package/components/Header/Title.d.ts +2 -0
- package/components/Header/Title.js +62 -0
- package/components/Header/Title.js.map +1 -0
- package/components/Header/index.d.ts +1 -0
- package/components/Header/index.js +3 -0
- package/components/Header/index.js.map +1 -0
- package/components/ImageEditor/ImageEditor.d.ts +45 -0
- package/components/ImageEditor/ImageEditor.js +218 -0
- package/components/ImageEditor/ImageEditor.js.map +1 -0
- package/components/ImageEditor/ImageEditorDialog.d.ts +16 -0
- package/components/ImageEditor/ImageEditorDialog.js +53 -0
- package/components/ImageEditor/ImageEditorDialog.js.map +1 -0
- package/components/ImageEditor/index.d.ts +1 -0
- package/components/ImageEditor/index.js +3 -0
- package/components/ImageEditor/index.js.map +1 -0
- package/components/ImageEditor/toolbar/crop.d.ts +4 -0
- package/components/ImageEditor/toolbar/crop.js +67 -0
- package/components/ImageEditor/toolbar/crop.js.map +1 -0
- package/components/ImageEditor/toolbar/filter.d.ts +3 -0
- package/components/ImageEditor/toolbar/filter.js +167 -0
- package/components/ImageEditor/toolbar/filter.js.map +1 -0
- package/components/ImageEditor/toolbar/flip.d.ts +4 -0
- package/components/ImageEditor/toolbar/flip.js +94 -0
- package/components/ImageEditor/toolbar/flip.js.map +1 -0
- package/components/ImageEditor/toolbar/index.d.ts +4 -0
- package/components/ImageEditor/toolbar/index.js +6 -0
- package/components/ImageEditor/toolbar/index.js.map +1 -0
- package/components/ImageEditor/toolbar/rotate.d.ts +4 -0
- package/components/ImageEditor/toolbar/rotate.js +93 -0
- package/components/ImageEditor/toolbar/rotate.js.map +1 -0
- package/components/ImageEditor/toolbar/types.d.ts +32 -0
- package/components/ImageEditor/toolbar/types.js +3 -0
- package/components/ImageEditor/toolbar/types.js.map +1 -0
- package/components/LayoutSwitch/LayoutSwitch.js +18 -29
- package/components/LayoutSwitch/LayoutSwitch.js.map +1 -1
- package/components/LayoutSwitch/index.js +1 -16
- package/components/LayoutSwitch/index.js.map +1 -1
- package/components/NoPermissions/NoPermissions.d.ts +2 -0
- package/components/NoPermissions/NoPermissions.js +28 -0
- package/components/NoPermissions/NoPermissions.js.map +1 -0
- package/components/NoPermissions/index.d.ts +1 -0
- package/components/NoPermissions/index.js +3 -0
- package/components/NoPermissions/index.js.map +1 -0
- package/components/NoResults/NoResults.js +19 -15
- package/components/NoResults/NoResults.js.map +1 -1
- package/components/NoResults/index.js +1 -16
- package/components/NoResults/index.js.map +1 -1
- package/components/SearchWidget/SearchWidget.js +31 -0
- package/components/SearchWidget/SearchWidget.js.map +1 -0
- package/components/SearchWidget/index.d.ts +1 -0
- package/components/SearchWidget/index.js +3 -0
- package/components/SearchWidget/index.js.map +1 -0
- package/components/Table/Actions/CopyFile.js +19 -22
- package/components/Table/Actions/CopyFile.js.map +1 -1
- package/components/Table/Actions/DeleteFile.js +23 -25
- package/components/Table/Actions/DeleteFile.js.map +1 -1
- package/components/Table/Actions/EditFile.js +18 -23
- package/components/Table/Actions/EditFile.js.map +1 -1
- package/components/Table/Actions/MoveFile.js +15 -19
- package/components/Table/Actions/MoveFile.js.map +1 -1
- package/components/Table/Actions/index.js +4 -49
- package/components/Table/Actions/index.js.map +1 -1
- package/components/Table/Cells/CellActions.js +21 -25
- package/components/Table/Cells/CellActions.js.map +1 -1
- package/components/Table/Cells/CellAuthor.js +10 -14
- package/components/Table/Cells/CellAuthor.js.map +1 -1
- package/components/Table/Cells/CellCreated.js +11 -15
- package/components/Table/Cells/CellCreated.js.map +1 -1
- package/components/Table/Cells/CellModified.js +11 -15
- package/components/Table/Cells/CellModified.js.map +1 -1
- package/components/Table/Cells/CellName.js +53 -46
- package/components/Table/Cells/CellName.js.map +1 -1
- package/components/Table/Cells/CellSize.js +13 -18
- package/components/Table/Cells/CellSize.js.map +1 -1
- package/components/Table/Cells/CellThumbnail.d.ts +2 -0
- package/components/Table/Cells/CellThumbnail.js +16 -0
- package/components/Table/Cells/CellThumbnail.js.map +1 -0
- package/components/Table/Cells/CellType.js +12 -17
- package/components/Table/Cells/CellType.js.map +1 -1
- package/components/Table/Cells/index.js +7 -82
- package/components/Table/Cells/index.js.map +1 -1
- package/components/Table/Table.d.ts +3 -3
- package/components/Table/Table.js +9 -18
- package/components/Table/Table.js.map +1 -1
- package/components/Table/index.js +3 -38
- package/components/Table/index.js.map +1 -1
- package/components/TagsList/Empty.js +11 -0
- package/components/TagsList/Empty.js.map +1 -0
- package/components/TagsList/FilterSelect.d.ts +2 -0
- package/components/TagsList/FilterSelect.js +28 -0
- package/components/TagsList/FilterSelect.js.map +1 -0
- package/components/TagsList/FilterStatus.d.ts +7 -0
- package/components/TagsList/FilterStatus.js +27 -0
- package/components/TagsList/FilterStatus.js.map +1 -0
- package/components/TagsList/Tag.js +16 -0
- package/components/TagsList/Tag.js.map +1 -0
- package/components/TagsList/Tags.d.ts +8 -0
- package/components/TagsList/Tags.js +32 -0
- package/components/TagsList/Tags.js.map +1 -0
- package/components/TagsList/TagsList.js +31 -0
- package/components/TagsList/TagsList.js.map +1 -0
- package/components/TagsList/index.js +3 -0
- package/components/TagsList/index.js.map +1 -0
- package/components/Thumbnail/Thumbnail.d.ts +2 -0
- package/components/Thumbnail/Thumbnail.js +16 -0
- package/components/Thumbnail/Thumbnail.js.map +1 -0
- package/components/Thumbnail/index.d.ts +1 -0
- package/components/Thumbnail/index.js +3 -0
- package/components/Thumbnail/index.js.map +1 -0
- package/components/UploadStatus/UploadStatus.d.ts +3 -1
- package/components/UploadStatus/UploadStatus.js +33 -32
- package/components/UploadStatus/UploadStatus.js.map +1 -1
- package/components/UploadStatus/index.js +1 -16
- package/components/UploadStatus/index.js.map +1 -1
- package/components/fields/AccessControl.js +31 -31
- package/components/fields/AccessControl.js.map +1 -1
- package/components/fields/Aliases.js +76 -127
- package/components/fields/Aliases.js.map +1 -1
- package/components/fields/Name.js +21 -23
- package/components/fields/Name.js.map +1 -1
- package/components/fields/Tags.js +30 -30
- package/components/fields/Tags.js.map +1 -1
- package/components/fields/index.js +4 -49
- package/components/fields/index.js.map +1 -1
- package/components/fields/useAccessControlField.d.ts +1 -1
- package/components/fields/useAccessControlField.js +9 -21
- package/components/fields/useAccessControlField.js.map +1 -1
- package/components/fields/useFileOrUndefined.js +3 -9
- package/components/fields/useFileOrUndefined.js.map +1 -1
- package/constants.js +4 -16
- package/constants.js.map +1 -1
- package/contexts/FileProvider.js +12 -18
- package/contexts/FileProvider.js.map +1 -1
- package/hooks/useCopyFile.js +18 -24
- package/hooks/useCopyFile.js.map +1 -1
- package/hooks/useDeleteFile.js +38 -62
- package/hooks/useDeleteFile.js.map +1 -1
- package/hooks/useFile.js +5 -12
- package/hooks/useFile.js.map +1 -1
- package/hooks/useFileDetails.js +5 -12
- package/hooks/useFileDetails.js.map +1 -1
- package/hooks/useFileModel.js +5 -12
- package/hooks/useFileModel.js.map +1 -1
- package/hooks/useMoveFileToFolder.js +19 -21
- package/hooks/useMoveFileToFolder.js.map +1 -1
- package/index.js +8 -101
- package/index.js.map +1 -1
- package/modules/Enterprise/HandleWebsocketMessages.js +31 -53
- package/modules/Enterprise/HandleWebsocketMessages.js.map +1 -1
- package/modules/Enterprise/components/ThreatScanInProgressFileBody.d.ts +2 -0
- package/modules/Enterprise/components/ThreatScanInProgressFileBody.js +23 -0
- package/modules/Enterprise/components/ThreatScanInProgressFileBody.js.map +1 -0
- package/modules/Enterprise/components/ThreatScanInProgressTableCell.d.ts +6 -0
- package/modules/Enterprise/components/ThreatScanInProgressTableCell.js +32 -0
- package/modules/Enterprise/components/ThreatScanInProgressTableCell.js.map +1 -0
- package/modules/Enterprise/constants.js +1 -7
- package/modules/Enterprise/constants.js.map +1 -1
- package/modules/Enterprise/index.js +29 -22
- package/modules/Enterprise/index.js.map +1 -1
- package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.js +120 -128
- package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.js.map +1 -1
- package/modules/FileManagerApiProvider/FileManagerApiContext/FileModelContext.js +14 -25
- package/modules/FileManagerApiProvider/FileManagerApiContext/FileModelContext.js.map +1 -1
- package/modules/FileManagerApiProvider/FileManagerApiContext/getFileGraphQLSelection.js +25 -11
- package/modules/FileManagerApiProvider/FileManagerApiContext/getFileGraphQLSelection.js.map +1 -1
- package/modules/FileManagerApiProvider/FileManagerApiContext/getFileUploader.js +3 -9
- package/modules/FileManagerApiProvider/FileManagerApiContext/getFileUploader.js.map +1 -1
- package/modules/FileManagerApiProvider/FileManagerApiContext/index.js +3 -26
- package/modules/FileManagerApiProvider/FileManagerApiContext/index.js.map +1 -1
- package/modules/FileManagerApiProvider/FileManagerApiContext/useFileManagerApi.js +4 -11
- package/modules/FileManagerApiProvider/FileManagerApiContext/useFileManagerApi.js.map +1 -1
- package/modules/FileManagerApiProvider/graphql.js +116 -27
- package/modules/FileManagerApiProvider/graphql.js.map +1 -1
- package/modules/FileManagerApiProvider/index.js +11 -17
- package/modules/FileManagerApiProvider/index.js.map +1 -1
- package/modules/FileManagerRenderer/FileActions/FileDetails/CopyUrl.js +18 -25
- package/modules/FileManagerRenderer/FileActions/FileDetails/CopyUrl.js.map +1 -1
- package/modules/FileManagerRenderer/FileActions/FileDetails/DeleteImage.js +26 -39
- package/modules/FileManagerRenderer/FileActions/FileDetails/DeleteImage.js.map +1 -1
- package/modules/FileManagerRenderer/FileActions/FileDetails/Download.js +15 -23
- package/modules/FileManagerRenderer/FileActions/FileDetails/Download.js.map +1 -1
- package/modules/FileManagerRenderer/FileActions/FileDetails/EditImage.js +48 -59
- package/modules/FileManagerRenderer/FileActions/FileDetails/EditImage.js.map +1 -1
- package/modules/FileManagerRenderer/FileActions/FileDetails/MoveToFolder.js +14 -22
- package/modules/FileManagerRenderer/FileActions/FileDetails/MoveToFolder.js.map +1 -1
- package/modules/FileManagerRenderer/FileActions/Grid/Delete.d.ts +2 -0
- package/modules/FileManagerRenderer/FileActions/Grid/Delete.js +29 -0
- package/modules/FileManagerRenderer/FileActions/Grid/Delete.js.map +1 -0
- package/modules/FileManagerRenderer/FileActions/Grid/Download.js +16 -19
- package/modules/FileManagerRenderer/FileActions/Grid/Download.js.map +1 -1
- package/modules/FileManagerRenderer/FileActions/Grid/MoveToFolder.js +14 -17
- package/modules/FileManagerRenderer/FileActions/Grid/MoveToFolder.js.map +1 -1
- package/modules/FileManagerRenderer/FileActions/Grid/Settings.js +15 -18
- package/modules/FileManagerRenderer/FileActions/Grid/Settings.js.map +1 -1
- package/modules/FileManagerRenderer/FileActions/index.js +36 -37
- package/modules/FileManagerRenderer/FileActions/index.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/FileManagerView.js +173 -252
- package/modules/FileManagerRenderer/FileManagerView/FileManagerView.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig.d.ts +46 -5
- package/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig.js +47 -54
- package/modules/FileManagerRenderer/FileManagerView/FileManagerViewConfig.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/LeftSidebar.js +21 -53
- package/modules/FileManagerRenderer/FileManagerView/LeftSidebar.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/NavigateFolderProvider.js +12 -23
- package/modules/FileManagerRenderer/FileManagerView/NavigateFolderProvider.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/BulkAction.js +34 -45
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/BulkAction.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/BulkEditField.js +11 -17
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/BulkEditField.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FileAction.js +9 -19
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FileAction.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Filter.js +20 -29
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Filter.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FilterByTags.js +7 -13
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FilterByTags.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FiltersToWhere.js +7 -13
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FiltersToWhere.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FolderAction.js +9 -19
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FolderAction.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FolderFieldDecorator.js +6 -10
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FolderFieldDecorator.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Grid/Action.js +18 -27
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Grid/Action.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Grid/Thumbnail.js +13 -19
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Grid/Thumbnail.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Grid/index.js +1 -5
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Table/Column.d.ts +19 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Table/Column.js +11 -19
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Table/Column.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Table/Thumbnail.d.ts +28 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Table/Thumbnail.js +30 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Table/Thumbnail.js.map +1 -0
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Table/index.d.ts +42 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Table/index.js +7 -9
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/Table/index.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/index.d.ts +41 -3
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/index.js +30 -38
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/index.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/Action.js +17 -26
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/Action.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/Field.js +20 -29
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/Field.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/FieldDecorator.js +16 -24
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/FieldDecorator.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/GroupFields.js +8 -14
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/GroupFields.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/Thumbnail.js +12 -18
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/Thumbnail.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/Width.js +8 -14
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/Width.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/index.d.ts +1 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/index.js +15 -21
- package/modules/FileManagerRenderer/FileManagerView/configComponents/FileDetails/index.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/getThumbnailRenderer.js +7 -16
- package/modules/FileManagerRenderer/FileManagerView/getThumbnailRenderer.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/index.js +49 -57
- package/modules/FileManagerRenderer/FileManagerView/index.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerView/outputFileSelectionError.js +6 -17
- package/modules/FileManagerRenderer/FileManagerView/outputFileSelectionError.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.d.ts +6 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.js +281 -337
- package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/index.js +2 -27
- package/modules/FileManagerRenderer/FileManagerViewProvider/index.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/setSelection.d.ts +2 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/setSelection.js +30 -45
- package/modules/FileManagerRenderer/FileManagerViewProvider/setSelection.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/state.d.ts +2 -0
- package/modules/FileManagerRenderer/FileManagerViewProvider/state.js +5 -9
- package/modules/FileManagerRenderer/FileManagerViewProvider/state.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/useFileManagerView.js +4 -10
- package/modules/FileManagerRenderer/FileManagerViewProvider/useFileManagerView.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/useListFiles.js +79 -99
- package/modules/FileManagerRenderer/FileManagerViewProvider/useListFiles.js.map +1 -1
- package/modules/FileManagerRenderer/FileManagerViewProvider/useTags.js +63 -81
- package/modules/FileManagerRenderer/FileManagerViewProvider/useTags.js.map +1 -1
- package/modules/FileManagerRenderer/filters/FilterByType.js +9 -16
- package/modules/FileManagerRenderer/filters/FilterByType.js.map +1 -1
- package/modules/FileManagerRenderer/index.js +89 -83
- package/modules/FileManagerRenderer/index.js.map +1 -1
- package/modules/HeadlessCms/fileField.js +11 -19
- package/modules/HeadlessCms/fileField.js.map +1 -1
- package/modules/HeadlessCms/fileRenderer/fileField.js +44 -91
- package/modules/HeadlessCms/fileRenderer/fileField.js.map +1 -1
- package/modules/HeadlessCms/fileRenderer/fileFields.js +74 -146
- package/modules/HeadlessCms/fileRenderer/fileFields.js.map +1 -1
- package/modules/HeadlessCms/fileRenderer/utils.d.ts +1 -11
- package/modules/HeadlessCms/fileRenderer/utils.js +3 -53
- package/modules/HeadlessCms/fileRenderer/utils.js.map +1 -1
- package/modules/HeadlessCms/index.js +8 -14
- package/modules/HeadlessCms/index.js.map +1 -1
- package/modules/Settings/graphql.js +26 -15
- package/modules/Settings/graphql.js.map +1 -1
- package/modules/Settings/index.js +35 -32
- package/modules/Settings/index.js.map +1 -1
- package/modules/Settings/plugins/installation.js +68 -68
- package/modules/Settings/plugins/installation.js.map +1 -1
- package/modules/Settings/plugins/permissionRenderer/FileManagerPermissions.js +122 -149
- package/modules/Settings/plugins/permissionRenderer/FileManagerPermissions.js.map +1 -1
- package/modules/Settings/plugins/permissionRenderer/index.js +16 -22
- package/modules/Settings/plugins/permissionRenderer/index.js.map +1 -1
- package/modules/Settings/views/FileManagerSettings.js +97 -110
- package/modules/Settings/views/FileManagerSettings.js.map +1 -1
- package/modules/ThumbnailRenderers/FilePreviewDefaultRenderer.d.ts +2 -0
- package/modules/ThumbnailRenderers/FilePreviewDefaultRenderer.js +12 -0
- package/modules/ThumbnailRenderers/FilePreviewDefaultRenderer.js.map +1 -0
- package/modules/ThumbnailRenderers/FilePreviewImageRenderer.d.ts +2 -0
- package/modules/ThumbnailRenderers/FilePreviewImageRenderer.js +19 -0
- package/modules/ThumbnailRenderers/FilePreviewImageRenderer.js.map +1 -0
- package/modules/ThumbnailRenderers/GridItemDefaultRenderer.d.ts +2 -0
- package/modules/ThumbnailRenderers/GridItemDefaultRenderer.js +12 -0
- package/modules/ThumbnailRenderers/GridItemDefaultRenderer.js.map +1 -0
- package/modules/ThumbnailRenderers/GridItemImageRenderer.d.ts +2 -0
- package/modules/ThumbnailRenderers/GridItemImageRenderer.js +19 -0
- package/modules/ThumbnailRenderers/GridItemImageRenderer.js.map +1 -0
- package/modules/ThumbnailRenderers/TableItemDefaultRenderer.d.ts +2 -0
- package/modules/ThumbnailRenderers/TableItemDefaultRenderer.js +19 -0
- package/modules/ThumbnailRenderers/TableItemDefaultRenderer.js.map +1 -0
- package/modules/ThumbnailRenderers/TableItemImageRenderer.d.ts +2 -0
- package/modules/ThumbnailRenderers/TableItemImageRenderer.js +19 -0
- package/modules/ThumbnailRenderers/TableItemImageRenderer.js.map +1 -0
- package/package.json +23 -24
- package/tagsHelpers.js +31 -37
- package/tagsHelpers.js.map +1 -1
- package/types.js +1 -12
- package/types.js.map +1 -1
- package/components/BottomInfoBar/styled.d.ts +0 -21
- package/components/BottomInfoBar/styled.js +0 -81
- package/components/BottomInfoBar/styled.js.map +0 -1
- package/components/BulkActions/ActionEdit/ActionEdit.styled.d.ts +0 -28
- package/components/BulkActions/ActionEdit/ActionEdit.styled.js +0 -77
- package/components/BulkActions/ActionEdit/ActionEdit.styled.js.map +0 -1
- package/components/BulkActions/ActionEdit/BatchEditorDialog/RemoveOperation.d.ts +0 -7
- package/components/BulkActions/ActionEdit/BatchEditorDialog/RemoveOperation.js +0 -26
- package/components/BulkActions/ActionEdit/BatchEditorDialog/RemoveOperation.js.map +0 -1
- package/components/BulkActions/BulkActions.styled.d.ts +0 -13
- package/components/BulkActions/BulkActions.styled.js +0 -46
- package/components/BulkActions/BulkActions.styled.js.map +0 -1
- package/components/DropFilesHere/DropFilesHere.d.ts +0 -8
- package/components/DropFilesHere/DropFilesHere.js +0 -28
- package/components/DropFilesHere/DropFilesHere.js.map +0 -1
- package/components/DropFilesHere/index.d.ts +0 -1
- package/components/DropFilesHere/index.js +0 -18
- package/components/DropFilesHere/index.js.map +0 -1
- package/components/DropFilesHere/styled.d.ts +0 -22
- package/components/DropFilesHere/styled.js +0 -61
- package/components/DropFilesHere/styled.js.map +0 -1
- package/components/FileDetails/components/Flex.d.ts +0 -7
- package/components/FileDetails/components/Flex.js +0 -48
- package/components/FileDetails/components/Flex.js.map +0 -1
- package/components/FileDetails/components/Footer.d.ts +0 -2
- package/components/FileDetails/components/Footer.js +0 -40
- package/components/FileDetails/components/Footer.js.map +0 -1
- package/components/FileDetails/components/Header.d.ts +0 -2
- package/components/FileDetails/components/Header.js +0 -40
- package/components/FileDetails/components/Header.js.map +0 -1
- package/components/FileDetails/components/PreviewMeta.d.ts +0 -2
- package/components/FileDetails/components/PreviewMeta.js +0 -31
- package/components/FileDetails/components/PreviewMeta.js.map +0 -1
- package/components/FileDetails/components/TypeAndSize.d.ts +0 -2
- package/components/FileDetails/components/TypeAndSize.js +0 -67
- package/components/FileDetails/components/TypeAndSize.js.map +0 -1
- package/components/Grid/styled.d.ts +0 -41
- package/components/Grid/styled.js +0 -137
- package/components/Grid/styled.js.map +0 -1
- package/components/NoPermission/NoPermission.d.ts +0 -2
- package/components/NoPermission/NoPermission.js +0 -25
- package/components/NoPermission/NoPermission.js.map +0 -1
- package/components/NoPermission/index.d.ts +0 -1
- package/components/NoPermission/index.js +0 -18
- package/components/NoPermission/index.js.map +0 -1
- package/components/NoPermission/styled.d.ts +0 -24
- package/components/NoPermission/styled.js +0 -97
- package/components/NoPermission/styled.js.map +0 -1
- package/components/NoResults/styled.d.ts +0 -5
- package/components/NoResults/styled.js +0 -25
- package/components/NoResults/styled.js.map +0 -1
- package/components/Table/Cells/Cells.styled.d.ts +0 -12
- package/components/Table/Cells/Cells.styled.js +0 -54
- package/components/Table/Cells/Cells.styled.js.map +0 -1
- package/components/Title/Title.d.ts +0 -5
- package/components/Title/Title.js +0 -21
- package/components/Title/Title.js.map +0 -1
- package/components/Title/index.d.ts +0 -1
- package/components/Title/index.js +0 -18
- package/components/Title/index.js.map +0 -1
- package/components/Title/styled.d.ts +0 -4
- package/components/Title/styled.js +0 -26
- package/components/Title/styled.js.map +0 -1
- package/components/UploadStatus/assets/check.svg +0 -3
- package/components/UploadStatus/assets/loading.svg +0 -17
- package/components/UploadStatus/styled.d.ts +0 -39
- package/components/UploadStatus/styled.js +0 -127
- package/components/UploadStatus/styled.js.map +0 -1
- package/modules/Enterprise/components/ThreatScanInProgress.d.ts +0 -2
- package/modules/Enterprise/components/ThreatScanInProgress.js +0 -44
- package/modules/Enterprise/components/ThreatScanInProgress.js.map +0 -1
- package/modules/FileManagerRenderer/FileManagerView/components/Filters.js +0 -33
- package/modules/FileManagerRenderer/FileManagerView/components/Filters.js.map +0 -1
- package/modules/FileManagerRenderer/FileManagerView/components/SearchWidget.js +0 -98
- package/modules/FileManagerRenderer/FileManagerView/components/SearchWidget.js.map +0 -1
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Empty.js +0 -19
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Empty.js.map +0 -1
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Tag.js +0 -29
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/Tag.js.map +0 -1
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/TagsList.js +0 -71
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/TagsList.js.map +0 -1
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/index.js +0 -18
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/index.js.map +0 -1
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/styled.d.ts +0 -39
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/styled.js +0 -91
- package/modules/FileManagerRenderer/FileManagerView/components/TagsList/styled.js.map +0 -1
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FolderDropConfirmation.d.ts +0 -5
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FolderDropConfirmation.js +0 -15
- package/modules/FileManagerRenderer/FileManagerView/configComponents/Browser/FolderDropConfirmation.js.map +0 -1
- package/modules/HeadlessCms/fileRenderer/File.d.ts +0 -10
- package/modules/HeadlessCms/fileRenderer/File.js +0 -86
- package/modules/HeadlessCms/fileRenderer/File.js.map +0 -1
- package/modules/ThumbnailRenderers/DefaultRenderer.d.ts +0 -2
- package/modules/ThumbnailRenderers/DefaultRenderer.js +0 -25
- package/modules/ThumbnailRenderers/DefaultRenderer.js.map +0 -1
- package/modules/ThumbnailRenderers/ImageRenderer.d.ts +0 -2
- package/modules/ThumbnailRenderers/ImageRenderer.js +0 -29
- package/modules/ThumbnailRenderers/ImageRenderer.js.map +0 -1
- /package/{modules/FileManagerRenderer/FileManagerView/components → components/Filters}/Filters.d.ts +0 -0
- /package/{modules/FileManagerRenderer/FileManagerView/components → components/SearchWidget}/SearchWidget.d.ts +0 -0
- /package/{modules/FileManagerRenderer/FileManagerView/components → components}/TagsList/Empty.d.ts +0 -0
- /package/{modules/FileManagerRenderer/FileManagerView/components → components}/TagsList/Tag.d.ts +0 -0
- /package/{modules/FileManagerRenderer/FileManagerView/components → components}/TagsList/TagsList.d.ts +0 -0
- /package/{modules/FileManagerRenderer/FileManagerView/components → components}/TagsList/index.d.ts +0 -0
|
@@ -1,73 +1,40 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
var _BottomInfoBar = require("../../../components/BottomInfoBar");
|
|
34
|
-
var _BulkActions = require("../../../components/BulkActions");
|
|
35
|
-
var _DropFilesHere = require("../../../components/DropFilesHere");
|
|
36
|
-
var _Empty = require("../../../components/Empty");
|
|
37
|
-
var _FileDetails = require("../../../components/FileDetails");
|
|
38
|
-
var _Grid = require("../../../components/Grid");
|
|
39
|
-
var _LayoutSwitch = require("../../../components/LayoutSwitch");
|
|
40
|
-
var _Table = require("../../../components/Table");
|
|
41
|
-
var _Title = require("../../../components/Title");
|
|
42
|
-
var _UploadStatus = require("../../../components/UploadStatus");
|
|
43
|
-
var _BatchFileUploader = require("../../../BatchFileUploader");
|
|
44
|
-
var _SearchWidget = require("./components/SearchWidget");
|
|
45
|
-
var _Filters = require("./components/Filters");
|
|
46
|
-
var _TagsList = require("./components/TagsList");
|
|
47
|
-
var _excluded = ["id"];
|
|
48
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
49
|
-
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } // @ts-expect-error
|
|
50
|
-
var t = _i18n.i18n.ns("app-admin/file-manager/file-manager-view");
|
|
51
|
-
var FileListWrapper = /*#__PURE__*/(0, _base.default)("div", process.env.NODE_ENV === "production" ? {
|
|
52
|
-
target: "e46i7190"
|
|
53
|
-
} : {
|
|
54
|
-
target: "e46i7190",
|
|
55
|
-
label: "FileListWrapper"
|
|
56
|
-
})(process.env.NODE_ENV === "production" ? {
|
|
57
|
-
name: "1wp8fn",
|
|
58
|
-
styles: "z-index:60;height:calc(100vh - 94px);position:relative;.mdc-data-table{display:inline-table;}"
|
|
59
|
-
} : {
|
|
60
|
-
name: "1wp8fn",
|
|
61
|
-
styles: "z-index:60;height:calc(100vh - 94px);position:relative;.mdc-data-table{display:inline-table;}",
|
|
62
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZpbGVNYW5hZ2VyVmlldy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEN3QiIsImZpbGUiOiJGaWxlTWFuYWdlclZpZXcudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgRmlsZXMsIHsgRmlsZXNSZW5kZXJDaGlsZHJlbiB9IGZyb20gXCJyZWFjdC1idXR0ZXJmaWxlc1wiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgZGVib3VuY2UgZnJvbSBcImxvZGFzaC9kZWJvdW5jZVwiO1xuaW1wb3J0IG9taXQgZnJvbSBcImxvZGFzaC9vbWl0XCI7XG5pbXBvcnQgeyBwb3NpdGlvblZhbHVlcyB9IGZyb20gXCJyZWFjdC1jdXN0b20tc2Nyb2xsYmFyc1wiO1xuLy8gQHRzLWV4cGVjdC1lcnJvclxuaW1wb3J0IHsgdXNlSG90a2V5cyB9IGZyb20gXCJyZWFjdC1ob3RrZXl6XCI7XG5pbXBvcnQgeyBvYnNlcnZlciB9IGZyb20gXCJtb2J4LXJlYWN0LWxpdGVcIjtcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIFVwbG9hZEljb24gfSBmcm9tIFwiQG1hdGVyaWFsLWRlc2lnbi1pY29ucy9zdmcvZmlsbGVkL2Nsb3VkX3VwbG9hZC5zdmdcIjtcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIEFkZEljb24gfSBmcm9tIFwiQG1hdGVyaWFsLWRlc2lnbi1pY29ucy9zdmcvZmlsbGVkL2FkZC5zdmdcIjtcbmltcG9ydCB7IGkxOG4gfSBmcm9tIFwiQHdlYmlueS9hcHAvaTE4blwiO1xuaW1wb3J0IHsgdXNlQ3JlYXRlRGlhbG9nIH0gZnJvbSBcIkB3ZWJpbnkvYXBwLWFjb1wiO1xuaW1wb3J0IHsgT3ZlcmxheUxheW91dCwgdXNlU25hY2tiYXIgfSBmcm9tIFwiQHdlYmlueS9hcHAtYWRtaW5cIjtcbmltcG9ydCB7IExlZnRQYW5lbCwgUmlnaHRQYW5lbCwgU3BsaXRWaWV3IH0gZnJvbSBcIkB3ZWJpbnkvYXBwLWFkbWluL2NvbXBvbmVudHMvU3BsaXRWaWV3XCI7XG5pbXBvcnQgeyB1c2VJMThOIH0gZnJvbSBcIkB3ZWJpbnkvYXBwLWkxOG5cIjtcbmltcG9ydCB7IHVzZVRlbmFuY3kgfSBmcm9tIFwiQHdlYmlueS9hcHAtdGVuYW5jeVwiO1xuaW1wb3J0IHsgQnV0dG9uSWNvbiwgQnV0dG9uUHJpbWFyeSwgQnV0dG9uUHJvcHMsIEJ1dHRvblNlY29uZGFyeSB9IGZyb20gXCJAd2ViaW55L3VpL0J1dHRvblwiO1xuaW1wb3J0IHsgU29ydGluZyB9IGZyb20gXCJAd2ViaW55L3VpL0RhdGFUYWJsZVwiO1xuaW1wb3J0IHsgU2Nyb2xsYmFyIH0gZnJvbSBcIkB3ZWJpbnkvdWkvU2Nyb2xsYmFyXCI7XG5pbXBvcnQgeyB1c2VGaWxlTWFuYWdlclZpZXcgfSBmcm9tIFwifi9tb2R1bGVzL0ZpbGVNYW5hZ2VyUmVuZGVyZXIvRmlsZU1hbmFnZXJWaWV3UHJvdmlkZXJcIjtcbmltcG9ydCB7IG91dHB1dEZpbGVTZWxlY3Rpb25FcnJvciB9IGZyb20gXCIuL291dHB1dEZpbGVTZWxlY3Rpb25FcnJvclwiO1xuaW1wb3J0IHsgTGVmdFNpZGViYXIgfSBmcm9tIFwiLi9MZWZ0U2lkZWJhclwiO1xuaW1wb3J0IHsgdXNlRmlsZU1hbmFnZXJBcGksIHVzZUZpbGVNYW5hZ2VyVmlld0NvbmZpZyB9IGZyb20gXCJ+L2luZGV4XCI7XG5pbXBvcnQgeyBGaWxlSXRlbSB9IGZyb20gXCJAd2ViaW55L2FwcC1hZG1pbi90eXBlc1wiO1xuaW1wb3J0IHsgQm90dG9tSW5mb0JhciB9IGZyb20gXCJ+L2NvbXBvbmVudHMvQm90dG9tSW5mb0JhclwiO1xuaW1wb3J0IHsgQnVsa0FjdGlvbnMgfSBmcm9tIFwifi9jb21wb25lbnRzL0J1bGtBY3Rpb25zXCI7XG5pbXBvcnQgeyBEcm9wRmlsZXNIZXJlIH0gZnJvbSBcIn4vY29tcG9uZW50cy9Ecm9wRmlsZXNIZXJlXCI7XG5pbXBvcnQgeyBFbXB0eSB9IGZyb20gXCJ+L2NvbXBvbmVudHMvRW1wdHlcIjtcbmltcG9ydCB7IEZpbGVEZXRhaWxzIH0gZnJvbSBcIn4vY29tcG9uZW50cy9GaWxlRGV0YWlsc1wiO1xuaW1wb3J0IHsgR3JpZCB9IGZyb20gXCJ+L2NvbXBvbmVudHMvR3JpZFwiO1xuaW1wb3J0IHsgTGF5b3V0U3dpdGNoIH0gZnJvbSBcIn4vY29tcG9uZW50cy9MYXlvdXRTd2l0Y2hcIjtcbmltcG9ydCB7IFRhYmxlLCBUYWJsZVByb3BzIH0gZnJvbSBcIn4vY29tcG9uZW50cy9UYWJsZVwiO1xuaW1wb3J0IHsgVGl0bGUgfSBmcm9tIFwifi9jb21wb25lbnRzL1RpdGxlXCI7XG5pbXBvcnQgeyBVcGxvYWRTdGF0dXMgfSBmcm9tIFwifi9jb21wb25lbnRzL1VwbG9hZFN0YXR1c1wiO1xuaW1wb3J0IHsgQmF0Y2hGaWxlVXBsb2FkZXIgfSBmcm9tIFwifi9CYXRjaEZpbGVVcGxvYWRlclwiO1xuaW1wb3J0IHsgU2VhcmNoV2lkZ2V0IH0gZnJvbSBcIi4vY29tcG9uZW50cy9TZWFyY2hXaWRnZXRcIjtcbmltcG9ydCB7IEZpbHRlcnMgfSBmcm9tIFwiLi9jb21wb25lbnRzL0ZpbHRlcnNcIjtcbmltcG9ydCB7IFRhZ3NMaXN0IH0gZnJvbSBcIn4vbW9kdWxlcy9GaWxlTWFuYWdlclJlbmRlcmVyL0ZpbGVNYW5hZ2VyVmlldy9jb21wb25lbnRzL1RhZ3NMaXN0XCI7XG5pbXBvcnQgeyBMaXN0RmlsZXNTb3J0LCBMaXN0RmlsZXNTb3J0SXRlbSB9IGZyb20gXCJ+L21vZHVsZXMvRmlsZU1hbmFnZXJBcGlQcm92aWRlci9ncmFwaHFsXCI7XG5pbXBvcnQgeyBUYWJsZUl0ZW0gfSBmcm9tIFwifi90eXBlc1wiO1xuXG5jb25zdCB0ID0gaTE4bi5ucyhcImFwcC1hZG1pbi9maWxlLW1hbmFnZXIvZmlsZS1tYW5hZ2VyLXZpZXdcIik7XG5cbmNvbnN0IEZpbGVMaXN0V3JhcHBlciA9IHN0eWxlZChcImRpdlwiKSh7XG4gICAgekluZGV4OiA2MCxcbiAgICBoZWlnaHQ6IFwiY2FsYygxMDB2aCAtIDk0cHgpXCIsXG4gICAgcG9zaXRpb246IFwicmVsYXRpdmVcIixcbiAgICBcIi5tZGMtZGF0YS10YWJsZVwiOiB7XG4gICAgICAgIGRpc3BsYXk6IFwiaW5saW5lLXRhYmxlXCJcbiAgICB9XG59KTtcblxudHlwZSBCcm93c2VGaWxlc0hhbmRsZXIgPSB7XG4gICAgYnJvd3NlRmlsZXM6IEZpbGVzUmVuZGVyQ2hpbGRyZW5bXCJicm93c2VGaWxlc1wiXTtcbn07XG5cbnR5cGUgR2V0RmlsZVVwbG9hZEVycm9yTWVzc2FnZVByb3BzID1cbiAgICB8IHN0cmluZ1xuICAgIHwge1xuICAgICAgICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICAgIH07XG5cbmNvbnN0IGNyZWF0ZVNvcnQgPSAoc29ydGluZz86IFNvcnRpbmcpOiBMaXN0RmlsZXNTb3J0IHwgdW5kZWZpbmVkID0+IHtcbiAgICBpZiAoIXNvcnRpbmc/Lmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gc29ydGluZy5yZWR1Y2U8TGlzdEZpbGVzU29ydD4oKGl0ZW1zLCBpdGVtKSA9PiB7XG4gICAgICAgIGNvbnN0IHNvcnQgPSBgJHtpdGVtLmlkfV8ke2l0ZW0uZGVzYyA/IFwiREVTQ1wiIDogXCJBU0NcIn1gIGFzIExpc3RGaWxlc1NvcnRJdGVtO1xuICAgICAgICBpZiAoaXRlbXMuaW5jbHVkZXMoc29ydCkpIHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtcztcbiAgICAgICAgfVxuICAgICAgICBpdGVtcy5wdXNoKHNvcnQpO1xuICAgICAgICByZXR1cm4gaXRlbXM7XG4gICAgfSwgW10pO1xufTtcblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBgbGF5b3V0SWRgIHRvIGJlIHVzZWQgd2l0aCB0aGUgYDxTcGxpdFZpZXcgLz5gIGNvbXBvbmVudC5cbiAqIFRoZSBgbGF5b3V0SWRgIGlzIGVzc2VudGlhbCBmb3Igc2F2aW5nIHVzZXIgcHJlZmVyZW5jZXMgaW50byBsb2NhbFN0b3JhZ2UuXG4gKiBUaGUgZ2VuZXJhdGlvbiBvZiB0aGUgYGxheW91dElkYCB0YWtlcyBpbnRvIGFjY291bnQgdGhlIGN1cnJlbnQgYHRlbmFudElkYCwgYGxvY2FsZUNvZGVgLCBhbmQgdGhlIHByb3ZpZGVkIGBhcHBsaWNhdGlvbklkYC5cbiAqXG4gKiAgVE9ETzogZXhwb3J0IHRoZSB1c2VMYXlvdXRJZCBmcm9tIGEgZ2VuZXJpYyB1c2UgcGFja2FnZSwgc3VjaCBhcyBhcHAtYWRtaW4uIEF0IHRoZSBtb21lbnQgaXMgbm90IHBvc3NpYmxlIGJlY2F1c2Ugb2YgY2lyY3VsYXIgZGVwZW5kZW5jeSBpc3N1ZXMuXG4gKi9cbmNvbnN0IHVzZUxheW91dElkID0gKGFwcGxpY2F0aW9uSWQ6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IHsgdGVuYW50IH0gPSB1c2VUZW5hbmN5KCk7XG4gICAgY29uc3QgeyBnZXRDdXJyZW50TG9jYWxlIH0gPSB1c2VJMThOKCk7XG4gICAgY29uc3QgbG9jYWxlQ29kZSA9IGdldEN1cnJlbnRMb2NhbGUoXCJjb250ZW50XCIpO1xuXG4gICAgaWYgKCF0ZW5hbnQgfHwgIWxvY2FsZUNvZGUpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFwiTWlzc2luZyB0ZW5hbnQgb3IgbG9jYWxlQ29kZSB3aGlsZSBjcmVhdGluZyBsYXlvdXRJZFwiKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIGBUIyR7dGVuYW50fSNMIyR7bG9jYWxlQ29kZX0jQSMke2FwcGxpY2F0aW9uSWR9YDtcbn07XG5cbmNvbnN0IEZpbGVNYW5hZ2VyVmlldyA9ICgpID0+IHtcbiAgICBjb25zdCB2aWV3ID0gdXNlRmlsZU1hbmFnZXJWaWV3KCk7XG4gICAgY29uc3QgZmlsZU1hbmFnZXIgPSB1c2VGaWxlTWFuYWdlckFwaSgpO1xuICAgIGNvbnN0IHsgYnJvd3NlciB9ID0gdXNlRmlsZU1hbmFnZXJWaWV3Q29uZmlnKCk7XG4gICAgY29uc3QgeyBzaG93U25hY2tiYXIgfSA9IHVzZVNuYWNrYmFyKCk7XG4gICAgY29uc3QgeyBzaG93RGlhbG9nOiBzaG93Q3JlYXRlRm9sZGVyRGlhbG9nIH0gPSB1c2VDcmVhdGVEaWFsb2coKTtcbiAgICBjb25zdCBbZHJhd2VyTG9hZGluZywgc2V0RHJhd2VyTG9hZGluZ10gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICAgIGNvbnN0IHVwbG9hZGVyID0gdXNlTWVtbzxCYXRjaEZpbGVVcGxvYWRlcj4oXG4gICAgICAgICgpID0+IG5ldyBCYXRjaEZpbGVVcGxvYWRlcih2aWV3LnVwbG9hZEZpbGUpLFxuICAgICAgICBbdmlldy5mb2xkZXJJZF1cbiAgICApO1xuXG4gICAgY29uc3QgW3RhYmxlU29ydGluZywgc2V0VGFibGVTb3J0aW5nXSA9IHVzZVN0YXRlPFNvcnRpbmc+KFtdKTtcbiAgICBjb25zdCBbY3VycmVudEZpbGUsIHNldEN1cnJlbnRGaWxlXSA9IHVzZVN0YXRlPEZpbGVJdGVtPigpO1xuICAgIGNvbnN0IGxheW91dElkID0gdXNlTGF5b3V0SWQoXCJmbTpmaWxlXCIpO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgZmV0Y2hGaWxlRGV0YWlscyA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGlmICh2aWV3LnNob3dpbmdGaWxlRGV0YWlscykge1xuICAgICAgICAgICAgICAgIHNldERyYXdlckxvYWRpbmcoXCJMb2FkaW5nIGZpbGUgZGV0YWlscy4uLlwiKTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlID0gYXdhaXQgdmlldy5nZXRGaWxlKHZpZXcuc2hvd2luZ0ZpbGVEZXRhaWxzKTtcbiAgICAgICAgICAgICAgICBzZXRDdXJyZW50RmlsZShmaWxlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc2V0Q3VycmVudEZpbGUodW5kZWZpbmVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNldERyYXdlckxvYWRpbmcobnVsbCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gY2FsbCB0aGUgZnVuY3Rpb25cbiAgICAgICAgZmV0Y2hGaWxlRGV0YWlscygpO1xuICAgIH0sIFt2aWV3LnNob3dpbmdGaWxlRGV0YWlsc10pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKCF0YWJsZVNvcnRpbmc/Lmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNvcnQgPSBjcmVhdGVTb3J0KHRhYmxlU29ydGluZyk7XG4gICAgICAgIGlmICghc29ydCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHZpZXcuc2V0TGlzdFNvcnQoc29ydCk7XG4gICAgfSwgW3RhYmxlU29ydGluZ10pO1xuXG4gICAgY29uc3QgZ2V0RmlsZVVwbG9hZEVycm9yTWVzc2FnZSA9IHVzZUNhbGxiYWNrKChlOiBHZXRGaWxlVXBsb2FkRXJyb3JNZXNzYWdlUHJvcHMpID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICBjb25zdCBtYXRjaCA9IGUubWF0Y2goL01lc3NhZ2U+KC4qPyk8XFwvTWVzc2FnZS8pO1xuICAgICAgICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgWywgbWVzc2FnZV0gPSBtYXRjaDtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWVzc2FnZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGUubWVzc2FnZTtcbiAgICB9LCBbXSk7XG5cbiAgICB1c2VIb3RrZXlzKHtcbiAgICAgICAgekluZGV4OiA1MCxcbiAgICAgICAga2V5czoge1xuICAgICAgICAgICAgZXNjOiB2aWV3Lm9uQ2xvc2VcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgdXBsb2FkRmlsZXMgPSBhc3luYyAoZmlsZXM6IEZpbGVbXSkgPT4ge1xuICAgICAgICB1cGxvYWRlci5hZGRGaWxlcyhmaWxlcyk7XG5cbiAgICAgICAgdXBsb2FkZXIub25VcGxvYWRGaW5pc2hlZCgoeyB1cGxvYWRlZCwgZXJyb3JzIH0pID0+IHtcbiAgICAgICAgICAgIHVwbG9hZGVyLnJlc2V0KCk7XG5cbiAgICAgICAgICAgIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHNob3dTbmFja2JhcihcbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt0YE9uZSBvciBtb3JlIGZpbGVzIHdlcmUgbm90IHVwbG9hZGVkIHN1Y2Nlc3NmdWxseTpgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPG9sPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvcnMubWFwKCh7IGZpbGUsIGUgfSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkga2V5PXtmaWxlLm5hbWV9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz57ZmlsZS5uYW1lfTwvc3Ryb25nPjoge2dldEZpbGVVcGxvYWRFcnJvck1lc3NhZ2UoZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L29sPlxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2hvd1NuYWNrYmFyKHRgRmlsZSB1cGxvYWQgY29tcGxldGUuYCwgeyB0aW1lb3V0OiAzMDAwIH0pO1xuXG4gICAgICAgICAgICB2aWV3Lm9uVXBsb2FkQ29tcGxldGlvbih1cGxvYWRlZCk7XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBjb25zdCByZW5kZXJVcGxvYWRGaWxlQWN0aW9uID0gdXNlQ2FsbGJhY2soXG4gICAgICAgICh7IGJyb3dzZUZpbGVzIH06IEJyb3dzZUZpbGVzSGFuZGxlcikgPT4ge1xuICAgICAgICAgICAgaWYgKCFmaWxlTWFuYWdlci5jYW5DcmVhdGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPEJ1dHRvblByaW1hcnlcbiAgICAgICAgICAgICAgICAgICAgZmxhdD17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgc21hbGw9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2Jyb3dzZUZpbGVzIGFzIEJ1dHRvblByb3BzW1wib25DbGlja1wiXX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25JY29uIGljb249ezxVcGxvYWRJY29uIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgICB7dGBVcGxvYWQuLi5gfVxuICAgICAgICAgICAgICAgIDwvQnV0dG9uUHJpbWFyeT5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICAgIFtmaWxlTWFuYWdlci5jYW5DcmVhdGVdXG4gICAgKTtcblxuICAgIGNvbnN0IGZpbGVzQmVpbmdVcGxvYWRlZCA9IHVwbG9hZGVyLmdldEpvYnMoKS5sZW5ndGg7XG4gICAgY29uc3QgcHJvZ3Jlc3MgPSB1cGxvYWRlci5wcm9ncmVzcztcblxuICAgIGNvbnN0IHJlbmRlckxpc3QgPSAoYnJvd3NlRmlsZXM6IEZpbGVzUmVuZGVyQ2hpbGRyZW5bXCJicm93c2VGaWxlc1wiXSkgPT4ge1xuICAgICAgICBpZiAoIXZpZXcuaXNMaXN0TG9hZGluZyAmJiB2aWV3LmlzU2VhcmNoICYmIHZpZXcuZmlsZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gPEVtcHR5IGlzU2VhcmNoUmVzdWx0PXt0cnVlfSBicm93c2VGaWxlcz17YnJvd3NlRmlsZXN9IC8+O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF2aWV3LmlzTGlzdExvYWRpbmcgJiYgdmlldy5maWxlcy5sZW5ndGggPT09IDAgJiYgdmlldy5mb2xkZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIDxFbXB0eSBpc1NlYXJjaFJlc3VsdD17ZmFsc2V9IGJyb3dzZUZpbGVzPXticm93c2VGaWxlc30gLz47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmlldy5saXN0VGFibGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGdldFNlbGVjdGFibGVSb3cgPSAocm93czogVGFibGVJdGVtW10pID0+XG4gICAgICAgICAgICAgICAgcm93c1xuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKHJvdyA9PiByb3cuJHR5cGUgPT09IFwiUkVDT1JEXCIpXG4gICAgICAgICAgICAgICAgICAgIC5tYXAocm93ID0+IG9taXQocm93LCBbXCIkdHlwZVwiLCBcIiRzZWxlY3RhYmxlXCJdKSBhcyBGaWxlSXRlbSk7XG5cbiAgICAgICAgICAgIGNvbnN0IG9uU2VsZWN0Um93OiBUYWJsZVByb3BzW1wib25TZWxlY3RSb3dcIl0gPSB2aWV3Lmhhc09uU2VsZWN0Q2FsbGJhY2tcbiAgICAgICAgICAgICAgICA/IHJvd3MgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVzID0gZ2V0U2VsZWN0YWJsZVJvdyhyb3dzKTtcblxuICAgICAgICAgICAgICAgICAgICAgIGlmICh2aWV3Lm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXcuc2V0U2VsZWN0ZWQoZmlsZXMpO1xuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXcub25DaGFuZ2UoZmlsZXNbMF0pO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA6IHJvd3MgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVzID0gZ2V0U2VsZWN0YWJsZVJvdyhyb3dzKTtcbiAgICAgICAgICAgICAgICAgICAgICB2aWV3LnNldFNlbGVjdGVkKGZpbGVzKTtcbiAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IG9uVG9nZ2xlUm93OiBUYWJsZVByb3BzW1wib25Ub2dnbGVSb3dcIl0gPSB2aWV3Lmhhc09uU2VsZWN0Q2FsbGJhY2tcbiAgICAgICAgICAgICAgICA/IHJvdyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsZXMgPSBnZXRTZWxlY3RhYmxlUm93KFtyb3ddKTtcblxuICAgICAgICAgICAgICAgICAgICAgIGlmICh2aWV3Lm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXcudG9nZ2xlU2VsZWN0ZWQoZmlsZXNbMF0pO1xuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXcub25DaGFuZ2UoZmlsZXNbMF0pO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA6IHJvdyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsZXMgPSBnZXRTZWxlY3RhYmxlUm93KFtyb3ddKTtcbiAgICAgICAgICAgICAgICAgICAgICB2aWV3LnRvZ2dsZVNlbGVjdGVkKGZpbGVzWzBdKTtcbiAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPFRhYmxlXG4gICAgICAgICAgICAgICAgICAgIG9uU2VsZWN0Um93PXtvblNlbGVjdFJvd31cbiAgICAgICAgICAgICAgICAgICAgb25Ub2dnbGVSb3c9e29uVG9nZ2xlUm93fVxuICAgICAgICAgICAgICAgICAgICBzb3J0aW5nPXt0YWJsZVNvcnRpbmd9XG4gICAgICAgICAgICAgICAgICAgIG9uU29ydGluZ0NoYW5nZT17c2V0VGFibGVTb3J0aW5nfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxHcmlkXG4gICAgICAgICAgICAgICAgZm9sZGVycz17dmlldy5mb2xkZXJzfVxuICAgICAgICAgICAgICAgIHJlY29yZHM9e3ZpZXcuZmlsZXN9XG4gICAgICAgICAgICAgICAgbG9hZGluZz17dmlldy5pc0xpc3RMb2FkaW5nfVxuICAgICAgICAgICAgICAgIG9uRm9sZGVyQ2xpY2s9e3ZpZXcuc2V0Rm9sZGVySWR9XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWQ9e3ZpZXcuc2VsZWN0ZWR9XG4gICAgICAgICAgICAgICAgbXVsdGlwbGU9e3ZpZXcubXVsdGlwbGV9XG4gICAgICAgICAgICAgICAgdG9nZ2xlU2VsZWN0ZWQ9e3ZpZXcudG9nZ2xlU2VsZWN0ZWR9XG4gICAgICAgICAgICAgICAgZGVzZWxlY3RBbGw9e3ZpZXcuZGVzZWxlY3RBbGx9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3ZpZXcub25DaGFuZ2V9XG4gICAgICAgICAgICAgICAgb25DbG9zZT17dmlldy5vbkNsb3NlfVxuICAgICAgICAgICAgICAgIGhhc09uU2VsZWN0Q2FsbGJhY2s9e3ZpZXcuaGFzT25TZWxlY3RDYWxsYmFja31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgfTtcblxuICAgIGNvbnN0IGxvYWRNb3JlT25TY3JvbGwgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgZGVib3VuY2UoYXN5bmMgKHsgc2Nyb2xsRnJhbWUgfTogeyBzY3JvbGxGcmFtZTogcG9zaXRpb25WYWx1ZXMgfSkgPT4ge1xuICAgICAgICAgICAgaWYgKHNjcm9sbEZyYW1lLnRvcCA+IDAuOCkge1xuICAgICAgICAgICAgICAgIHZpZXcubG9hZE1vcmVGaWxlcygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCAyMDApLFxuICAgICAgICBbdmlldy5tZXRhLCB2aWV3LmxvYWRNb3JlRmlsZXNdXG4gICAgKTtcblxuICAgIGNvbnN0IG9uQ3JlYXRlRm9sZGVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBzaG93Q3JlYXRlRm9sZGVyRGlhbG9nKHsgY3VycmVudFBhcmVudElkOiB2aWV3LmZvbGRlcklkIH0pO1xuICAgIH0sIFt2aWV3LmZvbGRlcklkXSk7XG5cbiAgICBjb25zdCB1cGRhdGVGaWxlID0gdXNlQ2FsbGJhY2soXG4gICAgICAgIGFzeW5jIChkYXRhOiBGaWxlSXRlbSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBpZCwgLi4uZmlsZURhdGEgfSA9IGRhdGE7XG4gICAgICAgICAgICBzZXREcmF3ZXJMb2FkaW5nKFwiU2F2aW5nIGZpbGUgY2hhbmdlcy4uLlwiKTtcbiAgICAgICAgICAgIGF3YWl0IHZpZXcudXBkYXRlRmlsZShpZCwgZmlsZURhdGEpO1xuICAgICAgICAgICAgc2V0RHJhd2VyTG9hZGluZyhudWxsKTtcbiAgICAgICAgICAgIHNob3dTbmFja2JhcihcIkZpbGUgdXBkYXRlZCBzdWNjZXNzZnVsbHkhXCIpO1xuICAgICAgICAgICAgdmlldy5oaWRlRmlsZURldGFpbHMoKTtcbiAgICAgICAgfSxcbiAgICAgICAgW3ZpZXcudXBkYXRlRmlsZV1cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICAgIDxGaWxlc1xuICAgICAgICAgICAgICAgIG11bHRpcGxlXG4gICAgICAgICAgICAgICAgbWF4U2l6ZT17dmlldy5zZXR0aW5ncyA/IHZpZXcuc2V0dGluZ3MudXBsb2FkTWF4RmlsZVNpemUgKyBcImJcIiA6IFwiMVRCXCJ9XG4gICAgICAgICAgICAgICAgbXVsdGlwbGVNYXhTaXplPXtcIjFUQlwifVxuICAgICAgICAgICAgICAgIGFjY2VwdD17dmlldy5hY2NlcHR9XG4gICAgICAgICAgICAgICAgb25TdWNjZXNzPXtmaWxlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVzVG9VcGxvYWQgPSBmaWxlc1xuICAgICAgICAgICAgICAgICAgICAgICAgLm1hcChmaWxlID0+IGZpbGUuc3JjLmZpbGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pIGFzIEZpbGVbXTtcbiAgICAgICAgICAgICAgICAgICAgdXBsb2FkRmlsZXMoZmlsZXNUb1VwbG9hZCk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBvbkVycm9yPXtlcnJvcnMgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gb3V0cHV0RmlsZVNlbGVjdGlvbkVycm9yKGVycm9ycyk7XG4gICAgICAgICAgICAgICAgICAgIHNob3dTbmFja2JhcihtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHsoeyBnZXREcm9wWm9uZVByb3BzLCBicm93c2VGaWxlcyB9KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxPdmVybGF5TGF5b3V0XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkV4aXRlZD17dmlldy5vbkNsb3NlfVxuICAgICAgICAgICAgICAgICAgICAgICAgYmFyTGVmdD17PFRpdGxlIHRpdGxlPXt2aWV3Lmxpc3RUaXRsZX0gLz59XG4gICAgICAgICAgICAgICAgICAgICAgICBiYXJNaWRkbGU9ezxTZWFyY2hXaWRnZXQgLz59XG4gICAgICAgICAgICAgICAgICAgICAgICBiYXJSaWdodD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3ZpZXcuaGFzT25TZWxlY3RDYWxsYmFjayAmJiB2aWV3LnNlbGVjdGVkLmxlbmd0aCA+IDAgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uUHJpbWFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYXQ9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc21hbGw9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gdmlldy5vbkNoYW5nZSh2aWV3LnNlbGVjdGVkKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dGBTZWxlY3RgfSB7dmlldy5tdWx0aXBsZSAmJiBgKCR7dmlldy5zZWxlY3RlZC5sZW5ndGh9KWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvblByaW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJVcGxvYWRGaWxlQWN0aW9uKHsgYnJvd3NlRmlsZXMgfSBhcyBCcm93c2VGaWxlc0hhbmRsZXIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25TZWNvbmRhcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtcImZpbGUtbWFuYWdlci5jcmVhdGUtZm9sZGVyLWJ1dHRvblwifVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17b25DcmVhdGVGb2xkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbWFsbD17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpbjogXCIwIDhweFwiIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25JY29uIGljb249ezxBZGRJY29uIC8+fSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3RgTmV3IEZvbGRlcmB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uU2Vjb25kYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGF5b3V0U3dpdGNoIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZpbGVEZXRhaWxzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc9e2RyYXdlckxvYWRpbmd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU9e2N1cnJlbnRGaWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuPXtCb29sZWFuKHZpZXcuc2hvd2luZ0ZpbGVEZXRhaWxzKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbG9zZT17dmlldy5oaWRlRmlsZURldGFpbHN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uU2F2ZT17dXBkYXRlRmlsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTcGxpdFZpZXcgbGF5b3V0SWQ9e2xheW91dElkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExlZnRQYW5lbCBzcGFuPXsyfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMZWZ0U2lkZWJhclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRGb2xkZXI9e3ZpZXcuZm9sZGVySWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Gb2xkZXJDbGljaz17dmlldy5zZXRGb2xkZXJJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7YnJvd3Nlci5maWx0ZXJCeVRhZ3MgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUYWdzTGlzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZz17dmlldy50YWdzLmxvYWRpbmd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVUYWdzPXt2aWV3LnRhZ3MuYWN0aXZlVGFnc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhZ3M9e3ZpZXcudGFncy5hbGxUYWdzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25BY3RpdmF0ZWRUYWdzQ2hhbmdlPXt2aWV3LnRhZ3Muc2V0QWN0aXZlVGFnc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGVmdFNpZGViYXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGVmdFBhbmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UmlnaHRQYW5lbCBzcGFuPXsxMH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmlsZUxpc3RXcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey4uLmdldERyb3Bab25lUHJvcHMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkRyYWdPdmVyOiAoKSA9PiB2aWV3LnNldERyYWdnaW5nKHRydWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkRyYWdMZWF2ZTogKCkgPT4gdmlldy5zZXREcmFnZ2luZyhmYWxzZSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRHJvcDogKCkgPT4gdmlldy5zZXREcmFnZ2luZyhmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD17XCJmbS1saXN0LXdyYXBwZXJcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dmlldy5kcmFnZ2luZyAmJiA8RHJvcEZpbGVzSGVyZSAvPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnVsa0FjdGlvbnMgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmlsdGVycyAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTY3JvbGxiYXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25TY3JvbGxGcmFtZT17c2Nyb2xsRnJhbWUgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRNb3JlT25TY3JvbGwoeyBzY3JvbGxGcmFtZSB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cmVuZGVyTGlzdChicm93c2VGaWxlcyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TY3JvbGxiYXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJvdHRvbUluZm9CYXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXB0PXt2aWV3LmFjY2VwdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdGluZz17dmlldy5pc0xpc3RMb2FkaW5nTW9yZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZz17dmlldy5pc0xpc3RMb2FkaW5nfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbENvdW50PXt2aWV3Lm1ldGE/LnRvdGFsQ291bnQgPz8gMH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudENvdW50PXt2aWV3LmZpbGVzLmxlbmd0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVcGxvYWRTdGF0dXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyT2ZGaWxlcz17ZmlsZXNCZWluZ1VwbG9hZGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmVzcz17cHJvZ3Jlc3N9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRmlsZUxpc3RXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1JpZ2h0UGFuZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TcGxpdFZpZXc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgPC9PdmVybGF5TGF5b3V0PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0ZpbGVzPlxuICAgICAgICA8Lz5cbiAgICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgb2JzZXJ2ZXIoRmlsZU1hbmFnZXJWaWV3KTtcbiJdfQ== */",
|
|
63
|
-
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
64
|
-
});
|
|
65
|
-
var createSort = function createSort(sorting) {
|
|
1
|
+
import React, { useCallback, useEffect, useMemo, useState } from "react";
|
|
2
|
+
import Files from "react-butterfiles";
|
|
3
|
+
import debounce from "lodash/debounce";
|
|
4
|
+
import omit from "lodash/omit";
|
|
5
|
+
// @ts-expect-error
|
|
6
|
+
import { useHotkeys } from "react-hotkeyz";
|
|
7
|
+
import { observer } from "mobx-react-lite";
|
|
8
|
+
import { Heading, Scrollbar } from "@webiny/admin-ui";
|
|
9
|
+
import { i18n } from "@webiny/app/i18n";
|
|
10
|
+
import { OverlayLayout, useSnackbar } from "@webiny/app-admin";
|
|
11
|
+
import { LeftPanel, RightPanel, SplitView } from "@webiny/app-admin/components/SplitView";
|
|
12
|
+
import { useI18N } from "@webiny/app-i18n";
|
|
13
|
+
import { useTenancy } from "@webiny/app-tenancy";
|
|
14
|
+
import { useFileManagerView } from "../FileManagerViewProvider";
|
|
15
|
+
import { outputFileSelectionError } from "./outputFileSelectionError";
|
|
16
|
+
import { LeftSidebar } from "./LeftSidebar";
|
|
17
|
+
import { useFileManagerViewConfig } from "../../..";
|
|
18
|
+
import { BatchFileUploader } from "../../../BatchFileUploader";
|
|
19
|
+
import { BottomInfoBar } from "../../../components/BottomInfoBar";
|
|
20
|
+
import { BulkActions } from "../../../components/BulkActions";
|
|
21
|
+
import { FileDropPlaceholder } from "../../../components/FileDropPlaceholder";
|
|
22
|
+
import { Empty } from "../../../components/Empty";
|
|
23
|
+
import { FileDetails } from "../../../components/FileDetails";
|
|
24
|
+
import { Filters } from "../../../components/Filters";
|
|
25
|
+
import { Grid } from "../../../components/Grid";
|
|
26
|
+
import { Header } from "../../../components/Header";
|
|
27
|
+
import { SearchWidget } from "../../../components/SearchWidget";
|
|
28
|
+
import { Table } from "../../../components/Table";
|
|
29
|
+
import { TagsList } from "../../../components/TagsList";
|
|
30
|
+
import { UploadStatus } from "../../../components/UploadStatus";
|
|
31
|
+
const t = i18n.ns("app-admin/file-manager/file-manager-view");
|
|
32
|
+
const createSort = sorting => {
|
|
66
33
|
if (!sorting?.length) {
|
|
67
34
|
return undefined;
|
|
68
35
|
}
|
|
69
|
-
return sorting.reduce(
|
|
70
|
-
|
|
36
|
+
return sorting.reduce((items, item) => {
|
|
37
|
+
const sort = `${item.id}_${item.desc ? "DESC" : "ASC"}`;
|
|
71
38
|
if (items.includes(sort)) {
|
|
72
39
|
return items;
|
|
73
40
|
}
|
|
@@ -83,48 +50,38 @@ var createSort = function createSort(sorting) {
|
|
|
83
50
|
*
|
|
84
51
|
* TODO: export the useLayoutId from a generic use package, such as app-admin. At the moment is not possible because of circular dependency issues.
|
|
85
52
|
*/
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
tenant
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
53
|
+
const useLayoutId = applicationId => {
|
|
54
|
+
const {
|
|
55
|
+
tenant
|
|
56
|
+
} = useTenancy();
|
|
57
|
+
const {
|
|
58
|
+
getCurrentLocale
|
|
59
|
+
} = useI18N();
|
|
60
|
+
const localeCode = getCurrentLocale("content");
|
|
92
61
|
if (!tenant || !localeCode) {
|
|
93
62
|
console.warn("Missing tenant or localeCode while creating layoutId");
|
|
94
63
|
return null;
|
|
95
64
|
}
|
|
96
|
-
return
|
|
65
|
+
return `T#${tenant}#L#${localeCode}#A#${applicationId}`;
|
|
97
66
|
};
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
showSnackbar
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
}, [view.folderId]);
|
|
114
|
-
var _useState3 = (0, _react.useState)([]),
|
|
115
|
-
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
116
|
-
tableSorting = _useState4[0],
|
|
117
|
-
setTableSorting = _useState4[1];
|
|
118
|
-
var _useState5 = (0, _react.useState)(),
|
|
119
|
-
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
120
|
-
currentFile = _useState6[0],
|
|
121
|
-
setCurrentFile = _useState6[1];
|
|
122
|
-
var layoutId = useLayoutId("fm:file");
|
|
123
|
-
(0, _react.useEffect)(function () {
|
|
124
|
-
var fetchFileDetails = async function fetchFileDetails() {
|
|
67
|
+
const FileManagerView = () => {
|
|
68
|
+
const view = useFileManagerView();
|
|
69
|
+
const {
|
|
70
|
+
browser
|
|
71
|
+
} = useFileManagerViewConfig();
|
|
72
|
+
const {
|
|
73
|
+
showSnackbar
|
|
74
|
+
} = useSnackbar();
|
|
75
|
+
const [drawerLoading, setDrawerLoading] = useState(null);
|
|
76
|
+
const uploader = useMemo(() => new BatchFileUploader(view.uploadFile), [view.folderId]);
|
|
77
|
+
const [tableSorting, setTableSorting] = useState([]);
|
|
78
|
+
const [currentFile, setCurrentFile] = useState();
|
|
79
|
+
const layoutId = useLayoutId("fm:file");
|
|
80
|
+
useEffect(() => {
|
|
81
|
+
const fetchFileDetails = async () => {
|
|
125
82
|
if (view.showingFileDetails) {
|
|
126
83
|
setDrawerLoading("Loading file details...");
|
|
127
|
-
|
|
84
|
+
const file = await view.getFile(view.showingFileDetails);
|
|
128
85
|
setCurrentFile(file);
|
|
129
86
|
} else {
|
|
130
87
|
setCurrentFile(undefined);
|
|
@@ -135,122 +92,104 @@ var FileManagerView = function FileManagerView() {
|
|
|
135
92
|
// call the function
|
|
136
93
|
fetchFileDetails();
|
|
137
94
|
}, [view.showingFileDetails]);
|
|
138
|
-
|
|
95
|
+
useEffect(() => {
|
|
139
96
|
if (!tableSorting?.length) {
|
|
140
97
|
return;
|
|
141
98
|
}
|
|
142
|
-
|
|
99
|
+
const sort = createSort(tableSorting);
|
|
143
100
|
if (!sort) {
|
|
144
101
|
return;
|
|
145
102
|
}
|
|
146
103
|
view.setListSort(sort);
|
|
147
104
|
}, [tableSorting]);
|
|
148
|
-
|
|
105
|
+
const getFileUploadErrorMessage = useCallback(e => {
|
|
149
106
|
if (typeof e === "string") {
|
|
150
|
-
|
|
107
|
+
const match = e.match(/Message>(.*?)<\/Message/);
|
|
151
108
|
if (match) {
|
|
152
|
-
|
|
153
|
-
message = _match[1];
|
|
109
|
+
const [, message] = match;
|
|
154
110
|
return message;
|
|
155
111
|
}
|
|
156
112
|
return e;
|
|
157
113
|
}
|
|
158
114
|
return e.message;
|
|
159
115
|
}, []);
|
|
160
|
-
|
|
161
|
-
zIndex:
|
|
116
|
+
useHotkeys({
|
|
117
|
+
zIndex: 20,
|
|
162
118
|
keys: {
|
|
163
119
|
esc: view.onClose
|
|
164
120
|
}
|
|
165
121
|
});
|
|
166
|
-
|
|
122
|
+
const uploadFiles = async files => {
|
|
167
123
|
uploader.addFiles(files);
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
124
|
+
view.setIsUploadProgressIndicatorVisible(true);
|
|
125
|
+
uploader.onUploadFinished(({
|
|
126
|
+
uploaded,
|
|
127
|
+
errors
|
|
128
|
+
}) => {
|
|
171
129
|
uploader.reset();
|
|
130
|
+
view.setIsUploadProgressIndicatorVisible(true);
|
|
172
131
|
if (errors.length > 0) {
|
|
173
|
-
showSnackbar(/*#__PURE__*/
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
}))));
|
|
132
|
+
showSnackbar(/*#__PURE__*/React.createElement(React.Fragment, null, t`One or more files were not uploaded successfully:`, /*#__PURE__*/React.createElement("ol", null, errors.map(({
|
|
133
|
+
file,
|
|
134
|
+
e
|
|
135
|
+
}) => /*#__PURE__*/React.createElement("li", {
|
|
136
|
+
key: file.name
|
|
137
|
+
}, /*#__PURE__*/React.createElement("strong", null, file.name), ": ", getFileUploadErrorMessage(e))))));
|
|
180
138
|
return;
|
|
181
139
|
}
|
|
182
|
-
showSnackbar(t
|
|
140
|
+
showSnackbar(t`File upload complete.`, {
|
|
183
141
|
timeout: 3000
|
|
184
142
|
});
|
|
185
143
|
view.onUploadCompletion(uploaded);
|
|
186
144
|
});
|
|
187
145
|
};
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
return null;
|
|
192
|
-
}
|
|
193
|
-
return /*#__PURE__*/_react.default.createElement(_Button.ButtonPrimary, {
|
|
194
|
-
flat: true,
|
|
195
|
-
small: true,
|
|
196
|
-
onClick: browseFiles
|
|
197
|
-
}, /*#__PURE__*/_react.default.createElement(_Button.ButtonIcon, {
|
|
198
|
-
icon: /*#__PURE__*/_react.default.createElement(_cloud_upload.ReactComponent, null)
|
|
199
|
-
}), t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["Upload..."]))));
|
|
200
|
-
}, [fileManager.canCreate]);
|
|
201
|
-
var filesBeingUploaded = uploader.getJobs().length;
|
|
202
|
-
var progress = uploader.progress;
|
|
203
|
-
var renderList = function renderList(browseFiles) {
|
|
146
|
+
const filesBeingUploaded = uploader.getJobs().length;
|
|
147
|
+
const progress = uploader.progress;
|
|
148
|
+
const renderList = browseFiles => {
|
|
204
149
|
if (!view.isListLoading && view.isSearch && view.files.length === 0) {
|
|
205
|
-
return /*#__PURE__*/
|
|
150
|
+
return /*#__PURE__*/React.createElement(Empty, {
|
|
206
151
|
isSearchResult: true,
|
|
207
152
|
browseFiles: browseFiles
|
|
208
153
|
});
|
|
209
154
|
}
|
|
210
155
|
if (!view.isListLoading && view.files.length === 0 && view.folders.length === 0) {
|
|
211
|
-
return /*#__PURE__*/
|
|
156
|
+
return /*#__PURE__*/React.createElement(Empty, {
|
|
212
157
|
isSearchResult: false,
|
|
213
158
|
browseFiles: browseFiles
|
|
214
159
|
});
|
|
215
160
|
}
|
|
216
161
|
if (view.listTable) {
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
}).map(function (row) {
|
|
221
|
-
return (0, _omit.default)(row, ["$type", "$selectable"]);
|
|
222
|
-
});
|
|
223
|
-
};
|
|
224
|
-
var onSelectRow = view.hasOnSelectCallback ? function (rows) {
|
|
225
|
-
var files = getSelectableRow(rows);
|
|
162
|
+
const getSelectableRow = rows => rows.filter(row => row.$type === "RECORD").map(row => omit(row, ["$type", "$selectable"]));
|
|
163
|
+
const onSelectRow = view.hasOnSelectCallback ? rows => {
|
|
164
|
+
const files = getSelectableRow(rows);
|
|
226
165
|
if (view.multiple) {
|
|
227
166
|
view.setSelected(files);
|
|
228
167
|
} else {
|
|
229
168
|
view.onChange(files[0]);
|
|
230
169
|
}
|
|
231
|
-
} :
|
|
232
|
-
|
|
170
|
+
} : rows => {
|
|
171
|
+
const files = getSelectableRow(rows);
|
|
233
172
|
view.setSelected(files);
|
|
234
173
|
};
|
|
235
|
-
|
|
236
|
-
|
|
174
|
+
const onToggleRow = view.hasOnSelectCallback ? row => {
|
|
175
|
+
const files = getSelectableRow([row]);
|
|
237
176
|
if (view.multiple) {
|
|
238
177
|
view.toggleSelected(files[0]);
|
|
239
178
|
} else {
|
|
240
179
|
view.onChange(files[0]);
|
|
241
180
|
}
|
|
242
|
-
} :
|
|
243
|
-
|
|
181
|
+
} : row => {
|
|
182
|
+
const files = getSelectableRow([row]);
|
|
244
183
|
view.toggleSelected(files[0]);
|
|
245
184
|
};
|
|
246
|
-
return /*#__PURE__*/
|
|
185
|
+
return /*#__PURE__*/React.createElement(Table, {
|
|
247
186
|
onSelectRow: onSelectRow,
|
|
248
187
|
onToggleRow: onToggleRow,
|
|
249
188
|
sorting: tableSorting,
|
|
250
189
|
onSortingChange: setTableSorting
|
|
251
190
|
});
|
|
252
191
|
}
|
|
253
|
-
return /*#__PURE__*/
|
|
192
|
+
return /*#__PURE__*/React.createElement(Grid, {
|
|
254
193
|
folders: view.folders,
|
|
255
194
|
records: view.files,
|
|
256
195
|
loading: view.isListLoading,
|
|
@@ -261,121 +200,103 @@ var FileManagerView = function FileManagerView() {
|
|
|
261
200
|
deselectAll: view.deselectAll,
|
|
262
201
|
onChange: view.onChange,
|
|
263
202
|
onClose: view.onClose,
|
|
264
|
-
hasOnSelectCallback: view.hasOnSelectCallback
|
|
203
|
+
hasOnSelectCallback: view.hasOnSelectCallback,
|
|
204
|
+
displaySubFolders: view.displaySubFolders
|
|
265
205
|
});
|
|
266
206
|
};
|
|
267
|
-
|
|
268
|
-
|
|
207
|
+
const loadMoreOnScroll = useCallback(debounce(async ({
|
|
208
|
+
scrollFrame
|
|
209
|
+
}) => {
|
|
269
210
|
if (scrollFrame.top > 0.8) {
|
|
270
211
|
view.loadMoreFiles();
|
|
271
212
|
}
|
|
272
213
|
}, 200), [view.meta, view.loadMoreFiles]);
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
var updateFile = (0, _react.useCallback)(async function (data) {
|
|
279
|
-
var id = data.id,
|
|
280
|
-
fileData = (0, _objectWithoutProperties2.default)(data, _excluded);
|
|
214
|
+
const updateFile = useCallback(async data => {
|
|
215
|
+
const {
|
|
216
|
+
id,
|
|
217
|
+
...fileData
|
|
218
|
+
} = data;
|
|
281
219
|
setDrawerLoading("Saving file changes...");
|
|
282
220
|
await view.updateFile(id, fileData);
|
|
283
221
|
setDrawerLoading(null);
|
|
284
222
|
showSnackbar("File updated successfully!");
|
|
285
223
|
view.hideFileDetails();
|
|
286
224
|
}, [view.updateFile]);
|
|
287
|
-
return /*#__PURE__*/
|
|
225
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Files, {
|
|
288
226
|
multiple: true,
|
|
289
227
|
maxSize: view.settings ? view.settings.uploadMaxFileSize + "b" : "1TB",
|
|
290
228
|
multipleMaxSize: "1TB",
|
|
291
229
|
accept: view.accept,
|
|
292
|
-
onSuccess:
|
|
293
|
-
|
|
294
|
-
return file.src.file;
|
|
295
|
-
}).filter(Boolean);
|
|
230
|
+
onSuccess: files => {
|
|
231
|
+
const filesToUpload = files.map(file => file.src.file).filter(Boolean);
|
|
296
232
|
uploadFiles(filesToUpload);
|
|
297
233
|
},
|
|
298
|
-
onError:
|
|
299
|
-
|
|
234
|
+
onError: errors => {
|
|
235
|
+
const message = outputFileSelectionError(errors);
|
|
300
236
|
showSnackbar(message);
|
|
301
237
|
}
|
|
302
|
-
},
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
return loadMoreOnScroll({
|
|
364
|
-
scrollFrame: scrollFrame
|
|
365
|
-
});
|
|
366
|
-
}
|
|
367
|
-
}, renderList(browseFiles)), /*#__PURE__*/_react.default.createElement(_BottomInfoBar.BottomInfoBar, {
|
|
368
|
-
accept: view.accept,
|
|
369
|
-
listing: view.isListLoadingMore,
|
|
370
|
-
loading: view.isListLoading,
|
|
371
|
-
totalCount: view.meta?.totalCount ?? 0,
|
|
372
|
-
currentCount: view.files.length
|
|
373
|
-
}), /*#__PURE__*/_react.default.createElement(_UploadStatus.UploadStatus, {
|
|
374
|
-
numberOfFiles: filesBeingUploaded,
|
|
375
|
-
progress: progress
|
|
376
|
-
}))))));
|
|
377
|
-
}));
|
|
238
|
+
}, ({
|
|
239
|
+
getDropZoneProps,
|
|
240
|
+
browseFiles
|
|
241
|
+
}) => /*#__PURE__*/React.createElement(OverlayLayout, {
|
|
242
|
+
variant: "strong",
|
|
243
|
+
onExited: view.onClose,
|
|
244
|
+
barLeft: /*#__PURE__*/React.createElement(Heading, {
|
|
245
|
+
level: 5
|
|
246
|
+
}, "File manager"),
|
|
247
|
+
barMiddle: /*#__PURE__*/React.createElement(SearchWidget, null)
|
|
248
|
+
}, /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FileDetails, {
|
|
249
|
+
loading: drawerLoading,
|
|
250
|
+
file: currentFile,
|
|
251
|
+
open: Boolean(view.showingFileDetails),
|
|
252
|
+
onClose: view.hideFileDetails,
|
|
253
|
+
onSave: updateFile
|
|
254
|
+
}), /*#__PURE__*/React.createElement(SplitView, {
|
|
255
|
+
layoutId: layoutId
|
|
256
|
+
}, /*#__PURE__*/React.createElement(LeftPanel, {
|
|
257
|
+
span: 2
|
|
258
|
+
}, /*#__PURE__*/React.createElement(LeftSidebar, {
|
|
259
|
+
currentFolder: view.folderId,
|
|
260
|
+
onFolderClick: view.setFolderId
|
|
261
|
+
}, browser.filterByTags ? /*#__PURE__*/React.createElement(TagsList, {
|
|
262
|
+
loading: view.tags.loading,
|
|
263
|
+
activeTags: view.tags.activeTags,
|
|
264
|
+
tags: view.tags.allTags,
|
|
265
|
+
onActivatedTagsChange: view.tags.setActiveTags
|
|
266
|
+
}) : null)), /*#__PURE__*/React.createElement(RightPanel, {
|
|
267
|
+
span: 10
|
|
268
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
269
|
+
className: "wby-flex wby-flex-col wby-relative",
|
|
270
|
+
style: {
|
|
271
|
+
height: "calc(100vh - 69px"
|
|
272
|
+
}
|
|
273
|
+
}, /*#__PURE__*/React.createElement(Header, {
|
|
274
|
+
browseFiles: browseFiles
|
|
275
|
+
}), /*#__PURE__*/React.createElement("div", Object.assign({
|
|
276
|
+
className: "wby-flex-1"
|
|
277
|
+
}, getDropZoneProps({
|
|
278
|
+
onDragOver: () => view.setDragging(true),
|
|
279
|
+
onDragLeave: () => view.setDragging(false),
|
|
280
|
+
onDrop: () => view.setDragging(false)
|
|
281
|
+
}), {
|
|
282
|
+
"data-testid": "fm-list-wrapper"
|
|
283
|
+
}), /*#__PURE__*/React.createElement(BulkActions, null), /*#__PURE__*/React.createElement(Filters, null), /*#__PURE__*/React.createElement(Scrollbar, {
|
|
284
|
+
onScrollFrame: scrollFrame => loadMoreOnScroll({
|
|
285
|
+
scrollFrame
|
|
286
|
+
})
|
|
287
|
+
}, renderList(browseFiles)), view.dragging && /*#__PURE__*/React.createElement(FileDropPlaceholder, null), /*#__PURE__*/React.createElement(UploadStatus, {
|
|
288
|
+
numberOfFiles: filesBeingUploaded,
|
|
289
|
+
progress: progress,
|
|
290
|
+
isVisible: view.isUploadProgressIndicatorVisible,
|
|
291
|
+
setIsVisible: view.setIsUploadProgressIndicatorVisible
|
|
292
|
+
})), /*#__PURE__*/React.createElement(BottomInfoBar, {
|
|
293
|
+
accept: view.accept,
|
|
294
|
+
listing: view.isListLoadingMore,
|
|
295
|
+
loading: view.isListLoading,
|
|
296
|
+
totalCount: view.meta?.totalCount ?? 0,
|
|
297
|
+
currentCount: view.files.length
|
|
298
|
+
}))))))));
|
|
378
299
|
};
|
|
379
|
-
|
|
300
|
+
export default observer(FileManagerView);
|
|
380
301
|
|
|
381
302
|
//# sourceMappingURL=FileManagerView.js.map
|