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 () {
     if (typeof ve === 'undefined' || typeof ve.ui === 'undefined') {
     if (!ve || !ve.ui || !ve.ui.toolFactory) {
       console.error("VisualEditor non è pronto.");
       console.warn("TooltipCita: VE non è pronto.");
       return;
       return;
     }
     }
Riga 23: Riga 23:
       this.setActive(false);
       this.setActive(false);
     };
     };
     TooltipCitaTool.prototype.onUpdateState = function () {};
     TooltipCitaTool.prototype.onUpdateState = function () {};


Riga 30: Riga 29:
       new ve.ui.Command('tooltipCita', 'window', 'open', null)
       new ve.ui.Command('tooltipCita', 'window', 'open', null)
     );
     );
    ve.init.target.toolbar.tools.addItems(['tooltipCita']);


    ve.init.target.toolbar.tools.addItems(['tooltipCita']);
     console.log("TooltipCita caricato con successo.");
     console.log("📌 TooltipCita caricato con successo.");
   });
   });
});
});

Versione delle 15:11, 25 apr 2025

mw.loader.using('ext.visualEditor.core').then(function () {
  mw.hook('ve.activationComplete').add(function () {
    if (!ve || !ve.ui || !ve.ui.toolFactory) {
      console.warn("TooltipCita: VE non è pronto.");
      return;
    }

    const refText = `<ref>{{TooltipCita
 | abstract = Inserisci qui il testo del tooltip
 | cita = {{cita libro|autore=...|titolo=...|anno=...}}
}}</ref>`;

    function TooltipCitaTool() {}
    OO.inheritClass(TooltipCitaTool, ve.ui.Tool);
    TooltipCitaTool.static.name = 'tooltipCita';
    TooltipCitaTool.static.group = 'cite';
    TooltipCitaTool.static.icon = 'quote';
    TooltipCitaTool.static.title = '📌 Tooltip con abstract';

    TooltipCitaTool.prototype.onSelect = function () {
      const surface = this.toolbar.getSurface();
      surface.getModel().getFragment().insertContent(refText);
      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.");
  });
});