Class AccordionModule
java.lang.Object
io.mindspice.simplypages.core.HtmlTag
io.mindspice.simplypages.core.Module
io.mindspice.simplypages.modules.AccordionModule
- All Implemented Interfaces:
Component
Module for collapsible accordion sections.
Mutability and thread-safety: mutable and not thread-safe. Item expansion flags are mutable and applied during build; mutate within a request-scoped flow. For reuse, stop mutating and render as a stable structure with per-request slot/context values.
-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from class HtmlTag
attributes, children, id, innerText, innerTextSlot, selfClosing, tagName, trustedHtml -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionAdds an accordion item with header and custom component content.Adds an accordion item with header and text content.Allows multiple accordion items to be open simultaneously.protected voidComposes module structure.static AccordionModulecreate()Expands the first accordion item by default.withModuleId(String moduleId) Sets module id and synchronizes the underlyingidattribute.Sets optional title consumed byModule.buildContent()implementations.Methods inherited from class Module
build, getModuleId, getTitle, invalidateContent, rebuildContent, render, render, withClass, withMaxWidth, withMinWidth, withWidthMethods inherited from class HtmlTag
addClass, addStyle, addTrustedStyle, getChildrenStream, getId, hxDelete, hxGet, hxInclude, hxPatch, hxPost, hxPushUrl, hxPut, hxScrollTargetTop, hxSwap, hxTarget, hxTrigger, withAttribute, withChild, withId, withInnerText, withInnerText, withUnsafeHtml
-
Constructor Details
-
AccordionModule
public AccordionModule()
-
-
Method Details
-
create
-
withTitle
Description copied from class:ModuleSets optional title consumed byModule.buildContent()implementations. -
withModuleId
Description copied from class:ModuleSets module id and synchronizes the underlyingidattribute.- Overrides:
withModuleIdin classModule
-
addItem
Adds an accordion item with header and text content.- Parameters:
header- the accordion item headercontent- the content to display when expanded
-
addItem
Adds an accordion item with header and custom component content.- Parameters:
header- the accordion item headercontent- custom component to display when expanded
-
withFirstExpanded
Expands the first accordion item by default. -
allowMultiple
Allows multiple accordion items to be open simultaneously. By default, only one item can be open at a time. -
buildContent
protected void buildContent()Description copied from class:ModuleComposes module structure.Called at most once by
Module.build()unlessModule.rebuildContent()is invoked. Do not rely on this method for per-request mutation.- Specified by:
buildContentin classModule
-