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 <[email protected]> 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" <[email protected]> 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 <[email protected]>
> 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" <[email protected]>
> 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 <[email protected]>
>     > 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" <
> [email protected]>
>     > 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%7Ccf24bde1653745f5aa5608d7ed1dcef2%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637238584601470020&amp;sdata=mxY02yHzRs6gD2hSLm0kB3SD75DMVu7ZywB9r5N99jA%3D&amp;reserved=0
>     >     >
>     >     >     czw., 30 kwi 2020 o 15:51 Piotr Zarzycki <
>     > [email protected]>
>     >     >     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 <
>     > [email protected]>
>     >     >     > 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 (<
>     >     >     >> [email protected]>) 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%7Ccf24bde1653745f5aa5608d7ed1dcef2%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637238584601470020&amp;sdata=OLCnePTZVRIRvyE8zuqPy2j7MXc7lz6VSTe4ayiHP3I%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%7Ccf24bde1653745f5aa5608d7ed1dcef2%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637238584601470020&amp;sdata=OLCnePTZVRIRvyE8zuqPy2j7MXc7lz6VSTe4ayiHP3I%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%7Ccf24bde1653745f5aa5608d7ed1dcef2%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637238584601470020&amp;sdata=QJ%2FYFb%2BWXPhfQEL5j7IrLKYXu76rNmxf1iJqOJnPUKc%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%7Ccf24bde1653745f5aa5608d7ed1dcef2%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637238584601480015&amp;sdata=VXf%2Fe%2FkkDMzvO6SqAi%2B84UPRkhLN%2FC6NplNRCrArUIU%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%7Ccf24bde1653745f5aa5608d7ed1dcef2%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637238584601480015&amp;sdata=VXf%2Fe%2FkkDMzvO6SqAi%2B84UPRkhLN%2FC6NplNRCrArUIU%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%7Ccf24bde1653745f5aa5608d7ed1dcef2%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637238584601480015&amp;sdata=VXf%2Fe%2FkkDMzvO6SqAi%2B84UPRkhLN%2FC6NplNRCrArUIU%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%7Ccf24bde1653745f5aa5608d7ed1dcef2%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637238584601480015&amp;sdata=VXf%2Fe%2FkkDMzvO6SqAi%2B84UPRkhLN%2FC6NplNRCrArUIU%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%7Ccf24bde1653745f5aa5608d7ed1dcef2%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637238584601480015&amp;sdata=VXf%2Fe%2FkkDMzvO6SqAi%2B84UPRkhLN%2FC6NplNRCrArUIU%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%7Ccf24bde1653745f5aa5608d7ed1dcef2%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637238584601480015&amp;sdata=VXf%2Fe%2FkkDMzvO6SqAi%2B84UPRkhLN%2FC6NplNRCrArUIU%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%7Ccf24bde1653745f5aa5608d7ed1dcef2%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637238584601480015&amp;sdata=VXf%2Fe%2FkkDMzvO6SqAi%2B84UPRkhLN%2FC6NplNRCrArUIU%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%7Ccf24bde1653745f5aa5608d7ed1dcef2%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637238584601480015&amp;sdata=VXf%2Fe%2FkkDMzvO6SqAi%2B84UPRkhLN%2FC6NplNRCrArUIU%3D&amp;reserved=0
> >*
>
>
>

Reply via email to