* Add handlePaste function and integrate it with options fields
* Prevents function running if user does not paste a list, allows list items to be pasted without deleting following items
* Subs useState for rhf useWatch to fix issues with multiple form fields
* Sets options array as optional property in zod schema
* Assigns default value to options array to fix possibly undefined type errors
* Sets placedholder property as optional
* maps selectText to options on mount
* Removes comma & semicolon delimiting for pasted lists (new line only) & defines regex as a constant
* Sets default value of placeholder to empty string, provides default fallback for component text field if placeholder is omitted.
* Fix type error on placeholder
* Extracts handlePaste to service function & tests thoroughly
* Some improvements and tests arent needed
* More fixes
* Fix reporting as well
* TS fixes
* Do transforms to and fro from label
* Add unit tests
* Unit test reporting
* Test Improvements
* Self review feedback addressed
---------
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com>
* Add UI to select members to receive emails in routing form
* Add backend changes to support frontend to select team members to get routing form updates to
* Fix type error
* Fix all the members of all the teams the user is part of shown instead of only the current team where the routing form is created
* Fix type error
* Refactor components to a shared folder
* fix type error
* Fix review comment: only include emails
* Remove listMembers trpc call in frontend and get the data in formQuery.handler
* Address review comments
* Remove unrelated changes
* Update SingleForm.tsx
---------
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
* override jsonLogic operators on string operands to allow for case insensitive comparisons.
Affected Operators: "==", "===", "!=", "!==", "in"
* disable no-explicit-any on jsonLogicOverrides file since most of the code there will be from jsonLogic and may not meet our coding style.
Majority of overrides require us to copy over functions and their signatures from jsonLogic and then modify their implementation.
The signature of functions implementing most operators take the operands typed as "any", which is intended, but doesn't adhere to our coding style. Hence the need to override the eslint rule
* run linter to fix issues
* Fix bug in in operator when second arg is an array
* remove redundant indexOf check on overriden jsonLogic "in" operator.
Note: this deviates from the original implementation in the jsonLogic library because our current useage ensures that the second operand is always a string or string[] and will therefore always have .index function. Whenever our invariants change in the future, make sure to modify this implementation to prevent any unexpected
---------
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>