This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/assets/javascripts/discourse/templates/group-index.hbs
Joffrey JAFFEUX 0431942f3d
DEV: select-kit 2 (#7998)
This new iteration of select-kit focuses on following best principales and disallowing mutations inside select-kit components. A best effort has been made to avoid breaking changes, however if you content was a flat array, eg: ["foo", "bar"] You will need to set valueProperty=null and nameProperty=null on the component.

Also almost every component should have an `onChange` handler now to decide what to do with the updated data. **select-kit will not mutate your data by itself anymore**
2020-02-03 14:22:14 +01:00

93 lines
2.8 KiB
Handlebars

<section class="user-content">
<div class="group-members-actions">
{{#if model.can_see_members}}
{{text-field value=filterInput
placeholderKey=filterPlaceholder
autocomplete="discourse"
class="group-username-filter no-blur"}}
{{/if}}
<div class="group-members-manage">
{{#if canManageGroup}}
{{d-button icon="plus"
action=(route-action "showAddMembersModal")
label="groups.add_members.title"
class="group-members-add"}}
{{#if currentUser.admin}}
{{d-button icon="plus"
action=(route-action "showBulkAddModal")
label="admin.groups.bulk_add.title"
class="group-bulk-add"}}
{{/if}}
{{/if}}
</div>
</div>
{{#if hasMembers}}
{{#load-more selector=".group-members tr" action=(action "loadMore")}}
<table class='group-members'>
<thead>
{{group-index-toggle order=order desc=desc field='username_lower' i18nKey='username'}}
<th class='group-owner'>{{i18n "groups.members.owner"}}</th>
{{group-index-toggle order=order desc=desc field='added_at' i18nKey='groups.member_added'}}
{{group-index-toggle order=order desc=desc field='last_posted_at' i18nKey='last_post'}}
{{group-index-toggle order=order desc=desc field='last_seen_at' i18nKey='last_seen'}}
<th></th>
</thead>
<tbody>
{{#each model.members as |m|}}
<tr>
<td class='avatar'>
{{user-info user=m skipName=skipName}}
</td>
<td class='group-owner'>
{{#if m.owner}}
<strong class="group-owner-label">
{{d-icon "shield-alt"}}
</strong>
{{/if}}
</td>
<td>
<span class="text">{{bound-date m.added_at}}</span>
</td>
<td>
<span class="text">{{bound-date m.last_posted_at}}</span>
</td>
<td>
<span class="text">{{bound-date m.last_seen_at}}</span>
</td>
<td>
{{#if canManageGroup}}
{{group-member-dropdown
removeMember=(action "removeMember")
makeOwner=(action "makeOwner")
removeOwner=(action "removeOwner")
member=m
group=model
onChange=(action "actOnGroup" m)
}}
{{/if}}
{{!-- group parameter is used by plugins --}}
</td>
</tr>
{{/each}}
</tbody>
</table>
{{/load-more}}
{{conditional-loading-spinner condition=loading}}
{{else if model.can_see_members}}
<br>
<div>{{i18n "groups.empty.members"}}</div>
{{else}}
<br>
<div>{{i18n "groups.members.forbidden"}}</div>
{{/if}}
</section>