Nessun oggetto della modifica
Nessun oggetto della modifica
 
(Una versione intermedia di uno stesso utente non è mostrata)
Riga 1: Riga 1:
mw.loader.using('ext.visualEditor.desktopArticleTarget.init').then(function () {
mw.loader.using('oojs-ui-core').then(function () {
   mw.hook('ve.activationComplete').add(function () {
   $(function () {
     if (typeof ve === 'undefined' || typeof ve.ui === 'undefined') {
    // Evita doppie iniezioni
      console.error("VisualEditor non è pronto.");
     if (document.getElementById('tooltipCitaButton')) return;
      return;
    }


     const refText = `<ref>{{TooltipCita
    // 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 TooltipCitaTool() {}
            navigator.clipboard.writeText(blocco)
    OO.inheritClass(TooltipCitaTool, ve.ui.Tool);
              .then(() => {
    TooltipCitaTool.static.name = 'tooltipCita';
                alert("✅ Blocco TooltipCita copiato! Ora incollalo dentro una <ref> creata con VisualEditor.");
    TooltipCitaTool.static.group = 'cite';
              })
    TooltipCitaTool.static.icon = 'quote';
              .catch(err => {
    TooltipCitaTool.static.title = '📌 Tooltip con abstract';
                prompt("Copia manualmente questo blocco:", blocco);
              });
          })
      );


     TooltipCitaTool.prototype.onSelect = function () {
     // Inserisce nel menu laterale 'Strumenti' o 'Tools'
      const surface = this.toolbar.getSurface();
     const pannello = $('#p-tb ul');
      surface.getModel().getFragment().insertContent(refText);
     if (pannello.length) pannello.append(button);
      this.setActive(false);
    };
 
    TooltipCitaTool.prototype.onUpdateState = function () {};
 
    ve.ui.toolFactory.register(TooltipCitaTool);
    ve.ui.commandRegistry.register(
      new ve.ui.Command('tooltipCita', 'window', 'open', null)
     );
 
    ve.init.target.toolbar.tools.addItems(['tooltipCita']);
     console.log("📌 TooltipCita caricato con successo.");
   });
   });
});
});

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);
  });
});