ui/src/app/modules/invite/invite.html
<div class="login">
<div class="container-fluid">
<div class="row">
<div class="col-md-offset-3 col-md-3">
<form [formGroup]="form" (ngSubmit)="submitInviteForm()">
<div class="form-group">
<label class="control-label" for="username">Invite via Github username</label>
<div class="input-group">
<span class="input-group-addon">
<span class="fa fa-user" aria-hidden="true"></span>
</span>
<input id="username" type="text" class="form-control" formControlName="username" aria-describedby="inputGroupSuccess1Status">
</div>
</div>
<button type="submit" class="btn btn-default" [disabled]="!form.valid">Invite</button>
</form>
</div>
<div class="col-md-3">
<table class="table table-striped">
<thead>
<tr>
<th data-field="id">Unaccepted invites</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let invitee of invitees | async; let i=index">
<td>{{ invitee.github_username }}
<button type="button" class="close pull-right" aria-label="Remove" (click)="deleteInvite(i)">
<span aria-hidden="true">×</span>
</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>