[build][xs]: cat files.
This commit is contained in:
44
dist/recline.js
vendored
44
dist/recline.js
vendored
@@ -33,37 +33,45 @@ this.recline.Backend.CSV = this.recline.Backend.CSV || {};
|
|||||||
var reader = new FileReader();
|
var reader = new FileReader();
|
||||||
var encoding = dataset.encoding || 'UTF-8';
|
var encoding = dataset.encoding || 'UTF-8';
|
||||||
reader.onload = function(e) {
|
reader.onload = function(e) {
|
||||||
var rows = my.parseCSV(e.target.result, dataset);
|
var out = my.extractFields(my.parseCSV(data, dataset), dataset);
|
||||||
dfd.resolve({
|
out.useMemoryStore = true;
|
||||||
records: rows,
|
out.metadata = {
|
||||||
metadata: {
|
|
||||||
filename: dataset.file.name
|
filename: dataset.file.name
|
||||||
},
|
}
|
||||||
useMemoryStore: true
|
dfd.resolve(out);
|
||||||
});
|
|
||||||
};
|
};
|
||||||
reader.onerror = function (e) {
|
reader.onerror = function (e) {
|
||||||
alert('Failed to load file. Code: ' + e.target.error.code);
|
alert('Failed to load file. Code: ' + e.target.error.code);
|
||||||
};
|
};
|
||||||
reader.readAsText(dataset.file, encoding);
|
reader.readAsText(dataset.file, encoding);
|
||||||
} else if (dataset.data) {
|
} else if (dataset.data) {
|
||||||
var rows = my.parseCSV(dataset.data, dataset);
|
var out = my.extractFields(my.parseCSV(dataset.data, dataset), dataset);
|
||||||
dfd.resolve({
|
out.useMemoryStore = true;
|
||||||
records: rows,
|
dfd.resolve(out);
|
||||||
useMemoryStore: true
|
|
||||||
});
|
|
||||||
} else if (dataset.url) {
|
} else if (dataset.url) {
|
||||||
jQuery.get(dataset.url).done(function(data) {
|
jQuery.get(dataset.url).done(function(data) {
|
||||||
var rows = my.parseCSV(data, dataset);
|
var out = my.extractFields(my.parseCSV(data, dataset), dataset);
|
||||||
dfd.resolve({
|
out.useMemoryStore = true;
|
||||||
records: rows,
|
|
||||||
useMemoryStore: true
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return dfd.promise();
|
return dfd.promise();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Convert array of rows in { records: [ ...] , fields: [ ... ] }
|
||||||
|
// @param {Boolean} noHeaderRow If true assume that first row is not a header (i.e. list of fields but is data.
|
||||||
|
my.extractFields = function(rows, noFields) {
|
||||||
|
if (noFields.noHeaderRow !== true && rows.length > 0) {
|
||||||
|
return {
|
||||||
|
fields: rows[0],
|
||||||
|
records: rows.slice(1)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return {
|
||||||
|
records: rows
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// ## parseCSV
|
// ## parseCSV
|
||||||
//
|
//
|
||||||
// Converts a Comma Separated Values string into an array of arrays.
|
// Converts a Comma Separated Values string into an array of arrays.
|
||||||
@@ -84,6 +92,8 @@ this.recline.Backend.CSV = this.recline.Backend.CSV || {};
|
|||||||
// fields containing special characters, such as the delimiter or
|
// fields containing special characters, such as the delimiter or
|
||||||
// quotechar, or which contain new-line characters. It defaults to '"'
|
// quotechar, or which contain new-line characters. It defaults to '"'
|
||||||
//
|
//
|
||||||
|
// @param {Integer} skipInitialRows A integer number of rows to skip (default 0)
|
||||||
|
//
|
||||||
// Heavily based on uselesscode's JS CSV parser (MIT Licensed):
|
// Heavily based on uselesscode's JS CSV parser (MIT Licensed):
|
||||||
// http://www.uselesscode.org/javascript/csv/
|
// http://www.uselesscode.org/javascript/csv/
|
||||||
my.parseCSV= function(s, options) {
|
my.parseCSV= function(s, options) {
|
||||||
|
|||||||
Reference in New Issue
Block a user