# Package org.apache.tapestry5.corelib.components

The set of core components available in all Tapestry applications

- Class Summary
  Class | Description
  --- | ---
  ActionLink | Component that triggers an action on the server with a subsequent full page refresh.
  AddRowLink | Used inside an `AjaxFormLoop` component to spur the addition of a new row.
  AjaxFormLoop | A special form of the `Loop` component that adds Ajax support to handle adding new rows and removing existing rows dynamically.
  Alerts | Renders out an empty `<div>` element and provides JavaScript initialization to make the element the container for alerts.
  Any | Turns any arbitrary (X)HTML element into a component.
  BeanDisplay | A component that displays the properties of a bean (or POJO, or any object with properties) as a simple HTML definition list.
  BeanEditForm | A component that creates an entire form for editing the properties of a particular bean (or POJO, or any object with properties).
  BeanEditor | A component that generates a user interface for editing the properties of a bean (or POJO, or any object with properties).
  BeanEditor.Prepare |
  Checkbox | A Checkbox component is simply a <input type="checkbox">.
  Checklist | A list of checkboxes, allowing selection of multiple items in a list.
  DateField | A component used to collect a provided date from the user using a client-side JavaScript calendar.
  Delegate | A component that does not do any rendering of its own, but will delegate to some other object that can do rendering.
  DevTool | Renders a dropdown menu of useful options when developing.
  Doctype | Overrides the DOCTYPE of the rendered document (via `Document.dtd(String, String, String)` which can be useful when different component templates that render to the same document disagree about what the correct DOCTYPE is.
  Dynamic | The Dynamic component allows a component to render itself differently at different times, by making use of an external template file.
  Error | Provides a client-side element to contain validation errors; this renders as a `<p class="help-block">`.
  Errors | Standard validation error presenter.
  EventLink | A close relative of `ActionLink` except in two ways.
  ExceptionDisplay | Integral part of the default `ExceptionReport` page used to break apart and display the properties of the exception.
  FontAwesomeIcon | Renders an `<i>` tag with the CSS class to select a FontAwesome 4.7.0 icon.
  Form | An HTML form, which will enclose other components to render out the various types of fields.
  FormFragment | A FormFragment is a portion of a Form that may be selectively displayed.
  Glyphicon | Renders a `<span>` tag with the CSS class to select a Bootstrap Glyphicon.
  Graphviz | Component that renders a Graphviz graph using @hpcc-js/wasm.
  Grid | A grid presents tabular data.
  GridCell | Part of `Grid` that renders the markup inside a single data cell.
  GridColumns | Renders out the column headers for the grid, including links (where appropriate) to control column sorting.
  GridPager | Generates a series of links used to jump to a particular page index within the overall data set.
  GridRows | Renders out a series of rows within the table.
  Hidden | Used to record a page property as a value into the form.
  Html5DateField | A component used to collect a provided date from the user using the native HTML5 date picker (<input type="date">)
  If | Conditionally renders its body.
  Label | Generates a <label> element for a particular field.
  LinkSubmit | Generates a client-side hyperlink that submits the enclosing form.
  LocalDate | Used to present a date, formatted in the time zone of the client browser.
  Loop<T> | A basic looping component; loops over a number of items (provided by its source parameter), rendering its body for each one.
  Output | A component for formatting output.
  OutputRaw | Used to output raw markup to the client.
  PageLink | Generates a render request link to some other page in the application.
  Palette | Multiple selection component.
  PasswordField | A version of `TextField`, but rendered out as an <input type="password"> element.
  ProgressiveDisplay | A component used to implement the progressive enhancement web design strategy; the component renders itself with a simplified initial content (i.e., "loading ...") and an Ajax request then supplies the component's true body.
  PropertyDisplay | Outputs a single property value.
  PropertyEditor | Used to edit a single property of a bean.
  Radio | A radio button (i.e., <input type="radio">).
  RadioGroup | A wrapper component around some number of `Radio` components, used to organize the selection and define the property to be edited.
  Recursive | `Loop`-like component that renders its templates recursively based on `Recursive` parent-child relationships.
  RecursiveBody | Component that marks the place in the template the recursion should happen.
  RemoveRowLink | Used inside a `AjaxFormLoop` to remove the current row from the loop.
  RenderObject | Renders out an object using the @`Primary` `ObjectRenderer` service.
  Select | Select an item from a list of values, using an [X]HTML <select> element on the client side.
  Submit | Corresponds to <input type="submit"> or <input type="image">, a client-side element that can force the enclosing form to submit.
  SubmitNotifier | A non visual component used to provide notifications to its container during a form submission.
  TextArea | TextArea component corresponds to a <textarea> element.
  TextField | TextField component corresponds to `<input>` element.
  TextOutput | Outputs paragraph oriented text, typically collected via a `TextArea` component.
  TimeInterval | Used to present an interval value using Moment.js's from() or fromNow() functions.
  Tree | A component used to render a recursive tree structure, with expandable/collapsable/selectable nodes.
  Trigger | Triggers an arbitrary event during rendering.
  Unless | A close relative of the `If` component that inverts the meaning of its test.
  Zone | A Zone is portion of the output page designed for easy dynamic updating via Ajax or other client-side effects.