- var data = $(e.target).data();
- updateNote(e.target.form, data.method, data.url);
+ const { url, method } = $(e.target).data(),
+ name = $(e.target).attr("name"),
+ data = new URLSearchParams();
+ content.find("button[name]").prop("disabled", true);
+
+ if (name !== "subscribe" && name !== "unsubscribe" && name !== "reopen") {
+ data.set("text", content.find("textarea").val());
+ }
+
+ fetch(url, {
+ method: method,
+ headers: { ...OSM.oauth },
+ body: data
+ })
+ .then(response => {
+ if (response.ok) return response;
+ return response.text().then(text => {
+ throw new Error(text);
+ });
+ })
+ .then(() => {
+ OSM.loadSidebarContent(path, () => {
+ initialize(path, id, false);
+ });
+ })
+ .catch(error => {
+ content.find("#comment-error")
+ .text(error.message)
+ .prop("hidden", false)
+ .get(0).scrollIntoView({ block: "nearest" });
+ updateButtons();
+ });