@@ -4,15 +4,14 @@ import {createCodeEditor} from './codeeditor.js';
44import { hideElem , showElem } from '../utils/dom.js' ;
55import { initMarkupContent } from '../markup/content.js' ;
66import { attachRefIssueContextPopup } from './contextpopup.js' ;
7-
8- const { csrfToken} = window . config ;
7+ import { POST } from '../modules/fetch.js' ;
98
109function initEditPreviewTab ( $form ) {
1110 const $tabMenu = $form . find ( '.tabular.menu' ) ;
1211 $tabMenu . find ( '.item' ) . tab ( ) ;
1312 const $previewTab = $tabMenu . find ( `.item[data-tab="${ $tabMenu . data ( 'preview' ) } "]` ) ;
1413 if ( $previewTab . length ) {
15- $previewTab . on ( 'click' , function ( ) {
14+ $previewTab . on ( 'click' , async function ( ) {
1615 const $this = $ ( this ) ;
1716 let context = `${ $this . data ( 'context' ) } /` ;
1817 const mode = $this . data ( 'markup-mode' ) || 'comment' ;
@@ -21,43 +20,30 @@ function initEditPreviewTab($form) {
2120 context += treePathEl . val ( ) ;
2221 }
2322 context = context . substring ( 0 , context . lastIndexOf ( '/' ) ) ;
24- $ . post ( $this . data ( 'url' ) , {
25- _csrf : csrfToken ,
26- mode,
27- context,
28- text : $form . find ( `.tab[data-tab="${ $tabMenu . data ( 'write' ) } "] textarea` ) . val ( ) ,
29- file_path : treePathEl . val ( ) ,
30- } , ( data ) => {
23+
24+ const formData = new FormData ( ) ;
25+ formData . append ( 'mode' , mode ) ;
26+ formData . append ( 'context' , context ) ;
27+ formData . append ( 'text' , $form . find ( `.tab[data-tab="${ $tabMenu . data ( 'write' ) } "] textarea` ) . val ( ) ) ;
28+ formData . append ( 'file_path' , treePathEl . val ( ) ) ;
29+ try {
30+ const response = await POST ( $this . data ( 'url' ) , { data : formData } ) ;
31+ const data = await response . text ( ) ;
3132 const $previewPanel = $form . find ( `.tab[data-tab="${ $tabMenu . data ( 'preview' ) } "]` ) ;
3233 renderPreviewPanelContent ( $previewPanel , data ) ;
33- } ) ;
34+ } catch ( error ) {
35+ console . error ( 'Error:' , error ) ;
36+ }
3437 } ) ;
3538 }
3639}
3740
38- function initEditDiffTab ( $form ) {
39- const $tabMenu = $form . find ( '.tabular.menu' ) ;
40- $tabMenu . find ( '.item' ) . tab ( ) ;
41- $tabMenu . find ( `.item[data-tab="${ $tabMenu . data ( 'diff' ) } "]` ) . on ( 'click' , function ( ) {
42- const $this = $ ( this ) ;
43- $ . post ( $this . data ( 'url' ) , {
44- _csrf : csrfToken ,
45- context : $this . data ( 'context' ) ,
46- content : $form . find ( `.tab[data-tab="${ $tabMenu . data ( 'write' ) } "] textarea` ) . val ( ) ,
47- } , ( data ) => {
48- const $diffPreviewPanel = $form . find ( `.tab[data-tab="${ $tabMenu . data ( 'diff' ) } "]` ) ;
49- $diffPreviewPanel . html ( data ) ;
50- } ) ;
51- } ) ;
52- }
53-
5441function initEditorForm ( ) {
5542 if ( $ ( '.repository .edit.form' ) . length === 0 ) {
5643 return ;
5744 }
5845
5946 initEditPreviewTab ( $ ( '.repository .edit.form' ) ) ;
60- initEditDiffTab ( $ ( '.repository .edit.form' ) ) ;
6147}
6248
6349function getCursorPosition ( $e ) {
0 commit comments