The context has nothing to do with requiring JS and all about supporting most scenarios I deem reasonable (and talked about from the get go):
- I have a plugin, for the sake of the argument let’s say it’s my Task List plugin
- This plugin creates **Relation **tiddlers that are linked to User tiddlers.
- I want to achieve:
- Req 1: Relation is deleted when User tiddler is deleted
- Req 2: Field linking Relation to User tiddler is updated with a new name when User tiddler is renamed
- Req 3: It must work regardless of how user triggers the deletion or rename.
MessageCatcherWidgetis ruled out by Req 3 because it won’t detect events triggered by global keyboard shortcuts- And there may be other edge cases where it wouldn’t trigger than I can’t think of at the moment
- I don’t want to shadow core tiddlers to modify the UI:
- Multiple plugins can’t combine their changes to the same core tiddler
- Which rules out
MessageCatcherWidgetimmediately
- Which rules out
- These changes can be overwritten by the user themself
- Must be kept in sync with TW updates
- This rules out any modifications to the UI to make it more difficult for user to do things accidentally
- Multiple plugins can’t combine their changes to the same core tiddler
- I don’t want to use cascades to have custom rendering for the tiddlers to block delete buttons
- It’s not custom-layout friendly
- Requires duplicating core wikitext and then maintaining if you want things to look the same
- It doesn’t cover Req 3
- Releasing the plugin as an edition with customized everything won’t work:
- It no longer is a plugin and becomes useless to anyone who would like the functionality in their existing wiki
- Still doesn’t cover Req 3 unless I also modify JS, in which case I can just have a JS hook in my plugin
- I don’t want to include another plugin
- Don’t want to bloat user’s wikis
- Needs to be kept up to date
- I don’t want to add dependencies when they are not needed
- Relink plugin wouldn’t cover Req 1 and I am not aware of a plugin for that (which I could also write but see the 3 points above)
- The included plugin would still need to use JS to satisfy Req 3 in which case I can just have a JS hook in my plugin
I talked about Req 1 and Req 2 right in my first reply in this thread.
I talked about my reasons to not want to customize the UI in a plugin in my second reply in this thread.
I even mentioned I already use cascades to some extent in another one.
I am very bad at translating thoughts from my head to text especially if it’s longer than a few sentences and get very easily lost following bigger conversations that I am part of. I apologize if all the misunderstanding came about because of my poor communication, I can’t really tell why this happened. This thread has spiralled out of control and I am out of it now.