From 37a24a6e0436296a734ebc17928685c40f6adeb8 Mon Sep 17 00:00:00 2001 From: Lonewolf Date: Thu, 3 Apr 2014 20:32:34 +0530 Subject: [PATCH] get_settings method to fetch settings adding close_on_click option for offcanvas menu --- js/foundation/foundation.offcanvas.js | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) 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)); -- 2.47.2