JSHint validation. Part 2.
This commit is contained in:
parent
634569f3a9
commit
f8e97cb190
Gruntfile.js
public
cache.manifest
res
classes
constants.jscore.jseventMgr.jsextensions
buttonFocusMode.jsbuttonHtmlCode.jsbuttonPublish.jsbuttonShare.jsbuttonStat.jsbuttonSync.jsdialogAbout.jsdialogManagePublication.jsdialogManageSynchronization.jsdialogOpenHarddrive.jsdocumentManager.jsdocumentPanel.jsdocumentSelector.jsdocumentTitle.jsgoogleAnalytics.jsmarkdownExtra.jsmarkdownSectionParser.jsmathJax.jsnotifications.jspartialRendering.jsscrollLink.jsspellCheck.jstoc.jsuserCustom.jswelcomeTour.jsworkingIndicator.jsyamlFrontMatterParser.js
helpers
main.jspublisher.jssettings.jsworker.js@ -228,6 +228,9 @@ module.exports = function(grunt) {
|
|||||||
*/
|
*/
|
||||||
grunt.registerTask('build-js', function() {
|
grunt.registerTask('build-js', function() {
|
||||||
|
|
||||||
|
// JSHint validation
|
||||||
|
grunt.task.run('jshint');
|
||||||
|
|
||||||
// Run r.js optimization
|
// Run r.js optimization
|
||||||
grunt.task.run('requirejs');
|
grunt.task.run('requirejs');
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
CACHE MANIFEST
|
CACHE MANIFEST
|
||||||
#Date Sun Nov 03 2013 22:25:18
|
#Date Thu Nov 07 2013 23:09:02
|
||||||
|
|
||||||
CACHE:
|
CACHE:
|
||||||
res/worker.js
|
res/worker.js
|
||||||
|
@ -3,7 +3,6 @@ define([
|
|||||||
"constants",
|
"constants",
|
||||||
"utils",
|
"utils",
|
||||||
"eventMgr",
|
"eventMgr",
|
||||||
"config"
|
|
||||||
], function(_, constants, utils, eventMgr) {
|
], function(_, constants, utils, eventMgr) {
|
||||||
|
|
||||||
var taskQueue = [];
|
var taskQueue = [];
|
||||||
|
@ -5,7 +5,7 @@ define([
|
|||||||
"fileSystem"
|
"fileSystem"
|
||||||
], function(_, utils, storage, fileSystem) {
|
], function(_, utils, storage, fileSystem) {
|
||||||
|
|
||||||
function FolderDescriptor(folderIndex, name, fileList) {
|
function FolderDescriptor(folderIndex, name) {
|
||||||
this.folderIndex = folderIndex;
|
this.folderIndex = folderIndex;
|
||||||
this._name = name || storage[folderIndex + ".name"];
|
this._name = name || storage[folderIndex + ".name"];
|
||||||
// Retrieve file list from storage
|
// Retrieve file list from storage
|
||||||
|
@ -29,11 +29,11 @@ define([], function() {
|
|||||||
|
|
||||||
// Use by Google's client.js
|
// Use by Google's client.js
|
||||||
window.delayedFunction = undefined;
|
window.delayedFunction = undefined;
|
||||||
function runDelayedFunction() {
|
window.runDelayedFunction = function() {
|
||||||
if(window.delayedFunction !== undefined) {
|
if(window.delayedFunction !== undefined) {
|
||||||
window.delayedFunction();
|
window.delayedFunction();
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
// Site dependent
|
// Site dependent
|
||||||
constants.BASE_URL = "http://localhost/";
|
constants.BASE_URL = "http://localhost/";
|
@ -1,3 +1,4 @@
|
|||||||
|
/*globals Markdown, requirejs */
|
||||||
define([
|
define([
|
||||||
"jquery",
|
"jquery",
|
||||||
"underscore",
|
"underscore",
|
||||||
@ -15,7 +16,6 @@ define([
|
|||||||
"text!html/settingsTemplateTooltip.html",
|
"text!html/settingsTemplateTooltip.html",
|
||||||
"text!html/settingsUserCustomExtensionTooltip.html",
|
"text!html/settingsUserCustomExtensionTooltip.html",
|
||||||
"storage",
|
"storage",
|
||||||
"config",
|
|
||||||
"uilayout",
|
"uilayout",
|
||||||
'pagedown-ace',
|
'pagedown-ace',
|
||||||
'libs/ace_mode',
|
'libs/ace_mode',
|
||||||
@ -29,7 +29,7 @@ define([
|
|||||||
var core = {};
|
var core = {};
|
||||||
|
|
||||||
// Used for periodic tasks
|
// Used for periodic tasks
|
||||||
var intervalId = undefined;
|
var intervalId;
|
||||||
|
|
||||||
// Used to detect user activity
|
// Used to detect user activity
|
||||||
var isUserReal = false;
|
var isUserReal = false;
|
||||||
@ -54,7 +54,7 @@ define([
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Used to only have 1 window of the application in the same browser
|
// Used to only have 1 window of the application in the same browser
|
||||||
var windowId = undefined;
|
var windowId;
|
||||||
function checkWindowUnique() {
|
function checkWindowUnique() {
|
||||||
if(isUserReal === false || windowUnique === false) {
|
if(isUserReal === false || windowUnique === false) {
|
||||||
return;
|
return;
|
||||||
@ -106,13 +106,13 @@ define([
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Load settings in settings dialog
|
// Load settings in settings dialog
|
||||||
var $themeInputElt = undefined;
|
var $themeInputElt;
|
||||||
function loadSettings() {
|
function loadSettings() {
|
||||||
|
|
||||||
// Layout orientation
|
// Layout orientation
|
||||||
utils.setInputRadio("radio-layout-orientation", settings.layoutOrientation);
|
utils.setInputRadio("radio-layout-orientation", settings.layoutOrientation);
|
||||||
// Theme
|
// Theme
|
||||||
utils.setInputValue($themeInputElt, theme);
|
utils.setInputValue($themeInputElt, window.theme);
|
||||||
$themeInputElt.change();
|
$themeInputElt.change();
|
||||||
// Lazy rendering
|
// Lazy rendering
|
||||||
utils.setInputChecked("#input-settings-lazy-rendering", settings.lazyRendering);
|
utils.setInputChecked("#input-settings-lazy-rendering", settings.lazyRendering);
|
||||||
@ -190,9 +190,9 @@ define([
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Set the panels visibility
|
// Set the panels visibility
|
||||||
var layout = undefined;
|
var layout;
|
||||||
var $menuPanelElt = undefined;
|
var $menuPanelElt;
|
||||||
var $documentPanelElt = undefined;
|
var $documentPanelElt;
|
||||||
function setPanelVisibility(forceHide) {
|
function setPanelVisibility(forceHide) {
|
||||||
if(forceHide === true || layout.state.north.isClosed) {
|
if(forceHide === true || layout.state.north.isClosed) {
|
||||||
$menuPanelElt.hide();
|
$menuPanelElt.hide();
|
||||||
@ -205,7 +205,7 @@ define([
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Set the preview button visibility
|
// Set the preview button visibility
|
||||||
var $previewButtonsElt = undefined;
|
var $previewButtonsElt;
|
||||||
function setPreviewButtonsVisibility(forceHide) {
|
function setPreviewButtonsVisibility(forceHide) {
|
||||||
if(forceHide === true || layout.state.east.isClosed) {
|
if(forceHide === true || layout.state.east.isClosed) {
|
||||||
$previewButtonsElt.hide();
|
$previewButtonsElt.hide();
|
||||||
@ -216,7 +216,7 @@ define([
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Create ACE editor
|
// Create ACE editor
|
||||||
var aceEditor = undefined;
|
var aceEditor;
|
||||||
function createAceEditor() {
|
function createAceEditor() {
|
||||||
aceEditor = ace.edit("wmd-input");
|
aceEditor = ace.edit("wmd-input");
|
||||||
aceEditor.setOption("spellcheck", true);
|
aceEditor.setOption("spellcheck", true);
|
||||||
@ -277,8 +277,9 @@ define([
|
|||||||
}
|
}
|
||||||
self.currentLine = currentLine;
|
self.currentLine = currentLine;
|
||||||
|
|
||||||
if(startLine <= endLine)
|
if(startLine <= endLine) {
|
||||||
self.fireUpdateEvent(startLine, endLine);
|
self.fireUpdateEvent(startLine, endLine);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
self.$worker = function() {
|
self.$worker = function() {
|
||||||
self.lines.splice(0, self.lines.length);
|
self.lines.splice(0, self.lines.length);
|
||||||
@ -294,7 +295,7 @@ define([
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Create the layout
|
// Create the layout
|
||||||
var $editorButtonsElt = undefined;
|
var $editorButtonsElt;
|
||||||
function createLayout() {
|
function createLayout() {
|
||||||
var layoutGlobalConfig = {
|
var layoutGlobalConfig = {
|
||||||
closable: true,
|
closable: true,
|
||||||
@ -384,7 +385,7 @@ define([
|
|||||||
var $resizerDecorator = $('<div class="resizer-decorator">');
|
var $resizerDecorator = $('<div class="resizer-decorator">');
|
||||||
$previewButtonsElt = $('<div class="extension-preview-buttons">');
|
$previewButtonsElt = $('<div class="extension-preview-buttons">');
|
||||||
$editorButtonsElt = $('<div class="extension-editor-buttons">');
|
$editorButtonsElt = $('<div class="extension-editor-buttons">');
|
||||||
if(viewerMode || settings.layoutOrientation == "horizontal") {
|
if(window.viewerMode || settings.layoutOrientation == "horizontal") {
|
||||||
$('.ui-layout-resizer-north').append($resizerDecorator).append($previewButtonsElt);
|
$('.ui-layout-resizer-north').append($resizerDecorator).append($previewButtonsElt);
|
||||||
$('.ui-layout-resizer-east').append($northTogglerElt).append($editorButtonsElt);
|
$('.ui-layout-resizer-east').append($northTogglerElt).append($editorButtonsElt);
|
||||||
}
|
}
|
||||||
@ -400,10 +401,10 @@ define([
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Create the PageDown editor
|
// Create the PageDown editor
|
||||||
var editor = undefined;
|
var editor;
|
||||||
var $editorElt = undefined;
|
var $editorElt;
|
||||||
var fileDesc = undefined;
|
var fileDesc;
|
||||||
var documentContent = undefined;
|
var documentContent;
|
||||||
var UndoManager = require("ace/undomanager").UndoManager;
|
var UndoManager = require("ace/undomanager").UndoManager;
|
||||||
core.initEditor = function(fileDescParam) {
|
core.initEditor = function(fileDescParam) {
|
||||||
if(fileDesc !== undefined) {
|
if(fileDesc !== undefined) {
|
||||||
@ -431,7 +432,7 @@ define([
|
|||||||
|
|
||||||
var $previewContainerElt = $(".preview-container");
|
var $previewContainerElt = $(".preview-container");
|
||||||
|
|
||||||
if(!lightMode) {
|
if(!window.lightMode) {
|
||||||
// Store editor scrollTop on scroll event
|
// Store editor scrollTop on scroll event
|
||||||
var saveScroll = _.debounce(function() {
|
var saveScroll = _.debounce(function() {
|
||||||
if(documentContent !== undefined) {
|
if(documentContent !== undefined) {
|
||||||
@ -469,8 +470,9 @@ define([
|
|||||||
}
|
}
|
||||||
documentContent = newDocumentContent;
|
documentContent = newDocumentContent;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!lightMode) {
|
var previewWrapper;
|
||||||
|
if(!window.lightMode) {
|
||||||
editor = new Markdown.Editor(converter, undefined, {
|
editor = new Markdown.Editor(converter, undefined, {
|
||||||
keyStrokes: shortcutMgr.getPagedownKeyStrokes()
|
keyStrokes: shortcutMgr.getPagedownKeyStrokes()
|
||||||
});
|
});
|
||||||
@ -491,20 +493,55 @@ define([
|
|||||||
$(".modal-insert-image").modal();
|
$(".modal-insert-image").modal();
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if(settings.lazyRendering === true) {
|
||||||
|
previewWrapper = function(makePreview) {
|
||||||
|
var debouncedMakePreview = _.debounce(makePreview, 500);
|
||||||
|
return function() {
|
||||||
|
if(documentContent === undefined) {
|
||||||
|
makePreview();
|
||||||
|
eventMgr.onFileOpen(fileDesc);
|
||||||
|
$previewContainerElt.scrollTop(fileDesc.previewScrollTop);
|
||||||
|
_.defer(function() {
|
||||||
|
aceEditor.renderer.scrollToY(fileDesc.editorScrollTop);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
debouncedMakePreview();
|
||||||
|
}
|
||||||
|
checkDocumentChanges();
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
previewWrapper = function(makePreview) {
|
||||||
|
return function() {
|
||||||
|
makePreview();
|
||||||
|
if(documentContent === undefined) {
|
||||||
|
eventMgr.onFileOpen(fileDesc);
|
||||||
|
$previewContainerElt.scrollTop(fileDesc.previewScrollTop);
|
||||||
|
_.defer(function() {
|
||||||
|
aceEditor.renderer.scrollToY(fileDesc.editorScrollTop);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
checkDocumentChanges();
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// That's the light Markdown editor replacing the one from pagedown
|
// That's the light Markdown editor replacing the one from pagedown
|
||||||
var $wmdPreviewElt = $('#wmd-preview');
|
var $wmdPreviewElt = $('#wmd-preview');
|
||||||
var hooks = new Markdown.HookCollection();
|
var hooks = new Markdown.HookCollection();
|
||||||
hooks.addNoop("onPreviewRefresh");
|
hooks.addNoop("onPreviewRefresh");
|
||||||
function makePreviewHtml() {
|
var makePreviewHtml = function() {
|
||||||
var text = $editorElt.val();
|
var text = $editorElt.val();
|
||||||
text = converter.makeHtml(text);
|
text = converter.makeHtml(text);
|
||||||
$wmdPreviewElt.html(text);
|
$wmdPreviewElt.html(text);
|
||||||
hooks.onPreviewRefresh();
|
hooks.onPreviewRefresh();
|
||||||
}
|
};
|
||||||
var debouncedMakePreview = _.debounce(makePreviewHtml, 1000);
|
var debouncedMakePreview = _.debounce(makePreviewHtml, 1000);
|
||||||
var previewWrapper = function() {
|
var lightPreviewWrapper = function() {
|
||||||
if(documentContent === undefined) {
|
if(documentContent === undefined) {
|
||||||
makePreviewHtml();
|
makePreviewHtml();
|
||||||
eventMgr.onFileOpen(fileDesc);
|
eventMgr.onFileOpen(fileDesc);
|
||||||
@ -514,52 +551,17 @@ define([
|
|||||||
}
|
}
|
||||||
checkDocumentChanges();
|
checkDocumentChanges();
|
||||||
};
|
};
|
||||||
$editorElt.on("input propertychange", previewWrapper);
|
$editorElt.on("input propertychange", lightPreviewWrapper);
|
||||||
editor = {
|
editor = {
|
||||||
hooks: hooks,
|
hooks: hooks,
|
||||||
getConverter: function() {
|
getConverter: function() {
|
||||||
return converter;
|
return converter;
|
||||||
},
|
},
|
||||||
run: previewWrapper,
|
run: lightPreviewWrapper,
|
||||||
refreshPreview: previewWrapper
|
refreshPreview: lightPreviewWrapper
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
var previewWrapper;
|
|
||||||
if(settings.lazyRendering === true) {
|
|
||||||
previewWrapper = function(makePreview) {
|
|
||||||
var debouncedMakePreview = _.debounce(makePreview, 500);
|
|
||||||
return function() {
|
|
||||||
if(documentContent === undefined) {
|
|
||||||
makePreview();
|
|
||||||
eventMgr.onFileOpen(fileDesc);
|
|
||||||
$previewContainerElt.scrollTop(fileDesc.previewScrollTop);
|
|
||||||
_.defer(function() {
|
|
||||||
aceEditor.renderer.scrollToY(fileDesc.editorScrollTop);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
debouncedMakePreview();
|
|
||||||
}
|
|
||||||
checkDocumentChanges();
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
previewWrapper = function(makePreview) {
|
|
||||||
return function() {
|
|
||||||
makePreview();
|
|
||||||
if(documentContent === undefined) {
|
|
||||||
eventMgr.onFileOpen(fileDesc);
|
|
||||||
$previewContainerElt.scrollTop(fileDesc.previewScrollTop);
|
|
||||||
_.defer(function() {
|
|
||||||
aceEditor.renderer.scrollToY(fileDesc.editorScrollTop);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
checkDocumentChanges();
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
eventMgr.onPagedownConfigure(editor);
|
eventMgr.onPagedownConfigure(editor);
|
||||||
editor.hooks.chain("onPreviewRefresh", eventMgr.onAsyncPreview);
|
editor.hooks.chain("onPreviewRefresh", eventMgr.onAsyncPreview);
|
||||||
editor.run(aceEditor, previewWrapper);
|
editor.run(aceEditor, previewWrapper);
|
||||||
@ -573,24 +575,24 @@ define([
|
|||||||
var $btnGroupElt = $('.wmd-button-group1');
|
var $btnGroupElt = $('.wmd-button-group1');
|
||||||
$("#wmd-bold-button").append($('<i class="icon-bold">')).appendTo($btnGroupElt);
|
$("#wmd-bold-button").append($('<i class="icon-bold">')).appendTo($btnGroupElt);
|
||||||
$("#wmd-italic-button").append($('<i class="icon-italic">')).appendTo($btnGroupElt);
|
$("#wmd-italic-button").append($('<i class="icon-italic">')).appendTo($btnGroupElt);
|
||||||
var $btnGroupElt = $('.wmd-button-group2');
|
$btnGroupElt = $('.wmd-button-group2');
|
||||||
$("#wmd-link-button").append($('<i class="icon-globe">')).appendTo($btnGroupElt);
|
$("#wmd-link-button").append($('<i class="icon-globe">')).appendTo($btnGroupElt);
|
||||||
$("#wmd-quote-button").append($('<i class="icon-indent-right">')).appendTo($btnGroupElt);
|
$("#wmd-quote-button").append($('<i class="icon-indent-right">')).appendTo($btnGroupElt);
|
||||||
$("#wmd-code-button").append($('<i class="icon-code">')).appendTo($btnGroupElt);
|
$("#wmd-code-button").append($('<i class="icon-code">')).appendTo($btnGroupElt);
|
||||||
$("#wmd-image-button").append($('<i class="icon-picture">')).appendTo($btnGroupElt);
|
$("#wmd-image-button").append($('<i class="icon-picture">')).appendTo($btnGroupElt);
|
||||||
var $btnGroupElt = $('.wmd-button-group3');
|
$btnGroupElt = $('.wmd-button-group3');
|
||||||
$("#wmd-olist-button").append($('<i class="icon-list-numbered">')).appendTo($btnGroupElt);
|
$("#wmd-olist-button").append($('<i class="icon-list-numbered">')).appendTo($btnGroupElt);
|
||||||
$("#wmd-ulist-button").append($('<i class="icon-list-bullet">')).appendTo($btnGroupElt);
|
$("#wmd-ulist-button").append($('<i class="icon-list-bullet">')).appendTo($btnGroupElt);
|
||||||
$("#wmd-heading-button").append($('<i class="icon-text-height">')).appendTo($btnGroupElt);
|
$("#wmd-heading-button").append($('<i class="icon-text-height">')).appendTo($btnGroupElt);
|
||||||
$("#wmd-hr-button").append($('<i class="icon-ellipsis">')).appendTo($btnGroupElt);
|
$("#wmd-hr-button").append($('<i class="icon-ellipsis">')).appendTo($btnGroupElt);
|
||||||
var $btnGroupElt = $('.wmd-button-group4');
|
$btnGroupElt = $('.wmd-button-group4');
|
||||||
$("#wmd-undo-button").append($('<i class="icon-reply">')).appendTo($btnGroupElt);
|
$("#wmd-undo-button").append($('<i class="icon-reply">')).appendTo($btnGroupElt);
|
||||||
$("#wmd-redo-button").append($('<i class="icon-forward">')).appendTo($btnGroupElt);
|
$("#wmd-redo-button").append($('<i class="icon-forward">')).appendTo($btnGroupElt);
|
||||||
};
|
};
|
||||||
|
|
||||||
// Shows a dialog to force the user to click a button before opening oauth popup
|
// Shows a dialog to force the user to click a button before opening oauth popup
|
||||||
var redirectCallbackConfirm = undefined;
|
var redirectCallbackConfirm;
|
||||||
var redirectCallbackCancel = undefined;
|
var redirectCallbackCancel;
|
||||||
core.redirectConfirm = function(message, callbackConfirm, callbackCancel) {
|
core.redirectConfirm = function(message, callbackConfirm, callbackCancel) {
|
||||||
redirectCallbackConfirm = callbackConfirm;
|
redirectCallbackConfirm = callbackConfirm;
|
||||||
redirectCallbackCancel = callbackCancel;
|
redirectCallbackCancel = callbackCancel;
|
||||||
@ -602,7 +604,7 @@ define([
|
|||||||
var isDocumentPanelShown = false;
|
var isDocumentPanelShown = false;
|
||||||
var isMenuPanelShown = false;
|
var isMenuPanelShown = false;
|
||||||
core.onReady = function() {
|
core.onReady = function() {
|
||||||
if(viewerMode === true) {
|
if(window.viewerMode === true) {
|
||||||
document.body.innerHTML = bodyViewerHTML;
|
document.body.innerHTML = bodyViewerHTML;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -630,7 +632,7 @@ define([
|
|||||||
$menuPanelElt = $('.menu-panel').collapse({
|
$menuPanelElt = $('.menu-panel').collapse({
|
||||||
toggle: false
|
toggle: false
|
||||||
});
|
});
|
||||||
var menuPanelBackdropElt = undefined;
|
var menuPanelBackdropElt;
|
||||||
$menuPanelElt.on('show.bs.collapse', function(e) {
|
$menuPanelElt.on('show.bs.collapse', function(e) {
|
||||||
if(e.target === $menuPanelElt[0]) {
|
if(e.target === $menuPanelElt[0]) {
|
||||||
isMenuPanelShown = true;
|
isMenuPanelShown = true;
|
||||||
@ -658,7 +660,7 @@ define([
|
|||||||
$documentPanelElt = $('.document-panel').collapse({
|
$documentPanelElt = $('.document-panel').collapse({
|
||||||
toggle: false
|
toggle: false
|
||||||
});
|
});
|
||||||
var documentPanelBackdropElt = undefined;
|
var documentPanelBackdropElt;
|
||||||
$documentPanelElt.on('show.bs.collapse', function(e) {
|
$documentPanelElt.on('show.bs.collapse', function(e) {
|
||||||
if(e.target === $documentPanelElt[0]) {
|
if(e.target === $documentPanelElt[0]) {
|
||||||
isDocumentPanelShown = true;
|
isDocumentPanelShown = true;
|
||||||
@ -684,7 +686,7 @@ define([
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Editor
|
// Editor
|
||||||
if(lightMode) {
|
if(window.lightMode) {
|
||||||
// In light mode, we replace ACE with a textarea
|
// In light mode, we replace ACE with a textarea
|
||||||
$('#wmd-input').replaceWith(function() {
|
$('#wmd-input').replaceWith(function() {
|
||||||
return $('<textarea id="wmd-input">').addClass(this.className).addClass('form-control');
|
return $('<textarea id="wmd-input">').addClass(this.className).addClass('form-control');
|
||||||
@ -698,7 +700,7 @@ define([
|
|||||||
"line-height": Math.round(settings.editorFontSize * (20 / 12)) + "px"
|
"line-height": Math.round(settings.editorFontSize * (20 / 12)) + "px"
|
||||||
});
|
});
|
||||||
|
|
||||||
if(!lightMode) {
|
if(!window.lightMode) {
|
||||||
// ACE editor
|
// ACE editor
|
||||||
createAceEditor();
|
createAceEditor();
|
||||||
|
|
||||||
@ -715,7 +717,7 @@ define([
|
|||||||
intervalId = window.setInterval(function() {
|
intervalId = window.setInterval(function() {
|
||||||
utils.updateCurrentTime();
|
utils.updateCurrentTime();
|
||||||
checkWindowUnique();
|
checkWindowUnique();
|
||||||
if(isUserActive() === true || viewerMode === true) {
|
if(isUserActive() === true || window.viewerMode === true) {
|
||||||
eventMgr.onPeriodicRun();
|
eventMgr.onPeriodicRun();
|
||||||
checkOnline();
|
checkOnline();
|
||||||
}
|
}
|
||||||
@ -728,7 +730,7 @@ define([
|
|||||||
eventMgr.addListener("onReady", function() {
|
eventMgr.addListener("onReady", function() {
|
||||||
|
|
||||||
// In vertical mode, we have to offset the editor buttons otherwise they hide the editor buttons
|
// In vertical mode, we have to offset the editor buttons otherwise they hide the editor buttons
|
||||||
if(!viewerMode && settings.layoutOrientation == "vertical") {
|
if(!window.viewerMode && settings.layoutOrientation == "vertical") {
|
||||||
$previewButtonsElt.css('right', parseInt($previewButtonsElt.css('right')) + $editorButtonsElt.width());
|
$previewButtonsElt.css('right', parseInt($previewButtonsElt.css('right')) + $editorButtonsElt.width());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -763,7 +765,7 @@ define([
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Configure Mousetrap
|
// Configure Mousetrap
|
||||||
mousetrap.stopCallback = function(e, element, combo) {
|
mousetrap.stopCallback = function(e, element) {
|
||||||
return isMenuPanelShown || isDocumentPanelShown || isModalShown || $(element).is("input, select, textarea:not(.ace_text-input)");
|
return isMenuPanelShown || isDocumentPanelShown || isModalShown || $(element).is("input, select, textarea:not(.ace_text-input)");
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -803,12 +805,12 @@ define([
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Hot theme switcher in the settings
|
// Hot theme switcher in the settings
|
||||||
var currentTheme = theme;
|
var currentTheme = window.theme;
|
||||||
function applyTheme(theme) {
|
function applyTheme(theme) {
|
||||||
theme = theme || 'default';
|
theme = theme || 'default';
|
||||||
if(currentTheme != theme) {
|
if(currentTheme != theme) {
|
||||||
var themeModule = "less!themes/" + theme;
|
var themeModule = "less!themes/" + theme;
|
||||||
if(baseDir.indexOf('-min') !== -1) {
|
if(window.baseDir.indexOf('-min') !== -1) {
|
||||||
themeModule = "css!themes/" + theme;
|
themeModule = "css!themes/" + theme;
|
||||||
}
|
}
|
||||||
// Undefine the module in RequireJS
|
// Undefine the module in RequireJS
|
||||||
@ -826,10 +828,10 @@ define([
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Import docs and settings
|
// Import docs and settings
|
||||||
$(".action-import-docs-settings").click(function(e) {
|
$(".action-import-docs-settings").click(function() {
|
||||||
$("#input-file-import-docs-settings").click();
|
$("#input-file-import-docs-settings").click();
|
||||||
});
|
});
|
||||||
var newstorage = undefined;
|
var newstorage;
|
||||||
$("#input-file-import-docs-settings").change(function(evt) {
|
$("#input-file-import-docs-settings").change(function(evt) {
|
||||||
var files = (evt.dataTransfer || evt.target).files;
|
var files = (evt.dataTransfer || evt.target).files;
|
||||||
$(".modal-settings").modal("hide");
|
$(".modal-settings").modal("hide");
|
||||||
@ -849,7 +851,7 @@ define([
|
|||||||
$('.modal-import-docs-settings').modal('show');
|
$('.modal-import-docs-settings').modal('show');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch(e) {
|
catch(exc) {
|
||||||
eventMgr.onError("Wrong format: " + importedFile.name);
|
eventMgr.onError("Wrong format: " + importedFile.name);
|
||||||
}
|
}
|
||||||
$("#input-file-import-docs-settings").val('');
|
$("#input-file-import-docs-settings").val('');
|
||||||
@ -858,7 +860,7 @@ define([
|
|||||||
reader.readAsText(file);
|
reader.readAsText(file);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
$(".action-import-docs-settings-confirm").click(function(e) {
|
$(".action-import-docs-settings-confirm").click(function() {
|
||||||
storage.clear();
|
storage.clear();
|
||||||
var allowedKeys = /^file\.|^focusMode$|^folder\.|^publish\.|^settings$|^sync\.|^theme$|^version$|^welcomeTour$/;
|
var allowedKeys = /^file\.|^focusMode$|^folder\.|^publish\.|^settings$|^sync\.|^theme$|^version$|^welcomeTour$/;
|
||||||
_.each(newstorage, function(value, key) {
|
_.each(newstorage, function(value, key) {
|
||||||
@ -869,7 +871,7 @@ define([
|
|||||||
window.location.reload();
|
window.location.reload();
|
||||||
});
|
});
|
||||||
// Export settings
|
// Export settings
|
||||||
$(".action-export-docs-settings").click(function(e) {
|
$(".action-export-docs-settings").click(function() {
|
||||||
utils.saveAs(JSON.stringify(storage), "StackEdit local storage.json");
|
utils.saveAs(JSON.stringify(storage), "StackEdit local storage.json");
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -915,7 +917,7 @@ define([
|
|||||||
title: settingsUserCustomExtensionTooltipHTML
|
title: settingsUserCustomExtensionTooltipHTML
|
||||||
}).click(function(e) {
|
}).click(function(e) {
|
||||||
$(this).tooltip('show');
|
$(this).tooltip('show');
|
||||||
$(document).on("click.tooltip-usercustom-extension", function(e) {
|
$(document).on("click.tooltip-usercustom-extension", function() {
|
||||||
tooltipOpen = false;
|
tooltipOpen = false;
|
||||||
$(".tooltip-usercustom-extension").tooltip('hide');
|
$(".tooltip-usercustom-extension").tooltip('hide');
|
||||||
$(document).off("click.tooltip-usercustom-extension");
|
$(document).off("click.tooltip-usercustom-extension");
|
||||||
@ -933,7 +935,7 @@ define([
|
|||||||
title: settingsTemplateTooltipHTML
|
title: settingsTemplateTooltipHTML
|
||||||
}).click(function(e) {
|
}).click(function(e) {
|
||||||
$tooltipElt.tooltip('show');
|
$tooltipElt.tooltip('show');
|
||||||
$(document).on("click.tooltip-template", function(e) {
|
$(document).on("click.tooltip-template", function() {
|
||||||
tooltipOpen = false;
|
tooltipOpen = false;
|
||||||
$(".tooltip-template").tooltip('hide');
|
$(".tooltip-template").tooltip('hide');
|
||||||
$(document).off("click.tooltip-template");
|
$(document).off("click.tooltip-template");
|
||||||
@ -970,11 +972,11 @@ define([
|
|||||||
var $imgElt = $(imgElt);
|
var $imgElt = $(imgElt);
|
||||||
var src = $imgElt.data('stackeditSrc');
|
var src = $imgElt.data('stackeditSrc');
|
||||||
if(src) {
|
if(src) {
|
||||||
$imgElt.attr('src', baseDir + '/img/' + src);
|
$imgElt.attr('src', window.baseDir + '/img/' + src);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if(viewerMode === false) {
|
if(window.viewerMode === false) {
|
||||||
// Load theme list
|
// Load theme list
|
||||||
var themeOptions = _.reduce(constants.THEME_LIST, function(themeOptions, name, value) {
|
var themeOptions = _.reduce(constants.THEME_LIST, function(themeOptions, name, value) {
|
||||||
return themeOptions + '<option value="' + value + '">' + name + '</option>';
|
return themeOptions + '<option value="' + value + '">' + name + '</option>';
|
||||||
|
@ -3,6 +3,7 @@ define([
|
|||||||
"underscore",
|
"underscore",
|
||||||
"crel",
|
"crel",
|
||||||
"utils",
|
"utils",
|
||||||
|
"logger",
|
||||||
"classes/Extension",
|
"classes/Extension",
|
||||||
"settings",
|
"settings",
|
||||||
"text!html/settingsExtensionsAccordion.html",
|
"text!html/settingsExtensionsAccordion.html",
|
||||||
@ -38,7 +39,7 @@ define([
|
|||||||
"extensions/userCustom",
|
"extensions/userCustom",
|
||||||
"bootstrap",
|
"bootstrap",
|
||||||
"jquery-waitforimages"
|
"jquery-waitforimages"
|
||||||
], function($, _, crel, utils, Extension, settings, settingsExtensionsAccordionHTML) {
|
], function($, _, crel, utils, logger, Extension, settings, settingsExtensionsAccordionHTML) {
|
||||||
|
|
||||||
var eventMgr = {};
|
var eventMgr = {};
|
||||||
|
|
||||||
@ -48,17 +49,17 @@ define([
|
|||||||
}).compact().value();
|
}).compact().value();
|
||||||
|
|
||||||
// Configure extensions
|
// Configure extensions
|
||||||
extensionSettings = settings.extensionSettings || {};
|
var extensionSettings = settings.extensionSettings || {};
|
||||||
_.each(extensionList, function(extension) {
|
_.each(extensionList, function(extension) {
|
||||||
// Set the extension.config attribute from settings or default
|
// Set the extension.config attribute from settings or default
|
||||||
// configuration
|
// configuration
|
||||||
extension.config = _.extend({}, extension.defaultConfig, extensionSettings[extension.extensionId]);
|
extension.config = _.extend({}, extension.defaultConfig, extensionSettings[extension.extensionId]);
|
||||||
if(viewerMode === true && extension.disableInViewer === true) {
|
if(window.viewerMode === true && extension.disableInViewer === true) {
|
||||||
// Skip enabling the extension if we are in the viewer and extension
|
// Skip enabling the extension if we are in the viewer and extension
|
||||||
// doesn't support it
|
// doesn't support it
|
||||||
extension.enabled = false;
|
extension.enabled = false;
|
||||||
}
|
}
|
||||||
else if(lightMode === true && extension.disableInLight === true) {
|
else if(window.lightMode === true && extension.disableInLight === true) {
|
||||||
// Same for light mode
|
// Same for light mode
|
||||||
extension.enabled = false;
|
extension.enabled = false;
|
||||||
}
|
}
|
||||||
@ -116,7 +117,7 @@ define([
|
|||||||
createEventHook("onInit")();
|
createEventHook("onInit")();
|
||||||
|
|
||||||
// Load/Save extension config from/to settings
|
// Load/Save extension config from/to settings
|
||||||
eventMgr["onLoadSettings"] = function() {
|
eventMgr.onLoadSettings = function() {
|
||||||
logger.log("onLoadSettings");
|
logger.log("onLoadSettings");
|
||||||
_.each(extensionList, function(extension) {
|
_.each(extensionList, function(extension) {
|
||||||
utils.setInputChecked("#input-enable-extension-" + extension.extensionId, extension.enabled === true);
|
utils.setInputChecked("#input-enable-extension-" + extension.extensionId, extension.enabled === true);
|
||||||
@ -124,7 +125,7 @@ define([
|
|||||||
onLoadSettingsListener && onLoadSettingsListener();
|
onLoadSettingsListener && onLoadSettingsListener();
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
eventMgr["onSaveSettings"] = function(newExtensionSettings, event) {
|
eventMgr.onSaveSettings = function(newExtensionSettings, event) {
|
||||||
logger.log("onSaveSettings");
|
logger.log("onSaveSettings");
|
||||||
_.each(extensionList, function(extension) {
|
_.each(extensionList, function(extension) {
|
||||||
var newExtensionConfig = _.extend({}, extension.defaultConfig);
|
var newExtensionConfig = _.extend({}, extension.defaultConfig);
|
||||||
@ -189,9 +190,9 @@ define([
|
|||||||
|
|
||||||
var onPreviewFinished = createEventHook("onPreviewFinished");
|
var onPreviewFinished = createEventHook("onPreviewFinished");
|
||||||
var onAsyncPreviewListenerList = getExtensionListenerList("onAsyncPreview");
|
var onAsyncPreviewListenerList = getExtensionListenerList("onAsyncPreview");
|
||||||
var previewContentsElt = undefined;
|
var previewContentsElt;
|
||||||
var $previewContentsElt = undefined;
|
var $previewContentsElt;
|
||||||
eventMgr["onAsyncPreview"] = function() {
|
eventMgr.onAsyncPreview = function() {
|
||||||
logger.log("onAsyncPreview");
|
logger.log("onAsyncPreview");
|
||||||
logger.log("Conversion time: " + (new Date() - eventMgr.previewStartTime));
|
logger.log("Conversion time: " + (new Date() - eventMgr.previewStartTime));
|
||||||
function recursiveCall(callbackList) {
|
function recursiveCall(callbackList) {
|
||||||
@ -216,11 +217,11 @@ define([
|
|||||||
};
|
};
|
||||||
|
|
||||||
var onReady = createEventHook("onReady");
|
var onReady = createEventHook("onReady");
|
||||||
eventMgr["onReady"] = function() {
|
eventMgr.onReady = function() {
|
||||||
previewContentsElt = document.getElementById('preview-contents');
|
previewContentsElt = document.getElementById('preview-contents');
|
||||||
$previewContentsElt = $(previewContentsElt);
|
$previewContentsElt = $(previewContentsElt);
|
||||||
|
|
||||||
if(viewerMode === false) {
|
if(window.viewerMode === false) {
|
||||||
// Create accordion in settings dialog
|
// Create accordion in settings dialog
|
||||||
var accordionHtml = _.chain(extensionList).sortBy(function(extension) {
|
var accordionHtml = _.chain(extensionList).sortBy(function(extension) {
|
||||||
return extension.extensionName.toLowerCase();
|
return extension.extensionName.toLowerCase();
|
||||||
@ -235,7 +236,7 @@ define([
|
|||||||
document.querySelector('.accordion-extensions').innerHTML = accordionHtml;
|
document.querySelector('.accordion-extensions').innerHTML = accordionHtml;
|
||||||
|
|
||||||
// Create a button from an extension listener
|
// Create a button from an extension listener
|
||||||
function createBtn(listener) {
|
var createBtn = function(listener) {
|
||||||
var buttonGrpElt = crel('div', {
|
var buttonGrpElt = crel('div', {
|
||||||
class: 'btn-group'
|
class: 'btn-group'
|
||||||
});
|
});
|
||||||
@ -247,7 +248,7 @@ define([
|
|||||||
buttonGrpElt.appendChild(btnElt);
|
buttonGrpElt.appendChild(btnElt);
|
||||||
}
|
}
|
||||||
return buttonGrpElt;
|
return buttonGrpElt;
|
||||||
}
|
};
|
||||||
|
|
||||||
// Create extension buttons
|
// Create extension buttons
|
||||||
logger.log("onCreateButton");
|
logger.log("onCreateButton");
|
||||||
|
@ -9,7 +9,7 @@ define([
|
|||||||
var buttonFocusMode = new Extension("buttonFocusMode", 'Button "Focus Mode"', true, true, true);
|
var buttonFocusMode = new Extension("buttonFocusMode", 'Button "Focus Mode"', true, true, true);
|
||||||
buttonFocusMode.settingsBlock = "When typing, scrolls automatically the editor to always have the caret centered verticaly.";
|
buttonFocusMode.settingsBlock = "When typing, scrolls automatically the editor to always have the caret centered verticaly.";
|
||||||
|
|
||||||
var aceEditor = undefined;
|
var aceEditor;
|
||||||
buttonFocusMode.onAceCreated = function(aceEditorParam) {
|
buttonFocusMode.onAceCreated = function(aceEditorParam) {
|
||||||
aceEditor = aceEditorParam;
|
aceEditor = aceEditorParam;
|
||||||
};
|
};
|
||||||
@ -25,7 +25,7 @@ define([
|
|||||||
aceEditor.session.setScrollTop((positionInScreen.row + 0.5) * aceEditor.renderer.lineHeight - aceEditor.renderer.$size.scrollerHeight / 2);
|
aceEditor.session.setScrollTop((positionInScreen.row + 0.5) * aceEditor.renderer.lineHeight - aceEditor.renderer.$size.scrollerHeight / 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
var $button = undefined;
|
var $button;
|
||||||
buttonFocusMode.onReady = function() {
|
buttonFocusMode.onReady = function() {
|
||||||
aceEditor.getSession().selection.on('changeCursor', doFocusMode);
|
aceEditor.getSession().selection.on('changeCursor', doFocusMode);
|
||||||
aceEditor.container.addEventListener('keydown', function() {
|
aceEditor.container.addEventListener('keydown', function() {
|
||||||
|
@ -17,11 +17,11 @@ define([
|
|||||||
utils.setInputValue("#textarea-html-code-template", buttonHtmlCode.config.template);
|
utils.setInputValue("#textarea-html-code-template", buttonHtmlCode.config.template);
|
||||||
};
|
};
|
||||||
|
|
||||||
buttonHtmlCode.onSaveSettings = function(newConfig, event) {
|
buttonHtmlCode.onSaveSettings = function(newConfig) {
|
||||||
newConfig.template = utils.getInputValue("#textarea-html-code-template");
|
newConfig.template = utils.getInputValue("#textarea-html-code-template");
|
||||||
};
|
};
|
||||||
|
|
||||||
var eventMgr = undefined;
|
var eventMgr;
|
||||||
buttonHtmlCode.onEventMgrCreated = function(eventMgrParameter) {
|
buttonHtmlCode.onEventMgrCreated = function(eventMgrParameter) {
|
||||||
eventMgr = eventMgrParameter;
|
eventMgr = eventMgrParameter;
|
||||||
};
|
};
|
||||||
@ -30,12 +30,12 @@ define([
|
|||||||
return buttonHtmlCodeHTML;
|
return buttonHtmlCodeHTML;
|
||||||
};
|
};
|
||||||
|
|
||||||
var selectedFileDesc = undefined;
|
var selectedFileDesc;
|
||||||
buttonHtmlCode.onFileSelected = function(fileDesc) {
|
buttonHtmlCode.onFileSelected = function(fileDesc) {
|
||||||
selectedFileDesc = fileDesc;
|
selectedFileDesc = fileDesc;
|
||||||
};
|
};
|
||||||
|
|
||||||
var textareaElt = undefined;
|
var textareaElt;
|
||||||
buttonHtmlCode.onPreviewFinished = function(html) {
|
buttonHtmlCode.onPreviewFinished = function(html) {
|
||||||
try {
|
try {
|
||||||
var htmlCode = _.template(buttonHtmlCode.config.template, {
|
var htmlCode = _.template(buttonHtmlCode.config.template, {
|
||||||
@ -59,8 +59,9 @@ define([
|
|||||||
$(".action-html-code").click(function() {
|
$(".action-html-code").click(function() {
|
||||||
_.defer(function() {
|
_.defer(function() {
|
||||||
$("#input-html-code").each(function() {
|
$("#input-html-code").each(function() {
|
||||||
if($(this).is(":hidden"))
|
if($(this).is(":hidden")) {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
this.select();
|
this.select();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -9,8 +9,8 @@ define([
|
|||||||
// buttonPublish.settingsBlock = '<p>Adds a "Publish document" button in the
|
// buttonPublish.settingsBlock = '<p>Adds a "Publish document" button in the
|
||||||
// navigation bar.</p>';
|
// navigation bar.</p>';
|
||||||
|
|
||||||
var $button = undefined;
|
var $button;
|
||||||
var currentFileDesc = undefined;
|
var currentFileDesc;
|
||||||
var publishRunning = false;
|
var publishRunning = false;
|
||||||
var hasPublications = false;
|
var hasPublications = false;
|
||||||
var isOffline = false;
|
var isOffline = false;
|
||||||
@ -27,7 +27,7 @@ define([
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var publisher = undefined;
|
var publisher;
|
||||||
buttonPublish.onPublisherCreated = function(publisherParameter) {
|
buttonPublish.onPublisherCreated = function(publisherParameter) {
|
||||||
publisher = publisherParameter;
|
publisher = publisherParameter;
|
||||||
};
|
};
|
||||||
|
@ -13,9 +13,9 @@ define([
|
|||||||
return buttonShareHTML;
|
return buttonShareHTML;
|
||||||
};
|
};
|
||||||
|
|
||||||
var fileDesc = undefined;
|
var fileDesc;
|
||||||
var linkListElt = undefined;
|
var linkListElt;
|
||||||
var $noLinkElt = undefined;
|
var $noLinkElt;
|
||||||
var refreshDocumentSharing = function(fileDescParameter) {
|
var refreshDocumentSharing = function(fileDescParameter) {
|
||||||
if(fileDescParameter !== undefined && fileDescParameter !== fileDesc) {
|
if(fileDescParameter !== undefined && fileDescParameter !== fileDesc) {
|
||||||
return;
|
return;
|
||||||
|
@ -44,10 +44,10 @@ define([
|
|||||||
return _.template(buttonStatHTML, buttonStat.config);
|
return _.template(buttonStatHTML, buttonStat.config);
|
||||||
};
|
};
|
||||||
|
|
||||||
var previewContentsElt = undefined;
|
var previewContentsElt;
|
||||||
var value1Elt = undefined;
|
var value1Elt;
|
||||||
var value2Elt = undefined;
|
var value2Elt;
|
||||||
var value3Elt = undefined;
|
var value3Elt;
|
||||||
buttonStat.onReady = function() {
|
buttonStat.onReady = function() {
|
||||||
previewContentsElt = document.getElementById('preview-contents');
|
previewContentsElt = document.getElementById('preview-contents');
|
||||||
value1Elt = document.getElementById('span-stat-value1');
|
value1Elt = document.getElementById('span-stat-value1');
|
||||||
|
@ -25,12 +25,12 @@ define([
|
|||||||
newConfig.syncShortcut = utils.getInputTextValue("#input-sync-shortcut", event);
|
newConfig.syncShortcut = utils.getInputTextValue("#input-sync-shortcut", event);
|
||||||
};
|
};
|
||||||
|
|
||||||
var synchronizer = undefined;
|
var synchronizer;
|
||||||
buttonSync.onSynchronizerCreated = function(synchronizerParameter) {
|
buttonSync.onSynchronizerCreated = function(synchronizerParameter) {
|
||||||
synchronizer = synchronizerParameter;
|
synchronizer = synchronizerParameter;
|
||||||
};
|
};
|
||||||
|
|
||||||
var $button = undefined;
|
var $button;
|
||||||
var syncRunning = false;
|
var syncRunning = false;
|
||||||
var isOffline = false;
|
var isOffline = false;
|
||||||
// Enable/disable the button
|
// Enable/disable the button
|
||||||
|
@ -4,7 +4,6 @@ define([
|
|||||||
"utils",
|
"utils",
|
||||||
"classes/Extension",
|
"classes/Extension",
|
||||||
"text!html/dialogAbout.html",
|
"text!html/dialogAbout.html",
|
||||||
"config"
|
|
||||||
], function(_, constants, utils, Extension, dialogAboutHTML) {
|
], function(_, constants, utils, Extension, dialogAboutHTML) {
|
||||||
|
|
||||||
var dialogAbout = new Extension("dialogAbout", 'Dialog "About"');
|
var dialogAbout = new Extension("dialogAbout", 'Dialog "About"');
|
||||||
@ -23,7 +22,6 @@ define([
|
|||||||
"Highlight.js": "http://softwaremaniacs.org/soft/highlight/en/",
|
"Highlight.js": "http://softwaremaniacs.org/soft/highlight/en/",
|
||||||
"jGrowl": "https://github.com/stanlemon/jGrowl/",
|
"jGrowl": "https://github.com/stanlemon/jGrowl/",
|
||||||
"jQuery": "http://jquery.com/",
|
"jQuery": "http://jquery.com/",
|
||||||
"LESS": "http://lesscss.org/",
|
|
||||||
"lz-string": "http://pieroxy.net/blog/pages/lz-string/index.html",
|
"lz-string": "http://pieroxy.net/blog/pages/lz-string/index.html",
|
||||||
"MathJax": "http://www.mathjax.org/",
|
"MathJax": "http://www.mathjax.org/",
|
||||||
"Mousetrap": "http://craig.is/killing/mice",
|
"Mousetrap": "http://craig.is/killing/mice",
|
||||||
|
@ -7,15 +7,15 @@ define([
|
|||||||
|
|
||||||
var dialogManagePublication = new Extension("dialogManagePublication", 'Dialog "Manage publication"', false, true);
|
var dialogManagePublication = new Extension("dialogManagePublication", 'Dialog "Manage publication"', false, true);
|
||||||
|
|
||||||
var eventMgr = undefined;
|
var eventMgr;
|
||||||
dialogManagePublication.onEventMgrCreated = function(eventMgrParameter) {
|
dialogManagePublication.onEventMgrCreated = function(eventMgrParameter) {
|
||||||
eventMgr = eventMgrParameter;
|
eventMgr = eventMgrParameter;
|
||||||
};
|
};
|
||||||
|
|
||||||
var fileDesc = undefined;
|
var fileDesc;
|
||||||
var publishListElt = undefined;
|
var publishListElt;
|
||||||
var $msgPublishListElt = undefined;
|
var $msgPublishListElt;
|
||||||
var $msgNoPublishElt = undefined;
|
var $msgNoPublishElt;
|
||||||
var refreshDialog = function(fileDescParameter) {
|
var refreshDialog = function(fileDescParameter) {
|
||||||
if(fileDescParameter !== undefined && fileDescParameter !== fileDesc) {
|
if(fileDescParameter !== undefined && fileDescParameter !== fileDesc) {
|
||||||
return;
|
return;
|
||||||
|
@ -7,20 +7,20 @@ define([
|
|||||||
|
|
||||||
var dialogManageSynchronization = new Extension("dialogManageSynchronization", 'Dialog "Manage synchronization"', false, true);
|
var dialogManageSynchronization = new Extension("dialogManageSynchronization", 'Dialog "Manage synchronization"', false, true);
|
||||||
|
|
||||||
var eventMgr = undefined;
|
var eventMgr;
|
||||||
dialogManageSynchronization.onEventMgrCreated = function(eventMgrParameter) {
|
dialogManageSynchronization.onEventMgrCreated = function(eventMgrParameter) {
|
||||||
eventMgr = eventMgrParameter;
|
eventMgr = eventMgrParameter;
|
||||||
};
|
};
|
||||||
|
|
||||||
var synchronizer = undefined;
|
var synchronizer;
|
||||||
dialogManageSynchronization.onSynchronizerCreated = function(synchronizerParameter) {
|
dialogManageSynchronization.onSynchronizerCreated = function(synchronizerParameter) {
|
||||||
synchronizer = synchronizerParameter;
|
synchronizer = synchronizerParameter;
|
||||||
};
|
};
|
||||||
|
|
||||||
var fileDesc = undefined;
|
var fileDesc;
|
||||||
var syncListElt = undefined;
|
var syncListElt;
|
||||||
var $msgSyncListElt = undefined;
|
var $msgSyncListElt;
|
||||||
var $msgNoSyncElt = undefined;
|
var $msgNoSyncElt;
|
||||||
var refreshDialog = function(fileDescParameter) {
|
var refreshDialog = function(fileDescParameter) {
|
||||||
if(fileDescParameter !== undefined && fileDescParameter !== fileDesc) {
|
if(fileDescParameter !== undefined && fileDescParameter !== fileDesc) {
|
||||||
return;
|
return;
|
||||||
|
@ -5,23 +5,22 @@ define([
|
|||||||
"utils",
|
"utils",
|
||||||
"classes/Extension",
|
"classes/Extension",
|
||||||
"toMarkdown",
|
"toMarkdown",
|
||||||
"config",
|
|
||||||
], function($, _, constants, utils, Extension, toMarkdown) {
|
], function($, _, constants, utils, Extension, toMarkdown) {
|
||||||
|
|
||||||
var dialogOpenHarddrive = new Extension("dialogOpenHarddrive", 'Dialog "Open from"');
|
var dialogOpenHarddrive = new Extension("dialogOpenHarddrive", 'Dialog "Open from"');
|
||||||
|
|
||||||
var fileMgr = undefined;
|
var fileMgr;
|
||||||
dialogOpenHarddrive.onFileMgrCreated = function(fileMgrParameter) {
|
dialogOpenHarddrive.onFileMgrCreated = function(fileMgrParameter) {
|
||||||
fileMgr = fileMgrParameter;
|
fileMgr = fileMgrParameter;
|
||||||
};
|
};
|
||||||
|
|
||||||
var eventMgr = undefined;
|
var eventMgr;
|
||||||
dialogOpenHarddrive.onEventMgrCreated = function(eventMgrParameter) {
|
dialogOpenHarddrive.onEventMgrCreated = function(eventMgrParameter) {
|
||||||
eventMgr = eventMgrParameter;
|
eventMgr = eventMgrParameter;
|
||||||
};
|
};
|
||||||
|
|
||||||
var contentWrapper = undefined;
|
var contentWrapper;
|
||||||
var converter = undefined;
|
var converter;
|
||||||
var htmlContentWrapper = function(content) {
|
var htmlContentWrapper = function(content) {
|
||||||
return converter.makeMd(content);
|
return converter.makeMd(content);
|
||||||
};
|
};
|
||||||
|
@ -8,17 +8,16 @@ define([
|
|||||||
"classes/FolderDescriptor",
|
"classes/FolderDescriptor",
|
||||||
"folderList",
|
"folderList",
|
||||||
"fileSystem",
|
"fileSystem",
|
||||||
"config"
|
|
||||||
], function($, _, constants, utils, storage, Extension, FolderDescriptor, folderList, fileSystem) {
|
], function($, _, constants, utils, storage, Extension, FolderDescriptor, folderList, fileSystem) {
|
||||||
|
|
||||||
var documentManager = new Extension("documentManager", 'Document Manager', false, true);
|
var documentManager = new Extension("documentManager", 'Document Manager', false, true);
|
||||||
|
|
||||||
var fileMgr = undefined;
|
var fileMgr;
|
||||||
documentManager.onFileMgrCreated = function(fileMgrParameter) {
|
documentManager.onFileMgrCreated = function(fileMgrParameter) {
|
||||||
fileMgr = fileMgrParameter;
|
fileMgr = fileMgrParameter;
|
||||||
};
|
};
|
||||||
|
|
||||||
var eventMgr = undefined;
|
var eventMgr;
|
||||||
documentManager.onEventMgrCreated = function(eventMgrParameter) {
|
documentManager.onEventMgrCreated = function(eventMgrParameter) {
|
||||||
eventMgr = eventMgrParameter;
|
eventMgr = eventMgrParameter;
|
||||||
};
|
};
|
||||||
@ -53,9 +52,9 @@ define([
|
|||||||
'<div class="name"><%= fileDesc.composeTitle() %></div></li>',
|
'<div class="name"><%= fileDesc.composeTitle() %></div></li>',
|
||||||
].join('');
|
].join('');
|
||||||
|
|
||||||
var isVisible = false;
|
var isVisible;
|
||||||
var modalElt = undefined;
|
var modalElt;
|
||||||
var documentListElt = undefined;
|
var documentListElt;
|
||||||
var selectedDocumentList = [];
|
var selectedDocumentList = [];
|
||||||
var selectedFolderList = [];
|
var selectedFolderList = [];
|
||||||
function doSelect() {
|
function doSelect() {
|
||||||
@ -74,7 +73,7 @@ define([
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
var selectedDocumentListElt = undefined;
|
var selectedDocumentListElt;
|
||||||
function doDeleteConfirmation() {
|
function doDeleteConfirmation() {
|
||||||
// Don't ask user confirmation if we delete only folders
|
// Don't ask user confirmation if we delete only folders
|
||||||
if(_.size(selectedDocumentList) === 0) {
|
if(_.size(selectedDocumentList) === 0) {
|
||||||
@ -114,8 +113,8 @@ define([
|
|||||||
eventMgr.onFoldersChanged();
|
eventMgr.onFoldersChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
var $liMoveElt = undefined;
|
var $liMoveElt;
|
||||||
var $liDeleteElt = undefined;
|
var $liDeleteElt;
|
||||||
function doActiveButtons() {
|
function doActiveButtons() {
|
||||||
doSelect();
|
doSelect();
|
||||||
|
|
||||||
@ -123,9 +122,9 @@ define([
|
|||||||
$liDeleteElt.toggleClass('disabled', _.size(selectedFolderList) === 0 && _.size(selectedDocumentList) === 0);
|
$liDeleteElt.toggleClass('disabled', _.size(selectedFolderList) === 0 && _.size(selectedDocumentList) === 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
var orphanDocumentList = undefined;
|
var orphanDocumentList;
|
||||||
var $documentCountElt = undefined;
|
var $documentCountElt;
|
||||||
var $folderCountElt = undefined;
|
var $folderCountElt;
|
||||||
var refreshManager = function() {
|
var refreshManager = function() {
|
||||||
if(isVisible === false) {
|
if(isVisible === false) {
|
||||||
return;
|
return;
|
||||||
@ -212,7 +211,7 @@ define([
|
|||||||
$buttonElt.click(function(e) {
|
$buttonElt.click(function(e) {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
var $parentElt = $buttonElt.parent();
|
var $parentElt = $buttonElt.parent();
|
||||||
var name = undefined;
|
var name;
|
||||||
var folderDesc = folderList[$parentElt.data('folderIndex')];
|
var folderDesc = folderList[$parentElt.data('folderIndex')];
|
||||||
var fileDesc = fileSystem[$parentElt.data('fileIndex')];
|
var fileDesc = fileSystem[$parentElt.data('fileIndex')];
|
||||||
if(folderDesc) {
|
if(folderDesc) {
|
||||||
@ -311,7 +310,7 @@ define([
|
|||||||
|
|
||||||
// Create folder action
|
// Create folder action
|
||||||
$(modalElt.querySelectorAll('.action-create-folder')).click(function() {
|
$(modalElt.querySelectorAll('.action-create-folder')).click(function() {
|
||||||
var folderIndex = undefined;
|
var folderIndex;
|
||||||
do {
|
do {
|
||||||
folderIndex = "folder." + utils.randomString();
|
folderIndex = "folder." + utils.randomString();
|
||||||
} while (_.has(folderList, folderIndex));
|
} while (_.has(folderList, folderIndex));
|
||||||
|
@ -9,7 +9,7 @@ define([
|
|||||||
|
|
||||||
var documentPanel = new Extension("documentPanel", 'Document Panel');
|
var documentPanel = new Extension("documentPanel", 'Document Panel');
|
||||||
|
|
||||||
var fileMgr = undefined;
|
var fileMgr;
|
||||||
documentPanel.onFileMgrCreated = function(fileMgrParameter) {
|
documentPanel.onFileMgrCreated = function(fileMgrParameter) {
|
||||||
fileMgr = fileMgrParameter;
|
fileMgr = fileMgrParameter;
|
||||||
};
|
};
|
||||||
@ -39,12 +39,12 @@ define([
|
|||||||
'</a>',
|
'</a>',
|
||||||
].join('');
|
].join('');
|
||||||
|
|
||||||
var panelElt = undefined;
|
var panelElt;
|
||||||
var documentListElt = undefined;
|
var documentListElt;
|
||||||
var $documentListElt = undefined;
|
var $documentListElt;
|
||||||
var documentListFilteredElt = undefined;
|
var documentListFilteredElt;
|
||||||
var $documentListFilteredElt = undefined;
|
var $documentListFilteredElt;
|
||||||
var selectedFileDesc = undefined;
|
var selectedFileDesc;
|
||||||
var refreshPanel = function() {
|
var refreshPanel = function() {
|
||||||
|
|
||||||
// List orphan documents
|
// List orphan documents
|
||||||
@ -101,7 +101,7 @@ define([
|
|||||||
// Add click listeners
|
// Add click listeners
|
||||||
_.each(panelElt.querySelectorAll('.file'), function(fileElt) {
|
_.each(panelElt.querySelectorAll('.file'), function(fileElt) {
|
||||||
var $fileElt = $(fileElt);
|
var $fileElt = $(fileElt);
|
||||||
$fileElt.click(function(e) {
|
$fileElt.click(function() {
|
||||||
var fileDesc = fileSystem[$fileElt.data('fileIndex')];
|
var fileDesc = fileSystem[$fileElt.data('fileIndex')];
|
||||||
if(fileDesc && fileDesc !== selectedFileDesc) {
|
if(fileDesc && fileDesc !== selectedFileDesc) {
|
||||||
fileMgr.selectFile(fileDesc);
|
fileMgr.selectFile(fileDesc);
|
||||||
@ -126,7 +126,7 @@ define([
|
|||||||
documentPanel.onFoldersChanged = refreshPanel;
|
documentPanel.onFoldersChanged = refreshPanel;
|
||||||
|
|
||||||
// Filter for search input in file selector
|
// Filter for search input in file selector
|
||||||
var panelContentElt = undefined;
|
var panelContentElt;
|
||||||
var previousFilterValue = '';
|
var previousFilterValue = '';
|
||||||
function filterFiles(filterValue) {
|
function filterFiles(filterValue) {
|
||||||
if(filterValue == previousFilterValue) {
|
if(filterValue == previousFilterValue) {
|
||||||
|
@ -29,12 +29,12 @@ define([
|
|||||||
newConfig.shortcutNext = utils.getInputTextValue("#input-document-selector-shortcut-next", event);
|
newConfig.shortcutNext = utils.getInputTextValue("#input-document-selector-shortcut-next", event);
|
||||||
};
|
};
|
||||||
|
|
||||||
var aceEditor = undefined;
|
var aceEditor;
|
||||||
documentSelector.onAceCreated = function(aceEditorParam) {
|
documentSelector.onAceCreated = function(aceEditorParam) {
|
||||||
aceEditor = aceEditorParam;
|
aceEditor = aceEditorParam;
|
||||||
};
|
};
|
||||||
|
|
||||||
var fileMgr = undefined;
|
var fileMgr;
|
||||||
documentSelector.onFileMgrCreated = function(fileMgrParameter) {
|
documentSelector.onFileMgrCreated = function(fileMgrParameter) {
|
||||||
fileMgr = fileMgrParameter;
|
fileMgr = fileMgrParameter;
|
||||||
};
|
};
|
||||||
@ -46,13 +46,13 @@ define([
|
|||||||
' </a>',
|
' </a>',
|
||||||
'</li>'
|
'</li>'
|
||||||
].join('');
|
].join('');
|
||||||
var dropdownElt = undefined;
|
var dropdownElt;
|
||||||
var liEltMap = undefined;
|
var liEltMap;
|
||||||
var liEltList = undefined;
|
var liEltList;
|
||||||
var sortFunction = undefined;
|
var sortFunction;
|
||||||
var selectFileDesc = undefined;
|
var selectFileDesc;
|
||||||
var selectedLi = undefined;
|
var selectedLi;
|
||||||
var $editorElt = undefined;
|
var $editorElt;
|
||||||
var buildSelector = function() {
|
var buildSelector = function() {
|
||||||
var liListHtml = _.chain(fileSystem).sortBy(sortFunction).reduce(function(result, fileDesc) {
|
var liListHtml = _.chain(fileSystem).sortBy(sortFunction).reduce(function(result, fileDesc) {
|
||||||
return result + _.template(liEltTmpl, {
|
return result + _.template(liEltTmpl, {
|
||||||
|
@ -6,13 +6,13 @@ define([
|
|||||||
|
|
||||||
var documentTitle = new Extension("documentTitle", "Document Title");
|
var documentTitle = new Extension("documentTitle", "Document Title");
|
||||||
|
|
||||||
var layout = undefined;
|
var layout;
|
||||||
documentTitle.onLayoutCreated = function(layoutParameter) {
|
documentTitle.onLayoutCreated = function(layoutParameter) {
|
||||||
layout = layoutParameter;
|
layout = layoutParameter;
|
||||||
};
|
};
|
||||||
|
|
||||||
var fileDesc = undefined;
|
var fileDesc;
|
||||||
var $fileTitleNavbar = undefined;
|
var $fileTitleNavbar;
|
||||||
var updateTitle = function(fileDescParameter) {
|
var updateTitle = function(fileDescParameter) {
|
||||||
if(fileDescParameter !== fileDesc) {
|
if(fileDescParameter !== fileDesc) {
|
||||||
return;
|
return;
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
/*globals _gaq */
|
||||||
define([
|
define([
|
||||||
"jquery",
|
"jquery",
|
||||||
"underscore",
|
"underscore",
|
||||||
@ -5,7 +6,6 @@ define([
|
|||||||
"utils",
|
"utils",
|
||||||
"classes/Extension",
|
"classes/Extension",
|
||||||
"settings",
|
"settings",
|
||||||
"config",
|
|
||||||
], function($, _, constants, utils, Extension, settings) {
|
], function($, _, constants, utils, Extension, settings) {
|
||||||
|
|
||||||
var googleAnalytics = new Extension("googleAnalytics", "Google Analytics", true);
|
var googleAnalytics = new Extension("googleAnalytics", "Google Analytics", true);
|
||||||
@ -13,7 +13,7 @@ define([
|
|||||||
|
|
||||||
var isLoaded = false;
|
var isLoaded = false;
|
||||||
var isOffline = false;
|
var isOffline = false;
|
||||||
window["_gaq"] = [];
|
window._gaq = [];
|
||||||
|
|
||||||
var init = function() {
|
var init = function() {
|
||||||
if(isLoaded === false && isOffline === false) {
|
if(isLoaded === false && isOffline === false) {
|
||||||
@ -71,7 +71,7 @@ define([
|
|||||||
'_trackEvent',
|
'_trackEvent',
|
||||||
"Settings",
|
"Settings",
|
||||||
'theme',
|
'theme',
|
||||||
"" + theme
|
"" + window.theme
|
||||||
]);
|
]);
|
||||||
_gaq.push([
|
_gaq.push([
|
||||||
'_trackEvent',
|
'_trackEvent',
|
||||||
@ -86,11 +86,11 @@ define([
|
|||||||
"" + settings.editorFontFamily
|
"" + settings.editorFontFamily
|
||||||
]);
|
]);
|
||||||
_gaq.push([
|
_gaq.push([
|
||||||
'_trackEvent',
|
'_trackEvent',
|
||||||
"Settings",
|
"Settings",
|
||||||
'editorFontSize',
|
'editorFontSize',
|
||||||
"" + settings.editorFontSize
|
"" + settings.editorFontSize
|
||||||
]);
|
]);
|
||||||
// Check if user has removed back links
|
// Check if user has removed back links
|
||||||
_gaq.push([
|
_gaq.push([
|
||||||
'_trackEvent',
|
'_trackEvent',
|
||||||
|
@ -1,11 +1,14 @@
|
|||||||
|
/*globals Markdown */
|
||||||
define([
|
define([
|
||||||
"jquery",
|
"jquery",
|
||||||
"underscore",
|
"underscore",
|
||||||
"utils",
|
"utils",
|
||||||
"classes/Extension",
|
"classes/Extension",
|
||||||
"text!html/markdownExtraSettingsBlock.html",
|
"text!html/markdownExtraSettingsBlock.html",
|
||||||
|
'google-code-prettify',
|
||||||
|
'highlightjs',
|
||||||
'pagedown-extra',
|
'pagedown-extra',
|
||||||
], function($, _, utils, Extension, markdownExtraSettingsBlockHTML) {
|
], function($, _, utils, Extension, markdownExtraSettingsBlockHTML, prettyPrint, hljs) {
|
||||||
|
|
||||||
var markdownExtra = new Extension("markdownExtra", "Markdown Extra", true);
|
var markdownExtra = new Extension("markdownExtra", "Markdown Extra", true);
|
||||||
markdownExtra.settingsBlock = markdownExtraSettingsBlockHTML;
|
markdownExtra.settingsBlock = markdownExtraSettingsBlockHTML;
|
||||||
@ -36,7 +39,7 @@ define([
|
|||||||
utils.setInputValue("#input-markdownextra-highlighter", markdownExtra.config.highlighter);
|
utils.setInputValue("#input-markdownextra-highlighter", markdownExtra.config.highlighter);
|
||||||
};
|
};
|
||||||
|
|
||||||
markdownExtra.onSaveSettings = function(newConfig, event) {
|
markdownExtra.onSaveSettings = function(newConfig) {
|
||||||
newConfig.extensions = [];
|
newConfig.extensions = [];
|
||||||
utils.getInputChecked("#input-markdownextra-fencedcodegfm") && newConfig.extensions.push("fenced_code_gfm");
|
utils.getInputChecked("#input-markdownextra-fencedcodegfm") && newConfig.extensions.push("fenced_code_gfm");
|
||||||
utils.getInputChecked("#input-markdownextra-tables") && newConfig.extensions.push("tables");
|
utils.getInputChecked("#input-markdownextra-tables") && newConfig.extensions.push("tables");
|
||||||
@ -47,7 +50,7 @@ define([
|
|||||||
newConfig.highlighter = utils.getInputValue("#input-markdownextra-highlighter");
|
newConfig.highlighter = utils.getInputValue("#input-markdownextra-highlighter");
|
||||||
};
|
};
|
||||||
|
|
||||||
var eventMgr = undefined;
|
var eventMgr;
|
||||||
markdownExtra.onEventMgrCreated = function(eventMgrParameter) {
|
markdownExtra.onEventMgrCreated = function(eventMgrParameter) {
|
||||||
eventMgr = eventMgrParameter;
|
eventMgr = eventMgrParameter;
|
||||||
};
|
};
|
||||||
|
@ -4,7 +4,7 @@ define([
|
|||||||
|
|
||||||
var markdownSectionParser = new Extension("markdownSectionParser", "Markdown section parser");
|
var markdownSectionParser = new Extension("markdownSectionParser", "Markdown section parser");
|
||||||
|
|
||||||
var eventMgr = undefined;
|
var eventMgr;
|
||||||
markdownSectionParser.onEventMgrCreated = function(eventMgrParameter) {
|
markdownSectionParser.onEventMgrCreated = function(eventMgrParameter) {
|
||||||
eventMgr = eventMgrParameter;
|
eventMgr = eventMgrParameter;
|
||||||
};
|
};
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
/*defines MathJax */
|
||||||
define([
|
define([
|
||||||
"utils",
|
"utils",
|
||||||
"classes/Extension",
|
"classes/Extension",
|
||||||
@ -22,6 +23,7 @@ define([
|
|||||||
newConfig.tex2jax = utils.getInputJsValue("#input-mathjax-config-tex2jax", event);
|
newConfig.tex2jax = utils.getInputJsValue("#input-mathjax-config-tex2jax", event);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*jshint ignore:start */
|
||||||
mathJax.onPagedownConfigure = function(editorObject) {
|
mathJax.onPagedownConfigure = function(editorObject) {
|
||||||
t = document.getElementById("preview-contents");
|
t = document.getElementById("preview-contents");
|
||||||
|
|
||||||
@ -30,7 +32,7 @@ define([
|
|||||||
converter.hooks.chain("postConversion", d);
|
converter.hooks.chain("postConversion", d);
|
||||||
};
|
};
|
||||||
|
|
||||||
var afterRefreshCallback = undefined;
|
var afterRefreshCallback;
|
||||||
mathJax.onAsyncPreview = function(callback) {
|
mathJax.onAsyncPreview = function(callback) {
|
||||||
afterRefreshCallback = callback;
|
afterRefreshCallback = callback;
|
||||||
j();
|
j();
|
||||||
@ -157,7 +159,7 @@ define([
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
|
/*jshint ignore:end */
|
||||||
|
|
||||||
return mathJax;
|
return mathJax;
|
||||||
});
|
});
|
@ -2,10 +2,11 @@ define([
|
|||||||
"jquery",
|
"jquery",
|
||||||
"underscore",
|
"underscore",
|
||||||
"utils",
|
"utils",
|
||||||
|
"logger",
|
||||||
"classes/Extension",
|
"classes/Extension",
|
||||||
"jgrowl",
|
"jgrowl",
|
||||||
"text!html/notificationsSettingsBlock.html",
|
"text!html/notificationsSettingsBlock.html",
|
||||||
], function($, _, utils, Extension, jGrowl, notificationsSettingsBlockHTML) {
|
], function($, _, utils, logger, Extension, jGrowl, notificationsSettingsBlockHTML) {
|
||||||
|
|
||||||
var notifications = new Extension("notifications", "Notifications");
|
var notifications = new Extension("notifications", "Notifications");
|
||||||
notifications.settingsBlock = notificationsSettingsBlockHTML;
|
notifications.settingsBlock = notificationsSettingsBlockHTML;
|
||||||
|
@ -8,13 +8,13 @@ define([
|
|||||||
var partialRendering = new Extension("partialRendering", "Partial Rendering", true);
|
var partialRendering = new Extension("partialRendering", "Partial Rendering", true);
|
||||||
partialRendering.settingsBlock = partialRenderingSettingsBlockHTML;
|
partialRendering.settingsBlock = partialRenderingSettingsBlockHTML;
|
||||||
|
|
||||||
var converter = undefined;
|
var converter;
|
||||||
var sectionCounter = 0;
|
var sectionCounter = 0;
|
||||||
var sectionList = [];
|
var sectionList = [];
|
||||||
var linkDefinition = undefined;
|
var linkDefinition;
|
||||||
var sectionsToRemove = [];
|
var sectionsToRemove = [];
|
||||||
var modifiedSections = [];
|
var modifiedSections = [];
|
||||||
var insertBeforeSection = undefined;
|
var insertBeforeSection;
|
||||||
var fileChanged = false;
|
var fileChanged = false;
|
||||||
function updateSectionList(newSectionList, newLinkDefinition) {
|
function updateSectionList(newSectionList, newLinkDefinition) {
|
||||||
modifiedSections = [];
|
modifiedSections = [];
|
||||||
@ -107,9 +107,15 @@ define([
|
|||||||
updateSectionList(newSectionList, newLinkDefinition);
|
updateSectionList(newSectionList, newLinkDefinition);
|
||||||
};
|
};
|
||||||
|
|
||||||
var footnoteContainerElt = undefined;
|
|
||||||
var previewContentsElt = undefined;
|
|
||||||
var footnoteMap = {};
|
var footnoteMap = {};
|
||||||
|
// Store one footnote elt in the footnote map
|
||||||
|
function storeFootnote(footnoteElt) {
|
||||||
|
var id = footnoteElt.id.substring(3);
|
||||||
|
footnoteMap[id] = footnoteElt;
|
||||||
|
}
|
||||||
|
|
||||||
|
var footnoteContainerElt;
|
||||||
|
var previewContentsElt;
|
||||||
function refreshSections() {
|
function refreshSections() {
|
||||||
|
|
||||||
// Remove outdated sections
|
// Remove outdated sections
|
||||||
@ -117,11 +123,10 @@ define([
|
|||||||
var sectionElt = document.getElementById("wmd-preview-section-" + section.id);
|
var sectionElt = document.getElementById("wmd-preview-section-" + section.id);
|
||||||
previewContentsElt.removeChild(sectionElt);
|
previewContentsElt.removeChild(sectionElt);
|
||||||
});
|
});
|
||||||
|
|
||||||
var wmdPreviewElt = document.getElementById("wmd-preview");
|
var wmdPreviewElt = document.getElementById("wmd-preview");
|
||||||
var childNode = wmdPreviewElt.firstChild;
|
var childNode = wmdPreviewElt.firstChild;
|
||||||
var newSectionEltList = document.createDocumentFragment();
|
function createSectionElt(section) {
|
||||||
_.each(modifiedSections, function(section) {
|
|
||||||
var sectionElt = crel('div', {
|
var sectionElt = crel('div', {
|
||||||
id: 'wmd-preview-section-' + section.id,
|
id: 'wmd-preview-section-' + section.id,
|
||||||
class: 'wmd-preview-section preview-content'
|
class: 'wmd-preview-section preview-content'
|
||||||
@ -135,18 +140,19 @@ define([
|
|||||||
}
|
}
|
||||||
isFirst = false;
|
isFirst = false;
|
||||||
if(childNode.tagName == 'DIV' && childNode.className == 'footnotes') {
|
if(childNode.tagName == 'DIV' && childNode.className == 'footnotes') {
|
||||||
_.each(childNode.querySelectorAll("ol > li"), function(footnoteElt) {
|
_.each(childNode.querySelectorAll("ol > li"), storeFootnote);
|
||||||
// Store each footnote in our footnote map
|
|
||||||
var id = footnoteElt.id.substring(3);
|
|
||||||
footnoteMap[id] = footnoteElt;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
sectionElt.appendChild(childNode);
|
sectionElt.appendChild(childNode);
|
||||||
}
|
}
|
||||||
childNode = nextNode;
|
childNode = nextNode;
|
||||||
}
|
}
|
||||||
newSectionEltList.appendChild(sectionElt);
|
return sectionElt;
|
||||||
|
}
|
||||||
|
|
||||||
|
var newSectionEltList = document.createDocumentFragment();
|
||||||
|
_.each(modifiedSections, function(section) {
|
||||||
|
newSectionEltList.appendChild(createSectionElt(section));
|
||||||
});
|
});
|
||||||
wmdPreviewElt.innerHTML = '';
|
wmdPreviewElt.innerHTML = '';
|
||||||
var insertBeforeElt = footnoteContainerElt;
|
var insertBeforeElt = footnoteContainerElt;
|
||||||
@ -179,7 +185,7 @@ define([
|
|||||||
|
|
||||||
partialRendering.onPagedownConfigure = function(editor) {
|
partialRendering.onPagedownConfigure = function(editor) {
|
||||||
converter = editor.getConverter();
|
converter = editor.getConverter();
|
||||||
converter.hooks.chain("preConversion", function(text) {
|
converter.hooks.chain("preConversion", function() {
|
||||||
var result = _.map(modifiedSections, function(section) {
|
var result = _.map(modifiedSections, function(section) {
|
||||||
return section.text;
|
return section.text;
|
||||||
});
|
});
|
||||||
|
@ -8,12 +8,12 @@ define([
|
|||||||
var scrollLink = new Extension("scrollLink", "Scroll Link", true, true, true);
|
var scrollLink = new Extension("scrollLink", "Scroll Link", true, true, true);
|
||||||
scrollLink.settingsBlock = scrollLinkSettingsBlockHTML;
|
scrollLink.settingsBlock = scrollLinkSettingsBlockHTML;
|
||||||
|
|
||||||
var aceEditor = undefined;
|
var aceEditor;
|
||||||
scrollLink.onAceCreated = function(aceEditorParam) {
|
scrollLink.onAceCreated = function(aceEditorParam) {
|
||||||
aceEditor = aceEditorParam;
|
aceEditor = aceEditorParam;
|
||||||
};
|
};
|
||||||
|
|
||||||
var sectionList = undefined;
|
var sectionList;
|
||||||
scrollLink.onSectionsCreated = function(sectionListParam) {
|
scrollLink.onSectionsCreated = function(sectionListParam) {
|
||||||
sectionList = sectionListParam;
|
sectionList = sectionListParam;
|
||||||
};
|
};
|
||||||
@ -23,14 +23,14 @@ define([
|
|||||||
offsetBegin = offsetBeginParam;
|
offsetBegin = offsetBeginParam;
|
||||||
};
|
};
|
||||||
|
|
||||||
var $previewElt = undefined;
|
var $previewElt;
|
||||||
var mdSectionList = [];
|
var mdSectionList = [];
|
||||||
var htmlSectionList = [];
|
var htmlSectionList = [];
|
||||||
function pxToFloat(px) {
|
function pxToFloat(px) {
|
||||||
return parseFloat(px.substring(0, px.length - 2));
|
return parseFloat(px.substring(0, px.length - 2));
|
||||||
}
|
}
|
||||||
var lastEditorScrollTop = undefined;
|
var lastEditorScrollTop;
|
||||||
var lastPreviewScrollTop = undefined;
|
var lastPreviewScrollTop;
|
||||||
var buildSections = _.debounce(function() {
|
var buildSections = _.debounce(function() {
|
||||||
|
|
||||||
mdSectionList = [];
|
mdSectionList = [];
|
||||||
@ -96,7 +96,7 @@ define([
|
|||||||
var previewScrollTop = $previewElt.scrollTop();
|
var previewScrollTop = $previewElt.scrollTop();
|
||||||
function getDestScrollTop(srcScrollTop, srcSectionList, destSectionList) {
|
function getDestScrollTop(srcScrollTop, srcSectionList, destSectionList) {
|
||||||
// Find the section corresponding to the offset
|
// Find the section corresponding to the offset
|
||||||
var sectionIndex = undefined;
|
var sectionIndex;
|
||||||
var srcSection = _.find(srcSectionList, function(section, index) {
|
var srcSection = _.find(srcSectionList, function(section, index) {
|
||||||
sectionIndex = index;
|
sectionIndex = index;
|
||||||
return srcScrollTop < section.endOffset;
|
return srcScrollTop < section.endOffset;
|
||||||
@ -109,12 +109,13 @@ define([
|
|||||||
var destSection = destSectionList[sectionIndex];
|
var destSection = destSectionList[sectionIndex];
|
||||||
return destSection.startOffset + destSection.height * posInSection;
|
return destSection.startOffset + destSection.height * posInSection;
|
||||||
}
|
}
|
||||||
|
var destScrollTop;
|
||||||
// Perform the animation if diff > 9px
|
// Perform the animation if diff > 9px
|
||||||
if(isScrollEditor === true && Math.abs(editorScrollTop - lastEditorScrollTop) > 9) {
|
if(isScrollEditor === true && Math.abs(editorScrollTop - lastEditorScrollTop) > 9) {
|
||||||
isScrollEditor = false;
|
isScrollEditor = false;
|
||||||
// Animate the preview
|
// Animate the preview
|
||||||
lastEditorScrollTop = editorScrollTop;
|
lastEditorScrollTop = editorScrollTop;
|
||||||
var destScrollTop = getDestScrollTop(editorScrollTop, mdSectionList, htmlSectionList);
|
destScrollTop = getDestScrollTop(editorScrollTop, mdSectionList, htmlSectionList);
|
||||||
destScrollTop = _.min([
|
destScrollTop = _.min([
|
||||||
destScrollTop,
|
destScrollTop,
|
||||||
$previewElt.prop('scrollHeight') - $previewElt.outerHeight()
|
$previewElt.prop('scrollHeight') - $previewElt.outerHeight()
|
||||||
@ -144,7 +145,7 @@ define([
|
|||||||
isScrollPreview = false;
|
isScrollPreview = false;
|
||||||
// Animate the editor
|
// Animate the editor
|
||||||
lastPreviewScrollTop = previewScrollTop;
|
lastPreviewScrollTop = previewScrollTop;
|
||||||
var destScrollTop = getDestScrollTop(previewScrollTop, htmlSectionList, mdSectionList);
|
destScrollTop = getDestScrollTop(previewScrollTop, htmlSectionList, mdSectionList);
|
||||||
destScrollTop = _.min([
|
destScrollTop = _.min([
|
||||||
destScrollTop,
|
destScrollTop,
|
||||||
aceEditor.session.getScreenLength() * aceEditor.renderer.lineHeight - aceEditor.renderer.$size.scrollerHeight
|
aceEditor.session.getScreenLength() * aceEditor.renderer.lineHeight - aceEditor.renderer.$size.scrollerHeight
|
||||||
@ -198,7 +199,7 @@ define([
|
|||||||
}
|
}
|
||||||
scrollAdjust = false;
|
scrollAdjust = false;
|
||||||
});
|
});
|
||||||
aceEditor.session.on("changeScrollTop", function(e) {
|
aceEditor.session.on("changeScrollTop", function() {
|
||||||
if(isEditorMoving === false) {
|
if(isEditorMoving === false) {
|
||||||
isScrollEditor = true;
|
isScrollEditor = true;
|
||||||
isScrollPreview = false;
|
isScrollPreview = false;
|
||||||
@ -207,7 +208,7 @@ define([
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
var $previewContentsElt = undefined;
|
var $previewContentsElt;
|
||||||
scrollLink.onPagedownConfigure = function(editor) {
|
scrollLink.onPagedownConfigure = function(editor) {
|
||||||
$previewContentsElt = $("#preview-contents");
|
$previewContentsElt = $("#preview-contents");
|
||||||
editor.getConverter().hooks.chain("postConversion", function(text) {
|
editor.getConverter().hooks.chain("postConversion", function(text) {
|
||||||
|
@ -9,7 +9,7 @@ define([
|
|||||||
"text!bower-libs/lz-string/libs/lz-string-1.3.3.js",
|
"text!bower-libs/lz-string/libs/lz-string-1.3.3.js",
|
||||||
"text!workers/spellCheckWorker.js",
|
"text!workers/spellCheckWorker.js",
|
||||||
"text!html/spellCheckSettingsBlock.html",
|
"text!html/spellCheckSettingsBlock.html",
|
||||||
], function($, _, crel, utils, Extension, XRegExp, typoJS, LZStringJS, spellCheckWorkerJS, spellCheckSettingsBlockHTML) {
|
], function($, _, crel, utils, Extension, XRegExp, typoJS, LZStringJS, spellCheckWorkerJS, spellCheckSettingsBlockHTML) {
|
||||||
|
|
||||||
var spellCheck = new Extension("spellCheck", "Spell Check", true, true, true);
|
var spellCheck = new Extension("spellCheck", "Spell Check", true, true, true);
|
||||||
spellCheck.settingsBlock = spellCheckSettingsBlockHTML;
|
spellCheck.settingsBlock = spellCheckSettingsBlockHTML;
|
||||||
@ -21,11 +21,11 @@ define([
|
|||||||
utils.setInputValue("#select-spell-check-locale", spellCheck.config.locale);
|
utils.setInputValue("#select-spell-check-locale", spellCheck.config.locale);
|
||||||
};
|
};
|
||||||
|
|
||||||
spellCheck.onSaveSettings = function(newConfig, event) {
|
spellCheck.onSaveSettings = function(newConfig) {
|
||||||
newConfig.locale = utils.getInputValue("#select-spell-check-locale");
|
newConfig.locale = utils.getInputValue("#select-spell-check-locale");
|
||||||
};
|
};
|
||||||
|
|
||||||
var worker = undefined;
|
var worker;
|
||||||
var isInited = false;
|
var isInited = false;
|
||||||
spellCheck.onInit = function() {
|
spellCheck.onInit = function() {
|
||||||
// Create a web worker
|
// Create a web worker
|
||||||
@ -34,19 +34,19 @@ define([
|
|||||||
require([
|
require([
|
||||||
'text!../libs/dictionaries/' + spellCheck.config.locale + '.dic.lz',
|
'text!../libs/dictionaries/' + spellCheck.config.locale + '.dic.lz',
|
||||||
'text!../libs/dictionaries/' + spellCheck.config.locale + '.aff.lz',
|
'text!../libs/dictionaries/' + spellCheck.config.locale + '.aff.lz',
|
||||||
], function(dic, aff) {
|
], function(dic, aff) {
|
||||||
worker.postMessage(JSON.stringify(['init', typoJS, LZStringJS, spellCheck.config.locale, aff, dic]));
|
worker.postMessage(JSON.stringify(['init', typoJS, LZStringJS, spellCheck.config.locale, aff, dic]));
|
||||||
isInited = true;
|
isInited = true;
|
||||||
start();
|
start();
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
var aceEditor = undefined;
|
var aceEditor;
|
||||||
var wordRegExp = XRegExp('\\p{L}+(?:\'\\p{L}+)*', 'g');
|
var wordRegExp = XRegExp('\\p{L}+(?:\'\\p{L}+)*', 'g');
|
||||||
var markers = [];
|
var markers = [];
|
||||||
var timeoutId = undefined;
|
var timeoutId;
|
||||||
|
|
||||||
var currentRowCheck = undefined;
|
var currentRowCheck;
|
||||||
|
|
||||||
function rowCheck(rowIndex) {
|
function rowCheck(rowIndex) {
|
||||||
var tokens = aceEditor.session.getTokens(rowIndex).slice();
|
var tokens = aceEditor.session.getTokens(rowIndex).slice();
|
||||||
@ -128,8 +128,9 @@ define([
|
|||||||
timeoutId = setTimeout(check, 700);
|
timeoutId = setTimeout(check, 700);
|
||||||
}
|
}
|
||||||
|
|
||||||
var dropdownElt = undefined;
|
/*
|
||||||
var $dropdownElt = undefined;
|
var dropdownElt;
|
||||||
|
var $dropdownElt;
|
||||||
var liEltTmpl = [
|
var liEltTmpl = [
|
||||||
'<li>',
|
'<li>',
|
||||||
' <a href="#">',
|
' <a href="#">',
|
||||||
@ -165,6 +166,7 @@ define([
|
|||||||
worker.postMessage(JSON.stringify(['suggest', word]));
|
worker.postMessage(JSON.stringify(['suggest', word]));
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
var fileOpen = false;
|
var fileOpen = false;
|
||||||
spellCheck.onFileClose = function() {
|
spellCheck.onFileClose = function() {
|
||||||
|
@ -63,7 +63,7 @@ define([
|
|||||||
var tagName = "H" + level;
|
var tagName = "H" + level;
|
||||||
var result = [];
|
var result = [];
|
||||||
|
|
||||||
var currentElement = undefined;
|
var currentElement;
|
||||||
function pushCurrentElement() {
|
function pushCurrentElement() {
|
||||||
if(currentElement !== undefined) {
|
if(currentElement !== undefined) {
|
||||||
if(currentElement.children.length > 0) {
|
if(currentElement.children.length > 0) {
|
||||||
@ -73,7 +73,7 @@ define([
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_.each(array, function(element, index) {
|
_.each(array, function(element) {
|
||||||
if(element.tagName != tagName) {
|
if(element.tagName != tagName) {
|
||||||
if(currentElement === undefined) {
|
if(currentElement === undefined) {
|
||||||
currentElement = new TocElement();
|
currentElement = new TocElement();
|
||||||
@ -90,7 +90,7 @@ define([
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Build the TOC
|
// Build the TOC
|
||||||
var previewContentsElt = undefined;
|
var previewContentsElt;
|
||||||
function buildToc() {
|
function buildToc() {
|
||||||
var anchorList = {};
|
var anchorList = {};
|
||||||
function createAnchor(element) {
|
function createAnchor(element) {
|
||||||
|
@ -14,22 +14,22 @@ define([
|
|||||||
code: "",
|
code: "",
|
||||||
};
|
};
|
||||||
|
|
||||||
var fileMgr = undefined;
|
var fileMgr;
|
||||||
userCustom.onFileMgrCreated = function(fileMgrParameter) {
|
userCustom.onFileMgrCreated = function(fileMgrParameter) {
|
||||||
fileMgr = fileMgrParameter;
|
fileMgr = fileMgrParameter;
|
||||||
};
|
};
|
||||||
|
|
||||||
var synchronizer = undefined;
|
var synchronizer;
|
||||||
userCustom.onSynchronizerCreated = function(synchronizerParameter) {
|
userCustom.onSynchronizerCreated = function(synchronizerParameter) {
|
||||||
synchronizer = synchronizerParameter;
|
synchronizer = synchronizerParameter;
|
||||||
};
|
};
|
||||||
|
|
||||||
var publisher = undefined;
|
var publisher;
|
||||||
userCustom.onPublisherCreated = function(publisherParameter) {
|
userCustom.onPublisherCreated = function(publisherParameter) {
|
||||||
publisher = publisherParameter;
|
publisher = publisherParameter;
|
||||||
};
|
};
|
||||||
|
|
||||||
var eventMgr = undefined;
|
var eventMgr;
|
||||||
userCustom.onEventMgrCreated = function(eventMgrParameter) {
|
userCustom.onEventMgrCreated = function(eventMgrParameter) {
|
||||||
eventMgr = eventMgrParameter;
|
eventMgr = eventMgrParameter;
|
||||||
};
|
};
|
||||||
@ -41,6 +41,7 @@ define([
|
|||||||
userCustom.onSaveSettings = function(newConfig, event) {
|
userCustom.onSaveSettings = function(newConfig, event) {
|
||||||
newConfig.code = utils.getInputValue("#textarea-usercustom-code");
|
newConfig.code = utils.getInputValue("#textarea-usercustom-code");
|
||||||
try {
|
try {
|
||||||
|
/*jshint evil: true */
|
||||||
eval(newConfig.code);
|
eval(newConfig.code);
|
||||||
}
|
}
|
||||||
catch(e) {
|
catch(e) {
|
||||||
@ -52,6 +53,7 @@ define([
|
|||||||
|
|
||||||
userCustom.onInit = function() {
|
userCustom.onInit = function() {
|
||||||
try {
|
try {
|
||||||
|
/*jshint evil: true */
|
||||||
eval(userCustom.config.code);
|
eval(userCustom.config.code);
|
||||||
}
|
}
|
||||||
catch(e) {
|
catch(e) {
|
||||||
|
@ -4,7 +4,7 @@ define([
|
|||||||
'storage',
|
'storage',
|
||||||
'classes/Extension',
|
'classes/Extension',
|
||||||
'bootstrap-tour'
|
'bootstrap-tour'
|
||||||
], function(_, $, storage, Extension) {
|
], function(_, $, storage, Extension, Tour) {
|
||||||
|
|
||||||
var welcomeTour = new Extension('welcomeTour', 'Welcome tour', false, true);
|
var welcomeTour = new Extension('welcomeTour', 'Welcome tour', false, true);
|
||||||
|
|
||||||
@ -19,7 +19,7 @@ define([
|
|||||||
removeItem: function() {
|
removeItem: function() {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onEnd: function(tour) {
|
onEnd: function() {
|
||||||
storage.welcomeTour = 'done';
|
storage.welcomeTour = 'done';
|
||||||
},
|
},
|
||||||
template: [
|
template: [
|
||||||
|
@ -6,8 +6,8 @@ define([
|
|||||||
|
|
||||||
var workingIndicator = new Extension("workingIndicator", "Working Indicator");
|
var workingIndicator = new Extension("workingIndicator", "Working Indicator");
|
||||||
|
|
||||||
var $bodyElt = undefined;
|
var $bodyElt;
|
||||||
var $workingIndicatorElt = undefined;
|
var $workingIndicatorElt;
|
||||||
workingIndicator.onAsyncRunning = function(isRunning) {
|
workingIndicator.onAsyncRunning = function(isRunning) {
|
||||||
$bodyElt.toggleClass("working", isRunning);
|
$bodyElt.toggleClass("working", isRunning);
|
||||||
$workingIndicatorElt.toggleClass("show", isRunning);
|
$workingIndicatorElt.toggleClass("show", isRunning);
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
define([
|
define([
|
||||||
"classes/Extension",
|
"classes/Extension",
|
||||||
"yaml-js",
|
"yaml-js",
|
||||||
], function(Extension, YAML) {
|
], function(Extension, YAML) {
|
||||||
|
|
||||||
var yamlFrontMatterParser = new Extension("yamlFrontMatterParser", "YAML front matter");
|
var yamlFrontMatterParser = new Extension("yamlFrontMatterParser", "YAML front matter");
|
||||||
|
|
||||||
var eventMgr = undefined;
|
var eventMgr;
|
||||||
yamlFrontMatterParser.onEventMgrCreated = function(eventMgrParameter) {
|
yamlFrontMatterParser.onEventMgrCreated = function(eventMgrParameter) {
|
||||||
eventMgr = eventMgrParameter;
|
eventMgr = eventMgrParameter;
|
||||||
};
|
};
|
||||||
|
|
||||||
var fileDesc = undefined;
|
var fileDesc;
|
||||||
yamlFrontMatterParser.onFileSelected = function(fileDescParam) {
|
yamlFrontMatterParser.onFileSelected = function(fileDescParam) {
|
||||||
fileDesc = fileDescParam;
|
fileDesc = fileDescParam;
|
||||||
};
|
};
|
||||||
|
@ -8,7 +8,6 @@ define([
|
|||||||
"logger",
|
"logger",
|
||||||
"eventMgr",
|
"eventMgr",
|
||||||
"classes/AsyncTask",
|
"classes/AsyncTask",
|
||||||
"config",
|
|
||||||
], function($, _, constants, core, storage, logger, eventMgr, AsyncTask) {
|
], function($, _, constants, core, storage, logger, eventMgr, AsyncTask) {
|
||||||
|
|
||||||
var client;
|
var client;
|
||||||
|
@ -8,7 +8,6 @@ define([
|
|||||||
"logger",
|
"logger",
|
||||||
"eventMgr",
|
"eventMgr",
|
||||||
"classes/AsyncTask",
|
"classes/AsyncTask",
|
||||||
"config"
|
|
||||||
], function($, constants, core, utils, storage, logger, eventMgr, AsyncTask) {
|
], function($, constants, core, utils, storage, logger, eventMgr, AsyncTask) {
|
||||||
|
|
||||||
var connected;
|
var connected;
|
||||||
|
@ -10,7 +10,6 @@ define([
|
|||||||
"settings",
|
"settings",
|
||||||
"eventMgr",
|
"eventMgr",
|
||||||
"classes/AsyncTask",
|
"classes/AsyncTask",
|
||||||
"config"
|
|
||||||
], function(_, $, constants, core, utils, storage, logger, settings, eventMgr, AsyncTask) {
|
], function(_, $, constants, core, utils, storage, logger, settings, eventMgr, AsyncTask) {
|
||||||
|
|
||||||
var connected = false;
|
var connected = false;
|
||||||
|
@ -82,7 +82,16 @@ requirejs.config({
|
|||||||
FileSaver: {
|
FileSaver: {
|
||||||
exports: 'saveAs'
|
exports: 'saveAs'
|
||||||
},
|
},
|
||||||
'bootstrap-tour': ['bootstrap'],
|
highlightjs: {
|
||||||
|
exports: 'hljs'
|
||||||
|
},
|
||||||
|
'google-code-prettify': {
|
||||||
|
exports: 'prettyPrint'
|
||||||
|
},
|
||||||
|
'bootstrap-tour': {
|
||||||
|
deps: ['bootstrap'],
|
||||||
|
exports: 'Tour'
|
||||||
|
},
|
||||||
bootstrap: ['jquery'],
|
bootstrap: ['jquery'],
|
||||||
'jquery-waitforimages': ['jquery'],
|
'jquery-waitforimages': ['jquery'],
|
||||||
'jquery-mousewheel': ['jquery'],
|
'jquery-mousewheel': ['jquery'],
|
||||||
@ -93,7 +102,7 @@ requirejs.config({
|
|||||||
'jquery-ui-mouse': ['jquery-ui-widget'],
|
'jquery-ui-mouse': ['jquery-ui-widget'],
|
||||||
'jquery-ui-widget': ['jquery-ui-core'],
|
'jquery-ui-widget': ['jquery-ui-core'],
|
||||||
'jquery-ui-core': ['jquery'],
|
'jquery-ui-core': ['jquery'],
|
||||||
'pagedown-extra': ['pagedown-ace', 'google-code-prettify', 'highlightjs'],
|
'pagedown-extra': ['pagedown-ace'],
|
||||||
'pagedown-ace': ['bower-libs/pagedown-ace/Markdown.Converter']
|
'pagedown-ace': ['bower-libs/pagedown-ace/Markdown.Converter']
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -125,10 +134,10 @@ window.lightMode = window.viewerMode || /(\?|&)light($|&)/.test(location.search)
|
|||||||
})(navigator.userAgent || navigator.vendor || window.opera);
|
})(navigator.userAgent || navigator.vendor || window.opera);
|
||||||
|
|
||||||
// Keep the theme in a global variable
|
// Keep the theme in a global variable
|
||||||
var theme = localStorage.theme || 'default';
|
window.theme = localStorage.theme || 'default';
|
||||||
var themeModule = "less!themes/" + theme;
|
var themeModule = "less!themes/" + window.theme;
|
||||||
if (window.baseDir.indexOf('-min') !== -1) {
|
if (window.baseDir.indexOf('-min') !== -1) {
|
||||||
themeModule = "css!themes/" + theme;
|
themeModule = "css!themes/" + window.theme;
|
||||||
}
|
}
|
||||||
|
|
||||||
// RequireJS entry point. By requiring synchronizer, publisher and
|
// RequireJS entry point. By requiring synchronizer, publisher and
|
||||||
|
@ -11,7 +11,6 @@ define([
|
|||||||
"sharing",
|
"sharing",
|
||||||
"classes/Provider",
|
"classes/Provider",
|
||||||
"classes/AsyncTask",
|
"classes/AsyncTask",
|
||||||
"config",
|
|
||||||
"providers/bloggerProvider",
|
"providers/bloggerProvider",
|
||||||
"providers/dropboxProvider",
|
"providers/dropboxProvider",
|
||||||
"providers/gistProvider",
|
"providers/gistProvider",
|
||||||
|
@ -2,7 +2,6 @@ define([
|
|||||||
"underscore",
|
"underscore",
|
||||||
"constants",
|
"constants",
|
||||||
"storage",
|
"storage",
|
||||||
"config",
|
|
||||||
], function (_, constants, storage) {
|
], function (_, constants, storage) {
|
||||||
|
|
||||||
var settings = {
|
var settings = {
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
/*jshint worker:true */
|
/*jshint worker:true */
|
||||||
var isConfigured = false;
|
var isConfigured = false;
|
||||||
|
|
||||||
/*jshint evil:true, unused:false */
|
|
||||||
self.onmessage = function(e) {
|
self.onmessage = function(e) {
|
||||||
if(isConfigured === false) {
|
if(isConfigured === false) {
|
||||||
|
/*jshint evil:true */
|
||||||
eval(e.data);
|
eval(e.data);
|
||||||
isConfigured = true;
|
isConfigured = true;
|
||||||
}
|
}
|
||||||
@ -13,4 +13,3 @@ self.onmessage = function(e) {
|
|||||||
self[functionName].apply(this, data);
|
self[functionName].apply(this, data);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
/*jshint evil:false, unused:true */
|
|
||||||
|
Loading…
Reference in New Issue
Block a user