Great detective work Mario. One solution could be to have findFirstDomNode() take a search parameter, findFirstDomNode(class=tc-tiddler-view-frame)
On Thursday, November 2, 2017 at 12:01:27 AM UTC+1, PMario wrote: > > On Wednesday, November 1, 2017 at 4:04:13 PM UTC+1, Mark S. wrote: >> >> That's a very nice explanation, Mario. >> > > thx. > > >> But it begs the question: Why is a 'line feed' rendered as a DOM object >> (div even?) and not just wrapped up in either the next or prior element? >> > > IMO it's a rare bug. ... But as I did discover it the first time, I wasn't > able track it down. ... As I had a closer look at this thread, I could > remember, that I've probably seen this problem already. ... > > A line-feed isn't rendered as a DOM element, an that's the problem. If it > would be one, it would be possible to scroll to it. > > The whole truth here is, that the tm-xx messages bubble up the widget tree > and not the DOM elements. BUT at the end, the DOM elements are used to > calculate the real sizes of the different tiddler wrappers. Those sizes are > used to calculate the scroll positions. > > The wrapper for a tiddler is the "div" that is tagged tc-tiddler-frame, > which is defined in the $:/core/ui/ViewTemplate. But the actual handling is > done in the "storyview" which is part of the second list-widget in > $:/core/ui/PageTemplate/story tiddler. > > So the TW navigate to is only designed to scroll to tiddlers ... And not > to scroll to elements inside of tiddlers. > > ---- low level warning. > > Also as I did post above. There is this line > https://github.com/Jermolene/TiddlyWiki5/blob/master/core/modules/storyviews/classic.js#L30 > > of code, which stops the event bubbling in the widget tree. Which imo > shouldn't be done. ... imo a bug. > > About the scroll mechanism -- does it actually send out a series of scroll >> commands in order to line up the tiddler? >> > > Yes. here: > https://github.com/Jermolene/TiddlyWiki5/blob/master/core/modules/utils/dom/scroller.js#L56 > > It's done with window.requestAnimationFrame() > > >> Does it use any of the old HTML technology? >> > > Yes. see scroller.js .. That's all HTML hi-tech ;) > > >> I ask because the sidebar links seem to be usuing <a href=*> . >> > > Yes, ... and it also adds additional event handlers that catch the click > (and some other) events. see: > https://github.com/Jermolene/TiddlyWiki5/blob/master/core/modules/widgets/link.js#L123 > > ... If you follow the handleClickEvent function in the link.js file, > you'll see where it starts and how it is "dispatched" line 143 > this.dispatchEvent({ and where it stopped propagating. line 159 > event.stopPropagation() > > have fun! > mario > > -- 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/9dc29e65-a7fc-474d-9e14-685016ab8d69%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.