mirror of
https://github.com/Jermolene/TiddlyWiki5.git
synced 2026-03-26 08:40:56 -07:00
47 lines
1.3 KiB
JavaScript
47 lines
1.3 KiB
JavaScript
/*\
|
|
title: $:/core/modules/wiki-bulkops.js
|
|
type: application/javascript
|
|
module-type: wikimethod
|
|
|
|
Bulk tiddler operations such as rename.
|
|
|
|
\*/
|
|
|
|
"use strict";
|
|
|
|
var relinkers = $tw.modules.getModulesByTypeAsHashmap("relinker");
|
|
/*
|
|
Rename a tiddler, and relink any tags or lists that reference it.
|
|
*/
|
|
function renameTiddler(fromTitle,toTitle,options) {
|
|
fromTitle = (fromTitle || "").trim();
|
|
toTitle = (toTitle || "").trim();
|
|
options = options || {};
|
|
if(fromTitle && toTitle && fromTitle !== toTitle) {
|
|
// Rename the tiddler itself
|
|
var oldTiddler = this.getTiddler(fromTitle),
|
|
newTiddler = new $tw.Tiddler(oldTiddler,{title: toTitle},this.getModificationFields());
|
|
newTiddler = $tw.hooks.invokeHook("th-renaming-tiddler",newTiddler,oldTiddler);
|
|
this.addTiddler(newTiddler);
|
|
this.deleteTiddler(fromTitle);
|
|
// Rename any tags or lists that reference it
|
|
this.relinkTiddler(fromTitle,toTitle,options);
|
|
}
|
|
}
|
|
|
|
/*
|
|
Relink any tags or lists that reference a given tiddler
|
|
*/
|
|
function relinkTiddler(fromTitle,toTitle,options) {
|
|
fromTitle = (fromTitle || "").trim();
|
|
toTitle = (toTitle || "").trim();
|
|
options = options || {};
|
|
if(fromTitle && toTitle && fromTitle !== toTitle) {
|
|
for (var name in relinkers) {
|
|
relinkers[name].relink(this,fromTitle,toTitle,options);
|
|
}
|
|
}
|
|
};
|
|
|
|
exports.renameTiddler = renameTiddler;
|
|
exports.relinkTiddler = relinkTiddler;
|