handle enabled/hidden separately

This commit is contained in:
Max Berger
2026-03-11 21:36:05 +01:00
parent e6326dde44
commit 434de50281
2 changed files with 18 additions and 46 deletions

View File

@@ -130,43 +130,13 @@ export class Share {
/** @type {string} */ this.User = data.User || "";
/** @type {string} */ this.Permissions = data.Permissions || "r";
/** @type {boolean} */ this.EnabledByOwner = data.EnabledByOwner ?? data.Enabled ?? false;
/** @type {boolean} */ this.EnabledByUser = data.EnabledByUser ?? data.Enabled ?? false;
/** @type {?boolean} */ this.EnabledByUser = data.EnabledByUser ?? data.Enabled ?? null;
/** @type {boolean} */ this.HiddenByOwner = data.HiddenByOwner ?? data.Hidden ?? false;
/** @type {boolean} */ this.HiddenByUser = data.HiddenByUser ?? data.Hidden ?? false;
/** @type {?boolean} */ this.HiddenByUser = data.HiddenByUser ?? data.Hidden ?? null;
/** @type {number} */ this.TimestampCreated = data.TimestampCreated || 0;
/** @type {number} */ this.TimestampUpdated = data.TimestampUpdated || 0;
/** @type {Object} */ this.Properties = data.Properties || {};
}
/**
* @returns {boolean}
*/
get Enabled() {
return this.EnabledByOwner || this.EnabledByUser;
}
/**
* @param {boolean} value
*/
set Enabled(value) {
this.EnabledByOwner = value;
this.EnabledByUser = value;
}
/**
* @returns {boolean}
*/
get Hidden() {
return this.HiddenByOwner || this.HiddenByUser;
}
/**
* @param {boolean} value
*/
set Hidden(value) {
this.HiddenByOwner = value;
this.HiddenByUser = value;
}
}
/**
@@ -242,8 +212,8 @@ export function add_share_by_token(
{
PathMapped: share.PathMapped,
Permissions: share.Permissions,
Enabled: share.Enabled,
Hidden: share.Hidden,
Enabled: share.EnabledByOwner,
Hidden: share.HiddenByOwner,
Properties: share.Properties,
},
function (response) {
@@ -280,8 +250,8 @@ export function add_share_by_map(
{
PathMapped: share.PathMapped,
Permissions: share.Permissions,
Enabled: share.Enabled,
Hidden: share.Hidden,
Enabled: share.EnabledByOwner,
Hidden: share.HiddenByOwner,
Properties: share.Properties,
User: share.User,
PathOrToken: share.PathOrToken,
@@ -383,8 +353,8 @@ export function update_share_by_token(
{
PathOrToken: share.PathOrToken,
Permissions: share.Permissions,
Enabled: share.Enabled,
Hidden: share.Hidden,
Enabled: share.EnabledByOwner,
Hidden: share.HiddenByOwner,
Properties: share.Properties,
},
function (response) {
@@ -423,8 +393,8 @@ export function update_share_by_map(
PathMapped: share.PathMapped,
User: share.User,
Permissions: share.Permissions,
Enabled: share.Enabled,
Hidden: share.Hidden,
Enabled: share.EnabledByOwner,
Hidden: share.HiddenByOwner,
Properties: share.Properties,
},
function (response) {

View File

@@ -97,8 +97,8 @@ export class CreateEditShareScene {
return false;
}
}
let enabled = enabled_checkbox.checked;
let hidden = hidden_checkbox.checked;
let enabled_by_owner = enabled_checkbox.checked;
let hidden_by_owner = hidden_checkbox.checked;
let permissions = permissions_rw_radio.checked ? "rw" : "r";
let properties = {};
@@ -127,8 +127,10 @@ export class CreateEditShareScene {
ShareType: shareType,
PathMapped: pathMapped,
Permissions: permissions,
Enabled: enabled,
Hidden: hidden,
EnabledByOwner: enabled_by_owner,
EnabledByUser: edit ? share.EnabledByUser : null,
HiddenByOwner: hidden_by_owner,
HiddenByUser: edit ? share.HiddenByUser : null,
Properties: properties,
User: edit ? share.User : shareuser_input.value,
PathOrToken: edit ? share.PathOrToken : (shareType === "map" ? "/" + shareuser_input.value + "/" + sharehref_input.value + "/" : ""),
@@ -165,8 +167,8 @@ export class CreateEditShareScene {
shareuser_input.value = edit ? share.User : "";
shareuser_input.disabled = edit;
enabled_checkbox.checked = edit ? share.Enabled : true;
hidden_checkbox.checked = edit ? share.Hidden : false;
enabled_checkbox.checked = edit ? share.EnabledByOwner : true;
hidden_checkbox.checked = edit ? share.HiddenByOwner : false;
permissions_ro_radio.checked = edit ? share.Permissions.toLowerCase() === "r" : true;
permissions_rw_radio.checked = edit ? share.Permissions.toLowerCase() === "rw" : false;