diff --git a/ui (gen4)/features/ui-widgets.js b/ui (gen4)/features/ui-widgets.js index c1653935..ccde1715 100755 --- a/ui (gen4)/features/ui-widgets.js +++ b/ui (gen4)/features/ui-widgets.js @@ -1781,12 +1781,14 @@ var BrowseActionsActions = actions.Actions({ && this.dom.addClass('show-keys') // handle '?' button to browse path... - this.showDoc = function(){ + var showDoc = this.showDoc = function(){ var action = this.select('!').attr('action') action && actions.showDoc(action) } this.keyboard.handler('General', '?', 'showDoc') + + this.menu(showDoc.bind(this)) }) return dialog diff --git a/ui (gen4)/lib/widget/browse.js b/ui (gen4)/lib/widget/browse.js index 4a1b59bb..2774191b 100755 --- a/ui (gen4)/lib/widget/browse.js +++ b/ui (gen4)/lib/widget/browse.js @@ -1717,7 +1717,7 @@ var BrowserPrototype = { return this }, blur: widget.proxyToDom('blur'), - + menu: widget.proxyToDom('menu'), // base api... @@ -2033,6 +2033,8 @@ var BrowserPrototype = { // // the list update. // update: , // + // menu: , + // // : , // ... // }, @@ -2394,6 +2396,10 @@ var BrowserPrototype = { .click(function(){ !$(this).hasClass('disabled') && that.push($(this)) }) + .on('contextmenu', function(){ + that.select($(this)) + res.trigger('menu', txt) + }) // append text elements... .append(p) diff --git a/ui (gen4)/lib/widget/widget.js b/ui (gen4)/lib/widget/widget.js index 4ac82e87..05f80927 100755 --- a/ui (gen4)/lib/widget/widget.js +++ b/ui (gen4)/lib/widget/widget.js @@ -19,7 +19,16 @@ var proxyToDom = module.proxyToDom = function(name){ return function(){ - this.dom[name].apply(this.dom, arguments) + // easy handler... + if(name in this.dom){ + this.dom[name].apply(this.dom, arguments) + + // trigger... + } else { + arguments[0] instanceof Function ? + this.dom.on(name, arguments[0]) + : this.dom.trigger(name, [].slice.call(arguments)) + } return this } }