queryBuilder.js 1.77 KB




var table;
var titles;

(function($) {




    var $buildForm = $('.build-form');



    // get all user meta keys
    $.ajax({
        type: 'GET',
        url: window.ajaxurl,
        data: {
            action: 'get_meta_keys'
        },
        success: function(data) {
            titles = data;

            initQueryBuilder(JSON.parse(data));
        },
        error: function(jqXHR, error, errorThrown) {
            if (jqXHR.status && jqXHR.status == 400) {
                //alert(jqXHR.responseText);
            } else {
                alert("Something went wrong");
            }
        }
    });
  

    function initQueryBuilder(meta_keys) {
        var filters = meta_keys;
        //console.log(filters);

        var rules_basic = {
            rules: [{
                id: 'givenName',
                operator: 'contains',
                value: ''
            }]
        };



        $('#builder').queryBuilder({
            plugins: [
                'sortable',
                'filter-description',
                'unique-filter',
                'bt-tooltip-errors',
                'bt-selectpicker',
                'bt-checkbox',
                'invert',
                'not-group'
            ],
            filters: filters,
           
                // rules: rules_basic
        });

        $('#btn-reset').on('click', function() {
            $('#builder').queryBuilder('reset');
              $(".json-parsed").empty();
        });

    
    
$('#btn-set').on('click', function () {
    event.preventDefault();
    // JSON

    var resJson = $('#builder').queryBuilder('getRules');
    
    $(".json-parsed").html(JSON.stringify(resJson, null, 2));

    // SQL

    var resSql = $('#builder').queryBuilder('getSQL', false);

  
});

    
        


    }
})(jQuery);