Skip to content

Commit

Permalink
Commit 42 (post beta)
Browse files Browse the repository at this point in the history
BREAKING CHANGES
1: tag.contents() and view.contents(): The parameter order
   has been changed for consistency with other APIs:
     Now:          view.contents(deep, selector)
     Previously:   view.contents(selector, deep)

2: childTags(): now returns element-based tags as well as inline tags

3: Removed support for marking an element-based tag as inline=true

- Added support for tag.refresh for element-based tags too - including
  with non-html targets
- tag.onDispose is now called for both inline tags and element-based tags.
- Added support for data-linking to SVG elements
- Added support for void tags with no self-closing slash (issue #209)
- Added support for two way data-binding on custom tags.
- onBeforeChange support: Now supports returning false in order to
  suppress modification of the target data
- tag.onUpdate support: Now supports returning false in order to
  suppress re-rendering the tag

- Added much improved support for validation
- Added much improved support for custom tags using widgets or plugins
  such as the jQuery UI widgets.
- New API: getCurrentCtxs()

- Many new samples added to http://www.jsviews.com/#samples, including
  custom tags for validation, and for slider, datepicker etc.
- Many samples on the JsViews GitHub demos site removed and replaced by
  updated and improved versions on http://www.jsviews.com/#samples

- Several small bug fixes
  • Loading branch information
BorisMoore committed Sep 23, 2013
1 parent 8461f06 commit 4c2f801
Show file tree
Hide file tree
Showing 34 changed files with 2,181 additions and 2,319 deletions.
2 changes: 1 addition & 1 deletion MIT-LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2012 Boris Moore https://github.com/BorisMoore/jsviews
Copyright (c) 2013 Boris Moore https://github.com/BorisMoore/jsviews

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
Expand Down
36 changes: 17 additions & 19 deletions demos/demos.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,35 +9,33 @@
<div class="subhead"><< <a href="index.html">Index for JsViews and JsRender</a></div>

<h2>JsViews: Demos</h2>

<h3><em>Note:</em> The primary location for <a href="http://www.jsviews.com/#samples/jsv">JsViews</a> or <a href="http://www.jsviews.com/#samples/jsr">JsRender</a>
samples is now on <a href="http://www.jsviews.com/#jsviews">jsviews.com</a></h3>
<ul class="indexitems">
<li>- <a href="step-by-step/01_rendering-and-linking.html">Rendering and linking</a></li>

<li class="subhead">Editable data: Two-way declarative data binding of <em>'Observable objects and arrays'</em>:</li>
<li class="inset">- <a href="step-by-step/02_editable-data.html">using data-bound template tags</a></li>
<li class="inset">- <a href="step-by-step/02b_editable-data.html">using data-linked elements</a></li>
<li class="inset">- <a href="step-by-step/02d_editable-data.html">using top-level binding, and data-link="{for ...}"</a></li>
<li class="inset">- <a href="step-by-step/02c_editable-data.html">using $observable.observe() for detail view binding</a></li>

<li>- <a href="step-by-step/03_top-level-linking.html">Top-level linking</a></li>
<li>- <a href="step-by-step/04_form-elements.html">Form Elements and <em>visible{:...}</em> binding</a></li>
<li>- <a href="step-by-step/04_form-elements_if-binding.html">Form Elements and <em>{^{if}}</em> binding</a></li>
<li>- <a href="step-by-step/05_converters.html">Two-way data binding with converters</a></li>

<li class="subhead">JsViews <em>'Tag Controls'</em>:</li>
<li class="inset">- <a href="tag-controls/tree-control.html">Tree Control - recursive Tree View and <em>visible{:...}</em> binding</a></li>
<li class="inset">- <a href="tag-controls/tree-control_if-binding.html">Tree Control - recursive Tree View< and <em>{^{if}}</em> binding</a></li>
<li class="inset">- <a href="tag-controls/tree-control_editable.html">Tree Control - recursive editable Tree View (<em>{^{if}}</em> binding)</a></li>
<li class="inset">- <a href="tag-controls/tabs-control.html">Tabs Control - nested Tab Views</a></li>

<li class="subhead">Computed Observables:</li>
<li class="inset">- <a href="http://www.jsviews.com/#samples/editable">Editable data samples</a> on <a href="http://www.jsviews.com/#jsviews">jsviews.com</a></li>

<li class="subhead">Form element binding:</li>
<li class="inset">- <a href="http://www.jsviews.com/#samples/form-elems">Form element binding samples</a> on <a href="http://www.jsviews.com/#jsviews">jsviews.com</a></li>

<li class="inset">- <a href="step-by-step/03_top-level-linking.html">Top-level linking - to data values and expressions</a></li>
<li class="inset">- <a href="step-by-step/04_form-elements.html">Form elements and <em>visible{:...}</em> binding</a></li>
<li class="inset">- <a href="step-by-step/04_form-elements_if-binding.html">Form elements and <em>{^{if}}</em> binding</a></li>

<li class="subhead">JsViews <em>'Tag controls'</em>:</li>
<li class="inset">- <a href="http://www.jsviews.com/#samples/tag-controls">Tag control samples</a> on <a href="http://www.jsviews.com/#jsviews">jsviews.com</a></li>

<li class="subhead">Computed observables:</li>
<li class="inset">- <a href="features/observability/computed-data.html">Computed data properties</a></li>
<li class="inset">- <a href="features/observability/computed-data-prototype.html">Computed data properties with constructor</a></li>
<li class="inset">- <a href="features/observability/computed-helper.html">Computed helper functions or template parameters</a></li>
<li class="inset">- <a href="features/observability/observing-paths.html">Observing properties higher up on paths</a></li>

<li class="subhead"><em>Miscellaneous examples</em>:</li>
<li class="inset">- <a href="step-by-step/06_accordion_switching-template.html">Switch templates: Accordion</a></li>
<li class="inset">- <a href="step-by-step/09_server-rendered_client-activated.html">Server-render then client-activate</a></li>
<li class="inset">- <a href="step-by-step/06_accordion_switching-template.html">Switch templates: accordion</a></li>
<li class="inset">- <a href="step-by-step/10_todos.html">Todos example</a></li>
</ul>

Expand Down
2 changes: 1 addition & 1 deletion demos/features/observability/observing-paths.html
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ <h3>Data-linking to deep paths - observing changes higher up the path</h3>
<tbody>
<tr>
<td colspan="2">
<select data-link="{getIndex: selected array=people :setObject}" size="5">
<select data-link="{getIndex: selected array=people :setObject}" size="5" class="full">
<option value="0">Choose a person to edit</option>
{^{for people}}
<option data-link="{:name.first + ' ' + name.last} value{:#index + 1} selected{:#data === ~root.selected}"></option>
Expand Down
16 changes: 11 additions & 5 deletions demos/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,21 @@ <h2>JsViews: Next-generation jQuery Templates and Data Linking</h2>
and adds data-binding and <b><a href="http://www.jsviews.com/#jsobservable">observable data</a></b>, to provide
a fully-fledged MVVM platform for easily creating interactive data-driven single page apps and websites.
</div>
<div><em>JSRender</em> and <em>JsViews</em> together provide the next-generation implementation of both <em>JQuery Templates</em>, and <em>JQuery Data Link</em> - and supersede those libraries.</div>
<div><b><a href="http://www.jsviews.com/#jsviews">Documentation</a></b> and <b><a href="http://www.jsviews.com/#download">downloads</a></b>
are available on the <b><a href="http://www.jsviews.com/#jsviews">www.jsviews.com</a></b> website.
<div><em>JSRender</em> and <em>JsViews</em> together provide the next-generation implementation of both <em>JQuery Templates</em>,
and <em>JQuery Data Link</em> - and supersede those libraries.</div>
<div><b><a href="http://www.jsviews.com/#jsviews">Documentation</a></b>, <b><a href="http://www.jsviews.com/#samples">samples</a></b>
and <b><a href="http://www.jsviews.com/#download">downloads</a></b>
are available on the <b><a href="http://www.jsviews.com/#jsviews">www.jsviews.com</a></b> website.
</div>
</div>

<div class="box">
<h3>Demos</h3>

<div>Demos and samples can be found on the <b><a href="http://www.jsviews.com/#samples">www.jsviews.com</a></b> website, as well as on the following links:</div>
<div class="subhead"><b>The primary location for <em><a href="http://www.jsviews.com/#samples/jsv">JsViews</a></em>
or <em><a href="http://www.jsviews.com/#samples/jsr">JsRender</a></em>
samples and demos is now on <em><a href="http://www.jsviews.com/#jsviews">jsviews.com</a></em></b></div>
<div class="subhead">See also the following links:</div>
<div class="subhead"><b><a href="demos.html">JsViews: Demos</a></b></div>
<div class="label">JsViews and JsRender Overview:</div>
<div class="subhead"><b><a href="jQueryConfDemosOct2011/index.html" >Demo sequence from jQuery Conference October 2011</a></b></div>
Expand All @@ -45,7 +50,8 @@ <h3>Demos</h3>
<div><a href="http://www.slideshare.net/BorisMoore/jsviews-next-generation-jquery-templates" >Slide deck: jQuery Conference October 2011</a></div>
<div>MSDN 'Client Insight' articles on JsRender <a href="http://msdn.microsoft.com/en-us/magazine/hh882454.aspx" >part one</a> and
<a href="http://msdn.microsoft.com/en-us/magazine/hh975379.aspx" >part two</a></div>
<div>Training course: <a href="http://johnpapa.net/new-course-on-jsrender-templating-fundamentals-with-javascript" >JsRender Fundamentals</a> from John Papa on <a href="http://pluralsight.net/" >Pluralsight</a> (3 hours of video)</div>
<div>Training course: <a href="http://johnpapa.net/new-course-on-jsrender-templating-fundamentals-with-javascript" >JsRender Fundamentals</a>
from John Papa on <a href="http://pluralsight.net/" >Pluralsight</a> (3 hours of video)</div>
</div>

<div class="subhead"><em>Tests</em>:</div>
Expand Down
162 changes: 43 additions & 119 deletions demos/resources/demos.css
Original file line number Diff line number Diff line change
@@ -1,119 +1,43 @@
body {
padding: 10px;
font-family: Verdana;
font-size: small;
}

h4 {
font-size: inherit;
font-variant: small-caps;
}

.height {
width: 100%;
margin-bottom: 10px;
float: left;
clear: both;
}

.bottom {
height: 400px;
width: 100%;
margin-bottom: 10px;
float: left;
clear: both;
}

body > button {
float: left;
clear: right;
margin: 3px;
}

.subhead {
margin: 3px 0 5px 0;
font-weight: bolder;
color: #116;
font-family: Arial;
font-size: 10pt;
}

a {
color: #55b;
}

pre {
font-size: 10pt;
font-weight: bold;
}

.inset {
padding-left: 18px;
}

.box {
border: 1px solid #777;
padding: 10px;
margin: 5px 0 30px;
}

.box div {
margin: 3px 0 10px 0;
}

.box .label {
margin: 0;
padding: 10px 0 0 0;
font-style: italic;
color: #55b;
}

.box.label {
font-style: italic;
color: #55b;
}

.desc {
font-style: italic;
margin: 0 0 15px;
color: #116;
}

pre {
border-left: 3px solid #aaa;
padding: 10px;
margin-bottom: 30px;
}

.indexitems {
list-style-type: none;
padding-left: 10px;
margin: 0 0 20px;
}

.indexitems li {
margin-top: 14px;
}

.indexitems .inset {
margin-top: 6px;
}

h3 {
margin-bottom: 10px;
font-size: 11pt;
}

select {
margin-bottom: 15px;
width: 200px;
}

select[size] {
margin-bottom: 0;
width: 100%;
}

.two tr td {
width: 50%;
}
body { padding: 10px; font-family: Verdana; font-size: small; }

h4 { font-size: inherit; font-variant: small-caps; }

.height { width: 100%; margin-bottom: 10px; float: left; clear: both; }

.bottom { height: 400px; width: 100%; margin-bottom: 10px; float: left; clear: both; }

body > button { float: left; clear: right; margin: 3px; }

.subhead { margin: 3px 0 5px 0; font-weight: bolder; color: #116; font-family: Arial; font-size: 10pt; }

.subsubhead { margin: 3px 0 5px 0; font-weight: 600; padding-left: 9px; color: #5A5A78; font-style: italic; font-family: Arial; font-size: 10pt; }

a { color: #55b; }

pre { font-size: 10pt; font-weight: bold; border-left: 3px solid #aaa; padding: 10px; margin-bottom: 30px; }

.inset { padding-left: 18px; }

.box { border: 1px solid #777; padding: 10px; margin: 5px 0 30px; }

.box div { margin: 3px 0 10px 0; }

.box .label { margin: 0; padding: 10px 0 0 0; font-style: italic; color: #55b; }

.box.label { font-style: italic; color: #55b; }

.desc { font-style: italic; margin: 0 0 15px; color: #116; }

.indexitems { list-style-type: none; padding-left: 10px; margin: 0 0 20px; }

.indexitems li { margin-top: 14px; }

.indexitems .inset { margin-top: 6px; }

h3 { margin-bottom: 10px; font-size: 11pt; }

select.full { margin-bottom: 15px; width: 200px; }

select[size].full { margin-bottom: 0; width: 100%; }

.two tr td { width: 50%; }
52 changes: 0 additions & 52 deletions demos/resources/tabs.css

This file was deleted.

58 changes: 0 additions & 58 deletions demos/resources/tree.css

This file was deleted.

Loading

0 comments on commit 4c2f801

Please sign in to comment.