NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name pokus
// @description script for qbsw
// @copyright Year, Author (Author Website)
// @license MIT
// @version 0.2
// @updateURL https://openuserjs.org/meta/juraj222/pokus.meta.js
// @author juraj222
// @include *
// @grant GM_setValue
// @grant GM_getValue
// @match https://jira.qbsw.sk/*
// @match https://q-timer.com/*
// ==/UserScript==
if (window.location.pathname.includes('/browse')) {
var myDiv = document.createElement('DIV');
var myTable = document.createElement('TABLE');
myTable.id = "myTable";
myTable.setAttribute("border", 0);
var row = myTable.insertRow(0);
var button = document.createElement("BUTTON"); // Create a <button> element
var t = document.createTextNode("Copy new task"); // Create a text node
button.appendChild(t); // Append the text to <button>
button.style = "width:100%";
//button.style = "top:0;right:50%;position:absolute;z-index: 9999"
//document.body.appendChild(button);
var cell1 = row.insertCell(0);
cell1.colSpan = 2
cell1.appendChild(button);
row = myTable.insertRow(1);
var button2 = document.createElement("BUTTON"); // Create a <button> element
t = document.createTextNode("Log time"); // Create a text node
button2.appendChild(t); // Append the text to <button>
button2.style = "width:100%";
//button2.style = "top:30px;right:55%;position:absolute;z-index: 9999";
//document.body.appendChild(button2);
cell1 = row.insertCell(0);
cell1.appendChild(button2);
var button3 = document.createElement("BUTTON"); // Create a <button> element
t = document.createTextNode("Reset time"); // Create a text node
button3.appendChild(t); // Append the text to <button>
button3.style = "width:100%";
//button3.style = "top:30px;right:50%;position:absolute;z-index: 9999";
//document.body.appendChild(button3);
cell1 = row.insertCell(1);
cell1.appendChild(button3);
myDiv.style = "top:0;left: 50%;transform: translateX(-50%);position:absolute;z-index: 9999;background-color: black;"
myDiv.appendChild(myTable);
document.body.appendChild(myDiv);
button.onclick = function sync() {
var pageContent = document.getElementById('key-val').innerHTML;
GM_setValue("page1content", pageContent);
console.log(pageContent);
}
button2.onclick = function setTimeSpent() {
calcSpentTime();
}
button3.onclick = function setTimeSpent() {
var currentdate = new Date();
GM_setValue("time", currentdate.getHours() + ":" + currentdate.getMinutes());
}
}
function calcSpentTime() {
if (GM_getValue("time") !== null) {
console.log(GM_getValue("time"));
var time = GM_getValue("time").split(":");
var hr = parseInt(time[0]);
var mn = parseInt(time[1]);
var currentdate = new Date();
if (currentdate.getMinutes() - mn < 0) {
hr += 1;
mn = 60 - mn + currentdate.getMinutes();
console.log(mn);
}
else {
mn = currentdate.getMinutes() - mn;
}
console.log("spent time: " + (currentdate.getHours() - hr).toString() + "h " + (mn).toString() + "m");
if (document.getElementById('log-work-time-logged') !== null) {
document.getElementById('log-work-time-logged').value = (currentdate.getHours() - hr).toString() + "h " + (mn).toString() + "m";
var original = document.getElementById('log-work-date-logged-date-picker').value.split(" ");
var hourOfDay = parseInt(GM_getValue("time").split(":")[0]);
var minute = parseInt(GM_getValue("time").split(":")[1]);
var time_new = ((hourOfDay > 12) ? hourOfDay % 12 : hourOfDay) + ":" + (minute < 10 ? ("0" + minute) : minute) + " " + ((hourOfDay >= 12) ? "PM" : "AM");
document.getElementById('log-work-date-logged-date-picker').value = original[0] + " " + time_new.toString();
}
}
return (currentdate.getHours() - hr).toString() + "h " + (mn).toString() + "m";
}
timeSpent();
setInterval(function () {
timeSpent() // this will run after every 5 seconds
}, 50000);
function timeSpent() {
if (window.location.pathname.includes('/browse')) {
var iDiv;
if (document.getElementById('mojDiv') === null) {
var table = document.getElementById('myTable');
iDiv = document.createElement('div');
iDiv.id = "mojDiv";
iDiv.style = "color: white; padding: 0 10px";
// document.body.appendChild(iDiv);
var row = myTable.insertRow(2);
var cell1 = row.insertCell(0);
cell1.colSpan = 2;
cell1.appendChild(iDiv);
}
else {
iDiv = document.getElementById('mojDiv');
}
iDiv.innerHTML = "current task: <b>" + GM_getValue("page1content").toString() + "</b> spent time: <b>" + calcSpentTime() + "</b>";
}
}
if (window.location.pathname.includes('/home')) {
var myDivTimer = document.createElement('DIV');
var myTableTimer = document.createElement('TABLE');
myTableTimer.id = "myTable";
myTableTimer.setAttribute("border", 1);
var rowTimer = myTableTimer.insertRow(0);
var btn = document.createElement("BUTTON"); // Create a <button> element
t = document.createTextNode("Start new task"); // Create a text node
btn.appendChild(t); // Append the text to <button>
btn.style = "width:100%; background-color: #00a47e; /* Green */ border: none; color: white; padding: 15px 32px; text-align: center; text-decoration: none; display: inline-block; font-size: 16px;";
cell1 = rowTimer.insertCell(0);
cell1.appendChild(btn);
var btn2 = document.createElement("BUTTON2"); // Create a <button> element
t = document.createTextNode("Change task"); // Create a text node
btn2.appendChild(t); // Append the text to <button>
btn2.style = "width:100%; background-color: #00a47e; /* Green */ border: none; color: white; padding: 15px 32px; text-align: center; text-decoration: none; display: inline-block; font-size: 16px;";
cell1 = rowTimer.insertCell(1);
cell1.appendChild(btn2);
myDivTimer.style = "top:0;left: 50%;transform: translateX(-50%);position:absolute;z-index: 9999;"
myDivTimer.appendChild(myTableTimer);
document.body.appendChild(myDivTimer);
// var phase = localStorage.getItem("page1content");
// console.log(phase);
btn.onclick = function copyIt() {
var phase = GM_getValue("page1content");
console.log(phase);
console.log(document.getElementsByName("timesheetPhase")[0].value);
document.getElementsByName("timesheetPhase")[0].value = phase;
console.log(document.getElementsByName("timesheetNote")[0].value);
document.getElementsByName("timesheetNote")[0].value = "";
var nextButton = document.getElementsByName("timesheetPhase")[0];
triggerEvent(nextButton, 'keyup', 13); // simulate mouse/enter key press
setTimeout(() => document.getElementsByName("newButton")[0].click(), 100);
}
btn2.onclick = function changeIt() {
var phase = GM_getValue("page1content");
console.log(phase);
console.log(document.getElementsByName("timesheetPhase")[0].value);
document.getElementsByName("timesheetPhase")[0].value = phase;
console.log(document.getElementsByName("timesheetNote")[0].value);
document.getElementsByName("timesheetNote")[0].value = "";
var nextButton = document.getElementsByName("timesheetPhase")[0];
triggerEvent(nextButton, 'keyup', 13); // simulate mouse/enter key press
setTimeout(() => document.getElementsByName("changeButton")[0].click(), 100);
}
}
function triggerEvent(el, type, keyCode) {
// modern browsers, IE9+
var e = document.createEvent('HTMLEvents');
e.keyCode = keyCode;
e.initEvent(type, false, true);
el.dispatchEvent(e);
}