Hi, My main reason for moving the layout code to layout beads with more control is to allow the insertion of drawing overlays:
Base component (eg, <div>) — ButtonBar header — Container (list area) If you wanted to draw better grid lines, then inserting a drawing layer of some type between the Container and ButtonBar is possible with a custom layout, but if ButtonBar and Container are being controlled by a CSS Flexbox layout, then so will the drawing layer; HTML has no way to indicate that the drawing layer should be ignored as far as I know. I think even if you do not set that element's flex style the Flexbox will still manage it. The contents of the Container list area are still being managed by Flexbox. And if you really want FlexBox to do the work, you could make a custom DataGridFlexLayout or something like that. I'm just trying to make things PAYG and still leave open the possibility of new beads to do new interesting things. How does that sound? —peter On 1/19/18, 9:48 PM, "Piotr Zarzycki" <[email protected]> wrote: >Well, I'm afraid a bit that custom layout will be liable to some external >containers and this cause unpredictable visual issues. > >Flex box layouts just works, really good. Our flex box layout is doing >also >something with the children if remember correctly? >I know that there is possible to do not set anything to children and >achieve what we currently have in those layouts. > >On Fri, Jan 19, 2018, 22:46 Peter Ent <[email protected]> wrote: > >> There's going to be one more change: I'm going to bring back >> DataGridLayout and DataGridPercentageLayout, moving the layout code from >> the View beads into layout beads. This has a couple of benefits: >> >> First, it separates the layout of the sub-parts from the creation of >>those >> parts. >> >> Second, while I thought it was a good idea to use VerticalFlexLayout to >> handle the placement of the DataGrid pieces, this layout is just >>overkill >> and not PAYG friendly since DataGrid is really just a header and a box. >>A >> custom layout for DataGrid just has have to calculate the width of the >> columns and the header buttons, then place the header and the container >> for the columns. >> >> Third, VerticalFlexLayout works on every child which makes it difficult >>to >> insert an drawing overlay that could be used to draw nice grid lines. >>With >> DataGrid-specific layouts, any layers introduced will be ignored and >>beads >> can manage them independently. >> >> I'm just working on the HTML vs Flash Player border thickness >>calculations >> so things look right. Its math and that means it will take me awhile ;-) >> >> I hope there won't be much trouble switching over to this way. I hope to >> get to finish it over the weekend but Monday at the latest. >> >> Regards, >> Peter >> >> On 1/19/18, 1:47 PM, "Peter Ent" <[email protected]> wrote: >> >> >Hi Piotr, >> > >> >I was having an issue with the appearance of Scrollbars (in >>FlashPlayer, >> >not HTML) in DataGrid. I finally tracked it down to the >> >HorizontalFlexLayout that is used for the Container holding the >>columns. >> >When I switch it to HorizontalLayout the scrollbars appear. It looks >>like >> >HorizontalFlexLayout (on the SWF side) is recalculating the vertical >> >height and that's making the ScrollingViewport not show the scrollbars. >> > >> >I'm going to make HorizontalLayout the default for DataGrid and then >>look >> >into why HorizontalFlexLayout should be caring about its height if it >> >hasn't been given an explicit height. >> > >> >If you need to use HorizontalFlexLayout for that Container you can just >> >swap it in your app's CSS. >> > >> >‹peter >> > >> >On 1/6/18, 8:52 AM, "piotrz" <[email protected]> wrote: >> > >> >>Hi Peter, >> >> >> >>Just wanted to let you know that I have started use more extensively >> >>DataGrid and I have found that using FlexLayout gives a way better >> >>results >> >>for DataGrid than VerticalFlexLayout/HorizotnalFlexLayout beads. >> >> >> >>Ma last commit fixes issue with synchronizing width of column with >>width >> >>of >> >>header buttons in DataGrid. >> >> >> >>However there is one problem with that - Scrollbar. Take a look into >>the >> >>DataGridExample where scrollbar appear. Last column is a bit shifted. >> >>Without scrollbar width is perfectly synced. >> >> >> >>< >> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fapache-r >> >>o >> >>yale-development.20373.n8.nabble.com >> %2Ffile%2Ft1%2Fscroll_bar_problem.png >> >>& >> >>data=02%7C01%7Cpent%40adobe.com >> %7C8c21b8b4e77145f0ef1f08d5550cc1c8%7Cfa7b >> >>1 >> >>>>b5a7b34438794aed2c178decee1%7C0%7C0%7C636508435642510130&sdata=lqFyo5AO >>>>7t >> >>d >> >>RcHECAn1KbiDZJOFiMi9bpfNLnFvDYgQ%3D&reserved=0> >> >> >> >>If you have an idea how to fix that problem it would be great if you >> >>could >> >>do it during your work on DataGrid. >> >> >> >>Maybe we shouldn't actually fix that ? >> >> >> >>Thanks, Piotr >> >> >> >> >> >> >> >> >> >>-- >> >>Sent from: >> >> >> >>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fapache-ro >> >>y >> >>ale-development.20373.n8.nabble.com%2F&data=02%7C01%7Cpent%40adobe.com >> %7C >> >>8 >> >>>>c21b8b4e77145f0ef1f08d5550cc1c8%7Cfa7b1b5a7b34438794aed2c178decee1%7C0% >>>>7C >> >>0 >> >>>>%7C636508435642510130&sdata=%2Fd%2FchSnNgv9qO7qhIF%2B5e7uN0U1nCJpZMjRGB >>>>wE >> >>Q >> >>cqs%3D&reserved=0 >> > >> >>
