import { Tree } from './tree' ; import { RenamableNode } from './tree.types' ; export class NodeEvent { public constructor ( public node ) { } } export class NodeSelectedEvent extends NodeEvent { public constructor ( node ) { super ( node ) ; } } export class NodeHoveredEvent extends NodeEvent { public constructor ( node ) { super ( node ) ; } } export class NodeUnselectedEvent extends NodeEvent { public constructor ( node ) { super ( node ) ; } } export class NodeDestructiveEvent extends NodeEvent { public constructor ( node ) { super ( node ) ; } } export class NodeMovedEvent extends NodeDestructiveEvent { public constructor ( node , public previousParent ) { super ( node ) ; } } export class NodeRemovedEvent extends NodeDestructiveEvent { public constructor ( node , public lastIndex ) { super ( node ) ; } } export class NodeCreatedEvent extends NodeDestructiveEvent { public constructor ( node ) { super ( node ) ; } } export class NodeRenamedEvent extends NodeDestructiveEvent { public constructor ( node , public oldValue , public newValue ) { super ( node ) ; } } export class NodeExpandedEvent extends NodeEvent { public constructor ( node ) { super ( node ) ; } } export class NodeCollapsedEvent extends NodeEvent { public constructor ( node ) { super ( node ) ; } } export class MenuItemSelectedEvent extends NodeEvent { public constructor ( node , public selectedItem ) { super ( node ) ; } } export class LoadNextLevelEvent extends NodeEvent { public constructor ( node ) { super ( node ) ; } } export class NodeCheckedEvent extends NodeEvent { public constructor ( node ) { super ( node ) ; } } export class NodeUncheckedEvent extends NodeEvent { public constructor ( node ) { super ( node ) ; } } export class NodeIndeterminedEvent extends NodeEvent { public constructor ( node ) { super ( node ) ; } }