// ==UserScript==
// @name TFS Changeset History Helper
// @namespace http://jonas.ninja
// @version 1.1.0
// @description Changeset reference utilities
// @author @_jnblog
// @match http://*/tfs/DefaultCollection/*/_versionControl/*
// @require https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js
// @grant GM_addStyle
// @downloadURL none
// ==/UserScript==
/* jshint -W097 */
/* global $ */
/* jshint asi: true, multistr: true */
'use strict';
waitForKeyElements('.history-result', doEverything, false)
waitForKeyElements(".vc-page-title[title^=Changeset]", addChangesetIdCopyUtilities, true)
$(document).on('mouseenter', '.history-result, .ijg-changeset-id', highlightHistoryResult)
.on('mouseleave', '.history-result, .ijg-changeset-id', unhighlightHistoryResult)
$(document).on('click', 'input.ijg-copy-changeset-id', function clickToCopy(e) {
// if shift is held down, copy a commit message
var optMessage
if (e.ctrlKey) {
optMessage = $(this).closest('.history-result').find('.change-link').text()
optMessage += ' (merge c' + this.value + ' to QA)'
}
copy(this, $(this).next('span.ijg-copy-message'), optMessage)
})
$(document).on('click', 'input.ijg-copy-changeset-page-link', function clickToCopy(e) {
// if shift is held down, copy a commit message
var optMessage
if (e.ctrlKey) {
optMessage = $('.vc-change-summary-comment').text() + ' (merge c' + this.value + ' to QA)'
}
copy(this, $(this).next('span.ijg-copy-message'), optMessage)
})
function doEverything(historyResult) {
historyResult = $(historyResult)
spanifyText(historyResult)
addCopyUtilities(historyResult)
createTaskContainers(historyResult)
//fetchTaskLinks(historyResult)
}
function createTaskContainers(historyResult) {
// makes a positioned div in the right place to hold Task info
var tasks = historyResult.find('.ijg-task-id')
if (tasks.size()) {
// make a container and append rows
var container = $('
')
historyResult.find('.change-link-container').append(container)
tasks.each(function() {
var tasknum = $(this).data('ijgTaskId')
var task = $('