Skip to main content

Types

AccessLog

PropertyTypeDescription
idstring
lastOpenednumber

Action

The Redux actions dispatched by Atoti UI to update its state.

ActionProps

ActiveToolChangedAction

Redux action to change the active tool tab. See activeToolKey in State.

PropertyTypeDescription
toolKeystring | null
type"activeToolChanged"

ActiveToolChangedAndDataModelExpandedAction

Redux action to expand the data model and change the active tool. See activeToolKey in State.

PropertyTypeDescription
toolKeystring | null
type"activeToolChangedAndDataModelExpanded"

Activity

Information about the past usage of Atoti by the current user. Useful to provide shortcuts to recently used elements, and more. Regroups all pieces of information stored on the Content Server, belonging to a user and which are not settings.

PropertyTypeDescription
lastUsedCube{
   cubeName: CubeName;
   serverKey: string;
}
The name and the server key of the last cube selected by the user. It controls which cube is targeted when creating a new widget.
recentlyOpenedDashboardsAccessLog[]The ids of the dashboards recently opened by the current user, ordered by last opened
userFiltersFilter<T>[]Filters attached to the current user and applying to all dashboards she visits.
userQueryContextQueryContextEntry[]Query context attached to the current user and applying to all dashboards they visit.

ADataModelNode

A node in a data model tree, under a cube.

PropertyTypeDescription
captionstring
dragItemany
isActionableboolean
isDisabledboolean
isFolderboolean
cubeNamestring
serverKeystring

AFieldStyle

The style applied to the values of a Measure or the members of a Hierarchy in the target widget.

PropertyTypeDescription
dateFormatstring
numberFormatNumberFormat
numberOfDecimalsnumber

AFilter

A filter is always contextual to a hierarchy

HierarchyCoordinates & {
   isExclusionFilter?: boolean;
   isPinned?: boolean;
   pinnedFilterWidth?: number;
   nonVisualTotals?: boolean;
}

AllMeasuresInMapping

A tile in the widget mapping, representing all measures.

PropertyTypeDescription
type"allMeasures"

Allowlist

A list of strings representing allowed entities, e.g. which tools should be shown in Atoti, or "*" if there are no restrictions.

  • T[]
  • "*"

AMdxCompoundIdentifier

The common attributes shared by all types of MdxCompoundIdentifier.

PropertyTypeDescription
elementType"CompoundIdentifier"
identifiersMdxIdentifier[]

AMetaData

PropertyTypeDescription
isFolderboolean
namestring

ANode

PropertyTypeDescription
captionstring
dragItemany
isActionableboolean
isDisabledboolean
isFolderboolean

APlugin

Type extended by every plugin type. Each plugin must specify its key and can come with its own translations.

PropertyTypeDescription
keystring
translations{
   [locale: string]: TranslationTree<string>;
}

ApplicationMenu

A menu that is displayed in the header of the application.

ApplicationMenuItem

A menu item that is displayed in the header of the application.

PropertyTypeDescription
keystring
MethodDescription
useMenuItem

ApplicationSubMenu

A submenu within the menu in the header of the application. The children can be more submenus, or menu items.

PropertyTypeDescription
keystring
childrenApplicationMenu[]
MethodDescription
useMenuItem

Argument

  • "PLACE_HOLDER" /** * boolean, int, double, date, … */
  • "SCALAR" /** * function keyword */
  • "KEYWORD" /** * string (means will be surrounded by single quotes) */
  • "STRING"

AtotiClient

Provides methods to interact with an Atoti server:

  • Allows to run MDX queries via a websocket.

  • Allows to perform REST calls.

PropertyTypeDescription
serverVersionstringThe server's version.
serviceVersionServiceVersionThe version of the APIs offered by the server's REST and websocket endpoints.
urlstringThe server's URL.
calculatedMembers{
   [cubeName: string]: {
     calculatedMembers?: {
       [name: string]: {
         owners: string[];
         readers: string[];
      };
    };
     isLoading: boolean;
     error?: Error;
  };
}
The list of calculated members per cube, if they are already loaded. See loadCalculatedMembers.
connectionStatusConnectionStatusThe current connection status of the client.
dataModelDataModel | undefinedThe DataModel if it is already loaded. See loadDataModel.
dataModelLoadingErrorDataModelLoadingError | undefinedThe error received from the server in case the data model could not be loaded.
drillthroughColumns{
   [cubeName: string]: {
     drillthroughColumns?: DrillthroughColumn[];
     isLoading: boolean;
     error?: Error;
  };
}
The list of DrillthroughColumn per cube, if they are already loaded. See loadDrillthroughColumns.
isDataModelLoadingbooleanWhether the DataModel is still loading.
MethodDescription
connectAsynchronously connects the client to the Atoti server's query streaming service. Resolves immediately if the client is already connected.
createCalculatedMemberAsynchronously creates a calculated member in the cube identified by cubeName.
createKpiAsynchronously creates a Kpi in the cube identified by cubeName.
deleteCalculatedMemberAsynchronously deletes a calculated member from the cube identified by cubeName.
deleteKpiAsynchronously deletes a Kpi from the cube identified by cubeName.
disconnectDisconnects the client from the Atoti server's query streaming service.
getQueryReturns the Query identified by queryId if it exists.
getQueryResultReturns the latest QueryResult for the Query identified by queryId.
loadCalculatedMembersAsynchronously returns the calculated members defined in the cube identified by cubeName. The loaded calculated members are then accessible using addCalculatedMembersListener.
loadDataModelAsynchronously loads the DataModel, making it available through AtotiClient. Can be called several times to load an up-to-date version.
loadDrillthroughColumnsAsynchronously loads the list of DrillthroughColumn for cube cubeName, making it available through AtotiClient.
refreshQueryRe-executes a paused query once.
setQueryUpdates the Query identified by queryId or register it if it did not exist. Marks the query as loading and sends a message to the server.
subscribeToCalculatedMembersRegisters callback to be called when the calculated members of the cube identified by cubeName change.
subscribeToConnectionStatusRegisters callback to be called whenever the client status changes.
subscribeToDataModelRegisters callback to be called whenever the data model changes.
subscribeToDrillthroughColumnsRegisters callback to be called whenever the drillthrough columns change.
subscribeToQueryRegisters callback to be called whenever the Query identified by queryId is updated.
subscribeToQueryResultRegisters callback to be called whenever a new QueryResult is received for the Query identified by queryId.
updateCalculatedMemberAsynchronously updates a calculated member in the cube identified by cubeName.

AttributeRole

Attribute roles define what happens when the user switches from one type of widget to another. For instance, when the user switches from a pivot table to a line chart, the fields belonging to each role are mapped to the attributes of the same role in the target widget.

In the case of a line chart xAxis is primaryOrdinal, values is primaryNumeric, splitBy is secondaryOrdinal and secondaryValues (values mapped to the secondary Y axis) is secondaryNumeric. In the case of a pivot table rows is primaryOrdinal, measures is primaryNumeric and columns is secondaryOrdinal.

  • "primaryNumeric"
  • "primaryOrdinal"
  • "secondaryNumeric"
  • "secondaryOrdinal"
  • "subplot"

AWidgetState

The state of any widget. Note that each individual widget plugin typically extends this type. If linked to a saved widget, contains a reference to its id and the version that was used when the copy was made. See WidgetMetaData

IsLinkedToSavedWidget extends true ? AWidgetState<T, false> & {
   version: number;
   id: string;
   hasDivergedFromOriginal: boolean;
} : {
   isFullScreen?: boolean;
   filters?: Filter<T>[];
   queryContext?: QueryContextEntry[];
   name?: string;
   widgetKey: string;
   behavior?: WidgetBehavior;
}

Axis

PropertyTypeDescription
hierarchies{
   dimension: DimensionName;
   hierarchy: HierarchyName;
}[]
idAxisId
maxLevelPerHierarchynumber[]
positionsMember[][]
rangeAxisRange

AxisId

  • -1
  • 0
  • 1
  • 2
  • 3
  • 4

AxisName

  • "SLICER"
  • "COLUMNS"
  • "0"
  • "ROWS"
  • "1"
  • "PAGES"
  • "CHAPTERS"
  • "SECTIONS"

AxisRange

PropertyTypeDescription
fromnumber
tonumber
axisLengthnumber
entireAxisboolean

BasicDashboardProps

PropertyTypeDescription
activePageKeystring
classNamestring
initialPageStateOmit<DashboardPageState, "name">
isExportingToPDFboolean
LeafComponentComponentType<LeafProps>
onActivePageChange(newActivePageKey: string) => void
onChange(newState: DashboardState) => void
onLoaded() => void
onWidgetSelected(newSelectedLeafKey: string) => void
selectedLeafKeystring
stateDashboardState
styleCSSProperties
tabBarExtraContentReactNode
tabsBarLeftExtraContentReactNode

Catalog

PropertyTypeDescription
cubesT extends "raw" ? Cube<"raw">[] : {
   [cubeName: string]: Cube<"indexed">;
}
namestring

CatalogNode

A data model tree node representing a catalog

PropertyTypeDescription
captionstring
dragItemany
isActionableboolean
isDisabledboolean
isFolderboolean
type"catalog"

Cell

PropertyTypeDescription
formattedValuestring
ordinalnumber
properties{
   [key in CellProperty]?: null | string | number | undefined;
}
valuenumber | string

CellPlugin

Plugin useful for cell Components usable on table widgets.

PropertyTypeDescription
keystring
translations{
   [locale: string]: TranslationTree<string>;
}
CellForwardRefExoticComponent<PropsWithRef<CellPropsType>>

CellPluginForCellSetTable

Most used variant of CellPlugin, suitable for table widgets representing a CellSet.

CellPlugin<CellSetTableCellProps>

CellProperty

Properties attached to each cell in a CellSet.

In Atoti UI, these properties are used for styling.

See https://learn.microsoft.com/en-us/analysis-services/multidimensional-models/mdx/mdx-cell-properties-using-cell-properties?view=asallproducts-allversions

  • "BACK_COLOR"
  • "FORE_COLOR"
  • "FONT_NAME"
  • "FONT_FLAGS"
  • "FONT_SIZE"
  • "FORMAT_STRING"

CellProps

Type extended by the props of CellPlugin Cell components.

PropertyTypeDescription
captionstring
classNamestring
columnIndexnumber
heightnumber
isColumnFrozenboolean
isRowFrozenboolean
isVirtualizedboolean
leftnumber
parentTotalRowIndexnumber
rowIndexnumber
size"small" | "medium" | "large"
styleCSSProperties
topnumber
valuestring | number
widthnumber
wrapTextboolean

CellSet

PropertyTypeDescription
axesAxis[]
cellsCell[]
cubeCubeName
defaultMembersDefaultMember[]
epochnumber

CellSetAxesSelection

