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 2020/05/05 14:25:04 UTC
[isis] branch master updated: ISIS-2311: disable CORS,
as it breaks toggle off AJAX requests (HTTP 403)
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 145d8d5 ISIS-2311: disable CORS, as it breaks toggle off AJAX requests (HTTP 403)
145d8d5 is described below
commit 145d8d5226b46b49d580c4923576c0a2045bdd4a
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue May 5 16:24:48 2020 +0200
ISIS-2311: disable CORS, as it breaks toggle off AJAX requests (HTTP
403)
---
.../demo/src/main/java/demoapp/webapp/DemoAppManifest.java | 2 +-
.../wicket/ui/components/collection/CollectionPanel.java | 11 +++++------
.../ajaxtable/columns/ObjectAdapterToggleboxColumn.java | 10 ++++++----
.../components/widgets/checkbox/ContainedToggleboxPanel.java | 11 ++++-------
4 files changed, 16 insertions(+), 18 deletions(-)
diff --git a/examples/demo/src/main/java/demoapp/webapp/DemoAppManifest.java b/examples/demo/src/main/java/demoapp/webapp/DemoAppManifest.java
index ead89c7..01cca84 100644
--- a/examples/demo/src/main/java/demoapp/webapp/DemoAppManifest.java
+++ b/examples/demo/src/main/java/demoapp/webapp/DemoAppManifest.java
@@ -75,7 +75,7 @@ import demoapp.utils.LibraryPreloadingService;
IsisModuleViewerRestfulObjectsJaxrsResteasy4.class,
// CORS
- IsisModuleExtCorsImpl.class,
+ //IsisModuleExtCorsImpl.class,
// Security Manager Extension (secman)
IsisModuleExtSecmanModel.class,
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
index ee2b0f5..03d8b41 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/CollectionPanel.java
@@ -32,6 +32,7 @@ import org.apache.isis.core.commons.internal.collections._Lists;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
+import org.apache.isis.core.webapp.context.memento.ObjectMemento;
import org.apache.isis.viewer.wicket.model.common.OnSelectionHandler;
import org.apache.isis.viewer.wicket.model.links.LinkAndLabel;
import org.apache.isis.viewer.wicket.model.models.EntityCollectionModel;
@@ -46,7 +47,6 @@ import org.apache.isis.viewer.wicket.ui.components.collectioncontents.ajaxtable.
import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract2;
import org.apache.isis.viewer.wicket.ui.components.widgets.checkbox.ContainedToggleboxPanel;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
-import org.apache.isis.core.webapp.context.memento.ObjectMemento;
import lombok.val;
@@ -131,7 +131,6 @@ implements CollectionSelectorProvider, BulkActionsProvider {
}
-
// -- BulkActionsProvider
ObjectAdapterToggleboxColumn toggleboxColumn;
@@ -142,14 +141,14 @@ implements CollectionSelectorProvider, BulkActionsProvider {
final List<ObjectAction> associatedActions =
associatedWithActionsHelper.getAssociatedActions(getSpecificationLoader());
- final EntityCollectionModel entityCollectionModel = getModel();
+ val entityCollectionModel = getModel();
if(associatedActions.isEmpty() || entityCollectionModel.isStandalone()) {
return null;
}
toggleboxColumn = new ObjectAdapterToggleboxColumn(super.getCommonContext());
- final OnSelectionHandler handler = new OnSelectionHandler() {
+ val handler = new OnSelectionHandler() {
private static final long serialVersionUID = 1L;
@@ -159,9 +158,9 @@ implements CollectionSelectorProvider, BulkActionsProvider {
final ManagedObject selectedAdapter,
final AjaxRequestTarget ajaxRequestTarget) {
- ContainedToggleboxPanel togglePanel = (ContainedToggleboxPanel) context;
+ val togglePanel = (ContainedToggleboxPanel) context;
- boolean isSelected = getModel().toggleSelectionOn(selectedAdapter);
+ val isSelected = getModel().toggleSelectionOn(selectedAdapter);
togglePanel.setModel(isSelected); // sync the checkbox's model
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ObjectAdapterToggleboxColumn.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ObjectAdapterToggleboxColumn.java
index 8d0813d..a4440c1 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ObjectAdapterToggleboxColumn.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/columns/ObjectAdapterToggleboxColumn.java
@@ -30,11 +30,11 @@ import org.apache.wicket.model.IModel;
import org.apache.isis.core.commons.internal.collections._Lists;
import org.apache.isis.core.metamodel.spec.ManagedObject;
+import org.apache.isis.core.webapp.context.IsisWebAppCommonContext;
import org.apache.isis.viewer.wicket.model.common.OnSelectionHandler;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.ui.components.widgets.checkbox.ContainedToggleboxPanel;
import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
-import org.apache.isis.core.webapp.context.IsisWebAppCommonContext;
import lombok.val;
@@ -69,11 +69,11 @@ public final class ObjectAdapterToggleboxColumn extends ColumnAbstract<ManagedOb
@Override
public Component getHeader(String componentId) {
- final ContainedToggleboxPanel bulkToggle = new ContainedToggleboxPanel(componentId) {
+ val bulkToggle = new ContainedToggleboxPanel(componentId) {
private static final long serialVersionUID = 1L;
@Override
public void onSubmit(AjaxRequestTarget target) {
- final boolean setToChecked = !this.isChecked();
+ val setToChecked = !this.isChecked();
for (ContainedToggleboxPanel rowToggle : rowToggles) {
@@ -104,12 +104,14 @@ public final class ObjectAdapterToggleboxColumn extends ColumnAbstract<ManagedOb
final MarkupContainer row = cellItem.getParent().getParent();
row.setOutputMarkupId(true);
- final ContainedToggleboxPanel rowToggle = new ContainedToggleboxPanel(componentId) {
+ val rowToggle = new ContainedToggleboxPanel(componentId) {
private static final long serialVersionUID = 1L;
@Override
public void onSubmit(AjaxRequestTarget target) {
+
val entityModel = (EntityModel) rowModel;
val selectedAdapter = entityModel.load();
+
if(onSelectionHandler != null) {
onSelectionHandler.onSelected(this, selectedAdapter, target);
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/checkbox/ContainedToggleboxPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/checkbox/ContainedToggleboxPanel.java
index 12302ea..443a460 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/checkbox/ContainedToggleboxPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/checkbox/ContainedToggleboxPanel.java
@@ -39,13 +39,13 @@ public class ContainedToggleboxPanel extends PanelAbstract<Model<Boolean>> {
private static final String ID_TOGGLEBOX = "togglebox";
private final AjaxCheckBox checkbox;
- // private final List<Component> componentsToRerender = _Lists.newArrayList();
public ContainedToggleboxPanel(final String id) {
super(id);
final WebMarkupContainer markupContainer = new WebMarkupContainer(ID_CONTAINER);
add(markupContainer);
+
final Form<Object> form = new Form<Object>(ID_FORM);
markupContainer.add(form);
@@ -54,18 +54,15 @@ public class ContainedToggleboxPanel extends PanelAbstract<Model<Boolean>> {
@Override
protected void onUpdate(AjaxRequestTarget target) {
+
ContainedToggleboxPanel.this.toggle(target);
}
+
};
form.add(checkbox);
+
}
-
- // public void addComponentToRerender(final Component component) {
- // component.setOutputMarkupPlaceholderTag(true);
- // componentsToRerender.add(component);
- // }
-
/**
* Hook method for (typically anonymous) subclasses to override.
*/