Index

core/properties-list/properties-list.model.ts

AcceptedPropertyTypes
string | string[] | number | number[]

actility-device-registration/actility-device-registration.component.ts

ActilityState
"loadPending" | "loadSuccess" | "loadError" | "registrationPending" | "registrationSuccess" | "registrationError"

core/action/action.model.ts

Action

An action is a global operation which you can add to the plus sign in the upper right corner or any custom component added to the header.

ActionWithLabelAndFunction | ActionWithTemplate | ActionWithComponent
ActionFactory

Factory to implement if used in a hook for Multi Provider extension.

ExtensionFactory<Action>

core/action-bar/action-bar.service.ts

ActionBarExtension

An extension HOOK can use either a pure value:

Example :
 { provide: HOOK_X, useValue: { ...hookValue }, multi: true }

Or an array to directly register multiple:

Example :
 { provide: HOOK_X, useValue: [{ ...hookValues }], multi: true }

Or an ExtensionFactory which allows to define a get() function. This function gets called on each navigation with the current route and can return values async (observable or promise).

Example :
 { provide: HOOK_X, useFactory: { get: (route) => doSomethingAsync(route) }, multi: true }
ActionBarItem | ActionBarItem[] | ExtensionFactory<ActionBarItem>

core/action-bar/action-bar.model.ts

ActionBarFactory

Factory to implement if used in a hook for Multi Provider extension.

ExtensionFactory<ActionBarItem>
ActionBarItem

An action bar item is a action in scope of a current route of the application.

ActionBarItemWithTemplate | ActionBarItemWithComponent

core/data-grid/data-grid.model.ts

ActionControlFactory

Factory to implement in order to add action controls from an extension.

ExtensionFactory<ActionControlHook>
AssetColumnOperationType
"maintenance" | "operation"
CustomColumnType

Custom column type. Either declared by an explicit path (legacy) or with the asset property library of DTM

"legacy" | "property" | "default"
FilterPredicateFunction

A filter predicate function.

function
PartialFilterChipGenerationType

Represents a partial filter chip with required properties 'displayValue' and 'value'.

Required<Pick<FilterChip, "displayValue" | "value">> & Partial<FilterChip>
PartialFilterChipRemovalType

Represents a partial filter chip with either 'columnName' and 'externalFilterQuery' or 'columnName' and 'filterPredicate'.

unknown & Partial<FilterChip>
ServerSideDataCallback

A callback function to fetch server data.

function
ServerSideDataResult

Describes a result from server with data and additional statistics.

IResultList<object> & literal type
SortOrder

Sorting order: ascending, descending, or not specified.

"asc" | "desc" | string

core/action/action.service.ts

ActionExtension

An extension HOOK can use either a pure value:

Example :
 { provide: HOOK_X, useValue: { ...hookValue }, multi: true }

Or an array to directly register multiple:

Example :
 { provide: HOOK_X, useValue: [{ ...hookValues }], multi: true }

Or an ExtensionFactory which allows to define a get() function. This function gets called on each navigation with the current route and can return values async (observable or promise).

Example :
 { provide: HOOK_X, useFactory: { get: (route) => doSomethingAsync(route) }, multi: true }
Action | Action[] | ExtensionFactory<Action>

datapoint-selector/datapoint-selector-list-item/datapoint-selector-list-item.component.ts

AddButtonType
typeof AddButtonTypes['keyof typeof AddButtonTypes']

branding/shared/data/branding.type.ts

addPrefixToObject
unknown
BrandingCSSVarsForm
Omit<BrandingFormValue | BrandingFormTopLevelKeys>
BrandingCSSVarsValues
LightBrandingCSSVarsValues & DarkBrandingCSSVarsValues
BrandingFormKeys
keyof BrandingFormValue
BrandingFormTopLevelKeys
typeof brandingFormGroupTopLevelEntries['number']
BrandingFormTopLevelKeysToUnpack
typeof brandingFormGroupTopLevelEntriesToUnpack['number']
BrandingFormValue
ReturnType
BrandingOptionsJson
TopLevelValues & literal type & Omit<Partial<ApplicationOptions> & brandingCssVars> & literal type
DarkBrandingCSSVarsValues
addPrefixToObject<LightBrandingCSSVarsValues | dark->
LightBrandingCSSVarsValues
unknown & unknown
NotUnpackedTopLevelFormKeys
Pick<BrandingFormValue | TopLevelFormKeysNotToUnpack>
TopLevelForm
NotUnpackedTopLevelFormKeys & UnpackedTopLevelFormKeys
TopLevelFormKeysNotToUnpack
Exclude<BrandingFormTopLevelKeys | BrandingFormTopLevelKeysToUnpack>
TopLevelValues
TopLevelForm
UnpackedTopLevelFormKeys
Pick

core/aggregation/aggregation.model.ts

Aggregation
{ id: aggregationType | null; title: string }
AggregationOption

Represents the available aggregation options. Aggregation 'none' is not handled by our backend.

unknown | template literal type
AggregationOptionStatus

Represents the status of aggregation options. Used to determine which aggregation options should be disabled.

unknown

global-context/models/aggregation.model.ts

Aggregation
{ id: aggregationType | null; title: string }
AggregationIconType
typeof AGGREGATION_ICON_TYPE['keyof typeof AGGREGATION_ICON_TYPE']
AggregationOption

Represents the available aggregation options. Aggregation 'none' is not handled by our backend.

unknown | template literal type
AggregationOptionStatus

Represents the status of aggregation options. Used to determine which aggregation options should be disabled.

unknown

global-context/models/global-context.model.ts

AggregationFunction

Supported aggregation functions for auto aggregation mode.

"min" | "max" | "avg" | "sum" | "count"
DateContextFromToQueryParams
{ undefined: string; undefined: string; undefined?: never }
DateContextIntervalQueryParams
{ undefined?: never; undefined?: never; undefined: Interval['id'] }
GlobalContextDisplayMode
`${GLOBAL_CONTEXT_DISPLAY_MODE}`
GlobalContextEventType

Union of all possible event type strings

keyof GlobalContextEventRegistry
GlobalContextEventUnion

Union type of all possible global context events

GlobalContextEventBase<K | GlobalContextEventRegistry['K']>['GlobalContextEventType']
GlobalContextKeys
(keyof GlobalContextState)[]
GlobalContextSource
typeof GLOBAL_CONTEXT_SOURCE['keyof typeof GLOBAL_CONTEXT_SOURCE']
InputDateContextQueryParams

Input query params is an object representing all possible query params related to widget time context. It can be provided by user typing them in browser URL address bar, so all of them should be considered.

{ undefined?: string; undefined?: string; undefined?: Interval['id']; undefined?: aggregationType; undefined?: boolean; undefined?: string }
OutputDateContextQueryParams

Output query params is an object representing params that are applied to current URL in browser address bar. These params are set programmatically. Time context interval and time range described by date "from" and date "to" exclude each other.

unknown & literal type
WidgetDisplayMode
typeof WIDGET_DISPLAY_MODE['keyof typeof WIDGET_DISPLAY_MODE']

ai/ai.model.ts

AIMessage

A message exchanged between the user and the AI assistant.

AIAssistantMessage | AIUserMessage | AISystemMessage
AIMessagePart

Parts that make up the content of a message (typically an assistant message).

literal type | literal type | literal type | ToolCallPart
AIStreamResponse

The values returned by the observer for an AI response stream.

This can be either an updated assistant message, or response metadata that isn't part of the AIMessage.

{ message: AIAssistantMessage; changedPart?: AIMessagePart | ResponseMetadataPart }
AISystemMessage

A hidden "system" message (like a system prompt, but later in the message stream).

{ role: system; content: string; timestamp?: string }
AIUserMessage

A message entered by the user.

{ role: user; content: string; timestamp?: string }
ChatHistory

Opaque snapshot of chat history that can be safely serialized to JSON.

JsonValue
JsonValue
string | number | boolean | null | JsonValue[] | literal type
pruneMessagesFunction

Type for a function that prunes the message history to remove large or unnecessary messages and message parts.

function
ResponseMetadataPart

Additional data received while streaming a response that is not part of AIMessage itself.

{ type: response-metadata; model?: string; systemPrompt?: Array<{ text: string; type: string }> }
Suggestion

Suggested prompts that can be selected by the user.

{ label?: string; prompt: string; icon?: SupportedIconsSuggestions }
ToolCallConfig

Configuration for how the <ai-chat-assistant-message> displays a calls for a specific tool name to the user.

literal type & unknown

alarms/alarms.model.ts

AlarmCount
unknown
AlarmListFormFilters
{ showCleared: boolean; severityOptions: SeverityFilter; selectedDates?: DateTimeContext }
AlarmListIndicator
AlarmListIndicatorIcon
AlarmNavigationOptions

Represents the navigation options for an alarm component.

{ allowNavigationToAlarmsView: boolean; alwaysNavigateToAllAlarms: boolean; includeClearedQueryParams: boolean; queryParamsHandling: QueryParamsHandling }
AlarmSeverityIcon
typeof ALARM_SEVERITY_ICON['keyof typeof ALARM_SEVERITY_ICON']
AlarmStatusIcon
typeof ALARM_STATUS_ICON['keyof typeof ALARM_STATUS_ICON']
CustomFragment
{ }
ReloadAlarmsListType
"gainsightTypeFilters" | null
SelectedAlarm
IAlarm | null
WidgetTimeContextStateExtended
{ date: DateTimeContext; interval: AlarmFilterInterval['id'] }

computed-asset-properties/alarm-count/alarm-count.model.ts

AlarmCountConfig
{ type: string; severities?: SeverityFilter }

alarm-event-selector/alarm-event-selector.model.ts

AlarmDetails
AlarmOrEventBase & literal type
AlarmOrEvent
AlarmDetails | EventDetails
AlarmOrEventBase
{ timelineType: TimelineType; color: string; __active?: boolean; label: string; filters: { type: string }; __target: IIdentified }
ConfigStoreMode
"ISOLATED" | "MIXED"
EventDetails
AlarmOrEventBase & literal type
OmitSelectorProperties

The configuration for the alarms-events selector modal if some properties should be omitted.

{ color?: boolean; label?: boolean }
SelectedDatapoint
{ target?: string; series?: string; fragment?: string }
TimelineType
"ALARM" | "EVENT"
TimelineTypeTexts
{ listTitle: string; emptyStateIcon: string; emptyStateTitle: string; emptyStateSubtitle: string; addButtonLabel: string; addCustomItemButtonLabel: string; selectorTitle: string; availableItemsTitle: string; assetWithNoItemsEmptyStateSubtitle: string; largeNumberOfItemsInfo: string; selectedItemsTitle: string; noSelectedItemsTitle: string; recentItemsWarningTitle: string; recentItemsWarningText: string; addCustomText: string }

echart/models/datapoints-graph-widget.model.ts

AlarmDetailsExtended
AlarmDetails & literal type
AlarmOrEventExtended
AlarmDetailsExtended | EventDetailsExtended
DatapointApiValues
ISeries
DatapointAxisType
typeof AXIS_TYPES['number']['val']
DatapointChartRenderType
typeof CHART_RENDER_TYPES['number']['val']
DatapointLineType
typeof CHART_LINE_TYPES['number']['val']
DatapointRealtimeMeasurements
{ measurement: IMeasurement; datapoint: DatapointsGraphKPIDetails }
DatapointsGraphKPIDetails
KPIDetails & literal type
DatapointsGraphWidgetConfig
{ eventSourceId?: string | null; activeAlarmTypesOutOfRange?: string[]; aggregatedDatapoint?: DatapointsGraphKPIDetails | null; alarmsEventsConfigs?: AlarmOrEventExtended[]; datapoints?: [] | null; dataPointLegendDisplay?: string | null; date?: DateTimeContext; dateFrom?: Date | string | null; dateTo?: Date | string | null; displayAggregationSelection?: boolean | null; displayDateSelection?: boolean | null; displayMarkedLine?: boolean; displayMarkedPoint?: boolean; displaySettings?: WidgetDisplaySettings; isGlobalContextReady?: boolean; mergeMatchingDatapoints?: boolean; forceMergeDatapoints?: boolean; setYaxisStartToZero?: boolean; smoothLines?: boolean; realtime?: boolean | null; showLabelAndUnit?: boolean; showSlider?: boolean | null; source?: string | null; sliderChange?: boolean | null; xAxisSplitLines?: boolean | null; yAxisSplitLines?: boolean | null; interval?: TimeInterval; dateTimeContext?: DateTimeContext; aggregation?: aggregationType | null; refreshOption?: RefreshOption; isAutoRefreshEnabled?: boolean; isRealtimeEnabled?: boolean; displayMode?: GlobalContextDisplayMode; refreshInterval?: number; numberOfDecimalPlaces?: number; showAdvancedChartOptions?: boolean; retrievalError?: object; aggregationFunction?: AggregationFunction | null; autoAggregation?: AutoAggregationConfig | null }
DatapointsGraphWidgetTimeProps
Partial<Pick<DatapointsGraphWidgetConfig, "interval" | "dateFrom" | "dateTo" | "aggregation" | "realtime">>
DataPointValues
{ min: number; max: number }
DateString
string
DpValuesItem
{ time: number; values: DataPointValues[] }
EchartsSeriesOptions
LineSeriesOption | ScatterSeriesOption | BarSeriesOption
EventDetailsExtended
EventDetails & literal type
GraphDisplayOptions
{ displayMarkedLine: boolean; displayMarkedPoint: boolean; mergeMatchingDatapoints: boolean; forceMergeDatapoints: boolean; setYaxisStartToZero: boolean; showLabelAndUnit: boolean; showSlider: boolean; showOnlyAlarmsOrEvents?: boolean; numberOfDecimalPlaces?: number; sliderPositionMode?: "compact" | "default"; smoothLines?: boolean; aggregationActive?: boolean; collapsedDpIds?: Set<string>; axisColor?: string; showCompactTooltip?: boolean }
SeriesValue
[DateString, number]
SeverityType
keyof typeof Severity
YAxisOptions
{ showSplitLines: boolean; mergeMatchingDatapoints: boolean; forceMergeDatapoints: boolean; setYaxisStartToZero: boolean; showLabelAndUnit: boolean; axisColor: string }

alarm-event-selector/alarm-event-selector-modal/alarm-event-selector-modal.model.ts

AlarmEventSelectorModalOptions
Pick<AlarmEventSelectorModalComponent | "selectType" | "contextAsset" | "allowChangingContext" | "selectedItems" | "allowSearch" | "title" | "saveButtonLabel" | "hideSource" | "groupsSelectable" | "omitProperties">

interval-picker/interval-picker.model.ts

AlarmFilterInterval
Interval | literal type
Interval
{ id: "minutes" | "hours" | "days" | "weeks" | "months" | "custom"; title: string; timespanInMs?: number }
IntervalKey
Interval
IntervalMap
unknown

global-context/models/interval-picker.model.ts

AlarmFilterInterval
Interval | literal type
Interval
{ id: "minutes" | "hours" | "days" | "weeks" | "months" | "custom" | string; title: string; timespanInMs?: number }
TimeInterval
typeof TIME_INTERVAL['keyof typeof TIME_INTERVAL']

widgets/implementations/alarms/alarm-list-widget.model.ts

AlarmListRefreshOption
"none" | "interval" | "global-interval"
AlarmOrderType
keyof typeof ALARM_ORDER_VALUES
LegacyAlarmListConfig
{ realtime: boolean; options: { severity: SeverityFilter; types: string[]; orderMode: string; device: string; status: AlarmStatusSettings }; device?: { name: string; id: string } }
SelectedDevice
{ id: string; name: string }

core/dynamic-component/dynamic-component-alert.model.ts

AlertDismissalData
literal type | literal type | literal type

core/alert/alert.service.ts

AlertType
"success" | "warning" | "danger" | "info" | "system"

context-dashboard/context-dashboard.model.ts

AllowTypeDashboard
"allow" | "disallow" | "allow_if_type_filled"
DashboardChildrenState

Object representing state of dashboard widgets. Its main purpose is to allow to undo and redo changes applied to dashboard children.

{ name: typeof DASHBOARD_CHILDREN_STATE_NAME['keyof typeof DASHBOARD_CHILDREN_STATE_NAME']; children: ContextDashboard['children']; changeHistory: Partial<Record<keyof DashboardHistoryDescription['widgetChanges'], { }>> }
DashboardDetailsTabs
Record<DashboardDetailsTabId | TabWithTemplate & { featureId: DashboardDetailsTabId }>
DashboardGlobalRoles
number[] | unknown
DashboardLayout
"grid" | "custom"
FoundationClass
typeof FOUNDATION_CLASSES['number']
WidgetConfigChangeMode
typeof WidgetConfigChangeMode['keyof typeof WidgetConfigChangeMode']

ecosystem/shared/list-filters/list-filters.model.ts

AppFilterProps
{ type: PackageType; availability: ApplicationState['label']; content: ApplicationState['label'] }
FilterableAppOrPlugin
unknown & literal type
FilterPipe
UnaryFunction<Observable<FilterableAppOrPlugin[]> | Observable<FilterableAppOrPlugin[]>>
PackageFilters
{ type: { undefined?: boolean; undefined?: boolean }; availability: { undefined?: boolean; undefined?: boolean; undefined?: boolean; undefined?: boolean }; content: { undefined?: boolean; undefined?: boolean }; custom: { } }

ecosystem/shared/ecosystem.constants.ts

ApplicationState
typeof APP_STATE['keyof typeof APP_STATE']

core/forms/validate-array-elements.ts

ArrayValidationErrors
{ }
ArrayValidationErrorValue
{ isArrayError: undefined; originalKey: string; entries: Array<{ index: number; errorData: unknown }> }

widgets/implementations/asset-table/asset-table.model.ts

AssetColumnType
"alarm" | "date" | "icon" | "computed" | "default" | "operation"
AssetTableQuery
{ __filter: { __and?: any[] }; __orderby: Array<{ }> }
AssetTableRefreshOption
"interval" | "global-interval"

widgets/implementations/asset-notes/asset-notes-widget.component.ts

AssetNotesConfig
{ device: Partial<IManagedObject> }

core/common/group.service.ts

AssetPath

Asset paths.

`${ASSET_PATH}`
AssetTypes
Omit<MoTypes | "brokerSource" | "brokerSourceInactive">
GroupIcon
{ icon: SupportedIconsSuggestions; iconOpen?: SupportedIconsSuggestions; iconClass?: string }
GroupIcons
Partial<Record<MoTypes, GroupIcon>>
MoTypes
typeof MO_TYPES['number']

asset-properties/asset-properties.model.ts

AssetPropertyListConfig
{ selectedProperties?: AssetPropertyType[]; filterable?: boolean; selectMode?: "single" | "multi" | "plus" | "none"; expansionMode?: "expandedByDefault" | "collapsedByDefault" | "nonCollapsible"; showHeader?: boolean; showValue?: boolean; showKey?: boolean; emptyStateContent?: "empty" | "default-properties"; allowAddingCustomProperties?: boolean; inputPropertiesHandle?: "merge" | "override"; allowDragAndDrop?: boolean; hiddenTabs?: HiddenTabs; addAssetToProperty?: boolean }
AssetPropertyTab
keyof Required<HiddenTabs>
AssetPropertyType
BaseProperty | NestedPropertyFields
ComputedPropertyComponent
{ config: unknown; asset?: IManagedObject }
ComputedPropertyContextType
keyof ComputedPropertyContextMap
ComputedPropertyContextValue
ComputedPropertyContextMap['keyof ComputedPropertyContextMap']['value']
ComputedPropertyDefinition
ComputedPropertyDefinitionBase<TContext & TConfig> & unknown
ComputedPropertyDefinitionBase
{ name: string; prop: BaseProperty; contextType: TContext; value: any | Observable<any> | Promise<any>; injector?: Injector }
HiddenTabs
{ regular?: boolean; computed?: boolean; asset?: boolean }
ValueCallbackMetadata
{ mode?: "singleValue" | "realtime"; realtimeControl$?: Observable<boolean> }

context-dashboard/widget-config/asset-property-mappings.model.ts

AssetPropertyMapping
literal type & unknown
AssetPropertyMappingKeyRenamedNotification
{ type: asset-property-mapping-key-renamed; oldKey: string; newKey: string }
AssetPropertyMappings
{ }

ai/ai-service-agent-message-converter.ts

AssistantMessageContent
literal type | literal type
ModelMessage

The small subset needed by us from the format accepted by Vercel v6. Note that each message corresponds to one "step" - so having text after tools calls would be an error.

literal type | literal type | literal type
ModelMessageToolResultOutput

A compact summary of the format required by Vercel for passing tool outputs in ModelMessage, based on LanguageModelV*ToolResultOutput.

literal type | literal type | literal type | literal type | literal type | literal type
ToolResultContent
{ type: tool-result; toolCallId: string; toolName: string; output: ModelMessageToolResultOutput }

datapoint-selector/datapoint-attributes-form/datapoint-attributes.model.ts

AxisTypes
typeof AXIS_TYPES['"1" | "2"']['val']
ChartLineTypes
typeof CHART_LINE_TYPES['number']['val']
ChartRenderTypes
typeof CHART_RENDER_TYPES['number']['val']

core/breadcrumb/breadcrumb.service.ts

BreadcrumbExtension

An extension HOOK can use either a pure value:

Example :
 { provide: HOOK_X, useValue: { ...hookValue }, multi: true }

Or an array to directly register multiple:

Example :
 { provide: HOOK_X, useValue: [{ ...hookValues }], multi: true }

Or an ExtensionFactory which allows to define a get() function. This function gets called on each navigation with the current route and can return values async (observable or promise).

Example :
 { provide: HOOK_X, useFactory: { get: (route) => doSomethingAsync(route) }, multi: true }
Breadcrumb | Breadcrumb[] | ExtensionFactory<Breadcrumb>

core/breadcrumb/breadcrumb.model.ts

BreadcrumbFactory

Factory to implement if used in a hook for Multi Provider extension.

ExtensionFactory<Breadcrumb>
BreadcrumbItem

A crumb of the breadcrumb.

BreadcrumbItemWithComponent | BreadcrumbItemWithLabel

map/map.model.ts

C8yMarker

Leaflet marker extended with either asset or event information.

L.Marker & RequireOnlyOne<C8yMarkerAttr & "asset" | "event">
C8yMarkerAttributes

Type representing the attribute keys for a Cumulocity marker.

keyof C8yMarkerAttr
ClusterMapConfig

Configuration for the cluster map, including center and refresh interval.

MapConfig & literal type
MapConfig

General map configuration, including options for following, real-time, icon, color, zoom, pan, and bounds.

MapDefaultConfig & literal type & GlobalAutoRefreshWidgetConfig
MapStatusButtonsConfig

Configuration for the status buttons shown on the map UI.

{ autoRefresh: { show: boolean; disabled?: boolean }; refresh: { show: boolean; disabled?: boolean }; realtime: { show: boolean; disabled?: boolean }; fitToBounds: { show: boolean; disabled?: boolean }; center: { show: boolean; disabled?: boolean } }

widgets/implementations/html-widget/html-widget.model.ts

C8yProperties
Array<PathProperty | ComputedProperty>

core/asset-property/c8y-json-schema.model.ts

C8yPropertyFormat
"datetime" | "hidden" | "textarea"
C8yPropertyType
"string" | "number" | "integer" | "boolean" | "object" | "array" | "null" | "date" | "enum" | "file" | "c8y_JsonSchema" | unknown | Array<C8yPropertyType>

core/common/permissions.service.ts

CanEditConfig
{ skipRolesCheck?: boolean; skipOwnerCheck?: boolean; skipRequestCheck?: boolean }

datapoint-selector/datapoint-attributes-form/datapoint-attributes-form-validation.service.ts

ChartConfig

Minimal shape of the chart sub-object, shared by both legacy and new KPIDetails formats.

{ renderType?: string | null; renderTypes?: [] | null; renderTypeColors?: Record | null; renderTypeConfigs?: Record | null }

search/search-custom-filters.component.ts

Checkbox
{ label: string; name: string; value: boolean; indeterminate?: boolean; isDisabled?: boolean }

widgets/definitions/html-widget-ai-config/ai-html-widget-config.factory.ts

CodeChangeToolCall
ToolCallPart<{ code: string }>

branding/shared/lazy/branding-theme-form/branding-theme-form-structure.ts

Color
{ label: string; formControlName: ColorVariableName }
ColorVariableName
typeof colorBrandingVars['number']

datapoints-export-selector/datapoints-export-selector.model.ts

ColumnHeader

Represents a merged export column header, e.g. 'Temperature - 5 -> c8y_Temperature.T [ºC] (max)'

string
ColumnValueMap

Represents a mapping of column headers and their corresponding values. e.g. 'Temperature - 5 -> c8y_Temperature.T [ºC] (max)': 25

{ }
DatapointsValuesDataMap

Represents a mapping of datapoints series values. The key of the map is a source, and the value is the value data from requested series.

Map<SourceId | number | string[]>
ExportedFile
{ fileName: string; fileData: Blob }
ExportType

Export type to distinguish between different widget data structures

  • timeSeries: Timeline of measurements (one or many timestamps per datapoint)
  • latestWithDetails: Latest measurement with datapoint details (single entry per datapoint with metadata)
"timeSeries" | "latestWithDetails"
FileCompressionTypes
"STORE" | "DEFLATE"
MergedExportDetails

Represents the details unique for a merged file.

{ aggregation: AggregationOption; dateFrom: string; dateTo: string }
MinMaxValues

Represents the min and max values for a specific timestamp. Both min and max values are available only when using series API.

{ min: number; max: number }
ReadingValue
number
SourceId
string | number
TimeSeriesData
{ }
TimeStamp
string

test/test-config.helper.ts

CompilerOptions
Partial<{ providers: any[]; useJit: boolean; preserveWhitespaces: boolean }>
ConfigureFn
function

computed-asset-properties/configuration-snapshot/configuration-snapshot.model.ts

ConfigurationSnapshotConfig
literal type | literal type

global-context/integration/presets/control-presets.ts

ContextFeature
typeof CONTEXT_FEATURE['keyof typeof CONTEXT_FEATURE']
DisplayMode
GlobalContextDisplayMode
PresetDefinition
{ undefined: ContextFeature[]; undefined: ContextFeature[]; undefined: ContextFeature[]; supportsLifetime?: boolean }
PresetName
typeof PRESET_NAME['keyof typeof PRESET_NAME']

global-context/models/control-flow.model.ts

ControlConfigsMap

Type for control configs map

Partial<Record<Extract<keyof GlobalContextState, "dateTimeContext" | "aggregation" | "isAutoRefreshEnabled">, { cssClass?: string; linkTooltip?: string; unlinkTooltip?: string; icon?: string; disabled?: boolean; disabledTooltip?: string; autoUnlinked?: boolean }>>
LinkStatesMap

Type for link states map

Partial<Record<Extract<keyof GlobalContextState, "dateTimeContext" | "aggregation" | "isAutoRefreshEnabled">, boolean>>

widgets/implementations/quick-links/quick-links.model.ts

ConvertibleWidgetID
unknown | unknown | unknown
DefaultDeviceManagementQuickLinkDefinition
{ navPath: string[]; overrides?: QuickLinkOverrides }
DisplayOptionType
typeof QuickLinkDisplayOption['keyof typeof QuickLinkDisplayOption']
QuickLinksConfig
{ links: IQuickLink[]; displayOption: DisplayOptionType; translateLinkLabels: boolean }
WidgetConversionConfig
{ convertWidget: void }

events/event-details.component.ts

CustomFragment
Record<string | unknown> | null

icon-selector/custom-icon/custom-icon.model.ts

CustomIconDefinitionToBeSaved
CustomIconDefinition & literal type
CustomIconModalMode
"add" | "edit" | "override"

echart/models/chart.model.ts

CustomSeriesOptions
Omit<ModifiedCustomSeriesOptions | tooltip>

context-dashboard/widget-config.model.ts

CustomWidgetConfigNotification

An escape-hatch notification type for widget config sections that need to broadcast events not covered by the built-in notification variants. The type discriminant must be 'custom'; all additional fields are caller-defined.

{ type: custom }
WidgetConfigNotification

Discriminated union of all notifications that can be broadcast through WidgetConfigService.notify$. New built-in notification types should be added as additional union members here.

Currently supported members:

  • AssetPropertyMappingKeyRenamedNotification — emitted when an asset property mapping key is renamed so that other config sections can update references.
  • CustomWidgetConfigNotification — generic escape-hatch for custom events.

Subscribers should switch/narrow on type and ignore unknown variants to stay forward-compatible as new notification types are introduced.

AssetPropertyMappingKeyRenamedNotification | CustomWidgetConfigNotification

core/dashboard/dashboard.model.ts

DashboardCopyPermission
literal type | literal type

device-grid/device-grid.model.ts

DataCallback
function
DeviceGridExtensionFactory
Use `ActionControlFactory` instead.
ExtensionFactory<DeviceGridActionHook>

datapoint-selector/datapoint-selection.model.ts

DatapointSelectorModalAssetSelectorOptions
Omit<MillerViewComponent | "multi" | "singleColumn" | "onSelected" | "millerViewWrapper" | "columns" | "ngOnInit" | "ngOnChanges" | "addNewColumn" | "onSelectionChange">

datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.model.ts

DatapointSelectorModalOptions
Omit<DatapointSelectorModalComponent | "result" | "saveChanges" | "close" | "selectionChange">

widgets/implementations/datapoints-table/datapoints-table-widget.model.ts

DatapointsSeriesDataMap

Represents a map of datapoints series data. The key of the map is a source, and the value is the data for requested series.

Map<SourceId | ISeries>
DataPointsTableMap

Represents a mapping where the key is a datapoint identifier containing the date and device name, and the value is an array of data point table items or null.

Map<DatapointTableMapKey | unknown[]>
DatapointTableMapKey
`${TimeStamp}_${DeviceName}`
DeviceName
string
MeasurementRanges

Represents an object where key is a timestamp and value is an array where first record contains min and max values for a corresponding timestamp.

{ }
RenderType

Determines which values will be displayed as values for datapoints. e.g. if user chose 'min', only the minimum values will be displayed.

keyof typeof RENDER_TYPES_LABELS
Value

Represents a value object where key is an object with min and max properties with its corresponding values.

unknown

core/dashboard/wiget-time-context/widget-time-context.model.ts

DateContextFromToQueryParams
{ undefined: string; undefined: string; undefined?: never }
DateContextIntervalQueryParams
{ undefined?: never; undefined?: never; undefined: Interval['id'] }
InputDateContextQueryParams

Input query params is an object representing all possible query params related to widget time context. It can be provided by user typing them in browser URL address bar, so all of them should be considered.

{ undefined?: string; undefined?: string; undefined?: Interval['id']; undefined?: boolean; undefined?: aggregationType }
OutputDateContextQueryParams

Output query params is an object representing params that are applied to current URL in browser address bar. These params are set programmatically. Time context interval and time range described by date "from" and date "to" exclude each other.

unknown & literal type
WidgetDisplaySettings
{ globalTimeContext?: boolean; globalRealtimeContext?: boolean; globalAggregationContext?: boolean; globalAutoRefreshContext?: boolean }
WidgetTimeContextState
{ date: DateTimeContext; interval: Interval['id']; realtime: boolean; aggregation: aggregationType }

core/dashboard/widget-change-event.model.ts

DateTimeContext
[Date, Date]
RevertChangeType
"undo" | "redo"
WidgetChangeEvent

Type for describing widget change events. It's possible to extend this by adding additional events to discriminated union type.

TimeContextEvent
WidgetChangeEventType
WidgetChangeEvent
WidgetTimeContext
unknown | unknown

core/date-time-picker/date-time-picker.component.ts

DateType
"DateAndTime" | "Date" | "DateRange" | "SingleDateRequired" | "Time"

widgets/definitions/index.ts

DefaultWidgetIdKeys
keyof typeof defaultWidgetIds
DefaultWidgetIdValues
typeof defaultWidgetIds['DefaultWidgetIdKeys']

widgets/implementations/device-control-message/device-control-message-widget-view/device-control-message-widget-view.component.ts

DeviceControlMessageWidgetConfig
{ device?: IManagedObject }

device-list/device-list-extension.service.ts

DeviceListColumnsFactory
ExtensionFactory<Column>

widgets/implementations/scada/scada-widget-config/scada.model.ts

DisplayOption
"contain" | "full-width"
HorizontalAlignment
"left" | "center" | "right"
LegacyMapping
LegacyMappingBase | LegacyMappingComputed | LegacyMappingFieldbus
VerticalAlignment
"top" | "center" | "bottom"

core/docs/docs.models.ts

DocLink

A link on the right drawer.

DocLinkWithComponent | DocLinkWithLabel
DocLinkExtension

An extension HOOK can use either a pure value:

Example :
 { provide: HOOK_X, useValue: { ...hookValue }, multi: true }

Or an array to directly register multiple:

Example :
 { provide: HOOK_X, useValue: [{ ...hookValues }], multi: true }

Or an ExtensionFactory which allows to define a get() function. This function gets called on each navigation with the current route and can return values async (observable or promise).

Example :
 { provide: HOOK_X, useFactory: { get: (route) => doSomethingAsync(route) }, multi: true }
DocLink | DocLink[] | ExtensionFactory<DocLink>

core/drawer/drawer.model.ts

DrawerItem
RightDrawerItem | LeftDrawerItem
DrawerPositions
"left" | "right"

core/dynamic-component/dynamic-component.model.ts

DynamicComponentDefinition

A dynamic component can be defined in a the HOOK_COMPONENTS to display any kind of component dynamically just by referencing it's id. The most common use case is on dashboards, where the configComponent is used to define what is displayed on the component on the dashboard.

To use the component you can use the c8y-dynamic-component.

Example :
  <c8y-dynamic-component
    componentId="angular.widget.demo"
    [config]="{ text: 'Hello world' }"
    [mode]="editComponent ? 'config' : 'component'"
  ></c8y-dynamic-component>
DynamicComponentDefinitionBase & DynamicComponents
DynamicComponentExtension

An extension HOOK can use either a pure value:

Example :
 { provide: HOOK_X, useValue: { ...hookValue }, multi: true }

Or an array to directly register multiple:

Example :
 { provide: HOOK_X, useValue: [{ ...hookValues }], multi: true }

Or an ExtensionFactory which allows to define a get() function. This function gets called on each navigation with the current route and can return values async (observable or promise).

Example :
 { provide: HOOK_X, useFactory: { get: (route) => doSomethingAsync(route) }, multi: true }
DynamicComponentDefinition | DynamicComponentDefinition[] | ExtensionFactory<DynamicComponentDefinition>
DynamicComponents
EagerDynamicComponents | LazyDynamicComponents
DynamicWidgetDefinition
DynamicWidgetDefinitionBase & DynamicComponents
WidgetDisplaySettingsCore
{ globalTimeContext?: boolean; globalRealtimeContext?: boolean; globalAggregationContext?: boolean; globalAutoRefreshContext?: boolean }

core/provider-configuration/model/dynamic-provider-config.model.ts

DynamicProviderNavigationConfig
NavigatorNodeData & literal type
DynamicProviderTabsConfig
TabWithTemplate<string> & literal type

computed-asset-properties/event-count/event-count.model.ts

EventCountConfig
{ type: string }

events/events.model.ts

EventListFormFilters
{ selectedDates?: DateTimeContext; interval?: AlarmFilterInterval['id'] }
EventNavigationOptions

Represents the navigation options for the events list component.

{ allowNavigationToEventsView: boolean; alwaysNavigateToAllEvents: boolean; queryParamsHandling: QueryParamsHandling }
WidgetTimeContextStateExtended
{ date: DateTimeContext; interval: AlarmFilterInterval['id'] }

widgets/import-export-config/shared-helpers.ts

ExportedAsset
IManagedObject & literal type
ImportedAsset
IManagedObject & literal type

widgets/import-export-config/device-import-export.ts

ExportedConfigWithAsset

Configuration with exported asset information

Omit<T & device> & literal type
ImportedConfigWithAsset

Configuration with imported asset information

Omit<T & device> & literal type

widgets/import-export-config/target-import-export-types.ts

ExportedConfigWithTargets

Configuration type with target objects prepared for export

WithExportedTargets<T>
ExportedTargetObject

Represents a target-based object with export information

Omit<T & __target> & literal type
ImportedConfigWithTargets

Configuration type with target objects prepared for import

WithImportedTargets<T>
ImportedTargetObject

Represents a target-based object with import information

Omit<T & __target> & literal type
TargetObjectArray

Helper type to identify arrays of objects with __target property

WithTarget[]
WithExportedTargets

Transforms a type to replace arrays of objects with __target property to ExportedTargetObject[]

unknown
WithImportedTargets

Transforms a type to replace arrays of objects with __target property to ImportedTargetObject[]

unknown

computed-asset-properties/fieldbus-item-status/fieldbus-item-status-config.component.ts

FieldbusItemsGroup
{ type: "c8y_Coil" | "c8y_Register"; label: string; items: unknown[] }

global-context/core/widget-inline/orchestrator/config-composer.util.ts

FieldSource
unknown | unknown
FieldSourcesMap
Partial<Record<keyof GlobalContextState, FieldSource>>

core/data-grid/filter-chip/filter-mapper.factory.ts

FilterMapperExtension

An extension HOOK can use either a pure value:

Example :
 { provide: HOOK_X, useValue: { ...hookValue }, multi: true }

Or an array to directly register multiple:

Example :
 { provide: HOOK_X, useValue: [{ ...hookValues }], multi: true }
  • Or a class to register:
Example :
 { provide: HOOK_X, useExisting: BooleanFilterMapper, multi: true }

Or an ExtensionFactory ExtensionFactory:

Example :
 { provide: HOOK_X, useFactory: (route) => doSomethingAsync(route), multi: true }
FilterMapper | FilterMapper[] | ExtensionFactory<FilterMapper>

core/forms/form-group-config.model.ts

FormGroupConfig

Helper type for form group configuration based on a given entity interface. Ensures that model changes will be detected at compile time avoiding runtime errors and possible data loss.

unknown

core/common/forOf.model.ts

ForOfFilterPipe
UnaryFunction<Observable<T[]> | Observable<T[]>>

core/common/extension-hooks.ts

GenericHookType
T | T[] | Type<ExtensionFactory<T>>
HookValueType
T | T[] | Type<T>

core/dashboard/widget-auto-refresh-context/widget-auto-refresh-context.model.ts

GlobalAutoRefreshQueryParam
{ undefined: boolean }

core/data-grid/data-grid-configuration.model.ts

GridConfigFilter

Defines the various options to define if a given part from the data grid configuration will be omited when configuration is persisted. A truthy or missing value means that the given configuration part will be persisted. A falsy value means that the configuration part will not be persisted.

unknown
GridConfigPart

Defines the various types of configuration options for data grid component.

"filter" | "sort" | "customColumns" | "order" | "visibility"
GridEventType

Defines the various types of configuration change events the data grid component can emit.

"filter" | "sort" | "pagination" | "addCustomColumn" | "removeCustomColumn" | "reorderColumn" | "changeColumnVisibility"

global-context/integration/widget-controls/guards.ts

GuardState

Type alias for handler state parameter used in guards Using WidgetState since GuardState is a subset of it

WidgetState

global-context/features/configuration/history-mode-configuration-controls/history-mode-configuration-controls.component.ts

HistoryModeFormValue

Internal form shape — includes transient auto-aggregation fields not in GlobalContextState.

{ dateTimeContext: DateTimeContext; aggregation: aggregationType | null; autoAggregationEnabled: boolean; autoAggregationDatapoints: number; autoAggregationKeepDataOnZoomIn: boolean }

icon-selector/custom-icon/import-custom-icons-modal/import-custom-icons-modal.component.ts

ImportState
"idle" | "previewing" | "importing"

core/stepper/stepper.model.ts

IndexedStep

Can be used to mark a step as completed and adds the current index to the step.

Step & literal type

global-context/features/configuration/configuration-controls/configuration-controls.component.ts

InlineTab
TabWithTemplate & literal type

dashboard-details-advanced-tab/dashboard-json-editor/json-validation.service.ts

JSONValidationError
{ message: string; path: string }

widgets/implementations/kpi/kpi-widget.model.ts

KpiState
{ latestMeasurement: MeasurementValue; previousValue: MeasurementValue | undefined; trend: string; unit: string; colorClass: ColorClass }

computed-asset-properties/last-measurement/last-measurement.model.ts

LastMeasurementConfig
{ dp: KPIDetails[]; resultType: number; numberOfDecimalPlaces?: number }

ecosystem/shared/ecosystem.model.ts

LicensedApplicationPlugin
Pick<ApplicationPlugin | "type" | "license" | "name" | "version" | "contextPath">

widgets/implementations/linear-gauge/linear-gauge.model.ts

LinearGaugeWidgetConfig
{ datapoints: KPIDetails[]; fractionSize: number; orientation?: "horizontal" | "vertical" | null }

core/common/load-more.model.ts

LoadMoreMode

The mode for components using infinite scroll:

  • auto: Tries to automatically load more data;
  • show: Shows a load more button for the user to decide;
  • none: Doesn't perform any load more action;
  • hidden: Loads more data automatically but with no visible button for the user.
"auto" | "show" | "none" | "hidden"

loriot-device-registration/loriot-device-registration.component.ts

LoriotState
"loadPending" | "loadSuccess" | "loadError" | "registrationPending" | "registrationSuccess" | "registrationError"

protocol-lpwan/multiple-lns-connectors/multiple-lns-connector.model.ts

LpwanState
"loadingConnection" | "loadingError" | "connectionAvailable" | "connectionNotAvailable" | "addConnections" | "savedSuccessfully" | "updateConnection"

core/common/global-config.service.ts

ManagedObjectTypeForConfig
"c8y_Software" | "c8y_Firmware" | "c8y_ConfigurationDump" | "c8y_ModbusDeviceType" | "c8y_CANopenDeviceType" | "c8y_LoraDeviceType" | "c8y_SigfoxDeviceType" | "c8y_DeviceShellTemplate" | "c8y_Profile"

device-protocol-object-mappings/default-object-mapping-types/index.ts

MappingConfig
{ icon: string; label: string; tooltip?: string; formlyFieldConfig?: FormlyFieldConfig; disabled?: boolean; buttonType?: "checkbox" | "switch" | "none" }

widgets/implementations/markdown/markdown-widget.model.ts

MarkdownSourceType
typeof MarkdownSourceType['keyof typeof MarkdownSourceType']
MarkdownWidgetFormGroup
FormGroup<{ contentUrl: FormControl<string>; droppedFile: FormControl<[] | null>; uploadChoice: FormControl<MarkdownSourceType> }>

datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/utils.service.ts

Measurement
number | literal type

messaging-management/api/model/namespaceDetails.ts

MessagingNamespaceDetails
{ id: string; namespace?: MessagingNamespace; policies?: MessagingNamespacePolicies }

messaging-management/api/model/subscriberFilters.ts

MessagingSubscriberFilters

Filters for subscribers list.

literal type & Pageable & Sortable

messaging-management/api/model/subscriberToDelete.ts

MessagingSubscriberToDelete

Data necessary for deleting a subscriber.

MessagingSubscriber & literal type

messaging-management/api/model/topicDetailFilters.ts

MessagingTopicDetailFilters

Filters for topics list.

{ tenant: string; namespace: string; topic: string; type: MessagingTopicType }

messaging-management/api/model/topicListFilters.ts

MessagingTopicListFilters

Filters for topics list.

literal type & Pageable & Sortable

echart/services/chart-realtime.service.ts

Milliseconds
number

messaging-management/utils/namespace-props.ts

NamespaceProps
{ icon: string; label: string }

core/navigator/navigator.service.ts

NavigatorExtension

An extension HOOK can use either a pure value:

Example :
 { provide: HOOK_X, useValue: { ...hookValue }, multi: true }

Or an array to directly register multiple:

Example :
 { provide: HOOK_X, useValue: [{ ...hookValues }], multi: true }

Or an ExtensionFactory which allows to define a get() function. This function gets called on each navigation with the current route and can return values async (observable or promise).

Example :
 { provide: HOOK_X, useFactory: { get: (route) => doSomethingAsync(route) }, multi: true }
NavigatorNode | NavigatorNode[] | ExtensionFactory<NavigatorNode>

core/navigator/navigator-node-factory.interface.ts

NavigatorNodeFactory

Factory enabling extension of the navigator menu through the HOOK_NAVIGATOR_NODES hook. Refer to Libraries > Component library > Extension points in our Web SDK guide.

Example :
export class ExampleNavigatorFactory implements NavigatorNodeFactory {
  get() {
    const navs: NavigatorNode[] = [];
    navs.push(
      new NavigatorNode({
        label: 'Hello',
        icon: 'rocket',
        path: '/hello',
        priority: 100
      })
    );
    return navs;
  }
}
ExtensionFactory<NavigatorNode>

device-protocol-object-mappings/index.ts

ObjectMappingsValidationObject
{ dirty: boolean; touched: boolean; valid: boolean }

operations/bulk-operation-list-item/bulk-operation-list-item.model.ts

OperationStatusOptionsMap
unknown

operations/shared/operations.model.ts

OperationStatusOptionsMapShared
unknown

messaging-management/api/model/pageable.ts

Pageable

Paging query parameters.

{ pageSize?: number; currentPage?: number }

messaging-management/api/model/pageStatistics.ts

PageStatistics

Pagination statistics.

{ currentPage?: number; pageSize?: number; totalPages?: number; totalElements?: number }

default-subscriptions/default-subscriptions.model.ts

PartialAppsList

The list of partial application objects.

Array<Partial<IApplication>>

global-context/integration/widget-controls/widget-controls-presets.helpers.ts

PartialWidgetControls
Partial<WidgetControls> & literal type

core/authentication/password-validation.service.ts

PasswordErrorKey
"password" | "passwordSimple"
PasswordValidationResult
literal type | literal type

core/common/tenant-ui.service.ts

PasswordStrengthSettings
Required<Pick<ITenantLoginOption, "enforceStrength" | "greenMinLength" | "strengthValidity">>

core/preview-feature/preview-feature.model.ts

PreviewFeature
PreviewFeatureCustom | PreviewFeatureDefault

tenants/custom-properties/custom-properties.service.ts

PropertiesType
{ }

device-provisioned-certificates/device-tab-provisioned-certificates.component.ts

ProvisionedCertificate
{ serialNumber: string; notBefore: string; notAfter: string }

core/query-param-handler/query-param-modal-handler.service.ts

QueryParamModalConfig
QueryParamModalConfigLazy | QueryParamModalConfigEager

core/realtime/realtime.model.ts

RealtimeAction
"UPDATE" | "DELETE" | "CREATE"

global-context/models/auto-refresh.model.ts

RefreshOption
typeof REFRESH_OPTION['keyof typeof REFRESH_OPTION']

register-device/dropdown/register-device-extension.service.ts

RegisterDeviceExtension

An extension HOOK can use either a pure value:

Example :
 { provide: HOOK_X, useValue: { ...hookValue }, multi: true }

Or an array to directly register multiple:

Example :
 { provide: HOOK_X, useValue: [{ ...hookValues }], multi: true }

Or an ExtensionFactory which allows to define a get() function. This function gets called on each navigation with the current route and can return values async (observable or promise).

Example :
 { provide: HOOK_X, useFactory: { get: (route) => doSomethingAsync(route) }, multi: true }
RegisterDeviceItem | RegisterDeviceItem[] | ExtensionFactory<RegisterDeviceItem>

register-device/dropdown/RegisterDeviceItem.ts

RegisterDeviceFactory

Factory to implement if used in a hook for Multi Provider extension.

ExtensionFactory<RegisterDeviceItem>

remote-access/terminal-viewer/host-key.model.ts

RemoteAccessControlFrame
HostKeyProbeMessage | HostKeyErrorMessage

replace-device/replace-device-wizard/replace-device-wizard.model.ts

ReplaceDeviceStepState
typeof REPLACE_DEVICE_STEP_STATES['number']
ReplaceDeviceStepStatesMap
unknown

repository/shared/repository.model.ts

RepositoryBinary
FirmwareBinary | SoftwareBinary | FirmwarePatchBinary

core/router/router.model.ts

Route

A route that can be added via the HOOK_ROUTE.

RouteDefault | RouteWithTab | RouteWithComponent
RouteFactory
Route | Route[] | ExtensionFactory<Route>
ViewContextRootRoute

A ViewContext base route.

Route & literal type

core/router/router.service.ts

RouteExtension

An extension HOOK can use either a pure value:

Example :
 { provide: HOOK_X, useValue: { ...hookValue }, multi: true }

Or an array to directly register multiple:

Example :
 { provide: HOOK_X, useValue: [{ ...hookValues }], multi: true }

Or an ExtensionFactory which allows to define a get() function. This function gets called on each navigation with the current route and can return values async (observable or promise).

Example :
 { provide: HOOK_X, useFactory: { get: (route) => doSomethingAsync(route) }, multi: true }
Route | Route[] | ExtensionFactory<Route>

global-context/services/infrastructure/global-context-navigation.service.ts

RoutePath

Type definition for supported route path values.

typeof ROUTE_PATHS['keyof typeof ROUTE_PATHS']

core/search/search.model.ts

SearchFactory

Factory to implement if used in a hook for Multi Provider extension.

ExtensionFactory<Search>

core/select/select.model.ts

SelectableItem
{ label: string; value: T }
SelectableItemTemplate
SelectableItem & literal type
selectedFunction
function
selectedLabelFunction
function

sigfox-device-registration/sigfox-device-registration.component.ts

SigfoxState
"loadPending" | "loadSuccess" | "loadError" | "registrationPending" | "registrationSuccess" | "registrationError"

core/drop-area/drop-area.component.ts

SizeInBytes
number
SizeInMegaBytes
number

messaging-management/api/model/sortable.ts

Sortable

Sorting query parameters.

{ sort?: string }

static-assets/data/static-assets.model.ts

StaticAssetType
"branding" | "translation"

core/common/status.model.ts

StatusType
Status | "success" | "warning" | "danger" | "info"

core/stepper/stepper.service.ts

StepperExtension

An extension HOOK can use either a pure value:

Example :
 { provide: HOOK_X, useValue: { ...hookValue }, multi: true }

Or an array to directly register multiple:

Example :
 { provide: HOOK_X, useValue: [{ ...hookValues }], multi: true }

Or an ExtensionFactory which allows to define a get() function. This function gets called on each navigation with the current route and can return values async (observable or promise).

Example :
 { provide: HOOK_X, useFactory: { get: (route) => doSomethingAsync(route) }, multi: true }
Step | Step[] | ExtensionFactory<Step>

core/common/inter-app.service.ts

SupportedAppKey
typeof SupportedApps['keyof typeof SupportedApps']

icon-selector/icons/index.ts

SupportedIcons
typeof allIcons['number']['icons']['number']['number']
SupportedIconsSuggestions
SupportedIcons | unknown

core/tabs/tab.model.ts

Tab

An tab allows to switch routes on a page or provide an additional component.

If used for switching route, the router link can be provided as string or any[], as supported in the routerLink directive.

TabWithTemplate<T> | TabWithComponent
TabFactory

Factory to implement if used in a hook for Multi Provider extension.

ExtensionFactory<Tab>
TabOrientation

Type alias for tab orientation.

"horizontal" | "vertical"

core/tabs/tabs.service.ts

TabExtension

An extension HOOK can use either a pure value:

Example :
 { provide: HOOK_X, useValue: { ...hookValue }, multi: true }

Or an array to directly register multiple:

Example :
 { provide: HOOK_X, useValue: [{ ...hookValues }], multi: true }

Or an ExtensionFactory which allows to define a get() function. This function gets called on each navigation with the current route and can return values async (observable or promise).

Example :
 { provide: HOOK_X, useFactory: { get: (route) => doSomethingAsync(route) }, multi: true }
Tab | Tab[] | ExtensionFactory<Tab>

tenants/tenant-limits/tenant-limits-definitions.ts

TenantLimitsCustomPropertiesKeys
keyof typeof tenantLimitsCustomPropertiesDefinition

tenants/tenants.model.ts

TenantManagementActionType
typeof PRODUCT_EXPERIENCE_TENANT_MANAGEMENT.ACTIONS['keyof typeof PRODUCT_EXPERIENCE_TENANT_MANAGEMENT.ACTIONS']
TenantManagementResultType
typeof PRODUCT_EXPERIENCE_TENANT_MANAGEMENT.RESULTS['keyof typeof PRODUCT_EXPERIENCE_TENANT_MANAGEMENT.RESULTS']

tenants/tenant-form/tenant-form-inputs-definitions.ts

TenantPropertiesKeys
keyof typeof tenantPropertiesDefinitions

core/ui-settings/theme-switcher.service.ts

ThemeOptions
"light" | "dark"
ThemePreferenceOptions
ThemeOptions | "system"

echart/services/echarts-options.service.ts

TooltipPositionCallback
function

ecosystem/application-plugins/apps-to-update-remotes-select.model.ts

UpdateType
"install" | "uninstall"

core/file-picker/file-picker.component.ts

UploadChoice
"uploadBinary" | "uploadUrl" | "provided" | "editInline"

repository/configuration/list/configuration-detail.component.ts

UploadChoice
"uploadBinary" | "uploadUrl" | "editInline"

data-broker/model/data-broker.subscription.model.ts

UserStatusPartial
Required<Pick<IUser, "id" | "enabled">>

global-context/core/widget-inline/orchestrator/shared-mode-orchestrator.types.ts

VisibilityContext
WidgetSettingsResult

dashboard-details-advanced-tab/advanced-tab.model.ts

WidgetAssetToAlign
{ widgetId: string; title: string; deviceRef: { path: string[]; value: IManagedObject & { suggestedDevice?: IManagedObject } } }

global-context/services/domain/widget-config-migration.service.ts

WidgetConfig

Widget config that may contain legacy fields, already-migrated fields, or both. Real-world widget configs commonly have a mix during the migration window.

refreshOption and aggregation are omitted from the migrated side because their legacy and migrated value sets differ (e.g. legacy 'NONE' aggregation, lowercase refresh modes); the wider string types from LegacyWidgetConfig cover both.

LegacyWidgetConfig & Omit<Partial<GlobalContextState> & "refreshOption" | "aggregation">

context-dashboard/widget-config-hook/widget-config-hook.model.ts

WidgetConfigSectionExtension

An extension HOOK can use either a pure value:

Example :
 { provide: HOOK_X, useValue: { ...hookValue }, multi: true }

Or an array to directly register multiple:

Example :
 { provide: HOOK_X, useValue: [{ ...hookValue1 }, { ...hookValue2 }], multi: true }

Or an ExtensionFactory which allows to define a get() function. This function gets called on each navigation with the current route and can return values async (observable or promise).

Example :
 { provide: HOOK_X, useFactory: { get: (route) => doSomethingAsync(route) }, multi: true }
WidgetConfigSectionDefinition | WidgetConfigSectionDefinition[] | ExtensionFactory<WidgetConfigSectionDefinition>

global-context/integration/widget-controls/widget-controls-presets.ts

WidgetControlsPresetDefinition
{ name: WidgetPresetName; exclusiveGroup?: string; build: PartialWidgetControls }
WidgetPresetName

Identifier for a built-in widget controls preset. Each preset encapsulates a reusable configuration that can be composed with others.

"default" | "defaultWithAggregation" | "scrollHandlers"
WidgetPresetSelection

Union describing how presets can be selected. Consumers can provide an ordered array (preserving order of application) or a flag map where truthy entries are included in insertion order.

WidgetPresetName[] | Partial<Record<WidgetPresetName, boolean>>

global-context/integration/widget-controls/widget-controls-factory.ts

WidgetFeature
"liveRefresh" | "refreshInterval" | "timeRange" | "dataAggregation" | "displayMode" | "refreshOption" | unknown

widgets/widget-providers/index.ts

WidgetId

Type representing all available widget IDs that can be configured This ensures type safety when specifying widget IDs

DefaultWidgetIdValues

core/common/interval-based-reload.abstract.ts

WidgetType
typeof WIDGET_TYPE_VALUES['keyof typeof WIDGET_TYPE_VALUES']

core/wizard/wizard.model.ts

WizardExtension
WizardEntry | WizardEntry[] | ExtensionFactory<WizardEntry>

core/common/zip.service.ts

ZipEntry
Entry

results matching ""

    No results matching ""