From 9d139e0ff4fecaf94c8a8d7f34d9ca33a10f3912 Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Tue, 20 Aug 2024 13:57:06 +0200 Subject: [PATCH] Tooltips --- .../controls/ColumnsSettingContent.svelte | 48 +++++++++++++++---- 1 file changed, 38 insertions(+), 10 deletions(-) diff --git a/packages/frontend-core/src/components/grid/controls/ColumnsSettingContent.svelte b/packages/frontend-core/src/components/grid/controls/ColumnsSettingContent.svelte index d4b9805374..845845948a 100644 --- a/packages/frontend-core/src/components/grid/controls/ColumnsSettingContent.svelte +++ b/packages/frontend-core/src/components/grid/controls/ColumnsSettingContent.svelte @@ -51,16 +51,44 @@ const isRequired = c.primaryDisplay || helpers.schema.isRequired(c.schema.constraints) + const defaultPermission = permissions[0] const requiredTooltips = { - [FieldPermissions.WRITABLE]: - (c.primaryDisplay && "Display column must be writable") || - (isRequired && "Required columns must be writable"), - [FieldPermissions.READONLY]: - (c.primaryDisplay && "Display column cannot be read-only") || - (isRequired && "Required columns cannot be read-only"), - [FieldPermissions.HIDDEN]: - (c.primaryDisplay && "Display column cannot be hidden") || - (isRequired && "Required columns cannot be hidden"), + [FieldPermissions.WRITABLE]: (() => { + if (defaultPermission === FieldPermissions.WRITABLE) { + if (c.primaryDisplay) { + return "Display column must be writable" + } + if (isRequired) { + return "Required columns must be writable" + } + } + })(), + [FieldPermissions.READONLY]: (() => { + if (defaultPermission === FieldPermissions.WRITABLE) { + if (c.primaryDisplay) { + return "Display column cannot be read-only" + } + if (isRequired) { + return "Required columns cannot be read-only" + } + } + if (defaultPermission === FieldPermissions.READONLY) { + if (c.primaryDisplay) { + return "Display column must be read-only" + } + if (isRequired) { + return "Required columns must be read-only" + } + } + })(), + [FieldPermissions.HIDDEN]: (() => { + if (c.primaryDisplay) { + return "Display column cannot be hidden" + } + if (isRequired) { + return "Required columns cannot be hidden" + } + })(), } const options = [] @@ -79,7 +107,7 @@ if ((permission = permissionsObj[FieldPermissions.READONLY])) { const tooltip = (requiredTooltips[FieldPermissions.READONLY] || "Read-only") + - (permission.disabled && " (premium feature)") + (permission.disabled ? " (premium feature)" : "") options.push({ icon: "Visibility", value: FieldPermissions.READONLY,