diff --git a/javascripts/discourse/initializers/disco-toc-composer.js b/javascripts/discourse/initializers/disco-toc-composer.js index 1ae3789..6305d12 100644 --- a/javascripts/discourse/initializers/disco-toc-composer.js +++ b/javascripts/discourse/initializers/disco-toc-composer.js @@ -38,7 +38,7 @@ export default { action: "insertDtoc", icon: "align-left", label: themePrefix("insert_table_of_contents"), - condition: controller.get("model.creatingTopic"), + condition: controller.get("model.topicFirstPost"), }; }); } diff --git a/test/acceptance/toc-composer-test.js b/test/acceptance/toc-composer-test.js index 65683da..9d734ac 100644 --- a/test/acceptance/toc-composer-test.js +++ b/test/acceptance/toc-composer-test.js @@ -1,4 +1,8 @@ -import { acceptance, query } from "discourse/tests/helpers/qunit-helpers"; +import { + acceptance, + exists, + query, +} from "discourse/tests/helpers/qunit-helpers"; import { click, visit } from "@ember/test-helpers"; import selectKit from "discourse/tests/helpers/select-kit-helper"; import { test } from "qunit"; @@ -16,6 +20,20 @@ acceptance("DiscoTOC - Composer", function (needs) { assert.ok(query(".d-editor-input").value.includes('data-theme-toc="true"')); }); + test("Can use TOC when editing first post", async function (assert) { + await visit("/t/internationalization-localization/280"); + await click("#post_1 .show-more-actions"); + await click("#post_1 .edit"); + + assert.ok(exists("#reply-control")); + + const toolbarPopupMenu = selectKit(".toolbar-popup-menu-options"); + await toolbarPopupMenu.expand(); + await toolbarPopupMenu.selectRowByValue("insertDtoc"); + + assert.ok(query(".d-editor-input").value.includes('data-theme-toc="true"')); + }); + test("no TOC option when replying", async function (assert) { await visit("/t/internationalization-localization/280"); await click(".create.reply");