From 9e2cdd33359ff8f88c4c5c6d3b126bd2ace2f9ee Mon Sep 17 00:00:00 2001 From: Ben Hollis Date: Thu, 8 Aug 2024 23:22:33 -0700 Subject: [PATCH] Handle shift-clicking on a whole cell full of perks in Compare --- src/app/organizer/Columns.tsx | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/src/app/organizer/Columns.tsx b/src/app/organizer/Columns.tsx index 9248801762..31770b9906 100644 --- a/src/app/organizer/Columns.tsx +++ b/src/app/organizer/Columns.tsx @@ -123,6 +123,16 @@ const perkStringSort: Comparator = (a, b) => { return 0; }; +const perkStringFilter = (value: string | undefined) => { + if (!value) { + return undefined; + } + return value + .split(',') + .map((perk) => `exactperk:"${perk}"`) + .join(' '); +}; + /** * This function generates the columns. */ @@ -582,8 +592,7 @@ export function getColumns( /> ), sort: perkStringSort, - filter: (value) => - typeof value === 'string' ? `exactperk:${quoteFilterString(value)}` : undefined, + filter: perkStringFilter, }), c({ id: 'perks', @@ -601,8 +610,7 @@ export function getColumns( ), sort: perkStringSort, - filter: (value) => - typeof value === 'string' ? `exactperk:${quoteFilterString(value)}` : undefined, + filter: perkStringFilter, csv: (_value, item, { maxPerks }) => { // This could go on any of the perks columns, since it computes a very // different view of perks, but I just picked one. @@ -635,8 +643,7 @@ export function getColumns( /> ), sort: perkStringSort, - filter: (value) => - typeof value === 'string' ? `exactperk:${quoteFilterString(value)}` : undefined, + filter: perkStringFilter, }), destinyVersion === 2 && @@ -654,8 +661,7 @@ export function getColumns( /> ), sort: perkStringSort, - filter: (value) => - typeof value === 'string' ? `exactperk:${quoteFilterString(value)}` : undefined, + filter: perkStringFilter, }), destinyVersion === 2 && !isSpreadsheet && @@ -671,8 +677,7 @@ export function getColumns( /> ), sort: perkStringSort, - filter: (value) => - typeof value === 'string' ? `exactperk:${quoteFilterString(value)}` : undefined, + filter: perkStringFilter, }), ...statColumns, ...baseStatColumns,