Skip to content

Commit 1b3a7f5

Browse files
authored
Update CanvasJS As CSV.js
1 parent ab97943 commit 1b3a7f5

File tree

1 file changed

+29
-2
lines changed

1 file changed

+29
-2
lines changed

src/CanvasJS As CSV.js

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ function mergeData(data) {
5757
result = [];
5858
for (var i = 0; i < data.length; i++) {
5959
for (var j = 0; j < data[i].dataPoints.length; j++) {
60-
mergedDps.push(data[i].dataPoints[j]);
60+
mergedDps.push(cloneObject(data[i].dataPoints[j]));
6161
}
6262
}
6363

@@ -150,4 +150,31 @@ if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {
150150
window.CanvasJSDataAsCSV = CanvasJSDataAsCSV;
151151
}
152152
}
153-
})();
153+
function cloneObject(obj) {
154+
if (obj === null || typeof obj !== "object") {
155+
return obj;
156+
}
157+
if (obj instanceof Date) {
158+
return new Date(obj.getTime());
159+
}
160+
if (!Array.isArray) {
161+
Array.isArray = function (arg) {
162+
return Object.prototype.toString.call(arg) === '[object Array]';
163+
};
164+
}
165+
if (Array.isArray(obj)) {
166+
var clonedArr = [];
167+
for (var i = 0; i < obj.length; i++) {
168+
clonedArr.push(cloneObject(obj[i]))
169+
}
170+
return clonedArr;
171+
}
172+
var clonedObj = new obj.constructor();
173+
for (var prop in obj) {
174+
if (obj.hasOwnProperty(prop)) {
175+
clonedObj[prop] = cloneObject(obj[prop]);
176+
}
177+
}
178+
return clonedObj;
179+
}
180+
})();

0 commit comments

Comments
 (0)