0045c353c6
* Layout Pages * Add Multi Select with Badges * Add MultiBadge * Add prevent close on click outside * Fix import issue * Import Table * Add Classnames to buttons * Add Switch Component * Update for webhooks * skip precommit hooks * Remove Infinite Load. Update Types * Create Webhook Dialog * Tidy Ups * Edit Webhook dialog * WIP Breadcurmbs * Changes from calls with Fabians * Breadcrumbs * Reorders * Fix Create Dialog * Rename MultiBadge to BadgeSelected * Fix and update Story file for Table * Adjust Padding for Buttons in Table * Add extra story, adjust padding for no buttons * Fix bug with Edit Select * fixed Webhook sorting + added Webhook.hasSecret and Webhook.projectId * fixed hydration mismatch * Changes from PR feedback * Validation Rule for Select * Reset Dialogs on Cancel. Conditionally render headers in Table * stricter webhook gql types * stricter webhook gql types * Fix initial dialogs * Quick Fixes * Add projectWebhooksRoute * Remove TableItemType * Fixes from PR * Fix broken Query * Fixes from PR * Fix based on PR * Fix from PR * Changes to index * Fix in index * Updates to Validation and Table * Add "by" prop to FormSelectBadges and renamed component * Use defineModel for Switch * Revert "Use defineModel for Switch" This reverts commit 6bc9e07a767cdc64f06c03b028150915e013ed4f. * Replace breadcrumbs with projectWebhooksRoute * Rename FormValues to WebhookFormValues * Add target blank and simplify trigger mapping * Fix casing of webhookFormValues * Change webhookModel to prevent props mutation * Remove unnecessary typecast * Webhook deletion now uses fieldNameWhitelist. * Use convertThrowIntoFetchResult and getFirstErrorMessage in Create * Use defineModel for handling open state of Dialogs * Optimise Switch component with defineModel * Merge Create and Edit Dialogs * Fix issue with Status Icons * Remove console log * WIP Merge of Edit and Create * Add optional placeholder to SelectBase. Update Events placeholder. * Add secret to Create webhook dialog * Update Watch * Rename Dialogs. Fix active select items * Fix Select active items * Simplify triggers, add secret to create call * Remove $webhooksId: String * fix: stale form state across edit/create webhook dialog sessions * Fix from PR * Swap t.text for t.id * Use enum for historyStatus * Use consistent story formatting * More consistent create/edit mutations * fix be linting errors --------- Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
42 lines
1.4 KiB
TypeScript
42 lines
1.4 KiB
TypeScript
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
import { ValidationHelpers } from '@speckle/ui-components'
|
|
import { useForm } from 'vee-validate'
|
|
|
|
export const VALID_HTTP_URL = ValidationHelpers.VALID_HTTP_URL
|
|
export const VALID_EMAIL = ValidationHelpers.VALID_EMAIL
|
|
|
|
/**
|
|
* Note about new validators:
|
|
* Make sure you use the word "Value" to refer to the value being validated in all error messages, cause the dynamic string replace
|
|
* that replaces that part with the actual field name works based on that
|
|
*/
|
|
|
|
/**
|
|
* E-mail validation rule (not perfect, but e-mails should be validated by sending out confirmation e-mails anyway)
|
|
*/
|
|
export const isEmail = ValidationHelpers.isEmail
|
|
|
|
export const isOneOrMultipleEmails = ValidationHelpers.isOneOrMultipleEmails
|
|
|
|
export const isRequired = ValidationHelpers.isRequired
|
|
|
|
export const isSameAs = ValidationHelpers.isSameAs
|
|
|
|
export const isStringOfLength = ValidationHelpers.isStringOfLength
|
|
|
|
export const stringContains = ValidationHelpers.stringContains
|
|
|
|
export const isUrl = ValidationHelpers.isUrl
|
|
|
|
export const isItemSelected = ValidationHelpers.isItemSelected
|
|
|
|
/**
|
|
* Wrapper over useForm's `resetForm` that fully resets the form and its initial values
|
|
* @param veeValidateResetForm The `resetForm` function returned by vee-validate's `useForm`
|
|
*/
|
|
export function fullyResetForm(
|
|
veeValidateResetForm: ReturnType<typeof useForm<any>>['resetForm']
|
|
) {
|
|
veeValidateResetForm({ values: {} })
|
|
}
|