Feature Proposal: Please consider adding JsViews library


Please consider adding the jsviews library (https://www.jsviews.com/#download) to the JQueryRender plugin. JsViews provides all of the JsRender functionality, but adds data-linking. It is very handy to be able to retrieve data from Foswiki with a REST or JSON-RPC handler and have it update the DOM using JsRender templates. JsViews just makes this even more powerful by offering two-way data-linking and $.observable event handlers. JsViews and JsRender can be bundled separately, but they need to be version synced, so this is difficult to maintain as a third-party extension. It would be better if it could be included in JQueryPlugin, either as part of JQueryRender plugin or as an optional additional plugin.

I have a JsViews.pm stub that I use to load jquery.observable and jquery.views with the current jquery.render as a dependency. This makes it easy to load JsViews when you need it and fall back to plain JsRender when you don't. I would be happy to repackage this to be included as part of the next JQueryPlugin release if that would be helpful.

Description and Documentation

Bundle JsViews as an optional plugin with JQueryPlugin so that it can be more easily version synced with the already included JsRender library.





-- Contributors: ChrisHoefler - 13 Feb 2017



-- MichaelDaum - 13 Feb 2017

I have created Tasks.Item14454 to bundle JsViews with JQueryPlugin. I attached a tarball with a plugin topic, JS library, and JQueryPlugin stub. I'm not sure if it conforms to the format you expect, so let me know if anything needs to be changed. I can also generate a pull request on the git repository if you prefer.

-- ChrisHoefler - 01 Aug 2017

Task is marked as Waiting for Release. Changing this proposal to Merged to Core.

-- GeorgeClark - 08 Feb 2018
Topic revision: r8 - 08 Feb 2018, GeorgeClark
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy