@webiny/app-aco 6.3.0 → 6.4.0-beta.1
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/app.js +3 -4
- package/app.js.map +1 -1
- package/components/Actions/DeleteFolder/DeleteFolder.js +21 -26
- package/components/Actions/DeleteFolder/DeleteFolder.js.map +1 -1
- package/components/Actions/DeleteFolder/index.js +0 -2
- package/components/Actions/EditFolder/EditFolder.js +20 -25
- package/components/Actions/EditFolder/EditFolder.js.map +1 -1
- package/components/Actions/EditFolder/index.js +0 -2
- package/components/Actions/SetFolderPemissions/SetFolderPermissions.js +20 -25
- package/components/Actions/SetFolderPemissions/SetFolderPermissions.js.map +1 -1
- package/components/Actions/SetFolderPemissions/index.js +0 -2
- package/components/Actions/index.js +0 -2
- package/components/AdvancedSearch/AdvancedSearch.js +67 -75
- package/components/AdvancedSearch/AdvancedSearch.js.map +1 -1
- package/components/AdvancedSearch/AdvancedSearchConfigs.js +37 -40
- package/components/AdvancedSearch/AdvancedSearchConfigs.js.map +1 -1
- package/components/AdvancedSearch/AdvancedSearchPresenter.js +178 -199
- package/components/AdvancedSearch/AdvancedSearchPresenter.js.map +1 -1
- package/components/AdvancedSearch/AdvancedSearchPresenter.test.js +653 -720
- package/components/AdvancedSearch/AdvancedSearchPresenter.test.js.map +1 -1
- package/components/AdvancedSearch/Button/Button.js +13 -16
- package/components/AdvancedSearch/Button/Button.js.map +1 -1
- package/components/AdvancedSearch/Button/index.js +0 -2
- package/components/AdvancedSearch/GraphQLInputMapper.js +29 -40
- package/components/AdvancedSearch/GraphQLInputMapper.js.map +1 -1
- package/components/AdvancedSearch/GraphQLInputMapper.test.js +179 -139
- package/components/AdvancedSearch/GraphQLInputMapper.test.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js +57 -58
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.js +25 -26
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.js +51 -71
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/FilterOperationLabel.js +9 -13
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/FilterOperationLabel.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/GroupOperationLabel.js +14 -14
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/GroupOperationLabel.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.js +11 -20
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js +15 -25
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddFilter.js +14 -17
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddFilter.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddGroup.js +11 -14
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddGroup.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/RemoveFilter.js +14 -18
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/RemoveFilter.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/index.js +0 -2
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.js +0 -2
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.js +0 -2
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js +65 -67
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js +110 -139
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js +345 -328
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/index.js +0 -2
- package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.js +23 -27
- package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.js.map +1 -1
- package/components/AdvancedSearch/QueryManagerDialog/components/Description.js +8 -10
- package/components/AdvancedSearch/QueryManagerDialog/components/Description.js.map +1 -1
- package/components/AdvancedSearch/QueryManagerDialog/components/Empty.js +16 -17
- package/components/AdvancedSearch/QueryManagerDialog/components/Empty.js.map +1 -1
- package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.js +41 -42
- package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.js.map +1 -1
- package/components/AdvancedSearch/QueryManagerDialog/components/index.js +0 -2
- package/components/AdvancedSearch/QueryManagerDialog/index.js +0 -2
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js +52 -59
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js.map +1 -1
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js +39 -52
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js.map +1 -1
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.js +58 -66
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.js.map +1 -1
- package/components/AdvancedSearch/QuerySaverDialog/index.js +0 -2
- package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js +18 -19
- package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js.map +1 -1
- package/components/AdvancedSearch/SelectedFilter/index.js +0 -2
- package/components/AdvancedSearch/domain/Feedback.js +12 -11
- package/components/AdvancedSearch/domain/Feedback.js.map +1 -1
- package/components/AdvancedSearch/domain/Field.js +206 -190
- package/components/AdvancedSearch/domain/Field.js.map +1 -1
- package/components/AdvancedSearch/domain/FieldMapper.js +40 -41
- package/components/AdvancedSearch/domain/FieldMapper.js.map +1 -1
- package/components/AdvancedSearch/domain/Filter.js +64 -47
- package/components/AdvancedSearch/domain/Filter.js.map +1 -1
- package/components/AdvancedSearch/domain/FilterMapper.js +35 -34
- package/components/AdvancedSearch/domain/FilterMapper.js.map +1 -1
- package/components/AdvancedSearch/domain/FilterRepository.js +84 -85
- package/components/AdvancedSearch/domain/FilterRepository.js.map +1 -1
- package/components/AdvancedSearch/domain/FilterRepositoryFactory.js +8 -9
- package/components/AdvancedSearch/domain/FilterRepositoryFactory.js.map +1 -1
- package/components/AdvancedSearch/domain/Loading.js +47 -46
- package/components/AdvancedSearch/domain/Loading.js.map +1 -1
- package/components/AdvancedSearch/domain/Operation.js +5 -4
- package/components/AdvancedSearch/domain/Operation.js.map +1 -1
- package/components/AdvancedSearch/domain/Sorter.js +17 -16
- package/components/AdvancedSearch/domain/Sorter.js.map +1 -1
- package/components/AdvancedSearch/domain/index.js +0 -2
- package/components/AdvancedSearch/fields/Boolean.js +23 -25
- package/components/AdvancedSearch/fields/Boolean.js.map +1 -1
- package/components/AdvancedSearch/fields/DateWithTimezone.js +47 -52
- package/components/AdvancedSearch/fields/DateWithTimezone.js.map +1 -1
- package/components/AdvancedSearch/fields/DateWithoutTimezone.js +26 -30
- package/components/AdvancedSearch/fields/DateWithoutTimezone.js.map +1 -1
- package/components/AdvancedSearch/fields/Input.js +12 -14
- package/components/AdvancedSearch/fields/Input.js.map +1 -1
- package/components/AdvancedSearch/fields/PredefinedValues.js +17 -23
- package/components/AdvancedSearch/fields/PredefinedValues.js.map +1 -1
- package/components/AdvancedSearch/fields/index.js +0 -2
- package/components/AdvancedSearch/gateways/FiltersGatewayInterface.js +0 -3
- package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js +69 -121
- package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js.map +1 -1
- package/components/AdvancedSearch/gateways/filters.gql.js +9 -8
- package/components/AdvancedSearch/gateways/filters.gql.js.map +1 -1
- package/components/AdvancedSearch/gateways/filters.types.js +0 -3
- package/components/AdvancedSearch/gateways/index.js +0 -2
- package/components/AdvancedSearch/index.js +22 -24
- package/components/AdvancedSearch/index.js.map +1 -1
- package/components/AdvancedSearch/useFilterRepository.js +4 -3
- package/components/AdvancedSearch/useFilterRepository.js.map +1 -1
- package/components/AdvancedSearch/useInputField.js +4 -6
- package/components/AdvancedSearch/useInputField.js.map +1 -1
- package/components/Extensions/Extensions.js +23 -26
- package/components/Extensions/Extensions.js.map +1 -1
- package/components/Extensions/index.js +0 -2
- package/components/FolderGrid/FolderGridItem.js +67 -62
- package/components/FolderGrid/FolderGridItem.js.map +1 -1
- package/components/FolderGrid/index.js +0 -2
- package/components/FolderIcons/assets/folder-shared-icon.js +25 -0
- package/components/FolderIcons/assets/folder-shared-icon.js.map +1 -0
- package/components/FolderIcons/assets/folder.js +21 -0
- package/components/FolderIcons/assets/folder.js.map +1 -0
- package/components/FolderIcons/index.js +2 -5
- package/components/FolderPicker/FolderPicker.js +23 -20
- package/components/FolderPicker/FolderPicker.js.map +1 -1
- package/components/FolderTree/ButtonCreate/ButtonCreate.d.ts +1 -0
- package/components/FolderTree/ButtonCreate/ButtonCreate.js +17 -14
- package/components/FolderTree/ButtonCreate/ButtonCreate.js.map +1 -1
- package/components/FolderTree/ButtonCreate/index.js +0 -2
- package/components/FolderTree/Empty/Empty.js +5 -6
- package/components/FolderTree/Empty/Empty.js.map +1 -1
- package/components/FolderTree/Empty/index.js +0 -2
- package/components/FolderTree/List/List.js +120 -135
- package/components/FolderTree/List/List.js.map +1 -1
- package/components/FolderTree/List/index.js +0 -2
- package/components/FolderTree/List/utils.js +31 -64
- package/components/FolderTree/List/utils.js.map +1 -1
- package/components/FolderTree/Loader/Loader.js +15 -18
- package/components/FolderTree/Loader/Loader.js.map +1 -1
- package/components/FolderTree/Loader/index.js +0 -2
- package/components/FolderTree/MenuActions/MenuActions.js +19 -27
- package/components/FolderTree/MenuActions/MenuActions.js.map +1 -1
- package/components/FolderTree/MenuActions/index.js +0 -2
- package/components/FolderTree/Node/Node.js +27 -47
- package/components/FolderTree/Node/Node.js.map +1 -1
- package/components/FolderTree/Node/index.js +0 -2
- package/components/FolderTree/NodePreview/NodePreview.js +11 -14
- package/components/FolderTree/NodePreview/NodePreview.js.map +1 -1
- package/components/FolderTree/NodePreview/index.js +0 -2
- package/components/FolderTree/index.d.ts +2 -1
- package/components/FolderTree/index.js +47 -57
- package/components/FolderTree/index.js.map +1 -1
- package/components/Search/Search.js +15 -20
- package/components/Search/Search.js.map +1 -1
- package/components/Search/index.js +0 -2
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js +19 -20
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js +17 -18
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js +113 -130
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js +26 -25
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js +12 -11
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js +11 -12
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityRepository.js +0 -3
- package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.js +0 -3
- package/components/Table/components/Table/ColumnVisibility/index.js +0 -2
- package/components/Table/components/Table/Columns/Column.js +18 -17
- package/components/Table/components/Table/Columns/Column.js.map +1 -1
- package/components/Table/components/Table/Columns/ColumnMapper.js +31 -31
- package/components/Table/components/Table/Columns/ColumnMapper.js.map +1 -1
- package/components/Table/components/Table/Columns/ColumnsPresenter.js +14 -13
- package/components/Table/components/Table/Columns/ColumnsPresenter.js.map +1 -1
- package/components/Table/components/Table/Columns/ColumnsPresenter.test.js +66 -60
- package/components/Table/components/Table/Columns/ColumnsPresenter.test.js.map +1 -1
- package/components/Table/components/Table/Columns/ColumnsRepository.js +15 -14
- package/components/Table/components/Table/Columns/ColumnsRepository.js.map +1 -1
- package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js +15 -11
- package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js.map +1 -1
- package/components/Table/components/Table/Columns/IColumnsRepository.js +0 -3
- package/components/Table/components/Table/Columns/index.js +0 -2
- package/components/Table/components/Table/Table.js +38 -32
- package/components/Table/components/Table/Table.js.map +1 -1
- package/components/Table/components/Table/TableInner.js +33 -40
- package/components/Table/components/Table/TableInner.js.map +1 -1
- package/components/Table/components/Table/TablePresenter.js +12 -9
- package/components/Table/components/Table/TablePresenter.js.map +1 -1
- package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js +12 -11
- package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js.map +1 -1
- package/components/Table/components/Table/gateways/IColumnsVisibilityGateway.js +0 -3
- package/components/Table/components/Table/gateways/index.js +0 -2
- package/components/Table/components/Table/index.js +0 -2
- package/components/Table/components/index.js +0 -2
- package/components/Table/createTableData.js +13 -16
- package/components/Table/createTableData.js.map +1 -1
- package/components/Table/index.js +0 -2
- package/components/Table/useTableRow.js +17 -29
- package/components/Table/useTableRow.js.map +1 -1
- package/components/index.js +0 -2
- package/config/AcoConfig.js +43 -30
- package/config/AcoConfig.js.map +1 -1
- package/config/advanced-search/FieldRenderer.js +27 -30
- package/config/advanced-search/FieldRenderer.js.map +1 -1
- package/config/advanced-search/index.js +3 -2
- package/config/advanced-search/index.js.map +1 -1
- package/config/folder/Action.js +27 -32
- package/config/folder/Action.js.map +1 -1
- package/config/folder/DropConfirmation.js +12 -13
- package/config/folder/DropConfirmation.js.map +1 -1
- package/config/folder/createFolderFieldDecoratorFactory.js +14 -18
- package/config/folder/createFolderFieldDecoratorFactory.js.map +1 -1
- package/config/folder/index.js +4 -3
- package/config/folder/index.js.map +1 -1
- package/config/index.js +0 -2
- package/config/record/Action.js +28 -33
- package/config/record/Action.js.map +1 -1
- package/config/record/index.js +3 -2
- package/config/record/index.js.map +1 -1
- package/config/table/Column.js +65 -81
- package/config/table/Column.js.map +1 -1
- package/config/table/Sorting.js +24 -27
- package/config/table/Sorting.js.map +1 -1
- package/config/table/index.js +4 -3
- package/config/table/index.js.map +1 -1
- package/constants.js +0 -2
- package/contexts/acoList.js +283 -384
- package/contexts/acoList.js.map +1 -1
- package/contexts/app.js +40 -53
- package/contexts/app.js.map +1 -1
- package/contexts/folder.js +11 -15
- package/contexts/folder.js.map +1 -1
- package/contexts/folders.js +27 -32
- package/contexts/folders.js.map +1 -1
- package/contexts/index.js +0 -2
- package/contexts/navigateFolder.js +49 -57
- package/contexts/navigateFolder.js.map +1 -1
- package/contexts/records.js +299 -422
- package/contexts/records.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js +22 -29
- package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js +18 -21
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js +105 -107
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js +11 -16
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection.js +29 -34
- package/dialogs/DialogSetPermissions/UsersTeamsSelection.js.map +1 -1
- package/dialogs/DialogSetPermissions/graphql.js +3 -2
- package/dialogs/DialogSetPermissions/graphql.js.map +1 -1
- package/dialogs/ParentFolderField.js +12 -13
- package/dialogs/ParentFolderField.js.map +1 -1
- package/dialogs/index.js +0 -2
- package/dialogs/useConfirmMoveFolderDialog.js +16 -19
- package/dialogs/useConfirmMoveFolderDialog.js.map +1 -1
- package/dialogs/useCreateDialog.js +78 -93
- package/dialogs/useCreateDialog.js.map +1 -1
- package/dialogs/useDeleteDialog.js +27 -33
- package/dialogs/useDeleteDialog.js.map +1 -1
- package/dialogs/useEditDialog.js +77 -80
- package/dialogs/useEditDialog.js.map +1 -1
- package/dialogs/useMoveToFolderDialog.d.ts +1 -1
- package/dialogs/useMoveToFolderDialog.js +33 -49
- package/dialogs/useMoveToFolderDialog.js.map +1 -1
- package/dialogs/useSetPermissionsDialog.js +85 -87
- package/dialogs/useSetPermissionsDialog.js.map +1 -1
- package/domain/folder/Folder.js +25 -24
- package/domain/folder/Folder.js.map +1 -1
- package/domain/folder/FolderDto.js +0 -3
- package/domain/folder/FolderDtoMapper.js +24 -25
- package/domain/folder/FolderDtoMapper.js.map +1 -1
- package/domain/folder/FolderIdentity.js +16 -17
- package/domain/folder/FolderIdentity.js.map +1 -1
- package/domain/folder/RootFolder.js +24 -23
- package/domain/folder/RootFolder.js.map +1 -1
- package/exports/admin/aco.js +0 -2
- package/exports/admin/ui.js +0 -2
- package/features/folders/abstractions.js +6 -5
- package/features/folders/abstractions.js.map +1 -1
- package/features/folders/cache/FoldersCacheFactory.js +13 -12
- package/features/folders/cache/FoldersCacheFactory.js.map +1 -1
- package/features/folders/cache/ListCache.d.ts +2 -29
- package/features/folders/cache/ListCache.js +1 -43
- package/features/folders/cache/LoadedCache.js +33 -27
- package/features/folders/cache/LoadedCache.js.map +1 -1
- package/features/folders/cache/LoadedFoldersCacheFactory.js +13 -12
- package/features/folders/cache/LoadedFoldersCacheFactory.js.map +1 -1
- package/features/folders/cache/index.js +0 -2
- package/features/folders/createFolder/CreateFolder.test.js +44 -48
- package/features/folders/createFolder/CreateFolder.test.js.map +1 -1
- package/features/folders/createFolder/CreateFolderGqlGateway.js +27 -32
- package/features/folders/createFolder/CreateFolderGqlGateway.js.map +1 -1
- package/features/folders/createFolder/CreateFolderRepository.js +29 -24
- package/features/folders/createFolder/CreateFolderRepository.js.map +1 -1
- package/features/folders/createFolder/CreateFolderUseCase.js +20 -17
- package/features/folders/createFolder/CreateFolderUseCase.js.map +1 -1
- package/features/folders/createFolder/abstractions.js +4 -12
- package/features/folders/createFolder/abstractions.js.map +1 -1
- package/features/folders/createFolder/feature.js +15 -14
- package/features/folders/createFolder/feature.js.map +1 -1
- package/features/folders/createFolder/index.js +0 -2
- package/features/folders/createFolder/useCreateFolder.js +6 -9
- package/features/folders/createFolder/useCreateFolder.js.map +1 -1
- package/features/folders/deleteFolder/DeleteFolder.test.js +38 -39
- package/features/folders/deleteFolder/DeleteFolder.test.js.map +1 -1
- package/features/folders/deleteFolder/DeleteFolderGqlGateway.js +21 -28
- package/features/folders/deleteFolder/DeleteFolderGqlGateway.js.map +1 -1
- package/features/folders/deleteFolder/DeleteFolderRepository.js +16 -13
- package/features/folders/deleteFolder/DeleteFolderRepository.js.map +1 -1
- package/features/folders/deleteFolder/DeleteFolderUseCase.js +13 -10
- package/features/folders/deleteFolder/DeleteFolderUseCase.js.map +1 -1
- package/features/folders/deleteFolder/abstractions.js +4 -12
- package/features/folders/deleteFolder/abstractions.js.map +1 -1
- package/features/folders/deleteFolder/feature.js +15 -14
- package/features/folders/deleteFolder/feature.js.map +1 -1
- package/features/folders/deleteFolder/index.js +0 -2
- package/features/folders/deleteFolder/useDeleteFolder.js +6 -9
- package/features/folders/deleteFolder/useDeleteFolder.js.map +1 -1
- package/features/folders/feature.js +23 -29
- package/features/folders/feature.js.map +1 -1
- package/features/folders/folderModelProvider/FolderModelContext.js +17 -24
- package/features/folders/folderModelProvider/FolderModelContext.js.map +1 -1
- package/features/folders/folderModelProvider/FolderModelDto.js +0 -3
- package/features/folders/folderModelProvider/FolderModelProvider.js +23 -23
- package/features/folders/folderModelProvider/FolderModelProvider.js.map +1 -1
- package/features/folders/folderModelProvider/GetFolderModelGqlGateway.js +20 -26
- package/features/folders/folderModelProvider/GetFolderModelGqlGateway.js.map +1 -1
- package/features/folders/folderModelProvider/GetFolderModelRepository.js +25 -22
- package/features/folders/folderModelProvider/GetFolderModelRepository.js.map +1 -1
- package/features/folders/folderModelProvider/abstractions.js +3 -2
- package/features/folders/folderModelProvider/abstractions.js.map +1 -1
- package/features/folders/folderModelProvider/feature.js +15 -14
- package/features/folders/folderModelProvider/feature.js.map +1 -1
- package/features/folders/folderModelProvider/index.js +0 -2
- package/features/folders/getDescendantFolders/GetDescendantFolders.test.js +116 -110
- package/features/folders/getDescendantFolders/GetDescendantFolders.test.js.map +1 -1
- package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js +35 -35
- package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js.map +1 -1
- package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js +13 -10
- package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js.map +1 -1
- package/features/folders/getDescendantFolders/abstractions.js +3 -10
- package/features/folders/getDescendantFolders/abstractions.js.map +1 -1
- package/features/folders/getDescendantFolders/feature.js +14 -13
- package/features/folders/getDescendantFolders/feature.js.map +1 -1
- package/features/folders/getDescendantFolders/index.js +0 -2
- package/features/folders/getDescendantFolders/useGetDescendantFolders.js +6 -9
- package/features/folders/getDescendantFolders/useGetDescendantFolders.js.map +1 -1
- package/features/folders/getFolder/GetFolderGqlGateway.js +26 -31
- package/features/folders/getFolder/GetFolderGqlGateway.js.map +1 -1
- package/features/folders/getFolder/GetFolderRepository.js +18 -13
- package/features/folders/getFolder/GetFolderRepository.js.map +1 -1
- package/features/folders/getFolder/GetFolderUseCase.js +13 -10
- package/features/folders/getFolder/GetFolderUseCase.js.map +1 -1
- package/features/folders/getFolder/abstractions.js +4 -12
- package/features/folders/getFolder/abstractions.js.map +1 -1
- package/features/folders/getFolder/feature.js +15 -14
- package/features/folders/getFolder/feature.js.map +1 -1
- package/features/folders/getFolder/index.js +0 -2
- package/features/folders/getFolder/useGetFolder.js +6 -9
- package/features/folders/getFolder/useGetFolder.js.map +1 -1
- package/features/folders/getFolderAncestors/GetFolderAncestors.test.js +108 -103
- package/features/folders/getFolderAncestors/GetFolderAncestors.test.js.map +1 -1
- package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.js +32 -30
- package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.js.map +1 -1
- package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.js +13 -10
- package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.js.map +1 -1
- package/features/folders/getFolderAncestors/abstractions.js +3 -10
- package/features/folders/getFolderAncestors/abstractions.js.map +1 -1
- package/features/folders/getFolderAncestors/feature.js +14 -13
- package/features/folders/getFolderAncestors/feature.js.map +1 -1
- package/features/folders/getFolderAncestors/index.js +0 -2
- package/features/folders/getFolderAncestors/useGetFolderAncestors.js +6 -9
- package/features/folders/getFolderAncestors/useGetFolderAncestors.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.test.js +190 -160
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.test.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.js +30 -29
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/abstractions.js +3 -8
- package/features/folders/getFolderExtensionsFields/abstractions.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/feature.js +16 -18
- package/features/folders/getFolderExtensionsFields/feature.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/filters/CmsNamespaceFilter.js +16 -17
- package/features/folders/getFolderExtensionsFields/filters/CmsNamespaceFilter.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/filters/FmFileNamespaceFilter.js +13 -16
- package/features/folders/getFolderExtensionsFields/filters/FmFileNamespaceFilter.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/filters/GlobalNamespaceFilter.js +7 -8
- package/features/folders/getFolderExtensionsFields/filters/GlobalNamespaceFilter.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/index.js +0 -2
- package/features/folders/getFolderExtensionsFields/useFolderExtensionsFields.js +13 -14
- package/features/folders/getFolderExtensionsFields/useFolderExtensionsFields.js.map +1 -1
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.js +135 -164
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.js.map +1 -1
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js +8 -7
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js.map +1 -1
- package/features/folders/getFolderLevelPermission/abstractions.js +2 -1
- package/features/folders/getFolderLevelPermission/abstractions.js.map +1 -1
- package/features/folders/getFolderLevelPermission/decorators/GetFolderLevelPermissionWithFlpDecorator.js +17 -20
- package/features/folders/getFolderLevelPermission/decorators/GetFolderLevelPermissionWithFlpDecorator.js.map +1 -1
- package/features/folders/getFolderLevelPermission/feature.js +14 -16
- package/features/folders/getFolderLevelPermission/feature.js.map +1 -1
- package/features/folders/getFolderLevelPermission/index.js +0 -2
- package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js +9 -10
- package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js.map +1 -1
- package/features/folders/listFolders/ListFolders.test.js +98 -111
- package/features/folders/listFolders/ListFolders.test.js.map +1 -1
- package/features/folders/listFolders/ListFoldersGqlGateway.js +29 -27
- package/features/folders/listFolders/ListFoldersGqlGateway.js.map +1 -1
- package/features/folders/listFolders/ListFoldersRepository.js +19 -14
- package/features/folders/listFolders/ListFoldersRepository.js.map +1 -1
- package/features/folders/listFolders/ListFoldersUseCase.js +13 -10
- package/features/folders/listFolders/ListFoldersUseCase.js.map +1 -1
- package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js +14 -11
- package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js.map +1 -1
- package/features/folders/listFolders/abstractions.js +4 -3
- package/features/folders/listFolders/abstractions.js.map +1 -1
- package/features/folders/listFolders/feature.js +17 -23
- package/features/folders/listFolders/feature.js.map +1 -1
- package/features/folders/listFolders/index.js +0 -2
- package/features/folders/listFolders/useListFolders.js +35 -37
- package/features/folders/listFolders/useListFolders.js.map +1 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js +218 -203
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js.map +1 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js +31 -33
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js.map +1 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js +18 -13
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js.map +1 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js +18 -15
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js.map +1 -1
- package/features/folders/listFoldersByParentIds/abstractions.js +4 -3
- package/features/folders/listFoldersByParentIds/abstractions.js.map +1 -1
- package/features/folders/listFoldersByParentIds/decorators/RepositoryWithLoadedCache.js +20 -22
- package/features/folders/listFoldersByParentIds/decorators/RepositoryWithLoadedCache.js.map +1 -1
- package/features/folders/listFoldersByParentIds/decorators/UseCaseWithLoading.js +17 -18
- package/features/folders/listFoldersByParentIds/decorators/UseCaseWithLoading.js.map +1 -1
- package/features/folders/listFoldersByParentIds/feature.js +18 -26
- package/features/folders/listFoldersByParentIds/feature.js.map +1 -1
- package/features/folders/listFoldersByParentIds/index.js +0 -2
- package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js +40 -42
- package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js.map +1 -1
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchy.test.js +134 -136
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchy.test.js.map +1 -1
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyGqlGateway.js +31 -31
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyGqlGateway.js.map +1 -1
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyRepository.js +35 -40
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyRepository.js.map +1 -1
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCase.js +13 -10
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCase.js.map +1 -1
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCaseWithLoading.js +14 -11
- package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCaseWithLoading.js.map +1 -1
- package/features/folders/loadFolderHierarchy/abstractions.js +4 -3
- package/features/folders/loadFolderHierarchy/abstractions.js.map +1 -1
- package/features/folders/loadFolderHierarchy/feature.js +17 -23
- package/features/folders/loadFolderHierarchy/feature.js.map +1 -1
- package/features/folders/loadFolderHierarchy/index.js +0 -2
- package/features/folders/loadFolderHierarchy/useLoadFolderHierarchy.js +37 -42
- package/features/folders/loadFolderHierarchy/useLoadFolderHierarchy.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolder.test.js +372 -384
- package/features/folders/updateFolder/UpdateFolder.test.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolderGqlGateway.js +33 -45
- package/features/folders/updateFolder/UpdateFolderGqlGateway.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolderRepository.js +26 -24
- package/features/folders/updateFolder/UpdateFolderRepository.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolderUseCase.js +13 -10
- package/features/folders/updateFolder/UpdateFolderUseCase.js.map +1 -1
- package/features/folders/updateFolder/abstractions.js +4 -3
- package/features/folders/updateFolder/abstractions.js.map +1 -1
- package/features/folders/updateFolder/decorators/RepositoryWithPathChange.js +43 -64
- package/features/folders/updateFolder/decorators/RepositoryWithPathChange.js.map +1 -1
- package/features/folders/updateFolder/decorators/RepositoryWithPermissionsChange.js +44 -56
- package/features/folders/updateFolder/decorators/RepositoryWithPermissionsChange.js.map +1 -1
- package/features/folders/updateFolder/decorators/UseCaseWithLoading.js +14 -11
- package/features/folders/updateFolder/decorators/UseCaseWithLoading.js.map +1 -1
- package/features/folders/updateFolder/decorators/UseCaseWithoutInheritedPermissions.js +15 -15
- package/features/folders/updateFolder/decorators/UseCaseWithoutInheritedPermissions.js.map +1 -1
- package/features/folders/updateFolder/feature.js +20 -28
- package/features/folders/updateFolder/feature.js.map +1 -1
- package/features/folders/updateFolder/index.js +0 -2
- package/features/folders/updateFolder/useUpdateFolder.js +17 -19
- package/features/folders/updateFolder/useUpdateFolder.js.map +1 -1
- package/graphql/app.gql.js +3 -4
- package/graphql/app.gql.js.map +1 -1
- package/graphql/records/common.js +41 -39
- package/graphql/records/common.js.map +1 -1
- package/graphql/records/getRecord.js +2 -3
- package/graphql/records/getRecord.js.map +1 -1
- package/graphql/records/listRecords.js +22 -13
- package/graphql/records/listRecords.js.map +1 -1
- package/graphql/records/moveRecord.js +5 -6
- package/graphql/records/moveRecord.js.map +1 -1
- package/graphql/records/types.js +0 -3
- package/graphql/records.gql.js +0 -2
- package/handlers.js +17 -40
- package/handlers.js.map +1 -1
- package/hooks/index.js +0 -2
- package/hooks/useAcoApp.js +11 -12
- package/hooks/useAcoApp.js.map +1 -1
- package/hooks/useAcoList.js +5 -6
- package/hooks/useAcoList.js.map +1 -1
- package/hooks/useFolder.js +6 -7
- package/hooks/useFolder.js.map +1 -1
- package/hooks/useFolderModel.js +11 -13
- package/hooks/useFolderModel.js.map +1 -1
- package/hooks/useFoldersType.js +7 -12
- package/hooks/useFoldersType.js.map +1 -1
- package/hooks/useNavigateFolder.js +5 -6
- package/hooks/useNavigateFolder.js.map +1 -1
- package/hooks/useRecords.js +56 -77
- package/hooks/useRecords.js.map +1 -1
- package/hooks/useTags.js +21 -30
- package/hooks/useTags.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +3 -8
- package/package.json +22 -22
- package/presentation/folderTree/FolderTree.d.ts +19 -0
- package/presentation/folderTree/FolderTree.js +252 -0
- package/presentation/folderTree/FolderTree.js.map +1 -0
- package/presentation/folderTree/FolderTreeFieldRenderer.d.ts +13 -0
- package/presentation/folderTree/FolderTreeFieldRenderer.js +23 -0
- package/presentation/folderTree/FolderTreeFieldRenderer.js.map +1 -0
- package/presentation/folderTree/FolderTreePresenter.d.ts +51 -0
- package/presentation/folderTree/FolderTreePresenter.js +303 -0
- package/presentation/folderTree/FolderTreePresenter.js.map +1 -0
- package/presentation/folderTree/FolderTreePresenter.test.d.ts +1 -0
- package/presentation/folderTree/FolderTreePresenter.test.js +517 -0
- package/presentation/folderTree/FolderTreePresenter.test.js.map +1 -0
- package/presentation/folderTree/abstractions.d.ts +65 -0
- package/presentation/folderTree/abstractions.js +5 -0
- package/presentation/folderTree/abstractions.js.map +1 -0
- package/presentation/folderTree/feature.d.ts +3 -0
- package/presentation/folderTree/feature.js +17 -0
- package/presentation/folderTree/feature.js.map +1 -0
- package/presentation/folderTree/index.d.ts +5 -0
- package/presentation/folderTree/index.js +3 -0
- package/sorting.js +25 -28
- package/sorting.js.map +1 -1
- package/static/svg/folder-shared-icon.5d947e49.svg +5 -0
- package/static/svg/folder.f3d5c400.svg +4 -0
- package/table.types.js +0 -3
- package/types.js +10 -13
- package/types.js.map +1 -1
- package/components/Actions/DeleteFolder/index.js.map +0 -1
- package/components/Actions/EditFolder/index.js.map +0 -1
- package/components/Actions/SetFolderPemissions/index.js.map +0 -1
- package/components/Actions/index.js.map +0 -1
- package/components/AdvancedSearch/Button/index.js.map +0 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/index.js.map +0 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.js.map +0 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.js.map +0 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/index.js.map +0 -1
- package/components/AdvancedSearch/QueryManagerDialog/components/index.js.map +0 -1
- package/components/AdvancedSearch/QueryManagerDialog/index.js.map +0 -1
- package/components/AdvancedSearch/QuerySaverDialog/index.js.map +0 -1
- package/components/AdvancedSearch/SelectedFilter/index.js.map +0 -1
- package/components/AdvancedSearch/domain/index.js.map +0 -1
- package/components/AdvancedSearch/fields/index.js.map +0 -1
- package/components/AdvancedSearch/gateways/FiltersGatewayInterface.js.map +0 -1
- package/components/AdvancedSearch/gateways/filters.types.js.map +0 -1
- package/components/AdvancedSearch/gateways/index.js.map +0 -1
- package/components/Extensions/index.js.map +0 -1
- package/components/FolderGrid/index.js.map +0 -1
- package/components/FolderIcons/index.js.map +0 -1
- package/components/FolderTree/ButtonCreate/index.js.map +0 -1
- package/components/FolderTree/Empty/index.js.map +0 -1
- package/components/FolderTree/List/index.js.map +0 -1
- package/components/FolderTree/Loader/index.js.map +0 -1
- package/components/FolderTree/MenuActions/index.js.map +0 -1
- package/components/FolderTree/Node/index.js.map +0 -1
- package/components/FolderTree/NodePreview/index.js.map +0 -1
- package/components/Search/index.js.map +0 -1
- package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityRepository.js.map +0 -1
- package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.js.map +0 -1
- package/components/Table/components/Table/ColumnVisibility/index.js.map +0 -1
- package/components/Table/components/Table/Columns/IColumnsRepository.js.map +0 -1
- package/components/Table/components/Table/Columns/index.js.map +0 -1
- package/components/Table/components/Table/gateways/IColumnsVisibilityGateway.js.map +0 -1
- package/components/Table/components/Table/gateways/index.js.map +0 -1
- package/components/Table/components/Table/index.js.map +0 -1
- package/components/Table/components/index.js.map +0 -1
- package/components/Table/index.js.map +0 -1
- package/components/index.js.map +0 -1
- package/config/index.js.map +0 -1
- package/constants.js.map +0 -1
- package/contexts/index.js.map +0 -1
- package/dialogs/index.js.map +0 -1
- package/domain/folder/FolderDto.js.map +0 -1
- package/exports/admin/aco.js.map +0 -1
- package/exports/admin/ui.js.map +0 -1
- package/features/folders/cache/ListCache.js.map +0 -1
- package/features/folders/cache/index.js.map +0 -1
- package/features/folders/createFolder/index.js.map +0 -1
- package/features/folders/deleteFolder/index.js.map +0 -1
- package/features/folders/folderModelProvider/FolderModelDto.js.map +0 -1
- package/features/folders/folderModelProvider/index.js.map +0 -1
- package/features/folders/getDescendantFolders/index.js.map +0 -1
- package/features/folders/getFolder/index.js.map +0 -1
- package/features/folders/getFolderAncestors/index.js.map +0 -1
- package/features/folders/getFolderExtensionsFields/index.js.map +0 -1
- package/features/folders/getFolderLevelPermission/index.js.map +0 -1
- package/features/folders/listFolders/index.js.map +0 -1
- package/features/folders/listFoldersByParentIds/index.js.map +0 -1
- package/features/folders/loadFolderHierarchy/index.js.map +0 -1
- package/features/folders/updateFolder/index.js.map +0 -1
- package/graphql/records/types.js.map +0 -1
- package/graphql/records.gql.js.map +0 -1
- package/hooks/index.js.map +0 -1
- package/index.js.map +0 -1
- package/table.types.js.map +0 -1
package/index.js
CHANGED
|
@@ -5,14 +5,8 @@ export * from "./contexts/index.js";
|
|
|
5
5
|
export * from "./hooks/index.js";
|
|
6
6
|
export * from "./dialogs/index.js";
|
|
7
7
|
export * from "./sorting.js";
|
|
8
|
-
export { LIST_FOLDER_LEVEL_PERMISSIONS_TARGETS } from "./dialogs/DialogSetPermissions/graphql.js";
|
|
9
|
-
export { UsersTeamsMultiAutocomplete } from "./dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js";
|
|
10
|
-
|
|
11
|
-
// Export domain
|
|
12
8
|
export * from "./domain/folder/FolderDto.js";
|
|
13
9
|
export * from "./domain/folder/FolderDtoMapper.js";
|
|
14
|
-
|
|
15
|
-
// Export feature hooks
|
|
16
10
|
export * from "./features/folders/createFolder/useCreateFolder.js";
|
|
17
11
|
export * from "./features/folders/updateFolder/useUpdateFolder.js";
|
|
18
12
|
export * from "./features/folders/deleteFolder/useDeleteFolder.js";
|
|
@@ -24,5 +18,6 @@ export * from "./features/folders/getFolderExtensionsFields/useFolderExtensionsF
|
|
|
24
18
|
export * from "./features/folders/loadFolderHierarchy/useLoadFolderHierarchy.js";
|
|
25
19
|
export * from "./features/folders/listFolders/useListFolders.js";
|
|
26
20
|
export * from "./features/folders/listFoldersByParentIds/useListFoldersByParentIds.js";
|
|
27
|
-
|
|
28
|
-
|
|
21
|
+
export * from "./presentation/folderTree/index.js";
|
|
22
|
+
export { LIST_FOLDER_LEVEL_PERMISSIONS_TARGETS } from "./dialogs/DialogSetPermissions/graphql.js";
|
|
23
|
+
export { UsersTeamsMultiAutocomplete } from "./dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/app-aco",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.4.0-beta.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./index.js",
|
|
@@ -16,44 +16,44 @@
|
|
|
16
16
|
"license": "MIT",
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"@apollo/react-hooks": "3.1.5",
|
|
19
|
-
"@webiny/admin-ui": "6.
|
|
20
|
-
"@webiny/app": "6.
|
|
21
|
-
"@webiny/app-admin": "6.
|
|
22
|
-
"@webiny/app-headless-cms-common": "6.
|
|
23
|
-
"@webiny/app-utils": "6.
|
|
24
|
-
"@webiny/feature": "6.
|
|
25
|
-
"@webiny/form": "6.
|
|
26
|
-
"@webiny/icons": "6.
|
|
27
|
-
"@webiny/plugins": "6.
|
|
28
|
-
"@webiny/react-properties": "6.
|
|
29
|
-
"@webiny/shared-aco": "6.
|
|
30
|
-
"@webiny/utils": "6.
|
|
31
|
-
"@webiny/validation": "6.
|
|
19
|
+
"@webiny/admin-ui": "6.4.0-beta.1",
|
|
20
|
+
"@webiny/app": "6.4.0-beta.1",
|
|
21
|
+
"@webiny/app-admin": "6.4.0-beta.1",
|
|
22
|
+
"@webiny/app-headless-cms-common": "6.4.0-beta.1",
|
|
23
|
+
"@webiny/app-utils": "6.4.0-beta.1",
|
|
24
|
+
"@webiny/feature": "6.4.0-beta.1",
|
|
25
|
+
"@webiny/form": "6.4.0-beta.1",
|
|
26
|
+
"@webiny/icons": "6.4.0-beta.1",
|
|
27
|
+
"@webiny/plugins": "6.4.0-beta.1",
|
|
28
|
+
"@webiny/react-properties": "6.4.0-beta.1",
|
|
29
|
+
"@webiny/shared-aco": "6.4.0-beta.1",
|
|
30
|
+
"@webiny/utils": "6.4.0-beta.1",
|
|
31
|
+
"@webiny/validation": "6.4.0-beta.1",
|
|
32
32
|
"dot-prop-immutable": "2.1.1",
|
|
33
|
-
"graphql": "16.
|
|
33
|
+
"graphql": "16.14.0",
|
|
34
34
|
"graphql-tag": "2.12.6",
|
|
35
35
|
"lodash": "4.18.1",
|
|
36
|
-
"mobx": "6.15.
|
|
36
|
+
"mobx": "6.15.3",
|
|
37
37
|
"mobx-react-lite": "4.1.1",
|
|
38
38
|
"react": "18.3.1",
|
|
39
39
|
"react-dom": "18.3.1",
|
|
40
40
|
"slugify": "1.6.9",
|
|
41
|
-
"zod": "4.3
|
|
41
|
+
"zod": "4.4.3"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@types/react": "18.3.28",
|
|
45
|
-
"@webiny/build-tools": "6.
|
|
46
|
-
"@webiny/di": "0.
|
|
47
|
-
"@webiny/wcp": "6.
|
|
45
|
+
"@webiny/build-tools": "6.4.0-beta.1",
|
|
46
|
+
"@webiny/di": "1.0.0",
|
|
47
|
+
"@webiny/wcp": "6.4.0-beta.1",
|
|
48
48
|
"apollo-client": "2.6.10",
|
|
49
49
|
"apollo-link": "1.2.14",
|
|
50
50
|
"rimraf": "6.1.3",
|
|
51
51
|
"typescript": "6.0.3",
|
|
52
|
-
"vitest": "4.1.
|
|
52
|
+
"vitest": "4.1.6"
|
|
53
53
|
},
|
|
54
54
|
"publishConfig": {
|
|
55
55
|
"access": "public",
|
|
56
56
|
"directory": "dist"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "73237b8243693038c072bae1c0b783387448cbbe"
|
|
59
59
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { FolderActionConfig } from "../../config/AcoConfig.js";
|
|
3
|
+
import type { IFolderTreeCallbacks, IFolderTreeViewModel } from "./abstractions.js";
|
|
4
|
+
export interface PresenterFolderTreeProps {
|
|
5
|
+
vm: IFolderTreeViewModel;
|
|
6
|
+
actions: IFolderTreeCallbacks;
|
|
7
|
+
folderActions?: FolderActionConfig[];
|
|
8
|
+
enableCreate?: boolean;
|
|
9
|
+
enableActions?: boolean;
|
|
10
|
+
dropConfirmation?: boolean;
|
|
11
|
+
rootFolderLabel?: string;
|
|
12
|
+
hiddenFolderIds?: string[];
|
|
13
|
+
}
|
|
14
|
+
export interface UncontrolledFolderTreeProps extends Omit<PresenterFolderTreeProps, "vm" | "actions"> {
|
|
15
|
+
focusedFolderId?: string | null;
|
|
16
|
+
onFolderClick?: (folderId: string | null) => void;
|
|
17
|
+
}
|
|
18
|
+
export declare const FolderTree: ({ vm, actions, folderActions, enableCreate, enableActions, dropConfirmation, rootFolderLabel, hiddenFolderIds }: PresenterFolderTreeProps) => React.JSX.Element;
|
|
19
|
+
export declare const UncontrolledFolderTree: ({ focusedFolderId, onFolderClick, ...props }: UncontrolledFolderTreeProps) => React.JSX.Element;
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import react, { useCallback, useEffect, useMemo, useState } from "react";
|
|
2
|
+
import { Dialog, OverlayLoader, Text, Tooltip, Tree } from "@webiny/admin-ui";
|
|
3
|
+
import { useFeature } from "@webiny/app";
|
|
4
|
+
import { observer } from "mobx-react-lite";
|
|
5
|
+
import { FormView, useSnackbar } from "@webiny/app-admin";
|
|
6
|
+
import { i18n } from "@webiny/app/i18n/index.js";
|
|
7
|
+
import { ROOT_FOLDER } from "../../constants.js";
|
|
8
|
+
import { FolderProvider } from "../../contexts/folder.js";
|
|
9
|
+
import { Node } from "../../components/FolderTree/Node/Node.js";
|
|
10
|
+
import { Loader } from "../../components/FolderTree/Loader/Loader.js";
|
|
11
|
+
import { ButtonCreate } from "../../components/FolderTree/ButtonCreate/ButtonCreate.js";
|
|
12
|
+
import { useConfirmMoveFolderDialog } from "../../dialogs/index.js";
|
|
13
|
+
import { createInitialOpenList, createTreeData } from "../../components/FolderTree/List/utils.js";
|
|
14
|
+
import { FolderTreePresenterFeature } from "./feature.js";
|
|
15
|
+
const t = i18n.ns("app-aco/presentation/folder-tree");
|
|
16
|
+
const FolderTree_FolderOperationDialog = observer(function({ operation, actions }) {
|
|
17
|
+
const [loading, setLoading] = useState(false);
|
|
18
|
+
if (!operation.active) return null;
|
|
19
|
+
const handleClose = ()=>{
|
|
20
|
+
if (!loading) actions.cancelOperation();
|
|
21
|
+
};
|
|
22
|
+
const withLoading = async (fn)=>{
|
|
23
|
+
setLoading(true);
|
|
24
|
+
try {
|
|
25
|
+
await fn();
|
|
26
|
+
} finally{
|
|
27
|
+
setLoading(false);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
if ("delete" === operation.mode) return /*#__PURE__*/ react.createElement(Dialog, {
|
|
31
|
+
open: true,
|
|
32
|
+
onClose: handleClose,
|
|
33
|
+
title: t`Delete Folder`,
|
|
34
|
+
actions: /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(Dialog.CancelAction, {
|
|
35
|
+
onClick: handleClose,
|
|
36
|
+
text: t`Cancel`
|
|
37
|
+
}), /*#__PURE__*/ react.createElement(Dialog.ConfirmAction, {
|
|
38
|
+
onClick: ()=>{
|
|
39
|
+
if (operation.folderId) withLoading(()=>actions.deleteFolder(operation.folderId));
|
|
40
|
+
},
|
|
41
|
+
text: t`Delete`
|
|
42
|
+
}))
|
|
43
|
+
}, loading && /*#__PURE__*/ react.createElement(OverlayLoader, {
|
|
44
|
+
text: t`Deleting folder...`
|
|
45
|
+
}), /*#__PURE__*/ react.createElement(Text, {
|
|
46
|
+
size: "md"
|
|
47
|
+
}, t`Are you sure you want to delete this folder? This action cannot be undone.`));
|
|
48
|
+
if (("create" === operation.mode || "edit" === operation.mode) && operation.form) {
|
|
49
|
+
const title = "create" === operation.mode ? t`Create Folder` : t`Edit Folder`;
|
|
50
|
+
const confirmLabel = "create" === operation.mode ? t`Create` : t`Save`;
|
|
51
|
+
const loadingLabel = "create" === operation.mode ? t`Creating folder...` : t`Saving folder...`;
|
|
52
|
+
return /*#__PURE__*/ react.createElement(Dialog, {
|
|
53
|
+
open: true,
|
|
54
|
+
onClose: handleClose,
|
|
55
|
+
title: title,
|
|
56
|
+
actions: /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(Dialog.CancelAction, {
|
|
57
|
+
onClick: handleClose,
|
|
58
|
+
text: t`Cancel`
|
|
59
|
+
}), /*#__PURE__*/ react.createElement(Dialog.ConfirmAction, {
|
|
60
|
+
onClick: ()=>{
|
|
61
|
+
withLoading(()=>actions.submitOperation());
|
|
62
|
+
},
|
|
63
|
+
text: confirmLabel
|
|
64
|
+
}))
|
|
65
|
+
}, loading && /*#__PURE__*/ react.createElement(OverlayLoader, {
|
|
66
|
+
text: loadingLabel
|
|
67
|
+
}), /*#__PURE__*/ react.createElement(FormView, {
|
|
68
|
+
name: "Folder Tree",
|
|
69
|
+
form: operation.form.vm
|
|
70
|
+
}));
|
|
71
|
+
}
|
|
72
|
+
return null;
|
|
73
|
+
});
|
|
74
|
+
const FolderTree = ({ vm, actions, folderActions = [], enableCreate, enableActions, dropConfirmation = false, rootFolderLabel, hiddenFolderIds })=>{
|
|
75
|
+
const { showSnackbar } = useSnackbar();
|
|
76
|
+
const { showDialog: showConfirmMoveFolderDialog } = useConfirmMoveFolderDialog();
|
|
77
|
+
const focusedFolderId = vm.currentFolderId ?? ROOT_FOLDER;
|
|
78
|
+
const folders = vm.folders;
|
|
79
|
+
const localFolders = useMemo(()=>{
|
|
80
|
+
if (!folders.length) return [];
|
|
81
|
+
return folders.map((item)=>item.id === ROOT_FOLDER && rootFolderLabel ? {
|
|
82
|
+
...item,
|
|
83
|
+
title: rootFolderLabel
|
|
84
|
+
} : item);
|
|
85
|
+
}, [
|
|
86
|
+
folders,
|
|
87
|
+
rootFolderLabel
|
|
88
|
+
]);
|
|
89
|
+
const [treeData, setTreeData] = useState([]);
|
|
90
|
+
const [openFolderIds, setOpenFolderIds] = useState([
|
|
91
|
+
ROOT_FOLDER
|
|
92
|
+
]);
|
|
93
|
+
useEffect(()=>{
|
|
94
|
+
setTreeData(createTreeData(localFolders, focusedFolderId, hiddenFolderIds));
|
|
95
|
+
}, [
|
|
96
|
+
localFolders,
|
|
97
|
+
focusedFolderId,
|
|
98
|
+
hiddenFolderIds
|
|
99
|
+
]);
|
|
100
|
+
useEffect(()=>{
|
|
101
|
+
setOpenFolderIds((prev)=>{
|
|
102
|
+
const expanded = createInitialOpenList(localFolders, prev, focusedFolderId);
|
|
103
|
+
return [
|
|
104
|
+
...new Set([
|
|
105
|
+
ROOT_FOLDER,
|
|
106
|
+
...expanded
|
|
107
|
+
])
|
|
108
|
+
];
|
|
109
|
+
});
|
|
110
|
+
}, [
|
|
111
|
+
focusedFolderId,
|
|
112
|
+
localFolders
|
|
113
|
+
]);
|
|
114
|
+
const handleChangeOpen = async (nodes)=>{
|
|
115
|
+
const folderIds = nodes.map((node)=>node.id);
|
|
116
|
+
const updatedOpenIds = [
|
|
117
|
+
...new Set([
|
|
118
|
+
ROOT_FOLDER,
|
|
119
|
+
...folderIds
|
|
120
|
+
])
|
|
121
|
+
];
|
|
122
|
+
const newlyOpened = updatedOpenIds.filter((id)=>!openFolderIds.includes(id));
|
|
123
|
+
setOpenFolderIds(updatedOpenIds);
|
|
124
|
+
if (newlyOpened.length > 0) await actions.loadChildFolders(newlyOpened);
|
|
125
|
+
};
|
|
126
|
+
const handleDrop = async (_, { dragSourceId, dropTargetId })=>{
|
|
127
|
+
try {
|
|
128
|
+
const targetParentId = dropTargetId !== ROOT_FOLDER ? dropTargetId : null;
|
|
129
|
+
await actions.moveFolder(dragSourceId, targetParentId);
|
|
130
|
+
} catch (error) {
|
|
131
|
+
showSnackbar(error.message);
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
const onDrop = useCallback(async (newTree, options)=>{
|
|
135
|
+
const runDrop = async ()=>handleDrop(newTree, options);
|
|
136
|
+
if (dropConfirmation) {
|
|
137
|
+
const { dragSourceId, dropTargetId } = options;
|
|
138
|
+
const folder = localFolders.find((f)=>f.id === dragSourceId);
|
|
139
|
+
const targetFolder = localFolders.find((f)=>f.id === dropTargetId);
|
|
140
|
+
if (!folder || !targetFolder) return;
|
|
141
|
+
showConfirmMoveFolderDialog({
|
|
142
|
+
folder,
|
|
143
|
+
targetFolder,
|
|
144
|
+
onAccept: runDrop
|
|
145
|
+
});
|
|
146
|
+
} else await runDrop();
|
|
147
|
+
}, [
|
|
148
|
+
localFolders,
|
|
149
|
+
dropConfirmation,
|
|
150
|
+
showConfirmMoveFolderDialog
|
|
151
|
+
]);
|
|
152
|
+
const sort = useMemo(()=>(a, b)=>{
|
|
153
|
+
if (a.id === ROOT_FOLDER || b.id === ROOT_FOLDER) return 1;
|
|
154
|
+
return a.label.localeCompare(b.label, void 0, {
|
|
155
|
+
numeric: true
|
|
156
|
+
});
|
|
157
|
+
}, []);
|
|
158
|
+
const canDrag = useCallback((node)=>node.id !== ROOT_FOLDER && actions.canManageStructure(node.id), [
|
|
159
|
+
actions
|
|
160
|
+
]);
|
|
161
|
+
const canDrop = (_, options)=>{
|
|
162
|
+
const { dragSourceId, dropTargetId } = options;
|
|
163
|
+
const ancestorIds = actions.getAncestorIds(dropTargetId);
|
|
164
|
+
return !(dragSourceId && ancestorIds.includes(dragSourceId));
|
|
165
|
+
};
|
|
166
|
+
const nodeRenderer = (node)=>{
|
|
167
|
+
const folder = localFolders.find((f)=>f.id === node.id);
|
|
168
|
+
return /*#__PURE__*/ react.createElement(FolderProvider, {
|
|
169
|
+
folder: folder
|
|
170
|
+
}, /*#__PURE__*/ react.createElement(Node, {
|
|
171
|
+
enableActions: enableActions,
|
|
172
|
+
folderActions: folderActions
|
|
173
|
+
}));
|
|
174
|
+
};
|
|
175
|
+
const handleNodeClick = useCallback((node)=>{
|
|
176
|
+
actions.selectFolder(node.id === ROOT_FOLDER ? null : node.id);
|
|
177
|
+
}, [
|
|
178
|
+
actions
|
|
179
|
+
]);
|
|
180
|
+
const createButton = useMemo(()=>{
|
|
181
|
+
if (!enableCreate) return null;
|
|
182
|
+
const canCreate = actions.canManageStructure(focusedFolderId);
|
|
183
|
+
const button = /*#__PURE__*/ react.createElement(ButtonCreate, {
|
|
184
|
+
disabled: !canCreate,
|
|
185
|
+
onCreateFolder: ()=>actions.createFolder(focusedFolderId === ROOT_FOLDER ? void 0 : focusedFolderId)
|
|
186
|
+
});
|
|
187
|
+
return canCreate ? button : /*#__PURE__*/ react.createElement(Tooltip, {
|
|
188
|
+
content: "Cannot create folder because you're not an owner.",
|
|
189
|
+
trigger: button
|
|
190
|
+
});
|
|
191
|
+
}, [
|
|
192
|
+
enableCreate,
|
|
193
|
+
actions,
|
|
194
|
+
focusedFolderId,
|
|
195
|
+
localFolders
|
|
196
|
+
]);
|
|
197
|
+
if (vm.loading) return /*#__PURE__*/ react.createElement(Loader, null);
|
|
198
|
+
return /*#__PURE__*/ react.createElement("div", {
|
|
199
|
+
className: "my-xs"
|
|
200
|
+
}, /*#__PURE__*/ react.createElement(Tree, {
|
|
201
|
+
nodes: treeData,
|
|
202
|
+
rootId: "0",
|
|
203
|
+
defaultOpenNodeIds: openFolderIds,
|
|
204
|
+
onChangeOpen: handleChangeOpen,
|
|
205
|
+
onDrop: onDrop,
|
|
206
|
+
onNodeClick: handleNodeClick,
|
|
207
|
+
sort: sort,
|
|
208
|
+
canDrag: canDrag,
|
|
209
|
+
canDrop: canDrop,
|
|
210
|
+
renderer: nodeRenderer,
|
|
211
|
+
defaultLockedOpenNodeIds: [
|
|
212
|
+
ROOT_FOLDER
|
|
213
|
+
],
|
|
214
|
+
loadingNodeIds: vm.loadingNodeIds
|
|
215
|
+
}), enableCreate && /*#__PURE__*/ react.createElement("div", {
|
|
216
|
+
className: "m-xs-plus mt-sm-plus mb-lg pl-sm-extra"
|
|
217
|
+
}, createButton), /*#__PURE__*/ react.createElement(FolderTree_FolderOperationDialog, {
|
|
218
|
+
operation: vm.operation,
|
|
219
|
+
actions: actions
|
|
220
|
+
}));
|
|
221
|
+
};
|
|
222
|
+
const UncontrolledFolderTree = ({ focusedFolderId, onFolderClick, ...props })=>{
|
|
223
|
+
const { presenter } = useFeature(FolderTreePresenterFeature);
|
|
224
|
+
const vm = useMemo(()=>{
|
|
225
|
+
if (void 0 === focusedFolderId) return presenter.vm;
|
|
226
|
+
return {
|
|
227
|
+
...presenter.vm,
|
|
228
|
+
currentFolderId: focusedFolderId
|
|
229
|
+
};
|
|
230
|
+
}, [
|
|
231
|
+
presenter.vm,
|
|
232
|
+
focusedFolderId
|
|
233
|
+
]);
|
|
234
|
+
const actions = useMemo(()=>{
|
|
235
|
+
if (!onFolderClick) return presenter;
|
|
236
|
+
return {
|
|
237
|
+
...presenter,
|
|
238
|
+
selectFolder: onFolderClick
|
|
239
|
+
};
|
|
240
|
+
}, [
|
|
241
|
+
presenter,
|
|
242
|
+
onFolderClick
|
|
243
|
+
]);
|
|
244
|
+
return /*#__PURE__*/ react.createElement(FolderTree, {
|
|
245
|
+
vm: vm,
|
|
246
|
+
actions: actions,
|
|
247
|
+
...props
|
|
248
|
+
});
|
|
249
|
+
};
|
|
250
|
+
export { FolderTree, UncontrolledFolderTree };
|
|
251
|
+
|
|
252
|
+
//# sourceMappingURL=FolderTree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation/folderTree/FolderTree.js","sources":["../../../src/presentation/folderTree/FolderTree.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n Tree,\n Tooltip,\n Dialog,\n Text,\n OverlayLoader,\n type NodeDto,\n type TreeProps,\n type WithDefaultNodeData,\n type DropOptions\n} from \"@webiny/admin-ui\";\nimport { useFeature } from \"@webiny/app\";\nimport { observer } from \"mobx-react-lite\";\nimport { useSnackbar, FormView } from \"@webiny/app-admin\";\nimport { i18n } from \"@webiny/app/i18n/index.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport { FolderProvider } from \"~/contexts/folder.js\";\nimport { Node } from \"~/components/FolderTree/Node/Node.js\";\nimport { Loader } from \"~/components/FolderTree/Loader/Loader.js\";\nimport { ButtonCreate } from \"~/components/FolderTree/ButtonCreate/ButtonCreate.js\";\nimport { useConfirmMoveFolderDialog } from \"~/dialogs/index.js\";\nimport { createTreeData, createInitialOpenList } from \"~/components/FolderTree/List/utils.js\";\nimport { FolderTreePresenterFeature } from \"./feature.js\";\nimport type { FolderDto } from \"~/domain/folder/FolderDto.js\";\nimport type { FolderActionConfig } from \"~/config/AcoConfig.js\";\nimport type {\n IFolderTreeCallbacks,\n IFolderTreeViewModel,\n IFolderOperationState\n} from \"./abstractions.js\";\n\nconst t = i18n.ns(\"app-aco/presentation/folder-tree\");\n\nconst FolderOperationDialog = observer(function FolderOperationDialog({\n operation,\n actions\n}: {\n operation: IFolderOperationState;\n actions: IFolderTreeCallbacks;\n}) {\n const [loading, setLoading] = useState(false);\n\n if (!operation.active) {\n return null;\n }\n\n const handleClose = () => {\n if (!loading) {\n actions.cancelOperation();\n }\n };\n\n const withLoading = async (fn: () => Promise<unknown>) => {\n setLoading(true);\n try {\n await fn();\n } finally {\n setLoading(false);\n }\n };\n\n if (operation.mode === \"delete\") {\n return (\n <Dialog\n open={true}\n onClose={handleClose}\n title={t`Delete Folder`}\n actions={\n <>\n <Dialog.CancelAction onClick={handleClose} text={t`Cancel`} />\n <Dialog.ConfirmAction\n onClick={() => {\n if (operation.folderId) {\n void withLoading(() =>\n actions.deleteFolder(operation.folderId!)\n );\n }\n }}\n text={t`Delete`}\n />\n </>\n }\n >\n {loading && <OverlayLoader text={t`Deleting folder...`} />}\n <Text size={\"md\"}>\n {t`Are you sure you want to delete this folder? This action cannot be undone.`}\n </Text>\n </Dialog>\n );\n }\n\n if ((operation.mode === \"create\" || operation.mode === \"edit\") && operation.form) {\n const title = operation.mode === \"create\" ? t`Create Folder` : t`Edit Folder`;\n const confirmLabel = operation.mode === \"create\" ? t`Create` : t`Save`;\n const loadingLabel =\n operation.mode === \"create\" ? t`Creating folder...` : t`Saving folder...`;\n\n return (\n <Dialog\n open={true}\n onClose={handleClose}\n title={title}\n actions={\n <>\n <Dialog.CancelAction onClick={handleClose} text={t`Cancel`} />\n <Dialog.ConfirmAction\n onClick={() => {\n void withLoading(() => actions.submitOperation());\n }}\n text={confirmLabel}\n />\n </>\n }\n >\n {loading && <OverlayLoader text={loadingLabel} />}\n <FormView name={\"Folder Tree\"} form={operation.form.vm} />\n </Dialog>\n );\n }\n\n return null;\n});\n\nexport interface PresenterFolderTreeProps {\n vm: IFolderTreeViewModel;\n actions: IFolderTreeCallbacks;\n folderActions?: FolderActionConfig[];\n enableCreate?: boolean;\n enableActions?: boolean;\n dropConfirmation?: boolean;\n rootFolderLabel?: string;\n hiddenFolderIds?: string[];\n}\n\nexport interface UncontrolledFolderTreeProps extends Omit<\n PresenterFolderTreeProps,\n \"vm\" | \"actions\"\n> {\n focusedFolderId?: string | null;\n onFolderClick?: (folderId: string | null) => void;\n}\n\nexport const FolderTree = ({\n vm,\n actions,\n folderActions = [],\n enableCreate,\n enableActions,\n dropConfirmation = false,\n rootFolderLabel,\n hiddenFolderIds\n}: PresenterFolderTreeProps) => {\n const { showSnackbar } = useSnackbar();\n const { showDialog: showConfirmMoveFolderDialog } = useConfirmMoveFolderDialog();\n\n const focusedFolderId = vm.currentFolderId ?? ROOT_FOLDER;\n\n const folders = vm.folders;\n\n const localFolders = useMemo(() => {\n if (!folders.length) {\n return [];\n }\n return folders.map(item =>\n item.id === ROOT_FOLDER && rootFolderLabel ? { ...item, title: rootFolderLabel } : item\n );\n }, [folders, rootFolderLabel]);\n\n const [treeData, setTreeData] = useState<NodeDto<FolderDto>[]>([]);\n const [openFolderIds, setOpenFolderIds] = useState<string[]>([ROOT_FOLDER]);\n\n useEffect(() => {\n setTreeData(createTreeData(localFolders, focusedFolderId, hiddenFolderIds));\n }, [localFolders, focusedFolderId, hiddenFolderIds]);\n\n useEffect(() => {\n setOpenFolderIds(prev => {\n const expanded = createInitialOpenList(localFolders, prev, focusedFolderId);\n return [...new Set([ROOT_FOLDER, ...expanded])];\n });\n }, [focusedFolderId, localFolders]);\n\n const handleChangeOpen: TreeProps[\"onChangeOpen\"] = async nodes => {\n const folderIds = nodes.map(node => node.id);\n const updatedOpenIds = [...new Set([ROOT_FOLDER, ...folderIds])];\n const newlyOpened = updatedOpenIds.filter(id => !openFolderIds.includes(id));\n setOpenFolderIds(updatedOpenIds);\n\n if (newlyOpened.length > 0) {\n await actions.loadChildFolders(newlyOpened);\n }\n };\n\n const handleDrop: TreeProps[\"onDrop\"] = async (_, { dragSourceId, dropTargetId }) => {\n try {\n const targetParentId = dropTargetId !== ROOT_FOLDER ? (dropTargetId as string) : null;\n await actions.moveFolder(dragSourceId as string, targetParentId);\n } catch (error) {\n showSnackbar((error as Error).message);\n }\n };\n\n const onDrop = useCallback<NonNullable<TreeProps[\"onDrop\"]>>(\n async (newTree, options: DropOptions) => {\n const runDrop = async () => handleDrop(newTree, options);\n\n if (dropConfirmation) {\n const { dragSourceId, dropTargetId } = options;\n const folder = localFolders.find(f => f.id === dragSourceId);\n const targetFolder = localFolders.find(f => f.id === dropTargetId);\n\n if (!folder || !targetFolder) {\n return;\n }\n\n showConfirmMoveFolderDialog({\n folder,\n targetFolder,\n onAccept: runDrop\n });\n } else {\n await runDrop();\n }\n },\n [localFolders, dropConfirmation, showConfirmMoveFolderDialog]\n );\n\n const sort = useMemo(\n () => (a: NodeDto<any>, b: NodeDto<any>) => {\n if (a.id === ROOT_FOLDER || b.id === ROOT_FOLDER) {\n return 1;\n }\n return a.label.localeCompare(b.label, undefined, { numeric: true });\n },\n []\n );\n\n const canDrag: TreeProps<FolderDto>[\"canDrag\"] = useCallback(\n (node: NodeDto<FolderDto>) =>\n node.id !== ROOT_FOLDER && actions.canManageStructure(node.id),\n [actions]\n );\n\n const canDrop: TreeProps<FolderDto>[\"canDrop\"] = (_, options: DropOptions<FolderDto>) => {\n const { dragSourceId, dropTargetId } = options;\n const ancestorIds = actions.getAncestorIds(dropTargetId as string);\n return !(dragSourceId && ancestorIds.includes(dragSourceId as string));\n };\n\n const nodeRenderer: TreeProps<FolderDto>[\"renderer\"] = node => {\n const folder = localFolders.find(f => f.id === node.id);\n return (\n <FolderProvider folder={folder}>\n <Node enableActions={enableActions} folderActions={folderActions} />\n </FolderProvider>\n );\n };\n\n const handleNodeClick = useCallback(\n (node: WithDefaultNodeData<FolderDto>) => {\n actions.selectFolder(node.id === ROOT_FOLDER ? null : node.id);\n },\n [actions]\n );\n\n const createButton = useMemo(() => {\n if (!enableCreate) {\n return null;\n }\n\n const canCreate = actions.canManageStructure(focusedFolderId);\n const button = (\n <ButtonCreate\n disabled={!canCreate}\n onCreateFolder={() =>\n actions.createFolder(\n focusedFolderId === ROOT_FOLDER ? undefined : focusedFolderId\n )\n }\n />\n );\n\n return canCreate ? (\n button\n ) : (\n <Tooltip\n content={`Cannot create folder because you're not an owner.`}\n trigger={button}\n />\n );\n }, [enableCreate, actions, focusedFolderId, localFolders]);\n\n if (vm.loading) {\n return <Loader />;\n }\n\n return (\n <div className=\"my-xs\">\n <Tree<FolderDto>\n nodes={treeData}\n rootId={\"0\"}\n defaultOpenNodeIds={openFolderIds}\n onChangeOpen={handleChangeOpen}\n onDrop={onDrop}\n onNodeClick={handleNodeClick}\n sort={sort}\n canDrag={canDrag}\n canDrop={canDrop}\n renderer={nodeRenderer}\n defaultLockedOpenNodeIds={[ROOT_FOLDER]}\n loadingNodeIds={vm.loadingNodeIds}\n />\n {enableCreate && (\n <div className={\"m-xs-plus mt-sm-plus mb-lg pl-sm-extra\"}>{createButton}</div>\n )}\n <FolderOperationDialog operation={vm.operation} actions={actions} />\n </div>\n );\n};\n\nexport const UncontrolledFolderTree = ({\n focusedFolderId,\n onFolderClick,\n ...props\n}: UncontrolledFolderTreeProps) => {\n const { presenter } = useFeature(FolderTreePresenterFeature);\n\n const vm = useMemo(() => {\n if (focusedFolderId === undefined) {\n return presenter.vm;\n }\n return { ...presenter.vm, currentFolderId: focusedFolderId };\n }, [presenter.vm, focusedFolderId]);\n\n const actions = useMemo(() => {\n if (!onFolderClick) {\n return presenter;\n }\n return { ...presenter, selectFolder: onFolderClick };\n }, [presenter, onFolderClick]);\n\n return <FolderTree vm={vm} actions={actions} {...props} />;\n};\n"],"names":["t","i18n","FolderOperationDialog","observer","operation","actions","loading","setLoading","useState","handleClose","withLoading","fn","Dialog","OverlayLoader","Text","title","confirmLabel","loadingLabel","FormView","FolderTree","vm","folderActions","enableCreate","enableActions","dropConfirmation","rootFolderLabel","hiddenFolderIds","showSnackbar","useSnackbar","showConfirmMoveFolderDialog","useConfirmMoveFolderDialog","focusedFolderId","ROOT_FOLDER","folders","localFolders","useMemo","item","treeData","setTreeData","openFolderIds","setOpenFolderIds","useEffect","createTreeData","prev","expanded","createInitialOpenList","Set","handleChangeOpen","nodes","folderIds","node","updatedOpenIds","newlyOpened","id","handleDrop","_","dragSourceId","dropTargetId","targetParentId","error","onDrop","useCallback","newTree","options","runDrop","folder","f","targetFolder","sort","a","b","undefined","canDrag","canDrop","ancestorIds","nodeRenderer","FolderProvider","Node","handleNodeClick","createButton","canCreate","button","ButtonCreate","Tooltip","Loader","Tree","UncontrolledFolderTree","onFolderClick","props","presenter","useFeature","FolderTreePresenterFeature"],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
declare module "@webiny/app-admin/features/formModel/abstractions.js" {
|
|
3
|
+
interface IFieldRendererRegistry {
|
|
4
|
+
folderTree: {
|
|
5
|
+
fieldType: "text";
|
|
6
|
+
options: false;
|
|
7
|
+
settings: undefined;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export declare const FolderTreeFieldRenderer: React.ComponentType<{
|
|
12
|
+
field: import("@webiny/app-admin/index").IFieldVM;
|
|
13
|
+
}>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import react from "react";
|
|
2
|
+
import { FormComponentLabel, cn } from "@webiny/admin-ui";
|
|
3
|
+
import { createFieldRenderer } from "@webiny/app-admin/features/formModel/createFieldRenderer.js";
|
|
4
|
+
import { FolderTree } from "../../components/FolderTree/index.js";
|
|
5
|
+
import { ROOT_FOLDER } from "../../constants.js";
|
|
6
|
+
const FolderTreeFieldRenderer = createFieldRenderer(({ field })=>/*#__PURE__*/ react.createElement("div", null, /*#__PURE__*/ react.createElement(FormComponentLabel, {
|
|
7
|
+
text: field.label
|
|
8
|
+
}), /*#__PURE__*/ react.createElement("div", {
|
|
9
|
+
className: cn([
|
|
10
|
+
"px-sm-extra py-sm-extra",
|
|
11
|
+
"border-sm border-neutral-muted rounded-md",
|
|
12
|
+
"bg-neutral-base",
|
|
13
|
+
"max-h-[280px] overflow-x-hidden overflow-y-scroll"
|
|
14
|
+
])
|
|
15
|
+
}, /*#__PURE__*/ react.createElement(FolderTree, {
|
|
16
|
+
focusedFolderId: field.value ? String(field.value) : ROOT_FOLDER,
|
|
17
|
+
onFolderClick: (folder)=>{
|
|
18
|
+
field.onChange(folder.id === ROOT_FOLDER ? null : folder.id);
|
|
19
|
+
}
|
|
20
|
+
}))));
|
|
21
|
+
export { FolderTreeFieldRenderer };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=FolderTreeFieldRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation/folderTree/FolderTreeFieldRenderer.js","sources":["../../../src/presentation/folderTree/FolderTreeFieldRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { cn, FormComponentLabel } from \"@webiny/admin-ui\";\nimport { createFieldRenderer } from \"@webiny/app-admin/features/formModel/createFieldRenderer.js\";\nimport { FolderTree } from \"~/components/FolderTree/index.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\n\ndeclare module \"@webiny/app-admin/features/formModel/abstractions.js\" {\n interface IFieldRendererRegistry {\n folderTree: { fieldType: \"text\"; options: false; settings: undefined };\n }\n}\n\nexport const FolderTreeFieldRenderer = createFieldRenderer<\"folderTree\">(({ field }) => {\n return (\n <div>\n <FormComponentLabel text={field.label} />\n <div\n className={cn([\n \"px-sm-extra py-sm-extra\",\n \"border-sm border-neutral-muted rounded-md\",\n \"bg-neutral-base\",\n \"max-h-[280px] overflow-x-hidden overflow-y-scroll\"\n ])}\n >\n <FolderTree\n focusedFolderId={field.value ? String(field.value) : ROOT_FOLDER}\n onFolderClick={folder => {\n field.onChange(folder.id === ROOT_FOLDER ? null : folder.id);\n }}\n />\n </div>\n </div>\n );\n});\n"],"names":["FolderTreeFieldRenderer","createFieldRenderer","field","FormComponentLabel","cn","FolderTree","String","ROOT_FOLDER","folder"],"mappings":";;;;;AAYO,MAAMA,0BAA0BC,oBAAkC,CAAC,EAAEC,KAAK,EAAE,GACxE,WAAP,GACI,oBAAC,2BACG,oBAACC,oBAAkBA;QAAC,MAAMD,MAAM,KAAK;sBACrC,oBAAC;QACG,WAAWE,GAAG;YACV;YACA;YACA;YACA;SACH;qBAED,oBAACC,YAAUA;QACP,iBAAiBH,MAAM,KAAK,GAAGI,OAAOJ,MAAM,KAAK,IAAIK;QACrD,eAAeC,CAAAA;YACXN,MAAM,QAAQ,CAACM,OAAO,EAAE,KAAKD,cAAc,OAAOC,OAAO,EAAE;QAC/D"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { FolderTreePresenter as Abstraction, type IFolderTreeViewModel } from "./abstractions.js";
|
|
2
|
+
import { FoldersCache, FoldersContext } from "../../features/folders/abstractions.js";
|
|
3
|
+
import { ListFoldersUseCase } from "../../features/folders/listFolders/abstractions.js";
|
|
4
|
+
import { ListFoldersByParentIdsUseCase } from "../../features/folders/listFoldersByParentIds/abstractions.js";
|
|
5
|
+
import { CreateFolderUseCase } from "../../features/folders/createFolder/abstractions.js";
|
|
6
|
+
import { UpdateFolderUseCase } from "../../features/folders/updateFolder/abstractions.js";
|
|
7
|
+
import { DeleteFolderUseCase } from "../../features/folders/deleteFolder/abstractions.js";
|
|
8
|
+
import { GetFolderAncestorsUseCase } from "../../features/folders/getFolderAncestors/abstractions.js";
|
|
9
|
+
import { GetFolderLevelPermissionUseCase } from "../../features/folders/getFolderLevelPermission/abstractions.js";
|
|
10
|
+
import { FormModelFactory } from "@webiny/app-admin/features/formModel/abstractions.js";
|
|
11
|
+
type FolderChangeCallback = (folderId: string | null) => void;
|
|
12
|
+
declare class FolderTreePresenterImpl implements Abstraction.Interface {
|
|
13
|
+
private foldersContext;
|
|
14
|
+
private foldersCache;
|
|
15
|
+
private listFoldersUseCase;
|
|
16
|
+
private listFoldersByParentIdsUseCase;
|
|
17
|
+
private createFolderUseCase;
|
|
18
|
+
private updateFolderUseCase;
|
|
19
|
+
private deleteFolderUseCase;
|
|
20
|
+
private getFolderAncestorsUseCase;
|
|
21
|
+
private getFolderLevelPermissionUseCase;
|
|
22
|
+
private formModelFactory;
|
|
23
|
+
private currentFolderId;
|
|
24
|
+
private loading;
|
|
25
|
+
private _loadingNodeIds;
|
|
26
|
+
private operation;
|
|
27
|
+
private callbacks;
|
|
28
|
+
private disposed;
|
|
29
|
+
constructor(foldersContext: FoldersContext.Interface, foldersCache: FoldersCache.Interface, listFoldersUseCase: ListFoldersUseCase.Interface, listFoldersByParentIdsUseCase: ListFoldersByParentIdsUseCase.Interface, createFolderUseCase: CreateFolderUseCase.Interface, updateFolderUseCase: UpdateFolderUseCase.Interface, deleteFolderUseCase: DeleteFolderUseCase.Interface, getFolderAncestorsUseCase: GetFolderAncestorsUseCase.Interface, getFolderLevelPermissionUseCase: GetFolderLevelPermissionUseCase.Interface, formModelFactory: FormModelFactory.Interface);
|
|
30
|
+
get vm(): IFolderTreeViewModel;
|
|
31
|
+
selectFolder(folderId: string | null): void;
|
|
32
|
+
onFolderChange(callback: FolderChangeCallback): () => void;
|
|
33
|
+
loadChildFolders(parentIds: string[]): Promise<void>;
|
|
34
|
+
moveFolder(folderId: string, targetParentId: string | null): Promise<void>;
|
|
35
|
+
canManageStructure(folderId: string): boolean;
|
|
36
|
+
getAncestorIds(folderId: string): string[];
|
|
37
|
+
createFolder(parentFolderId?: string): void;
|
|
38
|
+
editFolder(folderId: string): void;
|
|
39
|
+
submitOperation(): Promise<boolean>;
|
|
40
|
+
deleteFolder(folderId: string): Promise<void>;
|
|
41
|
+
cancelOperation(): void;
|
|
42
|
+
private loadFolders;
|
|
43
|
+
private buildTree;
|
|
44
|
+
private buildTreeFromFolders;
|
|
45
|
+
private findFolder;
|
|
46
|
+
private findNode;
|
|
47
|
+
}
|
|
48
|
+
export declare const FolderTreePresenter: typeof FolderTreePresenterImpl & {
|
|
49
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IFolderTreePresenter>;
|
|
50
|
+
};
|
|
51
|
+
export {};
|