Hallo zusammen,
ich habe einen Hintergrund in der iOS-Entwicklung (Swift) und nur oberflächliche Erfahrungen mit Rails und Javascript. Ich versuche, ein Plugin für Discourse zu entwickeln, und habe Schwierigkeiten, nach dem Klicken auf eine Schaltfläche in der Symbolleiste der Beitragseditor-Benutzeroberfläche ein modales Dialogfeld anzuzeigen.
Ich habe die Schaltfläche erfolgreich hinzugefügt, ungefähr so:
assets/javascripts/discourse/initializers/audio-message-button.js.es6
import { withPluginApi } from 'discourse/lib/plugin-api';
function initializeWithApi(api) {
api.onToolbarCreate(toolbar => {
toolbar.addButton({
id: "audio_message",
group: "extras",
icon: "microphone",
perform: (editor) => {
}
});
});
}
export default {
name: 'audio-message-button',
initialize(container) {
withPluginApi('0.12.0', api => initializeWithApi(api));
}
};
Ich habe versucht, ChatGPT zu nutzen, um mir bei der Entwicklung zu helfen, und es hat mehrere Vorschläge bezüglich der Ordnerstruktur gemacht. Verwendung von Komponenten, Vorlagen, Controller-Dateien, aber ich kann den Dialog nicht anzeigen lassen. Entweder erhalte ich Fehlermeldungen oder es passiert gar nichts.
Ich habe versucht, das Forum hier zu durchsuchen, aber ich kann nichts finden, was mir dabei helfen würde.
Kann mir jemand bitte in die richtige Richtung weisen, wie ich die Ordnerstruktur und insbesondere die Namenskonventionen der beteiligten Dateien einrichten muss, damit ich ein einfaches modales Dialogfeld anzeigen kann, um loszulegen?
Vielen Dank im Voraus!
EDIT: Mir ist bewusst, dass die perform-Funktion im obigen Code nichts tut. Ich habe mehrere Methoden ausprobiert, um sie zum Laufen zu bringen, aber nichts hat geholfen. Daher habe ich sie hier leer gelassen, nur um zu demonstrieren, was ich bisher getan habe, um die Schaltfläche in der Symbolleiste anzuzeigen.