mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update sliders
This commit is contained in:
parent
8dc50cdc71
commit
462e692de5
13 changed files with 156 additions and 30 deletions
|
@ -29,14 +29,14 @@
|
||||||
"web-component-tester": "*",
|
"web-component-tester": "*",
|
||||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/polymerelements/iron-a11y-keys-behavior",
|
"homepage": "https://github.com/PolymerElements/iron-a11y-keys-behavior",
|
||||||
"_release": "1.0.5",
|
"_release": "1.0.5",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.5",
|
"tag": "v1.0.5",
|
||||||
"commit": "cf833eab5c55a26c5aa92e56d3fcb079120ce66a"
|
"commit": "cf833eab5c55a26c5aa92e56d3fcb079120ce66a"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/polymerelements/iron-a11y-keys-behavior.git",
|
"_source": "git://github.com/PolymerElements/iron-a11y-keys-behavior.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.0.0",
|
||||||
"_originalSource": "polymerelements/iron-a11y-keys-behavior"
|
"_originalSource": "PolymerElements/iron-a11y-keys-behavior"
|
||||||
}
|
}
|
|
@ -27,14 +27,14 @@
|
||||||
"web-component-tester": "*",
|
"web-component-tester": "*",
|
||||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/polymerelements/iron-behaviors",
|
"homepage": "https://github.com/PolymerElements/iron-behaviors",
|
||||||
"_release": "1.0.4",
|
"_release": "1.0.4",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.4",
|
"tag": "v1.0.4",
|
||||||
"commit": "8792edd457de697a74f398c09b67df30adf7d866"
|
"commit": "8792edd457de697a74f398c09b67df30adf7d866"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/polymerelements/iron-behaviors.git",
|
"_source": "git://github.com/PolymerElements/iron-behaviors.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.0.0",
|
||||||
"_originalSource": "polymerelements/iron-behaviors"
|
"_originalSource": "PolymerElements/iron-behaviors"
|
||||||
}
|
}
|
|
@ -28,14 +28,14 @@
|
||||||
"web-component-tester": "*",
|
"web-component-tester": "*",
|
||||||
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/polymerelements/iron-selector",
|
"homepage": "https://github.com/PolymerElements/iron-selector",
|
||||||
"_release": "1.0.2",
|
"_release": "1.0.2",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.2",
|
"tag": "v1.0.2",
|
||||||
"commit": "ea22d91d11ba6f72c01faa952d5e600f9d1773cf"
|
"commit": "ea22d91d11ba6f72c01faa952d5e600f9d1773cf"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/polymerelements/iron-selector.git",
|
"_source": "git://github.com/PolymerElements/iron-selector.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.0.0",
|
||||||
"_originalSource": "polymerelements/iron-selector"
|
"_originalSource": "PolymerElements/iron-selector"
|
||||||
}
|
}
|
|
@ -34,7 +34,7 @@
|
||||||
"tag": "v1.0.7",
|
"tag": "v1.0.7",
|
||||||
"commit": "c65f5ce6b898bb756fca35cedaa53c3e8011abeb"
|
"commit": "c65f5ce6b898bb756fca35cedaa53c3e8011abeb"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/polymerelements/paper-styles.git",
|
"_source": "git://github.com/PolymerElements/paper-styles.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.0.0",
|
||||||
"_originalSource": "polymerelements/paper-styles"
|
"_originalSource": "PolymerElements/paper-styles"
|
||||||
}
|
}
|
104
dashboard-ui/cordova/android/androidcredentials.js
vendored
104
dashboard-ui/cordova/android/androidcredentials.js
vendored
|
@ -27,7 +27,103 @@
|
||||||
|
|
||||||
ApiClientBridge.init(AppInfo.appName, AppInfo.appVersion, AppInfo.deviceId, AppInfo.deviceName, JSON.stringify(capabilities));
|
ApiClientBridge.init(AppInfo.appName, AppInfo.appVersion, AppInfo.deviceId, AppInfo.deviceName, JSON.stringify(capabilities));
|
||||||
|
|
||||||
//initAjax();
|
initAjax();
|
||||||
|
}
|
||||||
|
|
||||||
|
var baseAjaxMethod;
|
||||||
|
var currentId = 0;
|
||||||
|
function getNewRequestId() {
|
||||||
|
var id = currentId++;
|
||||||
|
return id.toString();
|
||||||
|
}
|
||||||
|
function initAjax() {
|
||||||
|
baseAjaxMethod = AjaxApi.ajax;
|
||||||
|
AjaxApi.ajax = sendRequest;
|
||||||
|
}
|
||||||
|
|
||||||
|
function sendRequest(request) {
|
||||||
|
|
||||||
|
// For now, we can only handle json responses
|
||||||
|
if (request.dataType) {
|
||||||
|
if (request.dataType != 'json') {
|
||||||
|
return baseAjaxMethod(request);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (request.data) {
|
||||||
|
// For now, we can only handle request bodies that are strings
|
||||||
|
if (typeof (request.data) != 'string') {
|
||||||
|
return baseAjaxMethod(request);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var deferred = DeferredBuilder.Deferred();
|
||||||
|
|
||||||
|
var id = getNewRequestId();
|
||||||
|
|
||||||
|
request.headers = request.headers || {};
|
||||||
|
|
||||||
|
if (request.dataType == 'json') {
|
||||||
|
request.headers.accept = 'application/json';
|
||||||
|
}
|
||||||
|
|
||||||
|
var javaRequest = {
|
||||||
|
Method: request.type || "GET",
|
||||||
|
Url: request.url,
|
||||||
|
RequestHeaders: request.headers
|
||||||
|
};
|
||||||
|
|
||||||
|
if (request.timeout) {
|
||||||
|
javaRequest.Timeout = request.timeout;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (request.data) {
|
||||||
|
javaRequest.RequestContent = request.data;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (request.contentType) {
|
||||||
|
javaRequest.RequestContentType = request.contentType;
|
||||||
|
}
|
||||||
|
|
||||||
|
Logger.log("Sending request: " + JSON.stringify(javaRequest));
|
||||||
|
|
||||||
|
ApiClientBridge.sendRequest(JSON.stringify(javaRequest), request.dataType, id);
|
||||||
|
|
||||||
|
Events.on(AndroidAjax, 'response' + id, function (e, isSuccess, status, response) {
|
||||||
|
|
||||||
|
Events.off(AndroidAjax, 'response' + id);
|
||||||
|
|
||||||
|
if (isSuccess) {
|
||||||
|
|
||||||
|
if (response) {
|
||||||
|
deferred.resolveWith(null, [response]);
|
||||||
|
} else {
|
||||||
|
deferred.resolve();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
// Need to mimic the jquery ajax error response
|
||||||
|
deferred.rejectWith(request, [getErrorResponse(response)]);
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
return deferred.promise();
|
||||||
|
}
|
||||||
|
|
||||||
|
function getErrorResponse(response) {
|
||||||
|
|
||||||
|
var error = {};
|
||||||
|
|
||||||
|
error.status = response.StatusCode;
|
||||||
|
error.ResponseHeaders = response.ResponseHeaders || {};
|
||||||
|
|
||||||
|
error.getResponseHeader = function (name) {
|
||||||
|
return error.ResponseHeaders[name];
|
||||||
|
};
|
||||||
|
|
||||||
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
Events.on(ConnectionManager.credentialProvider(), 'credentialsupdated', updateCredentials);
|
Events.on(ConnectionManager.credentialProvider(), 'credentialsupdated', updateCredentials);
|
||||||
|
@ -39,7 +135,11 @@
|
||||||
|
|
||||||
onResponse: function (id, status, response) {
|
onResponse: function (id, status, response) {
|
||||||
|
|
||||||
Events.trigger(AndroidAjax, 'response' + id, [status, response]);
|
Events.trigger(AndroidAjax, 'response' + id, [true, status, response]);
|
||||||
|
},
|
||||||
|
onError: function (id, status, response) {
|
||||||
|
|
||||||
|
Events.trigger(AndroidAjax, 'response' + id, [false, status, response]);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1383,11 +1383,6 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.itemsContainer:not(.fullWidthItemsContainer) .itemsListview {
|
|
||||||
max-width: 800px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.itemsListview {
|
.itemsListview {
|
||||||
margin: 0 auto !important;
|
margin: 0 auto !important;
|
||||||
}
|
}
|
||||||
|
|
|
@ -151,6 +151,11 @@
|
||||||
margin-top: -1.5em;
|
margin-top: -1.5em;
|
||||||
padding: 0 60px;
|
padding: 0 60px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.nowPlayingPage .btnCommand, .nowPlayingPage .btnPlayStateCommand {
|
||||||
|
width: 60px;
|
||||||
|
height: 60px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (orientation: portrait) and (max-height: 600px) {
|
@media (orientation: portrait) and (max-height: 600px) {
|
||||||
|
@ -158,6 +163,11 @@
|
||||||
margin-top: -1.5em;
|
margin-top: -1.5em;
|
||||||
padding: 0 60px;
|
padding: 0 60px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.nowPlayingPage .btnCommand, .nowPlayingPage .btnPlayStateCommand {
|
||||||
|
width: 60px;
|
||||||
|
height: 60px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.nowPlayingSelectedPlayer {
|
.nowPlayingSelectedPlayer {
|
||||||
|
|
|
@ -5,6 +5,10 @@
|
||||||
/*box-shadow: 0 0 8px rgba(255,255,255,.4);*/
|
/*box-shadow: 0 0 8px rgba(255,255,255,.4);*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.hiddenNowPlayingBar .nowPlayingBar {
|
||||||
|
display: none!important;
|
||||||
|
}
|
||||||
|
|
||||||
.mediaButton, .nowPlayingBarUserDataButtons .btnUserItemRating {
|
.mediaButton, .nowPlayingBarUserDataButtons .btnUserItemRating {
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
color: #e8e8e8;
|
color: #e8e8e8;
|
||||||
|
@ -83,12 +87,13 @@
|
||||||
@media (min-width: 800px) {
|
@media (min-width: 800px) {
|
||||||
.nowPlayingBarText {
|
.nowPlayingBarText {
|
||||||
max-width: 300px;
|
max-width: 300px;
|
||||||
|
margin-right: 30px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 800px) {
|
@media (min-width: 900px) {
|
||||||
.nowPlayingBarText {
|
.nowPlayingBarText {
|
||||||
margin-right: 30px;
|
max-width: 400px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -106,8 +111,12 @@
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.noMediaProgress .nowPlayingBarPositionContainer {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
.nowPlayingBarPositionSlider paper-progress {
|
.nowPlayingBarPositionSlider paper-progress {
|
||||||
height: 4px !important;
|
height: 3px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nowPlayingBarPositionSlider #sliderBar {
|
.nowPlayingBarPositionSlider #sliderBar {
|
||||||
|
@ -120,7 +129,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.nowPlayingBarPositionSlider #sliderKnob {
|
.nowPlayingBarPositionSlider #sliderKnob {
|
||||||
top: -14px !important;
|
top: -15px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nowPlayingBarPositionSlider #progressContainer {
|
.nowPlayingBarPositionSlider #progressContainer {
|
||||||
|
@ -128,8 +137,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.nowPlayingBarPositionSlider #sliderKnobInner {
|
.nowPlayingBarPositionSlider #sliderKnobInner {
|
||||||
width: 18px;
|
width: 16px;
|
||||||
height: 18px;
|
height: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nowPlayingBarRight {
|
.nowPlayingBarRight {
|
||||||
|
|
|
@ -915,7 +915,7 @@ h1 .imageLink {
|
||||||
z-index: 1097;
|
z-index: 1097;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
border: 0 !important;
|
border: 0 !important;
|
||||||
background-color: rgba(26,26,26,.93);
|
background-color: rgba(26,26,26,.94);
|
||||||
}
|
}
|
||||||
|
|
||||||
.footerOverBottomTabs {
|
.footerOverBottomTabs {
|
||||||
|
|
|
@ -175,6 +175,11 @@
|
||||||
|
|
||||||
elem = $(getNowPlayingBarHtml()).insertBefore('#footerNotifications').trigger('create');
|
elem = $(getNowPlayingBarHtml()).insertBefore('#footerNotifications').trigger('create');
|
||||||
|
|
||||||
|
if ($.browser.safari && $.browser.mobile) {
|
||||||
|
// Not handled well here. The wrong elements receive events, bar doesn't update quickly enough, etc.
|
||||||
|
elem.addClass('noMediaProgress');
|
||||||
|
}
|
||||||
|
|
||||||
bindEvents(elem);
|
bindEvents(elem);
|
||||||
|
|
||||||
return elem;
|
return elem;
|
||||||
|
@ -190,7 +195,7 @@
|
||||||
|
|
||||||
function updatePlayerState(state) {
|
function updatePlayerState(state) {
|
||||||
|
|
||||||
if (state.NowPlayingItem && !$($.mobile.activePage).hasClass('nowPlayingPage')) {
|
if (state.NowPlayingItem) {
|
||||||
showNowPlayingBar();
|
showNowPlayingBar();
|
||||||
} else {
|
} else {
|
||||||
hideNowPlayingBar();
|
hideNowPlayingBar();
|
||||||
|
@ -383,6 +388,8 @@
|
||||||
ApiClient.getItem(Dashboard.getCurrentUserId(), nowPlayingItem.Id).done(function (item) {
|
ApiClient.getItem(Dashboard.getCurrentUserId(), nowPlayingItem.Id).done(function (item) {
|
||||||
nowPlayingUserData.html(LibraryBrowser.getUserDataIconsHtml(item, false));
|
nowPlayingUserData.html(LibraryBrowser.getUserDataIconsHtml(item, false));
|
||||||
});
|
});
|
||||||
|
} else {
|
||||||
|
nowPlayingUserData.html('');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -745,7 +745,7 @@
|
||||||
|
|
||||||
}).on('pagebeforeshowready', "#nowPlayingPage", function () {
|
}).on('pagebeforeshowready', "#nowPlayingPage", function () {
|
||||||
|
|
||||||
$(document.body).addClass('hiddenViewMenuBar');
|
$(document.body).addClass('hiddenViewMenuBar').addClass('hiddenNowPlayingBar');
|
||||||
var page = this;
|
var page = this;
|
||||||
|
|
||||||
currentImgUrl = null;
|
currentImgUrl = null;
|
||||||
|
@ -776,7 +776,7 @@
|
||||||
$(MediaController).off('playerchange.nowplayingpage');
|
$(MediaController).off('playerchange.nowplayingpage');
|
||||||
|
|
||||||
lastPlayerState = null;
|
lastPlayerState = null;
|
||||||
$(document.body).removeClass('hiddenViewMenuBar');
|
$(document.body).removeClass('hiddenViewMenuBar').removeClass('hiddenNowPlayingBar');
|
||||||
});
|
});
|
||||||
|
|
||||||
window.NowPlayingPage = {
|
window.NowPlayingPage = {
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
<div class="listTopPaging">
|
<div class="listTopPaging">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="items" class="itemsContainer" style="max-width:1100px;margin: 0 auto;"></div>
|
<div id="items" class="itemsContainer" style="max-width:1000px;margin: 0 auto;"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
|
<div data-role="panel" class="viewPanel" data-theme="a" data-position="right" data-display="overlay" data-position-fixed="true">
|
||||||
|
|
|
@ -151,3 +151,8 @@ h1, h1 a {
|
||||||
.sidebarLinkText {
|
.sidebarLinkText {
|
||||||
font-weight: 400 !important;
|
font-weight: 400 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#footer {
|
||||||
|
/* Eliminate transparency to prevent clicks from passing through to the elements underneath */
|
||||||
|
background-color: rgb(26,26,26);
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue