Browse Source

submit inline form on click outside

pravdomil 7 years ago
parent
commit
77ae6c17e7
1 changed files with 11 additions and 1 deletions
  1. 11 1
      client/lib/inlinedform.js

+ 11 - 1
client/lib/inlinedform.js

@@ -75,6 +75,16 @@ InlinedForm = BlazeComponent.extendComponent({
 EscapeActions.register('inlinedForm',
   () => { currentlyOpenedForm.get().close(); },
   () => { return currentlyOpenedForm.get() !== null; }, {
-    noClickEscapeOn: '.js-inlined-form',
+    enabledOnClick: false
   }
 );
+
+// submit on click outside
+document.addEventListener("click", function(evt) {
+  const formIsOpen = currentlyOpenedForm.get() && currentlyOpenedForm.get().isOpen.get();
+  const isClickOutside = $(evt.target).closest(".js-inlined-form").length === 0;
+  if (formIsOpen && isClickOutside) {
+    $('.js-inlined-form button[type=submit]').click();
+    currentlyOpenedForm.get().close();
+  }
+}, true);