diff --git a/src/lib/components/dropListItem.svelte b/src/lib/components/dropListItem.svelte index 44ae50305..111f3f7f2 100644 --- a/src/lib/components/dropListItem.svelte +++ b/src/lib/components/dropListItem.svelte @@ -1,9 +1,10 @@
  • - + + + diff --git a/src/lib/components/permissions/index.ts b/src/lib/components/permissions/index.ts new file mode 100644 index 000000000..865f2d75c --- /dev/null +++ b/src/lib/components/permissions/index.ts @@ -0,0 +1 @@ +export { default as Permissions } from './permissions.svelte'; diff --git a/src/lib/components/permissions/permissions.svelte b/src/lib/components/permissions/permissions.svelte new file mode 100644 index 000000000..1d7c9b0ec --- /dev/null +++ b/src/lib/components/permissions/permissions.svelte @@ -0,0 +1,252 @@ + + + + +
    +
    + + + + + {#if withCreate} + + {/if} + + + + + + + {#each [...$groups].sort(sortRoles) as [role, permission]} + + + {#if withCreate} + + {/if} + + + + + + {/each} + +
    + Role + + Create + + Read + + Update + + Delete + +
    + + + togglePermission(role, 'create')} /> + + togglePermission(role, 'read')} /> + + togglePermission(role, 'update')} /> + + togglePermission(role, 'delete')} /> + +
    + +
    +
    +
    +
    + + + + addRole('any')}> + Any + + addRole('guests')}> + All guests + + addRole('users')}> + All users + + (showUser = true)}>Select users + (showTeam = true)}>Select teams + (showCustom = true)}>Custom permission + + + + + + diff --git a/src/lib/components/permissions/row.svelte b/src/lib/components/permissions/row.svelte new file mode 100644 index 000000000..2f23de52b --- /dev/null +++ b/src/lib/components/permissions/row.svelte @@ -0,0 +1,17 @@ + + +
    +
    + {#if role === 'users'} +
    Users
    + {:else if role === 'guests'} +
    Guests
    + {:else if role === 'any'} +
    Any
    + {:else} +
    {role}
    + {/if} +
    +
    diff --git a/src/lib/components/permissions/team.svelte b/src/lib/components/permissions/team.svelte new file mode 100644 index 000000000..7aa0ca1ad --- /dev/null +++ b/src/lib/components/permissions/team.svelte @@ -0,0 +1,111 @@ + + +
    + + Select teams + + {#if results?.teams} +
    + + + {#each results.teams as team (team.$id)} + {@const role = `team:${team.$id}`} + {@const exists = $groups.has(role)} + + + + + {/each} + +
    + onSelection(event, role)} /> + + +
    +
    + {/if} +
    +

    Total results: {results?.total}

    + +
    + + + +
    +
    diff --git a/src/lib/components/permissions/user.svelte b/src/lib/components/permissions/user.svelte new file mode 100644 index 000000000..20741b686 --- /dev/null +++ b/src/lib/components/permissions/user.svelte @@ -0,0 +1,111 @@ + + +
    + + Select users + + {#if results?.users} +
    + + + {#each results.users as user (user.$id)} + {@const role = `user:${user.$id}`} + {@const exists = $groups.has(role)} + + + + + {/each} + +
    + onSelection(event, role)} /> + + +
    +
    + {/if} +
    +

    Total results: {results?.total}

    + +
    + + + +
    +
    diff --git a/src/lib/elements/forms/button.svelte b/src/lib/elements/forms/button.svelte index c89eb1148..1dd056919 100644 --- a/src/lib/elements/forms/button.svelte +++ b/src/lib/elements/forms/button.svelte @@ -9,6 +9,7 @@ export let href: string = null; export let fullWidth = false; export let ariaLabel: string = null; + export let noMargin = false; //TODO: add option to add aria-label to buttons that are only icons @@ -24,6 +25,7 @@ class:is-text={text} class:is-danger={danger} class:is-full-width={fullWidth} + class:u-padding-inline-0={noMargin} aria-label={ariaLabel}> @@ -37,6 +39,7 @@ class:is-danger={danger} class:is-text={text} class:is-full-width={fullWidth} + class:u-padding-inline-0={noMargin} type={submit ? 'submit' : 'button'} aria-label={ariaLabel}> diff --git a/src/lib/elements/forms/form.svelte b/src/lib/elements/forms/form.svelte index dcc806372..ce34663f5 100644 --- a/src/lib/elements/forms/form.svelte +++ b/src/lib/elements/forms/form.svelte @@ -1,4 +1,8 @@ + + -
    + diff --git a/src/lib/elements/forms/inputSearch.svelte b/src/lib/elements/forms/inputSearch.svelte index e1806d3d7..8149a5652 100644 --- a/src/lib/elements/forms/inputSearch.svelte +++ b/src/lib/elements/forms/inputSearch.svelte @@ -1,5 +1,6 @@ @@ -12,21 +11,7 @@ Document Level. If collection Level permissions are assigned, permissions applied to individual documents are ignored. - - - You have Collection Level permissions enabled - -

    - If you want to assign permissions specific to this document, you will need to update - your Collection Settings to enable Document Level permissions. -

    -
    - -
      - -
    +
    + +
    diff --git a/src/routes/console/project-[project]/overview/keys/[key]/+page@project-[project].svelte b/src/routes/console/project-[project]/overview/keys/[key]/+page@project-[project].svelte index 113856d38..a36510ad3 100644 --- a/src/routes/console/project-[project]/overview/keys/[key]/+page@project-[project].svelte +++ b/src/routes/console/project-[project]/overview/keys/[key]/+page@project-[project].svelte @@ -116,7 +116,6 @@ } async function updateScopes() { - console.log(scopes.filter((scope) => activeScopes[scope])); try { await sdkForConsole.projects.updateKey( $project.$id, diff --git a/src/routes/console/project-[project]/storage/bucket/[bucket]/+page.svelte b/src/routes/console/project-[project]/storage/bucket/[bucket]/+page.svelte index f07504900..d2789fbb1 100644 --- a/src/routes/console/project-[project]/storage/bucket/[bucket]/+page.svelte +++ b/src/routes/console/project-[project]/storage/bucket/[bucket]/+page.svelte @@ -112,9 +112,7 @@ diff --git a/src/routes/console/project-[project]/storage/bucket/[bucket]/file/[file]/+page.svelte b/src/routes/console/project-[project]/storage/bucket/[bucket]/file/[file]/+page.svelte index 38ec20e02..152ab8451 100644 --- a/src/routes/console/project-[project]/storage/bucket/[bucket]/file/[file]/+page.svelte +++ b/src/routes/console/project-[project]/storage/bucket/[bucket]/file/[file]/+page.svelte @@ -1,7 +1,7 @@