This package has been deprecated

Author message:

This package moved, please use: @k-ramel/driver-form now

@k-ramel/form

1.1.0 • Public • Published

@k-ramel/form

Form driver for k-ramel

Examples

/* store.js */
import { createStore } from 'k-ramel'
import form from '@k-ramel/form'

export default createStore(
  {
    /* your store description */
  },
  {
    drivers: {
      form: form({ path: 'ui.form', getState: store => store.ui.form }) // default is { path: 'form', getState: store => store.form }
    },
  },
)

In a reaction (See main documentation about listeners/reactions)

/* reaction.js */

export const login = (store, action, { form, http }) => {
  const loginValues = form('login').get()
  http('LOGIN').post('/api/login', loginValues)
}

export const setError = (action, store, { form }) => {
  form('login').setErrors({ code: 'login_error' })
}

In a component container (See main documentation about @k-ramel/react)

/* input.container.js */

import { inject } from '@k-ramel/react'
import Component from './input'

const mapStore = inject((store, { formName, field }, drivers) => {
  const form = drivers.form(formName)
  return {
    value: form.get(field),
    error: form.getErrors(field),
    onChange: (e) => { form.onChange(field)(e.target.value) },
  }
})

export default mapStore(Component)

Readme

Keywords

none

Package Sidebar

Install

npm i @k-ramel/form

Weekly Downloads

0

Version

1.1.0

License

MIT

Unpacked Size

7.44 kB

Total Files

5

Last publish

Collaborators

  • fabienjuif
  • guillaumecrespel