From 8c5831999290eddb3c152289349d1e70c1bc4fad Mon Sep 17 00:00:00 2001 From: Joffrey JAFFEUX Date: Wed, 15 Apr 2020 12:41:01 +0200 Subject: [PATCH] DEV: allows to decorate topic header class (#9427) --- .../discourse/widgets/header-topic-info.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/discourse/widgets/header-topic-info.js b/app/assets/javascripts/discourse/widgets/header-topic-info.js index 2e73b3253bd..c6488d05629 100644 --- a/app/assets/javascripts/discourse/widgets/header-topic-info.js +++ b/app/assets/javascripts/discourse/widgets/header-topic-info.js @@ -57,6 +57,18 @@ createWidget("topic-header-participant", { export default createWidget("header-topic-info", { tagName: "div.extra-info-wrapper", + buildFancyTitleClass() { + const baseClass = ["topic-link"]; + const flatten = array => [].concat.apply([], array); + const extraClass = flatten( + applyDecorators(this, "fancyTitleClass", this.attrs, this.state) + ); + return baseClass + .concat(extraClass) + .filter(Boolean) + .join(" "); + }, + html(attrs, state) { const topic = attrs.topic; @@ -87,7 +99,7 @@ export default createWidget("header-topic-info", { const titleHTML = new RawHtml({ html: `${fancyTitle}` }); heading.push( this.attach("link", { - className: "topic-link", + className: this.buildFancyTitleClass(), action: "jumpToTopPost", href, attributes: { "data-topic-id": topic.get("id") },