1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-06-16 10:29:54 +00:00

Add th-saving-tiddler hook for autotagging etc.

@danielo515 this enhancement is intended to make it easier to implement
things like the auto tag plugin. Does it meet your needs?
This commit is contained in:
Jermolene 2015-09-08 16:16:50 +01:00
parent ecdae4ceff
commit 424b2fea32
4 changed files with 29 additions and 5 deletions

View File

@ -118,7 +118,7 @@ function openStartupTiddlers(options) {
}
// Process the story filter to get the story list
var storyList = $tw.wiki.filterTiddlers(storyFilter);
//invoke any hooks that might change the default story list
// Invoke any hooks that want to change the default story list
storyList = $tw.hooks.invokeHook("th-opening-default-tiddlers-list",storyList);
// If the target tiddler isn't included then splice it in at the top
if(target && storyList.indexOf(target) === -1) {

View File

@ -341,12 +341,14 @@ NavigatorWidget.prototype.handleSaveTiddlerEvent = function(event) {
));
}
if(isConfirmed) {
// Save the draft tiddler as the real tiddler
this.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),tiddler,{
// Create the new tiddler and pass it through the th-saving-tiddler hook
var newTiddler = new $tw.Tiddler(this.wiki.getCreationFields(),tiddler,{
title: draftTitle,
"draft.title": undefined,
"draft.of": undefined
},this.wiki.getModificationFields()));
},this.wiki.getModificationFields());
newTiddler = $tw.hooks.invokeHook("th-saving-tiddler",newTiddler);
this.wiki.addTiddler(newTiddler);
// Remove the draft tiddler
this.wiki.deleteTiddler(title);
// Remove the original tiddler if we're renaming it

View File

@ -1,6 +1,6 @@
created: 20141122200310516
modified: 20141122200310516
title: Hook: tc-opening-default-tiddlers-list
title: Hook: th-opening-default-tiddlers-list
type: text/vnd.tiddlywiki
This hook allows plugins to add to or remove from the list of tiddlers that are opened when the wiki is first loaded or the home button is clicked.

View File

@ -0,0 +1,22 @@
created: 20150908150314994
modified: 20150908150314994
title: Hook: th-saving-tiddler
type: text/vnd.tiddlywiki
This hook allows plugins to modify tiddlers before they are saved via the ''confirm'' toolbar button; the hook is not invoked for tiddlers that are saved through other means, such as state tiddlers created by the ActionSetFieldWidget.
Hook function parameters:
* ''tiddler'': tiddler object about to be saved
Return value:
* tiddler object to be saved
The original tiddler object can be returned unmodified by the hook. If the hook needs to modify the tiddler then it should return a new tiddler object, for example:
```
return new $tw.Tiddler(tiddler,{"my-field": value});
```
Hooks must not change the ''title'' field but can freely modify any other field of the tiddler.