Hi,

sorry for my late response here. flooded these days with lots of things.

I think the manage of row height is a problem since it needs to sync with
the rest of columns, maybe this could be big problem.

About to go rows instead columns, I think that will work better for that
case, but in that case I think we will have a problem with reordering of
columns and order data in a column (asc, desc).

Another point to take into account. I think many people in flex use to see
multi column data list as DataGrid. While working on Flex I end using more
List that DataGrid with renders that represent various pieces of
information (instead of DG cells). That worked very well. The problem in
this approach is to handle a Header in an easy way. For this reason I'm
working this days in a "HeaderList" that is just that a List with a top
header. This will be more efficient and also have a look and feel more
closer to modern apps nowadays [1] (I search quickly for something that
shows a bit like what I want to expose)

I think DG is needed when you need sorting columns or reordering, but if
that's not the case, I think we're overusing it since we come from a Flex
background and this days list based solutions are simpler, beautiful and
better.

That doesn't mean we don't have the problems stated here for DataGrid, just
saying that many of us should rethink where DG is worth it or not.

Piotr, about my time. I need to work on HeaderList since a client request
me. If you need DG solutions, maybe you can start working on new beads that
will be a total replace of the actual ones so we can try it and see if that
way is a better approach or not (rows against columns). If not I'll try to
reach to it later.

Thanks


[1] https://ps.w.org/wpforo/assets/screenshot-1.png?rev=2121401

El sáb., 2 may. 2020 a las 16:32, Alex Harui (<aha...@adobe.com.invalid>)
escribió:

