Adaptable Object

Most objects in AdapTable implement the AdaptableObject interface.


This includes not only objects supplied in Predefined Config like Conditional Style or Format Column, but also AdapTable objects that appear as config properties (e.g. Style, Button etc.)

The object contains just 3 properties:

IsReadOnlySets Entity to ReadOnly (overwriting a Strategy Entitlement of 'Full')
SourceSource of state object: 'Config' if provided via , 'User' or undefined for runtime state.
UuidUnique identifier for the Adaptable Object, generated and used internally by AdapTable


The Uuid property is of type TypeUuid and used for easy identification of objects

It allows AdapTable instances to share state and inform each other of CRUD events on an item


If Team Sharing is enabled, any Adaptable Object can easily be shared - at run-time - between colleagues


Do not set this property when writing objects in Predefined Config as it will be set by AdapTable at run-time when the config is first read


Entitlements in AdapTable are designed to operate at the Module level.


Each Module can be set to be 'Full', 'ReadOnly' or 'Hidden'

However, sometimes a use case demands that while the Module has a 'Full' entitlement (i.e. it is editable), one particular object must be ReadOnly (i.e. cannot be deleted).

This property is designed for precisely this reason, and it will overrride the 'Full' Entitlement in the Module.


There is no property for the opposite use case - where the Module's Entitlement is 'ReadOnly' but one AdaptTable object should be 'Full'


The Source property is applied by AdapTable and defines where the object was first created.


Do not provide a value for this property as it will be set by AdapTable at run-time

It can be of one of 2 values:

  • Config - the object was initially provided in Predefined Config
  • User - the object was created by the user - either at run-time in the UI or through the Adaptable Api

If an object is first supplied in Predefined Config and is then amended by the User the 'Source' value will remain unchanged