mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-14 18:52:05 +03:00
adfa250158
no issue - removes the few uses of `Ember.on` for lifecycle hooks or event hooks where order may be important `Ember.on` use is discouraged so although we haven't used it often I felt like we should ensure we're consistent throughout the codebase. There's a great article with details of why it's discouraged here: http://notmessenger.com/proper-use-of-ember-on/
42 lines
907 B
JavaScript
42 lines
907 B
JavaScript
/*global device*/
|
|
import Ember from 'ember';
|
|
|
|
const {TextField, computed} = Ember;
|
|
|
|
export default TextField.extend({
|
|
focus: true,
|
|
classNames: 'gh-input',
|
|
attributeBindings: ['autofocus'],
|
|
|
|
autofocus: computed(function () {
|
|
if (this.get('focus')) {
|
|
return (device.ios()) ? false : 'autofocus';
|
|
}
|
|
|
|
return false;
|
|
}),
|
|
|
|
_focusField() {
|
|
// This fix is required until Mobile Safari has reliable
|
|
// autofocus, select() or focus() support
|
|
if (this.get('focus') && !device.ios()) {
|
|
this.$().val(this.$().val()).focus();
|
|
}
|
|
},
|
|
|
|
_trimValue() {
|
|
let text = this.$().val();
|
|
this.$().val(text.trim());
|
|
},
|
|
|
|
didInsertElement() {
|
|
this._super(...arguments);
|
|
this._focusField();
|
|
},
|
|
|
|
focusOut() {
|
|
this._super(...arguments);
|
|
this._trimValue();
|
|
}
|
|
});
|