Ghost/core/client/app/components/gh-ed-editor.js
Austin Burdine b83ca04e72 fixes autofocus on post edit
closes #5383
- sets the default focus of the editor component to false
- removes the check for model.isNew in editor controller
2015-06-03 12:01:32 -06:00

60 lines
1.5 KiB
JavaScript

import Ember from 'ember';
import EditorAPI from 'ghost/mixins/ed-editor-api';
import EditorShortcuts from 'ghost/mixins/ed-editor-shortcuts';
import EditorScroll from 'ghost/mixins/ed-editor-scroll';
var Editor;
Editor = Ember.TextArea.extend(EditorAPI, EditorShortcuts, EditorScroll, {
focus: false,
/**
* Tell the controller about focusIn events, will trigger an autosave on a new document
*/
focusIn: function () {
this.sendAction('onFocusIn');
},
/**
* Check if the textarea should have focus, and set it if necessary
*/
setFocus: function () {
if (this.get('focus')) {
this.$().val(this.$().val()).focus();
}
}.on('didInsertElement'),
/**
* Tell the controller about this component
*/
didInsertElement: function () {
this.sendAction('setEditor', this);
Ember.run.scheduleOnce('afterRender', this, this.afterRenderEvent);
},
afterRenderEvent: function () {
if (this.get('focus') && this.get('focusCursorAtEnd')) {
this.setSelection('end');
}
},
/**
* Disable editing in the textarea (used while an upload is in progress)
*/
disable: function () {
var textarea = this.get('element');
textarea.setAttribute('readonly', 'readonly');
},
/**
* Reenable editing in the textarea
*/
enable: function () {
var textarea = this.get('element');
textarea.removeAttribute('readonly');
}
});
export default Editor;