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/05/06 06:25:28 UTC

isis git commit: ISIS-1603: inline prompts now supported for booleans

Repository: isis
Updated Branches:
  refs/heads/master d8ab38353 -> 83283d66f


ISIS-1603: inline prompts now supported for booleans


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/83283d66
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/83283d66
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/83283d66

Branch: refs/heads/master
Commit: 83283d66f709d9c8d704a0cc4bcc62cd8a954052
Parents: d8ab383
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Sat May 6 07:23:37 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Sat May 6 07:23:37 2017 +0100

----------------------------------------------------------------------
 .../scalars/primitive/BooleanPanel.html         | 14 +++++
 .../scalars/primitive/BooleanPanel.java         | 21 +++++--
 .../BooleanPanel_labelRightPosition.html        | 58 +++++++++++++++-----
 .../scalars/reference/ReferencePanel.java       |  3 +-
 .../wicket/ui/pages/bootstrap-overrides.css     | 15 ++++-
 5 files changed, 88 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/83283d66/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.html
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.html b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.html
index 9aa6403..c3a6d79 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.html
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.html
@@ -49,11 +49,20 @@
                                     <a href="#"
                                        class="edit fa fa-pencil-square-o"
                                        wicket:id="editProperty" ></a>
+
+                                    <a href="#"
+                                       name="scalarValueInlinePromptLink"
+                                       class="form-control input-sm scalarValueInlinePromptLink"
+                                       wicket:id="scalarValueInlinePromptLink">
+                                        <span wicket:id="scalarValueInlinePromptLabel"></span>
+                                    </a>
+
                                 </span>
                             </span>
                             <span class="associatedActionLinksRight"
                                   wicket:id="associatedActionLinksRight"
                             >[drop down]</span>
+                            <div class="clearfix"/>
                         </div>
                         <span wicket:id="feedback" class="help-block"></span>
                         <span wicket:id="associatedActionLinksBelow"></span>
@@ -61,6 +70,11 @@
                     <div class="clearfix"/>
                 </div>
 
+                <div class="inlinePromptForm"
+                     wicket:id="scalarIfRegularInlinePromptForm" >
+                    <div><span>[property edit form]</span></div>
+                </div>
+
                 <input type="checkbox"
                        wicket:id="scalarIfCompact" />
 

http://git-wip-us.apache.org/repos/asf/isis/blob/83283d66/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
index d132a41..e7a737d 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
@@ -24,6 +24,7 @@ import org.apache.wicket.Component;
 import org.apache.wicket.MarkupContainer;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 
 import org.apache.isis.applib.annotation.LabelPosition;
@@ -31,6 +32,7 @@ import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
 import org.apache.isis.core.metamodel.facets.objectvalue.labelat.LabelAtFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.viewer.wicket.model.models.EntityModel;
 import org.apache.isis.viewer.wicket.model.models.ScalarModel;
 import org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract2;
 import org.apache.isis.viewer.wicket.ui.components.widgets.bootstrap.FormGroup;
@@ -96,12 +98,21 @@ public class BooleanPanel extends ScalarPanelAbstract2 {
     }
 
 
-    /**
-     * Inline prompts are <i>not</i> supported by this component.
-     */
     @Override
     protected InlinePromptConfig getInlinePromptConfig() {
-        return InlinePromptConfig.notSupported();
+        return InlinePromptConfig.supportedAndHide(
+                scalarModel.getMode() == EntityModel.Mode.EDIT ||
+                scalarModel.getKind() == ScalarModel.Kind.PARAMETER
+                        ? this.checkBox
+                        : null
+        );
+    }
+
+    @Override
+    protected IModel<String> obtainPromptInlineLinkModel() {
+        final IModel<Boolean> model = checkBox.getModel();
+        final Boolean bool = model.getObject();
+        return Model.of(bool == null? "(not set)" : bool ? "Yes" : "No");
     }
 
     private CheckBoxX createCheckBox(final String id) {
@@ -172,7 +183,7 @@ public class BooleanPanel extends ScalarPanelAbstract2 {
             }
         };
         return config
-                .withSize(CheckBoxXConfig.Sizes.sm)
+                .withSize(CheckBoxXConfig.Sizes.lg)
                 .withEnclosedLabel(false)
                 .withIconChecked("<i class='fa fa-fw fa-check'></i>")
                 .withIconNull("<i class='fa fa-fw fa-square'></i>")

