Upgrade to Bootstrap 3
This commit is contained in:
parent
2009a59cc2
commit
e58169d359
@ -47,7 +47,9 @@ define([
|
|||||||
* finished. The optional callback parameter can be used to pass an
|
* finished. The optional callback parameter can be used to pass an
|
||||||
* onRun callback during execution, bypassing the onRun queue.
|
* onRun callback during execution, bypassing the onRun queue.
|
||||||
*/
|
*/
|
||||||
|
var currentTaskStartTime = 0;
|
||||||
AsyncTask.prototype.chain = function(callback) {
|
AsyncTask.prototype.chain = function(callback) {
|
||||||
|
currentTaskStartTime = utils.currentTime;
|
||||||
utils.logStackTrace();
|
utils.logStackTrace();
|
||||||
if(this.finished === true) {
|
if(this.finished === true) {
|
||||||
return;
|
return;
|
||||||
@ -94,6 +96,7 @@ define([
|
|||||||
/**
|
/**
|
||||||
* retry() can be called in an onRun callback to restart the task
|
* retry() can be called in an onRun callback to restart the task
|
||||||
*/
|
*/
|
||||||
|
var currentTaskRunning = false;
|
||||||
AsyncTask.prototype.retry = function(error, maxRetryCounter) {
|
AsyncTask.prototype.retry = function(error, maxRetryCounter) {
|
||||||
if(this.finished === true) {
|
if(this.finished === true) {
|
||||||
return;
|
return;
|
||||||
@ -121,8 +124,6 @@ define([
|
|||||||
|
|
||||||
var asyncRunning = false;
|
var asyncRunning = false;
|
||||||
var currentTask = undefined;
|
var currentTask = undefined;
|
||||||
var currentTaskRunning = false;
|
|
||||||
var currentTaskStartTime = 0;
|
|
||||||
|
|
||||||
// Determine if user is real by listening to his activity
|
// Determine if user is real by listening to his activity
|
||||||
var isUserReal = false;
|
var isUserReal = false;
|
||||||
|
29
js/core.js
29
js/core.js
@ -707,19 +707,22 @@ define([
|
|||||||
});
|
});
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
});
|
});
|
||||||
$(".tooltip-template").tooltip({
|
_.each(document.querySelectorAll(".tooltip-template"), function(tooltipElt) {
|
||||||
html: true,
|
var $tooltipElt = $(tooltipElt);
|
||||||
container: '.modal-settings',
|
$tooltipElt.tooltip({
|
||||||
placement: 'right',
|
html: true,
|
||||||
trigger: 'manual',
|
container: $tooltipElt.parents('.modal'),
|
||||||
title: settingsTemplateTooltipHTML
|
placement: 'right',
|
||||||
}).click(function(e) {
|
trigger: 'manual',
|
||||||
$(this).tooltip('show');
|
title: settingsTemplateTooltipHTML
|
||||||
$(document).on("click.tooltip-template", function(e) {
|
}).click(function(e) {
|
||||||
$(".tooltip-template").tooltip('hide');
|
$tooltipElt.tooltip('show');
|
||||||
$(document).off("click.tooltip-template");
|
$(document).on("click.tooltip-template", function(e) {
|
||||||
|
$(".tooltip-template").tooltip('hide');
|
||||||
|
$(document).off("click.tooltip-template");
|
||||||
|
});
|
||||||
|
e.stopPropagation();
|
||||||
});
|
});
|
||||||
e.stopPropagation();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Avoid dropdown panels to close on click
|
// Avoid dropdown panels to close on click
|
||||||
@ -727,7 +730,7 @@ define([
|
|||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
});
|
});
|
||||||
|
|
||||||
if (viewerMode === false) {
|
if(viewerMode === false) {
|
||||||
// Load theme list
|
// Load theme list
|
||||||
var themeOptions = _.reduce(THEME_LIST, function(themeOptions, name, value) {
|
var themeOptions = _.reduce(THEME_LIST, function(themeOptions, name, value) {
|
||||||
return themeOptions + '<option value="' + value + '">' + name + '</option>';
|
return themeOptions + '<option value="' + value + '">' + name + '</option>';
|
||||||
|
@ -12,7 +12,7 @@ define([
|
|||||||
var documentSelector = new Extension("documentSelector", 'Document Selector', true, true);
|
var documentSelector = new Extension("documentSelector", 'Document Selector', true, true);
|
||||||
documentSelector.settingsBlock = documentSelectorSettingsBlockHTML;
|
documentSelector.settingsBlock = documentSelectorSettingsBlockHTML;
|
||||||
documentSelector.defaultConfig = {
|
documentSelector.defaultConfig = {
|
||||||
orderBy: "title",
|
orderBy: "mru",
|
||||||
shortcutPrevious: "Ctrl+[",
|
shortcutPrevious: "Ctrl+[",
|
||||||
shortcutNext: "Ctrl+]"
|
shortcutNext: "Ctrl+]"
|
||||||
};
|
};
|
||||||
|
@ -127,10 +127,6 @@ define([
|
|||||||
connect(task);
|
connect(task);
|
||||||
authenticate(task);
|
authenticate(task);
|
||||||
task.onRun(function() {
|
task.onRun(function() {
|
||||||
if(newChangeId === 0) {
|
|
||||||
// Add time for the first synchronization
|
|
||||||
task.timeout = ASYNC_TASK_LONG_TIMEOUT;
|
|
||||||
}
|
|
||||||
function retrievePageOfChanges() {
|
function retrievePageOfChanges() {
|
||||||
client.pullChanges(newChangeId, function(error, pullChanges) {
|
client.pullChanges(newChangeId, function(error, pullChanges) {
|
||||||
if(error) {
|
if(error) {
|
||||||
|
@ -297,10 +297,6 @@ define([
|
|||||||
authenticate(task);
|
authenticate(task);
|
||||||
task.onRun(function() {
|
task.onRun(function() {
|
||||||
var nextPageToken = undefined;
|
var nextPageToken = undefined;
|
||||||
if(newChangeId === 0) {
|
|
||||||
// Add time for the first synchronization
|
|
||||||
task.timeout = ASYNC_TASK_LONG_TIMEOUT;
|
|
||||||
}
|
|
||||||
function retrievePageOfChanges() {
|
function retrievePageOfChanges() {
|
||||||
var request = undefined;
|
var request = undefined;
|
||||||
if(nextPageToken === undefined) {
|
if(nextPageToken === undefined) {
|
||||||
|
@ -125,10 +125,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<ul class="nav">
|
<ul class="nav">
|
||||||
<li><a href="#" data-toggle="modal"
|
<li><a href="#" data-toggle="modal"
|
||||||
data-target=".modal-settings"
|
data-target=".modal-settings" class="action-load-settings"><i
|
||||||
class="action-load-settings"><i class="icon-cog"></i>
|
class="icon-cog"></i> Settings</a></li>
|
||||||
Settings</a></li>
|
<li><a href="#" data-toggle="modal" data-target=".modal-about"><i
|
||||||
<li><a href="#" data-toggle="modal" data-target=".modal-about"><i class="icon-help-circled"></i> About</a></li>
|
class="icon-help-circled"></i> About</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@ -411,8 +411,10 @@
|
|||||||
<h3 class="modal-title">Export to Google Drive</h3>
|
<h3 class="modal-title">Export to Google Drive</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<p>This will save "<span class="file-title"></span>" to your Google Drive
|
<p>
|
||||||
account and keep it synchronized.</p>
|
This will save "<span class="file-title"></span>" to your Google
|
||||||
|
Drive account and keep it synchronized.
|
||||||
|
</p>
|
||||||
<div class="form-horizontal">
|
<div class="form-horizontal">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-lg-3 control-label"
|
<label class="col-lg-3 control-label"
|
||||||
@ -441,7 +443,8 @@
|
|||||||
<div class="col-lg-8">
|
<div class="col-lg-8">
|
||||||
<input type="text" id="input-sync-export-gdrive-fileid"
|
<input type="text" id="input-sync-export-gdrive-fileid"
|
||||||
placeholder="FileID" class="form-control"> <span
|
placeholder="FileID" class="form-control"> <span
|
||||||
class="help-block"> This will overwrite the existing file on the server. </span>
|
class="help-block"> This will overwrite the existing file
|
||||||
|
on the server. </span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -477,8 +480,10 @@
|
|||||||
<h3 class="modal-title">Export to Dropbox</h3>
|
<h3 class="modal-title">Export to Dropbox</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<p>This will save "<span class="file-title"></span>" to your Dropbox account
|
<p>
|
||||||
and keep it synchronized.</p>
|
This will save "<span class="file-title"></span>" to your Dropbox
|
||||||
|
account and keep it synchronized.
|
||||||
|
</p>
|
||||||
<div class="form-horizontal">
|
<div class="form-horizontal">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-lg-3 control-label"
|
<label class="col-lg-3 control-label"
|
||||||
@ -762,6 +767,18 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group collapse publish-custom-template-collapse">
|
||||||
|
<div class="col-lg-4"></div>
|
||||||
|
<div class="col-lg-7">
|
||||||
|
<div class="checkbox">
|
||||||
|
<label> <input type="checkbox"
|
||||||
|
id="checkbox-publish-custom-template"> Custom template
|
||||||
|
</label> <a href="#" class="tooltip-template">(?)</a>
|
||||||
|
</div>
|
||||||
|
<textarea class="form-control"
|
||||||
|
id="textarea-publish-custom-template"></textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
@ -899,8 +916,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-lg-4 control-label"
|
<label class="col-lg-4 control-label"
|
||||||
for="textarea-settings-publish-template">Template <a
|
for="textarea-settings-publish-template">Default
|
||||||
href="#" class="tooltip-template">(?)</a>
|
template <a href="#" class="tooltip-template">(?)</a>
|
||||||
</label>
|
</label>
|
||||||
<div class="col-lg-7">
|
<div class="col-lg-7">
|
||||||
<textarea id="textarea-settings-publish-template"
|
<textarea id="textarea-settings-publish-template"
|
||||||
@ -949,9 +966,9 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<a href="#" class="btn btn-default action-apply-theme" data-dismiss="modal">Cancel</a>
|
<a href="#" class="btn btn-default action-apply-theme"
|
||||||
<a href="#" class="btn btn-primary action-apply-settings"
|
data-dismiss="modal">Cancel</a> <a href="#"
|
||||||
data-dismiss="modal">OK</a>
|
class="btn btn-primary action-apply-settings" data-dismiss="modal">OK</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -968,8 +985,8 @@
|
|||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<p>StackEdit has stopped because another instance was running in
|
<p>StackEdit has stopped because another instance was running in
|
||||||
the same browser.</p>
|
the same browser.</p>
|
||||||
<blockquote>If you want to reopen
|
<blockquote>If you want to reopen StackEdit, click on
|
||||||
StackEdit, click on "Reload".</blockquote>
|
"Reload".</blockquote>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<a href="javascript:window.location.reload();"
|
<a href="javascript:window.location.reload();"
|
||||||
|
@ -139,6 +139,6 @@ like `` `this` ``.
|
|||||||
Violets are blue.
|
Violets are blue.
|
||||||
</code></pre>
|
</code></pre>
|
||||||
|
|
||||||
<p>Based on the <a target="_blank" href="https://github.com/fletcher/MultiMarkdown/blob/master/Documentation/Markdown%20Syntax.md">Markdown syntax guide</a>, by Fletcher T. Penney.</p>
|
<blockquote>Based on the <a target="_blank" href="https://github.com/fletcher/MultiMarkdown/blob/master/Documentation/Markdown%20Syntax.md">Markdown syntax guide</a>, by Fletcher T. Penney.</blockquote>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -56,7 +56,8 @@ define([
|
|||||||
// Apply template to the current document
|
// Apply template to the current document
|
||||||
publisher.applyTemplate = function(fileDesc, publishAttributes, html) {
|
publisher.applyTemplate = function(fileDesc, publishAttributes, html) {
|
||||||
try {
|
try {
|
||||||
return _.template(settings.template, {
|
var template = (publishAttributes && publishAttributes.customTmpl) || settings.template;
|
||||||
|
return _.template(template, {
|
||||||
documentTitle: fileDesc.title,
|
documentTitle: fileDesc.title,
|
||||||
documentMarkdown: fileDesc.content,
|
documentMarkdown: fileDesc.content,
|
||||||
documentHTML: html,
|
documentHTML: html,
|
||||||
@ -72,7 +73,10 @@ define([
|
|||||||
// Used to get content to publish
|
// Used to get content to publish
|
||||||
function getPublishContent(fileDesc, publishAttributes, html) {
|
function getPublishContent(fileDesc, publishAttributes, html) {
|
||||||
if(publishAttributes.format === undefined) {
|
if(publishAttributes.format === undefined) {
|
||||||
publishAttributes.format = $("input:radio[name=radio-publish-format]:checked").prop("value");
|
publishAttributes.format = utils.getInputRadio("radio-publish-format");
|
||||||
|
if(publishAttributes.format == 'template' && utils.getInputChecked("#checkbox-publish-custom-template")) {
|
||||||
|
publishAttributes.customTmpl = utils.getInputValue('#textarea-publish-custom-template');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(publishAttributes.format == "markdown") {
|
if(publishAttributes.format == "markdown") {
|
||||||
return fileDesc.content;
|
return fileDesc.content;
|
||||||
@ -176,7 +180,9 @@ define([
|
|||||||
|
|
||||||
// Reset fields
|
// Reset fields
|
||||||
utils.resetModalInputs();
|
utils.resetModalInputs();
|
||||||
$("input:radio[name=radio-publish-format][value=" + defaultPublishFormat + "]").prop("checked", true);
|
utils.setInputRadio("radio-publish-format", defaultPublishFormat);
|
||||||
|
utils.setInputChecked("#checkbox-publish-custom-template", false);
|
||||||
|
utils.setInputValue('#textarea-publish-custom-template', settings.template);
|
||||||
|
|
||||||
// Load preferences
|
// Load preferences
|
||||||
var publishPreferences = utils.retrieveIgnoreError(provider.providerId + ".publishPreferences");
|
var publishPreferences = utils.retrieveIgnoreError(provider.providerId + ".publishPreferences");
|
||||||
@ -185,6 +191,8 @@ define([
|
|||||||
utils.setInputValue("#input-publish-" + inputId, publishPreferences[inputId]);
|
utils.setInputValue("#input-publish-" + inputId, publishPreferences[inputId]);
|
||||||
});
|
});
|
||||||
utils.setInputRadio("radio-publish-format", publishPreferences.format);
|
utils.setInputRadio("radio-publish-format", publishPreferences.format);
|
||||||
|
utils.setInputChecked("#checkbox-publish-custom-template-toggle", publishPreferences.customTmpl !== undefined);
|
||||||
|
utils.setInputValue('#checkbox-publish-custom-template', publishPreferences.customTmpl || settings.template);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Open dialog box
|
// Open dialog box
|
||||||
@ -219,6 +227,7 @@ define([
|
|||||||
publishPreferences[inputId] = document.getElementById("input-publish-" + inputId).value;
|
publishPreferences[inputId] = document.getElementById("input-publish-" + inputId).value;
|
||||||
});
|
});
|
||||||
publishPreferences.format = publishAttributes.format;
|
publishPreferences.format = publishAttributes.format;
|
||||||
|
publishPreferences.customTmpl = publishAttributes.customTmpl;
|
||||||
localStorage[provider.providerId + ".publishPreferences"] = JSON.stringify(publishPreferences);
|
localStorage[provider.providerId + ".publishPreferences"] = JSON.stringify(publishPreferences);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -255,6 +264,16 @@ define([
|
|||||||
//
|
//
|
||||||
$(".action-process-publish").click(performNewLocation);
|
$(".action-process-publish").click(performNewLocation);
|
||||||
|
|
||||||
|
var $customTmplCollapseElt = $('.publish-custom-template-collapse').collapse();
|
||||||
|
var $customTmplTextareaElt = $('#textarea-publish-custom-template');
|
||||||
|
$("#checkbox-publish-custom-template").change(function() {
|
||||||
|
$customTmplTextareaElt.prop('disabled', !this.checked);
|
||||||
|
});
|
||||||
|
$("input:radio[name=radio-publish-format]").change(function() {
|
||||||
|
$customTmplCollapseElt.collapse(this.value == 'template' ? 'show' : 'hide');
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
// Save As menu items
|
// Save As menu items
|
||||||
$(".action-download-md").click(function() {
|
$(".action-download-md").click(function() {
|
||||||
var content = document.getElementById("wmd-input").value;
|
var content = document.getElementById("wmd-input").value;
|
||||||
|
@ -689,6 +689,14 @@ body {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.publish-custom-template-collapse {
|
||||||
|
margin-bottom: 0;
|
||||||
|
textarea {
|
||||||
|
max-width: 100%;
|
||||||
|
min-height: 100px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*********************************
|
/*********************************
|
||||||
* UI Layout
|
* UI Layout
|
||||||
|
@ -122,7 +122,7 @@ define([
|
|||||||
// Set checkbox state
|
// Set checkbox state
|
||||||
utils.setInputChecked = function(element, checked) {
|
utils.setInputChecked = function(element, checked) {
|
||||||
element = jqElt(element);
|
element = jqElt(element);
|
||||||
element.prop("checked", checked);
|
element.prop("checked", checked).change();
|
||||||
};
|
};
|
||||||
|
|
||||||
// Get radio button value
|
// Get radio button value
|
||||||
@ -132,7 +132,7 @@ define([
|
|||||||
|
|
||||||
// Set radio button value
|
// Set radio button value
|
||||||
utils.setInputRadio = function(name, value) {
|
utils.setInputRadio = function(name, value) {
|
||||||
$("input:radio[name=" + name + "][value=" + value + "]").prop("checked", true);
|
$("input:radio[name=" + name + "][value=" + value + "]").prop("checked", true).change();
|
||||||
};
|
};
|
||||||
|
|
||||||
// Reset input control in all modals
|
// Reset input control in all modals
|
||||||
|
Loading…
Reference in New Issue
Block a user