This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new 6007a40  ISIS-2962: adds tab (UI) to XxxInventoryJaxbVm
6007a40 is described below

commit 6007a40868a4c2aca7adac934629cba40c92ff4d
Author: Andi Huber <[email protected]>
AuthorDate: Mon Feb 21 15:26:02 2022 +0100

    ISIS-2962: adds tab (UI) to XxxInventoryJaxbVm
---
 .../testdomain/conf/Configuration_usingWicket.java |  4 +-
 .../isis/testdomain/jdo/JdoInventoryJaxbVm.java    | 44 +++++++++++++++++--
 .../testdomain/jdo/JdoInventoryJaxbVm.layout.xml   | 50 ++++++++++++++++++++++
 .../isis/testdomain/jpa/JpaInventoryJaxbVm.java    | 43 +++++++++++++++++--
 .../testdomain/jpa/JpaInventoryJaxbVm.layout.xml   | 50 ++++++++++++++++++++++
 5 files changed, 183 insertions(+), 8 deletions(-)

diff --git 
a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingWicket.java
 
b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingWicket.java
index a377520..a19e211 100644
--- 
a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingWicket.java
+++ 
b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/conf/Configuration_usingWicket.java
@@ -107,7 +107,7 @@ public class Configuration_usingWicket {
         public static final String FAVORITE_BOOK_SCALAR = 
"theme:entityPageContainer:entity:rows:2"
                 + ":rowContents:1"
                 + ":col:fieldSets:1"
-                + ":memberGroup:properties:1"
+                + ":memberGroup:properties:2"
                 + ":property:scalarTypeContainer:scalarIfRegular";
 
         public static final String FAVORITE_BOOK_SCALAR_NAME = 
FAVORITE_BOOK_SCALAR
@@ -130,7 +130,7 @@ public class Configuration_usingWicket {
         public static final String INVENTORY_NAME_PROPERTY = 
"theme:entityPageContainer:entity:rows:2"
                 + ":rowContents:1"
                 + ":col:fieldSets:1"
-                + ":memberGroup:properties:2"
+                + ":memberGroup:properties:1"
                 + ":property";
 
         public static final String INVENTORY_NAME_PROPERTY_EDIT_LINK = 
INVENTORY_NAME_PROPERTY
diff --git 
a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/JdoInventoryJaxbVm.java
 
b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/JdoInventoryJaxbVm.java
index 3f5da69..bf5a0cf 100644
--- 
a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/JdoInventoryJaxbVm.java
+++ 
b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/JdoInventoryJaxbVm.java
@@ -20,6 +20,7 @@ package org.apache.isis.testdomain.jdo;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Optional;
 
 import javax.inject.Inject;
 import javax.xml.bind.annotation.XmlAccessType;
@@ -41,13 +42,14 @@ import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.services.repository.RepositoryService;
 import org.apache.isis.testdomain.jdo.entities.JdoBook;
 import org.apache.isis.testdomain.jdo.entities.JdoProduct;
+import org.apache.isis.testdomain.util.dto.IBook;
 
 import lombok.Getter;
 import lombok.Setter;
 
 @XmlRootElement(name = "root")
 @XmlType(
-        propOrder = {"name", "favoriteBook", "books"}
+        propOrder = {"name", "favoriteBook", "bookForTab1", "bookForTab2", 
"books"}
 )
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
@@ -82,7 +84,6 @@ public class JdoInventoryJaxbVm {
     @Getter @Setter
     @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
     @XmlElement(required = false)
-    //@XmlJavaTypeAdapter(PersistentEntityAdapter.class)
     private JdoBook favoriteBook = null;
 
     @MemberSupport public List<JdoBook> choicesFavoriteBook() {
@@ -92,7 +93,44 @@ public class JdoInventoryJaxbVm {
     @Getter @Setter
     @Collection
     @XmlElement(name = "book")
-    //@XmlJavaTypeAdapter(PersistentEntitiesAdapter.class)
     private java.util.Collection<JdoBook> books = new ArrayList<>();
 
+    // -- TAB TEST
+
+    @Getter @Setter
+    @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
+    @XmlElement(required = false)
+    private JdoBook bookForTab1 = null;
+
+    @MemberSupport public List<JdoBook> choicesBookForTab1() {
+        return listBooks();
+    }
+
+    @Property
+    @XmlTransient
+    public String getBookNameForTab1() {
+        return Optional.ofNullable(getBookForTab1())
+                .map(IBook::getName)
+                .orElse("none selected");
+    }
+
+
+    @Getter @Setter
+    @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
+    @XmlElement(required = false)
+    private JdoBook bookForTab2 = null;
+
+    @MemberSupport public List<JdoBook> choicesBookForTab2() {
+        return listBooks();
+    }
+
+    @Property
+    @XmlTransient
+    public String getBookNameForTab2() {
+        return Optional.ofNullable(getBookForTab2())
+                .map(IBook::getName)
+                .orElse("none selected");
+    }
+
+
 }
\ No newline at end of file
diff --git 
a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/JdoInventoryJaxbVm.layout.xml
 
b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/JdoInventoryJaxbVm.layout.xml
new file mode 100644
index 0000000..74b1559
--- /dev/null
+++ 
b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/JdoInventoryJaxbVm.layout.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<bs3:grid xsi:schemaLocation="http://isis.apache.org/applib/layout/component 
http://isis.apache.org/applib/layout/component/component.xsd 
http://isis.apache.org/applib/layout/links 
http://isis.apache.org/applib/layout/links/links.xsd 
http://isis.apache.org/applib/layout/grid/bootstrap3 
http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd"; 
xmlns:bs3="http://isis.apache.org/applib/layout/grid/bootstrap3"; 
xmlns:cpt="http://isis.apache.org/applib/layout/component"; xmlns:lnk="h [...]
+    <bs3:row>
+        <bs3:col span="12" unreferencedActions="true">
+            <cpt:domainObject/>
+        </bs3:col>
+    </bs3:row>
+    <bs3:row>
+        <bs3:col span="4">
+            <cpt:fieldSet name="General" unreferencedProperties="true">
+                <cpt:property id="name"/>
+                <cpt:property id="favoriteBook" />
+            </cpt:fieldSet>
+        </bs3:col>
+        <bs3:col span="12" unreferencedCollections="true">
+            <cpt:collection defaultView="table" id="books" paged="12"/>
+        </bs3:col>
+        
+        <bs3:col span="12">
+        
+               <bs3:tabGroup>
+                               
+                               <bs3:tab name="Tab 1">
+                                       <bs3:row>
+                                               <bs3:col span="12">
+                                                       <cpt:fieldSet id="fs1">
+                                                               <cpt:property 
id="bookForTab1"/>
+                                                               <cpt:property 
id="bookNameForTab1"/>
+                                                       </cpt:fieldSet>
+                                               </bs3:col>
+                                       </bs3:row>
+                               </bs3:tab>
+                               
+                               <bs3:tab name="Tab 2">
+                                       <bs3:row>
+                                               <bs3:col span="12">
+                                                       <cpt:fieldSet id="fs2">
+                                                               <cpt:property 
id="bookForTab2"/>
+                                                               <cpt:property 
id="bookNameForTab2"/>
+                                                       </cpt:fieldSet>
+                                               </bs3:col>
+                                       </bs3:row>
+                               </bs3:tab>
+                               
+                       </bs3:tabGroup>
+                       
+               </bs3:col>
+        
+    </bs3:row>
+</bs3:grid>
diff --git 
a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jpa/JpaInventoryJaxbVm.java
 
b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jpa/JpaInventoryJaxbVm.java
index 5a83344..7a26798 100644
--- 
a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jpa/JpaInventoryJaxbVm.java
+++ 
b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jpa/JpaInventoryJaxbVm.java
@@ -20,6 +20,7 @@ package org.apache.isis.testdomain.jpa;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Optional;
 
 import javax.inject.Inject;
 import javax.xml.bind.annotation.XmlAccessType;
@@ -41,13 +42,14 @@ import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.services.repository.RepositoryService;
 import org.apache.isis.testdomain.jpa.entities.JpaBook;
 import org.apache.isis.testdomain.jpa.entities.JpaProduct;
+import org.apache.isis.testdomain.util.dto.IBook;
 
 import lombok.Getter;
 import lombok.Setter;
 
 @XmlRootElement(name = "root")
 @XmlType(
-        propOrder = {"name", "favoriteBook", "books"}
+        propOrder = {"name", "favoriteBook", "bookForTab1", "bookForTab2", 
"books"}
 )
 @XmlAccessorType(XmlAccessType.FIELD)
 @DomainObject(
@@ -81,7 +83,6 @@ public class JpaInventoryJaxbVm {
 
     @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
     @XmlElement(required = false)
-    //@XmlJavaTypeAdapter(PersistentEntityAdapter.class)
     @Getter @Setter
     private JpaBook favoriteBook = null;
 
@@ -91,8 +92,44 @@ public class JpaInventoryJaxbVm {
 
     @Collection
     @XmlElement(name = "book")
-    //@XmlJavaTypeAdapter(PersistentEntitiesAdapter.class)
     @Getter @Setter
     private java.util.Collection<JpaBook> books = new ArrayList<>();
 
+    // -- TAB TEST
+
+    @Getter @Setter
+    @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
+    @XmlElement(required = false)
+    private JpaBook bookForTab1 = null;
+
+    @MemberSupport public List<JpaBook> choicesBookForTab1() {
+        return listBooks();
+    }
+
+    @Property
+    @XmlTransient
+    public String getBookNameForTab1() {
+        return Optional.ofNullable(getBookForTab1())
+                .map(IBook::getName)
+                .orElse("none selected");
+    }
+
+
+    @Getter @Setter
+    @Property(editing = Editing.ENABLED, optionality = Optionality.OPTIONAL)
+    @XmlElement(required = false)
+    private JpaBook bookForTab2 = null;
+
+    @MemberSupport public List<JpaBook> choicesBookForTab2() {
+        return listBooks();
+    }
+
+    @Property
+    @XmlTransient
+    public String getBookNameForTab2() {
+        return Optional.ofNullable(getBookForTab2())
+                .map(IBook::getName)
+                .orElse("none selected");
+    }
+
 }
\ No newline at end of file
diff --git 
a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jpa/JpaInventoryJaxbVm.layout.xml
 
b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jpa/JpaInventoryJaxbVm.layout.xml
new file mode 100644
index 0000000..74b1559
--- /dev/null
+++ 
b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jpa/JpaInventoryJaxbVm.layout.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<bs3:grid xsi:schemaLocation="http://isis.apache.org/applib/layout/component 
http://isis.apache.org/applib/layout/component/component.xsd 
http://isis.apache.org/applib/layout/links 
http://isis.apache.org/applib/layout/links/links.xsd 
http://isis.apache.org/applib/layout/grid/bootstrap3 
http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd"; 
xmlns:bs3="http://isis.apache.org/applib/layout/grid/bootstrap3"; 
xmlns:cpt="http://isis.apache.org/applib/layout/component"; xmlns:lnk="h [...]
+    <bs3:row>
+        <bs3:col span="12" unreferencedActions="true">
+            <cpt:domainObject/>
+        </bs3:col>
+    </bs3:row>
+    <bs3:row>
+        <bs3:col span="4">
+            <cpt:fieldSet name="General" unreferencedProperties="true">
+                <cpt:property id="name"/>
+                <cpt:property id="favoriteBook" />
+            </cpt:fieldSet>
+        </bs3:col>
+        <bs3:col span="12" unreferencedCollections="true">
+            <cpt:collection defaultView="table" id="books" paged="12"/>
+        </bs3:col>
+        
+        <bs3:col span="12">
+        
+               <bs3:tabGroup>
+                               
+                               <bs3:tab name="Tab 1">
+                                       <bs3:row>
+                                               <bs3:col span="12">
+                                                       <cpt:fieldSet id="fs1">
+                                                               <cpt:property 
id="bookForTab1"/>
+                                                               <cpt:property 
id="bookNameForTab1"/>
+                                                       </cpt:fieldSet>
+                                               </bs3:col>
+                                       </bs3:row>
+                               </bs3:tab>
+                               
+                               <bs3:tab name="Tab 2">
+                                       <bs3:row>
+                                               <bs3:col span="12">
+                                                       <cpt:fieldSet id="fs2">
+                                                               <cpt:property 
id="bookForTab2"/>
+                                                               <cpt:property 
id="bookNameForTab2"/>
+                                                       </cpt:fieldSet>
+                                               </bs3:col>
+                                       </bs3:row>
+                               </bs3:tab>
+                               
+                       </bs3:tabGroup>
+                       
+               </bs3:col>
+        
+    </bs3:row>
+</bs3:grid>

Reply via email to