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
|
define([
"app",
// Modules
"modules/fauxton/base"
],
function(app, Fauxton) {
var FauxtonAPI = app.module();
FauxtonAPI.moduleExtensions = {
Routes: {
}
};
FauxtonAPI.View = Backbone.View.extend({
// This should return an array of promises, an empty array, or null
establish: function() {
return null;
}
});
FauxtonAPI.navigate = function(url) {
Backbone.history.navigate(url, true);
};
FauxtonAPI.addHeaderLink = function(link) {
app.dashboard.navBar.addLink(link);
};
FauxtonAPI.Deferred = function() {
return $.Deferred();
};
FauxtonAPI.addRoute = function(route) {
app.router.route(route.route, route.name, route.callback);
};
FauxtonAPI.module = function(extra) {
return app.module(FauxtonAPI.moduleExtensions, extra);
};
FauxtonAPI.addNotification = function(options) {
options = _.extend({
msg: "Notification Event Triggered!",
type: "info",
selector: "#global-notifications"
}, options);
var view = new Fauxton.Notification(options);
return view.renderNotification();
};
FauxtonAPI.UUID = Backbone.Model.extend({
initialize: function(options) {
options = _.extend({count: 1}, options);
this.count = options.count;
},
url: function() {
return app.host + "/_uuids?count=" + this.count;
},
next: function() {
return this.get("uuids").pop();
}
});
return app.fauxtonAPI = FauxtonAPI;
});
|