2016-09-16 13:10:12 -04:00
|
|
|
import computed from 'ember-addons/ember-computed-decorators';
|
2016-09-08 16:58:07 -04:00
|
|
|
import { getToken } from 'wizard/lib/ajax';
|
|
|
|
|
|
|
|
export default Ember.Component.extend({
|
|
|
|
classNames: ['wizard-image-row'],
|
|
|
|
uploading: false,
|
|
|
|
|
2016-09-16 13:10:12 -04:00
|
|
|
@computed('field.id')
|
|
|
|
previewComponent(id) {
|
|
|
|
const componentName = `image-preview-${Ember.String.dasherize(id)}`;
|
|
|
|
const exists = this.container.lookup(`component:${componentName}`);
|
|
|
|
return exists ? componentName : 'wizard-image-preview';
|
|
|
|
},
|
|
|
|
|
2016-09-08 16:58:07 -04:00
|
|
|
didInsertElement() {
|
|
|
|
this._super();
|
|
|
|
|
|
|
|
const $upload = this.$();
|
|
|
|
|
|
|
|
const id = this.get('field.id');
|
|
|
|
|
|
|
|
$upload.fileupload({
|
|
|
|
url: "/uploads.json",
|
|
|
|
formData: { synchronous: true,
|
|
|
|
type: `wizard_${id}`,
|
|
|
|
authenticity_token: getToken() },
|
|
|
|
dataType: 'json',
|
|
|
|
dropZone: $upload,
|
|
|
|
});
|
|
|
|
|
|
|
|
$upload.on("fileuploadsubmit", () => this.set('uploading', true));
|
|
|
|
|
|
|
|
$upload.on('fileuploaddone', (e, response) => {
|
|
|
|
this.set('field.value', response.result.url);
|
|
|
|
this.set('uploading', false);
|
|
|
|
});
|
|
|
|
},
|
|
|
|
});
|