mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Make Ctrl+Enter (quick submit) work for issue comment and wiki editor (#19729)
* Make Ctrl+Enter (quick submit) work for issue comment and wiki editor * Remove the required `SubmitReviewForm.Type`, empty type (triggered by quick submit) means "comment" * Merge duplicate code
This commit is contained in:
		@@ -44,13 +44,28 @@ export function initFootLanguageMenu() {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
export function initGlobalEnterQuickSubmit() {
 | 
			
		||||
  $('.js-quick-submit').on('keydown', function (e) {
 | 
			
		||||
    if (((e.ctrlKey && !e.altKey) || e.metaKey) && (e.keyCode === 13 || e.keyCode === 10)) {
 | 
			
		||||
      $(this).closest('form').trigger('submit');
 | 
			
		||||
  $(document).on('keydown', '.js-quick-submit', (e) => {
 | 
			
		||||
    if (((e.ctrlKey && !e.altKey) || e.metaKey) && (e.key === 'Enter')) {
 | 
			
		||||
      handleGlobalEnterQuickSubmit(e.target);
 | 
			
		||||
      return false;
 | 
			
		||||
    }
 | 
			
		||||
  });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function handleGlobalEnterQuickSubmit(target) {
 | 
			
		||||
  const $target = $(target);
 | 
			
		||||
  const $form = $(target).closest('form');
 | 
			
		||||
  if ($form.length) {
 | 
			
		||||
    // here use the event to trigger the submit event (instead of calling `submit()` method directly)
 | 
			
		||||
    // otherwise the `areYouSure` handler won't be executed, then there will be an annoying "confirm to leave" dialog
 | 
			
		||||
    $form.trigger('submit');
 | 
			
		||||
  } else {
 | 
			
		||||
    // if no form, then the editor is for an AJAX request, dispatch an event to the target, let the target's event handler to do the AJAX request.
 | 
			
		||||
    // the 'ce-' prefix means this is a CustomEvent
 | 
			
		||||
    $target.trigger('ce-quick-submit');
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function initGlobalButtonClickOnEnter() {
 | 
			
		||||
  $(document).on('keypress', '.ui.button', (e) => {
 | 
			
		||||
    if (e.keyCode === 13 || e.keyCode === 32) { // enter key or space bar
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user