@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
package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["describe","it","expect","beforeEach","vi","QueryBuilderDrawerPresenter","Operation","defaultFilter","field","value","condition","testFilter","testGroup","operation","AND","filters","filter","id","name","description","groups","presenter","load","vm","toEqual","data","title","open","canDelete","invalidFields","invalidMessage","length","toBe","addGroup","deleteGroup","addNewFilterToGroup","resultFilter","deleteFilterFromGroup","setFilter","OR","onSuccess","fn","onError","onApply","toHaveBeenCalledTimes","Object","keys","toBeGreaterThanOrEqual","onSave","setFilterFieldData"],"sources":["QueryBuilderDrawerPresenter.test.tsx"],"sourcesContent":["import { describe, it, expect, beforeEach, vi } from \"vitest\";\nimport { QueryBuilderDrawerPresenter } from \"./QueryBuilderDrawerPresenter.js\";\nimport type { FilterDTO } from \"~/components/AdvancedSearch/domain/index.js\";\nimport { Operation } from \"~/components/AdvancedSearch/domain/index.js\";\n\ndescribe(\"QueryBuilderDrawerPresenter\", () => {\n const defaultFilter = { field: \"\", value: \"\", condition: \"\" };\n\n const testFilter = {\n field: \"\",\n condition: \"\",\n value: \"\"\n };\n\n const testGroup = {\n operation: Operation.AND,\n filters: [testFilter]\n };\n\n const filter: FilterDTO = {\n id: \"\",\n name: \"Filter name\",\n description: \"Filter description\",\n operation: Operation.AND,\n groups: [testGroup]\n };\n\n let presenter: QueryBuilderDrawerPresenter;\n\n beforeEach(() => {\n presenter = new QueryBuilderDrawerPresenter();\n });\n\n it(\"should create QueryBuilderDrawerPresenter with `vm` definition\", () => {\n presenter.load(filter);\n\n // `vm` should have the expected `name` and `description` definition\n expect(presenter.vm.name).toEqual(filter.name);\n expect(presenter.vm.description).toEqual(filter.description);\n\n // `vm` should have the expected `data` definition\n expect(presenter.vm.data).toEqual({\n operation: \"AND\",\n groups: [\n {\n title: \"Filter group #1\",\n open: true,\n operation: Operation.AND,\n canDelete: false,\n filters: [\n {\n ...testFilter,\n canDelete: false\n }\n ]\n }\n ]\n });\n\n // `vm` should have the expected `invalidFields` and `invalidMessage` definition\n expect(presenter.vm.invalidFields).toEqual({});\n expect(presenter.vm.invalidMessage).toEqual(\"\");\n });\n\n it(\"should be able to add and delete groups\", () => {\n // let's load a filter\n presenter.load(filter);\n\n // should only have 1 group, created by default\n expect(presenter.vm.data.groups.length).toBe(1);\n expect(presenter.vm.data.groups).toEqual([\n {\n title: \"Filter group #1\",\n open: true,\n operation: Operation.AND,\n canDelete: false,\n filters: [\n {\n ...testFilter,\n canDelete: false\n }\n ]\n }\n ]);\n\n presenter.addGroup();\n\n // should have 2 groups\n expect(presenter.vm.data.groups.length).toBe(2);\n expect(presenter.vm.data.groups).toEqual([\n {\n title: \"Filter group #1\",\n open: true,\n operation: Operation.AND,\n canDelete: false,\n filters: [\n {\n ...testFilter,\n canDelete: false\n }\n ]\n },\n {\n title: \"Filter group #2\",\n open: true,\n operation: Operation.AND,\n canDelete: true,\n filters: [\n {\n ...testFilter,\n canDelete: false\n }\n ]\n }\n ]);\n\n // let's delete the first group\n presenter.deleteGroup(1);\n\n // should have 1 group only\n expect(presenter.vm.data.groups.length).toBe(1);\n expect(presenter.vm.data.groups).toEqual([\n {\n title: \"Filter group #1\",\n open: true,\n operation: Operation.AND,\n canDelete: false,\n filters: [\n {\n ...testFilter,\n canDelete: false\n }\n ]\n }\n ]);\n\n // let's delete the remaining group\n presenter.deleteGroup(0);\n\n // should still have 1 default group\n expect(presenter.vm.data.groups.length).toBe(1);\n expect(presenter.vm.data.groups).toEqual([\n {\n title: \"Filter group #1\",\n open: true,\n operation: Operation.AND,\n canDelete: false,\n filters: [\n {\n ...testFilter,\n canDelete: false\n }\n ]\n }\n ]);\n });\n\n it(\"should be able to add and delete filters from a group\", () => {\n // let's load a filter\n presenter.load(filter);\n\n // let's load a new filter to the first group\n presenter.addNewFilterToGroup(0);\n\n // should have 2 filters inside the only existing group\n expect(presenter.vm.data.groups[0].filters.length).toBe(2);\n expect(presenter.vm.data.groups[0].filters).toEqual([\n {\n ...testFilter,\n canDelete: false\n },\n {\n ...testFilter,\n canDelete: true\n }\n ]);\n\n const resultFilter = presenter.vm.data.groups[0].filters[0];\n\n // let's delete the second filter\n presenter.deleteFilterFromGroup(0, 1);\n\n // should have 1 group only\n expect(presenter.vm.data.groups.length).toBe(1);\n expect(presenter.vm.data.groups[0].filters).toEqual([resultFilter]);\n\n // let's delete the remaining filter\n presenter.deleteFilterFromGroup(0, 0);\n\n // should still have 1 default filter\n expect(presenter.vm.data.groups.length).toBe(1);\n expect(presenter.vm.data.groups[0].filters).toEqual([\n {\n ...defaultFilter,\n canDelete: false\n }\n ]);\n });\n\n it(\"should be able to set data back to the filter\", () => {\n // let's load a filter\n presenter.load(filter);\n\n {\n // should be able to set the `data` operation\n presenter.setFilter({\n operation: Operation.OR,\n groups: [\n {\n title: \"Filter group #1\",\n open: true,\n operation: Operation.AND,\n canDelete: false,\n filters: [\n {\n ...testFilter,\n canDelete: false\n }\n ]\n }\n ]\n });\n\n expect(presenter.vm.data.operation).toEqual(Operation.OR);\n }\n\n {\n // should be able to set the `data` group\n presenter.setFilter({\n operation: Operation.OR,\n groups: [\n {\n title: \"Filter group #1\",\n open: true,\n operation: Operation.OR,\n canDelete: false,\n filters: [\n {\n ...testFilter,\n canDelete: false\n }\n ]\n }\n ]\n });\n\n expect(presenter.vm.data.groups[0].operation).toEqual(Operation.OR);\n }\n\n {\n // should be able to change the `data` filter definition\n presenter.setFilter({\n operation: Operation.OR,\n groups: [\n {\n title: \"Filter group #1\",\n open: true,\n operation: Operation.OR,\n canDelete: false,\n filters: [\n {\n ...testFilter,\n canDelete: false,\n field: \"any-field\"\n }\n ]\n }\n ]\n });\n\n expect(presenter.vm.data.groups[0].filters[0].field).toEqual(\"any-field\");\n }\n });\n\n it(\"should perform validation and call provided callbacks `onApply`\", () => {\n // let's load a filter\n presenter.load(filter);\n\n const onSuccess = vi.fn();\n const onError = vi.fn();\n\n presenter.setFilter({\n operation: Operation.OR,\n groups: [\n {\n title: \"Filter group #1\",\n open: true,\n operation: Operation.OR,\n canDelete: false,\n filters: [\n {\n canDelete: false,\n field: \"any-field\",\n condition: \"any-condition\",\n value: \"\" // empty value -> this should trigger the error\n }\n ]\n }\n ]\n });\n\n presenter.onApply(onSuccess, onError);\n\n expect(onError).toHaveBeenCalledTimes(1);\n expect(Object.keys(presenter.vm.invalidFields).length).toBe(1);\n expect(presenter.vm.invalidMessage.length).toBeGreaterThanOrEqual(1);\n\n presenter.setFilter({\n operation: Operation.OR,\n groups: [\n {\n title: \"Filter group #1\",\n open: true,\n operation: Operation.OR,\n canDelete: false,\n filters: [\n {\n field: \"any-field\",\n condition: \"any-condition\",\n value: \"any-value\",\n canDelete: false\n }\n ]\n }\n ]\n });\n\n presenter.onApply(onSuccess, onError);\n\n expect(onSuccess).toHaveBeenCalledTimes(1);\n expect(presenter.vm.invalidFields).toEqual({});\n expect(presenter.vm.invalidMessage.length).toBe(0);\n });\n\n it(\"should perform validation and call provided callbacks `onSave`\", () => {\n // let's load a filter\n presenter.load(filter);\n\n const onSuccess = vi.fn();\n const onError = vi.fn();\n\n presenter.setFilter({\n operation: Operation.OR,\n groups: [\n {\n title: \"Filter group #1\",\n open: true,\n operation: Operation.OR,\n canDelete: false,\n filters: [\n {\n canDelete: false,\n field: \"any-field\",\n condition: \"any-condition\",\n value: \"\" // empty value -> this should trigger the error\n }\n ]\n }\n ]\n });\n\n presenter.onSave(onSuccess, onError);\n\n expect(onError).toHaveBeenCalledTimes(1);\n expect(Object.keys(presenter.vm.invalidFields).length).toBe(1);\n expect(presenter.vm.invalidMessage.length).toBeGreaterThanOrEqual(1);\n\n presenter.setFilter({\n operation: Operation.OR,\n groups: [\n {\n title: \"Filter group #1\",\n open: true,\n operation: Operation.OR,\n canDelete: false,\n filters: [\n {\n canDelete: false,\n field: \"any-field\",\n condition: \"any-condition\",\n value: \"any-value\"\n }\n ]\n }\n ]\n });\n\n presenter.onSave(onSuccess, onError);\n\n expect(onSuccess).toHaveBeenCalledTimes(1);\n expect(presenter.vm.invalidFields).toEqual({});\n expect(presenter.vm.invalidMessage.length).toBe(0);\n });\n\n it(\"should able to set the filter `field` data\", () => {\n // let's load a filter\n presenter.load(filter);\n\n // Let's change the filter and change the only exising filter\n presenter.setFilter({\n operation: Operation.OR,\n groups: [\n {\n title: \"Filter group #1\",\n open: true,\n operation: Operation.AND,\n canDelete: false,\n filters: [\n {\n field: \"any-field\",\n condition: \"any-condition\",\n value: \"any-value\",\n canDelete: false\n }\n ]\n }\n ]\n });\n\n // let's empty the filter\n presenter.setFilterFieldData(0, 0, \"new-field\");\n\n // should have a filter with default definition and new field value\n expect(presenter.vm.data.groups[0].filters).toEqual([\n { ...defaultFilter, field: \"new-field\", canDelete: false }\n ]);\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js","sources":["../../../../src/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.tsx"],"sourcesContent":["import { describe, it, expect, beforeEach, vi } from \"vitest\";\nimport { QueryBuilderDrawerPresenter } from \"./QueryBuilderDrawerPresenter.js\";\nimport type { FilterDTO } from \"~/components/AdvancedSearch/domain/index.js\";\nimport { Operation } from \"~/components/AdvancedSearch/domain/index.js\";\n\ndescribe(\"QueryBuilderDrawerPresenter\", () => {\n const defaultFilter = { field: \"\", value: \"\", condition: \"\" };\n\n const testFilter = {\n field: \"\",\n condition: \"\",\n value: \"\"\n };\n\n const testGroup = {\n operation: Operation.AND,\n filters: [testFilter]\n };\n\n const filter: FilterDTO = {\n id: \"\",\n name: \"Filter name\",\n description: \"Filter description\",\n operation: Operation.AND,\n groups: [testGroup]\n };\n\n let presenter: QueryBuilderDrawerPresenter;\n\n beforeEach(() => {\n presenter = new QueryBuilderDrawerPresenter();\n });\n\n it(\"should create QueryBuilderDrawerPresenter with `vm` definition\", () => {\n presenter.load(filter);\n\n // `vm` should have the expected `name` and `description` definition\n expect(presenter.vm.name).toEqual(filter.name);\n expect(presenter.vm.description).toEqual(filter.description);\n\n // `vm` should have the expected `data` definition\n expect(presenter.vm.data).toEqual({\n operation: \"AND\",\n groups: [\n {\n title: \"Filter group #1\",\n open: true,\n operation: Operation.AND,\n canDelete: false,\n filters: [\n {\n ...testFilter,\n canDelete: false\n }\n ]\n }\n ]\n });\n\n // `vm` should have the expected `invalidFields` and `invalidMessage` definition\n expect(presenter.vm.invalidFields).toEqual({});\n expect(presenter.vm.invalidMessage).toEqual(\"\");\n });\n\n it(\"should be able to add and delete groups\", () => {\n // let's load a filter\n presenter.load(filter);\n\n // should only have 1 group, created by default\n expect(presenter.vm.data.groups.length).toBe(1);\n expect(presenter.vm.data.groups).toEqual([\n {\n title: \"Filter group #1\",\n open: true,\n operation: Operation.AND,\n canDelete: false,\n filters: [\n {\n ...testFilter,\n canDelete: false\n }\n ]\n }\n ]);\n\n presenter.addGroup();\n\n // should have 2 groups\n expect(presenter.vm.data.groups.length).toBe(2);\n expect(presenter.vm.data.groups).toEqual([\n {\n title: \"Filter group #1\",\n open: true,\n operation: Operation.AND,\n canDelete: false,\n filters: [\n {\n ...testFilter,\n canDelete: false\n }\n ]\n },\n {\n title: \"Filter group #2\",\n open: true,\n operation: Operation.AND,\n canDelete: true,\n filters: [\n {\n ...testFilter,\n canDelete: false\n }\n ]\n }\n ]);\n\n // let's delete the first group\n presenter.deleteGroup(1);\n\n // should have 1 group only\n expect(presenter.vm.data.groups.length).toBe(1);\n expect(presenter.vm.data.groups).toEqual([\n {\n title: \"Filter group #1\",\n open: true,\n operation: Operation.AND,\n canDelete: false,\n filters: [\n {\n ...testFilter,\n canDelete: false\n }\n ]\n }\n ]);\n\n // let's delete the remaining group\n presenter.deleteGroup(0);\n\n // should still have 1 default group\n expect(presenter.vm.data.groups.length).toBe(1);\n expect(presenter.vm.data.groups).toEqual([\n {\n title: \"Filter group #1\",\n open: true,\n operation: Operation.AND,\n canDelete: false,\n filters: [\n {\n ...testFilter,\n canDelete: false\n }\n ]\n }\n ]);\n });\n\n it(\"should be able to add and delete filters from a group\", () => {\n // let's load a filter\n presenter.load(filter);\n\n // let's load a new filter to the first group\n presenter.addNewFilterToGroup(0);\n\n // should have 2 filters inside the only existing group\n expect(presenter.vm.data.groups[0].filters.length).toBe(2);\n expect(presenter.vm.data.groups[0].filters).toEqual([\n {\n ...testFilter,\n canDelete: false\n },\n {\n ...testFilter,\n canDelete: true\n }\n ]);\n\n const resultFilter = presenter.vm.data.groups[0].filters[0];\n\n // let's delete the second filter\n presenter.deleteFilterFromGroup(0, 1);\n\n // should have 1 group only\n expect(presenter.vm.data.groups.length).toBe(1);\n expect(presenter.vm.data.groups[0].filters).toEqual([resultFilter]);\n\n // let's delete the remaining filter\n presenter.deleteFilterFromGroup(0, 0);\n\n // should still have 1 default filter\n expect(presenter.vm.data.groups.length).toBe(1);\n expect(presenter.vm.data.groups[0].filters).toEqual([\n {\n ...defaultFilter,\n canDelete: false\n }\n ]);\n });\n\n it(\"should be able to set data back to the filter\", () => {\n // let's load a filter\n presenter.load(filter);\n\n {\n // should be able to set the `data` operation\n presenter.setFilter({\n operation: Operation.OR,\n groups: [\n {\n title: \"Filter group #1\",\n open: true,\n operation: Operation.AND,\n canDelete: false,\n filters: [\n {\n ...testFilter,\n canDelete: false\n }\n ]\n }\n ]\n });\n\n expect(presenter.vm.data.operation).toEqual(Operation.OR);\n }\n\n {\n // should be able to set the `data` group\n presenter.setFilter({\n operation: Operation.OR,\n groups: [\n {\n title: \"Filter group #1\",\n open: true,\n operation: Operation.OR,\n canDelete: false,\n filters: [\n {\n ...testFilter,\n canDelete: false\n }\n ]\n }\n ]\n });\n\n expect(presenter.vm.data.groups[0].operation).toEqual(Operation.OR);\n }\n\n {\n // should be able to change the `data` filter definition\n presenter.setFilter({\n operation: Operation.OR,\n groups: [\n {\n title: \"Filter group #1\",\n open: true,\n operation: Operation.OR,\n canDelete: false,\n filters: [\n {\n ...testFilter,\n canDelete: false,\n field: \"any-field\"\n }\n ]\n }\n ]\n });\n\n expect(presenter.vm.data.groups[0].filters[0].field).toEqual(\"any-field\");\n }\n });\n\n it(\"should perform validation and call provided callbacks `onApply`\", () => {\n // let's load a filter\n presenter.load(filter);\n\n const onSuccess = vi.fn();\n const onError = vi.fn();\n\n presenter.setFilter({\n operation: Operation.OR,\n groups: [\n {\n title: \"Filter group #1\",\n open: true,\n operation: Operation.OR,\n canDelete: false,\n filters: [\n {\n canDelete: false,\n field: \"any-field\",\n condition: \"any-condition\",\n value: \"\" // empty value -> this should trigger the error\n }\n ]\n }\n ]\n });\n\n presenter.onApply(onSuccess, onError);\n\n expect(onError).toHaveBeenCalledTimes(1);\n expect(Object.keys(presenter.vm.invalidFields).length).toBe(1);\n expect(presenter.vm.invalidMessage.length).toBeGreaterThanOrEqual(1);\n\n presenter.setFilter({\n operation: Operation.OR,\n groups: [\n {\n title: \"Filter group #1\",\n open: true,\n operation: Operation.OR,\n canDelete: false,\n filters: [\n {\n field: \"any-field\",\n condition: \"any-condition\",\n value: \"any-value\",\n canDelete: false\n }\n ]\n }\n ]\n });\n\n presenter.onApply(onSuccess, onError);\n\n expect(onSuccess).toHaveBeenCalledTimes(1);\n expect(presenter.vm.invalidFields).toEqual({});\n expect(presenter.vm.invalidMessage.length).toBe(0);\n });\n\n it(\"should perform validation and call provided callbacks `onSave`\", () => {\n // let's load a filter\n presenter.load(filter);\n\n const onSuccess = vi.fn();\n const onError = vi.fn();\n\n presenter.setFilter({\n operation: Operation.OR,\n groups: [\n {\n title: \"Filter group #1\",\n open: true,\n operation: Operation.OR,\n canDelete: false,\n filters: [\n {\n canDelete: false,\n field: \"any-field\",\n condition: \"any-condition\",\n value: \"\" // empty value -> this should trigger the error\n }\n ]\n }\n ]\n });\n\n presenter.onSave(onSuccess, onError);\n\n expect(onError).toHaveBeenCalledTimes(1);\n expect(Object.keys(presenter.vm.invalidFields).length).toBe(1);\n expect(presenter.vm.invalidMessage.length).toBeGreaterThanOrEqual(1);\n\n presenter.setFilter({\n operation: Operation.OR,\n groups: [\n {\n title: \"Filter group #1\",\n open: true,\n operation: Operation.OR,\n canDelete: false,\n filters: [\n {\n canDelete: false,\n field: \"any-field\",\n condition: \"any-condition\",\n value: \"any-value\"\n }\n ]\n }\n ]\n });\n\n presenter.onSave(onSuccess, onError);\n\n expect(onSuccess).toHaveBeenCalledTimes(1);\n expect(presenter.vm.invalidFields).toEqual({});\n expect(presenter.vm.invalidMessage.length).toBe(0);\n });\n\n it(\"should able to set the filter `field` data\", () => {\n // let's load a filter\n presenter.load(filter);\n\n // Let's change the filter and change the only exising filter\n presenter.setFilter({\n operation: Operation.OR,\n groups: [\n {\n title: \"Filter group #1\",\n open: true,\n operation: Operation.AND,\n canDelete: false,\n filters: [\n {\n field: \"any-field\",\n condition: \"any-condition\",\n value: \"any-value\",\n canDelete: false\n }\n ]\n }\n ]\n });\n\n // let's empty the filter\n presenter.setFilterFieldData(0, 0, \"new-field\");\n\n // should have a filter with default definition and new field value\n expect(presenter.vm.data.groups[0].filters).toEqual([\n { ...defaultFilter, field: \"new-field\", canDelete: false }\n ]);\n });\n});\n"],"names":["describe","defaultFilter","testFilter","testGroup","Operation","filter","presenter","beforeEach","QueryBuilderDrawerPresenter","it","expect","resultFilter","onSuccess","vi","onError","Object"],"mappings":"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"}
|
|
@@ -1,31 +1,27 @@
|
|
|
1
|
-
import
|
|
1
|
+
import react from "react";
|
|
2
2
|
import { Dialog, OverlayLoader } from "@webiny/admin-ui";
|
|
3
3
|
import { Empty, FilterList } from "./components/index.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
onDelete: props.onDelete,
|
|
27
|
-
onSelect: props.onSelect
|
|
28
|
-
}));
|
|
29
|
-
};
|
|
4
|
+
const QueryManagerDialog = ({ vm, ...props })=>/*#__PURE__*/ react.createElement(Dialog, {
|
|
5
|
+
open: vm.isOpen,
|
|
6
|
+
onClose: props.onClose,
|
|
7
|
+
title: "Advanced search filter",
|
|
8
|
+
actions: /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(Dialog.CancelAction, {
|
|
9
|
+
onClick: props.onClose,
|
|
10
|
+
text: "Cancel"
|
|
11
|
+
}), /*#__PURE__*/ react.createElement(Dialog.ConfirmAction, {
|
|
12
|
+
onClick: props.onCreate,
|
|
13
|
+
text: "Create new"
|
|
14
|
+
}))
|
|
15
|
+
}, vm.isLoading && /*#__PURE__*/ react.createElement(OverlayLoader, {
|
|
16
|
+
text: vm.loadingLabel
|
|
17
|
+
}), "EMPTY" === vm.view && /*#__PURE__*/ react.createElement(Empty, null), "LIST" === vm.view && /*#__PURE__*/ react.createElement(FilterList, {
|
|
18
|
+
filters: vm.filters,
|
|
19
|
+
onEdit: props.onEdit,
|
|
20
|
+
onRename: props.onRename,
|
|
21
|
+
onClone: props.onClone,
|
|
22
|
+
onDelete: props.onDelete,
|
|
23
|
+
onSelect: props.onSelect
|
|
24
|
+
}));
|
|
25
|
+
export { QueryManagerDialog };
|
|
30
26
|
|
|
31
27
|
//# sourceMappingURL=QueryManagerDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.js","sources":["../../../../src/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.tsx"],"sourcesContent":["import React from \"react\";\nimport { Dialog, OverlayLoader } from \"@webiny/admin-ui\";\nimport { Empty, FilterList } from \"./components/index.js\";\n\ntype filterCallback = (filterId: string) => void;\n\ninterface QueryManagerDialogProps {\n onClose: () => void;\n onCreate: () => void;\n onEdit: filterCallback;\n onRename: filterCallback;\n onClone: filterCallback;\n onDelete: filterCallback;\n onSelect: filterCallback;\n vm: {\n isOpen: boolean;\n isLoading: boolean;\n view: string;\n loadingLabel: string;\n filters: QueryManagerFilter[];\n };\n}\n\nexport interface QueryManagerFilter {\n id: string;\n name: string;\n description: string;\n createdOn: string;\n}\n\nexport const QueryManagerDialog = ({ vm, ...props }: QueryManagerDialogProps) => {\n return (\n <Dialog\n open={vm.isOpen}\n onClose={props.onClose}\n title={\"Advanced search filter\"}\n actions={\n <>\n <Dialog.CancelAction onClick={props.onClose} text={\"Cancel\"} />\n <Dialog.ConfirmAction onClick={props.onCreate} text={\"Create new\"} />\n </>\n }\n >\n {vm.isLoading && <OverlayLoader text={vm.loadingLabel} />}\n {vm.view === \"EMPTY\" && <Empty />}\n {vm.view === \"LIST\" && (\n <FilterList\n filters={vm.filters}\n onEdit={props.onEdit}\n onRename={props.onRename}\n onClone={props.onClone}\n onDelete={props.onDelete}\n onSelect={props.onSelect}\n />\n )}\n </Dialog>\n );\n};\n"],"names":["QueryManagerDialog","vm","props","Dialog","OverlayLoader","Empty","FilterList"],"mappings":";;;AA8BO,MAAMA,qBAAqB,CAAC,EAAEC,EAAE,EAAE,GAAGC,OAAgC,GACjE,WAAP,GACI,oBAACC,QAAMA;QACH,MAAMF,GAAG,MAAM;QACf,SAASC,MAAM,OAAO;QACtB,OAAO;QACP,uBACI,wDACI,oBAACC,OAAO,YAAY;YAAC,SAASD,MAAM,OAAO;YAAE,MAAM;0BACnD,oBAACC,OAAO,aAAa;YAAC,SAASD,MAAM,QAAQ;YAAE,MAAM;;OAI5DD,GAAG,SAAS,IAAI,WAAJ,GAAI,oBAACG,eAAaA;QAAC,MAAMH,GAAG,YAAY;QACpDA,AAAY,YAAZA,GAAG,IAAI,IAAgB,WAAX,GAAW,oBAACI,OAAKA,OAC7BJ,AAAY,WAAZA,GAAG,IAAI,IAAe,WAAV,GACT,oBAACK,YAAUA;QACP,SAASL,GAAG,OAAO;QACnB,QAAQC,MAAM,MAAM;QACpB,UAAUA,MAAM,QAAQ;QACxB,SAASA,MAAM,OAAO;QACtB,UAAUA,MAAM,QAAQ;QACxB,UAAUA,MAAM,QAAQ"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { Text } from "@webiny/admin-ui";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}), props.children && ` - ${props.children}`);
|
|
10
|
-
};
|
|
1
|
+
import react from "react";
|
|
2
|
+
import { Text, TimeAgo } from "@webiny/admin-ui";
|
|
3
|
+
const Description = (props)=>/*#__PURE__*/ react.createElement(Text, {
|
|
4
|
+
size: "sm"
|
|
5
|
+
}, "Created", " ", /*#__PURE__*/ react.createElement(TimeAgo, {
|
|
6
|
+
datetime: props.createdOn
|
|
7
|
+
}), props.children && ` - ${props.children}`);
|
|
8
|
+
export { Description };
|
|
11
9
|
|
|
12
10
|
//# sourceMappingURL=Description.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"components/AdvancedSearch/QueryManagerDialog/components/Description.js","sources":["../../../../../src/components/AdvancedSearch/QueryManagerDialog/components/Description.tsx"],"sourcesContent":["import React from \"react\";\nimport { Text } from \"@webiny/admin-ui\";\nimport { TimeAgo } from \"@webiny/admin-ui\";\n\nexport interface DescriptionProps {\n children?: string;\n createdOn: string;\n}\n\nexport const Description = (props: DescriptionProps) => {\n return (\n <Text size={\"sm\"}>\n {\"Created\"} <TimeAgo datetime={props.createdOn} />\n {props.children && ` - ${props.children}`}\n </Text>\n );\n};\n"],"names":["Description","props","Text","TimeAgo"],"mappings":";;AASO,MAAMA,cAAc,CAACC,QACjB,WAAP,GACI,oBAACC,MAAIA;QAAC,MAAM;OACP,WAAU,mBAAC,oBAACC,SAAOA;QAAC,UAAUF,MAAM,SAAS;QAC7CA,MAAM,QAAQ,IAAI,CAAC,GAAG,EAAEA,MAAM,QAAQ,EAAE"}
|
|
@@ -1,20 +1,19 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { ReactComponent
|
|
1
|
+
import react from "react";
|
|
2
|
+
import { ReactComponent } from "@webiny/icons/tune.svg";
|
|
3
3
|
import { Text } from "@webiny/admin-ui";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
};
|
|
4
|
+
const Empty = ()=>/*#__PURE__*/ react.createElement("div", {
|
|
5
|
+
className: "py-xl"
|
|
6
|
+
}, /*#__PURE__*/ react.createElement("div", {
|
|
7
|
+
className: "w-full flex flex-col items-center justify-center gap-md"
|
|
8
|
+
}, /*#__PURE__*/ react.createElement("div", {
|
|
9
|
+
className: "flex justify-center"
|
|
10
|
+
}, /*#__PURE__*/ react.createElement("div", {
|
|
11
|
+
className: "flex justify-center items-center size-[72px] bg-neutral-dimmed rounded-full fill-neutral-strong [&_svg]:size-xl"
|
|
12
|
+
}, /*#__PURE__*/ react.createElement(ReactComponent, null))), /*#__PURE__*/ react.createElement(Text, {
|
|
13
|
+
size: "md",
|
|
14
|
+
className: "text-center",
|
|
15
|
+
as: "div"
|
|
16
|
+
}, "No filters found.")));
|
|
17
|
+
export { Empty };
|
|
19
18
|
|
|
20
19
|
//# sourceMappingURL=Empty.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"components/AdvancedSearch/QueryManagerDialog/components/Empty.js","sources":["../../../../../src/components/AdvancedSearch/QueryManagerDialog/components/Empty.tsx"],"sourcesContent":["import React from \"react\";\nimport { ReactComponent as SettingsIcon } from \"@webiny/icons/tune.svg\";\nimport { Text } from \"@webiny/admin-ui\";\n\nexport const Empty = () => {\n return (\n <div className=\"py-xl\">\n <div className=\"w-full flex flex-col items-center justify-center gap-md\">\n <div className=\"flex justify-center\">\n <div className=\"flex justify-center items-center size-[72px] bg-neutral-dimmed rounded-full fill-neutral-strong [&_svg]:size-xl\">\n <SettingsIcon />\n </div>\n </div>\n <Text size={\"md\"} className={\"text-center\"} as={\"div\"}>\n {\"No filters found.\"}\n </Text>\n </div>\n </div>\n );\n};\n"],"names":["Empty","SettingsIcon","Text"],"mappings":";;;AAIO,MAAMA,QAAQ,IACV,WAAP,GACI,oBAAC;QAAI,WAAU;qBACX,oBAAC;QAAI,WAAU;qBACX,oBAAC;QAAI,WAAU;qBACX,oBAAC;QAAI,WAAU;qBACX,oBAACC,gBAAYA,SAAAA,WAAAA,GAGrB,oBAACC,MAAIA;QAAC,MAAM;QAAM,WAAW;QAAe,IAAI;OAC3C"}
|
|
@@ -1,45 +1,44 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import { ReactComponent
|
|
4
|
-
import { ReactComponent as
|
|
1
|
+
import react from "react";
|
|
2
|
+
import { DropdownMenu, IconButton, List, Tooltip } from "@webiny/admin-ui";
|
|
3
|
+
import { ReactComponent } from "@webiny/icons/saved_search.svg";
|
|
4
|
+
import { ReactComponent as more_vert_svg_ReactComponent } from "@webiny/icons/more_vert.svg";
|
|
5
5
|
import { Description } from "./Description.js";
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
};
|
|
6
|
+
const FilterList = (props)=>/*#__PURE__*/ react.createElement(List, null, props.filters.map((filter)=>/*#__PURE__*/ react.createElement(List.Item, {
|
|
7
|
+
key: filter.id,
|
|
8
|
+
onClick: ()=>props.onSelect(filter.id),
|
|
9
|
+
title: filter.name,
|
|
10
|
+
description: /*#__PURE__*/ react.createElement(Description, {
|
|
11
|
+
createdOn: filter.createdOn
|
|
12
|
+
}, filter.description),
|
|
13
|
+
actions: /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(Tooltip, {
|
|
14
|
+
trigger: /*#__PURE__*/ react.createElement(IconButton, {
|
|
15
|
+
icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
|
|
16
|
+
onClick: ()=>props.onSelect(filter.id),
|
|
17
|
+
size: "sm",
|
|
18
|
+
variant: "ghost"
|
|
19
|
+
}),
|
|
20
|
+
content: "Apply filter",
|
|
21
|
+
side: "left"
|
|
22
|
+
}), /*#__PURE__*/ react.createElement(DropdownMenu, {
|
|
23
|
+
trigger: /*#__PURE__*/ react.createElement(IconButton, {
|
|
24
|
+
icon: /*#__PURE__*/ react.createElement(more_vert_svg_ReactComponent, null),
|
|
25
|
+
size: "sm",
|
|
26
|
+
variant: "ghost"
|
|
27
|
+
})
|
|
28
|
+
}, /*#__PURE__*/ react.createElement(DropdownMenu.Item, {
|
|
29
|
+
onClick: ()=>props.onEdit(filter.id),
|
|
30
|
+
text: "Edit"
|
|
31
|
+
}), /*#__PURE__*/ react.createElement(DropdownMenu.Item, {
|
|
32
|
+
onClick: ()=>props.onRename(filter.id),
|
|
33
|
+
text: "Rename"
|
|
34
|
+
}), /*#__PURE__*/ react.createElement(DropdownMenu.Item, {
|
|
35
|
+
onClick: ()=>props.onClone(filter.id),
|
|
36
|
+
text: "Clone"
|
|
37
|
+
}), /*#__PURE__*/ react.createElement(DropdownMenu.Item, {
|
|
38
|
+
onClick: ()=>props.onDelete(filter.id),
|
|
39
|
+
text: "Delete"
|
|
40
|
+
})))
|
|
41
|
+
})));
|
|
42
|
+
export { FilterList };
|
|
44
43
|
|
|
45
44
|
//# sourceMappingURL=FilterList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"components/AdvancedSearch/QueryManagerDialog/components/FilterList.js","sources":["../../../../../src/components/AdvancedSearch/QueryManagerDialog/components/FilterList.tsx"],"sourcesContent":["import React from \"react\";\nimport { List, IconButton, Tooltip, DropdownMenu } from \"@webiny/admin-ui\";\nimport { ReactComponent as SavedSearchIcon } from \"@webiny/icons/saved_search.svg\";\nimport { ReactComponent as MoreIcon } from \"@webiny/icons/more_vert.svg\";\nimport type { QueryManagerFilter } from \"../QueryManagerDialog.js\";\nimport { Description } from \"./Description.js\";\n\ntype filterCallback = (filterId: string) => void;\n\ninterface FilterListProps {\n onEdit: filterCallback;\n onRename: filterCallback;\n onDelete: filterCallback;\n onSelect: filterCallback;\n onClone: filterCallback;\n filters: QueryManagerFilter[];\n}\n\nexport const FilterList = (props: FilterListProps) => {\n return (\n <List>\n {props.filters.map(filter => (\n <List.Item\n key={filter.id}\n onClick={() => props.onSelect(filter.id)}\n title={filter.name}\n description={\n <Description createdOn={filter.createdOn}>{filter.description}</Description>\n }\n actions={\n <>\n <Tooltip\n trigger={\n <IconButton\n icon={<SavedSearchIcon />}\n onClick={() => props.onSelect(filter.id)}\n size={\"sm\"}\n variant={\"ghost\"}\n />\n }\n content={\"Apply filter\"}\n side={\"left\"}\n />\n <DropdownMenu\n trigger={\n <IconButton icon={<MoreIcon />} size={\"sm\"} variant={\"ghost\"} />\n }\n >\n <DropdownMenu.Item\n onClick={() => props.onEdit(filter.id)}\n text={\"Edit\"}\n />\n <DropdownMenu.Item\n onClick={() => props.onRename(filter.id)}\n text={\"Rename\"}\n />\n <DropdownMenu.Item\n onClick={() => props.onClone(filter.id)}\n text={\"Clone\"}\n />\n <DropdownMenu.Item\n onClick={() => props.onDelete(filter.id)}\n text={\"Delete\"}\n />\n </DropdownMenu>\n </>\n }\n />\n ))}\n </List>\n );\n};\n"],"names":["FilterList","props","List","filter","Description","Tooltip","IconButton","SavedSearchIcon","DropdownMenu","MoreIcon"],"mappings":";;;;;AAkBO,MAAMA,aAAa,CAACC,QAChB,WAAP,GACI,oBAACC,MAAIA,MACAD,MAAM,OAAO,CAAC,GAAG,CAACE,CAAAA,SAAAA,WAAAA,GACf,oBAACD,KAAK,IAAI;YACN,KAAKC,OAAO,EAAE;YACd,SAAS,IAAMF,MAAM,QAAQ,CAACE,OAAO,EAAE;YACvC,OAAOA,OAAO,IAAI;YAClB,2BACI,oBAACC,aAAWA;gBAAC,WAAWD,OAAO,SAAS;eAAGA,OAAO,WAAW;YAEjE,uBACI,wDACI,oBAACE,SAAOA;gBACJ,uBACI,oBAACC,YAAUA;oBACP,oBAAM,oBAACC,gBAAeA;oBACtB,SAAS,IAAMN,MAAM,QAAQ,CAACE,OAAO,EAAE;oBACvC,MAAM;oBACN,SAAS;;gBAGjB,SAAS;gBACT,MAAM;8BAEV,oBAACK,cAAYA;gBACT,uBACI,oBAACF,YAAUA;oBAAC,oBAAM,oBAACG,8BAAQA;oBAAK,MAAM;oBAAM,SAAS;;6BAGzD,oBAACD,aAAa,IAAI;gBACd,SAAS,IAAMP,MAAM,MAAM,CAACE,OAAO,EAAE;gBACrC,MAAM;8BAEV,oBAACK,aAAa,IAAI;gBACd,SAAS,IAAMP,MAAM,QAAQ,CAACE,OAAO,EAAE;gBACvC,MAAM;8BAEV,oBAACK,aAAa,IAAI;gBACd,SAAS,IAAMP,MAAM,OAAO,CAACE,OAAO,EAAE;gBACtC,MAAM;8BAEV,oBAACK,aAAa,IAAI;gBACd,SAAS,IAAMP,MAAM,QAAQ,CAACE,OAAO,EAAE;gBACvC,MAAM"}
|
|
@@ -1,65 +1,58 @@
|
|
|
1
|
-
import
|
|
1
|
+
import react, { useEffect, useMemo } from "react";
|
|
2
2
|
import { Dialog, Grid, Input, OverlayLoader, Textarea } from "@webiny/admin-ui";
|
|
3
3
|
import { Form } from "@webiny/form";
|
|
4
4
|
import { QuerySaverDialogPresenter } from "./QuerySaverDialogPresenter.js";
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}, /*#__PURE__*/React.createElement(Bind, {
|
|
56
|
-
name: "description"
|
|
57
|
-
}, /*#__PURE__*/React.createElement(Textarea, {
|
|
58
|
-
label: "Description",
|
|
59
|
-
rows: 6,
|
|
60
|
-
size: "lg"
|
|
61
|
-
}))))) : null);
|
|
62
|
-
});
|
|
5
|
+
const QuerySaverDialog = ({ filter, ...props })=>{
|
|
6
|
+
const presenter = useMemo(()=>new QuerySaverDialogPresenter(), []);
|
|
7
|
+
useEffect(()=>{
|
|
8
|
+
presenter.load(filter);
|
|
9
|
+
}, [
|
|
10
|
+
filter
|
|
11
|
+
]);
|
|
12
|
+
const onChange = (data)=>{
|
|
13
|
+
presenter.setFilter(data);
|
|
14
|
+
};
|
|
15
|
+
const onSubmit = ()=>{
|
|
16
|
+
presenter.onSave((filter)=>{
|
|
17
|
+
props.onSave(filter);
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
return /*#__PURE__*/ react.createElement(Form, {
|
|
21
|
+
data: presenter.vm.data,
|
|
22
|
+
onChange: onChange,
|
|
23
|
+
onSubmit: onSubmit,
|
|
24
|
+
invalidFields: presenter.vm.invalidFields
|
|
25
|
+
}, ({ Bind, form })=>/*#__PURE__*/ react.createElement(Dialog, {
|
|
26
|
+
open: props.vm.isOpen,
|
|
27
|
+
onClose: props.onClose,
|
|
28
|
+
title: "Save search filter",
|
|
29
|
+
actions: /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(Dialog.CancelAction, {
|
|
30
|
+
onClick: props.onClose,
|
|
31
|
+
text: "Cancel"
|
|
32
|
+
}), /*#__PURE__*/ react.createElement(Dialog.ConfirmAction, {
|
|
33
|
+
onClick: form.submit,
|
|
34
|
+
text: "Save and apply"
|
|
35
|
+
}))
|
|
36
|
+
}, props.vm.isOpen ? /*#__PURE__*/ react.createElement(react.Fragment, null, props.vm.isLoading && /*#__PURE__*/ react.createElement(OverlayLoader, {
|
|
37
|
+
text: props.vm.loadingLabel
|
|
38
|
+
}), /*#__PURE__*/ react.createElement(Grid, null, /*#__PURE__*/ react.createElement(Grid.Column, {
|
|
39
|
+
span: 12
|
|
40
|
+
}, /*#__PURE__*/ react.createElement(Bind, {
|
|
41
|
+
name: "name"
|
|
42
|
+
}, /*#__PURE__*/ react.createElement(Input, {
|
|
43
|
+
type: "text",
|
|
44
|
+
label: "Name",
|
|
45
|
+
size: "lg"
|
|
46
|
+
}))), /*#__PURE__*/ react.createElement(Grid.Column, {
|
|
47
|
+
span: 12
|
|
48
|
+
}, /*#__PURE__*/ react.createElement(Bind, {
|
|
49
|
+
name: "description"
|
|
50
|
+
}, /*#__PURE__*/ react.createElement(Textarea, {
|
|
51
|
+
label: "Description",
|
|
52
|
+
rows: 6,
|
|
53
|
+
size: "lg"
|
|
54
|
+
}))))) : null));
|
|
63
55
|
};
|
|
56
|
+
export { QuerySaverDialog };
|
|
64
57
|
|
|
65
58
|
//# sourceMappingURL=QuerySaverDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js","sources":["../../../../src/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from \"react\";\nimport { Dialog, Grid, Input, OverlayLoader, Textarea } from \"@webiny/admin-ui\";\nimport { Form } from \"@webiny/form\";\nimport type { QuerySaverDialogFormData } from \"./QuerySaverDialogPresenter.js\";\nimport { QuerySaverDialogPresenter } from \"./QuerySaverDialogPresenter.js\";\nimport type { FilterDTO } from \"../domain/index.js\";\n\ninterface QuerySaverDialogProps {\n onClose: () => void;\n onSave: (data: FilterDTO) => void;\n filter: FilterDTO;\n vm: {\n isOpen: boolean;\n isLoading: boolean;\n loadingLabel: string;\n };\n}\n\nexport const QuerySaverDialog = ({ filter, ...props }: QuerySaverDialogProps) => {\n const presenter = useMemo<QuerySaverDialogPresenter>(() => {\n return new QuerySaverDialogPresenter();\n }, []);\n\n useEffect(() => {\n presenter.load(filter);\n }, [filter]);\n\n const onChange = (data: QuerySaverDialogFormData) => {\n presenter.setFilter(data);\n };\n\n const onSubmit = () => {\n presenter.onSave(filter => {\n props.onSave(filter);\n });\n };\n\n return (\n <Form\n data={presenter.vm.data}\n onChange={onChange}\n onSubmit={onSubmit}\n invalidFields={presenter.vm.invalidFields}\n >\n {({ Bind, form }) => {\n return (\n <Dialog\n open={props.vm.isOpen}\n onClose={props.onClose}\n title={\"Save search filter\"}\n actions={\n <>\n <Dialog.CancelAction onClick={props.onClose} text={\"Cancel\"} />\n <Dialog.ConfirmAction\n onClick={form.submit}\n text={\"Save and apply\"}\n />\n </>\n }\n >\n {props.vm.isOpen ? (\n <>\n {props.vm.isLoading && (\n <OverlayLoader text={props.vm.loadingLabel} />\n )}\n <Grid>\n <Grid.Column span={12}>\n <Bind name={\"name\"}>\n <Input type={\"text\"} label={\"Name\"} size={\"lg\"} />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind name={\"description\"}>\n <Textarea label={\"Description\"} rows={6} size={\"lg\"} />\n </Bind>\n </Grid.Column>\n </Grid>\n </>\n ) : null}\n </Dialog>\n );\n }}\n </Form>\n );\n};\n"],"names":["QuerySaverDialog","filter","props","presenter","useMemo","QuerySaverDialogPresenter","useEffect","onChange","data","onSubmit","Form","Bind","form","Dialog","OverlayLoader","Grid","Input","Textarea"],"mappings":";;;;AAkBO,MAAMA,mBAAmB,CAAC,EAAEC,MAAM,EAAE,GAAGC,OAA8B;IACxE,MAAMC,YAAYC,QAAmC,IAC1C,IAAIC,6BACZ,EAAE;IAELC,UAAU;QACNH,UAAU,IAAI,CAACF;IACnB,GAAG;QAACA;KAAO;IAEX,MAAMM,WAAW,CAACC;QACdL,UAAU,SAAS,CAACK;IACxB;IAEA,MAAMC,WAAW;QACbN,UAAU,MAAM,CAACF,CAAAA;YACbC,MAAM,MAAM,CAACD;QACjB;IACJ;IAEA,OAAO,WAAP,GACI,oBAACS,MAAIA;QACD,MAAMP,UAAU,EAAE,CAAC,IAAI;QACvB,UAAUI;QACV,UAAUE;QACV,eAAeN,UAAU,EAAE,CAAC,aAAa;OAExC,CAAC,EAAEQ,IAAI,EAAEC,IAAI,EAAE,GACL,WAAP,GACI,oBAACC,QAAMA;YACH,MAAMX,MAAM,EAAE,CAAC,MAAM;YACrB,SAASA,MAAM,OAAO;YACtB,OAAO;YACP,uBACI,wDACI,oBAACW,OAAO,YAAY;gBAAC,SAASX,MAAM,OAAO;gBAAE,MAAM;8BACnD,oBAACW,OAAO,aAAa;gBACjB,SAASD,KAAK,MAAM;gBACpB,MAAM;;WAKjBV,MAAM,EAAE,CAAC,MAAM,GAAG,WAAH,GACZ,0CACKA,MAAM,EAAE,CAAC,SAAS,IAAI,WAAJ,GACf,oBAACY,eAAaA;YAAC,MAAMZ,MAAM,EAAE,CAAC,YAAY;0BAE9C,oBAACa,MAAIA,MAAAA,WAAAA,GACD,oBAACA,KAAK,MAAM;YAAC,MAAM;yBACf,oBAACJ,MAAAA;YAAK,MAAM;yBACR,oBAACK,OAAKA;YAAC,MAAM;YAAQ,OAAO;YAAQ,MAAM;4BAGlD,oBAACD,KAAK,MAAM;YAAC,MAAM;yBACf,oBAACJ,MAAAA;YAAK,MAAM;yBACR,oBAACM,UAAQA;YAAC,OAAO;YAAe,MAAM;YAAG,MAAM;iBAK/D;AAM5B"}
|