From 5432e684ad93d46b66c1bbee03803afbcc5c6648 Mon Sep 17 00:00:00 2001 From: mohasinnadaf Date: Wed, 12 Sep 2018 14:36:47 +0530 Subject: [PATCH] Few states modified to handle the numberic keys earlier throwing maximum call stack error & not able to use it with keypad numbers --- addon/states/hours-focused.js | 15 +++++++++++++++ addon/states/minutes-focused.js | 15 +++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/addon/states/hours-focused.js b/addon/states/hours-focused.js index 05ea4ee..550dda9 100644 --- a/addon/states/hours-focused.js +++ b/addon/states/hours-focused.js @@ -55,6 +55,21 @@ export default State.extend({ down(manager) { manager.get("input").decrementHours(); + }, + + key(manager, code) { + if (!isNumberCode(code)) { + return; // no-op + } + + const num = keyCodeToNumber(code); + manager.get("input").setHours(num); + + if (num <= 2) { + manager.transitionTo("digit2"); + } else { + manager.transitionTo("minutes"); + } } }); diff --git a/addon/states/minutes-focused.js b/addon/states/minutes-focused.js index 48d8600..7ac14bc 100644 --- a/addon/states/minutes-focused.js +++ b/addon/states/minutes-focused.js @@ -68,5 +68,20 @@ export default State.extend({ down(manager) { manager.get("input").decrementMinutes(); + }, + + key(manager, code) { + if (!isNumberCode(code)) { + return; // no-op + } + + const num = keyCodeToNumber(code); + manager.get("input").setMinutes(num); + + if (num <= 5) { + manager.transitionTo("digit2"); + } else if (manager.get("input.hour12")) { + manager.transitionTo("period"); + } } });