in ui/src/main/frontend/js/editor.js [85:128]
reloadComponent(ip, cb) {
let path = ip;
let component = document.querySelector(
`.sling-cms-component[data-sling-cms-resource-path="${path}"]`
);
let forceReload = component && component.dataset.reload === "true";
while (!component && path.length > 1) {
const pathArr = path.split("/");
pathArr.pop();
path = pathArr.join("/");
component = document.querySelector(
`.sling-cms-component[data-sling-cms-resource-path="${path}"]`
);
if (component && component.dataset.reload === "true") {
forceReload = true;
}
}
if (!component || forceReload) {
CMSEditor.ui.hideModal();
window.top.location.reload();
}
fetch(
`/cms/page/pagewrapper.html${path}?forceResourceType=${component.dataset.slingCmsResourceType}`,
{
redirect: "manual",
}
)
.then((response) => {
if (!response.ok) {
CMSEditor.ui.hideModal();
window.top.location.reload();
}
return response.text();
})
.then((html) => {
const tmp = document.createElement("div");
tmp.innerHTML = html;
CMSEditor.util.attachEvents(tmp);
component.replaceWith(tmp.querySelector(".sling-cms-component"));
tmp.remove();
CMSEditor.ui.hideModal();
cb();
});
},