@adaptabletools/adaptable
Version:
Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements
40 lines (39 loc) • 1.46 kB
TypeScript
import { AdaptableModule } from '../AdaptableState/Common/Types';
import { AccessLevel, Entitlement } from '../AdaptableState/Common/Entitlement';
import { BaseContext } from '../types';
/**
* Options for managing Entitlements in AdapTable, ie. which Modules are available to the User and whether as *Full*, *ReadOnly* or *Hidden*.
*/
export interface EntitlementOptions {
/**
* Returns either collection of `Entitlements`, or a function to invoke when an Entitlement is required
*
* @gridInfoItem
*/
moduleEntitlements?: Entitlement[] | ((entitlementContext: EntitlementContext) => AccessLevel | undefined);
/**
* AccessLevel to use when an Entitlement is not explicitly set; can be hardcoded value or a function to invoke
*
* @defaultValue 'Full'
* @gridInfoItem
*/
defaultAccessLevel?: AccessLevel | ((defaultAccessLevelContext: DefaultAccessLevelContext) => AccessLevel);
}
/**
* Provided to moduleEntitlements function when setting Entitlements programatically
*/
export interface EntitlementContext extends BaseContext {
/**
* Module being entitled
*/
adaptableModule: AdaptableModule;
/**
* The default Access Level for the current instance
*/
defaultAccessLevel: AccessLevel;
}
/**
* Provided to defaultAccessLevel function when setting Default Entitlement value programatically
*/
export interface DefaultAccessLevelContext extends BaseContext {
}