aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-web/src/main/js/apps/provisioning/app.js
diff options
context:
space:
mode:
Diffstat (limited to 'server/sonar-web/src/main/js/apps/provisioning/app.js')
-rw-r--r--server/sonar-web/src/main/js/apps/provisioning/app.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/server/sonar-web/src/main/js/apps/provisioning/app.js b/server/sonar-web/src/main/js/apps/provisioning/app.js
new file mode 100644
index 00000000000..aa754e5ba77
--- /dev/null
+++ b/server/sonar-web/src/main/js/apps/provisioning/app.js
@@ -0,0 +1,47 @@
+define([
+ './layout',
+ './projects',
+ './header-view',
+ './search-view',
+ './list-view',
+ './list-footer-view'
+], function (Layout, Projects, HeaderView, SearchView, ListView, ListFooterView) {
+
+ var App = new Marionette.Application(),
+ init = function (options) {
+ // Layout
+ this.layout = new Layout({ el: options.el });
+ this.layout.render();
+
+ // Collection
+ this.projects = new Projects();
+
+ // Header View
+ this.headerView = new HeaderView({ collection: this.projects });
+ this.layout.headerRegion.show(this.headerView);
+
+ // Search View
+ this.searchView = new SearchView({ collection: this.projects });
+ this.layout.searchRegion.show(this.searchView);
+
+ // List View
+ this.listView = new ListView({ collection: this.projects });
+ this.layout.listRegion.show(this.listView);
+
+ // List Footer View
+ this.listFooterView = new ListFooterView({ collection: this.projects });
+ this.layout.listFooterRegion.show(this.listFooterView);
+
+ // Go!
+ this.projects.fetch();
+ };
+
+ App.on('start', function (options) {
+ window.requestMessages().done(function () {
+ init.call(App, options);
+ });
+ });
+
+ return App;
+
+});