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.User = data.User || "";
/** @type {string} */ this.Permissions = data.Permissions || "r"; /** @type {string} */ this.Permissions = data.Permissions || "r";
/** @type {boolean} */ this.EnabledByOwner = data.EnabledByOwner ?? data.Enabled ?? false; /** @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.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.TimestampCreated = data.TimestampCreated || 0;
/** @type {number} */ this.TimestampUpdated = data.TimestampUpdated || 0; /** @type {number} */ this.TimestampUpdated = data.TimestampUpdated || 0;
/** @type {Object} */ this.Properties = data.Properties || {}; /** @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, PathMapped: share.PathMapped,
Permissions: share.Permissions, Permissions: share.Permissions,
Enabled: share.Enabled, Enabled: share.EnabledByOwner,
Hidden: share.Hidden, Hidden: share.HiddenByOwner,
Properties: share.Properties, Properties: share.Properties,
}, },
function (response) { function (response) {
@@ -280,8 +250,8 @@ export function add_share_by_map(
{ {
PathMapped: share.PathMapped, PathMapped: share.PathMapped,
Permissions: share.Permissions, Permissions: share.Permissions,
Enabled: share.Enabled, Enabled: share.EnabledByOwner,
Hidden: share.Hidden, Hidden: share.HiddenByOwner,
Properties: share.Properties, Properties: share.Properties,
User: share.User, User: share.User,
PathOrToken: share.PathOrToken, PathOrToken: share.PathOrToken,
@@ -383,8 +353,8 @@ export function update_share_by_token(
{ {
PathOrToken: share.PathOrToken, PathOrToken: share.PathOrToken,
Permissions: share.Permissions, Permissions: share.Permissions,
Enabled: share.Enabled, Enabled: share.EnabledByOwner,
Hidden: share.Hidden, Hidden: share.HiddenByOwner,
Properties: share.Properties, Properties: share.Properties,
}, },
function (response) { function (response) {
@@ -423,8 +393,8 @@ export function update_share_by_map(
PathMapped: share.PathMapped, PathMapped: share.PathMapped,
User: share.User, User: share.User,
Permissions: share.Permissions, Permissions: share.Permissions,
Enabled: share.Enabled, Enabled: share.EnabledByOwner,
Hidden: share.Hidden, Hidden: share.HiddenByOwner,
Properties: share.Properties, Properties: share.Properties,
}, },
function (response) { function (response) {

View File

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