@ribajs/bs5
Version:
Bootstrap 5 module for Riba.js
33 lines • 2.95 kB
JavaScript
import { Binder } from "@ribajs/core";
import { EventDispatcher } from "@ribajs/events";
import { ToastNotification } from "@ribajs/bs5";
export class ShowToastOnEventBinder extends Binder {
static key = "show-toast-on-*";
toastData;
_onEvent(event) {
if (!this.toastData) {
throw new Error("Toast data not set!");
}
this.toastData.$event = event;
this.toastData.$context = this.view.models;
const toastData = new ToastNotification(this.toastData);
const notificationDispatcher = new EventDispatcher(toastData.channel || "toast");
notificationDispatcher.trigger("show-notification", toastData);
}
onEvent = this._onEvent.bind(this);
bind(el) {
const eventName = this.args[0];
el.addEventListener(eventName, this.onEvent);
}
routine(el, toastData) {
if (this.args === null) {
throw new Error("args is null");
}
this.toastData = toastData;
}
unbind(el) {
const eventName = this.args[0];
el.removeEventListener(eventName, this.onEvent);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnM1LXNob3ctdG9hc3Qtb24uYmluZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2JpbmRlcnMvYnM1LXNob3ctdG9hc3Qtb24uYmluZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVoRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsTUFHM0M7SUFDQyxNQUFNLENBQUMsR0FBRyxHQUFHLGlCQUFpQixDQUFDO0lBRXZCLFNBQVMsQ0FBcUI7SUFFOUIsUUFBUSxDQUFDLEtBQWtCO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0MsTUFBTSxTQUFTLEdBQXNCLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNFLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxlQUFlLENBQ2hELFNBQVMsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUM3QixDQUFDO1FBQ0Ysc0JBQXNCLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFM0MsSUFBSSxDQUFDLEVBQXNCO1FBQ3pCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFXLENBQUM7UUFDekMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFNBQWdCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxPQUFPLENBQUMsRUFBc0IsRUFBRSxTQUE0QjtRQUMxRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxFQUFlO1FBQ3BCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFXLENBQUM7UUFDekMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLFNBQWdCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pELENBQUMifQ==