refactor: ♻️ refactor: Event => EventEmitter
This commit is contained in:
@ -5,16 +5,16 @@ import { Attr } from '../../util/attr'
|
||||
import { Svg } from '../container/svg'
|
||||
import { Adopter } from '../adopter'
|
||||
import { Data } from './data'
|
||||
import { Event } from './event'
|
||||
import { Style } from './style'
|
||||
import { Primer } from './primer'
|
||||
import { Memory } from './memory'
|
||||
import { Listener } from './listener'
|
||||
import { ClassName } from './classname'
|
||||
import { Transform } from './transform'
|
||||
import { EventEmitter } from './event-emitter'
|
||||
|
||||
@Dom.register('Dom')
|
||||
@Dom.mixin(Event, ClassName, Style, Data, Memory, Listener, Transform)
|
||||
@Dom.mixin(EventEmitter, ClassName, Style, Data, Memory, Listener, Transform)
|
||||
export class Dom<TNode extends Node = Node> extends Primer<TNode> {
|
||||
first<T extends Dom = Dom>(): T | null {
|
||||
return Dom.adopt<T>(this.node.firstChild)
|
||||
@ -507,7 +507,7 @@ export class Dom<TNode extends Node = Node> extends Primer<TNode> {
|
||||
|
||||
export interface Dom<TNode extends Node = Node>
|
||||
extends ClassName<TNode>,
|
||||
Event<TNode>,
|
||||
EventEmitter<TNode>,
|
||||
Style<TNode>,
|
||||
Data<TNode>,
|
||||
Memory<TNode>,
|
||||
@ -542,6 +542,6 @@ export namespace Dom {
|
||||
|
||||
export namespace Dom {
|
||||
export const registerAttrHook = Attr.registerHook
|
||||
export const registerEventHook = Event.registerHook
|
||||
export const registerEventHook = EventEmitter.registerHook
|
||||
export const registerStyleHook = Style.registerHook
|
||||
}
|
||||
|
@ -10,7 +10,7 @@ import { EventHandler } from './event-types'
|
||||
export namespace Core {
|
||||
let triggered: string | undefined
|
||||
|
||||
export function add(
|
||||
export function on(
|
||||
elem: Store.EventTarget,
|
||||
types: string,
|
||||
handler:
|
||||
@ -118,7 +118,7 @@ export namespace Core {
|
||||
})
|
||||
}
|
||||
|
||||
export function remove(
|
||||
export function off(
|
||||
elem: Store.EventTarget,
|
||||
types: string,
|
||||
handler?: EventHandler<any, any>,
|
||||
@ -142,7 +142,7 @@ export namespace Core {
|
||||
// Unbind all events (on this namespace, if provided) for the element
|
||||
if (!originType) {
|
||||
Object.keys(events).forEach((key) => {
|
||||
remove(elem, key + item, handler, selector, true)
|
||||
off(elem, key + item, handler, selector, true)
|
||||
})
|
||||
return
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ import { EventRaw } from './event-alias'
|
||||
import { EventObject } from './event-object'
|
||||
import { TypeEventHandler, TypeEventHandlers } from './event-types'
|
||||
|
||||
export class Event<TElement extends Node> extends Primer<TElement> {
|
||||
export class EventEmitter<TElement extends Node> extends Primer<TElement> {
|
||||
on<TType extends string>(
|
||||
events: TType,
|
||||
selector: string,
|
||||
@ -50,7 +50,7 @@ export class Event<TElement extends Node> extends Primer<TElement> {
|
||||
): this
|
||||
on(events: TypeEventHandlers<TElement, undefined, TElement, TElement>): this
|
||||
on(events: any, selector?: any, data?: any, handler?: any) {
|
||||
Event.on(this.node as any, events, selector, data, handler)
|
||||
EventEmitter.on(this.node as any, events, selector, data, handler)
|
||||
return this
|
||||
}
|
||||
|
||||
@ -95,7 +95,7 @@ export class Event<TElement extends Node> extends Primer<TElement> {
|
||||
): this
|
||||
once(events: TypeEventHandlers<TElement, undefined, TElement, TElement>): this
|
||||
once(events: any, selector?: any, data?: any, handler?: any) {
|
||||
Event.on(this.node as any, events, selector, data, handler, true)
|
||||
EventEmitter.on(this.node as any, events, selector, data, handler, true)
|
||||
return this
|
||||
}
|
||||
|
||||
@ -132,7 +132,7 @@ export class Event<TElement extends Node> extends Primer<TElement> {
|
||||
| false,
|
||||
handler?: TypeEventHandler<TElement, any, any, any, TType> | false,
|
||||
) {
|
||||
Event.off(this.node, events, selector, handler)
|
||||
EventEmitter.off(this.node, events, selector, handler)
|
||||
return this
|
||||
}
|
||||
|
||||
@ -146,7 +146,7 @@ export class Event<TElement extends Node> extends Primer<TElement> {
|
||||
}
|
||||
}
|
||||
|
||||
export namespace Event {
|
||||
export namespace EventEmitter {
|
||||
type EventHandler = false | ((...args: any[]) => any)
|
||||
|
||||
export function on(
|
||||
@ -199,7 +199,7 @@ export namespace Event {
|
||||
const originHandler = fn
|
||||
fn = function (event, ...args: any[]) {
|
||||
// Can use an empty set, since event contains the info
|
||||
Event.off(event)
|
||||
EventEmitter.off(elem, event)
|
||||
return originHandler.call(this, event, ...args)
|
||||
}
|
||||
|
||||
@ -207,7 +207,7 @@ export namespace Event {
|
||||
Util.setHandlerId(fn, Util.ensureHandlerId(originHandler))
|
||||
}
|
||||
|
||||
Core.add(elem, types as string, fn, data, selector as string)
|
||||
Core.on(elem, types as string, fn, data, selector as string)
|
||||
}
|
||||
|
||||
export function off<TType extends string, TElement>(
|
||||
@ -254,10 +254,10 @@ export namespace Event {
|
||||
fn = Util.returnFalse
|
||||
}
|
||||
|
||||
Core.remove(elem as any, events as string, fn, selector)
|
||||
Core.off(elem as any, events as string, fn, selector)
|
||||
}
|
||||
}
|
||||
|
||||
export namespace Event {
|
||||
export namespace EventEmitter {
|
||||
export const registerHook = Hook.add
|
||||
}
|
@ -94,7 +94,7 @@ export namespace Special {
|
||||
) {
|
||||
if (!isSync) {
|
||||
if (!State.has(elem, type)) {
|
||||
Core.add(elem, type, Util.returnTrue)
|
||||
Core.on(elem, type, Util.returnTrue)
|
||||
}
|
||||
return
|
||||
}
|
||||
@ -102,7 +102,7 @@ export namespace Special {
|
||||
// Register the controller as a special universal handler for all event namespaces
|
||||
State.set(elem, type, false)
|
||||
|
||||
Core.add(elem, type, {
|
||||
Core.on(elem, type, {
|
||||
namespace: false,
|
||||
handler(event, ...args) {
|
||||
const node = this as HTMLElement
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { Event } from './event'
|
||||
import { EventEmitter } from './event-emitter'
|
||||
import { TypeEventHandler } from './event-types'
|
||||
|
||||
export class Listener<TElement extends Node> extends Event<TElement> {}
|
||||
export class Listener<TElement extends Node> extends EventEmitter<TElement> {}
|
||||
|
||||
export interface Listener<TElement extends Node>
|
||||
extends Listener.Methods<TElement> {}
|
||||
|
Reference in New Issue
Block a user