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
 
 }