@adaptabletools/adaptable
Version:
Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements
70 lines (69 loc) • 2.4 kB
TypeScript
import { CustomSharedEntity, SharedEntity } from '../AdaptableState/TeamSharingState';
import { BaseContext } from '../AdaptableState/Common/BaseContext';
/**
* Options for managing Team Sharing - which enables Adaptable Objects to be shared between colleagues
*/
export interface TeamSharingOptions {
/**
* Whether Team Sharing is enabled
*
* @defaultValue false
* @gridInfoItem
*/
enableTeamSharing: boolean;
/**
* (Async) Loads available Shared Entities - user can download and auto-merge with Adaptable State
*
* @defaultValue null
*/
loadSharedEntities: (context: SharedEntitiesContext) => Promise<SharedEntity[]>;
/**
* Allows hooking into Shared Entities loading process
*/
applySharedEntities?: (sharedEntities: SharedEntity[], context: SharedEntitiesContext) => SharedEntity[];
/**
* (Async) Persists Shared Entities so that they can be downloaded by other team members
*
* @defaultValue null
*/
persistSharedEntities: (sharedEntities: SharedEntity[], context: SharedEntitiesContext) => Promise<void>;
/**
* Allows hooking into Shared Entities persistence process
*/
saveSharedEntities?: (sharedEntities: SharedEntity[], context: SharedEntitiesContext) => SharedEntity[];
/**
* Handles import of Custom Shared Entities
*/
handleCustomSharedEntityImport?: (sharedEntity: CustomSharedEntity, context: SharedEntitiesContext) => void;
/**
* Frequency (in minutes) to check if Active Shared Entities have a newer revision
*
* @defaultValue 0 (never)
* @gridInfoItem
*/
updateInterval?: number;
/**
* How user is informed when Active Shared Entities have newer revisions
*
* @defaultValue null (none)
* @gridInfoItem
*/
updateNotification?: 'Alert' | 'AlertWithNotification' | 'SystemStatus';
/**
* Whether to show update notification once per update
* @defaultValue false
*/
showUpdateNotificationOncePerUpdate?: boolean;
/**
* Suppress warning when an Import overrides existing Adaptable State item
*
* @defaultValue false
* @gridInfoItem
*/
suppressOverrideConfigWarning?: boolean;
}
/**
* Context provided to `TeamSharingOptions.loadSharedEntities()` callback
*/
export interface SharedEntitiesContext extends BaseContext {
}