$path{..} is broken for implicit this, also see "LzNode#__LZevalPathExpr(..)" (was used before, but you don't call it anymore).

testapp:
<canvas debug="true" >
<dataset name="ds" >
     <root>
       <node value="1" />
       <node value="2" />
       <node value="3" />
     </root>
   </dataset>
<simplelayout axis="x" spacing="15" /> <view layout="axis:y;spacing:5" >
     <text datapath="ds:/root/node" text="$path{'@value'}" />
   </view>
<view layout="axis:y;spacing:5" >
     <text datapath="ds:/root/node" text="$path{this.path}" >
       <attribute name="path" value="@value" type="string" />
     </text>
   </view>
<!-- doesn't work anymore -->
   <view layout="axis:y;spacing:5" >
     <text datapath="ds:/root/node" text="$path{path}" >
       <attribute name="path" value="@value" type="string" />
     </text>
   </view>
</canvas>


On 2/13/2008 9:43 PM, P T Withington wrote:
Change 20080208-ptw-T by [EMAIL PROTECTED] on 2008-02-08 08:18:39 EST
    in /Users/ptw/OpenLaszlo/ringding
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Unify argument initialization

Bugs Fixed:
LPP-1587 'ECMA4: Compile LZX declarations as JS declarations' (partial)
LPP-631 'can't override a constraint with a literal with state attributes'

Technical Reviewer: [EMAIL PROTECTED] (pending)
QA Reviewer: [EMAIL PROTECTED] (pending)

Details:
    Initial values, initial expressions ($once), and constraints
    ($always), now are created as a unified list in the tag compiler
    solving several issues with overriding/inheritance of attribute
    values and constraints and enabling the solution to an issue with
    states and constraints.

    TextStprite: Update test for constraint on width or height.

LzNode, UserClass: Simplify attribute inheritance/override computation,
    maintain backward-compatible magic-merge of attribute values (for
    now).

    LzNode: Update documentation of `construct` to note that
    constraints are now unified in `args`.  __LZapplyArgs uses new
    args organization to sort out initialization expressions and
    constraints.  __LZresolveReferences uses the new information to
    run initialization expressions and install constraints.
    __LZresolveRefs no longer needed.  applyConstraint deprecated, but
    backward-compatible.  New interface: applyConstraintMethod.
    Private releaseConstraint did not work, removed.  New interface:
    releaseConstraintMethod.

    LzDefs: Turn LzDeclaredEvent into a singleton class.  Add private
    support classes LzInitExpr and LzConstraintExpr.

    LaszloView:  Update test for constraints.  Fix setAlign and
    setValign to work with constraint methods, and to correctly work
    if alignment is changed (to release previous constraint).

    LaszloCanvas:  Update __LZcallInit to parallel LzNode more
    closely.

    LzState:  Update capturing of held args and constraints.  Use this
    new organization to release constraints the state will override
    (and re-apply them when the state is removed).  Remmove unused
    __LZstoreRefs.

    LzReplicationManager:  Fix xpath constraint to work with constraint
    methods.

    Function.java:  Make Function#name public.

    NodeModel.java:  Coalesce $once, $path, $always into single
    arglist, distinguishing 'binders' by internal type, either
    LzInitExpr or LzConstraintExpr.

Tests:
    smokecheck, amazon, most-components

Files:
M      WEB-INF/lps/lfc/kernel/swf/LzInputTextSprite.as
M      WEB-INF/lps/lfc/debugger/LzMessage.lzs
M      WEB-INF/lps/lfc/core/LzNode.lzs
M      WEB-INF/lps/lfc/core/UserClass.lzs
M      WEB-INF/lps/lfc/core/LzDefs.lzs
M      WEB-INF/lps/lfc/views/LaszloView.lzs
M      WEB-INF/lps/lfc/views/LaszloCanvas.lzs
M      WEB-INF/lps/lfc/helpers/LzState.lzs
M      WEB-INF/lps/lfc/data/LzReplicationManager.lzs
M      WEB-INF/lps/server/src/org/openlaszlo/sc/Function.java
M      WEB-INF/lps/server/src/org/openlaszlo/compiler/NodeModel.java


Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20080208-ptw-T.tar

Reply via email to