This is an automated email from the ASF dual-hosted git repository. danhaywood pushed a commit to branch CAUSEWAY-2485 in repository https://gitbox.apache.org/repos/asf/causeway.git
commit 2c5107bf900ee92687044bc7a6d4213b9aa9cd12 Author: danhaywood <[email protected]> AuthorDate: Tue Apr 4 18:47:54 2023 +0100 CAUSEWAY-2485: completes @DomainObjectLayout#describedAs --- .../src/main/java/demoapp/dom/DemoModuleJpa.java | 2 ++ .../describedAs/DomainObjectLayoutDescribedAs.java | 4 +++- ...omainObjectLayoutDescribedAsPage-description.adoc | 20 +++++++++++++++++--- ...DomainObjectLayoutDescribedAsJpa-description.adoc | 5 +++-- .../DomainObjectLayoutNamedPage-description.adoc | 1 + .../DomainObjectLayoutPagedPage-description.adoc | 2 ++ ...inObjectLayoutTableDecoratorPage-description.adoc | 3 ++- ...DomainObjectLayoutXxxUiEventPage-description.adoc | 8 ++++++++ .../jpa/DomainObjectLayoutXxxUiEventJpa.java | 2 +- 9 files changed, 39 insertions(+), 8 deletions(-) diff --git a/examples/demo/domain/src/main/java/demoapp/dom/DemoModuleJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/DemoModuleJpa.java index f5661c24eb..d84de66069 100644 --- a/examples/demo/domain/src/main/java/demoapp/dom/DemoModuleJpa.java +++ b/examples/demo/domain/src/main/java/demoapp/dom/DemoModuleJpa.java @@ -39,6 +39,7 @@ import demoapp.dom.domain.objects.DomainObjectLayout.describedAs.jpa.DomainObjec import demoapp.dom.domain.objects.DomainObjectLayout.named.jpa.DomainObjectLayoutNamedJpa; import demoapp.dom.domain.objects.DomainObjectLayout.paged.jpa.DomainObjectLayoutPagedJpa; import demoapp.dom.domain.objects.DomainObjectLayout.tabledec.jpa.DomainObjectLayoutTableDecoratorJpa; +import demoapp.dom.domain.objects.DomainObjectLayout.xxxUiEvent.jpa.DomainObjectLayoutXxxUiEventJpa; import demoapp.dom.domain.objects.other.embedded.jpa.NumberConstantJpa; import demoapp.dom.domain.properties.Property.commandPublishing.jpa.PropertyCommandPublishingJpa; import demoapp.dom.domain.properties.Property.executionPublishing.jpa.PropertyExecutionPublishingJpa; @@ -122,6 +123,7 @@ import org.springframework.context.annotation.Profile; DomainObjectLayoutNamedJpa.class, DomainObjectLayoutPagedJpa.class, DomainObjectLayoutTableDecoratorJpa.class, + DomainObjectLayoutXxxUiEventJpa.class, CausewayBlobJpa.class, CausewayClobJpa.class, diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/describedAs/DomainObjectLayoutDescribedAs.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/describedAs/DomainObjectLayoutDescribedAs.java index ead9c4edcb..c473e2031d 100644 --- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/describedAs/DomainObjectLayoutDescribedAs.java +++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/describedAs/DomainObjectLayoutDescribedAs.java @@ -25,7 +25,9 @@ import org.apache.causeway.applib.annotation.DomainObjectLayout; //tag::class[] @DomainObjectLayout( - cssClassFa = "fa-user" // <.> + describedAs = "This tooltip corresponds to the " + // <.> + "'describedAs' attribute of the " + + "@DomainObjectLayout annotation" ) public abstract class DomainObjectLayoutDescribedAs //end::class[] diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/describedAs/DomainObjectLayoutDescribedAsPage-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/describedAs/DomainObjectLayoutDescribedAsPage-description.adoc index f479d9fda0..8ace11409b 100644 --- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/describedAs/DomainObjectLayoutDescribedAsPage-description.adoc +++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/describedAs/DomainObjectLayoutDescribedAsPage-description.adoc @@ -1,6 +1,20 @@ :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 [...] -The `describedAs` attribute ... +The purpose of the link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/DomainObjectLayout.html#describedas[@DomainObjectLayout#describedAs] is simply to provide a static description of the domain object. + +=== How this demo works + +The collection on the left hand side shows a set of objects that have been annotated with `describedAs`. +Hover over the icons of the objects in the collection, and this text will be shown in a tooltip. + +Navigate into any of the objects and the same text is shown when hovering over the object's title. + +In terms of code: + +[source,java,indent=0] +---- +include::DomainObjectLayoutDescribedAs.java[tags=class] +---- +<.> provides the description. +The viewer renders this in a tooltip. -WARNING: TODO[CAUSEWAY-3309] -Description of the property, shown as a tooltip diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/describedAs/jpa/DomainObjectLayoutDescribedAsJpa-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/describedAs/jpa/DomainObjectLayoutDescribedAsJpa-description.adoc index 72d14ecfb6..71ef0a4a23 100644 --- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/describedAs/jpa/DomainObjectLayoutDescribedAsJpa-description.adoc +++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/describedAs/jpa/DomainObjectLayoutDescribedAsJpa-description.adoc @@ -1,10 +1,11 @@ :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 [...] -This object is annotated with a CSS font-awesome class of "fa-user": +This object uses `describedAs` to provide a description. [source,java,indent=0] ---- include::../DomainObjectLayoutDescribedAs.java[tags=class] ---- -<.> specifies "bus" CSS font-awesome style +<.> provides the description. +The viewer renders this in a tooltip. diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/named/DomainObjectLayoutNamedPage-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/named/DomainObjectLayoutNamedPage-description.adoc index 0e691c34e8..10a4b6efda 100644 --- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/named/DomainObjectLayoutNamedPage-description.adoc +++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/named/DomainObjectLayoutNamedPage-description.adoc @@ -2,5 +2,6 @@ The `named` attribute ... +link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/DomainObjectLayout.html#named[@DomainObjectLayout#named] WARNING: TODO[CAUSEWAY-3309] Custom text for the domain object's type wherever labeled diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/paged/DomainObjectLayoutPagedPage-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/paged/DomainObjectLayoutPagedPage-description.adoc index 682fdcde09..0afcdf6879 100644 --- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/paged/DomainObjectLayoutPagedPage-description.adoc +++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/paged/DomainObjectLayoutPagedPage-description.adoc @@ -5,3 +5,5 @@ The `paged` attribute ... WARNING: TODO[CAUSEWAY-3309] Add link to object once visited as a bookmark Number of domain objects per page in collections + +link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/DomainObjectLayout.html#paged[@DomainObjectLayout#paged] diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/tabledec/DomainObjectLayoutTableDecoratorPage-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/tabledec/DomainObjectLayoutTableDecoratorPage-description.adoc index 82f14ee735..4b47b57133 100644 --- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/tabledec/DomainObjectLayoutTableDecoratorPage-description.adoc +++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/tabledec/DomainObjectLayoutTableDecoratorPage-description.adoc @@ -1,4 +1,5 @@ -: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 [...] +`: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 a [...] The `tableDecorator` attribute allows to specify a custom client side table renderer. +link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/DomainObjectLayout.html#tabledecorator[@DomainObjectLayout#tableDecorator] diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/xxxUiEvent/DomainObjectLayoutXxxUiEventPage-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/xxxUiEvent/DomainObjectLayoutXxxUiEventPage-description.adoc index f5a36be069..7b74c73a98 100644 --- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/xxxUiEvent/DomainObjectLayoutXxxUiEventPage-description.adoc +++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/xxxUiEvent/DomainObjectLayoutXxxUiEventPage-description.adoc @@ -2,5 +2,13 @@ The `xxxUiEvent` attribute ... +link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/DomainObjectLayout.html#titleuievent[@DomainObjectLayout#titleUiEvent] + +link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/DomainObjectLayout.html#iconuievent[@DomainObjectLayout#iconUiEvent] + +link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/DomainObjectLayout.html#cssclassuievent[@DomainObjectLayout#cssClassUiEvent] + +link:https://causeway.apache.org/refguide/2.0.0-SNAPSHOT/applib/index/annotation/DomainObjectLayout.html#layoutuievent[@DomainObjectLayout#layoutUiEvent] + WARNING: TODO[CAUSEWAY-3309] Class of the UI events emitted to allow subscribers to specify title, icon etc diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/xxxUiEvent/jpa/DomainObjectLayoutXxxUiEventJpa.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/xxxUiEvent/jpa/DomainObjectLayoutXxxUiEventJpa.java index 2c9254937a..6d20c81205 100644 --- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/xxxUiEvent/jpa/DomainObjectLayoutXxxUiEventJpa.java +++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObjectLayout/xxxUiEvent/jpa/DomainObjectLayoutXxxUiEventJpa.java @@ -38,7 +38,7 @@ import org.springframework.context.annotation.Profile; name = "DomainObjectLayoutXxxUiEventJpa" ) @EntityListeners(CausewayEntityListener.class) -@Named("demo.DomainObjectLayoutCssClassFaJpa") +@Named("demo.DomainObjectLayoutXxxUiEventJpa") @NoArgsConstructor //tag::class[] // ...
