mirror of
https://github.com/sissbruecker/linkding.git
synced 2025-08-06 18:38:31 +02:00

* extract generic behaviors * preserve query string when refreshing content * refactor details modal refresh * refactor bulk edit * update tests * restore tag modal * Make IntelliJ aware of custom attributes * improve e2e test coverage
26 lines
745 B
JavaScript
26 lines
745 B
JavaScript
import { fireEvents, registerBehavior, swap } from "./index";
|
|
|
|
class FetchBehavior {
|
|
constructor(element) {
|
|
this.element = element;
|
|
const eventName = element.getAttribute("ld-on");
|
|
|
|
element.addEventListener(eventName, this.onFetch.bind(this));
|
|
}
|
|
|
|
async onFetch(event) {
|
|
event.preventDefault();
|
|
const url = this.element.getAttribute("ld-fetch");
|
|
const html = await fetch(url).then((response) => response.text());
|
|
|
|
const target = this.element.getAttribute("ld-target");
|
|
const select = this.element.getAttribute("ld-select");
|
|
swap(this.element, html, { target, select });
|
|
|
|
const events = this.element.getAttribute("ld-fire");
|
|
fireEvents(events);
|
|
}
|
|
}
|
|
|
|
registerBehavior("ld-fetch", FetchBehavior);
|