Nessun oggetto della modifica
Nessun oggetto della modifica
 
(2 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
mw.loader.using('ext.visualEditor.core').then(function () {
mw.loader.using('oojs-ui-core').then(function () {
   mw.hook('ve.activationComplete').add(function () {
   $(function () {
    try {
    // Evita doppie iniezioni
      const refText = `<ref>{{TooltipCita
    if (document.getElementById('tooltipCitaButton')) return;
 
    // HTML del pulsante
    const button = $('<li>')
      .attr('id', 'tooltipCitaButton')
      .append(
        $('<button>')
          .text('📌 Inserisci TooltipCita')
          .css({
            background: '#fdf6e3',
            border: '1px solid #aaa',
            padding: '4px 8px',
            borderRadius: '6px',
            fontSize: '0.85em',
            cursor: 'pointer',
            marginTop: '8px'
          })
          .on('click', function () {
            const blocco = `{{TooltipCita
  | abstract = Inserisci qui il testo del tooltip
  | abstract = Inserisci qui il testo del tooltip
  | cita = {{cita libro|autore=...|titolo=...|anno=...}}
  | cita = {{cita libro|autore=...|titolo=...|anno=...}}
}}</ref>`;
}}`;
 
      function createTooltipTool() {
        class TooltipCitaTool extends ve.ui.Tool {
          static get name() { return 'tooltipCita'; }
          static get group() { return 'cite'; }
          static get icon() { return 'quote'; }
          static get title() { return '📌 Tooltip con abstract'; }
 
          onSelect() {
            const surface = this.toolbar.getSurface();
            surface.getModel().getFragment().insertContent(refText);
            this.setActive(false);
          }
        }


        ve.ui.toolFactory.register(TooltipCitaTool);
            navigator.clipboard.writeText(blocco)
        ve.ui.toolFactory.create('tooltipCita');
              .then(() => {
        ve.init.target.toolbar.tools.addItems(['tooltipCita'], 999); // posizione finale
                alert("✅ Blocco TooltipCita copiato! Ora incollalo dentro una <ref> creata con VisualEditor.");
        console.log("📌 Pulsante TooltipCita registrato con successo.");
              })
       }
              .catch(err => {
                prompt("Copia manualmente questo blocco:", blocco);
              });
          })
       );


      createTooltipTool();
    // Inserisce nel menu laterale 'Strumenti' o 'Tools'
     } catch (err) {
    const pannello = $('#p-tb ul');
      console.error("Errore nel registrare TooltipCita:", err);
     if (pannello.length) pannello.append(button);
    }
   });
   });
});
});

Versione attuale delle 16:27, 25 apr 2025

mw.loader.using('oojs-ui-core').then(function () {
  $(function () {
    // Evita doppie iniezioni
    if (document.getElementById('tooltipCitaButton')) return;

    // HTML del pulsante
    const button = $('<li>')
      .attr('id', 'tooltipCitaButton')
      .append(
        $('<button>')
          .text('📌 Inserisci TooltipCita')
          .css({
            background: '#fdf6e3',
            border: '1px solid #aaa',
            padding: '4px 8px',
            borderRadius: '6px',
            fontSize: '0.85em',
            cursor: 'pointer',
            marginTop: '8px'
          })
          .on('click', function () {
            const blocco = `{{TooltipCita
 | abstract = Inserisci qui il testo del tooltip
 | cita = {{cita libro|autore=...|titolo=...|anno=...}}
}}`;

            navigator.clipboard.writeText(blocco)
              .then(() => {
                alert("✅ Blocco TooltipCita copiato! Ora incollalo dentro una <ref> creata con VisualEditor.");
              })
              .catch(err => {
                prompt("Copia manualmente questo blocco:", blocco);
              });
          })
      );

    // Inserisce nel menu laterale 'Strumenti' o 'Tools'
    const pannello = $('#p-tb ul');
    if (pannello.length) pannello.append(button);
  });
});