You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@royale.apache.org by Hugo Ferreira <hf...@gmail.com> on 2022/03/28 23:09:17 UTC

Data binding that does not work

Hi,

I have the following mxml code:

<dg:DataGrid localId="grid"
dataProvider="{data}"
width="100%"
height="200">
<dg:beads>
<beads:DataGridOptions modelType="{TestGridModel}"/>
</dg:beads>
...

The DataGridOptions bead it's a bead to dynamically add buttons on the
Jewel DataGrid footer.
This bead have a property called modelType:Class and the data binding is
not working (the property is always null)

I have the ContainerDataBinding set on the main mxml file.
I also tried to decorate the modelType property with [Bindable]

Do I missing a special DataBinding bead for this ?

Re: Data binding that does not work

Posted by Hugo Ferreira <hf...@gmail.com>.
I accidentally discover that adding a local id value the issue does not
happen.
Ex: <beads:DataGridOptions localId="options1"
modelType="{TestConfig.gridModel}"/>

This also happens with other components as Jewel DataGrid.
The dataProvider binding only works when I set a localId to the DataGrid.


I already updated the issue on github.

Hugo Ferreira <hf...@gmail.com> escreveu no dia terça, 29/03/2022
à(s) 01:57:

> Done.
> Thank you.
>
> Greg Dove <gr...@gmail.com> escreveu no dia terça, 29/03/2022 à(s)
> 01:50:
>
>> Thanks for verifying.
>>
>> Please log it here:
>> https://github.com/apache/royale-asjs/issues
>>
>> It may well require a combination of compiler fix and/or framework
>> (binding
>> classes) fix. But having a simple repro example will make it much easier
>> to
>> figure that out.
>>
>> Cheers,
>> Greg
>>
>>
>> On Tue, Mar 29, 2022 at 12:43 PM Hugo Ferreira <hf...@gmail.com>
>> wrote:
>>
>> > You are absolutely right !
>> > It worked !
>> > Thank you very much.
>> >
>> > Where should I log this bug ?
>> >
>> > Greg Dove <gr...@gmail.com> escreveu no dia terça, 29/03/2022 à(s)
>> > 00:36:
>> >
>> > > For:
>> > > modelType="{TestGridModel}"
>> > >
>> > > it is not 'modelType' that needs to be [Bindable] in this case as it
>> is
>> > the
>> > > destination of the binding, not the source of it.
>> > >
>> > > Assuming other bindings are working in the enclosing mxml file (which
>> > > should be true with ContainerDataBinding), then perhaps there is an
>> issue
>> > > with the 'const'-like assignment of a class directly in this case. You
>> > > could perhaps try doing something like this:
>> > >
>> > > public class TestConfig {
>> > >
>> > >   public static const gridModel:Class = TestGridModel;
>> > >
>> > > }
>> > >
>> > > and
>> > > modelType="{ TestConfig.gridModel }"
>> > >
>> > > to see if that works. If changing it like that does work, then please
>> > log a
>> > > bug for the original version of this that is not working,
>> > >
>> > >
>> > >
>> > >
>> > >
>> > > On Tue, Mar 29, 2022 at 12:09 PM Hugo Ferreira <
>> hferreira.80@gmail.com>
>> > > wrote:
>> > >
>> > > > Hi,
>> > > >
>> > > > I have the following mxml code:
>> > > >
>> > > > <dg:DataGrid localId="grid"
>> > > > dataProvider="{data}"
>> > > > width="100%"
>> > > > height="200">
>> > > > <dg:beads>
>> > > > <beads:DataGridOptions modelType="{TestGridModel}"/>
>> > > > </dg:beads>
>> > > > ...
>> > > >
>> > > > The DataGridOptions bead it's a bead to dynamically add buttons on
>> the
>> > > > Jewel DataGrid footer.
>> > > > This bead have a property called modelType:Class and the data
>> binding
>> > is
>> > > > not working (the property is always null)
>> > > >
>> > > > I have the ContainerDataBinding set on the main mxml file.
>> > > > I also tried to decorate the modelType property with [Bindable]
>> > > >
>> > > > Do I missing a special DataBinding bead for this ?
>> > > >
>> > >
>> >
>>
>

Re: Data binding that does not work

Posted by Hugo Ferreira <hf...@gmail.com>.
Done.
Thank you.

Greg Dove <gr...@gmail.com> escreveu no dia terça, 29/03/2022 à(s)
01:50:

> Thanks for verifying.
>
> Please log it here:
> https://github.com/apache/royale-asjs/issues
>
> It may well require a combination of compiler fix and/or framework (binding
> classes) fix. But having a simple repro example will make it much easier to
> figure that out.
>
> Cheers,
> Greg
>
>
> On Tue, Mar 29, 2022 at 12:43 PM Hugo Ferreira <hf...@gmail.com>
> wrote:
>
> > You are absolutely right !
> > It worked !
> > Thank you very much.
> >
> > Where should I log this bug ?
> >
> > Greg Dove <gr...@gmail.com> escreveu no dia terça, 29/03/2022 à(s)
> > 00:36:
> >
> > > For:
> > > modelType="{TestGridModel}"
> > >
> > > it is not 'modelType' that needs to be [Bindable] in this case as it is
> > the
> > > destination of the binding, not the source of it.
> > >
> > > Assuming other bindings are working in the enclosing mxml file (which
> > > should be true with ContainerDataBinding), then perhaps there is an
> issue
> > > with the 'const'-like assignment of a class directly in this case. You
> > > could perhaps try doing something like this:
> > >
> > > public class TestConfig {
> > >
> > >   public static const gridModel:Class = TestGridModel;
> > >
> > > }
> > >
> > > and
> > > modelType="{ TestConfig.gridModel }"
> > >
> > > to see if that works. If changing it like that does work, then please
> > log a
> > > bug for the original version of this that is not working,
> > >
> > >
> > >
> > >
> > >
> > > On Tue, Mar 29, 2022 at 12:09 PM Hugo Ferreira <hferreira.80@gmail.com
> >
> > > wrote:
> > >
> > > > Hi,
> > > >
> > > > I have the following mxml code:
> > > >
> > > > <dg:DataGrid localId="grid"
> > > > dataProvider="{data}"
> > > > width="100%"
> > > > height="200">
> > > > <dg:beads>
> > > > <beads:DataGridOptions modelType="{TestGridModel}"/>
> > > > </dg:beads>
> > > > ...
> > > >
> > > > The DataGridOptions bead it's a bead to dynamically add buttons on
> the
> > > > Jewel DataGrid footer.
> > > > This bead have a property called modelType:Class and the data binding
> > is
> > > > not working (the property is always null)
> > > >
> > > > I have the ContainerDataBinding set on the main mxml file.
> > > > I also tried to decorate the modelType property with [Bindable]
> > > >
> > > > Do I missing a special DataBinding bead for this ?
> > > >
> > >
> >
>

Re: Data binding that does not work

Posted by Greg Dove <gr...@gmail.com>.
Thanks for verifying.

Please log it here:
https://github.com/apache/royale-asjs/issues

It may well require a combination of compiler fix and/or framework (binding
classes) fix. But having a simple repro example will make it much easier to
figure that out.

Cheers,
Greg


On Tue, Mar 29, 2022 at 12:43 PM Hugo Ferreira <hf...@gmail.com>
wrote:

> You are absolutely right !
> It worked !
> Thank you very much.
>
> Where should I log this bug ?
>
> Greg Dove <gr...@gmail.com> escreveu no dia terça, 29/03/2022 à(s)
> 00:36:
>
> > For:
> > modelType="{TestGridModel}"
> >
> > it is not 'modelType' that needs to be [Bindable] in this case as it is
> the
> > destination of the binding, not the source of it.
> >
> > Assuming other bindings are working in the enclosing mxml file (which
> > should be true with ContainerDataBinding), then perhaps there is an issue
> > with the 'const'-like assignment of a class directly in this case. You
> > could perhaps try doing something like this:
> >
> > public class TestConfig {
> >
> >   public static const gridModel:Class = TestGridModel;
> >
> > }
> >
> > and
> > modelType="{ TestConfig.gridModel }"
> >
> > to see if that works. If changing it like that does work, then please
> log a
> > bug for the original version of this that is not working,
> >
> >
> >
> >
> >
> > On Tue, Mar 29, 2022 at 12:09 PM Hugo Ferreira <hf...@gmail.com>
> > wrote:
> >
> > > Hi,
> > >
> > > I have the following mxml code:
> > >
> > > <dg:DataGrid localId="grid"
> > > dataProvider="{data}"
> > > width="100%"
> > > height="200">
> > > <dg:beads>
> > > <beads:DataGridOptions modelType="{TestGridModel}"/>
> > > </dg:beads>
> > > ...
> > >
> > > The DataGridOptions bead it's a bead to dynamically add buttons on the
> > > Jewel DataGrid footer.
> > > This bead have a property called modelType:Class and the data binding
> is
> > > not working (the property is always null)
> > >
> > > I have the ContainerDataBinding set on the main mxml file.
> > > I also tried to decorate the modelType property with [Bindable]
> > >
> > > Do I missing a special DataBinding bead for this ?
> > >
> >
>

