@webiny/app-aco 6.3.0-beta.4 → 6.4.0-beta.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/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 +21 -21
- 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
|
@@ -2,69 +2,57 @@ import isEqual from "lodash/isEqual.js";
|
|
|
2
2
|
import { Permissions } from "@webiny/shared-aco";
|
|
3
3
|
import { Folder } from "../../../../domain/folder/Folder.js";
|
|
4
4
|
import { FoldersCache } from "../../abstractions.js";
|
|
5
|
-
import { UpdateFolderRepository
|
|
5
|
+
import { UpdateFolderRepository } from "../abstractions.js";
|
|
6
6
|
class UpdateFolderRepositoryWithPermissionsChangeImpl {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
async execute(folder) {
|
|
12
|
-
const folderPermissions = [...folder.permissions];
|
|
13
|
-
const cachedFolderPermissions = this.cache.getItem(f => f.id === folder.id)?.permissions;
|
|
14
|
-
|
|
15
|
-
// Let's run the original use case and update the folder.
|
|
16
|
-
await this.decoratee.execute(folder);
|
|
17
|
-
if (!cachedFolderPermissions) {
|
|
18
|
-
// If the folder is not in the cache, we can't proceed to update its children permissions.
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
if (isEqual(cachedFolderPermissions, folderPermissions)) {
|
|
22
|
-
// If the permissions are the same, we don't need to update anything.
|
|
23
|
-
return;
|
|
7
|
+
constructor(cache, decoratee){
|
|
8
|
+
this.cache = cache;
|
|
9
|
+
this.decoratee = decoratee;
|
|
24
10
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
11
|
+
async execute(folder) {
|
|
12
|
+
const folderPermissions = [
|
|
13
|
+
...folder.permissions
|
|
14
|
+
];
|
|
15
|
+
const cachedFolderPermissions = this.cache.getItem((f)=>f.id === folder.id)?.permissions;
|
|
16
|
+
await this.decoratee.execute(folder);
|
|
17
|
+
if (!cachedFolderPermissions) return;
|
|
18
|
+
if (isEqual(cachedFolderPermissions, folderPermissions)) return;
|
|
19
|
+
const parentFolder = this.cache.getItem((f)=>f.id === folder.parentId);
|
|
20
|
+
const updatedFolder = this.updateFolderPermissions(folder.id, parentFolder);
|
|
21
|
+
const directChildren = this.listDirectChildren(updatedFolder);
|
|
22
|
+
if (directChildren.length) this.updateChildrenPermissionsRecursively(directChildren, updatedFolder);
|
|
35
23
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
this.updateChildrenPermissionsRecursively(grandChildren, updatedChild);
|
|
43
|
-
}
|
|
24
|
+
updateChildrenPermissionsRecursively(children, parentFolder) {
|
|
25
|
+
for (const child of children){
|
|
26
|
+
const updatedChild = this.updateFolderPermissions(child.id, parentFolder);
|
|
27
|
+
const grandChildren = this.listDirectChildren(updatedChild);
|
|
28
|
+
if (grandChildren.length) this.updateChildrenPermissionsRecursively(grandChildren, updatedChild);
|
|
29
|
+
}
|
|
44
30
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
31
|
+
updateFolderPermissions(folderId, parentFolder) {
|
|
32
|
+
let updatedFolder;
|
|
33
|
+
this.cache.updateItems((f)=>{
|
|
34
|
+
if (f.id === folderId) {
|
|
35
|
+
const permissions = Permissions.create(f.permissions, parentFolder);
|
|
36
|
+
updatedFolder = Folder.create({
|
|
37
|
+
...f,
|
|
38
|
+
permissions
|
|
39
|
+
});
|
|
40
|
+
return updatedFolder;
|
|
41
|
+
}
|
|
42
|
+
return f;
|
|
54
43
|
});
|
|
55
44
|
return updatedFolder;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
listDirectChildren(folder) {
|
|
62
|
-
return this.cache.getItems().filter(f => f.parentId === folder.id);
|
|
63
|
-
}
|
|
45
|
+
}
|
|
46
|
+
listDirectChildren(folder) {
|
|
47
|
+
return this.cache.getItems().filter((f)=>f.parentId === folder.id);
|
|
48
|
+
}
|
|
64
49
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
50
|
+
const UpdateFolderRepositoryWithPermissionsChange = UpdateFolderRepository.createDecorator({
|
|
51
|
+
decorator: UpdateFolderRepositoryWithPermissionsChangeImpl,
|
|
52
|
+
dependencies: [
|
|
53
|
+
FoldersCache
|
|
54
|
+
]
|
|
68
55
|
});
|
|
56
|
+
export { UpdateFolderRepositoryWithPermissionsChange };
|
|
69
57
|
|
|
70
58
|
//# sourceMappingURL=RepositoryWithPermissionsChange.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/folders/updateFolder/decorators/RepositoryWithPermissionsChange.js","sources":["../../../../../src/features/folders/updateFolder/decorators/RepositoryWithPermissionsChange.ts"],"sourcesContent":["import isEqual from \"lodash/isEqual.js\";\nimport { Permissions } from \"@webiny/shared-aco\";\nimport { Folder } from \"~/domain/folder/Folder.js\";\nimport { FoldersCache } from \"../../abstractions.js\";\nimport { UpdateFolderRepository as RepositoryAbstraction } from \"../abstractions.js\";\n\nclass UpdateFolderRepositoryWithPermissionsChangeImpl implements RepositoryAbstraction.Interface {\n constructor(\n private cache: FoldersCache.Interface,\n private decoratee: RepositoryAbstraction.Interface\n ) {}\n\n async execute(folder: Folder) {\n const folderPermissions = [...folder.permissions];\n const cachedFolderPermissions = this.cache.getItem(f => f.id === folder.id)?.permissions;\n\n // Let's run the original use case and update the folder.\n await this.decoratee.execute(folder);\n\n if (!cachedFolderPermissions) {\n // If the folder is not in the cache, we can't proceed to update its children permissions.\n return;\n }\n\n if (isEqual(cachedFolderPermissions, folderPermissions)) {\n // If the permissions are the same, we don't need to update anything.\n return;\n }\n\n // If the permissions have changed, we need to update the folder and its children.\n // Starting with the folder itself, inheriting permissions from its parent folder.\n const parentFolder = this.cache.getItem(f => f.id === folder.parentId);\n const updatedFolder = this.updateFolderPermissions(folder.id, parentFolder);\n\n // Now we need to update the permissions of all permissions of the folder's children.\n const directChildren = this.listDirectChildren(updatedFolder);\n if (directChildren.length) {\n this.updateChildrenPermissionsRecursively(directChildren, updatedFolder);\n }\n }\n\n private updateChildrenPermissionsRecursively(children: Folder[], parentFolder: Folder) {\n for (const child of children) {\n const updatedChild = this.updateFolderPermissions(child.id, parentFolder);\n const grandChildren = this.listDirectChildren(updatedChild);\n if (grandChildren.length) {\n this.updateChildrenPermissionsRecursively(grandChildren, updatedChild);\n }\n }\n }\n\n private updateFolderPermissions(folderId: string, parentFolder: Folder | undefined): Folder {\n let updatedFolder: Folder | undefined;\n this.cache.updateItems(f => {\n if (f.id === folderId) {\n const permissions = Permissions.create(f.permissions, parentFolder);\n updatedFolder = Folder.create({ ...f, permissions });\n return updatedFolder;\n }\n return f;\n });\n\n return updatedFolder!;\n }\n\n private listDirectChildren(folder: Folder) {\n return this.cache.getItems().filter(f => f.parentId === folder.id);\n }\n}\n\nexport const UpdateFolderRepositoryWithPermissionsChange = RepositoryAbstraction.createDecorator({\n decorator: UpdateFolderRepositoryWithPermissionsChangeImpl,\n dependencies: [FoldersCache]\n});\n"],"names":["UpdateFolderRepositoryWithPermissionsChangeImpl","cache","decoratee","folder","folderPermissions","cachedFolderPermissions","f","isEqual","parentFolder","updatedFolder","directChildren","children","child","updatedChild","grandChildren","folderId","permissions","Permissions","Folder","UpdateFolderRepositoryWithPermissionsChange","RepositoryAbstraction","FoldersCache"],"mappings":";;;;;AAMA,MAAMA;IACF,YACYC,KAA6B,EAC7BC,SAA0C,CACpD;aAFUD,KAAK,GAALA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,QAAQC,MAAc,EAAE;QAC1B,MAAMC,oBAAoB;eAAID,OAAO,WAAW;SAAC;QACjD,MAAME,0BAA0B,IAAI,CAAC,KAAK,CAAC,OAAO,CAACC,CAAAA,IAAKA,EAAE,EAAE,KAAKH,OAAO,EAAE,GAAG;QAG7E,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAACA;QAE7B,IAAI,CAACE,yBAED;QAGJ,IAAIE,QAAQF,yBAAyBD,oBAEjC;QAKJ,MAAMI,eAAe,IAAI,CAAC,KAAK,CAAC,OAAO,CAACF,CAAAA,IAAKA,EAAE,EAAE,KAAKH,OAAO,QAAQ;QACrE,MAAMM,gBAAgB,IAAI,CAAC,uBAAuB,CAACN,OAAO,EAAE,EAAEK;QAG9D,MAAME,iBAAiB,IAAI,CAAC,kBAAkB,CAACD;QAC/C,IAAIC,eAAe,MAAM,EACrB,IAAI,CAAC,oCAAoC,CAACA,gBAAgBD;IAElE;IAEQ,qCAAqCE,QAAkB,EAAEH,YAAoB,EAAE;QACnF,KAAK,MAAMI,SAASD,SAAU;YAC1B,MAAME,eAAe,IAAI,CAAC,uBAAuB,CAACD,MAAM,EAAE,EAAEJ;YAC5D,MAAMM,gBAAgB,IAAI,CAAC,kBAAkB,CAACD;YAC9C,IAAIC,cAAc,MAAM,EACpB,IAAI,CAAC,oCAAoC,CAACA,eAAeD;QAEjE;IACJ;IAEQ,wBAAwBE,QAAgB,EAAEP,YAAgC,EAAU;QACxF,IAAIC;QACJ,IAAI,CAAC,KAAK,CAAC,WAAW,CAACH,CAAAA;YACnB,IAAIA,EAAE,EAAE,KAAKS,UAAU;gBACnB,MAAMC,cAAcC,YAAY,MAAM,CAACX,EAAE,WAAW,EAAEE;gBACtDC,gBAAgBS,OAAO,MAAM,CAAC;oBAAE,GAAGZ,CAAC;oBAAEU;gBAAY;gBAClD,OAAOP;YACX;YACA,OAAOH;QACX;QAEA,OAAOG;IACX;IAEQ,mBAAmBN,MAAc,EAAE;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAACG,CAAAA,IAAKA,EAAE,QAAQ,KAAKH,OAAO,EAAE;IACrE;AACJ;AAEO,MAAMgB,8CAA8CC,uBAAAA,eAAqC,CAAC;IAC7F,WAAWpB;IACX,cAAc;QAACqB;KAAa;AAChC"}
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
import { FoldersLoadingRepository } from "../../abstractions.js";
|
|
2
|
-
import { UpdateFolderUseCase
|
|
2
|
+
import { UpdateFolderUseCase } from "../abstractions.js";
|
|
3
3
|
import { LoadingActionsEnum } from "../../../../types.js";
|
|
4
4
|
class UpdateFolderUseCaseWithLoadingImpl {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
constructor(loadingRepository, decoratee){
|
|
6
|
+
this.loadingRepository = loadingRepository;
|
|
7
|
+
this.decoratee = decoratee;
|
|
8
|
+
}
|
|
9
|
+
async execute(folder) {
|
|
10
|
+
await this.loadingRepository.runCallBack(this.decoratee.execute(folder), LoadingActionsEnum.update);
|
|
11
|
+
}
|
|
12
12
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
const UpdateFolderUseCaseWithLoading = UpdateFolderUseCase.createDecorator({
|
|
14
|
+
decorator: UpdateFolderUseCaseWithLoadingImpl,
|
|
15
|
+
dependencies: [
|
|
16
|
+
FoldersLoadingRepository
|
|
17
|
+
]
|
|
16
18
|
});
|
|
19
|
+
export { UpdateFolderUseCaseWithLoading };
|
|
17
20
|
|
|
18
21
|
//# sourceMappingURL=UseCaseWithLoading.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/folders/updateFolder/decorators/UseCaseWithLoading.js","sources":["../../../../../src/features/folders/updateFolder/decorators/UseCaseWithLoading.ts"],"sourcesContent":["import { FoldersLoadingRepository } from \"../../abstractions.js\";\nimport { UpdateFolderUseCase as UseCaseAbstraction } from \"../abstractions.js\";\nimport { LoadingActionsEnum } from \"~/types.js\";\n\nclass UpdateFolderUseCaseWithLoadingImpl implements UseCaseAbstraction.Interface {\n constructor(\n private loadingRepository: FoldersLoadingRepository.Interface,\n private decoratee: UseCaseAbstraction.Interface\n ) {}\n\n async execute(folder: UseCaseAbstraction.Params) {\n await this.loadingRepository.runCallBack(\n this.decoratee.execute(folder),\n LoadingActionsEnum.update\n );\n }\n}\n\nexport const UpdateFolderUseCaseWithLoading = UseCaseAbstraction.createDecorator({\n decorator: UpdateFolderUseCaseWithLoadingImpl,\n dependencies: [FoldersLoadingRepository]\n});\n"],"names":["UpdateFolderUseCaseWithLoadingImpl","loadingRepository","decoratee","folder","LoadingActionsEnum","UpdateFolderUseCaseWithLoading","UseCaseAbstraction","FoldersLoadingRepository"],"mappings":";;;AAIA,MAAMA;IACF,YACYC,iBAAqD,EACrDC,SAAuC,CACjD;aAFUD,iBAAiB,GAAjBA;aACAC,SAAS,GAATA;IACT;IAEH,MAAM,QAAQC,MAAiC,EAAE;QAC7C,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CACpC,IAAI,CAAC,SAAS,CAAC,OAAO,CAACA,SACvBC,mBAAmB,MAAM;IAEjC;AACJ;AAEO,MAAMC,iCAAiCC,oBAAAA,eAAkC,CAAC;IAC7E,WAAWN;IACX,cAAc;QAACO;KAAyB;AAC5C"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { UpdateFolderUseCase
|
|
1
|
+
import { UpdateFolderUseCase } from "../abstractions.js";
|
|
2
2
|
class UpdateFolderUseCaseWithoutInheritedPermissionsImpl {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
}
|
|
3
|
+
constructor(decoratee){
|
|
4
|
+
this.decoratee = decoratee;
|
|
5
|
+
}
|
|
6
|
+
async execute(folder) {
|
|
7
|
+
const filteredPermissions = folder.permissions.filter((p)=>!p.inheritedFrom);
|
|
8
|
+
await this.decoratee.execute({
|
|
9
|
+
...folder,
|
|
10
|
+
permissions: filteredPermissions
|
|
11
|
+
});
|
|
12
|
+
}
|
|
14
13
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
const UpdateFolderUseCaseWithoutInheritedPermissions = UpdateFolderUseCase.createDecorator({
|
|
15
|
+
decorator: UpdateFolderUseCaseWithoutInheritedPermissionsImpl,
|
|
16
|
+
dependencies: []
|
|
18
17
|
});
|
|
18
|
+
export { UpdateFolderUseCaseWithoutInheritedPermissions };
|
|
19
19
|
|
|
20
20
|
//# sourceMappingURL=UseCaseWithoutInheritedPermissions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/folders/updateFolder/decorators/UseCaseWithoutInheritedPermissions.js","sources":["../../../../../src/features/folders/updateFolder/decorators/UseCaseWithoutInheritedPermissions.ts"],"sourcesContent":["import { UpdateFolderUseCase as UseCaseAbstraction } from \"../abstractions.js\";\n\nclass UpdateFolderUseCaseWithoutInheritedPermissionsImpl implements UseCaseAbstraction.Interface {\n constructor(private decoratee: UseCaseAbstraction.Interface) {}\n\n async execute(folder: UseCaseAbstraction.Params) {\n // We must omit all inherited permissions.\n const filteredPermissions = folder.permissions.filter(p => !p.inheritedFrom);\n\n await this.decoratee.execute({\n ...folder,\n permissions: filteredPermissions\n });\n }\n}\n\nexport const UpdateFolderUseCaseWithoutInheritedPermissions = UseCaseAbstraction.createDecorator({\n decorator: UpdateFolderUseCaseWithoutInheritedPermissionsImpl,\n dependencies: []\n});\n"],"names":["UpdateFolderUseCaseWithoutInheritedPermissionsImpl","decoratee","folder","filteredPermissions","p","UpdateFolderUseCaseWithoutInheritedPermissions","UseCaseAbstraction"],"mappings":";AAEA,MAAMA;IACF,YAAoBC,SAAuC,CAAE;aAAzCA,SAAS,GAATA;IAA0C;IAE9D,MAAM,QAAQC,MAAiC,EAAE;QAE7C,MAAMC,sBAAsBD,OAAO,WAAW,CAAC,MAAM,CAACE,CAAAA,IAAK,CAACA,EAAE,aAAa;QAE3E,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACzB,GAAGF,MAAM;YACT,aAAaC;QACjB;IACJ;AACJ;AAEO,MAAME,iDAAiDC,oBAAAA,eAAkC,CAAC;IAC7F,WAAWN;IACX,cAAc,EAAE;AACpB"}
|
|
@@ -1,39 +1,31 @@
|
|
|
1
1
|
import { createFeature } from "@webiny/feature/admin";
|
|
2
2
|
import { FoldersLoadingRepository } from "../abstractions.js";
|
|
3
|
-
import { UpdateFolderUseCase
|
|
4
|
-
import { UpdateFolderUseCase } from "./UpdateFolderUseCase.js";
|
|
3
|
+
import { UpdateFolderUseCase } from "./abstractions.js";
|
|
4
|
+
import { UpdateFolderUseCase as external_UpdateFolderUseCase_js_UpdateFolderUseCase } from "./UpdateFolderUseCase.js";
|
|
5
5
|
import { UpdateFolderRepository } from "./UpdateFolderRepository.js";
|
|
6
6
|
import { UpdateFolderGqlGateway } from "./UpdateFolderGqlGateway.js";
|
|
7
7
|
import { UpdateFolderRepositoryWithPathChange } from "./decorators/RepositoryWithPathChange.js";
|
|
8
8
|
import { UpdateFolderRepositoryWithPermissionsChange } from "./decorators/RepositoryWithPermissionsChange.js";
|
|
9
9
|
import { UpdateFolderUseCaseWithoutInheritedPermissions } from "./decorators/UseCaseWithoutInheritedPermissions.js";
|
|
10
10
|
import { UpdateFolderUseCaseWithLoading } from "./decorators/UseCaseWithLoading.js";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
container.registerDecorator(UpdateFolderUseCaseWithoutInheritedPermissions);
|
|
29
|
-
container.registerDecorator(UpdateFolderUseCaseWithLoading);
|
|
30
|
-
},
|
|
31
|
-
resolve(container) {
|
|
32
|
-
return {
|
|
33
|
-
useCase: container.resolve(UseCase),
|
|
34
|
-
loading: container.resolve(FoldersLoadingRepository)
|
|
35
|
-
};
|
|
36
|
-
}
|
|
11
|
+
const UpdateFolderFeature = createFeature({
|
|
12
|
+
name: "UpdateFolder",
|
|
13
|
+
register (container) {
|
|
14
|
+
container.register(external_UpdateFolderUseCase_js_UpdateFolderUseCase);
|
|
15
|
+
container.register(UpdateFolderRepository).inSingletonScope();
|
|
16
|
+
container.register(UpdateFolderGqlGateway);
|
|
17
|
+
container.registerDecorator(UpdateFolderRepositoryWithPathChange);
|
|
18
|
+
container.registerDecorator(UpdateFolderRepositoryWithPermissionsChange);
|
|
19
|
+
container.registerDecorator(UpdateFolderUseCaseWithoutInheritedPermissions);
|
|
20
|
+
container.registerDecorator(UpdateFolderUseCaseWithLoading);
|
|
21
|
+
},
|
|
22
|
+
resolve (container) {
|
|
23
|
+
return {
|
|
24
|
+
useCase: container.resolve(UpdateFolderUseCase),
|
|
25
|
+
loading: container.resolve(FoldersLoadingRepository)
|
|
26
|
+
};
|
|
27
|
+
}
|
|
37
28
|
});
|
|
29
|
+
export { UpdateFolderFeature };
|
|
38
30
|
|
|
39
31
|
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/folders/updateFolder/feature.js","sources":["../../../../src/features/folders/updateFolder/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/admin\";\nimport { FoldersLoadingRepository } from \"~/features/folders/abstractions.js\";\nimport { UpdateFolderUseCase as UseCase } from \"./abstractions.js\";\nimport { UpdateFolderUseCase } from \"./UpdateFolderUseCase.js\";\nimport { UpdateFolderRepository } from \"./UpdateFolderRepository.js\";\nimport { UpdateFolderGqlGateway } from \"./UpdateFolderGqlGateway.js\";\nimport { UpdateFolderRepositoryWithPathChange } from \"./decorators/RepositoryWithPathChange.js\";\nimport { UpdateFolderRepositoryWithPermissionsChange } from \"./decorators/RepositoryWithPermissionsChange.js\";\nimport { UpdateFolderUseCaseWithoutInheritedPermissions } from \"./decorators/UseCaseWithoutInheritedPermissions.js\";\nimport { UpdateFolderUseCaseWithLoading } from \"./decorators/UseCaseWithLoading.js\";\n\nexport const UpdateFolderFeature = createFeature({\n name: \"UpdateFolder\",\n register(container) {\n // Register base use case\n container.register(UpdateFolderUseCase);\n\n // Register base repository\n container.register(UpdateFolderRepository).inSingletonScope();\n\n // Register gateway\n container.register(UpdateFolderGqlGateway);\n\n // Register repository decorators (innermost first)\n container.registerDecorator(UpdateFolderRepositoryWithPathChange);\n container.registerDecorator(UpdateFolderRepositoryWithPermissionsChange);\n\n // Register use case decorators (innermost first)\n container.registerDecorator(UpdateFolderUseCaseWithoutInheritedPermissions);\n container.registerDecorator(UpdateFolderUseCaseWithLoading);\n },\n resolve(container) {\n return {\n useCase: container.resolve(UseCase),\n loading: container.resolve(FoldersLoadingRepository)\n };\n }\n});\n"],"names":["UpdateFolderFeature","createFeature","container","UpdateFolderUseCase","UpdateFolderRepository","UpdateFolderGqlGateway","UpdateFolderRepositoryWithPathChange","UpdateFolderRepositoryWithPermissionsChange","UpdateFolderUseCaseWithoutInheritedPermissions","UpdateFolderUseCaseWithLoading","UseCase","FoldersLoadingRepository"],"mappings":";;;;;;;;;;AAWO,MAAMA,sBAAsBC,cAAc;IAC7C,MAAM;IACN,UAASC,SAAS;QAEdA,UAAU,QAAQ,CAACC;QAGnBD,UAAU,QAAQ,CAACE,wBAAwB,gBAAgB;QAG3DF,UAAU,QAAQ,CAACG;QAGnBH,UAAU,iBAAiB,CAACI;QAC5BJ,UAAU,iBAAiB,CAACK;QAG5BL,UAAU,iBAAiB,CAACM;QAC5BN,UAAU,iBAAiB,CAACO;IAChC;IACA,SAAQP,SAAS;QACb,OAAO;YACH,SAASA,UAAU,OAAO,CAACQ;YAC3B,SAASR,UAAU,OAAO,CAACS;QAC/B;IACJ;AACJ"}
|
|
@@ -2,25 +2,23 @@ import { useCallback, useEffect, useState } from "react";
|
|
|
2
2
|
import { autorun } from "mobx";
|
|
3
3
|
import { useFeature } from "@webiny/app";
|
|
4
4
|
import { UpdateFolderFeature } from "./feature.js";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
updateFolder,
|
|
22
|
-
loading
|
|
23
|
-
};
|
|
5
|
+
const useUpdateFolder = ()=>{
|
|
6
|
+
const { useCase, loading: loadingState } = useFeature(UpdateFolderFeature);
|
|
7
|
+
const [loading, setLoading] = useState(false);
|
|
8
|
+
const updateFolder = useCallback((folder)=>useCase.execute(folder), [
|
|
9
|
+
useCase
|
|
10
|
+
]);
|
|
11
|
+
useEffect(()=>autorun(()=>{
|
|
12
|
+
const isLoading = loadingState.isLoading("update");
|
|
13
|
+
setLoading(isLoading);
|
|
14
|
+
}), [
|
|
15
|
+
loadingState
|
|
16
|
+
]);
|
|
17
|
+
return {
|
|
18
|
+
updateFolder,
|
|
19
|
+
loading
|
|
20
|
+
};
|
|
24
21
|
};
|
|
22
|
+
export { useUpdateFolder };
|
|
25
23
|
|
|
26
24
|
//# sourceMappingURL=useUpdateFolder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/folders/updateFolder/useUpdateFolder.js","sources":["../../../../src/features/folders/updateFolder/useUpdateFolder.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from \"react\";\nimport { autorun } from \"mobx\";\nimport { useFeature } from \"@webiny/app\";\nimport { UpdateFolderFeature } from \"./feature.js\";\nimport { UpdateFolderParams } from \"./abstractions.js\";\n\nexport const useUpdateFolder = () => {\n const { useCase, loading: loadingState } = useFeature(UpdateFolderFeature);\n\n const [loading, setLoading] = useState<boolean>(false);\n\n const updateFolder = useCallback(\n (folder: UpdateFolderParams) => {\n return useCase.execute(folder);\n },\n [useCase]\n );\n\n useEffect(() => {\n return autorun(() => {\n const isLoading = loadingState.isLoading(\"update\");\n setLoading(isLoading);\n });\n }, [loadingState]);\n\n return {\n updateFolder,\n loading\n };\n};\n"],"names":["useUpdateFolder","useCase","loadingState","useFeature","UpdateFolderFeature","loading","setLoading","useState","updateFolder","useCallback","folder","useEffect","autorun","isLoading"],"mappings":";;;;AAMO,MAAMA,kBAAkB;IAC3B,MAAM,EAAEC,OAAO,EAAE,SAASC,YAAY,EAAE,GAAGC,WAAWC;IAEtD,MAAM,CAACC,SAASC,WAAW,GAAGC,SAAkB;IAEhD,MAAMC,eAAeC,YACjB,CAACC,SACUT,QAAQ,OAAO,CAACS,SAE3B;QAACT;KAAQ;IAGbU,UAAU,IACCC,QAAQ;YACX,MAAMC,YAAYX,aAAa,SAAS,CAAC;YACzCI,WAAWO;QACf,IACD;QAACX;KAAa;IAEjB,OAAO;QACHM;QACAH;IACJ;AACJ"}
|
package/graphql/app.gql.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
return gql`
|
|
1
|
+
import graphql_tag from "graphql-tag";
|
|
2
|
+
const createGetAppQuery = ()=>graphql_tag`
|
|
4
3
|
query GetApp($id: ID!) {
|
|
5
4
|
aco {
|
|
6
5
|
app: getApp(id: $id) {
|
|
@@ -18,6 +17,6 @@ export const createGetAppQuery = () => {
|
|
|
18
17
|
}
|
|
19
18
|
}
|
|
20
19
|
`;
|
|
21
|
-
};
|
|
20
|
+
export { createGetAppQuery };
|
|
22
21
|
|
|
23
22
|
//# sourceMappingURL=app.gql.js.map
|
package/graphql/app.gql.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"graphql/app.gql.js","sources":["../../src/graphql/app.gql.ts"],"sourcesContent":["import gql from \"graphql-tag\";\nimport type { AcoError, AcoModel } from \"~/types.js\";\n\nexport interface GraphQlAcoApp {\n id: string;\n model: AcoModel;\n}\nexport interface GetAppResult {\n aco: {\n app: {\n data: GraphQlAcoApp | null;\n error: AcoError | null;\n };\n };\n}\nexport interface GetAppVariables {\n id: string;\n}\n\nexport const createGetAppQuery = () => {\n return gql`\n query GetApp($id: ID!) {\n aco {\n app: getApp(id: $id) {\n data {\n id\n model\n }\n error {\n code\n message\n data\n stack\n }\n }\n }\n }\n `;\n};\n"],"names":["createGetAppQuery","gql"],"mappings":";AAmBO,MAAMA,oBAAoB,IACtBC,WAAG,CAAC;;;;;;;;;;;;;;;;;IAiBX,CAAC"}
|
|
@@ -1,55 +1,57 @@
|
|
|
1
1
|
import { plugins } from "@webiny/plugins";
|
|
2
|
-
|
|
2
|
+
const ERROR_FIELD = `
|
|
3
3
|
error {
|
|
4
4
|
code
|
|
5
5
|
data
|
|
6
6
|
message
|
|
7
7
|
}
|
|
8
8
|
`;
|
|
9
|
-
const defaultFields = [
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
9
|
+
const defaultFields = [
|
|
10
|
+
"id",
|
|
11
|
+
"createdOn",
|
|
12
|
+
"savedOn",
|
|
13
|
+
"modifiedOn",
|
|
14
|
+
"createdBy {id type displayName}",
|
|
15
|
+
"savedBy {id type displayName}",
|
|
16
|
+
"modifiedBy {id type displayName}"
|
|
17
|
+
];
|
|
18
|
+
const createFieldsList = ({ model, fields })=>{
|
|
19
|
+
const fieldPlugins = plugins.byType("cms-editor-field-type").reduce((acc, item)=>({
|
|
20
|
+
...acc,
|
|
21
|
+
[item.field.type]: item.field
|
|
22
|
+
}), {});
|
|
23
|
+
return fields.reduce((collection, field)=>{
|
|
24
|
+
if (!fieldPlugins[field.type]) {
|
|
25
|
+
console.log(`Unknown field plugin for field type "${field.type}".`);
|
|
26
|
+
return collection;
|
|
27
|
+
}
|
|
28
|
+
const { graphql } = fieldPlugins[field.type];
|
|
29
|
+
if (graphql && graphql.queryField) {
|
|
30
|
+
const { queryField } = graphql;
|
|
31
|
+
const selection = "string" == typeof queryField ? queryField : queryField({
|
|
32
|
+
model,
|
|
33
|
+
field
|
|
34
|
+
});
|
|
35
|
+
collection.push(`${field.fieldId} ${selection}`);
|
|
36
|
+
return collection;
|
|
37
|
+
}
|
|
38
|
+
collection.push(field.fieldId);
|
|
39
|
+
return collection;
|
|
40
|
+
}, [
|
|
41
|
+
...defaultFields
|
|
42
|
+
]).join("\n");
|
|
40
43
|
};
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
};
|
|
47
|
-
export const LIST_META_FIELD = /* GraphQL */`
|
|
44
|
+
const createAppFields = (model)=>createFieldsList({
|
|
45
|
+
model,
|
|
46
|
+
fields: model.fields
|
|
47
|
+
});
|
|
48
|
+
const LIST_META_FIELD = `
|
|
48
49
|
meta {
|
|
49
50
|
cursor
|
|
50
51
|
totalCount
|
|
51
52
|
hasMoreItems
|
|
52
53
|
}
|
|
53
54
|
`;
|
|
55
|
+
export { ERROR_FIELD, LIST_META_FIELD, createAppFields };
|
|
54
56
|
|
|
55
57
|
//# sourceMappingURL=common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"graphql/records/common.js","sources":["../../../src/graphql/records/common.ts"],"sourcesContent":["import type { AcoModel, AcoModelField } from \"~/types.js\";\nimport { plugins } from \"@webiny/plugins\";\n\nexport const ERROR_FIELD = /* GraphQL */ `\n error {\n code\n data\n message\n }\n`;\ninterface CreateFieldsListParams {\n model: AcoModel;\n fields: AcoModelField[];\n}\n\nconst defaultFields = [\n \"id\",\n \"createdOn\",\n \"savedOn\",\n \"modifiedOn\",\n \"createdBy {id type displayName}\",\n \"savedBy {id type displayName}\",\n \"modifiedBy {id type displayName}\"\n];\n\nconst createFieldsList = ({ model, fields }: CreateFieldsListParams): string => {\n const fieldPlugins: Record<string, any> = plugins\n .byType(\"cms-editor-field-type\")\n .reduce((acc: any, item: any) => ({ ...acc, [item.field.type]: item.field }), {});\n\n return fields\n .reduce<string[]>(\n (collection, field) => {\n if (!fieldPlugins[field.type]) {\n console.log(`Unknown field plugin for field type \"${field.type}\".`);\n return collection;\n }\n const { graphql } = fieldPlugins[field.type];\n\n if (graphql && graphql.queryField) {\n const { queryField } = graphql;\n const selection =\n typeof queryField === \"string\" ? queryField : queryField({ model, field });\n\n collection.push(`${field.fieldId} ${selection}`);\n return collection;\n }\n\n collection.push(field.fieldId);\n\n return collection;\n },\n [...defaultFields]\n )\n .join(\"\\n\");\n};\n\nexport const createAppFields = (model: AcoModel) => {\n return createFieldsList({\n model,\n fields: model.fields\n });\n};\n\nexport const LIST_META_FIELD = /* GraphQL */ `\n meta {\n cursor\n totalCount\n hasMoreItems\n }\n`;\n"],"names":["ERROR_FIELD","defaultFields","createFieldsList","model","fields","fieldPlugins","plugins","acc","item","collection","field","console","graphql","queryField","selection","createAppFields","LIST_META_FIELD"],"mappings":";AAGO,MAAMA,cAA4B,CAAC;;;;;;AAM1C,CAAC;AAMD,MAAMC,gBAAgB;IAClB;IACA;IACA;IACA;IACA;IACA;IACA;CACH;AAED,MAAMC,mBAAmB,CAAC,EAAEC,KAAK,EAAEC,MAAM,EAA0B;IAC/D,MAAMC,eAAoCC,QAAAA,MAC/B,CAAC,yBACP,MAAM,CAAC,CAACC,KAAUC,OAAe;YAAE,GAAGD,GAAG;YAAE,CAACC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAEA,KAAK,KAAK;QAAC,IAAI,CAAC;IAEnF,OAAOJ,OACF,MAAM,CACH,CAACK,YAAYC;QACT,IAAI,CAACL,YAAY,CAACK,MAAM,IAAI,CAAC,EAAE;YAC3BC,QAAQ,GAAG,CAAC,CAAC,qCAAqC,EAAED,MAAM,IAAI,CAAC,EAAE,CAAC;YAClE,OAAOD;QACX;QACA,MAAM,EAAEG,OAAO,EAAE,GAAGP,YAAY,CAACK,MAAM,IAAI,CAAC;QAE5C,IAAIE,WAAWA,QAAQ,UAAU,EAAE;YAC/B,MAAM,EAAEC,UAAU,EAAE,GAAGD;YACvB,MAAME,YACF,AAAsB,YAAtB,OAAOD,aAA0BA,aAAaA,WAAW;gBAAEV;gBAAOO;YAAM;YAE5ED,WAAW,IAAI,CAAC,GAAGC,MAAM,OAAO,CAAC,CAAC,EAAEI,WAAW;YAC/C,OAAOL;QACX;QAEAA,WAAW,IAAI,CAACC,MAAM,OAAO;QAE7B,OAAOD;IACX,GACA;WAAIR;KAAc,EAErB,IAAI,CAAC;AACd;AAEO,MAAMc,kBAAkB,CAACZ,QACrBD,iBAAiB;QACpBC;QACA,QAAQA,MAAM,MAAM;IACxB;AAGG,MAAMa,kBAAgC,CAAC;;;;;;AAM9C,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { createReadQuery } from "@webiny/app-headless-cms-common";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
2
|
+
const createGetRecord = (model)=>createReadQuery(model);
|
|
3
|
+
export { createGetRecord };
|
|
5
4
|
|
|
6
5
|
//# sourceMappingURL=getRecord.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"graphql/records/getRecord.js","sources":["../../../src/graphql/records/getRecord.ts"],"sourcesContent":["import type { AcoModel } from \"~/types.js\";\nimport { createReadQuery } from \"@webiny/app-headless-cms-common\";\n\nexport const createGetRecord = (model: AcoModel) => {\n return createReadQuery(model);\n};\n"],"names":["createGetRecord","model","createReadQuery"],"mappings":";AAGO,MAAMA,kBAAkB,CAACC,QACrBC,gBAAgBD"}
|
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
import { createListQuery } from "@webiny/app-headless-cms-common";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
2
|
+
const createListRecords = (model, fieldIds)=>{
|
|
3
|
+
const defaultFields = model.fields.filter((field)=>[
|
|
4
|
+
"text",
|
|
5
|
+
"number",
|
|
6
|
+
"boolean",
|
|
7
|
+
"file",
|
|
8
|
+
"long-text",
|
|
9
|
+
"ref",
|
|
10
|
+
"datetime"
|
|
11
|
+
].includes(field.type));
|
|
12
|
+
const additionalFields = model.fields.filter((field)=>fieldIds.includes(field.fieldId));
|
|
13
|
+
const uniqueFields = [
|
|
14
|
+
...new Map([
|
|
15
|
+
...defaultFields,
|
|
16
|
+
...additionalFields
|
|
17
|
+
].map((field)=>[
|
|
18
|
+
field.fieldId,
|
|
19
|
+
field
|
|
20
|
+
])).values()
|
|
21
|
+
];
|
|
22
|
+
return createListQuery(model, uniqueFields);
|
|
15
23
|
};
|
|
24
|
+
export { createListRecords };
|
|
16
25
|
|
|
17
26
|
//# sourceMappingURL=listRecords.js.map
|