Offers a set of tools that create Granite UI authoring interfaces for Adobe Experience Manager components from Java code. This is a comprehensive solution that makes different widgets work in a coordinated manner, provides greater interactivity in AEM dialogs, and introduces additional features (customizable data lists, options selection, etc.)
New features
<componentsReferenceBase>
configuration property to assemble AEM components based on different Java packages.Updates and fixes
@DropTarget
properties.Documentation
Issues managed
New features
@MaxChildren
annotation that allows to flexibly limit the number of child components per containerUpdates and fixes
Documentation
New features
@Default
annotation in ToolKit's injectors (@RequestAttribute
, @RequestParam
, @EnumValue et al.). Type coercion included: you can. e.g., provide a default for an injectable enum as a stringified value. See docs for details.Updates and fixes
@Dialog
dimensions are now skipped. Provides better dialog display in some installations.Documentation
Issues managed
New features
@Setting
annotation to define variables used in scripting.@OptionProvider
now supports Java enums as well as Java classes containing constants as option sources.@OptionProvider
allows specifying a network JSON endpoint exposing tree-like data (and not only array-like data) as an option source.Updates and fixes
visibility
action.Autocomplete
.Metadata
and Property
abstractions.Documentation
Issues managed
New features
@RequestAttribute
injector.@EnumValue
injector.@OptionProvider
now supports Java enums as well as Java classes containing constants as option sources.@OptionProvider
allows specifying a network JSON endpoint exposing tree-like data (and not only array-like data) as an option source.Updates and fixes
@Child
and @Children
injectors apply prefix/postfix filtering to subresources.Documentation
Issues managed
New features
@AllowedChildren
supports specifying not just components' paths but also components' class references for the ease of setting up policies.DependsOn
handlers now support proper escaping of inline Javascript entities (such as arrays).Updates and fixes
@AllowedChildren
policies to root containers.Documentation
Issues managed
New features
@AllowedChildren
now supports specifying policies for "top-level" containers (such as a root parsys/iparsys/grid of a page) if attached to a Java class that matches a page component. The whole range of options for an ordinary component policy is also available for top-level containers.@OptionSource
received support for URLs pointing to a local/network HTTP endpoint serving JSON data. JSON can be used as a primary datasource for a @Select
or @RadioGroup
, backed up with a JCR datasource, or vice versa.@PathField
with many new attributes including the ones which arrived in Adobe Granite with AEM 6.5.10 (the "droppable" feature).Updates and fixes
@AllowedComponents
. The constant can be stored elsewhere in the code base and reused.Documentation
Issues managed
New features
@AllowedChildren
annotation - control and adjust lists of child components available in a container component with Java code without digging into editable templates' policies or static templates' designs.@I18N
annotation and injector - flexibly inject in your Sling models I18n
helpers or particular localized strings. There are a number of ways to detect the current locale - from page path to an arbitrary Java routine.@PathField
with many new attributes including the ones which arrived in Adobe Granite with AEM 6.5.10 (the "droppable" feature).Updates and fixes
** Documentation**
Issues managed
New features
@Child
and @Children
from both SlingHttpServletRequest
and Resource
.Fixes and enhancements
@NotNull
and @Nullable
guidance annotations to the API methods;** Issues managed** EAK-295; technical stories.
New features
ListHelper
).@FixedColumns
annotation.Fixes and enhancements
@Place
an arbitrary widget into an arbitrary in-dialog container. Nested containers are supported.@Ignore
an arbitrary widget in any container, including nested containers.Issues managed EDMTP-152, EAK-239, EAK-259, EDMTP-384, EDMTP-385, EDMTP-419, EDMTP-434, EDMTP-435, EDMTP-436