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.

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.

I18nResourceConfig

Defines the structure for configuring i18n resource file paths with prefix and suffix. Used by the translation system to locate and load language resource files.

I18nToken

Defines the structure for i18n tokens, including resource configurations and versioned suffix flag.

IBaseCustomEvent

Defines the base structure for custom events in the application. Contains properties for the event data, target element, name, and component.

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

IComponentProperties

Extends FieldProperties with additional properties specific to Angular components. Includes update mode for form controls and optional FormGroup and FormControl references.

ICrudFormEvent

Extends IBaseCustomEvent to include optional handlers for CRUD form operations. This event type is used for form-related actions like create, read, update, and delete operations.

ICrudFormOptions

Defines the configuration options for CRUD form buttons including submit and clear buttons. Each button can be customized with text, icon, and icon position.

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

IFormReactiveSubmitEvent

Defines the structure of data emitted when a reactive form is submitted. Contains the processed form data as key-value pairs.

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.

IListEmptyOptions

Defines the configuration for displaying an empty state in list components when no data is available. Includes text, button, icon, and link settings.

IMenuItem

Represents a single item in a navigation or contextual menu. Includes the visible label and optional metadata such as accessibility title, target URL, icon, and color.

IPaginationCustomEvent

Event emitted by pagination components to signal page navigation. Extends IBaseCustomEvent and carries a payload with the target page number and navigation direction.

IRenderedModel

Defines the basic structure for models that can be rendered by the engine. Contains an optional rendererId that uniquely identifies the rendered instance.

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 IBaseCustomEvent with additional properties for the action and primary key.

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 49

SelectOption | RadioOption

# CrudFieldOption

Represents a union type that can be either a SelectOption or RadioOption. This is used for defining options in form fields that support both select and radio input types.

Option type for CRUD field inputs

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

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

ElementPosition | 'stretch' | 'middle' | 'around' | 'between'

# FlexPosition

Extends the basic ElementPosition 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 21

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

TextFieldTypes | HTML5InputType

# 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 40

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 96

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 88

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