You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2019/05/14 19:42:02 UTC
[isis] 02/02: ISIS-2001: blob/clob properties now visible once more
even if not editable.
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
commit c8146874a9633a3afd9da1621131c6d67277ac3f
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Tue May 14 20:38:10 2019 +0100
ISIS-2001: blob/clob properties now visible once more even if not editable.
---
.../isisapplib/IsisBlobOrClobPanelAbstract.java | 39 +++++++++++-----------
1 file changed, 20 insertions(+), 19 deletions(-)
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
index e0c0c60..219ad43 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
@@ -194,15 +194,15 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
// //////////////////////////////////////
protected void onInitializeWhenViewMode() {
- updateRegularFormComponents(InputFieldVisibility.NOT_VISIBLE, null, null, null);
+ updateRegularFormComponents(InputFieldVisibility.VISIBLE, InputFieldEditability.NOT_EDITABLE, null, null);
}
protected void onInitializeWhenDisabled(final String disableReason) {
- updateRegularFormComponents(InputFieldVisibility.NOT_VISIBLE, null, null, null);
+ updateRegularFormComponents(InputFieldVisibility.VISIBLE, InputFieldEditability.NOT_EDITABLE, null, null);
}
protected void onInitializeWhenEnabled() {
- updateRegularFormComponents(InputFieldVisibility.VISIBLE, null, null, null);
+ updateRegularFormComponents(InputFieldVisibility.VISIBLE, InputFieldEditability.EDITABLE, null, null);
}
private FileUploadField createFileUploadField(String componentId) {
@@ -238,12 +238,12 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
@Override
protected void onDisabled(final String disableReason, final AjaxRequestTarget target) {
- updateRegularFormComponents(null, InputFieldEditability.NOT_EDITABLE, disableReason, target);
+ updateRegularFormComponents(InputFieldVisibility.VISIBLE, InputFieldEditability.NOT_EDITABLE, disableReason, target);
}
@Override
protected void onEnabled(final AjaxRequestTarget target) {
- updateRegularFormComponents(null, InputFieldEditability.EDITABLE, null, target);
+ updateRegularFormComponents(InputFieldVisibility.VISIBLE, InputFieldEditability.EDITABLE, null, target);
}
protected abstract T getBlobOrClobFrom(final List<FileUpload> fileUploads);
@@ -268,12 +268,15 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
sync(formComponent, visibility, editability, disabledReason, target);
final Component component = formComponent.get(ID_SCALAR_VALUE);
- sync(component, visibility, editability, disabledReason, target);
+ final InputFieldVisibility editingWidgetVisibility = editability == InputFieldEditability.EDITABLE ?
+ InputFieldVisibility.VISIBLE :
+ InputFieldVisibility.NOT_VISIBLE;
+ sync(component, editingWidgetVisibility, null, disabledReason, target);
addAcceptFilterTo(component);
fileNameLabel = updateFileNameLabel(ID_FILE_NAME, formComponent);
- updateClearLink(visibility, editability, target);
+ updateClearLink(editingWidgetVisibility, null, target);
// the visibility of download link is intentionally 'backwards';
// if in edit mode then do NOT show
@@ -305,12 +308,12 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
if(editability != null) {
- // dynamic disablement doesn't yet work, this exception is thrown when form is submitted:
- //
- // Caused by: java.lang.IllegalStateException: ServletRequest does not contain multipart content.
- // One possible solution is to explicitly call Form.setMultipart(true), Wicket tries its best to
- // auto-detect multipart forms but there are certain situation where it cannot.
-
+// // dynamic disablement doesn't yet work, this exception is thrown when form is submitted:
+// //
+// // Caused by: java.lang.IllegalStateException: ServletRequest does not contain multipart content.
+// // One possible solution is to explicitly call Form.setMultipart(true), Wicket tries its best to
+// // auto-detect multipart forms but there are certain situation where it cannot.
+//
// component.setEnabled(editability == InputFieldEditability.EDITABLE);
//
// final AttributeModifier title = new AttributeModifier("title", Model.of(disabledReason != null ? disabledReason : ""));
@@ -320,8 +323,6 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
// target.add(component);
// }
- // as a workaround, use VISIBILITY instead.
-
}
@@ -386,13 +387,13 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
formComponent.addOrReplace(ajaxLink);
final T blobOrClob = getBlobOrClobFromModel();
- final Component component = formComponent.get(ID_SCALAR_IF_REGULAR_CLEAR);
- component.setVisible(blobOrClob != null && visibility == InputFieldVisibility.VISIBLE);
- component.setEnabled(blobOrClob != null && editability == InputFieldEditability.EDITABLE);
+ final Component clearButton = formComponent.get(ID_SCALAR_IF_REGULAR_CLEAR);
+ clearButton.setVisible(blobOrClob != null && visibility == InputFieldVisibility.VISIBLE);
+ clearButton.setEnabled(blobOrClob != null);
if(target != null) {
target.add(formComponent);
- target.add(component);
+ target.add(clearButton);
target.add(ajaxLink);
}
}