From a5e7b3483bb4f7fe714ca2c5cdb0224711e50252 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Fri, 31 Mar 2017 15:07:05 +0530 Subject: [PATCH] [fix] timepicker in modal blurs on scroll fixes frappe/erpnext#8002 --- frappe/public/js/frappe/desk.js | 4 ++++ frappe/public/js/frappe/provide.js | 6 ++++++ frappe/public/js/frappe/ui/dialog.js | 7 +++++++ 3 files changed, 17 insertions(+) diff --git a/frappe/public/js/frappe/desk.js b/frappe/public/js/frappe/desk.js index 57e21a04c2..7eca9a9972 100644 --- a/frappe/public/js/frappe/desk.js +++ b/frappe/public/js/frappe/desk.js @@ -52,6 +52,10 @@ frappe.Application = Class.extend({ $(document).trigger('app_ready'); + frappe.ready_events.forEach(function(fn) { + fn(); + }); + if (frappe.boot.messages) { frappe.msgprint(frappe.boot.messages); } diff --git a/frappe/public/js/frappe/provide.js b/frappe/public/js/frappe/provide.js index 0eede49cd2..25dd07e101 100644 --- a/frappe/public/js/frappe/provide.js +++ b/frappe/public/js/frappe/provide.js @@ -26,3 +26,9 @@ frappe.provide("frappe.utils"); frappe.provide("frappe.ui"); frappe.provide("frappe.modules"); frappe.provide("frappe.templates"); + +frappe.ready_events = []; +frappe.ready = function(fn) { + frappe.ready_events.push(fn); +} + diff --git a/frappe/public/js/frappe/ui/dialog.js b/frappe/public/js/frappe/ui/dialog.js index 0ef3046bf1..18ef247519 100644 --- a/frappe/public/js/frappe/ui/dialog.js +++ b/frappe/public/js/frappe/ui/dialog.js @@ -56,6 +56,13 @@ frappe.ui.Dialog = frappe.ui.FieldGroup.extend({ frappe.ui.open_dialogs.push(me); me.focus_on_first_input(); me.on_page_show && me.on_page_show(); + }) + .on('scroll', function() { + var $input = $('input:focus'); + if($input.length && ['Date', 'Datetime', + 'Time'].includes($input.attr('data-fieldtype'))) { + $input.blur(); + } }); },