|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.hivemind.impl.BaseLocatable
org.apache.tapestry.AbstractComponent
org.apache.tapestry.BaseComponent
org.apache.tapestry.contrib.palette.Palette
public abstract class Palette
A component used to make a number of selections from a list. The general look is a pair of <select> elements. with a pair of buttons between them. The right element is a list of values that can be selected. The buttons move values from the right column ("available") to the left column ("selected").
This all takes a bit of JavaScript to accomplish (quite a bit), which means a Body
component must wrap the Palette. If JavaScript is not enabled in the client browser, then the
user will be unable to make (or change) any selections.
Cross-browser compatibility is not perfect. In some cases, the
MultiplePropertySelection
component may be a better
choice.
Parameter | Type | Direction | Required | Default | Description |
selected | List |
in | yes | A List of selected values. Possible selections are defined by the model; this should be a
subset of the possible values. This may be null when the component is renderred. When the
containing form is submitted, this parameter is updated with a new List of selected objects.
The order may be set by the user, as well, depending on the sortMode parameter. |
|
model | IPropertySelectionModel |
in | yes | Works, as with a PropertySelection component, to define the
possible values. |
|
sort | string | in | no | SortMode.NONE |
Controls automatic sorting of the options. |
rows | int | in | no | 10 | The number of rows that should be visible in the Pallete's <select> elements. |
tableClass | String |
in | no | tapestry-palette | The CSS class for the table which surrounds the other elements of the Palette. |
selectedTitleBlock | Block |
in | no | "Selected" | If specified, allows a Block to be placed within the <th> reserved for the
title above the selected items <select> (on the right). This allows for images or other
components to be placed there. By default, the simple word Selected is used. |
availableTitleBlock | Block |
in | no | "Available" | As with selectedTitleBlock, but for the left column, of items which are available to be
selected. The default is the word Available . |
selectImage selectDisabledImage deselectImage deselectDisabledImage upImage upDisabledImage downImage downDisabledImage |
IAsset |
in | no | If any of these are specified then they override the default images provided with the
component. This allows the look and feel to be customized relatively easily.
The most common reason to replace the images is to deal with backgrounds. The default images are anti-aliased against a white background. If a colored or patterned background is used, the default images will have an ugly white fringe. Until all browsers have full support for PNG (which has a true alpha channel), it is necessary to customize the images to match the background. |
A Palette requires some CSS entries to render correctly ... especially the middle column, which contains the two or four buttons for moving selections between the two columns. The width and alignment of this column must be set using CSS. Additionally, CSS is commonly used to give the Palette columns a fixed width, and to dress up the titles. Here is an example of some CSS you can use to format the palette component:
TABLE.tapestry-palette TH { font-size: 9pt; font-weight: bold; color: white; background-color: #330066; text-align: center; } TD.available-cell SELECT { font-weight: normal; background-color: #FFFFFF; width: 200px; } TD.selected-cell SELECT { font-weight: normal; background-color: #FFFFFF; width: 200px; } TABLE.tapestry-palette TD.controls { text-align: center; vertical-align: middle; width: 60px; }
As of 4.0, this component can be validated.
Field Summary |
---|
Fields inherited from class org.apache.tapestry.AbstractComponent |
---|
_body, _bodyCount |
Constructor Summary | |
---|---|
Palette()
|
Methods inherited from class org.apache.tapestry.BaseComponent |
---|
addOuter, finishLoad, getContainedRenderers, getInnerRenderers |
Methods inherited from class org.apache.hivemind.impl.BaseLocatable |
---|
getLocation, setLocation |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.apache.tapestry.form.ValidatableField |
---|
getValidators |
Methods inherited from interface org.apache.tapestry.form.IFormComponent |
---|
getClientId, getDisplayName, getForm, getName |
Methods inherited from interface org.apache.tapestry.IComponent |
---|
addAsset, addBody, addComponent, enterActiveState, finishLoad, getAsset, getAssets, getBeans, getBinding, getBindingNames, getBindings, getComponent, getComponents, getContainedComponent, getContainer, getEventInvoker, getExtendedId, getId, getIdPath, getListeners, getMessages, getNamespace, getPage, getSpecification, getSpecifiedId, getTemplateTagName, isRendering, peekClientId, renderBody, setBinding, setClientId, setContainedComponent, setContainer, setId, setNamespace, setPage, setTemplateTagName |
Methods inherited from interface org.apache.tapestry.IRender |
---|
render |
Methods inherited from interface org.apache.hivemind.LocationHolder |
---|
setLocation |
Methods inherited from interface org.apache.hivemind.Locatable |
---|
getLocation |
Constructor Detail |
---|
public Palette()
Method Detail |
---|
public abstract void setAvailableColumn(PaletteColumn column)
public abstract void setSelectedColumn(PaletteColumn column)
public abstract void setName(String name)
IFormComponent
FormBehavior.getElementId(IFormComponent)
when a name is created for a form
component.
setName
in interface IFormComponent
FormBehavior.getElementId(IFormComponent)
public abstract void setForm(IForm form)
public abstract void setRequiredMessage(String message)
protected void renderComponent(IMarkupWriter writer, IRequestCycle cycle)
BaseComponent
renderComponent
in class BaseComponent
protected void renderFormComponent(IMarkupWriter writer, IRequestCycle cycle)
protected void rewindFormComponent(IMarkupWriter writer, IRequestCycle cycle)
public void overrideContributions(Validator validator, FormComponentContributorContext context, IMarkupWriter writer, IRequestCycle cycle)
ValidatableFieldSupport.renderContributions(ValidatableField, IMarkupWriter, IRequestCycle)
,
with the additional parameter being the Validator
that this component has chosen to override.
This method will only be called if ValidatableFieldExtension.overrideValidator(Validator, IRequestCycle)
returns true
for the specified Validator
.
overrideContributions
in interface ValidatableFieldExtension
validator
- The original Validator
that component opted to override.context
- The context object used by validation contributors.writer
- The markup writer to send content to. (if any is needed)cycle
- The current request cycle.public boolean overrideValidator(Validator validator, IRequestCycle cycle)
Validator
with it's own
contributions.
overrideValidator
in interface ValidatableFieldExtension
validator
- The validator to check if component wants to override.cycle
- The current request cycle.
protected void cleanupAfterRender(IRequestCycle cycle)
AbstractComponent
AbstractComponent.render(IMarkupWriter, IRequestCycle)
after the component renders.
cleanupAfterRender
in class AbstractComponent
public Map getSymbols()
public boolean isSortUser()
public abstract Block getAvailableTitleBlock()
public abstract IAsset getDeselectDisabledImage()
public abstract IAsset getDeselectImage()
public abstract IAsset getDownDisabledImage()
public abstract IAsset getDownImage()
public abstract IAsset getSelectDisabledImage()
public abstract IPropertySelectionModel getModel()
public abstract int getRows()
public abstract Block getSelectedTitleBlock()
public abstract IAsset getSelectImage()
public abstract String getSort()
public abstract IAsset getUpDisabledImage()
public abstract IAsset getUpImage()
public boolean isDisabled()
isDisabled
in interface IFormComponent
public abstract List getSelected()
public abstract void setSelected(List selected)
public abstract IScript getScript()
public abstract ValidatableFieldSupport getValidatableFieldSupport()
public boolean isRequired()
IFormComponent
isRequired
in interface IFormComponent
AbstractFormComponent.isRequired()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |