forked from kybersoft/redmine-toggle-formatter
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathredmine_toggl_task_name.user.js
39 lines (37 loc) · 1.8 KB
/
redmine_toggl_task_name.user.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// ==UserScript==
// @name Redmine Toggl task name
// @namespace http://klaska.net
// @version 0.3
// @description Generates task name for Toggl instead of "{Type} #{number}"
// @author Radim Klaška
// @match https://redmine.morpht.com/issues/*
// @downloadURL https://raw.githubusercontent.com/radimklaska/redmine-toggle-formatter/master/redmine_toggl_task_name.user.js
// @updateURL https://raw.githubusercontent.com/radimklaska/redmine-toggle-formatter/master/redmine_toggl_task_name.user.js
// @grant none
// ==/UserScript==
var s = document.createElement('script');
s.type = 'text/javascript';
s.textContent = '(' + function() {
var title = document.querySelector('#main #content .subject h3').innerHTML;
var issue = document.querySelector('#main #content > h2');
var type = issue.innerHTML.split('#')[0].trim();
var text = '#' + issue.innerHTML.split('#')[1] + ' ' + title + ' (' + type+ ')';
// Chnage the main header on Issue page.
document.body.querySelector('#main #content > h2').innerHTML = text;
// Change window title.
// Works great with https://chrome.google.com/webstore/detail/copy-all-urls/djdmadneanknadilpjiknlnanaolmbfk
document.title = text;
// Prevent duplicate title in Toggle button
document.body.querySelector('#main #content .subject h3').innerHTML = '(' + type + ')';
// Add one-click text selection
issue.onclick = function() {
var selection = window.getSelection();
var range = document.createRange();
range.selectNodeContents(this);
selection.removeAllRanges();
selection.addRange(range);
};
} + ')();';
// Inject Script. Can't use jQuery yet, because the page is not
// accessible from Tampermonkey
document.getElementsByTagName("head")[0].appendChild(s);