@webiny/app-aco 5.43.2-beta.0 → 6.0.0-alpha.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 +4 -11
- package/app.js.map +1 -1
- package/components/Actions/DeleteFolder/DeleteFolder.js +21 -23
- package/components/Actions/DeleteFolder/DeleteFolder.js.map +1 -1
- package/components/Actions/DeleteFolder/index.js +1 -16
- package/components/Actions/DeleteFolder/index.js.map +1 -1
- package/components/Actions/EditFolder/EditFolder.js +19 -22
- package/components/Actions/EditFolder/EditFolder.js.map +1 -1
- package/components/Actions/EditFolder/index.js +1 -16
- package/components/Actions/EditFolder/index.js.map +1 -1
- package/components/Actions/SetFolderPemissions/SetFolderPermissions.js +19 -22
- package/components/Actions/SetFolderPemissions/SetFolderPermissions.js.map +1 -1
- package/components/Actions/SetFolderPemissions/index.js +1 -16
- package/components/Actions/SetFolderPemissions/index.js.map +1 -1
- package/components/Actions/index.js +3 -38
- package/components/Actions/index.js.map +1 -1
- package/components/AdvancedSearch/AdvancedSearch.d.ts +2 -2
- package/components/AdvancedSearch/AdvancedSearch.js +49 -89
- package/components/AdvancedSearch/AdvancedSearch.js.map +1 -1
- package/components/AdvancedSearch/AdvancedSearchConfigs.js +32 -37
- package/components/AdvancedSearch/AdvancedSearchConfigs.js.map +1 -1
- package/components/AdvancedSearch/AdvancedSearchDebounceRender.d.ts +15 -0
- package/components/AdvancedSearch/AdvancedSearchDebounceRender.js +36 -0
- package/components/AdvancedSearch/AdvancedSearchDebounceRender.js.map +1 -0
- package/components/AdvancedSearch/AdvancedSearchPresenter.js +187 -259
- package/components/AdvancedSearch/AdvancedSearchPresenter.js.map +1 -1
- package/components/AdvancedSearch/AdvancedSearchPresenter.test.js +128 -118
- package/components/AdvancedSearch/AdvancedSearchPresenter.test.js.map +1 -1
- package/components/AdvancedSearch/Button/Button.js +15 -15
- package/components/AdvancedSearch/Button/Button.js.map +1 -1
- package/components/AdvancedSearch/Button/index.js +1 -16
- package/components/AdvancedSearch/Button/index.js.map +1 -1
- package/components/AdvancedSearch/GraphQLInputMapper.js +43 -60
- package/components/AdvancedSearch/GraphQLInputMapper.js.map +1 -1
- package/components/AdvancedSearch/GraphQLInputMapper.test.js +62 -56
- package/components/AdvancedSearch/GraphQLInputMapper.test.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js +53 -72
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.js +23 -36
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.js +59 -76
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/FilterOperationLabel.js +10 -15
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/FilterOperationLabel.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/GroupOperationLabel.js +10 -16
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/GroupOperationLabel.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.js +15 -21
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js +22 -31
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddFilter.js +16 -21
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddFilter.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddGroup.js +14 -15
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddGroup.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/RemoveFilter.js +17 -22
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/RemoveFilter.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/index.js +3 -38
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/index.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.js +7 -82
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.js +1 -16
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js +51 -66
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js +136 -176
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js +86 -77
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js.map +1 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/index.js +1 -16
- package/components/AdvancedSearch/QueryBuilderDrawer/index.js.map +1 -1
- package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.js +21 -28
- package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.js.map +1 -1
- package/components/AdvancedSearch/QueryManagerDialog/components/Description.js +8 -13
- package/components/AdvancedSearch/QueryManagerDialog/components/Description.js.map +1 -1
- package/components/AdvancedSearch/QueryManagerDialog/components/Empty.js +17 -17
- package/components/AdvancedSearch/QueryManagerDialog/components/Empty.js.map +1 -1
- package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.js +39 -54
- package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.js.map +1 -1
- package/components/AdvancedSearch/QueryManagerDialog/components/index.js +2 -27
- package/components/AdvancedSearch/QueryManagerDialog/components/index.js.map +1 -1
- package/components/AdvancedSearch/QueryManagerDialog/index.js +1 -16
- package/components/AdvancedSearch/QueryManagerDialog/index.js.map +1 -1
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js +46 -56
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js.map +1 -1
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js +53 -70
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js.map +1 -1
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.js +16 -18
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.js.map +1 -1
- package/components/AdvancedSearch/QuerySaverDialog/index.js +1 -16
- package/components/AdvancedSearch/QuerySaverDialog/index.js.map +1 -1
- package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js +17 -18
- package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js.map +1 -1
- package/components/AdvancedSearch/SelectedFilter/index.js +1 -16
- package/components/AdvancedSearch/SelectedFilter/index.js.map +1 -1
- package/components/AdvancedSearch/domain/Feedback.js +11 -24
- package/components/AdvancedSearch/domain/Feedback.js.map +1 -1
- package/components/AdvancedSearch/domain/Field.js +166 -211
- package/components/AdvancedSearch/domain/Field.js.map +1 -1
- package/components/AdvancedSearch/domain/FieldMapper.js +41 -90
- package/components/AdvancedSearch/domain/FieldMapper.js.map +1 -1
- package/components/AdvancedSearch/domain/Filter.d.ts +24 -24
- package/components/AdvancedSearch/domain/Filter.js +44 -60
- package/components/AdvancedSearch/domain/Filter.js.map +1 -1
- package/components/AdvancedSearch/domain/FilterMapper.js +34 -59
- package/components/AdvancedSearch/domain/FilterMapper.js.map +1 -1
- package/components/AdvancedSearch/domain/FilterRepository.js +85 -124
- package/components/AdvancedSearch/domain/FilterRepository.js.map +1 -1
- package/components/AdvancedSearch/domain/FilterRepositoryFactory.js +14 -30
- package/components/AdvancedSearch/domain/FilterRepositoryFactory.js.map +1 -1
- package/components/AdvancedSearch/domain/Loading.js +42 -67
- package/components/AdvancedSearch/domain/Loading.js.map +1 -1
- package/components/AdvancedSearch/domain/Operation.js +1 -7
- package/components/AdvancedSearch/domain/Operation.js.map +1 -1
- package/components/AdvancedSearch/domain/Sorter.js +16 -39
- package/components/AdvancedSearch/domain/Sorter.js.map +1 -1
- package/components/AdvancedSearch/domain/index.js +10 -115
- package/components/AdvancedSearch/domain/index.js.map +1 -1
- package/components/AdvancedSearch/fields/Boolean.js +27 -37
- package/components/AdvancedSearch/fields/Boolean.js.map +1 -1
- package/components/AdvancedSearch/fields/DateWithTimezone.js +43 -94
- package/components/AdvancedSearch/fields/DateWithTimezone.js.map +1 -1
- package/components/AdvancedSearch/fields/DateWithoutTimezone.js +23 -32
- package/components/AdvancedSearch/fields/DateWithoutTimezone.js.map +1 -1
- package/components/AdvancedSearch/fields/Input.js +13 -18
- package/components/AdvancedSearch/fields/Input.js.map +1 -1
- package/components/AdvancedSearch/fields/PredefinedValues.js +25 -35
- package/components/AdvancedSearch/fields/PredefinedValues.js.map +1 -1
- package/components/AdvancedSearch/fields/index.js +5 -60
- package/components/AdvancedSearch/fields/index.js.map +1 -1
- package/components/AdvancedSearch/gateways/FiltersGatewayInterface.js +1 -5
- package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js +118 -127
- package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js.map +1 -1
- package/components/AdvancedSearch/gateways/filters.gql.js +75 -17
- package/components/AdvancedSearch/gateways/filters.gql.js.map +1 -1
- package/components/AdvancedSearch/gateways/filters.types.js +1 -5
- package/components/AdvancedSearch/gateways/index.js +2 -27
- package/components/AdvancedSearch/gateways/index.js.map +1 -1
- package/components/AdvancedSearch/index.d.ts +5 -1
- package/components/AdvancedSearch/index.js +33 -63
- package/components/AdvancedSearch/index.js.map +1 -1
- package/components/AdvancedSearch/useFilterRepository.js +5 -11
- package/components/AdvancedSearch/useFilterRepository.js.map +1 -1
- package/components/AdvancedSearch/useInputField.js +7 -12
- package/components/AdvancedSearch/useInputField.js.map +1 -1
- package/components/Extensions/Extensions.js +21 -42
- package/components/Extensions/Extensions.js.map +1 -1
- package/components/Extensions/index.js +1 -16
- package/components/Extensions/index.js.map +1 -1
- package/components/FolderGrid/{Folder.d.ts → FolderGridItem.d.ts} +1 -1
- package/components/FolderGrid/FolderGridItem.js +64 -0
- package/components/FolderGrid/FolderGridItem.js.map +1 -0
- package/components/FolderGrid/index.d.ts +1 -1
- package/components/FolderGrid/index.js +1 -16
- package/components/FolderGrid/index.js.map +1 -1
- package/components/FolderIcons/assets/folder-shared-icon.svg +5 -0
- package/components/FolderIcons/assets/folder.svg +4 -0
- package/components/FolderIcons/index.d.ts +3 -0
- package/components/FolderIcons/index.js +5 -0
- package/components/FolderIcons/index.js.map +1 -0
- package/components/FolderTree/ButtonCreate/ButtonCreate.d.ts +6 -0
- package/components/FolderTree/ButtonCreate/ButtonCreate.js +21 -0
- package/components/FolderTree/ButtonCreate/ButtonCreate.js.map +1 -0
- package/components/FolderTree/ButtonCreate/index.d.ts +1 -6
- package/components/FolderTree/ButtonCreate/index.js +1 -27
- package/components/FolderTree/ButtonCreate/index.js.map +1 -1
- package/components/FolderTree/Empty/Empty.d.ts +2 -0
- package/components/FolderTree/Empty/Empty.js +11 -0
- package/components/FolderTree/Empty/Empty.js.map +1 -0
- package/components/FolderTree/Empty/index.d.ts +1 -0
- package/components/FolderTree/Empty/index.js +3 -0
- package/components/FolderTree/Empty/index.js.map +1 -0
- package/components/FolderTree/List/List.d.ts +11 -0
- package/components/FolderTree/List/List.js +99 -0
- package/components/FolderTree/List/List.js.map +1 -0
- package/components/FolderTree/List/index.d.ts +1 -11
- package/components/FolderTree/List/index.js +1 -194
- package/components/FolderTree/List/index.js.map +1 -1
- package/components/FolderTree/List/utils.d.ts +4 -4
- package/components/FolderTree/List/utils.js +36 -53
- package/components/FolderTree/List/utils.js.map +1 -1
- package/components/FolderTree/Loader/Loader.d.ts +6 -0
- package/components/FolderTree/Loader/Loader.js +22 -0
- package/components/FolderTree/Loader/Loader.js.map +1 -0
- package/components/FolderTree/Loader/index.d.ts +1 -4
- package/components/FolderTree/Loader/index.js +1 -19
- package/components/FolderTree/Loader/index.js.map +1 -1
- package/components/FolderTree/MenuActions/MenuActions.d.ts +2 -0
- package/components/FolderTree/MenuActions/MenuActions.js +32 -0
- package/components/FolderTree/MenuActions/MenuActions.js.map +1 -0
- package/components/FolderTree/MenuActions/index.d.ts +1 -2
- package/components/FolderTree/MenuActions/index.js +1 -29
- package/components/FolderTree/MenuActions/index.js.map +1 -1
- package/components/FolderTree/Node/Node.d.ts +13 -0
- package/components/FolderTree/Node/Node.js +52 -0
- package/components/FolderTree/Node/Node.js.map +1 -0
- package/components/FolderTree/Node/index.d.ts +1 -24
- package/components/FolderTree/Node/index.js +1 -119
- package/components/FolderTree/Node/index.js.map +1 -1
- package/components/FolderTree/NodePreview/NodePreview.d.ts +6 -0
- package/components/FolderTree/NodePreview/NodePreview.js +18 -0
- package/components/FolderTree/NodePreview/NodePreview.js.map +1 -0
- package/components/FolderTree/NodePreview/index.d.ts +1 -8
- package/components/FolderTree/NodePreview/index.js +1 -18
- package/components/FolderTree/NodePreview/index.js.map +1 -1
- package/components/FolderTree/index.js +56 -71
- package/components/FolderTree/index.js.map +1 -1
- package/components/Search/Search.d.ts +2 -1
- package/components/Search/Search.js +19 -16
- package/components/Search/Search.js.map +1 -1
- package/components/Search/index.js +1 -16
- package/components/Search/index.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js +19 -34
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js +16 -30
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js +49 -59
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js +24 -41
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js +14 -32
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.d.ts +2 -2
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js +12 -22
- package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityRepository.js +1 -5
- package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.d.ts +2 -2
- package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.js +1 -5
- package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.js.map +1 -1
- package/components/Table/components/Table/ColumnVisibility/index.js +7 -82
- package/components/Table/components/Table/ColumnVisibility/index.js.map +1 -1
- package/components/Table/components/Table/Columns/Column.js +6 -19
- package/components/Table/components/Table/Columns/Column.js.map +1 -1
- package/components/Table/components/Table/Columns/ColumnMapper.d.ts +1 -1
- package/components/Table/components/Table/Columns/ColumnMapper.js +25 -44
- package/components/Table/components/Table/Columns/ColumnMapper.js.map +1 -1
- package/components/Table/components/Table/Columns/ColumnsPresenter.js +13 -28
- package/components/Table/components/Table/Columns/ColumnsPresenter.js.map +1 -1
- package/components/Table/components/Table/Columns/ColumnsPresenter.test.js +10 -14
- package/components/Table/components/Table/Columns/ColumnsPresenter.test.js.map +1 -1
- package/components/Table/components/Table/Columns/ColumnsRepository.js +14 -33
- package/components/Table/components/Table/Columns/ColumnsRepository.js.map +1 -1
- package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js +14 -35
- package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js.map +1 -1
- package/components/Table/components/Table/Columns/IColumnsRepository.js +1 -5
- package/components/Table/components/Table/Columns/index.js +6 -71
- package/components/Table/components/Table/Columns/index.js.map +1 -1
- package/components/Table/components/Table/Table.d.ts +5 -5
- package/components/Table/components/Table/Table.js +28 -42
- package/components/Table/components/Table/Table.js.map +1 -1
- package/components/Table/components/Table/TableInner.d.ts +5 -5
- package/components/Table/components/Table/TableInner.js +23 -33
- package/components/Table/components/Table/TableInner.js.map +1 -1
- package/components/Table/components/Table/TablePresenter.d.ts +2 -2
- package/components/Table/components/Table/TablePresenter.js +9 -24
- package/components/Table/components/Table/TablePresenter.js.map +1 -1
- package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js +11 -26
- package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js.map +1 -1
- package/components/Table/components/Table/gateways/IColumnsVisibilityGateway.js +1 -5
- package/components/Table/components/Table/gateways/LocalStorage.js +10 -25
- package/components/Table/components/Table/gateways/LocalStorage.js.map +1 -1
- package/components/Table/components/Table/gateways/index.js +2 -27
- package/components/Table/components/Table/gateways/index.js.map +1 -1
- package/components/Table/components/Table/index.js +1 -12
- package/components/Table/components/Table/index.js.map +1 -1
- package/components/Table/components/index.js +1 -16
- package/components/Table/components/index.js.map +1 -1
- package/components/Table/createTableData.js +12 -20
- package/components/Table/createTableData.js.map +1 -1
- package/components/Table/index.js +3 -38
- package/components/Table/index.js.map +1 -1
- package/components/Table/useTableRow.d.ts +2 -2
- package/components/Table/useTableRow.js +13 -19
- package/components/Table/useTableRow.js.map +1 -1
- package/components/index.d.ts +1 -0
- package/components/index.js +8 -82
- package/components/index.js.map +1 -1
- package/config/AcoConfig.d.ts +1 -3
- package/config/AcoConfig.js +43 -82
- package/config/AcoConfig.js.map +1 -1
- package/config/advanced-search/FieldRenderer.js +18 -24
- package/config/advanced-search/FieldRenderer.js.map +1 -1
- package/config/advanced-search/index.js +3 -9
- package/config/advanced-search/index.js.map +1 -1
- package/config/folder/Action.js +19 -28
- package/config/folder/Action.js.map +1 -1
- package/config/folder/createFolderFieldDecoratorFactory.js +17 -26
- package/config/folder/createFolderFieldDecoratorFactory.js.map +1 -1
- package/config/folder/index.d.ts +0 -2
- package/config/folder/index.js +3 -11
- package/config/folder/index.js.map +1 -1
- package/config/index.js +2 -27
- package/config/index.js.map +1 -1
- package/config/record/Action.js +20 -29
- package/config/record/Action.js.map +1 -1
- package/config/record/index.js +3 -9
- package/config/record/index.js.map +1 -1
- package/config/table/Column.d.ts +1 -1
- package/config/table/Column.js +35 -51
- package/config/table/Column.js.map +1 -1
- package/config/table/Sorting.js +13 -20
- package/config/table/Sorting.js.map +1 -1
- package/config/table/index.d.ts +1 -1
- package/config/table/index.js +5 -11
- package/config/table/index.js.map +1 -1
- package/constants.js +1 -16
- package/constants.js.map +1 -1
- package/contexts/DisplayError/index.js +9 -41
- package/contexts/DisplayError/index.js.map +1 -1
- package/contexts/Loading/Loading.d.ts +2 -0
- package/contexts/Loading/Loading.js +9 -0
- package/contexts/Loading/Loading.js.map +1 -0
- package/contexts/Loading/index.d.ts +1 -0
- package/contexts/Loading/index.js +3 -0
- package/contexts/Loading/index.js.map +1 -0
- package/contexts/acoList.js +189 -217
- package/contexts/acoList.js.map +1 -1
- package/contexts/app.js +100 -104
- package/contexts/app.js.map +1 -1
- package/contexts/folder.js +9 -15
- package/contexts/folder.js.map +1 -1
- package/contexts/folders.js +14 -23
- package/contexts/folders.js.map +1 -1
- package/contexts/index.js +2 -34
- package/contexts/index.js.map +1 -1
- package/contexts/navigateFolder.d.ts +1 -0
- package/contexts/navigateFolder.js +31 -39
- package/contexts/navigateFolder.js.map +1 -1
- package/contexts/navigateFolderWithRouter.js +28 -40
- package/contexts/navigateFolderWithRouter.js.map +1 -1
- package/contexts/records.js +276 -302
- package/contexts/records.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.d.ts +5 -4
- package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js +26 -22
- package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js +21 -46
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js +88 -135
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js +17 -16
- package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js.map +1 -1
- package/dialogs/DialogSetPermissions/UsersTeamsSelection.js +28 -56
- package/dialogs/DialogSetPermissions/UsersTeamsSelection.js.map +1 -1
- package/dialogs/DialogSetPermissions/graphql.js +21 -11
- package/dialogs/DialogSetPermissions/graphql.js.map +1 -1
- package/dialogs/ParentFolderField.d.ts +6 -0
- package/dialogs/ParentFolderField.js +16 -0
- package/dialogs/ParentFolderField.js.map +1 -0
- package/dialogs/index.d.ts +0 -1
- package/dialogs/index.js +5 -71
- package/dialogs/index.js.map +1 -1
- package/dialogs/useCreateDialog.js +63 -75
- package/dialogs/useCreateDialog.js.map +1 -1
- package/dialogs/useDeleteDialog.js +20 -24
- package/dialogs/useDeleteDialog.js.map +1 -1
- package/dialogs/useEditDialog.js +61 -69
- package/dialogs/useEditDialog.js.map +1 -1
- package/dialogs/useMoveToFolderDialog.js +42 -58
- package/dialogs/useMoveToFolderDialog.js.map +1 -1
- package/dialogs/useSetPermissionsDialog.js +53 -63
- package/dialogs/useSetPermissionsDialog.js.map +1 -1
- package/features/folders/Folder.js +8 -21
- package/features/folders/Folder.js.map +1 -1
- package/features/folders/cache/FoldersCacheFactory.js +14 -32
- package/features/folders/cache/FoldersCacheFactory.js.map +1 -1
- package/features/folders/cache/ListCache.js +39 -79
- package/features/folders/cache/ListCache.js.map +1 -1
- package/features/folders/cache/LoadedCache.js +27 -55
- package/features/folders/cache/LoadedCache.js.map +1 -1
- package/features/folders/cache/LoadedFoldersCacheFactory.js +14 -32
- package/features/folders/cache/LoadedFoldersCacheFactory.js.map +1 -1
- package/features/folders/cache/index.js +4 -49
- package/features/folders/cache/index.js.map +1 -1
- package/features/folders/createFolder/CreateFolder.js +13 -28
- package/features/folders/createFolder/CreateFolder.js.map +1 -1
- package/features/folders/createFolder/CreateFolder.test.js +12 -16
- package/features/folders/createFolder/CreateFolder.test.js.map +1 -1
- package/features/folders/createFolder/CreateFolderGqlGateway.js +39 -40
- package/features/folders/createFolder/CreateFolderGqlGateway.js.map +1 -1
- package/features/folders/createFolder/CreateFolderRepository.js +16 -29
- package/features/folders/createFolder/CreateFolderRepository.js.map +1 -1
- package/features/folders/createFolder/CreateFolderUseCase.js +14 -27
- package/features/folders/createFolder/CreateFolderUseCase.js.map +1 -1
- package/features/folders/createFolder/CreateFolderUseCaseWithLoading.js +7 -20
- package/features/folders/createFolder/CreateFolderUseCaseWithLoading.js.map +1 -1
- package/features/folders/createFolder/FolderDto.js +1 -5
- package/features/folders/createFolder/FolderGqlDto.js +1 -5
- package/features/folders/createFolder/ICreateFolderGateway.js +1 -5
- package/features/folders/createFolder/ICreateFolderRepository.js +1 -5
- package/features/folders/createFolder/ICreateFolderUseCase.js +1 -5
- package/features/folders/createFolder/index.js +1 -16
- package/features/folders/createFolder/index.js.map +1 -1
- package/features/folders/createFolder/useCreateFolder.js +13 -19
- package/features/folders/createFolder/useCreateFolder.js.map +1 -1
- package/features/folders/deleteFolder/DeleteFolder.js +13 -28
- package/features/folders/deleteFolder/DeleteFolder.js.map +1 -1
- package/features/folders/deleteFolder/DeleteFolder.test.js +14 -18
- package/features/folders/deleteFolder/DeleteFolder.test.js.map +1 -1
- package/features/folders/deleteFolder/DeleteFolderGqlGateway.js +37 -37
- package/features/folders/deleteFolder/DeleteFolderGqlGateway.js.map +1 -1
- package/features/folders/deleteFolder/DeleteFolderRepository.js +7 -22
- package/features/folders/deleteFolder/DeleteFolderRepository.js.map +1 -1
- package/features/folders/deleteFolder/DeleteFolderUseCase.js +14 -27
- package/features/folders/deleteFolder/DeleteFolderUseCase.js.map +1 -1
- package/features/folders/deleteFolder/DeleteFolderUseCaseWithLoading.js +7 -20
- package/features/folders/deleteFolder/DeleteFolderUseCaseWithLoading.js.map +1 -1
- package/features/folders/deleteFolder/IDeleteFolderGateway.js +1 -5
- package/features/folders/deleteFolder/IDeleteFolderRepository.js +1 -5
- package/features/folders/deleteFolder/IDeleteFolderUseCase.js +1 -5
- package/features/folders/deleteFolder/index.js +1 -16
- package/features/folders/deleteFolder/index.js.map +1 -1
- package/features/folders/deleteFolder/useDeleteFolder.js +12 -18
- package/features/folders/deleteFolder/useDeleteFolder.js.map +1 -1
- package/features/folders/getDescendantFolders/FolderDto.js +1 -5
- package/features/folders/getDescendantFolders/GetDescendantFolders.js +9 -24
- package/features/folders/getDescendantFolders/GetDescendantFolders.js.map +1 -1
- package/features/folders/getDescendantFolders/GetDescendantFolders.test.js +31 -33
- package/features/folders/getDescendantFolders/GetDescendantFolders.test.js.map +1 -1
- package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js +24 -39
- package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js.map +1 -1
- package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js +14 -29
- package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js.map +1 -1
- package/features/folders/getDescendantFolders/IGetDescendantFoldersRepository.js +1 -5
- package/features/folders/getDescendantFolders/IGetDescendantFoldersUseCase.js +1 -5
- package/features/folders/getDescendantFolders/index.js +1 -16
- package/features/folders/getDescendantFolders/index.js.map +1 -1
- package/features/folders/getDescendantFolders/useGetDescendantFolders.js +9 -15
- package/features/folders/getDescendantFolders/useGetDescendantFolders.js.map +1 -1
- package/features/folders/getFolder/GetFolder.js +13 -28
- package/features/folders/getFolder/GetFolder.js.map +1 -1
- package/features/folders/getFolder/GetFolderGqlGateway.js +42 -44
- package/features/folders/getFolder/GetFolderGqlGateway.js.map +1 -1
- package/features/folders/getFolder/GetFolderRepository.js +8 -21
- package/features/folders/getFolder/GetFolderRepository.js.map +1 -1
- package/features/folders/getFolder/GetFolderUseCase.js +6 -19
- package/features/folders/getFolder/GetFolderUseCase.js.map +1 -1
- package/features/folders/getFolder/GetFolderUseCaseWithLoading.js +7 -20
- package/features/folders/getFolder/GetFolderUseCaseWithLoading.js.map +1 -1
- package/features/folders/getFolder/IGetFolderGateway.js +1 -5
- package/features/folders/getFolder/IGetFolderRepository.js +1 -5
- package/features/folders/getFolder/IGetFolderUseCase.js +1 -5
- package/features/folders/getFolder/index.js +1 -16
- package/features/folders/getFolder/index.js.map +1 -1
- package/features/folders/getFolder/useGetFolder.js +13 -19
- package/features/folders/getFolder/useGetFolder.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.js +19 -34
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.test.js +23 -35
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.test.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsRepository.d.ts +1 -1
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsRepository.js +6 -21
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsRepository.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.d.ts +1 -1
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.js +10 -25
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCaseWithNamespace.d.ts +1 -1
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCaseWithNamespace.js +17 -30
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCaseWithNamespace.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCaseWithNamespaceAndModelId.d.ts +1 -1
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCaseWithNamespaceAndModelId.js +18 -33
- package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCaseWithNamespaceAndModelId.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/IGetFolderExtensionsFieldsRepository.js +1 -5
- package/features/folders/getFolderExtensionsFields/IGetFolderExtensionsFieldsUseCase.js +1 -5
- package/features/folders/getFolderExtensionsFields/index.js +1 -16
- package/features/folders/getFolderExtensionsFields/index.js.map +1 -1
- package/features/folders/getFolderExtensionsFields/useGetFolderExtensionsFields.d.ts +1 -1
- package/features/folders/getFolderExtensionsFields/useGetFolderExtensionsFields.js +10 -21
- package/features/folders/getFolderExtensionsFields/useGetFolderExtensionsFields.js.map +1 -1
- package/features/folders/getFolderHierarchy/FolderDto.js +31 -48
- package/features/folders/getFolderHierarchy/FolderDto.js.map +1 -1
- package/features/folders/getFolderHierarchy/FolderGqlDto.js +1 -5
- package/features/folders/getFolderHierarchy/GetFolderHierarchy.js +19 -34
- package/features/folders/getFolderHierarchy/GetFolderHierarchy.js.map +1 -1
- package/features/folders/getFolderHierarchy/GetFolderHierarchy.test.js +42 -44
- package/features/folders/getFolderHierarchy/GetFolderHierarchy.test.js.map +1 -1
- package/features/folders/getFolderHierarchy/GetFolderHierarchyGqlGateway.js +75 -76
- package/features/folders/getFolderHierarchy/GetFolderHierarchyGqlGateway.js.map +1 -1
- package/features/folders/getFolderHierarchy/GetFolderHierarchyRepository.js +20 -40
- package/features/folders/getFolderHierarchy/GetFolderHierarchyRepository.js.map +1 -1
- package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCase.js +10 -22
- package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCase.js.map +1 -1
- package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCaseWithLoading.js +7 -20
- package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCaseWithLoading.js.map +1 -1
- package/features/folders/getFolderHierarchy/IGetFolderHierarchyGateway.js +1 -5
- package/features/folders/getFolderHierarchy/IGetFolderHierarchyRepository.js +1 -5
- package/features/folders/getFolderHierarchy/IGetFolderHierarchyUseCase.js +1 -5
- package/features/folders/getFolderHierarchy/index.js +1 -16
- package/features/folders/getFolderHierarchy/index.js.map +1 -1
- package/features/folders/getFolderHierarchy/useGetFolderHierarchy.js +38 -52
- package/features/folders/getFolderHierarchy/useGetFolderHierarchy.js.map +1 -1
- package/features/folders/getFolderLevelPermission/FolderPermissionName.js +1 -5
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.js +13 -28
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.js.map +1 -1
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.js +51 -53
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.js.map +1 -1
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionRepository.js +9 -24
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionRepository.js.map +1 -1
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js +4 -19
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js.map +1 -1
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionWithFlpUseCase.js +6 -19
- package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionWithFlpUseCase.js.map +1 -1
- package/features/folders/getFolderLevelPermission/IGetFolderLevelPermissionRepository.js +1 -5
- package/features/folders/getFolderLevelPermission/IGetFolderLevelPermissionUseCase.js +1 -5
- package/features/folders/getFolderLevelPermission/index.js +1 -16
- package/features/folders/getFolderLevelPermission/index.js.map +1 -1
- package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js +11 -17
- package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js.map +1 -1
- package/features/folders/getFolderModel/FolderModelContext.js +36 -45
- package/features/folders/getFolderModel/FolderModelContext.js.map +1 -1
- package/features/folders/getFolderModel/FolderModelDto.js +1 -5
- package/features/folders/getFolderModel/GetFolderModel.js +11 -26
- package/features/folders/getFolderModel/GetFolderModel.js.map +1 -1
- package/features/folders/getFolderModel/GetFolderModel.test.js +21 -20
- package/features/folders/getFolderModel/GetFolderModel.test.js.map +1 -1
- package/features/folders/getFolderModel/GetFolderModelGqlGateway.js +37 -36
- package/features/folders/getFolderModel/GetFolderModelGqlGateway.js.map +1 -1
- package/features/folders/getFolderModel/GetFolderModelRepository.js +18 -36
- package/features/folders/getFolderModel/GetFolderModelRepository.js.map +1 -1
- package/features/folders/getFolderModel/GetFolderModelUseCase.js +6 -19
- package/features/folders/getFolderModel/GetFolderModelUseCase.js.map +1 -1
- package/features/folders/getFolderModel/IGetFolderModelGateway.js +1 -5
- package/features/folders/getFolderModel/IGetFolderModelRepository.js +1 -5
- package/features/folders/getFolderModel/IGetFolderModelUseCase.js +1 -5
- package/features/folders/getFolderModel/index.js +3 -38
- package/features/folders/getFolderModel/index.js.map +1 -1
- package/features/folders/getFolderModel/useFolderModel.js +5 -12
- package/features/folders/getFolderModel/useFolderModel.js.map +1 -1
- package/features/folders/index.js +13 -148
- package/features/folders/index.js.map +1 -1
- package/features/folders/listFolders/FolderDto.js +31 -48
- package/features/folders/listFolders/FolderDto.js.map +1 -1
- package/features/folders/listFolders/FolderGqlDto.js +1 -5
- package/features/folders/listFolders/IListFoldersGateway.js +1 -5
- package/features/folders/listFolders/IListFoldersRepository.js +1 -5
- package/features/folders/listFolders/IListFoldersUseCase.js +1 -5
- package/features/folders/listFolders/ListFolders.js +18 -33
- package/features/folders/listFolders/ListFolders.js.map +1 -1
- package/features/folders/listFolders/ListFolders.test.js +28 -30
- package/features/folders/listFolders/ListFolders.test.js.map +1 -1
- package/features/folders/listFolders/ListFoldersCompressedGqlGateway.js +77 -78
- package/features/folders/listFolders/ListFoldersCompressedGqlGateway.js.map +1 -1
- package/features/folders/listFolders/ListFoldersGqlGateway.js +70 -75
- package/features/folders/listFolders/ListFoldersGqlGateway.js.map +1 -1
- package/features/folders/listFolders/ListFoldersRepository.js +11 -26
- package/features/folders/listFolders/ListFoldersRepository.js.map +1 -1
- package/features/folders/listFolders/ListFoldersUseCase.js +6 -19
- package/features/folders/listFolders/ListFoldersUseCase.js.map +1 -1
- package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js +7 -20
- package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js.map +1 -1
- package/features/folders/listFolders/index.js +2 -27
- package/features/folders/listFolders/index.js.map +1 -1
- package/features/folders/listFolders/useListFolders.js +44 -58
- package/features/folders/listFolders/useListFolders.js.map +1 -1
- package/features/folders/listFoldersByParentIds/FolderDto.js +31 -48
- package/features/folders/listFoldersByParentIds/FolderDto.js.map +1 -1
- package/features/folders/listFoldersByParentIds/FolderGqlDto.js +1 -5
- package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsGateway.js +1 -5
- package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsRepository.js +1 -5
- package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsUseCase.js +1 -5
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.js +21 -36
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.js.map +1 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js +99 -109
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js.map +1 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js +74 -80
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js.map +1 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js +11 -26
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js.map +1 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepositoryWithLoadedCache.js +17 -33
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepositoryWithLoadedCache.js.map +1 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js +14 -29
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js.map +1 -1
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCaseWithLoading.js +14 -30
- package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCaseWithLoading.js.map +1 -1
- package/features/folders/listFoldersByParentIds/index.js +1 -16
- package/features/folders/listFoldersByParentIds/index.js.map +1 -1
- package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.d.ts +1 -0
- package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js +48 -52
- package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js.map +1 -1
- package/features/folders/updateFolder/FolderDto.js +1 -5
- package/features/folders/updateFolder/FolderGqlDto.js +1 -5
- package/features/folders/updateFolder/IUpdateFolderGateway.js +1 -5
- package/features/folders/updateFolder/IUpdateFolderRepository.js +1 -5
- package/features/folders/updateFolder/IUpdateFolderUseCase.js +1 -5
- package/features/folders/updateFolder/UpdateFolder.js +19 -34
- package/features/folders/updateFolder/UpdateFolder.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolder.test.js +136 -183
- package/features/folders/updateFolder/UpdateFolder.test.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolderGqlGateway.js +53 -55
- package/features/folders/updateFolder/UpdateFolderGqlGateway.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolderRepository.js +21 -34
- package/features/folders/updateFolder/UpdateFolderRepository.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolderRepositoryWithPathChange.js +53 -90
- package/features/folders/updateFolder/UpdateFolderRepositoryWithPathChange.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolderRepositoryWithPermissionsChange.js +53 -89
- package/features/folders/updateFolder/UpdateFolderRepositoryWithPermissionsChange.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolderUseCase.js +15 -28
- package/features/folders/updateFolder/UpdateFolderUseCase.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolderUseCaseWithLoading.js +7 -20
- package/features/folders/updateFolder/UpdateFolderUseCaseWithLoading.js.map +1 -1
- package/features/folders/updateFolder/UpdateFolderUseCaseWithoutInheritedPermissions.js +11 -26
- package/features/folders/updateFolder/UpdateFolderUseCaseWithoutInheritedPermissions.js.map +1 -1
- package/features/folders/updateFolder/index.js +1 -16
- package/features/folders/updateFolder/index.js.map +1 -1
- package/features/folders/updateFolder/useUpdateFolder.js +13 -19
- package/features/folders/updateFolder/useUpdateFolder.js.map +1 -1
- package/features/index.js +1 -16
- package/features/index.js.map +1 -1
- package/graphql/app.gql.js +20 -12
- package/graphql/app.gql.js.map +1 -1
- package/graphql/records/common.js +39 -30
- package/graphql/records/common.js.map +1 -1
- package/graphql/records/createRecord.js +18 -14
- package/graphql/records/createRecord.js.map +1 -1
- package/graphql/records/deleteRecord.js +16 -14
- package/graphql/records/deleteRecord.js.map +1 -1
- package/graphql/records/getRecord.js +20 -16
- package/graphql/records/getRecord.js.map +1 -1
- package/graphql/records/listRecords.js +25 -23
- package/graphql/records/listRecords.js.map +1 -1
- package/graphql/records/listTags.js +19 -14
- package/graphql/records/listTags.js.map +1 -1
- package/graphql/records/moveRecord.js +24 -15
- package/graphql/records/moveRecord.js.map +1 -1
- package/graphql/records/types.js +1 -5
- package/graphql/records/updateRecord.js +18 -14
- package/graphql/records/updateRecord.js.map +1 -1
- package/graphql/records.gql.js +7 -82
- package/graphql/records.gql.js.map +1 -1
- package/handlers.js +11 -19
- package/handlers.js.map +1 -1
- package/hooks/index.js +9 -104
- package/hooks/index.js.map +1 -1
- package/hooks/useAcoApp.js +4 -10
- package/hooks/useAcoApp.js.map +1 -1
- package/hooks/useAcoList.js +4 -10
- package/hooks/useAcoList.js.map +1 -1
- package/hooks/useFolder.js +5 -12
- package/hooks/useFolder.js.map +1 -1
- package/hooks/useFolders.js +42 -38
- package/hooks/useFolders.js.map +1 -1
- package/hooks/useFoldersType.js +8 -12
- package/hooks/useFoldersType.js.map +1 -1
- package/hooks/useGetFolderGraphQLSelection.js +35 -14
- package/hooks/useGetFolderGraphQLSelection.js.map +1 -1
- package/hooks/useNavigateFolder.js +4 -10
- package/hooks/useNavigateFolder.js.map +1 -1
- package/hooks/useRecords.js +70 -75
- package/hooks/useRecords.js.map +1 -1
- package/hooks/useTags.js +27 -30
- package/hooks/useTags.js.map +1 -1
- package/index.js +8 -93
- package/index.js.map +1 -1
- package/package.json +18 -23
- package/sorting.d.ts +2 -2
- package/sorting.js +15 -37
- package/sorting.js.map +1 -1
- package/table.types.js +1 -5
- package/types.js +5 -54
- package/types.js.map +1 -1
- package/components/AdvancedSearch/AdvancedSearch.styled.d.ts +0 -5
- package/components/AdvancedSearch/AdvancedSearch.styled.js +0 -25
- package/components/AdvancedSearch/AdvancedSearch.styled.js.map +0 -1
- package/components/AdvancedSearch/Button/Button.styled.d.ts +0 -6
- package/components/AdvancedSearch/Button/Button.styled.js +0 -26
- package/components/AdvancedSearch/Button/Button.styled.js.map +0 -1
- package/components/AdvancedSearch/Feedback/Feedback.d.ts +0 -6
- package/components/AdvancedSearch/Feedback/Feedback.js +0 -17
- package/components/AdvancedSearch/Feedback/Feedback.js.map +0 -1
- package/components/AdvancedSearch/Feedback/index.d.ts +0 -1
- package/components/AdvancedSearch/Feedback/index.js +0 -18
- package/components/AdvancedSearch/Feedback/index.js.map +0 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/Footer.d.ts +0 -9
- package/components/AdvancedSearch/QueryBuilderDrawer/Footer.js +0 -23
- package/components/AdvancedSearch/QueryBuilderDrawer/Footer.js.map +0 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/Header.d.ts +0 -6
- package/components/AdvancedSearch/QueryBuilderDrawer/Header.js +0 -22
- package/components/AdvancedSearch/QueryBuilderDrawer/Header.js.map +0 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/Querybuilder.styled.d.ts +0 -64
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/Querybuilder.styled.js +0 -216
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/Querybuilder.styled.js.map +0 -1
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.styled.d.ts +0 -14
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.styled.js +0 -56
- package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.styled.js.map +0 -1
- package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.styled.d.ts +0 -19
- package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.styled.js +0 -68
- package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.styled.js.map +0 -1
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.styled.d.ts +0 -7
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.styled.js +0 -26
- package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.styled.js.map +0 -1
- package/components/AdvancedSearch/SelectedFilter/SelectedFilter.styled.d.ts +0 -11
- package/components/AdvancedSearch/SelectedFilter/SelectedFilter.styled.js +0 -41
- package/components/AdvancedSearch/SelectedFilter/SelectedFilter.styled.js.map +0 -1
- package/components/FolderGrid/Folder.js +0 -42
- package/components/FolderGrid/Folder.js.map +0 -1
- package/components/FolderGrid/FolderGrid.d.ts +0 -8
- package/components/FolderGrid/FolderGrid.js +0 -29
- package/components/FolderGrid/FolderGrid.js.map +0 -1
- package/components/FolderGrid/styled.d.ts +0 -16
- package/components/FolderGrid/styled.js +0 -68
- package/components/FolderGrid/styled.js.map +0 -1
- package/components/FolderTree/ButtonCreate/styled.d.ts +0 -14
- package/components/FolderTree/ButtonCreate/styled.js +0 -54
- package/components/FolderTree/ButtonCreate/styled.js.map +0 -1
- package/components/FolderTree/Loader/styled.d.ts +0 -9
- package/components/FolderTree/Loader/styled.js +0 -39
- package/components/FolderTree/Loader/styled.js.map +0 -1
- package/components/FolderTree/MenuActions/styled.d.ts +0 -5
- package/components/FolderTree/MenuActions/styled.js +0 -25
- package/components/FolderTree/MenuActions/styled.js.map +0 -1
- package/components/FolderTree/Node/styled.d.ts +0 -40
- package/components/FolderTree/Node/styled.js +0 -102
- package/components/FolderTree/Node/styled.js.map +0 -1
- package/components/FolderTree/NodePreview/styled.d.ts +0 -5
- package/components/FolderTree/NodePreview/styled.js +0 -25
- package/components/FolderTree/NodePreview/styled.js.map +0 -1
- package/components/FolderTree/Placeholder/index.d.ts +0 -6
- package/components/FolderTree/Placeholder/index.js +0 -22
- package/components/FolderTree/Placeholder/index.js.map +0 -1
- package/components/FolderTree/Placeholder/styled.d.ts +0 -5
- package/components/FolderTree/Placeholder/styled.js +0 -25
- package/components/FolderTree/Placeholder/styled.js.map +0 -1
- package/components/FolderTree/styled.d.ts +0 -5
- package/components/FolderTree/styled.js +0 -25
- package/components/FolderTree/styled.js.map +0 -1
- package/components/Search/styled.d.ts +0 -5
- package/components/Search/styled.js +0 -25
- package/components/Search/styled.js.map +0 -1
- package/config/folder/DropConfirmation.d.ts +0 -5
- package/config/folder/DropConfirmation.js +0 -23
- package/config/folder/DropConfirmation.js.map +0 -1
- package/dialogs/styled.d.ts +0 -5
- package/dialogs/styled.js +0 -25
- package/dialogs/styled.js.map +0 -1
- package/dialogs/useConfirmMoveFolderDialog.d.ts +0 -11
- package/dialogs/useConfirmMoveFolderDialog.js +0 -30
- package/dialogs/useConfirmMoveFolderDialog.js.map +0 -1
package/contexts/acoList.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_dotPropImmutable","_interopRequireDefault","_pick","_appAdmin","_appSecurity","_hooks","_features","_folders","_records","_sorting","_constants","_excluded","AcoListContext","exports","React","createContext","undefined","initializeAcoListState","after","filters","folderId","isSearch","limit","listSort","searchQuery","selected","showingFilters","showingSelectAll","isSelectedAll","getCurrentFolderList","folders","currentFolderId","toLowerCase","ROOT_FOLDER","filter","folder","parentId","getCurrentRecordList","records","folderIdPath","record","dotPropImmutable","get","AcoListProvider","_ref","children","props","_objectWithoutProperties2","default","_useSecurity","useSecurity","identity","_useNavigateFolder","useNavigateFolder","_useAcoApp","useAcoApp","folderIdInPath","_useGetFolderHierarch","useGetFolderHierarchy","originalFolders","getIsFolderLoading","getFolderHierarchy","_useGetDescendantFold","useGetDescendantFolders","getDescendantFolders","_useListFoldersByPare","useListFoldersByParentIds","listFoldersByParentIds","folderContext","useContext","FoldersContext","searchContext","SearchRecordsContext","Error","_useStateIfMounted","useStateIfMounted","_useStateIfMounted2","_slicedToArray2","setFolders","_useStateIfMounted3","_useStateIfMounted4","setRecords","_useStateIfMounted5","_useStateIfMounted6","listTitle","setListTitle","_useStateIfMounted7","_useStateIfMounted8","state","setState","originalRecords","recordsLoading","loading","listRecords","meta","useEffect","length","_objectSpread2","currentFolder","find","id","title","subFolders","sortTableItems","subRecords","prev","titleField","titleFieldId","_defineProperty2","listMoreRecords","useCallback","hasMoreItems","cursor","getWhere","where","descendantFolderIds","map","set","createdBy","own","listItems","Boolean","Object","values","params","sort","validateOrGetDefaultDbSort","search","folderWithChildren","foldersLength","recordsLength","selectedLength","folderWithChildrenLength","getAllRecordsAreSelected","prevState","context","pick","isListLoading","INIT","LIST","isListLoadingMore","LIST_MORE","setSearchQuery","query","setFilters","data","fromEntries","entries","_ref2","_ref3","value","keys","setListSort","setSelected","hideFilters","showFilters","selectAll","unselectAll","createElement","Provider"],"sources":["acoList.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect } from \"react\";\nimport dotPropImmutable from \"dot-prop-immutable\";\nimport pick from \"lodash/pick\";\nimport { useStateIfMounted } from \"@webiny/app-admin\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport {\n FolderItem,\n GenericSearchData,\n ListMeta,\n ListSearchRecordsQueryVariables,\n ListSearchRecordsSort,\n SearchRecordItem\n} from \"~/types\";\nimport { useAcoApp, useNavigateFolder } from \"~/hooks\";\nimport {\n useGetDescendantFolders,\n useGetFolderHierarchy,\n useListFoldersByParentIds\n} from \"~/features\";\nimport { FoldersContext } from \"~/contexts/folders\";\nimport { SearchRecordsContext } from \"~/contexts/records\";\nimport { sortTableItems, validateOrGetDefaultDbSort } from \"~/sorting\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\nexport interface AcoListContextData<T> {\n folders: FolderItem[];\n hideFilters: () => void;\n isListLoading: boolean;\n isListLoadingMore: boolean;\n isSearch: boolean;\n listMoreRecords: () => void;\n listTitle?: string;\n meta: ListMeta;\n records: T[];\n selected: T[];\n setFilters: (data: Record<string, any>) => void;\n setListSort: (state: ListSearchRecordsSort) => void;\n setSearchQuery: (query: string) => void;\n setSelected: (selected: T[]) => void;\n showFilters: () => void;\n showingFilters: boolean;\n showingSelectAll: boolean;\n searchQuery: string;\n isSelectedAll: boolean;\n selectAll: () => void;\n unselectAll: () => void;\n getWhere: () => Record<string, any>;\n}\n\nexport const AcoListContext = React.createContext<\n AcoListContextData<GenericSearchData> | undefined\n>(undefined);\n\nexport interface State<T> {\n after?: string;\n filters?: Record<string, any>;\n folderId?: string;\n isSearch: boolean;\n limit: number;\n listSort: ListSearchRecordsSort;\n searchQuery: string;\n selected: T[];\n showingFilters: boolean;\n showingSelectAll: boolean;\n isSelectedAll: boolean;\n}\n\nconst initializeAcoListState = (): State<GenericSearchData> => {\n return {\n after: undefined,\n filters: undefined,\n folderId: undefined,\n isSearch: false,\n limit: 50,\n listSort: [],\n searchQuery: \"\",\n selected: [],\n showingFilters: false,\n showingSelectAll: false,\n isSelectedAll: false\n };\n};\n\nconst getCurrentFolderList = (\n folders?: FolderItem[] | null,\n currentFolderId?: string\n): FolderItem[] | [] => {\n if (!folders) {\n return [];\n }\n if (!currentFolderId || currentFolderId.toLowerCase() === ROOT_FOLDER) {\n return folders.filter(\n folder => !folder.parentId || folder.parentId.toLowerCase() === ROOT_FOLDER\n );\n }\n return folders.filter(folder => folder.parentId === currentFolderId);\n};\n\nconst getCurrentRecordList = <T extends GenericSearchData = GenericSearchData>(\n records: SearchRecordItem<T>[],\n folderIdPath: string,\n currentFolderId?: string\n): SearchRecordItem<T>[] => {\n if (!records) {\n return [];\n }\n\n if (!currentFolderId) {\n return records;\n }\n\n return records.filter(\n (record): record is SearchRecordItem<T> =>\n dotPropImmutable.get(record, folderIdPath) === currentFolderId\n );\n};\n\nexport interface AcoListProviderProps {\n children: React.ReactNode;\n own?: boolean;\n titleFieldId: string | null;\n}\n\nexport const AcoListProvider = ({ children, ...props }: AcoListProviderProps) => {\n const { identity } = useSecurity();\n const { currentFolderId } = useNavigateFolder();\n const { folderIdPath, folderIdInPath } = useAcoApp();\n const {\n folders: originalFolders,\n getIsFolderLoading,\n getFolderHierarchy\n } = useGetFolderHierarchy();\n const { getDescendantFolders } = useGetDescendantFolders();\n const { listFoldersByParentIds } = useListFoldersByParentIds();\n const folderContext = useContext(FoldersContext);\n const searchContext = useContext(SearchRecordsContext);\n\n if (!folderContext || !searchContext) {\n throw new Error(\"useAcoList must be used within a ACOProvider\");\n }\n\n const [folders, setFolders] = useStateIfMounted<FolderItem[]>([]);\n const [records, setRecords] = useStateIfMounted<SearchRecordItem[]>([]);\n const [listTitle, setListTitle] = useStateIfMounted<string | undefined>(undefined);\n const [state, setState] = useStateIfMounted<State<GenericSearchData>>(initializeAcoListState());\n\n const { records: originalRecords, loading: recordsLoading, listRecords, meta } = searchContext;\n\n /**\n * On first mount, call `getFolderHierarchy` and `setState`, which will either issue a network request, or load folders and records from cache.\n * We don't need to store the result of it to any local state; that is managed by the context provider.\n *\n * We don't call `listRecords` directly, instead we call `setState` making it the only driver to fetch records from the apis.\n */\n useEffect(() => {\n // The folders collection is empty, it must be the first render, let's load the full hierarchy.\n if (folders.length === 0) {\n getFolderHierarchy(currentFolderId);\n } else {\n // Otherwise let's load only the current folder sub-tree\n listFoldersByParentIds([currentFolderId]);\n }\n\n setState(state => {\n return {\n ...state,\n after: undefined,\n filters: undefined,\n folderId: currentFolderId,\n isSearch: false,\n searchQuery: \"\",\n selected: [],\n showingFilters: false,\n showingSelectAll: false,\n isSelectedAll: false\n };\n });\n }, [currentFolderId]);\n\n /**\n * Any time we receive a `folders` list update:\n * - we set an empty array in case of search;\n * - we set the list filtered by the current `type` and parent `folderId`, sorted according to the current `sort` value;\n * - we set the current folder name.\n */\n useEffect(() => {\n const currentFolder = originalFolders?.find(\n folder => folder.id === (state.folderId || ROOT_FOLDER)\n );\n\n setListTitle(currentFolder?.title);\n\n if (state.isSearch) {\n setFolders([]);\n return;\n }\n\n const subFolders = getCurrentFolderList(originalFolders, state.folderId);\n setFolders(() => {\n return sortTableItems(subFolders, state.listSort);\n });\n }, [originalFolders, state.folderId, state.isSearch]);\n\n /**\n * Any time we receive a `records` list or `folderId` update:\n * - we set all `records` in case of search query;\n * - we set the `records` list filtered by the current `folderId`.\n */\n useEffect(() => {\n if (state.isSearch) {\n setRecords(originalRecords as SearchRecordItem[]);\n return;\n }\n\n const subRecords = getCurrentRecordList(\n originalRecords as SearchRecordItem[],\n folderIdPath,\n state.folderId\n );\n setRecords(subRecords);\n }, [originalRecords, state.folderId, state.isSearch]);\n\n /**\n * Any time we receive a new `sort` value:\n * - we sort the current `folders` list according to `sorting` value;\n */\n useEffect(() => {\n setFolders(prev => {\n const titleField = props?.titleFieldId || \"id\";\n return sortTableItems(prev, state.listSort, {\n [titleField]: \"title\"\n });\n });\n }, [state.listSort]);\n\n /**\n * Utility function to list/load more records, the `meta` state is tracked internally.\n */\n const listMoreRecords = useCallback(() => {\n const { hasMoreItems, cursor } = meta;\n if (hasMoreItems && cursor) {\n setState(state => ({ ...state, after: cursor }));\n }\n }, [meta]);\n\n /**\n * Constructs a \"where\" condition object based on the current state and properties.\n *\n * This function creates a \"where\" object used to filter data based on the current folder ID,\n * ownership status, and other existing filters in the state.\n *\n * @returns {Object} A \"where\" condition object containing filters for querying data.\n */\n const getWhere = useCallback(() => {\n // Initialize an empty object\n let where = {};\n\n if (!state.folderId) {\n return where;\n }\n\n // Check if the current folder ID is not the ROOT_FOLDER folder\n if (state.folderId !== ROOT_FOLDER) {\n // Get descendant folder IDs of the current folder\n const descendantFolderIds = getDescendantFolders(state.folderId).map(\n folder => folder.id\n );\n\n // Set the locationWhere object with descendant folder IDs\n where = dotPropImmutable.set({}, folderIdInPath, descendantFolderIds);\n }\n\n return {\n createdBy: props.own ? identity?.id : undefined, // Set 'createdBy' based on the ownership status\n ...state.filters, // Merge existing filters into the 'where' condition\n ...where // Include where condition if applicable\n };\n }, [folders, state.folderId, state.filters, props.own, identity]);\n\n /**\n * Any time we receive new useful `state` params:\n * - we fetch records according to the new params\n */\n useEffect(() => {\n const listItems = async () => {\n if (!state.folderId) {\n return;\n }\n\n const isSearch = Boolean(\n state.searchQuery ||\n (state.filters && Object.values(state.filters).filter(Boolean).length)\n );\n\n let where = dotPropImmutable.set({}, folderIdPath, state.folderId);\n\n // In case of a search or filters applied, let's get the where condition based on the current folder ID,\n // ownership status, and other existing filters in the state.\n if (isSearch) {\n where = getWhere();\n }\n\n const params: ListSearchRecordsQueryVariables = {\n limit: state.limit,\n sort: validateOrGetDefaultDbSort(state.listSort),\n search: state.searchQuery,\n after: state.after,\n where\n };\n\n await listRecords(params);\n\n setState(state => ({ ...state, isSearch }));\n };\n\n listItems();\n }, [\n state.folderId,\n state.filters,\n state.searchQuery,\n state.after,\n state.listSort,\n state.limit,\n props.own,\n identity\n ]);\n\n /**\n * useEffect hook to determine if the \"Select All\" option should be displayed based on the current state and meta properties:\n * - if in the root folder with no folders, checks if all records are selected.\n * - if in a non-root folder with multiple descendant folders, checks if all records are selected.\n * - if there are more items to load, checks if all records are selected.\n */\n useEffect(() => {\n // Destructure relevant properties from state and meta\n const { selected, folderId } = state;\n const { hasMoreItems } = meta;\n\n // Retrieve all descendant folders of the current folderId\n const folderWithChildren = folderId ? getDescendantFolders(folderId) : [];\n\n // Compute the lengths of various arrays for later comparisons\n const foldersLength = folders.length;\n const recordsLength = records.length;\n const selectedLength = selected.length;\n const folderWithChildrenLength = folderWithChildren.length;\n\n // Function to determine if all records are selected\n const getAllRecordsAreSelected = () => !!recordsLength && recordsLength === selectedLength;\n\n // Initialize a flag to determine if the \"Select All\" option should be shown\n let showingSelectAll = false;\n\n // If in the root folder and there are some folders, check if all records are selected\n if (folderId === ROOT_FOLDER && foldersLength > 0) {\n showingSelectAll = getAllRecordsAreSelected();\n }\n\n // If not in the root folder and there are multiple descendant folders, check if all records are selected\n if (folderId !== ROOT_FOLDER && folderWithChildrenLength > 1) {\n showingSelectAll = getAllRecordsAreSelected();\n }\n\n // If there are more items to load, check if all records are selected\n if (hasMoreItems) {\n showingSelectAll = getAllRecordsAreSelected();\n }\n\n // Update the component's state based on the computed showingSelectAll flag\n setState(prevState => {\n // Only update if there is a change in showingSelectAll or if isSelectedAll was true previously\n if (!prevState.isSelectedAll && prevState.showingSelectAll === showingSelectAll) {\n return prevState;\n }\n\n // Return the new state with updated showingSelectAll and reset isSelectedAll to false\n return {\n ...prevState,\n isSelectedAll: false,\n showingSelectAll\n };\n });\n }, [\n records.length,\n folders.length,\n state.isSearch,\n meta.hasMoreItems,\n state.selected.length,\n state.folderId\n ]);\n\n const context: AcoListContextData<GenericSearchData> = {\n ...pick(state, [\n \"isSearch\",\n \"searchQuery\",\n \"selected\",\n \"showingFilters\",\n \"showingSelectAll\",\n \"isSelectedAll\"\n ]),\n folders,\n records,\n listTitle,\n isListLoading: Boolean(\n recordsLoading.INIT || recordsLoading.LIST || getIsFolderLoading(currentFolderId)\n ),\n isListLoadingMore: Boolean(recordsLoading.LIST_MORE),\n meta,\n setSearchQuery(query) {\n setState(state => ({ ...state, searchQuery: query, after: undefined }));\n },\n setFilters(data) {\n setState(state => ({ ...state, filters: data, after: undefined }));\n // Create filters object excluding entries with `undefined` values\n const filters = Object.fromEntries(\n Object.entries(data).filter(([, value]) => value !== undefined)\n );\n\n setState(state => ({\n ...state,\n filters: Object.keys(filters).length ? filters : undefined,\n after: undefined\n }));\n },\n setListSort(sort: ListSearchRecordsSort) {\n setState(state => ({ ...state, listSort: sort, after: undefined }));\n },\n setSelected(selected) {\n setState(state => ({ ...state, selected }));\n },\n hideFilters() {\n setState(state => ({\n ...state,\n filters: undefined,\n showingFilters: false,\n after: undefined\n }));\n },\n showFilters() {\n setState(state => ({ ...state, showingFilters: true }));\n },\n selectAll() {\n setState(state => ({ ...state, isSelectedAll: true }));\n },\n unselectAll() {\n setState(state => ({\n ...state,\n selected: [],\n isSelectedAll: false\n }));\n },\n getWhere,\n listMoreRecords\n };\n\n return <AcoListContext.Provider value={context}>{children}</AcoListContext.Provider>;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useCallback","useContext","useEffect","dotPropImmutable","pick","useStateIfMounted","useSecurity","useAcoApp","useNavigateFolder","useGetDescendantFolders","useGetFolderHierarchy","useListFoldersByParentIds","FoldersContext","SearchRecordsContext","sortTableItems","validateOrGetDefaultDbSort","ROOT_FOLDER","AcoListContext","createContext","undefined","initializeAcoListState","after","filters","folderId","isSearch","limit","listSort","searchQuery","selected","showingFilters","showingSelectAll","isSelectedAll","getCurrentFolderList","folders","currentFolderId","toLowerCase","filter","folder","parentId","getCurrentRecordList","records","folderIdPath","record","get","AcoListProvider","children","props","identity","folderIdInPath","originalFolders","getIsFolderLoading","getFolderHierarchy","getDescendantFolders","listFoldersByParentIds","folderContext","searchContext","Error","setFolders","setRecords","listTitle","setListTitle","state","setState","originalRecords","loading","recordsLoading","listRecords","meta","length","currentFolder","find","id","title","subFolders","subRecords","prev","titleField","titleFieldId","listMoreRecords","hasMoreItems","cursor","getWhere","where","descendantFolderIds","map","set","createdBy","own","listItems","Boolean","Object","values","params","sort","search","folderWithChildren","foldersLength","recordsLength","selectedLength","folderWithChildrenLength","getAllRecordsAreSelected","prevState","context","isListLoading","INIT","LIST","isListLoadingMore","LIST_MORE","setSearchQuery","query","setFilters","data","fromEntries","entries","value","keys","setListSort","setSelected","hideFilters","showFilters","selectAll","unselectAll","createElement","Provider"],"sources":["acoList.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect } from \"react\";\nimport dotPropImmutable from \"dot-prop-immutable\";\nimport pick from \"lodash/pick\";\nimport { useStateIfMounted } from \"@webiny/app-admin\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport {\n FolderItem,\n GenericSearchData,\n ListMeta,\n ListSearchRecordsQueryVariables,\n ListSearchRecordsSort,\n SearchRecordItem\n} from \"~/types\";\nimport { useAcoApp, useNavigateFolder } from \"~/hooks\";\nimport {\n useGetDescendantFolders,\n useGetFolderHierarchy,\n useListFoldersByParentIds\n} from \"~/features\";\nimport { FoldersContext } from \"~/contexts/folders\";\nimport { SearchRecordsContext } from \"~/contexts/records\";\nimport { sortTableItems, validateOrGetDefaultDbSort } from \"~/sorting\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\nexport interface AcoListContextData<T> {\n folders: FolderItem[];\n hideFilters: () => void;\n isListLoading: boolean;\n isListLoadingMore: boolean;\n isSearch: boolean;\n listMoreRecords: () => void;\n listTitle?: string;\n meta: ListMeta;\n records: T[];\n selected: T[];\n setFilters: (data: Record<string, any>) => void;\n setListSort: (state: ListSearchRecordsSort) => void;\n setSearchQuery: (query: string) => void;\n setSelected: (selected: T[]) => void;\n showFilters: () => void;\n showingFilters: boolean;\n showingSelectAll: boolean;\n searchQuery: string;\n isSelectedAll: boolean;\n selectAll: () => void;\n unselectAll: () => void;\n getWhere: () => Record<string, any>;\n}\n\nexport const AcoListContext = React.createContext<\n AcoListContextData<GenericSearchData> | undefined\n>(undefined);\n\nexport interface State<T> {\n after?: string;\n filters?: Record<string, any>;\n folderId?: string;\n isSearch: boolean;\n limit: number;\n listSort: ListSearchRecordsSort;\n searchQuery: string;\n selected: T[];\n showingFilters: boolean;\n showingSelectAll: boolean;\n isSelectedAll: boolean;\n}\n\nconst initializeAcoListState = (): State<GenericSearchData> => {\n return {\n after: undefined,\n filters: undefined,\n folderId: undefined,\n isSearch: false,\n limit: 50,\n listSort: [],\n searchQuery: \"\",\n selected: [],\n showingFilters: false,\n showingSelectAll: false,\n isSelectedAll: false\n };\n};\n\nconst getCurrentFolderList = (\n folders?: FolderItem[] | null,\n currentFolderId?: string\n): FolderItem[] | [] => {\n if (!folders) {\n return [];\n }\n if (!currentFolderId || currentFolderId.toLowerCase() === ROOT_FOLDER) {\n return folders.filter(\n folder => !folder.parentId || folder.parentId.toLowerCase() === ROOT_FOLDER\n );\n }\n return folders.filter(folder => folder.parentId === currentFolderId);\n};\n\nconst getCurrentRecordList = <T extends GenericSearchData = GenericSearchData>(\n records: SearchRecordItem<T>[],\n folderIdPath: string,\n currentFolderId?: string\n): SearchRecordItem<T>[] => {\n if (!records) {\n return [];\n }\n\n if (!currentFolderId) {\n return records;\n }\n\n return records.filter(\n (record): record is SearchRecordItem<T> =>\n dotPropImmutable.get(record, folderIdPath) === currentFolderId\n );\n};\n\nexport interface AcoListProviderProps {\n children: React.ReactNode;\n own?: boolean;\n titleFieldId: string | null;\n}\n\nexport const AcoListProvider = ({ children, ...props }: AcoListProviderProps) => {\n const { identity } = useSecurity();\n const { currentFolderId } = useNavigateFolder();\n const { folderIdPath, folderIdInPath } = useAcoApp();\n const {\n folders: originalFolders,\n getIsFolderLoading,\n getFolderHierarchy\n } = useGetFolderHierarchy();\n const { getDescendantFolders } = useGetDescendantFolders();\n const { listFoldersByParentIds } = useListFoldersByParentIds();\n const folderContext = useContext(FoldersContext);\n const searchContext = useContext(SearchRecordsContext);\n\n if (!folderContext || !searchContext) {\n throw new Error(\"useAcoList must be used within a ACOProvider\");\n }\n\n const [folders, setFolders] = useStateIfMounted<FolderItem[]>([]);\n const [records, setRecords] = useStateIfMounted<SearchRecordItem[]>([]);\n const [listTitle, setListTitle] = useStateIfMounted<string | undefined>(undefined);\n const [state, setState] = useStateIfMounted<State<GenericSearchData>>(initializeAcoListState());\n\n const { records: originalRecords, loading: recordsLoading, listRecords, meta } = searchContext;\n\n /**\n * On first mount, call `getFolderHierarchy` and `setState`, which will either issue a network request, or load folders and records from cache.\n * We don't need to store the result of it to any local state; that is managed by the context provider.\n *\n * We don't call `listRecords` directly, instead we call `setState` making it the only driver to fetch records from the apis.\n */\n useEffect(() => {\n // The folders collection is empty, it must be the first render, let's load the full hierarchy.\n if (folders.length === 0) {\n getFolderHierarchy(currentFolderId);\n } else {\n // Otherwise let's load only the current folder sub-tree\n listFoldersByParentIds([currentFolderId]);\n }\n\n setState(state => {\n return {\n ...state,\n after: undefined,\n filters: undefined,\n folderId: currentFolderId,\n isSearch: false,\n searchQuery: \"\",\n selected: [],\n showingFilters: false,\n showingSelectAll: false,\n isSelectedAll: false\n };\n });\n }, [currentFolderId]);\n\n /**\n * Any time we receive a `folders` list update:\n * - we set an empty array in case of search;\n * - we set the list filtered by the current `type` and parent `folderId`, sorted according to the current `sort` value;\n * - we set the current folder name.\n */\n useEffect(() => {\n const currentFolder = originalFolders?.find(\n folder => folder.id === (state.folderId || ROOT_FOLDER)\n );\n\n setListTitle(currentFolder?.title);\n\n if (state.isSearch) {\n setFolders([]);\n return;\n }\n\n const subFolders = getCurrentFolderList(originalFolders, state.folderId);\n setFolders(() => {\n return sortTableItems(subFolders, state.listSort);\n });\n }, [originalFolders, state.folderId, state.isSearch]);\n\n /**\n * Any time we receive a `records` list or `folderId` update:\n * - we set all `records` in case of search query;\n * - we set the `records` list filtered by the current `folderId`.\n */\n useEffect(() => {\n if (state.isSearch) {\n setRecords(originalRecords as SearchRecordItem[]);\n return;\n }\n\n const subRecords = getCurrentRecordList(\n originalRecords as SearchRecordItem[],\n folderIdPath,\n state.folderId\n );\n setRecords(subRecords);\n }, [originalRecords, state.folderId, state.isSearch]);\n\n /**\n * Any time we receive a new `sort` value:\n * - we sort the current `folders` list according to `sorting` value;\n */\n useEffect(() => {\n setFolders(prev => {\n const titleField = props?.titleFieldId || \"id\";\n return sortTableItems(prev, state.listSort, {\n [titleField]: \"title\"\n });\n });\n }, [state.listSort]);\n\n /**\n * Utility function to list/load more records, the `meta` state is tracked internally.\n */\n const listMoreRecords = useCallback(() => {\n const { hasMoreItems, cursor } = meta;\n if (hasMoreItems && cursor) {\n setState(state => ({ ...state, after: cursor }));\n }\n }, [meta]);\n\n /**\n * Constructs a \"where\" condition object based on the current state and properties.\n *\n * This function creates a \"where\" object used to filter data based on the current folder ID,\n * ownership status, and other existing filters in the state.\n *\n * @returns {Object} A \"where\" condition object containing filters for querying data.\n */\n const getWhere = useCallback(() => {\n // Initialize an empty object\n let where = {};\n\n if (!state.folderId) {\n return where;\n }\n\n // Check if the current folder ID is not the ROOT_FOLDER folder\n if (state.folderId !== ROOT_FOLDER) {\n // Get descendant folder IDs of the current folder\n const descendantFolderIds = getDescendantFolders(state.folderId).map(\n folder => folder.id\n );\n\n // Set the locationWhere object with descendant folder IDs\n where = dotPropImmutable.set({}, folderIdInPath, descendantFolderIds);\n }\n\n return {\n createdBy: props.own ? identity?.id : undefined, // Set 'createdBy' based on the ownership status\n ...state.filters, // Merge existing filters into the 'where' condition\n ...where // Include where condition if applicable\n };\n }, [folders, state.folderId, state.filters, props.own, identity]);\n\n /**\n * Any time we receive new useful `state` params:\n * - we fetch records according to the new params\n */\n useEffect(() => {\n const listItems = async () => {\n if (!state.folderId) {\n return;\n }\n\n const isSearch = Boolean(\n state.searchQuery ||\n (state.filters && Object.values(state.filters).filter(Boolean).length)\n );\n\n let where = dotPropImmutable.set({}, folderIdPath, state.folderId);\n\n // In case of a search or filters applied, let's get the where condition based on the current folder ID,\n // ownership status, and other existing filters in the state.\n if (isSearch) {\n where = getWhere();\n }\n\n const params: ListSearchRecordsQueryVariables = {\n limit: state.limit,\n sort: validateOrGetDefaultDbSort(state.listSort),\n search: state.searchQuery,\n after: state.after,\n where\n };\n\n await listRecords(params);\n\n setState(state => ({ ...state, isSearch }));\n };\n\n listItems();\n }, [\n state.folderId,\n state.filters,\n state.searchQuery,\n state.after,\n state.listSort,\n state.limit,\n props.own,\n identity\n ]);\n\n /**\n * useEffect hook to determine if the \"Select All\" option should be displayed based on the current state and meta properties:\n * - if in the root folder with no folders, checks if all records are selected.\n * - if in a non-root folder with multiple descendant folders, checks if all records are selected.\n * - if there are more items to load, checks if all records are selected.\n */\n useEffect(() => {\n // Destructure relevant properties from state and meta\n const { selected, folderId } = state;\n const { hasMoreItems } = meta;\n\n // Retrieve all descendant folders of the current folderId\n const folderWithChildren = folderId ? getDescendantFolders(folderId) : [];\n\n // Compute the lengths of various arrays for later comparisons\n const foldersLength = folders.length;\n const recordsLength = records.length;\n const selectedLength = selected.length;\n const folderWithChildrenLength = folderWithChildren.length;\n\n // Function to determine if all records are selected\n const getAllRecordsAreSelected = () => !!recordsLength && recordsLength === selectedLength;\n\n // Initialize a flag to determine if the \"Select All\" option should be shown\n let showingSelectAll = false;\n\n // If in the root folder and there are some folders, check if all records are selected\n if (folderId === ROOT_FOLDER && foldersLength > 0) {\n showingSelectAll = getAllRecordsAreSelected();\n }\n\n // If not in the root folder and there are multiple descendant folders, check if all records are selected\n if (folderId !== ROOT_FOLDER && folderWithChildrenLength > 1) {\n showingSelectAll = getAllRecordsAreSelected();\n }\n\n // If there are more items to load, check if all records are selected\n if (hasMoreItems) {\n showingSelectAll = getAllRecordsAreSelected();\n }\n\n // Update the component's state based on the computed showingSelectAll flag\n setState(prevState => {\n // Only update if there is a change in showingSelectAll or if isSelectedAll was true previously\n if (!prevState.isSelectedAll && prevState.showingSelectAll === showingSelectAll) {\n return prevState;\n }\n\n // Return the new state with updated showingSelectAll and reset isSelectedAll to false\n return {\n ...prevState,\n isSelectedAll: false,\n showingSelectAll\n };\n });\n }, [\n records.length,\n folders.length,\n state.isSearch,\n meta.hasMoreItems,\n state.selected.length,\n state.folderId\n ]);\n\n const context: AcoListContextData<GenericSearchData> = {\n ...pick(state, [\n \"isSearch\",\n \"searchQuery\",\n \"selected\",\n \"showingFilters\",\n \"showingSelectAll\",\n \"isSelectedAll\"\n ]),\n folders,\n records,\n listTitle,\n isListLoading: Boolean(\n recordsLoading.INIT || recordsLoading.LIST || getIsFolderLoading(currentFolderId)\n ),\n isListLoadingMore: Boolean(recordsLoading.LIST_MORE),\n meta,\n setSearchQuery(query) {\n setState(state => ({ ...state, searchQuery: query, after: undefined }));\n },\n setFilters(data) {\n setState(state => ({ ...state, filters: data, after: undefined }));\n // Create filters object excluding entries with `undefined` values\n const filters = Object.fromEntries(\n Object.entries(data).filter(([, value]) => value !== undefined)\n );\n\n setState(state => ({\n ...state,\n filters: Object.keys(filters).length ? filters : undefined,\n after: undefined\n }));\n },\n setListSort(sort: ListSearchRecordsSort) {\n setState(state => ({ ...state, listSort: sort, after: undefined }));\n },\n setSelected(selected) {\n setState(state => ({ ...state, selected }));\n },\n hideFilters() {\n setState(state => ({\n ...state,\n filters: undefined,\n showingFilters: false,\n after: undefined\n }));\n },\n showFilters() {\n setState(state => ({ ...state, showingFilters: true }));\n },\n selectAll() {\n setState(state => ({ ...state, isSelectedAll: true }));\n },\n unselectAll() {\n setState(state => ({\n ...state,\n selected: [],\n isSelectedAll: false\n }));\n },\n getWhere,\n listMoreRecords\n };\n\n return <AcoListContext.Provider value={context}>{children}</AcoListContext.Provider>;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,EAAEC,SAAS,QAAQ,OAAO;AACjE,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,IAAI,MAAM,aAAa;AAC9B,SAASC,iBAAiB,QAAQ,mBAAmB;AACrD,SAASC,WAAW,QAAQ,sBAAsB;AASlD,SAASC,SAAS,EAAEC,iBAAiB;AACrC,SACIC,uBAAuB,EACvBC,qBAAqB,EACrBC,yBAAyB;AAE7B,SAASC,cAAc;AACvB,SAASC,oBAAoB;AAC7B,SAASC,cAAc,EAAEC,0BAA0B;AACnD,SAASC,WAAW;AA2BpB,OAAO,MAAMC,cAAc,gBAAGlB,KAAK,CAACmB,aAAa,CAE/CC,SAAS,CAAC;AAgBZ,MAAMC,sBAAsB,GAAGA,CAAA,KAAgC;EAC3D,OAAO;IACHC,KAAK,EAAEF,SAAS;IAChBG,OAAO,EAAEH,SAAS;IAClBI,QAAQ,EAAEJ,SAAS;IACnBK,QAAQ,EAAE,KAAK;IACfC,KAAK,EAAE,EAAE;IACTC,QAAQ,EAAE,EAAE;IACZC,WAAW,EAAE,EAAE;IACfC,QAAQ,EAAE,EAAE;IACZC,cAAc,EAAE,KAAK;IACrBC,gBAAgB,EAAE,KAAK;IACvBC,aAAa,EAAE;EACnB,CAAC;AACL,CAAC;AAED,MAAMC,oBAAoB,GAAGA,CACzBC,OAA6B,EAC7BC,eAAwB,KACJ;EACpB,IAAI,CAACD,OAAO,EAAE;IACV,OAAO,EAAE;EACb;EACA,IAAI,CAACC,eAAe,IAAIA,eAAe,CAACC,WAAW,CAAC,CAAC,KAAKnB,WAAW,EAAE;IACnE,OAAOiB,OAAO,CAACG,MAAM,CACjBC,MAAM,IAAI,CAACA,MAAM,CAACC,QAAQ,IAAID,MAAM,CAACC,QAAQ,CAACH,WAAW,CAAC,CAAC,KAAKnB,WACpE,CAAC;EACL;EACA,OAAOiB,OAAO,CAACG,MAAM,CAACC,MAAM,IAAIA,MAAM,CAACC,QAAQ,KAAKJ,eAAe,CAAC;AACxE,CAAC;AAED,MAAMK,oBAAoB,GAAGA,CACzBC,OAA8B,EAC9BC,YAAoB,EACpBP,eAAwB,KACA;EACxB,IAAI,CAACM,OAAO,EAAE;IACV,OAAO,EAAE;EACb;EAEA,IAAI,CAACN,eAAe,EAAE;IAClB,OAAOM,OAAO;EAClB;EAEA,OAAOA,OAAO,CAACJ,MAAM,CAChBM,MAAM,IACHvC,gBAAgB,CAACwC,GAAG,CAACD,MAAM,EAAED,YAAY,CAAC,KAAKP,eACvD,CAAC;AACL,CAAC;AAQD,OAAO,MAAMU,eAAe,GAAGA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAA4B,CAAC,KAAK;EAC7E,MAAM;IAAEC;EAAS,CAAC,GAAGzC,WAAW,CAAC,CAAC;EAClC,MAAM;IAAE4B;EAAgB,CAAC,GAAG1B,iBAAiB,CAAC,CAAC;EAC/C,MAAM;IAAEiC,YAAY;IAAEO;EAAe,CAAC,GAAGzC,SAAS,CAAC,CAAC;EACpD,MAAM;IACF0B,OAAO,EAAEgB,eAAe;IACxBC,kBAAkB;IAClBC;EACJ,CAAC,GAAGzC,qBAAqB,CAAC,CAAC;EAC3B,MAAM;IAAE0C;EAAqB,CAAC,GAAG3C,uBAAuB,CAAC,CAAC;EAC1D,MAAM;IAAE4C;EAAuB,CAAC,GAAG1C,yBAAyB,CAAC,CAAC;EAC9D,MAAM2C,aAAa,GAAGrD,UAAU,CAACW,cAAc,CAAC;EAChD,MAAM2C,aAAa,GAAGtD,UAAU,CAACY,oBAAoB,CAAC;EAEtD,IAAI,CAACyC,aAAa,IAAI,CAACC,aAAa,EAAE;IAClC,MAAM,IAAIC,KAAK,CAAC,8CAA8C,CAAC;EACnE;EAEA,MAAM,CAACvB,OAAO,EAAEwB,UAAU,CAAC,GAAGpD,iBAAiB,CAAe,EAAE,CAAC;EACjE,MAAM,CAACmC,OAAO,EAAEkB,UAAU,CAAC,GAAGrD,iBAAiB,CAAqB,EAAE,CAAC;EACvE,MAAM,CAACsD,SAAS,EAAEC,YAAY,CAAC,GAAGvD,iBAAiB,CAAqBc,SAAS,CAAC;EAClF,MAAM,CAAC0C,KAAK,EAAEC,QAAQ,CAAC,GAAGzD,iBAAiB,CAA2Be,sBAAsB,CAAC,CAAC,CAAC;EAE/F,MAAM;IAAEoB,OAAO,EAAEuB,eAAe;IAAEC,OAAO,EAAEC,cAAc;IAAEC,WAAW;IAAEC;EAAK,CAAC,GAAGZ,aAAa;;EAE9F;AACJ;AACA;AACA;AACA;AACA;EACIrD,SAAS,CAAC,MAAM;IACZ;IACA,IAAI+B,OAAO,CAACmC,MAAM,KAAK,CAAC,EAAE;MACtBjB,kBAAkB,CAACjB,eAAe,CAAC;IACvC,CAAC,MAAM;MACH;MACAmB,sBAAsB,CAAC,CAACnB,eAAe,CAAC,CAAC;IAC7C;IAEA4B,QAAQ,CAACD,KAAK,IAAI;MACd,OAAO;QACH,GAAGA,KAAK;QACRxC,KAAK,EAAEF,SAAS;QAChBG,OAAO,EAAEH,SAAS;QAClBI,QAAQ,EAAEW,eAAe;QACzBV,QAAQ,EAAE,KAAK;QACfG,WAAW,EAAE,EAAE;QACfC,QAAQ,EAAE,EAAE;QACZC,cAAc,EAAE,KAAK;QACrBC,gBAAgB,EAAE,KAAK;QACvBC,aAAa,EAAE;MACnB,CAAC;IACL,CAAC,CAAC;EACN,CAAC,EAAE,CAACG,eAAe,CAAC,CAAC;;EAErB;AACJ;AACA;AACA;AACA;AACA;EACIhC,SAAS,CAAC,MAAM;IACZ,MAAMmE,aAAa,GAAGpB,eAAe,EAAEqB,IAAI,CACvCjC,MAAM,IAAIA,MAAM,CAACkC,EAAE,MAAMV,KAAK,CAACtC,QAAQ,IAAIP,WAAW,CAC1D,CAAC;IAED4C,YAAY,CAACS,aAAa,EAAEG,KAAK,CAAC;IAElC,IAAIX,KAAK,CAACrC,QAAQ,EAAE;MAChBiC,UAAU,CAAC,EAAE,CAAC;MACd;IACJ;IAEA,MAAMgB,UAAU,GAAGzC,oBAAoB,CAACiB,eAAe,EAAEY,KAAK,CAACtC,QAAQ,CAAC;IACxEkC,UAAU,CAAC,MAAM;MACb,OAAO3C,cAAc,CAAC2D,UAAU,EAAEZ,KAAK,CAACnC,QAAQ,CAAC;IACrD,CAAC,CAAC;EACN,CAAC,EAAE,CAACuB,eAAe,EAAEY,KAAK,CAACtC,QAAQ,EAAEsC,KAAK,CAACrC,QAAQ,CAAC,CAAC;;EAErD;AACJ;AACA;AACA;AACA;EACItB,SAAS,CAAC,MAAM;IACZ,IAAI2D,KAAK,CAACrC,QAAQ,EAAE;MAChBkC,UAAU,CAACK,eAAqC,CAAC;MACjD;IACJ;IAEA,MAAMW,UAAU,GAAGnC,oBAAoB,CACnCwB,eAAe,EACftB,YAAY,EACZoB,KAAK,CAACtC,QACV,CAAC;IACDmC,UAAU,CAACgB,UAAU,CAAC;EAC1B,CAAC,EAAE,CAACX,eAAe,EAAEF,KAAK,CAACtC,QAAQ,EAAEsC,KAAK,CAACrC,QAAQ,CAAC,CAAC;;EAErD;AACJ;AACA;AACA;EACItB,SAAS,CAAC,MAAM;IACZuD,UAAU,CAACkB,IAAI,IAAI;MACf,MAAMC,UAAU,GAAG9B,KAAK,EAAE+B,YAAY,IAAI,IAAI;MAC9C,OAAO/D,cAAc,CAAC6D,IAAI,EAAEd,KAAK,CAACnC,QAAQ,EAAE;QACxC,CAACkD,UAAU,GAAG;MAClB,CAAC,CAAC;IACN,CAAC,CAAC;EACN,CAAC,EAAE,CAACf,KAAK,CAACnC,QAAQ,CAAC,CAAC;;EAEpB;AACJ;AACA;EACI,MAAMoD,eAAe,GAAG9E,WAAW,CAAC,MAAM;IACtC,MAAM;MAAE+E,YAAY;MAAEC;IAAO,CAAC,GAAGb,IAAI;IACrC,IAAIY,YAAY,IAAIC,MAAM,EAAE;MACxBlB,QAAQ,CAACD,KAAK,KAAK;QAAE,GAAGA,KAAK;QAAExC,KAAK,EAAE2D;MAAO,CAAC,CAAC,CAAC;IACpD;EACJ,CAAC,EAAE,CAACb,IAAI,CAAC,CAAC;;EAEV;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;EACI,MAAMc,QAAQ,GAAGjF,WAAW,CAAC,MAAM;IAC/B;IACA,IAAIkF,KAAK,GAAG,CAAC,CAAC;IAEd,IAAI,CAACrB,KAAK,CAACtC,QAAQ,EAAE;MACjB,OAAO2D,KAAK;IAChB;;IAEA;IACA,IAAIrB,KAAK,CAACtC,QAAQ,KAAKP,WAAW,EAAE;MAChC;MACA,MAAMmE,mBAAmB,GAAG/B,oBAAoB,CAACS,KAAK,CAACtC,QAAQ,CAAC,CAAC6D,GAAG,CAChE/C,MAAM,IAAIA,MAAM,CAACkC,EACrB,CAAC;;MAED;MACAW,KAAK,GAAG/E,gBAAgB,CAACkF,GAAG,CAAC,CAAC,CAAC,EAAErC,cAAc,EAAEmC,mBAAmB,CAAC;IACzE;IAEA,OAAO;MACHG,SAAS,EAAExC,KAAK,CAACyC,GAAG,GAAGxC,QAAQ,EAAEwB,EAAE,GAAGpD,SAAS;MAAE;MACjD,GAAG0C,KAAK,CAACvC,OAAO;MAAE;MAClB,GAAG4D,KAAK,CAAC;IACb,CAAC;EACL,CAAC,EAAE,CAACjD,OAAO,EAAE4B,KAAK,CAACtC,QAAQ,EAAEsC,KAAK,CAACvC,OAAO,EAAEwB,KAAK,CAACyC,GAAG,EAAExC,QAAQ,CAAC,CAAC;;EAEjE;AACJ;AACA;AACA;EACI7C,SAAS,CAAC,MAAM;IACZ,MAAMsF,SAAS,GAAG,MAAAA,CAAA,KAAY;MAC1B,IAAI,CAAC3B,KAAK,CAACtC,QAAQ,EAAE;QACjB;MACJ;MAEA,MAAMC,QAAQ,GAAGiE,OAAO,CACpB5B,KAAK,CAAClC,WAAW,IACZkC,KAAK,CAACvC,OAAO,IAAIoE,MAAM,CAACC,MAAM,CAAC9B,KAAK,CAACvC,OAAO,CAAC,CAACc,MAAM,CAACqD,OAAO,CAAC,CAACrB,MACvE,CAAC;MAED,IAAIc,KAAK,GAAG/E,gBAAgB,CAACkF,GAAG,CAAC,CAAC,CAAC,EAAE5C,YAAY,EAAEoB,KAAK,CAACtC,QAAQ,CAAC;;MAElE;MACA;MACA,IAAIC,QAAQ,EAAE;QACV0D,KAAK,GAAGD,QAAQ,CAAC,CAAC;MACtB;MAEA,MAAMW,MAAuC,GAAG;QAC5CnE,KAAK,EAAEoC,KAAK,CAACpC,KAAK;QAClBoE,IAAI,EAAE9E,0BAA0B,CAAC8C,KAAK,CAACnC,QAAQ,CAAC;QAChDoE,MAAM,EAAEjC,KAAK,CAAClC,WAAW;QACzBN,KAAK,EAAEwC,KAAK,CAACxC,KAAK;QAClB6D;MACJ,CAAC;MAED,MAAMhB,WAAW,CAAC0B,MAAM,CAAC;MAEzB9B,QAAQ,CAACD,KAAK,KAAK;QAAE,GAAGA,KAAK;QAAErC;MAAS,CAAC,CAAC,CAAC;IAC/C,CAAC;IAEDgE,SAAS,CAAC,CAAC;EACf,CAAC,EAAE,CACC3B,KAAK,CAACtC,QAAQ,EACdsC,KAAK,CAACvC,OAAO,EACbuC,KAAK,CAAClC,WAAW,EACjBkC,KAAK,CAACxC,KAAK,EACXwC,KAAK,CAACnC,QAAQ,EACdmC,KAAK,CAACpC,KAAK,EACXqB,KAAK,CAACyC,GAAG,EACTxC,QAAQ,CACX,CAAC;;EAEF;AACJ;AACA;AACA;AACA;AACA;EACI7C,SAAS,CAAC,MAAM;IACZ;IACA,MAAM;MAAE0B,QAAQ;MAAEL;IAAS,CAAC,GAAGsC,KAAK;IACpC,MAAM;MAAEkB;IAAa,CAAC,GAAGZ,IAAI;;IAE7B;IACA,MAAM4B,kBAAkB,GAAGxE,QAAQ,GAAG6B,oBAAoB,CAAC7B,QAAQ,CAAC,GAAG,EAAE;;IAEzE;IACA,MAAMyE,aAAa,GAAG/D,OAAO,CAACmC,MAAM;IACpC,MAAM6B,aAAa,GAAGzD,OAAO,CAAC4B,MAAM;IACpC,MAAM8B,cAAc,GAAGtE,QAAQ,CAACwC,MAAM;IACtC,MAAM+B,wBAAwB,GAAGJ,kBAAkB,CAAC3B,MAAM;;IAE1D;IACA,MAAMgC,wBAAwB,GAAGA,CAAA,KAAM,CAAC,CAACH,aAAa,IAAIA,aAAa,KAAKC,cAAc;;IAE1F;IACA,IAAIpE,gBAAgB,GAAG,KAAK;;IAE5B;IACA,IAAIP,QAAQ,KAAKP,WAAW,IAAIgF,aAAa,GAAG,CAAC,EAAE;MAC/ClE,gBAAgB,GAAGsE,wBAAwB,CAAC,CAAC;IACjD;;IAEA;IACA,IAAI7E,QAAQ,KAAKP,WAAW,IAAImF,wBAAwB,GAAG,CAAC,EAAE;MAC1DrE,gBAAgB,GAAGsE,wBAAwB,CAAC,CAAC;IACjD;;IAEA;IACA,IAAIrB,YAAY,EAAE;MACdjD,gBAAgB,GAAGsE,wBAAwB,CAAC,CAAC;IACjD;;IAEA;IACAtC,QAAQ,CAACuC,SAAS,IAAI;MAClB;MACA,IAAI,CAACA,SAAS,CAACtE,aAAa,IAAIsE,SAAS,CAACvE,gBAAgB,KAAKA,gBAAgB,EAAE;QAC7E,OAAOuE,SAAS;MACpB;;MAEA;MACA,OAAO;QACH,GAAGA,SAAS;QACZtE,aAAa,EAAE,KAAK;QACpBD;MACJ,CAAC;IACL,CAAC,CAAC;EACN,CAAC,EAAE,CACCU,OAAO,CAAC4B,MAAM,EACdnC,OAAO,CAACmC,MAAM,EACdP,KAAK,CAACrC,QAAQ,EACd2C,IAAI,CAACY,YAAY,EACjBlB,KAAK,CAACjC,QAAQ,CAACwC,MAAM,EACrBP,KAAK,CAACtC,QAAQ,CACjB,CAAC;EAEF,MAAM+E,OAA8C,GAAG;IACnD,GAAGlG,IAAI,CAACyD,KAAK,EAAE,CACX,UAAU,EACV,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,CAClB,CAAC;IACF5B,OAAO;IACPO,OAAO;IACPmB,SAAS;IACT4C,aAAa,EAAEd,OAAO,CAClBxB,cAAc,CAACuC,IAAI,IAAIvC,cAAc,CAACwC,IAAI,IAAIvD,kBAAkB,CAAChB,eAAe,CACpF,CAAC;IACDwE,iBAAiB,EAAEjB,OAAO,CAACxB,cAAc,CAAC0C,SAAS,CAAC;IACpDxC,IAAI;IACJyC,cAAcA,CAACC,KAAK,EAAE;MAClB/C,QAAQ,CAACD,KAAK,KAAK;QAAE,GAAGA,KAAK;QAAElC,WAAW,EAAEkF,KAAK;QAAExF,KAAK,EAAEF;MAAU,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD2F,UAAUA,CAACC,IAAI,EAAE;MACbjD,QAAQ,CAACD,KAAK,KAAK;QAAE,GAAGA,KAAK;QAAEvC,OAAO,EAAEyF,IAAI;QAAE1F,KAAK,EAAEF;MAAU,CAAC,CAAC,CAAC;MAClE;MACA,MAAMG,OAAO,GAAGoE,MAAM,CAACsB,WAAW,CAC9BtB,MAAM,CAACuB,OAAO,CAACF,IAAI,CAAC,CAAC3E,MAAM,CAAC,CAAC,GAAG8E,KAAK,CAAC,KAAKA,KAAK,KAAK/F,SAAS,CAClE,CAAC;MAED2C,QAAQ,CAACD,KAAK,KAAK;QACf,GAAGA,KAAK;QACRvC,OAAO,EAAEoE,MAAM,CAACyB,IAAI,CAAC7F,OAAO,CAAC,CAAC8C,MAAM,GAAG9C,OAAO,GAAGH,SAAS;QAC1DE,KAAK,EAAEF;MACX,CAAC,CAAC,CAAC;IACP,CAAC;IACDiG,WAAWA,CAACvB,IAA2B,EAAE;MACrC/B,QAAQ,CAACD,KAAK,KAAK;QAAE,GAAGA,KAAK;QAAEnC,QAAQ,EAAEmE,IAAI;QAAExE,KAAK,EAAEF;MAAU,CAAC,CAAC,CAAC;IACvE,CAAC;IACDkG,WAAWA,CAACzF,QAAQ,EAAE;MAClBkC,QAAQ,CAACD,KAAK,KAAK;QAAE,GAAGA,KAAK;QAAEjC;MAAS,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD0F,WAAWA,CAAA,EAAG;MACVxD,QAAQ,CAACD,KAAK,KAAK;QACf,GAAGA,KAAK;QACRvC,OAAO,EAAEH,SAAS;QAClBU,cAAc,EAAE,KAAK;QACrBR,KAAK,EAAEF;MACX,CAAC,CAAC,CAAC;IACP,CAAC;IACDoG,WAAWA,CAAA,EAAG;MACVzD,QAAQ,CAACD,KAAK,KAAK;QAAE,GAAGA,KAAK;QAAEhC,cAAc,EAAE;MAAK,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD2F,SAASA,CAAA,EAAG;MACR1D,QAAQ,CAACD,KAAK,KAAK;QAAE,GAAGA,KAAK;QAAE9B,aAAa,EAAE;MAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD0F,WAAWA,CAAA,EAAG;MACV3D,QAAQ,CAACD,KAAK,KAAK;QACf,GAAGA,KAAK;QACRjC,QAAQ,EAAE,EAAE;QACZG,aAAa,EAAE;MACnB,CAAC,CAAC,CAAC;IACP,CAAC;IACDkD,QAAQ;IACRH;EACJ,CAAC;EAED,oBAAO/E,KAAA,CAAA2H,aAAA,CAACzG,cAAc,CAAC0G,QAAQ;IAACT,KAAK,EAAEZ;EAAQ,GAAEzD,QAAkC,CAAC;AACxF,CAAC","ignoreList":[]}
|
package/contexts/app.js
CHANGED
|
@@ -1,78 +1,66 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
var _folders = require("./folders");
|
|
16
|
-
var _records = require("./records");
|
|
17
|
-
var _DisplayError = require("./DisplayError");
|
|
18
|
-
var _navigateFolderWithRouter = require("./navigateFolderWithRouter");
|
|
19
|
-
var _acoList = require("./acoList");
|
|
20
|
-
var AcoAppContext = exports.AcoAppContext = /*#__PURE__*/_react.default.createContext(undefined);
|
|
21
|
-
var createAppFromModel = exports.createAppFromModel = function createAppFromModel(data) {
|
|
22
|
-
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
|
|
23
|
-
getFields: data.getFields || function () {
|
|
1
|
+
import React, { useEffect, useMemo, useState } from "react";
|
|
2
|
+
import { DialogsProvider } from "@webiny/app-admin";
|
|
3
|
+
import { createGetAppQuery } from "../graphql/app.gql";
|
|
4
|
+
import { FoldersProvider as FoldersContextProvider } from "./folders";
|
|
5
|
+
import { SearchRecordsProvider as SearchRecordsContextProvider } from "./records";
|
|
6
|
+
import { DisplayError } from "./DisplayError";
|
|
7
|
+
import { Loading } from "./Loading";
|
|
8
|
+
import { NavigateFolderWithRouterProvider } from "./navigateFolderWithRouter";
|
|
9
|
+
import { AcoListProvider } from "./acoList";
|
|
10
|
+
export const AcoAppContext = /*#__PURE__*/React.createContext(undefined);
|
|
11
|
+
export const createAppFromModel = data => {
|
|
12
|
+
return {
|
|
13
|
+
...data,
|
|
14
|
+
getFields: data.getFields || (() => {
|
|
24
15
|
return data.model.fields;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
16
|
+
})
|
|
17
|
+
};
|
|
27
18
|
};
|
|
28
|
-
|
|
19
|
+
const createApiApp = data => {
|
|
29
20
|
if (!data) {
|
|
30
|
-
console.error(
|
|
21
|
+
console.error(`The APP could not be created. No data received.`);
|
|
31
22
|
return null;
|
|
32
23
|
}
|
|
33
|
-
|
|
34
|
-
return f.fieldId === "data";
|
|
35
|
-
});
|
|
24
|
+
const dataField = data.model.fields.find(f => f.fieldId === "data");
|
|
36
25
|
if (!dataField) {
|
|
37
|
-
console.error(
|
|
26
|
+
console.error(`The APP "${data.id}" does not have the data field.`);
|
|
38
27
|
return null;
|
|
39
28
|
}
|
|
40
|
-
return
|
|
41
|
-
|
|
29
|
+
return {
|
|
30
|
+
...data,
|
|
31
|
+
getFields: () => {
|
|
42
32
|
return dataField?.settings?.fields || [];
|
|
43
33
|
}
|
|
44
|
-
}
|
|
34
|
+
};
|
|
45
35
|
};
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
var folderIdPath = initialFolderIdPath || "location.folderId";
|
|
68
|
-
var folderIdInPath = folderIdPath + "_in";
|
|
36
|
+
export const AcoAppProvider = ({
|
|
37
|
+
children,
|
|
38
|
+
id,
|
|
39
|
+
client,
|
|
40
|
+
model: inputModel,
|
|
41
|
+
getFields,
|
|
42
|
+
folderIdQueryString,
|
|
43
|
+
createNavigateFolderListLink,
|
|
44
|
+
createNavigateFolderStorageKey,
|
|
45
|
+
folderIdPath: initialFolderIdPath,
|
|
46
|
+
own
|
|
47
|
+
}) => {
|
|
48
|
+
const [state, setState] = useState({
|
|
49
|
+
loading: false,
|
|
50
|
+
app: null,
|
|
51
|
+
model: null,
|
|
52
|
+
error: null,
|
|
53
|
+
mode: "aco"
|
|
54
|
+
});
|
|
55
|
+
const folderIdPath = initialFolderIdPath || "location.folderId";
|
|
56
|
+
const folderIdInPath = folderIdPath + "_in";
|
|
69
57
|
|
|
70
58
|
/**
|
|
71
59
|
* The APP Provider can operate in two modes:
|
|
72
60
|
* * `app` - when the `id` is provided, the app is fetched from the API
|
|
73
61
|
* * `model` - when the `model` is provided, the app is created from the model
|
|
74
62
|
*/
|
|
75
|
-
|
|
63
|
+
useEffect(() => {
|
|
76
64
|
if (!id) {
|
|
77
65
|
return;
|
|
78
66
|
}
|
|
@@ -84,112 +72,120 @@ var AcoAppProvider = exports.AcoAppProvider = function AcoAppProvider(_ref) {
|
|
|
84
72
|
if (!inputModel) {
|
|
85
73
|
return;
|
|
86
74
|
}
|
|
87
|
-
setState(
|
|
88
|
-
return
|
|
75
|
+
setState(prev => {
|
|
76
|
+
return {
|
|
77
|
+
...prev,
|
|
89
78
|
loading: false,
|
|
90
79
|
model: inputModel,
|
|
91
80
|
app: createAppFromModel({
|
|
92
|
-
id
|
|
81
|
+
id,
|
|
93
82
|
model: inputModel,
|
|
94
|
-
getFields
|
|
83
|
+
getFields
|
|
95
84
|
}),
|
|
96
85
|
mode: "cms"
|
|
97
|
-
}
|
|
86
|
+
};
|
|
98
87
|
});
|
|
99
88
|
return;
|
|
100
89
|
}
|
|
101
90
|
if (id === state.app?.id) {
|
|
102
91
|
return;
|
|
103
92
|
}
|
|
104
|
-
setState(
|
|
105
|
-
return
|
|
93
|
+
setState(prev => {
|
|
94
|
+
return {
|
|
95
|
+
...prev,
|
|
106
96
|
loading: true
|
|
107
|
-
}
|
|
97
|
+
};
|
|
108
98
|
});
|
|
109
99
|
client.query({
|
|
110
|
-
query:
|
|
100
|
+
query: createGetAppQuery(),
|
|
111
101
|
variables: {
|
|
112
|
-
id
|
|
102
|
+
id
|
|
113
103
|
}
|
|
114
|
-
}).then(
|
|
115
|
-
|
|
116
|
-
data
|
|
117
|
-
error
|
|
104
|
+
}).then(response => {
|
|
105
|
+
const {
|
|
106
|
+
data,
|
|
107
|
+
error
|
|
108
|
+
} = response.data.aco?.app || {};
|
|
118
109
|
if (error) {
|
|
119
|
-
setState(
|
|
120
|
-
return
|
|
110
|
+
setState(prev => {
|
|
111
|
+
return {
|
|
112
|
+
...prev,
|
|
121
113
|
loading: false,
|
|
122
114
|
app: null,
|
|
123
115
|
model: null,
|
|
124
|
-
error
|
|
116
|
+
error,
|
|
125
117
|
mode: "aco"
|
|
126
|
-
}
|
|
118
|
+
};
|
|
127
119
|
});
|
|
128
120
|
return;
|
|
129
121
|
}
|
|
130
|
-
setState(
|
|
131
|
-
|
|
122
|
+
setState(prev => {
|
|
123
|
+
const app = createApiApp(data);
|
|
132
124
|
if (!app) {
|
|
133
|
-
return
|
|
125
|
+
return {
|
|
126
|
+
...prev,
|
|
134
127
|
loading: false,
|
|
135
128
|
app: null,
|
|
136
129
|
model: null,
|
|
137
130
|
mode: "aco",
|
|
138
131
|
error: {
|
|
139
|
-
message:
|
|
132
|
+
message: `App "${id}" not found!`,
|
|
140
133
|
code: "APP_NOT_FOUND"
|
|
141
134
|
}
|
|
142
|
-
}
|
|
135
|
+
};
|
|
143
136
|
}
|
|
144
|
-
return
|
|
137
|
+
return {
|
|
138
|
+
...prev,
|
|
145
139
|
loading: false,
|
|
146
|
-
app
|
|
140
|
+
app,
|
|
147
141
|
model: app.model,
|
|
148
142
|
error: null,
|
|
149
143
|
mode: "aco"
|
|
150
|
-
}
|
|
144
|
+
};
|
|
151
145
|
});
|
|
152
146
|
});
|
|
153
147
|
}, [id, inputModel?.modelId]);
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
148
|
+
const {
|
|
149
|
+
app,
|
|
150
|
+
model,
|
|
151
|
+
error,
|
|
152
|
+
loading,
|
|
153
|
+
mode
|
|
154
|
+
} = state;
|
|
155
|
+
const value = useMemo(() => {
|
|
160
156
|
return {
|
|
161
157
|
app: app,
|
|
162
|
-
folderIdPath
|
|
163
|
-
folderIdInPath
|
|
164
|
-
loading
|
|
165
|
-
client
|
|
158
|
+
folderIdPath,
|
|
159
|
+
folderIdInPath,
|
|
160
|
+
loading,
|
|
161
|
+
client,
|
|
166
162
|
model: model,
|
|
167
|
-
error
|
|
168
|
-
mode
|
|
163
|
+
error,
|
|
164
|
+
mode
|
|
169
165
|
};
|
|
170
166
|
}, [app?.id, loading, error, model, client, mode]);
|
|
171
167
|
/**
|
|
172
168
|
* Do not render anything yet if there is no application.
|
|
173
169
|
*/
|
|
174
170
|
if (error) {
|
|
175
|
-
return /*#__PURE__*/
|
|
171
|
+
return /*#__PURE__*/React.createElement("div", null, "Error: ", error.message);
|
|
176
172
|
} else if (loading) {
|
|
177
|
-
return /*#__PURE__*/
|
|
173
|
+
return /*#__PURE__*/React.createElement(Loading, null);
|
|
178
174
|
} else if (!app) {
|
|
179
|
-
return /*#__PURE__*/
|
|
175
|
+
return /*#__PURE__*/React.createElement(DisplayError, null, "There is no ACO App: ", /*#__PURE__*/React.createElement("strong", null, id), "!");
|
|
180
176
|
} else if (!model) {
|
|
181
|
-
return /*#__PURE__*/
|
|
177
|
+
return /*#__PURE__*/React.createElement(DisplayError, null, "There is no model for the ACO App: ", /*#__PURE__*/React.createElement("strong", null, id), "!");
|
|
182
178
|
}
|
|
183
|
-
return /*#__PURE__*/
|
|
179
|
+
return /*#__PURE__*/React.createElement(AcoAppContext.Provider, {
|
|
184
180
|
value: value
|
|
185
|
-
}, /*#__PURE__*/
|
|
181
|
+
}, /*#__PURE__*/React.createElement(FoldersContextProvider, null, /*#__PURE__*/React.createElement(SearchRecordsContextProvider, null, /*#__PURE__*/React.createElement(NavigateFolderWithRouterProvider, {
|
|
186
182
|
folderIdQueryString: folderIdQueryString,
|
|
187
183
|
createListLink: createNavigateFolderListLink,
|
|
188
184
|
createStorageKey: createNavigateFolderStorageKey
|
|
189
|
-
}, /*#__PURE__*/
|
|
185
|
+
}, /*#__PURE__*/React.createElement(AcoListProvider, {
|
|
190
186
|
own: own,
|
|
191
187
|
titleFieldId: model.titleFieldId
|
|
192
|
-
}, /*#__PURE__*/
|
|
188
|
+
}, /*#__PURE__*/React.createElement(DialogsProvider, null, children))))));
|
|
193
189
|
};
|
|
194
190
|
|
|
195
191
|
//# sourceMappingURL=app.js.map
|
package/contexts/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_Progress","_appAdmin","_app","_folders","_records","_DisplayError","_navigateFolderWithRouter","_acoList","AcoAppContext","exports","React","createContext","undefined","createAppFromModel","data","_objectSpread2","default","getFields","model","fields","createApiApp","console","error","dataField","find","f","fieldId","concat","id","settings","AcoAppProvider","_ref","children","client","inputModel","folderIdQueryString","createNavigateFolderListLink","createNavigateFolderStorageKey","initialFolderIdPath","folderIdPath","own","_useState","useState","loading","app","mode","_useState2","_slicedToArray2","state","setState","folderIdInPath","useEffect","prev","query","createGetAppQuery","variables","then","response","_ref2","aco","message","code","modelId","value","useMemo","createElement","CircularProgress","DisplayError","Provider","FoldersProvider","SearchRecordsProvider","NavigateFolderWithRouterProvider","createListLink","createStorageKey","AcoListProvider","titleFieldId","DialogsProvider"],"sources":["app.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from \"react\";\nimport { ApolloClient } from \"apollo-client\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { DialogsProvider } from \"@webiny/app-admin\";\nimport { AcoApp, AcoAppMode, AcoError, AcoModel, AcoModelField } from \"~/types\";\nimport { createGetAppQuery, GetAppResult, GetAppVariables } from \"~/graphql/app.gql\";\nimport { FoldersProvider as FoldersContextProvider } from \"./folders\";\nimport { SearchRecordsProvider as SearchRecordsContextProvider } from \"./records\";\nimport { DisplayError } from \"./DisplayError\";\nimport { NavigateFolderWithRouterProvider } from \"~/contexts/navigateFolderWithRouter\";\nimport { AcoListProvider } from \"~/contexts/acoList\";\n\nexport interface AcoAppProviderContext {\n app: AcoApp;\n folderIdPath: string;\n folderIdInPath: string;\n model: AcoModel;\n client: ApolloClient<any>;\n loading: boolean;\n error?: AcoError | null;\n mode: AcoAppMode;\n}\n\ninterface AcoAppProviderState {\n loading: boolean;\n app?: AcoApp | null;\n model?: AcoModel | null;\n error?: AcoError | null;\n mode: AcoAppMode;\n}\n\nexport const AcoAppContext = React.createContext<AcoAppProviderContext | undefined>(undefined);\n\ninterface BaseAcoAppProviderProps {\n children: React.ReactNode;\n id: string;\n folderIdPath?: string;\n folderIdQueryString?: string;\n client: ApolloClient<any>;\n createNavigateFolderListLink?: () => string;\n createNavigateFolderStorageKey: () => string;\n own?: boolean;\n}\n\nexport interface AcoAppProviderPropsApi extends BaseAcoAppProviderProps {\n model?: never;\n getFields?: never;\n}\n\nexport interface AcoAppProviderPropsManual extends BaseAcoAppProviderProps {\n model: AcoModel;\n getFields?: () => AcoModelField[];\n}\n\nexport type AcoAppProviderProps = AcoAppProviderPropsApi | AcoAppProviderPropsManual;\n\ninterface CreateAppParams {\n id: string;\n model: AcoModel;\n getFields?: () => AcoModelField[];\n}\n\nexport const createAppFromModel = (data: CreateAppParams): AcoApp => {\n return {\n ...data,\n getFields:\n data.getFields ||\n (() => {\n return data.model.fields;\n })\n };\n};\n\ninterface CreateApiAppParams {\n id: string;\n model: AcoModel;\n}\n\nconst createApiApp = (data: CreateApiAppParams | null): AcoApp | null => {\n if (!data) {\n console.error(`The APP could not be created. No data received.`);\n return null;\n }\n const dataField = data.model.fields.find(f => f.fieldId === \"data\");\n if (!dataField) {\n console.error(`The APP \"${data.id}\" does not have the data field.`);\n return null;\n }\n return {\n ...data,\n getFields: () => {\n return dataField?.settings?.fields || [];\n }\n };\n};\n\nexport const AcoAppProvider = ({\n children,\n id,\n client,\n model: inputModel,\n getFields,\n folderIdQueryString,\n createNavigateFolderListLink,\n createNavigateFolderStorageKey,\n folderIdPath: initialFolderIdPath,\n own\n}: AcoAppProviderProps) => {\n const [state, setState] = useState<AcoAppProviderState>({\n loading: false,\n app: null,\n model: null,\n error: null,\n mode: \"aco\"\n });\n const folderIdPath = initialFolderIdPath || \"location.folderId\";\n const folderIdInPath = folderIdPath + \"_in\";\n\n /**\n * The APP Provider can operate in two modes:\n * * `app` - when the `id` is provided, the app is fetched from the API\n * * `model` - when the `model` is provided, the app is created from the model\n */\n useEffect(() => {\n if (!id) {\n return;\n }\n /**\n * In the `model` mode, we don't need to fetch the app from the API.\n * BUT, the input model must be `undefined`. In case it's `null`, just return because there will be a model at a point.\n */\n if (inputModel !== undefined) {\n if (!inputModel) {\n return;\n }\n setState(prev => {\n return {\n ...prev,\n loading: false,\n model: inputModel,\n app: createAppFromModel({\n id,\n model: inputModel,\n getFields\n }),\n mode: \"cms\"\n };\n });\n return;\n }\n if (id === state.app?.id) {\n return;\n }\n setState(prev => {\n return {\n ...prev,\n loading: true\n };\n });\n client\n .query<GetAppResult, GetAppVariables>({\n query: createGetAppQuery(),\n variables: {\n id\n }\n })\n .then(response => {\n const { data, error } = response.data.aco?.app || {};\n\n if (error) {\n setState(prev => {\n return {\n ...prev,\n loading: false,\n app: null,\n model: null,\n error,\n mode: \"aco\"\n };\n });\n return;\n }\n\n setState(prev => {\n const app = createApiApp(data);\n if (!app) {\n return {\n ...prev,\n loading: false,\n app: null,\n model: null,\n mode: \"aco\",\n error: {\n message: `App \"${id}\" not found!`,\n code: \"APP_NOT_FOUND\"\n }\n };\n }\n return {\n ...prev,\n loading: false,\n app,\n model: app.model,\n error: null,\n mode: \"aco\"\n };\n });\n });\n }, [id, inputModel?.modelId]);\n\n const { app, model, error, loading, mode } = state;\n\n const value = useMemo<AcoAppProviderContext>(() => {\n return {\n app: app as AcoApp,\n folderIdPath,\n folderIdInPath,\n loading,\n client,\n model: model as AcoModel,\n error,\n mode\n };\n }, [app?.id, loading, error, model, client, mode]);\n /**\n * Do not render anything yet if there is no application.\n */\n if (error) {\n return <div>Error: {error.message}</div>;\n } else if (loading) {\n return <CircularProgress />;\n } else if (!app) {\n return (\n <DisplayError>\n There is no ACO App: <strong>{id}</strong>!\n </DisplayError>\n );\n } else if (!model) {\n return (\n <DisplayError>\n There is no model for the ACO App: <strong>{id}</strong>!\n </DisplayError>\n );\n }\n\n return (\n <AcoAppContext.Provider value={value}>\n <FoldersContextProvider>\n <SearchRecordsContextProvider>\n <NavigateFolderWithRouterProvider\n folderIdQueryString={folderIdQueryString}\n createListLink={createNavigateFolderListLink}\n createStorageKey={createNavigateFolderStorageKey}\n >\n <AcoListProvider own={own} titleFieldId={model.titleFieldId}>\n <DialogsProvider>{children}</DialogsProvider>\n </AcoListProvider>\n </NavigateFolderWithRouterProvider>\n </SearchRecordsContextProvider>\n </FoldersContextProvider>\n </AcoAppContext.Provider>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useEffect","useMemo","useState","DialogsProvider","createGetAppQuery","FoldersProvider","FoldersContextProvider","SearchRecordsProvider","SearchRecordsContextProvider","DisplayError","Loading","NavigateFolderWithRouterProvider","AcoListProvider","AcoAppContext","createContext","undefined","createAppFromModel","data","getFields","model","fields","createApiApp","console","error","dataField","find","f","fieldId","id","settings","AcoAppProvider","children","client","inputModel","folderIdQueryString","createNavigateFolderListLink","createNavigateFolderStorageKey","folderIdPath","initialFolderIdPath","own","state","setState","loading","app","mode","folderIdInPath","prev","query","variables","then","response","aco","message","code","modelId","value","createElement","Provider","createListLink","createStorageKey","titleFieldId"],"sources":["app.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from \"react\";\nimport { ApolloClient } from \"apollo-client\";\nimport { DialogsProvider } from \"@webiny/app-admin\";\nimport { AcoApp, AcoAppMode, AcoError, AcoModel, AcoModelField } from \"~/types\";\nimport { createGetAppQuery, GetAppResult, GetAppVariables } from \"~/graphql/app.gql\";\nimport { FoldersProvider as FoldersContextProvider } from \"./folders\";\nimport { SearchRecordsProvider as SearchRecordsContextProvider } from \"./records\";\nimport { DisplayError } from \"./DisplayError\";\nimport { Loading } from \"./Loading\";\nimport { NavigateFolderWithRouterProvider } from \"~/contexts/navigateFolderWithRouter\";\nimport { AcoListProvider } from \"~/contexts/acoList\";\n\nexport interface AcoAppProviderContext {\n app: AcoApp;\n folderIdPath: string;\n folderIdInPath: string;\n model: AcoModel;\n client: ApolloClient<any>;\n loading: boolean;\n error?: AcoError | null;\n mode: AcoAppMode;\n}\n\ninterface AcoAppProviderState {\n loading: boolean;\n app?: AcoApp | null;\n model?: AcoModel | null;\n error?: AcoError | null;\n mode: AcoAppMode;\n}\n\nexport const AcoAppContext = React.createContext<AcoAppProviderContext | undefined>(undefined);\n\ninterface BaseAcoAppProviderProps {\n children: React.ReactNode;\n id: string;\n folderIdPath?: string;\n folderIdQueryString?: string;\n client: ApolloClient<any>;\n createNavigateFolderListLink?: () => string;\n createNavigateFolderStorageKey: () => string;\n own?: boolean;\n}\n\nexport interface AcoAppProviderPropsApi extends BaseAcoAppProviderProps {\n model?: never;\n getFields?: never;\n}\n\nexport interface AcoAppProviderPropsManual extends BaseAcoAppProviderProps {\n model: AcoModel;\n getFields?: () => AcoModelField[];\n}\n\nexport type AcoAppProviderProps = AcoAppProviderPropsApi | AcoAppProviderPropsManual;\n\ninterface CreateAppParams {\n id: string;\n model: AcoModel;\n getFields?: () => AcoModelField[];\n}\n\nexport const createAppFromModel = (data: CreateAppParams): AcoApp => {\n return {\n ...data,\n getFields:\n data.getFields ||\n (() => {\n return data.model.fields;\n })\n };\n};\n\ninterface CreateApiAppParams {\n id: string;\n model: AcoModel;\n}\n\nconst createApiApp = (data: CreateApiAppParams | null): AcoApp | null => {\n if (!data) {\n console.error(`The APP could not be created. No data received.`);\n return null;\n }\n const dataField = data.model.fields.find(f => f.fieldId === \"data\");\n if (!dataField) {\n console.error(`The APP \"${data.id}\" does not have the data field.`);\n return null;\n }\n return {\n ...data,\n getFields: () => {\n return dataField?.settings?.fields || [];\n }\n };\n};\n\nexport const AcoAppProvider = ({\n children,\n id,\n client,\n model: inputModel,\n getFields,\n folderIdQueryString,\n createNavigateFolderListLink,\n createNavigateFolderStorageKey,\n folderIdPath: initialFolderIdPath,\n own\n}: AcoAppProviderProps) => {\n const [state, setState] = useState<AcoAppProviderState>({\n loading: false,\n app: null,\n model: null,\n error: null,\n mode: \"aco\"\n });\n const folderIdPath = initialFolderIdPath || \"location.folderId\";\n const folderIdInPath = folderIdPath + \"_in\";\n\n /**\n * The APP Provider can operate in two modes:\n * * `app` - when the `id` is provided, the app is fetched from the API\n * * `model` - when the `model` is provided, the app is created from the model\n */\n useEffect(() => {\n if (!id) {\n return;\n }\n /**\n * In the `model` mode, we don't need to fetch the app from the API.\n * BUT, the input model must be `undefined`. In case it's `null`, just return because there will be a model at a point.\n */\n if (inputModel !== undefined) {\n if (!inputModel) {\n return;\n }\n setState(prev => {\n return {\n ...prev,\n loading: false,\n model: inputModel,\n app: createAppFromModel({\n id,\n model: inputModel,\n getFields\n }),\n mode: \"cms\"\n };\n });\n return;\n }\n if (id === state.app?.id) {\n return;\n }\n setState(prev => {\n return {\n ...prev,\n loading: true\n };\n });\n client\n .query<GetAppResult, GetAppVariables>({\n query: createGetAppQuery(),\n variables: {\n id\n }\n })\n .then(response => {\n const { data, error } = response.data.aco?.app || {};\n\n if (error) {\n setState(prev => {\n return {\n ...prev,\n loading: false,\n app: null,\n model: null,\n error,\n mode: \"aco\"\n };\n });\n return;\n }\n\n setState(prev => {\n const app = createApiApp(data);\n if (!app) {\n return {\n ...prev,\n loading: false,\n app: null,\n model: null,\n mode: \"aco\",\n error: {\n message: `App \"${id}\" not found!`,\n code: \"APP_NOT_FOUND\"\n }\n };\n }\n return {\n ...prev,\n loading: false,\n app,\n model: app.model,\n error: null,\n mode: \"aco\"\n };\n });\n });\n }, [id, inputModel?.modelId]);\n\n const { app, model, error, loading, mode } = state;\n\n const value = useMemo<AcoAppProviderContext>(() => {\n return {\n app: app as AcoApp,\n folderIdPath,\n folderIdInPath,\n loading,\n client,\n model: model as AcoModel,\n error,\n mode\n };\n }, [app?.id, loading, error, model, client, mode]);\n /**\n * Do not render anything yet if there is no application.\n */\n if (error) {\n return <div>Error: {error.message}</div>;\n } else if (loading) {\n return <Loading />;\n } else if (!app) {\n return (\n <DisplayError>\n There is no ACO App: <strong>{id}</strong>!\n </DisplayError>\n );\n } else if (!model) {\n return (\n <DisplayError>\n There is no model for the ACO App: <strong>{id}</strong>!\n </DisplayError>\n );\n }\n\n return (\n <AcoAppContext.Provider value={value}>\n <FoldersContextProvider>\n <SearchRecordsContextProvider>\n <NavigateFolderWithRouterProvider\n folderIdQueryString={folderIdQueryString}\n createListLink={createNavigateFolderListLink}\n createStorageKey={createNavigateFolderStorageKey}\n >\n <AcoListProvider own={own} titleFieldId={model.titleFieldId}>\n <DialogsProvider>{children}</DialogsProvider>\n </AcoListProvider>\n </NavigateFolderWithRouterProvider>\n </SearchRecordsContextProvider>\n </FoldersContextProvider>\n </AcoAppContext.Provider>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
package/contexts/folder.js
CHANGED
|
@@ -1,22 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
})
|
|
7
|
-
exports.FolderProvider = exports.FolderContext = void 0;
|
|
8
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
var FolderContext = exports.FolderContext = /*#__PURE__*/(0, _react.createContext)(undefined);
|
|
10
|
-
var FolderProvider = exports.FolderProvider = function FolderProvider(_ref) {
|
|
11
|
-
var folder = _ref.folder,
|
|
12
|
-
children = _ref.children;
|
|
1
|
+
import React, { createContext } from "react";
|
|
2
|
+
export const FolderContext = /*#__PURE__*/createContext(undefined);
|
|
3
|
+
export const FolderProvider = ({
|
|
4
|
+
folder,
|
|
5
|
+
children
|
|
6
|
+
}) => {
|
|
13
7
|
if (!folder) {
|
|
14
8
|
return null;
|
|
15
9
|
}
|
|
16
|
-
|
|
17
|
-
folder
|
|
10
|
+
const value = {
|
|
11
|
+
folder
|
|
18
12
|
};
|
|
19
|
-
return /*#__PURE__*/
|
|
13
|
+
return /*#__PURE__*/React.createElement(FolderContext.Provider, {
|
|
20
14
|
value: value
|
|
21
15
|
}, children);
|
|
22
16
|
};
|
package/contexts/folder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["React","createContext","FolderContext","undefined","FolderProvider","folder","children","value","createElement","Provider"],"sources":["folder.tsx"],"sourcesContent":["import React, { createContext } from \"react\";\nimport { FolderItem } from \"~/types\";\n\nexport interface FolderContext {\n folder: FolderItem;\n}\n\nexport const FolderContext = createContext<FolderContext | undefined>(undefined);\n\ninterface FolderProviderProps {\n folder: FolderItem | undefined;\n children: React.ReactNode;\n}\n\nexport const FolderProvider = ({ folder, children }: FolderProviderProps) => {\n if (!folder) {\n return null;\n }\n\n const value: FolderContext = { folder };\n\n return <FolderContext.Provider value={value}>{children}</FolderContext.Provider>;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,QAAQ,OAAO;AAO5C,OAAO,MAAMC,aAAa,gBAAGD,aAAa,CAA4BE,SAAS,CAAC;AAOhF,OAAO,MAAMC,cAAc,GAAGA,CAAC;EAAEC,MAAM;EAAEC;AAA8B,CAAC,KAAK;EACzE,IAAI,CAACD,MAAM,EAAE;IACT,OAAO,IAAI;EACf;EAEA,MAAME,KAAoB,GAAG;IAAEF;EAAO,CAAC;EAEvC,oBAAOL,KAAA,CAAAQ,aAAA,CAACN,aAAa,CAACO,QAAQ;IAACF,KAAK,EAAEA;EAAM,GAAED,QAAiC,CAAC;AACpF,CAAC","ignoreList":[]}
|
package/contexts/folders.js
CHANGED
|
@@ -1,31 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
})
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
var _app = require("./app");
|
|
12
|
-
var _excluded = ["children"];
|
|
13
|
-
var FoldersContext = exports.FoldersContext = /*#__PURE__*/_react.default.createContext(undefined);
|
|
14
|
-
var FoldersProvider = exports.FoldersProvider = function FoldersProvider(_ref) {
|
|
15
|
-
var children = _ref.children,
|
|
16
|
-
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
17
|
-
var appContext = (0, _react.useContext)(_app.AcoAppContext);
|
|
18
|
-
var app = appContext ? appContext.app : undefined;
|
|
19
|
-
var type = props.type ?? app?.id;
|
|
1
|
+
import React, { useContext, useMemo } from "react";
|
|
2
|
+
import { AcoAppContext } from "./app";
|
|
3
|
+
export const FoldersContext = /*#__PURE__*/React.createContext(undefined);
|
|
4
|
+
export const FoldersProvider = ({
|
|
5
|
+
children,
|
|
6
|
+
...props
|
|
7
|
+
}) => {
|
|
8
|
+
const appContext = useContext(AcoAppContext);
|
|
9
|
+
const app = appContext ? appContext.app : undefined;
|
|
10
|
+
const type = props.type ?? app?.id;
|
|
20
11
|
if (!type) {
|
|
21
|
-
throw Error(
|
|
12
|
+
throw Error(`FoldersProvider requires a "type" prop or an AcoAppContext to be available!`);
|
|
22
13
|
}
|
|
23
|
-
|
|
14
|
+
const context = useMemo(() => {
|
|
24
15
|
return {
|
|
25
|
-
type
|
|
16
|
+
type
|
|
26
17
|
};
|
|
27
18
|
}, [type]);
|
|
28
|
-
return /*#__PURE__*/
|
|
19
|
+
return /*#__PURE__*/React.createElement(FoldersContext.Provider, {
|
|
29
20
|
value: context
|
|
30
21
|
}, children);
|
|
31
22
|
};
|
package/contexts/folders.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["React","useContext","useMemo","AcoAppContext","FoldersContext","createContext","undefined","FoldersProvider","children","props","appContext","app","type","id","Error","context","createElement","Provider","value"],"sources":["folders.tsx"],"sourcesContent":["import React, { ReactNode, useContext, useMemo } from \"react\";\nimport { AcoAppContext } from \"~/contexts/app\";\n\ninterface FoldersContext {\n type?: string | null;\n}\n\nexport const FoldersContext = React.createContext<FoldersContext | undefined>(undefined);\n\ninterface Props {\n type?: string;\n children: ReactNode;\n}\n\nexport const FoldersProvider = ({ children, ...props }: Props) => {\n const appContext = useContext(AcoAppContext);\n\n const app = appContext ? appContext.app : undefined;\n\n const type = props.type ?? app?.id;\n\n if (!type) {\n throw Error(`FoldersProvider requires a \"type\" prop or an AcoAppContext to be available!`);\n }\n\n const context = useMemo<FoldersContext>(() => {\n return {\n type\n };\n }, [type]);\n\n return <FoldersContext.Provider value={context}>{children}</FoldersContext.Provider>;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAeC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAC7D,SAASC,aAAa;AAMtB,OAAO,MAAMC,cAAc,gBAAGJ,KAAK,CAACK,aAAa,CAA6BC,SAAS,CAAC;AAOxF,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAa,CAAC,KAAK;EAC9D,MAAMC,UAAU,GAAGT,UAAU,CAACE,aAAa,CAAC;EAE5C,MAAMQ,GAAG,GAAGD,UAAU,GAAGA,UAAU,CAACC,GAAG,GAAGL,SAAS;EAEnD,MAAMM,IAAI,GAAGH,KAAK,CAACG,IAAI,IAAID,GAAG,EAAEE,EAAE;EAElC,IAAI,CAACD,IAAI,EAAE;IACP,MAAME,KAAK,CAAC,6EAA6E,CAAC;EAC9F;EAEA,MAAMC,OAAO,GAAGb,OAAO,CAAiB,MAAM;IAC1C,OAAO;MACHU;IACJ,CAAC;EACL,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,oBAAOZ,KAAA,CAAAgB,aAAA,CAACZ,cAAc,CAACa,QAAQ;IAACC,KAAK,EAAEH;EAAQ,GAAEP,QAAkC,CAAC;AACxF,CAAC","ignoreList":[]}
|