isis-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dan Haywood <...@haywood-associates.co.uk>
Subject Re: Replacing Wicket page elements in 1.12.x
Date Thu, 05 May 2016 07:19:40 GMT
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" <e.dehair@pocos.nl> 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

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message