Using hash bang in sharing location
This commit is contained in:
parent
1f513d7218
commit
428ff1c691
@ -7,13 +7,14 @@ define([
|
||||
|
||||
var taskQueue = [];
|
||||
|
||||
function AsyncTask() {
|
||||
function AsyncTask(force) {
|
||||
this.finished = false;
|
||||
this.timeout = ASYNC_TASK_DEFAULT_TIMEOUT;
|
||||
this.retryCounter = 0;
|
||||
this.runCallbacks = [];
|
||||
this.successCallbacks = [];
|
||||
this.errorCallbacks = [];
|
||||
this.force = force;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -132,45 +133,36 @@ define([
|
||||
|
||||
// Run the next task in the queue if any and no other running
|
||||
function runTask() {
|
||||
|
||||
// Wait for user first interaction before running first task
|
||||
if(isUserReal === false) {
|
||||
return
|
||||
|
||||
// If there is a task currently running
|
||||
if(currentTaskRunning === true) {
|
||||
// If the current task takes too long
|
||||
if(currentTaskStartTime + currentTask.timeout < utils.currentTime) {
|
||||
currentTask.error(new Error("A timeout occurred."));
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// Use defer to avoid stack overflow
|
||||
//_.defer(function() {
|
||||
|
||||
// If there is a task currently running
|
||||
if(currentTaskRunning === true) {
|
||||
// If the current task takes too long
|
||||
if(currentTaskStartTime + currentTask.timeout < utils.currentTime) {
|
||||
currentTask.error(new Error("A timeout occurred."));
|
||||
}
|
||||
if(currentTask === undefined) {
|
||||
// If no task in the queue or user has never interacted
|
||||
if(taskQueue.length === 0 || (!taskQueue[0].force && isUserReal === false)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(currentTask === undefined) {
|
||||
// If no task in the queue
|
||||
if(taskQueue.length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Dequeue an enqueued task
|
||||
currentTask = taskQueue.shift();
|
||||
currentTaskStartTime = utils.currentTime;
|
||||
if(asyncRunning === false) {
|
||||
asyncRunning = true;
|
||||
eventMgr.onAsyncRunning(true);
|
||||
}
|
||||
// Dequeue an enqueued task
|
||||
currentTask = taskQueue.shift();
|
||||
currentTaskStartTime = utils.currentTime;
|
||||
if(asyncRunning === false) {
|
||||
asyncRunning = true;
|
||||
eventMgr.onAsyncRunning(true);
|
||||
}
|
||||
}
|
||||
|
||||
// Run the task
|
||||
if(currentTaskStartTime <= utils.currentTime) {
|
||||
currentTaskRunning = true;
|
||||
currentTask.chain();
|
||||
}
|
||||
//});
|
||||
// Run the task
|
||||
if(currentTaskStartTime <= utils.currentTime) {
|
||||
currentTaskRunning = true;
|
||||
currentTask.chain();
|
||||
}
|
||||
}
|
||||
|
||||
// Call runTask periodically
|
||||
|
@ -45,7 +45,7 @@ define([
|
||||
}
|
||||
|
||||
function isUserActive() {
|
||||
if(userActive === true && utils.currentTime - userLastActivity > USER_IDLE_THRESHOLD) {
|
||||
if(utils.currentTime - userLastActivity > USER_IDLE_THRESHOLD) {
|
||||
userActive = false;
|
||||
}
|
||||
return userActive && windowUnique;
|
||||
@ -875,14 +875,14 @@ define([
|
||||
|
||||
// Tooltips
|
||||
$(".tooltip-lazy-rendering").tooltip({
|
||||
container: '.modal-settings .modal-dialog',
|
||||
container: '.modal-settings',
|
||||
placement: 'right',
|
||||
trigger: 'hover',
|
||||
title: 'Disable preview rendering while typing in order to offload CPU. Refresh preview after 500 ms of inactivity.'
|
||||
});
|
||||
$(".tooltip-default-content").tooltip({
|
||||
html: true,
|
||||
container: '.modal-settings .modal-dialog',
|
||||
container: '.modal-settings',
|
||||
placement: 'right',
|
||||
trigger: 'hover',
|
||||
title: 'Thanks for supporting StackEdit by adding a backlink in your documents!'
|
||||
@ -890,7 +890,7 @@ define([
|
||||
var tooltipOpen = false;
|
||||
$(".tooltip-usercustom-extension").tooltip({
|
||||
html: true,
|
||||
container: '.modal-settings .modal-dialog',
|
||||
container: '.modal-settings',
|
||||
placement: 'right',
|
||||
trigger: 'manual',
|
||||
title: settingsUserCustomExtensionTooltipHTML
|
||||
@ -908,7 +908,7 @@ define([
|
||||
var $tooltipElt = $(tooltipElt);
|
||||
$tooltipElt.tooltip({
|
||||
html: true,
|
||||
container: $tooltipElt.parents('.modal-dialog'),
|
||||
container: $tooltipElt.parents('.modal'),
|
||||
placement: 'right',
|
||||
trigger: 'manual',
|
||||
title: settingsTemplateTooltipHTML
|
||||
@ -962,7 +962,6 @@ define([
|
||||
}, '');
|
||||
document.getElementById('input-settings-theme').innerHTML = themeOptions;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
return core;
|
||||
|
@ -69,7 +69,6 @@ define([
|
||||
}
|
||||
function localAuthenticate() {
|
||||
if(immediate === false) {
|
||||
eventMgr.onMessage("Please make sure the Dropbox authorization popup is not blocked by your browser.");
|
||||
// If not immediate we add time for user to enter his
|
||||
// credentials
|
||||
task.timeout = ASYNC_TASK_LONG_TIMEOUT;
|
||||
|
@ -75,7 +75,6 @@ define([
|
||||
});
|
||||
}
|
||||
function getCode() {
|
||||
eventMgr.onMessage("Please make sure the Github authorization popup is not blocked by your browser.");
|
||||
localStorage.removeItem("githubCode");
|
||||
authWindow = utils.popupWindow('html/github-oauth-client.html?client_id=' + GITHUB_CLIENT_ID, 'stackedit-github-oauth', 960, 600);
|
||||
authWindow.focus();
|
||||
@ -205,7 +204,7 @@ define([
|
||||
};
|
||||
|
||||
githubHelper.downloadGist = function(gistId, filename, callback) {
|
||||
var task = new AsyncTask();
|
||||
var task = new AsyncTask(true);
|
||||
connect(task);
|
||||
// No need for authentication
|
||||
var title = undefined;
|
||||
|
@ -90,7 +90,6 @@ define([
|
||||
}
|
||||
function localAuthenticate() {
|
||||
if(immediate === false) {
|
||||
eventMgr.onMessage("Please make sure the Google authorization popup is not blocked by your browser.");
|
||||
task.timeout = ASYNC_TASK_LONG_TIMEOUT;
|
||||
}
|
||||
gapi.auth.authorize({
|
||||
|
@ -63,7 +63,6 @@ define([
|
||||
});
|
||||
}
|
||||
function getVerifier() {
|
||||
eventMgr.onMessage("Please make sure the Tumblr authorization popup is not blocked by your browser.");
|
||||
localStorage.removeItem("tumblrVerifier");
|
||||
authWindow = utils.popupWindow('html/tumblr-oauth-client.html?oauth_token=' + oauth_object.oauth_token, 'stackedit-tumblr-oauth', 800, 600);
|
||||
authWindow.focus();
|
||||
|
@ -47,7 +47,6 @@ define([
|
||||
});
|
||||
}
|
||||
function getCode() {
|
||||
eventMgr.onMessage("Please make sure the Wordpress authorization popup is not blocked by your browser.");
|
||||
localStorage.removeItem("wordpressCode");
|
||||
authWindow = utils.popupWindow('html/wordpress-oauth-client.html?client_id=' + WORDPRESS_CLIENT_ID, 'stackedit-wordpress-oauth', 960, 600);
|
||||
authWindow.focus();
|
||||
|
@ -846,7 +846,7 @@
|
||||
<div class="msg-no-publish hide">
|
||||
"<span class="file-title"></span>" is not published yet. <br /> <br />
|
||||
</div>
|
||||
<b>NOTE:</b> You can add publications using "Publish on" sub-menu.
|
||||
<b>NOTE:</b> You can add publications using the <i class="icon-share"></i> <code>Publish on</code> sub-menu.
|
||||
</blockquote>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
|
@ -11,7 +11,7 @@
|
||||
</p>
|
||||
<blockquote>
|
||||
<b>NOTE:</b> You can open any URL within StackEdit using <a
|
||||
href="viewer.html?url=https://raw.github.com/benweet/stackedit/master/README.md"
|
||||
title="Sharing example">viewer.html?url=...</a>
|
||||
href="viewer.html#!url=https://raw.github.com/benweet/stackedit/master/README.md"
|
||||
title="Sharing example"><code>viewer.html#!url=...</code></a>
|
||||
</blockquote>
|
||||
</div>
|
||||
|
@ -15,7 +15,7 @@ define([
|
||||
downloadProvider.importPublic = function(importParameters, callback) {
|
||||
var title = undefined;
|
||||
var content = undefined;
|
||||
var task = new AsyncTask();
|
||||
var task = new AsyncTask(true);
|
||||
task.onRun(function() {
|
||||
var url = importParameters.url;
|
||||
var slashUrl = url.lastIndexOf("/");
|
||||
|
@ -45,7 +45,7 @@ define([
|
||||
}
|
||||
var url = [
|
||||
MAIN_URL,
|
||||
'viewer.html?provider=',
|
||||
'viewer.html#!provider=',
|
||||
provider.providerId
|
||||
];
|
||||
_.each(provider.sharingAttributes, function(attributeName) {
|
||||
|
@ -138,10 +138,6 @@ a {
|
||||
.transition(~"background-color ease-in-out .15s, color ease-in-out .15s, border-color ease-in-out .15s");
|
||||
}
|
||||
|
||||
.close {
|
||||
.transition(opacity ease-in-out .15s);
|
||||
}
|
||||
|
||||
.list-group .nav {
|
||||
border-left: 10px solid @blockquote-border-color;
|
||||
margin-left: 10px;
|
||||
@ -1076,7 +1072,6 @@ ul,ol {
|
||||
font-weight: @close-font-weight;
|
||||
text-shadow: @close-text-shadow;
|
||||
.opacity(.3);
|
||||
.transition(~"opacity ease-in-out .15s");
|
||||
&:before {
|
||||
content: '\d7';
|
||||
}
|
||||
|
@ -11,9 +11,10 @@ define([
|
||||
|
||||
// Return a parameter from the URL
|
||||
utils.getURLParameter = function(name) {
|
||||
var regex = new RegExp(name + "=(.+?)(&|$)");
|
||||
// Parameter can be either a search parameter (&name=...) or a hash fragment parameter (#!name=...)
|
||||
var regex = new RegExp("(?:\\?|\\#\\!|&)" + name + "=(.+?)(?:&|\\#|$)");
|
||||
try {
|
||||
return decodeURIComponent(regex.exec(location.search)[1]);
|
||||
return decodeURIComponent(regex.exec(location.search + location.hash)[1]);
|
||||
}
|
||||
catch(e) {
|
||||
return undefined;
|
||||
|
Loading…
Reference in New Issue
Block a user