瀏覽代碼

Moves full screen functions in UIUtil

j8
yanas 8 年之前
父節點
當前提交
26ff54366b
共有 2 個檔案被更改,包括 51 行新增40 行删除
  1. 5
    34
      modules/UI/UI.js
  2. 46
    6
      modules/UI/util/UIUtil.js

+ 5
- 34
modules/UI/UI.js 查看文件

@@ -140,36 +140,11 @@ function setupToolbars() {
140 140
 /**
141 141
  * Toggles the application in and out of full screen mode
142 142
  * (a.k.a. presentation mode in Chrome).
143
- * @see https://developer.mozilla.org/en-US/docs/Web/API/Fullscreen_API
144 143
  */
145 144
 UI.toggleFullScreen = function() {
146
-    let isFullScreen = document.fullscreenElement
147
-            || document.mozFullScreenElement // current working methods
148
-            || document.webkitFullscreenElement
149
-            || document.msFullscreenElement;
150
-
151
-    if (isFullScreen) {
152
-        if (document.exitFullscreen) {
153
-            document.exitFullscreen();
154
-        } else if (document.msExitFullscreen) {
155
-            document.msExitFullscreen();
156
-        } else if (document.mozCancelFullScreen) {
157
-            document.mozCancelFullScreen();
158
-        } else if (document.webkitExitFullscreen) {
159
-            document.webkitExitFullscreen();
160
-        }
161
-    } else {
162
-        if (document.documentElement.requestFullscreen) {
163
-            document.documentElement.requestFullscreen();
164
-        } else if (document.documentElement.msRequestFullscreen) {
165
-            document.documentElement.msRequestFullscreen();
166
-        } else if (document.documentElement.mozRequestFullScreen) {
167
-            document.documentElement.mozRequestFullScreen();
168
-        } else if (document.documentElement.webkitRequestFullscreen) {
169
-            document.documentElement
170
-                .webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
171
-        }
172
-    }
145
+    (UIUtil.isFullScreen())
146
+        ? UIUtil.exitFullScreen()
147
+        : UIUtil.enterFullScreen();
173 148
 };
174 149
 
175 150
 /**
@@ -415,12 +390,8 @@ function bindEvents() {
415 390
     $(document).on(
416 391
         'webkitfullscreenchange mozfullscreenchange fullscreenchange',
417 392
         () => {
418
-            let isFullScreen = document.fullscreenElement
419
-                || document.mozFullScreenElement
420
-                || document.webkitFullscreenElement
421
-                || document.msFullscreenElement;
422
-
423
-            eventEmitter.emit(UIEvents.FULLSCREEN_TOGGLED, isFullScreen);
393
+            eventEmitter.emit(  UIEvents.FULLSCREEN_TOGGLED,
394
+                                UIUtil.isFullScreen());
424 395
 
425 396
             onResize();
426 397
         }

+ 46
- 6
modules/UI/util/UIUtil.js 查看文件

@@ -240,13 +240,53 @@ const TOOLTIP_POSITIONS = {
240 240
          window.location.href = url;
241 241
     },
242 242
 
243
-     isFullScreen () {
244
-         return document.fullScreen
245
-             || document.mozFullScreen
246
-             || document.webkitIsFullScreen;
247
-     },
243
+    /**
244
+     * Indicates if we're currently in full screen mode.
245
+     *
246
+     * @return {boolean} {true} to indicate that we're currently in full screen
247
+     * mode, {false} otherwise
248
+     */
249
+    isFullScreen() {
250
+        return document.fullscreenElement
251
+            || document.mozFullScreenElement
252
+            || document.webkitFullscreenElement
253
+            || document.msFullscreenElement;
254
+    },
255
+
256
+    /**
257
+     * Exits full screen mode.
258
+     * @see https://developer.mozilla.org/en-US/docs/Web/API/Fullscreen_API
259
+     */
260
+    exitFullScreen() {
261
+        if (document.exitFullscreen) {
262
+            document.exitFullscreen();
263
+        } else if (document.msExitFullscreen) {
264
+            document.msExitFullscreen();
265
+        } else if (document.mozCancelFullScreen) {
266
+            document.mozCancelFullScreen();
267
+        } else if (document.webkitExitFullscreen) {
268
+            document.webkitExitFullscreen();
269
+        }
270
+    },
271
+
272
+    /**
273
+     * Enter full screen mode.
274
+     * @see https://developer.mozilla.org/en-US/docs/Web/API/Fullscreen_API
275
+     */
276
+    enterFullScreen() {
277
+        if (document.documentElement.requestFullscreen) {
278
+            document.documentElement.requestFullscreen();
279
+        } else if (document.documentElement.msRequestFullscreen) {
280
+            document.documentElement.msRequestFullscreen();
281
+        } else if (document.documentElement.mozRequestFullScreen) {
282
+            document.documentElement.mozRequestFullScreen();
283
+        } else if (document.documentElement.webkitRequestFullscreen) {
284
+            document.documentElement
285
+                .webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
286
+        }
287
+    },
248 288
 
249
-     /**
289
+    /**
250 290
       * Create html attributes string out of object properties.
251 291
       * @param {Object} attrs object with properties
252 292
       * @returns {String} string of html element attributes

Loading…
取消
儲存