// ==UserScript==
// @name Pocket
// @version 0.2.1
// @description try to take over the world!
// @author Cáno
// @match https://getpocket.com/a/queue/list/*
// @grant unsafeWindow, chrome, notifications
// @require http://code.jquery.com/jquery-latest.js
// @namespace http://tampermonkey.net/
// @downloadURL none
// ==/UserScript==
//todo:
//move open all links to the right
//improve "archive all links"
(function() {
'use strict';
unsafeWindow.openLinks = function() {
var els = $('.original_url');
Array.prototype.forEach.call(els, function(el) {
if ($(el).parent().parent().parent().parent('.item:not(.removed)').length === 0) {
return;
}
var address = el.href.substr(el.href.indexOf('redirect?url=') + 13);
address = address.substr(0, address.indexOf('&formCheck='));
address = decodeURIComponent(address);
// console.log(address);
unsafeWindow.open(address,'_blank');
});
};
document.getElementsByClassName("queue_secondarynav_actions")[0].childNodes[1].innerHTML = document.getElementsByClassName("queue_secondarynav_actions")[0].childNodes[1].innerHTML + '
Open all links';
unsafeWindow.archiveLinks = function() {
var els = $('li.item:not(.removed) .action_mark');
console.log(els.length);
if (els.length > 0) {
els[0].childNodes[0].click();
setTimeout(unsafeWindow.archiveLinks, 160);
}
// Array.prototype.forEach.call(els, function(el) {
// el.childNodes[0].click();
// });
};
var html = document.getElementsByClassName("queue_secondarynav_actions")[0].childNodes[1].innerHTML;
setInterval( doSomething, 2000 );
function doSomething() {
var state = document.readyState;
if (state == 'interactive') {
} else if (state == 'complete') {
var count = $('.original_url').parent().parent().parent().parent('.item:not(.removed)').length;
document.getElementsByClassName("queue_secondarynav_actions")[0].childNodes[1].innerHTML = html + 'Archive all links (' + count + ')';
}
}
function triggerMouseEvent (node, eventType) {
var clickEvent = document.createEvent('MouseEvents');
clickEvent.initEvent (eventType, true, true);
node.dispatchEvent (clickEvent);
}
function archiveOnClick(e) {
if (e.which != 2) return false;
// console.log($(e.target).parent().parent().parent().find('ul.buttons li.action_mark a'));
$(e.target).parent().parent().parent().find('ul.buttons li.action_mark a')[0].click();
}
setInterval( doSomething2, 2000 );
function doSomething2() {
$('a.original_url').off('mouseup', archiveOnClick);
$('a.original_url').on('mouseup', archiveOnClick);
}
})();