Скрыть определенные настройки группы, если название группы включает конкретное имя

Итак, я понял, что мне нужно создавать эти функции самостоятельно, в отличие от Jinja2, где есть полезные встроенные возможности для этого.

Но где именно в моём плагине следует создавать эти функции Handlebars? Я вижу множество примеров здесь: Repository search results · GitHub

Однако я не вижу чёткого паттерна в структуре этой папки. Я создал свою собственную функцию в discourse-group-custom-fields/assets/javascripts/discourse/app/helpers/contains.js, но при попытке использовать её в discourse-group-custom-fields/assets/javascripts/discourse/connectors/group-edit/field-container.hbs получаю ошибку: Uncaught Error: Attempted to resolve "contains", which was expected to be a component, but nothing was found.. Очевидно, что это не тот путь, куда Discourse обращается, или я что-то делаю неправильно.

import RawHandlebars from "discourse-common/lib/raw-handlebars";
import { htmlSafe } from "@ember/template";
import { rawConnectorsFor } from "discourse/lib/plugin-connectors";

//RawHandlebars.registerHelper("contains", function (args) {
//  const connectors = rawConnectorsFor(args.hash.name);
//  if (connectors.length) {
//    const output = connectors.map((c) => c.template({ context: this }));
//    return htmlSafe(output.join(""));
//  }
//});


Handlebars.registerHelper('contains', function(needle, haystack, options) {
     needle = Handlebars.escapeExpression(needle);
     haystack = Handlebars.escapeExpression(haystack);
     return (haystack.indexOf(needle) > -1) ? options.fn(this) : options.inverse(this);
});

В теме ниже предполагается, что это может находиться в директории initializers и иметь расширение es6.

Поэтому я переместил свой contains.js в эту директорию, добавил расширение .es6, но получил ту же ошибку. Любая помощь или документация были бы очень кстати :slight_smile: