Hide contributors with 0 kredits in toplist

This commit is contained in:
2025-02-16 13:45:48 +04:00
parent 67538a9437
commit d67bfd59da
3 changed files with 36 additions and 31 deletions
+4 -1
View File
@@ -25,7 +25,10 @@ export default Controller.extend({
kreditsToplistSorting: computed('showUnconfirmedKredits', function(){ kreditsToplistSorting: computed('showUnconfirmedKredits', function(){
return this.showUnconfirmedKredits ? ['amountTotal:desc'] : ['amountConfirmed:desc']; return this.showUnconfirmedKredits ? ['amountTotal:desc'] : ['amountConfirmed:desc'];
}), }),
kreditsToplist: sort('kreditsByContributor', 'kreditsToplistSorting'), kreditsToplist: computed('kreditsByContributor', function(){
return this.kreditsByContributor.filter(c => c.amountTotal > 0);
}),
kreditsToplistSorted: sort('kreditsToplist', 'kreditsToplistSorting'),
showUnconfirmedKredits: true, showUnconfirmedKredits: true,
hideUnconfirmedKredits: not('showUnconfirmedKredits'), hideUnconfirmedKredits: not('showUnconfirmedKredits'),
+1 -1
View File
@@ -11,7 +11,7 @@
{{/if}} {{/if}}
</header> </header>
<div class="content"> <div class="content">
<ContributorList @contributorList={{this.kreditsToplist}} <ContributorList @contributorList={{this.kreditsToplistSorted}}
@showUnconfirmedKredits={{this.showUnconfirmedKredits}} @showUnconfirmedKredits={{this.showUnconfirmedKredits}}
@selectedContributorId={{this.selectedContributorId}} @selectedContributorId={{this.selectedContributorId}}
@loading={{this.kredits.syncContributors.isRunning}} /> @loading={{this.kredits.syncContributors.isRunning}} />
+31 -29
View File
@@ -1,29 +1,31 @@
// import { isEmpty, isPresent } from '@ember/utils'; import { isEmpty } from '@ember/utils';
// import { module, test } from 'qunit'; import { module, test } from 'qunit';
// import { setupTest } from 'ember-qunit'; import { setupTest } from 'ember-qunit';
// import Contributor from 'kredits-web/models/contributor'; import Contributor from 'kredits-web/models/contributor';
//
// module('Unit | Controller | index', function(hooks) { module('Unit | Controller | Dashboard', function(hooks) {
// setupTest(hooks); setupTest(hooks);
//
// let addFixtures = function(controller) { let addFixtures = function(controller) {
// [ [
// { github_username: "neo", github_uid: "318", totalKreditsEarned: 10000 }, { github_username: "neo", github_uid: "318", totalKreditsEarned: 10000 },
// { github_username: "morpheus", github_uid: "843", totalKreditsEarned: 15000 }, { github_username: "morpheus", github_uid: "843", totalKreditsEarned: 15000 },
// { github_username: "trinity", github_uid: "123", totalKreditsEarned: 5000 }, { github_username: "trinity", github_uid: "123", totalKreditsEarned: 5000 },
// { github_username: "mouse", github_uid: "696", totalKreditsEarned: 0 } { github_username: "mouse", github_uid: "696", totalKreditsEarned: 0 }
// ].forEach(fixture => { ].forEach(fixture => {
// controller.get('kredits.contributors').push(Contributor.create(fixture)); controller.get('kredits.contributors').push(Contributor.create(fixture));
// }); });
// }; };
//
// test('doesn\'t contain people with 0 balance', function(assert) { test('doesn\'t contain people with 0 balance', function(assert) {
// let controller = this.owner.lookup('controller:index'); const controller = this.owner.lookup('controller:dashboard');
// addFixtures(controller); addFixtures(controller);
//
// let contributorsSorted = controller.get('contributorsSorted'); const kreditsToplistSorted = controller.get('kreditsToplistSorted');
//
// assert.ok(isPresent(contributorsSorted.findBy('github_username', 'neo'))); assert.equal(kreditsToplistSorted.length, 3,
// assert.ok(isEmpty(contributorsSorted.findBy('github_username', 'mouse'))); 'kreditsToplist contains all contributors with kredits');
// }); assert.ok(isEmpty(kreditsToplistSorted.findBy('github_username', 'mouse')),
// }); 'kreditsToplist does not contain contributors with 0 kredits');
});
});