Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1: Riga 1:
mw.loader.using('ext.visualEditor.desktopArticleTarget.init').then(function () {
mw.loader.using('ext.visualEditor.core').then(function () {
   mw.hook('ve.activationComplete').add(function () {
   mw.hook('ve.activationComplete').add(function () {
     const veTarget = ve.init.target;
     try {
    if (!veTarget || !veTarget.toolbar) return;
      const refText = `<ref>{{TooltipCita
 
  | abstract = Inserisci qui il testo del tooltip
    const surfaceModel = veTarget.surface.getModel();
    const refText = `<ref>{{TooltipCita
  | abstract = Inserisci qui l'abstract
  | cita = {{cita libro|autore=...|titolo=...|anno=...}}
  | cita = {{cita libro|autore=...|titolo=...|anno=...}}
}}</ref>`;
}}</ref>`;


    // Aggiunta tool personalizzato
      function createTooltipTool() {
    ve.ui.toolFactory.register( class extends ve.ui.Tool {
        class TooltipCitaTool extends ve.ui.Tool {
      static get name() { return 'tooltipCita'; }
          static get name() { return 'tooltipCita'; }
      static get group() { return 'cite'; }
          static get group() { return 'cite'; }
      static get title() { return '📌 Tooltip con abstract'; }
          static get icon() { return 'quote'; }
      static get icon() { return 'reference'; }
          static get title() { return '📌 Tooltip con abstract'; }
      onSelect () {
 
        surfaceModel.getFragment().insertContent(refText);
          onSelect() {
        this.setActive(false);
            const surface = this.toolbar.getSurface();
            surface.getModel().getFragment().insertContent(refText);
            this.setActive(false);
          }
        }
 
        ve.ui.toolFactory.register(TooltipCitaTool);
        ve.ui.toolFactory.create('tooltipCita');
        ve.init.target.toolbar.tools.addItems(['tooltipCita'], 999); // posizione finale
        console.log("📌 Pulsante TooltipCita registrato con successo.");
       }
       }
    });


     ve.init.target.toolbar.tools.addItems(['tooltipCita'], 2); // terza posizione
      createTooltipTool();
     } catch (err) {
      console.error("Errore nel registrare TooltipCita:", err);
    }
   });
   });
});
});

Versione delle 15:04, 25 apr 2025

mw.loader.using('ext.visualEditor.core').then(function () {
  mw.hook('ve.activationComplete').add(function () {
    try {
      const refText = `<ref>{{TooltipCita
 | abstract = Inserisci qui il testo del tooltip
 | 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);
        ve.ui.toolFactory.create('tooltipCita');
        ve.init.target.toolbar.tools.addItems(['tooltipCita'], 999); // posizione finale
        console.log("📌 Pulsante TooltipCita registrato con successo.");
      }

      createTooltipTool();
    } catch (err) {
      console.error("Errore nel registrare TooltipCita:", err);
    }
  });
});