Overview

This documentation provides information on the Application DesignerNatural for Ajax control concept. It is recommended that you first become familiar with the "normal development" of screens inside Application DesignerNatural for Ajax.

When do you need custom controls? In general there are two cases:

  1. You want to combine existing controls to form complex controls with a certain dedicated task. Maybe you want to define an "address area" control which consists of a certain arrangement of fields and labels that form an address. This kind of building controls is called "composing controls" in this documentationThese kinds of controls are called "macro controls" in this documentation - you take what is available and group it into certain units.

  2. You want to create new controls - maybe you need some special kind of icon with a certain behavior.

While case 1 doesmacro controls do not require to deal with JavaScript and HTML, case 2creating completely new controls requires knowledge of JavaScript and HTML and the use of the JavaScript library functions that are available via the Application DesignerNatural for Ajax framework.

Due to the usage of XML as the layout definition format and due to an open interface for integrating control definitions into the page generation process of this_product, the control concept is a flexible and open framework. Actually, all controls are following the framework - there is no "special way" or "shortcut" that is internally used.

Natural for Ajax supports a flexible and open control framework. The basic concepts of this control framework are XML as the layout definition format and interfaces for integrating control definitions into the page generation process of Natural for Ajax. This framework is not specific to custom controls. All Natural for Ajax controls are using this control framework themselves.

The first concept is the definition of controls, that is, control tags with certain attributes which you can integrate via a tag library concept into layout definitions. The second concept is the binding of the control to server-side adapter propertiesNatural adapter fields and events. Following the strict Application DesignerNatural for Ajax architecture - that the GUI is a reflection of a "net data"/"model data", dynamic controls have to transfer their data at runtime to/from adapter propertiesNatural adapter fields. This binding concept is important for new controls and for macro controls:

  • On the one hand, you want newly created controls to reference the adapter properties/methods.

  • On the other hand, you want to compose controls (for example, an address area) and want to bind them to complex objects (e.g. an address object) on the server side - already providing for a set of data and methods that fit to the control and provide some server side logic.

  • When creating new controls, you want to bind the control to corresponding Natural adapter fields and events.

  • When creating macro controls (for example, an address area), you sometimes want your control to provide some additional server-side logic. For advanced controls, this logic may go beyond the logic of the single controls which make up the macro control.