From 11709b31ec68cdb9d6d4783b982a84468f982e8e Mon Sep 17 00:00:00 2001 From: pratu16x7 Date: Tue, 5 Sep 2017 13:31:04 +0530 Subject: [PATCH] [setup] keyboard nav --- frappe/desk/page/setup_wizard/setup_wizard.js | 22 +++++++++++++++++-- frappe/public/js/frappe/ui/slides.js | 2 +- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/frappe/desk/page/setup_wizard/setup_wizard.js b/frappe/desk/page/setup_wizard/setup_wizard.js index ba481f9f18..a38ef776bb 100644 --- a/frappe/desk/page/setup_wizard/setup_wizard.js +++ b/frappe/desk/page/setup_wizard/setup_wizard.js @@ -84,6 +84,21 @@ frappe.setup.SetupWizard = class SetupWizard extends frappe.ui.Slides { this.container.addClass("container setup-wizard-slide with-form"); this.$next_btn.addClass('action'); this.$complete_btn = this.$footer.find('.complete-btn').addClass('action'); + this.setup_keyboard_nav(); + } + + setup_keyboard_nav() { + this.container.on('keydown', (e) => { + if(e.which === 13) { + var $target = $(e.target); + if($target.hasClass('prev-btn')) { + $target.trigger('click'); + } else { + this.container.find('.next-btn').trigger('click'); + e.preventDefault(); + } + } + }); } before_show_slide() { @@ -138,6 +153,9 @@ frappe.setup.SetupWizard = class SetupWizard extends frappe.ui.Slides { this.setup(); this.show_slide(this.current_id); + setTimeout(() => { + this.container.find('.form-control').first().focus(); + }, 200); this.in_refresh_slides = false; } @@ -167,7 +185,7 @@ frappe.setup.SetupWizard = class SetupWizard extends frappe.ui.Slides { error: function() { var d = frappe.msgprint(__("There were errors.")); d.custom_onhide = function() { - $(me.parent).find('.setup-state').remove(); + $(me.parent).find('.setup-loading').remove(); $('body').removeClass('setup-state'); me.container.show(); frappe.set_route(me.page_name, me.slides.length - 1); @@ -217,7 +235,7 @@ frappe.setup.SetupWizard = class SetupWizard extends frappe.ui.Slides { } get_message(title, message="", loading=false) { - return $(`
+ return $(`
diff --git a/frappe/public/js/frappe/ui/slides.js b/frappe/public/js/frappe/ui/slides.js index 7d2fc295ac..2497a89b04 100644 --- a/frappe/public/js/frappe/ui/slides.js +++ b/frappe/public/js/frappe/ui/slides.js @@ -228,7 +228,7 @@ frappe.ui.Slides = class Slides { } make() { - this.container = $('
').addClass("slides-wrapper") + this.container = $('
').addClass("slides-wrapper").attr({"tabindex": -1}) .appendTo(this.parent); this.$slide_progress = $(`
`).addClass(`slides-progress text-center text-extra-muted`) .appendTo(this.container);