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 2017/04/22 17:19:58 UTC
isis git commit: ISIS-1603: refactors the html for
SclarPanelTextField, introduce a div and moves the a href into that div
Repository: isis
Updated Branches:
refs/heads/ISIS-1603-no-xeditable [created] 0e21012a6
ISIS-1603: refactors the html for SclarPanelTextField, introduce a div and moves the a href into that div
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/0e21012a
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/0e21012a
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/0e21012a
Branch: refs/heads/ISIS-1603-no-xeditable
Commit: 0e21012a6f7472e8db803d3c4c235890d672e838
Parents: 341037c
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Sat Apr 22 18:19:39 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Sat Apr 22 18:19:39 2017 +0100
----------------------------------------------------------------------
.../components/scalars/ScalarPanelAbstract.html | 22 +++--
.../components/scalars/ScalarPanelAbstract.java | 2 +
.../scalars/ScalarPanelTextFieldAbstract.html | 32 ++-----
.../scalars/ScalarPanelTextFieldAbstract.java | 94 ++++++++++++--------
4 files changed, 83 insertions(+), 67 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/0e21012a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.html
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.html b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.html
index effea6d..3e5887f 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.html
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.html
@@ -24,18 +24,26 @@
lang="en">
<body>
<wicket:panel>
- <div class="scalarNameAndValueComponentType" wicket:id="scalarTypeContainer">
- <div class="form-group" wicket:id="scalarIfRegular">
- <label wicket:id="scalarName" class="scalarName control-label">[Label text]</label>
+ <div wicket:id="scalarTypeContainer"
+ class="scalarNameAndValueComponentType" >
+ <div wicket:id="scalarIfRegular"
+ class="form-group" >
+ <label wicket:id="scalarName"
+ class="scalarName control-label"
+ >[Label text]</label>
<span class="scalarValueWrapper">
<div class="scalarPlaceholder">
<span class="scalarValueInput">
<span class="editing">
<wicket:child/>
- <a wicket:id="editProperty" href="#" class="edit fa fa-pencil-square-o"/>
+ <a wicket:id="editProperty"
+ href="#"
+ class="edit fa fa-pencil-square-o"/>
</span>
</span>
- <span wicket:id="associatedActionLinksRight" class="associatedActionLinksRight">[drop down]</span>
+ <span wicket:id="associatedActionLinksRight"
+ class="associatedActionLinksRight"
+ >[drop down]</span>
</div>
<span wicket:id="feedback" class="help-block"></span>
<span wicket:id="associatedActionLinksBelow"></span>
@@ -46,7 +54,9 @@
</div>
<wicket:fragment wicket:id="compactAsInputCheckbox">
- <input type="checkbox" class="form-control" wicket:id="scalarIfCompact"/>
+ <input wicket:id="scalarIfCompact"
+ type="checkbox"
+ class="form-control" />
</wicket:fragment>
<wicket:fragment wicket:id="compactAsSpan">
http://git-wip-us.apache.org/repos/asf/isis/blob/0e21012a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
index 8f93090..2b1c7ff 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
@@ -72,6 +72,8 @@ public abstract class ScalarPanelAbstract extends PanelAbstract<ScalarModel> imp
private static final long serialVersionUID = 1L;
+ protected static final String ID_SCALAR_TYPE_CONTAINER = "scalarTypeContainer";
+
protected static final String ID_SCALAR_IF_REGULAR = "scalarIfRegular";
protected static final String ID_SCALAR_NAME = "scalarName";
protected static final String ID_SCALAR_VALUE = "scalarValue";
http://git-wip-us.apache.org/repos/asf/isis/blob/0e21012a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.html
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.html b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.html
index a05f536..8126419 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.html
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.html
@@ -26,20 +26,22 @@
<wicket:extend>
<wicket:container wicket:id="scalarValueContainer"/>
- <wicket:fragment wicket:id="text">
- <input
- type="text"
- name="scalarValue"
- class="form-control input-sm scalarValue"
- wicket:id="scalarValue" />
+ <div wicket:id="scalarValueEditInlineContainer">
<a
href="#"
- data-type="text"
name="scalarValueEditInline"
class="form-control input-sm scalarValueEditInline"
wicket:id="scalarValueEditInline">
<span wicket:id="scalarValueEditInlineLabel"></span>
</a>
+ </div>
+
+ <wicket:fragment wicket:id="text">
+ <input
+ type="text"
+ name="scalarValue"
+ class="form-control input-sm scalarValue"
+ wicket:id="scalarValue" />
</wicket:fragment>
<wicket:fragment wicket:id="textarea">
@@ -48,14 +50,6 @@
class="form-control scalarValue"
wicket:id="scalarValue">
</textarea>
- <a
- href="#"
- data-type="textarea"
- name="scalarValueEditInline"
- class="form-control input-sm scalarValueEditInline"
- wicket:id="scalarValueEditInline"
- style="height: auto"
- ><span wicket:id="scalarValueEditInlineLabel"></span></a>
</wicket:fragment>
<wicket:fragment wicket:id="date">
@@ -65,14 +59,6 @@
name="scalarValue"
class="form-control input-sm scalarValue"
wicket:id="scalarValue"/>
- <a
- data-type="combodate"
- href="#"
- name="scalarValueEditInline"
- class="form-control input-sm scalarValueEditInline"
- wicket:id="scalarValueEditInline">
- <span wicket:id="scalarValueEditInlineLabel"></span>
- </a>
</div>
</wicket:fragment>
http://git-wip-us.apache.org/repos/asf/isis/blob/0e21012a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
index 7dea2c3..7fb331e 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
@@ -73,8 +73,6 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
private static final long serialVersionUID = 1L;
- private static final String ID_SCALAR_TYPE_CONTAINER = "scalarTypeContainer";
-
protected final Class<T> cls;
protected static class ReplaceDisabledTagWithReadonlyTagBehaviour extends Behavior {
@@ -90,6 +88,8 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
protected WebMarkupContainer scalarTypeContainer;
private AbstractTextComponent<T> textField;
+
+ private WebMarkupContainer scalarValueEditInlineContainer;
private WebMarkupContainer editInlineLink;
public ScalarPanelTextFieldAbstract(final String id, final ScalarModel scalarModel, final Class<T> cls) {
@@ -108,9 +108,18 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
}
private Component getEditComponent() {
- return textField.isVisibilityAllowed()
+ return scalarModel.getEditStyle() == PropertyEditStyle.INLINE
+ ? scalarValueEditInlineContainer
+ : textField;
+ }
+
+ /**
+ * Opposite of {@link #getEditComponent()}.
+ */
+ private Component getOtherComponent() {
+ return scalarModel.getEditStyle() == PropertyEditStyle.INLINE
? textField
- : editInlineLink;
+ : scalarValueEditInlineContainer;
}
@@ -133,22 +142,27 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
@Override
protected MarkupContainer addComponentForRegular() {
- // even though only one of textField and editInlineLink will ever be visible,
+ // even though only one of textField and scalarValueEditInlineContainer will ever be visible,
// am instantiating both to avoid NPEs
// elsewhere can use Component#isVisibilityAllowed or ScalarModel.getEditStyle() to check whichis visible.
textField = createTextFieldForRegular(ID_SCALAR_VALUE);
textField.setOutputMarkupId(true);
- editInlineLink = new WebMarkupContainer(ID_SCALAR_VALUE_EDIT_INLINE);
- editInlineLink.setOutputMarkupId(true);
+
+ addStandardSemantics();
final IModel<T> textFieldModel = textField.getModel();
+
+ this.scalarValueEditInlineContainer = new WebMarkupContainer("scalarValueEditInlineContainer");
+ editInlineLink = new WebMarkupContainer(ID_SCALAR_VALUE_EDIT_INLINE);
+ editInlineLink.setOutputMarkupId(true);
+ scalarValueEditInlineContainer.add(editInlineLink);
+
final Label editInlineLinkLabel = new Label(ID_SCALAR_VALUE_EDIT_INLINE_LABEL, textFieldModel);
editInlineLink.add(editInlineLinkLabel);
if(scalarModel.getEditStyle() == PropertyEditStyle.INLINE) {
- textField.setVisibilityAllowed(false);
final XEditableOptions options = new XEditableOptions() {
{
@@ -157,14 +171,14 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
put(new Key<Json.RawValue>("validate"), new Json.RawValue(
"function (value) { if (value == '') { return 'Required field'; } }"));
}
-// put(new Key<Json.RawValue>("error"), new Json.RawValue(
-// "function(response, newValue) {\n"
-// + " if(response.status === 500) {\n"
-// + " return 'Service unavailable. Please try later.';\n"
-// + " } else {\n"
-// + " return response.responseText;\n"
-// + " }\n"
-// + "}"));
+ // put(new Key<Json.RawValue>("error"), new Json.RawValue(
+ // "function(response, newValue) {\n"
+ // + " if(response.status === 500) {\n"
+ // + " return 'Service unavailable. Please try later.';\n"
+ // + " } else {\n"
+ // + " return response.responseText;\n"
+ // + " }\n"
+ // + "}"));
}
}.withMode("inline");
@@ -224,7 +238,7 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
+ "$(errorBlock).css(\"display\", \"block\"); "
+ "$(errorBlock).text(\"" + message + "\"); "
- + "} )();");
+ + "} )();");
}
}
@@ -255,14 +269,12 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
editInlineLink.add(xEditable);
- } else {
- editInlineLink.setVisibilityAllowed(false);
}
- addStandardSemantics();
- final MarkupContainer labelIfRegular = createFormComponentLabel();
- scalarTypeContainer.add(labelIfRegular);
+ final MarkupContainer scalarIfRegularFormGroup = createScalarIfRegularFormGroup();
+
+ scalarTypeContainer.add(scalarIfRegularFormGroup);
final Label scalarName = new Label(ID_SCALAR_NAME, getRendering().getLabelCaption(textField));
NamedFacet namedFacet = getModel().getFacet(NamedFacet.class);
@@ -274,7 +286,7 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
final List<LinkAndLabel> entityActions = EntityActionUtil.getEntityActionLinksForAssociation(this.scalarModel, getDeploymentCategory());
- addPositioningCssTo(labelIfRegular, entityActions);
+ addPositioningCssTo(scalarIfRegularFormGroup, entityActions);
if(getModel().isRequired()) {
final String label = scalarName.getDefaultModelObjectAsString();
@@ -283,21 +295,26 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
}
}
- labelIfRegular.add(scalarName);
+ scalarIfRegularFormGroup.add(scalarName);
final String describedAs = getModel().getDescribedAs();
if(describedAs != null) {
- labelIfRegular.add(new AttributeModifier("title", Model.of(describedAs)));
+ scalarIfRegularFormGroup.add(new AttributeModifier("title", Model.of(describedAs)));
}
- addFeedbackOnlyTo(labelIfRegular, getEditComponent());
-
- addEditPropertyTo(labelIfRegular);
+ addFeedbackOnlyTo(scalarIfRegularFormGroup, getEditComponent());
+ addEditPropertyTo(scalarIfRegularFormGroup);
// ... add entity links to panel (below and to right)
- addEntityActionLinksBelowAndRight(labelIfRegular, entityActions);
+ addEntityActionLinksBelowAndRight(scalarIfRegularFormGroup, entityActions);
+
+
+
+
+ getOtherComponent().setVisibilityAllowed(false);
- return labelIfRegular;
+
+ return scalarIfRegularFormGroup;
}
private String asString(final IModel<T> textFieldModel) {
@@ -319,19 +336,19 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
component.add(new ReplaceDisabledTagWithReadonlyTagBehaviour());
}
- private MarkupContainer createFormComponentLabel() {
+ private MarkupContainer createScalarIfRegularFormGroup() {
Fragment textFieldFragment = createTextFieldFragment("scalarValueContainer");
final String name = getModel().getName();
textField.setLabel(Model.of(name));
- final FormGroup scalarNameAndValue = new FormGroup(ID_SCALAR_IF_REGULAR, this.textField);
+ final FormGroup formGroup = new FormGroup(ID_SCALAR_IF_REGULAR, this.textField);
textFieldFragment.add(this.textField);
- scalarNameAndValue.add(textFieldFragment);
+ formGroup.add(textFieldFragment);
- textFieldFragment.add(this.editInlineLink);
+ formGroup.add(this.scalarValueEditInlineContainer);
- return scalarNameAndValue;
+ return formGroup;
}
protected Fragment createTextFieldFragment(String id) {
@@ -421,9 +438,12 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
@Override
protected void onBeforeRenderWhenDisabled(final String disableReason) {
super.onBeforeRenderWhenDisabled(disableReason);
+
textField.setEnabled(false);
- editInlineLink.setEnabled(false);
addReplaceDisabledTagWithReadonlyTagBehaviourIfRequired(textField);
+
+ editInlineLink.setEnabled(false);
+
setTitleAttribute(disableReason);
}
@@ -450,7 +470,6 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
}
- //region > dependencies
@com.google.inject.Inject
private WicketViewerSettings settings;
@@ -458,7 +477,6 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
return settings;
}
- //endregion
}