# Used Components

Below there is a list of components used in Photo Album.

Components used in "Photo Album Demo"

Name | Value
--- | ---
<a4j:commandLink> | The component is very similar to the <h:commandLink> component, the only difference is that an Ajax form submit is generated on a click and it allows dynamic rerendering after a response comes back. It's not necessary to plug any support into the component, as Ajax support is already built in.
<a4j:commandButton> | The component is very similar to the <h:commandButton> component, the only difference is that an Ajax form submit is generated on a click and it allows dynamic rerendering after a response comes back. It's not necessary to plug any support into the component, as Ajax support is already built in.
<a4j:poll> | The component allows periodical sending of Ajax requests to the server and is used for a page update according to a specified time interval.
<rich:calendar> | The component is used for creating monthly calendar elements on a page.
<rich:contextMenu> | The component is used for creation of multileveled context menus that are activated after a user defines an event ("onmouseover", "onclick", etc.) on any element on the page.
<rich:dataGrid> | The component to render data as a grid that allows choosing data from a model and obtains built-in support of Ajax updates.
<rich:datascroller> | The component is designed for providing the functionality of tables scrolling using Ajax requests.
<rich:fileUpload> | The component is designed to perform Ajax-ed files upload to the server.
<rich:inplaceInput> | The component is an input component used for displaying and editing data inputted.
<rich:inplaceSelect> | The component is used to create select based inputs: it shows the value as text in one state and enables editing the value, providing a list of options in another state.
<rich:mediaOutput> | The component implements one of the basic features specified in the framework. The component is a facility for generating images, video, sounds and other binary resources defined by you on-the-fly.
<rich:modalPanel> | The component implements a modal dialog window. All operations in the main application window are locked out while this window is active. Opening and closing the window is done with client JavaScript code.
<rich:progressBar> | The component is designed for displaying a progress bar which shows the current status of the process.
<rich:tree> | The component is designed for hierarchical data presentation and is applied for building a tree structure with a drag-and-drop capability. The component also uses built-in drag and drop.