@internetarchive/bookreader 5.0.0-88-alpha.11 → 5.0.0-89
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BookReader/BookReader.css +17 -3
- package/BookReader/BookReader.js +1 -1
- package/BookReader/BookReader.js.map +1 -1
- package/BookReader/ia-bookreader-bundle.js +87 -108
- package/BookReader/ia-bookreader-bundle.js.map +1 -1
- package/BookReader/plugins/plugin.archive_analytics.js +1 -1
- package/BookReader/plugins/plugin.archive_analytics.js.map +1 -1
- package/BookReader/plugins/plugin.autoplay.js +1 -1
- package/BookReader/plugins/plugin.autoplay.js.map +1 -1
- package/BookReader/plugins/plugin.iiif.js +1 -1
- package/BookReader/plugins/plugin.iiif.js.map +1 -1
- package/BookReader/plugins/plugin.resume.js +1 -1
- package/BookReader/plugins/plugin.resume.js.map +1 -1
- package/BookReader/plugins/plugin.search.js +1 -1
- package/BookReader/plugins/plugin.search.js.map +1 -1
- package/BookReader/plugins/plugin.text_selection.js +1 -1
- package/BookReader/plugins/plugin.text_selection.js.map +1 -1
- package/BookReader/plugins/plugin.tts.js +1 -1
- package/BookReader/plugins/plugin.tts.js.map +1 -1
- package/BookReader/plugins/plugin.url.js +1 -1
- package/BookReader/plugins/plugin.url.js.map +1 -1
- package/CHANGELOG.md +14 -0
- package/babel.config.js +12 -30
- package/codecov.yml +1 -1
- package/jsconfig.json +1 -3
- package/package.json +14 -16
- package/src/BookNavigator/search/search-results.js +1 -1
- package/src/BookReader/ImageCache.js +48 -15
- package/src/BookReader/Mode1UpLit.js +56 -86
- package/src/BookReader/Mode2UpLit.js +5 -5
- package/src/BookReader/Navbar/Navbar.js +53 -11
- package/src/BookReader/PageContainer.js +41 -22
- package/src/BookReader/options.js +27 -3
- package/src/BookReader/utils.js +10 -0
- package/src/BookReader.js +120 -21
- package/src/BookReaderPlugin.js +44 -0
- package/src/css/_BRnav.scss +0 -3
- package/src/css/_BRpages.scss +21 -2
- package/src/css/_controls.scss +4 -0
- package/src/plugins/plugin.archive_analytics.js +84 -78
- package/src/plugins/plugin.autoplay.js +98 -102
- package/src/plugins/plugin.chapters.js +17 -22
- package/src/plugins/plugin.iiif.js +16 -30
- package/src/plugins/plugin.resume.js +54 -51
- package/src/plugins/plugin.text_selection.js +68 -76
- package/src/plugins/tts/AbstractTTSEngine.js +2 -4
- package/src/plugins/tts/PageChunk.js +5 -9
- package/src/plugins/tts/PageChunkIterator.js +3 -5
- package/src/plugins/tts/plugin.tts.js +309 -329
- package/src/plugins/url/plugin.url.js +1 -1
- package/src/util/strings.js +1 -0
- package/tests/e2e/autoplay.test.js +8 -5
- package/tests/e2e/helpers/base.js +2 -2
- package/tests/e2e/helpers/mockSearch.js +6 -9
- package/tests/jest/BookReader/Navbar/Navbar.test.js +16 -3
- package/tests/jest/BookReader/PageContainer.test.js +96 -55
- package/tests/jest/BookReader/utils.test.js +21 -0
- package/tests/jest/BookReader.test.js +13 -12
- package/tests/jest/plugins/plugin.archive_analytics.test.js +8 -11
- package/tests/jest/plugins/plugin.autoplay.test.js +9 -22
- package/tests/jest/plugins/plugin.resume.test.js +19 -32
- package/tests/jest/plugins/plugin.text_selection.test.js +23 -24
- package/dist/esm/BookNavigator/assets/bookmark-colors.js +0 -4
- package/dist/esm/BookNavigator/assets/button-base.js +0 -4
- package/dist/esm/BookNavigator/assets/ia-logo.js +0 -4
- package/dist/esm/BookNavigator/assets/icon_checkmark.js +0 -8
- package/dist/esm/BookNavigator/assets/icon_close.js +0 -4
- package/dist/esm/BookNavigator/book-navigator.js +0 -612
- package/dist/esm/BookNavigator/bookmarks/bookmark-button.js +0 -35
- package/dist/esm/BookNavigator/bookmarks/bookmark-edit.js +0 -78
- package/dist/esm/BookNavigator/bookmarks/bookmarks-list.js +0 -160
- package/dist/esm/BookNavigator/bookmarks/bookmarks-loginCTA.js +0 -24
- package/dist/esm/BookNavigator/bookmarks/bookmarks-provider.js +0 -55
- package/dist/esm/BookNavigator/bookmarks/ia-bookmarks.js +0 -521
- package/dist/esm/BookNavigator/delete-modal-actions.js +0 -29
- package/dist/esm/BookNavigator/downloads/downloads-provider.js +0 -84
- package/dist/esm/BookNavigator/downloads/downloads.js +0 -69
- package/dist/esm/BookNavigator/search/search-provider.js +0 -238
- package/dist/esm/BookNavigator/search/search-results.js +0 -161
- package/dist/esm/BookNavigator/sharing.js +0 -26
- package/dist/esm/BookNavigator/viewable-files.js +0 -94
- package/dist/esm/BookNavigator/visual-adjustments/visual-adjustments-provider.js +0 -83
- package/dist/esm/BookNavigator/visual-adjustments/visual-adjustments.js +0 -131
- package/dist/esm/BookReader/BookModel.js +0 -575
- package/dist/esm/BookReader/DragScrollable.js +0 -224
- package/dist/esm/BookReader/ImageCache.js +0 -122
- package/dist/esm/BookReader/Mode1Up.js +0 -114
- package/dist/esm/BookReader/Mode1UpLit.js +0 -579
- package/dist/esm/BookReader/Mode2Up.js +0 -106
- package/dist/esm/BookReader/Mode2UpLit.js +0 -1020
- package/dist/esm/BookReader/ModeCoordinateSpace.js +0 -28
- package/dist/esm/BookReader/ModeSmoothZoom.js +0 -318
- package/dist/esm/BookReader/ModeThumb.js +0 -366
- package/dist/esm/BookReader/Navbar/Navbar.js +0 -253
- package/dist/esm/BookReader/PageContainer.js +0 -165
- package/dist/esm/BookReader/ReduceSet.js +0 -27
- package/dist/esm/BookReader/Toolbar/Toolbar.js +0 -242
- package/dist/esm/BookReader/events.js +0 -20
- package/dist/esm/BookReader/options.js +0 -331
- package/dist/esm/BookReader/utils/HTMLDimensionsCacher.js +0 -48
- package/dist/esm/BookReader/utils/ScrollClassAdder.js +0 -31
- package/dist/esm/BookReader/utils/SelectionObserver.js +0 -42
- package/dist/esm/BookReader/utils/classes.js +0 -37
- package/dist/esm/BookReader/utils.js +0 -315
- package/dist/esm/BookReader.js +0 -1828
- package/dist/esm/assets/icons/1up.svg +0 -12
- package/dist/esm/assets/icons/2up.svg +0 -15
- package/dist/esm/assets/icons/advance.svg +0 -26
- package/dist/esm/assets/icons/chevron-right.svg +0 -1
- package/dist/esm/assets/icons/close-circle-dark.svg +0 -1
- package/dist/esm/assets/icons/close-circle.svg +0 -1
- package/dist/esm/assets/icons/fullscreen.svg +0 -17
- package/dist/esm/assets/icons/fullscreen_exit.svg +0 -17
- package/dist/esm/assets/icons/hamburger.svg +0 -15
- package/dist/esm/assets/icons/left-arrow.svg +0 -12
- package/dist/esm/assets/icons/magnify-minus.svg +0 -12
- package/dist/esm/assets/icons/magnify-plus.svg +0 -13
- package/dist/esm/assets/icons/magnify.svg +0 -15
- package/dist/esm/assets/icons/pause.svg +0 -23
- package/dist/esm/assets/icons/play.svg +0 -22
- package/dist/esm/assets/icons/playback-speed.svg +0 -34
- package/dist/esm/assets/icons/read-aloud.svg +0 -22
- package/dist/esm/assets/icons/review.svg +0 -22
- package/dist/esm/assets/icons/thumbnails.svg +0 -17
- package/dist/esm/assets/icons/voice.svg +0 -1
- package/dist/esm/assets/icons/volume-full.svg +0 -22
- package/dist/esm/assets/images/BRicons.png +0 -0
- package/dist/esm/assets/images/BRicons.svg +0 -94
- package/dist/esm/assets/images/BRicons_ia.png +0 -0
- package/dist/esm/assets/images/back_pages.png +0 -0
- package/dist/esm/assets/images/book_bottom_icon.png +0 -0
- package/dist/esm/assets/images/book_down_icon.png +0 -0
- package/dist/esm/assets/images/book_left_icon.png +0 -0
- package/dist/esm/assets/images/book_leftmost_icon.png +0 -0
- package/dist/esm/assets/images/book_right_icon.png +0 -0
- package/dist/esm/assets/images/book_rightmost_icon.png +0 -0
- package/dist/esm/assets/images/book_top_icon.png +0 -0
- package/dist/esm/assets/images/book_up_icon.png +0 -0
- package/dist/esm/assets/images/books_graphic.svg +0 -177
- package/dist/esm/assets/images/booksplit.png +0 -0
- package/dist/esm/assets/images/control_pause_icon.png +0 -0
- package/dist/esm/assets/images/control_play_icon.png +0 -0
- package/dist/esm/assets/images/embed_icon.png +0 -0
- package/dist/esm/assets/images/icon-home-ia.png +0 -0
- package/dist/esm/assets/images/icon_OL-logo-xs.png +0 -0
- package/dist/esm/assets/images/icon_alert-xs.png +0 -0
- package/dist/esm/assets/images/icon_book.svg +0 -12
- package/dist/esm/assets/images/icon_bookmark.svg +0 -12
- package/dist/esm/assets/images/icon_close-pop.png +0 -0
- package/dist/esm/assets/images/icon_download.png +0 -0
- package/dist/esm/assets/images/icon_gear.svg +0 -14
- package/dist/esm/assets/images/icon_hamburger.svg +0 -20
- package/dist/esm/assets/images/icon_home.png +0 -0
- package/dist/esm/assets/images/icon_home.svg +0 -21
- package/dist/esm/assets/images/icon_home_ia.png +0 -0
- package/dist/esm/assets/images/icon_indicator.png +0 -0
- package/dist/esm/assets/images/icon_info.svg +0 -11
- package/dist/esm/assets/images/icon_one_page.svg +0 -8
- package/dist/esm/assets/images/icon_pause.svg +0 -1
- package/dist/esm/assets/images/icon_play.svg +0 -1
- package/dist/esm/assets/images/icon_playback-rate.svg +0 -15
- package/dist/esm/assets/images/icon_return.png +0 -0
- package/dist/esm/assets/images/icon_search_button.svg +0 -8
- package/dist/esm/assets/images/icon_share.svg +0 -9
- package/dist/esm/assets/images/icon_skip-ahead.svg +0 -6
- package/dist/esm/assets/images/icon_skip-back.svg +0 -13
- package/dist/esm/assets/images/icon_speaker.svg +0 -18
- package/dist/esm/assets/images/icon_speaker_open.svg +0 -10
- package/dist/esm/assets/images/icon_thumbnails.svg +0 -12
- package/dist/esm/assets/images/icon_toc.svg +0 -5
- package/dist/esm/assets/images/icon_two_pages.svg +0 -9
- package/dist/esm/assets/images/icon_zoomer.png +0 -0
- package/dist/esm/assets/images/loading.gif +0 -0
- package/dist/esm/assets/images/logo_icon.png +0 -0
- package/dist/esm/assets/images/marker_chap-off.png +0 -0
- package/dist/esm/assets/images/marker_chap-off.svg +0 -11
- package/dist/esm/assets/images/marker_chap-off_ia.png +0 -0
- package/dist/esm/assets/images/marker_chap-on.png +0 -0
- package/dist/esm/assets/images/marker_chap-on.svg +0 -11
- package/dist/esm/assets/images/marker_srch-on.svg +0 -11
- package/dist/esm/assets/images/marker_srchchap-off.png +0 -0
- package/dist/esm/assets/images/marker_srchchap-on.png +0 -0
- package/dist/esm/assets/images/nav_control-dn.png +0 -0
- package/dist/esm/assets/images/nav_control-dn_ia.png +0 -0
- package/dist/esm/assets/images/nav_control-up.png +0 -0
- package/dist/esm/assets/images/nav_control-up_ia.png +0 -0
- package/dist/esm/assets/images/nav_control.png +0 -0
- package/dist/esm/assets/images/one_page_mode_icon.png +0 -0
- package/dist/esm/assets/images/paper-badge.png +0 -0
- package/dist/esm/assets/images/print_icon.png +0 -0
- package/dist/esm/assets/images/progressbar.gif +0 -0
- package/dist/esm/assets/images/right_edges.png +0 -0
- package/dist/esm/assets/images/slider.png +0 -0
- package/dist/esm/assets/images/slider_ia.png +0 -0
- package/dist/esm/assets/images/thumbnail_mode_icon.png +0 -0
- package/dist/esm/assets/images/transparent.png +0 -0
- package/dist/esm/assets/images/two_page_mode_icon.png +0 -0
- package/dist/esm/assets/images/unviewable_page.png +0 -0
- package/dist/esm/assets/images/zoom_in_icon.png +0 -0
- package/dist/esm/assets/images/zoom_out_icon.png +0 -0
- package/dist/esm/css/BookReader.scss +0 -85
- package/dist/esm/css/_BRBookmarks.scss +0 -29
- package/dist/esm/css/_BRComponent.scss +0 -13
- package/dist/esm/css/_BRfloat.scss +0 -197
- package/dist/esm/css/_BRicon.scss +0 -54
- package/dist/esm/css/_BRmain.scss +0 -262
- package/dist/esm/css/_BRnav.scss +0 -354
- package/dist/esm/css/_BRpages.scss +0 -213
- package/dist/esm/css/_BRsearch.scss +0 -268
- package/dist/esm/css/_BRtoolbar.scss +0 -84
- package/dist/esm/css/_BRvendor.scss +0 -5
- package/dist/esm/css/_TextSelection.scss +0 -108
- package/dist/esm/css/_colorbox.scss +0 -52
- package/dist/esm/css/_controls.scss +0 -257
- package/dist/esm/css/_icons.scss +0 -121
- package/dist/esm/ia-bookreader/ia-bookreader.js +0 -141
- package/dist/esm/jquery-wrapper.js +0 -3
- package/dist/esm/plugins/plugin.archive_analytics.js +0 -72
- package/dist/esm/plugins/plugin.autoplay.js +0 -119
- package/dist/esm/plugins/plugin.chapters.js +0 -288
- package/dist/esm/plugins/plugin.iframe.js +0 -44
- package/dist/esm/plugins/plugin.iiif.js +0 -146
- package/dist/esm/plugins/plugin.resume.js +0 -66
- package/dist/esm/plugins/plugin.text_selection.js +0 -621
- package/dist/esm/plugins/plugin.vendor-fullscreen.js +0 -227
- package/dist/esm/plugins/search/plugin.search.js +0 -499
- package/dist/esm/plugins/search/utils.js +0 -42
- package/dist/esm/plugins/search/view.js +0 -360
- package/dist/esm/plugins/tts/AbstractTTSEngine.js +0 -282
- package/dist/esm/plugins/tts/FestivalTTSEngine.js +0 -192
- package/dist/esm/plugins/tts/PageChunk.js +0 -105
- package/dist/esm/plugins/tts/PageChunkIterator.js +0 -155
- package/dist/esm/plugins/tts/WebTTSEngine.js +0 -364
- package/dist/esm/plugins/tts/plugin.tts.js +0 -315
- package/dist/esm/plugins/tts/tooltip_dict.js +0 -14
- package/dist/esm/plugins/tts/utils.js +0 -79
- package/dist/esm/plugins/url/UrlPlugin.js +0 -197
- package/dist/esm/plugins/url/plugin.url.js +0 -212
- package/dist/esm/util/browserSniffing.js +0 -56
- package/dist/esm/util/debouncer.js +0 -25
- package/dist/esm/util/docCookies.js +0 -75
- package/dist/esm/util/strings.js +0 -34
- package/index.js +0 -2
@@ -1,227 +0,0 @@
|
|
1
|
-
/* global BookReader */
|
2
|
-
|
3
|
-
/**
|
4
|
-
* Toggles browser's native fullscreen mode if available device is not mobile
|
5
|
-
*/
|
6
|
-
if (!isMobile()) {
|
7
|
-
var EVENT_NAMESPACE = '.bookreader_vendor-fullscreen';
|
8
|
-
jQuery.extend(BookReader.defaultOptions, {
|
9
|
-
/** @type {boolean} */
|
10
|
-
enableVendorFullscreenPlugin: true
|
11
|
-
});
|
12
|
-
|
13
|
-
/** @override */
|
14
|
-
BookReader.prototype.setup = function (super_) {
|
15
|
-
return function (options) {
|
16
|
-
super_.call(this, options);
|
17
|
-
this.isVendorFullscreenActive = false;
|
18
|
-
};
|
19
|
-
}(BookReader.prototype.setup);
|
20
|
-
|
21
|
-
/** @override */
|
22
|
-
BookReader.prototype.getInitialMode = function (super_) {
|
23
|
-
return function (params) {
|
24
|
-
var nextMode = super_.call(this, params);
|
25
|
-
if (this.isVendorFullscreenActive) {
|
26
|
-
nextMode = this.constMode1up;
|
27
|
-
}
|
28
|
-
return nextMode;
|
29
|
-
};
|
30
|
-
}(BookReader.prototype.getInitialMode);
|
31
|
-
|
32
|
-
/** @override */
|
33
|
-
BookReader.prototype.init = function (super_) {
|
34
|
-
return function () {
|
35
|
-
super_.call(this);
|
36
|
-
if (!fullscreenAllowed()) {
|
37
|
-
return;
|
38
|
-
}
|
39
|
-
// In fullscreen mode the colorbox and overlay need to be inside the fullscreen element to display properly.
|
40
|
-
bindFullscreenChangeListener(this, e => {
|
41
|
-
e.data.resize();
|
42
|
-
e.data.updateBrClasses();
|
43
|
-
var cboxOverlay = $('#cboxOverlay');
|
44
|
-
var cbox = $('#colorbox');
|
45
|
-
if (isFullscreenActive()) {
|
46
|
-
// In full screen mode, the colorbox and overlay need
|
47
|
-
// to be children of the fullscreen element to display properly.
|
48
|
-
var $fullscreen = $(getFullscreenElement());
|
49
|
-
$fullscreen.append(cboxOverlay).append(cbox);
|
50
|
-
} else {
|
51
|
-
// In non-fullscreen mode, the colorbox and overlay need
|
52
|
-
// to be children of the main document body.
|
53
|
-
$(document.body).append(cboxOverlay).append(cbox);
|
54
|
-
}
|
55
|
-
});
|
56
|
-
};
|
57
|
-
}(BookReader.prototype.init);
|
58
|
-
|
59
|
-
/**
|
60
|
-
* Start fullscreen mode
|
61
|
-
*/
|
62
|
-
BookReader.prototype.enterFullWindow = function () {
|
63
|
-
this.refs.$brContainer.css('opacity', 0);
|
64
|
-
var windowWidth = $(window).width();
|
65
|
-
if (windowWidth <= this.onePageMinBreakpoint) {
|
66
|
-
this.switchMode(this.constMode1up);
|
67
|
-
}
|
68
|
-
this.isVendorFullscreenActive = true;
|
69
|
-
this.updateBrClasses();
|
70
|
-
this.resize();
|
71
|
-
this.jumpToIndex(this.currentIndex());
|
72
|
-
this.refs.$brContainer.animate({
|
73
|
-
opacity: 1
|
74
|
-
}, 400, 'linear');
|
75
|
-
$(document).on("keyup.".concat(EVENT_NAMESPACE), e => {
|
76
|
-
if (e.keyCode === 27) this.exitFullScreen();
|
77
|
-
});
|
78
|
-
};
|
79
|
-
|
80
|
-
/**
|
81
|
-
* Exit from fullscreen mode
|
82
|
-
*/
|
83
|
-
BookReader.prototype.exitFullWindow = function () {
|
84
|
-
this.refs.$brContainer.css('opacity', 0);
|
85
|
-
$(document).off('keyup' + EVENT_NAMESPACE);
|
86
|
-
this.isFullscreenActive = false;
|
87
|
-
this.updateBrClasses();
|
88
|
-
this.resize();
|
89
|
-
this.refs.$brContainer.animate({
|
90
|
-
opacity: 1
|
91
|
-
}, 400, 'linear');
|
92
|
-
};
|
93
|
-
|
94
|
-
/**
|
95
|
-
* Returns true if fullscreen mode is enabled
|
96
|
-
*
|
97
|
-
* @returns {boolean}
|
98
|
-
*/
|
99
|
-
BookReader.prototype.isFullscreen = function () {
|
100
|
-
return isFullscreenActive() || this.isVendorFullscreenActive;
|
101
|
-
};
|
102
|
-
|
103
|
-
/**
|
104
|
-
* Toggle screen
|
105
|
-
*/
|
106
|
-
BookReader.prototype.toggleFullscreen = function () {
|
107
|
-
if (this.isFullscreen()) {
|
108
|
-
if (fullscreenAllowed()) {
|
109
|
-
exitFullscreen();
|
110
|
-
} else {
|
111
|
-
this.exitFullWindow();
|
112
|
-
}
|
113
|
-
} else {
|
114
|
-
if (fullscreenAllowed()) {
|
115
|
-
requestFullscreen(this.refs.$br[0]);
|
116
|
-
} else {
|
117
|
-
this.enterFullWindow();
|
118
|
-
}
|
119
|
-
}
|
120
|
-
};
|
121
|
-
|
122
|
-
/** @deprecated */
|
123
|
-
BookReader.util.isMobile = isMobile;
|
124
|
-
|
125
|
-
/** @deprecated */
|
126
|
-
BookReader.util.getFullscreenElement = getFullscreenElement;
|
127
|
-
|
128
|
-
/** @deprecated */
|
129
|
-
BookReader.util.bindFullscreenChangeListener = bindFullscreenChangeListener;
|
130
|
-
|
131
|
-
/** @deprecated */
|
132
|
-
BookReader.util.fullscreenAllowed = fullscreenAllowed;
|
133
|
-
|
134
|
-
/** @deprecated */
|
135
|
-
BookReader.util.requestFullscreen = requestFullscreen;
|
136
|
-
|
137
|
-
/** @deprecated */
|
138
|
-
BookReader.util.exitFullscreen = exitFullscreen;
|
139
|
-
|
140
|
-
/** @deprecated */
|
141
|
-
BookReader.util.isFullscreenActive = isFullscreenActive;
|
142
|
-
}
|
143
|
-
|
144
|
-
/**
|
145
|
-
* Returns the DOM element being used for fullscreen.
|
146
|
-
*
|
147
|
-
* @returns {HTMLElement}
|
148
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/DocumentOrShadowRoot/fullscreenElement
|
149
|
-
*/
|
150
|
-
export function getFullscreenElement() {
|
151
|
-
return document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement;
|
152
|
-
}
|
153
|
-
|
154
|
-
/**
|
155
|
-
* Returns true if the document is in fullscreen mode.
|
156
|
-
*
|
157
|
-
* @returns {boolean}
|
158
|
-
*/
|
159
|
-
export function isFullscreenActive() {
|
160
|
-
var fullscreenElement = getFullscreenElement();
|
161
|
-
return fullscreenElement !== null && fullscreenElement !== undefined;
|
162
|
-
}
|
163
|
-
|
164
|
-
/**
|
165
|
-
* Exits fullscreen mode.
|
166
|
-
*
|
167
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/Document/exitFullscreen
|
168
|
-
*/
|
169
|
-
export function exitFullscreen() {
|
170
|
-
if (document.exitFullscreen) {
|
171
|
-
document.exitFullscreen();
|
172
|
-
} else if (document.webkitExitFullscreen) {
|
173
|
-
document.webkitExitFullscreen();
|
174
|
-
} else if (document.mozCancelFullScreen) {
|
175
|
-
document.mozCancelFullScreen();
|
176
|
-
} else if (document.msExitFullscreen) {
|
177
|
-
document.msExitFullscreen();
|
178
|
-
}
|
179
|
-
}
|
180
|
-
|
181
|
-
/**
|
182
|
-
* Requests fullscreen mode for the given element
|
183
|
-
*
|
184
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullscreen
|
185
|
-
*/
|
186
|
-
export function requestFullscreen(element) {
|
187
|
-
if (element.requestFullscreen) {
|
188
|
-
element.requestFullscreen();
|
189
|
-
} else if (element.webkitRequestFullscreen) {
|
190
|
-
element.webkitRequestFullscreen();
|
191
|
-
} else if (element.mozRequestFullScreen) {
|
192
|
-
element.mozRequestFullScreen();
|
193
|
-
} else if (element.msRequestFullscreen) {
|
194
|
-
element.msRequestFullscreen();
|
195
|
-
}
|
196
|
-
}
|
197
|
-
|
198
|
-
/**
|
199
|
-
* Returns true if fullscreen mode is allowed on this device and document.
|
200
|
-
*
|
201
|
-
* @returns {boolean}
|
202
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/Document/fullscreenEnabled
|
203
|
-
*/
|
204
|
-
export function fullscreenAllowed() {
|
205
|
-
return document.fullscreenEnabled || document.webkitFullscreenEnabled || document.mozFullScreenEnabled || document.msFullScreenEnabled;
|
206
|
-
}
|
207
|
-
|
208
|
-
/**
|
209
|
-
* jQuery-style binding to a fullscreenchange event.
|
210
|
-
*
|
211
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/Document/fullscreenchange_event
|
212
|
-
*/
|
213
|
-
export function bindFullscreenChangeListener(data, fullscreenchangeListener) {
|
214
|
-
var event = 'fullscreenchange ';
|
215
|
-
var vendor_prefixes = ['webkit', 'moz', 'ms'];
|
216
|
-
var all_events = (event + vendor_prefixes.join(event) + event).trim();
|
217
|
-
$(document).on(all_events, data, fullscreenchangeListener);
|
218
|
-
}
|
219
|
-
|
220
|
-
/**
|
221
|
-
* Returns true if current device is mobile
|
222
|
-
*
|
223
|
-
* @returns {boolean}
|
224
|
-
*/
|
225
|
-
export function isMobile() {
|
226
|
-
return typeof window.orientation !== 'undefined' || navigator.userAgent.indexOf('IEMobile') !== -1;
|
227
|
-
}
|