all files / js/ querybuilderapi.js

90% Statements 9/10
100% Branches 0/0
80% Functions 4/5
90% Lines 9/10
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39                                                            
var $ = require('jquery');
 
/** Class that retrieves JSON responses from Querybuilder.
 * @constructor
 * @param {string} url - URL of JSON API view
 */
 
var QuerybuilderAPI = (function(){
    'use strict';
 
    var QuerybuilderAPI = function(url) {
        this.url = url;
    };
 
    QuerybuilderAPI.prototype = {
        retrieveData: function(endpointName, client_params, widget_params, callback) {
            $.ajax({
                url: this.url,
                type: "POST",
                data: {
                    widget_id: endpointName,
                    widget_params: widget_params,
                    client_params: client_params
                },
                success: function(data) {
                    callback(data);
                },
                error: function(request) {
                    console.log(request.responseText);
                }
            });
        }
    };
 
    return QuerybuilderAPI;
})();
 
module.exports = QuerybuilderAPI;