You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2021/11/27 09:39:40 UTC
[isis] branch master updated: ISIS-2871: bypass domain events when recreating DataTableModel from memento
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/master by this push:
new 465da26 ISIS-2871: bypass domain events when recreating DataTableModel from memento
465da26 is described below
commit 465da26f7a477ae46950d4a2aee2379b84c889d0
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sat Nov 27 10:39:25 2021 +0100
ISIS-2871: bypass domain events when recreating DataTableModel from
memento
---
.../interactions/managed/nonscalar/DataTableModel.java | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/nonscalar/DataTableModel.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/nonscalar/DataTableModel.java
index 8b04518..171da30 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/nonscalar/DataTableModel.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/nonscalar/DataTableModel.java
@@ -113,10 +113,9 @@ implements MultiselectChoices {
dataRowsFiltered = _Observables.lazy(()->
dataElements.getValue().stream()
- //TODO filter by searchArgument
+ //XXX future extension: filter by searchArgument
.filter(this::ignoreHidden)
.sorted(managedMember.getMetaModel().getElementComparator())
- //TODO apply projection conversion (if any)
.map(domainObject->new DataRow(this, domainObject))
.collect(Can.toCan()));
@@ -151,7 +150,7 @@ implements MultiselectChoices {
.map(property->new DataColumn(this, property))
.collect(Can.toCan()));
- //XXX the tile could dynamically reflect the number of elements selected
+ //XXX future extension: the tile could dynamically reflect the number of elements selected
//eg... 5 Orders selected
title = _Observables.lazy(()->
managedMember
@@ -263,15 +262,15 @@ implements MultiselectChoices {
// bypass domain events
val collInteraction = CollectionInteraction.start(owner, memberId, where);
val managedColl = collInteraction.getManagedCollection().orElseThrow();
- //FIXME[ISIS-2871] bypass domain events
+ // invocation bypassing domain events (pass-through)
return new DataTableModel(managedColl, where, ()->
- managedColl.streamElements().collect(Can.toCan()));
+ managedColl.streamElements(InteractionInitiatedBy.PASS_THROUGH).collect(Can.toCan()));
}
val actionInteraction = ActionInteraction.start(owner, memberId, where);
val managedAction = actionInteraction.getManagedActionElseFail();
val args = argsMemento.getArgumentList(managedAction.getMetaModel());
- //FIXME[ISIS-2871] bypass domain events
- val actionResult = managedAction.invoke(args).left().orElseThrow();
+ // invocation bypassing domain events (pass-through)
+ val actionResult = managedAction.invoke(args, InteractionInitiatedBy.PASS_THROUGH).left().orElseThrow();
return forAction(managedAction, args, actionResult);
}
}