Skip to content

Commit d391f5a

Browse files
committed
Added method _cloneObject
Added method _cloneObject makes a copy of the settings, that data is not overwritten.
1 parent 4f20edc commit d391f5a

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

intro.js

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
var allIntroSteps = [];
7575

7676
for (var i = 0, stepsLength = this._options.steps.length; i < stepsLength; i++) {
77-
var currentItem = this._options.steps[i];
77+
var currentItem = _cloneObject(this._options.steps[i]);
7878
//set the step
7979
currentItem.step = i + 1;
8080
//use querySelector function only when developer used CSS selector
@@ -204,6 +204,21 @@
204204
return false;
205205
}
206206

207+
/*
208+
* makes a copy of the object
209+
* @api private
210+
* @method _cloneObject
211+
*/
212+
function _cloneObject(object) {
213+
if (object == null || typeof (object) != 'object') {
214+
return object;
215+
}
216+
var temp = {};
217+
for (var key in object) {
218+
temp[key] = _cloneObject(object[key]);
219+
}
220+
return temp;
221+
}
207222
/**
208223
* Go to specific step of introduction
209224
*

0 commit comments

Comments
 (0)