Event Manager
Module Extensions
Section titled “Module Extensions”AdditionalData (Extended from @revolist/revogrid)
Section titled “AdditionalData (Extended from @revolist/revogrid)”interface AdditionalData { /** * Additional data property for event manager * @deprecated Use `grid.eventManager` instead. * * @example * ```typescript * const grid = document.createElement('revo-grid'); * grid.additionalData = { eventManager: { collectEvents: true, collectEventsDelay: 1000 } }; * ``` */ eventManager?: EventManagerConfig}HTMLRevoGridElement (Extended from global)
Section titled “HTMLRevoGridElement (Extended from global)”interface HTMLRevoGridElement { /** * Direct event manager configuration. */ eventManager?: EventManagerConfig}HTMLRevoGridElementEventMap (Extended from global)
Section titled “HTMLRevoGridElementEventMap (Extended from global)”interface HTMLRevoGridElementEventMap { /** * Event for event manager * * @example * ```typescript * grid.addEventListener(ON_EDIT_EVENT, (event) => { * console.log(event); * }); * ``` */ [ON_EDIT_EVENT]: EventManagerEvent}Plugin API
Section titled “Plugin API”EventManagerPlugin
Section titled “EventManagerPlugin”RevoGrid Plugin for Event Manager. Whole purpose is to collect and dispatch edit events in one place.
class EventManagerPlugin {}EventManagerEvent (Extended from index.ts)
Section titled “EventManagerEvent (Extended from index.ts)”export type EventManagerEvent = { eventTypes: string[]; previousData: BeforeRangeSaveDataDetails['data'];} & Omit<BeforeRangeSaveDataDetails, 'newRange' | 'oldRange'>;EventManagerConfig
Section titled “EventManagerConfig”The configuration object for the EventManagerPlugin.
/** * The configuration object for the EventManagerPlugin. */export type EventManagerConfig = { /** * Whether to collect events and apply delay or send them immediately. * @default false */ collectEvents?: boolean;
/** * The delay in milliseconds to wait until the * collected events are applied to the grid. * Used only when `collectEvents` is true. * @default 0 */ collectEventsDelay?: number;
/** * Whether to apply the collected events to the * original data source. * @default true */ applyEventsToSource?: boolean;};markEventManagerEditIntercepted
Section titled “markEventManagerEditIntercepted”Marks a beforeedit whose native application was taken over by EventManager.
export function markEventManagerEditIntercepted( event: CustomEvent<BeforeSaveDataDetails>, completeUnifiedEdit: () => void,): void;isEventManagerEditIntercepted
Section titled “isEventManagerEditIntercepted”Distinguishes EventManager interception from a plain beforeedit veto.
export function isEventManagerEditIntercepted(detail: BeforeSaveDataDetails): boolean;markEventManagerUnifiedEditOutcome
Section titled “markEventManagerUnifiedEditOutcome”Records the cancelable unified-edit outcome for an intercepted beforeedit.
export function markEventManagerUnifiedEditOutcome( detail: BeforeSaveDataDetails, accepted: boolean,): void;completeEventManagerInterceptedEdits
Section titled “completeEventManagerInterceptedEdits”Completes and returns the cancelable unified-edit outcome for a transaction.
export function completeEventManagerInterceptedEdits( details: BeforeSaveDataDetails[],): boolean;