From 38e4defaee01e9d7bec8fe2d0c8fbae6d25639fc Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Fri, 9 Jan 2015 15:40:25 -0500 Subject: [PATCH] Support adding items to the site map via plugin outlet. --- .../javascripts/discourse/controllers/site-map.js.es6 | 8 +++++--- app/assets/javascripts/discourse/templates/header.hbs | 2 +- .../discourse/templates/{site_map.hbs => site-map.hbs} | 7 +++++-- test/javascripts/controllers/site-map-test.js.es6 | 4 +++- 4 files changed, 14 insertions(+), 7 deletions(-) rename app/assets/javascripts/discourse/templates/{site_map.hbs => site-map.hbs} (86%) diff --git a/app/assets/javascripts/discourse/controllers/site-map.js.es6 b/app/assets/javascripts/discourse/controllers/site-map.js.es6 index fd880d0a120..8503d90781a 100644 --- a/app/assets/javascripts/discourse/controllers/site-map.js.es6 +++ b/app/assets/javascripts/discourse/controllers/site-map.js.es6 @@ -1,4 +1,6 @@ export default Ember.ArrayController.extend(Discourse.HasCurrentUser, { + needs: ['application'], + showBadgesLink: function(){return Discourse.SiteSettings.enable_badges;}.property(), showAdminLinks: Em.computed.alias('currentUser.staff'), flaggedPostsCount: Em.computed.alias("currentUser.site_flagged_posts_count"), @@ -22,8 +24,8 @@ export default Ember.ArrayController.extend(Discourse.HasCurrentUser, { }.property(), categories: function() { - var hideUncategorized = !Discourse.SiteSettings.allow_uncategorized_topics, - showSubcatList = Discourse.SiteSettings.show_subcategory_list, + var hideUncategorized = !this.siteSettings.allow_uncategorized_topics, + showSubcatList = this.siteSettings.show_subcategory_list, isStaff = Discourse.User.currentProp('staff'); return Discourse.Category.list().reject(function(c) { if (showSubcatList && c.get('parent_category_id')) { return true; } @@ -34,7 +36,7 @@ export default Ember.ArrayController.extend(Discourse.HasCurrentUser, { actions: { keyboardShortcuts: function(){ - Discourse.__container__.lookup('controller:application').send('showKeyboardShortcutsHelp'); + this.get('controllers.application').send('showKeyboardShortcutsHelp'); }, toggleMobileView: function() { Discourse.Mobile.toggleMobileView(); diff --git a/app/assets/javascripts/discourse/templates/header.hbs b/app/assets/javascripts/discourse/templates/header.hbs index 3b450361854..d7f3412e2f3 100644 --- a/app/assets/javascripts/discourse/templates/header.hbs +++ b/app/assets/javascripts/discourse/templates/header.hbs @@ -87,7 +87,7 @@ {{render "notifications" notifications}} {{#if view.renderSiteMap}} - {{render "siteMap"}} + {{render "site-map"}} {{/if}} {{render "user-dropdown"}} diff --git a/app/assets/javascripts/discourse/templates/site_map.hbs b/app/assets/javascripts/discourse/templates/site-map.hbs similarity index 86% rename from app/assets/javascripts/discourse/templates/site_map.hbs rename to app/assets/javascripts/discourse/templates/site-map.hbs index 97dfcc57b90..99c1e2c4330 100644 --- a/app/assets/javascripts/discourse/templates/site_map.hbs +++ b/app/assets/javascripts/discourse/templates/site-map.hbs @@ -21,8 +21,11 @@ {{i18n 'badges.title'}} {{/if}} + + {{plugin-outlet "site-map-links"}} + {{#if showKeyboardShortcuts}} -
  • {{i18n 'keyboard_shortcuts_help.title'}}
  • +
  • {{i18n 'keyboard_shortcuts_help.title'}}
  • {{/if}}
  • {{i18n 'faq'}} @@ -31,7 +34,7 @@ {{#link-to 'about'}}{{i18n 'about.simple_title'}}{{/link-to}}
  • {{#if showMobileToggle}} -
  • {{boundI18n mobileViewLinkTextKey}}
  • +
  • {{boundI18n mobileViewLinkTextKey}}
  • {{/if}} diff --git a/test/javascripts/controllers/site-map-test.js.es6 b/test/javascripts/controllers/site-map-test.js.es6 index 7e3c017dcda..324a8b88cf7 100644 --- a/test/javascripts/controllers/site-map-test.js.es6 +++ b/test/javascripts/controllers/site-map-test.js.es6 @@ -1,6 +1,8 @@ var oldMobileView; moduleFor("controller:site-map", "controller:site-map", { + needs: ['controller:application'], + setup: function() { oldMobileView = Discourse.Mobile.mobileView; }, @@ -77,7 +79,7 @@ test("categories", function() { var categoryListStub = ["category1", "category2"]; sandbox.stub(Discourse.Category, "list").returns(categoryListStub); - var controller = this.subject(); + var controller = this.subject({ siteSettings: Discourse.SiteSettings }); deepEqual(controller.get("categories"), categoryListStub, "returns the list of categories"); });