https://github.com/vendethiel/reactive-watchers
Reactive+Model functions generators
https://github.com/vendethiel/reactive-watchers
livescript model modella reactive-watchers
Last synced: about 2 months ago
JSON representation
Reactive+Model functions generators
- Host: GitHub
- URL: https://github.com/vendethiel/reactive-watchers
- Owner: vendethiel
- Created: 2014-04-09T09:33:44.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2015-01-03T03:06:09.000Z (about 11 years ago)
- Last Synced: 2025-07-25T02:11:50.103Z (8 months ago)
- Topics: livescript, model, modella, reactive-watchers
- Language: LiveScript
- Size: 137 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Reactive Watchers
=================
Bindings generator for [Reactive](https://github.com/component/reactive) and [Model](github.com/component/model)/[Modella](https://github.com/modella/modella).
### Install
```
$ component install vendethiel/reactive-watchers
```
### Usage
```livescript
model = require 'modella'
model-list = require './my-model-list'
# Create the model with modella
User = model 'User'
.attr '_id'
.attr 'name'
.attr 'address'
# create watchers for fields
react = new reactive-watchers new-model, <[ name address ]>
# create a model to hold the form fields value
new-model = new User
view = reactive el, models,
delegate:
# generate delegates ("updateField")
react.generate! with
add-model: !->
# ... do your validations
# push model to list (reactive will update the view)
list-models.push new-model
# override `reactive-watchers`'s `model` with a clean one
react.model = new-model := new User
```
With the corresponding HTML :
```html
Add a user
```
Or if you like Jade better :
```jade
form(on-submit="addModel")
fieldset
legend Add a user
input(name="name" placeholder="Name" on-change="updateName")
input(name="address" placeholder="Address" on-change="updateAddress")
input(type="submit")
```