UNPKG

@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
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; }