mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-14 18:52:05 +03:00
eb1cf51bf6
no issue - `this.attrs` is a glimmer-component thing (which doesn't exist in Ghost yet), to avoid confusion we should avoid using it - https://locks.svbtle.com/to-attrs-or-not-to-attrs - https://github.com/cibernox/ember-power-select/issues/233#issuecomment-170352572
52 lines
1.2 KiB
JavaScript
52 lines
1.2 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';
|
|
|
|
const {TextArea, run} = Ember;
|
|
|
|
export default TextArea.extend(EditorAPI, EditorShortcuts, EditorScroll, {
|
|
focus: false,
|
|
|
|
/**
|
|
* Tell the controller about focusIn events, will trigger an autosave on a new document
|
|
*/
|
|
focusIn() {
|
|
this.sendAction('onFocusIn');
|
|
},
|
|
|
|
/**
|
|
* Sets the focus of the textarea if needed
|
|
*/
|
|
setFocus() {
|
|
if (this.get('focus')) {
|
|
this.$().val(this.$().val()).focus();
|
|
}
|
|
},
|
|
|
|
/**
|
|
* Sets up properties at render time
|
|
*/
|
|
didInsertElement() {
|
|
this._super(...arguments);
|
|
|
|
this.setFocus();
|
|
|
|
this.get('setEditor')(this);
|
|
|
|
run.scheduleOnce('afterRender', this, this.afterRenderEvent);
|
|
},
|
|
|
|
afterRenderEvent() {
|
|
if (this.get('focus') && this.get('focusCursorAtEnd')) {
|
|
this.setSelection('end');
|
|
}
|
|
},
|
|
|
|
actions: {
|
|
toggleCopyHTMLModal(generatedHTML) {
|
|
this.get('toggleCopyHTMLModal')(generatedHTML);
|
|
}
|
|
}
|
|
});
|