From 94fda12795acad2cfd6315f3c8cc7b887c3b6380 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Hanol?= Date: Tue, 17 Dec 2013 18:49:22 +0100 Subject: [PATCH] use a helper instead of a view for custom HTML content --- .../discourse/helpers/application_helpers.js | 15 +++++++++++++++ .../discourse/templates/list.js.handlebars | 4 ++-- .../discourse/templates/topic.js.handlebars | 4 ++-- .../javascripts/discourse/views/html_view.js | 12 ------------ app/controllers/application_controller.rb | 4 ++-- 5 files changed, 21 insertions(+), 18 deletions(-) delete mode 100644 app/assets/javascripts/discourse/views/html_view.js diff --git a/app/assets/javascripts/discourse/helpers/application_helpers.js b/app/assets/javascripts/discourse/helpers/application_helpers.js index adbd09d7908..df586a31d40 100644 --- a/app/assets/javascripts/discourse/helpers/application_helpers.js +++ b/app/assets/javascripts/discourse/helpers/application_helpers.js @@ -320,3 +320,18 @@ Handlebars.registerHelper('date', function(property, options) { } }); + +/** + Look for custom html content in the preload store. + + @method customHTML + @for Handlebars +**/ +Handlebars.registerHelper('customHTML', function(property, options) { + var html = PreloadStore.get("customHTML"); + + if (html && html[property] && html[property].length) { + return new Handlebars.SafeString(html[property]); + } + +}); diff --git a/app/assets/javascripts/discourse/templates/list.js.handlebars b/app/assets/javascripts/discourse/templates/list.js.handlebars index e486a8f6b96..76d48bf3612 100644 --- a/app/assets/javascripts/discourse/templates/list.js.handlebars +++ b/app/assets/javascripts/discourse/templates/list.js.handlebars @@ -1,4 +1,4 @@ -{{view Discourse.HtmlView key="top"}} +{{customHTML "top"}}
@@ -35,4 +35,4 @@
-{{view Discourse.HtmlView key="bottom"}} +{{customHTML "bottom"}} diff --git a/app/assets/javascripts/discourse/templates/topic.js.handlebars b/app/assets/javascripts/discourse/templates/topic.js.handlebars index 8b9ab3b71b8..7d87a319352 100644 --- a/app/assets/javascripts/discourse/templates/topic.js.handlebars +++ b/app/assets/javascripts/discourse/templates/topic.js.handlebars @@ -1,4 +1,4 @@ -{{view Discourse.HtmlView key="top"}} +{{customHTML "top"}} {{#if postStream.loaded}} @@ -132,4 +132,4 @@ {{render topicAdminMenu content}} {{/if}} -{{view Discourse.HtmlView key="bottom"}} +{{customHTML "bottom"}} diff --git a/app/assets/javascripts/discourse/views/html_view.js b/app/assets/javascripts/discourse/views/html_view.js deleted file mode 100644 index 8728a80b016..00000000000 --- a/app/assets/javascripts/discourse/views/html_view.js +++ /dev/null @@ -1,12 +0,0 @@ -Discourse.HtmlView = Ember.View.extend({ - - render: function(buffer) { - var key = this.get("key"), - htmlContent = PreloadStore.get("htmlContent"); - - if (htmlContent && htmlContent[key] && htmlContent[key].length) { - buffer.push(htmlContent[key]); - } - } - -}); diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 376772391c8..5e6111101fe 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -191,7 +191,7 @@ class ApplicationController < ActionController::Base def preload_anonymous_data store_preloaded("site", Site.cached_json(guardian)) store_preloaded("siteSettings", SiteSetting.client_settings_json) - store_preloaded("htmlContent", html_content_json) + store_preloaded("customHTML", custom_html_json) end def preload_current_user_data @@ -200,7 +200,7 @@ class ApplicationController < ActionController::Base store_preloaded("topicTrackingStates", MultiJson.dump(serializer)) end - def html_content_json + def custom_html_json MultiJson.dump({ top: SiteContent.content_for(:top), bottom: SiteContent.content_for(:bottom),