The tuples and levels corresponding to the selected positions (which can be headers in a table or ticks on a chart's axes).

  • { id: AxisId; hierarchies?: (LevelCoordinates
  • {
       dimensionName: "Measures";
       hierarchyName: "Measures";
    })[];
    positions?: Tuple[];
    positionIndices?: number[];
    }[]

CellSetCellsSelection

The tuple and value corresponding to each selected Cell (which can be body cells in a table, or points on a chart).

  • { tuple: Tuple; value?: number
  • string; }[]

CellSetSelection

A selection of cells, positions and levels in a CellSet.

{
   axes?: CellSetAxesSelection;
   cells?: CellSetCellsSelection;
}

CellSetTableBodyCellProps

The props of body cells in a CellSetTable.

LoadingTableCellProps & DerivedCellSetTableBodyCellProps

CellSetTableCellProps

The props of cells in a CellSetTable.

CellSetTableHeaderCellProps

The props of header cells in a CellSetTable.

CellSetTableStaticHeaderCellProps

The props of static header cells in a CellSetTable.

LoadingTableCellProps & DerivedCellSetTableStaticHeaderCellProps

CellStylePlugin

Plugin useful to provide style to cells in table widgets.

PropertyTypeDescription
keystring
translations{
   [locale: string]: TranslationTree<string>;
}
withCellStyle<T extends CellPropsType = CellPropsType>(CellComponent: ForwardRefExoticComponent<T & RefAttributes<HTMLDivElement>>) => ForwardRefExoticComponent<PropsWithoutRef<T> & RefAttributes<HTMLDivElement>>

CellStylePluginForCellSetTable

Most used variant of CellStylePlugin, suitable for table widgets representing a CellSet.

CellStylePlugin<CellSetTableCellProps>

Client

Parent interface for Atoti Server/Content Server/ActiveMonitor clients.

PropertyTypeDescription
serverVersionstringThe server's version.
serviceVersionServiceVersionThe version of the APIs offered by the server's REST and websocket endpoints.
urlstringThe server's URL.

Clients

PropertyTypeDescription
atoti{
   [serverKey: string]: AtotiClient;
}
contentContentClient

CloseCommandPaletteAction

Redux action to close the command palette. See isCommandPaletteVisible in State.

PropertyTypeDescription
type"closeCommandPalette"

CollapseDataModelTreeAction

Redux action to collapse the data model tree. See isDataModelTreeExpanded in State.

PropertyTypeDescription
type"collapseDataModelTree"

Color

A string representing a color.

string

CompositeHierarchyInMapping

A tile in the widget mapping, representing 2 hierarchies glued together. This can be created through a "drill down" action on a pivot table.

PropertyTypeDescription
hierarchies(LevelCoordinates & {
   expandedDownTo?: LevelName;
})[]
type"compositeHierarchy"

ConditionalStyle

Contains a conditional format and the conditions under which to apply it. The condition is described with 1 or 2 keys. When there are 2 keys, they are necessarily a pair of lt(e)/gt(e), matching all values between or outside 2 limits.

PropertyTypeDescription
eqnumber
gtnumber
gtenumber
ltnumber
ltenumber
neqnumber
styleCSSProperties

Configuration

Object describing how Atoti UI is configured. In particular, it describes which Plugins are registered, which has an impact both on the application functionalities and on the bundle size.

PropertyTypeDescription
applicationNamestring
extraVersions{
   [name: string]: string;
}
The extra software versions that will be displayed in the about popup below the Atoti UI and Atoti Server(s) versions.
higherOrderComponents((wrappedComponent: ComponentType) => ComponentType)[]Higher-order components (HOCs) wrapping the application. In particular, it allows to provide React contexts.See https://reactjs.org/docs/higher-order-components.html
initialDashboardPageStateOmit<DashboardPageState, "name">
isBrandSignatureVisibleboolean
leftApplicationMenuApplicationMenu[]Controls the menu items on the left of the header. They are usually specific to dashboards.
pathToHomestringThe path to the Atoti home page.
pluginRegistryPluginRegistry
rightApplicationMenuApplicationMenu[]Controls the menu items on the right of the header. They are typically always available.
routesRouteObject[]
storeEnhancersStoreEnhancer[]Redux store enhancers, allowing extensions to hook into the state of Atoti UI.It can be used by an extension to: - inject its own state into Atoti UI, so that the extension itself and other extensions can consume it - react to actions dispatched by Atoti UI or other extensionsThe store enhancers are composed, which allows to split state management on a per-extension basis.See https://redux.js.org/usage/configuring-your-store#extending-redux-functionality
themes{
   [themeKey: string]: Partial<Theme> &
   {
     primaryColor: Color;
  };
}
toolsTool[]
widgetLoadingOverlayComponentType<LoadingOverlayProps>An overlay shown while a widget is loading.

ConnectionStatus

The connection status of an AtotiClient. When "connected", queries can be run against it using useQueryResult.

  • "disconnected"
  • "connecting"
  • "connected"

ContainingMode

  • "startsWith"
  • "doesNotStartWith"
  • "endsWith"
  • "doesNotEndWith"
  • "contains"
  • "doesNotContain"

ContentClient

Provides methods to interact with the Content Server.

PropertyTypeDescription
serverVersionstringThe server's version.
serviceVersionServiceVersionThe version of the APIs offered by the server's REST and websocket endpoints.
urlstringThe server's URL.
MethodDescription
createFileAsynchronously creates a dashboard or a widget file on the Content Server. Returns its id.
createFolderAsynchronously creates a dashboard or a widget folder on the Content Server. Returns its id.
deleteFileAsynchronously deletes a dashboard or a widget file on the Content Server.
deleteFilesAndFoldersAsynchronously deletes the selected files and folders of type on the Content Server.
deleteFolderAsynchronously deletes a dashboard or a widget folder on the Content Server.
exportFilesAndFoldersAsynchronously returns: - a flat map containing all content entries (recursively) below the passed ids on the Content Server. - the tree structure of these entries under the exported folder. This method is only compatible with content service versions of 7 and above. The passed ids must refer to entries in a single folder, located at pathToParentFolder.
fetchFileAsynchronously returns the content of a dashboard or a widget file on the Content Server. Includes the file's metadata unless withMetaData: false is given, in which case pathToParentFolder is optional.
fetchThumbnailAsynchronously returns the thumbnail at path if it exists, undefined otherwise.
fetchThumbnailsAsynchronously returns all accessible thumbnails in pathToParentFolder. Does not return thumbnails of subfolders. Returns a record object where values are the thumbnail images and keys are the ids of the files they relate to.
getActivityReturns the value of the activity identified by activityKey if it exists.
getArePermissionsLoadedReturns whether the permissions have been loaded by loadPermissions
getAreSettingsLoadedReturns whether the settings have been loaded by loadSettings
getPermissionReturns the value of the permission identified by permissionKey, along with a flag indicating whether it is explicitly set in one of the permission files impacting the user.
getSettingReturns the value of the setting identified by settingKey if it exists.
getTreeReturns the dashboards, widgets, or filters tree, if it is already loaded.
importFilesAndFoldersAsynchronously imports the given files and folders into the Content Server. These files and folders must all be under the same parent folder. This method is only compatible with content service versions of 7 and above.
loadActivityAsynchronously loads the Activity of the current user and makes it available via getActivity. If the activity file's content is not a valid JSON object, a default empty activity object is loaded.
loadPermissionsAsynchronously loads the permissions, making them available via getPermission. If one of the permissions file's content is not a valid JSON object, loads a set of default permissions values instead.
loadSettingsAsynchronously loads the settings, making them available via getSetting. If one of the settings file's content is not a valid JSON object, loads a set of default settings values instead.
loadTreeAsynchronously loads the tree of all accessible dashboards, widgets, or filters.
moveFilesAsynchronously moves files from a same folder into a different folder on the Content Server.
subscribeToActivityRegisters callback to be called whenever the value of the activity identified by activityKey is updated.
subscribeToPermissionRegisters callback to be called whenever the value of the permission identified by permissionKey is updated.
subscribeToSettingRegisters callback to be called whenever the value of the setting identified by settingKey is updated.
subscribeToTreeRegisters callback to be called whenever the dashboards, widgets, or filters tree is reloaded.
updateActivitySaves the new version of the user's Activity on the Content Server.
updateFileAsynchronously updates an existing dashboard or widget file on the Content Server.
updateFilePermissionsAsynchronously updates an existing dashboard or widget file's permissions on the Content Server.
updateFolderAsynchronously updates an existing dashboard or widget folder on the Content Server.
updateFolderPermissionsAsynchronously updates an existing folder's permissions on the Content Server.
updatePermissionAsynchronously updates the value of the permission identified by key for the given user. Requires being authenticated as a user with admin privileges.
updateSettingAsynchronously updates the value of the user setting identified by key for the given user.
updateSettingsAsynchronously updates the user settings.

ContentEntry

An entry on the content server.

{
   isDirectory?: boolean;
   owners: string[];
   readers: string[];
   content?: Content;
} &
(T extends "response" ? {
   canRead: boolean;
   canWrite: boolean;
   isDirectory: boolean;
   lastEditor: string;
   timestamp: number;
} : unknown)

Remarks:

The properties of the content entry vary on whether it is sent in an API request or received in an API response.

See https://artifacts.activeviam.com/documentation/rest/6.0.0/content-server.html\#files\_\_\_path\_\_path\_\_get for more information on the ContentEntry response shape. See https://artifacts.activeviam.com/documentation/rest/6.0.0/content-server.html\#files\_\_\_path\_\_path\_\_post for more information on the ContentEntry request shape.

ContentNode

PropertyTypeDescription
captionstring
dragItemany
isActionableboolean
isDisabledboolean
isFolderboolean
entryContentEntry<AMetaData>
idstring
metaDataMetaData
typeContentNodeType

ContentNodeType

  • "file"
  • "folder"
  • "server"

ContentRecord

PropertyTypeDescription
children{
   [childName: string]: ContentRecord<Content, T>;
}
entryContentEntry<Content, T>

ContentType

  • "dashboard"
  • "widget"
  • "filter"

ContextValueDefinition

PropertyTypeDescription
categorystring
descriptionstring
namestring
typestring

Cube

PropertyTypeDescription
captionstring
contextValuesT extends "raw" ? DefaultContextValue[] : {
   [defaultContextValueName: string]: DefaultContextValue;
}
defaultMembersDefaultMember[]
dimensionsT extends "raw" ? Dimension<"raw">[] : {
   [dimensionName: string]: Dimension<"indexed">;
}
kpisT extends "raw" ? Kpi[] : {
   [kpiName: string]: Kpi;
}
measureGroupsT extends "raw" ? MeasureGroup[] : {
   [measureGroupName: string]: MeasureGroup;
}
measuresT extends "raw" ? Measure[] : {
   [measureName: string]: Measure;
}
nameCubeName
setsT extends "raw" ? Set[] : {
   [setName: string]: Set;
}

CubeName

string

CubeNode

A data model tree node representing a cube

PropertyTypeDescription
captionstring
dragItemany
isActionableboolean
isDisabledboolean
isFolderboolean
namestring
serverKeystring
type"cube"

CurriedCellSetTableCellProps

The props of CellSet table cells, which are curried by the CellSetTable Component.

PropertyTypeDescription
cellsCellSetTableCell[][]The cells forwarded to the underlying Table component. The dimensions of the array include the frozen rows and columns. Only the cells of the body are filled, as the rendering of the header cells depend on more information, present in the metaData.
columnHeaderIndices{
   hierarchyIndex: number;
   levelIndex: number;
}[]
Represents the level corresponding to each frozen row of the column header.
columnIndexImpactingRowStylenumberThe index of the column whose conditional formatting impacts full rows, if applicable.
columnsAxisAxis | undefined
cubeCube
dataCellSet
defaultMeasureDefaultMember
hierarchyIndicesInCellSetHierarchyIndicesInCellSet
indexOfMeasureOnSlicernumber
isRowHeaderTreeboolean
mappingDataVisualizationWidgetMapping
memberPropertyKeysstring[]
numberOfColumnsInBodynumber
numberOfFrozenColumnsnumber
numberOfFrozenRowsnumber
numberOfRowsInBodynumber
rowHeaderIndices{
   hierarchyIndex: number;
   levelIndex: number;
}[]
rowsAxisAxis
slicerAxisAxis
sort{
   orderMode: OrderMode | undefined;
   tupleCoordinates?: TupleCoordinates;
   levelCoordinates?: LevelCoordinates;
}
staticHeaderCoordinatesOnColumnsTableStaticHeaderCoordinates[]
staticHeaderCoordinatesOnRowsTableStaticHeaderCoordinates[]
staticHeadersOnColumnsTableStaticHeader[]
staticHeadersOnRowsTableStaticHeader[]
styleImpactingRowsAFieldStyleThe style impacting full rows, if applicable. It corresponds to the style of the tupleImpactingRowStyle from TableWidgetStyle. For instance, if the table has currencies and measures on columns, the this tuple can be (EUR, delta.SUM).
areFrozenColumnsIgnoredbooleanIf the table is resized and becomes so thin that frozen columns would be larger than its total width, then they can be ignored so that the user can still scroll horizontally in order to see the columns to the right. This prop allows to control this behavior.
isExpandable(tuple: Tuple) => boolean
isExpanded(tuple: TupleCoordinates) => boolean
onExpansionChanged(tuple: Tuple, toLevel: LevelCoordinates, isExpanding: boolean) => void
onSortChanged() => void
widgetStateDataVisualizationWidgetState

CurriedDrillthroughTableCellProps

The props of cells in drillthrough table that are curried by the DrillthroughTable Component.

PropertyTypeDescription
headerCaptionsDrillthroughDataSetHeaderCell[]
headerValuesDrillthroughDataSetHeaderCell[]
onSortChanged() => void
sort{
   orderMode: "ASC" | "DESC";
   drillthroughColumnUniqueName: string;
}
widgetStateDrillthroughTableWidgetState

CustomFilter

PropertyTypeDescription
mdxT extends "deserialized" ? MdxExpression : string
type"custom"

DashboardContent

The content of a dashboard file on the Content Server.

Omit<DashboardState<"serialized">, "name">

DashboardLoadedAction

Redux action to change the state of the dashboard when it is loaded.

PropertyTypeDescription
dashboardStateDashboardState
type"dashboardLoaded"

DashboardMetaData

The content of a dashboard meta data file on the Content Server, representing this dashboard in the dashboards tree.

AMetaData

DashboardPageState

The state of a dashboard page. content contains the state of each leaf. layout represents how they are laid out.

{
   content: {
     [leafKey: string]: WidgetStateType;
  };
   filters?: Filter<T>[];
   queryContext?: QueryContextEntry[];
   layout: Layout;
   name: string;
}

DashboardSavedAction

Redux action to mark the current dashboard as saved. It does not actually save the action on the Content Server. See dashboard and lastSavedDashboardHash in State.

PropertyTypeDescription
dashboardStateDashboardState
type"dashboardSaved"

DashboardState

The state of a dashboard. pages contains the state of each page.

{
   filters?: Filter<T>[];
   queryContext?: QueryContextEntry[];
   name?: string;
   pages: {
     [pageKey: string]: DashboardPageState<T>;
  };
   pagesOrder: string[];
}

DashboardUnloadedAction

Redux action to unload the dashboard. This action resets the undo/redo history. See dashboard in State.

PropertyTypeDescription
type"dashboardUnloaded"

DashboardUpdatedAction

Redux action to change the state of the dashboard. See dashboard in State.

PropertyTypeDescription
dashboardStateDashboardState
newSelectedWidget{
   leafKey: string;
   pageKey: string;
}
type"dashboardUpdated"

DataModel

Describes the data contained in a server.

PropertyTypeDescription
catalogsT extends "raw" ? Catalog<"raw">[] : {
   [catalogName: string]: Catalog<"indexed">;
}
contextValuesT extends "raw" ? ContextValueDefinition[] : {
   [contextValueDefinitionName: string]: ContextValueDefinition;
}

DataModelClickListener

A listener on data model tree clicks, called whenever a node is clicked in the DataModelTree.

(node: DataModelNode, event: DataModelClickEvent) => void

DataModelNode

A data model tree node

DataOverrides

Plotly overrides relative to the traces.

PropertyTypeDescription
additionalTracesTrace[]
commonTraceOverridePartial<Trace>
overridesByTraceIndexPartial<Trace>[]
overridesByTraceKey{
   [traceKey: string]: Partial<Trace>;
}

DataVisualizationMappingField

A field in a data visualization widget's mapping.

DataVisualizationStyle

Style attributes of a data visualization widget.

PropertyTypeDescription
measures{
   [measureName: string]: FieldStyle;
}
tuples{
   [tupleKey: string]: CSSProperties;
}

DataVisualizationWidgetMapping

The attributes to fields mapping, specific to a given type of data visualization widget. Contains deserialized fields.

For example:

{
rows: [
{
type: "hierarchy",
dimensionName: "Currency",
hierarchyName: "Currency",
levelName: "Currency"
}
]
}

DataVisualizationWidgetState

PropertyTypeDescription
areFiltersDrivenByMdxbooleanWhether the filters applied to the query when it is sent to the server are driven by: 1. widgetState.query.mdx (when true). It allows users to write filters as they like in the query tab. 2. dashboardState.filters, pageState.filters and widgetState.filters (when false). It allows a single source of truth for dashboard and page filters, preventing bugs.Defaults to false.In practice it is set to true when the user submits an MDX query in the query tab. It it set to false when filters are changed using other UI elements, such as the content or filters tab.
queryPartial<Query<T extends "serialized" ? MdxString : MdxType>>
serverKeystring
shouldUseDefaultColumnsMdxType extends MdxDrillthrough ? boolean : neverWhether the columns specified in the drillthrough.defaultSelectedColumns setting are used in the drillthrough query. It is useful when performing a drillthrough from another widget, as it allows to create the drillthrough widget right away, while triggering the query only once the default columns have been fetched.
mappingT extends "serialized" ? SerializedDataVisualizationWidgetMapping : DataVisualizationWidgetMapping
styleStyle
switchedTostring

DefaultContextValue

PropertyTypeDescription
namestring
valuestring

DefaultMember

PropertyTypeDescription
captionPathstring[]
dimensionDimensionName
hierarchyHierarchyName
pathstring[]

DerivedCellSetTableBodyCellProps

The props specific to body cells in a CellSetTable.

PropertyTypeDescription
properties{
   [key in CellProperty]?: null | string | number | undefined;
}
tupleTuple | null

DerivedCellSetTableHeaderCellProps

The props specific to header cells in a CellSetTable.

PropertyTypeDescription
headerDepthnumber
hierarchyIndexnumber
levelIndexnumber
positionIndexnumber
tupleTuple | null

DerivedCellSetTableStaticHeaderCellProps

The props specific to static header cells in a CellSetTable.

PropertyTypeDescription
staticHeaderCoordinatesTableStaticHeaderCoordinates

Dimension

PropertyTypeDescription
captionstring
defaultHierarchyHierarchyName
descriptionstring
hierarchiesT extends "raw" ? Hierarchy<"raw">[] : {
   [hierarchyName: string]: Hierarchy<"indexed">;
}
measureGroupsstring[]
nameDimensionName
typestring
visibleboolean

DimensionName

The readable name of a dimension in a cube.

string

For example:

const dimensionName = 'Geography';

DimensionNode

A data model tree node representing a dimension

PropertyTypeDescription
captionstring
dragItemany
isActionableboolean
isDisabledboolean
isFolderboolean
cubeNamestring
serverKeystring
dimensionDimension
type"dimension"

DrillthroughColumn

The drillthrough column as described by the server

PropertyTypeDescription
captionstring
nameDrillthroughColumnUniqueName
type"String" | "double" | "int" | "long" | "LocalDate" | "LocalDateTime" | "Object"
visibleboolean

DrillthroughColumnUniqueName

A unique identifier for a drillthrough column.

string

DrillthroughDataSet

PropertyTypeDescription
headersDrillthroughDataSetHeaderCell[]
rowsDrillthroughDataSetRow[]

DrillthroughDataSetCell

  • string
  • number
  • Record<string, unknown>

DrillthroughDataSetHeaderCell

Drillthrough's result column header description as returned by the server

PropertyTypeDescription
captionstring
namestring
type"String" | "double" | "int" | "long" | "LocalDate" | "LocalDateTime" | "Object"

DrillthroughDataSetRow

DrillthroughDataSetCell[]

DrillthroughResult

Drillthrough query result as returned by the server

PropertyTypeDescription
epochnumber
resultDrillthroughDataSet

DrillthroughSelection

A selection of cells and/or headers in a DrillthroughResult.

PropertyTypeDescription
columns{
   header: DrillthroughDataSetHeaderCell;
   cells: DrillthroughDataSetCell[];
}[]
headersDrillthroughDataSetHeaderCell[]

DrillthroughTableCellProps

The props of cells in a drillthrough table

CellProps & CurriedDrillthroughTableCellProps

DrillthroughTableWidgetState

EditorProps

Props received by content and style tabs.

ActionProps<WidgetState>

ElementType

Used for switching when visiting

  • "Drillthrough"
  • "Select"
  • "SubSelect"
  • "Axis"
  • "CaseExpression"
  • "CompoundIdentifier"
  • "Formula"
  • "Function"
  • "From"
  • "Identifier"
  • "Literal"
  • "MemberPropertyDefinition"
  • "When"

ErrorInQueryResult

PropertyTypeDescription
errorChain{
   type: string;
   message: string;
}[]
stackTracestring

ExpandDataModelTreeAction

Redux action to expand the data model tree. See isDataModelTreeExpanded in State.

PropertyTypeDescription
type"expandDataModelTree"

ExpandedFolderPathsInHomePageAction

Redux action to expand and collapse folders on the homepage. See expandedFolderPathsInHomePage in State.

PropertyTypeDescription
expandedFolderPathsInHomePagestring[][]
type"expandedFolderPathsInHomePageUpdated"

ExpansionAction

An action of expansion in a tree.

PropertyTypeDescription
pathnumber[]the path to the node that the user interacted with
type"expand" | "collapse"whether the node was expanded or collapsed

ExtensionModule

The entrypoint module of an Atoti UI extension.

PropertyTypeDescription
activate(params: Configuration) => Promise<void>

FieldUniqueName

FileListMenuItemProps

PropertyTypeDescription
contentTreeContentRecord
contentTypeContentType
onAfterSubmitOnAfterSubmit
onEditStarted(id: string) => void
pathToParentFolderstring[]
selectedFilesAndFolders({
   id: string;
   record: ContentRecord<AMetaData>;
} | {
   doesRepresentServer: true;
})[]

Filter

FilterMetaData

The content of a filter meta data file on the Content Server, representing a filter in the filters tree.

{
   name: string;
   isFolder?: boolean;
}

FilterOnCaptionContaining

A filter on the members of a level of a hierarchy with a caption starting, ending, containing (or not) the given string.

PropertyTypeDescription
containingModeContainingMode
levelNameLevelName
tokenstring
type"captionsContaining"

For example:

Filter on employees with a last name alphabetically containing "son".

FilterOnCaptionsRange

A filter on the members of a level of a hierarchy with a caption alphabetically between the given limits.

PropertyTypeDescription
isBetweenboolean
levelNameLevelName
lowerTokenstring
type"captionsRange"
upperTokenstring

For example:

Filter on employees with a last name alphabetically between "L" and "O".

FilterOnDateRange

A filter on a range of dates (only available for hierarchies of type time).

PropertyTypeDescription
endDateT extends "deserialized" ? Date : string
isRollingDateboolean
levelNameLevelName
startDateT extends "deserialized" ? Date : string
type"dateRange"

For example:

Filter on transactions between "2021/12/01" and "2021/12/20".

FilterOnExistenceOfValue

A filter on the members of a level of a hierarchy with an existing value for the given measure.

PropertyTypeDescription
doesExistboolean
levelNameLevelName
measureNameMeasureName
type"existenceOfValue"

For example:

Filter on countries with a known GDP.

FilterOnLowerOrGreaterCaptions

A filter on the members of a level of a hierarchy with a caption alphabetically before or after a given limit.

PropertyTypeDescription
levelNameLevelName
lowerOrGreaterModeLowerOrGreaterModeThe values "Equal" and "NotEqual" are deprecated and will be removed in Atoti UI 5.3. Use a FilterOnMembers instead.
tokenstring
type"lowerOrGreaterCaptions"

For example:

Filter on employees with a last name alphabetically after "H".

FilterOnLowerOrGreaterValues

A filter on the members of a level of a hierarchy with a value of a given measure lower or greater than a defined limit.

PropertyTypeDescription
levelNameLevelName
lowerOrGreaterLimitnumber
lowerOrGreaterModeLowerOrGreaterMode
measureNameMeasureName
type"lowerOrGreaterValue"

For example:

Filter on countries with a GDP above 500B$.

FilterOnMembers

A filter on explicitly defined members of a hierarchy.

PropertyTypeDescription
membersstring[][]
type"members"

For example:

Filter on Currency = Dollar

FilterOnRecentDates

PropertyTypeDescription
levelNameLevelName
numberOfRecentDatesnumber
type"recentDates"

FilterOnTimePeriodToDate

A filter on a range of dates from the beginning of the selected time period (for example month, quarter or year) to the current date. Only available for hierarchies of type time.

PropertyTypeDescription
levelNameLevelName
timePeriodTimePeriod
type"timePeriodToDate"

For example:

Filter on transactions between the first day of the current year and today.

FilterOnTopBottomMembers

A filter on the n members of a level of a hierarchy with the lowest or highest value for a measure.

PropertyTypeDescription
levelNameLevelName
limitnumber
measureNameMeasureName
scopeFilterScope
topBottomModeTopBottomMode
type"topBottomMembers"

For example:

Filter on the 3 best selling products of each category

FilterOnValuesRange

A filter on the members of a level of a hierarchy with a value of a given measure between or outside the given limits.

PropertyTypeDescription
isBetweenboolean
levelNameLevelName
lowerLimitnumber
measureNameMeasureName
type"valuesRange"
upperLimitnumber

For example:

Filter on countries with a GDP between 200 and 500B$.

FilterScope

  • "overall"
  • "ofEachParent"

FilterType

  • "members"
  • "topBottomMembers"
  • "lowerOrGreaterValue"
  • "valuesRange"
  • "lowerOrGreaterCaptions"
  • "captionsRange"
  • "captionsContaining"
  • "existenceOfValue"
  • "dateRange"
  • "timePeriodToDate"
  • "recentDates"
  • "custom"

FormulaType

  • "SET"
  • "MEMBER"

GenericIndenter

PropertyTypeDescription
indent(needSpace?: boolean) => string
newLine(needSpace?: boolean) => string
unindent() => void

GridRange

PropertyTypeDescription
columnsRange
rowsRange

Hierarchy

PropertyTypeDescription
captionstring
descriptionstring
folderstring
levelsT extends "raw" ? Level<"raw">[] : {
   [levelName: string]: Level<"indexed">;
}
maxNbResultsPerSearchnumberThe maximum number of cells returned by the server when looking up members from the hierarchy, to avoid performance issues. Only applicable for virtual hierarchies. See virtual.
nameHierarchyName
slicingboolean
virtualbooleanWhether the hierarchy is implemented as "virtual" or not on the server. Virtual hierarchies have a high cardinality, and their members are not represented in memory on the server. This limits what operations can be done on them, in particular when querying them through MDX.
visibleboolean

HierarchyCoordinates

The dimension and hierarchy names identifying a hierarchy in a cube.

PropertyTypeDescription
dimensionNameDimensionName
hierarchyNameHierarchyName

For example:

const hierarchyCoordinates = {
dimensionName: 'Geography',
hierarchyName: 'City'
};

HierarchyFolderNode

A data model tree node representing a hierarchy folder.

PropertyTypeDescription
captionstring
dragItemany
isActionableboolean
isDisabledboolean
isFolderboolean
cubeNamestring
serverKeystring
type"hierarchyFolder"

HierarchyIndicesInCellSet

A map of hierarchy unique names to the index of the axis where the hierarchy can be found in cellSet.axes and its own index in axis.hierarchies.

HierarchyInMapping

A tile in the widget mapping, representing a hierarchy.

PropertyTypeDescription
expandedDownToLevelName
type"hierarchy"

HierarchyName

The readable name of a hierarchy in a cube.

string

For example:

const hierarchyName = 'City';

HierarchyNode

A data model tree node representing a hierarchy

PropertyTypeDescription
captionstring
dragItemany
isActionableboolean
isDisabledboolean
isFolderboolean
cubeNamestring
serverKeystring
dimensionDimension
hierarchyHierarchy
type"hierarchy"

HierarchyUniqueName

A string representing the unique identifier of a hierarchy in a cube.

string

For example:

const hierarchyUniqueName = '[Geography].[City]';

HighlightedCaptionProps

PropertyTypeDescription
captionstring
classNamestring
isDisabledboolean
searchValuestring

InternalNode

Represents a node in a tree.

NodeType & {
   path: number[];
   parentNames: string;
}

IsDeferredAction

Redux action to toggle deferred updates. See isDeferred in State.

PropertyTypeDescription
isDeferredboolean
type"isDeferredChanged"

IsOpenDashboardPopupVisibleAction

Redux action to change whether the 'Open Dashboard' popup is visible. See isOpenDashboardPopupVisible in State.

PropertyTypeDescription
type"openDashboardPopupOpened" | "openDashboardPopupClosed"

IsPresentingAction

Redux action to change whether the application is displayed in "Present" mode. See isPresenting in State.

PropertyTypeDescription
isPresentingboolean
type"isPresentingChanged"

IsSettingsPopupVisibleAction

Redux action to change whether the 'Settings' popup is visible. See isSettingsPopupVisible in State.

PropertyTypeDescription
type"settingsPopupOpened" | "settingsPopupClosed"

IsToolsPanelExpandedAction

Redux action to change whether the tools panel is expanded. See isToolsPanelExpanded in State.

PropertyTypeDescription
type"toolsPanelExpanded" | "toolsPanelCollapsed"

Kpi

PropertyTypeDescription
captionstring
descriptionstring
expirystring
folderstring
goalstring
namestring
startstring
statusstring
statusPresenterstring
trendstring
valuestring

KpiComparison

KpiFolderNode

A data model tree node representing a folder of kpis

PropertyTypeDescription
captionstring
dragItemany
isActionableboolean
isDisabledboolean
isFolderboolean
cubeNamestring
serverKeystring
type"kpiFolder"

KpiNode

A data model tree node representing a kpi

PropertyTypeDescription
captionstring
dragItemany
isActionableboolean
isDisabledboolean
isFolderboolean
cubeNamestring
serverKeystring
type"kpi"

KpiProperty

PropertyTypeDescription
kpiNamestring
kpiPropertyNameKpiPropertyName
underlyingMeasureNameMeasureName

KpiPropertyIdentifier

string

For example:

KPIStatus("my KPI"): pnl.SUM

KpiPropertyInMapping

A tile in the widget mapping, representing a KPI property.

PropertyTypeDescription
kpiNamestring
propertyNameKpiPropertyName
type"kpiProperty"
underlyingMeasureNameMeasureName

KpiPropertyName

  • "KPIValue"
  • "KPIGoal"
  • "KPIStatus"
  • "KPITrend"
  • "KPIStart"
  • "KPIExpiry"

KpiPropertyNode

A data model tree node representing a kpi property, such as its status

PropertyTypeDescription
captionstring
dragItemany
isActionableboolean
isDisabledboolean
isFolderboolean
cubeNamestring
serverKeystring
kpiNamestring
kpiPropertyNameKpiPropertyName
underlyingMeasureNameMeasureName
type"kpiProperty"

KpisRootNode

A data model tree node representing a kpisRoot

PropertyTypeDescription
captionstring
dragItemany
isActionableboolean
isDisabledboolean
isFolderboolean
cubeNamestring
serverKeystring
type"kpisRoot"

KpiWidgetState

PropertyTypeDescription
areFiltersDrivenByMdxbooleanWhether the filters applied to the query when it is sent to the server are driven by: 1. widgetState.query.mdx (when true). It allows users to write filters as they like in the query tab. 2. dashboardState.filters, pageState.filters and widgetState.filters (when false). It allows a single source of truth for dashboard and page filters, preventing bugs.Defaults to false.In practice it is set to true when the user submits an MDX query in the query tab. It it set to false when filters are changed using other UI elements, such as the content or filters tab.
queryPartial<Query<T extends "serialized" ? MdxString : MdxType>>
serverKeystring
shouldUseDefaultColumnsMdxType extends MdxDrillthrough ? boolean : neverWhether the columns specified in the drillthrough.defaultSelectedColumns setting are used in the drillthrough query. It is useful when performing a drillthrough from another widget, as it allows to create the drillthrough widget right away, while triggering the query only once the default columns have been fetched.
mappingT extends "serialized" ? SerializedDataVisualizationWidgetMapping : DataVisualizationWidgetMapping
styleStyle
switchedTostring
comparisonKpiComparison
titles{
   [tupleKey: string]: string;
}

Layout

Atoti UI dashboard page layout Tree of widgets, not necessarily binary. Allows a more intuitive widget resizing behavior than the ActiveUI 4 binary layout.

PropertyTypeDescription
children(Layout | LayoutLeaf)[]
direction"column" | "row"
sizenumber

LayoutLeaf

PropertyTypeDescription
leafKeystring
sizenumber

Level

{
   name: LevelName;
   caption: string;
   description?: string;
   type: string;
} &
(T extends "indexed" ? {
   index: number;
} : unknown)

LevelCoordinates

The dimension, hierarchy and level names identifying a hierarchy in a cube.

HierarchyCoordinates & {
   levelName: LevelName;
}

For example:

const hierarchyCoordinates = {
dimensionName: 'Geography',
hierarchyName: 'City',
levelName: 'City'
};

LevelName

The readable name of a level in a cube.

string

For example:

const levelName = 'City';

LevelNode

A data model tree node representing a level

PropertyTypeDescription
captionstring
dragItemany
isActionableboolean
isDisabledboolean
isFolderboolean
cubeNamestring
serverKeystring
depthnumber
dimensionDimension
hierarchyHierarchy
levelLevel
type"level"

LevelUniqueName

A string representing the unique identifier of a level in a cube.

string

For example:

const levelUniqueName = '[Geography].[City].[City]';

LoadingOverlayProps

The props provided to a loading overlay.

PropertyTypeDescription
classNamestring
isInitiallyVisibleboolean
isLoadingboolean
styleCSSProperties
timeBeforeContinueLoadingButtonAppearsnumber
tipstring

LoadingTableCellProps

The props of cells in a CellSetTable, in cases such as undefined cube or undefined data.

CellProps & CurriedCellSetTableCellProps

LowerOrGreaterMode

  • "Lower"
  • "LowerOrEqual"
  • "Greater"
  • "GreaterOrEqual"
  • "Equal"
  • "NotEqual"

Mdx

The Abstract syntax tree of an MdxString.

MdxAxis

An Mdx representing an axis such as ROWS or COLUMNS and its associated expression.

PropertyTypeDescription
elementType"Axis"
expressionMdxExpression
nameAxisName
nonEmptyboolean
propertiesMdx[]

MdxCaseExpression

An Mdx representing a CASE statement.

PropertyTypeDescription
casesMdxWhenClause[]
elementType"CaseExpression"
elseExpMdxExpression
matchMdxExpression | null
namestring

MdxCompoundIdentifier

The subset of Mdxs that identify something using hierarchical dot notation, as in the MDX [Measures].[MyMeasure]. Each segment is an MdxIdentifier.

MdxDimensionCompoundIdentifier

A MdxCompoundIdentifier that represents a dimension.

PropertyTypeDescription
elementType"CompoundIdentifier"
identifiersMdxIdentifier[]
dimensionNameDimensionName
type"dimension"

MdxDrillthrough

An Mdx representing a DRILLTHROUGH statement.

PropertyTypeDescription
columnsMdxExpression[]
elementType"Drillthrough"
firstRownumber
maxRowsnumber
selectMdxSelect

MdxErrorDetails

PropertyTypeDescription
expectedstring[]
from{
   line: number;
   ch: number;
}
textstring
to{
   line: number;
   ch: number;
}

MdxExpression

The subset of Mdxs that can be used in expression contexts such as the expression of a calculated measure.

MdxFormula

An Mdx representing an formula definition in the WITH clause of a MdxSelect. An example formula: WITH Member [Measures].[MyConstant] AS 42.

PropertyTypeDescription
elementType"Formula"
expressionMdxExpression
inlinedboolean | undefined
nameMdxNamedSetCompoundIdentifier | MdxMeasureCompoundIdentifier | MdxMemberCompoundIdentifier | MdxUnknownCompoundIdentifier
propertiesMdxMemberPropertyDefinition[]
typestring

MdxFromClause

An Mdx representing a named cube for the FROM clause of a MdxSelect. Does not represent a subselect expression in a FROM clause – that is represented by a MdxSubSelect instead.

PropertyTypeDescription
cubeNameCubeName
elementType"From"

MdxFunction

An Mdx representing a function call. Some functions are called with syntax that makes them look like an operator or part of the language; see Syntax for the different syntaxes for calling functions.

PropertyTypeDescription
argumentsMdxExpression[]
elementType"Function"
namestring
syntaxSyntax

MdxHierarchyCompoundIdentifier

A MdxCompoundIdentifier that represents a hierarchy.

PropertyTypeDescription
elementType"CompoundIdentifier"
identifiersMdxIdentifier[]
dimensionNameDimensionName
hierarchyNameHierarchyName
type"hierarchy"

MdxIdentifier

An Mdx representing an identifier – the name of a hierarchy, level, measure, KPI, etc. For example, this could represent the MDX Geography or [Geography]. A MdxCompoundIdentifier is made of these separated by dots.

PropertyTypeDescription
elementType"Identifier"
quotingQuoting
valuestring

MdxLevelCompoundIdentifier

A MdxCompoundIdentifier that represents a level.

PropertyTypeDescription
elementType"CompoundIdentifier"
identifiersMdxIdentifier[]
dimensionNameDimensionName
hierarchyNameHierarchyName
levelNameLevelName
type"level"

MdxLiteral

An Mdx representing a literal value such as a number or string.

PropertyTypeDescription
elementType"Literal"
typeArgument
valuestring

MdxMeasureCompoundIdentifier

PropertyTypeDescription
elementType"CompoundIdentifier"
identifiersMdxIdentifier[]
measureNameMeasureName
type"measure"

MdxMemberCompoundIdentifier

A MdxCompoundIdentifier that represents a member.

PropertyTypeDescription
elementType"CompoundIdentifier"
identifiersMdxIdentifier[]
dimensionNameDimensionName
hierarchyNameHierarchyName
levelNameLevelName
pathstring[]
type"member"

MdxMemberPropertyDefinition

An Mdx representing the definition of a property of a member that is defined in a MdxFormula. Some example property names are FORE_COLOR and FONT_FLAGS.

PropertyTypeDescription
elementType"MemberPropertyDefinition"
expressionMdxExpression
namestring

MdxNamedSet

PropertyTypeDescription
captionstring
cubeCubeName
descriptionstring
expressionMdxString
nameAxisName
serverUrlstring
type"namedSet"

MdxNamedSetCompoundIdentifier

A MdxCompoundIdentifier that represents a named set.

PropertyTypeDescription
elementType"CompoundIdentifier"
identifiersMdxIdentifier[]
setNameSetName
type"namedSet"

MdxOrderFunction

An MdxFunction that represents a call to the [Order function](https://docs.microsoft.com/en-us/sql/mdx/order-mdx).

MdxSelect

An Mdx representing a SELECT statement.

PropertyTypeDescription
axesMdxAxis[]
cellPropsstring[]
elementType"Select"
fromMdxSubSelect | MdxFromClause
slicerAxisMdxSlicerAxis | null
withClauseMdxFormula[]

MdxSlicerAxis

MdxAxis & {
   name: "SLICER";
}

MdxString

A string representing an [MDX](https://en.wikipedia.org/wiki/MultiDimensional\_eXpressions) query or a part of one.

string

For example:

const mdx = 'SELECT\n  [Measures].[contributors.COUNT] ON COLUMNS\n  FROM [EquityDerivativesCube]';

For example:

const mdx = '[Measures].[contributors.COUNT]';

For example:

const mdx = '"a string in MDX"';

For example:

const mdx = '123';

MdxSubSelect

An Mdx representing a subselect expression.

PropertyTypeDescription
axesMdxAxis[]
elementType"SubSelect"
fromMdxSubSelect | MdxFromClause
nonVisualTotalsboolean
slicerAxisMdxSlicerAxis | null

MdxUnknownCompoundIdentifier

A MdxCompoundIdentifier representing an unknown identifier.

PropertyTypeDescription
elementType"CompoundIdentifier"
identifiersMdxIdentifier[]
type"unknown"

Remarks:

This type is used for any MDX compound identifier whose type cannot be identified. It is the case for all compound identifiers in the raw result of parsing an MDX string. It can then be further refined by confronting it to the dataModel and calling getSpecificCompoundIdentifier.

MdxWhenClause

An Mdx representing a WHEN clause of a MdxCaseExpression, including the clause’s THEN true result expression.

PropertyTypeDescription
elementType"When"
thenMdxExpression
whenMdxExpression

Measure

PropertyTypeDescription
captionstring
descriptionstring
expressionstring
folderstring
formatStringstring
measureGroupstring
nameMeasureName
typestring
visibleboolean

MeasureGroup

PropertyTypeDescription
captionstring
descriptionstring
namestring

MeasureInMapping

A tile in the widget mapping, representing a measure.

PropertyTypeDescription
captionstringOptional caption for query-scoped calculated measures. For regular measures, the caption defined in the cube is used.
measureNamestring
type"measure"

MeasureName

The readable name of a measure in a cube.

string

For example:

const measureName = 'pnl.SUM';

MeasureNode

A data model tree node representing a measure

PropertyTypeDescription
captionstring
dragItemany
isActionableboolean
isDisabledboolean
isFolderboolean
cubeNamestring
serverKeystring
measureMeasure
type"measure"

MeasuresFolderNode

A data model tree node representing a measuresFolder

PropertyTypeDescription
captionstring
dragItemany
isActionableboolean
isDisabledboolean
isFolderboolean
cubeNamestring
serverKeystring
type"measuresFolder"

MeasureUniqueName

A string representing the unique identifier of a measure in a cube.

string

For example:

const measureUniqueName = '[Measures].[pnl.SUM]';

Member

PropertyTypeDescription
captionPathstring[]
namePathstring[]
properties{
   [key: string]: unknown;
}
Properties attached to each member in CellSet positions.In Atoti UI, these properties are used in table header cells to: - Display extra information on hover. - Infer whether the cell can be drilled down.See https://learn.microsoft.com/en-us/analysis-services/multidimensional-models/mdx/mdx-member-properties?view=asallproducts-allversions

MemberCoordinates

Coordinates identifying a Member.

HierarchyCoordinates & {
   namePath: string[];
}

Plugin useful for items in the context menus of widgets or in the top right widget menu.

PropertyTypeDescription
keystring
translations{
   [locale: string]: TranslationTree<string>;
}
doesContextMenuCloseOnClickbooleanWhether clicking the menu item closes the context menu. true by default.
useMenuItem(props: MenuItemProps<WidgetState, SelectionType>) => Omit<MenuItemType, "key"> | Omit<SubMenuType, "key"> | undefined

ActionProps<WidgetState, SelectionType>

NamedSetInMapping

A tile in the widget mapping, representing a named set.

PropertyTypeDescription
namestring
type"namedSet"

NodeIconProps

PropertyTypeDescription
nodeInternalNode<NodeType>
styleCSSProperties

NodeProps

PropertyTypeDescription
caretStyleCSSProperties
contextMenuItemsItemType[]
dataInternalNode<NodeType>[]
getDefaultCaption(node?: NodeType) => string
hasCheckboxboolean
hasSelectedChildrenboolean
hoverStyleCSSProperties
IconComponentType<NodeIconProps<NodeType>> | null
indexnumber
isEditedboolean
isExpandableboolean
isExpandedboolean
isFocusedboolean
isPopoverOpenboolean
isSelectedboolean
onClick(item: InternalNode<NodeType>, event: ReactMouseEvent<HTMLDivElement>) => void
onEditCanceled() => void
onEditEnded(path: number[], caption: string) => void
onEditStarted(path: number[]) => void
onExpandToggled(item: InternalNode<NodeType>, isExpanding: boolean) => void
popoverContentJSX.Element
popoverInnerHeightnumber
popoverTitlestring
searchValuestring
selectionStyleCSSProperties
styleCSSProperties
tooltipJSX.Element
tooltipDelaynumber
treesTreeObject<NodeType>[]

NonEmptyEvaluationMeasureSetting

Controls the measure used to filter out empty members in the list presented to the user when creating or editing a filter on a hierarchy. Members with no value for this measure are considered empty and are omitted from this list.

This measure defaults to contributors.COUNT, and can be configured: - globally, by defining the setting value as a single measure name - or on a per hierarchy basis, by defining the setting value as a map from hierarchy unique name to measure name. This map also has a special default key, to define the measure that should be used for a hierarchy that is not expressed in the map.

  • string
  • Partial<{
       [hierarchyUniqueName: string]: string;
       default: string;
    }>

NumberFormat

The types of number format, corresponding to ways to abbreviate big numbers in order to make them more legible.

  • "number"
  • "thousands"
  • "millions"
  • "percentage"
  • "billions"

OpenCommandPaletteAction

Redux action to open the command palette. See isCommandPaletteVisible in State.

PropertyTypeDescription
type"openCommandPalette"

OrderMode

  • "ASC"
  • "DESC"
  • "BASC"
  • "BDESC"

OrderModeMdxLiteral

An MdxLiteral that represents one of the OrderMode strings.

MdxLiteral & {
   type: "STRING";
   value: OrderMode;
}

Permission

The permissions of a ContentEntry of a file or folder.

  • { userName: UserName
  • UserRole; type: "reader"
  • "editor"; isPending?: boolean; }

Permissions

Flat map containing the permissions of the user regarding the behavior of various parts of Atoti. Permissions can be defined on the Content Server for the whole organization, a role (= group of users), or an individual user. In case of conflict, the most permissive permission prevails. Contrarily to Settings, a non-admin user cannot change their own permissions.

PropertyTypeDescription
applicationMenusAllowlistThe menus available in the application header, such as Edit -> Undo.
canManageContentbooleanWhether the user can create, save, edit, and move dashboards.
canSharebooleanWhether the user can share content.
canUseCalculatedMeasuresbooleanWhether the calculated measures creation and edition popup is accessible.
canUseUserFiltersbooleanWhether the "All dashboards" section is visible in the filters tab and taken into account by widgets. When enabled, it allows users to create filters that apply to all dashboards they visit.
canUseUserQueryContextbooleanWhether the "All dashboards" section is visible in the query context tab and taken into account by widgets. When enabled, it allows users to create a global query context, which applies to all dashboards they visit.
contextValuesAllowlistNames of the context values that are visible to the user, provided that they are defined in the cube.
toolsAllowlistThe tools available in the horizontal bar to the right of the data model, such as the fields tab.
widgetMenuItemsAllowlistKeys of the menu item plugins that are granted to the user, provided that they are defined in the plugin registry.
widgetsAllowlistKeys of the widget plugins that are granted to the user, provided that they are defined in the plugin registry.
widgetTitleBarButtonsAllowlist

PlotlyOverrides

Plotly configuration overrides that can be made in the chart's configuration.

PropertyTypeDescription
configPartial<Plotly.Config>
dataDataOverrides
layoutPartial<Plotly.Layout>

PlotlyStyle

Style attributes (widgetState.style) of Plotly widgets.

PropertyTypeDescription
measures{
   [measureName: string]: FieldStyle;
}
tuples{
   [tupleKey: string]: CSSProperties;
}
areAxisTitlesVisibleboolean
axisLabelFontSizenumberThe font size of the labels on the axes.
hasSingleScalebooleanUsed for Plotly "Columns and lines" charts. This indicates whether there is a single scale used between the columns and line values on the y-axes. If set to false, two different scales are used for the y-axes.
isTextVisiblebooleanWhether values are displayed as text labels on chart elements.
markerSizenumberThe size of the chart markers.

PlotlyWidgetState

PropertyTypeDescription
areFiltersDrivenByMdxbooleanWhether the filters applied to the query when it is sent to the server are driven by: 1. widgetState.query.mdx (when true). It allows users to write filters as they like in the query tab. 2. dashboardState.filters, pageState.filters and widgetState.filters (when false). It allows a single source of truth for dashboard and page filters, preventing bugs.Defaults to false.In practice it is set to true when the user submits an MDX query in the query tab. It it set to false when filters are changed using other UI elements, such as the content or filters tab.
queryPartial<Query<T extends "serialized" ? MdxString : MdxType>>
serverKeystring
shouldUseDefaultColumnsMdxType extends MdxDrillthrough ? boolean : neverWhether the columns specified in the drillthrough.defaultSelectedColumns setting are used in the drillthrough query. It is useful when performing a drillthrough from another widget, as it allows to create the drillthrough widget right away, while triggering the query only once the default columns have been fetched.
mappingT extends "serialized" ? SerializedDataVisualizationWidgetMapping : DataVisualizationWidgetMapping
styleStyle
switchedTostring
isInExpandModebooleanWhether the chart is in "drill down mode". When in drill down mode, the user can click a bar in order to filter on it and drill deeper into its children.
plotlyPlotlyOverrides
subplotLimitsSubplotLimits
visibleGrandTotalsAxisId[]
visibleSubTotalsLevelUniqueName[]

Plugin

Any type of Atoti UI plugin.

PluginRegistry

All Atoti UI plugins registered by the application using the SDK.

PropertyTypeDescription
"cell-style"PluginsOfType<CellStylePlugin>
"menu-item"PluginsOfType<MenuItemPlugin<any, any>>
"titlebar-button"PluginsOfType<TitleBarButtonPlugin<any, any>>
cellPluginsOfType<CellPlugin>
widgetPluginsOfType<WidgetPlugin<any, any>>

PluginsOfType

The plugins of a certain type (e.g. all registered widget plugins)

PluginsProviderProps

PropertyTypeDescription
valuePluginRegistry | null

PluginType

A type of Plugin.

  • "cell"
  • "cell-style"
  • "menu-item"
  • "titlebar-button"
  • "widget"

PositionInDashboard

The position of a widget within the dashboard. This information is available in all components in a widget when it is in a dashboard.

PropertyTypeDescription
layoutPathnumber[]The path describing the location of the widget within the page's layout. Can be used for operations within the layout, such as moving to a different place in the page.
leafKeystringIdentifies the leaf in the page where a widget is located. Allows the widget to retrieve its state in pageState.content.
pageKeystringIdentifies which page the widget is on.

Query

PropertyTypeDescription
context{
   [key: string]: string;
}
Context values usable as input for server-side calculations. E.g. the confidence level for value at risk calculation.
mdxTQuery to execute.
ranges{
   [axisId in AxisId]?: QueryRange;
}
Ranges of positions that should be returned by the server. E.g. "only return the first 100 rows and the first 20 columns".
updateModeUpdateModeWhether the query is only run once, or kept open in order to receive real-time updates.

QueryContextEntry

A piece of a query's context. Allows to parametrize the behavior of Atoti Server when it answers the query.

PropertyTypeDescription
keystring
valuestring

Remarks:

Technical query context entries should not be accessible to end users. Functional query context entries can usually be replaced by analysis hierarchies, which offer a better experience to end users. Query context entries are still used by legacy projects, particularly in finance.

For example:

timeout, target currency, VaR sensitivity.

QueryRange

The range of results to fetch, in the case of infinite scrolling.

Range

QueryResult

PropertyTypeDescription
dataResultTypeThe data for this result, either a CellSet or a DrillthroughResult
errorErrorInQueryResult
isLoadingboolean

QuickFilterDisplayMode

The different ways in which a quick filter widget can be displayed.

  • "select"
  • "multi-select"
  • "checkbox"
  • "radio"
  • "tree"
  • "calendar"

QuickFilterWidgetState

The state of a pluginWidgetQuickFilter.

PropertyTypeDescription
query{
   updateMode?: UpdateMode;
}
cubeNameCubeName
levelCoordinatesLevelCoordinates
modeQuickFilterDisplayMode
serverKeystring

Quoting

  • "QUOTED" /** * Unquoted identifier, for example `Geography`. */
  • "UNQUOTED" /** * Identifier quoted with an ampersand to indicate a key value, for example the second segment in `[Geography].&[France]`. */
  • "AMP_QUOTED"

Range

PropertyTypeDescription
fromnumber
tonumber

ResourcesPanelChangedAction

Redux action to change the currently open resources panel. See resourcesPanelKey in State.

PropertyTypeDescription
resourcesPanelKey"data-model" | "widgets" | "filters"
type"resourcesPanelChanged"

RootTilePositionWithinSection

PropertyTypeDescription
tileIndexnumber

SectionPositionWithinWizard

The position of a section within a Wizard.

PropertyTypeDescription
sectionNamestring

SerializedDataVisualizationWidgetMapping

The attributes to fields mapping, specific to a given type of data visualization widget. Contains serialized fields. See DataVisualizationWidgetMapping

For example:

{
rows: [
"[Currency].[Currency].[Currency]"
]
}

ServerNode

A data model tree node representing a server

PropertyTypeDescription
captionstring
dragItemany
isActionableboolean
isDisabledboolean
isFolderboolean
type"server"

ServiceKey

  • "sentinel"
  • "jwt"
  • "pivot"
  • "repository"
  • "content"
  • "reporting"
  • "activeviam/sentinel"
  • "activeviam/jwt"
  • "activeviam/pivot"
  • "activeviam/repository"
  • "activeviam/content"
  • "activeviam/reporting"

ServicesVersions

PropertyTypeDescription
apis{
   [serviceKey: string]: {
     versions: [ServiceVersion];
  };
}
serverVersionstring
versionnumber

ServiceVersion

PropertyTypeDescription
idstring
restPathstring
wsPathstring

Set

PropertyTypeDescription
captionstring
descriptionstring
expressionstring
nameSetName

SetName

string

SetNode

A data model tree node representing a set

PropertyTypeDescription
captionstring
dragItemany
isActionableboolean
isDisabledboolean
isFolderboolean
cubeNamestring
serverKeystring
setSet
type"set"

SetsRootNode

A data model tree node representing a setsRoot

PropertyTypeDescription
captionstring
dragItemany
isActionableboolean
isDisabledboolean
isFolderboolean
cubeNamestring
serverKeystring
type"setsRoot"

Settings

Flat map containing the preferences of the user regarding the behavior of various parts of Atoti.

PropertyTypeDescription
"dataModel.isSimplified"booleanWhen true, redundant/unactionable nodes of the data model tree are hidden: dimensions and the level of "single level hierarchies". When false, the data model tree displays the data model as it is.
"drillthrough.defaultSelectedColumns"{
   [cubeName: string]: DrillthroughColumnUniqueName[];
}
The set of columns that are selected by default when opening a drillthrough table, per cube. If none are specified for a given cube, all the available drillthrough columns in this cube are selected.
"filters.default.hiddenHierarchies"string[]The unique names of hierarchies hidden from the default filters section of the Filters tab. In the format: [Dimension].[Hierarchy].
"filters.hideMissingHierarchiesAlert"booleanWhether the missing filter hierarchies alert banner is displayed on widgets when there exists a filter whose dimension or hierarchy does not exist on the target cube.
"lastUsedCube.isEnabled"booleanWhether the last used cube by a user is taken into account when defaulting to a cube. The order of precedence is: cube used in the mdx -> last used cube -> first available cube.
"mdx.doesIncludeCalculatedMembers"booleanWhether calculated members are requested in MDX queries. Changing this setting only affects the queries generated by future user interactions. It does not have any impact on already saved widgets and dashboards.
"search.maxResults"numberThe maximum number of search results.
"smartFiltering.ignoredHierarchies"string[]The unique names of the hierarchies to ignore in the smart filtering context: - When adding a filter on an ignored hierarchy, all members are displayed for selection. - When adding a filter on another hierarchy, the filters on the ignored hierarchy are *not* taken into account to retrieve the list of members displayed for selection.This can typically be used to disable smart filtering for an analysis hierarchy.
"smartFiltering.isEnabled"booleanWhether smart filtering is enabled. True by default. If switched to false, smart filtering is completely disabled for all hierarchies of all cubes. Smart filtering is the fact that, when the user opens the "Filter on" popover, only the members that exist in the scope of the filters they set above are presented to them. When it is disabled, all members are shown in this popover, even though filtering on some of them can make the widget empty because there is no data for these members in combination with the other filters already applied to the widget. Smart filtering can also be disabled on a per hierarchy basis, using the smartFiltering.ignoredHierarchies setting.
"smartFiltering.nonEmptyEvaluationMeasureName"NonEmptyEvaluationMeasureSettingSee NonEmptyEvaluationMeasureSetting
"style.members"{
   [tupleKey: string]: CSSProperties;
}
The styles to be applied to the chart traces corresponding to each of the given tupleKeys.
"table.animations.areEnabled"booleanWhether changes in tables are highlighted with green and red animations.
"table.animations.duration"numberThe duration in seconds of the table animation.
"table.animations.threshold"number | {
   [measureName: "default" | string]: number;
}
The threshold per measure of when changes in tables are highlighted by animations. When provided, animations only occur when the difference between the previous and the refreshed value is above the threshold. If just a number, then it is a global threshold for all measures.
"table.copyColumnHeadersAsASingleRow"booleanWhether the table rows representing column headers are joined into a single row when copying and pasting data into another application such as Excel.
"table.defaultSize""small" | "medium" | "large"The default size of table widgets. Controls the column widths and the row heights.
"table.headers.wrap"booleanWhether the text content of table headers wrap to the next line if it contains multiple words and is too long, or if sticks to a single line and has an ellipsis instead. This attribute can also be configured on a per table basis, using its style tab.
"table.rowNumbers"booleanWhether row numbers are present by default on tables. These row numbers can also be hidden or shown on a per table basis, using its style tab.
"table.tooltips"booleanWhether tooltips are present by default on numeric table cells. These tooltips can also be hidden or shown on a per table basis, using its style tab.
"totals.areAddedByDefault"booleanWhether totals are added by default when a hierarchy is added to a widget. Totals can still be added or removed from a widget using the "Totals" context menu item.
"unsavedChangesPopup.isEnabled"booleanWhether a warning popup is displayed when leaving a dashboard with unsaved changes.
csvSeparatorstringThe separator used between cells when converting to CSV.
homePageLayout"grid" | "list"The layout mode for the homepage.
theme"light-activeviam" | "dark-activeviam" | stringControls the style of all Atoti UI components. Must be "light-activeviam", "dark-activeviam" or the key of a theme provided through configuration.themes. See Configuration.

Side

  • "center"
  • "top"
  • "right"
  • "bottom"
  • "left"

State

The state of Atoti UI. It can be extended through Configuration.

PropertyTypeDescription
activeToolKeystring | nullThe unique key identifying the tool currently open to the right of the data model. null if no tool is open.
dashboardStateWithHistory<DashboardState | null>The state of the dashboard, or null if no dashboard is loaded.
expandedFolderPathsInHomePagestring[][]The expanded folders in the dashboards tree in the home page.
isCommandPaletteVisiblebooleanWhether the command palette is visible.
isDataModelTreeExpandedbooleanWhether the data model tree is expanded or collapsed.
isDeferredbooleanWhether deferred updates are enabled for MDX queries fired by widgets in the dashboard.
isOpenDashboardPopupVisiblebooleanWhether the 'Open Dashboard' popup is visible.
isPresentingbooleanWhether the application is in presentation mode.
isSaveDashboardAsModalVisiblebooleanWhether the dashboard 'Save as' modal is visible.
isSettingsPopupVisiblebooleanWhether the 'Settings' popup is visible.
isShareDashboardModalVisiblebooleanWhether the dashboard 'Share' modal is visible.
isToolsPanelExpandedbooleanWhether the tools panel is expanded.
isWidgetsPanelVisiblebooleanWhether the widgets panel is visible.
lastSavedDashboardHashnumber | nullA hash of the dashboard state, useful to efficiently determine whether the dashboard has unsaved changes. See getHasUnsavedChanges
resourcesPanelKey"data-model" | "widgets" | "filters"The open resource panel, located to the left of the application.
statusNotificationsStatusNotification[]The notifications about the status of asynchronous actions in progress.
widgetSelectionWidgetSelectionState | nullThe key of the selected widget in each page.
widgetsPanelWidthnumberThe width of the widgets panel, when it is visible.

StatusNotification

Redux action to notify the user about the status of the asynchronous actions (for instance saving a dashboard) taking place. See statusNotification in State.

PropertyTypeDescription
action"saving" | "loading"
idstring
status"pending" | "fulfilled" | "rejected"

StatusNotificationAddedAction

PropertyTypeDescription
type"statusNotificationAdded"

StatusNotificationRemovedAction

PropertyTypeDescription
type"statusNotificationRemoved"

StatusNotificationSettledAction

PropertyTypeDescription
status"fulfilled" | "rejected"
type"statusNotificationSettled"

SubmittedKpiComparison

SubplotLimits

Maximum number of subplots that will be displayed horizontally and vertically.

PropertyTypeDescription
horizontalnumber
verticalnumber

SubtilePositionWithinSection

PropertyTypeDescription
tileIndexnumber
subtileIndexnumber

Syntax

  • "Property" /** * Function style, e.g. `FUNCTION()` or `FUNCTION(args)`. */
  • "Function" /** * Method style, e.g. `object.METHOD()` or `object.METHOD(args)`. */
  • "Method" /** * Infix style, e.g. `arg OPERATOR arg` (typically for operators such as '+' or 'AND'). */
  • "Infix" /** * Prefix style, e.g. `OPERATOR arg` (typically for unary operators such as '-'). */
  • "Prefix" /** * Parentheses style, e.g. `(ARG,...)` (used for tuple expressions) */
  • "Parentheses" /** * Braces style, e.g. `{
      ARG, ...
    }` (used for set expressions) */
  • "Braces"

TableCell

The minimal information representing a cell in the Table component. Note that this has no reality in terms of the data fetched from Atoti Server and it is entirely specific to the Table component.

  • { caption: string; value: number
  • string; }
  • null

TableStateDerivedFromCellSet

The information derived from data and used by CellSetTable and its children (including plugins).

PropertyTypeDescription
cellsCellSetTableCell[][]The cells forwarded to the underlying Table component. The dimensions of the array include the frozen rows and columns. Only the cells of the body are filled, as the rendering of the header cells depend on more information, present in the metaData.
columnHeaderIndices{
   hierarchyIndex: number;
   levelIndex: number;
}[]
Represents the level corresponding to each frozen row of the column header.
columnIndexImpactingRowStylenumberThe index of the column whose conditional formatting impacts full rows, if applicable.
columnsAxisAxis | undefined
cubeCube
dataCellSet
defaultMeasureDefaultMember
hierarchyIndicesInCellSetHierarchyIndicesInCellSet
indexOfMeasureOnSlicernumber
isRowHeaderTreeboolean
mappingDataVisualizationWidgetMapping
memberPropertyKeysstring[]
numberOfColumnsInBodynumber
numberOfFrozenColumnsnumber
numberOfFrozenRowsnumber
numberOfRowsInBodynumber
rowHeaderIndices{
   hierarchyIndex: number;
   levelIndex: number;
}[]
rowsAxisAxis
slicerAxisAxis
sort{
   orderMode: OrderMode | undefined;
   tupleCoordinates?: TupleCoordinates;
   levelCoordinates?: LevelCoordinates;
}
staticHeaderCoordinatesOnColumnsTableStaticHeaderCoordinates[]
staticHeaderCoordinatesOnRowsTableStaticHeaderCoordinates[]
staticHeadersOnColumnsTableStaticHeader[]
staticHeadersOnRowsTableStaticHeader[]
styleImpactingRowsAFieldStyleThe style impacting full rows, if applicable. It corresponds to the style of the tupleImpactingRowStyle from TableWidgetStyle. For instance, if the table has currencies and measures on columns, the this tuple can be (EUR, delta.SUM).

TableStaticHeader

  • {
       type: "Measures";
    }
  • Level

TableStaticHeaderCoordinates

  • {
       dimensionName: "Measures";
       hierarchyName: "Measures";
    }
  • LevelCoordinates

TableWidgetPlugin

The more specific WidgetPlugin interface, suited for table widgets.

PropertyTypeDescription
keystring
translations{
   [locale: string]: TranslationTree<string>;
}
attributesWidgetAttributes
attributesDrivingColorsstring[]The names of mapping attributes that can be used to customize colors using the Colors Editor.
behaviorEditorComponentType<EditorProps<WidgetState>>
categoryWidgetCategory
ComponentComponentType<WidgetPluginProps<WidgetState, SelectionType>>
contentEditorComponentType<EditorProps<WidgetState>>
contextMenuItemsstring[]
doesSupportMeasuresRedirectionboolean
filtersEditorComponentType<EditorProps>
IconComponentType<IconProps>
initialStateWidgetState
lazyLoading{
   chunkSizes: Partial<Record<"columns" | "rows", number>>;
}
Configuration of the maximum number of rows and columns that this widget fetches. Past these values, lazy loading kicks in: more rows and columns are only fetched dynamically when the user scrolls. When this attribute is omitted, it means that the widget does not support lazy loading and will fetch the entirety of the required data upfront.
menuItemsstring[]
queryEditorComponentType<EditorProps<WidgetState>>
styleStyle
styleEditorComponentType<EditorProps<WidgetState>>
subCategorystring
titleBarButtonsstring[]
useOnDataModelNodeClicked(widgetState: WidgetState) => (node: DataModelNode) => WidgetStateControls what happens to the widget when the user clicks fields in the data model.
cellstringThe key of the cell plugin to use.
cellStylestringThe key of the cell style plugin to use.

TableWidgetState

PropertyTypeDescription
areFiltersDrivenByMdxbooleanWhether the filters applied to the query when it is sent to the server are driven by: 1. widgetState.query.mdx (when true). It allows users to write filters as they like in the query tab. 2. dashboardState.filters, pageState.filters and widgetState.filters (when false). It allows a single source of truth for dashboard and page filters, preventing bugs.Defaults to false.In practice it is set to true when the user submits an MDX query in the query tab. It it set to false when filters are changed using other UI elements, such as the content or filters tab.
queryPartial<Query<T extends "serialized" ? MdxString : MdxType>>
serverKeystring
shouldUseDefaultColumnsMdxType extends MdxDrillthrough ? boolean : neverWhether the columns specified in the drillthrough.defaultSelectedColumns setting are used in the drillthrough query. It is useful when performing a drillthrough from another widget, as it allows to create the drillthrough widget right away, while triggering the query only once the default columns have been fetched.
mappingT extends "serialized" ? SerializedDataVisualizationWidgetMapping : DataVisualizationWidgetMapping
styleStyle
switchedTostring
columnWidths{
   [tupleKey: string]: number;
}
The widths of columns that have been resized, in pixels.
hiddenColumnsstring[]The tuple keys identifying the columns that have been hidden.

TableWidgetStyle

The style attribute of a table widget state

PropertyTypeDescription
measures{
   [measureName: string]: FieldStyle;
}
tuples{
   [tupleKey: string]: CSSProperties;
}
areRowNumbersVisiblebooleanWhether row numbers are visible. Row numbers allow to select an entire row. When they are visible, a button in the top left corner of the table allows to select all the cells of the table.
areTooltipsVisiblebooleanWhether tooltips are accessible on numeric cells.
size"large" | "medium" | "small"The overall spacing within the table. Drives default row heights and column widths. Columns can then be resized individually.
tupleImpactingRowStyleTupleCoordinatesThe tuple representing the column whose conditional formatting impacts row styles.
wrapHeadersbooleanWhether the text content of table headers wrap to the next line if it contains multiple words and is too long, or if sticks to a single line and has an ellipsis instead.

TextEditorWidgetState

State of a pluginWidgetTextEditor widget.

PropertyTypeDescription
displayMode"view" | "edit"
textstring

Theme

Contains all style attributes used by Atoti UI components.

PropertyTypeDescription
activeMenuItemBackgroundColorColorThe background color when a user hovers over a menu item.
activeTabBackgroundColorColorThe background color of the tab representing the active page in a dashboard.
alternateBackgroundColorColorThe alternative background color, for instance the color of a tile or a data model header.
alternateCellBackgroundColorColorFor table widgets the background color for the alternating color.
backgroundColorColorThe background color of the app.
blackColorRepresentative of the darkest color in the grayScale property, affects the overlay color. It is also the default color of header text and labels.
cellBackgroundDuringNegativeTransitionColorThe background color of a cell when its value decreases in a real time query.
cellBackgroundDuringPositiveTransitionColorThe background color of a cell when its value increases in a real time query.
cellBorderColorColorThe border color of table widgets.
disabledBackgroundColorBackground color when a menu item cannot be selected, primarily affects buttons.
disabledTextColorColorText color when a menu item cannot be selected.
dropHintBorderColorColorThe border color of the area that appears when a user is dragging and dropping widgets, either when trying to move the widget or when trying to place it from the widget insertion menu.
dropHintColorColorThe background color of the area that appears when a user is dragging and dropping widgets, either when trying to move the widget or when trying to place it from the ribbon.
errorColorColorThe default color for highlighting negative values. Inherently stands in for cellBackgroundDuringNegativeTransition if not supplied. Affects asterisks signifying required inputs as well. Used as background of tiles representing corrupted fields or filters in the wizard. Corrupted fields are fields that do not exist in the cube to which the widget is connected.
grayScaleColor[]An array of 14 colors representing a spectrum from the white property to the black property. If not provided it is constructed from the black and white properties.
headerActiveColorColorThe text or icon color of a menu item in the application header when it is active.
hoverColorColorThe text color when a user hovers over a menu item. Secondarily serves as the text and icon color of the currently active menu item.
inactiveTabBackgroundColorColorThe background color of the tabs representing pages that are not currently being viewed in the dashboard.
isDarkbooleanBoolean flagging whether or not the theme is a dark variant.
menuInlineSubmenuBgColorThe background color of an inline sub menu.
placeholderColorColorThe text color for the placeholder title of a new widget.
primaryColorColorThe only mandatory theme color. It serves a the base color for all other colors if they are not provided.
primaryScaleColor[]An array of 10 colors representing a spectrum from light variants of primaryColor to dark variants of the primaryColor (in the opposite order when the theme is dark). If not provided it is constructed from the primaryColor property.
selectedMenuItemBackgroundColor
selectionColorColorThe background color of the selected menu item.
selectionMarkDarkColorColorThe color of the checkmark in the color selector of the style tab if the selected color is light enough to provide contrast to a dark color.
selectionMarkLightColorColorThe color of the checkmark in the color selector of the style tab if the selected color is dark enough to provide contrast to a light color.
selectionOverlayColorColorThe overlay color to display when selecting a value in a widget cell.
shadowColorColor
successColorColorThe default color for highlighting positive values, inherently stands in for cellBackgroundDuringPositiveTransition if not supplied.
textColorColorDefault text and icon color.
warningColorColorDefault color for warning alert icons i.e. when deleting dashboards.
whiteColorLightest color in the grayScale property, affects the text color when renaming a dashboard.

TilePositionWithinSection

TilePositionWithinWizard

The position of a tile (or subtile) within a Wizard.

SectionPositionWithinWizard & TilePositionWithinSection

TimePeriod

  • "month"
  • "quarter"
  • "year"

TitleBarButtonPlugin

Plugin useful to define buttons accessible next to the top right menu of widgets.

PropertyTypeDescription
keystring
translations{
   [locale: string]: TranslationTree<string>;
}
ComponentComponentType<ActionProps<WidgetState, SelectionType>>

Tool

Tool accessible by clicking its icon in the horizontal bar to the right of the data model. Useful to allow users to edit the dashboard or interact with it.

PropertyTypeDescription
componentComponentType<EditorProps>The component displayed when the user opens the tool.
iconComponentTypeThe icon displayed in the horizontal bar and on which the user can click in order to open or close this tool.
keystringIdentifies the tool.
shortcutstringThe key of the shortcut to open this tool. For instance, "w" means that the user can open this tool by pressing "Alt" + "w".
translations{
   [locale: string]: {
     [key: string]: string;
  };
}
Translations specific to this tool. This is useful if you wish to include a tool within an extension (see ExtensionModule) in order to make it reusable across projects.
type"double" | "single"Whether the tool contains two independently resizable parts, or if it is a single block.

TopBottomMode

  • "TopCount"
  • "TopSum"
  • "TopPercent"
  • "BottomCount"
  • "BottomSum"
  • "BottomPercent"

Trace

  • Omit<Partial<Plotly.PlotData>, "x"
  • "y"
  • "r"
  • "theta"> & "theta"> & { _key: string; _styleKey?: string; _baseColor?: C; cellsIndices: (CellIndices[]
  • null)[]; axisIndices?: (number
  • null)[]; texttemplate?: string[]; } & (T extends "vertical" ? & (T extends "vertical" ? { x: (string
  • null)[]; y: (number
  • null)[]; } : unknown) & (T extends "horizontal" ? : unknown) & (T extends "horizontal" ? { x: (number
  • null)[]; y: (string
  • null)[]; } : unknown) & (T extends "scatter" ? : unknown) & (T extends "scatter" ? { x: (number
  • null)[]; y: (number
  • null)[]; } : unknown) & (T extends "radar" ? : unknown) & (T extends "radar" ? { r: (number
  • null)[]; theta: string[]; } : unknown)

TraceType

Defines whether the trace has an ordinal horizontal axis and a numeric vertical one, or the other way around.

  • "horizontal"
  • "vertical"
  • "noaxis"
  • "scatter"
  • "radar"

For example:

Lines and column charts are "vertical" whereas bar charts are "horizontal".

TranslationTree

A tree of translations identified by a key.

TreeContextMenuItemProps

PropertyTypeDescription
nodeNodeType
onEditStarted() => void
pathnumber[]
treesTreeObject<NodeType>[]

TreeContextMenuProps

PropertyTypeDescription
nodeNodeType
onEditStarted() => void
pathnumber[]
treesTreeObject<NodeType>[]

TreeObject

T & {
   children?: TreeObject<T>[];
}

Tuple

The coordinates of an aggregate in a cube. Can be used for instance to represent a cell in a table or a point in a chart.

(HierarchyCoordinates & Member)[]

TupleCoordinates

Coordinates identifying a Tuple.

MemberCoordinates[]

UpdateMode

Update mode for MDX query.

  • "once"
  • "realTime"

User

The name and roles of a user.

PropertyTypeDescription
usernamestring
userRolesstring[]

UserName

The name of a user.

string

UserRole

The name of a role for users.

string

WidgetActionProps

PropertyTypeDescription
classNamestring
onWidgetChange(newWidgetState: WidgetState) => void
queryIdstring
selectionSelectionType
widgetStateWidgetState

WidgetAttribute

PropertyTypeDescription
isMainAxisbooleanDefines whether the attribute represents the main axis of the widget. Useful in the case of charts.The main axis of a line or column chart is xAxis. The one of a bar chart is yAxis.
maxNumberOfFieldsnumber
roleAttributeRole

WidgetAttributes

An object containing WidgetAttribute values identified by their name.

WidgetCategory

  • "dataVisualization"
  • "editor"
  • "filter"
  • "monitor"
  • "misc"

WidgetContent

The content of the file to fetch in order to render a dashboard. Like SerializedDashboardState, but name and value.widgetKey are omitted.

WidgetInDashboardActionProps

PropertyTypeDescription
classNamestring
onWidgetChange(newWidgetState: WidgetState) => void
queryIdstring
selectionSelectionType
widgetStateWidgetState
dashboardStateDashboardState
layoutPathnumber[]
leafKeystring
onActivePageChange(newActivePageKey: string) => void
onDashboardChange(newDashboardState: DashboardState) => void
pageKeystring

WidgetMetaData

The content of the file to fetch in order to render the node representing a widget in the widgets tree.

PropertyTypeDescription
isFolderboolean
namestring
versionnumberThe version is copied to AWidgetState each time a saved widget is added to a dashboard. It is incremented each time the saved widget is updated. It is used to know whether a saved widget and a copy of it within a dashboard are in sync.
widgetKeystring

WidgetPlugin

Plugin defining a component that can be used in a dashboard.

PropertyTypeDescription
keystring
translations{
   [locale: string]: TranslationTree<string>;
}
attributesWidgetAttributes
attributesDrivingColorsstring[]The names of mapping attributes that can be used to customize colors using the Colors Editor.
behaviorEditorComponentType<EditorProps<WidgetState>>
categoryWidgetCategory
ComponentComponentType<WidgetPluginProps<WidgetState, SelectionType>>
contentEditorComponentType<EditorProps<WidgetState>>
contextMenuItemsstring[]
doesSupportMeasuresRedirectionboolean
filtersEditorComponentType<EditorProps>
IconComponentType<IconProps>
initialStateWidgetState
lazyLoading{
   chunkSizes: Partial<Record<"columns" | "rows", number>>;
}
Configuration of the maximum number of rows and columns that this widget fetches. Past these values, lazy loading kicks in: more rows and columns are only fetched dynamically when the user scrolls. When this attribute is omitted, it means that the widget does not support lazy loading and will fetch the entirety of the required data upfront.
menuItemsstring[]
queryEditorComponentType<EditorProps<WidgetState>>
styleStyle
styleEditorComponentType<EditorProps<WidgetState>>
subCategorystring
titleBarButtonsstring[]
useOnDataModelNodeClicked(widgetState: WidgetState) => (node: DataModelNode) => WidgetStateControls what happens to the widget when the user clicks fields in the data model.

WidgetPluginInDashboardProps

Props received by a widget plugin component within a dashboard

PropertyTypeDescription
isDeferredboolean
isSelectedboolean
onChange(newState: WidgetState) => void
onLoaded() => void
onSelectionChange(newSelection: SelectionType) => void
queryIdstring
styleCSSProperties
widgetStateWidgetState
dashboardStateDashboardState
layoutPathnumber[]
leafKeystring
onActivePageChange(newActivePageKey: string) => void
onDashboardChange(newDashboardState: DashboardState) => void
pageKeystring

WidgetPluginOutsideADashboardProps

PropertyTypeDescription
isDeferredboolean
isSelectedboolean
onChange(newState: WidgetState) => void
onLoaded() => void
onSelectionChange(newSelection: SelectionType) => void
queryIdstring
styleCSSProperties
widgetStateWidgetState

WidgetPluginProps

Props received by a widget plugin component.

WidgetSelectedAction

Redux action to change the selected widget in a dashboard page. See widgetSelection in State.

PropertyTypeDescription
leafKeystring
pageKeystring
type"widgetSelected"

WidgetSelectionState

The key of the selected widget in each page.

WidgetsPanelClosedAction

Redux action dispatched when the user closes the widgets panel. See isWidgetsPanelVisible in State.

PropertyTypeDescription
type"widgetPanelClosed"

WidgetsPanelOpenedAction

Redux action dispatched when the user opens the widgets panel. See isWidgetsPanelVisible in State.

PropertyTypeDescription
type"widgetPanelOpened"

WidgetWithQueryProps

Props received by a widget with a query.

WidgetPluginProps<WidgetState, SelectionType> & {
   queryResult: QueryResult<ResultType>;
   onQueryRangesChanged: (newRanges: Partial<{
     [axisId in AxisId]: QueryRange;
  }>) => void;
}

WidgetWithQueryState

The state of widgets using a query.

PropertyTypeDescription
areFiltersDrivenByMdxbooleanWhether the filters applied to the query when it is sent to the server are driven by: 1. widgetState.query.mdx (when true). It allows users to write filters as they like in the query tab. 2. dashboardState.filters, pageState.filters and widgetState.filters (when false). It allows a single source of truth for dashboard and page filters, preventing bugs.Defaults to false.In practice it is set to true when the user submits an MDX query in the query tab. It it set to false when filters are changed using other UI elements, such as the content or filters tab.
queryPartial<Query<T extends "serialized" ? MdxString : MdxType>>
serverKeystring
shouldUseDefaultColumnsMdxType extends MdxDrillthrough ? boolean : neverWhether the columns specified in the drillthrough.defaultSelectedColumns setting are used in the drillthrough query. It is useful when performing a drillthrough from another widget, as it allows to create the drillthrough widget right away, while triggering the query only once the default columns have been fetched.

WidgetWithQueryUpdateModeState

The state of a widget with a query update mode. The difference with WidgetWithQueryState is that only the query update mode is configurable. The mdx and query context are managed internally by the widget.

PropertyTypeDescription
query{
   updateMode?: UpdateMode;
}