Angular rendering engine for Decaf applications
Interfaces
- AngularDynamicOutput
Defines the structure of the output produced by the NgxRenderingEngine when rendering a component. Contains the component type, inputs, injector, content nodes, and child components.
- BaseCustomEvent
Defines the base structure for custom events in the application. Contains properties for the event data, target element, name, and component.
- ComponentMetadata
Defines the structure of metadata for Angular components, including change detection strategy, selector, standalone status, imports, template, and styles. This is used for reflection and dynamic component creation.
- FormServiceControl
Defines the structure for a form control managed by the form service. Contains the FormGroup control and the associated field properties for rendering.
- IComponentConfig
Defines the configuration for dynamically creating Angular components. Contains the component name, input properties, injector, and optional child components.
- IComponentHolder
Defines a component holder interface that provides access to the underlying DOM element through ElementRef
- IComponentInput
Extends FieldProperties with additional properties specific to Angular components. Includes update mode for form controls and optional FormGroup and FormControl references.
- IFieldSetItem
Defines the structure for items displayed in the reorderable list within the fieldset. Each item represents a value added to the fieldset with display properties for the UI.
- IFieldSetValidationEvent
Defines the structure of validation events emitted when form validation occurs. Used for communication between form components and the fieldset container.
- IFilterQuery
Defines the complete structure for filter and sort operations. Combines multiple filter criteria with sorting configuration to provide comprehensive data filtering and ordering capabilities.
- IFilterQueryItem
Defines the structure of a single filter criterion in a filter query. Each item represents one condition to be applied to the data, consisting of an index (field name), a condition (comparison operator), and a value to compare against.
- IFormElement
Extends IComponentHolder to include a FormGroup for form handling capabilities
- IListComponentRefreshEvent
Defines the structure of a refresh event for list components. Contains an array of key-value pairs representing the new data for the list.
- ISortObject
Defines the structure for specifying sort criteria including the field to sort by and the direction of the sort (ascending or descending).
- InputOption
Defines the common structure for options used in select, radio, and checkbox inputs. Contains properties for the display text, value, disabled state, CSS class, and icon.
- ListItemCustomEvent
Defines the structure of custom events triggered by list items. Extends BaseCustomEvent with additional properties for the action and primary key.
- RenderedModel
Defines the basic structure for models that can be rendered by the engine. Contains an optional rendererId that uniquely identifies the rendered instance.
Members
Object
# static constant AngularEngineKeys
Contains key strings used by the Angular rendering engine for reflection, dynamic component creation, and other engine operations.
Angular engine key constants
Properties:
Name | Type | Description |
---|---|---|
REFLECT |
string
|
Prefix for reflection metadata keys |
DYNAMIC |
string
|
Key for dynamic component identification |
ANNOTATIONS |
string
|
Key for component annotations |
ECMP |
string
|
Key for embedded components |
NG_REFLECT |
string
|
Prefix for Angular reflection attributes |
RENDERED |
string
|
Prefix for rendered component markers |
MAPPER |
string
|
Key for property mappers |
CHILDREN |
string
|
Key for child components |
LISTABLE |
string
|
Key for listable components |
RENDER |
string
|
Key for renderable components |
RENDERED_ID |
string
|
Template for rendered component IDs |
PARENT |
string
|
Key for comparison decorators and validators |
Object
# static constant FormConstants
Contains constants representing the possible validation states of a form. These are used to check and handle form validation throughout the application.
Form validation state constants
Properties:
Name | Type | Description |
---|---|---|
VALID |
string
|
Constant representing a valid form state |
INVALID |
string
|
Constant representing an invalid form state |
string
# static readonly exports.BaseComponentProps
Enum defining the standard property names used by base components in the application. These property names are used for consistent property access across components.
Base component property name constants
Properties:
Name | Type | Description |
---|---|---|
MODEL |
string
|
Property name for the component's data model |
LOCALE |
string
|
Property name for localization settings |
PK |
string
|
Property name for primary key |
ITEMS |
string
|
Property name for collection items |
ROUTE |
string
|
Property name for routing information |
OPERATIONS |
string
|
Property name for available operations |
UID |
string
|
Property name for unique identifier |
TRANSLATABLE |
string
|
Property name for translation flag |
MAPPER |
string
|
Property name for property mapper |
INITIALIZED |
string
|
Property name for initialization state |
string
# static readonly exports.ComponentsTagNames
Enum defining the tag names for custom components used in the application. These tag names are used for component registration and rendering.
Component tag name constants
Properties:
Name | Type | Description |
---|---|---|
LIST_ITEM |
string
|
Tag name for list item component |
LIST_INFINITE |
string
|
Tag name for infinite scrolling list component |
LIST_PAGINATED |
string
|
Tag name for paginated list component |
string
# static constant exports.EventConstants
Enum containing constants for event names used throughout the application. These are used to standardize event naming and handling.
Event name constants
Properties:
Name | Type | Description |
---|---|---|
BACK_BUTTON_NAVIGATION |
string
|
Event fired when back button navigation ends |
REFRESH_EVENT |
string
|
Event fired when a refresh action occurs |
CLICK_EVENT |
string
|
Event fired when a click action occurs |
SUBMIT_EVENT |
string
|
Event fired when a form submission occurs |
number
# static readonly exports.LoggerLevels
Enum defining the logging levels used in the application's logging system. Lower values represent more verbose logging, while higher values represent more critical logs.
Logger level constants
Properties:
Name | Type | Description |
---|---|---|
ALL |
number
|
Log everything (most verbose) |
DEBUG |
number
|
Log debug information |
INFO |
number
|
Log informational messages |
WARN |
number
|
Log warnings |
ERROR |
number
|
Log errors |
CRITICAL |
number
|
Log critical errors (least verbose) |
string
# static readonly exports.RouteDirections
Enum defining the possible navigation directions in the application. Used for controlling navigation flow and animation directions.
Route direction constants
Properties:
Name | Type | Description |
---|---|---|
BACK |
string
|
Navigate back to the previous page |
FORWARD |
string
|
Navigate forward to the next page |
ROOT |
string
|
Navigate to the root/home page |
Type Definitions
Object
# AngularFieldDefinition
A comprehensive type that combines properties from various Ionic components to define the structure of a field in an Angular form. It omits certain properties from IonInput, picks specific properties from IonSelect, IonTextarea, and IonCheckbox, and adds custom properties like type and className.
Field definition for Angular components
Properties:
Name | Type | Attributes | Description |
---|---|---|---|
type |
PossibleInputTypes
|
The type of input field |
|
className |
string
|
Array.<string>
|
CSS class name(s) for the field |
|
cancelText |
string
|
<optional> |
Text for the cancel button (from IonSelect) |
interface |
string
|
<optional> |
Interface style for select (from IonSelect) |
selectedText |
string
|
<optional> |
Text for selected option (from IonSelect) |
interfaceOptions |
Object
|
<optional> |
Options for the interface (from IonSelect) |
rows |
number
|
<optional> |
Number of rows for textarea (from IonTextarea) |
cols |
number
|
<optional> |
Number of columns for textarea (from IonTextarea) |
alignment |
string
|
<optional> |
Alignment of checkbox (from IonCheckbox) |
justify |
string
|
<optional> |
Justification of checkbox (from IonCheckbox) |
checked |
boolean
|
<optional> |
Whether checkbox is checked (from IonCheckbox) |
type |
PossibleInputTypes
|
||
className |
string
|
Array
|
object
# CrudFormEvent
Extends BaseCustomEvent to include optional handlers for CRUD form operations. This event type is used for form-related actions like create, read, update, and delete operations.
CRUD form event type
Properties:
Name | Type | Attributes | Description |
---|---|---|---|
handlers |
Record.<string, any>
|
<optional> |
Optional handlers for form operations |
handlers |
Record.<string, any>
|
<optional> |
'left'
|
'center'
|
'right'
|
'top'
|
'bottom'
# ElementPositions
Defines the possible position values that can be applied to UI elements. These positions control the alignment and placement of components.
Basic position options for UI elements
'small'
|
'medium'
|
'large'
|
'xlarge'
|
'2xlarge'
|
'auto'
|
'expand'
|
'block'
# ElementSizes
Defines the possible size values that can be applied to UI elements. These sizes control the dimensions and layout behavior of components.
Element size options for UI components
'change'
|
'blur'
|
'submit'
# FieldUpdateMode
Defines when form field values should be updated in the model.
- 'change': Update on every change event
- 'blur': Update when the field loses focus
- 'submit': Update only when the form is submitted
Update mode options for form fields
ElementPositions
|
'stretch'
|
'middle'
|
'around'
|
'between'
# FlexPositions
Extends the basic ElementPositions with additional flex-specific position values. These positions are used for controlling alignment and distribution in flex containers.
Extended position options for flex layouts
# FunctionLike(args)
Represents a function that accepts any number of arguments of any type and returns any type. This is useful for defining function parameters or variables where the exact function signature is not known at compile time.
Generic function type
Parameters:
Name | Type | Description |
---|---|---|
args |
Array
|
'_blank'
|
'_self'
|
'_parent'
|
'_top'
|
string
# HTMLFormTarget
Defines the possible target values for HTML forms, including standard targets like '_blank', '_self', '_parent', and '_top', as well as custom string values.
Target options for HTML forms
'checkbox'
|
'radio'
|
'select'
|
TextFieldTypes
|
'textarea'
# PossibleInputTypes
Defines the possible input types that can be used in form fields. Includes standard HTML input types like checkbox, radio, and select, as well as Ionic's TextFieldTypes and textarea.
Possible input types for form fields
object
# RadioOption
Extends the InputOption interface with a checked property to indicate whether the option is checked by default.
Option type for radio inputs
Properties:
Name | Type | Attributes | Description |
---|---|---|---|
checked |
boolean
|
<optional> |
object
# RendererCustomEvent
Combines BaseCustomEvent with KeyValue properties to create a flexible custom event type for renderer components. This allows events to carry both standard event properties and additional custom data.
Renderer custom event type
object
# SelectOption
Extends the InputOption interface with a selected property to indicate whether the option is selected by default.
Option type for select inputs
Properties:
Name | Type | Attributes | Description |
---|---|---|---|
selected |
boolean
|
<optional> |
'true'
|
'false'
|
boolean
# StringOrBoolean
Represents a value that can be either a boolean or a string representation of a boolean. This is useful for handling attribute values that can be specified as either strings or booleans.
String or boolean representation of a boolean value