addLink.ts 639 B

123456789101112131415161718192021222324252627
  1. // Copyright (C) 2012-2023 Zammad Foundation, https://zammad-foundation.org/
  2. import type { FormKitNode } from '@formkit/core'
  3. const addLink = (node: FormKitNode) => {
  4. const { props } = node
  5. node.addProps(['link'])
  6. const toggleLink = (isLink: boolean) => {
  7. if (isLink) {
  8. props.inputClass = `${props.inputClass} ltr:pr-2 rtl:pl-2`
  9. } else if (props.inputClass) {
  10. props.inputClass = props.inputClass.replace('ltr:pr-2 rtl:pl-2', '')
  11. }
  12. }
  13. node.on('created', () => {
  14. toggleLink(!!props.link)
  15. node.on('prop:link', ({ payload }) => {
  16. toggleLink(!!payload)
  17. })
  18. })
  19. }
  20. export default addLink