@@ -131,34 +131,34 @@ class ComboMarkdownEditor {
131
131
}
132
132
133
133
setupTab ( ) {
134
- const $container = $ ( this . container ) ;
135
- const tabs = $container [ 0 ] . querySelectorAll ( '.tabular.menu > .item' ) ;
134
+ const tabs = this . container . querySelectorAll ( '.tabular.menu > .item' ) ;
136
135
137
136
// Fomantic Tab requires the "data-tab" to be globally unique.
138
137
// So here it uses our defined "data-tab-for" and "data-tab-panel" to generate the "data-tab" attribute for Fomantic.
139
- const tabEditor = Array . from ( tabs ) . find ( ( tab ) => tab . getAttribute ( 'data-tab-for' ) === 'markdown-writer' ) ;
140
- const tabPreviewer = Array . from ( tabs ) . find ( ( tab ) => tab . getAttribute ( 'data-tab-for' ) === 'markdown-previewer' ) ;
141
- tabEditor . setAttribute ( 'data-tab' , `markdown-writer-${ elementIdCounter } ` ) ;
142
- tabPreviewer . setAttribute ( 'data-tab' , `markdown-previewer-${ elementIdCounter } ` ) ;
143
- const panelEditor = $container [ 0 ] . querySelector ( '.ui.tab[data-tab-panel="markdown-writer"]' ) ;
144
- const panelPreviewer = $container [ 0 ] . querySelector ( '.ui.tab[data-tab-panel="markdown-previewer"]' ) ;
138
+ this . tabEditor = Array . from ( tabs ) . find ( ( tab ) => tab . getAttribute ( 'data-tab-for' ) === 'markdown-writer' ) ;
139
+ this . tabPreviewer = Array . from ( tabs ) . find ( ( tab ) => tab . getAttribute ( 'data-tab-for' ) === 'markdown-previewer' ) ;
140
+ this . tabEditor . setAttribute ( 'data-tab' , `markdown-writer-${ elementIdCounter } ` ) ;
141
+ this . tabPreviewer . setAttribute ( 'data-tab' , `markdown-previewer-${ elementIdCounter } ` ) ;
142
+
143
+ const panelEditor = this . container . querySelector ( '.ui.tab[data-tab-panel="markdown-writer"]' ) ;
144
+ const panelPreviewer = this . container . querySelector ( '.ui.tab[data-tab-panel="markdown-previewer"]' ) ;
145
145
panelEditor . setAttribute ( 'data-tab' , `markdown-writer-${ elementIdCounter } ` ) ;
146
146
panelPreviewer . setAttribute ( 'data-tab' , `markdown-previewer-${ elementIdCounter } ` ) ;
147
147
elementIdCounter ++ ;
148
148
149
- tabEditor . addEventListener ( 'click' , ( ) => {
149
+ this . tabEditor . addEventListener ( 'click' , ( ) => {
150
150
requestAnimationFrame ( ( ) => {
151
151
this . focus ( ) ;
152
152
} ) ;
153
153
} ) ;
154
154
155
155
$ ( tabs ) . tab ( ) ;
156
156
157
- this . previewUrl = tabPreviewer . getAttribute ( 'data-preview-url' ) ;
158
- this . previewContext = tabPreviewer . getAttribute ( 'data-preview-context' ) ;
157
+ this . previewUrl = this . tabPreviewer . getAttribute ( 'data-preview-url' ) ;
158
+ this . previewContext = this . tabPreviewer . getAttribute ( 'data-preview-context' ) ;
159
159
this . previewMode = this . options . previewMode ?? 'comment' ;
160
160
this . previewWiki = this . options . previewWiki ?? false ;
161
- tabPreviewer . addEventListener ( 'click' , async ( ) => {
161
+ this . tabPreviewer . addEventListener ( 'click' , async ( ) => {
162
162
const formData = new FormData ( ) ;
163
163
formData . append ( 'mode' , this . previewMode ) ;
164
164
formData . append ( 'context' , this . previewContext ) ;
@@ -170,6 +170,10 @@ class ComboMarkdownEditor {
170
170
} ) ;
171
171
}
172
172
173
+ switchTabToEditor ( ) {
174
+ this . tabEditor . click ( ) ;
175
+ }
176
+
173
177
prepareEasyMDEToolbarActions ( ) {
174
178
this . easyMDEToolbarDefault = [
175
179
'bold' , 'italic' , 'strikethrough' , '|' , 'heading-1' , 'heading-2' , 'heading-3' ,
0 commit comments