UNPKG

bb-inline-editor

Version:

Follow me [![twitter](https://img.shields.io/twitter/follow/carlillo.svg?style=social&label=%20carlillo)](https://twitter.com/carlillo) to be notified about new releases.

55 lines (48 loc) 2.55 kB
import { EventEmitter } from "@angular/core"; import { InlineEditorError } from "./inline-editor-error.interface"; import { InlineConfig } from "../types/inline-configs"; import { InlineEditorState, InlineEditorStateOptions } from "./inline-editor-state.class"; import { InlineEditorComponent } from "../inline-editor.component"; export interface Events { internal: InternalEvents; external: ExternalEvents; } export class InternalEvents { public onUpdateStateOfParent: EventEmitter<InlineEditorState> = new EventEmitter(); public onUpdateStateOfChild: EventEmitter<InlineEditorState> = new EventEmitter(); public onChange: EventEmitter<InternalEvent> = new EventEmitter(); public onFocus: EventEmitter<InternalEvent> = new EventEmitter(); public onBlur: EventEmitter<InternalEvent> = new EventEmitter(); public onKeyPress: EventEmitter<InternalEvent> = new EventEmitter(); public onEnter: EventEmitter<InternalEvent> = new EventEmitter(); public onEscape: EventEmitter<InternalEvent> = new EventEmitter(); public onSave: EventEmitter<InternalEvent> = new EventEmitter(); public onEdit: EventEmitter<InternalEvent> = new EventEmitter(); public onCancel: EventEmitter<InternalEvent> = new EventEmitter(); public onClick: EventEmitter<InternalEvent> = new EventEmitter(); public onUpdateConfig: EventEmitter<InlineConfig> = new EventEmitter(); } export class ExternalEvents { public onChange: EventEmitter<InlineEditorEvent> = new EventEmitter(); public onSave: EventEmitter<InlineEditorEvent> = new EventEmitter(); public onKeyPress: EventEmitter<InlineEditorEvent> = new EventEmitter(); public onFocus: EventEmitter<InlineEditorEvent> = new EventEmitter(); public onBlur: EventEmitter<InlineEditorEvent> = new EventEmitter(); public onEnter: EventEmitter<InlineEditorEvent> = new EventEmitter(); public onEscape: EventEmitter<InlineEditorEvent> = new EventEmitter(); public onEdit: EventEmitter<InlineEditorEvent> = new EventEmitter(); public onCancel: EventEmitter<InlineEditorEvent> = new EventEmitter(); public onClick: EventEmitter<InlineEditorEvent> = new EventEmitter(); public onError: EventEmitter<InlineEditorError | InlineEditorError[]> = new EventEmitter(); } export interface InternalEvent { event?: Event; state: InlineEditorState; } export interface ExternalEvent { event?: Event; state: InlineEditorStateOptions; } export interface InlineEditorEvent extends ExternalEvent { instance: InlineEditorComponent; }