This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/causeway.git
The following commit(s) were added to refs/heads/master by this push:
new 24ef771fcb CAUSEWAY-2485: reworks @ActionLayout#position
24ef771fcb is described below
commit 24ef771fcb9c1a98dc2155f5a93c03212f13a636
Author: danhaywood <[email protected]>
AuthorDate: Mon Apr 17 07:04:02 2023 +0100
CAUSEWAY-2485: reworks @ActionLayout#position
---
.../ActionLayoutPositionPage-description.adoc | 49 ++++++++++++++++----
.../position/ActionLayoutPositionPage.java | 15 +++----
.../position/ActionLayoutPositionPage.layout.xml | 19 +++-----
.../ActionLayoutPositionPage_layoutPanel.java | 52 ----------------------
...tionLayoutPositionPage_layoutPanelDropDown.java | 52 ----------------------
.../ActionLayoutPositionPage_layoutRight.java | 52 ----------------------
...outPositionPage_updateNamePositionedBelow.java} | 21 ++++-----
...outPositionPage_updateNamePositionedPanel.java} | 19 ++++----
...ionPage_updateNamePositionedPanelDropDown.java} | 19 ++++----
...outPositionPage_updateNamePositionedRight.java} | 19 ++++----
...utPositionPage_updateNotesPositionedBelow.java} | 20 +++------
...utPositionPage_updateNotesPositionedPanel.java} | 22 ++++-----
...onPage_updateNotesPositionedPanelDropDown.java} | 22 ++++-----
...utPositionPage_updateNotesPositionedRight.java} | 22 ++++-----
14 files changed, 115 insertions(+), 288 deletions(-)
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage-description.adoc
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage-description.adoc
index 5b6d89ad73..65f185c93d 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage-description.adoc
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage-description.adoc
@@ -1,36 +1,67 @@
:Notice: Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with this work
for additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by
applicable law or ag [...]
-TODO
+When an action is associated with a property (using `@Action#associateWith`,
then by default its button will be rendered in the UI underneath the property's
field.
-[source,java]
-----
-include::ActionLayoutPositionPage.java[tags=class]
-----
+The
link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/ActionLayout.html#position[@ActionLayout#position]
provides finer-grained control, allowing the button to be placed in one of
four locations:
+
+* underneath the property's field (the default position)
+
+* alongside the property's field, as a drop-down
+
+* on the panel (or fieldset) containing the property
+
+* as a drop-down of the panel containing the property.
+
+=== How this demo works
+
+This demo page defines two properties, each with four corresponding mixin
actions that simply update the property.
+However, the actions are positioned in the four different location.
+
+For the first property, `name`, the position of its mixin actions are
specified using `@Action#associateWith`:
* positioned _below_:
+
[source,java]
----
-include::ActionLayoutPositionPage_annotatedBelow.java[tags=class]
+include::ActionLayoutPositionPage_updateNotesPositionedBelow.java[tags=class]
----
* positioned _right_:
+
[source,java]
----
-include::ActionLayoutPositionPage_annotatedRight.java[tags=class]
+include::ActionLayoutPositionPage_updateNotesPositionedRight.java[tags=class]
----
* positioned on _panel_:
+
[source,java]
----
-include::ActionLayoutPositionPage_annotatedPanel.java[tags=class]
+include::ActionLayoutPositionPage_updateNotesPositionedPanel.java[tags=class]
----
* positioned on _panel in drop-down_:
+
[source,java]
----
-include::ActionLayoutPositionPage_annotatedPanelDropDown.java[tags=class]
+include::ActionLayoutPositionPage_updateNotesPositionedPanelDropDown.java[tags=class]
----
+
+For the second property, `notes`, its location and the position of its mixin
actions are specified using the
link:https://causeway.apache.org/userguide/2.0.0-RC1/fun/ui.html#by-example[.layout.xml]:
+
+:dot: .
+[source,xml]
+.{dot}layout.xml
+----
+...
+<cpt:fieldSet name="Layout" id="layout">
+ <cpt:action id="updateNotesPositionedPanel" position="PANEL"/>
+ <cpt:action id="updateNotesPositionedPanelDropDown"
position="PANEL_DROPDOWN"/>
+ <cpt:property id="notes">
+ <cpt:action id="updateNotesPositionedBelow" position="BELOW"/>
+ <cpt:action id="updateNotesPositionedRight" position="RIGHT"/>
+ </cpt:property>
+</cpt:fieldSet>
+...
+----
+
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage.java
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage.java
index 740425e541..c01bf33a94 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage.java
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage.java
@@ -41,10 +41,8 @@ import
demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
@XmlRootElement(name = "root")
@XmlType
@XmlAccessorType(XmlAccessType.FIELD)
-@Named("demo.ActionLayoutPositionVm")
-@DomainObject(
- nature=Nature.VIEW_MODEL
-)
+@Named("demo.ActionLayoutPositionPage")
+@DomainObject(nature=Nature.VIEW_MODEL)
public class ActionLayoutPositionPage implements HasAsciiDocDescription {
@ObjectSupport public String title() {
@@ -53,15 +51,14 @@ public class ActionLayoutPositionPage implements
HasAsciiDocDescription {
@Property(optionality = Optionality.OPTIONAL)
@PropertyLayout(fieldSetId = "annotated", sequence = "1")
- @XmlElement(required = false)
+ @XmlElement
@Getter @Setter
- private String readOnlyProperty1;
+ private String name;
@Property(optionality = Optionality.OPTIONAL)
- @PropertyLayout(fieldSetId = "layout", sequence = "1")
- @XmlElement(required = false)
+ @XmlElement
@Getter @Setter
- private String readOnlyProperty2;
+ private String notes;
}
//end::class[]
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage.layout.xml
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage.layout.xml
index b7b4ab6651..fd68ecf081 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage.layout.xml
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage.layout.xml
@@ -26,22 +26,13 @@
<bs3:row>
<bs3:col span="6">
- <cpt:fieldSet name="General" id="general"/>
<cpt:fieldSet name="Annotated" id="annotated"/>
<cpt:fieldSet name="Layout" id="layout">
- <cpt:action id="layoutPanel" position="PANEL">
- <cpt:named>Positioned on
panel</cpt:named>
- </cpt:action>
- <cpt:action id="layoutPanelDropDown"
position="PANEL_DROPDOWN">
- <cpt:named>Positioned on panel in drop
down</cpt:named>
- </cpt:action>
- <cpt:property id="readOnlyProperty2">
- <cpt:action id="layoutBelow"
position="BELOW">
- <cpt:named>Positioned
below</cpt:named>
- </cpt:action>
- <cpt:action id="layoutRight"
position="RIGHT">
- <cpt:named>Positioned
right</cpt:named>
- </cpt:action>
+ <cpt:action id="updateNotesPositionedPanel"
position="PANEL"/>
+ <cpt:action
id="updateNotesPositionedPanelDropDown" position="PANEL_DROPDOWN"/>
+ <cpt:property id="notes">
+ <cpt:action
id="updateNotesPositionedBelow" position="BELOW"/>
+ <cpt:action
id="updateNotesPositionedRight" position="RIGHT"/>
</cpt:property>
</cpt:fieldSet>
<cpt:fieldSet name="Other" id="other"
unreferencedProperties="true"/>
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_layoutPanel.java
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_layoutPanel.java
deleted file mode 100644
index 0ff0d31d57..0000000000
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_layoutPanel.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package demoapp.dom.domain.actions.ActionLayout.position;
-
-import org.apache.causeway.applib.annotation.Action;
-import org.apache.causeway.applib.annotation.ActionLayout;
-import org.apache.causeway.applib.annotation.MemberSupport;
-import org.apache.causeway.applib.annotation.SemanticsOf;
-
-import lombok.RequiredArgsConstructor;
-
-
-//tag::class[]
-@Action(
- semantics = SemanticsOf.IDEMPOTENT
-)
-@ActionLayout(
- named = "Positioned on panel",
- describedAs = "<cpt:property id=\"...\"><cpt:action id=\"...\"
position=PANEL/></cpt:property>",
- associateWith = "readOnlyProperty2",
- sequence = "2")
-@RequiredArgsConstructor
-public class ActionLayoutPositionPage_layoutPanel {
-
- private final ActionLayoutPositionPage page;
-
- @MemberSupport public ActionLayoutPositionPage act(final String newValue) {
- page.setReadOnlyProperty2(newValue);
- return page;
- }
- @MemberSupport public String default0Act() {
- return page.getReadOnlyProperty2();
- }
-
-}
-//end::class[]
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_layoutPanelDropDown.java
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_layoutPanelDropDown.java
deleted file mode 100644
index 9f870a6691..0000000000
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_layoutPanelDropDown.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package demoapp.dom.domain.actions.ActionLayout.position;
-
-import org.apache.causeway.applib.annotation.Action;
-import org.apache.causeway.applib.annotation.ActionLayout;
-import org.apache.causeway.applib.annotation.MemberSupport;
-import org.apache.causeway.applib.annotation.SemanticsOf;
-
-import lombok.RequiredArgsConstructor;
-
-
-//tag::class[]
-@Action(
- semantics = SemanticsOf.IDEMPOTENT
-)
-@ActionLayout(
- named = "Positioned on panel dropdown",
- describedAs = "<cpt:property id=\"...\"><cpt:action id=\"...\"
position=PANEL_DROPDOWN/></cpt:property>",
- associateWith = "readOnlyProperty2",
- sequence = "3")
-@RequiredArgsConstructor
-public class ActionLayoutPositionPage_layoutPanelDropDown {
-
- private final ActionLayoutPositionPage page;
-
- @MemberSupport public ActionLayoutPositionPage act(final String newValue) {
- page.setReadOnlyProperty2(newValue);
- return page;
- }
- @MemberSupport public String default0Act() {
- return page.getReadOnlyProperty2();
- }
-
-}
-//end::class[]
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_layoutRight.java
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_layoutRight.java
deleted file mode 100644
index 7950cb764d..0000000000
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_layoutRight.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package demoapp.dom.domain.actions.ActionLayout.position;
-
-import org.apache.causeway.applib.annotation.Action;
-import org.apache.causeway.applib.annotation.ActionLayout;
-import org.apache.causeway.applib.annotation.MemberSupport;
-import org.apache.causeway.applib.annotation.SemanticsOf;
-
-import lombok.RequiredArgsConstructor;
-
-
-//tag::class[]
-@Action(
- semantics = SemanticsOf.IDEMPOTENT
-)
-@ActionLayout(
- named = "Positioned right",
- describedAs = "<cpt:property id=\"...\"><cpt:action id=\"...\"
position=RIGHT/></cpt:property>",
- associateWith = "readOnlyProperty2",
- sequence = "4")
-@RequiredArgsConstructor
-public class ActionLayoutPositionPage_layoutRight {
-
- private final ActionLayoutPositionPage page;
-
- @MemberSupport public ActionLayoutPositionPage act(final String newValue) {
- page.setReadOnlyProperty2(newValue);
- return page;
- }
- @MemberSupport public String default0Act() {
- return page.getReadOnlyProperty2();
- }
-
-}
-//end::class[]
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_annotatedBelow.java
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_updateNamePositionedBelow.java
similarity index 78%
copy from
examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_annotatedBelow.java
copy to
examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_updateNamePositionedBelow.java
index 0c2ea3a3b4..7d27999934 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_annotatedBelow.java
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_updateNamePositionedBelow.java
@@ -26,27 +26,24 @@ import org.apache.causeway.applib.annotation.SemanticsOf;
import lombok.RequiredArgsConstructor;
//tag::class[]
-@Action(
- semantics = SemanticsOf.IDEMPOTENT
-)
+@Action(semantics = SemanticsOf.IDEMPOTENT)
@ActionLayout(
- position = ActionLayout.Position.BELOW,
- named = "Positioned below",
- describedAs = "position = BELOW",
- associateWith = "readOnlyProperty1",
- sequence = "1")
+ position = ActionLayout.Position.BELOW, // <.>
+ associateWith = "name")
@RequiredArgsConstructor
-public class ActionLayoutPositionPage_annotatedBelow {
-
+public class ActionLayoutPositionPage_updateNamePositionedBelow {
+ // ...
+//end::class[]
private final ActionLayoutPositionPage page;
@MemberSupport public ActionLayoutPositionPage act(final String newValue) {
- page.setReadOnlyProperty1(newValue);
+ page.setName(newValue);
return page;
}
@MemberSupport public String default0Act() {
- return page.getReadOnlyProperty1();
+ return page.getName();
}
+//tag::class[]
}
//end::class[]
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_annotatedPanel.java
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_updateNamePositionedPanel.java
similarity index 81%
rename from
examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_annotatedPanel.java
rename to
examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_updateNamePositionedPanel.java
index 37d65abcb3..1daff5460e 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_annotatedPanel.java
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_updateNamePositionedPanel.java
@@ -27,27 +27,24 @@ import lombok.RequiredArgsConstructor;
//tag::class[]
-@Action(
- semantics = SemanticsOf.IDEMPOTENT
-)
+@Action(semantics = SemanticsOf.IDEMPOTENT)
@ActionLayout(
position = ActionLayout.Position.PANEL,
- named = "Positioned on panel",
- describedAs = "position = PANEL",
- associateWith = "readOnlyProperty1",
- sequence = "2")
+ associateWith = "name")
@RequiredArgsConstructor
-public class ActionLayoutPositionPage_annotatedPanel {
-
+public class ActionLayoutPositionPage_updateNamePositionedPanel {
+ // ...
+//end::class[]
private final ActionLayoutPositionPage page;
@MemberSupport public ActionLayoutPositionPage act(final String newValue) {
- page.setReadOnlyProperty1(newValue);
+ page.setName(newValue);
return page;
}
@MemberSupport public String default0Act() {
- return page.getReadOnlyProperty1();
+ return page.getName();
}
+//tag::class[]
}
//end::class[]
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_annotatedPanelDropDown.java
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_updateNamePositionedPanelDropDown.java
similarity index 79%
rename from
examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_annotatedPanelDropDown.java
rename to
examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_updateNamePositionedPanelDropDown.java
index 2a4a3400fe..beb9d6303f 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_annotatedPanelDropDown.java
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_updateNamePositionedPanelDropDown.java
@@ -27,27 +27,24 @@ import lombok.RequiredArgsConstructor;
//tag::class[]
-@Action(
- semantics = SemanticsOf.IDEMPOTENT
-)
+@Action(semantics = SemanticsOf.IDEMPOTENT)
@ActionLayout(
position = ActionLayout.Position.PANEL_DROPDOWN,
- named = "Positioned on panel in dropdown",
- describedAs = "position = PANEL_DROPDOWN",
- associateWith = "readOnlyProperty1",
- sequence = "3")
+ associateWith = "name")
@RequiredArgsConstructor
-public class ActionLayoutPositionPage_annotatedPanelDropDown {
-
+public class ActionLayoutPositionPage_updateNamePositionedPanelDropDown {
+ // ...
+//end::class[]
private final ActionLayoutPositionPage page;
@MemberSupport public ActionLayoutPositionPage act(final String newValue) {
- page.setReadOnlyProperty1(newValue);
+ page.setName(newValue);
return page;
}
@MemberSupport public String default0Act() {
- return page.getReadOnlyProperty1();
+ return page.getName();
}
+//tag::class[]
}
//end::class[]
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_annotatedRight.java
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_updateNamePositionedRight.java
similarity index 81%
rename from
examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_annotatedRight.java
rename to
examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_updateNamePositionedRight.java
index d4a66eebf6..dea68cd0ac 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_annotatedRight.java
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_updateNamePositionedRight.java
@@ -27,27 +27,24 @@ import lombok.RequiredArgsConstructor;
//tag::class[]
-@Action(
- semantics = SemanticsOf.IDEMPOTENT
-)
+@Action(semantics = SemanticsOf.IDEMPOTENT)
@ActionLayout(
position = ActionLayout.Position.RIGHT,
- named = "Positioned right",
- describedAs = "position = RIGHT",
- associateWith = "readOnlyProperty1",
- sequence = "4")
+ associateWith = "name")
@RequiredArgsConstructor
-public class ActionLayoutPositionPage_annotatedRight {
-
+public class ActionLayoutPositionPage_updateNamePositionedRight {
+ // ...
+//end::class[]
private final ActionLayoutPositionPage page;
@MemberSupport public ActionLayoutPositionPage act(final String newValue) {
- page.setReadOnlyProperty1(newValue);
+ page.setName(newValue);
return page;
}
@MemberSupport public String default0Act() {
- return page.getReadOnlyProperty1();
+ return page.getName();
}
+//tag::class[]
}
//end::class[]
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_layoutBelow.java
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_updateNotesPositionedBelow.java
similarity index 74%
rename from
examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_layoutBelow.java
rename to
examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_updateNotesPositionedBelow.java
index 971095bcc6..7616176508 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_layoutBelow.java
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_updateNotesPositionedBelow.java
@@ -19,7 +19,6 @@
package demoapp.dom.domain.actions.ActionLayout.position;
import org.apache.causeway.applib.annotation.Action;
-import org.apache.causeway.applib.annotation.ActionLayout;
import org.apache.causeway.applib.annotation.MemberSupport;
import org.apache.causeway.applib.annotation.SemanticsOf;
@@ -27,26 +26,21 @@ import lombok.RequiredArgsConstructor;
//tag::class[]
-@Action(
- semantics = SemanticsOf.IDEMPOTENT
-)
-@ActionLayout(
- named = "Positioned below",
- describedAs = "<cpt:property id=\"...\"><cpt:action id=\"...\"
position=BELOW/></cpt:property>",
- associateWith = "readOnlyProperty2",
- sequence = "1")
+@Action(semantics = SemanticsOf.IDEMPOTENT)
@RequiredArgsConstructor
-public class ActionLayoutPositionPage_layoutBelow {
-
+public class ActionLayoutPositionPage_updateNotesPositionedBelow {
+ // ...
+//end::class[]
private final ActionLayoutPositionPage page;
@MemberSupport public ActionLayoutPositionPage act(final String newValue) {
- page.setReadOnlyProperty2(newValue);
+ page.setNotes(newValue);
return page;
}
@MemberSupport public String default0Act() {
- return page.getReadOnlyProperty2();
+ return page.getNotes();
}
+//tag::class[]
}
//end::class[]
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_annotatedBelow.java
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_updateNotesPositionedPanel.java
similarity index 74%
copy from
examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_annotatedBelow.java
copy to
examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_updateNotesPositionedPanel.java
index 0c2ea3a3b4..6176dd6c47 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_annotatedBelow.java
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_updateNotesPositionedPanel.java
@@ -19,34 +19,28 @@
package demoapp.dom.domain.actions.ActionLayout.position;
import org.apache.causeway.applib.annotation.Action;
-import org.apache.causeway.applib.annotation.ActionLayout;
import org.apache.causeway.applib.annotation.MemberSupport;
import org.apache.causeway.applib.annotation.SemanticsOf;
import lombok.RequiredArgsConstructor;
+
//tag::class[]
-@Action(
- semantics = SemanticsOf.IDEMPOTENT
-)
-@ActionLayout(
- position = ActionLayout.Position.BELOW,
- named = "Positioned below",
- describedAs = "position = BELOW",
- associateWith = "readOnlyProperty1",
- sequence = "1")
+@Action(semantics = SemanticsOf.IDEMPOTENT)
@RequiredArgsConstructor
-public class ActionLayoutPositionPage_annotatedBelow {
-
+public class ActionLayoutPositionPage_updateNotesPositionedPanel {
+ // ...
+//end::class[]
private final ActionLayoutPositionPage page;
@MemberSupport public ActionLayoutPositionPage act(final String newValue) {
- page.setReadOnlyProperty1(newValue);
+ page.setNotes(newValue);
return page;
}
@MemberSupport public String default0Act() {
- return page.getReadOnlyProperty1();
+ return page.getNotes();
}
+//tag::class[]
}
//end::class[]
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_annotatedBelow.java
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_updateNotesPositionedPanelDropDown.java
similarity index 74%
copy from
examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_annotatedBelow.java
copy to
examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_updateNotesPositionedPanelDropDown.java
index 0c2ea3a3b4..e0add092e0 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_annotatedBelow.java
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_updateNotesPositionedPanelDropDown.java
@@ -19,34 +19,28 @@
package demoapp.dom.domain.actions.ActionLayout.position;
import org.apache.causeway.applib.annotation.Action;
-import org.apache.causeway.applib.annotation.ActionLayout;
import org.apache.causeway.applib.annotation.MemberSupport;
import org.apache.causeway.applib.annotation.SemanticsOf;
import lombok.RequiredArgsConstructor;
+
//tag::class[]
-@Action(
- semantics = SemanticsOf.IDEMPOTENT
-)
-@ActionLayout(
- position = ActionLayout.Position.BELOW,
- named = "Positioned below",
- describedAs = "position = BELOW",
- associateWith = "readOnlyProperty1",
- sequence = "1")
+@Action(semantics = SemanticsOf.IDEMPOTENT)
@RequiredArgsConstructor
-public class ActionLayoutPositionPage_annotatedBelow {
-
+public class ActionLayoutPositionPage_updateNotesPositionedPanelDropDown {
+ // ...
+//end::class[]
private final ActionLayoutPositionPage page;
@MemberSupport public ActionLayoutPositionPage act(final String newValue) {
- page.setReadOnlyProperty1(newValue);
+ page.setNotes(newValue);
return page;
}
@MemberSupport public String default0Act() {
- return page.getReadOnlyProperty1();
+ return page.getNotes();
}
+//tag::class[]
}
//end::class[]
diff --git
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_annotatedBelow.java
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_updateNotesPositionedRight.java
similarity index 74%
rename from
examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_annotatedBelow.java
rename to
examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_updateNotesPositionedRight.java
index 0c2ea3a3b4..f9c145df82 100644
---
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_annotatedBelow.java
+++
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/position/ActionLayoutPositionPage_updateNotesPositionedRight.java
@@ -19,34 +19,28 @@
package demoapp.dom.domain.actions.ActionLayout.position;
import org.apache.causeway.applib.annotation.Action;
-import org.apache.causeway.applib.annotation.ActionLayout;
import org.apache.causeway.applib.annotation.MemberSupport;
import org.apache.causeway.applib.annotation.SemanticsOf;
import lombok.RequiredArgsConstructor;
+
//tag::class[]
-@Action(
- semantics = SemanticsOf.IDEMPOTENT
-)
-@ActionLayout(
- position = ActionLayout.Position.BELOW,
- named = "Positioned below",
- describedAs = "position = BELOW",
- associateWith = "readOnlyProperty1",
- sequence = "1")
+@Action(semantics = SemanticsOf.IDEMPOTENT)
@RequiredArgsConstructor
-public class ActionLayoutPositionPage_annotatedBelow {
-
+public class ActionLayoutPositionPage_updateNotesPositionedRight {
+ // ...
+//end::class[]
private final ActionLayoutPositionPage page;
@MemberSupport public ActionLayoutPositionPage act(final String newValue) {
- page.setReadOnlyProperty1(newValue);
+ page.setNotes(newValue);
return page;
}
@MemberSupport public String default0Act() {
- return page.getReadOnlyProperty1();
+ return page.getNotes();
}
+//tag::class[]
}
//end::class[]