From 1d16206188ebd5ca7481a7f565bf5fc4c08239fd Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Sat, 19 Feb 2022 09:38:48 +0000 Subject: [PATCH] Add support for tm-relink-tiddler message --- core/modules/startup/rootwidget.js | 24 ++++++++++------- .../WidgetMessage_ tm-relink-tiddler.tid | 26 +++++++++++++++++++ .../WidgetMessage_ tm-rename-tiddler.tid | 6 +++-- 3 files changed, 44 insertions(+), 12 deletions(-) create mode 100644 editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-relink-tiddler.tid diff --git a/core/modules/startup/rootwidget.js b/core/modules/startup/rootwidget.js index 8c2f9158d..41f3fe03f 100644 --- a/core/modules/startup/rootwidget.js +++ b/core/modules/startup/rootwidget.js @@ -51,16 +51,20 @@ exports.startup = function() { element.focus(event.paramObject); } }); - // Install the tm-rename-tiddler message - $tw.rootWidget.addEventListener("tm-rename-tiddler",function(event) { - var options = {}, - paramObject = event.paramObject || {}, - from = paramObject.from || event.tiddlerTitle, - to = paramObject.to; - options.dontRenameInTags = (paramObject.renameInTags === "false" || paramObject.renameInTags === "no") ? true : false; - options.dontRenameInLists = (paramObject.renameInLists === "false" || paramObject.renameInLists === "no") ? true : false; - $tw.wiki.renameTiddler(from,to,options); - }); + // Install the tm-rename-tiddler and tm-relink-tiddler messages + var makeRenameHandler = function(method) { + return function(event) { + var options = {}, + paramObject = event.paramObject || {}, + from = paramObject.from || event.tiddlerTitle, + to = paramObject.to; + options.dontRenameInTags = (paramObject.renameInTags === "false" || paramObject.renameInTags === "no") ? true : false; + options.dontRenameInLists = (paramObject.renameInLists === "false" || paramObject.renameInLists === "no") ? true : false; + $tw.wiki[method](from,to,options); + }; + }; + $tw.rootWidget.addEventListener("tm-rename-tiddler",makeRenameHandler("renameTiddler")); + $tw.rootWidget.addEventListener("tm-relink-tiddler",makeRenameHandler("relinkTiddler")); // Install the scroller $tw.pageScroller = new $tw.utils.PageScroller(); $tw.rootWidget.addEventListener("tm-scroll",function(event) { diff --git a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-relink-tiddler.tid b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-relink-tiddler.tid new file mode 100644 index 000000000..1da5103b0 --- /dev/null +++ b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-relink-tiddler.tid @@ -0,0 +1,26 @@ +caption: tm-relink-tiddler +created: 20220219093748993 +modified: 20220219093748993 +tags: Messages navigator-message +title: WidgetMessage: tm-relink-tiddler +type: text/vnd.tiddlywiki + +<<.from-version "5.2.2">> The `tm-relink-tiddler` message relinks a tiddler by deleting it and recreating it with a new title. Unlike the [[WidgetMessage: tm-rename-tiddler]] message, this message does not rename the tiddler, it just relinks the references to it. + +The relink tiddler message requires the following properties on the `event` object: + +|!Name |!Description | +|from |Current title of tiddler | +|to |New title of tiddler | +|renameInTags |Optional value "no" to disable renaming in tags fields of other tiddlers (defaults to "yes") | +|renameInLists |Optional value "no" to disable renaming in list fields of other tiddlers (defaults to "yes") | + +The relink tiddler message is usually generated with the ButtonWidget and is handled by the core. + +! Examples + +To relink Tiddler1 to Tiddler2 in tags and list fields of other tiddlers: + +``` +<$action-sendmessage $message="tm-relink-tiddler" from="Tiddler1" to="Tiddler2" /> +``` diff --git a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-rename-tiddler.tid b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-rename-tiddler.tid index d18f523e6..630a45c56 100644 --- a/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-rename-tiddler.tid +++ b/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-rename-tiddler.tid @@ -1,6 +1,6 @@ caption: tm-rename-tiddler created: 20190909133618113 -modified: 20190909133618113 +modified: 20220219093748993 tags: Messages navigator-message title: WidgetMessage: tm-rename-tiddler type: text/vnd.tiddlywiki @@ -13,7 +13,9 @@ The `tm-rename-tiddler` message renames a tiddler by deleting it and recreating |renameInTags |<<.from-version "5.1.23">> Optional value "no" to disable renaming in tags fields of other tiddlers (defaults to "yes") | |renameInLists |<<.from-version "5.1.23">> Optional value "no" to disable renaming in list fields of other tiddlers (defaults to "yes") | -The rename tiddler message is usually generated with the ButtonWidget and is handled by the NavigatorWidget. +The very similar [[WidgetMessage: tm-relink-tiddler]] message does not rename the tiddler, it just relinks the references to it. + +The rename tiddler message is usually generated with the ButtonWidget and is handled by the core. ! Examples