added and implemented SHOW_SORT_ORDER_OVERFLOW_MENU and UPDATE_COLLECTION_FILES_ORDER actions
This commit is contained in:
parent
67c442dd77
commit
112738d2bb
|
@ -1,8 +1,9 @@
|
|||
import { AlbumCollectionOption } from './AlbumCollectionOption';
|
||||
import React, { useContext } from 'react';
|
||||
import React, { useContext, useRef, useState } from 'react';
|
||||
import * as CollectionAPI from 'services/collectionService';
|
||||
import * as TrashService from 'services/trashService';
|
||||
import {
|
||||
changeCollectionOrder,
|
||||
changeCollectionVisibility,
|
||||
downloadAllCollectionFiles,
|
||||
downloadHiddenFiles,
|
||||
|
@ -25,6 +26,7 @@ import { HorizontalFlex } from 'components/Container';
|
|||
import { Trans } from 'react-i18next';
|
||||
import { t } from 'i18next';
|
||||
import { Box } from '@mui/material';
|
||||
import { CollectionFileSortOrderMenu } from './CollectionFileSort';
|
||||
|
||||
interface CollectionOptionsProps {
|
||||
setCollectionNamerAttributes: SetCollectionNamerAttributes;
|
||||
|
@ -49,6 +51,8 @@ export enum CollectionActions {
|
|||
EMPTY_TRASH,
|
||||
CONFIRM_LEAVE_SHARED_ALBUM,
|
||||
LEAVE_SHARED_ALBUM,
|
||||
SHOW_SORT_ORDER_OVERFLOW_MENU,
|
||||
UPDATE_COLLECTION_FILES_ORDER,
|
||||
}
|
||||
|
||||
const CollectionOptions = (props: CollectionOptionsProps) => {
|
||||
|
@ -63,6 +67,16 @@ const CollectionOptions = (props: CollectionOptionsProps) => {
|
|||
const { startLoading, finishLoading, setDialogMessage } =
|
||||
useContext(AppContext);
|
||||
const { syncWithRemote } = useContext(GalleryContext);
|
||||
const overFlowMenuIconRef = useRef<SVGSVGElement>(null);
|
||||
const [collectionFileSortOptionView, setCollectionFileSortOptionView] =
|
||||
useState(false);
|
||||
|
||||
const openCollectionFileSortOption = () => {
|
||||
setCollectionFileSortOptionView(true);
|
||||
};
|
||||
const closeCollectionFileSortOption = () => {
|
||||
setCollectionFileSortOptionView(false);
|
||||
};
|
||||
|
||||
const handleCollectionAction = (
|
||||
action: CollectionActions,
|
||||
|
@ -112,6 +126,12 @@ const CollectionOptions = (props: CollectionOptionsProps) => {
|
|||
case CollectionActions.LEAVE_SHARED_ALBUM:
|
||||
callback = leaveSharedAlbum;
|
||||
break;
|
||||
case CollectionActions.SHOW_SORT_ORDER_OVERFLOW_MENU:
|
||||
callback = openCollectionFileSortOption;
|
||||
break;
|
||||
case CollectionActions.UPDATE_COLLECTION_FILES_ORDER:
|
||||
callback = updateCollectionFilesOrder;
|
||||
break;
|
||||
default:
|
||||
logError(
|
||||
Error('invalid collection action '),
|
||||
|
@ -266,6 +286,10 @@ const CollectionOptions = (props: CollectionOptionsProps) => {
|
|||
});
|
||||
};
|
||||
|
||||
const updateCollectionFilesOrder = async (asc: boolean) => {
|
||||
await changeCollectionOrder(activeCollection, asc);
|
||||
};
|
||||
|
||||
return (
|
||||
<HorizontalFlex sx={{ display: 'inline-flex', gap: '16px' }}>
|
||||
<QuickOptions
|
||||
|
@ -275,7 +299,7 @@ const CollectionOptions = (props: CollectionOptionsProps) => {
|
|||
|
||||
<OverflowMenu
|
||||
ariaControls={'collection-options'}
|
||||
triggerButtonIcon={<MoreHoriz />}>
|
||||
triggerButtonIcon={<MoreHoriz ref={overFlowMenuIconRef} />}>
|
||||
{collectionSummaryType === CollectionSummaryType.trash ? (
|
||||
<TrashCollectionOption
|
||||
handleCollectionAction={handleCollectionAction}
|
||||
|
@ -309,6 +333,14 @@ const CollectionOptions = (props: CollectionOptionsProps) => {
|
|||
/>
|
||||
)}
|
||||
</OverflowMenu>
|
||||
<CollectionFileSortOrderMenu
|
||||
handleCollectionAction={handleCollectionAction}
|
||||
overFlowMenuIconRef={overFlowMenuIconRef}
|
||||
collectionFileSortOptionView={collectionFileSortOptionView}
|
||||
closeCollectionFileSortOptionView={
|
||||
closeCollectionFileSortOption
|
||||
}
|
||||
/>
|
||||
</HorizontalFlex>
|
||||
);
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue