Added loading state for member list rows

no issue

- with the sparsely loaded list you can scroll to an area which is being loaded in the background
- if a list row is being loaded, display a "loading" version of the row so it doesn't look like you're stuck on a blank screen
This commit is contained in:
Kevin Ansfield 2020-05-21 10:00:14 +01:00
parent 5d59670ac3
commit 7e7bca7ff0
2 changed files with 38 additions and 31 deletions

View File

@ -1,4 +1,10 @@
<li class="gh-list-row gh-members-list-item" ...attributes> <li class="gh-list-row gh-members-list-item {{if @member.is_loading "loading"}}" ...attributes>
{{#if @member.is_loading}}
<div class="gh-list-data gh-list-loadingcell gh-list-cellwidth-100">
<div class="gh-list-loading-title"></div>
<div class="gh-list-loading-detail"></div>
</div>
{{else}}
<LinkTo @route="member" @model={{@member}} title="Member details" class="gh-list-data gh-members-list-basic"> <LinkTo @route="member" @model={{@member}} title="Member details" class="gh-list-data gh-members-list-basic">
<div class="flex items-center"> <div class="flex items-center">
<GhMemberAvatar @member={{@member}} @containerClass="w9 h9 mr3" /> <GhMemberAvatar @member={{@member}} @containerClass="w9 h9 mr3" />
@ -34,4 +40,5 @@
<span class="nr2">{{svg-jar "arrow-right" class="w6 h6 fill-midgrey pa1"}}</span> <span class="nr2">{{svg-jar "arrow-right" class="w6 h6 fill-midgrey pa1"}}</span>
</div> </div>
</LinkTo> </LinkTo>
{{/if}}
</li> </li>

View File

@ -66,7 +66,7 @@
<div class="gh-list-header gh-list-cellwidth-20 nowrap">Created</div> <div class="gh-list-header gh-list-cellwidth-20 nowrap">Created</div>
<div class="gh-list-header gh-list-cellwidth-chevron"></div> <div class="gh-list-header gh-list-cellwidth-chevron"></div>
</li> </li>
<VerticalCollection @items={{this.members}} @key="id" @containerSelector=".gh-main" @estimateHeight={{69}} @staticHeight={{true}} @bufferSize={{5}} as |member|> <VerticalCollection @items={{this.members}} @key="id" @containerSelector=".gh-main" @estimateHeight={{69}} @staticHeight={{true}} @bufferSize={{20}} as |member|>
<GhMembersListItem @member={{member}} @data-test-member-id={{member.id}} /> <GhMembersListItem @member={{member}} @data-test-member-id={{member.id}} />
</VerticalCollection> </VerticalCollection>
{{else}} {{else}}