mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
fix video player time display
This commit is contained in:
parent
e88f66812d
commit
939e545723
21 changed files with 149 additions and 115 deletions
|
@ -552,6 +552,13 @@ To change the drawer container when it's in the right side:
|
|||
this._setPeeking(false);
|
||||
}
|
||||
|
||||
var dy = event.detail.dy;
|
||||
var absDy = Math.abs(dy);
|
||||
|
||||
if (absDy >= 70) {
|
||||
// Ignore trackx until we move past the edge peek.
|
||||
return;
|
||||
}
|
||||
this._moveDrawer(this._translateXForDeltaX(dx));
|
||||
}
|
||||
},
|
||||
|
@ -565,10 +572,14 @@ To change the drawer container when it's in the right side:
|
|||
sharedPanel = null;
|
||||
this._moveDrawer(null);
|
||||
|
||||
var dx = event.detail.dx;
|
||||
var dy = event.detail.dy;
|
||||
var absDy = Math.abs(dy);
|
||||
|
||||
if (this.rightDrawer) {
|
||||
this[xDirection ? 'closeDrawer' : 'openDrawer']();
|
||||
} else {
|
||||
this[xDirection || event.detail.dx > -80 ? 'openDrawer' : 'closeDrawer']();
|
||||
this[xDirection || dx > -80 || absDy >= 70 ? 'openDrawer' : 'closeDrawer']();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
13
dashboard-ui/cordova/android/mediasession.js
vendored
13
dashboard-ui/cordova/android/mediasession.js
vendored
|
@ -3,9 +3,12 @@
|
|||
// Reports media playback to the device for lock screen control
|
||||
|
||||
var currentPlayer;
|
||||
var lastPlayerState;
|
||||
var lastUpdateTime = 0;
|
||||
|
||||
function allowLocalPlayer() {
|
||||
return false;
|
||||
}
|
||||
|
||||
function updatePlayerState(state, eventName) {
|
||||
|
||||
if (!state.NowPlayingItem) {
|
||||
|
@ -16,7 +19,7 @@
|
|||
var isLocalPlayer = MediaController.getPlayerInfo().isLocalPlayer || false;
|
||||
|
||||
// Local players do their own notifications
|
||||
if (isLocalPlayer) {
|
||||
if (isLocalPlayer && !allowLocalPlayer()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -25,8 +28,6 @@
|
|||
eventName = 'positionchange';
|
||||
}
|
||||
|
||||
lastPlayerState = state;
|
||||
|
||||
var playState = state.PlayState || {};
|
||||
|
||||
var nameHtml = MediaController.getNowPlayingNameHtml(state.NowPlayingItem) || '';
|
||||
|
@ -135,6 +136,10 @@
|
|||
|
||||
releaseCurrentPlayer();
|
||||
|
||||
if (player.isLocalPlayer && !allowLocalPlayer()) {
|
||||
return;
|
||||
}
|
||||
|
||||
currentPlayer = player;
|
||||
|
||||
console.log('binding remotecontrols to MediaPlayer');
|
||||
|
|
7
dashboard-ui/cordova/android/vlcplayer.js
vendored
7
dashboard-ui/cordova/android/vlcplayer.js
vendored
|
@ -120,9 +120,12 @@
|
|||
return false;
|
||||
};
|
||||
|
||||
self.destroy = function () {
|
||||
self.cleanup = function (destroyRenderer) {
|
||||
|
||||
if (destroyRenderer !== false) {
|
||||
AndroidVlcPlayer.destroyVlc();
|
||||
}
|
||||
|
||||
AndroidVlcPlayer.destroyVlc();
|
||||
playerState = {};
|
||||
};
|
||||
|
||||
|
|
|
@ -53,11 +53,17 @@
|
|||
position: fixed !important;
|
||||
bottom: 0;
|
||||
height: auto !important;
|
||||
/* Need to reset this because it causes the entire panel to be draggable in safari */
|
||||
box-sizing: initial !important;
|
||||
}
|
||||
|
||||
.verticalScrollingDrawer {
|
||||
overflow-y: auto !important;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
overflow-x: hidden;
|
||||
/* Need to reset this because it causes the entire panel to be draggable in safari */
|
||||
box-sizing: initial !important;
|
||||
}
|
||||
|
||||
.dragging .mainDrawerPanel #drawer {
|
||||
}
|
||||
|
||||
.mainDrawerPanel #main {
|
||||
|
|
|
@ -749,10 +749,6 @@ h1 .imageLink {
|
|||
padding-bottom: 160px;
|
||||
}
|
||||
|
||||
.dashboardPanel .ui-panel-inner {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.appLinks a {
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
|
|
@ -77,13 +77,4 @@
|
|||
.smallPosterTileItem {
|
||||
width: 30.5%;
|
||||
}
|
||||
}
|
||||
|
||||
.posterItemText {
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
text-wrap: none;
|
||||
white-space: nowrap;
|
||||
padding: 5px 4px 4px;
|
||||
font-weight: 400;
|
||||
}
|
||||
}
|
|
@ -4,7 +4,7 @@
|
|||
<title></title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="itemDetailPage" data-role="page" class="page libraryPage itemDetailPage" data-theme="b" data-require="scripts/itemdetailpage,paperbuttonstyle">
|
||||
<div id="itemDetailPage" data-role="page" class="page libraryPage itemDetailPage" data-theme="b" data-require="scripts/itemdetailpage,paperbuttonstyle,tileitemcss">
|
||||
|
||||
<div class="itemTabs homeTabs" style="display: none;">
|
||||
<div class="libraryViewNav scopedLibraryViewNav">
|
||||
|
|
|
@ -94,12 +94,6 @@
|
|||
setTimeout(function () {
|
||||
var dlg = document.getElementById(id);
|
||||
|
||||
if (options.visibleBackground) {
|
||||
$(dlg).on('iron-overlay-opened', function(e) {
|
||||
$('iron-overlay-backdrop').addClass('visibleBackground');
|
||||
});
|
||||
}
|
||||
|
||||
dlg.open();
|
||||
|
||||
// Has to be assigned a z-index after the call to .open()
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
(function (window, store) {
|
||||
(function (window) {
|
||||
|
||||
function update(key, val) {
|
||||
store.setItem(key, val);
|
||||
appStorage.setItem(key, val);
|
||||
|
||||
Events.trigger(AppSettings, 'settingupdated', [key]);
|
||||
}
|
||||
|
@ -14,7 +14,7 @@
|
|||
update('preferredVideoBitrate', val);
|
||||
}
|
||||
|
||||
return parseInt(store.getItem('preferredVideoBitrate') || '') || 1500000;
|
||||
return parseInt(appStorage.getItem('preferredVideoBitrate') || '') || 1500000;
|
||||
},
|
||||
maxChromecastBitrate: function (val) {
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
|||
update('chromecastBitrate', val);
|
||||
}
|
||||
|
||||
return parseInt(store.getItem('chromecastBitrate') || '') || 3000000;
|
||||
return parseInt(appStorage.getItem('chromecastBitrate') || '') || 3000000;
|
||||
},
|
||||
enableChromecastAc3: function (val) {
|
||||
|
||||
|
@ -30,7 +30,7 @@
|
|||
update('enablechromecastac3', val.toString());
|
||||
}
|
||||
|
||||
return store.getItem('enablechromecastac3') == 'true';
|
||||
return appStorage.getItem('enablechromecastac3') == 'true';
|
||||
},
|
||||
enableExternalPlayers: function (val) {
|
||||
|
||||
|
@ -38,7 +38,7 @@
|
|||
update('externalplayers', val.toString());
|
||||
}
|
||||
|
||||
return store.getItem('externalplayers') == 'true';
|
||||
return appStorage.getItem('externalplayers') == 'true';
|
||||
},
|
||||
enableItemPreviews: function (val) {
|
||||
|
||||
|
@ -46,7 +46,7 @@
|
|||
update('enableItemPreviews', val.toString());
|
||||
}
|
||||
|
||||
return store.getItem('enableItemPreviews') == 'true';
|
||||
return appStorage.getItem('enableItemPreviews') == 'true';
|
||||
},
|
||||
enableFullScreen: function (val) {
|
||||
|
||||
|
@ -54,7 +54,7 @@
|
|||
update('enableFullScreen', val.toString());
|
||||
}
|
||||
|
||||
return store.getItem('enableFullScreen') == 'true';
|
||||
return appStorage.getItem('enableFullScreen') == 'true';
|
||||
},
|
||||
syncPath: function (val) {
|
||||
|
||||
|
@ -62,10 +62,10 @@
|
|||
update('syncPath', val.toString());
|
||||
}
|
||||
|
||||
return store.getItem('syncPath');
|
||||
return appStorage.getItem('syncPath');
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
})(window, window.appStorage);
|
||||
})(window);
|
|
@ -423,6 +423,10 @@
|
|||
|
||||
});
|
||||
|
||||
}).on('pageinitdepends', ".metadataEditorPage", function () {
|
||||
|
||||
Dashboard.importCss('css/metadataeditor.css');
|
||||
|
||||
}).on('pagebeforehide', ".metadataEditorPage", function () {
|
||||
|
||||
var page = this;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
(function (window, store) {
|
||||
(function (window) {
|
||||
|
||||
function getDeviceProfile(serverAddress, deviceId, item, startPositionTicks, maxBitrate, mediaSourceId, audioStreamIndex, subtitleStreamIndex) {
|
||||
|
||||
|
@ -484,4 +484,4 @@
|
|||
showPlayerSelectionMenu: showPlayerSelectionMenu
|
||||
};
|
||||
|
||||
})(window, window.appStorage);
|
||||
})(window);
|
|
@ -128,7 +128,7 @@
|
|||
|
||||
var elem = $('.itemVideo');
|
||||
|
||||
return $(elem)
|
||||
return elem
|
||||
.one('.loadedmetadata')
|
||||
.one('playing', onOneVideoPlaying)
|
||||
.on('timeupdate', onTimeUpdate)
|
||||
|
@ -146,11 +146,11 @@
|
|||
|
||||
if (mediaElement) {
|
||||
if (val != null) {
|
||||
mediaElement.currentTime = val;
|
||||
mediaElement.currentTime = val / 1000;
|
||||
return;
|
||||
}
|
||||
|
||||
return mediaElement.currentTime;
|
||||
return (mediaElement.currentTime || 0) * 1000;
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -239,7 +239,7 @@
|
|||
return false;
|
||||
};
|
||||
|
||||
self.destroy = function () {
|
||||
self.cleanup = function (destroyRenderer) {
|
||||
|
||||
self.setCurrentSrc(null);
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
var LibraryBrowser = (function (window, document, $, screen, store) {
|
||||
var LibraryBrowser = (function (window, document, $, screen) {
|
||||
|
||||
var pageSizeKey = 'pagesize_v4';
|
||||
|
||||
return {
|
||||
getDefaultPageSize: function (key, defaultValue) {
|
||||
|
||||
var saved = store.getItem(key || pageSizeKey);
|
||||
var saved = appStorage.getItem(key || pageSizeKey);
|
||||
|
||||
if (saved) {
|
||||
return parseInt(saved);
|
||||
|
@ -29,7 +29,7 @@
|
|||
|
||||
loadSavedQueryValues: function (key, query) {
|
||||
|
||||
var values = store.getItem(key + '_' + Dashboard.getCurrentUserId());
|
||||
var values = appStorage.getItem(key + '_' + Dashboard.getCurrentUserId());
|
||||
|
||||
if (values) {
|
||||
|
||||
|
@ -53,7 +53,7 @@
|
|||
}
|
||||
|
||||
try {
|
||||
store.setItem(key + '_' + Dashboard.getCurrentUserId(), JSON.stringify(values));
|
||||
appStorage.setItem(key + '_' + Dashboard.getCurrentUserId(), JSON.stringify(values));
|
||||
} catch (e) {
|
||||
|
||||
}
|
||||
|
@ -62,7 +62,7 @@
|
|||
saveViewSetting: function (key, value) {
|
||||
|
||||
try {
|
||||
store.setItem(key + '_' + Dashboard.getCurrentUserId() + '_view', value);
|
||||
appStorage.setItem(key + '_' + Dashboard.getCurrentUserId() + '_view', value);
|
||||
} catch (e) {
|
||||
|
||||
}
|
||||
|
@ -71,7 +71,7 @@
|
|||
getSavedViewSetting: function (key) {
|
||||
|
||||
var deferred = $.Deferred();
|
||||
var val = store.getItem(key + '_' + Dashboard.getCurrentUserId() + '_view');
|
||||
var val = appStorage.getItem(key + '_' + Dashboard.getCurrentUserId() + '_view');
|
||||
|
||||
deferred.resolveWith(null, [val]);
|
||||
return deferred.promise();
|
||||
|
@ -469,6 +469,7 @@
|
|||
|
||||
ActionSheetElement.show({
|
||||
items: items,
|
||||
positionTo: positionTo,
|
||||
callback: function (id) {
|
||||
|
||||
switch (id) {
|
||||
|
@ -2159,7 +2160,7 @@
|
|||
|
||||
if (limit && options.updatePageSizeSetting !== false) {
|
||||
try {
|
||||
store.setItem(options.pageSizeKey || pageSizeKey, limit);
|
||||
appStorage.setItem(options.pageSizeKey || pageSizeKey, limit);
|
||||
} catch (e) {
|
||||
|
||||
}
|
||||
|
@ -3023,4 +3024,4 @@
|
|||
}
|
||||
};
|
||||
|
||||
})(window, document, jQuery, screen, window.appStorage);
|
||||
})(window, document, jQuery, screen);
|
|
@ -203,10 +203,13 @@
|
|||
|
||||
updateLibraryNavLinks($.mobile.activePage);
|
||||
});
|
||||
|
||||
$('.mainDrawerPanel #drawer').addClass('verticalScrollingDrawer');
|
||||
}
|
||||
function onMainDrawerClosed() {
|
||||
|
||||
$(document.body).removeClass('bodyWithPopupOpen');
|
||||
$('.mainDrawerPanel #drawer').removeClass('verticalScrollingDrawer');
|
||||
}
|
||||
function closeMainDrawer() {
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
(function ($, window, store) {
|
||||
(function ($, window) {
|
||||
|
||||
function setMirrorModeEnabled(enabled) {
|
||||
|
||||
var val = enabled ? '1' : '0';
|
||||
|
||||
store.setItem('displaymirror--' + Dashboard.getCurrentUserId(), val);
|
||||
appStorage.setItem('displaymirror--' + Dashboard.getCurrentUserId(), val);
|
||||
|
||||
}
|
||||
function isMirrorModeEnabled() {
|
||||
return (store.getItem('displaymirror--' + Dashboard.getCurrentUserId()) || '') != '0';
|
||||
return (appStorage.getItem('displaymirror--' + Dashboard.getCurrentUserId()) || '') != '0';
|
||||
}
|
||||
|
||||
var currentDisplayInfo;
|
||||
|
@ -891,4 +891,4 @@
|
|||
mirrorIfEnabled(info);
|
||||
});
|
||||
|
||||
})(jQuery, window, window.appStorage);
|
||||
})(jQuery, window);
|
|
@ -494,13 +494,13 @@
|
|||
$('.videoSubtitlePopup').popup('close');
|
||||
};
|
||||
|
||||
$(function () {
|
||||
$(Dashboard).on('footercreated', function () {
|
||||
|
||||
var parent = $("#mediaPlayer");
|
||||
|
||||
muteButton = $('.muteButton', parent);
|
||||
unmuteButton = $('.unmuteButton', parent);
|
||||
currentTimeElement = $('.currentTime', parent);
|
||||
|
||||
positionSlider = $(".positionSlider", parent).on('slidestart', function (e) {
|
||||
|
||||
isPositionSliderActive = true;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
(function (document, setTimeout, clearTimeout, screen, store, $, setInterval, window) {
|
||||
(function (document, setTimeout, clearTimeout, screen, $, setInterval, window) {
|
||||
|
||||
function mediaPlayer() {
|
||||
|
||||
|
@ -431,7 +431,7 @@
|
|||
|
||||
self.getCurrentTicks = function (mediaRenderer) {
|
||||
|
||||
var playerTime = Math.floor(10000000 * (mediaRenderer || self.currentMediaRenderer).currentTime());
|
||||
var playerTime = Math.floor(10000 * (mediaRenderer || self.currentMediaRenderer).currentTime());
|
||||
|
||||
playerTime += self.startTimeTicksOffset;
|
||||
|
||||
|
@ -510,7 +510,7 @@
|
|||
|
||||
if (canClientSeek && params == null) {
|
||||
|
||||
mediaRenderer.currentTime(ticks / (1000 * 10000));
|
||||
mediaRenderer.currentTime(ticks / 10000);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -855,7 +855,7 @@
|
|||
}
|
||||
|
||||
if (self.isPlaying()) {
|
||||
self.stop();
|
||||
self.stop(false);
|
||||
}
|
||||
|
||||
if (item.MediaType !== 'Audio' && item.MediaType !== 'Video') {
|
||||
|
@ -1220,13 +1220,13 @@
|
|||
self.saveVolume = function (val) {
|
||||
|
||||
if (val) {
|
||||
store.setItem("volume", val);
|
||||
appStorage.setItem("volume", val);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
self.getSavedVolume = function () {
|
||||
return store.getItem("volume") || 0.5;
|
||||
return appStorage.getItem("volume") || 0.5;
|
||||
};
|
||||
|
||||
self.shuffle = function (id) {
|
||||
|
@ -1344,7 +1344,7 @@
|
|||
|
||||
};
|
||||
|
||||
self.stop = function () {
|
||||
self.stop = function (destroyRenderer) {
|
||||
|
||||
var mediaRenderer = self.currentMediaRenderer;
|
||||
|
||||
|
@ -1356,7 +1356,8 @@
|
|||
|
||||
$(this).off();
|
||||
|
||||
this.destroy();
|
||||
this.cleanup(destroyRenderer);
|
||||
|
||||
self.currentMediaRenderer = null;
|
||||
self.currentItem = null;
|
||||
self.currentMediaSource = null;
|
||||
|
@ -1728,4 +1729,4 @@
|
|||
});
|
||||
|
||||
|
||||
})(document, setTimeout, clearTimeout, screen, window.appStorage, $, setInterval, window);
|
||||
})(document, setTimeout, clearTimeout, screen, $, setInterval, window);
|
|
@ -366,10 +366,10 @@
|
|||
}
|
||||
});
|
||||
|
||||
$(page).on('swipedown', function () {
|
||||
//$(page).on('swipedown', function () {
|
||||
|
||||
history.back();
|
||||
});
|
||||
// history.back();
|
||||
//});
|
||||
|
||||
$(page).on('click', '.lnkPlayFromIndex', function () {
|
||||
|
||||
|
@ -396,6 +396,7 @@
|
|||
player.beginPlayerUpdates();
|
||||
|
||||
onStateChanged.call(player, e, state);
|
||||
loadPlaylist($.mobile.activePage);
|
||||
}
|
||||
|
||||
function onPlaybackStopped(e, state) {
|
||||
|
@ -405,6 +406,7 @@
|
|||
player.endPlayerUpdates();
|
||||
|
||||
onStateChanged.call(player, e, {});
|
||||
loadPlaylist($.mobile.activePage);
|
||||
}
|
||||
|
||||
function onStateChanged(e, state) {
|
||||
|
@ -632,13 +634,13 @@
|
|||
|
||||
var expected = '2';
|
||||
|
||||
if (appStorage.getItem('remotecontrolswipedown') != expected) {
|
||||
Dashboard.alert({
|
||||
message: Globalize.translate('MessageSwipeDownOnRemoteControl'),
|
||||
title: Globalize.translate('HeaderAlert')
|
||||
});
|
||||
appStorage.setItem('remotecontrolswipedown', expected);
|
||||
}
|
||||
//if (appStorage.getItem('remotecontrolswipedown') != expected) {
|
||||
// Dashboard.alert({
|
||||
// message: Globalize.translate('MessageSwipeDownOnRemoteControl'),
|
||||
// title: Globalize.translate('HeaderAlert')
|
||||
// });
|
||||
// appStorage.setItem('remotecontrolswipedown', expected);
|
||||
//}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -589,39 +589,39 @@ var Dashboard = {
|
|||
|
||||
confirmInternal: function (message, title, showCancel, callback) {
|
||||
|
||||
$('.confirmFlyout').popup("close").remove();
|
||||
require(['paperbuttonstyle'], function () {
|
||||
|
||||
var html = '<div data-role="popup" class="confirmFlyout" style="max-width:500px;" data-theme="a">';
|
||||
var id = 'paperdlg' + new Date().getTime();
|
||||
|
||||
html += '<div class="ui-bar-a" style="text-align:center;">';
|
||||
html += '<h3 style="padding: 0 1em;">' + title + '</h3>';
|
||||
html += '</div>';
|
||||
var html = '<paper-dialog id="' + id + '" role="alertdialog" entry-animation="fade-in-animation" exit-animation="fade-out-animation" with-backdrop>';
|
||||
html += '<h2>' + title + '</h2>';
|
||||
html += '<div>' + message + '</div>';
|
||||
html += '<div class="buttons">';
|
||||
|
||||
html += '<div style="padding: 1em;">';
|
||||
|
||||
html += '<div style="padding: 1em .25em;margin: 0;">';
|
||||
html += message;
|
||||
html += '</div>';
|
||||
|
||||
html += '<p><button type="button" data-icon="check" onclick="$(\'.confirmFlyout\')[0].confirm=true;$(\'.confirmFlyout\').popup(\'close\');" data-theme="b">' + Globalize.translate('ButtonOk') + '</button></p>';
|
||||
|
||||
if (showCancel) {
|
||||
html += '<p><button type="button" data-icon="delete" onclick="$(\'.confirmFlyout\').popup(\'close\');" data-theme="a">' + Globalize.translate('ButtonCancel') + '</button></p>';
|
||||
}
|
||||
|
||||
html += '</div>';
|
||||
|
||||
html += '</div>';
|
||||
|
||||
$(document.body).append(html);
|
||||
|
||||
$('.confirmFlyout').popup({ history: false }).trigger('create').popup("open").on("popupafterclose", function () {
|
||||
|
||||
if (callback) {
|
||||
callback(this.confirm == true);
|
||||
if (showCancel) {
|
||||
html += '<paper-button dialog-dismiss>' + Globalize.translate('ButtonCancel') + '</paper-button>';
|
||||
}
|
||||
|
||||
$(this).off("popupafterclose").remove();
|
||||
html += '<paper-button dialog-confirm autofocus>' + Globalize.translate('ButtonOk') + '</paper-button>';
|
||||
|
||||
html += '</div>';
|
||||
html += '</paper-dialog>';
|
||||
|
||||
$(document.body).append(html);
|
||||
|
||||
// This timeout is obviously messy but it's unclear how to determine when the webcomponent is ready for use
|
||||
// element onload never fires
|
||||
setTimeout(function () {
|
||||
|
||||
var dlg = document.getElementById(id);
|
||||
|
||||
dlg.open();
|
||||
|
||||
// Has to be assigned a z-index after the call to .open()
|
||||
$(dlg).on('iron-overlay-closed', function (e) {
|
||||
$(this).remove();
|
||||
});
|
||||
}, 300);
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -1914,6 +1914,8 @@ var AppInfo = {};
|
|||
|
||||
$(document.body).append(footerHtml);
|
||||
|
||||
$(Dashboard).trigger('footercreated');
|
||||
|
||||
$(window).on("beforeunload", function () {
|
||||
|
||||
var apiClient = window.ApiClient;
|
||||
|
@ -2044,6 +2046,10 @@ var AppInfo = {};
|
|||
Dashboard.importCss('css/detailtable.css');
|
||||
return {};
|
||||
});
|
||||
define("tileitemcss", [], function () {
|
||||
Dashboard.importCss('css/tileitem.css');
|
||||
return {};
|
||||
});
|
||||
|
||||
if (Dashboard.isRunningInCordova() && $.browser.safari) {
|
||||
define("actionsheet", ["cordova/ios/actionsheet"]);
|
||||
|
@ -2061,7 +2067,7 @@ var AppInfo = {};
|
|||
drawer.forceNarrow = true;
|
||||
drawer.drawerWidth = screen.availWidth >= 330 ? "310px" : "270px";
|
||||
|
||||
if ($.browser.safari && !AppInfo.isNativeApp) {
|
||||
if ($.browser.safari) {
|
||||
drawer.disableEdgeSwipe = true;
|
||||
}
|
||||
|
||||
|
|
12
dashboard-ui/thirdparty/paper-button-style.css
vendored
12
dashboard-ui/thirdparty/paper-button-style.css
vendored
|
@ -230,11 +230,11 @@ iron-overlay-backdrop {
|
|||
padding: 0 12px;
|
||||
}
|
||||
|
||||
paper-dialog > *:last-child {
|
||||
paper-dialog > *:last-child:not(.buttons) {
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
paper-dialog > *:first-child {
|
||||
paper-dialog > *:first-child:not(h2) {
|
||||
margin-top: 12px;
|
||||
}
|
||||
|
||||
|
@ -242,10 +242,10 @@ paper-icon-button paper-ripple {
|
|||
color: inherit !important;
|
||||
}
|
||||
|
||||
iron-overlay-backdrop {
|
||||
paper-dialog + iron-overlay-backdrop {
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
iron-overlay-backdrop.visibleBackground {
|
||||
background-color: #000 !important;
|
||||
}
|
||||
paper-dialog[role="alertdialog"] + iron-overlay-backdrop {
|
||||
background-color: #000 !important;
|
||||
}
|
||||
|
|
|
@ -13440,6 +13440,13 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] {
|
|||
this._setPeeking(false);
|
||||
}
|
||||
|
||||
var dy = event.detail.dy;
|
||||
var absDy = Math.abs(dy);
|
||||
|
||||
if (absDy >= 70) {
|
||||
// Ignore trackx until we move past the edge peek.
|
||||
return;
|
||||
}
|
||||
this._moveDrawer(this._translateXForDeltaX(dx));
|
||||
}
|
||||
},
|
||||
|
@ -13453,10 +13460,14 @@ iron-selector:not(.narrow-layout) #main ::content [paper-drawer-toggle] {
|
|||
sharedPanel = null;
|
||||
this._moveDrawer(null);
|
||||
|
||||
var dx = event.detail.dx;
|
||||
var dy = event.detail.dy;
|
||||
var absDy = Math.abs(dy);
|
||||
|
||||
if (this.rightDrawer) {
|
||||
this[xDirection ? 'closeDrawer' : 'openDrawer']();
|
||||
} else {
|
||||
this[xDirection || event.detail.dx > -80 ? 'openDrawer' : 'closeDrawer']();
|
||||
this[xDirection || dx > -80 || absDy >= 70 ? 'openDrawer' : 'closeDrawer']();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue