mirror of
https://github.com/codex-team/editor.js
synced 2024-06-18 13:45:20 +02:00
52 lines
1.3 KiB
TypeScript
52 lines
1.3 KiB
TypeScript
import Module from '../../__module';
|
|||
Revert "Release: 2.19 (#1341)" (#1363)
This reverts commit 78775703c967dee84d75689135333b5d89db392b.
|
import { Events } from '../../../../types/api';
|
||
|
|||
/**
|
|||
* @class EventsAPI
|
|||
* provides with methods working with Toolbar
|
|||
*/
|
|||
export default class EventsAPI extends Module {
|
|||
/**
|
|||
* Available methods
|
|||
*
|
|||
* @returns {Events}
|
|||
*/
|
|||
public get methods(): Events {
|
|||
return {
|
|||
emit: (eventName: string, data: object): void => this.emit(eventName, data),
|
|||
off: (eventName: string, callback: () => void): void => this.off(eventName, callback),
|
|||
on: (eventName: string, callback: () => void): void => this.on(eventName, callback),
|
|||
};
|
|||
}
|
|||
|
|||
/**
|
|||
* Subscribe on Events
|
|||
*
|
|||
* @param {string} eventName - event name to subscribe
|
|||
* @param {Function} callback - event handler
|
|||
*/
|
|||
public on(eventName, callback): void {
|
|||
this.Editor.Events.on(eventName, callback);
|
|||
}
|
|||
|
|||
/**
|
|||
* Emit event with data
|
|||
*
|
|||
* @param {string} eventName - event to emit
|
|||
* @param {object} data - event's data
|
|||
*/
|
|||
public emit(eventName, data): void {
|
|||
this.Editor.Events.emit(eventName, data);
|
|||
}
|
|||
|
|||
/**
|
|||
* Unsubscribe from Event
|
|||
*
|
|||
* @param {string} eventName - event to unsubscribe
|
|||
* @param {Function} callback - event handler
|
|||
*/
|
|||
public off(eventName, callback): void {
|
|||
this.Editor.Events.off(eventName, callback);
|
|||
}
|
|||
}
|