Hi Piotr,

Just add the bead to the datagrid:

<j:DataGrid>
<j:beads>
<j:DataGridSort/>
</j:beads>
</j:DataGrid>

I was me that set dataProvider = null to force the DataGrid to refresh.
I saw that on something else on the framework to refresh the DataGrid.

Carlos, also is worry about that.
For sure that is an area to be improved, to find out a better way to
refresh if possible.

Piotr Zarzycki <piotrzarzyck...@gmail.com> escreveu no dia terça,
15/09/2020 à(s) 07:17:

> Hi Hugo, Carlos,
>
> Could you provide example how to use DataGridSort ?
>
> Additionally making dataProvider = null worries me a lot - can any of you
> look into this and sort it out ? It's completely insufficient if you
> display a lot in DG.
>
> Thanks,
> Piotr
>
> sob., 12 wrz 2020 o 16:53 Hugo Ferreira <hferreira...@gmail.com>
> napisał(a):
>
> > That makes sense, not tied only a one kind of component.
> >
> > Carlos Rovira <carlosrov...@apache.org> escreveu no dia sábado,
> 12/09/2020
> > à(s) 15:48:
> >
> > > Just refactored the header to IDataGridHeader as a first step to allow
> > > other kind ButtonBars (IconButtonBar or ToggleButtonBar).
> > > So I think we could have some css for additional DG configuration that
> > add
> > > the sort bead and a toggle button bar with the right icons. Still have
> to
> > > think more about it...
> > >
> > > El sáb., 12 sept. 2020 a las 16:16, Hugo Ferreira (<
> > hferreira...@gmail.com
> > > >)
> > > escribió:
> > >
> > > > Hi Carlos,
> > > >
> > > > Yes, I think that if someone needs to extend this bead, it's more
> > likely
> > > to
> > > > create a complete new one instead of override a mouse click function.
> > > > Just my 2 cents.
> > > > But it's not a big issue for me.
> > > >
> > > > - I miss some icon indicators. That probably could be solved changing
> > > > ButtonBar to ToggleButtonBar and setting up the up/down icons
> > > > Yes. I notice that. Probably the next DataGrid update. Maybe I can do
> > > > myself.
> > > >
> > > > Carlos Rovira <carlosrov...@apache.org> escreveu no dia sábado,
> > > 12/09/2020
> > > > à(s) 08:24:
> > > >
> > > > > Hi Hugo,
> > > > >
> > > > > The change from private to protected was thinking on extensibility,
> > > > > although probably in this case since it only implies that function
> > > people
> > > > > probably will create a completely new bead if they need to do
> > something
> > > > > more.
> > > > >
> > > > > Two more things:
> > > > >
> > > > > - The actual way of reassigning the collection completely has 2
> > > problems:
> > > > > remove the current selection (if it has some) and reset the
> > > scrollToIndex
> > > > > (scrollbar goes to the start). I add here @Greg Dove <
> > > > greg.d...@gmail.com>
> > > > > to
> > > > > notice this.
> > > > > - I miss some icon indicators. That probably could be solved
> changing
> > > > > ButtonBar to ToggleButtonBar and setting up the up/down icons
> > > > >
> > > > >
> > > > > El vie., 11 sept. 2020 a las 20:14, Hugo Ferreira (<
> > > > hferreira...@gmail.com
> > > > > >)
> > > > > escribió:
> > > > >
> > > > > > OK, I saw.
> > > > > > Thank you.
> > > > > >
> > > > > > I have one question:
> > > > > > Why did you changed "private function mouseClickHandler" to
> > > "protected
> > > > > > function mouseClickHandler" ?
> > > > > >
> > > > > > Carlos Rovira <carlosrov...@apache.org> escreveu no dia sexta,
> > > > > 11/09/2020
> > > > > > à(s) 18:26:
> > > > > >
> > > > > > > Hi Hugo,
> > > > > > > I committed some changes that would like you to check:
> > > > > > >
> > > > > > > * docs
> > > > > > > * imports (DataGrid and Event imports was missed so jewel was
> not
> > > > > > > compiling)
> > > > > > >
> > > > > > > also about this lines I was exposing in review comments:
> > > > > > >
> > > > > > > dg.dataProvider = null;
> > > > > > > dg.dataProvider = collection;
> > > > > > >
> > > > > > > I was thinking in do instead this:
> > > > > > >
> > > > > > > dg.model.dispatchEvent(new Event("dataProviderChanged"));
> > > > > > >
> > > > > > > But this is not working since
> > > "ArrayListSelectionModel.dataProvider"
> > > > > for
> > > > > > > each column List has:
> > > > > > >
> > > > > > > if (value == _dataProvider) return;
> > > > > > >
> > > > > > > and since the dataProvider is the same (although order changed)
> > it
> > > > > > returns
> > > > > > > without refreshing it
> > > > > > > for that reason you need to do a null and then reassign the
> > > provider.
> > > > > > >
> > > > > > > I'll see what we can do in that kind of cases.
> > > > > > >
> > > > > > > @Greg Dove <greg.d...@gmail.com> , what do you think about
> this?
> > > > > looking
> > > > > > > at
> > > > > > > IArrayListView API talks about calling just refresh() in the
> > > > collection
> > > > > > > should update the view, but we are not doing this, so making
> > things
> > > > > > > more complicated when using the API.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > El vie., 11 sept. 2020 a las 19:14, Carlos Rovira (<
> > > > > > > carlosrov...@apache.org>)
> > > > > > > escribió:
> > > > > > >
> > > > > > > > Hi Hugo,
> > > > > > > >
> > > > > > > > it's less difficult than you could think. For example in
> Jewel
> > > > List:
> > > > > > > > dataProvider, selectedIndex, selectedItem, labelField are
> > > probably
> > > > > the
> > > > > > > real
> > > > > > > > needs always. But other than that will be used in some cases
> > and
> > > > not
> > > > > in
> > > > > > > > others, so that probably means carry that code to a bead.
> > > > > > > >
> > > > > > > > For example, I left things in that case like rowHeight that I
> > > > should
> > > > > > > > remove, since now presentation models are working fine, and
> > > people
> > > > > > always
> > > > > > > > can change rowHeight (or other things in PM) setting the
> bead.
> > > I'll
> > > > > be
> > > > > > > > proposing this soon to be coherent with the rest of the
> > > > > > implementations.
> > > > > > > >
> > > > > > > > El vie., 11 sept. 2020 a las 18:22, Hugo Ferreira (<
> > > > > > > hferreira...@gmail.com>)
> > > > > > > > escribió:
> > > > > > > >
> > > > > > > >> Hi Carlos,
> > > > > > > >>
> > > > > > > >> Great news :)
> > > > > > > >>
> > > > > > > >> Makes sense what you say.
> > > > > > > >> The difficult part is to decide what is used all the time to
> > be
> > > > part
> > > > > > of
> > > > > > > >> the
> > > > > > > >> component and what is accessory to be built as a bead.
> > > > > > > >>
> > > > > > > >>
> > > > > > > >> In that case I don't think we need to add that API in front
> of
> > > > > > DataGrid,
> > > > > > > >> since the dataProvider is something managed internally. We
> can
> > > > > always
> > > > > > > add
> > > > > > > >> a
> > > > > > > >> bead (like the one you did) to do something similar. In
> Fact,
> > it
> > > > is
> > > > > > part
> > > > > > > >> of
> > > > > > > >> what you did in this concrete bead, so that shows that
> adding
> > > that
> > > > > > king
> > > > > > > of
> > > > > > > >> APIs is not what we try to do. That was one of the Flex
> > > problems,
> > > > > that
> > > > > > > the
> > > > > > > >> components was very bloated with code for many side cases.
> > > > > > > >> APIs in components should have what's really important and
> > > always
> > > > > used
> > > > > > > and
> > > > > > > >> then left other things that "could be used" for beads.
> > > > > > > >> Being said that, I don't try to be PAYG in a "nonsense way",
> > and
> > > > > > always
> > > > > > > >> try
> > > > > > > >> to ponder if the APIs will be used a lot or just
> sporadically.
> > > > > > > >>
> > > > > > > >>
> > > > > > > >>
> > > > > > > >> Carlos Rovira <carlosrov...@apache.org> escreveu no dia
> > sexta,
> > > > > > > 11/09/2020
> > > > > > > >> à(s) 16:57:
> > > > > > > >>
> > > > > > > >> > Hi Hugo,
> > > > > > > >> >
> > > > > > > >> > just merged the PR :)
> > > > > > > >> >
> > > > > > > >> > going to try and see if what I had in mind made sense.
> > > > > > > >> > About refreshing: In Royale PAYG is what rules all the
> > > framework
> > > > > and
> > > > > > > we
> > > > > > > >> try
> > > > > > > >> > to keep things as simple as possible.
> > > > > > > >> > In that case I don't think we need to add that API in
> front
> > of
> > > > > > > DataGrid,
> > > > > > > >> > since the dataProvider is something managed internally. We
> > can
> > > > > > always
> > > > > > > >> add a
> > > > > > > >> > bead (like the one you did) to do something similar. In
> > Fact,
> > > it
> > > > > is
> > > > > > > >> part of
> > > > > > > >> > what you did in this concrete bead, so that shows that
> > adding
> > > > that
> > > > > > > king
> > > > > > > >> of
> > > > > > > >> > APIs is not what we try to do. That was one of the Flex
> > > > problems,
> > > > > > that
> > > > > > > >> the
> > > > > > > >> > components was very bloated with code for many side cases.
> > > > > > > >> > APIs in components should have what's really important and
> > > > always
> > > > > > used
> > > > > > > >> and
> > > > > > > >> > then left other things that "could be used" for beads.
> > > > > > > >> > Being said that, I don't try to be PAYG in a "nonsense
> way",
> > > and
> > > > > > > always
> > > > > > > >> try
> > > > > > > >> > to ponder if the APIs will be used a lot or just
> > sporadically.
> > > > > > > >> >
> > > > > > > >> > Thanks
> > > > > > > >> >
> > > > > > > >> > El vie., 11 sept. 2020 a las 10:54, Hugo Ferreira (<
> > > > > > > >> hferreira...@gmail.com
> > > > > > > >> > >)
> > > > > > > >> > escribió:
> > > > > > > >> >
> > > > > > > >> > > Hi Carlos,
> > > > > > > >> > >
> > > > > > > >> > > In Royale and DataGrid Jewel world (and you know much
> > better
> > > > > than
> > > > > > > >> me), to
> > > > > > > >> > > refresh the DataGrid one needs to set the dataProvider
> to
> > > null
> > > > > and
> > > > > > > >> then
> > > > > > > >> > > reassign the dataProvider.
> > > > > > > >> > > I know that because I already saw before somewhere in
> the
> > > > > > framework
> > > > > > > >> so I
> > > > > > > >> > > predict that is currently the "normal" behaviour.
> > > > > > > >> > >
> > > > > > > >> > > Thinking about that, I think that it should be nice that
> > the
> > > > > > > DataGrid
> > > > > > > >> > has a
> > > > > > > >> > > refresh method that internally sets the dataProvider to
> a
> > > > > > variable,
> > > > > > > >> > > dataProvider to null and assign the dataProvider from
> the
> > > > > > variable.
> > > > > > > >> > > If we find a better solution we just need to change one
> > > place.
> > > > > > > >> > >
> > > > > > > >> > > When I need to refresh the DataGrid, I just need to call
> > > > > > > >> > > myDataGrid.refresh() without knowing what's the current
> > > > > > > >> implementation of
> > > > > > > >> > > it.
> > > > > > > >> > >
> > > > > > > >> > >
> > > > > > > >> > > Carlos Rovira <carlosrov...@apache.org> escreveu no dia
> > > > sexta,
> > > > > > > >> > 11/09/2020
> > > > > > > >> > > à(s) 09:45:
> > > > > > > >> > >
> > > > > > > >> > > > Hi Hugo,
> > > > > > > >> > > >
> > > > > > > >> > > > about your PR, I was trying to ask you about these
> lines
> > > of
> > > > > code
> > > > > > > and
> > > > > > > >> > what
> > > > > > > >> > > > reason made you choose to code it that way.
> > > > > > > >> > > > I can merge it as is and see if I can improve that
> > refresh
> > > > and
> > > > > > > >> > > dataprovider
> > > > > > > >> > > > reassign, but the objective is that you see if you can
> > > > improve
> > > > > > > >> and/or I
> > > > > > > >> > > > understand if there's some issue in the underlying
> > > > > > infrastructure,
> > > > > > > >> and
> > > > > > > >> > > help
> > > > > > > >> > > > you to improve your knowledge.
> > > > > > > >> > > >
> > > > > > > >> > > >
> > > > > > > >> > > > El jue., 10 sept. 2020 a las 17:35, Hugo Ferreira (<
> > > > > > > >> > > hferreira...@gmail.com
> > > > > > > >> > > > >)
> > > > > > > >> > > > escribió:
> > > > > > > >> > > >
> > > > > > > >> > > > > Hi Carlos,
> > > > > > > >> > > > >
> > > > > > > >> > > > > I don't see your comment in PR !
> > > > > > > >> > > > >
> > > > > > > >> > > > > Carlos Rovira <carlosrov...@apache.org> escreveu no
> > dia
> > > > > > quinta,
> > > > > > > >> > > > 10/09/2020
> > > > > > > >> > > > > à(s) 16:24:
> > > > > > > >> > > > >
> > > > > > > >> > > > > > Hi Hugo,
> > > > > > > >> > > > > >
> > > > > > > >> > > > > > maybe you didn't notice but I commented in your PR
> > :)
> > > > > > > >> > > > > >
> > > > > > > >> > > > > > https://github.com/apache/royale-asjs/pull/908
> > > > > > > >> > > > > >
> > > > > > > >> > > > > >
> > > > > > > >> > > > > > El jue., 10 sept. 2020 a las 13:26, Hugo Ferreira
> (<
> > > > > > > >> > > > > hferreira...@gmail.com
> > > > > > > >> > > > > > >)
> > > > > > > >> > > > > > escribió:
> > > > > > > >> > > > > >
> > > > > > > >> > > > > > > Thank you.
> > > > > > > >> > > > > > > As I progress on my development and face other
> > > missing
> > > > > > pices
> > > > > > > >> > that I
> > > > > > > >> > > > > need
> > > > > > > >> > > > > > I
> > > > > > > >> > > > > > > will do the same, now that I know who works a
> bead
> > > and
> > > > > how
> > > > > > > to
> > > > > > > >> > build
> > > > > > > >> > > > > one.
> > > > > > > >> > > > > > >
> > > > > > > >> > > > > > > Carlos Rovira <carlosrov...@apache.org>
> escreveu
> > no
> > > > dia
> > > > > > > >> quinta,
> > > > > > > >> > > > > > 10/09/2020
> > > > > > > >> > > > > > > à(s) 11:47:
> > > > > > > >> > > > > > >
> > > > > > > >> > > > > > > > Thanks for the PR Hugo. Good one for your
> first!
> > > :)
> > > > > > > >> > > > > > > > I started a review and commented on some
> things
> > > > there.
> > > > > > > >> > > > > > > > We also have a rule to wait 24h at least for
> > > others
> > > > to
> > > > > > > >> review
> > > > > > > >> > and
> > > > > > > >> > > > for
> > > > > > > >> > > > > > any
> > > > > > > >> > > > > > > > comment or issue we can notice
> > > > > > > >> > > > > > > > thanks
> > > > > > > >> > > > > > > >
> > > > > > > >> > > > > > > > El jue., 10 sept. 2020 a las 11:18, Hugo
> > Ferreira
> > > (<
> > > > > > > >> > > > > > > hferreira...@gmail.com
> > > > > > > >> > > > > > > > >)
> > > > > > > >> > > > > > > > escribió:
> > > > > > > >> > > > > > > >
> > > > > > > >> > > > > > > > > Hi Carlos,
> > > > > > > >> > > > > > > > >
> > > > > > > >> > > > > > > > > Done.
> > > > > > > >> > > > > > > > >
> > > > > > > >> > > > > > > > > Carlos Rovira <carlosrov...@apache.org>
> > > escreveu
> > > > no
> > > > > > dia
> > > > > > > >> > > quinta,
> > > > > > > >> > > > > > > > 10/09/2020
> > > > > > > >> > > > > > > > > à(s) 08:58:
> > > > > > > >> > > > > > > > >
> > > > > > > >> > > > > > > > > > Hi Hugo,
> > > > > > > >> > > > > > > > > >
> > > > > > > >> > > > > > > > > > could you please create a PR (Pull
> Request)?
> > > > > > > >> > > > > > > > > > That way we get better with how Apache
> works
> > > and
> > > > > you
> > > > > > > get
> > > > > > > >> > > > credits
> > > > > > > >> > > > > > for
> > > > > > > >> > > > > > > > your
> > > > > > > >> > > > > > > > > > work, Royale gets better collaboration
> > numbers
> > > > and
> > > > > > the
> > > > > > > >> > > process
> > > > > > > >> > > > is
> > > > > > > >> > > > > > in
> > > > > > > >> > > > > > > > > > general better to track if you continue
> > > > > contributing
> > > > > > > in
> > > > > > > >> the
> > > > > > > >> > > > > future
> > > > > > > >> > > > > > > > (what
> > > > > > > >> > > > > > > > > I
> > > > > > > >> > > > > > > > > > expect). Also, doing good contributions,
> > > having
> > > > a
> > > > > > good
> > > > > > > >> > > > knowledge
> > > > > > > >> > > > > of
> > > > > > > >> > > > > > > > > Royale
> > > > > > > >> > > > > > > > > > and aligning with community guidelines of
> > > > respect
> > > > > > and
> > > > > > > >> > > teamwork
> > > > > > > >> > > > > > could
> > > > > > > >> > > > > > > > make
> > > > > > > >> > > > > > > > > > you eligible to be a committer in the
> future
> > > and
> > > > > add
> > > > > > > >> this
> > > > > > > >> > > > > directly.
> > > > > > > >> > > > > > > > > >
> > > > > > > >> > > > > > > > > > Thanks!
> > > > > > > >> > > > > > > > > >
> > > > > > > >> > > > > > > > > >
> > > > > > > >> > > > > > > > > > El jue., 10 sept. 2020 a las 1:01, Hugo
> > > Ferreira
> > > > > (<
> > > > > > > >> > > > > > > > > hferreira...@gmail.com
> > > > > > > >> > > > > > > > > > >)
> > > > > > > >> > > > > > > > > > escribió:
> > > > > > > >> > > > > > > > > >
> > > > > > > >> > > > > > > > > > > Hi Carlos,
> > > > > > > >> > > > > > > > > > >
> > > > > > > >> > > > > > > > > > > Here the full class source code.
> > > > > > > >> > > > > > > > > > > Tested and working.
> > > > > > > >> > > > > > > > > > > You can add to Royale source code tree.
> > > > > > > >> > > > > > > > > > >
> > > > > > > >> > > > > > > > > > >
> > > > > > > >> > > > > > > > > > >
> > > > > > > >> > > > > > > > > >
> > > > > > > >> > > > > > > > >
> > > > > > > >> > > > > > > >
> > > > > > > >> > > > > > >
> > > > > > > >> > > > > >
> > > > > > > >> > > > >
> > > > > > > >> > > >
> > > > > > > >> > >
> > > > > > > >> >
> > > > > > > >>
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> ////////////////////////////////////////////////////////////////////////////////
> > > > > > > >> > > > > > > > > > > //
> > > > > > > >> > > > > > > > > > > // Licensed to the Apache Software
> > > Foundation
> > > > > > (ASF)
> > > > > > > >> under
> > > > > > > >> > > one
> > > > > > > >> > > > > or
> > > > > > > >> > > > > > > more
> > > > > > > >> > > > > > > > > > > // contributor license agreements. See
> the
> > > > > NOTICE
> > > > > > > file
> > > > > > > >> > > > > > distributed
> > > > > > > >> > > > > > > > with
> > > > > > > >> > > > > > > > > > > // this work for additional information
> > > > > regarding
> > > > > > > >> > copyright
> > > > > > > >> > > > > > > > ownership.
> > > > > > > >> > > > > > > > > > > // The ASF licenses this file to You
> under
> > > the
> > > > > > > Apache
> > > > > > > >> > > > License,
> > > > > > > >> > > > > > > > Version
> > > > > > > >> > > > > > > > > > 2.0
> > > > > > > >> > > > > > > > > > > // (the "License"); you may not use this
> > > file
> > > > > > except
> > > > > > > >> in
> > > > > > > >> > > > > > compliance
> > > > > > > >> > > > > > > > with
> > > > > > > >> > > > > > > > > > > // the License. You may obtain a copy of
> > the
> > > > > > License
> > > > > > > >> at
> > > > > > > >> > > > > > > > > > > //
> > > > > > > >> > > > > > > > > > > //
> > > http://www.apache.org/licenses/LICENSE-2.0
> > > > > > > >> > > > > > > > > > > //
> > > > > > > >> > > > > > > > > > > // Unless required by applicable law or
> > > agreed
> > > > > to
> > > > > > in
> > > > > > > >> > > writing,
> > > > > > > >> > > > > > > > software
> > > > > > > >> > > > > > > > > > > // distributed under the License is
> > > > distributed
> > > > > on
> > > > > > > an
> > > > > > > >> "AS
> > > > > > > >> > > IS"
> > > > > > > >> > > > > > > BASIS,
> > > > > > > >> > > > > > > > > > > // WITHOUT WARRANTIES OR CONDITIONS OF
> ANY
> > > > KIND,
> > > > > > > >> either
> > > > > > > >> > > > express
> > > > > > > >> > > > > > or
> > > > > > > >> > > > > > > > > > implied.
> > > > > > > >> > > > > > > > > > > // See the License for the specific
> > language
> > > > > > > governing
> > > > > > > >> > > > > > permissions
> > > > > > > >> > > > > > > > and
> > > > > > > >> > > > > > > > > > > // limitations under the License.
> > > > > > > >> > > > > > > > > > > //
> > > > > > > >> > > > > > > > > > >
> > > > > > > >> > > > > > > > > > >
> > > > > > > >> > > > > > > > > >
> > > > > > > >> > > > > > > > >
> > > > > > > >> > > > > > > >
> > > > > > > >> > > > > > >
> > > > > > > >> > > > > >
> > > > > > > >> > > > >
> > > > > > > >> > > >
> > > > > > > >> > >
> > > > > > > >> >
> > > > > > > >>
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> ////////////////////////////////////////////////////////////////////////////////
> > > > > > > >> > > > > > > > > > > package
> > > > > > > >> org.apache.royale.jewel.beads.controls.datagrid
> > > > > > > >> > > > > > > > > > > {
> > > > > > > >> > > > > > > > > > > import org.apache.royale.core.IBead;
> > > > > > > >> > > > > > > > > > > import org.apache.royale.jewel.DataGrid;
> > > > > > > >> > > > > > > > > > > import org.apache.royale.core.IStrand;
> > > > > > > >> > > > > > > > > > > import
> > > > > > > >> org.apache.royale.jewel.beads.views.DataGridView;
> > > > > > > >> > > > > > > > > > > import
> > org.apache.royale.events.MouseEvent;
> > > > > > > >> > > > > > > > > > > import
> > > > > > > >> > > > > > > > >
> > > > > > > >> > > >
> > > > > >
> org.apache.royale.jewel.supportClasses.datagrid.DataGridButtonBar;
> > > > > > > >> > > > > > > > > > > import
> org.apache.royale.collections.Sort;
> > > > > > > >> > > > > > > > > > > import
> > > > org.apache.royale.collections.SortField;
> > > > > > > >> > > > > > > > > > > import
> > > > > > org.apache.royale.collections.IArrayListView;
> > > > > > > >> > > > > > > > > > > import
> > > > > > > >> > > > > > > >
> > > > > > > >>
> > org.apache.royale.jewel.supportClasses.datagrid.DataGridColumn;
> > > > > > > >> > > > > > > > > > >
> > > > > > > >> > > > > > > > > > > public class DataGridSortBead implements
> > > IBead
> > > > > > > >> > > > > > > > > > > {
> > > > > > > >> > > > > > > > > > > public function DataGridSortBead()
> > > > > > > >> > > > > > > > > > > {
> > > > > > > >> > > > > > > > > > > super();
> > > > > > > >> > > > > > > > > > > }
> > > > > > > >> > > > > > > > > > > private var dg:DataGrid;
> > > > > > > >> > > > > > > > > > >
> > > > > > > >> > > > > > > > > > > private var descending:Boolean;
> > > > > > > >> > > > > > > > > > > /**
> > > > > > > >> > > > > > > > > > > * @copy
> > org.apache.royale.core.IBead#strand
> > > > > > > >> > > > > > > > > > > *
> > > > > > > >> > > > > > > > > > > * @langversion 3.0
> > > > > > > >> > > > > > > > > > > * @playerversion Flash 10.2
> > > > > > > >> > > > > > > > > > > * @playerversion AIR 2.6
> > > > > > > >> > > > > > > > > > > * @productversion Royale 0.0
> > > > > > > >> > > > > > > > > > > */
> > > > > > > >> > > > > > > > > > > public function set
> > > strand(value:IStrand):void
> > > > > > > >> > > > > > > > > > > {
> > > > > > > >> > > > > > > > > > > dg = value as DataGrid;
> > > > > > > >> > > > > > > > > > > (dg.view as
> > > > > > > >> > > > > >
> > > DataGridView).header.addEventListener(MouseEvent.CLICK,
> > > > > > > >> > > > > > > > > > > mouseClickHandler, false);
> > > > > > > >> > > > > > > > > > > }
> > > > > > > >> > > > > > > > > > > /**
> > > > > > > >> > > > > > > > > > > * @private
> > > > > > > >> > > > > > > > > > > */
> > > > > > > >> > > > > > > > > > > private function
> > > > > > > >> mouseClickHandler(event:MouseEvent):void
> > > > > > > >> > > > > > > > > > > {
> > > > > > > >> > > > > > > > > > > var dgView:DataGridView = dg.view as
> > > > > DataGridView;
> > > > > > > >> > > > > > > > > > > var buttonBar:DataGridButtonBar =
> > > > (dgView.header
> > > > > > as
> > > > > > > >> > > > > > > > DataGridButtonBar);
> > > > > > > >> > > > > > > > > > > // probably down on one button and up on
> > > > another
> > > > > > > >> button
> > > > > > > >> > > > > > > > > > > // so the ButtonBar won't change
> selection
> > > > > > > >> > > > > > > > > > > if (event.target == buttonBar) return;
> > > > > > > >> > > > > > > > > > > var column:DataGridColumn =
> > > event.target.data
> > > > as
> > > > > > > >> > > > > DataGridColumn;
> > > > > > > >> > > > > > > > > > > var collection:IArrayListView =
> > > > dg.dataProvider
> > > > > as
> > > > > > > >> > > > > > IArrayListView;
> > > > > > > >> > > > > > > > > > > if (collection && collection.length)
> > > > > > > >> > > > > > > > > > > {
> > > > > > > >> > > > > > > > > > > if (collection.sort &&
> > > > > > > collection.sort.fields[0].name
> > > > > > > >> ==
> > > > > > > >> > > > > > > > > > column.dataField)
> > > > > > > >> > > > > > > > > > > descending = !descending;
> > > > > > > >> > > > > > > > > > >
> > > > > > > >> > > > > > > > > > > var sort:Sort = new Sort();
> > > > > > > >> > > > > > > > > > > var sortField:SortField = new
> > > > > > > >> SortField(column.dataField,
> > > > > > > >> > > > > false,
> > > > > > > >> > > > > > > > > > > descending);
> > > > > > > >> > > > > > > > > > >
> > > > > > > >> > > > > > > > > > > sort.fields = [ sortField ];
> > > > > > > >> > > > > > > > > > > collection.sort = sort;
> > > > > > > >> > > > > > > > > > >
> > > > > > > >> > > > > > > > > > > (dgView.header as
> > > > > > > >> > > DataGridButtonBar).model.dispatchEvent(new
> > > > > > > >> > > > > > Event(
> > > > > > > >> > > > > > > > > > > "dataProviderChanged"));
> > > > > > > >> > > > > > > > > > >
> > > > > > > >> > > > > > > > > > > // force redraw of column headers
> > > > > > > >> > > > > > > > > > > collection.refresh();
> > > > > > > >> > > > > > > > > > > dg.dataProvider = null;
> > > > > > > >> > > > > > > > > > > dg.dataProvider = collection;
> > > > > > > >> > > > > > > > > > > }
> > > > > > > >> > > > > > > > > > > }
> > > > > > > >> > > > > > > > > > > }
> > > > > > > >> > > > > > > > > > > }
> > > > > > > >> > > > > > > > > > >
> > > > > > > >> > > > > > > > > > > Hugo Ferreira <hferreira...@gmail.com>
> > > > escreveu
> > > > > > no
> > > > > > > >> dia
> > > > > > > >> > > > quarta,
> > > > > > > >> > > > > > > > > 9/09/2020
> > > > > > > >> > > > > > > > > > > à(s) 14:19:
> > > > > > > >> > > > > > > > > > >
> > > > > > > >> > > > > > > > > > > > OK, thank you for the tips.
> > > > > > > >> > > > > > > > > > > > I will try to it :)
> > > > > > > >> > > > > > > > > > > >
> > > > > > > >> > > > > > > > > > > > Carlos Rovira <
> carlosrov...@apache.org>
> > > > > > escreveu
> > > > > > > no
> > > > > > > >> > dia
> > > > > > > >> > > > > > quarta,
> > > > > > > >> > > > > > > > > > > 9/09/2020
> > > > > > > >> > > > > > > > > > > > à(s) 14:15:
> > > > > > > >> > > > > > > > > > > >
> > > > > > > >> > > > > > > > > > > >> Hi Hugo,
> > > > > > > >> > > > > > > > > > > >>
> > > > > > > >> > > > > > > > > > > >> some helpers:
> > > > > > > >> > > > > > > > > > > >>
> > > > > > > >> > > > > > > > > > > >> 1.- You can create a
> "DataGridSortBead"
> > > > class
> > > > > > in
> > > > > > > >> jewel
> > > > > > > >> > > > > > library.
> > > > > > > >> > > > > > > > > > package
> > > > > > > >> > > > > > > > > > > >> should be:
> > > > > > > >> > > org.apache.royale.jewel.beads.controls.datagrid
> > > > > > > >> > > > > > > > > > > >> 2.- add to jewel-manifest.xml
> > > > > > > >> > > > > > > > > > > >> 3.- code will be similar to the
> > MXRoyale
> > > > > > version.
> > > > > > > >> > > > > > > > > > > >>     a) in the strand method override
> > you
> > > > > > retrieve
> > > > > > > >> the
> > > > > > > >> > > bead
> > > > > > > >> > > > > > view
> > > > > > > >> > > > > > > > > > > >> (DataGridView)
> > > > > > > >> > > > > > > > > > > >>     b) you create a listener for
> > > > > > MouseEvent.CLICK
> > > > > > > >> > > > > > > > > > > >>
> > > > > > > >> > > > > > > > > > > >> (at that time if you put a trace in
> > that
> > > > > > handler
> > > > > > > >> you
> > > > > > > >> > > > should
> > > > > > > >> > > > > > see
> > > > > > > >> > > > > > > > the
> > > > > > > >> > > > > > > > > > > traces
> > > > > > > >> > > > > > > > > > > >> as you click a button in the button
> > bar)
> > > > > > > >> > > > > > > > > > > >>
> > > > > > > >> > > > > > > > > > > >>      c) Finally you implement the
> > > sorting.
> > > > > That
> > > > > > > >> should
> > > > > > > >> > > be
> > > > > > > >> > > > > very
> > > > > > > >> > > > > > > > > similar
> > > > > > > >> > > > > > > > > > > to
> > > > > > > >> > > > > > > > > > > >> MXRoyale code just taking into
> account
> > > that
> > > > > > Jewel
> > > > > > > >> uses
> > > > > > > >> > > > > > ArrayList
> > > > > > > >> > > > > > > > and
> > > > > > > >> > > > > > > > > > > >> ArrayListView for sorting.
> > > > > > > >> > > > > > > > > > > >>
> > > > > > > >> > > > > > > > > > > >> I think these are the main puzzle's
> > > pieces
> > > > if
> > > > > > you
> > > > > > > >> want
> > > > > > > >> > > to
> > > > > > > >> > > > > try
> > > > > > > >> > > > > > > it.
> > > > > > > >> > > > > > > > > > > >>
> > > > > > > >> > > > > > > > > > > >>
> > > > > > > >> > > > > > > > > > > >>
> > > > > > > >> > > > > > > > > > > >> El mié., 9 sept. 2020 a las 14:58,
> Hugo
> > > > > > Ferreira
> > > > > > > (<
> > > > > > > >> > > > > > > > > > > hferreira...@gmail.com
> > > > > > > >> > > > > > > > > > > >> >)
> > > > > > > >> > > > > > > > > > > >> escribió:
> > > > > > > >> > > > > > > > > > > >>
> > > > > > > >> > > > > > > > > > > >> > "Now that you have a bit more
> > > experience"
> > > > > > > >> > > > > > > > > > > >> > Comparing to Flex, not so much.
> > > > > > > >> > > > > > > > > > > >> >
> > > > > > > >> > > > > > > > > > > >> > "what do you think about trying to
> > > > create a
> > > > > > > Jewel
> > > > > > > >> > > > version
> > > > > > > >> > > > > of
> > > > > > > >> > > > > > > > > > > >> > "DataGridSortBead""
> > > > > > > >> > > > > > > > > > > >> > I think that I'm still very new to
> > > Royale
> > > > > > and I
> > > > > > > >> > never
> > > > > > > >> > > > > tried
> > > > > > > >> > > > > > to
> > > > > > > >> > > > > > > > > > create
> > > > > > > >> > > > > > > > > > > a
> > > > > > > >> > > > > > > > > > > >> > bead but I can try and check other
> > bead
> > > > to
> > > > > > chek
> > > > > > > >> how
> > > > > > > >> > to
> > > > > > > >> > > > > > > implement
> > > > > > > >> > > > > > > > > > one.
> > > > > > > >> > > > > > > > > > > If
> > > > > > > >> > > > > > > > > > > >> > sucessed I will post here the
> source
> > so
> > > > any
> > > > > > of
> > > > > > > >> you
> > > > > > > >> > > guys
> > > > > > > >> > > > > can
> > > > > > > >> > > > > > > add
> > > > > > > >> > > > > > > > to
> > > > > > > >> > > > > > > > > > > >> source
> > > > > > > >> > > > > > > > > > > >> > tree.
> > > > > > > >> > > > > > > > > > > >> >
> > > > > > > >> > > > > > > > > > > >> > Carlos Rovira <
> > carlosrov...@apache.org
> > > >
> > > > > > > >> escreveu no
> > > > > > > >> > > dia
> > > > > > > >> > > > > > > quarta,
> > > > > > > >> > > > > > > > > > > >> 9/09/2020
> > > > > > > >> > > > > > > > > > > >> > à(s) 13:42:
> > > > > > > >> > > > > > > > > > > >> >
> > > > > > > >> > > > > > > > > > > >> > > Hi Hugo,
> > > > > > > >> > > > > > > > > > > >> > >
> > > > > > > >> > > > > > > > > > > >> > > Sorting in Jewel is still not
> > > > implemented
> > > > > > > >> sorry.
> > > > > > > >> > > > > > > > > > > >> > > 'DataGridSortBead' is a bead from
> > > > > emulation
> > > > > > > >> > library,
> > > > > > > >> > > > so
> > > > > > > >> > > > > it
> > > > > > > >> > > > > > > > will
> > > > > > > >> > > > > > > > > > not
> > > > > > > >> > > > > > > > > > > >> work
> > > > > > > >> > > > > > > > > > > >> > > with Jewel.
> > > > > > > >> > > > > > > > > > > >> > >
> > > > > > > >> > > > > > > > > > > >> > > Now that you have a bit more
> > > experience
> > > > > > with
> > > > > > > >> > Royale
> > > > > > > >> > > > and
> > > > > > > >> > > > > > > Jewel,
> > > > > > > >> > > > > > > > > > what
> > > > > > > >> > > > > > > > > > > do
> > > > > > > >> > > > > > > > > > > >> > you
> > > > > > > >> > > > > > > > > > > >> > > think about trying to create a
> > Jewel
> > > > > > version
> > > > > > > of
> > > > > > > >> > > > > > > > > "DataGridSortBead"
> > > > > > > >> > > > > > > > > > > and
> > > > > > > >> > > > > > > > > > > >> > > submit for review as PR? I think
> we
> > > > need
> > > > > > > folks
> > > > > > > >> > like
> > > > > > > >> > > > you
> > > > > > > >> > > > > > > trying
> > > > > > > >> > > > > > > > > to
> > > > > > > >> > > > > > > > > > > take
> > > > > > > >> > > > > > > > > > > >> > over
> > > > > > > >> > > > > > > > > > > >> > > Royale and join us helping where
> is
> > > > > > possible.
> > > > > > > >> What
> > > > > > > >> > > do
> > > > > > > >> > > > > you
> > > > > > > >> > > > > > > > think?
> > > > > > > >> > > > > > > > > > > >> > >
> > > > > > > >> > > > > > > > > > > >> > > Thanks
> > > > > > > >> > > > > > > > > > > >> > >
> > > > > > > >> > > > > > > > > > > >> > > El mié., 9 sept. 2020 a las
> 11:07,
> > > Hugo
> > > > > > > >> Ferreira
> > > > > > > >> > (<
> > > > > > > >> > > > > > > > > > > >> > hferreira...@gmail.com
> > > > > > > >> > > > > > > > > > > >> > > >)
> > > > > > > >> > > > > > > > > > > >> > > escribió:
> > > > > > > >> > > > > > > > > > > >> > >
> > > > > > > >> > > > > > > > > > > >> > > > Hello,
> > > > > > > >> > > > > > > > > > > >> > > >
> > > > > > > >> > > > > > > > > > > >> > > > I have a Jewel DataGrid.
> > > > > > > >> > > > > > > > > > > >> > > > I see that Jewel DataGrid uses
> a
> > > > button
> > > > > > in
> > > > > > > >> > header,
> > > > > > > >> > > > > > > obviously
> > > > > > > >> > > > > > > > > for
> > > > > > > >> > > > > > > > > > > >> > sorting.
> > > > > > > >> > > > > > > > > > > >> > > > Clicking nothing happens.
> > > > > > > >> > > > > > > > > > > >> > > > Once almost every property is
> > added
> > > > > thru
> > > > > > > >> beads,
> > > > > > > >> > I
> > > > > > > >> > > > > > searched
> > > > > > > >> > > > > > > > and
> > > > > > > >> > > > > > > > > > > found
> > > > > > > >> > > > > > > > > > > >> > this
> > > > > > > >> > > > > > > > > > > >> > > > bead: DataGridSortBead but
> after
> > I
> > > > > added
> > > > > > it
> > > > > > > >> the
> > > > > > > >> > > > > DataGrid
> > > > > > > >> > > > > > > > shows
> > > > > > > >> > > > > > > > > > > empty
> > > > > > > >> > > > > > > > > > > >> > > > without any error in console.
> > > > > > > >> > > > > > > > > > > >> > > >
> > > > > > > >> > > > > > > > > > > >> > > > What I'm doing wrong here ?
> > > > > > > >> > > > > > > > > > > >> > > >
> > > > > > > >> > > > > > > > > > > >> > >
> > > > > > > >> > > > > > > > > > > >> > >
> > > > > > > >> > > > > > > > > > > >> > > --
> > > > > > > >> > > > > > > > > > > >> > > Carlos Rovira
> > > > > > > >> > > > > > > > > > > >> > > http://about.me/carlosrovira
> > > > > > > >> > > > > > > > > > > >> > >
> > > > > > > >> > > > > > > > > > > >> >
> > > > > > > >> > > > > > > > > > > >>
> > > > > > > >> > > > > > > > > > > >>
> > > > > > > >> > > > > > > > > > > >> --
> > > > > > > >> > > > > > > > > > > >> Carlos Rovira
> > > > > > > >> > > > > > > > > > > >> http://about.me/carlosrovira
> > > > > > > >> > > > > > > > > > > >>
> > > > > > > >> > > > > > > > > > > >
> > > > > > > >> > > > > > > > > > >
> > > > > > > >> > > > > > > > > >
> > > > > > > >> > > > > > > > > >
> > > > > > > >> > > > > > > > > > --
> > > > > > > >> > > > > > > > > > Carlos Rovira
> > > > > > > >> > > > > > > > > > http://about.me/carlosrovira
> > > > > > > >> > > > > > > > > >
> > > > > > > >> > > > > > > > >
> > > > > > > >> > > > > > > >
> > > > > > > >> > > > > > > >
> > > > > > > >> > > > > > > > --
> > > > > > > >> > > > > > > > Carlos Rovira
> > > > > > > >> > > > > > > > http://about.me/carlosrovira
> > > > > > > >> > > > > > > >
> > > > > > > >> > > > > > >
> > > > > > > >> > > > > >
> > > > > > > >> > > > > >
> > > > > > > >> > > > > > --
> > > > > > > >> > > > > > Carlos Rovira
> > > > > > > >> > > > > > http://about.me/carlosrovira
> > > > > > > >> > > > > >
> > > > > > > >> > > > >
> > > > > > > >> > > >
> > > > > > > >> > > >
> > > > > > > >> > > > --
> > > > > > > >> > > > Carlos Rovira
> > > > > > > >> > > > http://about.me/carlosrovira
> > > > > > > >> > > >
> > > > > > > >> > >
> > > > > > > >> >
> > > > > > > >> >
> > > > > > > >> > --
> > > > > > > >> > Carlos Rovira
> > > > > > > >> > http://about.me/carlosrovira
> > > > > > > >> >
> > > > > > > >>
> > > > > > > >
> > > > > > > >
> > > > > > > > --
> > > > > > > > Carlos Rovira
> > > > > > > > http://about.me/carlosrovira
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > Carlos Rovira
> > > > > > > http://about.me/carlosrovira
> > > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Carlos Rovira
> > > > > http://about.me/carlosrovira
> > > > >
> > > >
> > >
> > >
> > > --
> > > Carlos Rovira
> > > http://about.me/carlosrovira
> > >
> >
>
>
> --
>
> Piotr Zarzycki
>

Reply via email to