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/07/15 19:39:44 UTC

[isis] branch ISIS-2222 updated (f8f3d50 -> 0e6b0a1)

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

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


 discard f8f3d50  ISIS-2222: fleshes out @PropertyLayout a little bit more
 discard 2de5d52  ISIS-2222: fleshes out @PropertyLayout a little bit
     add 540e976  ISIS-2403: switch internal StopWatch back to use System.nanoTime()
     add c3e7901  ISIS-2403: specloader: fixes re-validation deadlocks
     add 34748f6  ISIS-2403: specloader: polishing
     add 5513967  ISIS-2403: remove debugging code snippet
     add c67392e  ISIS-2401: wkt: also create mementos for 'free' collections
     add 1b11734  ISIS-2401: revert previous commit
     add c7af38d  ISIS-2405: fixes this issue
     add 9597cc6  ISIS-2405: minor polishing
     add 3c960bd  ISIS-2401: ObjectSerializer: mitigate potential resource leaks (sonar)
     add f555643  ISIS-2404: adding Param Negotiation tests (Interaction API)
     add d67e022  ISIS-2404: remove auto param value blank out
     add 7872d7d  ISIS-2222: fleshes out @PropertyLayout a little bit
     add 22348d56 ISIS-2222: fleshes out @PropertyLayout a little bit more
     add 143516e  ISIS-2222: improves @PropertyLayout named and multiLine
     add b2e2dd4  ISIS-2222: improves @PropertyLayout named and multiLine
     add a5175a1  ISIS-2222: improves @PropertyLayout cssClass and adds example mixins
     add e06e14c  ISIS-2222: adds @PropertyLayout describedAs example
     add 669d665  ISIS-2222: polishes @PropertyLayout describedAs example
     add a9ce519  ISIS-2222: adds in mixin properties for @PropertyLayout's
     add 6903c4a  ISIS-2340: adds Internal Binding API
     add c9e8fb7  ISIS-2340: rename/moves the PendingParameterModel -> ParameterNegotiationModel
     new 784682f  ISIS-2222: tidying up hidden for @PropertyLayout.
     new 0e6b0a1  ISIS-2222: tidying up hidden for @PropertyLayout.

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (f8f3d50)
            \
             N -- N -- N   refs/heads/ISIS-2222 (0e6b0a1)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../apache/isis/core/commons/binding/Bindable.java |  22 +-
 .../isis/core/commons/binding/ChangeListener.java  |   7 +-
 ...angeListener.java => InvalidationListener.java} |   9 +-
 .../binding/{Bindable.java => Observable.java}     |  26 +-
 .../binding/{ChangeListener.java => Writable.java} |   8 +-
 .../isis/core/commons/internal/base/_Timing.java   |  36 +-
 .../binding/InternalBidirectionalBinding.java      | 210 ++++++++++
 .../commons/internal/binding/InternalUtil.java     | 450 +++++++++++++++++++++
 .../internal/binding/_BindableAbstract.java        | 174 ++++++++
 .../binding/_Bindables.java}                       |  45 ++-
 .../binding/package-info.java}                     |  17 +-
 .../commons/internal/binding/BindableTest.java     | 237 +++++++++++
 ...ctionInvocationFacetForDomainEventAbstract.java |  23 +-
 .../defaults/ActionParameterDefaultsFacet.java     |   6 +-
 .../ActionParameterDefaultsFacetViaMethod.java     |   4 +-
 .../metamodel/interactions/InteractionHead.java    |   2 +-
 .../managed/ActionInteractionHead.java             |  11 +-
 .../interactions/managed/ManagedProperty.java      |   2 +-
 .../managed/ParameterNegotiationModel.java}        |  49 ++-
 .../ObjectSerializer_builtinHandlers.java          |  24 +-
 ...meterDefaultsFacetFromAssociatedCollection.java |   4 +-
 .../spec/feature/ObjectActionParameter.java        |  10 +-
 .../metamodel/specloader/SpecificationLoader.java  |   7 +-
 .../specloader/SpecificationLoaderDefault.java     |  56 ++-
 .../specimpl/ObjectActionParameterAbstract.java    |   7 +-
 .../specimpl/ObjectSpecificationAbstract.java      |   2 +-
 .../isis/core/runtime/iactn/IsisInteraction.java   |   4 +-
 .../PropertyLayout/PropertyLayoutMenu.java         |  45 ++-
 .../cssClass/CssClassMetaAnnotation.java           |  25 ++
 .../PropertyLayoutCssClassMetaAnnotation.java      |  19 -
 .../PropertyLayoutCssClassVm-description.adoc      | 110 ++++-
 .../cssClass/PropertyLayoutCssClassVm.java         |  33 +-
 .../cssClass/PropertyLayoutCssClassVm.layout.xml   |   5 +-
 ...=> PropertyLayoutCssClassVm_mixinProperty.java} |  17 +-
 ...ssClassVm_mixinPropertyWithMetaAnnotation.java} |  18 +-
 ...mixinPropertyWithMetaAnnotationOverridden.java} |  22 +-
 ...yLayoutCssClassVm_updateWithMetaAnnotation.java |  36 ++
 ...ClassVm_updateWithMetaAnnotationOverridden.java |  38 ++
 ...LayoutCssClassVm_updateWithParameterLayout.java |  37 ++
 .../describedAs/DescribedAsMetaAnnotation.java     |  25 ++
 .../PropertyLayoutDescribedAsVm-description.adoc   | 137 +++++++
 .../PropertyLayoutDescribedAsVm.java}              |  36 +-
 .../PropertyLayoutDescribedAsVm.layout.xml}        |   9 +-
 ...PropertyLayoutDescribedAsVm_mixinProperty.java} |  21 +-
 ...ribedAsVm_mixinPropertyWithMetaAnnotation.java} |  24 +-
 ...mixinPropertyWithMetaAnnotationOverridden.java} |  29 +-
 ...youtDescribedAsVm_updateWithMetaAnnotation.java |  36 ++
 ...bedAsVm_updateWithMetaAnnotationOverridden.java |  37 ++
 ...outDescribedAsVm_updateWithParameterLayout.java |  36 ++
 .../hidden/HiddenEverywhereMetaAnnotation.java     |  25 ++
 .../PropertyLayoutHiddenChildVm-description.adoc   |  50 +++
 .../hidden/PropertyLayoutHiddenChildVm.java        | 191 +++++++++
 .../PropertyLayoutHiddenChildVm.layout.xml}        |  12 +-
 ...PropertyLayoutHiddenChildVm_mixinProperty.java} |  22 +-
 .../hidden/PropertyLayoutHiddenVm-description.adoc | 168 ++++++++
 .../PropertyLayoutHiddenVm.java}                   | 109 ++---
 .../PropertyLayoutHiddenVm.layout.xml}             |  14 +-
 ...tHiddenVm_mixinPropertyWithMetaAnnotation.java} |  23 +-
 ...mixinPropertyWithMetaAnnotationOverridden.java} |  30 +-
 .../PropertyLayoutHiddenVm_returnsChildren.java    |  29 ++
 .../PropertyLayoutMultiLineVm-description.adoc     |  58 ++-
 .../multiLine/PropertyLayoutMultiLineVm.java       |  44 +-
 .../multiLine/PropertyLayoutMultiLineVm.layout.xml |   7 +-
 .../PropertyLayoutMultiLineVm_mixinProperty.java}  |  22 +-
 ...ltiLineVm_mixinPropertyWithMetaAnnotation.java} |  23 +-
 ...mixinPropertyWithMetaAnnotationOverridden.java} |  28 +-
 ...LayoutMultiLineVm_updateWithMetaAnnotation.java |  26 +-
 ...iLineVm_updateWithMetaAnnotationOverridden.java |  12 +-
 ...ayoutMultiLineVm_updateWithParameterLayout.java |  11 +-
 .../named/PropertyLayoutNamedVm-description.adoc   |  19 +-
 .../named/PropertyLayoutNamedVm.java               |  54 ++-
 .../named/PropertyLayoutNamedVm.layout.xml         |   8 +-
 .../PropertyLayoutNamedVm_mixinProperty.java}      |  22 +-
 ...utNamedVm_mixinPropertyWithMetaAnnotation.java} |  23 +-
 ...mixinPropertyWithMetaAnnotationOverridden.java} |  28 +-
 ...pertyLayoutNamedVm_updateWithEscapedMarkup.java |  10 +-
 .../PropertyLayoutNamedVm_updateWithMarkup.java    |  11 +-
 ...ertyLayoutNamedVm_updateWithMetaAnnotation.java |   8 +-
 ...NamedVm_updateWithMetaAnnotationOverridden.java |  11 +-
 ...rtyLayoutNamedVm_updateWithParameterLayout.java |  11 +-
 .../src/main/java/demoapp/dom/menubars.layout.xml  |   2 +
 .../src/main/resources/static/css/application.css  |  41 +-
 .../isis/testdomain/interact/InteractionTest.java  |  75 ++++
 .../interact/InteractionTestAbstract.java          |   6 +-
 .../testdomain/interact/SimulatedUiChoices.java    |   4 +-
 .../testdomain/interact/SimulatedUiComponent.java  |   6 +-
 .../testdomain/model/interaction/DemoEnum.java     |  11 +-
 .../interaction/InteractionDemo_multiEnum.java}    |  45 ++-
 .../interaction/InteractionDemo_multiInt.java      |  73 ++++
 .../model/interaction/InteractionNpmDemo.java      |   4 +
 .../viewer/javafx/ui/main/UiActionHandler.java     |   4 +-
 .../model/action/form/FormPendingParamUiModel.java |   4 +-
 .../common/model/feature/ParameterUiModel.java     |   6 +-
 .../viewer/wicket/model/models/ActionModel.java    |  78 ++--
 .../wicket/model/models/ScalarParameterModel.java  |   4 +-
 .../ajaxtable/PrototypingMessageProvider.java      |   2 +-
 ...derForReferenceParamOrPropertyAutoComplete.java |   4 +-
 .../wicket/ui/pages/bootstrap-overrides-all-v2.css |   4 +
 .../viewer/services/mementos/ObjectMementoWkt.java |   4 +-
 99 files changed, 3138 insertions(+), 595 deletions(-)
 copy core/commons/src/main/java/org/apache/isis/core/commons/binding/{ChangeListener.java => InvalidationListener.java} (86%)
 copy core/commons/src/main/java/org/apache/isis/core/commons/binding/{Bindable.java => Observable.java} (77%)
 copy core/commons/src/main/java/org/apache/isis/core/commons/binding/{ChangeListener.java => Writable.java} (88%)
 create mode 100644 core/commons/src/main/java/org/apache/isis/core/commons/internal/binding/InternalBidirectionalBinding.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/core/commons/internal/binding/InternalUtil.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/core/commons/internal/binding/_BindableAbstract.java
 copy core/commons/src/main/java/org/apache/isis/core/commons/{binding/Bindable.java => internal/binding/_Bindables.java} (54%)
 copy core/commons/src/main/java/org/apache/isis/core/commons/{binding/ChangeListener.java => internal/binding/package-info.java} (73%)
 create mode 100644 core/commons/src/test/java/org/apache/isis/core/commons/internal/binding/BindableTest.java
 rename core/metamodel/src/main/java/org/apache/isis/core/metamodel/{specloader/specimpl/PendingParameterModel.java => interactions/managed/ParameterNegotiationModel.java} (86%)
 create mode 100644 examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/cssClass/CssClassMetaAnnotation.java
 delete mode 100644 examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/cssClass/PropertyLayoutCssClassMetaAnnotation.java
 copy examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/cssClass/{PropertyLayoutCssClassVm_annotatedMixin.java => PropertyLayoutCssClassVm_mixinProperty.java} (75%)
 copy examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/cssClass/{PropertyLayoutCssClassVm_annotatedMixin.java => PropertyLayoutCssClassVm_mixinPropertyWithMetaAnnotation.java} (72%)
 copy examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/cssClass/{PropertyLayoutCssClassVm_annotatedMixin.java => PropertyLayoutCssClassVm_mixinPropertyWithMetaAnnotationOverridden.java} (64%)
 create mode 100644 examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/cssClass/PropertyLayoutCssClassVm_updateWithMetaAnnotation.java
 create mode 100644 examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/cssClass/PropertyLayoutCssClassVm_updateWithMetaAnnotationOverridden.java
 create mode 100644 examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/cssClass/PropertyLayoutCssClassVm_updateWithParameterLayout.java
 create mode 100644 examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/describedAs/DescribedAsMetaAnnotation.java
 create mode 100644 examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/describedAs/PropertyLayoutDescribedAsVm-description.adoc
 copy examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/{cssClass/PropertyLayoutCssClassVm.java => describedAs/PropertyLayoutDescribedAsVm.java} (73%)
 copy examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/{named/PropertyLayoutNamedVm.layout.xml => describedAs/PropertyLayoutDescribedAsVm.layout.xml} (85%)
 copy examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/{cssClass/PropertyLayoutCssClassVm_annotatedMixin.java => describedAs/PropertyLayoutDescribedAsVm_mixinProperty.java} (64%)
 copy examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/{cssClass/PropertyLayoutCssClassVm_annotatedMixin.java => describedAs/PropertyLayoutDescribedAsVm_mixinPropertyWithMetaAnnotation.java} (60%)
 copy examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/{cssClass/PropertyLayoutCssClassVm_annotatedMixin.java => describedAs/PropertyLayoutDescribedAsVm_mixinPropertyWithMetaAnnotationOverridden.java} (52%)
 create mode 100644 examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/describedAs/PropertyLayoutDescribedAsVm_updateWithMetaAnnotation.java
 create mode 100644 examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/describedAs/PropertyLayoutDescribedAsVm_updateWithMetaAnnotationOverridden.java
 create mode 100644 examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/describedAs/PropertyLayoutDescribedAsVm_updateWithParameterLayout.java
 create mode 100644 examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/HiddenEverywhereMetaAnnotation.java
 create mode 100644 examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenChildVm-description.adoc
 create mode 100644 examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenChildVm.java
 copy examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/{cssClass/PropertyLayoutCssClassVm.layout.xml => hidden/PropertyLayoutHiddenChildVm.layout.xml} (84%)
 copy examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/{cssClass/PropertyLayoutCssClassVm_annotatedMixin.java => hidden/PropertyLayoutHiddenChildVm_mixinProperty.java} (63%)
 create mode 100644 examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenVm-description.adoc
 copy examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/{named/PropertyLayoutNamedVm.java => hidden/PropertyLayoutHiddenVm.java} (58%)
 copy examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/{cssClass/PropertyLayoutCssClassVm.layout.xml => hidden/PropertyLayoutHiddenVm.layout.xml} (79%)
 copy examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/{cssClass/PropertyLayoutCssClassVm_annotatedMixin.java => hidden/PropertyLayoutHiddenVm_mixinPropertyWithMetaAnnotation.java} (62%)
 copy examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/{cssClass/PropertyLayoutCssClassVm_annotatedMixin.java => hidden/PropertyLayoutHiddenVm_mixinPropertyWithMetaAnnotationOverridden.java} (52%)
 create mode 100644 examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenVm_returnsChildren.java
 copy examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/{cssClass/PropertyLayoutCssClassVm_annotatedMixin.java => multiLine/PropertyLayoutMultiLineVm_mixinProperty.java} (64%)
 copy examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/{cssClass/PropertyLayoutCssClassVm_annotatedMixin.java => multiLine/PropertyLayoutMultiLineVm_mixinPropertyWithMetaAnnotation.java} (62%)
 copy examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/{cssClass/PropertyLayoutCssClassVm_annotatedMixin.java => multiLine/PropertyLayoutMultiLineVm_mixinPropertyWithMetaAnnotationOverridden.java} (53%)
 copy examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/{cssClass/PropertyLayoutCssClassVm_annotatedMixin.java => named/PropertyLayoutNamedVm_mixinProperty.java} (64%)
 copy examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/{cssClass/PropertyLayoutCssClassVm_annotatedMixin.java => named/PropertyLayoutNamedVm_mixinPropertyWithMetaAnnotation.java} (63%)
 copy examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/{cssClass/PropertyLayoutCssClassVm_annotatedMixin.java => named/PropertyLayoutNamedVm_mixinPropertyWithMetaAnnotationOverridden.java} (53%)
 copy core/commons/src/main/java/org/apache/isis/core/commons/binding/ChangeListener.java => examples/smoketests/stable/src/main/java/org/apache/isis/testdomain/model/interaction/DemoEnum.java (83%)
 rename examples/{demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/cssClass/PropertyLayoutCssClassVm_annotatedMixin.java => smoketests/stable/src/main/java/org/apache/isis/testdomain/model/interaction/InteractionDemo_multiEnum.java} (53%)
 create mode 100644 examples/smoketests/stable/src/main/java/org/apache/isis/testdomain/model/interaction/InteractionDemo_multiInt.java


