From 14460feab75d61b04e7c792ae23ef99011fe5ac4 Mon Sep 17 00:00:00 2001 From: Andrzej Popowski Date: Tue, 10 Nov 2015 14:25:08 +0100 Subject: [PATCH] [Dialogs] - handling Back button in dialogs Change-Id: I06f404cef5bf6db2d756c1cf99dd16b3f362deff Signed-off-by: Andrzej Popowski --- src/dialog/cordova_dialog_api.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/dialog/cordova_dialog_api.js b/src/dialog/cordova_dialog_api.js index 0de4429..eb2730f 100755 --- a/src/dialog/cordova_dialog_api.js +++ b/src/dialog/cordova_dialog_api.js @@ -61,6 +61,7 @@ var popup = (function () { var overlay; var popup; var dismissCallback; + var tizenHwKeyListener = null; function isPopupVisible() { if (box) { @@ -70,6 +71,15 @@ var popup = (function () { } } + function tizenHwKeyFunc(evt) { + if (evt.keyName === "back") { + evt.stopImmediatePropagation(); + if (dismissCallback) { + dismissCallback(); + } + } + } + function showPopup() { box.style.display = 'block'; } @@ -84,6 +94,12 @@ var popup = (function () { if (prompt) { text = d.getElementById(inputId).value; } + + if (tizenHwKeyListener) { + window.removeEventListener('tizenhwkey', tizenHwKeyListener, true); + tizenHwKeyListener = null; + } + hidePopup(); callback(id, text); } @@ -275,6 +291,11 @@ var popup = (function () { e.addEventListener('click', createCloseCallback(callback, i + 1, options.prompt), false); } + if (!tizenHwKeyListener) { + tizenHwKeyListener = tizenHwKeyFunc; + window.addEventListener('tizenhwkey', tizenHwKeyListener, true); + } + // show popup showPopup(); } -- 2.34.1