@adaptabletools/adaptable-cjs
Version:
Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements
78 lines (77 loc) • 2.24 kB
TypeScript
import { TypeUuid } from '../Uuid';
import { ColumnScope } from './ColumnScope';
/**
* The current version of AdapTable being used
*/
export type AdaptableVersion = `${string}.${string}.${string}`;
/**
* Interface for objects that can be uniquely identified by a UUID
*/
export interface Identifiable {
/**
* Unique identifier for the Object, generated and used internally by AdapTable
*/
Uuid?: TypeUuid;
}
/**
* Base interface which all other Adaptable State-related objects extend
*/
export interface AdaptableObject extends Identifiable {
/**
* 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')
*
* @inheritedDoc
*/
IsReadOnly?: boolean;
/**
* List of Tags associated with the Object; often used for extending Layouts
*/
Tags?: AdaptableObjectTag[];
/**
* Optional metadata associated with the object; can be used to store additional information or configuration
*/
Metadata?: any;
}
/**
* 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;
}
/**
* Interface that extends Adaptable Object for those config items that can be suspended at run-time
*/
export interface SuspendableObject extends AdaptableObject {
/**
* Suspends (i.e. turns off) an Adaptable Object
*
* @inheritedDoc
*/
IsSuspended?: boolean;
}