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

Reply via email to