@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
|
@@ -1,59 +1,76 @@
|
|
|
1
1
|
import zod from "zod";
|
|
2
2
|
import { Operation } from "./Operation.js";
|
|
3
|
-
const operationValidator = zod
|
|
3
|
+
const operationValidator = zod["enum"]([
|
|
4
|
+
Operation.AND,
|
|
5
|
+
Operation.OR
|
|
6
|
+
]);
|
|
4
7
|
const filterGroupFilterValidationSchema = zod.object({
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
field: zod.string().trim().nonempty("Field is required."),
|
|
9
|
+
condition: zod.string().nonempty("Condition is required."),
|
|
10
|
+
value: zod.union([
|
|
11
|
+
zod.boolean(),
|
|
12
|
+
zod.number({
|
|
13
|
+
error: "Value is required."
|
|
14
|
+
}),
|
|
15
|
+
zod.string().trim().nonempty("Value is required."),
|
|
16
|
+
zod.array(zod.union([
|
|
17
|
+
zod.boolean(),
|
|
18
|
+
zod.number(),
|
|
19
|
+
zod.string()
|
|
20
|
+
])).nonempty("At least one value is required.")
|
|
21
|
+
])
|
|
10
22
|
});
|
|
11
23
|
const filterGroupValidationSchema = zod.object({
|
|
12
|
-
|
|
13
|
-
|
|
24
|
+
operation: operationValidator,
|
|
25
|
+
filters: zod.array(filterGroupFilterValidationSchema).min(1)
|
|
14
26
|
});
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
27
|
+
const filterValidationSchema = zod.object({
|
|
28
|
+
id: zod.string().trim().optional().nullish(),
|
|
29
|
+
name: zod.string().trim().nonempty("Name is required."),
|
|
30
|
+
description: zod.string().trim(),
|
|
31
|
+
operation: operationValidator,
|
|
32
|
+
groups: zod.array(filterGroupValidationSchema).min(1)
|
|
21
33
|
});
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
34
|
+
class Filter {
|
|
35
|
+
static createEmpty() {
|
|
36
|
+
return new Filter({
|
|
37
|
+
operation: Operation.AND,
|
|
38
|
+
groups: [
|
|
39
|
+
new FilterGroup(Operation.AND, [
|
|
40
|
+
new FilterGroupFilter()
|
|
41
|
+
])
|
|
42
|
+
]
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
static create(data) {
|
|
46
|
+
return new Filter(data);
|
|
47
|
+
}
|
|
48
|
+
static validate(data) {
|
|
49
|
+
return filterValidationSchema.safeParse(data);
|
|
50
|
+
}
|
|
51
|
+
constructor(data){
|
|
52
|
+
this.operations = Operation;
|
|
53
|
+
this.id = data.id ?? "";
|
|
54
|
+
this.name = data.name ?? "Draft filter";
|
|
55
|
+
this.description = data.description ?? "";
|
|
56
|
+
this.operation = data.operation;
|
|
57
|
+
this.groups = data.groups;
|
|
58
|
+
this.createdOn = data.createdOn;
|
|
59
|
+
}
|
|
44
60
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
61
|
+
class FilterGroup {
|
|
62
|
+
constructor(operation, filters){
|
|
63
|
+
this.operation = operation;
|
|
64
|
+
this.filters = filters;
|
|
65
|
+
}
|
|
50
66
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
67
|
+
class FilterGroupFilter {
|
|
68
|
+
constructor(field, condition, value){
|
|
69
|
+
this.field = field;
|
|
70
|
+
this.condition = condition;
|
|
71
|
+
this.value = value;
|
|
72
|
+
}
|
|
57
73
|
}
|
|
74
|
+
export { Filter, FilterGroup, FilterGroupFilter, filterValidationSchema };
|
|
58
75
|
|
|
59
76
|
//# sourceMappingURL=Filter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"components/AdvancedSearch/domain/Filter.js","sources":["../../../../src/components/AdvancedSearch/domain/Filter.ts"],"sourcesContent":["import zod from \"zod\";\nimport { Operation } from \"./Operation.js\";\n\nexport interface FilterGroupFilterDTO {\n field: string;\n condition: string;\n value: string;\n}\n\nexport interface FilterGroupDTO {\n operation: Operation;\n filters: FilterGroupFilterDTO[];\n}\n\nexport interface FilterDTO {\n id: string;\n name: string;\n description?: string;\n operation: Operation;\n groups: FilterGroupDTO[];\n createdOn?: string;\n}\n\nexport type FilterStorage = Omit<FilterDTO, \"createdOn\">;\n\nconst operationValidator = zod.enum([Operation.AND, Operation.OR]);\n\nconst filterGroupFilterValidationSchema = zod.object({\n field: zod.string().trim().nonempty(\"Field is required.\"),\n condition: zod.string().nonempty(\"Condition is required.\"),\n value: zod.union([\n zod.boolean(),\n zod.number({ error: \"Value is required.\" }),\n zod.string().trim().nonempty(\"Value is required.\"),\n zod\n .array(zod.union([zod.boolean(), zod.number(), zod.string()]))\n .nonempty(\"At least one value is required.\")\n ])\n});\n\nconst filterGroupValidationSchema = zod.object({\n operation: operationValidator,\n filters: zod.array(filterGroupFilterValidationSchema).min(1)\n});\n\nexport const filterValidationSchema = zod.object({\n id: zod.string().trim().optional().nullish(),\n name: zod.string().trim().nonempty(\"Name is required.\"),\n description: zod.string().trim(),\n operation: operationValidator,\n groups: zod.array(filterGroupValidationSchema).min(1)\n});\n\nexport class Filter {\n public readonly operations = Operation;\n public readonly id;\n public name;\n public description;\n public operation: Operation;\n public groups: FilterGroup[];\n public createdOn?: string;\n\n static createEmpty() {\n return new Filter({\n operation: Operation.AND,\n groups: [new FilterGroup(Operation.AND, [new FilterGroupFilter()])]\n });\n }\n\n static create(data: FilterDTO) {\n return new Filter(data);\n }\n\n static validate(data: FilterDTO) {\n return filterValidationSchema.safeParse(data);\n }\n\n protected constructor(data: {\n operation: Operation;\n groups: FilterGroup[];\n id?: string;\n name?: string;\n description?: string;\n createdOn?: string;\n }) {\n this.id = data.id ?? \"\";\n this.name = data.name ?? \"Draft filter\";\n this.description = data.description ?? \"\";\n this.operation = data.operation;\n this.groups = data.groups;\n this.createdOn = data.createdOn;\n }\n}\n\nexport class FilterGroup {\n public readonly operation: Operation;\n public readonly filters: FilterGroupFilter[];\n\n constructor(operation: Operation, filters: FilterGroupFilter[]) {\n this.operation = operation;\n this.filters = filters;\n }\n}\n\nexport class FilterGroupFilter {\n public readonly field?: string;\n public readonly condition?: string;\n public readonly value?: string;\n\n constructor(field?: string, condition?: string, value?: string) {\n this.field = field;\n this.condition = condition;\n this.value = value;\n }\n}\n"],"names":["operationValidator","zod","Operation","filterGroupFilterValidationSchema","filterGroupValidationSchema","filterValidationSchema","Filter","FilterGroup","FilterGroupFilter","data","operation","filters","field","condition","value"],"mappings":";;AAyBA,MAAMA,qBAAqBC,GAAG,CAAHA,OAAQ,CAAC;IAACC,UAAU,GAAG;IAAEA,UAAU,EAAE;CAAC;AAEjE,MAAMC,oCAAoCF,IAAI,MAAM,CAAC;IACjD,OAAOA,IAAI,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC;IACpC,WAAWA,IAAI,MAAM,GAAG,QAAQ,CAAC;IACjC,OAAOA,IAAI,KAAK,CAAC;QACbA,IAAI,OAAO;QACXA,IAAI,MAAM,CAAC;YAAE,OAAO;QAAqB;QACzCA,IAAI,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC;QAC7BA,IAAAA,KACU,CAACA,IAAI,KAAK,CAAC;YAACA,IAAI,OAAO;YAAIA,IAAI,MAAM;YAAIA,IAAI,MAAM;SAAG,GAC3D,QAAQ,CAAC;KACjB;AACL;AAEA,MAAMG,8BAA8BH,IAAI,MAAM,CAAC;IAC3C,WAAWD;IACX,SAASC,IAAI,KAAK,CAACE,mCAAmC,GAAG,CAAC;AAC9D;AAEO,MAAME,yBAAyBJ,IAAI,MAAM,CAAC;IAC7C,IAAIA,IAAI,MAAM,GAAG,IAAI,GAAG,QAAQ,GAAG,OAAO;IAC1C,MAAMA,IAAI,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC;IACnC,aAAaA,IAAI,MAAM,GAAG,IAAI;IAC9B,WAAWD;IACX,QAAQC,IAAI,KAAK,CAACG,6BAA6B,GAAG,CAAC;AACvD;AAEO,MAAME;IAST,OAAO,cAAc;QACjB,OAAO,IAAIA,OAAO;YACd,WAAWJ,UAAU,GAAG;YACxB,QAAQ;gBAAC,IAAIK,YAAYL,UAAU,GAAG,EAAE;oBAAC,IAAIM;iBAAoB;aAAE;QACvE;IACJ;IAEA,OAAO,OAAOC,IAAe,EAAE;QAC3B,OAAO,IAAIH,OAAOG;IACtB;IAEA,OAAO,SAASA,IAAe,EAAE;QAC7B,OAAOJ,uBAAuB,SAAS,CAACI;IAC5C;IAEA,YAAsBA,IAOrB,CAAE;aA9Ba,UAAU,GAAGP;QA+BzB,IAAI,CAAC,EAAE,GAAGO,KAAK,EAAE,IAAI;QACrB,IAAI,CAAC,IAAI,GAAGA,KAAK,IAAI,IAAI;QACzB,IAAI,CAAC,WAAW,GAAGA,KAAK,WAAW,IAAI;QACvC,IAAI,CAAC,SAAS,GAAGA,KAAK,SAAS;QAC/B,IAAI,CAAC,MAAM,GAAGA,KAAK,MAAM;QACzB,IAAI,CAAC,SAAS,GAAGA,KAAK,SAAS;IACnC;AACJ;AAEO,MAAMF;IAIT,YAAYG,SAAoB,EAAEC,OAA4B,CAAE;QAC5D,IAAI,CAAC,SAAS,GAAGD;QACjB,IAAI,CAAC,OAAO,GAAGC;IACnB;AACJ;AAEO,MAAMH;IAKT,YAAYI,KAAc,EAAEC,SAAkB,EAAEC,KAAc,CAAE;QAC5D,IAAI,CAAC,KAAK,GAAGF;QACb,IAAI,CAAC,SAAS,GAAGC;QACjB,IAAI,CAAC,KAAK,GAAGC;IACjB;AACJ"}
|
|
@@ -1,37 +1,38 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
1
|
+
class FilterMapper {
|
|
2
|
+
static toDTO(configuration) {
|
|
3
|
+
return {
|
|
4
|
+
id: configuration.id,
|
|
5
|
+
name: configuration.name,
|
|
6
|
+
description: configuration.description || "",
|
|
7
|
+
operation: configuration.operation,
|
|
8
|
+
createdOn: configuration.createdOn || "",
|
|
9
|
+
groups: configuration.groups.map((group)=>({
|
|
10
|
+
operation: group.operation,
|
|
11
|
+
filters: group.filters.map((filter)=>({
|
|
12
|
+
field: filter.field || "",
|
|
13
|
+
value: (filter.value ?? "").toString(),
|
|
14
|
+
condition: filter.condition || ""
|
|
15
|
+
}))
|
|
16
|
+
}))
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
static toStorage(configuration) {
|
|
20
|
+
return {
|
|
21
|
+
id: configuration.id,
|
|
22
|
+
name: configuration.name,
|
|
23
|
+
description: configuration.description,
|
|
24
|
+
operation: configuration.operation,
|
|
25
|
+
groups: configuration.groups.map((group)=>({
|
|
26
|
+
operation: group.operation,
|
|
27
|
+
filters: group.filters.map((filter)=>({
|
|
28
|
+
field: filter.field || "",
|
|
29
|
+
value: (filter.value ?? "").toString(),
|
|
30
|
+
condition: filter.condition || ""
|
|
31
|
+
}))
|
|
32
|
+
}))
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
35
|
}
|
|
36
|
+
export { FilterMapper };
|
|
36
37
|
|
|
37
38
|
//# sourceMappingURL=FilterMapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"components/AdvancedSearch/domain/FilterMapper.js","sources":["../../../../src/components/AdvancedSearch/domain/FilterMapper.ts"],"sourcesContent":["import type { Filter, FilterDTO, FilterStorage } from \"../domain/index.js\";\n\nexport class FilterMapper {\n static toDTO(configuration: Filter | FilterDTO): FilterDTO {\n return {\n id: configuration.id,\n name: configuration.name,\n description: configuration.description || \"\",\n operation: configuration.operation,\n createdOn: configuration.createdOn || \"\",\n groups: configuration.groups.map(group => ({\n operation: group.operation,\n filters: group.filters.map(filter => ({\n field: filter.field || \"\",\n value: (filter.value ?? \"\").toString(),\n condition: filter.condition || \"\"\n }))\n }))\n };\n }\n\n static toStorage(configuration: Filter | FilterDTO): FilterStorage {\n return {\n id: configuration.id,\n name: configuration.name,\n description: configuration.description,\n operation: configuration.operation,\n groups: configuration.groups.map(group => ({\n operation: group.operation,\n filters: group.filters.map(filter => ({\n field: filter.field || \"\",\n value: (filter.value ?? \"\").toString(),\n condition: filter.condition || \"\"\n }))\n }))\n };\n }\n}\n"],"names":["FilterMapper","configuration","group","filter"],"mappings":"AAEO,MAAMA;IACT,OAAO,MAAMC,aAAiC,EAAa;QACvD,OAAO;YACH,IAAIA,cAAc,EAAE;YACpB,MAAMA,cAAc,IAAI;YACxB,aAAaA,cAAc,WAAW,IAAI;YAC1C,WAAWA,cAAc,SAAS;YAClC,WAAWA,cAAc,SAAS,IAAI;YACtC,QAAQA,cAAc,MAAM,CAAC,GAAG,CAACC,CAAAA,QAAU;oBACvC,WAAWA,MAAM,SAAS;oBAC1B,SAASA,MAAM,OAAO,CAAC,GAAG,CAACC,CAAAA,SAAW;4BAClC,OAAOA,OAAO,KAAK,IAAI;4BACvB,OAAQA,AAAAA,CAAAA,OAAO,KAAK,IAAI,EAAC,EAAG,QAAQ;4BACpC,WAAWA,OAAO,SAAS,IAAI;wBACnC;gBACJ;QACJ;IACJ;IAEA,OAAO,UAAUF,aAAiC,EAAiB;QAC/D,OAAO;YACH,IAAIA,cAAc,EAAE;YACpB,MAAMA,cAAc,IAAI;YACxB,aAAaA,cAAc,WAAW;YACtC,WAAWA,cAAc,SAAS;YAClC,QAAQA,cAAc,MAAM,CAAC,GAAG,CAACC,CAAAA,QAAU;oBACvC,WAAWA,MAAM,SAAS;oBAC1B,SAASA,MAAM,OAAO,CAAC,GAAG,CAACC,CAAAA,SAAW;4BAClC,OAAOA,OAAO,KAAK,IAAI;4BACvB,OAAQA,AAAAA,CAAAA,OAAO,KAAK,IAAI,EAAC,EAAG,QAAQ;4BACpC,WAAWA,OAAO,SAAS,IAAI;wBACnC;gBACJ;QACJ;IACJ;AACJ"}
|
|
@@ -1,99 +1,98 @@
|
|
|
1
1
|
import cloneDeep from "lodash/cloneDeep.js";
|
|
2
2
|
import { makeAutoObservable, runInAction } from "mobx";
|
|
3
3
|
import { mdbid } from "@webiny/utils";
|
|
4
|
-
import { FilterMapper, Loading, Sorter } from "
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return cloneDeep(this.filters);
|
|
16
|
-
}
|
|
17
|
-
getLoading() {
|
|
18
|
-
return {
|
|
19
|
-
isLoading: this.loading.isLoading,
|
|
20
|
-
loadingLabel: this.loading.loadingLabel,
|
|
21
|
-
message: this.loading.feedback
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
async runWithLoading(action, loadingLabel, successMessage, failureMessage) {
|
|
25
|
-
return await this.loading.runCallbackWithLoading(action, loadingLabel, successMessage, failureMessage);
|
|
26
|
-
}
|
|
27
|
-
async listFilters() {
|
|
28
|
-
const response = await this.runWithLoading(this.gateway.list(this.namespace), "Listing filters");
|
|
29
|
-
if (!response) {
|
|
30
|
-
return;
|
|
4
|
+
import { FilterMapper, Loading, Sorter } from "./index.js";
|
|
5
|
+
class FilterRepository {
|
|
6
|
+
constructor(gateway, namespace){
|
|
7
|
+
this.filters = [];
|
|
8
|
+
this.gateway = gateway;
|
|
9
|
+
this.loading = new Loading();
|
|
10
|
+
this.namespace = namespace;
|
|
11
|
+
this.sorter = new Sorter([
|
|
12
|
+
"createdOn_DESC"
|
|
13
|
+
]);
|
|
14
|
+
makeAutoObservable(this);
|
|
31
15
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
async getFilterById(id) {
|
|
37
|
-
const filterInCache = this.filters.find(filter => filter.id === id);
|
|
38
|
-
if (filterInCache) {
|
|
39
|
-
return cloneDeep(filterInCache);
|
|
16
|
+
getFilters() {
|
|
17
|
+
return cloneDeep(this.filters);
|
|
40
18
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
19
|
+
getLoading() {
|
|
20
|
+
return {
|
|
21
|
+
isLoading: this.loading.isLoading,
|
|
22
|
+
loadingLabel: this.loading.loadingLabel,
|
|
23
|
+
message: this.loading.feedback
|
|
24
|
+
};
|
|
44
25
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
this.filters = this.sorter.sort([filterDTO, ...this.filters]);
|
|
48
|
-
});
|
|
49
|
-
return cloneDeep(filterDTO);
|
|
50
|
-
}
|
|
51
|
-
async createFilter(filter) {
|
|
52
|
-
const filterStorage = FilterMapper.toStorage(filter);
|
|
53
|
-
const id = mdbid();
|
|
54
|
-
const response = await this.runWithLoading(this.gateway.create({
|
|
55
|
-
...filterStorage,
|
|
56
|
-
id,
|
|
57
|
-
namespace: this.namespace
|
|
58
|
-
}), "Creating filter...", `Filter "${filterStorage.name}" was successfully created.`);
|
|
59
|
-
if (!response) {
|
|
60
|
-
return;
|
|
26
|
+
async runWithLoading(action, loadingLabel, successMessage, failureMessage) {
|
|
27
|
+
return await this.loading.runCallbackWithLoading(action, loadingLabel, successMessage, failureMessage);
|
|
61
28
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
async updateFilter(filter) {
|
|
69
|
-
const filterStorage = FilterMapper.toStorage(filter);
|
|
70
|
-
const response = await this.runWithLoading(this.gateway.update(filterStorage), "Updating filter...", `Filter "${filterStorage.name}" was successfully updated.`);
|
|
71
|
-
if (!response) {
|
|
72
|
-
return;
|
|
29
|
+
async listFilters() {
|
|
30
|
+
const response = await this.runWithLoading(this.gateway.list(this.namespace), "Listing filters");
|
|
31
|
+
if (!response) return;
|
|
32
|
+
runInAction(()=>{
|
|
33
|
+
this.filters = this.sorter.sort(response.map((filter)=>FilterMapper.toDTO(filter)));
|
|
34
|
+
});
|
|
73
35
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
36
|
+
async getFilterById(id) {
|
|
37
|
+
const filterInCache = this.filters.find((filter)=>filter.id === id);
|
|
38
|
+
if (filterInCache) return cloneDeep(filterInCache);
|
|
39
|
+
const response = await this.runWithLoading(this.gateway.get(id));
|
|
40
|
+
if (!response) return;
|
|
41
|
+
const filterDTO = FilterMapper.toDTO(response);
|
|
42
|
+
runInAction(()=>{
|
|
43
|
+
this.filters = this.sorter.sort([
|
|
44
|
+
filterDTO,
|
|
45
|
+
...this.filters
|
|
46
|
+
]);
|
|
47
|
+
});
|
|
48
|
+
return cloneDeep(filterDTO);
|
|
83
49
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
50
|
+
async createFilter(filter) {
|
|
51
|
+
const filterStorage = FilterMapper.toStorage(filter);
|
|
52
|
+
const id = mdbid();
|
|
53
|
+
const response = await this.runWithLoading(this.gateway.create({
|
|
54
|
+
...filterStorage,
|
|
55
|
+
id,
|
|
56
|
+
namespace: this.namespace
|
|
57
|
+
}), "Creating filter...", `Filter "${filterStorage.name}" was successfully created.`);
|
|
58
|
+
if (!response) return;
|
|
59
|
+
const filterDTO = FilterMapper.toDTO(response);
|
|
60
|
+
runInAction(()=>{
|
|
61
|
+
this.filters = this.sorter.sort([
|
|
62
|
+
filterDTO,
|
|
63
|
+
...this.filters
|
|
64
|
+
]);
|
|
65
|
+
});
|
|
66
|
+
return cloneDeep(filterDTO);
|
|
89
67
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
68
|
+
async updateFilter(filter) {
|
|
69
|
+
const filterStorage = FilterMapper.toStorage(filter);
|
|
70
|
+
const response = await this.runWithLoading(this.gateway.update(filterStorage), "Updating filter...", `Filter "${filterStorage.name}" was successfully updated.`);
|
|
71
|
+
if (!response) return;
|
|
72
|
+
const filterIndex = this.filters.findIndex((f)=>f.id === filter.id);
|
|
73
|
+
if (filterIndex > -1) {
|
|
74
|
+
const filterDTO = FilterMapper.toDTO(response);
|
|
75
|
+
runInAction(()=>{
|
|
76
|
+
this.filters = this.sorter.sort([
|
|
77
|
+
...this.filters.slice(0, filterIndex),
|
|
78
|
+
{
|
|
79
|
+
...this.filters[filterIndex],
|
|
80
|
+
...filterDTO
|
|
81
|
+
},
|
|
82
|
+
...this.filters.slice(filterIndex + 1)
|
|
83
|
+
]);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
async deleteFilter(id) {
|
|
88
|
+
const filter = await this.getFilterById(id);
|
|
89
|
+
if (!filter) return;
|
|
90
|
+
const response = await this.runWithLoading(this.gateway.delete(id), "Deleting filter...", `Filter "${filter.name}" was successfully deleted.`);
|
|
91
|
+
if (response) runInAction(()=>{
|
|
92
|
+
this.filters = this.sorter.sort(this.filters.filter((filter)=>filter.id !== id));
|
|
93
|
+
});
|
|
95
94
|
}
|
|
96
|
-
}
|
|
97
95
|
}
|
|
96
|
+
export { FilterRepository };
|
|
98
97
|
|
|
99
98
|
//# sourceMappingURL=FilterRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"components/AdvancedSearch/domain/FilterRepository.js","sources":["../../../../src/components/AdvancedSearch/domain/FilterRepository.ts"],"sourcesContent":["import cloneDeep from \"lodash/cloneDeep.js\";\nimport { makeAutoObservable, runInAction } from \"mobx\";\nimport { mdbid } from \"@webiny/utils\";\n\nimport type { FilterDTO } from \"../domain/index.js\";\nimport { FilterMapper, Loading, Sorter } from \"../domain/index.js\";\nimport type { FiltersGatewayInterface } from \"../gateways/index.js\";\n\nexport class FilterRepository {\n private gateway: FiltersGatewayInterface;\n private sorter: Sorter<FilterDTO>;\n private loading: Loading;\n private filters: FilterDTO[] = [];\n public readonly namespace: string;\n\n constructor(gateway: FiltersGatewayInterface, namespace: string) {\n this.gateway = gateway;\n this.loading = new Loading();\n this.namespace = namespace;\n this.sorter = new Sorter([\"createdOn_DESC\"]);\n makeAutoObservable(this);\n }\n\n getFilters() {\n return cloneDeep(this.filters);\n }\n\n getLoading() {\n return {\n isLoading: this.loading.isLoading,\n loadingLabel: this.loading.loadingLabel,\n message: this.loading.feedback\n };\n }\n\n private async runWithLoading<T>(\n action: Promise<T>,\n loadingLabel?: string,\n successMessage?: string,\n failureMessage?: string\n ) {\n return await this.loading.runCallbackWithLoading(\n action,\n loadingLabel,\n successMessage,\n failureMessage\n );\n }\n\n async listFilters() {\n const response = await this.runWithLoading<FilterDTO[]>(\n this.gateway.list(this.namespace),\n \"Listing filters\"\n );\n\n if (!response) {\n return;\n }\n\n runInAction(() => {\n this.filters = this.sorter.sort(response.map(filter => FilterMapper.toDTO(filter)));\n });\n }\n\n async getFilterById(id: string) {\n const filterInCache = this.filters.find(filter => filter.id === id);\n\n if (filterInCache) {\n return cloneDeep(filterInCache);\n }\n\n const response = await this.runWithLoading<FilterDTO>(this.gateway.get(id));\n\n if (!response) {\n return;\n }\n\n const filterDTO = FilterMapper.toDTO(response);\n runInAction(() => {\n this.filters = this.sorter.sort([filterDTO, ...this.filters]);\n });\n\n return cloneDeep(filterDTO);\n }\n\n async createFilter(filter: FilterDTO) {\n const filterStorage = FilterMapper.toStorage(filter);\n const id = mdbid();\n\n const response = await this.runWithLoading<FilterDTO>(\n this.gateway.create({ ...filterStorage, id, namespace: this.namespace }),\n \"Creating filter...\",\n `Filter \"${filterStorage.name}\" was successfully created.`\n );\n\n if (!response) {\n return;\n }\n\n const filterDTO = FilterMapper.toDTO(response);\n runInAction(() => {\n this.filters = this.sorter.sort([filterDTO, ...this.filters]);\n });\n\n return cloneDeep(filterDTO);\n }\n\n async updateFilter(filter: FilterDTO) {\n const filterStorage = FilterMapper.toStorage(filter);\n const response = await this.runWithLoading<FilterDTO>(\n this.gateway.update(filterStorage),\n \"Updating filter...\",\n `Filter \"${filterStorage.name}\" was successfully updated.`\n );\n\n if (!response) {\n return;\n }\n\n const filterIndex = this.filters.findIndex(f => f.id === filter.id);\n if (filterIndex > -1) {\n const filterDTO = FilterMapper.toDTO(response);\n\n runInAction(() => {\n this.filters = this.sorter.sort([\n ...this.filters.slice(0, filterIndex),\n {\n ...this.filters[filterIndex],\n ...filterDTO\n },\n ...this.filters.slice(filterIndex + 1)\n ]);\n });\n }\n }\n\n async deleteFilter(id: string) {\n const filter = await this.getFilterById(id);\n\n if (!filter) {\n return;\n }\n\n const response = await this.runWithLoading<boolean>(\n this.gateway.delete(id),\n \"Deleting filter...\",\n `Filter \"${filter.name}\" was successfully deleted.`\n );\n\n if (response) {\n runInAction(() => {\n this.filters = this.sorter.sort(this.filters.filter(filter => filter.id !== id));\n });\n }\n }\n}\n"],"names":["FilterRepository","gateway","namespace","Loading","Sorter","makeAutoObservable","cloneDeep","action","loadingLabel","successMessage","failureMessage","response","runInAction","filter","FilterMapper","id","filterInCache","filterDTO","filterStorage","mdbid","filterIndex","f"],"mappings":";;;;AAQO,MAAMA;IAOT,YAAYC,OAAgC,EAAEC,SAAiB,CAAE;aAHzD,OAAO,GAAgB,EAAE;QAI7B,IAAI,CAAC,OAAO,GAAGD;QACf,IAAI,CAAC,OAAO,GAAG,IAAIE;QACnB,IAAI,CAAC,SAAS,GAAGD;QACjB,IAAI,CAAC,MAAM,GAAG,IAAIE,OAAO;YAAC;SAAiB;QAC3CC,mBAAmB,IAAI;IAC3B;IAEA,aAAa;QACT,OAAOC,UAAU,IAAI,CAAC,OAAO;IACjC;IAEA,aAAa;QACT,OAAO;YACH,WAAW,IAAI,CAAC,OAAO,CAAC,SAAS;YACjC,cAAc,IAAI,CAAC,OAAO,CAAC,YAAY;YACvC,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ;QAClC;IACJ;IAEA,MAAc,eACVC,MAAkB,EAClBC,YAAqB,EACrBC,cAAuB,EACvBC,cAAuB,EACzB;QACE,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAC5CH,QACAC,cACAC,gBACAC;IAER;IAEA,MAAM,cAAc;QAChB,MAAMC,WAAW,MAAM,IAAI,CAAC,cAAc,CACtC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAChC;QAGJ,IAAI,CAACA,UACD;QAGJC,YAAY;YACR,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAACD,SAAS,GAAG,CAACE,CAAAA,SAAUC,aAAa,KAAK,CAACD;QAC9E;IACJ;IAEA,MAAM,cAAcE,EAAU,EAAE;QAC5B,MAAMC,gBAAgB,IAAI,CAAC,OAAO,CAAC,IAAI,CAACH,CAAAA,SAAUA,OAAO,EAAE,KAAKE;QAEhE,IAAIC,eACA,OAAOV,UAAUU;QAGrB,MAAML,WAAW,MAAM,IAAI,CAAC,cAAc,CAAY,IAAI,CAAC,OAAO,CAAC,GAAG,CAACI;QAEvE,IAAI,CAACJ,UACD;QAGJ,MAAMM,YAAYH,aAAa,KAAK,CAACH;QACrCC,YAAY;YACR,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAACK;mBAAc,IAAI,CAAC,OAAO;aAAC;QAChE;QAEA,OAAOX,UAAUW;IACrB;IAEA,MAAM,aAAaJ,MAAiB,EAAE;QAClC,MAAMK,gBAAgBJ,aAAa,SAAS,CAACD;QAC7C,MAAME,KAAKI;QAEX,MAAMR,WAAW,MAAM,IAAI,CAAC,cAAc,CACtC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,GAAGO,aAAa;YAAEH;YAAI,WAAW,IAAI,CAAC,SAAS;QAAC,IACtE,sBACA,CAAC,QAAQ,EAAEG,cAAc,IAAI,CAAC,2BAA2B,CAAC;QAG9D,IAAI,CAACP,UACD;QAGJ,MAAMM,YAAYH,aAAa,KAAK,CAACH;QACrCC,YAAY;YACR,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAACK;mBAAc,IAAI,CAAC,OAAO;aAAC;QAChE;QAEA,OAAOX,UAAUW;IACrB;IAEA,MAAM,aAAaJ,MAAiB,EAAE;QAClC,MAAMK,gBAAgBJ,aAAa,SAAS,CAACD;QAC7C,MAAMF,WAAW,MAAM,IAAI,CAAC,cAAc,CACtC,IAAI,CAAC,OAAO,CAAC,MAAM,CAACO,gBACpB,sBACA,CAAC,QAAQ,EAAEA,cAAc,IAAI,CAAC,2BAA2B,CAAC;QAG9D,IAAI,CAACP,UACD;QAGJ,MAAMS,cAAc,IAAI,CAAC,OAAO,CAAC,SAAS,CAACC,CAAAA,IAAKA,EAAE,EAAE,KAAKR,OAAO,EAAE;QAClE,IAAIO,cAAc,IAAI;YAClB,MAAMH,YAAYH,aAAa,KAAK,CAACH;YAErCC,YAAY;gBACR,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;uBACzB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAGQ;oBACzB;wBACI,GAAG,IAAI,CAAC,OAAO,CAACA,YAAY;wBAC5B,GAAGH,SAAS;oBAChB;uBACG,IAAI,CAAC,OAAO,CAAC,KAAK,CAACG,cAAc;iBACvC;YACL;QACJ;IACJ;IAEA,MAAM,aAAaL,EAAU,EAAE;QAC3B,MAAMF,SAAS,MAAM,IAAI,CAAC,aAAa,CAACE;QAExC,IAAI,CAACF,QACD;QAGJ,MAAMF,WAAW,MAAM,IAAI,CAAC,cAAc,CACtC,IAAI,CAAC,OAAO,CAAC,MAAM,CAACI,KACpB,sBACA,CAAC,QAAQ,EAAEF,OAAO,IAAI,CAAC,2BAA2B,CAAC;QAGvD,IAAIF,UACAC,YAAY;YACR,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAACC,CAAAA,SAAUA,OAAO,EAAE,KAAKE;QAChF;IAER;AACJ"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import { FiltersGraphQLGateway } from "../gateways/index.js";
|
|
2
2
|
import { FilterRepository } from "./FilterRepository.js";
|
|
3
3
|
class FilterRepositoryFactory {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
getRepository(client, namespace) {
|
|
5
|
+
if (!this.gateway) this.gateway = new FiltersGraphQLGateway(client);
|
|
6
|
+
if (!this.cache.has(namespace)) this.cache.set(namespace, new FilterRepository(this.gateway, namespace));
|
|
7
|
+
return this.cache.get(namespace);
|
|
8
8
|
}
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
constructor(){
|
|
10
|
+
this.cache = new Map();
|
|
11
11
|
}
|
|
12
|
-
return this.cache.get(namespace);
|
|
13
|
-
}
|
|
14
12
|
}
|
|
15
|
-
|
|
13
|
+
const filterRepositoryFactory = new FilterRepositoryFactory();
|
|
14
|
+
export { filterRepositoryFactory };
|
|
16
15
|
|
|
17
16
|
//# sourceMappingURL=FilterRepositoryFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"components/AdvancedSearch/domain/FilterRepositoryFactory.js","sources":["../../../../src/components/AdvancedSearch/domain/FilterRepositoryFactory.ts"],"sourcesContent":["import type { ApolloClient } from \"apollo-client\";\nimport type { FiltersGatewayInterface } from \"~/components/AdvancedSearch/gateways/index.js\";\nimport { FiltersGraphQLGateway } from \"~/components/AdvancedSearch/gateways/index.js\";\nimport { FilterRepository } from \"./FilterRepository.js\";\n\nclass FilterRepositoryFactory {\n private gateway: FiltersGatewayInterface | undefined;\n private cache: Map<string, FilterRepository> = new Map();\n\n getRepository(client: ApolloClient<any>, namespace: string) {\n if (!this.gateway) {\n this.gateway = new FiltersGraphQLGateway(client);\n }\n\n if (!this.cache.has(namespace)) {\n this.cache.set(namespace, new FilterRepository(this.gateway, namespace));\n }\n\n return this.cache.get(namespace) as FilterRepository;\n }\n}\n\nexport const filterRepositoryFactory = new FilterRepositoryFactory();\n"],"names":["FilterRepositoryFactory","client","namespace","FiltersGraphQLGateway","FilterRepository","Map","filterRepositoryFactory"],"mappings":";;AAKA,MAAMA;IAIF,cAAcC,MAAyB,EAAEC,SAAiB,EAAE;QACxD,IAAI,CAAC,IAAI,CAAC,OAAO,EACb,IAAI,CAAC,OAAO,GAAG,IAAIC,sBAAsBF;QAG7C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAACC,YAChB,IAAI,CAAC,KAAK,CAAC,GAAG,CAACA,WAAW,IAAIE,iBAAiB,IAAI,CAAC,OAAO,EAAEF;QAGjE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAACA;IAC1B;;aAZQ,KAAK,GAAkC,IAAIG;;AAavD;AAEO,MAAMC,0BAA0B,IAAIN"}
|