-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
37 lines (32 loc) · 837 Bytes
/
app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
var api = require('./api')
var main = require('main-loop')
var render = require('./render')
var o = require('observ')
var os = require('observ-struct')
var virtualize = require('vdom-virtualize')
// Start the delegator
require('dom-delegator')()
// THE STATE
var state = window.state = os({
item: o(),
params: o(),
results: o(),
schemas: o(),
scroll: o(),
title: o()
})
var target = document.body
var loop = main(state(), render, {
create: require('virtual-dom/create-element'),
diff: require('virtual-dom/diff'),
patch: require('virtual-dom/patch'),
initialTree: virtualize(target),
target: target
})
state(loop.update)
state.title(function (c) {document.title = c})
api.search({}, function (err, results) {
if (err) return console.error(err)
state.results.set(results)
history.replaceState(state())
})