@adaptabletools/adaptable
Version:
Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements
56 lines (55 loc) • 1.68 kB
TypeScript
import { TypeUuid } from '../Uuid';
import { ColumnScope } from './ColumnScope';
/**
* The current version of AdapTable being used
*/
export type AdaptableVersion = `${string}.${string}.${string}`;
/**
* Base interface which all other Adaptable State-related objects extend
*/
export interface AdaptableObject {
/**
* Unique identifier for the Adaptable Object, generated and used internally by AdapTable
*/
Uuid?: TypeUuid;
/**
* Source of state object: 'InitialState' if provided via `AdaptableOptions.initialState`, 'User' or undefined for runtime state.
*/
Source?: 'InitialState' | 'User';
/**
* Current AdapTable version
*/
AdaptableVersion?: AdaptableVersion;
/**
* Sets Entity to ReadOnly (overwriting a Strategy Entitlement of 'Full')
*/
IsReadOnly?: boolean;
/**
* List of Tags associated with the Object; often used for (but not limited to) managing Layout object scope
*/
Tags?: AdaptableObjectTag[];
}
/**
* AdaptableObjectTag Object Tag - currently supporting only plain string values, but open for future extensions, if needed
*/
export type AdaptableObjectTag = string;
/**
* Lookup criteria for finding specific Adaptable Objects; all given criteria will be composed with an AND operator
*/
export interface AdaptableObjectLookupCriteria {
/**
* ColumnScope
*/
scope?: ColumnScope;
/**
* AdaptableObjectTag
*/
tag?: AdaptableObjectTag;
/**
* Technical IDs of Adaptable Objects
*/
ids?: AdaptableObject['Uuid'][];
}
export interface AdaptableObjectWithScope extends AdaptableObject {
Scope: ColumnScope;
}