Copy multiple Redmine URL links
// ==UserScript==
// @name Redmine helper buttons: List page
// @namespace Redmine
// @icon https://dev.sun-asterisk.com/favicon.ico?1528612569
// @description Copy multiple Redmine URL links
// @run-at document-start
// @match *://dev.sun-asterisk.com/projects/*
// @match *://*redmine.sun-asterisk.vn/projects/*
// @grant GM_setClipboard
// @grant GM_notification
// @version 1.1.1
// ==/UserScript==
document.addEventListener("DOMContentLoaded", function (event) {
var host = location.protocol + '//' + location.host;
$('#query_form_with_buttons p.buttons').append('<a class="icon icon-copy ticket-urls" href="javascript:void(0)">Copy URLs</a>')
.append('<a class="icon icon-copy hide-sidebar" href="javascript:void(0)">Hide sidebar</a>');
$('.ticket-urls').on('click', function () {
var ticketUrls = [];
$('input:checkbox[name="ids[]"]:checked').each(function () {
ticketUrls.push(host + $(this).closest('tr').find('td.id a').attr('href'));
});
var joinedUrls = ticketUrls.join("\n");
if (joinedUrls) {
GM_setClipboard(joinedUrls);
GM_notification ( {title: 'Redmine URL copied', text: joinedUrls, image: 'https://dev.sun-asterisk.com/favicon.ico?1528612569'} );
}
});
$('.hide-sidebar').on('click', function () {
var sidebar = $('#sidebar')
content = $('#content');
if (sidebar.is(':visible')) {
sidebar.hide();
$('#content').css('width', '100%');
} else {
sidebar.show();
$('#content').css('width', '');
}
});
$('table.list td.parent a').each(function () { $(this).text($(this).prop('title')); $(this).parent('td').css('text-align', 'left')});
});