/* eslint-disable no-new */ import Vue from 'vue'; import VueResource from 'vue-resource'; import NotebookLab from 'vendor/notebooklab'; Vue.use(VueResource); Vue.use(NotebookLab); export default () => { const el = document.getElementById('js-notebook-viewer'); new Vue({ el, data() { return { error: false, loadError: false, loading: true, json: {}, }; }, template: `

An error occured whilst loading the file. Please try again later. An error occured whilst parsing the file.

`, methods: { loadFile() { this.$http.get(el.dataset.endpoint) .then((res) => { this.json = res.json(); this.loading = false; }) .catch((e) => { if (e.status) { this.loadError = true; } this.error = true; }); }, }, mounted() { $('', { rel: 'stylesheet', type: 'text/css', href: gon.katex_css_url, }).appendTo('head'); if (gon.katex_js_url) { $.getScript(gon.katex_js_url, () => { this.loadFile(); }); } else { this.loadFile(); } }, }); };