import { ajax } from 'discourse/lib/ajax'; const StaticPage = Ember.Object.extend(); StaticPage.reopenClass({ find(path) { return new Ember.RSVP.Promise(resolve => { // Models shouldn't really be doing Ajax request, but this is a huge speed boost if we // preload content. const $preloaded = $("noscript[data-path=\"/" + path + "\"]"); if ($preloaded.length) { let text = $preloaded.text(); text = text.match(/((?:.|[\n\r])*)/)[1]; resolve(StaticPage.create({path: path, html: text})); } else { ajax(path + ".html", {dataType: 'html'}).then(function (result) { resolve(StaticPage.create({path: path, html: result})); }); } }); } }); export default StaticPage;