import { Output, EventEmitter } from '@angular/core'; export interface EventObj { event: T; editor: any; } export class Events { @Output() public onBeforePaste: EventEmitter> = new EventEmitter(); @Output() public onBlur: EventEmitter> = new EventEmitter(); @Output() public onClick: EventEmitter> = new EventEmitter(); @Output() public onContextMenu: EventEmitter> = new EventEmitter(); @Output() public onCopy: EventEmitter> = new EventEmitter(); @Output() public onCut: EventEmitter> = new EventEmitter(); @Output() public onDblclick: EventEmitter> = new EventEmitter(); @Output() public onDrag: EventEmitter> = new EventEmitter(); @Output() public onDragDrop: EventEmitter> = new EventEmitter(); @Output() public onDragEnd: EventEmitter> = new EventEmitter(); @Output() public onDragGesture: EventEmitter> = new EventEmitter(); @Output() public onDragOver: EventEmitter> = new EventEmitter(); @Output() public onDrop: EventEmitter> = new EventEmitter(); @Output() public onFocus: EventEmitter> = new EventEmitter(); @Output() public onFocusIn: EventEmitter> = new EventEmitter(); @Output() public onFocusOut: EventEmitter> = new EventEmitter(); @Output() public onKeyDown: EventEmitter> = new EventEmitter(); @Output() public onKeyPress: EventEmitter> = new EventEmitter(); @Output() public onKeyUp: EventEmitter> = new EventEmitter(); @Output() public onMouseDown: EventEmitter> = new EventEmitter(); @Output() public onMouseEnter: EventEmitter> = new EventEmitter(); @Output() public onMouseLeave: EventEmitter> = new EventEmitter(); @Output() public onMouseMove: EventEmitter> = new EventEmitter(); @Output() public onMouseOut: EventEmitter> = new EventEmitter(); @Output() public onMouseOver: EventEmitter> = new EventEmitter(); @Output() public onMouseUp: EventEmitter> = new EventEmitter(); @Output() public onPaste: EventEmitter> = new EventEmitter(); @Output() public onSelectionChange: EventEmitter> = new EventEmitter(); @Output() public onActivate: EventEmitter> = new EventEmitter(); @Output() public onAddUndo: EventEmitter> = new EventEmitter(); @Output() public onBeforeAddUndo: EventEmitter> = new EventEmitter(); @Output() public onBeforeExecCommand: EventEmitter> = new EventEmitter(); @Output() public onBeforeGetContent: EventEmitter> = new EventEmitter(); @Output() public onBeforeRenderUI: EventEmitter> = new EventEmitter(); @Output() public onBeforeSetContent: EventEmitter> = new EventEmitter(); @Output() public onChange: EventEmitter> = new EventEmitter(); @Output() public onClearUndos: EventEmitter> = new EventEmitter(); @Output() public onDeactivate: EventEmitter> = new EventEmitter(); @Output() public onDirty: EventEmitter> = new EventEmitter(); @Output() public onExecCommand: EventEmitter> = new EventEmitter(); @Output() public onGetContent: EventEmitter> = new EventEmitter(); @Output() public onHide: EventEmitter> = new EventEmitter(); @Output() public onInit: EventEmitter> = new EventEmitter(); @Output() public onLoadContent: EventEmitter> = new EventEmitter(); @Output() public onNodeChange: EventEmitter> = new EventEmitter(); @Output() public onPostProcess: EventEmitter> = new EventEmitter(); @Output() public onPostRender: EventEmitter> = new EventEmitter(); @Output() public onPreInit: EventEmitter> = new EventEmitter(); @Output() public onPreProcess: EventEmitter> = new EventEmitter(); @Output() public onProgressState: EventEmitter> = new EventEmitter(); @Output() public onRedo: EventEmitter> = new EventEmitter(); @Output() public onRemove: EventEmitter> = new EventEmitter(); @Output() public onReset: EventEmitter> = new EventEmitter(); @Output() public onSaveContent: EventEmitter> = new EventEmitter(); @Output() public onSetAttrib: EventEmitter> = new EventEmitter(); @Output() public onObjectResizeStart: EventEmitter> = new EventEmitter(); @Output() public onObjectResized: EventEmitter> = new EventEmitter(); @Output() public onObjectSelected: EventEmitter> = new EventEmitter(); @Output() public onSetContent: EventEmitter> = new EventEmitter(); @Output() public onShow: EventEmitter> = new EventEmitter(); @Output() public onSubmit: EventEmitter> = new EventEmitter(); @Output() public onUndo: EventEmitter> = new EventEmitter(); @Output() public onVisualAid: EventEmitter> = new EventEmitter(); } export const validEvents: (keyof Events)[] = [ 'onActivate', 'onAddUndo', 'onBeforeAddUndo', 'onBeforeExecCommand', 'onBeforeGetContent', 'onBeforeRenderUI', 'onBeforeSetContent', 'onBeforePaste', 'onBlur', 'onChange', 'onClearUndos', 'onClick', 'onContextMenu', 'onCopy', 'onCut', 'onDblclick', 'onDeactivate', 'onDirty', 'onDrag', 'onDragDrop', 'onDragEnd', 'onDragGesture', 'onDragOver', 'onDrop', 'onExecCommand', 'onFocus', 'onFocusIn', 'onFocusOut', 'onGetContent', 'onHide', 'onInit', 'onKeyDown', 'onKeyPress', 'onKeyUp', 'onLoadContent', 'onMouseDown', 'onMouseEnter', 'onMouseLeave', 'onMouseMove', 'onMouseOut', 'onMouseOver', 'onMouseUp', 'onNodeChange', 'onObjectResizeStart', 'onObjectResized', 'onObjectSelected', 'onPaste', 'onPostProcess', 'onPostRender', 'onPreProcess', 'onProgressState', 'onRedo', 'onRemove', 'onReset', 'onSaveContent', 'onSelectionChange', 'onSetAttrib', 'onSetContent', 'onShow', 'onSubmit', 'onUndo', 'onVisualAid' ];