From 0ae07ea885f244afc26c8ba96a5ce80fb90b0f8b Mon Sep 17 00:00:00 2001 From: suelockwood Date: Tue, 13 Aug 2013 11:07:57 -0400 Subject: [PATCH] Update the addon's hello world tutorial to have routeObjects --- src/fauxton/writing_addons.md | 55 ++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 23 deletions(-) diff --git a/src/fauxton/writing_addons.md b/src/fauxton/writing_addons.md index e0a85fae0de..85d1e7a0274 100644 --- a/src/fauxton/writing_addons.md +++ b/src/fauxton/writing_addons.md @@ -110,28 +110,41 @@ Then define a route in `routes.js` that the addon is accessible at: ], function(app, FauxtonAPI, Resources) { - var helloRoute = function () { - console.log('helloRoute callback yo'); - return { - layout: "one_pane", - crumbs: [ - {"name": "Hello","link": "_hello"} - ], - views: { - "#dashboard-content": new Resources.Hello({}) - }, - apiUrl: 'hello' - }; - }; + var HelloRouteObject = FauxtonAPI.RouteObject.extend({ + layout: "one_pane", - Routes = { - "_hello": helloRoute - }; + crumbs: [ + {"name": "Hello","link": "_hello"} + ], + + routes: { + "_hello": "helloRoute" + }, + + selectedHeader: "Hello", + + roles: ["_admin"], + + apiUrl:'hello', + + initialize: function () { + //put common views used on all your routes here (eg: sidebars ) + }, + + helloRoute: function () { + this.setView("#dashboard-content", new Resources.Hello({})); + } + }); + + Resources.RouteObjects = [HelloRouteObject]; + + return Resources; - return Routes; }); + + Then wire it all together in base.js: define([ @@ -141,16 +154,12 @@ Then wire it all together in base.js: ], function(app, FauxtonAPI, HelloRoutes) { - var Hello = new FauxtonAPI.addon(); - console.log('hello from hello'); - Hello.initialize = function() { + HelloRoutes.initialize = function() { FauxtonAPI.addHeaderLink({title: "Hello", href: "#_hello"}); }; - Hello.Routes = HelloRoutes; - console.log(Hello); - return Hello; + return HelloRoutes; }); Once the code is in place include the add on in your `settings.json` so that it