diff options
author | siikamiika <siikamiika@users.noreply.github.com> | 2020-05-23 03:03:34 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-22 20:03:34 -0400 |
commit | 39df44eca40d00242d99e8121179ae8aeffce961 (patch) | |
tree | d7bbc8f6d1c30aa80526482b6aaad6e442adf85a /ext/bg/js/handlebars.js | |
parent | 96ea941fa820a46c147bf9b494ab4710c69ecd9c (diff) |
Fix "tags" template (#539)
* fix tag templates for merge and group modes
* update version upgrade
* adjust upgrade replacement order
Diffstat (limited to 'ext/bg/js/handlebars.js')
-rw-r--r-- | ext/bg/js/handlebars.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/ext/bg/js/handlebars.js b/ext/bg/js/handlebars.js index 860acb14..822174e2 100644 --- a/ext/bg/js/handlebars.js +++ b/ext/bg/js/handlebars.js @@ -123,6 +123,26 @@ function handlebarsRegexMatch(...args) { return value; } +function handlebarsMergeTags(object, isGroupMode, isMergeMode) { + const tagSources = []; + if (isGroupMode || isMergeMode) { + for (const definition of object.definitions) { + tagSources.push(definition.definitionTags); + } + } else { + tagSources.push(object.definitionTags); + } + + const tags = new Set(); + for (const tagSource of tagSources) { + for (const tag of tagSource) { + tags.add(tag.name); + } + } + + return [...tags].join(', '); +} + function handlebarsRegisterHelpers() { if (Handlebars.partials !== Handlebars.templates) { Handlebars.partials = Handlebars.templates; @@ -134,6 +154,7 @@ function handlebarsRegisterHelpers() { Handlebars.registerHelper('sanitizeCssClass', handlebarsSanitizeCssClass); Handlebars.registerHelper('regexReplace', handlebarsRegexReplace); Handlebars.registerHelper('regexMatch', handlebarsRegexMatch); + Handlebars.registerHelper('mergeTags', handlebarsMergeTags); } } |