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 2020/06/25 09:44:13 UTC

[isis] 01/01: ISIS-2222: further improvements

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

danhaywood pushed a commit to branch ISIS-2222
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 786a7b4ee47d2259b630d2adb2424319b38e2089
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Jun 25 10:43:43 2020 +0100

    ISIS-2222: further improvements
---
 .../chars/holder/PrimitiveCharHolder.java          | 34 +++++++++++++++++++--
 .../PrimitiveCharHolder_actionReturning.java       |  5 +++-
 ...lder_updateReadOnlyProperty2InlineAsIfEdit.java |  2 +-
 ...iveCharHolder_updateReadOnlyPropertyPanel.java} | 10 +++----
 ...older_updateReadOnlyPropertyPanelDropDown.java} | 10 +++----
 .../chars/jdo/PrimitiveCharJdoEntity.layout.xml    | 35 +++++-----------------
 6 files changed, 54 insertions(+), 42 deletions(-)

diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder.java
index e633ca9..d6fe4f6 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder.java
@@ -27,9 +27,13 @@ import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.Bounding;
 import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.applib.annotation.Editing;
+import org.apache.isis.applib.annotation.LabelPosition;
+import org.apache.isis.applib.annotation.MemberOrder;
 import org.apache.isis.applib.annotation.Property;
+import org.apache.isis.applib.annotation.PropertyLayout;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.applib.annotation.Title;
+import org.apache.isis.applib.annotation.Where;
 
 import lombok.Getter;
 import lombok.Setter;
@@ -39,16 +43,42 @@ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 
 public interface PrimitiveCharHolder {
 
+    @MemberOrder(name = "action-prompt-styles", sequence = "1") // TODO: doesn't seem to get picked up
+    @Property
+    @PropertyLayout
     char getReadOnlyProperty();
     void setReadOnlyProperty(char c);
 
+    @MemberOrder(name = "action-prompt-styles", sequence = "1") // TODO: doesn't seem to get picked up
+    @Property
+    @PropertyLayout(describedAs = "associated action uses promptStyle=INLINE_AS_IF_EDIT", hidden = Where.ALL_TABLES) // TODO: doesn't seem to get picked up
     char getReadOnlyProperty2();
     void setReadOnlyProperty2(char c);
 
+    @MemberOrder(name = "editable-properties", sequence = "1") // TODO: doesn't seem to get picked up
+    @Property
+    @PropertyLayout
     char getReadWriteProperty();
     void setReadWriteProperty(char c);
 
-    default char getReadOnlyPropertyDerived() { return getReadOnlyProperty(); }
-    default char getReadOnlyPropertyDerived2() { return getReadOnlyProperty(); }
+    @MemberOrder(name = "label-positions", sequence = "1")
+    @Property
+    @PropertyLayout(labelPosition = LabelPosition.LEFT, describedAs = "labelPosition=LEFT", hidden = Where.ALL_TABLES)
+    default char getReadOnlyPropertyDerivedLabelPositionLeft() { return getReadOnlyProperty(); }
+
+    @MemberOrder(name = "label-positions", sequence = "2")
+    @Property
+    @PropertyLayout(labelPosition = LabelPosition.TOP, describedAs = "labelPosition=TOP", hidden = Where.ALL_TABLES)
+    default char getReadOnlyPropertyDerivedLabelPositionTop() { return getReadOnlyProperty(); }
+
+    @MemberOrder(name = "label-positions", sequence = "3")
+    @Property
+    @PropertyLayout(labelPosition = LabelPosition.RIGHT, describedAs = "labelPosition=RIGHT", hidden = Where.ALL_TABLES)
+    default char getReadOnlyPropertyDerivedLabelPositionRight() { return getReadOnlyProperty(); }
+
+    @MemberOrder(name = "label-positions", sequence = "4")
+    @Property
+    @PropertyLayout(labelPosition = LabelPosition.NONE, describedAs = "labelPosition=NONE", hidden = Where.ALL_TABLES)
+    default char getReadOnlyPropertyDerivedLabelPositionNone() { return getReadOnlyProperty(); }
 
 }
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder_actionReturning.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder_actionReturning.java
index 8fbe3a3..4f7224a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder_actionReturning.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder_actionReturning.java
@@ -19,6 +19,8 @@
 package demoapp.dom.types.primitive.chars.holder;
 
 import org.apache.isis.applib.annotation.Action;
+import org.apache.isis.applib.annotation.ActionLayout;
+import org.apache.isis.applib.annotation.MemberOrder;
 import org.apache.isis.applib.annotation.SemanticsOf;
 
 import lombok.RequiredArgsConstructor;
@@ -27,8 +29,9 @@ import lombok.RequiredArgsConstructor;
 @Action(
         semantics = SemanticsOf.SAFE,
         associateWith = "readOnlyProperty",
-        associateWithSequence = "3"
+        associateWithSequence = "1"
 )
+@ActionLayout(position = ActionLayout.Position.PANEL)
 @RequiredArgsConstructor
 public class PrimitiveCharHolder_actionReturning {
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder_updateReadOnlyProperty2InlineAsIfEdit.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder_updateReadOnlyProperty2InlineAsIfEdit.java
index 5fb33ef..ddc59e3 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder_updateReadOnlyProperty2InlineAsIfEdit.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder_updateReadOnlyProperty2InlineAsIfEdit.java
@@ -42,7 +42,7 @@ public class PrimitiveCharHolder_updateReadOnlyProperty2InlineAsIfEdit {
         return primitiveCharHolder;
     }
     public char default0Act() {
-        return primitiveCharHolder.getReadOnlyProperty();
+        return primitiveCharHolder.getReadOnlyProperty2();
     }
 
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder_updateReadOnlyProperty2InlineAsIfEdit.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder_updateReadOnlyPropertyPanel.java
similarity index 84%
copy from examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder_updateReadOnlyProperty2InlineAsIfEdit.java
copy to examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder_updateReadOnlyPropertyPanel.java
index 5fb33ef..2051971 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder_updateReadOnlyProperty2InlineAsIfEdit.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder_updateReadOnlyPropertyPanel.java
@@ -28,17 +28,17 @@ import lombok.RequiredArgsConstructor;
 
 @Action(
         semantics = SemanticsOf.IDEMPOTENT,
-        associateWith = "readOnlyProperty2",
-        associateWithSequence = "1"
+        associateWith = "readOnlyProperty",
+        associateWithSequence = "2"
 )
-@ActionLayout(promptStyle = PromptStyle.INLINE_AS_IF_EDIT)
+@ActionLayout(position = ActionLayout.Position.PANEL)
 @RequiredArgsConstructor
-public class PrimitiveCharHolder_updateReadOnlyProperty2InlineAsIfEdit {
+public class PrimitiveCharHolder_updateReadOnlyPropertyPanel {
 
     private final PrimitiveCharHolder primitiveCharHolder;
 
     public PrimitiveCharHolder act(char newValue) {
-        primitiveCharHolder.setReadOnlyProperty2(newValue);
+        primitiveCharHolder.setReadOnlyProperty(newValue);
         return primitiveCharHolder;
     }
     public char default0Act() {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder_updateReadOnlyProperty2InlineAsIfEdit.java b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder_updateReadOnlyPropertyPanelDropDown.java
similarity index 84%
copy from examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder_updateReadOnlyProperty2InlineAsIfEdit.java
copy to examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder_updateReadOnlyPropertyPanelDropDown.java
index 5fb33ef..1d765a6 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder_updateReadOnlyProperty2InlineAsIfEdit.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/holder/PrimitiveCharHolder_updateReadOnlyPropertyPanelDropDown.java
@@ -28,17 +28,17 @@ import lombok.RequiredArgsConstructor;
 
 @Action(
         semantics = SemanticsOf.IDEMPOTENT,
-        associateWith = "readOnlyProperty2",
-        associateWithSequence = "1"
+        associateWith = "readOnlyProperty",
+        associateWithSequence = "3"
 )
-@ActionLayout(promptStyle = PromptStyle.INLINE_AS_IF_EDIT)
+@ActionLayout(position = ActionLayout.Position.PANEL_DROPDOWN)
 @RequiredArgsConstructor
-public class PrimitiveCharHolder_updateReadOnlyProperty2InlineAsIfEdit {
+public class PrimitiveCharHolder_updateReadOnlyPropertyPanelDropDown {
 
     private final PrimitiveCharHolder primitiveCharHolder;
 
     public PrimitiveCharHolder act(char newValue) {
-        primitiveCharHolder.setReadOnlyProperty2(newValue);
+        primitiveCharHolder.setReadOnlyProperty(newValue);
         return primitiveCharHolder;
     }
     public char default0Act() {
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/jdo/PrimitiveCharJdoEntity.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/jdo/PrimitiveCharJdoEntity.layout.xml
index a895e7d..7a24b9b 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/jdo/PrimitiveCharJdoEntity.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/types/primitive/chars/jdo/PrimitiveCharJdoEntity.layout.xml
@@ -17,39 +17,18 @@
 
 	<bs3:row>
 		<bs3:col span="6">
-			<cpt:fieldSet name="Demo" id="general">
-				<cpt:action id="actionReturning" position="PANEL"/>
-				<cpt:property id="readOnlyProperty" labelPosition="DEFAULT">
+			<cpt:fieldSet name="Action Prompt Styles" id="action-prompt-styles">
+				<cpt:property id="readOnlyProperty" />
+				<cpt:property id="readOnlyProperty2" >
 					<cpt:describedAs>
-						labelPosition=DEFAULT
-					</cpt:describedAs>
-				</cpt:property>
-				<cpt:property id="readOnlyProperty2" labelPosition="TOP" hidden="ALL_TABLES">
-					<cpt:describedAs>
-						labelPosition=TOP
-						hidden=ALL_TABLES
-					</cpt:describedAs>
-				</cpt:property>
-				<cpt:property id="readWriteProperty" labelPosition="LEFT">
-					<cpt:describedAs>
-						labelPosition=LEFT
+						Associated action uses promptStyle=INLINE_AS_IF_EDIT
 					</cpt:describedAs>
 				</cpt:property>
 			</cpt:fieldSet>
-			<cpt:fieldSet name="Derived Properties" id="derivedProperties">
-				<cpt:property id="readOnlyPropertyDerived" labelPosition="NONE" hidden="ALL_TABLES">
-					<cpt:describedAs>
-						labelPosition=NONE
-						hidden=ALL_TABLES
-					</cpt:describedAs>
-				</cpt:property>
-				<cpt:property id="readOnlyPropertyDerived2" labelPosition="RIGHT" hidden="ALL_TABLES">
-					<cpt:describedAs>
-						labelPosition=RIGHT
-						hidden=ALL_TABLES
-					</cpt:describedAs>
-				</cpt:property>
+			<cpt:fieldSet name="Editable Properties" id="editable-properties">
+				<cpt:property id="readWriteProperty" />
 			</cpt:fieldSet>
+			<cpt:fieldSet name="Label Positions" id="label-positions"/>
 			<cpt:fieldSet name="Other" id="other" unreferencedProperties="true"/>
 		</bs3:col>
 		<bs3:col span="6">