Oops, sorry. Yes, I'll re-post it there right away.

Thanks,

- Novan

On Sunday, January 29, 2017 at 4:23:39 PM UTC-5, Jeremy Ruston wrote:
>
> Hi Norvan
>
> This thread belongs in the dev group:
>
> http://groups.google.com/group/TiddlyWikiDev
>
> Would you mind reposting over there?
>
> Many thanks,
>
> Jeremy
>
>
> On 29 Jan 2017, at 21:17, Novan Leon <nova...@gmail.com <javascript:>> 
> wrote:
>
> This is a somewhat perplexing issue and I can't seem to find a solution. 
> Maybe someone can help.
>
> Background
>
> I'm trying to add the ability to specify alternate view templates to 
> specific tiddlers and allow users to toggle them on and off using a toolbar 
> button. I did this by making the following changes:
>
> *Change #1*
>
> Add the code below to line 114 of $:/core/modules/widgets/list.js. This 
> lets users specify a "multiTemplate" attribute which, if set to "true", 
> will prompt the list widget to check the list field of the 
> $:/test/DirectLinks/DirectLinksList tiddler to see if it includes the 
> current tiddler and if it does, apply the $:/test/DirectLinks/ViewTemplate 
> instead of the default $:/core/ui/ViewTemplate.
>
>     //Apply direct links view template
>     if (this.getAttribute("multiTemplate") == "true") {    
>         var directLinksTemplate = "$:/test/DirectLinks/ViewTemplate";
>         var tiddlerList = "$:/test/DirectLinks/DirectLinksList";
>         var applicableTiddlers = $tw.wiki.getTiddlerList(tiddlerList);
>
>         if (applicableTiddlers.indexOf(title) !== -1 && !isDraft) {
>             template = directLinksTemplate;
>         }
>     }
>
> *Change #2*
>
> Add the multiTemplate="true" attribute to the list widget in 
> $:/core/ui/PageTemplate/story.
>
> *Change #3*
>
> Create the custom view template in question, as well as two buttons, one 
> to place in the ViewToolbar to switch the current tiddler to the custom 
> template (i.e. by adding the current tiddler to the direct links list) and 
> one to place in the custom template to switch the current tiddler back to 
> the default view template (i.e. by removing the current tiddler from the 
> direct links list).
>
> Both of the buttons in question contain three action widgets:
>
>    - Listops action to add or remove the current tiddler title to/from 
>    the direct links list ($:/test/DirectLinks/DirectLinksList)
>    - Close tiddler action to close the current tiddler
>    - Navigate action to re-open the current tiddler, presumably with the 
>    new template applied
>
>
> The Issue
>
>
> Everything seems to work as expected with one exception. When I click the 
> "Show direct links" button to add the current tiddler to the direct links 
> list and reload the tiddler, the tiddler is added to the list but the 
> custom template doesn't apply until I do one of the following things:
>
>
>
>    - Refresh the browser
>    - Edit the tiddler and cancel/save to return
>    - Click the "Show direct links" button on one of the other tiddlers
>
> The last bullet is the one that especially puzzles me. This behavior tells 
> me that there IS a way to refresh/re-render a single tiddler rather than 
> the entire page but I'm at a loss as to how.
>
>
> Try It For Yourself
>
>
> To experience this behavior for yourself, do the following:
>
>
>
>    1. Open the attached tiddlywiki file (take security precautions before 
>    opening the file if necessary)
>    2. Click on the "Show direct links" button (image icon on far right) 
>    on the "Test Bookmark 8" tiddler. The tiddler should close and re-open 
> near 
>    the top of the page. You will notice the name of the tiddler, "Test 
>    Bookmark 8" has been added to the list shown in the "Test Tiddler" but it 
>    still looks just like any other tiddler.
>    3. Click on the "Show direct links" button on the "Test Bookmark 7" 
>    tiddler (or any other bookmark tiddler, the ones with a url field 
> defined). The 
>    tiddler will close and re-open near the top of the page just like the 
>    previous one, but the previous one "Test Bookmark 8" will now appear with 
>    the custom template applied.
>    4. If you click on the "Show direct links" button for other tiddlers, 
>    the same behavior will continue. The one you clicked will move to the top 
>    and the previous one will appear with the custom template. The tiddlers 
>    with the custom template applied will show correctly from that point 
>    forward, all except the one you clicked last. The same thing happens in 
>    reverse when removing tiddlers from the list.
>    
> Thoughts / Questions
>
> Is there a better way to force the refresh/re-rendering of a specific 
> tiddler? Clearly, closing the tiddler and re-opening it doesn't appear to 
> do this. The nearest I can find is by editing and canceling/saving it to 
> return which always works, or by figuring out the how the behavior above 
> works.
>
> During the course of my testing I tried putting all of the button actions 
> into a custom action widget and executing them together 
> ($:/test/DirectLinks/widgets/action-toggletemplate.js). The results were 
> the same with one exception, when I tried to automate the closing/opening 
> of the second tiddler, I noticed if the tiddlers were navigatedTo from 
> inside the story river, it wouldn't have the same refreshing effect. This 
> may be irrelevant but it's just something I noticed.
>
> I've spend the last two days racking my head over this and trying to find 
> a solution with no luck. I'm hoping maybe someone here with more experience 
> may have encountered this before and be able to offer a solution.
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "TiddlyWiki" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to tiddlywiki+...@googlegroups.com <javascript:>.
> To post to this group, send email to tiddl...@googlegroups.com 
> <javascript:>.
> Visit this group at https://groups.google.com/group/tiddlywiki.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/tiddlywiki/e72c446f-b4c4-4bd7-a917-58e9d27097ad%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/tiddlywiki/e72c446f-b4c4-4bd7-a917-58e9d27097ad%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
> <tiddlywiki.html>
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to tiddlywiki+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywiki@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/a1039501-23eb-44aa-aae7-e47b7edfde5c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to