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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
var SiteRouter = Router.extend({
el: 'body',
routeByHash: true,
routes: {
'/': 'intro',
'/intro': 'intro',
'/hub': 'hub',
'/story': 'story',
'/archive': 'archive',
'/store': 'collection',
'/store/closed': 'closed',
'/store/:code': 'product',
'/account/login': 'login',
'/account/logout': 'logout',
'/account/signup': 'signup',
'/account/profile': 'profile',
'/account/payment': 'payment',
'/account/shipping': 'shipping',
'/account/orders': 'orders',
'/account/settings': 'settings',
'/page/terms': 'terms',
'/page/privacy': 'privacy',
'/page/returns': 'returns',
'/page/care': 'care',
'/search': 'search',
'/cart': 'cart.summary',
'/cart/summary': 'cart.summary',
'/cart/payment': 'cart.payment',
'/cart/shipping': 'cart.shipping',
'/cart/confirm': 'cart.confirm',
'/cart/thanks': 'cart.thanks',
},
initialize: function(){
var fn
for (var route in this.routes) {
fn = this.routes[route]
if (! this[fn]) {
this[fn] = this.default_view(fn)
}
}
},
go: function(url){
if (app.view && app.view.hide) {
app.view.hide()
}
window.location.href = "#/" + url
this.parseRoute(url)
},
default_view: function(name){
var fn = function(){
console.log(name)
if (name.match(/\./)) {
var n = name.split(".")
console.log(name, n)
app.view = app[n[0]][n[1]]
}
else {
app.view = app[name]
}
app.view.show()
}.bind(this)
return fn
},
product: function(code){
app.view = app.product
app.product.load(code)
app.product.show()
},
})
|