From 2caaccabc091f65b10db2fa2bbc3a7b42edf4f7c Mon Sep 17 00:00:00 2001 From: Lars Jung Date: Sat, 21 Jun 2014 00:36:44 +0200 Subject: [PATCH] Refactor JS. --- src/_h5ai/client/js/inc/core/resource.js | 32 +++++---------- src/_h5ai/client/js/inc/ext/custom.js | 46 +++++++++++----------- src/_h5ai/client/js/inc/ext/preview-txt.js | 11 +----- src/_h5ai/client/js/inc/ext/qrcode.js | 18 ++++----- src/_h5ai/client/js/inc/view/ensure.js | 6 +-- src/_h5ai/client/js/markdown.js | 2 - src/_h5ai/client/js/qrcode.js | 2 - src/_h5ai/client/js/scripts.js | 3 ++ 8 files changed, 48 insertions(+), 72 deletions(-) delete mode 100644 src/_h5ai/client/js/markdown.js delete mode 100644 src/_h5ai/client/js/qrcode.js diff --git a/src/_h5ai/client/js/inc/core/resource.js b/src/_h5ai/client/js/inc/core/resource.js index 64a8797e..44675880 100644 --- a/src/_h5ai/client/js/inc/core/resource.js +++ b/src/_h5ai/client/js/inc/core/resource.js @@ -1,10 +1,12 @@ modulejs.define('core/resource', ['_', '$', 'config', 'core/settings'], function (_, $, config, settings) { - var imagesHref = settings.appHref + 'client/images/', - fallbackHref = settings.appHref + 'client/images/fallback/', - themesHref = settings.appHref + 'client/themes/', - scriptsHref = settings.appHref + 'client/js/', + var win = window, + appHref = settings.appHref, + imagesHref = appHref + 'client/images/', + fallbackHref = appHref + 'client/images/fallback/', + themesHref = appHref + 'client/themes/', + scriptsHref = appHref + 'client/js/', fallbacks = ['file', 'folder', 'folder-page', 'folder-parent', 'ar', 'aud', 'bin', 'img', 'txt', 'vid'], image = function (id) { @@ -43,38 +45,22 @@ modulejs.define('core/resource', ['_', '$', 'config', 'core/settings'], function loadScriptGlob = function (filename, globalId, callback) { - if (window[globalId]) { - callback(window[globalId]); + if (win[globalId]) { + callback(win[globalId]); } else { - loadScript(filename, function () { callback(window[globalId]); }); - } - }, - - ensureQRCode = function (callback) { - - if ($.fn.qrcode) { - callback(); - } else { - loadScript('qrcode.js', callback); + loadScript(filename, function () { callback(win[globalId]); }); } }, ensureSH = function (callback) { loadScriptGlob('syntaxhighlighter.js', 'SyntaxHighlighter', callback); - }, - - ensureMarkdown = function (callback) { - - loadScriptGlob('markdown.js', 'markdown', callback); }; return { image: image, icon: icon, - ensureMarkdown: ensureMarkdown, - ensureQRCode: ensureQRCode, ensureSH: ensureSH }; }); diff --git a/src/_h5ai/client/js/inc/ext/custom.js b/src/_h5ai/client/js/inc/ext/custom.js index c50733cc..c4f60dc2 100644 --- a/src/_h5ai/client/js/inc/ext/custom.js +++ b/src/_h5ai/client/js/inc/ext/custom.js @@ -1,10 +1,13 @@ -modulejs.define('ext/custom', ['_', '$', 'core/settings', 'core/server', 'core/event', 'core/resource'], function (_, $, allsettings, server, event, resource) { +modulejs.define('ext/custom', ['_', '$', 'markdown', 'core/settings', 'core/server', 'core/event', 'core/resource'], function (_, $, markdown, allsettings, server, event, resource) { var settings = _.extend({ enabled: false }, allsettings.custom), + $header, $footer, + duration = 200, + onLocationChanged = function (item) { server.request({action: 'get', custom: true, customHref: item.absHref}, function (response) { @@ -12,35 +15,32 @@ modulejs.define('ext/custom', ['_', '$', 'core/settings', 'core/server', 'core/e var has_header, has_footer, data, content; if (response) { - resource.ensureMarkdown(function (md) { + data = response.custom; - data = response.custom; - - if (data.header) { - content = data.header; - if (md && data.header_type === 'md') { - content = md.toHTML(content); - } - $('#content-header').html(content).stop().slideDown(200); - has_header = true; + if (data.header) { + content = data.header; + if (data.header_type === 'md') { + content = markdown.toHTML(content); } + $header.html(content).stop().slideDown(duration); + has_header = true; + } - if (data.footer) { - content = data.footer; - if (md && data.footer_type === 'md') { - content = md.toHTML(content); - } - $('#content-footer').html(content).stop().slideDown(200); - has_footer = true; + if (data.footer) { + content = data.footer; + if (data.footer_type === 'md') { + content = markdown.toHTML(content); } - }); + $footer.html(content).stop().slideDown(duration); + has_footer = true; + } } if (!has_header) { - $('#content-header').stop().slideUp(200); + $header.stop().slideUp(duration); } if (!has_footer) { - $('#content-footer').stop().slideUp(200); + $footer.stop().slideUp(duration); } }); }, @@ -51,8 +51,8 @@ modulejs.define('ext/custom', ['_', '$', 'core/settings', 'core/server', 'core/e return; } - $('
').hide().prependTo('#content'); - $('