diff --git a/bt5/erp5_web_jabber_client/PathTemplateItem/web_page_module/jabber_gadget_jio_js.js b/bt5/erp5_web_jabber_client/PathTemplateItem/web_page_module/jabber_gadget_jio_js.js index 2a8254808f955ed0a7db0baceadf74a289f062bb..e630238ab341cdbc3114eb49cbeb47044328ef30 100644 --- a/bt5/erp5_web_jabber_client/PathTemplateItem/web_page_module/jabber_gadget_jio_js.js +++ b/bt5/erp5_web_jabber_client/PathTemplateItem/web_page_module/jabber_gadget_jio_js.js @@ -193,6 +193,31 @@ }); } + function createNotification(gadget, message) { + if (window.Notification !== undefined) { + return window.Notification.requestPermission() + .then(function (result) { + if (result === 'granted') { + var notification = new window.Notification(message[0], {body: message[2]}); + notification.onclick = function () { + window.focus(); + return gadget.getUrlParameter('jio_key') + .push(function (key) { + if (key !== message[0]) { + return gadget.redirect({ + 'command': 'change', + 'options': { + 'jio_key': message[0], + 'page': 'jabberclient_dialog' + } + }); + } + }); + }; + } + }); + } + } rJS(window) .ready(function (g) { g.props = {}; @@ -265,11 +290,12 @@ .allowPublicAcquisition("notifyXMPPMessageTextReceived", function (argument_list) { - if (!document.hasFocus()) { // Only notify when page has no focused. // It simplifies a lot notification status document.querySelector("link[rel='shortcut icon']").setAttribute("href", "gadget_jabberclient_notification_warning.ico"); + + createNotification(this, argument_list); } var gadget = this; @@ -383,6 +409,7 @@ .declareAcquiredMethod('redirect', 'redirect') .declareAcquiredMethod('getUrlFor', 'getUrlFor') .declareAcquiredMethod('refresh', 'refresh') + .declareAcquiredMethod('getUrlParameter', 'getUrlParameter') .declareMethod('createJio', function () { return this.state_parameter_dict.persistent_jio.createJio({ diff --git a/bt5/erp5_web_jabber_client/PathTemplateItem/web_page_module/jabber_gadget_jio_js.xml b/bt5/erp5_web_jabber_client/PathTemplateItem/web_page_module/jabber_gadget_jio_js.xml index 37e5c5bae06a08765b463526027c7549f4d0208e..e2d1c6dde7d408c04e84ba6eefaf726d5d4196c4 100644 --- a/bt5/erp5_web_jabber_client/PathTemplateItem/web_page_module/jabber_gadget_jio_js.xml +++ b/bt5/erp5_web_jabber_client/PathTemplateItem/web_page_module/jabber_gadget_jio_js.xml @@ -230,7 +230,7 @@ serial - 967.46266.46579.39065 + 970.47251.8439.43008 state @@ -248,7 +248,7 @@ - 1526979580.7 + 1538662464.71 UTC