Browse Source

Using latest (4.0.4)

pull/180/head
Matthew Holt 11 years ago
parent
commit
c8512986bf
  1. 33
      resources/js/papaparse.js

33
resources/js/papaparse.js

@ -1,6 +1,6 @@
/* /*
Papa Parse Papa Parse
v4.0.2 v4.0.4
https://github.com/mholt/PapaParse https://github.com/mholt/PapaParse
*/ */
(function(global) (function(global)
@ -397,7 +397,7 @@
if (!config.chunkSize) if (!config.chunkSize)
config.chunkSize = Papa.RemoteChunkSize; config.chunkSize = Papa.RemoteChunkSize;
var start = 0, fileSize = 0; var start = 0, fileSize = 0, rowCount = 0;
var aggregate = ""; var aggregate = "";
var partialLine = ""; var partialLine = "";
var xhr, url, nextChunk, finishedWithEntireFile; var xhr, url, nextChunk, finishedWithEntireFile;
@ -467,7 +467,7 @@
xhr.open("GET", url, !IS_WORKER); xhr.open("GET", url, !IS_WORKER);
if (config.step) if (config.step || config.chunk)
{ {
var end = start + configCopy.chunkSize - 1; // minus one because byte range is inclusive var end = start + configCopy.chunkSize - 1; // minus one because byte range is inclusive
if (fileSize && end > fileSize) // Hack around a Chrome bug: http://stackoverflow.com/q/24745095/1048862 if (fileSize && end > fileSize) // Hack around a Chrome bug: http://stackoverflow.com/q/24745095/1048862
@ -503,7 +503,7 @@
aggregate += partialLine + xhr.responseText; aggregate += partialLine + xhr.responseText;
partialLine = ""; partialLine = "";
finishedWithEntireFile = !config.step || start > getFileSize(xhr); finishedWithEntireFile = (!config.step && !config.chunk) || start > getFileSize(xhr);
if (!finishedWithEntireFile) if (!finishedWithEntireFile)
{ {
@ -528,13 +528,17 @@
var results = handle.parse(aggregate); var results = handle.parse(aggregate);
aggregate = ""; aggregate = "";
if (results && results.data)
rowCount += results.data.length;
var finishedIncludingPreview = finishedWithEntireFile || (configCopy.preview && rowCount >= configCopy.preview);
if (IS_WORKER) if (IS_WORKER)
{ {
global.postMessage({ global.postMessage({
results: results, results: results,
workerId: Papa.WORKER_ID, workerId: Papa.WORKER_ID,
finished: finishedWithEntireFile finished: finishedIncludingPreview
}); });
} }
else if (isFunction(config.chunk)) else if (isFunction(config.chunk))
@ -543,10 +547,10 @@
results = undefined; results = undefined;
} }
if (finishedWithEntireFile && isFunction(userComplete)) if (isFunction(userComplete) && finishedIncludingPreview)
userComplete(results); userComplete(results);
if (!finishedWithEntireFile && !results.meta.paused) if (!finishedIncludingPreview && (!results || !results.meta.paused))
nextChunk(); nextChunk();
} }
@ -605,6 +609,7 @@
var slice; var slice;
var aggregate = ""; var aggregate = "";
var partialLine = ""; var partialLine = "";
var rowCount = 0;
var paused = false; var paused = false;
var self = this; var self = this;
var reader, nextChunk, slice, finishedWithEntireFile; var reader, nextChunk, slice, finishedWithEntireFile;
@ -657,7 +662,7 @@
function nextChunk() function nextChunk()
{ {
if (!finishedWithEntireFile) if (!finishedWithEntireFile && (!configCopy.preview || rowCount < configCopy.preview))
readChunk(); readChunk();
} }
@ -703,13 +708,17 @@
var results = handle.parse(aggregate); var results = handle.parse(aggregate);
aggregate = ""; aggregate = "";
if (results && results.data)
rowCount += results.data.length;
var finishedIncludingPreview = finishedWithEntireFile || (configCopy.preview && rowCount >= configCopy.preview);
if (IS_WORKER) if (IS_WORKER)
{ {
global.postMessage({ global.postMessage({
results: results, results: results,
workerId: Papa.WORKER_ID, workerId: Papa.WORKER_ID,
finished: finishedWithEntireFile finished: finishedIncludingPreview
}); });
} }
else if (isFunction(config.chunk)) else if (isFunction(config.chunk))
@ -720,10 +729,10 @@
results = undefined; results = undefined;
} }
if (finishedWithEntireFile && isFunction(userComplete)) if (isFunction(userComplete) && finishedIncludingPreview)
userComplete(results); userComplete(results);
if (!results || !results.meta.paused) if (!finishedIncludingPreview && (!results || !results.meta.paused))
nextChunk(); nextChunk();
} }
@ -1064,7 +1073,7 @@
delim = ","; delim = ",";
// Comment character must be valid // Comment character must be valid
if (comments == delim) if (comments === delim)
throw "Comment character same as delimiter"; throw "Comment character same as delimiter";
else if (comments === true) else if (comments === true)
comments = "#"; comments = "#";

Loading…
Cancel
Save