[isis] 01/02: ISIS-2222: tidying up hidden for @PropertyLayout.

Posted by da...@apache.org.
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 784682fa9ca067772fe67196843de7023e573270
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Jul 15 20:20:13 2020 +0100

    ISIS-2222: tidying up hidden for @PropertyLayout.
---
 .../PropertyLayout/PropertyLayoutMenu.java         |   2 +-
 .../PropertyLayoutCssClassVm-description.adoc      |  14 +-
 .../cssClass/PropertyLayoutCssClassVm.java         |   2 +-
 .../cssClass/PropertyLayoutCssClassVm.layout.xml   |   2 +-
 .../PropertyLayoutDescribedAsVm-description.adoc   |  10 +-
 .../describedAs/PropertyLayoutDescribedAsVm.java   |   2 +-
 .../PropertyLayoutDescribedAsVm.layout.xml         |   2 +-
 .../PropertyLayoutHiddenChildVm-description.adoc   |  61 +++++-
 .../hidden/PropertyLayoutHiddenChildVm.java        |  14 +-
 .../hidden/PropertyLayoutHiddenVm-description.adoc | 221 ++++++++++++++++++++-
 .../hidden/PropertyLayoutHiddenVm.java             |  20 +-
 .../hidden/PropertyLayoutHiddenVm.layout.xml       |   9 +-
 ...tHiddenVm_mixinPropertyWithMetaAnnotation.java} |   6 +-
 ...mixinPropertyWithMetaAnnotationOverridden.java} |  10 +-
 .../PropertyLayoutMultiLineVm-description.adoc     |  10 +-
 .../multiLine/PropertyLayoutMultiLineVm.layout.xml |   2 +-
 .../named/PropertyLayoutNamedVm-description.adoc   |   6 +-
 .../named/PropertyLayoutNamedVm.layout.xml         |   2 +-
 ..._mixinPropertyWithMetaAnnotationOverridden.java |   4 +-
 .../src/main/resources/static/css/application.css  |  41 +++-
 .../wicket/ui/pages/bootstrap-overrides-all-v2.css |   4 +
 21 files changed, 383 insertions(+), 61 deletions(-)

diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/PropertyLayoutMenu.java b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/PropertyLayoutMenu.java
index c7304ec..fd043e8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/PropertyLayoutMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/PropertyLayoutMenu.java
@@ -49,7 +49,7 @@ public class PropertyLayoutMenu {
 
     @Action(semantics = SemanticsOf.SAFE)
     public PropertyLayoutHiddenVm hidden() {
-        val vm = new PropertyLayoutHiddenVm("value");
+        val vm = new PropertyLayoutHiddenVm();
         vm.getChildren().add(new PropertyLayoutHiddenChildVm("child 1", vm));
         vm.getChildren().add(new PropertyLayoutHiddenChildVm("child 2", vm));
         vm.getChildren().add(new PropertyLayoutHiddenChildVm("child 3", vm));
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/cssClass/PropertyLayoutCssClassVm-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/cssClass/PropertyLayoutCssClassVm-description.adoc
index 5388918..78f59bf 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/cssClass/PropertyLayoutCssClassVm-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/cssClass/PropertyLayoutCssClassVm-description.adoc
@@ -1,4 +1,4 @@
-The "cssClass" hint indicates that the `<div>` containing the property or parameter component within the UI should set the specified CSS class:
+The `cssClass` hint indicates that the `<div>` containing the property or parameter component within the UI should set the specified CSS class:
 
 * for properties, the hint can be specified using either the `@PropertyLayout` annotation, or a meta-annotation, or using the `Xxx.layout.xml` layout file.
 
@@ -6,9 +6,9 @@ The "cssClass" hint indicates that the `<div>` containing the property or parame
 
 The `application.css` file can then be used to apply styling to that CSS class
 
-== Annotation
+== Annotated
 
-The cssClass hint can be specified explicitly using an annotation:
+The `cssClass` hint can be specified explicitly using an annotation:
 
 * for properties, using `@PropertyLayout#cssClass()`:
 +
@@ -36,7 +36,7 @@ For properties (not parameters), the CSS class hint can be specified using the `
 ----
 include::PropertyLayoutCssClassVm.java[tags=layout-file]
 ----
-<.> `cssClass` attribute is _not_ present.
+<.> `cssClass` hint is _not_ present.
 
 * layout file snippet:
 +
@@ -51,7 +51,7 @@ One advantage of the layout file over the annotation is that the layout file is
 
 TIP: It is sometimes necessary to invoke the `Rebuild Metamodel` action to see this take effect.
 
-== Mixins
+== Contributed
 
 The `@PropertyLayout` can also be applied at the class-level to mixin properties:.
 
@@ -61,7 +61,7 @@ include::PropertyLayoutCssClassVm_mixinProperty.java[tags=class]
 ----
 <.> explicitly specifies the CSS class hint for the contributed property
 
-== Meta-annotations
+== Meta-annotated
 
 The CSS class hint can also be specified using a custom meta-annotation:
 
@@ -101,7 +101,7 @@ include::PropertyLayoutCssClassVm_mixinPropertyWithMetaAnnotation.java[tags=clas
 ----
 <.> hint is inherited from the meta-annotation
 
-=== Overriding Meta Annotations
+=== Meta-annotated Overridden
 
 The meta-annotation can itself be overridden:
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/cssClass/PropertyLayoutCssClassVm.java b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/cssClass/PropertyLayoutCssClassVm.java
index d4b2f10..8528ee6 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/cssClass/PropertyLayoutCssClassVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/cssClass/PropertyLayoutCssClassVm.java
@@ -56,7 +56,7 @@ public class PropertyLayoutCssClassVm implements HasAsciiDocDescription {
 //tag::annotation[]
     @Property(optionality = Optionality.OPTIONAL)
     @PropertyLayout(
-        cssClass = "red"
+        cssClass = "red"                                // <.>
         , describedAs =
             "@PropertyLayout(cssClass = \"red\")"
     )
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/cssClass/PropertyLayoutCssClassVm.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/cssClass/PropertyLayoutCssClassVm.layout.xml
index b594743..4335baa 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/cssClass/PropertyLayoutCssClassVm.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/cssClass/PropertyLayoutCssClassVm.layout.xml
@@ -17,7 +17,7 @@
 
 	<bs3:row>
 		<bs3:col span="6">
-			<cpt:fieldSet name="Annotation" id="annotation"/>
+			<cpt:fieldSet name="Annotated" id="annotation"/>
 			<cpt:fieldSet name="Layout File" id="layout-file">
 <!-- tag::layout-file[] -->
 				<cpt:property id="propertyUsingLayout" cssClass="red"/>
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/describedAs/PropertyLayoutDescribedAsVm-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/describedAs/PropertyLayoutDescribedAsVm-description.adoc
index 88b0fbc..f753670 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/describedAs/PropertyLayoutDescribedAsVm-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/describedAs/PropertyLayoutDescribedAsVm-description.adoc
@@ -6,7 +6,7 @@ The description of a property or parameter is used as the tooltip of the field i
 
 
 
-== Annotation
+== Annotated
 
 The description can be specified explicitly using an annotation:
 
@@ -36,7 +36,7 @@ For properties (not parameters), the description can be specified using the `Xxx
 ----
 include::PropertyLayoutDescribedAsVm.java[tags=layout-file]
 ----
-<.> `describedAs` attribute is _not_ present.
+<.> `describedAs` hint is _not_ present.
 
 * layout file snippet:
 +
@@ -53,7 +53,7 @@ One advantage of the layout file over the annotation is that the layout file is
 
 TIP: It is sometimes necessary to invoke the `Rebuild Metamodel` action to see this take effect.
 
-== Mixins
+== Contributed
 
 The `@PropertyLayout` can also be applied at the class-level to mixin properties:.
 
@@ -63,7 +63,7 @@ include::PropertyLayoutDescribedAsVm_mixinProperty.java[tags=class]
 ----
 <.> explicitly specifies the description of the contributed property
 
-== Meta-annotations
+== Meta-annotated
 
 The name can also be specified using a custom meta-annotation:
 
@@ -103,7 +103,7 @@ include::PropertyLayoutDescribedAsVm_mixinPropertyWithMetaAnnotation.java[tags=c
 ----
 <.> hint is inherited from the meta-annotation
 
-=== Overriding Meta Annotations
+=== Meta-annotated Overridden
 
 The meta-annotation can itself be overridden:
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/describedAs/PropertyLayoutDescribedAsVm.java b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/describedAs/PropertyLayoutDescribedAsVm.java
index 7557518..8f27034 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/describedAs/PropertyLayoutDescribedAsVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/describedAs/PropertyLayoutDescribedAsVm.java
@@ -56,7 +56,7 @@ public class PropertyLayoutDescribedAsVm implements HasAsciiDocDescription {
 //tag::annotation[]
     @Property(optionality = Optionality.OPTIONAL)
     @PropertyLayout(
-        describedAs =
+        describedAs =                                   // <.>
             "@PropertyLayout(describedAs= \"...\")"
     )
     @MemberOrder(name = "annotation", sequence = "1")
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/describedAs/PropertyLayoutDescribedAsVm.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/describedAs/PropertyLayoutDescribedAsVm.layout.xml
index 8de0e09..e5f02fb 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/describedAs/PropertyLayoutDescribedAsVm.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/describedAs/PropertyLayoutDescribedAsVm.layout.xml
@@ -17,7 +17,7 @@
 
 	<bs3:row>
 		<bs3:col span="6">
-			<cpt:fieldSet name="Annotation" id="annotation"/>
+			<cpt:fieldSet name="Annotated" id="annotation"/>
 			<cpt:fieldSet name="Layout File" id="layout-file">
 <!-- tag::layout-file[] -->
 				<cpt:property id="propertyUsingLayout">
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenChildVm-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenChildVm-description.adoc
index 30404ce..c62a908 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenChildVm-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenChildVm-description.adoc
@@ -1 +1,60 @@
-TODO
\ No newline at end of file
+This (child) object displays the visibility of variations of the `hidden` hint.
+
+
+
+.Hidden Variants
+[cols="^1m,2a,2a",options=header,frame="all"]
+|===
+^| Where
+^| This (child) object
+^| Notes
+
+| NOWHERE
+| * propertyHidden +
+Nowhere
+| Visible at all times
+
+| EVERYWHERE
+| * property +
+HiddenEverywhere
+
+| Should not be visible at all.
+
+| ANYWHERE
+| * property +
+HiddenAnywhere
+| Should not be visible at all +
+(synonym for EVERYWHERE)
+
+| ALL_TABLES
+| * propertyHidden +
+AllTables
+| Visible in the object form, but _not_ visible in the child collection nor in the standalone list returned by the action.
+
+| OBJECT_FORMS
+| * propertyHidden +
+ObjectForms
+| Visible in collections, but _not_ in the object's detail.
+
+| STANDALONE_TABLES
+| * propertyHidden +
+StandaloneTables
+| Visible in the object form and collection, but _not_ in the standalone list returned by the action.
+
+| ALL_EXCEPT_ +
+STANDALONE_TABLES
+| * propertyHidden +
+AllExceptStandaloneTables
+| Visible only in the standalone list returned by the action.
+
+| PARENTED_TABLES
+| * propertyHidden +
+ParentedTables
+| Visible everywhere _except_ in the collection.
+
+| REFERENCES_PARENT
+| * propertyHidden +
+ReferencesParent
+| Visible everywhere _except_ in the collection, where the type of the property is the referencing parent object.
+
+|===
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenChildVm.java b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenChildVm.java
index f57040d..b6519fd 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenChildVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenChildVm.java
@@ -52,6 +52,7 @@ public class PropertyLayoutHiddenChildVm implements HasAsciiDocDescription {
 
     public PropertyLayoutHiddenChildVm(String value, PropertyLayoutHiddenVm parent) {
         setPropertyHiddenNowhere(value);
+        setPropertyHiddenEverywhere(value);
 
         setPropertyHiddenAllTables(value);
         setPropertyHiddenObjectForms(value);
@@ -74,10 +75,21 @@ public class PropertyLayoutHiddenChildVm implements HasAsciiDocDescription {
         , describedAs =
             "@PropertyLayout(hidden = Where.NOWHERE)"
     )
-    @MemberOrder(name = "properties", sequence = "1")
+    @MemberOrder(name = "variants", sequence = "1")
     @XmlElement(required = false)
     @Getter @Setter
     private String propertyHiddenNowhere;
+
+    @Property(optionality = Optionality.OPTIONAL)
+    @PropertyLayout(
+        hidden = Where.EVERYWHERE                        // <.>
+        , describedAs =
+            "@PropertyLayout(hidden = Where.EVERYWHERE)"
+    )
+    @MemberOrder(name = "properties", sequence = "2")
+    @XmlElement(required = false)
+    @Getter @Setter
+    private String propertyHiddenEverywhere;
 //end::annotation[]
 
 //tag::variants-all_tables[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenVm-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenVm-description.adoc
index 30404ce..dc8dcbe 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenVm-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenVm-description.adoc
@@ -1 +1,220 @@
-TODO
\ No newline at end of file
+The `hidden` hint indicates that the property should be hidden in certain contexts.
+Most commonly, this is to hide properties in tables (parented, standalone, or both).
+
+* for properties, the hint can be specified using either the `@PropertyLayout` annotation, or a meta-annotation, or using the `Xxx.layout.xml` layout file.
+
+* there is equivalent for a  parameter (though parameters can be hidden dynamically using a `hide...()` supporting method)
+
+Because some of the `hidden` variants relate to tables, this view model has a collection of child objects with those child objects annotated to show the relevant options.
+There is also an action that returns this same set of child objects as a standalone list.
+
+The table below summarises the properties of the two objects, and where they should be visible.
+
+.Hidden Variants
+[cols="^1m,2a,2a,2a",options=header,frame="all"]
+|===
+^| Where
+^| This object
+^| Child object
+^| Notes
+
+| NOWHERE
+| * propertyHidden +
+NowhereUsingAnnotation +
+* propertyHidden +
+NowhereUsingLayout +
+* propertyUsing +
+MetaAnnotation +
+ButOverridden
+
+| * propertyHidden +
+Nowhere
+| Visible at all times
+
+| EVERYWHERE
+| * property +
+HiddenEverywhere +
+* property +
+UsingMetaAnnotation
+| * property +
+HiddenEverywhere
+
+| Should not be visible at all.
+
+| ANYWHERE
+| * property +
+HiddenAnywhere
+|
+| Should not be visible at all +
+(synonym for EVERYWHERE)
+
+| ALL_TABLES
+|
+| * propertyHidden +
+AllTables
+| Visible in the object form, but _not_ visible in the child collection nor in the standalone list returned by the action.
+
+| OBJECT_FORMS
+|
+| * propertyHidden +
+ObjectForms
+| Visible in collections, but _not_ in the object's detail.
+
+| STANDALONE_TABLES
+|
+| * propertyHidden +
+StandaloneTables
+| Visible in the object form and collection, but _not_ in the standalone list returned by the action.
+
+| ALL_EXCEPT_ +
+STANDALONE_TABLES
+|
+| * propertyHidden +
+AllExceptStandaloneTables
+| Visible only in the standalone list returned by the action.
+
+| PARENTED_TABLES
+|
+| * propertyHidden +
+ParentedTables
+| Visible everywhere _except_ in the collection.
+
+| REFERENCES_PARENT
+|
+| * propertyHidden +
+ReferencesParent
+| Visible everywhere _except_ in the collection, where the type of the property is the referencing parent object.
+
+|===
+
+
+== Annotated
+
+The `hidden` hint can be specified explicitly using an annotation:
+
+* for properties, using `@PropertyLayout#hidden()`:
++
+[source,java,indent=0]
+----
+include::PropertyLayoutHiddenVm.java[tags=annotation]
+----
+<.> explicitly indicate that the property should be visible in all contexts.
+
+Note that there is no equivalent for `@ParameterLayout`.
+
+== Layout File
+
+For properties (not parameters), the `hidden` hint can be specified using the `Xxx.layout.xml` file:
+
+* property definition:
++
+[source,java,indent=0]
+----
+include::PropertyLayoutHiddenVm.java[tags=layout-file]
+----
+<.> `hidden` hint is _not_ present.
+
+* layout file snippet:
++
+[source,xml,indent=0,tabsize=4]
+----
+<cpt:property id="propertyHiddenNowhereUsingLayout" hidden="NOWHERE"/>
+----
+
+One advantage of the layout file over the annotation is that the layout file is dynamic: it can be modified and the changes reloaded in a running application.
+
+TIP: It is sometimes necessary to invoke the `Rebuild Metamodel` action to see this take effect.
+
+== Variants
+
+As the table above outlined, the `hidden` species the the context ("where") the property is to be hidden.
+
+This (parent) object has two variants:
+
+* Everywhere:
++
+[source,java,indent=0]
+----
+include::PropertyLayoutHiddenVm.java[tags=variants-everywhere]
+----
+
+* Anywhere:
++
+[source,java,indent=0]
+----
+include::PropertyLayoutHiddenVm.java[tags=variants-anywhere]
+----
+
+Neither of these properties should be visible in the UI.
+
+
+== Meta-annotated
+
+The `hidden` hint can also be specified using a custom meta-annotation:
+
+* the meta-annotation is defined as:
++
+[source,java]
+----
+include::HiddenEverywhereMetaAnnotation.java[tags=class]
+----
+<.> annotated for property .
+<.> annotation can be applied to a property (either its getter or the field directly)
+<.> annotation can be applied to a parameter
+<.> annotation can be applied to a type (ie, meta-meta annotations recursively)
+
+* and can be applied to a property:
++
+[source,java,indent=0]
+----
+include::PropertyLayoutHiddenVm.java[tags=meta-annotated]
+----
+<.> hint is inherited from the meta-annotation
+
+* or can be applied to mixin:
++
+[source,java,indent=0]
+----
+include::PropertyLayoutHiddenVm_mixinPropertyWithMetaAnnotation.java[tags=class]
+----
+<.> hint is inherited from the meta-annotation
+
+Neither of these properties should be visible in the UI.
+
+=== Meta-annotated Overridden
+
+The meta-annotation can itself be overridden:
+
+* in a property:
++
+[source,java,indent=0]
+----
+include::PropertyLayoutHiddenVm.java[tags=meta-annotated-overridden]
+----
+<.> hint from meta-annotation ...
+<.> \... is overridden by the `@PropertyLayout` annotation
+
+
+* or a mixin:
++
+[source,java,indent=0]
+----
+include::PropertyLayoutHiddenVm_mixinPropertyWithMetaAnnotationOverridden.java[tags=meta-annotation-overridden]
+----
+<.> hint from meta-annotation ...
+<.> \... is overridden by the `@ParameterLayout` annotation
+
+In both cases, even though the meta-annotation indicates that the property should be hidden everywhere, the override indicates that they should be hidden nowhere.
+Both properties should therefore be visible in the UI.
+
+== Children
+
+The `children` collection illustrates the visibility of the child objects' properties when viewed in a collection:
+
+* the `propertyHiddenObjectForms` property is visible as a column in the collection, but won't be visible in the object's page itself
+
+* the `propertyHiddenStandalone` property similarly is visible here, but won't be visible in the standalone list returned by the "returns children" action
+
+* the `propertyHiddenNowhere` property similar is visible here, and will also be visible on the object's page.
+
+The child object has a number of other properties, each using a different `hidden` variant; click through to inspect.
\ No newline at end of file
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenVm.java b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenVm.java
index b359789..ccda128 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenVm.java
@@ -56,17 +56,6 @@ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
 @NoArgsConstructor
 public class PropertyLayoutHiddenVm implements HasAsciiDocDescription {
 
-    public PropertyLayoutHiddenVm(String value) {
-        setPropertyHiddenNowhereUsingAnnotation(value);
-        setPropertyHiddenNowhereUsingLayout(value);
-
-        setPropertyUsingMetaAnnotation(value);
-        setPropertyUsingMetaAnnotationButOverridden(value);
-
-        setPropertyHiddenAnywhere(value);
-        setPropertyHiddenEverywhere(value);
-    }
-
     public String title() {
         return "PropertyLayout#hidden";
     }
@@ -89,7 +78,6 @@ public class PropertyLayoutHiddenVm implements HasAsciiDocDescription {
     @PropertyLayout(                                        // <.>
         describedAs =
             "<cpt:property id=\"...\" hidden=\"NOWHERE\"/>"
-        , hidden = Where.ALL_TABLES
     )
     @MemberOrder(name = "layout-file", sequence = "1")
     @XmlElement(required = false)
@@ -108,7 +96,7 @@ public class PropertyLayoutHiddenVm implements HasAsciiDocDescription {
     @XmlElement(required = false)
     @Getter @Setter
     private String propertyHiddenEverywhere;
-//end::variants-annotation[]
+//end::variants-everywhere[]
 
 //tag::variants-anywhere[]
     @Property(optionality = Optionality.OPTIONAL)
@@ -135,7 +123,7 @@ public class PropertyLayoutHiddenVm implements HasAsciiDocDescription {
     @Property(optionality = Optionality.OPTIONAL)
     @HiddenEverywhereMetaAnnotation                        // <.>
     @PropertyLayout(
-        describedAs = "@HiddenAllTablesMetaAnnotation"
+        describedAs = "@HiddenEverywhereMetaAnnotation"
     )
     @MemberOrder(name = "meta-annotated", sequence = "1")
     @XmlElement(required = false)
@@ -147,9 +135,9 @@ public class PropertyLayoutHiddenVm implements HasAsciiDocDescription {
     @Property(optionality = Optionality.OPTIONAL)
     @HiddenEverywhereMetaAnnotation                     // <.>
     @PropertyLayout(
-        hidden = Where.NOWHERE                         // <.>
+        hidden = Where.NOWHERE                          // <.>
         , describedAs =
-            "@HiddenAllTablesMetaAnnotation " +
+            "@HiddenEverywhereMetaAnnotation " +
             "@PropertyLayout(hidden = Where.NOWHERE)"
     )
     @MemberOrder(name = "meta-annotated", sequence = "2")
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenVm.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenVm.layout.xml
index 88cabce..7de15fa 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenVm.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenVm.layout.xml
@@ -9,7 +9,6 @@
 	<bs3:row>
 		<bs3:col span="10" unreferencedActions="true">
 			<cpt:domainObject />
-			<cpt:action id="returnsStandaloneList"/>
 			<cpt:action id="rebuildMetamodel"/>
 		</bs3:col>
 		<bs3:col span="2">
@@ -19,9 +18,9 @@
 
 	<bs3:row>
 		<bs3:col span="6">
-			<cpt:fieldSet name="Annotation" id="annotation"/>
+			<cpt:fieldSet name="Annotated" id="annotation"/>
 			<cpt:fieldSet name="Layout File" id="layout-file">
-			<!-- tag::layout-file[] -->
+<!-- tag::layout-file[] -->
 				<cpt:property id="propertyHiddenNowhereUsingLayout" hidden="NOWHERE"/>
 <!-- end::layout-file[] -->
 			</cpt:fieldSet>
@@ -30,7 +29,9 @@
 			<cpt:fieldSet name="Meta-annotated" id="meta-annotated"/>
 			<cpt:fieldSet name="Meta-annotated Overridden" id="meta-annotated-overridden"/>
 			<cpt:fieldSet name="Other" id="other" unreferencedProperties="true"/>
-			<cpt:collection id="children"/>
+			<cpt:collection id="children">
+				<cpt:action id="returnsChildren"/>
+			</cpt:collection>
 		</bs3:col>
 		<bs3:col span="6">
 			<cpt:fieldSet name="Description" id="description" >
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenChildVm_mixinPropertyWithMetaAnnotation.java b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenVm_mixinPropertyWithMetaAnnotation.java
similarity index 86%
rename from examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenChildVm_mixinPropertyWithMetaAnnotation.java
rename to examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenVm_mixinPropertyWithMetaAnnotation.java
index 7f77a0a..4b15892 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenChildVm_mixinPropertyWithMetaAnnotation.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenVm_mixinPropertyWithMetaAnnotation.java
@@ -32,15 +32,15 @@ import lombok.RequiredArgsConstructor;
         "@HiddenEverywhereMetaAnnotation"
 )
 @RequiredArgsConstructor
-public class PropertyLayoutHiddenChildVm_mixinPropertyWithMetaAnnotation {
+public class PropertyLayoutHiddenVm_mixinPropertyWithMetaAnnotation {
     // ...
 //end::class[]
 
-    private final PropertyLayoutHiddenChildVm propertyLayoutHiddenChildVm;
+    private final PropertyLayoutHiddenVm propertyLayoutHiddenVm;
 
     @MemberOrder(name = "meta-annotated", sequence = "2")
     public String prop() {
-        return propertyLayoutHiddenChildVm.getPropertyHiddenNowhere();
+        return propertyLayoutHiddenVm.getPropertyHiddenNowhereUsingAnnotation();
     }
 
 //tag::class[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenChildVm_mixinPropertyWithMetaAnnotationOverridden.java b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenVm_mixinPropertyWithMetaAnnotationOverridden.java
similarity index 82%
rename from examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenChildVm_mixinPropertyWithMetaAnnotationOverridden.java
rename to examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenVm_mixinPropertyWithMetaAnnotationOverridden.java
index 3829b22..6ca8903 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenChildVm_mixinPropertyWithMetaAnnotationOverridden.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenVm_mixinPropertyWithMetaAnnotationOverridden.java
@@ -29,21 +29,21 @@ import lombok.RequiredArgsConstructor;
 @Property()
 @HiddenEverywhereMetaAnnotation                 // <.>
 @PropertyLayout(
-    hidden = Where.ALL_TABLES                   // <.>
+    hidden = Where.NOWHERE                   // <.>
     , describedAs =
         "@HiddenEverywhereMetaAnnotation " +
-        "@PropertyLayout(hidden = ALL_TABLES)"
+        "@PropertyLayout(hidden = NOWHERE)"
 )
 @RequiredArgsConstructor
-public class PropertyLayoutHiddenChildVm_mixinPropertyWithMetaAnnotationOverridden {
+public class PropertyLayoutHiddenVm_mixinPropertyWithMetaAnnotationOverridden {
     // ...
 //end::meta-annotation-overridden[]
 
-    private final PropertyLayoutHiddenChildVm propertyLayoutHiddenChildVm;
+    private final PropertyLayoutHiddenVm propertyLayoutHiddenVm;
 
     @MemberOrder(name = "meta-annotated-overridden", sequence = "2")
     public String prop() {
-        return propertyLayoutHiddenChildVm.getPropertyHiddenNowhere();
+        return propertyLayoutHiddenVm.getPropertyHiddenNowhereUsingAnnotation();
     }
 
 //tag::meta-annotation-overridden[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/multiLine/PropertyLayoutMultiLineVm-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/multiLine/PropertyLayoutMultiLineVm-description.adoc
index 50ae7ec..5507f93 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/multiLine/PropertyLayoutMultiLineVm-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/multiLine/PropertyLayoutMultiLineVm-description.adoc
@@ -6,7 +6,7 @@ The "multiLine" hint indicates that a textbox of the specified number of lines s
 
 The hint is currently supported only for properties and parameters of type ``String``s.
 
-== Annotation
+== Annotated
 
 The multiline hint can be specified explicitly using an annotation:
 
@@ -36,7 +36,7 @@ For properties (not parameters), the multiline hint can be specified using the `
 ----
 include::PropertyLayoutMultiLineVm.java[tags=layout-file]
 ----
-<.> `multiLine` attribute is _not_ present.
+<.> `multiLine` hint is _not_ present.
 
 * layout file snippet:
 +
@@ -51,7 +51,7 @@ One advantage of the layout file over the annotation is that the layout file is
 
 TIP: It is sometimes necessary to invoke the `Rebuild Metamodel` action to see this take effect.
 
-== Mixins
+== Contributed
 
 The `@PropertyLayout` can also be applied at the class-level to mixin properties:.
 
@@ -61,7 +61,7 @@ include::PropertyLayoutMultiLineVm_mixinProperty.java[tags=class]
 ----
 <.> explicitly specifies that the contributed property should use a textbox
 
-== Meta-annotations
+== Meta-annotated
 
 The multiline hint can also be specified using a custom meta-annotation:
 
@@ -101,7 +101,7 @@ include::PropertyLayoutMultiLineVm_mixinPropertyWithMetaAnnotation.java[tags=cla
 ----
 <.> hint is inherited from the meta-annotation
 
-=== Overriding Meta Annotations
+=== Meta-annotated Overridden
 
 The meta-annotation can itself be overridden:
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/multiLine/PropertyLayoutMultiLineVm.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/multiLine/PropertyLayoutMultiLineVm.layout.xml
index a07f348..1d61b4a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/multiLine/PropertyLayoutMultiLineVm.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/multiLine/PropertyLayoutMultiLineVm.layout.xml
@@ -17,7 +17,7 @@
 
 	<bs3:row>
 		<bs3:col span="6">
-			<cpt:fieldSet name="Annotation" id="annotation"/>
+			<cpt:fieldSet name="Annotated" id="annotation"/>
 			<cpt:fieldSet name="Layout File" id="layout-file">
 <!-- tag::layout-file[] -->
 				<cpt:property id="propertyUsingLayout" multiLine="5"/>
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/named/PropertyLayoutNamedVm-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/named/PropertyLayoutNamedVm-description.adoc
index 032a6f5..8caa5ec 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/named/PropertyLayoutNamedVm-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/named/PropertyLayoutNamedVm-description.adoc
@@ -12,7 +12,7 @@ Names can also include HTML markup.
 This can optionally be escaped.
 
 
-== Annotation
+== Annotated
 
 The name can be specified explicitly using an annotation:
 
@@ -42,7 +42,7 @@ For properties (not parameters), the name can be specified using the `Xxx.layout
 ----
 include::PropertyLayoutNamedVm.java[tags=layout-file]
 ----
-<.> `named` attribute is _not_ present.
+<.> `named` hint is _not_ present.
 
 * layout file snippet:
 +
@@ -59,7 +59,7 @@ One advantage of the layout file over the annotation is that the layout file is
 
 TIP: It is sometimes necessary to invoke the `Rebuild Metamodel` action to see this take effect.
 
-== Meta-annotations
+== Meta-annotated
 
 The name can also be specified using a custom meta-annotation:
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/named/PropertyLayoutNamedVm.layout.xml b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/named/PropertyLayoutNamedVm.layout.xml
index 600c8d4..d3edc91 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/named/PropertyLayoutNamedVm.layout.xml
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/named/PropertyLayoutNamedVm.layout.xml
@@ -17,7 +17,7 @@
 
 	<bs3:row>
 		<bs3:col span="6">
-			<cpt:fieldSet name="Annotation" id="annotation"/>
+			<cpt:fieldSet name="Annotated" id="annotation"/>
 			<cpt:fieldSet name="Layout File" id="layout-file">
 <!-- tag::layout-file[] -->
 				<cpt:property id="propertyUsingLayout">
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/named/PropertyLayoutNamedVm_mixinPropertyWithMetaAnnotationOverridden.java b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/named/PropertyLayoutNamedVm_mixinPropertyWithMetaAnnotationOverridden.java
index 31adc9d..c254848 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/named/PropertyLayoutNamedVm_mixinPropertyWithMetaAnnotationOverridden.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/named/PropertyLayoutNamedVm_mixinPropertyWithMetaAnnotationOverridden.java
@@ -26,9 +26,9 @@ import lombok.RequiredArgsConstructor;
 
 //tag::meta-annotation-overridden[]
 @Property()
-@NamedMetaAnnotation                        // <.>
+@NamedMetaAnnotation                                                // <.>
 @PropertyLayout(
-    named = "Mixin name overridden"         // <.>
+    named = "@PropertyLayout overrides meta-annotation for mixin"   // <.>
     , describedAs =
         "@NamedMetaAnnotation @PropertyLayout(...)"
 )
diff --git a/examples/demo/domain/src/main/resources/static/css/application.css b/examples/demo/domain/src/main/resources/static/css/application.css
index 29d28ec..a20b144 100644
--- a/examples/demo/domain/src/main/resources/static/css/application.css
+++ b/examples/demo/domain/src/main/resources/static/css/application.css
@@ -209,4 +209,43 @@ div.paragraph a.a-has-code:hover {
 
 div.sectionbody > div.ulist > ul {
     margin-left: -23px;
-}
\ No newline at end of file
+}
+
+header.navbar-fixed-top {
+    position: sticky;
+}
+
+table.tableblock .halign-center {
+    text-align: center;
+}
+
+table.tableblock .valign-top {
+    vertical-align: top;
+}
+
+table.tableblock td.tableblock > div.content > div.ulist > ul {
+    padding-inline-start: 20px;
+}
+
+table.tableblock > thead > tr > th.halign-center {
+    padding-top: 10px;
+    padding-bottom: 10px;
+}
+
+table.tableblock > tbody > tr.tableblock  {
+    padding: 10px;
+}
+
+table.tableblock.grid-all,
+table.tableblock.grid-all th.tableblock,
+table.tableblock.grid-all td.tableblock {
+    border: 1px solid #ddddd8;
+}
+
+table.tableblock.grid-all th.tableblock {
+    background-color: #eeeee8;
+}
+
+table.tableblock.grid-all td.tableblock {
+    padding: 5px;
+}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides-all-v2.css b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides-all-v2.css
index 043e6f5..614f9e4 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides-all-v2.css
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/bootstrap-overrides-all-v2.css
@@ -33,6 +33,10 @@ body {
     margin-bottom: 0px;
 }
 
+header.navbar-fixed-top {
+    position: sticky;
+}
+
 .navbar-fixed-top {
     position: initial;
     right: initial;


[isis] 02/02: ISIS-2222: tidying up hidden for @PropertyLayout.

Posted by da...@apache.org.
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 0e6b0a12090f980997ae2bc98545c010f61386db
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Jul 15 20:29:44 2020 +0100

    ISIS-2222: tidying up hidden for @PropertyLayout.
---
 .../PropertyLayoutHiddenChildVm-description.adoc   |  30 ++----
 .../hidden/PropertyLayoutHiddenChildVm.java        |  22 ++++-
 .../hidden/PropertyLayoutHiddenVm-description.adoc | 110 ++++++---------------
 3 files changed, 58 insertions(+), 104 deletions(-)

diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenChildVm-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenChildVm-description.adoc
index c62a908..b9acb0d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenChildVm-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenChildVm-description.adoc
@@ -1,60 +1,50 @@
 This (child) object displays the visibility of variations of the `hidden` hint.
 
 
-
 .Hidden Variants
-[cols="^1m,2a,2a",options=header,frame="all"]
+[cols="^1m,<2m,2a",options=header,frame="all"]
 |===
 ^| Where
 ^| This (child) object
 ^| Notes
 
 | NOWHERE
-| * propertyHidden +
-Nowhere
+| propertyHiddenNowhere
 | Visible at all times
 
 | EVERYWHERE
-| * property +
-HiddenEverywhere
+| propertyHiddenEverywhere
 
 | Should not be visible at all.
 
 | ANYWHERE
-| * property +
-HiddenAnywhere
+| propertyHiddenAnywhere
 | Should not be visible at all +
 (synonym for EVERYWHERE)
 
 | ALL_TABLES
-| * propertyHidden +
-AllTables
+| propertyHiddenAllTables
 | Visible in the object form, but _not_ visible in the child collection nor in the standalone list returned by the action.
 
 | OBJECT_FORMS
-| * propertyHidden +
-ObjectForms
+| propertyHiddenObjectForms
 | Visible in collections, but _not_ in the object's detail.
 
 | STANDALONE_TABLES
-| * propertyHidden +
-StandaloneTables
+| propertyHiddenStandaloneTables
 | Visible in the object form and collection, but _not_ in the standalone list returned by the action.
 
 | ALL_EXCEPT_ +
 STANDALONE_TABLES
-| * propertyHidden +
-AllExceptStandaloneTables
+| propertyHiddenAllExceptStandaloneTables
 | Visible only in the standalone list returned by the action.
 
 | PARENTED_TABLES
-| * propertyHidden +
-ParentedTables
+| propertyHiddenParentedTables
 | Visible everywhere _except_ in the collection.
 
 | REFERENCES_PARENT
-| * propertyHidden +
-ReferencesParent
+| propertyHiddenReferencesParent
 | Visible everywhere _except_ in the collection, where the type of the property is the referencing parent object.
 
 |===
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenChildVm.java b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenChildVm.java
index b6519fd..f2c2bad 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenChildVm.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenChildVm.java
@@ -53,6 +53,7 @@ public class PropertyLayoutHiddenChildVm implements HasAsciiDocDescription {
     public PropertyLayoutHiddenChildVm(String value, PropertyLayoutHiddenVm parent) {
         setPropertyHiddenNowhere(value);
         setPropertyHiddenEverywhere(value);
+        setPropertyHiddenAnywhere(value);
 
         setPropertyHiddenAllTables(value);
         setPropertyHiddenObjectForms(value);
@@ -68,7 +69,7 @@ public class PropertyLayoutHiddenChildVm implements HasAsciiDocDescription {
         return "PropertyLayout#hidden (child object)";
     }
 
-//tag::annotation[]
+//tag::variants-nowhere[]
     @Property(optionality = Optionality.OPTIONAL)
     @PropertyLayout(
         hidden = Where.NOWHERE                           // <.>
@@ -79,18 +80,33 @@ public class PropertyLayoutHiddenChildVm implements HasAsciiDocDescription {
     @XmlElement(required = false)
     @Getter @Setter
     private String propertyHiddenNowhere;
+//end::variants-nowhere[]
 
+//tag::variants-everywhere[]
     @Property(optionality = Optionality.OPTIONAL)
     @PropertyLayout(
         hidden = Where.EVERYWHERE                        // <.>
         , describedAs =
             "@PropertyLayout(hidden = Where.EVERYWHERE)"
     )
-    @MemberOrder(name = "properties", sequence = "2")
+    @MemberOrder(name = "variants", sequence = "2")
     @XmlElement(required = false)
     @Getter @Setter
     private String propertyHiddenEverywhere;
-//end::annotation[]
+//end::variants-everywhere[]
+
+//tag::variants-anywhere[]
+    @Property(optionality = Optionality.OPTIONAL)
+    @PropertyLayout(
+        hidden = Where.ANYWHERE                        // <.>
+        , describedAs =
+            "@PropertyLayout(hidden = Where.ANYWHERE)"
+    )
+    @MemberOrder(name = "variants", sequence = "2.1")
+    @XmlElement(required = false)
+    @Getter @Setter
+    private String propertyHiddenAnywhere;
+//end::variants-everywhere[]
 
 //tag::variants-all_tables[]
     @Property(optionality = Optionality.OPTIONAL)
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenVm-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenVm-description.adoc
index dc8dcbe..0da257e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenVm-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/annotations/PropertyLayout/hidden/PropertyLayoutHiddenVm-description.adoc
@@ -8,85 +8,6 @@ Most commonly, this is to hide properties in tables (parented, standalone, or bo
 Because some of the `hidden` variants relate to tables, this view model has a collection of child objects with those child objects annotated to show the relevant options.
 There is also an action that returns this same set of child objects as a standalone list.
 
-The table below summarises the properties of the two objects, and where they should be visible.
-
-.Hidden Variants
-[cols="^1m,2a,2a,2a",options=header,frame="all"]
-|===
-^| Where
-^| This object
-^| Child object
-^| Notes
-
-| NOWHERE
-| * propertyHidden +
-NowhereUsingAnnotation +
-* propertyHidden +
-NowhereUsingLayout +
-* propertyUsing +
-MetaAnnotation +
-ButOverridden
-
-| * propertyHidden +
-Nowhere
-| Visible at all times
-
-| EVERYWHERE
-| * property +
-HiddenEverywhere +
-* property +
-UsingMetaAnnotation
-| * property +
-HiddenEverywhere
-
-| Should not be visible at all.
-
-| ANYWHERE
-| * property +
-HiddenAnywhere
-|
-| Should not be visible at all +
-(synonym for EVERYWHERE)
-
-| ALL_TABLES
-|
-| * propertyHidden +
-AllTables
-| Visible in the object form, but _not_ visible in the child collection nor in the standalone list returned by the action.
-
-| OBJECT_FORMS
-|
-| * propertyHidden +
-ObjectForms
-| Visible in collections, but _not_ in the object's detail.
-
-| STANDALONE_TABLES
-|
-| * propertyHidden +
-StandaloneTables
-| Visible in the object form and collection, but _not_ in the standalone list returned by the action.
-
-| ALL_EXCEPT_ +
-STANDALONE_TABLES
-|
-| * propertyHidden +
-AllExceptStandaloneTables
-| Visible only in the standalone list returned by the action.
-
-| PARENTED_TABLES
-|
-| * propertyHidden +
-ParentedTables
-| Visible everywhere _except_ in the collection.
-
-| REFERENCES_PARENT
-|
-| * propertyHidden +
-ReferencesParent
-| Visible everywhere _except_ in the collection, where the type of the property is the referencing parent object.
-
-|===
-
 
 == Annotated
 
@@ -127,9 +48,36 @@ TIP: It is sometimes necessary to invoke the `Rebuild Metamodel` action to see t
 
 == Variants
 
-As the table above outlined, the `hidden` species the the context ("where") the property is to be hidden.
+The table below lists the properties of this object, and the context (if any) in which it should be visible.
+
+NOTE: there are other variants, the child object has all possible variants.
+
+.Hidden Variants
+[cols="^1m,2m,2a",options=header,frame="all"]
+|===
+^| Where
+^| This object
+^| Notes
+
+| NOWHERE
+| propertyHiddenNowhereUsingAnnotation
+propertyHiddenNowhereUsingLayout
+propertyUsingMetaAnnotationButOverridden
+| Visible at all times
+
+| EVERYWHERE
+| propertyHiddenEverywhere
+propertyUsingMetaAnnotation
+| Should not be visible at all.
+
+| ANYWHERE
+| propertyHiddenAnywhere
+| Should not be visible at all +
+(synonym for EVERYWHERE)
+
+|===
 
-This (parent) object has two variants:
+The source for the `propertyHiddenNowhereUsingAnnotation` property is quoted above; but the other two properties are:
 
 * Everywhere:
 +