Browse Source

fix: restore original focus when closing modal

tophf 3 years ago
parent
commit
eff18b4d27
1 changed files with 4 additions and 0 deletions
  1. 4 0
      src/common/ui/index.js

+ 4 - 0
src/common/ui/index.js

@@ -3,10 +3,14 @@ import { i18n } from '@/common/util';
 import Message from './message';
 
 export function showMessage(message) {
+  const activeElement = message.buttons && document.activeElement;
   const modal = Modal.show(h => h(Message, {
     props: { message },
     on: {
       dismiss() {
+        if (activeElement && !document.activeElement.closest('.vl-modal')) {
+          activeElement.focus();
+        }
         modal.close();
         message.onDismiss?.();
       },