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