2020-05-08 13:27:44 +00:00
|
|
|
function applyAdapt(prefix, sibDisplay, user) {
|
|
|
|
|
|
|
|
//- Allow to bind-user on selected attribute
|
|
|
|
if (sibDisplay.getAttribute(prefix + "-user-id")) {
|
|
|
|
sibDisplay.setAttribute(
|
|
|
|
sibDisplay.getAttribute(prefix + "-user-id"),
|
|
|
|
user["@id"]
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2020-06-18 18:02:54 +00:00
|
|
|
//- Allow to set data-src to a children solid-form
|
2020-05-08 13:27:44 +00:00
|
|
|
if (sibDisplay.getAttribute(prefix + "-bind-resources")) {
|
|
|
|
let form = sibDisplay.querySelector(
|
2020-06-18 18:02:54 +00:00
|
|
|
sibDisplay.getAttribute(prefix + "-bind-resources") + " solid-form"
|
2020-05-08 13:27:44 +00:00
|
|
|
);
|
|
|
|
if (form) {
|
|
|
|
form.setAttribute(
|
|
|
|
"data-src",
|
|
|
|
sibDisplay.component.resourceId.replace("members/", "")
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
//- Allow to put user on a targetted search field
|
|
|
|
if (sibDisplay.getAttribute(prefix + "-bind-user2input")) {
|
|
|
|
let qS = sibDisplay.querySelector(
|
|
|
|
sibDisplay.getAttribute(prefix + "-bind-user2input")
|
|
|
|
);
|
|
|
|
if(qS) qS.value = user["@id"];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
//- This function is a workaround for the currently unworking populate
|
|
|
|
//- Feel free to see examples on page-circles-
|
|
|
|
function recursiveAdaptWidgets(prefix, element, user) {
|
|
|
|
element.addEventListener("populate", () => {
|
|
|
|
element.querySelectorAll("[" + prefix + "-user-id]").forEach(el => {
|
|
|
|
el.setAttribute(el.getAttribute(prefix + "-user-id"), user["@id"]);
|
|
|
|
});
|
|
|
|
applyAdapt(prefix, element, user);
|
2020-06-18 18:02:54 +00:00
|
|
|
document.querySelectorAll('solid-display, solid-form').forEach(sibDisplay => {
|
2020-05-08 13:27:44 +00:00
|
|
|
applyAdapt(prefix, sibDisplay, user);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2020-08-24 12:50:22 +00:00
|
|
|
document.addEventListener("DOMContentLoaded", function () {
|
2020-05-08 13:27:44 +00:00
|
|
|
document
|
|
|
|
.querySelector("sib-auth")
|
|
|
|
.getUser()
|
|
|
|
.then(user => {
|
|
|
|
if (user !== null) {
|
2020-06-18 18:02:54 +00:00
|
|
|
document.querySelectorAll('solid-display, solid-form').forEach(element => {
|
|
|
|
// Set current user id on set-user-id of solid-display
|
2020-05-08 13:27:44 +00:00
|
|
|
recursiveAdaptWidgets("hubl-inherit", element, user);
|
|
|
|
});
|
|
|
|
for (leaveBtn of document.querySelectorAll(
|
2020-06-18 18:02:54 +00:00
|
|
|
"admin-circle-leave > solid-ac-checker:not([hidden])"
|
2020-05-08 13:27:44 +00:00
|
|
|
)) {
|
|
|
|
// Hide Join button
|
|
|
|
leaveBtn.parentNode.parentNode.parentNode.nextElementSibling.setAttribute(
|
|
|
|
"style",
|
|
|
|
"display:none !important"
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|