* feat: add 'View Responses' menu item to Routing Form dropdown Co-Authored-By: eunjae@cal.com <eunjae@cal.com> * fix: use nuqs createSerializer for URL generation Co-Authored-By: eunjae@cal.com <eunjae@cal.com> * refactor: move serializer to data-table lib and use proper type constants Co-Authored-By: eunjae@cal.com <eunjae@cal.com> * fix: type errors in serializers and FormActions Co-Authored-By: eunjae@cal.com <eunjae@cal.com> * fix: use parseAsArrayOf with parseAsJson for proper nuqs serialization Co-Authored-By: eunjae@cal.com <eunjae@cal.com> * fix: update to use dataTableQueryParamsSerializer with proper nuqs pattern Co-Authored-By: eunjae@cal.com <eunjae@cal.com> * refactor: extract parsers from DataTableProvider to be reused in serializers Co-Authored-By: eunjae@cal.com <eunjae@cal.com> * fix: remove deprecated activeFiltersSerializer and use empty array instead of null Co-Authored-By: eunjae@cal.com <eunjae@cal.com> * fix: only show View Responses menu when form id and teamId exist Co-Authored-By: eunjae@cal.com <eunjae@cal.com> * remove teamId condition * refactor: improve viewResponses URL generation with cleaner conditional Co-Authored-By: eunjae@cal.com <eunjae@cal.com> * Update packages/features/data-table/lib/parsers.ts * refactor: make constants in parsers.ts non-exported Co-Authored-By: eunjae@cal.com <eunjae@cal.com> * fix: add explicit type annotations to constants in parsers.ts Co-Authored-By: eunjae@cal.com <eunjae@cal.com> * fix: add explicit type annotations and export DEFAULT_PAGE_SIZE in parsers.ts Co-Authored-By: eunjae@cal.com <eunjae@cal.com> * fix: add explicit type assertions to DEFAULT_ACTIVE_FILTERS and DEFAULT_SORTING Co-Authored-By: eunjae@cal.com <eunjae@cal.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: eunjae@cal.com <eunjae@cal.com> Co-authored-by: Eunjae Lee <hey@eunjae.dev> Co-authored-by: Benny Joo <sldisek783@gmail.com>
Routing Forms App
Vocabulary
- RaqbField refers to the field in the context of React Awesome Query Builder(RAQB)
- See
getQueryBuilderConfig
- See
- Field refers to the field in the Routing Form
Understanding the structure of queryValue(type JsonTree)
AttributeQueryValue
- { id: "Some-id-generated-and-used-internally-by-raqb" type: "group", children1: { "Some-other-id-generated-and-used-internally-by-raqb": { type: "rule", properties: { field: "ATTRIBUTE.id", operator: "multiselect_equals", // One of many operators possible value: ["AttributeOption.id"], // This is the type of the attribute and the operator corresponds to it. The data provided to jsonLogic on which the logic(generated from RAQB config and this queryValue) is applied must also be as per the requirement of the operator. valueType: ["multiselect"] } } }
}
How to run Tests
yarn e2e:app-store runs all Apps' tests. You can use describe.only() to run Routing Forms tests only.
Make sure that the app is running already with NEXT_PUBLIC_IS_E2E=1 so that the app is installable