@@ -72,7 +72,7 @@ export default {
72
72
required: false ,
73
73
default: ' ' ,
74
74
},
75
- initOnAutofocus : {
75
+ autofocus : {
76
76
type: Boolean ,
77
77
required: false ,
78
78
default: false ,
@@ -87,20 +87,20 @@ export default {
87
87
return {
88
88
editingMode: EDITING_MODE_MARKDOWN_FIELD ,
89
89
switchEditingControlEnabled: true ,
90
- autofocus : this . initOnAutofocus ,
90
+ autofocused : false ,
91
91
};
92
92
},
93
93
computed: {
94
94
isContentEditorActive () {
95
95
return this .enableContentEditor && this .editingMode === EDITING_MODE_CONTENT_EDITOR ;
96
96
},
97
- contentEditorAutofocus () {
97
+ contentEditorAutofocused () {
98
98
// Match textarea focus behavior
99
- return this .autofocus ? ' end' : false ;
99
+ return this .autofocus && ! this . autofocused ? ' end' : false ;
100
100
},
101
101
},
102
102
mounted () {
103
- this .autofocusTextarea (this . editingMode );
103
+ this .autofocusTextarea ();
104
104
},
105
105
methods: {
106
106
updateMarkdownFromContentEditor ({ markdown }) {
@@ -120,23 +120,22 @@ export default {
120
120
},
121
121
onEditingModeChange (editingMode ) {
122
122
this .notifyEditingModeChange (editingMode);
123
- this .enableAutofocus (editingMode);
124
123
},
125
124
onEditingModeRestored (editingMode ) {
126
125
this .notifyEditingModeChange (editingMode);
127
126
},
128
127
notifyEditingModeChange (editingMode ) {
129
128
this .$emit (editingMode);
130
129
},
131
- enableAutofocus (editingMode ) {
132
- this .autofocus = true ;
133
- this .autofocusTextarea (editingMode);
134
- },
135
- autofocusTextarea (editingMode ) {
136
- if (this .autofocus && editingMode === EDITING_MODE_MARKDOWN_FIELD ) {
130
+ autofocusTextarea () {
131
+ if (this .autofocus && this .editingMode === EDITING_MODE_MARKDOWN_FIELD ) {
137
132
this .$refs .textarea .focus ();
133
+ this .setEditorAsAutofocused ();
138
134
}
139
135
},
136
+ setEditorAsAutofocused () {
137
+ this .autofocused = true ;
138
+ },
140
139
},
141
140
switchEditingControlOptions: [
142
141
{ text: __ (' Source' ), value: EDITING_MODE_MARKDOWN_FIELD },
@@ -197,7 +196,8 @@ export default {
197
196
:render-markdown =" renderMarkdown"
198
197
:uploads-path =" uploadsPath"
199
198
:markdown =" value"
200
- :autofocus =" contentEditorAutofocus"
199
+ :autofocus =" contentEditorAutofocused"
200
+ @initialized =" setEditorAsAutofocused"
201
201
@change =" updateMarkdownFromContentEditor"
202
202
@loading =" disableSwitchEditingControl"
203
203
@loadingSuccess =" enableSwitchEditingControl"
0 commit comments