From ab75dde048179550650eb17342ffcd8f119f2c25 Mon Sep 17 00:00:00 2001 From: Jeremy Ruston Date: Tue, 4 Jun 2013 12:02:18 +0100 Subject: [PATCH] Update transclude widget to flag events with the current field --- core/modules/widgets/transclude.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/core/modules/widgets/transclude.js b/core/modules/widgets/transclude.js index be960bcad..3b30a6c1c 100644 --- a/core/modules/widgets/transclude.js +++ b/core/modules/widgets/transclude.js @@ -54,7 +54,8 @@ var TranscludeWidget = function(renderer) { }; TranscludeWidget.prototype.generate = function() { - var tr, templateParseTree, templateTiddler; + var self = this, + tr, templateParseTree, templateTiddler; // Get the render target details this.targetTitle = this.renderer.getAttribute("target",this.renderer.tiddlerTitle); this.targetField = this.renderer.getAttribute("field"); @@ -107,8 +108,16 @@ TranscludeWidget.prototype.generate = function() { tiddlerTitle: this.targetTitle, templateTitle: this.templateTitle }; + // If a current field is specified if(this.currentField) { + // Record the current field in the render context this.renderer.context.field = this.currentField; + // Add an event handler to record the current field + var addCurrentField = function(event) { + event.currentField = self.currentField; + return true; + } + this.events = [{name: "tw-remove-field", handlerFunction: addCurrentField}]; } // Set the element this.tag = this.renderer.parseTreeNode.isBlock ? "div" : "span";