[Laszlo-checkins] r11951 - in openlaszlo/trunk: WEB-INF/lps/lfc/data docs/src/developers/programs

jcrowley@openlaszlo.org jcrowley at openlaszlo.org
Mon Dec 1 11:07:03 PST 2008


Author: jcrowley
Date: 2008-12-01 11:06:58 -0800 (Mon, 01 Dec 2008)
New Revision: 11951

Modified:
   openlaszlo/trunk/WEB-INF/lps/lfc/data/LzDatapointer.lzs
   openlaszlo/trunk/docs/src/developers/programs/databinding-$23.lzx
Log:
Change 20081201-laszlo-0 by laszlo at T43-L3XEXMW on 2008-12-01 05:36:10 EST
    in /home/laszlo/src/svn/openlaszlo/trunk-grayfox
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Datapointer.deleteNode() should check previous sibling if next sibling doesn't exist
    Databinding example 23 exhibits odd behavior

New Features:

Bugs Fixed: LPP-7416 - Datapointer.deleteNode() should check previous sibling if next sibling doesn't exist
            LPP-7220 - Databinding example 23 exhibits odd behavior

Technical Reviewer: ptw
QA Reviewer: andre.bargull at udo.edu
Doc Reviewer: (pending)

Documentation:

Release Notes:

Details: LPP-7416 - Applied Andre's fix suggestion.
         LPP-7220 - Changed rerunxpath to false to get the
            example to function appropriately (with LPP-7416
            fixed).

Tests: Run databinding-$23.lzx.  Click "Next" until you
    reach the end of the list.  Click "Delete".  You
    should now move to the previous node when the current
    one is deleted, if there is no next node.  Compare to
    an unmodified version, where the data references an
    invalid node and then subsequently returns all nodes.



Modified: openlaszlo/trunk/WEB-INF/lps/lfc/data/LzDatapointer.lzs
===================================================================
--- openlaszlo/trunk/WEB-INF/lps/lfc/data/LzDatapointer.lzs	2008-12-01 18:28:03 UTC (rev 11950)
+++ openlaszlo/trunk/WEB-INF/lps/lfc/data/LzDatapointer.lzs	2008-12-01 19:06:58 UTC (rev 11951)
@@ -1145,11 +1145,11 @@
 
     var op /*:LzDataNodeMixin*/ = this.p
     if ( !this.rerunxpath ){
-        //move the pointer to the next sibling
-        if (!this.selectNext() ) {
+        //move the pointer to a sibling, try first the next sibling, then the previous sibling
+        if (! (this.selectNext() || this.selectPrev())) {
             this.__LZHandleNoNodes();
         }
-    }
+    } 
 
     op.parentNode.removeChild( op );
     return op;

Modified: openlaszlo/trunk/docs/src/developers/programs/databinding-$23.lzx
===================================================================
--- openlaszlo/trunk/docs/src/developers/programs/databinding-$23.lzx	2008-12-01 18:28:03 UTC (rev 11950)
+++ openlaszlo/trunk/docs/src/developers/programs/databinding-$23.lzx	2008-12-01 19:06:58 UTC (rev 11951)
@@ -6,13 +6,12 @@
     <handler name="onclick">
       with (details.datapath) {
         selectPrev()
-        setXPath('phonebook:/phonebook/contact[' + getXPathIndex() + ']' )
       }
     </handler>
   </button>
   
   <view name="details" options="releasetolayout" height="150">
-    <datapath xpath="phonebook:/phonebook/contact[1]"/>
+    <datapath xpath="phonebook:/phonebook/contact[1]" rerunxpath="false"/>
     <text datapath="@firstName"/>
     <text datapath="@lastName"/>
     <text datapath="@phone"/>
@@ -26,7 +25,6 @@
     <handler name="onclick">
       with (details.datapath) {
         selectNext()
-        setAttribute('xpath', 'phonebook:/phonebook/contact[' + getXPathIndex() + ']')
       }
     </handler>
   </button>



More information about the Laszlo-checkins mailing list