@blocksuite/global
Advanced tools
Comparing version 0.5.0-20230306231625-c219ab3 to 0.5.0-20230307101545-7d5aefc
@@ -38,2 +38,3 @@ export declare const TextIcon: import("lit-html").TemplateResult<1>; | ||
export declare const CrossIcon: import("lit-html").TemplateResult<1>; | ||
export declare const BlockHubIcon20: import("lit-html").TemplateResult<1>; | ||
export declare const BlockHubIcon: import("lit-html").TemplateResult<1>; | ||
@@ -40,0 +41,0 @@ export declare const SearchIcon: import("lit-html").TemplateResult<1>; |
@@ -14,2 +14,5 @@ type DisposeCallback = () => void; | ||
add(d: Disposable | DisposeCallback): void; | ||
addFromEvent<N extends keyof WindowEventMap>(element: Window, eventName: N, handler: (e: WindowEventMap[N]) => void, options?: boolean | AddEventListenerOptions): void; | ||
addFromEvent<N extends keyof DocumentEventMap>(element: Document, eventName: N, handler: (e: DocumentEventMap[N]) => void, eventOptions?: boolean | AddEventListenerOptions): void; | ||
addFromEvent<N extends keyof HTMLElementEventMap>(element: HTMLElement, eventName: N, handler: (e: HTMLElementEventMap[N]) => void, eventOptions?: boolean | AddEventListenerOptions): void; | ||
dispose(): void; | ||
@@ -16,0 +19,0 @@ } |
@@ -27,2 +27,10 @@ export class DisposableGroup { | ||
} | ||
addFromEvent(target, type, handler, eventOptions) { | ||
this.add({ | ||
dispose: () => { | ||
target.removeEventListener(type, handler, eventOptions); | ||
}, | ||
}); | ||
target.addEventListener(type, handler, eventOptions); | ||
} | ||
dispose() { | ||
@@ -29,0 +37,0 @@ disposeAll(this._disposables); |
@@ -6,8 +6,2 @@ import { Disposable } from './disposable.js'; | ||
private _disposables; | ||
/** | ||
* Returns a disposable that will remove the listener | ||
*/ | ||
static fromEvent<N extends keyof WindowEventMap>(element: Window, eventName: N, handler: (e: WindowEventMap[N]) => void, options?: boolean | AddEventListenerOptions): Disposable; | ||
static fromEvent<N extends keyof DocumentEventMap>(element: Document, eventName: N, handler: (e: DocumentEventMap[N]) => void, eventOptions?: boolean | AddEventListenerOptions): Disposable; | ||
static fromEvent<N extends keyof HTMLElementEventMap>(element: HTMLElement, eventName: N, handler: (e: HTMLElementEventMap[N]) => void, eventOptions?: boolean | AddEventListenerOptions): Disposable; | ||
filter(testFun: (v: T) => boolean): Slot<T>; | ||
@@ -14,0 +8,0 @@ on(callback: (v: T) => unknown): Disposable; |
@@ -24,10 +24,2 @@ import { flattenDisposables } from './disposable.js'; | ||
} | ||
static fromEvent(element, eventName, handler, eventOptions) { | ||
element.addEventListener(eventName, handler, eventOptions); | ||
return { | ||
dispose: () => { | ||
element.removeEventListener(eventName, handler, eventOptions); | ||
}, | ||
}; | ||
} | ||
filter(testFun) { | ||
@@ -34,0 +26,0 @@ const result = new Slot(); |
{ | ||
"name": "@blocksuite/global", | ||
"version": "0.5.0-20230306231625-c219ab3", | ||
"version": "0.5.0-20230307101545-7d5aefc", | ||
"types": "./index.d.ts", | ||
@@ -5,0 +5,0 @@ "type": "module", |
@@ -29,2 +29,34 @@ type DisposeCallback = () => void; | ||
addFromEvent<N extends keyof WindowEventMap>( | ||
element: Window, | ||
eventName: N, | ||
handler: (e: WindowEventMap[N]) => void, | ||
options?: boolean | AddEventListenerOptions | ||
): void; | ||
addFromEvent<N extends keyof DocumentEventMap>( | ||
element: Document, | ||
eventName: N, | ||
handler: (e: DocumentEventMap[N]) => void, | ||
eventOptions?: boolean | AddEventListenerOptions | ||
): void; | ||
addFromEvent<N extends keyof HTMLElementEventMap>( | ||
element: HTMLElement, | ||
eventName: N, | ||
handler: (e: HTMLElementEventMap[N]) => void, | ||
eventOptions?: boolean | AddEventListenerOptions | ||
): void; | ||
addFromEvent( | ||
target: HTMLElement | Window | Document, | ||
type: string, | ||
handler: (e: Event) => void, | ||
eventOptions?: boolean | AddEventListenerOptions | ||
) { | ||
this.add({ | ||
dispose: () => { | ||
target.removeEventListener(type, handler as () => void, eventOptions); | ||
}, | ||
}); | ||
target.addEventListener(type, handler as () => void, eventOptions); | ||
} | ||
dispose() { | ||
@@ -31,0 +63,0 @@ disposeAll(this._disposables); |
@@ -10,37 +10,2 @@ import { Disposable, flattenDisposables } from './disposable.js'; | ||
/** | ||
* Returns a disposable that will remove the listener | ||
*/ | ||
static fromEvent<N extends keyof WindowEventMap>( | ||
element: Window, | ||
eventName: N, | ||
handler: (e: WindowEventMap[N]) => void, | ||
options?: boolean | AddEventListenerOptions | ||
): Disposable; | ||
static fromEvent<N extends keyof DocumentEventMap>( | ||
element: Document, | ||
eventName: N, | ||
handler: (e: DocumentEventMap[N]) => void, | ||
eventOptions?: boolean | AddEventListenerOptions | ||
): Disposable; | ||
static fromEvent<N extends keyof HTMLElementEventMap>( | ||
element: HTMLElement, | ||
eventName: N, | ||
handler: (e: HTMLElementEventMap[N]) => void, | ||
eventOptions?: boolean | AddEventListenerOptions | ||
): Disposable; | ||
static fromEvent( | ||
element: HTMLElement | Window | Document, | ||
eventName: string, | ||
handler: (e: Event) => void, | ||
eventOptions?: boolean | AddEventListenerOptions | ||
): Disposable { | ||
element.addEventListener(eventName, handler, eventOptions); | ||
return { | ||
dispose: () => { | ||
element.removeEventListener(eventName, handler, eventOptions); | ||
}, | ||
}; | ||
} | ||
filter(testFun: (v: T) => boolean): Slot<T> { | ||
@@ -47,0 +12,0 @@ const result = new Slot<T>(); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
435892
4560