From bf66b217c27a16f61082357e1e9c3181b9954e43 Mon Sep 17 00:00:00 2001 From: "Alex A. Naanou" Date: Sat, 30 Apr 2016 20:14:39 +0300 Subject: [PATCH] more cleanup and refactoring... Signed-off-by: Alex A. Naanou --- ui (gen4)/features/ui-widgets.js | 10 ++++++++-- ui (gen4)/lib/widget/browse.js | 4 ---- ui (gen4)/lib/widget/drawer.js | 5 ++--- ui (gen4)/lib/widget/widget.js | 12 ++++++++++++ 4 files changed, 22 insertions(+), 9 deletions(-) diff --git a/ui (gen4)/features/ui-widgets.js b/ui (gen4)/features/ui-widgets.js index 16320527..4ad73f58 100755 --- a/ui (gen4)/features/ui-widgets.js +++ b/ui (gen4)/features/ui-widgets.js @@ -315,8 +315,14 @@ module.makeUIContainer = function(make){ return uiContainer(function(){ var o = make.apply(this, arguments) - // notify the client that we are closing... - o.close(function(){ o.client.trigger('close') }) + o + // notify the client that we are closing... + .close(function(){ o.client.trigger('close') }) + .client + // NOTE: strictly this is the responsibility of the client + // but it is less error prone to just in case also do + // this here... + .on('close', function(evt){ evt.stopPropagation() }) return o }) diff --git a/ui (gen4)/lib/widget/browse.js b/ui (gen4)/lib/widget/browse.js index 82d1a84f..368826a8 100755 --- a/ui (gen4)/lib/widget/browse.js +++ b/ui (gen4)/lib/widget/browse.js @@ -2155,10 +2155,6 @@ var BrowserPrototype = { setTimeout(function(){ that.update(options.path || that.path || '/') }, 0) - if(this.options.nonPropagatedEvents != null){ - this.on(this.options.nonPropagatedEvents.join(' '), - function(evt){ evt.stopPropagation() }) - } }, } diff --git a/ui (gen4)/lib/widget/drawer.js b/ui (gen4)/lib/widget/drawer.js index 01c1191b..7b8584bb 100755 --- a/ui (gen4)/lib/widget/drawer.js +++ b/ui (gen4)/lib/widget/drawer.js @@ -20,9 +20,6 @@ var DrawerClassPrototype = { var that = this var overlay = $('
') .addClass('drawer-widget') - .on(options.nonPropagatedEvents.join(' '), function(){ - event.stopPropagation() - }) .append($('
') .addClass('content') .click(function(){ @@ -58,6 +55,8 @@ var DrawerPrototype = { nonPropagatedEvents: [ 'click', 'keydown', + + 'close', ], background: null, diff --git a/ui (gen4)/lib/widget/widget.js b/ui (gen4)/lib/widget/widget.js index 76c662d3..6ecb8cfd 100755 --- a/ui (gen4)/lib/widget/widget.js +++ b/ui (gen4)/lib/widget/widget.js @@ -66,6 +66,8 @@ var WidgetPrototype = { nonPropagatedEvents: [ 'click', 'keydown', + + 'close', ], }, @@ -121,6 +123,11 @@ var WidgetPrototype = { this)) } + if(this.options.nonPropagatedEvents != null){ + this.on(this.options.nonPropagatedEvents.join(' '), + function(evt){ evt.stopPropagation() }) + } + return this }, } @@ -185,6 +192,11 @@ var ContainerPrototype = { this)) } + if(this.options.nonPropagatedEvents != null){ + this.on(this.options.nonPropagatedEvents.join(' '), + function(evt){ evt.stopPropagation() }) + } + return this }, }