Files
threshold-ui/ui/admin/app/components/form/group/add-members/index.hbs
T
2021-10-22 18:06:32 -04:00

69 lines
2.2 KiB
Handlebars

{{#if this.availableUsers}}
<Rose::Form
class='full-width'
@onSubmit={{fn this.submit @submit}}
@cancel={{@cancel}}
@disabled={{@model.isSaving}}
@error={{@model.errors.base}}
as |form|
>
<form.actions
@submitText={{t 'resources.group.actions.add-members'}}
@cancelText={{t 'actions.cancel'}}
/>
<Rose::Table as |table|>
<table.header as |header|>
<header.row as |row|>
<row.headerCell>{{t 'form.name.label'}}</row.headerCell>
<row.headerCell>{{t 'form.id.label'}}</row.headerCell>
<row.headerCell>{{t 'form.description.label'}}</row.headerCell>
</header.row>
</table.header>
<table.body as |body|>
{{#each this.availableUsers as |user|}}
<body.row as |row|>
<row.headerCell>
<form.checkbox
@label={{user.displayName}}
@onChange={{fn this.toggleMember user}}
/>
{{#if user.accountName}}
{{!
The following is a formatting hack since we don't have a great
way to manage micro-whitespace or alignment among separate
components without resorting to heavy-handed grids
or contextualization. This is a one-off.
}}
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;
<Rose::Badge>{{user.accountName}}</Rose::Badge>
{{/if}}
</row.headerCell>
<row.cell><code>{{user.id}}</code></row.cell>
<row.cell>{{user.description}}</row.cell>
</body.row>
{{/each}}
</table.body>
</Rose::Table>
</Rose::Form>
{{/if}}
{{#unless this.availableUsers}}
<Rose::Layout::Centered>
<Rose::Message
@title={{t 'resources.group.messages.no-members.title'}}
as |message|
>
<message.description>
{{t 'resources.group.messages.no-members.description'}}
</message.description>
<message.link @route='scopes.scope.groups.group.members'>
<Rose::Icon @name='flight-icons/svg/chevron-left-16' />
{{t 'actions.back'}}
</message.link>
</Rose::Message>
</Rose::Layout::Centered>
{{/unless}}