diff --git a/src/scripts/lib/clay-config.js b/src/scripts/lib/clay-config.js index 17ce0c7..ba5467d 100644 --- a/src/scripts/lib/clay-config.js +++ b/src/scripts/lib/clay-config.js @@ -56,7 +56,7 @@ function ClayConfig(settings, config, $rootContainer) { var _item = _.copyObj(item); _item.clayId = _items.length; - var clayItem = new ClayItem(_item).initialize(); + var clayItem = new ClayItem(_item).initialize(self); if (_item.id) { _itemsById[_item.id] = clayItem; diff --git a/src/scripts/lib/clay-item.js b/src/scripts/lib/clay-item.js index 02a0ca3..168288d 100644 --- a/src/scripts/lib/clay-item.js +++ b/src/scripts/lib/clay-item.js @@ -48,11 +48,12 @@ function ClayItem(config) { /** * Run the initializer if it exists and attaches the css to the head. * Passes minified as the first param + * @param {ClayConfig} clay * @returns {ClayItem} */ - self.initialize = function() { + self.initialize = function(clay) { if (typeof _component.initialize === 'function') { - _component.initialize.call(self, minified); + _component.initialize.call(self, minified, clay); } return self; }; diff --git a/test/spec/lib/clay-item.js b/test/spec/lib/clay-item.js index afd5995..3744212 100644 --- a/test/spec/lib/clay-item.js +++ b/test/spec/lib/clay-item.js @@ -96,9 +96,9 @@ describe('ClayItem', function() { describe('.initialize()', function() { it('calls component initializer with the ClayItem as context', function() { var initializeSpy = sinon.spy(componentRegistry.select, 'initialize'); - var clayItem = fixture.clayItem('select').initialize(); - assert(initializeSpy.alwaysCalledOn(clayItem)); - assert(initializeSpy.alwaysCalledWith(minified)); + var clayConfig = fixture.clayConfig(['select']); + assert(initializeSpy.alwaysCalledOn(clayConfig.getItemsByType('select')[0])); + assert(initializeSpy.alwaysCalledWith(minified, clayConfig)); initializeSpy.restore(); });