diff options
Diffstat (limited to 'assets/js/src/Router.js')
-rw-r--r-- | assets/js/src/Router.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/assets/js/src/Router.js b/assets/js/src/Router.js new file mode 100644 index 00000000..d1e5de2a --- /dev/null +++ b/assets/js/src/Router.js @@ -0,0 +1,34 @@ +function Router() { + this.routes = {}; +} + +Router.prototype.addRoute = function(id, controller) { + this.routes[id] = controller; +}; + +Router.prototype.dispatch = function(app) { + for (var id in this.routes) { + if (document.getElementById(id)) { + var controller = Object.create(this.routes[id].prototype); + controller.execute(app); + break; + } + } +}; + +jQuery(document).ready(function() { + var app = new App(); + var router = new Router(); + router.addRoute('board', Board); + router.addRoute('calendar', Calendar); + router.addRoute('screenshot-zone', Screenshot); + router.addRoute('analytic-task-repartition', TaskRepartitionChart); + router.addRoute('analytic-user-repartition', UserRepartitionChart); + router.addRoute('analytic-cfd', CumulativeFlowDiagram); + router.addRoute('analytic-burndown', BurndownChart); + router.addRoute('budget-chart', BudgetChart); + router.addRoute('analytic-avg-time-column', AvgTimeColumnChart); + router.addRoute('analytic-task-time-column', TaskTimeColumnChart); + router.addRoute('analytic-lead-cycle-time', LeadCycleTimeChart); + router.dispatch(app); +}); |