client/js/renderer/scene.js
changeset 555 49daeea94e88
parent 554 32c7378d1c28
child 557 18c36f038e9f
--- a/client/js/renderer/scene.js	Tue Sep 29 18:47:11 2015 +0200
+++ b/client/js/renderer/scene.js	Wed Sep 30 16:32:21 2015 +0200
@@ -1,7 +1,7 @@
 
-define(['jquery', 'underscore', 'filesaver', 'requtils', 'renderer/miniframe'], function ($, _, filesaver, requtils, MiniFrame) {
+define(['jquery', 'underscore', 'filesaver', 'requtils', 'renderer/miniframe', 'screenfull'], function ($, _, filesaver, requtils, MiniFrame, Screenfull) {
     'use strict';
-
+    
     var Utils = requtils.getUtils();
 
     /* Scene Begin */
@@ -240,6 +240,14 @@
         this.$.find(".Rk-Users").mouseleave(
                 function() { _this.$.find(".Rk-UserList").slideUp(); }
         );
+        
+        if (Screenfull.enabled){
+            bindClick(".Rk-FullScreen-Button", "fullScreen");
+        } else {
+            this.$.find(".Rk-FullScreen-Button").addClass("disabled");
+            this.$.find(".Rk-FullScreen-Button .Rk-TopBar-Tooltip-Contents").html(this.renkan.translate("Fullscreen not supported by your browser"));
+        }
+        
         bindClick(".Rk-FullScreen-Button", "fullScreen");
         bindClick(".Rk-AddNode-Button", "addNodeBtn");
         bindClick(".Rk-AddEdge-Button", "addEdgeBtn");
@@ -1103,18 +1111,9 @@
             }
         },
         fullScreen: function() {
-            var _isFull = document.fullScreen || document.mozFullScreen || document.webkitIsFullScreen,
-                _el = this.renkan.$[0],
-                _requestMethods = ["requestFullScreen","mozRequestFullScreen","webkitRequestFullScreen"],
-                _cancelMethods = ["cancelFullScreen","mozCancelFullScreen","webkitCancelFullScreen"],
-                i;
-            if (_isFull) {
-                for (i = 0; i < _cancelMethods.length; i++) {
-                    if (typeof document[_cancelMethods[i]] === "function") {
-                        document[_cancelMethods[i]]();
-                        break;
-                    }
-                }
+            if (Screenfull.isFullscreen) {
+                Screenfull.exit();
+            
                 var widthAft = this.$.width();
                 var heightAft = this.$.height();
 
@@ -1128,12 +1127,8 @@
                 paper.view.viewSize = new paper.Size([widthAft, heightAft]);
 
             } else {
-                for (i = 0; i < _requestMethods.length; i++) {
-                    if (typeof _el[_requestMethods[i]] === "function") {
-                        _el[_requestMethods[i]]();
-                        break;
-                    }
-                }
+                Screenfull.request();
+                
                 this.redraw();
             }
         },