@uploadcare/file-uploader
Version:
Building blocks for Uploadcare products integration
46 lines (37 loc) • 1.38 kB
JavaScript
// @ts-check
import { UploaderBlock } from '../../abstract/UploaderBlock.js';
import { EventType } from './EventEmitter.js';
class UploadCtxProviderClass extends UploaderBlock {
requireCtxName = true;
initCallback() {
super.initCallback();
this.$['*eventEmitter'].bindTarget(this);
}
destroyCallback() {
super.destroyCallback();
this.$['*eventEmitter'].unbindTarget(this);
}
}
UploadCtxProviderClass.EventType = EventType;
/**
* @typedef {import('../../utils/mixinClass.js').MixinClass<
* typeof UploadCtxProviderClass,
* {
* addEventListener<
* T extends (typeof import('./EventEmitter.js').EventType)[keyof typeof import('./EventEmitter.js').EventType],
* >(
* type: T,
* listener: (e: CustomEvent<import('./EventEmitter.js').EventPayload[T]>) => void,
* options?: boolean | AddEventListenerOptions,
* ): void;
* removeEventListener<
* T extends (typeof import('./EventEmitter.js').EventType)[keyof typeof import('./EventEmitter.js').EventType],
* >(
* type: T,
* listener: (e: CustomEvent<import('./EventEmitter.js').EventPayload[T]>) => void,
* options?: boolean | EventListenerOptions,
* ): void;
* }
* >} UploadCtxProvider
*/
export const UploadCtxProvider = /** @type {UploadCtxProvider} */ (/** @type {unknown} */ (UploadCtxProviderClass));