summaryrefslogtreecommitdiffstats
path: root/module/web/app/scripts/controller.js
diff options
context:
space:
mode:
Diffstat (limited to 'module/web/app/scripts/controller.js')
-rw-r--r--module/web/app/scripts/controller.js67
1 files changed, 67 insertions, 0 deletions
diff --git a/module/web/app/scripts/controller.js b/module/web/app/scripts/controller.js
new file mode 100644
index 000000000..05237914d
--- /dev/null
+++ b/module/web/app/scripts/controller.js
@@ -0,0 +1,67 @@
+define([
+ 'app',
+ 'backbone',
+
+ // Views
+ 'views/headerView',
+ 'views/notificationView',
+ 'views/dashboard/dashboardView',
+ 'views/dashboard/selectionView',
+ 'views/dashboard/filterView',
+ 'views/loginView',
+ 'views/settings/settingsView',
+ 'views/accounts/accountListView'
+], function(
+ App, Backbone, HeaderView, NotificationView, DashboardView, SelectionView, FilterView, LoginView, SettingsView, AccountListView) {
+ 'use strict';
+ // TODO some views does not need to be loaded instantly
+
+ return {
+
+ header: function() {
+ if (!App.header.currentView) {
+ App.header.show(new HeaderView());
+ App.header.currentView.init();
+ App.notification.attachView(new NotificationView());
+ }
+ },
+
+ dashboard: function() {
+ this.header();
+
+ App.actionbar.show(new FilterView());
+ // TODO: not completly visible after reattaching
+ App.selection.attachView(new SelectionView());
+ App.content.show(new DashboardView());
+ },
+
+ login: function() {
+ App.content.show(new LoginView());
+ },
+
+ logout: function() {
+ alert('Not implemented');
+ },
+
+ settings: function() {
+ this.header();
+
+ var view = new SettingsView();
+ App.actionbar.show(new view.actionbar());
+ App.content.show(view);
+ },
+
+ accounts: function() {
+ this.header();
+
+ var view = new AccountListView();
+ App.actionbar.show(new view.actionbar());
+ App.content.show(view);
+ },
+
+ admin: function() {
+ alert('Not implemented');
+ }
+ };
+
+});