From e839619493ddb4a07e655ba13674802af452a545 Mon Sep 17 00:00:00 2001 From: Evren Ozkan Date: Mon, 20 Nov 2017 14:10:15 -0500 Subject: [PATCH] Make the timeout to dismiss dropdown configurable with 'dismissTimeout' flag (500ms by default) --- .../client/components/base/mixins/dropdown.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Packages/ohif-core/client/components/base/mixins/dropdown.js b/Packages/ohif-core/client/components/base/mixins/dropdown.js index f640d4d44..048562dd2 100644 --- a/Packages/ohif-core/client/components/base/mixins/dropdown.js +++ b/Packages/ohif-core/client/components/base/mixins/dropdown.js @@ -3,6 +3,7 @@ import { Template } from 'meteor/templating'; import { Blaze } from 'meteor/blaze'; import { ReactiveVar } from 'meteor/reactive-var'; import { $ } from 'meteor/jquery'; +import { _ } from 'meteor/underscore'; import { OHIF } from 'meteor/ohif:core'; /* @@ -19,6 +20,12 @@ OHIF.mixins.dropdown = new OHIF.Mixin({ const dropdown = $dropdown[0]; const $dropdownMenu = $dropdown.children('.dropdown-menu'); + // Get the timeout to dismiss the dropdown form + let { dismissTimeout } = instance.data.options; + if (_.isUndefined(dismissTimeout)) { + dismissTimeout = 500; + } + // Set a opening state to the component instance.opening = true; @@ -32,7 +39,7 @@ OHIF.mixins.dropdown = new OHIF.Mixin({ } }; - const timeout = setTimeout(destroyHandle, 500); + const timeout = setTimeout(destroyHandle, dismissTimeout); $dropdownMenu.one('transitionend', () => { destroyHandle(); clearTimeout(timeout); @@ -209,7 +216,8 @@ OHIF.mixins.dropdown = new OHIF.Mixin({ event, reactiveClose: instance.reactiveClose, $parentLi, - parentInstance: instance + parentInstance: instance, + dismissTimeout: instance.data.options && instance.data.options.dismissTimeout }).then(instance.data.promiseResolve).catch(() => {}); },