Hi Erik,

I think that's an oversight... I can't thing of any particularly good
reason for this class not to use ComponentFactory.

There is actually a new SPI you could use to patch this... provide a new
implementation of GridSystemService (subclassing the default BS3 impl and
using @DomainService (menuOrder="1") to ensure your patched version is
found before the default impl).

Meanwhile, pull requests happily received...

Thx, Dan
On 4 May 2016 16:39, "Erik de Hair" <[email protected]> wrote:

Hi,

In Apache Isis 1.11.x we replaced the collection contents component so we
could use another kind of repeating view [1] depending on the entity type
contained in a collection.

In 1.12.x it looks like the EntityCollectionPanel isn't created by a
(overrideable) factory anymore but is created by a direct call for the
constructor of the EntityCollectionPanel in the Col-class. To get the same
results as we had before, we now have to do something like this in the
buildGui()-method of Col (after copying the class to our webapp):

for(CollectionLayoutData collection : collections) {

    finalString id = collectionRv.newChildId();
    finalEntityModel entityModelWithHints =
getModel().cloneWithLayoutMetadata(collection);



if(entityModelWithHints.getObject().getObject()instanceofSearchResultsPage)
{
        finalSearchResultsCollectionContentsPanel collectionPanel
=newSearchResultsCollectionContentsPanel(id, entityModelWithHints);
        collectionRv.add(collectionPanel);
    }
    else
    {
        finalEntityCollectionPanel collectionPanel
=newEntityCollectionPanel(id, entityModelWithHints);
        collectionRv.add(collectionPanel);
    }
}

Is this the only way to do this (right now) or is there some more dynamic
way?

Thanks,
Erik

[1] https://imgur.com/KcQ2Qlo

Reply via email to