Use Shown instead of hidden in incoming shares UI
This commit is contained in:
@@ -39,6 +39,8 @@ export class IncomingSharingScene {
|
||||
/** @type {HTMLElement} */ let error_element = html_scene.querySelector("[data-name=error]");
|
||||
/** @type {HTMLElement} */ let tbody = html_scene.querySelector("tbody[data-name=incomingsharesbody]");
|
||||
/** @type {HTMLElement} */ let template = tbody.querySelector("[data-name=incomingsharerowtemplate]");
|
||||
/** @type {HTMLElement} */ let table = html_scene.querySelector("table");
|
||||
/** @type {HTMLElement} */ let noshares_message = html_scene.querySelector("[data-name=nosharesmessage]");
|
||||
|
||||
let error_handler = new ErrorHandler(error_element);
|
||||
|
||||
@@ -55,27 +57,28 @@ export class IncomingSharingScene {
|
||||
*/
|
||||
function toggle_share(share, node) {
|
||||
let enabled_cb = /** @type {HTMLInputElement} */ (node.querySelector("[data-name=enabled]"));
|
||||
let hidden_cb = /** @type {HTMLInputElement} */ (node.querySelector("[data-name=hidden]"));
|
||||
let shown_cb = /** @type {HTMLInputElement} */ (node.querySelector("[data-name=shown]"));
|
||||
|
||||
// disable checkboxes while updating
|
||||
enabled_cb.disabled = true;
|
||||
hidden_cb.disabled = true;
|
||||
shown_cb.disabled = true;
|
||||
|
||||
let old_enabled = share.EnabledByUser;
|
||||
let old_hidden = share.HiddenByUser;
|
||||
|
||||
share.EnabledByUser = enabled_cb.checked;
|
||||
share.HiddenByUser = hidden_cb.checked;
|
||||
share.HiddenByUser = !shown_cb.checked;
|
||||
error_handler.clearError();
|
||||
|
||||
update_incoming_share(user, password, share, function (error) {
|
||||
enabled_cb.disabled = false;
|
||||
hidden_cb.disabled = false;
|
||||
shown_cb.disabled = !share.EnabledByUser;
|
||||
|
||||
if (error) {
|
||||
error_handler.setError(error);
|
||||
enabled_cb.checked = old_enabled;
|
||||
hidden_cb.checked = old_hidden;
|
||||
shown_cb.checked = !old_hidden;
|
||||
shown_cb.disabled = !old_enabled;
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -93,30 +96,42 @@ export class IncomingSharingScene {
|
||||
let prefix = "/" + user + "/";
|
||||
let filtered_shares = shares.filter(share => share.ShareType === "map" && share.PathOrToken.startsWith(prefix));
|
||||
|
||||
if (filtered_shares.length === 0) {
|
||||
table.classList.add("hidden");
|
||||
noshares_message.classList.remove("hidden");
|
||||
} else {
|
||||
table.classList.remove("hidden");
|
||||
noshares_message.classList.add("hidden");
|
||||
}
|
||||
|
||||
filtered_shares.forEach(function (share) {
|
||||
let node = /** @type {HTMLElement} */(template.cloneNode(true));
|
||||
node.classList.remove("hidden");
|
||||
|
||||
let pathortoken_td = node.querySelector("[data-name=pathortoken]");
|
||||
let pathortoken = /** @type {HTMLInputElement} */ (node.querySelector("[data-name=pathortoken]"));
|
||||
let owner_td = node.querySelector("[data-name=owner]");
|
||||
let permissions_td = /** @type {HTMLElement} */ (node.querySelector("[data-name=permissions]"));
|
||||
let enabled_cb = /** @type {HTMLInputElement} */ (node.querySelector("[data-name=enabled]"));
|
||||
let hidden_cb = /** @type {HTMLInputElement} */ (node.querySelector("[data-name=hidden]"));
|
||||
let shown_cb = /** @type {HTMLInputElement} */ (node.querySelector("[data-name=shown]"));
|
||||
|
||||
let displayPath = share.PathOrToken.substring(prefix.length);
|
||||
if (displayPath.endsWith("/")) {
|
||||
displayPath = displayPath.substring(0, displayPath.length - 1);
|
||||
}
|
||||
|
||||
pathortoken_td.textContent = displayPath;
|
||||
pathortoken.value = displayPath;
|
||||
owner_td.textContent = share.Owner;
|
||||
displayPermissions(share.Permissions, permissions_td);
|
||||
|
||||
enabled_cb.checked = share.EnabledByUser;
|
||||
hidden_cb.checked = share.HiddenByUser;
|
||||
let enabled = share.EnabledByUser !== null ? share.EnabledByUser : true;
|
||||
let shown = share.HiddenByUser !== null ? !share.HiddenByUser : true;
|
||||
|
||||
enabled_cb.checked = enabled;
|
||||
shown_cb.checked = shown;
|
||||
shown_cb.disabled = !enabled;
|
||||
|
||||
enabled_cb.onchange = function () { toggle_share(share, node); };
|
||||
hidden_cb.onchange = function () { toggle_share(share, node); };
|
||||
shown_cb.onchange = function () { toggle_share(share, node); };
|
||||
|
||||
nodes.push(node);
|
||||
tbody.appendChild(node);
|
||||
|
||||
Reference in New Issue
Block a user