DataDriver.csv

class webix.DataDriver.csv()

Datadriver.csv mixin

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
36
37
38
39
40
webix.DataDriver.csv={
    //incoming data always a string
    toObject:function(data){
        return data;
    },
    //get array of records
    getRecords:function(data){
        return data.split(this.row);
    },
    //get hash of properties for single record, data named as "data{index}"
    getDetails:function(data){
        data = this.stringToArray(data);
        var result = {};
        for (var i=0; i < data.length; i++)
            result["data"+i]=data[i];

        if (this.idColumn !== null)
            result.id = data[this.idColumn];

        return result;
    },
    getOptions:function(){ return false; },
    //dyn loading is not supported by csv data source
    getInfo:function(data){
        return {
            size:0,
            from:0
        };
    },
    //split string in array, takes string surrounding quotes in account
    stringToArray:function(data){
        data = data.split(this.cell);
        for (var i=0; i < data.length; i++)
         data[i] = data[i].replace(/^[ \t\n\r]*(\"|)/g,"").replace(/(\"|)[ \t\n\r]*$/g,"");
        return data;
    },
    idColumn:null,
    row:"\n",    //default row separator
    cell:","    //default cell separator
};