2018-12-14 11:52:31 +00:00
<div class="view-customize">
{{ ui / ui-button color = constants .Color .Green light = true icon = constants .Icon .People label = constants .Label .Add onClick = ( action "onShowAddGroupModal" ) }}
<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">
<form onsubmit= {{ action "onAddGroup" }} >
<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>
2018-02-27 14:16:23 +00:00
</div>
2018-12-14 11:52:31 +00:00
<div class="form-group">
<label for="new-group-desc">Description (optional)</label>
{{ textarea id = "new-group-desc" value = newGroup .purpose class = "form-control" rows = "3" }}
2018-02-27 14:16:23 +00:00
</div>
2018-12-14 11:52:31 +00:00
</form>
</div>
<div class="modal-footer">
{{ 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>
2018-12-14 11:52:31 +00:00
</div>
</div>
2018-02-27 14:16:23 +00:00
2018-12-14 11:52:31 +00:00
{{ ui / ui-spacer size = 3 0 0 }}
<div class="groups-list">
{{ # each groups as | group | }}
<div class="group">
<div class="name">
{{ group .name }} ( {{ group .members }} )
</div>
<div class="desc"> {{ group .purpose }} </div>
{{ ui / ui-spacer size = 2 0 0 }}
{{ # ui / ui-toolbar dark = false light = true raised = true large = false bordered = true }}
{{ ui / ui-toolbar-icon icon = constants .Icon .AddUser color = constants .Color .Gray tooltip = "Add members" onClick = ( action "onShowAddMemberModal" group .id ) }}
{{ # if ( gt group .members 0 ) }}
{{ ui / ui-toolbar-icon icon = constants .Icon .RemoveUser color = constants .Color .Gray tooltip = "Remove members" onClick = ( action "onShowRemoveMemberModal" group .id ) }}
{{ / if }}
{{ ui / ui-toolbar-icon icon = constants .Icon .Edit color = constants .Color .Gray tooltip = "Edit group" onClick = ( action "onShowEditModal" group .id ) }}
{{ ui / ui-toolbar-icon icon = constants .Icon .Delete color = constants .Color .Red tooltip = "Delete group" onClick = ( action "onShowDeleteModal" group .id ) }}
{{ / ui / ui-toolbar }}
2018-02-27 14:16:23 +00:00
</div>
2018-12-14 11:52:31 +00:00
{{ / each }}
</div>
2018-02-27 14:16:23 +00:00
2018-12-14 11:52:31 +00:00
<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">
<form onsubmit= {{ action "onDeleteGroup" }} >
<p>Are you sure you want to delete this group?</p>
<div class="form-group">
<label for="delete-group-name">Please type group name to confirm</label>
{{ 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>
2018-02-27 14:16:23 +00:00
</div>
2018-12-14 11:52:31 +00:00
</form>
</div>
<div class="modal-footer">
{{ 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>
2018-12-14 11:52:31 +00:00
</div>
</div>
2018-02-27 14:16:23 +00:00
2018-12-14 11:52:31 +00:00
<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">
<form onsubmit= {{ action "onEditGroup" }} >
<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>
2018-02-27 14:16:23 +00:00
</div>
2018-12-14 11:52:31 +00:00
<div class="form-group">
<label for="edit-group-desc">Description (optional)</label>
{{ textarea id = "edit-group-desc" value = editGroup .purpose class = "form-control" rows = "3" }}
2018-02-27 14:16:23 +00:00
</div>
2018-12-14 11:52:31 +00:00
</form>
</div>
<div class="modal-footer">
{{ 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>
2018-02-28 14:55:36 +00:00
</div>
2018-12-14 11:52:31 +00:00
</div>
</div>
2018-02-28 14:55:36 +00:00
2018-12-14 11:52:31 +00:00
<div id="group-remove-member-modal" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">Remove Member — {{ membersGroup .name }} ( {{ members .length }} )</div>
<div class="modal-body">
<div class="view-customize">
<div class="group-users-members my-5">
{{ # each members as | member | }}
<div class="row item">
<div class="col-10 fullname"> {{ member .fullname }} </div>
<div class="col-2 text-right">
{{ # ui / ui-toolbar dark = false light = true raised = true large = false bordered = true }}
{{ ui / ui-toolbar-icon icon = constants .Icon .RemoveUser color = constants .Color .Red tooltip = "Remove member" onClick = ( action "onLeaveGroup" member .userId ) }}
{{ / ui / ui-toolbar }}
</div>
2018-08-21 15:33:54 +01:00
</div>
2018-12-14 11:52:31 +00:00
{{ / each }}
2018-08-21 15:33:54 +01:00
</div>
</div>
</div>
2018-12-14 11:52:31 +00:00
<div class="modal-footer">
{{ ui / ui-button color = constants .Color .Gray light = true label = constants .Label .Close dismiss = true }}
</div>
2018-08-21 15:33:54 +01:00
</div>
2018-12-14 11:52:31 +00:00
</div>
</div>
2018-08-21 15:33:54 +01:00
2018-12-14 11:52:31 +00:00
<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>
{{ in put id = "group-members-search" type = "text" class = "form-control mousetrap" placeholder = "Search members and users..." value = searchText key-up = ( action "onSearch" ) }}
<small class="form-text text-muted">search firstname, lastname, email</small>
</div>
<div class="view-customize">
<div class="text-center">
<div class="btn-group btn-group-toggle">
{{ # attach-tooltip showDelay = 1 0 0 0 }} Number of users to display {{ / attach-tooltip }}
<label class="btn btn-outline-secondary {{ if ( eq userLimit 1 ) "active" }} ">
<input type="radio" name="options" autocomplete="off" {{ action "onLimit" 1 }} >1
</label>
<label class="btn btn-outline-secondary {{ if ( eq userLimit 1 0 ) "active" }} ">
<input type="radio" name="options" autocomplete="off" {{ action "onLimit" 1 0 }} >10
</label>
<label class="btn btn-outline-secondary {{ if ( eq userLimit 2 5 ) "active" }} ">
<input type="radio" name="options" autocomplete="off" {{ action "onLimit" 2 5 }} >25
</label>
<label class="btn btn-outline-secondary {{ if ( eq userLimit 5 0 ) "active" }} ">
<input type="radio" name="options" autocomplete="off" {{ action "onLimit" 5 0 }} >50
</label>
<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
</label>
<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
</label>
<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
</label>
<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
</label>
<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
</label>
2018-08-21 15:33:54 +01:00
</div>
2018-12-14 11:52:31 +00:00
</div>
<div class="clearfix" />
2018-08-21 15:33:54 +01:00
2018-12-14 11:52:31 +00:00
<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">
{{ # ui / ui-toolbar dark = false light = true raised = true large = false bordered = true }}
{{ # if user .isMember }}
{{ ui / ui-toolbar-icon icon = constants .Icon .RemoveUser color = constants .Color .Red tooltip = "Remove member" onClick = ( action "onLeaveGroup" user .id ) }}
{{ else }}
{{ ui / ui-toolbar-icon icon = constants .Icon .AddUser color = constants .Color .Green tooltip = "Add member" onClick = ( action "onJoinGroup" user .id ) }}
{{ / if }}
{{ / ui / ui-toolbar }}
</div>
2018-02-28 14:55:36 +00:00
</div>
2018-12-14 11:52:31 +00:00
{{ / each }}
2018-02-28 14:55:36 +00:00
</div>
</div>
</div>
2018-12-14 11:52:31 +00:00
<div class="modal-footer">
{{ ui / ui-button color = constants .Color .Gray light = true label = constants .Label .Close dismiss = true }}
</div>
2018-02-28 14:55:36 +00:00
</div>
2018-02-27 14:16:23 +00:00
</div>
</div>
</div>