Añade un botón para copiar el texto del incidente en mayúsculas
Size
2.8 KB
Version
1.0.1
Created
Dec 22, 2025
Updated
about 1 month ago
1// ==UserScript==
2// @name Copiar Incidente en Mayúsculas
3// @description Añade un botón para copiar el texto del incidente en mayúsculas
4// @version 1.0.1
5// @match https://*.intranet.ejuniper.com/*
6// @icon https://intranet.ejuniper.com/images/favicon.ico
7// ==/UserScript==
8(function() {
9 'use strict';
10
11 console.log('Extension iniciada - Copiar Incidente en Mayúsculas');
12
13 function init() {
14 // Buscar el textarea del incidente
15 const incidenteTextarea = document.querySelector('textarea#TemaIncidencia[name="TemaIncidencia"]');
16
17 if (!incidenteTextarea) {
18 console.log('No se encontró el campo de incidente');
19 return;
20 }
21
22 console.log('Campo de incidente encontrado');
23
24 // Crear el botón
25 const copyButton = document.createElement('button');
26 copyButton.textContent = 'Copiar en Mayúsculas';
27 copyButton.className = 'ButtonOnPage';
28 copyButton.style.cssText = 'margin-left: 10px; padding: 5px 10px; cursor: pointer; background-color: #007bff; color: white; border: 1px solid #0056b3; border-radius: 3px;';
29
30 // Añadir evento de click
31 copyButton.addEventListener('click', async function(e) {
32 e.preventDefault();
33
34 const textoIncidente = incidenteTextarea.value;
35 const textoMayusculas = textoIncidente.toUpperCase();
36
37 try {
38 await GM.setClipboard(textoMayusculas);
39 console.log('Texto copiado en mayúsculas:', textoMayusculas);
40
41 // Feedback visual
42 const originalText = copyButton.textContent;
43 copyButton.textContent = '✓ Copiado!';
44 copyButton.style.backgroundColor = '#28a745';
45
46 setTimeout(() => {
47 copyButton.textContent = originalText;
48 copyButton.style.backgroundColor = '#007bff';
49 }, 2000);
50 } catch (error) {
51 console.error('Error al copiar al portapapeles:', error);
52 copyButton.textContent = '✗ Error';
53 copyButton.style.backgroundColor = '#dc3545';
54
55 setTimeout(() => {
56 copyButton.textContent = 'Copiar en Mayúsculas';
57 copyButton.style.backgroundColor = '#007bff';
58 }, 2000);
59 }
60 });
61
62 // Insertar el botón después del textarea
63 incidenteTextarea.parentNode.insertBefore(copyButton, incidenteTextarea.nextSibling);
64 console.log('Botón añadido correctamente');
65 }
66
67 // Esperar a que el DOM esté listo
68 if (document.readyState === 'loading') {
69 document.addEventListener('DOMContentLoaded', init);
70 } else {
71 init();
72 }
73})();