Função javascript montando zoom

Boa tarde. Gostaria de saber se alguem já teve a necessidade de montar um campo zoom através de uma função javascript. Tenho uma seguinte função que é acionada e sempre que isso acontece ela monta um campo no meu html. Um campo zoom

O problema que para campos html puros digamos assim funciona, e para o zoom não funciona.

Funciona:


html += '<input class="custom-control-input" type="checkbox" id="envia_email" name="envia_email" >' ;
$('#bodyTotais').empty().append(html);

Não funciona


html +='<label id="CP_GRUPOAPROVADORES" name="CP_GRUPOAPROVADORES">Grupo<FONT COLOR="red"> *</FONT></label> <input type="zoom" class="form-control" id="aprovadoresZOOM" name="aprovadoresZOOM"
                                        title="aprovadoresZOOM" placeholder="PESQUISE O GRUPO" onchange="" style=""
                                        data-zoom="{'displayKey':'CODIGO','datasetId':'ds_grupo_aprovadores','maximumSelectionLength':'1','filterValues': '','placeholder':'','fields':[{'field':'CODIGO','label':'Codigo'},{'field':'DESCRICAO','label':'Descricao','standard':'true','search':'true'}]}" />

$('#bodyTotais').empty().append(html);
                                '

O tipo zoom não existe no HTML.

Quando você declara esse tipo o Fluig entende que você quer usar aquele select estiloso que vai pesquisar um dataset, então ele converte para o tipo text e executa o plugin JQuery que cria o select bonitão (se não me engano usa o plugin select2 pra isso).

Então o que você está fazendo é tentando adicionar ao seu elemento uma tag que é inválida (talvez o navegador entenda isso e já converta para text), mas não executou o plugin que vai converter o campo para o select personalizado. Além de ter falha por não ter escapado as aspas simples e com isso ter erro no JS.

Acho que você conseguiria fazer algo similar, funcionando, utilizando a Filter. Declararia o elemento, faria o append e depois executaria a Filter configurando ela para puxar o Dataset.

Acho que também é possível usar o Zoom, mas precisa descobrir como o Fluig faz a chamada às funções que acionam o plugin de customizar o Zoom.