{#await group_promise} {:then user} {$_('user-groups')} {original_data.name} {$_('permissions')} {$_('permissions')}: {original_data.name} {#if promises.length === 0} {$_('save-changes')} {:else} {$_('applying-changes')} {/if} {$_('verfuegbare')} {$_('granted')} {#if allpermissions.length > 0} {#each allpermissions as p} {#if !(grantedPermissions.filter((o)=>p.target == o.target && p.action == o.action).length > 0)} {p.target + ':' + p.action} { grantedPermissions = grantedPermissions.concat([p]); if (to_delete.some((o) => o === p.id)) { to_delete = to_delete.filter((o) => o !== p.id); } else { to_add = to_add.concat([ { action: p.action, target: p.target, principal: original_data.id, }, ]); } }} type="button" class="w-full justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-green-200 text-base font-medium text-black hover:bg-green-700 hover:text-white focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-500 sm:ml-3 sm:w-auto sm:text-sm">+ {/if} {/each} {#each grantedPermissions as p} {p.target + ':' + p.action} { grantedPermissions = grantedPermissions.filter((o) => o.target + ':' + o.action !== p.target + ':' + p.action); if (to_add.some((o) => o.target + ':' + o.action === p.target + ':' + p.action)) { to_add = to_add.filter((o) => o.target + ':' + o.action !== p.target + ':' + p.action); } else { to_delete = to_delete.concat([p.id]); } }} type="button" class="w-full justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-red-300 text-base font-medium text-black hover:bg-red-700 hover:text-white focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-500 sm:ml-3 sm:w-auto sm:text-sm">- {/each} {/if} {:catch error} {/await}
{p.target + ':' + p.action} { grantedPermissions = grantedPermissions.concat([p]); if (to_delete.some((o) => o === p.id)) { to_delete = to_delete.filter((o) => o !== p.id); } else { to_add = to_add.concat([ { action: p.action, target: p.target, principal: original_data.id, }, ]); } }} type="button" class="w-full justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-green-200 text-base font-medium text-black hover:bg-green-700 hover:text-white focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-500 sm:ml-3 sm:w-auto sm:text-sm">+
{p.target + ':' + p.action} { grantedPermissions = grantedPermissions.filter((o) => o.target + ':' + o.action !== p.target + ':' + p.action); if (to_add.some((o) => o.target + ':' + o.action === p.target + ':' + p.action)) { to_add = to_add.filter((o) => o.target + ':' + o.action !== p.target + ':' + p.action); } else { to_delete = to_delete.concat([p.id]); } }} type="button" class="w-full justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-red-300 text-base font-medium text-black hover:bg-red-700 hover:text-white focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-500 sm:ml-3 sm:w-auto sm:text-sm">-