0.0.34 • Published 5 years ago

ywana-core2-forms v0.0.34

Weekly downloads
3
License
MIT
Repository
github
Last release
5 years ago

Ywana Core FORMS

Esta librería basada en mobx-state-tree (MBX) facilita la definición de de formularios y otros modelos de datos comunes....

Form

Colección del conjunto de campos de un formulario. Por cada campo se definen sus propiedades de modelo y de vista.

import { Form } from 'ywana-core2-forms'

const bookForm = Form.create({
    name: 'Add Book Form',
    items: [
        { id: 'ISBN', type: 'STRING', label: 'ISBN', mandatory: true },
        { id: 'title', type: 'STRING', label: 'Title', mandatory: true },
    ]
})

API

Properties
  • isValid
  • hasChanged
  • toJSON
  • sections
Methods
  • item(id)

Field

  • id
  • icon: types.maybe(types.string),
  • label: types.maybe(types.string),
  • default: types.frozen(),
  • value: types.frozen(),
  • mandatory: types.optional(types.boolean, false),
  • disabled: types.optional(types.boolean, false),
  • excluded: types.optional(types.boolean, false),
  • readOnly: types.optional(types.boolean, false)

Exclusions

Una exclusion define una regla por la cual un campo sera excluido del formulario cuando se cumpla la condición

exclusions: [
    { exclude: 'name', when: 'city', is: 'equals', to: 'T'}
]

Hooks

Podemos hacer uso de los hooks de MBX para definir reacciones al cambio de valor de un campo.

bookForm.onChange('title', (field) => {
    // DO SOMETHING
})

Collection

Colección de elementos del tipo provisto en su construcción

model.js

import { types } from 'mobx-state-tree'
import { Collection } from  'ywana-core2-form'

const Book = types.model({
    ISBN: types.string,
    name: types.string
})
export const Library = Collection(Book)

example.js

import { Library } from './model'

const myLibrary = Library.create()
myLibrary.load([{ ISBN: '9780395489321', name: 'The Lord of the Rings ' }])
0.0.34

5 years ago

0.0.33

5 years ago

0.0.32

5 years ago

0.0.31

5 years ago

0.0.30

5 years ago

0.0.29

5 years ago

0.0.28

5 years ago

0.0.27

5 years ago

0.0.26

5 years ago

0.0.25

5 years ago

0.0.24

5 years ago

0.0.23

5 years ago

0.0.22

5 years ago

0.0.21

5 years ago

0.0.20

5 years ago

0.0.19

5 years ago

0.0.18

5 years ago

0.0.17

5 years ago

0.0.16

5 years ago

0.0.15

5 years ago

0.0.14

5 years ago

0.0.13

5 years ago

0.0.12

5 years ago

0.0.11

5 years ago

0.0.10

5 years ago

0.0.9

5 years ago

0.0.8

5 years ago

0.0.7

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago