fluid-dnd
Version:
An agnostic drag and drop library to sort all kind of lists. With current support for vue, react and svelte
21 lines (20 loc) • 564 B
JavaScript
import { GRAB_CLASS } from "./utils/classes";
import { addClass, toggleClass } from "./utils/dom/classList";
export default class HandlerPublisher {
handlers;
constructor() {
this.handlers = [];
}
addSubscriber(subscriber) {
if (this.handlers.includes(subscriber)) {
return;
}
this.handlers.push(subscriber);
addClass(subscriber, GRAB_CLASS);
}
toggleGrabClass(force) {
for (const handler of this.handlers) {
toggleClass(handler, GRAB_CLASS, force);
}
}
}