@shefing/quickfilter 1.0.37 → 1.0.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/lib/utils.js CHANGED
@@ -54,7 +54,7 @@ export const parseWhereClauseToFilterValues = (where, fields, locale)=>{
54
54
  if (fieldDef && condition && typeof condition === 'object') {
55
55
  if ('equals' in condition) {
56
56
  if (fieldDef.type === 'checkbox') {
57
- values[fieldName] = condition.equals == 'true' ? 'checked' : 'unchecked';
57
+ values[fieldName] = condition.equals == 'true' || condition.equals === true ? 'checked' : 'unchecked';
58
58
  } else if (fieldDef.type === 'select') {
59
59
  values[fieldName] = {
60
60
  selectedValues: [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/utils.ts"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\nimport { AppRouterInstance } from 'next/dist/shared/lib/app-router-context.shared-runtime'\nimport type {\n CheckboxFilterState,\n DateFilterValue,\n FilterDetaild,\n SelectFilterValue,\n} from '../filters/types/filters-type'\nimport { SupportedLocale } from '../labels'\nimport {\n futureOptionKeys,\n pastOptionKeys,\n} from '../filters/constants/date-filter-options'\nimport { getDateRangeForOption } from '../filters/utils/date-helpers'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n\nexport function handleNavigation(\n href: string,\n e: React.MouseEvent,\n pathname: string,\n router: AppRouterInstance,\n) {\n // Check if we're on holdings page and there's a navigation handler\n if (\n pathname === '/holdings' &&\n typeof window !== 'undefined' &&\n (window as unknown as Record<string, unknown>).holdingsNavigationHandler\n ) {\n const canNavigate = (\n (window as unknown as Record<string, unknown>).holdingsNavigationHandler as (\n href: string,\n ) => boolean\n )(href)\n if (!canNavigate) {\n e.preventDefault()\n return\n }\n }\n router.push(href)\n}\n\n// Translates URL query conditions to the quick filter's internal state\nexport const parseWhereClauseToFilterValues = (\n where: any,\n fields: FilterDetaild[],\n locale: SupportedLocale,\n): Record<string, any> => {\n const values: Record<string, any> = {}\n const fieldNames = new Set(fields.map((f) => f.name))\n\n const recursiveParse = (clause: any) => {\n if (!clause || typeof clause !== 'object') return\n\n if (clause.and) {\n clause.and.forEach(recursiveParse)\n return\n }\n if (clause.or) {\n if (clause.or.length > 1) {\n return\n }\n clause.or.forEach(recursiveParse)\n return\n }\n for (const fieldName in clause) {\n if (fieldNames.has(fieldName)) {\n const fieldDef = fields.find((f) => f.name === fieldName)\n const condition = clause[fieldName]\n\n // Handle string values for date fields (e.g., 'todayAndFuture')\n if (fieldDef && fieldDef.type === 'date' && typeof condition === 'string') {\n const predefinedValue = condition\n if ([...pastOptionKeys, ...futureOptionKeys].includes(predefinedValue as any)) {\n values[fieldName] = {\n type: 'predefined',\n predefinedValue,\n }\n continue\n }\n }\n\n if (fieldDef && condition && typeof condition === 'object') {\n if ('equals' in condition) {\n if (fieldDef.type === 'checkbox') {\n values[fieldName] = condition.equals == 'true' ? 'checked' : 'unchecked'\n } else if (fieldDef.type === 'select') {\n values[fieldName] = { selectedValues: [condition.equals] }\n }\n } else if ('in' in condition && Array.isArray(condition.in)) {\n if (fieldDef.type === 'select') {\n values[fieldName] = { selectedValues: condition.in }\n }\n } else if ('greater_than_equal' in condition || 'less_than_equal' in condition) {\n if (fieldDef.type === 'date') {\n const fromDate = condition.greater_than_equal\n ? new Date(condition.greater_than_equal)\n : null\n const toDate = condition.less_than_equal ? new Date(condition.less_than_equal) : null\n const allDateOptions = [...pastOptionKeys, ...futureOptionKeys]\n let matchedOption = null\n\n for (const option of allDateOptions) {\n const range = getDateRangeForOption(option, locale)\n let isFromMatch\n if (fromDate) {\n isFromMatch = range.from?.toDateString() === fromDate.toDateString()\n } else if (fromDate == null && range.to == undefined) {\n // all future: fromDate == null & range.to == undefined\n isFromMatch = true\n }\n let isToMatch\n if (toDate) {\n isToMatch = range.to?.toDateString() === toDate.toDateString()\n } else if (toDate == null && range.to == undefined) {\n // all future: fromDate == null & range.to == undefined\n isToMatch = true\n }\n\n if (isFromMatch && isToMatch) {\n matchedOption = option\n break\n }\n }\n\n if (matchedOption) {\n values[fieldName] = {\n type: 'predefined',\n predefinedValue: matchedOption,\n }\n } else {\n values[fieldName] = {\n type: 'custom',\n customRange: {\n from: fromDate,\n to: toDate,\n },\n }\n }\n }\n }\n }\n }\n }\n }\n\n recursiveParse(where)\n return values\n}\n// Builds an array of condition objects from the quick filter values\nexport const buildQuickFilterConditions = (\n values: Record<string, any>,\n fieldDefs: FilterDetaild[],\n locale: SupportedLocale,\n): Record<string, any>[] => {\n const conditions: Record<string, any>[] = []\n\n Object.entries(values).forEach(([fieldName, value]) => {\n if (!value) return\n const fieldDef = fieldDefs.find((f) => f.name === fieldName)\n if (!fieldDef) return\n\n let condition: Record<string, any> | null = null\n\n switch (fieldDef.type) {\n case 'date': {\n const dateValue = value as DateFilterValue\n let from: Date | undefined\n let to: Date | undefined\n\n if (dateValue.predefinedValue) {\n const range = getDateRangeForOption(dateValue.predefinedValue, locale)\n from = range.from\n to = range.to\n } else if (dateValue.customRange) {\n if (dateValue.customRange.from) from = new Date(dateValue.customRange.from)\n if (dateValue.customRange.to) to = new Date(dateValue.customRange.to)\n }\n\n if (from || to) {\n const dateQuery: any = {}\n if (from) dateQuery.greater_than_equal = from\n if (to) dateQuery.less_than_equal = to\n if (Object.keys(dateQuery).length > 0) {\n condition = { [fieldName]: dateQuery }\n }\n }\n break\n }\n case 'select': {\n const selectValue = value as SelectFilterValue\n if (selectValue.selectedValues && selectValue.selectedValues.length > 0) {\n if (selectValue.selectedValues.length === 1) {\n condition = { [fieldName]: { equals: selectValue.selectedValues[0] } }\n } else {\n condition = { [fieldName]: { in: selectValue.selectedValues } }\n }\n }\n break\n }\n case 'checkbox': {\n const checkboxState = value as CheckboxFilterState\n if (checkboxState === 'checked') {\n condition = { [fieldName]: { equals: 'true' } }\n } else if (checkboxState === 'unchecked') {\n condition = { [fieldName]: { equals: 'false' } }\n }\n break\n }\n }\n if (condition) {\n conditions.push(condition)\n }\n })\n return conditions\n}"],"names":["clsx","twMerge","futureOptionKeys","pastOptionKeys","getDateRangeForOption","cn","inputs","handleNavigation","href","e","pathname","router","window","holdingsNavigationHandler","canNavigate","preventDefault","push","parseWhereClauseToFilterValues","where","fields","locale","values","fieldNames","Set","map","f","name","recursiveParse","clause","and","forEach","or","length","fieldName","has","fieldDef","find","condition","type","predefinedValue","includes","equals","selectedValues","Array","isArray","in","fromDate","greater_than_equal","Date","toDate","less_than_equal","allDateOptions","matchedOption","option","range","isFromMatch","from","toDateString","to","undefined","isToMatch","customRange","buildQuickFilterConditions","fieldDefs","conditions","Object","entries","value","dateValue","dateQuery","keys","selectValue","checkboxState"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/lib/utils.ts"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\nimport { AppRouterInstance } from 'next/dist/shared/lib/app-router-context.shared-runtime'\nimport type {\n CheckboxFilterState,\n DateFilterValue,\n FilterDetaild,\n SelectFilterValue,\n} from '../filters/types/filters-type'\nimport { SupportedLocale } from '../labels'\nimport {\n futureOptionKeys,\n pastOptionKeys,\n} from '../filters/constants/date-filter-options'\nimport { getDateRangeForOption } from '../filters/utils/date-helpers'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n\nexport function handleNavigation(\n href: string,\n e: React.MouseEvent,\n pathname: string,\n router: AppRouterInstance,\n) {\n // Check if we're on holdings page and there's a navigation handler\n if (\n pathname === '/holdings' &&\n typeof window !== 'undefined' &&\n (window as unknown as Record<string, unknown>).holdingsNavigationHandler\n ) {\n const canNavigate = (\n (window as unknown as Record<string, unknown>).holdingsNavigationHandler as (\n href: string,\n ) => boolean\n )(href)\n if (!canNavigate) {\n e.preventDefault()\n return\n }\n }\n router.push(href)\n}\n\n// Translates URL query conditions to the quick filter's internal state\nexport const parseWhereClauseToFilterValues = (\n where: any,\n fields: FilterDetaild[],\n locale: SupportedLocale,\n): Record<string, any> => {\n const values: Record<string, any> = {}\n const fieldNames = new Set(fields.map((f) => f.name))\n\n const recursiveParse = (clause: any) => {\n if (!clause || typeof clause !== 'object') return\n\n if (clause.and) {\n clause.and.forEach(recursiveParse)\n return\n }\n if (clause.or) {\n if (clause.or.length > 1) {\n return\n }\n clause.or.forEach(recursiveParse)\n return\n }\n for (const fieldName in clause) {\n if (fieldNames.has(fieldName)) {\n const fieldDef = fields.find((f) => f.name === fieldName)\n const condition = clause[fieldName]\n\n // Handle string values for date fields (e.g., 'todayAndFuture')\n if (fieldDef && fieldDef.type === 'date' && typeof condition === 'string') {\n const predefinedValue = condition\n if ([...pastOptionKeys, ...futureOptionKeys].includes(predefinedValue as any)) {\n values[fieldName] = {\n type: 'predefined',\n predefinedValue,\n }\n continue\n }\n }\n\n if (fieldDef && condition && typeof condition === 'object') {\n if ('equals' in condition) {\n if (fieldDef.type === 'checkbox') {\n values[fieldName] = (condition.equals == 'true' || condition.equals === true) ? 'checked' : 'unchecked'\n } else if (fieldDef.type === 'select') {\n values[fieldName] = { selectedValues: [condition.equals] }\n }\n } else if ('in' in condition && Array.isArray(condition.in)) {\n if (fieldDef.type === 'select') {\n values[fieldName] = { selectedValues: condition.in }\n }\n } else if ('greater_than_equal' in condition || 'less_than_equal' in condition) {\n if (fieldDef.type === 'date') {\n const fromDate = condition.greater_than_equal\n ? new Date(condition.greater_than_equal)\n : null\n const toDate = condition.less_than_equal ? new Date(condition.less_than_equal) : null\n const allDateOptions = [...pastOptionKeys, ...futureOptionKeys]\n let matchedOption = null\n\n for (const option of allDateOptions) {\n const range = getDateRangeForOption(option, locale)\n let isFromMatch\n if (fromDate) {\n isFromMatch = range.from?.toDateString() === fromDate.toDateString()\n } else if (fromDate == null && range.to == undefined) {\n // all future: fromDate == null & range.to == undefined\n isFromMatch = true\n }\n let isToMatch\n if (toDate) {\n isToMatch = range.to?.toDateString() === toDate.toDateString()\n } else if (toDate == null && range.to == undefined) {\n // all future: fromDate == null & range.to == undefined\n isToMatch = true\n }\n\n if (isFromMatch && isToMatch) {\n matchedOption = option\n break\n }\n }\n\n if (matchedOption) {\n values[fieldName] = {\n type: 'predefined',\n predefinedValue: matchedOption,\n }\n } else {\n values[fieldName] = {\n type: 'custom',\n customRange: {\n from: fromDate,\n to: toDate,\n },\n }\n }\n }\n }\n }\n }\n }\n }\n\n recursiveParse(where)\n return values\n}\n// Builds an array of condition objects from the quick filter values\nexport const buildQuickFilterConditions = (\n values: Record<string, any>,\n fieldDefs: FilterDetaild[],\n locale: SupportedLocale,\n): Record<string, any>[] => {\n const conditions: Record<string, any>[] = []\n\n Object.entries(values).forEach(([fieldName, value]) => {\n if (!value) return\n const fieldDef = fieldDefs.find((f) => f.name === fieldName)\n if (!fieldDef) return\n\n let condition: Record<string, any> | null = null\n\n switch (fieldDef.type) {\n case 'date': {\n const dateValue = value as DateFilterValue\n let from: Date | undefined\n let to: Date | undefined\n\n if (dateValue.predefinedValue) {\n const range = getDateRangeForOption(dateValue.predefinedValue, locale)\n from = range.from\n to = range.to\n } else if (dateValue.customRange) {\n if (dateValue.customRange.from) from = new Date(dateValue.customRange.from)\n if (dateValue.customRange.to) to = new Date(dateValue.customRange.to)\n }\n\n if (from || to) {\n const dateQuery: any = {}\n if (from) dateQuery.greater_than_equal = from\n if (to) dateQuery.less_than_equal = to\n if (Object.keys(dateQuery).length > 0) {\n condition = { [fieldName]: dateQuery }\n }\n }\n break\n }\n case 'select': {\n const selectValue = value as SelectFilterValue\n if (selectValue.selectedValues && selectValue.selectedValues.length > 0) {\n if (selectValue.selectedValues.length === 1) {\n condition = { [fieldName]: { equals: selectValue.selectedValues[0] } }\n } else {\n condition = { [fieldName]: { in: selectValue.selectedValues } }\n }\n }\n break\n }\n case 'checkbox': {\n const checkboxState = value as CheckboxFilterState\n if (checkboxState === 'checked') {\n condition = { [fieldName]: { equals: 'true' } }\n } else if (checkboxState === 'unchecked') {\n condition = { [fieldName]: { equals: 'false' } }\n }\n break\n }\n }\n if (condition) {\n conditions.push(condition)\n }\n })\n return conditions\n}"],"names":["clsx","twMerge","futureOptionKeys","pastOptionKeys","getDateRangeForOption","cn","inputs","handleNavigation","href","e","pathname","router","window","holdingsNavigationHandler","canNavigate","preventDefault","push","parseWhereClauseToFilterValues","where","fields","locale","values","fieldNames","Set","map","f","name","recursiveParse","clause","and","forEach","or","length","fieldName","has","fieldDef","find","condition","type","predefinedValue","includes","equals","selectedValues","Array","isArray","in","fromDate","greater_than_equal","Date","toDate","less_than_equal","allDateOptions","matchedOption","option","range","isFromMatch","from","toDateString","to","undefined","isToMatch","customRange","buildQuickFilterConditions","fieldDefs","conditions","Object","entries","value","dateValue","dateQuery","keys","selectValue","checkboxState"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shefing/quickfilter",
3
- "version": "1.0.37",
3
+ "version": "1.0.38",
4
4
  "private": false,
5
5
  "bugs": "https://github.com/shefing/payload-tools/issues",
6
6
  "repository": "https://github.com/shefing/payload-tools",