@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/contexts/records.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","sortBy","unionBy","lodashMerge","apolloFetchingHandler","loadingHandler","createGetRecord","createListRecords","createMoveRecord","validateOrGetDefaultDbSort","useAcoApp","parseIdentifier","useStateIfMounted","SearchRecordsContext","createContext","undefined","defaultLoading","INIT","LIST","LIST_MORE","GET","MOVE","CREATE","UPDATE","DELETE","mergeAndSortTags","oldTagItems","newTags","length","newTagItems","map","tag","mergedTagItems","getResponseData","response","content","defaultMeta","totalCount","hasMoreItems","cursor","SearchRecordsProvider","columns","children","app","client","model","fieldIds","config","name","filter","Boolean","records","setRecords","tags","setTags","loading","setLoading","meta","setMeta","Object","create","GET_RECORD","LIST_RECORDS","UPDATE_RECORD","MOVE_RECORD","DELETE_RECORD","CREATE_RECORD","LIST_TAGS","modelId","context","addRecordToCache","record","prev","updateRecordInCache","id","recordId","index","findIndex","item","itemId","next","removeRecordFromCache","startsWith","listRecords","params","after","limit","sort","sorting","search","where","action","data","variables","query","fetchPolicy","Error","responseMeta","error","message","getRecord","entryId","code","createRecord","mutate","mutation","updateRecord","contextFolderId","location","title","result","moveRecord","folderId","deleteRecord","listTags","createElement","Provider","value"],"sources":["records.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport React, { useMemo } from \"react\";\nimport sortBy from \"lodash/sortBy.js\";\nimport unionBy from \"lodash/unionBy.js\";\nimport lodashMerge from \"lodash/merge.js\";\nimport { apolloFetchingHandler, loadingHandler } from \"~/handlers.js\";\nimport { createGetRecord, createListRecords, createMoveRecord } from \"~/graphql/records.gql.js\";\nimport type {\n CreateSearchRecordResponse,\n CreateSearchRecordVariables,\n DeletableSearchRecordItem,\n DeleteSearchRecordResponse,\n DeleteSearchRecordVariables,\n GetSearchRecordQueryVariables,\n GetSearchRecordResponse,\n ListMeta,\n ListSearchRecordsQueryVariables,\n ListSearchRecordsResponse,\n ListTagsQueryVariables,\n ListTagsResponse,\n ListTagsWhereQueryVariables,\n Loading,\n LoadingActions,\n MovableSearchRecordItem,\n MoveSearchRecordResponse,\n MoveSearchRecordVariables,\n SearchRecordItem,\n TagItem,\n UpdateSearchRecordResponse,\n UpdateSearchRecordVariables\n} from \"~/types.js\";\nimport { validateOrGetDefaultDbSort } from \"~/sorting.js\";\nimport { useAcoApp } from \"~/hooks/index.js\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { useStateIfMounted } from \"@webiny/app-admin\";\nimport type { ColumnConfig } from \"~/config/table/Column.js\";\n\ninterface ListTagsParams {\n where?: ListTagsWhereQueryVariables;\n}\n\nexport type ListRecordsParams = ListSearchRecordsQueryVariables;\n\ninterface SearchRecordsContext {\n records: SearchRecordItem[];\n tags: TagItem[];\n loading: Loading<LoadingActions>;\n meta: ListMeta;\n listRecords: (params: ListRecordsParams) => Promise<SearchRecordItem[]>;\n getRecord: (id: string) => Promise<SearchRecordItem | null>;\n createRecord: (record: Omit<SearchRecordItem, \"id\">) => Promise<SearchRecordItem>;\n updateRecord: (record: SearchRecordItem, contextFolderId?: string) => Promise<SearchRecordItem>;\n moveRecord: (record: MovableSearchRecordItem) => Promise<void>;\n deleteRecord(record: DeletableSearchRecordItem): Promise<true>;\n listTags: (params: ListTagsParams) => Promise<TagItem[]>;\n addRecordToCache: (record: any) => void;\n updateRecordInCache: (record: any) => void;\n removeRecordFromCache: (id: string) => void;\n}\n\nexport const SearchRecordsContext = React.createContext<SearchRecordsContext | undefined>(\n undefined\n);\n\ninterface Props {\n columns: ColumnConfig[];\n children: ReactNode;\n}\n\nconst defaultLoading: Record<LoadingActions, boolean> = {\n INIT: true,\n LIST: false,\n LIST_MORE: false,\n GET: false,\n MOVE: false,\n CREATE: false,\n UPDATE: false,\n DELETE: false\n};\n\nconst mergeAndSortTags = (oldTagItems: TagItem[], newTags: string[]): TagItem[] => {\n if (!newTags.length) {\n return oldTagItems;\n }\n\n const newTagItems = newTags.map((tag: string) => ({ tag })); // create TagItem[] from array of strings\n const mergedTagItems = unionBy(oldTagItems, newTagItems, \"tag\"); // merge the two arrays\n\n return sortBy(mergedTagItems, [\"tag\"]);\n};\n\nconst getResponseData = (response: any): any => {\n return response?.content || {};\n};\n\nconst defaultMeta: ListMeta = {\n totalCount: 0,\n hasMoreItems: false,\n cursor: null\n};\n\nexport const SearchRecordsProvider = ({ columns, children }: Props) => {\n const { app, client } = useAcoApp();\n const { model } = app;\n\n /**\n * Retrieve all `fieldIds` from the ACO configuration, considering field `name`:\n * The result is a deduplicated flat array of unique field IDs.\n */\n const fieldIds = columns.map(config => config.name).filter(Boolean);\n\n const [records, setRecords] = useStateIfMounted<SearchRecordItem[]>([]);\n const [tags, setTags] = useStateIfMounted<TagItem[]>([]);\n const [loading, setLoading] = useStateIfMounted<Loading<LoadingActions>>(defaultLoading);\n const [meta, setMeta] = useStateIfMounted<ListMeta>(Object.create(defaultMeta));\n\n const {\n GET_RECORD,\n LIST_RECORDS,\n UPDATE_RECORD,\n MOVE_RECORD,\n DELETE_RECORD,\n CREATE_RECORD,\n LIST_TAGS\n } = useMemo(() => {\n return {\n LIST_RECORDS: createListRecords(model, fieldIds),\n UPDATE_RECORD: null,\n MOVE_RECORD: createMoveRecord(model),\n GET_RECORD: createGetRecord(model),\n LIST_TAGS: null,\n DELETE_RECORD: null,\n CREATE_RECORD: null\n };\n }, [app.model.modelId, fieldIds]);\n\n const context = useMemo<SearchRecordsContext>(() => {\n return {\n records,\n tags,\n loading,\n meta,\n addRecordToCache: (record: any) => {\n setRecords(prev => {\n return [record, ...prev];\n });\n setMeta(meta => ({\n ...meta,\n totalCount: ++meta.totalCount\n }));\n },\n updateRecordInCache: (record: any) => {\n const { id: recordId } = parseIdentifier(record.id);\n\n setRecords(prev => {\n const index = prev.findIndex(item => {\n const { id: itemId } = parseIdentifier(item.id);\n return itemId === recordId;\n });\n\n if (index >= 0) {\n const next = [...prev];\n next[index] = lodashMerge({}, prev[index], record);\n return next;\n }\n return [record, ...prev];\n });\n },\n removeRecordFromCache: (id: string) => {\n setRecords(prev => {\n return prev.filter(\n record => record.id !== id && !record.id.startsWith(`${id}#`)\n );\n });\n setMeta(meta => ({\n ...meta,\n totalCount: --meta.totalCount\n }));\n },\n\n async listRecords(params) {\n const { after, limit, sort: sorting, search, where } = params;\n\n /**\n * Avoiding fetching records in case they have already been fetched.\n * This happens when visiting a list with all records loaded and receives \"after\" param.\n */\n const totalCount = meta?.totalCount || 0;\n if (after && records.length === totalCount) {\n return records;\n }\n\n const action = after ? \"LIST_MORE\" : \"LIST\";\n const sort = validateOrGetDefaultDbSort(sorting);\n\n const { data: response } = await apolloFetchingHandler<ListSearchRecordsResponse>(\n loadingHandler(action, setLoading),\n () => {\n const variables: ListSearchRecordsQueryVariables = {\n where,\n search,\n limit,\n after,\n sort\n };\n return client.query<\n ListSearchRecordsResponse,\n ListSearchRecordsQueryVariables\n >({\n query: LIST_RECORDS,\n variables,\n fetchPolicy: \"network-only\"\n });\n }\n );\n\n if (!response) {\n throw new Error(\"Could not fetch records - no response.\");\n }\n\n const { data, meta: responseMeta, error } = getResponseData(response);\n\n if (!data || !responseMeta) {\n throw new Error(error?.message || \"Could not fetch records.\");\n }\n\n setRecords(prev => {\n // If there's no cursor, it means we're receiving a new list of records from scratch.\n if (!after) {\n return data;\n }\n\n return [...prev, ...data];\n });\n\n setMeta(() => responseMeta);\n\n setLoading(prev => {\n return {\n ...prev,\n INIT: false\n };\n });\n\n return data;\n },\n async getRecord(id) {\n if (!id) {\n throw new Error(\"Record `id` is mandatory\");\n }\n\n const { id: recordId } = parseIdentifier(id);\n\n const { data: response } = await apolloFetchingHandler<GetSearchRecordResponse>(\n loadingHandler(\"GET\", setLoading),\n () =>\n client.query<GetSearchRecordResponse, GetSearchRecordQueryVariables>({\n query: GET_RECORD,\n variables: { entryId: recordId },\n fetchPolicy: \"network-only\"\n })\n );\n\n if (!response) {\n throw new Error(`Could not fetch record \"${recordId}\" - no response.`);\n }\n\n const { data, error } = getResponseData(response);\n\n if (error && error.code !== \"NOT_FOUND\") {\n throw new Error(\"Network error while syncing record\");\n }\n\n if (!data) {\n // No record found - must be deleted by previous operation\n setRecords(prev => {\n return prev.filter(record => record.id !== recordId);\n });\n setMeta(meta => ({\n ...meta,\n totalCount: --meta.totalCount\n }));\n return data;\n }\n setRecords(prev => {\n const index = prev.findIndex(record => record.id === recordId);\n\n // No record found in the list - must be added by previous operation\n if (index === -1) {\n return [data, ...prev];\n }\n const next = [...prev];\n next[index] = data;\n return next;\n });\n\n setMeta(meta => ({\n ...meta,\n totalCount: ++meta.totalCount\n }));\n\n setTags(tags => {\n if (!data.tags || data.tags.length === 0) {\n return tags;\n }\n\n return mergeAndSortTags(tags, data.tags);\n });\n\n return data;\n },\n async createRecord(record) {\n if (!CREATE_RECORD) {\n throw new Error(\"Missing CREATE_RECORD operation.\");\n }\n\n const { data: response } = await apolloFetchingHandler<CreateSearchRecordResponse>(\n loadingHandler(\"CREATE\", setLoading),\n () =>\n client.mutate<CreateSearchRecordResponse, CreateSearchRecordVariables>({\n mutation: CREATE_RECORD,\n variables: {\n data: record\n }\n })\n );\n\n if (!response) {\n throw new Error(\"Network error while creating search record.\");\n }\n\n const { data, error } = getResponseData(response);\n\n if (!data) {\n throw new Error(error?.message || \"Could not create record\");\n }\n\n setRecords(prev => {\n return [...prev, data];\n });\n\n setMeta(meta => ({\n ...meta,\n totalCount: ++meta.totalCount\n }));\n\n setTags(tags => {\n if (!data.tags || data.tags.length === 0) {\n return tags;\n }\n\n return mergeAndSortTags(tags, data.tags);\n });\n\n return data;\n },\n async updateRecord(record, contextFolderId) {\n if (!contextFolderId) {\n throw new Error(\"`folderId` is mandatory\");\n }\n if (!UPDATE_RECORD) {\n throw new Error(\"Missing UPDATE_RECORD operation.\");\n }\n\n const { id, location, data, title, content } = record;\n\n const { data: response } = await apolloFetchingHandler(\n loadingHandler(\"UPDATE\", setLoading),\n () =>\n client.mutate<UpdateSearchRecordResponse, UpdateSearchRecordVariables>({\n mutation: UPDATE_RECORD,\n variables: { id, data: { title, content, location, data } }\n })\n );\n\n if (!response) {\n throw new Error(\"Network error while updating record\");\n }\n\n const { data: result, error } = getResponseData(response);\n\n if (!result) {\n throw new Error(error?.message || \"Could not update record\");\n }\n\n setRecords(records => {\n const index = records.findIndex(record => record.id === id);\n if (index === -1) {\n return [result, ...records];\n }\n\n const next = [...records];\n\n next[index] = result;\n\n return next;\n });\n\n setTags(tags => {\n if (!data.tags || data.tags.length === 0) {\n return tags;\n }\n\n return mergeAndSortTags(tags, data.tags);\n });\n\n return result;\n },\n moveRecord: async (record: MovableSearchRecordItem) => {\n const { id, location } = record;\n const { folderId } = location;\n\n const { data: response } = await apolloFetchingHandler(\n loadingHandler(\"MOVE\", setLoading),\n () =>\n client.mutate<MoveSearchRecordResponse, MoveSearchRecordVariables>({\n mutation: MOVE_RECORD,\n variables: {\n id,\n folderId\n }\n })\n );\n\n if (!response) {\n throw new Error(\"Network error while moving record.\");\n }\n\n const { data, error } = getResponseData(response);\n\n if (!data) {\n throw new Error(error?.message || \"Could not move record.\");\n }\n setRecords(prev => {\n return prev.filter(record => record.id !== id);\n });\n setMeta(meta => ({\n ...meta,\n totalCount: --meta.totalCount\n }));\n },\n async deleteRecord(record) {\n if (!DELETE_RECORD) {\n throw new Error(\"Missing DELETE_RECORD operation.\");\n }\n const { id } = record;\n\n const { data: response } = await apolloFetchingHandler(\n loadingHandler(\"DELETE\", setLoading),\n () =>\n client.mutate<DeleteSearchRecordResponse, DeleteSearchRecordVariables>({\n mutation: DELETE_RECORD,\n variables: { id }\n })\n );\n\n if (!response) {\n throw new Error(\"Network error while deleting record.\");\n }\n\n const { data, error } = getResponseData(response);\n\n if (!data) {\n throw new Error(error?.message || \"Could not delete record\");\n }\n\n setRecords(prev => {\n return prev.filter(record => record.id !== id);\n });\n\n setMeta(meta => ({\n ...meta,\n totalCount: --meta.totalCount\n }));\n\n return true;\n },\n async listTags(params) {\n if (!LIST_TAGS) {\n throw new Error(\"Missing LIST_TAGS operation.\");\n }\n\n const { data: response } = await apolloFetchingHandler(\n loadingHandler(\"LIST\", setLoading),\n () =>\n client.query<ListTagsResponse, ListTagsQueryVariables>({\n query: LIST_TAGS,\n variables: {\n where: params.where\n }\n })\n );\n\n if (!response) {\n throw new Error(\"Network error while fetching tags.\");\n }\n\n const { data, error } = getResponseData(response);\n\n if (!data) {\n throw new Error(error?.message || \"Could not fetch tags\");\n }\n\n setTags(data);\n\n return data;\n }\n };\n }, [\n app.id,\n model.modelId,\n records,\n setRecords,\n tags,\n meta,\n loading,\n GET_RECORD,\n LIST_RECORDS,\n UPDATE_RECORD,\n DELETE_RECORD,\n MOVE_RECORD,\n CREATE_RECORD,\n LIST_TAGS\n ]);\n\n return (\n <SearchRecordsContext.Provider value={context}>{children}</SearchRecordsContext.Provider>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"contexts/records.js","sources":["../../src/contexts/records.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport React, { useMemo } from \"react\";\nimport sortBy from \"lodash/sortBy.js\";\nimport unionBy from \"lodash/unionBy.js\";\nimport lodashMerge from \"lodash/merge.js\";\nimport { apolloFetchingHandler, loadingHandler } from \"~/handlers.js\";\nimport { createGetRecord, createListRecords, createMoveRecord } from \"~/graphql/records.gql.js\";\nimport type {\n CreateSearchRecordResponse,\n CreateSearchRecordVariables,\n DeletableSearchRecordItem,\n DeleteSearchRecordResponse,\n DeleteSearchRecordVariables,\n GetSearchRecordQueryVariables,\n GetSearchRecordResponse,\n ListMeta,\n ListSearchRecordsQueryVariables,\n ListSearchRecordsResponse,\n ListTagsQueryVariables,\n ListTagsResponse,\n ListTagsWhereQueryVariables,\n Loading,\n LoadingActions,\n MovableSearchRecordItem,\n MoveSearchRecordResponse,\n MoveSearchRecordVariables,\n SearchRecordItem,\n TagItem,\n UpdateSearchRecordResponse,\n UpdateSearchRecordVariables\n} from \"~/types.js\";\nimport { validateOrGetDefaultDbSort } from \"~/sorting.js\";\nimport { useAcoApp } from \"~/hooks/index.js\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { useStateIfMounted } from \"@webiny/app-admin\";\nimport type { ColumnConfig } from \"~/config/table/Column.js\";\n\ninterface ListTagsParams {\n where?: ListTagsWhereQueryVariables;\n}\n\nexport type ListRecordsParams = ListSearchRecordsQueryVariables;\n\ninterface SearchRecordsContext {\n records: SearchRecordItem[];\n tags: TagItem[];\n loading: Loading<LoadingActions>;\n meta: ListMeta;\n listRecords: (params: ListRecordsParams) => Promise<SearchRecordItem[]>;\n getRecord: (id: string) => Promise<SearchRecordItem | null>;\n createRecord: (record: Omit<SearchRecordItem, \"id\">) => Promise<SearchRecordItem>;\n updateRecord: (record: SearchRecordItem, contextFolderId?: string) => Promise<SearchRecordItem>;\n moveRecord: (record: MovableSearchRecordItem) => Promise<void>;\n deleteRecord(record: DeletableSearchRecordItem): Promise<true>;\n listTags: (params: ListTagsParams) => Promise<TagItem[]>;\n addRecordToCache: (record: any) => void;\n updateRecordInCache: (record: any) => void;\n removeRecordFromCache: (id: string) => void;\n}\n\nexport const SearchRecordsContext = React.createContext<SearchRecordsContext | undefined>(\n undefined\n);\n\ninterface Props {\n columns: ColumnConfig[];\n children: ReactNode;\n}\n\nconst defaultLoading: Record<LoadingActions, boolean> = {\n INIT: true,\n LIST: false,\n LIST_MORE: false,\n GET: false,\n MOVE: false,\n CREATE: false,\n UPDATE: false,\n DELETE: false\n};\n\nconst mergeAndSortTags = (oldTagItems: TagItem[], newTags: string[]): TagItem[] => {\n if (!newTags.length) {\n return oldTagItems;\n }\n\n const newTagItems = newTags.map((tag: string) => ({ tag })); // create TagItem[] from array of strings\n const mergedTagItems = unionBy(oldTagItems, newTagItems, \"tag\"); // merge the two arrays\n\n return sortBy(mergedTagItems, [\"tag\"]);\n};\n\nconst getResponseData = (response: any): any => {\n return response?.content || {};\n};\n\nconst defaultMeta: ListMeta = {\n totalCount: 0,\n hasMoreItems: false,\n cursor: null\n};\n\nexport const SearchRecordsProvider = ({ columns, children }: Props) => {\n const { app, client } = useAcoApp();\n const { model } = app;\n\n /**\n * Retrieve all `fieldIds` from the ACO configuration, considering field `name`:\n * The result is a deduplicated flat array of unique field IDs.\n */\n const fieldIds = columns.map(config => config.name).filter(Boolean);\n\n const [records, setRecords] = useStateIfMounted<SearchRecordItem[]>([]);\n const [tags, setTags] = useStateIfMounted<TagItem[]>([]);\n const [loading, setLoading] = useStateIfMounted<Loading<LoadingActions>>(defaultLoading);\n const [meta, setMeta] = useStateIfMounted<ListMeta>(Object.create(defaultMeta));\n\n const {\n GET_RECORD,\n LIST_RECORDS,\n UPDATE_RECORD,\n MOVE_RECORD,\n DELETE_RECORD,\n CREATE_RECORD,\n LIST_TAGS\n } = useMemo(() => {\n return {\n LIST_RECORDS: createListRecords(model, fieldIds),\n UPDATE_RECORD: null,\n MOVE_RECORD: createMoveRecord(model),\n GET_RECORD: createGetRecord(model),\n LIST_TAGS: null,\n DELETE_RECORD: null,\n CREATE_RECORD: null\n };\n }, [app.model.modelId, fieldIds]);\n\n const context = useMemo<SearchRecordsContext>(() => {\n return {\n records,\n tags,\n loading,\n meta,\n addRecordToCache: (record: any) => {\n setRecords(prev => {\n return [record, ...prev];\n });\n setMeta(meta => ({\n ...meta,\n totalCount: ++meta.totalCount\n }));\n },\n updateRecordInCache: (record: any) => {\n const { id: recordId } = parseIdentifier(record.id);\n\n setRecords(prev => {\n const index = prev.findIndex(item => {\n const { id: itemId } = parseIdentifier(item.id);\n return itemId === recordId;\n });\n\n if (index >= 0) {\n const next = [...prev];\n next[index] = lodashMerge({}, prev[index], record);\n return next;\n }\n return [record, ...prev];\n });\n },\n removeRecordFromCache: (id: string) => {\n setRecords(prev => {\n return prev.filter(\n record => record.id !== id && !record.id.startsWith(`${id}#`)\n );\n });\n setMeta(meta => ({\n ...meta,\n totalCount: --meta.totalCount\n }));\n },\n\n async listRecords(params) {\n const { after, limit, sort: sorting, search, where } = params;\n\n /**\n * Avoiding fetching records in case they have already been fetched.\n * This happens when visiting a list with all records loaded and receives \"after\" param.\n */\n const totalCount = meta?.totalCount || 0;\n if (after && records.length === totalCount) {\n return records;\n }\n\n const action = after ? \"LIST_MORE\" : \"LIST\";\n const sort = validateOrGetDefaultDbSort(sorting);\n\n const { data: response } = await apolloFetchingHandler<ListSearchRecordsResponse>(\n loadingHandler(action, setLoading),\n () => {\n const variables: ListSearchRecordsQueryVariables = {\n where,\n search,\n limit,\n after,\n sort\n };\n return client.query<\n ListSearchRecordsResponse,\n ListSearchRecordsQueryVariables\n >({\n query: LIST_RECORDS,\n variables,\n fetchPolicy: \"network-only\"\n });\n }\n );\n\n if (!response) {\n throw new Error(\"Could not fetch records - no response.\");\n }\n\n const { data, meta: responseMeta, error } = getResponseData(response);\n\n if (!data || !responseMeta) {\n throw new Error(error?.message || \"Could not fetch records.\");\n }\n\n setRecords(prev => {\n // If there's no cursor, it means we're receiving a new list of records from scratch.\n if (!after) {\n return data;\n }\n\n return [...prev, ...data];\n });\n\n setMeta(() => responseMeta);\n\n setLoading(prev => {\n return {\n ...prev,\n INIT: false\n };\n });\n\n return data;\n },\n async getRecord(id) {\n if (!id) {\n throw new Error(\"Record `id` is mandatory\");\n }\n\n const { id: recordId } = parseIdentifier(id);\n\n const { data: response } = await apolloFetchingHandler<GetSearchRecordResponse>(\n loadingHandler(\"GET\", setLoading),\n () =>\n client.query<GetSearchRecordResponse, GetSearchRecordQueryVariables>({\n query: GET_RECORD,\n variables: { entryId: recordId },\n fetchPolicy: \"network-only\"\n })\n );\n\n if (!response) {\n throw new Error(`Could not fetch record \"${recordId}\" - no response.`);\n }\n\n const { data, error } = getResponseData(response);\n\n if (error && error.code !== \"NOT_FOUND\") {\n throw new Error(\"Network error while syncing record\");\n }\n\n if (!data) {\n // No record found - must be deleted by previous operation\n setRecords(prev => {\n return prev.filter(record => record.id !== recordId);\n });\n setMeta(meta => ({\n ...meta,\n totalCount: --meta.totalCount\n }));\n return data;\n }\n setRecords(prev => {\n const index = prev.findIndex(record => record.id === recordId);\n\n // No record found in the list - must be added by previous operation\n if (index === -1) {\n return [data, ...prev];\n }\n const next = [...prev];\n next[index] = data;\n return next;\n });\n\n setMeta(meta => ({\n ...meta,\n totalCount: ++meta.totalCount\n }));\n\n setTags(tags => {\n if (!data.tags || data.tags.length === 0) {\n return tags;\n }\n\n return mergeAndSortTags(tags, data.tags);\n });\n\n return data;\n },\n async createRecord(record) {\n if (!CREATE_RECORD) {\n throw new Error(\"Missing CREATE_RECORD operation.\");\n }\n\n const { data: response } = await apolloFetchingHandler<CreateSearchRecordResponse>(\n loadingHandler(\"CREATE\", setLoading),\n () =>\n client.mutate<CreateSearchRecordResponse, CreateSearchRecordVariables>({\n mutation: CREATE_RECORD,\n variables: {\n data: record\n }\n })\n );\n\n if (!response) {\n throw new Error(\"Network error while creating search record.\");\n }\n\n const { data, error } = getResponseData(response);\n\n if (!data) {\n throw new Error(error?.message || \"Could not create record\");\n }\n\n setRecords(prev => {\n return [...prev, data];\n });\n\n setMeta(meta => ({\n ...meta,\n totalCount: ++meta.totalCount\n }));\n\n setTags(tags => {\n if (!data.tags || data.tags.length === 0) {\n return tags;\n }\n\n return mergeAndSortTags(tags, data.tags);\n });\n\n return data;\n },\n async updateRecord(record, contextFolderId) {\n if (!contextFolderId) {\n throw new Error(\"`folderId` is mandatory\");\n }\n if (!UPDATE_RECORD) {\n throw new Error(\"Missing UPDATE_RECORD operation.\");\n }\n\n const { id, location, data, title, content } = record;\n\n const { data: response } = await apolloFetchingHandler(\n loadingHandler(\"UPDATE\", setLoading),\n () =>\n client.mutate<UpdateSearchRecordResponse, UpdateSearchRecordVariables>({\n mutation: UPDATE_RECORD,\n variables: { id, data: { title, content, location, data } }\n })\n );\n\n if (!response) {\n throw new Error(\"Network error while updating record\");\n }\n\n const { data: result, error } = getResponseData(response);\n\n if (!result) {\n throw new Error(error?.message || \"Could not update record\");\n }\n\n setRecords(records => {\n const index = records.findIndex(record => record.id === id);\n if (index === -1) {\n return [result, ...records];\n }\n\n const next = [...records];\n\n next[index] = result;\n\n return next;\n });\n\n setTags(tags => {\n if (!data.tags || data.tags.length === 0) {\n return tags;\n }\n\n return mergeAndSortTags(tags, data.tags);\n });\n\n return result;\n },\n moveRecord: async (record: MovableSearchRecordItem) => {\n const { id, location } = record;\n const { folderId } = location;\n\n const { data: response } = await apolloFetchingHandler(\n loadingHandler(\"MOVE\", setLoading),\n () =>\n client.mutate<MoveSearchRecordResponse, MoveSearchRecordVariables>({\n mutation: MOVE_RECORD,\n variables: {\n id,\n folderId\n }\n })\n );\n\n if (!response) {\n throw new Error(\"Network error while moving record.\");\n }\n\n const { data, error } = getResponseData(response);\n\n if (!data) {\n throw new Error(error?.message || \"Could not move record.\");\n }\n setRecords(prev => {\n return prev.filter(record => record.id !== id);\n });\n setMeta(meta => ({\n ...meta,\n totalCount: --meta.totalCount\n }));\n },\n async deleteRecord(record) {\n if (!DELETE_RECORD) {\n throw new Error(\"Missing DELETE_RECORD operation.\");\n }\n const { id } = record;\n\n const { data: response } = await apolloFetchingHandler(\n loadingHandler(\"DELETE\", setLoading),\n () =>\n client.mutate<DeleteSearchRecordResponse, DeleteSearchRecordVariables>({\n mutation: DELETE_RECORD,\n variables: { id }\n })\n );\n\n if (!response) {\n throw new Error(\"Network error while deleting record.\");\n }\n\n const { data, error } = getResponseData(response);\n\n if (!data) {\n throw new Error(error?.message || \"Could not delete record\");\n }\n\n setRecords(prev => {\n return prev.filter(record => record.id !== id);\n });\n\n setMeta(meta => ({\n ...meta,\n totalCount: --meta.totalCount\n }));\n\n return true;\n },\n async listTags(params) {\n if (!LIST_TAGS) {\n throw new Error(\"Missing LIST_TAGS operation.\");\n }\n\n const { data: response } = await apolloFetchingHandler(\n loadingHandler(\"LIST\", setLoading),\n () =>\n client.query<ListTagsResponse, ListTagsQueryVariables>({\n query: LIST_TAGS,\n variables: {\n where: params.where\n }\n })\n );\n\n if (!response) {\n throw new Error(\"Network error while fetching tags.\");\n }\n\n const { data, error } = getResponseData(response);\n\n if (!data) {\n throw new Error(error?.message || \"Could not fetch tags\");\n }\n\n setTags(data);\n\n return data;\n }\n };\n }, [\n app.id,\n model.modelId,\n records,\n setRecords,\n tags,\n meta,\n loading,\n GET_RECORD,\n LIST_RECORDS,\n UPDATE_RECORD,\n DELETE_RECORD,\n MOVE_RECORD,\n CREATE_RECORD,\n LIST_TAGS\n ]);\n\n return (\n <SearchRecordsContext.Provider value={context}>{children}</SearchRecordsContext.Provider>\n );\n};\n"],"names":["SearchRecordsContext","React","undefined","defaultLoading","mergeAndSortTags","oldTagItems","newTags","newTagItems","tag","mergedTagItems","unionBy","sortBy","getResponseData","response","defaultMeta","SearchRecordsProvider","columns","children","app","client","useAcoApp","model","fieldIds","config","Boolean","records","setRecords","useStateIfMounted","tags","setTags","loading","setLoading","meta","setMeta","Object","GET_RECORD","LIST_RECORDS","UPDATE_RECORD","MOVE_RECORD","DELETE_RECORD","CREATE_RECORD","LIST_TAGS","useMemo","createListRecords","createMoveRecord","createGetRecord","context","record","prev","recordId","parseIdentifier","index","item","itemId","next","lodashMerge","id","params","after","limit","sorting","search","where","totalCount","action","sort","validateOrGetDefaultDbSort","apolloFetchingHandler","loadingHandler","variables","Error","data","responseMeta","error","contextFolderId","location","title","content","result","folderId"],"mappings":"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"}
|
|
@@ -1,32 +1,25 @@
|
|
|
1
|
-
import
|
|
1
|
+
import react from "react";
|
|
2
2
|
import { MultiAutoComplete } from "@webiny/admin-ui";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
uniqueValues: true,
|
|
25
|
-
onValuesChange: values => onChange && onChange(values),
|
|
26
|
-
values: value || [],
|
|
27
|
-
displayResetAction: false,
|
|
28
|
-
size: "lg"
|
|
29
|
-
}));
|
|
30
|
-
};
|
|
3
|
+
const UsersTeamsMultiAutocomplete = ({ options = [], onChange, value = [] })=>/*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement("input", {
|
|
4
|
+
type: "text",
|
|
5
|
+
style: {
|
|
6
|
+
opacity: 0,
|
|
7
|
+
position: "absolute"
|
|
8
|
+
}
|
|
9
|
+
}), /*#__PURE__*/ react.createElement(MultiAutoComplete, {
|
|
10
|
+
label: "Add user or a team",
|
|
11
|
+
selectedOptionRenderer: ()=>null,
|
|
12
|
+
options: options.map((option)=>({
|
|
13
|
+
id: option.id,
|
|
14
|
+
label: option.name,
|
|
15
|
+
value: option.target
|
|
16
|
+
})),
|
|
17
|
+
uniqueValues: true,
|
|
18
|
+
onValuesChange: (values)=>onChange && onChange(values),
|
|
19
|
+
values: value || [],
|
|
20
|
+
displayResetAction: false,
|
|
21
|
+
size: "lg"
|
|
22
|
+
}));
|
|
23
|
+
export { UsersTeamsMultiAutocomplete };
|
|
31
24
|
|
|
32
25
|
//# sourceMappingURL=UsersTeamsMultiAutocomplete.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js","sources":["../../../src/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.tsx"],"sourcesContent":["import React from \"react\";\nimport { MultiAutoComplete } from \"@webiny/admin-ui\";\nimport type { FolderLevelPermissionsTarget, FolderPermission } from \"~/types.js\";\n\ninterface UsersTeamsMultiAutocompleteProps {\n options: FolderLevelPermissionsTarget[];\n value: FolderPermission[\"target\"][];\n onChange: (value: FolderPermission[\"target\"][]) => void;\n}\n\nexport const UsersTeamsMultiAutocomplete = ({\n options = [],\n onChange,\n value = []\n}: UsersTeamsMultiAutocompleteProps) => {\n return (\n <>\n {/* A hack that ensures the autocomplete is not being auto-focused. */}\n <input type=\"text\" style={{ opacity: 0, position: \"absolute\" }} />\n <MultiAutoComplete\n label={\"Add user or a team\"}\n selectedOptionRenderer={() => null}\n options={options.map(option => {\n return {\n id: option.id,\n label: option.name,\n value: option.target\n };\n })}\n uniqueValues={true}\n onValuesChange={values =>\n onChange && onChange(values as Array<`admin:${string}` | `team:${string}`>)\n }\n values={value || []}\n displayResetAction={false}\n size={\"lg\"}\n />\n </>\n );\n};\n"],"names":["UsersTeamsMultiAutocomplete","options","onChange","value","MultiAutoComplete","option","values"],"mappings":";;AAUO,MAAMA,8BAA8B,CAAC,EACxCC,UAAU,EAAE,EACZC,QAAQ,EACRC,QAAQ,EAAE,EACqB,GACxB,WAAP,GACI,wDAEI,oBAAC;QAAM,MAAK;QAAO,OAAO;YAAE,SAAS;YAAG,UAAU;QAAW;sBAC7D,oBAACC,mBAAiBA;QACd,OAAO;QACP,wBAAwB,IAAM;QAC9B,SAASH,QAAQ,GAAG,CAACI,CAAAA,SACV;gBACH,IAAIA,OAAO,EAAE;gBACb,OAAOA,OAAO,IAAI;gBAClB,OAAOA,OAAO,MAAM;YACxB;QAEJ,cAAc;QACd,gBAAgBC,CAAAA,SACZJ,YAAYA,SAASI;QAEzB,QAAQH,SAAS,EAAE;QACnB,oBAAoB;QACpB,MAAM"}
|
|
@@ -1,26 +1,23 @@
|
|
|
1
|
-
import
|
|
1
|
+
import react from "react";
|
|
2
2
|
import { Avatar } from "@webiny/admin-ui";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
3
|
+
const ListItemGraphic = ({ target })=>{
|
|
4
|
+
if ("admin" === target.type) return /*#__PURE__*/ react.createElement(Avatar, {
|
|
5
|
+
size: "md",
|
|
6
|
+
image: /*#__PURE__*/ react.createElement(Avatar.Image, {
|
|
7
|
+
src: target.meta.image,
|
|
8
|
+
alt: "User's avatar."
|
|
9
|
+
}),
|
|
10
|
+
fallback: /*#__PURE__*/ react.createElement(Avatar.Fallback, {
|
|
11
|
+
delayMs: 0
|
|
12
|
+
}, target.name.charAt(0))
|
|
13
|
+
});
|
|
14
|
+
return /*#__PURE__*/ react.createElement(Avatar, {
|
|
15
|
+
size: "md",
|
|
16
|
+
fallback: /*#__PURE__*/ react.createElement(Avatar.Fallback, {
|
|
17
|
+
delayMs: 0
|
|
18
|
+
}, target.name.charAt(0))
|
|
16
19
|
});
|
|
17
|
-
}
|
|
18
|
-
return /*#__PURE__*/React.createElement(Avatar, {
|
|
19
|
-
size: "md",
|
|
20
|
-
fallback: /*#__PURE__*/React.createElement(Avatar.Fallback, {
|
|
21
|
-
delayMs: 0
|
|
22
|
-
}, target.name.charAt(0))
|
|
23
|
-
});
|
|
24
20
|
};
|
|
21
|
+
export { ListItemGraphic };
|
|
25
22
|
|
|
26
23
|
//# sourceMappingURL=ListItemGraphic.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js","sources":["../../../../src/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.tsx"],"sourcesContent":["import React from \"react\";\nimport { Avatar } from \"@webiny/admin-ui\";\nimport type { FolderLevelPermissionsTarget } from \"~/types.js\";\n\ninterface ListItemGraphicProps {\n target: FolderLevelPermissionsTarget;\n}\n\nexport const ListItemGraphic = ({ target }: ListItemGraphicProps) => {\n if (target.type === \"admin\") {\n return (\n <Avatar\n size={\"md\"}\n image={<Avatar.Image src={target.meta.image} alt={\"User's avatar.\"} />}\n fallback={<Avatar.Fallback delayMs={0}>{target.name.charAt(0)}</Avatar.Fallback>}\n />\n );\n }\n\n return (\n <Avatar\n size={\"md\"}\n fallback={<Avatar.Fallback delayMs={0}>{target.name.charAt(0)}</Avatar.Fallback>}\n />\n );\n};\n"],"names":["ListItemGraphic","target","Avatar"],"mappings":";;AAQO,MAAMA,kBAAkB,CAAC,EAAEC,MAAM,EAAwB;IAC5D,IAAIA,AAAgB,YAAhBA,OAAO,IAAI,EACX,OAAO,WAAP,GACI,oBAACC,QAAMA;QACH,MAAM;QACN,qBAAO,oBAACA,OAAO,KAAK;YAAC,KAAKD,OAAO,IAAI,CAAC,KAAK;YAAE,KAAK;;QAClD,wBAAU,oBAACC,OAAO,QAAQ;YAAC,SAAS;WAAID,OAAO,IAAI,CAAC,MAAM,CAAC;;IAKvE,OAAO,WAAP,GACI,oBAACC,QAAMA;QACH,MAAM;QACN,wBAAU,oBAACA,OAAO,QAAQ;YAAC,SAAS;WAAID,OAAO,IAAI,CAAC,MAAM,CAAC;;AAGvE"}
|
|
@@ -1,115 +1,113 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { ReactComponent
|
|
1
|
+
import react, { useMemo } from "react";
|
|
2
|
+
import { ReactComponent } from "@webiny/icons/arrow_drop_down.svg";
|
|
3
3
|
import { Button, DropdownMenu, Text, Tooltip } from "@webiny/admin-ui";
|
|
4
4
|
import { useSecurity } from "@webiny/app-admin";
|
|
5
|
-
const TARGET_LEVELS = [
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
targetsList,
|
|
26
|
-
onRemoveAccess,
|
|
27
|
-
onUpdatePermission
|
|
28
|
-
}) => {
|
|
29
|
-
const {
|
|
30
|
-
identity
|
|
31
|
-
} = useSecurity();
|
|
32
|
-
const currentLevel = useMemo(() => {
|
|
33
|
-
return TARGET_LEVELS.find(level => level.id === permission.level);
|
|
34
|
-
}, [permission.level]);
|
|
35
|
-
const {
|
|
36
|
-
isListDisabled,
|
|
37
|
-
isRemovePermissionDisabled,
|
|
38
|
-
tooltipMessage
|
|
39
|
-
} = useMemo(() => {
|
|
40
|
-
let message = null;
|
|
41
|
-
let disabled = false;
|
|
42
|
-
let removePermissionDisabled = false;
|
|
43
|
-
if (permission.inheritedFrom?.startsWith("parent:")) {
|
|
44
|
-
message = "Inherited from parent folder.";
|
|
45
|
-
disabled = false; // Still allow interaction, just inform user
|
|
46
|
-
removePermissionDisabled = true;
|
|
5
|
+
const TARGET_LEVELS = [
|
|
6
|
+
{
|
|
7
|
+
id: "no-access",
|
|
8
|
+
label: "No Access",
|
|
9
|
+
description: "Cannot view or modify content"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
id: "viewer",
|
|
13
|
+
label: "Viewer",
|
|
14
|
+
description: "Can view content, but not modify it"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
id: "editor",
|
|
18
|
+
label: "Editor",
|
|
19
|
+
description: "Can view and modify content"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
id: "owner",
|
|
23
|
+
label: "Owner",
|
|
24
|
+
description: "Can edit and manage content permissions"
|
|
47
25
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
26
|
+
];
|
|
27
|
+
const ListItemMeta = ({ permission, target, targetsList, onRemoveAccess, onUpdatePermission })=>{
|
|
28
|
+
const { identity } = useSecurity();
|
|
29
|
+
const currentLevel = useMemo(()=>TARGET_LEVELS.find((level)=>level.id === permission.level), [
|
|
30
|
+
permission.level
|
|
31
|
+
]);
|
|
32
|
+
const { isListDisabled, isRemovePermissionDisabled, tooltipMessage } = useMemo(()=>{
|
|
33
|
+
let message = null;
|
|
34
|
+
let disabled = false;
|
|
35
|
+
let removePermissionDisabled = false;
|
|
36
|
+
if (permission.inheritedFrom?.startsWith("parent:")) {
|
|
37
|
+
message = "Inherited from parent folder.";
|
|
38
|
+
disabled = false;
|
|
39
|
+
removePermissionDisabled = true;
|
|
55
40
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}, TARGET_LEVELS.map(level => /*#__PURE__*/React.createElement(DropdownMenu.CheckboxItem, {
|
|
86
|
-
key: level.id,
|
|
87
|
-
checked: currentLevel.id === level.id,
|
|
88
|
-
text: /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Text, {
|
|
89
|
-
as: "div"
|
|
90
|
-
}, level.label), /*#__PURE__*/React.createElement(Text, {
|
|
91
|
-
as: "div",
|
|
92
|
-
size: "sm",
|
|
93
|
-
className: "text-neutral-strong"
|
|
94
|
-
}, level.description)),
|
|
95
|
-
onClick: () => {
|
|
96
|
-
// Needed to do this with a short delay because of a visual glitch.
|
|
97
|
-
setTimeout(() => {
|
|
98
|
-
onUpdatePermission({
|
|
99
|
-
permission: {
|
|
100
|
-
...permission,
|
|
101
|
-
level: level.id
|
|
102
|
-
}
|
|
41
|
+
if (identity.id === target.id) {
|
|
42
|
+
message = "You can't change your own permissions.";
|
|
43
|
+
if (permission.inheritedFrom?.startsWith("team:")) {
|
|
44
|
+
const team = targetsList.find((t)=>t.target === permission.inheritedFrom);
|
|
45
|
+
message += " Access to this folder is managed by a team";
|
|
46
|
+
if (team) message += ` (${team.name})`;
|
|
47
|
+
message += ".";
|
|
48
|
+
}
|
|
49
|
+
disabled = true;
|
|
50
|
+
removePermissionDisabled = true;
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
isListDisabled: disabled,
|
|
54
|
+
isRemovePermissionDisabled: removePermissionDisabled,
|
|
55
|
+
tooltipMessage: message
|
|
56
|
+
};
|
|
57
|
+
}, [
|
|
58
|
+
permission,
|
|
59
|
+
identity,
|
|
60
|
+
target,
|
|
61
|
+
targetsList
|
|
62
|
+
]);
|
|
63
|
+
const handle = useMemo(()=>{
|
|
64
|
+
let handle = /*#__PURE__*/ react.createElement(Button, {
|
|
65
|
+
variant: "ghost",
|
|
66
|
+
disabled: !!isListDisabled,
|
|
67
|
+
text: currentLevel.label,
|
|
68
|
+
icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
|
|
69
|
+
iconPosition: "end"
|
|
103
70
|
});
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
71
|
+
if (tooltipMessage) handle = /*#__PURE__*/ react.createElement(Tooltip, {
|
|
72
|
+
content: tooltipMessage,
|
|
73
|
+
trigger: handle
|
|
74
|
+
});
|
|
75
|
+
return handle;
|
|
76
|
+
}, [
|
|
77
|
+
tooltipMessage,
|
|
78
|
+
isListDisabled,
|
|
79
|
+
currentLevel.label
|
|
80
|
+
]);
|
|
81
|
+
return /*#__PURE__*/ react.createElement(DropdownMenu, {
|
|
82
|
+
trigger: handle
|
|
83
|
+
}, TARGET_LEVELS.map((level)=>/*#__PURE__*/ react.createElement(DropdownMenu.CheckboxItem, {
|
|
84
|
+
key: level.id,
|
|
85
|
+
checked: currentLevel.id === level.id,
|
|
86
|
+
text: /*#__PURE__*/ react.createElement("div", null, /*#__PURE__*/ react.createElement(Text, {
|
|
87
|
+
as: "div"
|
|
88
|
+
}, level.label), /*#__PURE__*/ react.createElement(Text, {
|
|
89
|
+
as: "div",
|
|
90
|
+
size: "sm",
|
|
91
|
+
className: "text-neutral-strong"
|
|
92
|
+
}, level.description)),
|
|
93
|
+
onClick: ()=>{
|
|
94
|
+
setTimeout(()=>{
|
|
95
|
+
onUpdatePermission({
|
|
96
|
+
permission: {
|
|
97
|
+
...permission,
|
|
98
|
+
level: level.id
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
}, 75);
|
|
102
|
+
}
|
|
103
|
+
})), /*#__PURE__*/ react.createElement(DropdownMenu.Separator, null), /*#__PURE__*/ react.createElement(DropdownMenu.Item, {
|
|
104
|
+
onClick: ()=>onRemoveAccess({
|
|
105
|
+
permission
|
|
106
|
+
}),
|
|
107
|
+
text: "Remove permission",
|
|
108
|
+
disabled: isRemovePermissionDisabled
|
|
109
|
+
}));
|
|
113
110
|
};
|
|
111
|
+
export { ListItemMeta };
|
|
114
112
|
|
|
115
113
|
//# sourceMappingURL=ListItemMeta.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js","sources":["../../../../src/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { ReactComponent as More } from \"@webiny/icons/arrow_drop_down.svg\";\nimport { Button, DropdownMenu, Text, Tooltip } from \"@webiny/admin-ui\";\nimport { useSecurity } from \"@webiny/app-admin\";\nimport type { FolderAccessLevel, FolderLevelPermissionsTarget, FolderPermission } from \"~/types.js\";\n\nconst TARGET_LEVELS = [\n {\n id: \"no-access\",\n label: \"No Access\",\n description: \"Cannot view or modify content\"\n },\n {\n id: \"viewer\",\n label: \"Viewer\",\n description: \"Can view content, but not modify it\"\n },\n {\n id: \"editor\",\n label: \"Editor\",\n description: \"Can view and modify content\"\n },\n {\n id: \"owner\",\n label: \"Owner\",\n description: \"Can edit and manage content permissions\"\n }\n];\n\ninterface ListItemMetaProps {\n permission: FolderPermission;\n target: FolderLevelPermissionsTarget;\n targetsList: FolderLevelPermissionsTarget[];\n onRemoveAccess: (params: { permission: FolderPermission }) => void;\n onUpdatePermission: (params: { permission: FolderPermission }) => void;\n}\n\nexport const ListItemMeta = ({\n permission,\n target,\n targetsList,\n onRemoveAccess,\n onUpdatePermission\n}: ListItemMetaProps) => {\n const { identity } = useSecurity();\n\n const currentLevel = useMemo(() => {\n return TARGET_LEVELS.find(level => level.id === permission.level)!;\n }, [permission.level]);\n\n const { isListDisabled, isRemovePermissionDisabled, tooltipMessage } = useMemo(() => {\n let message = null;\n let disabled = false;\n let removePermissionDisabled = false;\n\n if (permission.inheritedFrom?.startsWith(\"parent:\")) {\n message = \"Inherited from parent folder.\";\n disabled = false; // Still allow interaction, just inform user\n removePermissionDisabled = true;\n }\n\n if (identity!.id === target.id) {\n message = \"You can't change your own permissions.\";\n if (permission.inheritedFrom?.startsWith(\"team:\")) {\n const team = targetsList.find(t => t.target === permission.inheritedFrom);\n message += \" Access to this folder is managed by a team\";\n if (team) {\n message += ` (${team.name})`;\n }\n message += \".\";\n }\n disabled = true;\n removePermissionDisabled = true;\n }\n\n return {\n isListDisabled: disabled,\n isRemovePermissionDisabled: removePermissionDisabled,\n tooltipMessage: message\n };\n }, [permission, identity, target, targetsList]);\n\n const handle = useMemo(() => {\n let handle = (\n <Button\n variant={\"ghost\"}\n disabled={!!isListDisabled}\n text={currentLevel.label}\n icon={<More />}\n iconPosition={\"end\"}\n />\n );\n\n if (tooltipMessage) {\n handle = <Tooltip content={tooltipMessage} trigger={handle} />;\n }\n\n return handle;\n }, [tooltipMessage, isListDisabled, currentLevel.label]);\n\n return (\n <DropdownMenu trigger={handle}>\n {TARGET_LEVELS.map(level => (\n <DropdownMenu.CheckboxItem\n key={level.id}\n checked={currentLevel.id === level.id}\n text={\n <div>\n <Text as={\"div\"}>{level.label}</Text>\n <Text as={\"div\"} size={\"sm\"} className={\"text-neutral-strong\"}>\n {level.description}\n </Text>\n </div>\n }\n onClick={() => {\n // Needed to do this with a short delay because of a visual glitch.\n setTimeout(() => {\n onUpdatePermission({\n permission: {\n ...permission,\n level: level.id as FolderAccessLevel\n }\n });\n }, 75);\n }}\n />\n ))}\n <DropdownMenu.Separator />\n <DropdownMenu.Item\n onClick={() => onRemoveAccess({ permission })}\n text={\"Remove permission\"}\n disabled={isRemovePermissionDisabled}\n />\n </DropdownMenu>\n );\n};\n"],"names":["TARGET_LEVELS","ListItemMeta","permission","target","targetsList","onRemoveAccess","onUpdatePermission","identity","useSecurity","currentLevel","useMemo","level","isListDisabled","isRemovePermissionDisabled","tooltipMessage","message","disabled","removePermissionDisabled","team","t","handle","Button","More","Tooltip","DropdownMenu","Text","setTimeout"],"mappings":";;;;AAMA,MAAMA,gBAAgB;IAClB;QACI,IAAI;QACJ,OAAO;QACP,aAAa;IACjB;IACA;QACI,IAAI;QACJ,OAAO;QACP,aAAa;IACjB;IACA;QACI,IAAI;QACJ,OAAO;QACP,aAAa;IACjB;IACA;QACI,IAAI;QACJ,OAAO;QACP,aAAa;IACjB;CACH;AAUM,MAAMC,eAAe,CAAC,EACzBC,UAAU,EACVC,MAAM,EACNC,WAAW,EACXC,cAAc,EACdC,kBAAkB,EACF;IAChB,MAAM,EAAEC,QAAQ,EAAE,GAAGC;IAErB,MAAMC,eAAeC,QAAQ,IAClBV,cAAc,IAAI,CAACW,CAAAA,QAASA,MAAM,EAAE,KAAKT,WAAW,KAAK,GACjE;QAACA,WAAW,KAAK;KAAC;IAErB,MAAM,EAAEU,cAAc,EAAEC,0BAA0B,EAAEC,cAAc,EAAE,GAAGJ,QAAQ;QAC3E,IAAIK,UAAU;QACd,IAAIC,WAAW;QACf,IAAIC,2BAA2B;QAE/B,IAAIf,WAAW,aAAa,EAAE,WAAW,YAAY;YACjDa,UAAU;YACVC,WAAW;YACXC,2BAA2B;QAC/B;QAEA,IAAIV,SAAU,EAAE,KAAKJ,OAAO,EAAE,EAAE;YAC5BY,UAAU;YACV,IAAIb,WAAW,aAAa,EAAE,WAAW,UAAU;gBAC/C,MAAMgB,OAAOd,YAAY,IAAI,CAACe,CAAAA,IAAKA,EAAE,MAAM,KAAKjB,WAAW,aAAa;gBACxEa,WAAW;gBACX,IAAIG,MACAH,WAAW,CAAC,EAAE,EAAEG,KAAK,IAAI,CAAC,CAAC,CAAC;gBAEhCH,WAAW;YACf;YACAC,WAAW;YACXC,2BAA2B;QAC/B;QAEA,OAAO;YACH,gBAAgBD;YAChB,4BAA4BC;YAC5B,gBAAgBF;QACpB;IACJ,GAAG;QAACb;QAAYK;QAAUJ;QAAQC;KAAY;IAE9C,MAAMgB,SAASV,QAAQ;QACnB,IAAIU,SAAS,WAATA,GACA,oBAACC,QAAMA;YACH,SAAS;YACT,UAAU,CAAC,CAACT;YACZ,MAAMH,aAAa,KAAK;YACxB,oBAAM,oBAACa,gBAAIA;YACX,cAAc;;QAItB,IAAIR,gBACAM,SAAS,WAATA,GAAS,oBAACG,SAAOA;YAAC,SAAST;YAAgB,SAASM;;QAGxD,OAAOA;IACX,GAAG;QAACN;QAAgBF;QAAgBH,aAAa,KAAK;KAAC;IAEvD,OAAO,WAAP,GACI,oBAACe,cAAYA;QAAC,SAASJ;OAClBpB,cAAc,GAAG,CAACW,CAAAA,QAAAA,WAAAA,GACf,oBAACa,aAAa,YAAY;YACtB,KAAKb,MAAM,EAAE;YACb,SAASF,aAAa,EAAE,KAAKE,MAAM,EAAE;YACrC,oBACI,oBAAC,2BACG,oBAACc,MAAIA;gBAAC,IAAI;eAAQd,MAAM,KAAK,iBAC7B,oBAACc,MAAIA;gBAAC,IAAI;gBAAO,MAAM;gBAAM,WAAW;eACnCd,MAAM,WAAW;YAI9B,SAAS;gBAELe,WAAW;oBACPpB,mBAAmB;wBACf,YAAY;4BACR,GAAGJ,UAAU;4BACb,OAAOS,MAAM,EAAE;wBACnB;oBACJ;gBACJ,GAAG;YACP;2BAGR,oBAACa,aAAa,SAAS,uBACvB,oBAACA,aAAa,IAAI;QACd,SAAS,IAAMnB,eAAe;gBAAEH;YAAW;QAC3C,MAAM;QACN,UAAUW;;AAI1B"}
|
|
@@ -1,22 +1,17 @@
|
|
|
1
|
-
import
|
|
1
|
+
import react from "react";
|
|
2
2
|
import { Text } from "@webiny/admin-ui";
|
|
3
3
|
import { useSecurity } from "@webiny/app-admin";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
identity
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
as: "div"
|
|
13
|
-
}, target.name, "\xA0", target.id === identity.id && /*#__PURE__*/React.createElement("em", null, "(you)")), /*#__PURE__*/React.createElement(Text, {
|
|
14
|
-
as: "div",
|
|
15
|
-
size: "sm",
|
|
16
|
-
className: "text-neutral-strong font-normal"
|
|
4
|
+
const ListItemText = ({ target })=>{
|
|
5
|
+
const { identity } = useSecurity();
|
|
6
|
+
if ("admin" === target.type) return /*#__PURE__*/ react.createElement("div", null, /*#__PURE__*/ react.createElement(Text, {
|
|
7
|
+
as: "div"
|
|
8
|
+
}, target.name, "\xa0", target.id === identity.id && /*#__PURE__*/ react.createElement("em", null, "(you)")), /*#__PURE__*/ react.createElement(Text, {
|
|
9
|
+
as: "div",
|
|
10
|
+
size: "sm",
|
|
11
|
+
className: "text-neutral-strong font-normal"
|
|
17
12
|
}, target.meta.email || "E-mail not available."));
|
|
18
|
-
|
|
19
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, target.name);
|
|
13
|
+
return /*#__PURE__*/ react.createElement(react.Fragment, null, target.name);
|
|
20
14
|
};
|
|
15
|
+
export { ListItemText };
|
|
21
16
|
|
|
22
17
|
//# sourceMappingURL=ListItemText.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js","sources":["../../../../src/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.tsx"],"sourcesContent":["import React from \"react\";\nimport { Text } from \"@webiny/admin-ui\";\nimport { useSecurity } from \"@webiny/app-admin\";\nimport type { FolderLevelPermissionsTarget } from \"~/types.js\";\n\ninterface ListItemTextProps {\n target: FolderLevelPermissionsTarget;\n}\n\nexport const ListItemText = ({ target }: ListItemTextProps) => {\n const { identity } = useSecurity();\n\n if (target.type === \"admin\") {\n return (\n <div>\n <Text as=\"div\">\n {target.name} \n {target.id === identity!.id && <em>(you)</em>}\n </Text>\n <Text as={\"div\"} size={\"sm\"} className={\"text-neutral-strong font-normal\"}>\n {target.meta.email || \"E-mail not available.\"}\n </Text>\n </div>\n );\n }\n\n return <>{target.name}</>;\n};\n"],"names":["ListItemText","target","identity","useSecurity","Text"],"mappings":";;;AASO,MAAMA,eAAe,CAAC,EAAEC,MAAM,EAAqB;IACtD,MAAM,EAAEC,QAAQ,EAAE,GAAGC;IAErB,IAAIF,AAAgB,YAAhBA,OAAO,IAAI,EACX,OAAO,WAAP,GACI,oBAAC,2BACG,oBAACG,MAAIA;QAAC,IAAG;OACJH,OAAO,IAAI,EAAC,QACZA,OAAO,EAAE,KAAKC,SAAU,EAAE,IAAI,WAAJ,GAAI,oBAAC,YAAG,yBAEvC,oBAACE,MAAIA;QAAC,IAAI;QAAO,MAAM;QAAM,WAAW;OACnCH,OAAO,IAAI,CAAC,KAAK,IAAI;IAMtC,OAAO,WAAP,GAAO,0CAAGA,OAAO,IAAI;AACzB"}
|