http://git-wip-us.apache.org/repos/asf/isis/blob/83283d66/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel_labelRightPosition.html
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel_labelRightPosition.html b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel_labelRightPosition.html
index 9e0baf2..8988990 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel_labelRightPosition.html
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel_labelRightPosition.html
@@ -27,31 +27,61 @@
             <div class="scalarNameAndValueComponentType"
                  wicket:id="scalarTypeContainer"
             >
-
                 <div class="form-group"
                      wicket:id="scalarIfRegular">
 
-                    <div class="scalarValueWrapper">
+                    <span class="scalarValueWrapper">
+
+                        <span class="scalarPlaceholder">
+
+                            <span class="scalarValueInput">
+                                <span class="editing">
+
+                                <input type="checkbox"
+                                       name="scalarValue"
+                                       class="scalarValue"
+                                       wicket:id="scalarValue" />
 
-                        <input type="checkbox"
-                               name="scalarValue"
-                               class="scalarValue"
-                               wicket:id="scalarValue" />
+                                <label class="scalarName control-label"
+                                       wicket:id="scalarName"
+                                >[Label text]</label>
 
-                        <label class="scalarName control-label"
-                               wicket:id="scalarName"
-                        >[Label text]</label>
+                                <a href="#"
+                                   class="edit fa fa-pencil-square-o"
+                                   wicket:id="editProperty" ></a>
 
-                        <span wicket:id="feedback" class="help-block"></span>
-                        <span wicket:id="associatedActionLinksBelow"></span>
-                    </div>
-                    <span wicket:id="associatedActionLinksRight"
-                    >[drop down]</span>
+                                <a href="#"
+                                   name="scalarValueInlinePromptLink"
+                                   class="form-control input-sm scalarValueInlinePromptLink"
+                                   wicket:id="scalarValueInlinePromptLink">
+                                    <span wicket:id="scalarValueInlinePromptLabel"></span>
+                                </a>
+
+                                </span>
+                            </span>
+                        </span>
+                        <span class="associatedActionLinksRight"
+                              wicket:id="associatedActionLinksRight"
+                        >[drop down]</span>
+                        <div class="clearfix"/>
+                        <span class="feedback-links-below-wrapper">
+                            <span wicket:id="feedback" class="help-block"></span>
+                            <span wicket:id="associatedActionLinksBelow"></span>
+                        </span>
+                    </span>
+                    <div class="clearfix"/>
+                </div>
+
+                <div class="inlinePromptForm"
+                     wicket:id="scalarIfRegularInlinePromptForm" >
+                    <div><span>[property edit form]</span></div>
                 </div>
 
                 <input type="checkbox"
                        wicket:id="scalarIfCompact"/>
+
             </div>
+            <div class="clearfix"/>
         </wicket:panel>
     </body>
 </html>

http://git-wip-us.apache.org/repos/asf/isis/blob/83283d66/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
index 1faf411..5834103 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
@@ -197,7 +197,8 @@ public class ReferencePanel extends ScalarPanelSelect2Abstract implements PanelW
     @Override
     protected InlinePromptConfig getInlinePromptConfig() {
         return InlinePromptConfig.supportedAndHide(
-                scalarModel.getMode() == EntityModel.Mode.EDIT || scalarModel.getKind() == ScalarModel.Kind.PARAMETER
+                scalarModel.getMode() == EntityModel.Mode.EDIT ||
+                scalarModel.getKind() == ScalarModel.Kind.PARAMETER
                         ? select2.component()
                         : null);
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/83283d66/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
index df8b700..b3f0c23 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides.css
@@ -605,12 +605,19 @@ div.label-left .choicesPlaceholder {
 }
 
 div.label-right .scalarValueWrapper {
-    padding-left: 28.5%;
+    padding-left: 30%;
 }
 
 div.label-right .scalarValueWrapper .control-label{
     vertical-align: sub;
 }
+
+div.label-right .scalarValueWrapper .feedback-links-below-wrapper {
+    padding-left: 30%;
+    width: 70%;
+    float: left;
+}
+
 /* Labels on the left/top/none END */
 
 
@@ -882,13 +889,15 @@ tr.headers th form input {
     padding-right: 15px;
 }
 
+.booleanPanel .form-control.scalarValueInlinePromptLink,
 .referencePanel .form-control.scalarValueInlinePromptLink {
     display: inline-block;
-    width: 90%;
+    width: 85%;
 }
 
+.booleanPanel div.label-left .scalarValueWrapper .form-control.scalarValueInlinePromptLink,
 .referencePanel div.label-left .scalarValueWrapper .form-control.scalarValueInlinePromptLink {
-    width: 90%;
+    width: 85%;
 }
 .referencePanel .inlinePrompt .entityIconAndTitlePanel .entityImage {
     margin-right: 10px;