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 2014/02/06 18:28:19 UTC
git commit: ISIS-677: blob/clob panel fixes.
Updated Branches:
refs/heads/master 325fc45c7 -> 60e89ea52
ISIS-677: blob/clob panel fixes.
* display the filename
* stop using the CSS/javascript hack and rely on native <input type="file">
- seemed to be the cause of the double input thing.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/60e89ea5
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/60e89ea5
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/60e89ea5
Branch: refs/heads/master
Commit: 60e89ea5243e4188088a694403d26e8b46bfadc6
Parents: 325fc45
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu Feb 6 17:27:54 2014 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu Feb 6 17:27:54 2014 +0000
----------------------------------------------------------------------
.../isisapplib/IsisBlobOrClobPanelAbstract.html | 17 ++-------
.../isisapplib/IsisBlobOrClobPanelAbstract.java | 39 ++++++++++++++------
.../scalars/isisapplib/IsisBlobPanel.css | 24 ++++++++----
3 files changed, 47 insertions(+), 33 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/60e89ea5/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 cf3302e..2de4ff2 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
@@ -26,22 +26,13 @@
<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">
-
- <!-- 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" />
+ <input type="file" name="scalarValue" id="file-upload" wicket:id="scalarValue" />
</span>
-
+ <a wicket:id="scalarIfRegularClear"><span class="clearTitle">Clear</span></a>
+
<a class="download" wicket:id="scalarIfRegularDownload"><span class="downloadTitle">Download</span></a>
+ <span class="fileName" wicket:id="fileName"></span>
</span>
<span wicket:id="feedback"></span>
<span wicket:id="additionalLinks"/>
http://git-wip-us.apache.org/repos/asf/isis/blob/60e89ea5/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 251e461..70a1db7 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
@@ -59,14 +59,15 @@ import org.apache.isis.viewer.wicket.ui.util.Components;
public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> extends ScalarPanelAbstract {
+
private static final long serialVersionUID = 1L;
@SuppressWarnings("unused")
private static final Logger LOG = LoggerFactory.getLogger(IsisBlobOrClobPanelAbstract.class);
private static final String ID_SCALAR_IF_REGULAR = "scalarIfRegular";
- private static final String ID_SCALAR_IF_REGULAR_UPLOAD = "scalarIfRegularUpload";
private static final String ID_SCALAR_IF_REGULAR_DOWNLOAD = "scalarIfRegularDownload";
+ private static final String ID_FILE_NAME = "fileName";
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";
@@ -90,9 +91,6 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
final FormComponentLabel labelIfRegular = new FormComponentLabel(ID_SCALAR_IF_REGULAR, fileUploadField);
labelIfRegular.add(fileUploadField);
- final Label scalarUploadLabel = new Label(ID_SCALAR_IF_REGULAR_UPLOAD, "Upload");
- labelIfRegular.add(scalarUploadLabel);
-
final Label scalarName = new Label(ID_SCALAR_NAME, getModel().getName());
labelIfRegular.add(scalarName);
@@ -104,6 +102,7 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
Components.permanentlyHide(labelIfRegular, ID_IMAGE);
}
+ updateFileNameLabel(ID_FILE_NAME, labelIfRegular);
updateDownloadLink(ID_SCALAR_IF_REGULAR_DOWNLOAD, labelIfRegular);
addOrReplace(labelIfRegular);
@@ -164,6 +163,7 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
protected Component addComponentForCompact() {
final MarkupContainer scalarIfCompact = new WebMarkupContainer(ID_SCALAR_IF_COMPACT);
updateDownloadLink(ID_SCALAR_IF_COMPACT_DOWNLOAD, scalarIfCompact);
+ updateFileNameLabel(ID_FILE_NAME, scalarIfCompact);
addOrReplace(scalarIfCompact);
return scalarIfCompact;
}
@@ -213,7 +213,7 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
protected abstract T getBlobOrClobFrom(final List<FileUpload> fileUploads);
@SuppressWarnings("unchecked")
- private T getBlob(final ScalarModel model) {
+ private T getBlobOrClob(final ScalarModel model) {
ObjectAdapter adapter = model.getObject();
return adapter != null? (T) adapter.getObject(): null;
}
@@ -222,17 +222,20 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
super(id, scalarModel);
}
- private void updateRegularFormComponents(InputFieldVisibility visibility) {
+ private void updateRegularFormComponents(final InputFieldVisibility visibility) {
MarkupContainer formComponent = (MarkupContainer) getComponentForRegular();
formComponent.get(ID_SCALAR_VALUE).setVisible(visibility == InputFieldVisibility.VISIBLE);
- formComponent.get(ID_SCALAR_IF_REGULAR_UPLOAD).setVisible(visibility == InputFieldVisibility.VISIBLE);
updateClearLink(visibility);
- final MarkupContainer downloadLink = updateDownloadLink(ID_SCALAR_IF_REGULAR_DOWNLOAD, formComponent);
-
+ Label fileNameLabel = updateFileNameLabel(ID_FILE_NAME, formComponent);
+
// the visibility of download link is intentionally 'backwards';
// if in edit mode then do NOT show
+ fileNameLabel.setVisible(visibility != InputFieldVisibility.VISIBLE);
+
+ final MarkupContainer downloadLink = updateDownloadLink(ID_SCALAR_IF_REGULAR_DOWNLOAD, formComponent);
+ // ditto the download link
if (downloadLink != null) {
downloadLink.setVisible(visibility == InputFieldVisibility.NOT_VISIBLE);
}
@@ -242,6 +245,14 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
}
}
+ private Label updateFileNameLabel(String idFileName, MarkupContainer formComponent) {
+ T blobOrClob = getBlobOrClobFromModel();
+ String fileName = blobOrClob != null? blobOrClob.getName(): "";
+ Label fileNameLabel = new Label(idFileName, Model.of(fileName));
+ formComponent.addOrReplace(fileNameLabel);
+ return fileNameLabel;
+ }
+
private void updateClearLink(InputFieldVisibility visibility) {
final MarkupContainer formComponent = (MarkupContainer) getComponentForRegular();
formComponent.setOutputMarkupId(true); // enable ajax link
@@ -260,8 +271,8 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
ajaxLink.setOutputMarkupId(true);
formComponent.addOrReplace(ajaxLink);
- final T blob = getBlob(getModel());
- formComponent.get(ID_SCALAR_IF_REGULAR_CLEAR).setVisible(blob != null && visibility == InputFieldVisibility.VISIBLE);
+ final T blobOrClob = getBlobOrClobFromModel();
+ formComponent.get(ID_SCALAR_IF_REGULAR_CLEAR).setVisible(blobOrClob != null && visibility == InputFieldVisibility.VISIBLE);
}
private MarkupContainer updateDownloadLink(String downloadId, MarkupContainer container) {
@@ -275,7 +286,7 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
}
private ResourceLink<?> createResourceLink(String id) {
- final T blob = getBlob(getModel());
+ final T blob = getBlobOrClobFromModel();
if(blob == null) {
return null;
}
@@ -283,6 +294,10 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
return new ResourceLink<Object>(id, bar);
}
+ private T getBlobOrClobFromModel() {
+ return getBlobOrClob(getModel());
+ }
+
@Override
protected void addFormComponentBehavior(Behavior behavior) {
fileUploadField.add(behavior);
http://git-wip-us.apache.org/repos/asf/isis/blob/60e89ea5/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobPanel.css
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobPanel.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobPanel.css
index 687919b..eaa432f 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobPanel.css
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobPanel.css
@@ -22,8 +22,6 @@
.isisBlobPanel .scalarValue span.clearTitle {
margin-right: 10px;
margin-bottom:10px;
- float:left;
- display:block;
border: 0px;
padding:5px 10px;
border-radius:4px;
@@ -34,6 +32,20 @@
font-style:normal !important;
text-transform: uppercase;
font-size: 0.9em;
+ font-weight: bold;
+}
+
+.isisBlobPanel .scalarValue span.uploadTitle,
+.isisBlobPanel .scalarValue span.downloadTitle {
+ padding-top: 0px;
+ padding-bottom: 0px;
+ float:left;
+ display:block;
+}
+
+.isisBlobPanel .scalarValue span.clearTitle {
+ padding-top: 5px;
+ padding-bottom: 5px;
}
.isisBlobPanel .scalarValue a span.downloadTitle,
@@ -59,12 +71,8 @@
line-height: 30px;
}
-.isisBlobPanel .scalarValue span.uploadTitle,
-.isisBlobPanel .scalarValue span.downloadTitle,
-.isisBlobPanel .scalarValue span.clearTitle {
- padding-top: 0px;
- padding-bottom: 0px;
- font-weight: bold;
+.isisBlobPanel .fileName {
+ /*display: block;*/
}