From 7d6769f6fd557103796da067ead561db1c9145b6 Mon Sep 17 00:00:00 2001 From: ng110 Date: Sun, 4 Jan 2015 12:22:00 +0000 Subject: [PATCH 1/4] Update select.js test change --- core/modules/widgets/select.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/modules/widgets/select.js b/core/modules/widgets/select.js index 79a169f7e..837c2504a 100644 --- a/core/modules/widgets/select.js +++ b/core/modules/widgets/select.js @@ -3,7 +3,7 @@ title: $:/core/modules/widgets/select.js type: application/javascript module-type: widget -Select widget: +Select widget (NG mod): ``` <$select tiddler="MyTiddler" field="text"> From f9c4f6898e4e52137a6e5a87ff353839408c409b Mon Sep 17 00:00:00 2001 From: ng110 Date: Tue, 20 Jan 2015 12:34:24 +0000 Subject: [PATCH 2/4] Add capability for widgets to trigger all descendant action widgets, rather than just immediate children. Preserves compatibility with existing invokeActions call in button widget by creating a separate 'invokeActionCall' function to carry out the recursion. Triggering all descendants permits use of action widgets inside list widgets or macros. Also makes it possible to add triggering capability to select widget. --- core/modules/widgets/widget.js | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/core/modules/widgets/widget.js b/core/modules/widgets/widget.js index c04f1bf96..b90558192 100755 --- a/core/modules/widgets/widget.js +++ b/core/modules/widgets/widget.js @@ -476,15 +476,25 @@ Widget.prototype.removeChildDomNodes = function() { }; /* -Invoke any action widgets that are immediate children of this widget +Invoke any action widgets that are descendants of this widget. */ Widget.prototype.invokeActions = function(event) { + return this.invokeActionCall(this, event); +}; + +/* +Recursively search through descendants, invoking all actions encountered. +*/ +Widget.prototype.invokeActionCall = function(here, event) { var handled = false; - for(var t=0; t Date: Tue, 20 Jan 2015 13:02:06 +0000 Subject: [PATCH 3/4] Update select.js --- core/modules/widgets/select.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/modules/widgets/select.js b/core/modules/widgets/select.js index 837c2504a..0068608b7 100644 --- a/core/modules/widgets/select.js +++ b/core/modules/widgets/select.js @@ -3,7 +3,7 @@ title: $:/core/modules/widgets/select.js type: application/javascript module-type: widget -Select widget (NG mod): +Select widget: ``` <$select tiddler="MyTiddler" field="text"> @@ -53,6 +53,7 @@ Handle a change event SelectWidget.prototype.handleChangeEvent = function(event) { var value = this.getSelectDomNode().value; this.wiki.setText(this.selectTitle,this.selectField,this.selectIndex,value); + this.invokeActions(event); }; /* From a7a205a754df0dac63e68cda1e1cfaf1a37fde28 Mon Sep 17 00:00:00 2001 From: ng110 Date: Wed, 28 Jan 2015 16:00:34 +0000 Subject: [PATCH 4/4] Update select.js --- core/modules/widgets/select.js | 1 - 1 file changed, 1 deletion(-) diff --git a/core/modules/widgets/select.js b/core/modules/widgets/select.js index 0068608b7..79a169f7e 100644 --- a/core/modules/widgets/select.js +++ b/core/modules/widgets/select.js @@ -53,7 +53,6 @@ Handle a change event SelectWidget.prototype.handleChangeEvent = function(event) { var value = this.getSelectDomNode().value; this.wiki.setText(this.selectTitle,this.selectField,this.selectIndex,value); - this.invokeActions(event); }; /*