Thank you. On Fri, Feb 25, 2011 at 7:42 AM, André Bargull <[email protected]>wrote:
> Forgot to cc laszlo-user > > > On 2/25/2011 1:40 PM, André Bargull wrote: > >> Hi David, >> >> this is the expected behaviour for normal replication. With the default >> configuration for replication, the original node is destroyed and new clones >> are created. By changing the "pooling" attribute [1], you can change this >> behaviour: >> <datapath xpath='testdata:/drawer/folder[1]/page/@id' pooling='true'/> >> >> Regards, >> André >> >> [1] >> http://www.openlaszlo.org/lps-latest/docs/reference/lz.datapath.html#LzDatapath.__ivars__.pooling >> >> Hello, >>> >>> Normally, when I add a child to a DataElement, I get one ondata call for >>> each DataElement added. However, when I add a DataElement to a parent >>> that >>> already has one Child (and only one child), two ondata calls are fired. >>> One >>> for each child. When there are 0, 2, 3... child elements, this does not >>> occur. Is this a bug or a feature? I was unable to find reference in the >>> bug >>> tracker. >>> >>> Below is code illustrating the phenomenon. >>> >>> Regards, >>> >>> David >>> >>> >>> <canvas> >>> <dataset name='testdata'> >>> <drawer> >>> <folder id='a' /> >>> </drawer> >>> </dataset> >>> <view> >>> <simplelayout /> >>> <view> >>> <simplelayout /> >>> <button> >>> Add page to folder >>> <datapointer name='dp' xpath='testdata:/drawer/folder[1]' /> >>> <attribute name='pageid' type='string' value='1' /> >>> <handler name='onclick'> >>> var page = new lz.DataElement('page', {'id': this['pageid']}); >>> this.dp.p.appendChild(page); >>> newid = parseInt(this['pageid'])+1 >>> this['pageid'] = newid.toString() >>> </handler> >>> </button> >>> <text>Contents of folder a</text> >>> <text datapath='testdata:/drawer/folder[1]/page/@id'> >>> <handler name='ondata'> >>> Debug.debug('ondata', this.datapath); >>> </handler> >>> </text> >>> </view> >>> <text> >>> Please note: every time a node is added, one ondata event occurs EXCEPT >>> when >>> there is one other child node, in which case two ondata events fire. >>> </text> >>> </view> >>> </canvas> >>> >>
