您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Make it easy to add notes without the need to click a button.
当前为
- // ==UserScript==
- // @name Redmine: Add notes directly at the bottom
- // @namespace im.outv.redmine.addnotes.redmine
- // @version 2024.1
- // @description Make it easy to add notes without the need to click a button.
- // @author Outvi V
- // @license MIT
- // @match https://www.redmine.org/issues/*
- // @grant none
- // ==/UserScript==
- const HIDE_CLASS_NAME = 'addnotes-hide'
- function addCss(css) {
- var block = document.createElement('style')
- block.innerText = css
- document.head.appendChild(block)
- return block
- }
- function isToShow(fieldset) {
- // As of Redmine 6.0.2
- if (['add_notes', 'add_attachments'].includes(fieldset.id)) {
- return true;
- }
- // redmine.org
- if (["Notes", "Files"].includes(fieldset.querySelector("legend")?.innerText)) {
- fieldset.classList.remove("addnotes-hide")
- return true;
- }
- return false;
- }
- ;(function () {
- 'use strict'
- const hiddenCss = addCss(`
- .${HIDE_CLASS_NAME} { display: none; }
- `)
- const dUpdate = document.querySelector('#update')
- dUpdate.style = ''
- const dEditAreas = [...dUpdate.querySelectorAll('form div.box > fieldset')]
- for (const fieldset of dEditAreas) {
- if (!isToShow(fieldset)) {
- fieldset.classList.add(HIDE_CLASS_NAME)
- }
- }
- const _showAndScrollTo = window.showAndScrollTo
- window.showAndScrollTo = function (id, focus, ...args) {
- if (id === 'update' && focus === 'issue_notes') {
- hiddenCss.innerText = ''
- }
- _showAndScrollTo(id, focus, ...args)
- }
- })()