
|
If you were logged in you would be able to see more operations.
|
|
|
| Severity: |
Minor
|
| Fixed in branch: |
trunk
|
| Runtime: |
N/A
|
| Fix in hand: |
False
|
|
A user reported this bug:
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>
==========================================================
|
|
Description
|
A user reported this bug:
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>
==========================================================
|
Show » |
|
I don't see how updateData would know where to put the data back into the dataset.
however, there is a real bug in LzInputText.updateData. it is defined as
function updateData (){
return this.sprite.text;
}
But I don't think there is anything automatically updating the sprite.text attribute.
A workaround for the test case is
<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>
So the fix would probably be to define this as the updateData method for LzInputText in the LFC