@stimulus-library/controllers
Version:
A library of useful controllers for Stimulus
20 lines (19 loc) • 641 B
JavaScript
import { BaseController } from "@stimulus-library/utilities";
export class PresenceController extends BaseController {
get name() {
return this.hasNameValue ? this.nameValue : "";
}
get _addedEventName() {
return [this.name, "presence", "added"].filter(el => !!el).join(":");
}
get _removedEventName() {
return [this.name, "presence", "removed"].filter(el => !!el).join(":");
}
connect() {
this.dispatchEvent(this.el, this._addedEventName);
}
disconnect() {
this.dispatchEvent(this.el, this._removedEventName);
}
}
PresenceController.values = { name: String };