mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2025-01-11 18:00:26 +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:
parent
ecdae4ceff
commit
424b2fea32
@ -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) {
|
||||
|
@ -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
|
||||
|
@ -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.
|
22
editions/dev/tiddlers/new/th-saving-tiddler.tid
Normal file
22
editions/dev/tiddlers/new/th-saving-tiddler.tid
Normal 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.
|
Loading…
Reference in New Issue
Block a user