@ -1,19 +1,19 @@
< script lang = "ts" setup >
import { computed , onMounted , onUnmounted , r ef, watch } from 'vue' ;
import { computed , onMounted , onUnmounted , shallowR ef, watch } from 'vue' ;
import { SvgIcon } from '../svg.ts' ;
import { toggleElem } from '../utils/dom.ts' ;
const { csrfToken , pageData } = window . config ;
const mergeForm = ref( pageData. pullRequestMergeForm ) ;
const mergeForm = pageData. pullRequestMergeForm ;
const mergeTitleFieldValue = r ef( '' ) ;
const mergeMessageFieldValue = r ef( '' ) ;
const deleteBranchAfterMerge = r ef( false ) ;
const autoMergeWhenSucceed = r ef( false ) ;
const mergeTitleFieldValue = shallowR ef( '' ) ;
const mergeMessageFieldValue = shallowR ef( '' ) ;
const deleteBranchAfterMerge = shallowR ef( false ) ;
const autoMergeWhenSucceed = shallowR ef( false ) ;
const mergeStyle = r ef( '' ) ;
const mergeStyleDetail = r ef( {
const mergeStyle = shallowR ef( '' ) ;
const mergeStyleDetail = shallowR ef( {
hideMergeMessageTexts : false ,
textDoMerge : '' ,
mergeTitleFieldText : '' ,
@ -21,33 +21,33 @@ const mergeStyleDetail = ref({
hideAutoMerge : false ,
} ) ;
const mergeStyleAllowedCount = r ef( 0 ) ;
const mergeStyleAllowedCount = shallowR ef( 0 ) ;
const showMergeStyleMenu = r ef( false ) ;
const showActionForm = r ef( false ) ;
const showMergeStyleMenu = shallowR ef( false ) ;
const showActionForm = shallowR ef( false ) ;
const mergeButtonStyleClass = computed ( ( ) => {
if ( mergeForm . value. allOverridableChecksOk) return 'primary' ;
if ( mergeForm . allOverridableChecksOk) return 'primary' ;
return autoMergeWhenSucceed . value ? 'primary' : 'red' ;
} ) ;
const forceMerge = computed ( ( ) => {
return mergeForm . value. canMergeNow && ! mergeForm . value . allOverridableChecksOk ;
return mergeForm . canMergeNow && ! mergeForm . allOverridableChecksOk ;
} ) ;
watch ( mergeStyle , ( val ) => {
mergeStyleDetail . value = mergeForm . value. mergeStyles. find ( ( e : any ) => e . name === val ) ;
mergeStyleDetail . value = mergeForm . mergeStyles. find ( ( e : any ) => e . name === val ) ;
for ( const elem of document . querySelectorAll ( '[data-pull-merge-style]' ) ) {
toggleElem ( elem , elem . getAttribute ( 'data-pull-merge-style' ) === val ) ;
}
} ) ;
onMounted ( ( ) => {
mergeStyleAllowedCount . value = mergeForm . value. mergeStyles. reduce ( ( v : any , msd : any ) => v + ( msd . allowed ? 1 : 0 ) , 0 ) ;
mergeStyleAllowedCount . value = mergeForm . mergeStyles. reduce ( ( v : any , msd : any ) => v + ( msd . allowed ? 1 : 0 ) , 0 ) ;
let mergeStyle = mergeForm . value. mergeStyles. find ( ( e : any ) => e . allowed && e . name === mergeForm . value . defaultMergeStyle ) ? . name ;
if ( ! mergeStyle ) mergeStyle = mergeForm . value. mergeStyles. find ( ( e : any ) => e . allowed ) ? . name ;
switchMergeStyle ( mergeStyle , ! mergeForm . value. canMergeNow) ;
let mergeStyle = mergeForm . mergeStyles. find ( ( e : any ) => e . allowed && e . name === mergeForm . defaultMergeStyle ) ? . name ;
if ( ! mergeStyle ) mergeStyle = mergeForm . mergeStyles. find ( ( e : any ) => e . allowed ) ? . name ;
switchMergeStyle ( mergeStyle , ! mergeForm . canMergeNow) ;
document . addEventListener ( 'mouseup' , hideMergeStyleMenu ) ;
} ) ;
@ -63,7 +63,7 @@ function hideMergeStyleMenu() {
function toggleActionForm ( show : boolean ) {
showActionForm . value = show ;
if ( ! show ) return ;
deleteBranchAfterMerge . value = mergeForm . value. defaultDeleteBranchAfterMerge;
deleteBranchAfterMerge . value = mergeForm . defaultDeleteBranchAfterMerge;
mergeTitleFieldValue . value = mergeStyleDetail . value . mergeTitleFieldText ;
mergeMessageFieldValue . value = mergeStyleDetail . value . mergeMessageFieldText ;
}
@ -74,7 +74,7 @@ function switchMergeStyle(name: string, autoMerge = false) {
}
function clearMergeMessage ( ) {
mergeMessageFieldValue . value = mergeForm . value. defaultMergeMessage;
mergeMessageFieldValue . value = mergeForm . defaultMergeMessage;
}
< / script >