//create a tab that focuses the current page.
//like radio buttons.
function to(human, machine) {
  return a(h('span', human, {
      className: o.transform(page, function (e) {
        return (e == human || e == machine) ? 'focus' : 'blur'
      })
    }), function () {
      page(machine || human)
    })
}
Example #2
0
window.getDom = function aaa() {
  var o = require('observable')
  var h = require('hyperscript')
  var yourName

  return h('div',
    h('h3', 'hello, what is your name?',
      yourName = h('input', {
        placeholder: 'enter name'
      })
    ),
    h('h2', o.transform(o.input(yourName), function(v) {
      return v ? 'Happy Birthday ' + v.toUpperCase() + ' !!!' : ''
    }), {
      style: {
        'font-family': 'Comic Sans MS'
      }
    })
  )
}
Example #3
0
function transform(signal, transformation) {
    return _transform(signal, transformation, readonly)
}
Example #4
0
var observe = require('observable');

var obs = observe.input(document.querySelector('input'));
var h1 = observe.input(document.querySelector('h1'), 'textContent')
obs(observe.transform(h1, function (v) { return v.toUpperCase() }));
function signUp () {
  var un = h('input#username', {placeholder: 'username'})
  var em = h('input#email', {placeholder: 'email'})
  var p1 = h('input#password1', {type:'password', placeholder: 'password'})
  var p2 = h('input#password2', {type:'password', placeholder: 'confirm'})
  var _p1 = o.input(p1), _p2 = o.input(p2)
  var message = o(); message('')
  var signup = o()

  var match = o.compute([_p1, _p2], function (p1, p2) {
    return (p1 === p2) && p1 ? true : false
  })

  var su = h('input#signup', {type: 'checkbox'})
  var _su = o.input(su, 'checked', 'change')

  return h('div#login',
    show(signedIn, 
      h('div#signout',
        h('a', '@', username, {href: 
          o.transform(username, function (e) { return '#!/'+e})
        }),
        h('button', 'sign out', {onclick: function () {
          username(null); signedIn(false)
          db.deauth(function (err, data) { console.log('DEAUTH', err, data)})
        }})
      ),
      h('div#signin', 
        h('div', div(un), show(signup, div(em)), p1, show(signup, div(p2))),
        show(signup, h('div', o.boolean(match, 'okay!', 'must match.'))),
        h('button', o.boolean(signup, 'sign-up', 'sign-in'), {onclick: function () {
          if(!db)
            return message('not connected...')
          if(!(signup() ? match() : true))
            return message('password does not match')

          db.auth({
            name: un.value,
            password: _p1(),
            email: em.value,
            signup: signup()
          }, function (err, data) {
            console.log(err, data)
            if(err) {
              message(err.message)
              signedIn(false)
              page('home')
              _p1(''); _p2('')
            }
            else {
              message('signed in!')
              signedIn(true)
              username(data.name)
              page('home')
              odom.hash('!/'+username())
              _p1(''); _p2('')
            }
          })
        }}),
        toggle(signup, 'sign in?', 'sign up?'),
        div(message)
      )
    )
  )
}