1
0
mirror of https://github.com/chylex/TweetDuck.git synced 2025-05-28 08:34:06 +02:00

Rewrite extra mouse button handling and fix skipping 'Back to Tweet'

Closes 
This commit is contained in:
chylex 2016-10-09 15:49:08 +02:00
parent 25fa3cefab
commit a4006deb8c

View File

@ -379,32 +379,39 @@
// //
// Block: Support for extra mouse buttons. // Block: Support for extra mouse buttons.
// //
(function(){
var tryClickSelector = function(selector, parent){
return $(selector, parent).click().length;
};
var tryCloseModal = function(){
var modal = $("#open-modal");
return modal.is(":visible") && tryClickSelector("a[rel=dismiss]", modal);
};
var tryCloseHighlightedColumn = function(){
if (highlightedColumnEle){
var column = highlightedColumnEle.closest(".js-column");
return (column.is(".is-shifted-2") && tryClickSelector(".js-tweet-social-proof-back", column)) || (column.is(".is-shifted-1") && tryClickSelector(".js-column-back", column));
}
};
window.TDGF_onMouseClickExtra = function(button){ window.TDGF_onMouseClickExtra = function(button){
if (button === 1){ // back button if (button === 1){ // back button
var inlineComposer, drawerComposer, modal; tryCloseModal() ||
tryClickSelector(".js-inline-compose-close") ||
if ((modal = $("#open-modal")).is(":visible")){ tryCloseHighlightedColumn() ||
modal.find("a[rel=dismiss]").click(); tryClickSelector(".js-app-content.is-open .js-drawer-close:visible") ||
} tryClickSelector(".is-shifted-2 .js-tweet-social-proof-back") ||
else if ((inlineComposer = $(".js-inline-compose-close")).length === 1){
inlineComposer.click();
}
else if (highlightedColumnEle && highlightedColumnEle.closest(".js-column").is(".is-shifted-1")){
highlightedColumnEle.find(".js-column-back").first().click();
}
else if ((drawerComposer = $(".js-app-content.is-open .js-drawer-close:visible")).length === 1){
drawerComposer.click();
}
else{
$(".js-column-back").click(); $(".js-column-back").click();
} }
}
else if (button === 2){ // forward button else if (button === 2){ // forward button
if (highlightedTweetEle){ if (highlightedTweetEle){
highlightedTweetEle.children().first().click(); highlightedTweetEle.children().first().click();
} }
} }
}; };
})();
// //
// Block: Fix scheduled tweets not showing up sometimes. // Block: Fix scheduled tweets not showing up sometimes.