@@ -2,6 +2,7 @@ import $ from 'jquery';
2
2
import { minimatch } from 'minimatch' ;
3
3
import { createMonaco } from './codeeditor.js' ;
4
4
import { onInputDebounce , toggleElem } from '../utils/dom.js' ;
5
+ import { POST } from '../modules/fetch.js' ;
5
6
6
7
const { appSubUrl, csrfToken} = window . config ;
7
8
@@ -11,18 +12,19 @@ export function initRepoSettingsCollaboration() {
11
12
const $dropdown = $ ( e ) ;
12
13
const $text = $dropdown . find ( '> .text' ) ;
13
14
$dropdown . dropdown ( {
14
- action ( _text , value ) {
15
+ async action ( _text , value ) {
15
16
const lastValue = $dropdown . attr ( 'data-last-value' ) ;
16
- $ . post ( $dropdown . attr ( 'data-url' ) , {
17
- _csrf : csrfToken ,
18
- uid : $dropdown . attr ( 'data-uid' ) ,
19
- mode : value ,
20
- } ) . fail ( ( ) => {
17
+ try {
18
+ $dropdown . attr ( 'data-last-value' , value ) ;
19
+ $dropdown . dropdown ( 'hide' ) ;
20
+ const data = new FormData ( ) ;
21
+ data . append ( 'uid' , $dropdown . attr ( 'data-uid' ) ) ;
22
+ data . append ( 'mode' , value ) ;
23
+ await POST ( $dropdown . attr ( 'data-url' ) , { data} ) ;
24
+ } catch {
21
25
$text . text ( '(error)' ) ; // prevent from misleading users when error occurs
22
26
$dropdown . attr ( 'data-last-value' , lastValue ) ;
23
- } ) ;
24
- $dropdown . attr ( 'data-last-value' , value ) ;
25
- $dropdown . dropdown ( 'hide' ) ;
27
+ }
26
28
} ,
27
29
onChange ( _value , text , _$choice ) {
28
30
$text . text ( text ) ; // update the text when using keyboard navigating
0 commit comments