There's another bug that's keeping this example from working, the
default updateData()
method for inputtext is not getting the modified input text.
A workaround
LzInputText's updateData method is written as
function updateData (){
return this.sprite.text;
}
But nothing seems to actually be updating the LzInputTextSprite 'text'
field when the onblur event happens.
LzInputText ought to be updateData defined like this I think, or else
something in the textsprite should
be updating that field automatically
function updateData (){
return this.getText();
}
A workaround would be to override the updateData method on inputtext, like this
<inputtext datapath="ds:/stuff/@input" text=" $path{'@input'}" >
<method name="updateData">
this.setText( this.getText() );
return this.text;
</method>
<method event="onblur">
this.datapath.updateData();
</method>
</inputtext>
On Dec 19, 2007 1:01 AM, Henry Minsky <[EMAIL PROTECTED]> wrote:
> My understanding is that updateData method on datapath needs to have a
> datapath which actually
> points to a 'terminal' element that returns a value, i.e.,
>
> <inputtext datapath="ds:/stuff/@input" text=" $path{'@input'}" >
>
> I'm not sure why edittext works without such a path. The $path
> expression doesn't set the datapath
> automatically. It is just an accessor.
>
> If it used to work to say <inputtext datapath="ds:/stuff" text="
> $path{'@input'}" > we should find out which
> changeset caused it to stop working, and why.
>
>
>
>
>
> On Dec 18, 2007 12:27 PM, David Buckler <[EMAIL PROTECTED]> wrote:
> >
> >
> >
> > I think I have found a decent sized bug in version 4.0.7. All over our
> > application we use databound inputtext but in the newest version it appears
> > that this is no longer supported. If you look at the example below, change
> > the text of the inputtext and then click to the edittext and look at ds in
> > the debugger you see that the dataset doesnt update. The edittext works
> > perfectly but has the border which is not desirable in our UI. Is this a
> > feature of the inputtext that has been removed in this version or is this a
> > bug?
> >
> > <canvas width="100%" height="100%">
> >
> > <dataset name="ds">
> > <stuff edit="default edit" input="default input"/>
> > </dataset>
> >
> > <simplelayout axis="x" spacing="20"/>
> >
> > <inputtext datapath="ds:/stuff" text="$path{'@input'}">
> > <method event="onblur">
> > this.datapath.updateData();
> > </method>
> > </inputtext>
> >
> > <edittext datapath="ds:/stuff" text="$path{'@edit'}">
> > <method event="onblur">
> > this.datapath.updateData();
> > </method>
> > </edittext>
> >
> >
> > </canvas>
>
>
>
> --
> Henry Minsky
> Software Architect
> [EMAIL PROTECTED]
>
--
Henry Minsky
Software Architect
[EMAIL PROTECTED]