proxy.rest

webix.proxy.rest

webix.proxy.rest helper.

Please look into the linked official documentation.

References

helpers
ajax().

External references

Official documentation page.

Code

 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
webix.proxy.rest = {
    $proxy:true,
    load:function(view, callback){
        webix.ajax(this.source, callback, view);
    },
    save:function(view, update, dp, callback){
        return webix.proxy.rest._save_logic.call(this, view, update, dp, callback, webix.ajax());
    },
    _save_logic:function(view, update, dp, callback, ajax){
        var url = this.source;
        var query = "";
        var mark = url.indexOf("?");

        if (mark !== -1){
            query = url.substr(mark);
            url = url.substr(0, mark);
        }

        url += url.charAt(url.length-1) == "/" ? "" : "/";
        var mode = update.operation;


        var data = update.data;
        if (mode == "insert") delete data.id;

        //call rest URI
        if (mode == "update"){
            ajax.put(url + data.id + query, data, callback);
        } else if (mode == "delete") {
            ajax.del(url + data.id + query, data, callback);
        } else {
            ajax.post(url, data, callback);
        }
    }
};