Opzione personalizzata nel pannello di amministrazione dell'argomento?

Le ultime 15 ore per me sono state un incubo di lettura di plugin esistenti e codice sorgente solo per ottenere funzionalità estremamente basilari per scrivere il mio primo plugin. Ho bisogno di aiuto.

Nello specifico, ho bisogno di aiuto solo per aggiungere un nuovo pulsante nel pannello di amministrazione per ogni post (il pulsante in basso a sinistra). La cosa più che sono riuscito a fare è mettere il pulsante nello stesso elemento del widget…

Ma notate il punto elenco. Questo perché ciò che ho creato non sta andando nell’ul come dovrebbe. Non ho idea di come risolvere il problema.

(il div è la mia opzione).

L’ho fatto con questo codice:

import { withPluginApi } from 'discourse/lib/plugin-api';
import showModal from "discourse/lib/show-modal";

export default {
	name: 'tl-post-lock',
	initialize() {
		withPluginApi('0.8.24', function(api) {
			const user = api.getCurrentUser()

			if(user.trust_level >= api.container.lookup('site-settings:main').tl_lock_minimum) {
				// L'utente è autorizzato a vedere il pulsante

				api.decorateWidget('topic-admin-menu:after', (decorator) => {
					// Aggiunge il pulsante al menu di amministrazione
					return decorator.attach('admin-menu-button', {
						icon: 'ban',
						fullLabel: 'tl_post_lock.button_label',
						action: 'actionTlLock'
					})
				})
				
			}
		})
	}
}

Dopo questo, non c’è modo di farlo funzionare effettivamente al clic. Dopo il blocco decorateWidget, se scrivo qualsiasi forma di questo:

image

Otteniamo il seguente errore completamente inutile con una riga e un carattere che non esistono nemmeno.

Insieme a un mucchio di altro spam.

Sto perdendo la ragione. Come faccio semplicemente ad aggiungere un pulsante al pannello di amministrazione in basso a sinistra in modo da poter eseguire del codice quando ci clicco sopra?

Finally figured it out.

api.decorateWidget('topic-admin-menu:adminMenuButtons', (decorator) => {
					// Adds the button to the admin menu
					return {
						icon: 'ban',
						fullLabel: 'tl_post_lock.button_label',
						action: 'actionTlLock'
					}
				})
				
				api.attachWidgetAction('topic-admin-menu', 'actionTlLock', () => {
					// code
				})
5 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.