FEATURE: Ability to build a table in the composer

- Adds a button to the composer tools which triggers a modal window for a table builder
- Table builder contains fields to add table contents, as well as buttons to align contents, and add additional tables/rows
This commit is contained in:
Keegan George
2022-07-04 14:58:50 -07:00
parent fc9898daac
commit 4c8cfa9559
10 changed files with 470 additions and 2 deletions
@@ -1,3 +1,24 @@
import { apiInitializer } from "discourse/lib/api";
import { action } from "@ember/object";
import showModal from "discourse/lib/show-modal";
export default apiInitializer("0.11.1", (api) => {});
export default apiInitializer("0.11.1", (api) => {
api.modifyClass("component:d-editor", {
pluginId: "discourse-table-builder",
@action
showTableBuilder(event) {
showModal("table-builder-modal").set("toolbarEvent", event);
},
});
api.onToolbarCreate((toolbar) => {
toolbar.addButton({
id: "table-builder",
group: "insertions",
icon: "table",
sendAction: (event) => toolbar.context.send("showTableBuilder", event),
title: themePrefix("discourse_table_builder.composer.button"),
});
});
});