2018-02-27 14:16:23 +00:00
<div class="row">
<div class="col">
<div class="view-customize">
2018-12-13 12:24:16 +00:00
{{ ui / ui-button color = constants .Color .Green light = true icon = constants .Icon .People label = constants .Label .Add onClick = ( action "onShowAddGroupModal" ) }}
{{ ui / ui-spacer size = 3 0 0 }}
2018-02-27 14:16:23 +00:00
<div id="add-group-modal" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">Add Group</div>
<div class="modal-body">
2018-12-08 20:54:19 +00:00
<form onsubmit= {{ action "onAddGroup" }} >
2018-02-27 14:16:23 +00:00
<div class="form-group">
<label for="new-group-name">Name</label>
{{ focus-input id = "new-group-name" type = "text" class = "form-control mousetrap" placeholder = "Enter group name" value = newGroup .name }}
<small class="form-text text-muted">e.g. Managers, Developers, Acme Team</small>
</div>
<div class="form-group">
2018-02-28 14:55:36 +00:00
<label for="new-group-desc">Description (optional)</label>
2018-02-27 14:16:23 +00:00
{{ textarea id = "new-group-desc" value = newGroup .purpose class = "form-control" rows = "3" }}
</div>
</form>
</div>
<div class="modal-footer">
2018-12-13 12:24:16 +00:00
{{ ui / ui-button color = constants .Color .Gray light = true label = constants .Label .Close dismiss = true }}
{{ ui / ui-button-gap }}
{{ ui / ui-button color = constants .Color .Red light = true label = constants .Label .Add onClick = ( action "onAddGroup" ) }}
2018-02-27 14:16:23 +00:00
</div>
</div>
</div>
</div>
2018-12-06 14:10:00 +00:00
<p>Put these as cards with nice action CTAs</p>
2018-02-27 14:16:23 +00:00
<div class="groups-list">
{{ # each groups as | group | }}
2018-02-28 14:55:36 +00:00
<div class="row group">
<div class="col-8">
<div class="name">
2018-08-21 15:33:54 +01:00
{{ group .name }} ( {{ group .members }} )
2018-02-28 14:55:36 +00:00
{{ # if group .purpose }}
2018-08-21 15:33:54 +01:00
<div class="purpose"> {{ group .purpose }} </div>
2018-02-27 14:16:23 +00:00
{{ / if }}
</div>
</div>
<div class="col-4 buttons text-right">
2018-12-08 20:54:19 +00:00
<button class="btn btn-primary" {{ action "onShowAddMemberModal" group .id }} >Add Member</button>
2018-08-21 15:33:54 +01:00
{{ # if ( gt group .members 0 ) }}
<div class="button-icon-gap" />
2018-12-08 20:54:19 +00:00
<button class="btn btn-danger" {{ action "onShowRemoveMemberModal" group .id }} >Remove Member</button>
2018-08-21 15:33:54 +01:00
{{ / if }}
2018-02-28 14:55:36 +00:00
<div class="button-icon-gap" />
2018-12-08 20:54:19 +00:00
<div class="button-icon-gray align-middle" {{ action "onShowEditModal" group .id }} >
2018-02-27 14:16:23 +00:00
<i class="material-icons">edit</i>
2018-12-06 14:10:00 +00:00
{{ # attach-tooltip showDelay = 1 0 0 0 }} Edit group {{ / attach-tooltip }}
2018-02-27 14:16:23 +00:00
</div>
<div class="button-icon-gap" />
2018-12-08 20:54:19 +00:00
<div class="button-icon-danger align-middle" {{ action "onShowDeleteModal" group .id }} >
2018-02-27 14:16:23 +00:00
<i class="material-icons">delete</i>
2018-12-06 14:10:00 +00:00
{{ # attach-tooltip showDelay = 1 0 0 0 }} Delete group {{ / attach-tooltip }}
2018-02-27 14:16:23 +00:00
</div>
</div>
</div>
2018-03-09 09:51:44 +00:00
{{ else }}
<div class="margin-top-30">
<i>No groups</i>
</div>
2018-02-27 14:16:23 +00:00
{{ / each }}
</div>
<div id="delete-group-modal" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">Delete Group</div>
<div class="modal-body">
2018-12-08 20:54:19 +00:00
<form onsubmit= {{ action "onDeleteGroup" }} >
2018-02-27 14:16:23 +00:00
<p>Are you sure you want to delete this group?</p>
<div class="form-group">
2018-02-28 14:55:36 +00:00
<label for="delete-group-name">Please type group name to confirm</label>
2018-02-27 14:16:23 +00:00
{{ in put id = "delete-group-name" type = "text" class = "form-control mousetrap" placeholder = "Group name" value = deleteGroup .name }}
<small class="form-text text-muted">This will remove group membership information and associated permissions!</small>
</div>
</form>
</div>
<div class="modal-footer">
2018-12-13 12:24:16 +00:00
{{ ui / ui-button color = constants .Color .Gray light = true label = constants .Label .Close dismiss = true }}
{{ ui / ui-button-gap }}
{{ ui / ui-button color = constants .Color .Red light = true label = constants .Label .Delete onClick = ( action "onDeleteGroup" ) }}
2018-02-27 14:16:23 +00:00
</div>
</div>
</div>
</div>
<div id="edit-group-modal" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">Edit Group</div>
<div class="modal-body">
2018-12-08 20:54:19 +00:00
<form onsubmit= {{ action "onEditGroup" }} >
2018-02-27 14:16:23 +00:00
<div class="form-group">
<label for="edit-group-name">Name</label>
{{ in put id = "edit-group-name" type = "text" class = "form-control mousetrap" placeholder = "Enter group name" value = editGroup .name }}
<small class="form-text text-muted">e.g. Managers, Developers, Acme Team</small>
</div>
<div class="form-group">
2018-02-28 14:55:36 +00:00
<label for="edit-group-desc">Description (optional)</label>
2018-02-27 14:16:23 +00:00
{{ textarea id = "edit-group-desc" value = editGroup .purpose class = "form-control" rows = "3" }}
</div>
</form>
</div>
<div class="modal-footer">
2018-12-13 12:24:16 +00:00
{{ ui / ui-button color = constants .Color .Gray light = true label = constants .Label .Close dismiss = true }}
{{ ui / ui-button-gap }}
{{ ui / ui-button color = constants .Color .Green light = true label = constants .Label .Save onClick = ( action "onEditGroup" ) }}
2018-02-27 14:16:23 +00:00
</div>
</div>
</div>
2018-02-28 14:55:36 +00:00
</div>
2018-08-21 15:33:54 +01:00
<div id="group-remove-member-modal" class="modal" tabindex="-1" role="dialog">
2018-02-28 14:55:36 +00:00
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
2018-08-21 15:33:54 +01:00
<div class="modal-header">Remove Member — {{ membersGroup .name }} ( {{ members .length }} )</div>
2018-02-28 14:55:36 +00:00
<div class="modal-body">
<div class="view-customize">
<div class="group-users-members my-5">
2018-05-03 12:48:45 +01:00
{{ # each members as | member | }}
<div class="row item">
<div class="col-10 fullname"> {{ member .fullname }} </div>
<div class="col-2 text-right">
2018-12-08 20:54:19 +00:00
<button class="btn btn-danger" {{ action "onLeaveGroup" member .userId }} >Remove</button>
2018-02-28 14:55:36 +00:00
</div>
2018-05-03 12:48:45 +01:00
</div>
{{ / each }}
2018-08-21 15:33:54 +01:00
</div>
</div>
</div>
<div class="modal-footer">
2018-12-13 12:24:16 +00:00
{{ ui / ui-button color = constants .Color .Gray light = true label = constants .Label .Close dismiss = true }}
2018-08-21 15:33:54 +01:00
</div>
</div>
</div>
</div>
<div id="group-add-member-modal" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">Add Member — {{ membersGroup .name }} ( {{ members .length }} )</div>
<div class="modal-body">
<div class="form-group">
<label for="group-members-search">Search users to join this group</label>
2018-12-08 20:54:19 +00:00
{{ in put id = "group-members-search" type = "text" class = "form-control mousetrap" placeholder = "Search members and users..." value = searchText key-up = ( action "onSearch" ) }}
2018-08-21 15:33:54 +01:00
<small class="form-text text-muted">search firstname, lastname, email</small>
</div>
<div class="view-customize">
<div class="text-center">
2018-12-06 14:10:00 +00:00
<div class="btn-group btn-group-toggle">
2018-12-13 12:24:16 +00:00
{{ # attach-tooltip showDelay = 1 0 0 0 }} Number of users to display {{ / attach-tooltip }}
2018-12-08 20:54:19 +00:00
<label class="btn btn-outline-secondary {{ if ( eq userLimit 1 ) "active" }} ">
<input type="radio" name="options" autocomplete="off" {{ action "onLimit" 1 }} >1
2018-08-21 15:33:54 +01:00
</label>
2018-12-08 20:54:19 +00:00
<label class="btn btn-outline-secondary {{ if ( eq userLimit 1 0 ) "active" }} ">
<input type="radio" name="options" autocomplete="off" {{ action "onLimit" 1 0 }} >10
2018-08-21 15:33:54 +01:00
</label>
2018-12-08 20:54:19 +00:00
<label class="btn btn-outline-secondary {{ if ( eq userLimit 2 5 ) "active" }} ">
<input type="radio" name="options" autocomplete="off" {{ action "onLimit" 2 5 }} >25
2018-08-21 15:33:54 +01:00
</label>
2018-12-08 20:54:19 +00:00
<label class="btn btn-outline-secondary {{ if ( eq userLimit 5 0 ) "active" }} ">
<input type="radio" name="options" autocomplete="off" {{ action "onLimit" 5 0 }} >50
2018-08-21 15:33:54 +01:00
</label>
2018-12-08 20:54:19 +00:00
<label class="btn btn-outline-secondary {{ if ( eq userLimit 1 0 0 ) "active" }} ">
<input type="radio" name="options" autocomplete="off" {{ action "onLimit" 1 0 0 }} >100
2018-08-21 15:33:54 +01:00
</label>
2018-12-08 20:54:19 +00:00
<label class="btn btn-outline-secondary {{ if ( eq userLimit 2 5 0 ) "active" }} ">
<input type="radio" name="options" autocomplete="off" {{ action "onLimit" 2 5 0 }} >250
2018-08-21 15:33:54 +01:00
</label>
2018-12-08 20:54:19 +00:00
<label class="btn btn-outline-secondary {{ if ( eq userLimit 5 0 0 ) "active" }} ">
<input type="radio" name="options" autocomplete="off" {{ action "onLimit" 5 0 0 }} >500
2018-08-21 15:33:54 +01:00
</label>
2018-12-08 20:54:19 +00:00
<label class="btn btn-outline-secondary {{ if ( eq userLimit 1 0 0 0 ) "active" }} ">
<input type="radio" name="options" autocomplete="off" {{ action "onLimit" 1 0 0 0 }} >1,000
2018-08-21 15:33:54 +01:00
</label>
2018-12-08 20:54:19 +00:00
<label class="btn btn-outline-secondary {{ if ( eq userLimit 9 9 9 9 9 ) "active" }} ">
<input type="radio" name="options" autocomplete="off" {{ action "onLimit" 9 9 9 9 9 }} >all
2018-08-21 15:33:54 +01:00
</label>
</div>
</div>
<div class="clearfix" />
<div class="group-users-members my-5">
{{ # each users as | user | }}
<div class="row item">
<div class="col-10 fullname"> {{ user .firstname }} {{ user .lastname }} </div>
<div class="col-2 text-right">
{{ # if user .isMember }}
2018-12-08 20:54:19 +00:00
<button class="btn btn-danger" {{ action "onLeaveGroup" user .id }} >Remove</button>
2018-08-21 15:33:54 +01:00
{{ else }}
2018-12-08 20:54:19 +00:00
<button class="btn btn-success" {{ action "onJoinGroup" user .id }} >Add</button>
2018-08-21 15:33:54 +01:00
{{ / if }}
2018-02-28 14:55:36 +00:00
</div>
2018-08-21 15:33:54 +01:00
</div>
{{ / each }}
2018-02-28 14:55:36 +00:00
</div>
</div>
</div>
<div class="modal-footer">
2018-12-13 12:24:16 +00:00
{{ ui / ui-button color = constants .Color .Gray light = true label = constants .Label .Close dismiss = true }}
2018-02-28 14:55:36 +00:00
</div>
</div>
</div>
</div>
2018-02-27 14:16:23 +00:00
</div>
</div>
</div>