[21337] | 1 | Index: ../trunk-jpl/src/m/classes/clusters/generic.js
|
---|
| 2 | ===================================================================
|
---|
| 3 | --- ../trunk-jpl/src/m/classes/clusters/generic.js (revision 20587)
|
---|
| 4 | +++ ../trunk-jpl/src/m/classes/clusters/generic.js (revision 20588)
|
---|
| 5 | @@ -48,12 +48,36 @@
|
---|
| 6 |
|
---|
| 7 | var oReq = new XMLHttpRequest();
|
---|
| 8 | oReq.open("POST", this.url, true);
|
---|
| 9 | - oReq.responseType = 'arraybuffer';
|
---|
| 10 | -
|
---|
| 11 | + oReq.responseType = 'application/octet-stream';
|
---|
| 12 | + oReq.position = 0
|
---|
| 13 | +
|
---|
| 14 | + //TODO: dynamic progress update with package lengths and parsing
|
---|
| 15 | + oReq.onprogress = function (oEvent) {
|
---|
| 16 | + var newResponse = oReq.responseText;
|
---|
| 17 | + if (newResponse.length == 13) { //"Starting" length as encoded in base64 length
|
---|
| 18 | + $(".run-button").html("COMPUTING...").prop("disabled", true);
|
---|
| 19 | + console.log("base64 repsonse: " + newResponse + " string response: " + window.atob(oReq.responseText));
|
---|
| 20 | + }
|
---|
| 21 | + };
|
---|
| 22 | +
|
---|
| 23 | oReq.onload = function (oEvent) {
|
---|
| 24 | - var returnBuffer = new Uint8Array(oReq.response.slice());
|
---|
| 25 | + //get context to this.str2ab to avoid duplciation
|
---|
| 26 | + function str2ab(str) {
|
---|
| 27 | + var buf = new Uint8Array(str.length);
|
---|
| 28 | + for (var i=0, strLen=str.length; i < strLen; i++) {
|
---|
| 29 | + buf[i] = str.charCodeAt(i);
|
---|
| 30 | + }
|
---|
| 31 | + return buf;
|
---|
| 32 | + } //}}}
|
---|
| 33 | + var buffer2 = str2ab(window.atob(oReq.responseText.slice(13)));
|
---|
| 34 | + var returnBuffer = new Uint8Array(buffer2);
|
---|
| 35 | var returnBuffer_size=returnBuffer.byteLength;
|
---|
| 36 | - md.results= parseresultsfrombuffer(returnBuffer,returnBuffer_size);
|
---|
| 37 | + try {
|
---|
| 38 | + md.results= parseresultsfrombuffer(returnBuffer,returnBuffer_size);
|
---|
| 39 | + }
|
---|
| 40 | + catch (e) {
|
---|
| 41 | + console.log(e);
|
---|
| 42 | + }
|
---|
| 43 | callbackfunction();
|
---|
| 44 | };
|
---|
| 45 |
|
---|