52 lines
1.7 KiB
JavaScript
52 lines
1.7 KiB
JavaScript
import Ember from 'ember';
|
|
import BaseFormInput from './base-form-input';
|
|
|
|
export default BaseFormInput.extend({
|
|
classNames: ['form-group'],
|
|
type: 'text',
|
|
isHidden: Ember.computed.equal('type', 'hidden'),
|
|
classNameBindings: ['isHidden:hidden'],
|
|
rows: 8,
|
|
setFilename(filename) {
|
|
let me = this;
|
|
Ember.set(me.get('model'), me.get('name'), filename);
|
|
},
|
|
didReceiveAttrs() {
|
|
let me = this;
|
|
me._super(...arguments);
|
|
|
|
let isFile = me.get('type') === 'file';
|
|
!me.get('input-class') &&
|
|
me.set('input-class', isFile ? 'col-xs-3' : 'col-xs-12 col-sm-5');
|
|
let image = me.get('image');
|
|
if (isFile && image) {
|
|
me.set('imageUrl', me.get('model.' + image));
|
|
}
|
|
},
|
|
didInsertElement() {
|
|
let me = this;
|
|
me._super(...arguments);
|
|
me.get('type') === 'file' &&
|
|
me.$('input[type=file]').ace_file_input({
|
|
no_file: 'No File Choosed...',
|
|
btn_choose: 'Choose',
|
|
btn_change: 'Change',
|
|
droppable: true,
|
|
before_change: function() {
|
|
let filename = Ember.$(this).val();
|
|
Ember.Logger.info('Before File [' + filename + '] Changed.');
|
|
me.setFilename(filename);
|
|
return true;
|
|
},
|
|
before_remove: function() {
|
|
let filename = Ember.$(this).val();
|
|
Ember.Logger.info('Before File [' + filename + '] Removed.');
|
|
me.setFilename(null);
|
|
return true;
|
|
},
|
|
thumbnail: false, //| true | large
|
|
blacklist: 'exe|php|jsp'
|
|
});
|
|
}
|
|
});
|