var MyWidget = SuperWidget.extend({

    // Variáveis do widget (se precisar salvar estado entre chamadas)
    instanceId: null,

    // Método iniciado quando o widget é carregado
    init: function() {
        this.instanceId = this.instanceId || new Date().getTime();
        console.log("Widget Solicitações carregado, instância:", this.instanceId);
    },
  
    // BIND de eventos
    bindings: {
        local: {
            'pesquisar': ['click_consultarSolicitacoes']
        },
        global: {}
    },
 
    // Função chamada ao clicar em "Pesquisar"
    consultarSolicitacoes: function(htmlElement, event) {
        var numero = $("#filtroNumero_" + this.instanceId).val();
        var solicitante = $("#filtroSolicitante_" + this.instanceId).val();
        var status = $("#filtroStatus_" + this.instanceId).val();

        var constraints = [];
        if (numero) constraints.push(DatasetFactory.createConstraint("C1_NUM", numero, numero, ConstraintType.MUST));
        if (solicitante) constraints.push(DatasetFactory.createConstraint("C1_SOLICIT", solicitante, solicitante, ConstraintType.MUST));
        if (status) constraints.push(DatasetFactory.createConstraint("STATUS", status, status, ConstraintType.MUST));

        var ds = DatasetFactory.getDataset("dsSolicitacoesCompra", null, constraints, null);

        let html = `<table class="table table-striped">
            <thead><tr>
              <th>Número</th><th>Solicitante</th><th>Data</th><th>Status</th><th>Pedido</th>
            </tr></thead><tbody>`;

        if (ds && ds.values.length) {
            ds.values.forEach(sc => {
                html += `<tr>
                    <td>${sc.C1_NUM}</td>
                    <td>${sc.C1_SOLICIT}</td>
                    <td>${sc.C1_EMISSAO}</td>
                    <td>${sc.STATUS}</td>
                    <td>${sc.C1_PEDIDO || '-'}</td>
                </tr>`;
            });
        } else {
            html += `<tr><td colspan="5" class="text-center">Nenhuma solicitação encontrada</td></tr>`;
        }

        html += `</tbody></table>`;
        $("#listaSolicitacoes_" + this.instanceId).html(html);
    }
});
