Skip to content

Instantly share code, notes, and snippets.

@CoderPuppy
Created October 8, 2014 00:50
Show Gist options
  • Select an option

  • Save CoderPuppy/da66a0e3867029069d27 to your computer and use it in GitHub Desktop.

Select an option

Save CoderPuppy/da66a0e3867029069d27 to your computer and use it in GitHub Desktop.
Skelly Example
skelly = require \skelly
dom = require \skelly/good-dom
app = new skelly.App
client = skelly.connect app
ldata = require \skelly/live-data
binders = require \skelly/live-binders
class ChatView extends skelly.View
->
@el = dom.el \div,
@messages-el = dom.el \div
@form = dom.el \form,
@msg-el = dom.el \input
@messages = new ldata.Array
@messages.pipe binders.children(@messages-el, (v) ->
el = dom.el \div
v.pipe binders.text-content(el)
el
)
@msg = new ldata.Value ''
@msg.pipe binders.value(@msg-el) .pipe(@msg)
@form.on \submit (e) ~>
e.prevent-default!
@messages.push @msg.clone!
@msg.set ''
view = new ChatView
app.store.set \messages, view.messages
dom.ready ->
dom.doc.body.append view.el
window.view = view
<!doctype html>
<title>Skelly Example</title>
<script src='/bundle.js'></script>
require \skelly .server(static: __dirname + '/public').listen 3201
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment