From e3774c7bed3c7729b843d3124da47e8320f7c196 Mon Sep 17 00:00:00 2001 From: Joffrey JAFFEUX Date: Wed, 14 Feb 2018 11:49:23 +0100 Subject: [PATCH] FEATURE: displays category badge in {{category-chooser}} header --- .../components/category-chooser.js.es6 | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/app/assets/javascripts/select-kit/components/category-chooser.js.es6 b/app/assets/javascripts/select-kit/components/category-chooser.js.es6 index 65030131c7d..1acada02721 100644 --- a/app/assets/javascripts/select-kit/components/category-chooser.js.es6 +++ b/app/assets/javascripts/select-kit/components/category-chooser.js.es6 @@ -3,6 +3,7 @@ import { on } from "ember-addons/ember-computed-decorators"; import computed from "ember-addons/ember-computed-decorators"; import PermissionType from "discourse/models/permission-type"; import Category from "discourse/models/category"; +import { categoryBadgeHTML } from "discourse/helpers/category-link"; const { get, isNone, isEmpty } = Ember; export default ComboBoxComponent.extend({ @@ -57,6 +58,34 @@ export default ComboBoxComponent.extend({ } }, + computeHeaderContent() { + let content = this.baseHeaderComputedContent(); + + if (this.get("hasSelection")) { + const category = Category.findById(content.value); + const parentCategoryId = category.get("parent_category_id"); + + let badge = ""; + + if (!Ember.isNone(parentCategoryId)) { + const parentCategory = Category.findById(parentCategoryId); + badge += categoryBadgeHTML(parentCategory, { + link: false, + allowUncategorized: true + }).htmlSafe(); + } + + badge += categoryBadgeHTML(category, { + link: false, + allowUncategorized: true + }).htmlSafe(); + + content.label = badge; + } + + return content; + }, + @on("didRender") _bindComposerResizing() { this.appEvents.on("composer:resized", this, this.applyDirection);