您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Show Assignee field in the JIRA modal window of Create Linked Issue
- // ==UserScript==
- // @name AUTO Show Assignee field in JIRA Create Linked Issue
- // @namespace https://www.hicaliber.com.au
- // @version 0.2
- // @description Show Assignee field in the JIRA modal window of Create Linked Issue
- // @author Nikita Alekseev
- // @match http*://*.atlassian.net/*
- // @grant none
- // ==/UserScript==
- //waitForKeyElements coped from https://gist.github.com/mjblay/18d34d861e981b7785e407c3b443b99b
- function waitForKeyElements (
- selectorTxt, /* Required: The selector string that
- specifies the desired element(s).
- */
- actionFunction, /* Required: The code to run when elements are
- found. It is passed a jNode to the matched
- element.
- */
- bWaitOnce /* Optional: If false, will continue to scan for
- new elements even after the first match is
- found.
- */
- ) {
- var targetNodes, btargetsFound;
- targetNodes = document.querySelectorAll(selectorTxt);
- if (targetNodes && targetNodes.length > 0) {
- btargetsFound = true;
- /*--- Found target node(s). Go through each and act if they
- are new.
- */
- targetNodes.forEach(function(element) {
- var alreadyFound = element.dataset.found == 'alreadyFound' ? 'alreadyFound' : false;
- if (!alreadyFound) {
- //--- Call the payload function.
- var cancelFound = actionFunction (element);
- if (cancelFound)
- btargetsFound = false;
- else
- element.dataset.found = 'alreadyFound';
- }
- } );
- }
- else {
- btargetsFound = false;
- }
- //--- Get the timer-control variable for this selector.
- var controlObj = waitForKeyElements.controlObj || {};
- var controlKey = selectorTxt.replace (/[^\w]/g, "_");
- var timeControl = controlObj [controlKey];
- //--- Now set or clear the timer as appropriate.
- if (btargetsFound && bWaitOnce && timeControl) {
- //--- The only condition where we need to clear the timer.
- clearInterval (timeControl);
- delete controlObj [controlKey];
- }
- else {
- //--- Set a timer, if needed.
- if ( ! timeControl) {
- timeControl = setInterval ( function () {
- waitForKeyElements ( selectorTxt,
- actionFunction,
- bWaitOnce
- );
- },
- 300
- );
- controlObj [controlKey] = timeControl;
- }
- }
- waitForKeyElements.controlObj = controlObj;
- }
- waitForKeyElements("#create-linked-issue-dialog .jira-dialog-content #qf-field-assignee", (jNode) => jNode && jNode.removeAttribute('style'));
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址