feat: multi-select contacts filter panel for groups sources and mood
This commit is contained in:
@@ -79,6 +79,19 @@ export function buildSearchWhere<W extends object>(
|
||||
return (parts.length === 1 ? parts[0] : { AND: parts }) as unknown as W;
|
||||
}
|
||||
|
||||
/** پارامتر چندتایی کوئری: «a,b,c» → ['a','b','c'] */
|
||||
export function splitCsv(raw: string | null | undefined, max = 50): string[] {
|
||||
if (!raw) return [];
|
||||
return [
|
||||
...new Set(
|
||||
String(raw)
|
||||
.split(',')
|
||||
.map((v) => v.trim())
|
||||
.filter(Boolean),
|
||||
),
|
||||
].slice(0, max);
|
||||
}
|
||||
|
||||
/** کمک برای فیلدهای متنی ساده: `{ field: { contains, mode: 'insensitive' } }` */
|
||||
export function ci(term: string) {
|
||||
return { contains: term, mode: 'insensitive' as const };
|
||||
|
||||
Reference in New Issue
Block a user