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 2013/08/19 10:57:07 UTC
[1/2] git commit: ISIS-498: enhancing IsisBlobPanel to display images
Updated Branches:
refs/heads/master 869668e2c -> 3bbaaab3f
ISIS-498: enhancing IsisBlobPanel to display images
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/70fd88a3
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/70fd88a3
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/70fd88a3
Branch: refs/heads/master
Commit: 70fd88a367beb6637aa277aa751407166dbb54a9
Parents: 869668e
Author: Dan Haywood <da...@apache.org>
Authored: Sun Aug 18 15:59:18 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Sun Aug 18 15:59:18 2013 +0100
----------------------------------------------------------------------
.../isisapplib/IsisBlobOrClobPanelAbstract.css | 7 ++
.../isisapplib/IsisBlobOrClobPanelAbstract.html | 1 +
.../isisapplib/IsisBlobOrClobPanelAbstract.java | 85 +++++++++++++++++++-
3 files changed, 91 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/70fd88a3/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.css
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.css
index d08ec3a..f50c06f 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.css
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.css
@@ -84,3 +84,10 @@
padding-bottom: 0px;
font-weight: bold;
}
+
+
+.isisBlobPanel .scalarImage {
+ float:left;
+ margin-right: 10px;
+ margin-bottom: 10px;
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/isis/blob/70fd88a3/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.html
index 8986cd9..0a190ac 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.html
@@ -25,6 +25,7 @@
<div class="isisBlobPanel scalarNameAndValueComponentType">
<label for="scalarValue" wicket:id="scalarIfRegular">
<span wicket:id="scalarName" class="scalarName">[Label text]</span>
+ <img class="scalarImage" wicket:id="scalarImage"></img>
<span class="scalarValue">
<span class="uploadFile">
<span wicket:id="scalarIfRegularUpload" class="uploadTitle">Upload</span>
http://git-wip-us.apache.org/repos/asf/isis/blob/70fd88a3/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
index 94ed94d..022dafd 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
@@ -18,8 +18,16 @@
*/
package org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib;
+import java.awt.image.BufferedImage;
+import java.io.BufferedInputStream;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
import java.util.List;
+import javax.activation.MimeType;
+import javax.imageio.ImageIO;
+
import org.apache.wicket.Application;
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
@@ -32,14 +40,20 @@ import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.FormComponentLabel;
import org.apache.wicket.markup.html.form.upload.FileUpload;
import org.apache.wicket.markup.html.form.upload.FileUploadField;
+import org.apache.wicket.markup.html.image.Image;
+import org.apache.wicket.markup.html.image.resource.BufferedDynamicImageResource;
import org.apache.wicket.markup.html.link.ResourceLink;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.request.resource.IResource;
+import org.apache.wicket.request.resource.ResourceReference;
+import org.apache.wicket.util.io.IOUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.apache.isis.applib.value.Blob;
import org.apache.isis.applib.value.NamedWithMimeType;
+import org.apache.isis.core.commons.lang.IoUtils;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract;
@@ -58,7 +72,7 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
private static final String ID_SCALAR_IF_REGULAR_CLEAR = "scalarIfRegularClear";
private static final String ID_SCALAR_NAME = "scalarName";
private static final String ID_SCALAR_VALUE = "scalarValue";
- private static final String ID_FEEDBACK = "feedback";
+ private static final String ID_IMAGE = "scalarImage";
private static final String ID_SCALAR_IF_COMPACT = "scalarIfCompact";
private static final String ID_SCALAR_IF_COMPACT_DOWNLOAD = "scalarIfCompactDownload";
@@ -79,6 +93,13 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
final Label scalarName = new Label(ID_SCALAR_NAME, getModel().getName());
labelIfRegular.add(scalarName);
+
+ final Image wicketImage = asWicketImage(ID_IMAGE);
+ if(wicketImage != null) {
+ labelIfRegular.addOrReplace(wicketImage);
+ } else {
+ Components.permanentlyHide(labelIfRegular, ID_IMAGE);
+ }
updateDownloadLink(ID_SCALAR_IF_REGULAR_DOWNLOAD, labelIfRegular);
@@ -89,10 +110,70 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
return labelIfRegular;
}
+ private Image asWicketImage(String id) {
+
+ final ObjectAdapter adapter = getModel().getObject();
+ if(adapter == null) {
+ return null;
+ }
+
+ final Object object = adapter.getObject();
+ if(!(object instanceof Blob)) {
+ return null;
+ }
+
+ final Blob blob = (Blob)object;
+ final MimeType mimeType = blob.getMimeType();
+ if(mimeType == null || !mimeType.getPrimaryType().equals("image")) {
+ return null;
+ }
+
+ final BufferedImage image = asBufferedImage(blob);
+ if(image == null) {
+ return null;
+ }
+ final BufferedDynamicImageResource imageResource = new BufferedDynamicImageResource();
+ imageResource.setImage(image);
+
+ //return new Image(id, asResourceReference(id, imageResource));
+ return new Image(id, imageResource);
+ }
+
+ @SuppressWarnings("unused")
+ private ResourceReference asResourceReference(String id, final BufferedDynamicImageResource resource) {
+ return new ResourceReference(this.getClass(), id)
+ {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public IResource getResource()
+ {
+ return resource;
+ }
+ };
+ }
+
+ private BufferedImage asBufferedImage(final Blob blob) {
+ final byte[] bytes = blob.getBytes();
+ if(bytes == null) {
+ return null;
+ }
+
+ final ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
+ try {
+ return ImageIO.read(bais);
+ } catch (IOException ex) {
+ return null;
+ } finally {
+ IoUtils.closeSafely(bais);
+ }
+ }
+
@Override
protected void renderHead(IHeaderResponse response, Class<?> cls) {
super.renderHead(response, IsisBlobOrClobPanelAbstract.class); // don't use the subclass
- // also include JQuery
+ // TODO: is this also necessary?
+ // thought that JQuery was already included...
response.render(JavaScriptHeaderItem.forReference(Application.get().getJavaScriptLibrarySettings()
.getJQueryReference()));
}
[2/2] git commit: ISIS-498: show uploaded image Blobs
Posted by da...@apache.org.
ISIS-498: show uploaded image Blobs
* shows image as a thumbnail
* current image no longer shown in edit mode (else is confusing to user)
also:
* fixed upload in firefox
* minor IE improvements of styling of headers
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/3bbaaab3
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/3bbaaab3
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/3bbaaab3
Branch: refs/heads/master
Commit: 3bbaaab3fa958bb3188997ad47035d9195eeff39
Parents: 70fd88a
Author: Dan Haywood <da...@apache.org>
Authored: Mon Aug 19 09:56:24 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Mon Aug 19 09:56:24 2013 +0100
----------------------------------------------------------------------
.../CollectionContentsAsAjaxTablePanel.css | 6 +--
.../ajaxtable/MyHeadersToolbar.html | 3 --
.../entity/properties/EntityPropertiesForm.java | 6 +++
.../isisapplib/IsisBlobOrClobPanelAbstract.css | 6 +--
.../isisapplib/IsisBlobOrClobPanelAbstract.html | 19 +++++++--
.../isisapplib/IsisBlobOrClobPanelAbstract.java | 44 ++++++++------------
.../viewer/wicket/ui/pages/PageAbstract.css | 5 +++
7 files changed, 47 insertions(+), 42 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/3bbaaab3/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.css
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.css
index 4be92ad..823dfbe 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.css
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.css
@@ -42,7 +42,7 @@
padding-right: 4px;
}
.collectionContentsAsAjaxTablePanel table.contents tr th,
-.collectionContentsAsAjaxTablePanel table.contents tr th a {
+.collectionContentsAsAjaxTablePanel table.contents tr th a span {
color: #FFFFFF;
background-color: #46423C;
text-align: left;
@@ -51,8 +51,8 @@
font-weight:bold;
}
-.collectionContentsAsAjaxTablePanel table.contents tr th.wicket_orderUp a,
-.collectionContentsAsAjaxTablePanel table.contents tr th.wicket_orderDown a {
+.collectionContentsAsAjaxTablePanel table.contents tr th.wicket_orderUp a span ,
+.collectionContentsAsAjaxTablePanel table.contents tr th.wicket_orderDown a span {
background-color: #20B5C2;
}
http://git-wip-us.apache.org/repos/asf/isis/blob/3bbaaab3/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/MyHeadersToolbar.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/MyHeadersToolbar.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/MyHeadersToolbar.html
index 1a744eb..79ae3b8 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/MyHeadersToolbar.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/MyHeadersToolbar.html
@@ -19,9 +19,6 @@
<tr class="headers">
<wicket:container wicket:id="headers">
<th wicket:id="header">
- <!--
- input type="checkbox" xxxwicket:id="checkbox"/>
- -->
<span wicket:id="label">[header-label]</span>
</th>
</wicket:container>
http://git-wip-us.apache.org/repos/asf/isis/blob/3bbaaab3/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java
index 099bb0a..770b09d 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesForm.java
@@ -67,6 +67,7 @@ import org.apache.isis.viewer.wicket.model.models.ScalarModel;
import org.apache.isis.viewer.wicket.ui.ComponentType;
import org.apache.isis.viewer.wicket.ui.components.widgets.formcomponent.CancelHintRequired;
import org.apache.isis.viewer.wicket.ui.errors.JGrowlBehaviour;
+import org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage;
import org.apache.isis.viewer.wicket.ui.panels.ButtonWithPreValidateHook;
import org.apache.isis.viewer.wicket.ui.panels.FormAbstract;
import org.apache.isis.viewer.wicket.ui.util.Components;
@@ -364,6 +365,11 @@ class EntityPropertiesForm extends FormAbstract<ObjectAdapter> {
}
toViewMode(null);
+
+ final EntityPage entityPage = new EntityPage(EntityPropertiesForm.this.getModelObject(), null);
+
+ // "redirect-after-post"
+ EntityPropertiesForm.this.setResponsePage(entityPage);
}
};
http://git-wip-us.apache.org/repos/asf/isis/blob/3bbaaab3/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.css
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.css
index f50c06f..2ef6a93 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.css
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.css
@@ -36,10 +36,6 @@
font-size: 0.9em;
}
-.isisBlobPanel .scalarValue .uploadFile input {
- display: none;
-}
-
.isisBlobPanel .scalarValue a span.downloadTitle,
.isisBlobPanel .scalarValue span.uploadTitle,
.isisBlobPanel .scalarValue a span.clearTitle {
@@ -49,6 +45,7 @@
.isisBlobPanel .scalarValue a:hover span.downloadTitle,
.isisBlobPanel .scalarValue span.uploadTitle:hover,
+.isisBlobPanel .scalarValue span.uploadTitle input:hover,
.isisBlobPanel .scalarValue a:hover span.clearTitle {
background-color:#40C0CB;
color: white;
@@ -71,7 +68,6 @@
}
-
.isisBlobPanel .scalarValue {
height: 30px;
line-height: 30px;
http://git-wip-us.apache.org/repos/asf/isis/blob/3bbaaab3/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.html
index 0a190ac..8c1ca98 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.html
@@ -25,14 +25,25 @@
<div class="isisBlobPanel scalarNameAndValueComponentType">
<label for="scalarValue" wicket:id="scalarIfRegular">
<span wicket:id="scalarName" class="scalarName">[Label text]</span>
- <img class="scalarImage" wicket:id="scalarImage"></img>
+ <img class="scalarImage" width="200px" wicket:id="scalarImage"></img>
<span class="scalarValue">
+
+ <a class="clear" wicket:id="scalarIfRegularClear"><span class="clearTitle">Clear</span></a>
+
<span class="uploadFile">
- <span wicket:id="scalarIfRegularUpload" class="uploadTitle">Upload</span>
- <input type="file" name="scalarValue" id="scalarValue" wicket:id="scalarValue"/>
+
+ <!-- from: http://stackoverflow.com/questions/3226167/how-to-style-input-file-with-css3-javascript -->
+ <span wicket:id="scalarIfRegularUpload" class="uploadTitle"
+ onclick="$('#file-upload').removeClass('hidden').click().addClass('hidden')">Upload</span>
+ <!--
+ <input type="file" name="scalarValue" id="scalarValue" xxxwicket:id="scalarValue"
+ onchange="$('#file').text($(this).val());" />
+ -->
+ <input type="file" name="scalarValue" id="file-upload" wicket:id="scalarValue"
+ class="hidden" />
</span>
+
<a class="download" wicket:id="scalarIfRegularDownload"><span class="downloadTitle">Download</span></a>
- <a class="clear" wicket:id="scalarIfRegularClear"><span class="clearTitle">Clear</span></a>
</span>
<span wicket:id="feedback"></span>
<span wicket:id="additionalLinks"/>
http://git-wip-us.apache.org/repos/asf/isis/blob/3bbaaab3/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
index 022dafd..aceaa6d 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
@@ -19,9 +19,7 @@
package org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib;
import java.awt.image.BufferedImage;
-import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.List;
@@ -33,6 +31,7 @@ import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxLink;
+import org.apache.wicket.extensions.markup.html.image.resource.ThumbnailImageResource;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.head.JavaScriptHeaderItem;
import org.apache.wicket.markup.html.WebMarkupContainer;
@@ -41,13 +40,12 @@ import org.apache.wicket.markup.html.form.FormComponentLabel;
import org.apache.wicket.markup.html.form.upload.FileUpload;
import org.apache.wicket.markup.html.form.upload.FileUploadField;
import org.apache.wicket.markup.html.image.Image;
+import org.apache.wicket.markup.html.image.NonCachingImage;
import org.apache.wicket.markup.html.image.resource.BufferedDynamicImageResource;
import org.apache.wicket.markup.html.link.ResourceLink;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.request.resource.IResource;
-import org.apache.wicket.request.resource.ResourceReference;
-import org.apache.wicket.util.io.IOUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -76,6 +74,8 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
private static final String ID_SCALAR_IF_COMPACT = "scalarIfCompact";
private static final String ID_SCALAR_IF_COMPACT_DOWNLOAD = "scalarIfCompactDownload";
+ private Image wicketImage;
+
protected enum InputFieldVisibility {
VISIBLE, NOT_VISIBLE;
}
@@ -94,8 +94,9 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
final Label scalarName = new Label(ID_SCALAR_NAME, getModel().getName());
labelIfRegular.add(scalarName);
- final Image wicketImage = asWicketImage(ID_IMAGE);
+ wicketImage = asWicketImage(ID_IMAGE);
if(wicketImage != null) {
+ wicketImage.setOutputMarkupId(true);
labelIfRegular.addOrReplace(wicketImage);
} else {
Components.permanentlyHide(labelIfRegular, ID_IMAGE);
@@ -132,25 +133,13 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
if(image == null) {
return null;
}
+
final BufferedDynamicImageResource imageResource = new BufferedDynamicImageResource();
imageResource.setImage(image);
+ final ThumbnailImageResource thumbnailImageResource = new ThumbnailImageResource(imageResource, 300);
- //return new Image(id, asResourceReference(id, imageResource));
- return new Image(id, imageResource);
- }
-
- @SuppressWarnings("unused")
- private ResourceReference asResourceReference(String id, final BufferedDynamicImageResource resource) {
- return new ResourceReference(this.getClass(), id)
- {
- private static final long serialVersionUID = 1L;
-
- @Override
- public IResource getResource()
- {
- return resource;
- }
- };
+ final NonCachingImage wicketImage = new NonCachingImage(id, thumbnailImageResource);
+ return wicketImage;
}
private BufferedImage asBufferedImage(final Blob blob) {
@@ -172,10 +161,6 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
@Override
protected void renderHead(IHeaderResponse response, Class<?> cls) {
super.renderHead(response, IsisBlobOrClobPanelAbstract.class); // don't use the subclass
- // TODO: is this also necessary?
- // thought that JQuery was already included...
- response.render(JavaScriptHeaderItem.forReference(Application.get().getJavaScriptLibrarySettings()
- .getJQueryReference()));
}
@Override
@@ -248,11 +233,16 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
updateClearLink(visibility);
final MarkupContainer downloadLink = updateDownloadLink(ID_SCALAR_IF_REGULAR_DOWNLOAD, formComponent);
+
+ // the visibility of download link is intentionally 'backwards';
+ // if in edit mode then do NOT show
if (downloadLink != null) {
- // the visibility of download link is intentionally 'backwards';
- // if in edit mode then do NOT show
downloadLink.setVisible(visibility == InputFieldVisibility.NOT_VISIBLE);
}
+ // ditto any image
+ if(wicketImage != null) {
+ wicketImage.setVisible(visibility == InputFieldVisibility.NOT_VISIBLE);
+ }
}
private void updateClearLink(InputFieldVisibility visibility) {
http://git-wip-us.apache.org/repos/asf/isis/blob/3bbaaab3/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css
index 373c4c5..61c637b 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.css
@@ -850,3 +850,8 @@ div#jGrowl div.jGrowl-closer {
+/** general **/
+
+.hidden {
+ display: none;
+}
\ No newline at end of file