diff --git a/plugins/discourse-local-dates/assets/javascripts/discourse/components/discourse-local-dates-create-form.js.es6 b/plugins/discourse-local-dates/assets/javascripts/discourse/components/discourse-local-dates-create-form.js.es6 index 454bf9ea9a5..ad7c073e2fc 100644 --- a/plugins/discourse-local-dates/assets/javascripts/discourse/components/discourse-local-dates-create-form.js.es6 +++ b/plugins/discourse-local-dates/assets/javascripts/discourse/components/discourse-local-dates-create-form.js.es6 @@ -357,7 +357,7 @@ export default Component.extend({ if (markup) { this._closeModal(); - this.toolbarEvent.addText(markup); + this.insertDate(markup); } }, diff --git a/plugins/discourse-local-dates/assets/javascripts/discourse/templates/modal/discourse-local-dates-create-modal.hbs b/plugins/discourse-local-dates/assets/javascripts/discourse/templates/modal/discourse-local-dates-create-modal.hbs index b5f390f8e59..611be0377c2 100644 --- a/plugins/discourse-local-dates/assets/javascripts/discourse/templates/modal/discourse-local-dates-create-modal.hbs +++ b/plugins/discourse-local-dates/assets/javascripts/discourse/templates/modal/discourse-local-dates-create-modal.hbs @@ -1 +1 @@ -{{discourse-local-dates-create-form config=config toolbarEvent=toolbarEvent}} +{{discourse-local-dates-create-form config=config insertDate=insertDate}} diff --git a/plugins/discourse-local-dates/assets/javascripts/initializers/discourse-local-dates.js.es6 b/plugins/discourse-local-dates/assets/javascripts/initializers/discourse-local-dates.js.es6 index dad88fbd251..9dc258ffb23 100644 --- a/plugins/discourse-local-dates/assets/javascripts/initializers/discourse-local-dates.js.es6 +++ b/plugins/discourse-local-dates/assets/javascripts/initializers/discourse-local-dates.js.es6 @@ -73,6 +73,28 @@ function _rangeElements(element) { function initializeDiscourseLocalDates(api) { const siteSettings = api.container.lookup("site-settings:main"); + const chat = api.container.lookup("service:chat"); + + if (chat) { + chat.addToolbarButton({ + title: "discourse_local_dates.title", + id: "local-dates", + icon: "calendar-alt", + action: "insertDiscourseLocalDate", + }); + + api.modifyClass("component:chat-composer", { + pluginId: "discourse-local-dates", + actions: { + insertDiscourseLocalDate() { + const insertDate = this.addText.bind(this); + showModal("discourse-local-dates-create-modal").setProperties({ + insertDate, + }); + }, + }, + }); + } api.decorateCookedElement( (elem) => { @@ -100,7 +122,9 @@ function initializeDiscourseLocalDates(api) { actions: { insertDiscourseLocalDate(toolbarEvent) { showModal("discourse-local-dates-create-modal").setProperties({ - toolbarEvent, + insertDate: (markup) => { + toolbarEvent.addText(markup); + }, }); }, },