From: Lonewolf Date: Thu, 3 Apr 2014 15:02:34 +0000 (+0530) Subject: get_settings method to fetch settings X-Git-Tag: v5.2.3~83^2~3^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F4883%2Fhead;p=thirdparty%2Ffoundation%2Ffoundation-sites.git get_settings method to fetch settings adding close_on_click option for offcanvas menu --- diff --git a/js/foundation/foundation.offcanvas.js b/js/foundation/foundation.offcanvas.js index c17fc495b..4b706b270 100644 --- a/js/foundation/foundation.offcanvas.js +++ b/js/foundation/foundation.offcanvas.js @@ -6,10 +6,12 @@ version : '5.2.1', - settings : {}, + settings : { + close_on_click: true, + }, init : function (scope, method, options) { - this.events(); + this.bindings(method, options); }, events : function () { @@ -21,13 +23,17 @@ self.click_toggle_class(e, 'move-right'); }) .on('click.fndtn.offcanvas', '.left-off-canvas-menu a', function (e) { - S(".off-canvas-wrap").removeClass("move-right"); + var settings = self.get_settings(e) + if (settings.close_on_click) + S(".off-canvas-wrap").removeClass("move-right"); }) .on('click.fndtn.offcanvas', '.right-off-canvas-toggle', function (e) { self.click_toggle_class(e, 'move-left'); }) .on('click.fndtn.offcanvas', '.right-off-canvas-menu a', function (e) { - S(".off-canvas-wrap").removeClass("move-left"); + var settings = self.get_settings(e) + if (settings.close_on_click) + S(".off-canvas-wrap").removeClass("move-left"); }) .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) { self.click_remove_class(e, 'move-left'); @@ -45,6 +51,11 @@ this.S('.off-canvas-wrap').removeClass(class_name); }, + get_settings: function(e) { + var offcanvas = this.S(e.target).closest('[' + this.attr_name() + ']') + return offcanvas.data(this.attr_name(true) + '-init') || this.settings; + }, + reflow : function () {} }; }(jQuery, this, this.document));