From: Mike Taylor Date: Tue, 8 Apr 2014 11:47:16 +0000 (+0100) Subject: Add mkws.objectInheritingFrom function, code is from Douglas X-Git-Tag: 1.0.0~982^2~2 X-Git-Url: http://git.indexdata.com/?p=mkws-moved-to-github.git;a=commitdiff_plain;h=7ef365454c1ca797f41f77d80187f6014b64b4ac 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*. --- 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.