REFACTOR: Remove container from raw template helper

REFACTOR: Remove container from raw template helper

diff --git a/app/assets/javascripts/discourse/app/helpers/raw.js b/app/assets/javascripts/discourse/app/helpers/raw.js
index fe0d43c..89177b4 100644
--- a/app/assets/javascripts/discourse/app/helpers/raw.js
+++ b/app/assets/javascripts/discourse/app/helpers/raw.js
@@ -1,36 +1,23 @@
-import { registerUnbound } from "discourse-common/lib/helpers";
+import { registerUnbound, helperContext } from "discourse-common/lib/helpers";
 import { findRawTemplate } from "discourse-common/lib/raw-templates";
 import { htmlSafe } from "@ember/template";
-import { setOwner } from "@ember/application";
 
-let _injections;
-
-function renderRaw(ctx, container, template, templateName, params) {
+function renderRaw(ctx, template, templateName, params) {
   params = jQuery.extend({}, params);
   params.parent = params.parent || ctx;
 
-  if (!_injections) {
-    _injections = {
-      siteSettings: container.lookup("site-settings:main"),
-      currentUser: container.lookup("current-user:main"),
-      site: container.lookup("site:main"),
-      session: container.lookup("session:main"),
-      topicTrackingState: container.lookup("topic-tracking-state:main")
-    };
-    setOwner(_injections, container);
-  }
-
+  let context = helperContext();
   if (!params.view) {
     const module = `discourse/raw-views/${templateName}`;
     if (requirejs.entries[module]) {
       const viewClass = requirejs(module, null, null, true);
       if (viewClass && viewClass.default) {
-        params.view = viewClass.default.create(params, _injections);
+        params.view = viewClass.default.create(params, context);
       }
     }
 
     if (!params.view) {
-      params = jQuery.extend({}, params, _injections);
+      params = jQuery.extend({}, params, context);
     }
   }
 
@@ -40,12 +27,11 @@ function renderRaw(ctx, container, template, templateName, params) {
 registerUnbound("raw", function(templateName, params) {
   templateName = templateName.replace(".", "/");
 
-  const container = Discourse.__container__;
   const template = findRawTemplate(templateName);
   if (!template) {
     // eslint-disable-next-line no-console
     console.warn("Could not find raw template: " + templateName);
     return;
   }
-  return renderRaw(this, container, template, templateName, params);
+  return renderRaw(this, template, templateName, params);
 });
diff --git a/app/assets/javascripts/discourse/app/initializers/auto-load-modules.js b/app/assets/javascripts/discourse/app/initializers/auto-load-modules.js
index 2c7c4f0..6482f52 100644
--- a/app/assets/javascripts/discourse/app/initializers/auto-load-modules.js
+++ b/app/assets/javascripts/discourse/app/initializers/auto-load-modules.js
@@ -5,6 +5,7 @@ import {
 import RawHandlebars from "discourse-common/lib/raw-handlebars";
 import { registerRawHelpers } from "discourse-common/lib/raw-handlebars-helpers";
 import Handlebars from "handlebars";
+import { setOwner } from "@ember/application";
 
 export function autoLoadModules(container, registry) {
   Object.keys(requirejs.entries).forEach(entry => {
@@ -15,10 +16,19 @@ export function autoLoadModules(container, registry) {
       requirejs(entry, null, null, true);
     }
   });
-  let siteSettings = container.lookup("site-settings:main");
-  let themeSettings = container.lookup("service:theme-settings");
-  let keyValueStore = container.lookup("key-value-store:main");
-  createHelperContext({ siteSettings, themeSettings, keyValueStore });
+
+  let context = {
+    siteSettings: container.lookup("site-settings:main"),
+    themeSettings: container.lookup("service:theme-settings"),
+    keyValueStore: container.lookup("key-value-store:main"),
+    currentUser: container.lookup("current-user:main"),
+    site: container.lookup("site:main"),
+    session: container.lookup("session:main"),
+    topicTrackingState: container.lookup("topic-tracking-state:main")
+  };
+  setOwner(context, container);
+
+  createHelperContext(context);
   registerHelpers(registry);
   registerRawHelpers(RawHandlebars, Handlebars);
 }

GitHub sha: 20e1233f

This commit appears in #10480 which was merged by eviltrout.