Module

engine

Angular rendering engine for Decaf applications

View Source lib/engine/index.ts, line 2

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

View Source lib/engine/constants.ts, line 4

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

View Source lib/engine/constants.ts, line 40

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

View Source lib/engine/constants.ts, line 153

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

View Source lib/engine/constants.ts, line 129

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

View Source lib/engine/constants.ts, line 66

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)

View Source lib/engine/constants.ts, line 91

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

View Source lib/engine/constants.ts, line 112

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

View Source lib/engine/types.ts, line 72

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>

View Source lib/engine/types.ts, line 138

'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

View Source lib/engine/types.ts, line 28

'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

View Source lib/engine/types.ts, line 20

'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

View Source lib/engine/types.ts, line 44

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

View Source lib/engine/types.ts, line 36

# 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

View Source lib/engine/types.ts, line 10

'_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

View Source lib/engine/types.ts, line 120

'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

View Source lib/engine/types.ts, line 63

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>

View Source lib/engine/types.ts, line 111

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

View Source lib/engine/types.ts, line 129

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>

View Source lib/engine/types.ts, line 103

'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

View Source lib/engine/types.ts, line 95