12345678910111213141516171819202122232425262728293031 |
- // Copyright (C) 2012-2023 Zammad Foundation, https://zammad-foundation.org/
- import type { FormKitNode } from '@formkit/core'
- import type { FormUpdaterTrigger } from '../../types/form'
- const formUpdaterTrigger = (
- defaultTrigger: FormUpdaterTrigger = 'direct',
- defaultTriggerDelay = 300,
- ) => {
- return (node: FormKitNode) => {
- const { props } = node
- node.addProps(['triggerFormUpdater', 'formUpdaterTrigger'])
- node.on('created', () => {
- if (!props.formUpdaterTrigger) {
- props.formUpdaterTrigger = defaultTrigger
- }
- if (
- props.triggerFormUpdater &&
- props.formUpdaterTrigger === 'delayed' &&
- (!props.delay || props.delay < defaultTriggerDelay)
- ) {
- props.delay = defaultTriggerDelay
- }
- })
- }
- }
- export default formUpdaterTrigger
|