Re: Data binding that does not work

Posted by Hugo Ferreira <hf...@gmail.com>.
You are absolutely right !
It worked !
Thank you very much.

Where should I log this bug ?

Greg Dove <gr...@gmail.com> escreveu no dia terça, 29/03/2022 à(s)
00:36:

> For:
> modelType="{TestGridModel}"
>
> it is not 'modelType' that needs to be [Bindable] in this case as it is the
> destination of the binding, not the source of it.
>
> Assuming other bindings are working in the enclosing mxml file (which
> should be true with ContainerDataBinding), then perhaps there is an issue
> with the 'const'-like assignment of a class directly in this case. You
> could perhaps try doing something like this:
>
> public class TestConfig {
>
>   public static const gridModel:Class = TestGridModel;
>
> }
>
> and
> modelType="{ TestConfig.gridModel }"
>
> to see if that works. If changing it like that does work, then please log a
> bug for the original version of this that is not working,
>
>
>
>
>
> On Tue, Mar 29, 2022 at 12:09 PM Hugo Ferreira <hf...@gmail.com>
> wrote:
>
> > Hi,
> >
> > I have the following mxml code:
> >
> > <dg:DataGrid localId="grid"
> > dataProvider="{data}"
> > width="100%"
> > height="200">
> > <dg:beads>
> > <beads:DataGridOptions modelType="{TestGridModel}"/>
> > </dg:beads>
> > ...
> >
> > The DataGridOptions bead it's a bead to dynamically add buttons on the
> > Jewel DataGrid footer.
> > This bead have a property called modelType:Class and the data binding is
> > not working (the property is always null)
> >
> > I have the ContainerDataBinding set on the main mxml file.
> > I also tried to decorate the modelType property with [Bindable]
> >
> > Do I missing a special DataBinding bead for this ?
> >
>

Re: Data binding that does not work

Posted by Greg Dove <gr...@gmail.com>.
For:
modelType="{TestGridModel}"

it is not 'modelType' that needs to be [Bindable] in this case as it is the
destination of the binding, not the source of it.

Assuming other bindings are working in the enclosing mxml file (which
should be true with ContainerDataBinding), then perhaps there is an issue
with the 'const'-like assignment of a class directly in this case. You
could perhaps try doing something like this:

public class TestConfig {

  public static const gridModel:Class = TestGridModel;

}

and
modelType="{ TestConfig.gridModel }"

to see if that works. If changing it like that does work, then please log a
bug for the original version of this that is not working,





On Tue, Mar 29, 2022 at 12:09 PM Hugo Ferreira <hf...@gmail.com>
wrote:

> Hi,
>
> I have the following mxml code:
>
> <dg:DataGrid localId="grid"
> dataProvider="{data}"
> width="100%"
> height="200">
> <dg:beads>
> <beads:DataGridOptions modelType="{TestGridModel}"/>
> </dg:beads>
> ...
>
> The DataGridOptions bead it's a bead to dynamically add buttons on the
> Jewel DataGrid footer.
> This bead have a property called modelType:Class and the data binding is
> not working (the property is always null)
>
> I have the ContainerDataBinding set on the main mxml file.
> I also tried to decorate the modelType property with [Bindable]
>
> Do I missing a special DataBinding bead for this ?
>