From 7346a146f08866a1820fa5a1d9ec631846400016 Mon Sep 17 00:00:00 2001 From: Jeremy Ruston Date: Sun, 15 Jul 2012 22:34:36 +0100 Subject: [PATCH] Extend the tiddler button so that it can set a tiddler to a given value --- core/modules/macros/button.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/core/modules/macros/button.js b/core/modules/macros/button.js index ff4f0a460..01574b8e3 100644 --- a/core/modules/macros/button.js +++ b/core/modules/macros/button.js @@ -17,6 +17,8 @@ exports.info = { params: { message: {byName: "default", type: "text"}, param: {byName: true, type: "text"}, + set: {byName: true, type: "tiddler"}, + setTo: {byName: true, type: "text"}, popup: {byName: true, type: "tiddler"}, qualifyTiddlerTitles: {byName: true, type: "text"}, "class": {byName: true, type: "text"} @@ -58,6 +60,13 @@ exports.triggerPopup = function(event,cancel) { } }; +exports.setTiddler = function() { + var set = this.params.set, + setTo = this.params.setTo, + tiddler = this.wiki.getTiddler(set); + this.wiki.addTiddler(new $tw.Tiddler(tiddler,{title: set, text: setTo})); +}; + exports.handleEvent = function(event) { if(event.type === "click") { if(this.hasParameter("message")) { @@ -66,6 +75,9 @@ exports.handleEvent = function(event) { if(this.hasParameter("popup")) { this.triggerPopup(event); } + if(this.hasParameter("set") && this.hasParameter("setTo")) { + this.setTiddler(); + } event.preventDefault(); return false; }