This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/assets/javascripts/discourse/helpers/raw.js.es6

35 lines
952 B
JavaScript

import registerUnbound from 'discourse/helpers/register-unbound';
var viewCache = {};
registerUnbound('raw', function(templateName, params) {
var template = Discourse.__container__.lookup('template:' + templateName + '.raw');
if (!template) {
Ember.warn('Could not find raw template: ' + templateName);
return;
}
if(!params.parent) {
params.parent = this;
}
if(!params.view) {
var cached = viewCache[templateName];
if(cached){
params.view = cached === "X" ? undefined : cached.create(params);
} else {
var split = templateName.split("/");
var last = split[split.length-1];
var name = "discourse/views/" + last;
if(hasModule(name)){
viewCache[templateName] = require(name).default;
params.view = viewCache[templateName].create(params);
} else {
viewCache[templateName] = "X";
}
}
}
return new Handlebars.SafeString(template(params));
});