DEV: Show active categories in form templates customize table (#20498)

This commit is contained in:
Keegan George 2023-03-01 12:37:14 -08:00 committed by GitHub
parent 666b4a7e6b
commit bb0ef4c7b4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 31 additions and 0 deletions

View File

@ -1,5 +1,10 @@
<tr class="admin-list-item">
<td class="col first">{{@template.name}}</td>
<td class="col categories">
{{#each this.activeCategories as |category|}}
{{category-link category}}
{{/each}}
</td>
<td class="col action">
<DButton
@title="admin.form_templates.list_table.actions.view"

View File

@ -9,6 +9,13 @@ import I18n from "I18n";
export default class FormTemplateRowItem extends Component {
@service router;
@service dialog;
@service site;
get activeCategories() {
return this.site?.categories?.filter((c) =>
c["form_template_ids"].includes(this.args.template.id)
);
}
@action
viewTemplate() {

View File

@ -7,6 +7,9 @@
<th class="col heading">
{{i18n "admin.form_templates.list_table.headings.name"}}
</th>
<th class="col heading">
{{i18n "admin.form_templates.list_table.headings.active_categories"}}
</th>
<th class="col heading sr-only">
{{i18n "admin.form_templates.list_table.headings.actions"}}
</th>

View File

@ -5538,6 +5538,7 @@ en:
list_table:
headings:
name: "Name"
active_categories: "Active Categories"
actions: "Actions"
actions:
view: "View Template"

View File

@ -5,6 +5,9 @@ describe "Admin Customize Form Templates", type: :system, js: true do
let(:ace_editor) { PageObjects::Components::AceEditor.new }
fab!(:admin) { Fabricate(:admin) }
fab!(:form_template) { Fabricate(:form_template) }
fab!(:category) do
Fabricate(:category, name: "Cool Category", slug: "cool-cat", topic_count: 3234)
end
before do
SiteSetting.experimental_form_templates = true
@ -12,12 +15,20 @@ describe "Admin Customize Form Templates", type: :system, js: true do
end
describe "when visiting the page to customize form templates" do
before { category.update(form_template_ids: [form_template.id]) }
it "should show the existing form templates in a table" do
visit("/admin/customize/form-templates")
expect(form_template_page).to have_form_template_table
expect(form_template_page).to have_form_template(form_template.name)
end
it "should show the categories the form template is used in" do
visit("/admin/customize/form-templates")
expect(form_template_page).to have_form_template_table
expect(form_template_page).to have_category_in_template_row(category.name)
end
it "should show the form template structure in a modal" do
visit("/admin/customize/form-templates")
form_template_page.click_view_form_template

View File

@ -21,6 +21,10 @@ module PageObjects
find(".form-templates__table tbody tr td", text: name).present?
end
def has_category_in_template_row?(category_name)
find(".form-templates__table .categories .category-name", text: category_name).present?
end
def has_template_structure?(structure)
find("code", text: structure).present?
end