Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
  <!-- DDP Dependency -->
  <script src="https://code.jquery.com/jquery-2.1.4.js"></script>
  <!-- Tracker -->
  <script src="http://output.jsbin.com/tipehi.js"></script>
  <!-- Meteor DDP -->
  <script src="http://jsbin.com/yofuse.js"></script>
  <!-- Mithril -->
  <script src="http://cdn.jsdelivr.net/mithril/0.2.0/mithril.min.js"></script>
</head>
<body>
</body>
</html>
 
reactive = (controller) ->
  ->
    instance = {}
    computation = Tracker.autorun ->
      m.startComputation()
      controller.call instance
      m.endComputation()
    instance.onunload = ->
      computation.stop()
    instance
meetups =
  value: []
  dep: new Tracker.Dependency
  get: -> @dep.depend() and @value
  set: (collection) -> (@value = collection) and @dep.changed()
@ddp = new MeteorDdp 'ws://www.meteor.com/websocket'
task = ddp.connect().done -> console.log "connected"
task.then -> ddp.subscribe('meetups').done ->
  meetups.set (meetup for k, meetup of ddp.getCollection 'meetups')
m.module document.body,
  controller: reactive -> @meetups = meetups.get()
  view: (ctrl) -> ctrl.meetups.length and [
    m 'h2', "Hi #{ctrl.meetups.length} meteorites"
    m 'ul', ctrl.meetups.map (v)-> m 'li', v.groupName
  ] or
    m 'h1', 'loading...'
Output 300px

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
spectrumpro
0viewers