Merge branch 'pre' of insomnia247.nl:/home/benweet/stackedit into pre
This commit is contained in:
commit
0e64598127
@ -91,7 +91,6 @@ define([
|
|||||||
var isScrollPreview = false;
|
var isScrollPreview = false;
|
||||||
var isEditorMoving = false;
|
var isEditorMoving = false;
|
||||||
var isPreviewMoving = false;
|
var isPreviewMoving = false;
|
||||||
var scrollingHelper = $('<div>');
|
|
||||||
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;
|
var sectionIndex;
|
||||||
@ -108,6 +107,34 @@ define([
|
|||||||
return destSection.startOffset + destSection.height * posInSection;
|
return destSection.startOffset + destSection.height * posInSection;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var timeoutId;
|
||||||
|
var currentEndCb;
|
||||||
|
function animate(elt, startValue, endValue, stepCb, endCb) {
|
||||||
|
if(currentEndCb) {
|
||||||
|
clearTimeout(timeoutId);
|
||||||
|
currentEndCb();
|
||||||
|
}
|
||||||
|
currentEndCb = endCb;
|
||||||
|
var diff = endValue - startValue;
|
||||||
|
var startTime = Date.now();
|
||||||
|
function tick() {
|
||||||
|
var currentTime = Date.now();
|
||||||
|
var progress = (currentTime - startTime) / 200;
|
||||||
|
if(progress < 1) {
|
||||||
|
var scrollTop = startValue + diff * Math.cos((1 - progress) * Math.PI / 2 );
|
||||||
|
elt.scrollTop = scrollTop;
|
||||||
|
stepCb(scrollTop);
|
||||||
|
timeoutId = setTimeout(tick, 1);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
currentEndCb = undefined;
|
||||||
|
elt.scrollTop = endValue;
|
||||||
|
endCb();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tick();
|
||||||
|
}
|
||||||
|
|
||||||
var doScrollSync = _.throttle(function() {
|
var doScrollSync = _.throttle(function() {
|
||||||
if(!isPreviewVisible || mdSectionList.length === 0 || mdSectionList.length !== htmlSectionList.length) {
|
if(!isPreviewVisible || mdSectionList.length === 0 || mdSectionList.length !== htmlSectionList.length) {
|
||||||
return;
|
return;
|
||||||
@ -134,24 +161,12 @@ define([
|
|||||||
lastPreviewScrollTop = previewScrollTop;
|
lastPreviewScrollTop = previewScrollTop;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
scrollingHelper.stop('scrollSyncFx', true).css('value', 0).animate({
|
animate($previewElt[0], previewScrollTop, destScrollTop, function(currentScrollTop) {
|
||||||
value: destScrollTop - previewScrollTop
|
isPreviewMoving = true;
|
||||||
}, {
|
lastPreviewScrollTop = currentScrollTop;
|
||||||
easing: 'easeOutSine',
|
}, function() {
|
||||||
duration: 200,
|
isPreviewMoving = false;
|
||||||
queue: 'scrollSyncFx',
|
});
|
||||||
step: function(now) {
|
|
||||||
isPreviewMoving = true;
|
|
||||||
lastPreviewScrollTop = previewScrollTop + now;
|
|
||||||
$previewElt.scrollTop(lastPreviewScrollTop);
|
|
||||||
},
|
|
||||||
done: function() {
|
|
||||||
setTimeout(function() {
|
|
||||||
isPreviewMoving = false;
|
|
||||||
}, 10);
|
|
||||||
},
|
|
||||||
}).dequeue('scrollSyncFx');
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else if(isScrollPreview === true) {
|
else if(isScrollPreview === true) {
|
||||||
if(Math.abs(previewScrollTop - lastPreviewScrollTop) <= 9) {
|
if(Math.abs(previewScrollTop - lastPreviewScrollTop) <= 9) {
|
||||||
@ -170,23 +185,12 @@ define([
|
|||||||
lastEditorScrollTop = editorScrollTop;
|
lastEditorScrollTop = editorScrollTop;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
scrollingHelper.stop('scrollSyncFx', true).css('value', 0).animate({
|
animate($editorElt[0], editorScrollTop, destScrollTop, function(currentScrollTop) {
|
||||||
value: destScrollTop - editorScrollTop
|
isEditorMoving = true;
|
||||||
}, {
|
lastEditorScrollTop = currentScrollTop;
|
||||||
easing: 'easeOutSine',
|
}, function() {
|
||||||
duration: 200,
|
isEditorMoving = false;
|
||||||
queue: 'scrollSyncFx',
|
});
|
||||||
step: function(now) {
|
|
||||||
isEditorMoving = true;
|
|
||||||
lastEditorScrollTop = editorScrollTop + now;
|
|
||||||
$editorElt.scrollTop(lastEditorScrollTop);
|
|
||||||
},
|
|
||||||
done: function() {
|
|
||||||
setTimeout(function() {
|
|
||||||
isEditorMoving = false;
|
|
||||||
}, 10);
|
|
||||||
},
|
|
||||||
}).dequeue('scrollSyncFx');
|
|
||||||
}
|
}
|
||||||
}, 100);
|
}, 100);
|
||||||
|
|
||||||
|
@ -108,6 +108,7 @@ define([
|
|||||||
'https://www.googleapis.com/auth/photos'
|
'https://www.googleapis.com/auth/photos'
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
var oauthIframes = [];
|
||||||
function authenticate(task, permission, accountId) {
|
function authenticate(task, permission, accountId) {
|
||||||
var authorizationMgr = authorizationMgrMap[accountId];
|
var authorizationMgr = authorizationMgrMap[accountId];
|
||||||
if(!authorizationMgr) {
|
if(!authorizationMgr) {
|
||||||
@ -161,6 +162,16 @@ define([
|
|||||||
immediate: immediate,
|
immediate: immediate,
|
||||||
authuser: immediate === false ? '' : authuser
|
authuser: immediate === false ? '' : authuser
|
||||||
}, function(authResult) {
|
}, function(authResult) {
|
||||||
|
|
||||||
|
// Hack to clean window from old oauth iframes
|
||||||
|
authorizationMgr.$oauthIframe && authorizationMgr.$oauthIframe.remove();
|
||||||
|
var currentOauthIframes = _.filter(document.querySelectorAll('iframe'), function(iframe) {
|
||||||
|
var src = iframe.getAttribute('src');
|
||||||
|
return src && src.indexOf('https://accounts.google.com/o/oauth2/auth') === 0;
|
||||||
|
});
|
||||||
|
authorizationMgr.$oauthIframe = $(_.difference(currentOauthIframes, oauthIframes));
|
||||||
|
oauthIframes = currentOauthIframes;
|
||||||
|
|
||||||
newToken = gapi.auth.getToken();
|
newToken = gapi.auth.getToken();
|
||||||
gapi.auth.setToken(currentToken);
|
gapi.auth.setToken(currentToken);
|
||||||
if(!authResult || authResult.error) {
|
if(!authResult || authResult.error) {
|
||||||
|
Loading…
Reference in New Issue
Block a user