diff --git a/src/components/groups/GroupDetail.svelte b/src/components/groups/GroupDetail.svelte index 33173442..dcd1b80a 100644 --- a/src/components/groups/GroupDetail.svelte +++ b/src/components/groups/GroupDetail.svelte @@ -10,7 +10,26 @@ let data_loaded = false; export let params; const promise = UserGroupService.userGroupControllerGetOne(params.groupid); + const colors = [ + "#f3558e", + "#17b978", + "#3498db", + "#3f3b3b", + "#775ada", + "#7ed6df_#000000", + "#000000", + "#21e6c1_#000000", + "#c0392b", + "#d35400", + "#7f8c8d", + "#6ab04c", + "#4834d4", + "#ff1f5a", + "#eac100", + ]; + let matched_colors = []; $: delete_triggered = false; + $: search_permission = ""; $: original_data = {}; $: editable = {}; $: changes_performed = !lodashIsEqual(original_data, editable); @@ -18,7 +37,23 @@ $: save_enabled = changes_performed && isGroupnameValid promise.then((data) => { - console.log(data); + let current_target = ""; + let colorindex = -1; + data.permissions = data.permissions.sort(); + data.permissions.forEach((p) => { + const target = p.split(":")[0]; + if (current_target !== p.split(":")[0]) { + colorindex++; + current_target = p.split(":")[0]; + } + let background = colors[colorindex]; + let foreground = "#fff"; + if (background.includes("_")) { + foreground = background.split("_")[1]; + background = background.split("_")[0]; + } + matched_colors[target] = [background, foreground]; + }); data_loaded = true; original_data = Object.assign(original_data, data); editable = Object.assign(editable, original_data); @@ -156,9 +191,29 @@ name="firstname" class="mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 rounded-md p-2" /> -
- {$_('permissions')} +
+

+ {$_('permissions')} + {$_('edit-permissions')} +

+
+ +
+ {#each original_data.permissions as p} + {#if p.toLowerCase().includes(search_permission.toLowerCase())} + {p} + + {/if} + {/each}
{:catch error}