1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-12-29 11:30:28 +00:00
TiddlyWiki5/plugins/tiddlywiki/dynaview
Jermolene 952826e0fa Dynaview: cleaning up
It turns out that we don't need to disable any scroll anchoring done by the browser as our implementation of scroll anchoring will adapt itself.

Also removing an unneeded paragraph tag from the view template.
2019-01-18 17:56:07 +00:00
..
examples DynaView: Remove optisizer functionality 2018-08-29 14:47:57 +01:00
above-story.tid Introduce new dynaview plugin 2018-01-05 09:18:19 +00:00
config.multids DynaView: Remove optisizer functionality 2018-08-29 14:47:57 +01:00
config.tid Dynaview: Add support for updating the address bar when scrolling 2018-03-13 14:07:29 +00:00
docs.tid DynaView plugin: add optional scroll position preservation 2019-01-11 17:50:52 +00:00
dynaview.js DynaView plugin: add optional scroll position preservation 2019-01-11 17:50:52 +00:00
examples.tid Introduce new dynaview plugin 2018-01-05 09:18:19 +00:00
macros.tid Dynaview: Fix parameter name typo 2018-09-26 15:23:49 +01:00
plugin.info DynaView plugin: make viewport dimensions available in state tiddlers (#3126) 2018-02-18 12:04:35 +00:00
readme.tid DynaView: Remove optisizer functionality 2018-08-29 14:47:57 +01:00
styles.tid Dynaview: cleaning up 2019-01-18 17:56:07 +00:00

title: $:/plugins/tiddlywiki/dynaview/readme

! Dynaview

This plugin makes it possible to build user interfaces that dynamically respond to changes in the browser viewport via scrolling or zooming:

* CSS classes that allow rendering to be deferred until the output is scrolled into view
* CSS classes that allow the opacity of DOM elements to vary according to the current zoom level
* A daemon that can dynamically update a pair of state tiddlers with the current dimensions of the browser viewport
* A daemon that can dynamically update the address bar with the title of the tiddler at the top of the viewport

Some points to note about the zoom features:

<<<

* The zoom level currently only works on Safari, both on Mac OS and on the iPhone/iPad
* The zoom level tracked by the plugin is the pinch-zoom level, and not the text-zoom level
* Rather than being progressively rendered as needed, hidden item are rendered with zero opacity. Which means that they can still be interacted with

This is really just a proof of concept to allow the user experience to be evaluated. A production version would need to work in all browsers, which would mean adopting a polyfill such as [[Hammer.js|http://hammerjs.github.io/]] to give us manual pan and zoom support. It would also allow deeper levels of zoom.

<<<