Ocultar certas configurações de grupo se o nome do grupo incluir um nome específico

Entendo e aceito que preciso criar essas funções, não é como o Jinja2 com coisas úteis integradas para fazer isso.

Mas onde devo criar essas funções do handlebars no meu plugin? Vejo vários exemplos aqui: Repository search results · GitHub

Mas não vejo realmente um padrão nesta estrutura de pastas. Criei minha própria função em discourse-group-custom-fields/assets/javascripts/discourse/app/helpers/contains.js, mas quando tento usá-la em discourse-group-custom-fields/assets/javascripts/discourse/connectors/group-edit/field-container.hbs recebo o erro Uncaught Error: Attempted to resolve "contains", which was expected to be a component, but nothing was found.. Então, obviamente, este não é um caminho onde o Discourse está procurando, ou estou fazendo algo errado.

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);
});

O tópico abaixo sugere que pode estar no diretório de inicializadores e ter a extensão es6.

Então movi meu contains.js para esse diretório e adicionei .e6 como extensão e recebi o mesmo erro. Alguma ajuda ou documentação seria ótima :slight_smile: