Skip to content

Commit 86f9757

Browse files
committed
Fixed selectBoxPosition error on window resize if no element is selected #360
1 parent 6d56c92 commit 86f9757

File tree

1 file changed

+18
-26
lines changed

1 file changed

+18
-26
lines changed

libs/builder/builder.js

+18-26
Original file line numberDiff line numberDiff line change
@@ -1083,24 +1083,19 @@ Vvveb.Builder = {
10831083

10841084
selectBoxPosition = function(event) {
10851085
let pos;
1086-
let target;
1086+
let target = self.selectedEl;// ?? self.highlightEl;
10871087

10881088
highlightBox.style.display = "none";
1089+
1090+
if (target) {
1091+
pos = offset(target);
10891092

1090-
if (self.selectedEl) {
1091-
pos = offset(self.selectedEl);
1092-
target = self.selectedEl;
1093-
} else
1094-
if (self.highlightEl) {
1095-
pos = offset(self.highlightEl);
1096-
target = self.highlightEl;
1097-
}
1098-
1099-
SelectBox.style.top = (pos.top - (self.frameDoc.scrollTop ?? 0) - self.selectPadding) + "px";
1100-
SelectBox.style.left = (pos.left - (self.frameDoc.scrollLeft ?? 0) - self.selectPadding) + "px";
1093+
SelectBox.style.top = (pos.top - (self.frameDoc.scrollTop ?? 0) - self.selectPadding) + "px";
1094+
SelectBox.style.left = (pos.left - (self.frameDoc.scrollLeft ?? 0) - self.selectPadding) + "px";
11011095

1102-
SelectBox.style.width = ((target.offsetWidth ?? target.clientWidth) + self.selectPadding * 2) + "px";
1103-
SelectBox.style.height = ((target.offsetHeight ?? target.clientHeight) + self.selectPadding * 2) + "px";
1096+
SelectBox.style.width = ((target.offsetWidth ?? target.clientWidth) + self.selectPadding * 2) + "px";
1097+
SelectBox.style.height = ((target.offsetHeight ?? target.clientHeight) + self.selectPadding * 2) + "px";
1098+
}
11041099
}
11051100

11061101
window.FrameWindow.addEventListener("scroll", selectBoxPosition);
@@ -2197,13 +2192,13 @@ Vvveb.Builder = {
21972192
})
21982193
.catch((err) => {
21992194
if (error) error(err);
2200-
let message = error.statusText ?? "Error saving!";
2195+
let message = error?.statusText ?? "Error saving!";
22012196
displayToast("bg-danger", "Error", message);
22022197

2203-
err.text().then( errorMessage => {
2198+
if (err.hasOwnProperty('text')) err.text().then( errorMessage => {
22042199
let message = errorMessage.substr(0, 200);
22052200
displayToast("bg-danger", "Error", message);
2206-
})
2201+
});
22072202
});
22082203
},
22092204

@@ -2345,7 +2340,7 @@ Vvveb.CssEditor = {
23452340
}
23462341

23472342
function displayToast(bg, title, message, id = "top-toast") {
2348-
document.querySelector("#" + id + " .toast-body .message").innerHTML = message;
2343+
document.querySelector("#" + id + " .toast-body .message").innerHTML = message.replace(/(?:\r\n|\r|\n)/g, '<br>');
23492344
let header = document.querySelector("#" + id + " .toast-header");
23502345
header.classList.remove("bg-danger", "bg-success")
23512346
header.classList.add(bg);
@@ -2425,13 +2420,8 @@ Vvveb.Gui = {
24252420
}, (error) => {
24262421
document.querySelector(".loading", btn).classList.toggle("d-none");
24272422
document.querySelector(".button-text", btn).classList.toggle("d-none");
2428-
let message = error.statusText ?? "Error saving!";
2423+
let message = error?.statusText ?? "Error saving!";
24292424
displayToast("bg-danger", "Error", message);
2430-
2431-
error.text().then( errorMessage => {
2432-
let message = errorMessage.substr(0, 200);
2433-
displayToast("bg-danger", "Error", message);
2434-
})
24352425
});
24362426
},
24372427

@@ -3577,6 +3567,7 @@ Vvveb.FileManager = {
35773567
bg = "bg-danger";
35783568
}
35793569

3570+
newfile = data.newfile ?? newfile;
35803571
displayToast(bg, "Rename", data.message ?? data);
35813572
let baseName = newfile.replace('.html', '');
35823573
let newName = friendlyName(newfile.replace(/.*[\/\\]+/, '')).replace('.html', '');
@@ -3589,9 +3580,10 @@ Vvveb.FileManager = {
35893580
} else {
35903581
_self.pages[page.page]["file"] = newfile;
35913582
_self.pages[page.page]["title"] = newName;
3592-
document.querySelector(":scope > label span", element).innerHTML = newName;
3593-
page.url = page.url.replace(page.file, newfile);
3583+
page.url = data.url ?? page.url.replace(page.file, newfile);
35943584
page.file = newfile;
3585+
element.querySelector(":scope > label span").innerHTML = newName;
3586+
element.querySelector(":scope > label a.view").setAttribute("href", page.url);
35953587
_self.pages[page.page]["url"] = page.url;
35963588
_self.pages[page.page]["file"] = page.file;
35973589
}

0 commit comments

Comments
 (0)