mirror of
https://github.com/sissbruecker/linkding.git
synced 2025-09-07 17:56:48 +02:00

* Bump versions * Bump NPM versions, update to Svelte 5 * try improve flaky test * bump single-file-cli, remove ublock origin workaround * bump base images * replace libssl3
43 lines
1.1 KiB
JavaScript
43 lines
1.1 KiB
JavaScript
import { mount } from "svelte";
|
|
import { Behavior, registerBehavior } from "./index";
|
|
import SearchAutoCompleteComponent from "../components/SearchAutoComplete.svelte";
|
|
|
|
class SearchAutocomplete extends Behavior {
|
|
constructor(element) {
|
|
super(element);
|
|
const input = element.querySelector("input");
|
|
if (!input) {
|
|
console.warn("SearchAutocomplete: input element not found");
|
|
return;
|
|
}
|
|
|
|
const container = document.createElement("div");
|
|
|
|
mount(SearchAutoCompleteComponent, {
|
|
target: container,
|
|
props: {
|
|
name: "q",
|
|
placeholder: input.getAttribute("placeholder") || "",
|
|
value: input.value,
|
|
linkTarget: input.dataset.linkTarget,
|
|
mode: input.dataset.mode,
|
|
search: {
|
|
user: input.dataset.user,
|
|
shared: input.dataset.shared,
|
|
unread: input.dataset.unread,
|
|
},
|
|
},
|
|
});
|
|
|
|
this.input = input;
|
|
this.autocomplete = container.firstElementChild;
|
|
input.replaceWith(this.autocomplete);
|
|
}
|
|
|
|
destroy() {
|
|
this.autocomplete.replaceWith(this.input);
|
|
}
|
|
}
|
|
|
|
registerBehavior("ld-search-autocomplete", SearchAutocomplete);
|