diff --git a/src/definitions/modules/dimmer.js b/src/definitions/modules/dimmer.js index 49d29e7bc..41deea3d3 100644 --- a/src/definitions/modules/dimmer.js +++ b/src/definitions/modules/dimmer.js @@ -82,28 +82,8 @@ $.fn.dimmer = function(parameters) { initialize: function() { module.debug('Initializing dimmer', settings); - if(settings.on == 'hover') { - $dimmable - .on('mouseenter' + eventNamespace, module.show) - .on('mouseleave' + eventNamespace, module.hide) - ; - } - else if(settings.on == 'click') { - $dimmable - .on(clickEvent + eventNamespace, module.toggle) - ; - } - if( module.is.page() ) { - module.debug('Setting as a page dimmer', $dimmable); - module.set.pageDimmer(); - } - if( module.is.closable() ) { - module.verbose('Adding dimmer close event', $dimmer); - $dimmable - .on(clickEvent + eventNamespace, selector.dimmer, module.event.click) - ; - } + module.bind.events(); module.set.dimmable(); module.instantiate(); }, @@ -118,14 +98,48 @@ $.fn.dimmer = function(parameters) { destroy: function() { module.verbose('Destroying previous module', $dimmer); - $module - .removeData(moduleNamespace) - ; + module.unbind.events(); + module.remove.variation(); $dimmable .off(eventNamespace) ; }, + bind: { + events: function() { + if(settings.on == 'hover') { + $dimmable + .on('mouseenter' + eventNamespace, module.show) + .on('mouseleave' + eventNamespace, module.hide) + ; + } + else if(settings.on == 'click') { + $dimmable + .on(clickEvent + eventNamespace, module.toggle) + ; + } + if( module.is.page() ) { + module.debug('Setting as a page dimmer', $dimmable); + module.set.pageDimmer(); + } + + if( module.is.closable() ) { + module.verbose('Adding dimmer close event', $dimmer); + $dimmable + .on(clickEvent + eventNamespace, selector.dimmer, module.event.click) + ; + } + } + }, + + unbind: { + events: function() { + $module + .removeData(moduleNamespace) + ; + } + }, + event: { click: function(event) { module.verbose('Determining if event occured on dimmer', event); @@ -367,11 +381,11 @@ $.fn.dimmer = function(parameters) { set: { opacity: function(opacity) { var - opacity = settings.opacity || opacity, color = $dimmer.css('background-color'), colorArray = color.split(','), isRGBA = (colorArray && colorArray.length == 4) ; + opacity = settings.opacity || opacity; if(isRGBA) { colorArray[3] = opacity + ')'; color = colorArray.join(','); @@ -396,6 +410,12 @@ $.fn.dimmer = function(parameters) { }, disabled: function() { $dimmer.addClass(className.disabled); + }, + variation: function(variation) { + variation = variation || settings.variation; + if(variation) { + $dimmer.addClass(variation); + } } }, @@ -410,6 +430,12 @@ $.fn.dimmer = function(parameters) { }, disabled: function() { $dimmer.removeClass(className.disabled); + }, + variation: function(variation) { + variation = variation || settings.variation; + if(variation) { + $dimmer.removeClass(variation); + } } },