-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.js
89 lines (75 loc) · 2 KB
/
main.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
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
83
84
85
86
87
88
89
(function () {
// Biiily Collections Namespace
var BC = {
Clients: new Meteor.Collection('clients'),
Documents: new Meteor.Collection('documents')
};
function render(tmpl, container, options) {
container = container || '#main_container';
var template = Meteor.render(function () {
return Template[tmpl]();
});
Spark.finalize($(container)[0]);
$(container).html(template);
}
function navigate(to) {
app_router.navigate(to, {trigger: true})
}
function isConfirmed(message) {
return confirm(message);
}
if (Meteor.isClient) {
var AppRouter = Backbone.Router.extend({
routes: {
'/' : 'dashboard',
'' : 'dashboard',
'clients' : 'clients',
'client/:name' : 'client',
'client/edit/:name' : 'clientEdit',
'documents' : 'documents',
'document/:id' : 'document'
},
dashboard: function () {
render('dashboard');
},
clients: function () {
render('clients');
},
documents: function(){
render('documents');
},
client: function (name) {
if (name === 'new') {
render('new_client');
} else {
Session.set('current_client_name', name);
render('client_detail');
}
},
clientEdit: function () {
render('edit_client');
},
document: function (_id) {
if (_id !== 'new') {
Session.set('current_document_id', _id);
render('document_detail');
} else {
render('new_document');
}
}
});
var app_router = new AppRouter();
Template.dashboard.rendered = function () {
Session.set('current_client_name', false);
};
Meteor.startup(function () {
$('body').on('click', '[data-link]', function (ev) {
var linksTo = $(ev.currentTarget).data('link');
if (linksTo) {
navigate(linksTo);
}
});
Backbone.history.start({pushState: true});
});
}
}());