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/groups/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

96 lines
3.4 KiB
Handlebars

{{#d-section pageClass="groups"}}
<div class="groups-header">
{{#if currentUser.admin}}
{{d-button action=(action "new")
class="btn-default groups-header-new pull-right"
icon="plus"
label="admin.groups.new.title"}}
{{/if}}
<div class="groups-header-filters">
{{text-field value=filterInput
placeholderKey="groups.index.all"
class="groups-header-filters-name no-blur"}}
{{combo-box
value=type
content=types
class="groups-header-filters-type"
onChange=(action (mut type))
options=(hash
clearable=true
none="groups.index.filter"
)
}}
</div>
</div>
{{#if model}}
{{#conditional-loading-spinner condition=model.loading}}
{{#load-more selector=".groups-boxes .group-box" action=(action "loadMore")}}
<div class='container'>
<div class="groups-boxes">
{{#each model as |group|}}
{{#link-to "group.members" group.name class="group-box"}}
<div class="group-box-inner">
<div class="group-info-wrapper">
{{#if group.flair_url}}
<span class='group-avatar-flair'>
{{avatar-flair
flairURL=group.flair_url
flairBgColor=group.flair_bg_color
flairColor=group.flair_color
groupName=group.name}}
</span>
{{/if}}
<span class="group-info">
{{groups-info group=group}}
<div class="group-user-count">{{d-icon "user"}}{{group.user_count}}</div>
</span>
</div>
<div class="group-description">{{{group.bio_excerpt}}}</div>
<div class="group-membership">
{{#group-membership-button tagName='' model=group showLogin=(route-action "showLogin")}}
{{#if group.is_group_owner}}
<span class="is-group-owner">
{{d-icon "shield-alt"}}
{{i18n "groups.index.is_group_owner"}}
</span>
{{else if group.is_group_user}}
<span class="is-group-member">
{{d-icon "check"}}
{{i18n "groups.index.is_group_user"}}
</span>
{{else if group.public_admission}}
{{i18n 'groups.index.public'}}
{{else if group.isPrivate}}
{{d-icon "far-eye-slash"}}
{{i18n 'groups.index.private'}}
{{else}}
{{#if group.automatic}}
{{i18n 'groups.index.automatic'}}
{{else}}
{{d-icon "ban"}}
{{i18n 'groups.index.closed'}}
{{/if}}
{{/if}}
{{/group-membership-button}}
</div>
</div>
{{/link-to}}
{{/each}}
</div>
</div>
{{/load-more}}
{{conditional-loading-spinner condition=model.loadingMore}}
{{/conditional-loading-spinner}}
{{else}}
<p>{{i18n "groups.index.empty"}}</p>
{{/if}}
{{/d-section}}