Window clsoe confirmation if connected
authorDarren <darren@darrenwhitlen.com>
Mon, 8 Oct 2012 10:01:24 +0000 (11:01 +0100)
committerDarren <darren@darrenwhitlen.com>
Mon, 8 Oct 2012 10:01:24 +0000 (11:01 +0100)
client_backbone/dev/model_gateway.js
client_backbone/dev/view.js

index 8cd3e876ffac7b84b6aa39d6f0e06882a822e478..f0657adfd93b7f31361797468b1373da8a2885ee 100755 (executable)
@@ -63,7 +63,8 @@ kiwi.model.Gateway = function () {
             'try multiple transports': true,\r
             'connect timeout': 3000,\r
             'max reconnection attempts': 7,\r
-            'reconnection delay': 2000\r
+            'reconnection delay': 2000,\r
+            'sync disconnect on unload': false\r
         });\r
         this.socket.on('connect_failed', function (reason) {\r
             // TODO: When does this even actually get fired? I can't find a case! ~Darren\r
@@ -129,6 +130,12 @@ kiwi.model.Gateway = function () {
     };\r
 \r
 \r
+\r
+    this.isConnected = function () {\r
+        return this.socket.socket.connected;\r
+    };\r
+\r
+\r
     /*\r
         Events:\r
             msg\r
index 717d9bf530c091786034de2fccd87e4cfe033edc..8e10785caf7ebea212abe2f022b85882d69329f2 100755 (executable)
@@ -867,6 +867,13 @@ kiwi.view.Application = Backbone.View.extend({
         this.doLayout();\r
 \r
         $(document).keydown(this.setKeyFocus);\r
+\r
+        // Confirmation require to leave the page\r
+        window.onbeforeunload = function () {\r
+            if (kiwi.gateway.isConnected()) {\r
+                return 'This will close all KiwiIRC conversations. Are you sure you want to close this window?';\r
+            }\r
+        };\r
     },\r
 \r
 \r