[Laszlo-dev] For Review: Change 20080709-maxcarlson-b Summary: UPDATED: Fix visibility of views with $path constraints
André Bargull
a.bargull at intensis.de
Thu Jul 10 02:17:28 PDT 2008
There are still two issues:
1) you've restricted LzDataAttrBind to LzViews
> if (*node is LzView* && this.__LZpchanged || node[ attr ] != data ||
> this.parsedPath.operator == "attributes") {
2) what should happen, if there are two (or more) $path-constraints, and
all but one have got data? With your current changeset, the
$path-constraint without data may hide the complete view, even though
the other $path-constraints are valid.
testcase:
> <canvas debug="true" layout="axis:y">
> <dataset name="testdata">
> <bar num="123.5" t="hello" />
> </dataset>
>
> <dataset name="otherdata">
> <foo />
> </dataset>
>
> <class name="mytext" extends="text" text="${'My data: ' +
> this.datatext + '(' + this.datatext2 + ')'}" >
> <attribute name="datatext" value="" type="string" />
> <attribute name="datatext2" value="" type="string" />
> </class>
>
> <!-- write in the debugger: -->
> <!-- testdata.getFirstChild().removeAttr("num") -->
>
> <mytext datatext="$path{'testdata:/bar/@num'}" bgcolor="red" />
> <mytext datatext="$path{'testdata:/bar/@bad'}" bgcolor="red" />
>
> *<mytext datatext="$path{'testdata:/bar/@num'}"
> datatext2="$path{'testdata:/bar/@t'}" bgcolor="gray" />
> <mytext datatext="$path{'testdata:/bar/@bad'}"
> datatext2="$path{'testdata:/bar/@t'}" bgcolor="gray" />*
>
> <mytext datapath="otherdata:/foo"
> datatext="$path{'testdata:/bar/@num'}" bgcolor="silver" />
> <mytext datapath="otherdata:/foo"
> datatext="$path{'testdata:/bar/@bad'}" bgcolor="silver" />
> </canvas>
On 7/10/2008 4:37 AM, Max Carlson wrote:
> Change 20080709-maxcarlson-b by maxcarlson at Roboto on 2008-07-09
> 19:32:50 PDT
> in /Users/maxcarlson/openlaszlo/trunk-clean
> for http://svn.openlaszlo.org/openlaszlo/trunk
>
> Summary: UPDATED: Fix visibility of views with $path constraints
>
> Bugs Fixed: LPP-290 - $path attributes can hide the instance/view they
> belong to
>
> Technical Reviewer: a.bargull at intensis.de
> QA Reviewer: promanik
>
> Details: LaszloView.lzs - Add __LZvizDatAttr flag for $path
> visibility. __LZupdateShown() sets data visibility if __LZvizDat or
> __LZvizDatAttr are true to make sure datapath visibility takes
> precedence.
>
> LzDataAttrBind.lzs - Set LzView.__LZvizDatAttr and call
> __LZupdateShown() for views with $path attributes.
>
> Tests: Updated testcase from LPP-290 should show one red and two gray
> text fields
>
> Files:
> M WEB-INF/lps/lfc/views/LaszloView.lzs
> M WEB-INF/lps/lfc/data/LzDataAttrBind.lzs
>
> Changeset:
> http://svn.openlaszlo.org/openlaszlo/patches/20080709-maxcarlson-b.tar
>
More information about the Laszlo-dev
mailing list