From 7ef365454c1ca797f41f77d80187f6014b64b4ac Mon Sep 17 00:00:00 2001 From: Mike Taylor Date: Tue, 8 Apr 2014 12:47:16 +0100 Subject: [PATCH] Add mkws.objectInheritingFrom function, code is from Douglas Crockford's article "Prototypal Inheritance in JavaScript": http://javascript.crockford.com/prototypal.html mkws.objectInheritingFrom behaves the same as Object.create, but since the latter is not available in IE8 we can't use it. Fixes bug MKWS-77 *again*. --- src/mkws-core.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/mkws-core.js b/src/mkws-core.js index 01f82c8..6b1e0f6 100644 --- a/src/mkws-core.js +++ b/src/mkws-core.js @@ -144,13 +144,25 @@ mkws.setMkwsConfig = function(overrides) { dummy: "dummy" }; - mkws.config = Object.create(config_default); + mkws.config = mkws.objectInheritingFrom(config_default); for (var k in overrides) { mkws.config[k] = overrides[k]; } }; +// This code is from Douglas Crockford's article "Prototypal Inheritance in JavaScript" +// http://javascript.crockford.com/prototypal.html +// mkws.objectInheritingFrom behaves the same as Object.create, +// but since the latter is not available in IE8 we can't use it. +// +mkws.objectInheritingFrom = function(o) { + function F() {} + F.prototype = o; + return new F(); +} + + // The following functions are dispatchers for team methods that // are called from the UI using a team-name rather than implicit // context. -- 1.7.10.4