您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
在 issue 列表 主题前面增加一个甘特图的快捷链接
// ==UserScript== // @name redmine-issue-gantt // @namespace http://tampermonkey.net/ // @version 1.0 // @description 在 issue 列表 主题前面增加一个甘特图的快捷链接 // @author 小慢 // @match // @icon https://www.google.com/s2/favicons?sz=64&domain=xjjj.co // @require https://code.jquery.com/jquery-3.6.0.min.js // @grant none // ==/UserScript== (function() { 'use strict'; var subjectElements = document.getElementsByClassName("subject"); for (var subject of subjectElements) { var subjectJumpElement = subject.firstElementChild; var issueHref = subjectJumpElement.getAttribute('href') // 从编辑链接的href属性中提取数字 var matchNum = issueHref.match(/(\d+)/); if (matchNum) { var issueId = matchNum[1]; var gurrtA = $('<a style=" margin-right: 20px;" href="/issues/gantt?utf8=%E2%9C%93&set_filter=1&gantt=1&f%5B%5D=status_id&op%5Bstatus_id%5D=o&f%5B%5D=parent_id&op%5Bparent_id%5D=~&v%5Bparent_id%5D%5B%5D='+issueId+'&f%5B%5D=&query%5Bdraw_selected_columns%5D=0&query%5Bdraw_selected_columns%5D=1&c%5B%5D=assigned_to&query%5Bdraw_relations%5D=0&query%5Bdraw_relations%5D=1&query%5Bdraw_progress_line%5D=0&months=6&month=11&year=2024&zoom=4">甘特图</a>'); if (window.location.href.includes("/projects/course_modularization/")) { gurrtA = $('<a style=" margin-right: 20px;" href="/projects/course_modularization/issues/gantt?utf8=%E2%9C%93&set_filter=1&gantt=1&f%5B%5D=status_id&op%5Bstatus_id%5D=o&f%5B%5D=parent_id&op%5Bparent_id%5D=~&v%5Bparent_id%5D%5B%5D='+issueId+'&f%5B%5D=&query%5Bdraw_selected_columns%5D=0&query%5Bdraw_selected_columns%5D=1&c%5B%5D=assigned_to&query%5Bdraw_relations%5D=0&query%5Bdraw_relations%5D=1&query%5Bdraw_progress_line%5D=0&months=6&month=11&year=2024&zoom=4">甘特图</a>'); } if (window.location.href.includes("/projects/cc_sprint/")) { gurrtA = $('<a style=" margin-right: 20px;" href="/projects/cc_sprint/issues/gantt?utf8=%E2%9C%93&set_filter=1&gantt=1&f%5B%5D=status_id&op%5Bstatus_id%5D=o&f%5B%5D=parent_id&op%5Bparent_id%5D=~&v%5Bparent_id%5D%5B%5D='+issueId+'&f%5B%5D=&query%5Bdraw_selected_columns%5D=0&query%5Bdraw_selected_columns%5D=1&c%5B%5D=assigned_to&query%5Bdraw_relations%5D=0&query%5Bdraw_relations%5D=1&query%5Bdraw_progress_line%5D=0&months=6&month=11&year=2024&zoom=4">甘特图</a>'); } if (window.location.href.includes("/projects/cooperation_sprint/")) { gurrtA = $('<a style=" margin-right: 20px;" href="/projects/cooperation_sprint/issues/gantt?utf8=%E2%9C%93&set_filter=1&gantt=1&f%5B%5D=status_id&op%5Bstatus_id%5D=o&f%5B%5D=parent_id&op%5Bparent_id%5D=~&v%5Bparent_id%5D%5B%5D='+issueId+'&f%5B%5D=&query%5Bdraw_selected_columns%5D=0&query%5Bdraw_selected_columns%5D=1&c%5B%5D=assigned_to&query%5Bdraw_relations%5D=0&query%5Bdraw_relations%5D=1&query%5Bdraw_progress_line%5D=0&months=6&month=11&year=2024&zoom=4">甘特图</a>'); } $(subject).prepend(gurrtA) } } })();