From 63de4a6982f2163375123d07bf2fe00974ca1ae1 Mon Sep 17 00:00:00 2001 From: Frode Petterson Date: Thu, 4 Apr 2013 14:58:17 +0200 Subject: [PATCH] Added adding of slides. Added cloning of slides. Added deleting of slides. Added clone function to h5p.js Renamed editor library. --- js/h5p.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/js/h5p.js b/js/h5p.js index 103bc72..a95d2c1 100644 --- a/js/h5p.js +++ b/js/h5p.js @@ -182,6 +182,30 @@ H5P.playVideo = function ($target, params, skipButtonText, cp, onEnded) { $target.append($container); }; +/** + * Recursivly clone the given object. + * + * @param {object} object Object to clone. + * @param {type} recursive + * @returns {object} A clone of object. + */ +H5P.cloneObject = function (object, recursive) { + var clone = {}; + + for (var i in object) { + if (object.hasOwnProperty(i)) { + if (recursive !== undefined && recursive && typeof object[i] === 'object') { + clone[i] = object[i] instanceof Array ? object[i].slice() : H5P.cloneObject(object[i]); + } + else { + clone[i] = object[i]; + } + } + } + + return clone; +}; + // We have several situations where we want to shuffle an array, extend array // to do so. Array.prototype.shuffle = function() {