Versão atual:

Ao selecionar o valor do filter, cria filho em um pai x filho, mas buga o filter.

Pessoal, estou adicionando filhos em uma tabela no momento em que em outra tabela eu seleciono o valor de um campo do tipo Filter.

Mas quando chamo a função "wdkAddChild" para a tabela que vai receber a linha, o próximo filho da tabela atual buga no momento de renderizar o Filter, assim:

1º - Adiciono um filho na tabela 1 e seleciono o valor no campo Filter

1.PNG 1.2.PNG

2º - No momento que seleciono o valor do filter, adiciono um filho na tabela 2

2.PNG

3º - Após isso, ao adicionar outro filho na tabela 1, no momento em que o filter será criado no input, ocorre o Bug:

3.PNG

Já debuguei todo o código e descobri que se eu nao adicionar filho na tabela 2 (wdkAddChild), o bug não ocorre; Olhei todos os ids de tabelas e nenhum está conflitando

Código do render do filter: (é chamado no botão que cria filho na tabela 1)

function addCC(idTable, idInputProduto, codProduto, descProduto){

    //Adiciona Filho
    let idx = wdkAddChild(idTable);

    //Renderiza filtro no input produto
    let matricula = $("#matriculausuario").val()
    let codMatriz = $("#codMatriz").val()
    let codFilial = $("#codFilial").val()
    let idFormulario = buscaRegPermCC(matricula)

    let settings = {
        source: {
            url:  '/api/public/ecm/dataset/search?datasetId=dsSearchTableForm&searchField=Area&filterFields=codMatriz,'+codMatriz+',codFilial,'+codFilial+',idForm,'+idFormulario+',datasetName,fsRegPermCC,dataTable,tableCCusto&',
            contentType: 'application/json',
            root: 'content',
            pattern: '',
            limit: 10,
            offset: 0,
            patternKey: 'ccusto',
            limitkey: 'limit',
            offsetKey: 'offset'
        },
        displayKey: 'ccusto',
        multiSelect: false,
        style: {
            autocompleteTagClass: 'tag-gray',
            tableSelectedLineClass: 'info'
        },
        table: {
            header: [
                {
                    'title': 'Código',
                    'size': 'col-xs-3',
                    'dataorder': 'name'
                },{
                    'title': 'Centro de Custo',
                    'size': 'col-xs-9',
                    'dataorder': 'name',
                    'standard': true
                }
            ],
            renderContent: ['codCC','ccusto']
        }
    }
    let filter = FLUIGC.filter('#'+idInputProduto+"___"+idx, settings);


    //Ao adicionar item no filter, popula table orçamento, adiciona cod centro custo
    filter.on('fluig.filter.item.added', function(data){

        populaTableOrcamento(codProduto,data.item.codCC,data.item.ccusto,descProduto)

        $('#codCCusto___'+idx).val(data.item.codCC)
        $('#chaveRemove___'+idx).val(data.item.codCC+codProduto)


        //ADICIONA FUNÇÃO AO CLICK DE REMOÇÃO DO CENTRO DE CUSTO
        $("span[data-role='remove']").on('click',function(){

            //let chave = $("[detailname="+$(this).closest('tr').attr('detailname')+"] td input[id^='chaveRemove___']").val()
            let chave = $("[detailname="+$("#"+idInputProduto+"___"+idx).closest('tr').attr('detailname')+"] td input[id^='chaveRemove___']").val()

            excluiLinhaOrcamento(chave)
        })
    });

}

Código que adiciona filho na tabela 2 :

function populaTableOrcamento(codProd, codCCusto, descCCusto, descProduto){

    let idx = wdkAddChild('tableOrcamento');
    let date = new Date()
    let dataTotal = date.getUTCDate() + '/' + date.getUTCMonth() + '/' + date.getUTCFullYear()

    $("#dataTableOrcamento___"+idx).val(dataTotal);
    $("#centroCustoOrcamento___"+idx).val(descCCusto);
    $("#produtoOrcamento___"+idx).val(descProduto);
    $("#chaveOrcamento___"+idx).val(codCCusto+codProd)

    //Hidens
    $("#codCCOrcamento___"+idx).val(codCCusto);
    $("#codProdOrcamento___"+idx).val(codProd);
};

Versão (1):

Ver a versão formatada

Ao selecionar o valor do filter, cria filho em um pai x filho, mas buga o filter.

Comentário

new question