您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Timer for OTRS with auto-complete of Time Units
- // ==UserScript==
- // @name OTRS_Timer
- // @author Pedro VAZ PEREIRA
- // @description Timer for OTRS with auto-complete of Time Units
- // @include */otrs/index.pl?Action=AgentTicketNote*
- // @include */otrs/index.pl?Action=AgentTicketPhone*
- // @include */otrs/index.pl?Action=AgentTicketClose*
- // @include */otrs/index.pl?Action=AgentTicketPending*
- // @version 1.4
- // @license Licence Creative Commons Attribution - Partage dans les Mêmes Conditions 3.0 France (CC BY-SA 3.0 FR)
- // @grant none
- // @namespace https://greasyfork.org/users/6245
- // ==/UserScript==
- function addTimer() {
- var ban = document.getElementsByClassName('Header') [0];
- var banClose = ban.getElementsByTagName('p') [1];
- var newTimer = createTimer();
- ban.insertBefore(newTimer, banClose)
- }
- function createTimer() {
- var newDiv = document.createElement('div');
- var buttonStart = document.createElement('button');
- var buttonStop = document.createElement('button');
- var buttonReset = document.createElement('button');
- newDiv.id = 'Timer';
- buttonStart.id = 'Start';
- buttonStop.id = 'Stop';
- buttonReset.id = 'Reset';
- newDiv.innerHTML = '<H3><time>00:00<sec style=\'font-size: 0.8em;\'>:00</sec></time></H3>';
- buttonStart.innerHTML = 'START';
- buttonStop.innerHTML = 'STOP';
- buttonReset.innerHTML = 'RESET';
- newDiv.appendChild(buttonStart);
- newDiv.appendChild(buttonStop);
- newDiv.appendChild(buttonReset);
- return newDiv;
- }
- addTimer();
- timer();
- var h3 = document.getElementsByTagName('h3') [0],
- start = document.getElementById('Start'),
- stop = document.getElementById('Stop'),
- clear = document.getElementById('Reset'),
- seconds = 0,
- minutes = 0,
- hours = 0,
- t;
- function add() {
- seconds++;
- if (seconds >= 60) {
- seconds = 0;
- minutes++;
- if (minutes >= 60) {
- minutes = 0;
- hours++;
- }
- }
- updateWorkUnits(hours, minutes);
- h3.innerHTML = (hours ? (hours > 9 ? hours : '0' + hours) : '00') + ':' + (minutes ? (minutes > 9 ? minutes : '0' + minutes) : '00') + '<sec style=\'font-size: 0.8em;\'>:' + (seconds > 9 ? seconds : '0' + seconds) + '</sec>';
- timer();
- }
- function updateWorkUnits(hour, min) {
- hour = parseInt(hour);
- min = parseInt(min);
- var timeUnitsInput = document.getElementById('TimeUnits');
- var totalMinutes = hour * 60 + min;
- var timeUnit = Math.floor(totalMinutes / 3) * 0.05
- timeUnitsInput.value = timeUnit;
- }
- function timer() {
- t = setTimeout(add, 1000);
- }
- /* Start button */
- start.onclick = timer;
- /* Stop button */
- stop.onclick = function () {
- clearTimeout(t);
- }
- /* Clear button */
- clear.onclick = function () {
- h3.innerHTML = '00:00<sec style=\'font-size: 0.8em;\'>:00</sec>';
- seconds = 0;
- minutes = 0;
- hours = 0;
- var timeUnitsInput = document.getElementById('TimeUnits');
- timeUnitsInput.value = 0;
- }