Copiar Incidente en Mayúsculas

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})();
Copiar Incidente en Mayúsculas | Robomonkey