init search in ML CM

This commit is contained in:
ronronscelestes 2021-11-05 11:34:53 +01:00
parent 6d23a0e2da
commit b40aa45cf5
4 changed files with 66 additions and 31 deletions

View File

@ -4,6 +4,7 @@ import { useIntl } from 'react-intl';
import { Flex } from '@strapi/design-system/Flex';
import { Stack } from '@strapi/design-system/Stack';
import { BaseCheckbox } from '@strapi/design-system/BaseCheckbox';
import { Searchbar, SearchForm } from '@strapi/design-system/Searchbar';
import { AssetList } from '../../../AssetList';
import getTrad from '../../../../utils/getTrad';
import PaginationFooter from './PaginationFooter';
@ -14,10 +15,12 @@ export const BrowseStep = ({
assets,
onChangePage,
onChangePageSize,
onChangeSearch,
onChangeSort,
onEditAsset,
onSelectAllAsset,
onSelectAsset,
onSubmitSearch,
pagination,
queryObject,
selectedAssets,
@ -28,26 +31,39 @@ export const BrowseStep = ({
<>
<Stack size={4}>
{onSelectAllAsset && (
<Stack horizontal size={2}>
<Flex
paddingLeft={2}
paddingRight={2}
background="neutral0"
hasRadius
borderColor="neutral200"
height={`${32 / 16}rem`}
>
<BaseCheckbox
aria-label={formatMessage({
id: getTrad('bulk.select.label'),
defaultMessage: 'Select all assets',
})}
value={assets?.length > 0 && selectedAssets.length === assets?.length}
onChange={onSelectAllAsset}
/>
</Flex>
<SortPicker onChangeSort={onChangeSort} />
</Stack>
<Flex justifyContent="space-between">
<Stack horizontal size={2}>
<Flex
paddingLeft={2}
paddingRight={2}
background="neutral0"
hasRadius
borderColor="neutral200"
height={`${32 / 16}rem`}
>
<BaseCheckbox
aria-label={formatMessage({
id: getTrad('bulk.select.label'),
defaultMessage: 'Select all assets',
})}
value={assets?.length > 0 && selectedAssets.length === assets?.length}
onChange={onSelectAllAsset}
/>
</Flex>
<SortPicker onChangeSort={onChangeSort} />
</Stack>
<SearchForm onSubmit={onSubmitSearch}>
<Searchbar
name="searchbar"
onClear={() => {}}
onChange={onChangeSearch}
clearLabel="Clearing the asset search"
size="S"
>
Searching for an asset
</Searchbar>
</SearchForm>
</Flex>
)}
<AssetList
@ -71,7 +87,9 @@ export const BrowseStep = ({
};
BrowseStep.defaultProps = {
onChangeSearch: undefined,
onSelectAllAsset: undefined,
onSubmitSearch: undefined,
};
BrowseStep.propTypes = {
@ -79,9 +97,11 @@ BrowseStep.propTypes = {
onChangePage: PropTypes.func.isRequired,
onChangePageSize: PropTypes.func.isRequired,
onChangeSort: PropTypes.func.isRequired,
onChangeSearch: PropTypes.func,
onEditAsset: PropTypes.func.isRequired,
onSelectAsset: PropTypes.func.isRequired,
onSelectAllAsset: PropTypes.func,
onSubmitSearch: PropTypes.func,
queryObject: PropTypes.shape({
page: PropTypes.number.isRequired,
pageSize: PropTypes.number.isRequired,

View File

@ -31,7 +31,7 @@ export const AssetDialog = ({
const { canRead, canCreate, isLoading: isLoadingPermissions } = useMediaLibraryPermissions();
const [
{ rawQuery, queryObject },
{ onChangePage, onChangePageSize, onChangeSort },
{ onChangePage, onChangePageSize, onChangeSort, onChangeSearch, onSubmitSearch },
] = useModalQueryParams();
const { data, isLoading, error } = useModalAssets({ skipWhen: !canRead, rawQuery });
@ -166,6 +166,8 @@ export const AssetDialog = ({
onChangePage={onChangePage}
onChangePageSize={onChangePageSize}
onChangeSort={onChangeSort}
onChangeSearch={onChangeSearch}
onSubmitSearch={onSubmitSearch}
/>
</ModalBody>
</TabPanel>

View File

@ -145,16 +145,16 @@ export const MediaLibraryInput = ({
selectedAssetIndex={selectedIndex}
/>
{step === Steps.SelectAsset && (
<AssetDialog
initiallySelectedAssets={initiallySelectedAssets}
onClose={() => setStep(undefined)}
onValidate={handleValidation}
multiple={multiple}
onAddAsset={() => setStep(Steps.UploadAsset)}
uploadedFiles={uploadedFiles}
/>
)}
{/* {step === Steps.SelectAsset && ( */}
<AssetDialog
initiallySelectedAssets={initiallySelectedAssets}
onClose={() => setStep(undefined)}
onValidate={handleValidation}
multiple={multiple}
onAddAsset={() => setStep(Steps.UploadAsset)}
uploadedFiles={uploadedFiles}
/>
{/* )} */}
{step === Steps.UploadAsset && (
<UploadAssetDialog

View File

@ -21,12 +21,25 @@ const useModalQueryParams = () => {
setQueryObject(prev => ({ ...prev, sort }));
};
const handleChangeSearch = () => {
console.log('change search');
};
const handleSubmitSearch = e => {
e.preventDefault();
e.stopPropagation();
console.log('submit search');
};
return [
{ queryObject, rawQuery: stringify(queryObject, { encode: false }) },
{
onChangePage: handeChangePage,
onChangePageSize: handleChangePageSize,
onChangeSort: handleChangeSort,
onChangeSearch: handleChangeSearch,
onSubmitSearch: handleSubmitSearch,
},
];
};