Add proposal form

Closes #6

Form can be prefilled using query params on the route. The params are
`recipient`, `amount`, `url` and `ipfsHash`.
This commit is contained in:
2017-05-03 11:50:05 +02:00
parent e6740d9b4f
commit 969ef8d1ed
14 changed files with 232 additions and 1 deletions
+60
View File
@@ -0,0 +1,60 @@
import Ember from 'ember';
const {
Component,
inject: {
service
},
computed
} = Ember;
export default Component.extend({
kredits: service(),
proposal: null,
inProgress: false,
isValidRecipient: computed('proposal.recipientAddress', function() {
return this.get('kredits.web3Instance').isAddress(this.get('proposal.recipientAddress'));
}),
isValidAmount: computed('proposal.amount', function() {
// TODO
return true;
}),
isValidUrl: computed('proposal.url', function() {
// TODO
return true;
}),
isValidIpfsHash: computed('proposal.ipfsHash', function() {
// TODO
return true;
}),
isValid: computed.and('isValidRecipient', 'isValidAmount', 'isValidUrl',
'isValidIpfsHash'),
actions: {
save() {
if (this.get('isValid')) {
this.set('inProgress', true);
this.get('kredits').addProposal(this.get('proposal'))
.then(() => {
this.attrs.onSave();
}).catch((error) => {
Ember.Logger.error('Error creating the proposal', error);
alert('Something went wrong.');
}).finally(() => {
this.set('inProgress', false);
});
} else {
alert('Invalid data. Please review and try again.');
}
}
}
});