mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-10 04:30:25 +02:00
Filter out current playlist on playlist operators
This commit is contained in:
@@ -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) => ({
|
|
||||||
label: p.name,
|
return playlists.items
|
||||||
value: p.id,
|
.filter((p) => {
|
||||||
}));
|
if (!playlistId) return true;
|
||||||
}, [playlists]);
|
return p.id !== playlistId;
|
||||||
|
})
|
||||||
|
.map((p) => ({
|
||||||
|
label: p.name,
|
||||||
|
value: p.id,
|
||||||
|
}));
|
||||||
|
}, [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 New Issue
Block a user