Filter out current playlist on playlist operators
This commit is contained in:
parent
ce0c07ebdb
commit
683bb0222c
2 changed files with 23 additions and 6 deletions
|
@ -57,6 +57,7 @@ interface PlaylistQueryBuilderProps {
|
||||||
parsedFilter: any,
|
parsedFilter: any,
|
||||||
extraFilters: { limit?: number; sortBy?: string; sortOrder?: string },
|
extraFilters: { limit?: number; sortBy?: string; sortOrder?: string },
|
||||||
) => void;
|
) => void;
|
||||||
|
playlistId?: string;
|
||||||
query: any;
|
query: any;
|
||||||
sortBy: SongListSort;
|
sortBy: SongListSort;
|
||||||
sortOrder: 'asc' | 'desc';
|
sortOrder: 'asc' | 'desc';
|
||||||
|
@ -89,7 +90,16 @@ export type PlaylistQueryBuilderRef = {
|
||||||
|
|
||||||
export const PlaylistQueryBuilder = forwardRef(
|
export const PlaylistQueryBuilder = forwardRef(
|
||||||
(
|
(
|
||||||
{ sortOrder, sortBy, limit, isSaving, query, onSave, onSaveAs }: PlaylistQueryBuilderProps,
|
{
|
||||||
|
sortOrder,
|
||||||
|
sortBy,
|
||||||
|
limit,
|
||||||
|
isSaving,
|
||||||
|
query,
|
||||||
|
onSave,
|
||||||
|
onSaveAs,
|
||||||
|
playlistId,
|
||||||
|
}: PlaylistQueryBuilderProps,
|
||||||
ref: Ref<PlaylistQueryBuilderRef>,
|
ref: Ref<PlaylistQueryBuilderRef>,
|
||||||
) => {
|
) => {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
@ -105,11 +115,17 @@ export const PlaylistQueryBuilder = forwardRef(
|
||||||
|
|
||||||
const playlistData = useMemo(() => {
|
const playlistData = useMemo(() => {
|
||||||
if (!playlists) return [];
|
if (!playlists) return [];
|
||||||
return playlists.items.map((p) => ({
|
|
||||||
|
return playlists.items
|
||||||
|
.filter((p) => {
|
||||||
|
if (!playlistId) return true;
|
||||||
|
return p.id !== playlistId;
|
||||||
|
})
|
||||||
|
.map((p) => ({
|
||||||
label: p.name,
|
label: p.name,
|
||||||
value: p.id,
|
value: p.id,
|
||||||
}));
|
}));
|
||||||
}, [playlists]);
|
}, [playlistId, playlists]);
|
||||||
|
|
||||||
const extraFiltersForm = useForm({
|
const extraFiltersForm = useForm({
|
||||||
initialValues: {
|
initialValues: {
|
||||||
|
|
|
@ -196,6 +196,7 @@ const PlaylistDetailSongListRoute = () => {
|
||||||
key={JSON.stringify(detailQuery?.data?.rules)}
|
key={JSON.stringify(detailQuery?.data?.rules)}
|
||||||
isSaving={createPlaylistMutation?.isLoading}
|
isSaving={createPlaylistMutation?.isLoading}
|
||||||
limit={detailQuery?.data?.rules?.limit}
|
limit={detailQuery?.data?.rules?.limit}
|
||||||
|
playlistId={playlistId}
|
||||||
query={detailQuery?.data?.rules}
|
query={detailQuery?.data?.rules}
|
||||||
sortBy={detailQuery?.data?.rules?.sort || SongListSort.ALBUM}
|
sortBy={detailQuery?.data?.rules?.sort || SongListSort.ALBUM}
|
||||||
sortOrder={detailQuery?.data?.rules?.order || 'asc'}
|
sortOrder={detailQuery?.data?.rules?.order || 'asc'}
|
||||||
|
|
Reference in a new issue