I have a clone function (shown below) for deep copying of objects. How could I clone a datasource object (like the one below) and then change the url and then re-use it for multiple Grids?
datasource2 = clone(datasource);
datasource2.transport.read.url = "http://anotherSite"; // will not work, but this is the idea
here is my clone function:
dataSource = new kendo.data.DataSource({ type:"json", transport:{ read:{ dataType:"json" } }, schema:{ data:"results", total:"count" }, error:function (e) { alert("fetch types error happened: " + e); }});datasource2 = clone(datasource);
datasource2.transport.read.url = "http://anotherSite"; // will not work, but this is the idea
here is my clone function:
function clone(obj) { var copy; // Handle the 3 simple types, and null or undefined if (null == obj || "object" != typeof obj) { return obj; } // Handle Date if (obj instanceof Date) { copy = new Date(); copy.setTime(obj.getTime()); return copy; } // Handle Array if (obj instanceof Array) { copy = []; var i; var len = obj.length; for (i = 0; i < len; ++i) { copy[i] = clone(obj[i]); } return copy; } // Handle Object if (obj instanceof Object) { copy = {}; for (var attr in obj) { if (obj.hasOwnProperty(attr)) copy[attr] = clone(obj[attr]); } return copy; } throw new Error("Unable to copy obj! Its type isn't supported.");}