Всем привет,
У меня бэкграунд в разработке под iOS (Swift), а с Rails и JavaScript я знаком лишь поверхностно. Я пытаюсь создать плагин для Discourse, но у меня возникают трудности с отображением модального диалога после нажатия кнопки на панели инструментов редактора постов.
Мне удалось успешно добавить кнопку примерно таким образом:
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));
}
};
Я пытался использовать ChatGPT для помощи в разработке, и он предложил несколько вариантов касательно структуры папок. Я пробовал использовать компоненты, шаблоны и файлы контроллеров, но не могу заставить диалог отображаться. Либо я получаю сообщения об ошибках, либо ничего не происходит.
Я пытался поискать на этом форуме, но не смог найти ничего, что помогло бы мне в этом вопросе.
Не могли бы вы подсказать мне правильное направление, как настроить структуру папок и, особенно, соглашения об именовании файлов, чтобы я мог показать простое модальное окно для начала работы?
Заранее спасибо!
РЕДАКТИРОВАНИЕ: Я знаю, что функция perform ничего не делает в коде выше. Я пробовал несколько методов, чтобы заставить её работать, но ничего не помогло. Поэтому я оставил её пустой здесь, просто демонстрируя, что я сделал на данный момент, чтобы кнопка появилась на панели инструментов.