Create proposal-list/item component
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
import Component from '@ember/component';
|
||||
import tag from 'ember-awesome-macros/tag';
|
||||
import { computed } from '@ember/object';
|
||||
import { reads } from '@ember/object/computed';
|
||||
import { inject } from '@ember/service';
|
||||
|
||||
export default Component.extend({
|
||||
kredits: inject(),
|
||||
|
||||
tagName: 'li',
|
||||
classNames: ['proposal-list-item'],
|
||||
|
||||
attributeBindings: ['data-proposal-id', 'title'],
|
||||
|
||||
title: tag`(${'proposal.kind'}) ${'proposal.description'}`,
|
||||
'data-proposal-id': reads('proposal.id'),
|
||||
|
||||
canBeVoted: computed('voterIds.[]', 'kredits.currentUser', function() {
|
||||
let { isExecuted, voterIds } = this.proposal;
|
||||
let { currentUser } = this.kredits;
|
||||
voterIds = voterIds.map((id) => id.toString());
|
||||
|
||||
return currentUser.isCore && !isExecuted && !voterIds.includes(currentUser.id);
|
||||
}),
|
||||
|
||||
selected: computed('selectedProposals.[]', function() {
|
||||
return this.selectedProposals.includes(this.proposal.id);
|
||||
})
|
||||
});
|
||||
Reference in New Issue
Block a user