Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/files_markdown.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Appelman <robin@icewind.nl>2017-08-22 20:25:04 +0300
committerRobin Appelman <robin@icewind.nl>2017-08-22 20:25:04 +0300
commitca6cb8d7dc83a413848eafd2695d91a833863b15 (patch)
tree702e2368d221f9537769223f91a27115020bf929
parent60e7fde2f70fda181f4ac8fd404ae7b4413ee4e9 (diff)
cleanup loading of vendor code
Signed-off-by: Robin Appelman <robin@icewind.nl>
-rw-r--r--js/editor.js69
1 files changed, 29 insertions, 40 deletions
diff --git a/js/editor.js b/js/editor.js
index 866114b..3f05511 100644
--- a/js/editor.js
+++ b/js/editor.js
@@ -2,10 +2,7 @@
OCA.Files_Markdown = {};
-OCA.Files_Markdown.mathJaxLoaded = false;
-OCA.Files_Markdown.markedLoadPromise = null;
-OCA.Files_Markdown.highlightLoaded = null;
-OCA.Files_Markdown.katexLoadPromise = null;
+OCA.Files_Markdown.vendorPromises = {};
OCA.Files_Markdown.Preview = function () {
this.renderer = null;
@@ -17,9 +14,20 @@ OCA.Files_Markdown.Preview.prototype.init = function () {
var getUrl = this.getUrl.bind(this);
$.when(
- OCA.Files_Markdown.Preview.loadMarked(),
- OCA.Files_Markdown.Preview.loadHighlight(),
- OCA.Files_Markdown.Preview.loadKaTeX()
+ OCA.Files_Markdown.Preview.loadVendor('marked', [
+ 'node_modules/marked/marked.min'
+ ]),
+ OCA.Files_Markdown.Preview.loadVendor('highlight', [
+ 'node_modules/highlightjs/highlight.pack.min'
+ ], [
+ '../js/node_modules/highlightjs/styles/github'
+ ]),
+ OCA.Files_Markdown.Preview.loadVendor('katex', [
+ 'node_modules/katex/dist/katex.min',
+ 'node_modules/katex/dist/contrib/auto-render.min'
+ ], [
+ '../js/node_modules/katex/dist/katex.min'
+ ])
).then(function () {
this.renderer = new marked.Renderer();
var linkRenderer = this.renderer.link.bind(this.renderer);
@@ -98,30 +106,19 @@ var prepareText = function (text) {
return text;
};
-OCA.Files_Markdown.Preview.loadMarked = function () {
- if (!OCA.Files_Markdown.markedLoadPromise) {
- OCA.Files_Markdown.markedLoadPromise = OC.addScript('files_markdown', 'node_modules/marked/marked.min');
- }
- return OCA.Files_Markdown.markedLoadPromise;
-};
-
-OCA.Files_Markdown.Preview.loadHighlight = function () {
- if (!OCA.Files_Markdown.highlightLoadPromise) {
- OC.addStyle('files_markdown', '../js/node_modules/highlightjs/styles/github');
- OCA.Files_Markdown.highlightLoadPromise = OC.addScript('files_markdown', 'node_modules/highlightjs/highlight.pack.min');
+OCA.Files_Markdown.Preview.loadVendor = function(name, scripts, styles) {
+ if (!OCA.Files_Markdown.vendorPromises[name]) {
+ if (styles) {
+ for (var i = 0; i < styles.length; i++) {
+ OC.addStyle('files_markdown', styles[i]);
+ }
+ }
+ OCA.Files_Markdown.vendorPromises[name] = $.when(scripts.map(function(script) {
+ return OC.addScript('files_markdown', script)
+ }));
}
- return OCA.Files_Markdown.highlightLoadPromise;
-};
-OCA.Files_Markdown.Preview.loadKaTeX = function () {
- if (!OCA.Files_Markdown.katexLoadPromise) {
- OC.addStyle('files_markdown', '../js/node_modules/katex/dist/katex.min');
- OCA.Files_Markdown.katexLoadPromise = $.when(
- OC.addScript('files_markdown', 'node_modules/katex/dist/katex.min'),
- OC.addScript('files_markdown', 'node_modules/katex/dist/contrib/auto-render.min')
- );
- }
- return OCA.Files_Markdown.katexLoadPromise;
+ return OCA.Files_Markdown.vendorPromises[name];
};
$(document).ready(function () {
@@ -130,16 +127,6 @@ $(document).ready(function () {
}
});
-/*
- * Copyright (c) 2016
- *
- * This file is licensed under the Affero General Public License version 3
- * or later.
- *
- * See the COPYING-README file.
- *
- */
-
(function () {
var SidebarPreview = function () {
@@ -157,7 +144,9 @@ $(document).ready(function () {
var previewHeight = previewWidth / (16 / 9);
$.when(
- OCA.Files_Markdown.Preview.loadMarked(),
+ OCA.Files_Markdown.Preview.loadVendor('marked', [
+ 'node_modules/marked/marked.min'
+ ]),
this.getFileContent(model.getFullPath())
).then(function (_, content) {
$thumbnailDiv.removeClass('icon-loading icon-32');