Toodledoでタスクシュートするブックマークレット "TooleChute" に発動条件にCalendarを加えた改良版
javascript:(function(e,c){var b=e.getElementsByTagName("head")[0];var a=e.createElement("script");a.setAttribute("src","//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js");a.addEventListener("load",function(){var d=e.createElement("script");d.textContent="jQuery.noConflict();("+c.toString()+")(jQuery);";b.appendChild(d)},false);b.appendChild(a)})(document,function(e){var c=function(){var g=e("#head").width();var h=e('<style type="text/css">#tc-wrapper {position: relative; top: 0px; left: 0px; width: '+g+"px; height: 35px; margin-top: 1px; margin-bottom: 1px;} #tc-hoge {display: -webkit-box; display: -moz-box; position: relative; top: 0px; left: 0px; width: 100%; height: 21px; background-color: #D8D8D1; margin-top: 1px; margin-bottom: 1px; border-bottom: 1px solid #999; text-align: center; font-size: 12px;} #tc-sec-a {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 1; -moz-box-ordinal-group: 1; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-b {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 2; -moz-box-ordinal-group: 2; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-c {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 3; -moz-box-ordinal-group: 3; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-d {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 4; -moz-box-ordinal-group: 4; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-e {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 5; -moz-box-ordinal-group: 5; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-f {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 6; -moz-box-ordinal-group: 6; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-g {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 7; -moz-box-ordinal-group: 7; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-h {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 8; -moz-box-ordinal-group: 8; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-i {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 9; -moz-box-ordinal-group: 9; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-j {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 10; -moz-box-ordinal-group: 10; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-k {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 11; -moz-box-ordinal-group: 11; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-l {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 12; -moz-box-ordinal-group: 12; padding-top: 5px;} #tc-buri {position: relative; top: 0px; left: 0px; width: 100%; height: 12px; background-color: #eeeeee; margin-bottom: 1px;} #tc-bar-a {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-b {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-c {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-d {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-e {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-f {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-g {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-h {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-i {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-j {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-k {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-l {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-now {position: absolute; z-index: 1; top: 0px; left: 0px; width: 0px; height: 12px; font-size: 10px; background-color: #eeeeee; color: #000000; text-align: right;} #tc-bar-end {position: absolute; z-index: 1; top: 0px; left: 0px; width: 0px; height: 12px; font-size: 10px; background-color: #eeeeee; color: #000000; text-align: left;} </style>");h.appendTo("body")};var a=function(){var g=e('<div id="tc-wrapper"></div>').hide();var h=e('<div id="tc-hoge"></div>');g.append(h);h.append('<div id="tc-sec-a">A=0:00</div>');h.append('<div id="tc-sec-b">B=0:00</div>');h.append('<div id="tc-sec-c">C=0:00</div>');h.append('<div id="tc-sec-d">D=0:00</div>');h.append('<div id="tc-sec-e">E=0:00</div>');h.append('<div id="tc-sec-f">F=0:00</div>');h.append('<div id="tc-sec-g">G=0:00</div>');h.append('<div id="tc-sec-h">H=0:00</div>');h.append('<div id="tc-sec-i">I=0:00</div>');h.append('<div id="tc-sec-j">J=0:00</div>');h.append('<div id="tc-sec-k">K=0:00</div>');h.append('<div id="tc-sec-l">L=0:00</div>');var i=e('<div id="tc-buri"></div>');h.after(i);i.append('<div id="tc-bar-now"></div>');i.append('<div id="tc-bar-a"></div>');i.append('<div id="tc-bar-b"></div>');i.append('<div id="tc-bar-c"></div>');i.append('<div id="tc-bar-d"></div>');i.append('<div id="tc-bar-e"></div>');i.append('<div id="tc-bar-f"></div>');i.append('<div id="tc-bar-g"></div>');i.append('<div id="tc-bar-h"></div>');i.append('<div id="tc-bar-i"></div>');i.append('<div id="tc-bar-j"></div>');i.append('<div id="tc-bar-k"></div>');i.append('<div id="tc-bar-l"></div>');i.append('<div id="tc-bar-end"></div>');e("#colhead").before(g);return g};function b(){return e("#vb8").hasClass("selected")||e("#vb21").hasClass("selected")||e("#vb4").hasClass("selected")&&e(".tabon").text().match(/(Today|Tomorrow)/)}function d(){if(!b()){f.hide();window.setTimeout(function(){d()},1000);return}var q={A:0,B:0,C:0,D:0,E:0,F:0,G:0,H:0,I:0,J:0,K:0,L:0};e(".row").each(function(){var z=e(this).find("span[id^=con]").text().toUpperCase();if(z.match(/^([A-L])/)){var C=RegExp.$1;e("#tc-sec-h").css("border-right","none");e("#tc-sec-i").hide();e("#tc-sec-j").hide();e("#tc-sec-k").hide();e("#tc-sec-l").hide();var B=e(this).find("span[class~=len]").text().split(" ");if((B.length>1)&&(B[0].search(/^none/)==-1)){var A=B[0];var D=B[1];if(D.match(/^hour/)){A=A*60}if(!e(this).hasClass("rowcomp")){q[C]=parseInt(q[C],10)+parseInt(A,10)}}}});var i=new Date();var w=i.getMonth()+1;var y=i.getDate();var l=("0"+i.getHours()).slice(-2);var x=("0"+i.getMinutes()).slice(-2);var t=("0"+i.getSeconds()).slice(-2);var o=e("#tc-wrapper").width();var h=false;var p=6;var u=0;if(parseInt(l,10)<parseInt(p,10)){u=(o*(((24+parseInt(l,10)-p)*60)+parseInt(x,10)))/(24*60);i.setDate(y-1);w=i.getMonth()+1;y=i.getDate();h=true}else{u=(o*(((l-p)*60)+parseInt(x,10)))/(24*60)}Math.round(u);var s=e(".tabon").text();var r=s.match(/[0-9]+/g);var g=false;if(e("#tabs").text().match(/(Today|今日)/i)){if(!h&&(s.match(/Today/i)||s.match("今日"))){g=true}else{if(h&&(s.match(/Yesterday/i)||s.match("昨日"))){g=true}}}else{if(r){if(r.length==2){if((parseInt(r[0],10)==parseInt(w,10))&&(parseInt(r[1],10)==parseInt(y,10))){g=true}}else{if(parseInt(r[0],10)==parseInt(y,10)){g=true}}}}if(g){e("#tc-bar-now").text(l+":"+x).width(u).css("border-right","1px solid #000")}else{e("#tc-bar-now").text("").width(0).css("border-right","none")}var n=e("#tc-bar-now").width()+1;var v=0;e.each(q,function(C,E){var A=parseInt(E/60,10);var B=("0"+(E-(A*60))).slice(-2);e("#tc-sec-"+C.toLowerCase()).text(C+"="+A+":"+B);if(E>0){var D=Math.round((o*E)/(24*60));var F;var z=3*60;if(E>z){F="#ee99bc"}else{if(E>(z*0.9)){F="#ffd900"}else{F="#a7be53"}}e("#tc-bar-"+C.toLowerCase()).css("left",n).width(D).css("background-color",F);n+=D+1;v+=E}else{e("#tc-bar-"+C.toLowerCase()).width(0)}});var k;if(g){k=i}else{k=new Date();k.setHours(p);k.setMinutes(0)}k.setMinutes(k.getMinutes()+v);var j=("0"+k.getHours()).slice(-2);var m=("0"+k.getMinutes()).slice(-2);e("#tc-bar-end").css("left",n).text(j+":"+m);if(b()){f.show()}else{f.hide()}window.setTimeout(function(){d()},1000)}c();var f=a();d()})()
(function (e, c)
{
var b = e.getElementsByTagName("head")[0];
var a = e.createElement("script");
a.setAttribute("src", "//ajax.googleapis.com/ajax/libs/jquery/1.8.22/jquery.min.js");
a.addEventListener("load", function ()
{
var d = e.createElement("script");
d.textContent = "jQuery.noConflict();(" + c.toString() + ")(jQuery);";
b.appendChild(d)
}, false);
b.appendChild(a)
})(document, function (e)
{
var c = function ()
{
var g = e("#head").width();
var h = e('<style type="text/css">#tc-wrapper {position: relative; top: 0px; left: 0px; width: ' + g + "px; height: 35px; margin-top: 1px; margin-bottom: 1px;} #tc-hoge {display: -webkit-box; display: -moz-box; position: relative; top: 0px; left: 0px; width: 100%; height: 21px; background-color: #D8D8D1; margin-top: 1px; margin-bottom: 1px; border-bottom: 1px solid #999; text-align: center; font-size: 12px;} #tc-sec-a {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 1; -moz-box-ordinal-group: 1; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-b {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 2; -moz-box-ordinal-group: 2; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-c {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 3; -moz-box-ordinal-group: 3; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-d {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 4; -moz-box-ordinal-group: 4; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-e {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 5; -moz-box-ordinal-group: 5; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-f {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 6; -moz-box-ordinal-group: 6; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-g {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 7; -moz-box-ordinal-group: 7; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-h {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 8; -moz-box-ordinal-group: 8; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-i {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 9; -moz-box-ordinal-group: 9; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-j {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 10; -moz-box-ordinal-group: 10; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-k {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 11; -moz-box-ordinal-group: 11; border-right: 1px solid #FFF; padding-top: 5px;} #tc-sec-l {-webkit-box-flex: 1; -moz-box-flex: 1; background: transparent; -webkit-box-ordinal-group: 12; -moz-box-ordinal-group: 12; padding-top: 5px;} #tc-buri {position: relative; top: 0px; left: 0px; width: 100%; height: 12px; background-color: #eeeeee; margin-bottom: 1px;} #tc-bar-a {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-b {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-c {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-d {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-e {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-f {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-g {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-h {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-i {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-j {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-k {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-l {position: absolute; z-index: 0; top: 0px; left: 0px; width: 0%; height: 12px; font-size: 10px;} #tc-bar-now {position: absolute; z-index: 1; top: 0px; left: 0px; width: 0px; height: 12px; font-size: 10px; background-color: #eeeeee; color: #000000; text-align: right;} #tc-bar-end {position: absolute; z-index: 1; top: 0px; left: 0px; width: 0px; height: 12px; font-size: 10px; background-color: #eeeeee; color: #000000; text-align: left;} </style>");
h.appendTo("body")
};
var a = function ()
{
var g = e('<div id="tc-wrapper"></div>').hide();
var h = e('<div id="tc-hoge"></div>');
g.append(h);
h.append('<div id="tc-sec-a">A=0:00</div>');
h.append('<div id="tc-sec-b">B=0:00</div>');
h.append('<div id="tc-sec-c">C=0:00</div>');
h.append('<div id="tc-sec-d">D=0:00</div>');
h.append('<div id="tc-sec-e">E=0:00</div>');
h.append('<div id="tc-sec-f">F=0:00</div>');
h.append('<div id="tc-sec-g">G=0:00</div>');
h.append('<div id="tc-sec-h">H=0:00</div>');
h.append('<div id="tc-sec-i">I=0:00</div>');
h.append('<div id="tc-sec-j">J=0:00</div>');
h.append('<div id="tc-sec-k">K=0:00</div>');
h.append('<div id="tc-sec-l">L=0:00</div>');
var i = e('<div id="tc-buri"></div>');
h.after(i);
i.append('<div id="tc-bar-now"></div>');
i.append('<div id="tc-bar-a"></div>');
i.append('<div id="tc-bar-b"></div>');
i.append('<div id="tc-bar-c"></div>');
i.append('<div id="tc-bar-d"></div>');
i.append('<div id="tc-bar-e"></div>');
i.append('<div id="tc-bar-f"></div>');
i.append('<div id="tc-bar-g"></div>');
i.append('<div id="tc-bar-h"></div>');
i.append('<div id="tc-bar-i"></div>');
i.append('<div id="tc-bar-j"></div>');
i.append('<div id="tc-bar-k"></div>');
i.append('<div id="tc-bar-l"></div>');
i.append('<div id="tc-bar-end"></div>');
e("#colhead").before(g);
return g;
};
function b()
{
return ("#vb8").hasClass("selected") || e("#vb21").hasClass("selected") || e("#vb4").hasClass("selected") && e(".tabon").text().match(/(Today|Tomorrow)/)
}
function d()
{
if (!b()) {
f.hide();
window.setTimeout(function ()
{
d()
}, 1000);
return
}
var q = {
A : 0, B : 0, C : 0, D : 0, E : 0, F : 0, G : 0, H : 0, I : 0, J : 0, K : 0, L : 0
};
e(".row").each(function ()
{
var z = e(this).find("span[id^=con]").text().toUpperCase();
if (z.match(/^([A-L])/))
{
var C = RegExp.$1;
e("#tc-sec-h").css("border-right", "none");
e("#tc-sec-i").hide();
e("#tc-sec-j").hide();
e("#tc-sec-k").hide();
e("#tc-sec-l").hide();
var B = e(this).find("span[class~=len]").text().split(" ");
if ((B.length > 1) && (B[0].search(/^none/) ==- 1))
{
var A = B[0];
var D = B[1];
if (D.match(/^hour/)) {
A = A * 60
}
if (!e(this).hasClass("rowcomp")) {
q[C] = parseInt(q[C], 10) + parseInt(A, 10);
}
}
}
});
var i = new Date();
var w = i.getMonth() + 1;
var y = i.getDate();
var l = ("0" + i.getHours()).slice(-2);
var x = ("0" + i.getMinutes()).slice(-2);
var t = ("0" + i.getSeconds()).slice(-2);
var o = e("#tc-wrapper").width();
var h = false;
var p = 6;
var u = 0;
if (parseInt(l, 10) < parseInt(p, 10))
{
u = (o * (((24 + parseInt(l, 10) - p) * 60) + parseInt(x, 10))) / (24 * 60);
i.setDate(y - 1);
w = i.getMonth() + 1;
y = i.getDate();
h = true
}
else {
u = (o * (((l - p) * 60) + parseInt(x, 10))) / (24 * 60)
}
Math.round(u);
var s = e(".tabon").text();
var r = s.match(/[0-9]+/g);
var g = false;
if (e("#tabs").text().match(/(Today|今日)/i))
{
if (!h && (s.match(/Today/i) || s.match("今日"))) {
g = true
}
else {
if (h && (s.match(/Yesterday/i) || s.match("昨日"))) {
g = true;
}
}
}
else
{
if (r)
{
if (r.length == 2)
{
if ((parseInt(r[0], 10) == parseInt(w, 10)) && (parseInt(r[1], 10) == parseInt(y,
10))) {
g = true;
}
}
else {
if (parseInt(r[0], 10) == parseInt(y, 10)) {
g = true;
}
}
}
}
if (g) {
e("#tc-bar-now").text(l + ":" + x).width(u).css("border-right", "1px solid #000")
}
else {
e("#tc-bar-now").text("").width(0).css("border-right", "none")
}
var n = e("#tc-bar-now").width() + 1;
var v = 0;
e.each(q, function (C, E)
{
var A = parseInt(E / 60, 10);
var B = ("0" + (E - (A * 60))).slice(-2);
e("#tc-sec-" + C.toLowerCase()).text(C + "=" + A + ":" + B);
if (E > 0)
{
var D = Math.round((o * E) / (24 * 60));
var F;
var z = 3 * 60;
if (E > z) {
F = "#ee99bc"
}
else {
if (E > (z * 0.9)) {
F = "#ffd900"
}
else {
F = "#a7be53";
}
}
e("#tc-bar-" + C.toLowerCase()).css("left", n).width(D).css("background-color", F);
n += D + 1;
v += E
}
else {
e("#tc-bar-" + C.toLowerCase()).width(0)
}
});
var k;
if (g) {
k = i
}
else {
k = new Date();
k.setHours(p);
k.setMinutes(0)
}
k.setMinutes(k.getMinutes() + v);
var j = ("0" + k.getHours()).slice(-2);
var m = ("0" + k.getMinutes()).slice(-2);
e("#tc-bar-end").css("left", n).text(j + ":" + m);
if (b()) {
f.show()
}
else {
f.hide()
}
window.setTimeout(function ()
{
d()
}, 1000)
}
c();
var f = a();
d()
});