diff --git a/app/components/contribution-list/component.js b/app/components/contribution-list/component.js index f0fc89d..edb7efe 100644 --- a/app/components/contribution-list/component.js +++ b/app/components/contribution-list/component.js @@ -9,6 +9,11 @@ export default Component.extend({ tagName: 'div', classNames: ['contributions'], + showQuickFilter: false, + hideSmallContributions: false, + contributorId: null, + contributionKind: null, + kredits: service(), contributorsSorting: Object.freeze(['name:asc']), @@ -23,11 +28,11 @@ export default Component.extend({ }); }), - showQuickFilter: false, - hideSmallContributions: false, - contributorId: null, + contributionKinds: computed('contributions.[]', function() { + return this.contributions.mapBy('kind').uniq(); + }), - contributionsFiltered: computed('contributions.[]', 'hideSmallContributions', 'contributorId', function() { + contributionsFiltered: computed('contributions.[]', 'hideSmallContributions', 'contributorId', 'contributionKind', function() { return this.contributions.filter(c => { let included = true; @@ -35,7 +40,10 @@ export default Component.extend({ c.amount <= 500) { included = false; } if (isPresent(this.contributorId) && - (c.contributorId.toString() !== this.contributorId.toString())) { included = false; } + c.contributorId.toString() !== this.contributorId.toString()) { included = false; } + + if (isPresent(this.contributionKind) && + c.kind !== this.contributionKind) { included = false; } return included; }); diff --git a/app/components/contribution-list/template.hbs b/app/components/contribution-list/template.hbs index 3143254..a654f7b 100644 --- a/app/components/contribution-list/template.hbs +++ b/app/components/contribution-list/template.hbs @@ -11,6 +11,16 @@ + +