mirror of
https://github.com/antebudimir/feishin.git
synced 2025-12-31 18:13:31 +00:00
simplify disc/subtitle for album list
This commit is contained in:
parent
b41a1a8b15
commit
8a8542ddb1
3 changed files with 32 additions and 20 deletions
|
|
@ -19,8 +19,11 @@ export const FullWidthDiscCell = ({ node, data, api }: ICellRendererParams) => {
|
|||
|
||||
const handleToggleDiscNodes = () => {
|
||||
if (!data) return;
|
||||
const discNumber = Number(node.data.id.split('-')[1]);
|
||||
const nodes = getNodesByDiscNumber({ api, discNumber });
|
||||
const split: string[] = node.data.id.split('-');
|
||||
const discNumber = Number(split[1]);
|
||||
// the subtitle could have '-' in it; make sure to have all remaining items
|
||||
const subtitle = split.length === 3 ? split.slice(2).join('-') : null;
|
||||
const nodes = getNodesByDiscNumber({ api, discNumber, subtitle });
|
||||
|
||||
setNodeSelection({ isSelected: !isSelected, nodes });
|
||||
setIsSelected((prev) => !prev);
|
||||
|
|
|
|||
|
|
@ -1,11 +1,16 @@
|
|||
import { GridApi, RowNode } from '@ag-grid-community/core';
|
||||
|
||||
export const getNodesByDiscNumber = (args: { api: GridApi; discNumber: number }) => {
|
||||
const { api, discNumber } = args;
|
||||
export const getNodesByDiscNumber = (args: {
|
||||
api: GridApi;
|
||||
discNumber: number;
|
||||
subtitle: string | null;
|
||||
}) => {
|
||||
const { api, discNumber, subtitle } = args;
|
||||
|
||||
const nodes: RowNode<any>[] = [];
|
||||
api.forEachNode((node) => {
|
||||
if (node.data.discNumber === discNumber) nodes.push(node);
|
||||
if (node.data.discNumber === discNumber && node.data.discSubtitle === subtitle)
|
||||
nodes.push(node);
|
||||
});
|
||||
|
||||
return nodes;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue