Skip to main content

CustomItem Class

A custom item that allows you to implement and embed any additional items into the Web Dashboard.

#Declaration

TypeScript
export class CustomItem extends DataDashboardItem

#Remarks

In addition to numerous built-in dashboard items, you can implement and embed your own items into the Web Dashboard - custom items.

The image below demonstrates the FunnelD3 custom item that supports data binding, master filtering, and coloring:

CustomItem_Funnel_Main

You can find and download the full example on GitHub:

View Example: ASP.NET Core View Example: Angular View Example: React

Refer to the following topic for more information on custom items: Custom Item.

#constructor(_meta)

Initializes a new instance of the CustomItem class with specified settings.

#Declaration

TypeScript
constructor(
    _meta: DevExpress.Dashboard.Model.ICustomItemMetaData,
    modelJson?: any,
    serializer?: DevExpress.Analytics.Utils.ModelSerializer
)

#Parameters

Name Type Description
_meta ICustomItemMetaData
modelJson any

A JSON object used for dashboard deserialization. Do not pass this parameter directly.

serializer ModelSerializer

An object used for dashboard deserialization. Do not pass this parameter directly.

#Properties

#coloringDimensions Property

#Declaration

TypeScript
coloringDimensions: ko.ObservableArray<DevExpress.Dashboard.Model.DataItemLink>

#Property Value

Type
ObservableArray<DataItemLink>

#coloringMeasures Property

#Declaration

TypeScript
coloringMeasures: ko.ObservableArray<DevExpress.Dashboard.Model.DataItemLink>

#Property Value

Type
ObservableArray<DataItemLink>

#coloringOptions Property

#Declaration

TypeScript
coloringOptions: DevExpress.Dashboard.Model.DashboardItemColoringOptions

#Property Value

Type
DashboardItemColoringOptions

#colorScheme Property

#Declaration

TypeScript
colorScheme: ko.ObservableArray<DevExpress.Dashboard.Model.ColorSchemeEntry>

#Property Value

Type
ObservableArray<ColorSchemeEntry>

#customBindings Property

#Declaration

TypeScript
get customBindings(): Array<DevExpress.Dashboard.Model.ICustomItemBinding>

#Property Value

Type
ICustomItemBinding[]

#customInteractivity Property

#Declaration

TypeScript
get customInteractivity(): any

#Property Value

Type
any

#customItemType Property

#Declaration

TypeScript
customItemType: ko.Observable<string>

#Property Value

Type
Observable<string>

#customMetadata Property

#Declaration

TypeScript
customMetadata: {}

#interactivityOptions Property

#Declaration

TypeScript
interactivityOptions: any

#Property Value

Type
any

#interactivityTargets Property

#Declaration

TypeScript
interactivityTargets: ko.ObservableArray<DevExpress.Dashboard.Model.DataItemLink>

#Property Value

Type
ObservableArray<DataItemLink>

#ItemType Property

#Declaration

TypeScript
static ItemType: string

#Property Value

Type
string

#legacyCustomProperties Property

#Declaration

TypeScript
get legacyCustomProperties(): Array<DevExpress.Dashboard.Model.ICustomItemProperty>

#Property Value

Type
ICustomItemProperty[]

#sliceTables Property

#Declaration

TypeScript
sliceTables: ko.ObservableArray<DevExpress.Dashboard.Model.SliceTable>

#Property Value

Type
ObservableArray<SliceTable>

#Methods

#getBindingValue(propertyName) Method

#Declaration

TypeScript
getBindingValue(
    propertyName: string,
    index?: number
): Array<DevExpress.Dashboard.Model.ICustomItemBindingValue>

#Parameters

Name Type
propertyName string
index number

#Returns

Type
ICustomItemBindingValue[]

#getInfo Method

#Declaration

TypeScript
getInfo(): DevExpress.Analytics.Utils.ISerializationInfoArray

#Returns

Type
ISerializationInfoArray

#getPropertyInfo(p) Method

#Declaration

TypeScript
static getPropertyInfo(
    p: DevExpress.Dashboard.Model.ICustomItemProperty
): DevExpress.Dashboard.Metadata.IDashboardSerializationInfo

#Parameters

Name Type
p ICustomItemProperty

#Returns

Type
IDashboardSerializationInfo

#isDrillDownAllowed Method

#Declaration

TypeScript
isDrillDownAllowed(): boolean

#Returns

Type
boolean

#isFilterAllowed Method

#Declaration

TypeScript
isFilterAllowed(): boolean

#Returns

Type
boolean

#iterateData(action) Method

#Declaration

TypeScript
iterateData(
    action: (item: DevExpress.Dashboard.Model.ICustomDataRow) => any,
    sliceTableName?: string
): void

#Parameters

Name Type
action (item: ICustomDataRow) => any
sliceTableName string