Copia di un contenuto con icona di copia

Ciao, invece di stampare un pezzo di dati che mi viene fornito dal plugin tramite un modulo, voglio consentire agli utenti di copiare questo contenuto quando lo desiderano facendo clic su un’icona di ‘copia’.

Ho notato che Discourse ha introdotto questa funzionalità per i blocchi di codice, ma funziona solo all’interno di questi blocchi. Come posso usarla altrove come desidero?

Grazie,

Forse questo Theme component è quello che stai cercando 📄 Copy Post Component
Puoi copiare un intero post con esso

5 Mi Piace

Voglio usarlo per i dati del plugin Custom Wizard, il che significa che voglio abilitare la copia di una frase specifica. Penso che il componente del tema non lo fornisca. Ma potrei ottenerlo personalizzando?

Hai ragione, il componente copia l’intero contenuto del post. Sembra fattibile da personalizzare, di sicuro. Puoi condividere un esempio visivo di ciò che ti aspetti? Non ho mai usato questo plugin, quindi non sono sicuro in quale passaggio o contesto desideri tale personalizzazione.

2 Mi Piace

Quando si crea una pagina con il plugin Custom Wizards, voglio copiare l’output delle variabili che il plugin mi fornisce. Possiamo quindi considerarlo come un’area selezionata casualmente nel contenuto del messaggio. Posso assegnare un selettore css personalizzato al contenuto da copiare.

https://github.com/keegangeorge/discourse-copy-post/blob/main/javascripts/discourse/widgets/copy-widget.js

  click(attrs) {
    const copyButton = attrs.currentTarget.activeElement;
    const rawCooked = this.attrs.attrs.cooked;
    const cookedText = this.attrs.attrs.cooked.replace(/<p>(.*)<\/p>/g, "$1\n");
    let postContents = cookedText.replace(/<[^>]*>/gi, "");

    if (settings.copy_raw_html) {
      postContents = rawCooked;
    }

const rawCooked = this.attrs.attrs.cooked;

Il selettore è qui. Voglio puntare all’ultimo tag p o al penultimo tag p nel div cooked invece che all’intero cooked. Voglio puntarli separatamente se possibile e posizionare le icone di copia proprio accanto ai paragrafi.