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/07/25 08:21:43 UTC

git commit: ISIS-480: collections will now wrap underneath if need be

Updated Branches:
  refs/heads/master b83dba4b3 -> 4a84879d7


ISIS-480: collections will now wrap underneath if need be


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

Branch: refs/heads/master
Commit: 4a84879d7991834f1daca11a98abee5d50f958a6
Parents: b83dba4
Author: Dan Haywood <da...@apache.org>
Authored: Thu Jul 25 07:21:31 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Thu Jul 25 07:21:31 2013 +0100

----------------------------------------------------------------------
 .../summary/CollectionContentsAsSummary.css     |  3 +-
 .../entity/combined/EntityCombinedPanel.html    |  5 +---
 .../entity/combined/EntityCombinedPanel.java    |  4 +--
 .../entity/properties/EntityPropertiesForm.java | 30 ++++++++++++++++----
 .../properties/EntityPropertiesPanel.html       |  4 +++
 .../viewer/wicket/ui/pages/PageAbstract.css     |  2 +-
 .../links/LinksSelectorPanelAbstract.css        |  2 +-
 .../applib/annotation/MemberGroupLayout.java    |  3 ++
 .../src/main/java/dom/todo/ToDoItem.layout.json |  4 +--
 9 files changed, 40 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/4a84879d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummary.css
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummary.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummary.css
index 29328bd..3fd5020 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummary.css
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/summary/CollectionContentsAsSummary.css
@@ -18,7 +18,8 @@
  */
 
 .collectionContentsAsSummary {
-	width: 99%
+	width: 99%;
+	margin-top: 20px;
 }
 
 .collectionContentsAsSummary .propertyNameCell {

http://git-wip-us.apache.org/repos/asf/isis/blob/4a84879d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.html
index 2609608..d5fb836 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.html
@@ -24,10 +24,7 @@
         <div class="row-fluid">
     		<div wicket:id="entitySummary" />
         </div>
-		<div wicket:id="entityProperties"/>
-        <div class="row-fluid">
-            <div TODOwicket:id="entityCollectionsOverflow"/>
-        </div>
+		<div wicket:id="entityPropertiesAndCollections"/>
 	</div>
 </wicket:panel>
 </body>

http://git-wip-us.apache.org/repos/asf/isis/blob/4a84879d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.java
index ae6767f..26fe7bc 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/combined/EntityCombinedPanel.java
@@ -33,7 +33,7 @@ public class EntityCombinedPanel extends PanelAbstract<EntityModel> {
 
     private static final long serialVersionUID = 1L;
 
-    private static final String ID_ENTITY_PROPERTIES = "entityProperties";
+    private static final String ID_ENTITY_PROPERTIES_AND_COLLECTIONS = "entityPropertiesAndCollections";
 
     
     public EntityCombinedPanel(final String id, final EntityModel entityModel) {
@@ -50,7 +50,7 @@ public class EntityCombinedPanel extends PanelAbstract<EntityModel> {
 
         addOrReplace(ComponentType.ENTITY_SUMMARY, model);
         
-        getComponentFactoryRegistry().addOrReplaceComponent(this, ID_ENTITY_PROPERTIES, ComponentType.ENTITY_PROPERTIES, model);
+        getComponentFactoryRegistry().addOrReplaceComponent(this, ID_ENTITY_PROPERTIES_AND_COLLECTIONS, ComponentType.ENTITY_PROPERTIES, model);
     }
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/4a84879d/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 344fc79..2630eaa 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
@@ -83,6 +83,9 @@ class EntityPropertiesForm extends FormAbstract<ObjectAdapter> {
     private static final String ID_MIDDLE_COLUMN = "middleColumn";
     private static final String ID_RIGHT_COLUMN = "rightColumn";
     
+    private static final String ID_ENTITY_COLLECTIONS = "entityCollections";
+    private static final String ID_ENTITY_COLLECTIONS_OVERFLOW = "entityCollectionsOverflow";
+    
     private static final String ID_PROPERTIES = "properties";
     private static final String ID_PROPERTY = "property";
     private static final String ID_EDIT_BUTTON = "edit";
@@ -144,14 +147,29 @@ class EntityPropertiesForm extends FormAbstract<ObjectAdapter> {
         } else {
             Components.permanentlyHide(this, ID_RIGHT_COLUMN);
         }
-        
-        // TODO: figure out overflow logic....
-        // collections column
+
+        // collections
         if(columnSpans.getCollections() > 0) {
-            final Component collectionsColumn = getComponentFactoryRegistry().addOrReplaceComponent(this, ComponentType.ENTITY_COLLECTIONS, entityModel);
-            addClassForSpan(collectionsColumn, columnSpans.getCollections());
+            final String idCollectionsToShow;
+            final String idCollectionsToHide;
+            int collectionSpan;
+            if (columnSpans.exceedsRow())  {
+                idCollectionsToShow = ID_ENTITY_COLLECTIONS_OVERFLOW;
+                idCollectionsToHide = ID_ENTITY_COLLECTIONS;
+                collectionSpan = 12;
+            } else {
+                idCollectionsToShow = ID_ENTITY_COLLECTIONS;
+                idCollectionsToHide = ID_ENTITY_COLLECTIONS_OVERFLOW;
+                collectionSpan = columnSpans.getCollections();
+            }
+
+            final Component collectionsColumn = getComponentFactoryRegistry().addOrReplaceComponent(this, idCollectionsToShow, ComponentType.ENTITY_COLLECTIONS, entityModel);
+            addClassForSpan(collectionsColumn, collectionSpan);
+            
+            Components.permanentlyHide(this, idCollectionsToHide);
         } else {
-            Components.permanentlyHide(this, ComponentType.ENTITY_COLLECTIONS.toString());
+            Components.permanentlyHide(this, ID_ENTITY_COLLECTIONS);
+            Components.permanentlyHide(this, ID_ENTITY_COLLECTIONS_OVERFLOW);
         }
 
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/4a84879d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanel.html
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanel.html b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanel.html
index 0f65862..cf53fdc 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanel.html
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/properties/EntityPropertiesPanel.html
@@ -71,6 +71,10 @@
                         </div>
                         <div wicket:id="entityCollections"/>
                     </div>
+                    <div class="row-fluid">
+                        <div wicket:id="entityCollectionsOverflow"/>
+                    </div>
+
                 </form>
 			</div>
 		</wicket:panel>

http://git-wip-us.apache.org/repos/asf/isis/blob/4a84879d/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 3c3e50a..5c207bb 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
@@ -600,7 +600,7 @@ div.scalarPanel {
 }
 	
 .buttons {
-	padding: 1em 0em 0em;
+	padding: 1em 0em 1em 0em;
 	clear: both;
 	display: block;
 }	

http://git-wip-us.apache.org/repos/asf/isis/blob/4a84879d/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/selector/links/LinksSelectorPanelAbstract.css
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/selector/links/LinksSelectorPanelAbstract.css b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/selector/links/LinksSelectorPanelAbstract.css
index 84eb141..8e02ac2 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/selector/links/LinksSelectorPanelAbstract.css
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/selector/links/LinksSelectorPanelAbstract.css
@@ -114,5 +114,5 @@ a span.ViewLinkItem.table {
 }
 
 .linksSelectorPanel ul.additionalLinkList {
-	margin-bottom:10px;
+/*	margin-bottom:10px;*/
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/4a84879d/core/applib/src/main/java/org/apache/isis/applib/annotation/MemberGroupLayout.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/MemberGroupLayout.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/MemberGroupLayout.java
index b456e52..87d17cb 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/MemberGroupLayout.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/MemberGroupLayout.java
@@ -147,6 +147,9 @@ public @interface MemberGroupLayout {
         public String name() {
             return String.format("[%d,%d,%d,%d]", left, middle, right, collections);
         }
+        public boolean exceedsRow() {
+            return getLeft() + getMiddle() + getRight() + getCollections() > 12;
+        }
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/isis/blob/4a84879d/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.layout.json
----------------------------------------------------------------------
diff --git a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.layout.json b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.layout.json
index d12e577..2d916d5 100644
--- a/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.layout.json
+++ b/example/application/quickstart_wicket_restful_jdo/dom/src/main/java/dom/todo/ToDoItem.layout.json
@@ -17,7 +17,7 @@
 {
     columns: [
     {
-        span: 3,
+        span: 6,
         memberGroups: {
             General: {
                 members: {
@@ -39,7 +39,7 @@
         }
     },
     {
-        span: 3,
+        span: 6,
         memberGroups: {
             Detail: {
                 members: {