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/models/static-page.js.es6

26 lines
811 B
JavaScript

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(
/<!-- preload-content: -->((?:.|[\n\r])*)<!-- :preload-content -->/
)[1];
resolve(StaticPage.create({ path, html: text }));
} else {
ajax(`/${path}.html`, { dataType: "html" }).then(result =>
resolve(StaticPage.create({ path, html: result }))
);
}
});
}
});
export default StaticPage;