This seems mostly right to me. The top-level component is aggregating the interfaces onto itself. More inline...
On 12/2/16, 12:41 PM, "Peter Ent" <p...@adobe.com> wrote: > >GenericListView does not extend ListView because that leads to this >nesting business we are trying to avoid. Instead, it just extends >BeadViewBase and implements IListView (so it can provide the dataGroup for >the itemRenderer factory which will be the strand/GenericList itself). >This class makes sure the itemRenderer factory bead is installed and >listens for changes to the dataProvider in the model. Isn't the real issue that it is ContainerView that ListView extends that makes the assumption that it has to add a viewport to the strand? I think that's ok though. As Harbs said in another thread, or maybe upthread, there will be Container views for heavy containers with inner content areas and Container views for lightweight containers without inner content areas. The current ContainerView is the heavy one. You have probably just written the lightweight one or can factor it out of your GenericListView. Might be time to rename the current ContainerView to ContainerWithContentAreaView and make the lighter one the new ContainerView. > >Finally, I had to copy DataItemRendererFactoryForArrayData into a new >class because it explicitly references the org.apache.flex.html.List class >in order to pass along the labelField to each itemRenderer. This, to me, >is a problem that needs to be addressed. I probably wrote this originally, >but now it must be revisited and corrected. In theory, the labelField should be in the model and retrieved from there. My 2 cents, -Alex