> I don't think there is one perfect implementation.  And that's why we have
> beads.  I think locked columns and individual cell selection are much
> easier with the current implementation, but I agree that variable row
> height will probably be easier if all cells are in a row container.
>
> We just need volunteers to create the other implementations.
>
> -Alex
>
> On 5/2/20, 12:17 AM, "Piotr Zarzycki" <piotrzarzyck...@gmail.com> wrote:
>
>     Hi,
>
>     I absolutely agree with Greg. In fact before I read his email I was
> digging
>     into DataGrid and my initial thought was - when I set rowHeight = NaN
> - My
>     rows should be adjusted automatically by the browser - why it does not
>     happen? This is exactly because of that:
>
>     In browser I think things would be a lot easier if the
>     > internal 'lists' were managed as a single list of native rows
> instead of
>     > composed columns of lists for DataGrids (specifically in the
> browser).
>
>
>     Carlos do you think it would be good to change that implementation in
> the
>     way as Greg is proposing ? Do you have time to work on that ?
>
>     Thanks,
>     Piotr
>
>     czw., 30 kwi 2020 o 20:48 Greg Dove <greg.d...@gmail.com> napisał(a):
>
>     > For the variable rowHeight - that works fine for individual lists,
> but for
>     > datagrid that needs to match across the corresponding renderers for
> each
>     > item in the other columns, I did not check to see how that part
> works.
>     >
>     > I haven't looked at the current Jewel implementation of DataGrid
> yet, but I
>     > do think that in general we have a lot of 'Flex'/swf thinking in the
> way
>     > things work for DataGrid support, and I am not sure it is the best
> way for
>     > browsers. I understand the need for this in emulation components, but
>     > perhaps even the implementation there is not important if the
> external api
>     > remains the same. In browser I think things would be a lot easier if
> the
>     > internal 'lists' were managed as a single list of native rows
> instead of
>     > composed columns of lists for DataGrids (specifically in the
> browser).
>     > Columns could probably be managed then by custom uid-style classes
> for
>     > styling of their parts of the 'rows'.
>     >
>     > I think this probably covers off things like variable row height more
>     > height easily, and makes hover/selection at row level etc easier. And
>     > things like snapping the scrolling to the renderers (via native
> snap-to
>     > support for scroll snapping iiuc) should be much easier also I
> think. Do I
>     > have time to work on this ? No - definitely not anytime real soon.
> But I
>     > had been thinking about it after digging into internals of DataGrid
>     > recently.
>     >
>     >
>     >
>     >
>     >
>     >
>     > On Fri, May 1, 2020 at 3:52 AM Alex Harui <aha...@adobe.com.invalid>
>     > wrote:
>     >
>     > > I haven't looked at Jewel's Lists in detail, but if they have
> switched to
>     > > scenario 2 (virtual rendering is probably a good default), then
> there are
>     > > assumptions in the beads about fixed rowHeight.  But to handle 5,
> you
>     > would
>     > > start with the earlier beads that did 1 and forget virtual
> rendering for
>     > > now.  Then you should be able to not worry about fixed rowheight
> any more
>     > > since our vertical layouts for containers certainly handle
> different
>     > > children heights.  The beads for 5 should just set a width and let
> the
>     > > browser layout the children as blocks.
>     > >
>     > > HTH,
>     > > -Alex
>     > >
>     > > On 4/30/20, 8:47 AM, "Piotr Zarzycki" <piotrzarzyck...@gmail.com>
>     > wrote:
>     > >
>     > >     I thought I do understand what do you mean, but now I'm
> confused.
>     > > Where do
>     > >     you see complexity ? In amount of rows and calculations what
> height
>     > of
>     > > the
>     > >     rows are ?
>     > >
>     > >     czw., 30 kwi 2020 o 17:44 Alex Harui <aha...@adobe.com.invalid
> >
>     > > napisał(a):
>     > >
>     > >     > IMO, there are various tricks to handle a few thousand rows
> if the
>     > >     > renderers are simple.  For example, feeding in rows with a
> timer.
>     > > If the
>     > >     > computer can handle the memory required for a few thousand
>     > renderers
>     > > the
>     > >     > main issue is the time to create and render for the first
> time.
>     > >     >
>     > >     > It is when you get out to 10,000 rows or the renderers are
>     > > complex/slow
>     > >     > that it doesn't make sense to keep every renderer in memory
> and
>     > > that's why
>     > >     > the complexity goes up.
>     > >     >
>     > >     > Also, schedule-wise, you might start with 5 now and then
> take more
>     > > time to
>     > >     > work on 7 or 8.
>     > >     >
>     > >     > HTH,
>     > >     > -Alex
>     > >     >
>     > >     > On 4/30/20, 8:33 AM, "Piotr Zarzycki" <
> piotrzarzyck...@gmail.com>
>     > > wrote:
>     > >     >
>     > >     >     Hi Alex,
>     > >     >
>     > >     >     It's hard to say, cause we are heavily using DataGrid in
> whole
>     > >     > application.
>     > >     >     Each view contains some list. We have for example now
> view
>     > called
>     > >     >     "Correspondence" where in theory could be hundreds rows
> or
>     > maybe
>     > > even
>     > >     >     thousands.
>     > >     >
>     > >     >     Thanks,
>     > >     >     Piotr
>     > >     >
>     > >     >     czw., 30 kwi 2020 o 17:27 Alex Harui
> <aha...@adobe.com.invalid
>     > >
>     > >     > napisał(a):
>     > >     >
>     > >     >     > Piotr,  how many rows of data are there?
>     > >     >     >
>     > >     >     > IMO, there are multiple scenarios of increasing
> complexity.
>     > > That's
>     > >     > one of
>     > >     >     > the reasons we have beads in Royale.  The vast
> majority of
>     > our
>     > > work
>     > >     > so far
>     > >     >     > has been to handle the simpler scenarios.  The ones I
> can
>     > > think of
>     > >     > are:
>     > >     >     >
>     > >     >     > 1) few rows, fixed height, pixel scrolling
>     > >     >     > 2) lots of rows, fixed height, pixel scrolling
>     > >     >     > 3) lots of rows, fixed height, row scrolling
>     > >     >     > 4) few rows, fixed height, row scrolling
>     > >     >     > 5) few rows, variable height, pixel scrolling
>     > >     >     > 6) few rows, variable height, row scrolling
>     > >     >     > 7) lots of rows, variable height, row scrolling
>     > >     >     > 8) lots of rows, variable height, pixel scrolling
>     > >     >     >
>     > >     >     > We've done 1 & 2 as beads.  5 should be not-too-hard
>     > although I
>     > >     > certainly
>     > >     >     > be wrong about that.  If you can live with 5, then see
> if you
>     > > and/or
>     > >     > Carlos
>     > >     >     > and other volunteers can come up with the beads for it.
>     > There
>     > > is a
>     > >     > big
>     > >     >     > jump in complexity after 5, especially 7 & 8.
>     > >     >     >
>     > >     >     > HTH,
>     > >     >     > -Alex
>     > >     >     >
>     > >     >     > On 4/30/20, 6:54 AM, "Piotr Zarzycki" <
>     > > piotrzarzyck...@gmail.com>
>     > >     > wrote:
>     > >     >     >
>     > >     >     >     Just for the reference when you setup
> variableRowHeight =
>     > > true
>     > >     > in flex
>     > >     >     >     DataGrid looks like that -
>     > >     >     >
>     > >     >
>     > >
>     >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fibb.co%2FD7K9dLs&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609623612&amp;sdata=sUdKOR6zDPo4XRfeXYfIB16e2X6yy6MmVDWvntYZ3no%3D&amp;reserved=0
>     > >     >     >
>     > >     >     >     czw., 30 kwi 2020 o 15:51 Piotr Zarzycki <
>     > >     > piotrzarzyck...@gmail.com>
>     > >     >     >     napisał(a):
>     > >     >     >
>     > >     >     >     > Hi Carlos,
>     > >     >     >     >
>     > >     >     >     > I also do not see any other option than generate
> each
>     > > height
>     > >     > of the
>     > >     >     > row
>     > >     >     >     > based on the largest height in each row. It is
>     > > definitely not
>     > >     > an
>     > >     >     > option to
>     > >     >     >     > force people use rowHeight - That model
> definitely fail
>     > > in our
>     > >     >     > application
>     > >     >     >     > where there are different portion of text in
> rows. One
>     > > row
>     > >     > will have
>     > >     >     > 30
>     > >     >     >     > height the second one 45 because there more text
> to
>     > > display
>     > >     > and so
>     > >     >     > on.
>     > >     >     >     >
>     > >     >     >     > Right now Jewel DataGrid doesn't have
>     > variableRowHeight.
>     > > To me
>     > >     > it
>     > >     >     > should
>     > >     >     >     > in some form appear and if:
>     > >     >     >     >
>     > >     >     >     >  variableRowHeight = true - Row height is being
>     > > calculated
>     > >     >     > dynamically.
>     > >     >     >     > Each row can have different height. Setup
> rowHeight
>     > when
>     > > that
>     > >     > option
>     > >     >     > is
>     > >     >     >     > true won't have affect.
>     > >     >     >     >   variableRowHeight = false - default state.
> Setup
>     > > rowHeight
>     > >     > has some
>     > >     >     >     > effect. Each row has some predefined default
> height ex.
>     > > 35.
>     > >     >     >     >
>     > >     >     >     > Thoughts ?
>     > >     >     >     >
>     > >     >     >     > Thanks,
>     > >     >     >     > Piotr
>     > >     >     >     >
>     > >     >     >     > pt., 10 kwi 2020 o 17:35 Carlos Rovira <
>     > >     > carlosrov...@apache.org>
>     > >     >     >     > napisał(a):
>     > >     >     >     >
>     > >     >     >     >>  Hi Piotr,
>     > >     >     >     >>
>     > >     >     >     >> I was taking a look at the issue. Some initial
>     > thoughts:
>     > >     >     >     >>
>     > >     >     >     >> List has "variableRowHeight: true" (defined in
> Theme)
>     > > and
>     > >     > rowHeight
>     > >     >     > =
>     > >     >     >     >> NaN; by
>     > >     >     >     >> default
>     > >     >     >     >> (as we can see in first List example in TDJ. We
> can
>     > have
>     > >     > different
>     > >     >     > heights
>     > >     >     >     >> for each item renderer, while second example has
>     > > rowHeight
>     > >     > defined
>     > >     >     > and
>     > >     >     >     >> that
>     > >     >     >     >> makes all items has the same height (Side note:
> Here
>     > > there's
>     > >     > a bug
>     > >     >     > since
>     > >     >     >     >> defining rowHeight should remove
> "variableRowHeight",
>     > > since
>     > >     > both
>     > >     >     > should be
>     > >     >     >     >> mutually exclusive).
>     > >     >     >     >>
>     > >     >     >     >> In DataGrid, we have lots of Lists becoming
> columns.
>     > So
>     > > to
>     > >     > make DG
>     > >     >     > work as
>     > >     >     >     >> List I think we need to sync all rows to match
> the
>     > > bigger
>     > >     > height per
>     > >     >     >     >> renderer in all lists.
>     > >     >     >     >>
>     > >     >     >     >> I think there's no other way to do this.
>     > >     >     >     >>
>     > >     >     >     >> If not, other options is to avoid DG have
>     > > "variableRowHeight"
>     > >     > and
>     > >     >     > force
>     > >     >     >     >> people to use "rowHeight".
>     > >     >     >     >>
>     > >     >     >     >> I don't remember what Flex allow to do here,
> but maybe
>     > > is
>     > >     > something
>     > >     >     > to
>     > >     >     >     >> discuss a bit to see what could be the best for
> Royale
>     > > Jewel
>     > >     >     > DataGrid.
>     > >     >     >     >>
>     > >     >     >     >> Thanks
>     > >     >     >     >>
>     > >     >     >     >> Carlos
>     > >     >     >     >>
>     > >     >     >     >>
>     > >     >     >     >>
>     > >     >     >     >>
>     > >     >     >     >> El vie., 10 abr. 2020 a las 15:45, Piotr
> Zarzycki (<
>     > >     >     >     >> piotrzarzyck...@gmail.com>) escribió:
>     > >     >     >     >>
>     > >     >     >     >> > Hi Carlos,
>     > >     >     >     >> >
>     > >     >     >     >> > We have switched in our application to
> DataGrid.
>     > > There are
>     > >     >     > unfortunately
>     > >     >     >     >> > some custom adjustment to have it properly
> working,
>     > > but we
>     > >     > can
>     > >     >     > move
>     > >     >     >     >> forward
>     > >     >     >     >> > with that.
>     > >     >     >     >> > However I have found something which I believe
>     > should
>     > > be
>     > >     > fixed
>     > >     >     > sooner
>     > >     >     >     >> than
>     > >     >     >     >> > later.
>     > >     >     >     >> >
>     > >     >     >     >> > When rowHeight is not set and there are
> different
>     > > amount of
>     > >     > data
>     > >     >     > in data
>     > >     >     >     >> > grid cells rows are being cut and data are not
>     > > displaying
>     > >     > fully.
>     > >     >     > I have
>     > >     >     >     >> > pushed to TourDeJewel example which shows the
> issue.
>     > >     >     >     >> >
>     > >     >     >     >> > Thanks,
>     > >     >     >     >> > --
>     > >     >     >     >> >
>     > >     >     >     >> > Piotr Zarzycki
>     > >     >     >     >> >
>     > >     >     >     >> > Patreon: *
>     > >     >     >
>     > >     >
>     > >
>     >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609623612&amp;sdata=kKWcwxHbBUFbNqIn6cbOe4PzzIJ7ZXHi%2BaDGA8pAHOY%3D&amp;reserved=0
>     > >     >     >     >> > <
>     > >     >     >
>     > >     >
>     > >
>     >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&amp;sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&amp;reserved=0
>     > >     >     > >*
>     > >     >     >     >> >
>     > >     >     >     >>
>     > >     >     >     >>
>     > >     >     >     >> --
>     > >     >     >     >> Carlos Rovira
>     > >     >     >     >>
>     > >     >     >
>     > >     >
>     > >
>     >
> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&amp;sdata=iDtaQK5fHFY6flba5jUruY2JHsnIH%2Fjach3RozTxN%2B4%3D&amp;reserved=0
>     > >     >     >     >>
>     > >     >     >     >
>     > >     >     >     >
>     > >     >     >     > --
>     > >     >     >     >
>     > >     >     >     > Piotr Zarzycki
>     > >     >     >     >
>     > >     >     >     > Patreon: *
>     > >     >     >
>     > >     >
>     > >
>     >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&amp;sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&amp;reserved=0
>     > >     >     >     > <
>     > >     >     >
>     > >     >
>     > >
>     >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&amp;sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&amp;reserved=0
>     > >     >     > >*
>     > >     >     >     >
>     > >     >     >
>     > >     >     >
>     > >     >     >     --
>     > >     >     >
>     > >     >     >     Piotr Zarzycki
>     > >     >     >
>     > >     >     >     Patreon: *
>     > >     >     >
>     > >     >
>     > >
>     >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&amp;sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&amp;reserved=0
>     > >     >     >     <
>     > >     >     >
>     > >     >
>     > >
>     >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&amp;sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&amp;reserved=0
>     > >     >     > >*
>     > >     >     >
>     > >     >     >
>     > >     >     >
>     > >     >
>     > >     >     --
>     > >     >
>     > >     >     Piotr Zarzycki
>     > >     >
>     > >     >     Patreon: *
>     > >     >
>     > >
>     >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&amp;sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&amp;reserved=0
>     > >     >     <
>     > >     >
>     > >
>     >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&amp;sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&amp;reserved=0
>     > >     > >*
>     > >     >
>     > >     >
>     > >     >
>     > >
>     > >     --
>     > >
>     > >     Piotr Zarzycki
>     > >
>     > >     Patreon: *
>     > >
>     >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&amp;sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&amp;reserved=0
>     > >     <
>     > >
>     >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&amp;sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&amp;reserved=0
>     > > >*
>     > >
>     > >
>     > >
>     >
>
>
>     --
>
>     Piotr Zarzycki
>
>     Patreon: *
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609643604&amp;sdata=GQpRF%2F%2FMYdF7v08zgb1Kjvlf7zUFmLAuWDaVp9fe0eE%3D&amp;reserved=0
>     <
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609643604&amp;sdata=GQpRF%2F%2FMYdF7v08zgb1Kjvlf7zUFmLAuWDaVp9fe0eE%3D&amp;reserved=0
> >*
>
>
>

-- 
Carlos Rovira
http://about.me/carlosrovira

Reply via email to