From 58f080fd8722d99b23cb582fe3c4c7033a77eb9b Mon Sep 17 00:00:00 2001 From: Paul Edwards Date: Thu, 3 Sep 2015 14:43:29 +0100 Subject: [PATCH] Added event namespace and "Big S" usage. --- js/foundation/foundation.accordion.js | 71 ++++++++++++++------------- 1 file changed, 36 insertions(+), 35 deletions(-) diff --git a/js/foundation/foundation.accordion.js b/js/foundation/foundation.accordion.js index 0b542091e..f01fca28b 100644 --- a/js/foundation/foundation.accordion.js +++ b/js/foundation/foundation.accordion.js @@ -81,41 +81,42 @@ } }, - toggle : function(options) { - var options = typeof options !== 'undefined' ? options : {}; - var selector = typeof options.selector !== 'undefined' ? options.selector : ''; - var toggle_state = typeof options.toggle_state !== 'undefined' ? options.toggle_state : ''; - var $accordion = typeof options.$accordion !== 'undefined' ? options.$accordion : this.S(this.scope).closest('[' + this.attr_name() + ']'); - - var $items = $accordion.find('> dd' + selector + ', > li' + selector); - if ( $items.length < 1 ) { - if ( window.console ) { - console.error('Selection not found.', selector); - } - return false; - } - - var active_class = this.settings.active_class; - $items.each(function() { - var $item = $(this); - var is_active = $item.hasClass(active_class); - if ( ( is_active && toggle_state === 'close' ) || ( !is_active && toggle_state === 'open' ) || toggle_state == '' ) { - $item.find('> a').trigger('click'); - } - }); - }, - - open : function(options) { - var options = typeof options !== 'undefined' ? options : {}; - options.toggle_state = 'open'; - this.toggle(options); - }, - - close : function(options) { - var options = typeof options !== 'undefined' ? options : {}; - options.toggle_state = 'close'; - this.toggle(options); - }, + toggle : function(options) { + var options = typeof options !== 'undefined' ? options : {}; + var selector = typeof options.selector !== 'undefined' ? options.selector : ''; + var toggle_state = typeof options.toggle_state !== 'undefined' ? options.toggle_state : ''; + var $accordion = typeof options.$accordion !== 'undefined' ? options.$accordion : this.S(this.scope).closest('[' + this.attr_name() + ']'); + + var $items = $accordion.find('> dd' + selector + ', > li' + selector); + if ( $items.length < 1 ) { + if ( window.console ) { + console.error('Selection not found.', selector); + } + return false; + } + + var S = this.S; + var active_class = this.settings.active_class; + $items.each(function() { + var $item = S(this); + var is_active = $item.hasClass(active_class); + if ( ( is_active && toggle_state === 'close' ) || ( !is_active && toggle_state === 'open' ) || toggle_state === '' ) { + $item.find('> a').trigger('click.fndtn.accordion'); + } + }); + }, + + open : function(options) { + var options = typeof options !== 'undefined' ? options : {}; + options.toggle_state = 'open'; + this.toggle(options); + }, + + close : function(options) { + var options = typeof options !== 'undefined' ? options : {}; + options.toggle_state = 'close'; + this.toggle(options); + }, off : function () {}, -- 2.47.2