// ==UserScript== // @name PlatformUITriageHelper // @namespace http://www.eclipse.org/eclipse/platform-ui/greasemonkey // @description Helps triaging bugs for Platform/UI // @include https://bugs.eclipse.org/bugs/show_bug.cgi?id=* // @grant GM_getValue // @grant GM_setValue // @grant GM_xmlhttpRequest // ==/UserScript== // Copyright (c) 2000, 2013 IBM Corporation and others. // All rights reserved. This program and the accompanying materials // are made available under the terms of the Eclipse Public License v1.0 // which accompanies this distribution, and is available at // http://www.eclipse.org/legal/epl-v10.html // // Contributors: // IBM Corporation - initial API and implementation //var refreshInterval = 1000*60*60*24; var PlatformTriageHelper = { init: function() { PlatformTriageHelper.Page.init(); }, Constants: { refreshInterval: 1000*60*60, triagedOwner: "platform-ui-triaged@eclipse.org", dirtyMarker: '*' }, Page: { component: {}, product: {}, qa_contact: {}, keywords: {}, comment: {}, assigned_to: {}, short_desc: {}, els: null, myDiv: null, header: null, init: function() { PlatformTriageHelper.Page.els = document.forms[1].elements; PlatformTriageHelper.Page.myDiv = document.createElement('div'); PlatformTriageHelper.Page.header = document.getElementById('header'); for (var i = 0; i < PlatformTriageHelper.Page.els.length; i++) { if (PlatformTriageHelper.Page.els[i].name == "component") { PlatformTriageHelper.Page.component = PlatformTriageHelper.Page.els[i]; } if (PlatformTriageHelper.Page.els[i].name == "product") { PlatformTriageHelper.Page.product = PlatformTriageHelper.Page.els[i]; } if (PlatformTriageHelper.Page.els[i].name == "qa_contact") { PlatformTriageHelper.Page.qa_contact = PlatformTriageHelper.Page.els[i]; } if (PlatformTriageHelper.Page.els[i].name == "keywords") { PlatformTriageHelper.Page.keywords = PlatformTriageHelper.Page.els[i]; } if (PlatformTriageHelper.Page.els[i].name == "comment") { PlatformTriageHelper.Page.comment = PlatformTriageHelper.Page.els[i]; } if (PlatformTriageHelper.Page.els[i].name == "assigned_to") { PlatformTriageHelper.Page.assigned_to = PlatformTriageHelper.Page.els[i]; } if (PlatformTriageHelper.Page.els[i].name == "short_desc") { PlatformTriageHelper.Page.short_desc = PlatformTriageHelper.Page.els[i]; } } //alert("indices: " + PlatformTriageHelper.Page.component + ", " + PlatformTriageHelper.Page.keywords + ", " + PlatformTriageHelper.Page.assigned_to + ", " + PlatformTriageHelper.Page.short_desc); //alert("assigned to: " + PlatformTriageHelper.Page.els[PlatformTriageHelper.Page.assigned_to].value + "qa_contact: " + PlatformTriageHelper.Page.els[PlatformTriageHelper.Page.qa_contact].value); var addToCC = document.getElementById('addselfcc'); if (addToCC != null) { addToCC.checked = false; } var elemChangedListener = function() { var b = document.getElementById('knob-reassign-cmp'); if (b != null) { b.checked = true; b.scrollIntoView(true); } }; PlatformTriageHelper.Page.product.addEventListener('change', elemChangedListener, false); PlatformTriageHelper.Page.component.addEventListener('change', elemChangedListener, false); PlatformTriageHelper.ComponentAreas.loadData(PlatformTriageHelper.Page.buildButtons); }, buildButtons: function() { var combo = PlatformTriageHelper.Page.TriageSelectCombo.create(); var extras = ''; var refresh = '
'; PlatformTriageHelper.Page.myDiv.innerHTML = '