Handle ProposalExecuted event

This commit is contained in:
2017-02-05 21:31:00 +08:00
parent d0e10babfe
commit 1f39884eef
+15 -4
View File
@@ -27,7 +27,7 @@ export default Ember.Controller.extend({
return p; return p;
}); });
return proposals; return proposals;
}.property('model.proposals.[]', 'model.contributors.[]'), }.property('model.proposals.[]', 'model.proposals.@each.executed', 'model.contributors.[]'),
proposalsClosed: function() { proposalsClosed: function() {
let proposals = this.get('model.proposals') let proposals = this.get('model.proposals')
@@ -37,7 +37,7 @@ export default Ember.Controller.extend({
return p; return p;
}); });
return proposals; return proposals;
}.property('model.proposals.[]', 'model.contributors.[]'), }.property('model.proposals.[]', 'model.proposals.@each.executed', 'model.contributors.[]'),
proposalsSorting: ['id:desc'], proposalsSorting: ['id:desc'],
proposalsClosedSorted: Ember.computed.sort('proposalsClosed', 'proposalsSorting'), proposalsClosedSorted: Ember.computed.sort('proposalsClosed', 'proposalsSorting'),
@@ -57,6 +57,9 @@ export default Ember.Controller.extend({
case 'ProposalCreated': case 'ProposalCreated':
this._handleProposalCreated(data); this._handleProposalCreated(data);
break; break;
case 'ProposalExecuted':
this._handleProposalExecuted(data);
break;
} }
}); });
}.on('init'), }.on('init'),
@@ -64,7 +67,7 @@ export default Ember.Controller.extend({
_handleProposalCreated(data) { _handleProposalCreated(data) {
if (Ember.isPresent(this.get('model.proposals') if (Ember.isPresent(this.get('model.proposals')
.findBy('id', data.args.id.toNumber()))) { .findBy('id', data.args.id.toNumber()))) {
console.log('[index] proposal exists, not adding from event'); Ember.Logger.debug('[index] proposal exists, not adding from event');
return false; return false;
} }
@@ -81,10 +84,18 @@ export default Ember.Controller.extend({
ipfsHash: data.args.ipfsHash ipfsHash: data.args.ipfsHash
}); });
console.log('new proposal created', proposal);
this.get('model.proposals').pushObject(proposal); this.get('model.proposals').pushObject(proposal);
}, },
_handleProposalExecuted(data) {
this.get('model.proposals')
.findBy('id', data.args.id.toNumber())
.setProperties({
'executed': true,
'votesCount': 2 // TODO use real count
});
},
actions: { actions: {
confirmProposal(proposalId) { confirmProposal(proposalId) {