1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

update action sheet

This commit is contained in:
Luke Pulverenti 2015-06-30 13:21:20 -04:00
parent a81a127cc6
commit d1842ae4e3
24 changed files with 246 additions and 98 deletions

View file

@ -66,11 +66,12 @@
return o.ironIcon;
}).length;
html += '<paper-menu>';
for (var i = 0, length = options.items.length; i < length; i++) {
var option = options.items[i];
html += '<paper-button class="block menuButton ripple btnOption" data-id="' + option.id + '" style="margin:0;">';
html += '<paper-menu-item class="actionSheetMenuItem" data-id="' + option.id + '" style="display:block;">';
if (option.ironIcon) {
html += '<iron-icon icon="' + option.ironIcon + '"></iron-icon>';
@ -79,8 +80,9 @@
html += '<iron-icon></iron-icon>';
}
html += '<span>' + option.name + '</span>';
html += '</paper-button>';
html += '</paper-menu-item>';
}
html += '</paper-menu>';
if (isScrollable) {
html += '</paper-dialog-scrollable>';
@ -106,7 +108,7 @@
$(this).remove();
});
$('.btnOption', dlg).on('click', function () {
$('.actionSheetMenuItem', dlg).on('click', function () {
var selectedId = this.getAttribute('data-id');

View file

@ -122,10 +122,6 @@
return false;
}
if ($.browser.android && AppInfo.isNativeApp) {
return screen.availWidth >= 1200;
}
if ($.browser.mobile) {
return false;
}

View file

@ -108,6 +108,8 @@
$.when(promises).done(function () {
Dashboard.hideLoadingMsg();
LibraryBrowser.setLastRefreshed(page);
});
}
@ -117,7 +119,9 @@
var userId = Dashboard.getCurrentUserId();
loadSections(page, userId);
if (LibraryBrowser.needsRefresh(page)) {
loadSections(page, userId);
}
});
})(jQuery, document);

View file

@ -3,7 +3,7 @@
var pageSizeKey = 'pagesize_v4';
return {
getDefaultPageSize: function(key, defaultValue) {
getDefaultPageSize: function (key, defaultValue) {
var saved = appStorage.getItem(key || pageSizeKey);
@ -21,13 +21,13 @@
return isChrome ? 200 : 100;
},
getDefaultItemsView: function(view, mobileView) {
getDefaultItemsView: function (view, mobileView) {
return $.browser.mobile ? mobileView : view;
},
loadSavedQueryValues: function(key, query) {
loadSavedQueryValues: function (key, query) {
var values = appStorage.getItem(key + '_' + Dashboard.getCurrentUserId());
@ -41,7 +41,7 @@
return query;
},
saveQueryValues: function(key, query) {
saveQueryValues: function (key, query) {
var values = {};
@ -59,7 +59,7 @@
}
},
saveViewSetting: function(key, value) {
saveViewSetting: function (key, value) {
try {
appStorage.setItem(key + '_' + Dashboard.getCurrentUserId() + '_view', value);
@ -68,7 +68,7 @@
}
},
getSavedViewSetting: function(key) {
getSavedViewSetting: function (key) {
var deferred = $.Deferred();
var val = appStorage.getItem(key + '_' + Dashboard.getCurrentUserId() + '_view');
@ -77,25 +77,39 @@
return deferred.promise();
},
needsRefresh: function(elem) {
needsRefresh: function (elem) {
var last = elem.getAttribute('data-lastrefresh') || '0';
var last = parseInt(elem.getAttribute('data-lastrefresh') || '0');
if (!last) {
return true;
}
if (NavHelper.isBack()) {
return false;
}
var now = new Date().getTime();
if ((now - parseInt(last)) < 90000) {
var cacheDuration = 300000;
if (!AppInfo.isNativeApp && ($.browser.ipad || $.browser.iphone || $.browser.android)) {
cacheDuration = 10000;
}
else if (!$.browser.mobile) {
cacheDuration = 60000;
}
if ((now - last) < cacheDuration) {
return false;
}
return true;
},
setLastRefreshed: function(elem) {
setLastRefreshed: function (elem) {
elem.setAttribute('data-lastrefresh', new Date().getTime());
elem.classList.add('hasrefreshtime');
},
getDateParamValue: function (date) {
@ -535,13 +549,6 @@
var href = LibraryBrowser.getHrefInternal(item, context);
if (context) {
if (context != 'livetv') {
href += href.indexOf('?') == -1 ? "?context=" : "&context=";
href += context;
}
}
if (context != 'livetv') {
if (topParentId == null && context != 'playlists') {
topParentId = LibraryMenu.getTopParentId();
@ -566,6 +573,8 @@
return item.url;
}
var contextSuffix = context ? ('&context=' + context) : '';
// Handle search hints
var id = item.Id || item.ItemId;
@ -632,48 +641,48 @@
return "livetvprogram.html?id=" + id;
}
if (item.Type == "Series") {
return "itemdetails.html?id=" + id;
return "itemdetails.html?id=" + id + contextSuffix;
}
if (item.Type == "Season") {
return "itemdetails.html?id=" + id;
return "itemdetails.html?id=" + id + contextSuffix;
}
if (item.Type == "BoxSet") {
return "itemdetails.html?id=" + id;
return "itemdetails.html?id=" + id + contextSuffix;
}
if (item.Type == "MusicAlbum") {
return "itemdetails.html?id=" + id;
return "itemdetails.html?id=" + id + contextSuffix;
}
if (item.Type == "GameSystem") {
return "itemdetails.html?id=" + id;
return "itemdetails.html?id=" + id + contextSuffix;
}
if (item.Type == "Genre") {
return "itembynamedetails.html?id=" + id;
return "itembynamedetails.html?id=" + id + contextSuffix;
}
if (item.Type == "MusicGenre") {
return "itembynamedetails.html?id=" + id;
return "itembynamedetails.html?id=" + id + contextSuffix;
}
if (item.Type == "GameGenre") {
return "itembynamedetails.html?id=" + id;
return "itembynamedetails.html?id=" + id + contextSuffix;
}
if (item.Type == "Studio") {
return "itembynamedetails.html?id=" + id;
return "itembynamedetails.html?id=" + id + contextSuffix;
}
if (item.Type == "Person") {
return "itembynamedetails.html?id=" + id;
return "itembynamedetails.html?id=" + id + contextSuffix;
}
if (item.Type == "Recording") {
return "livetvrecording.html?id=" + id;
return "livetvrecording.html?id=" + id + contextSuffix;
}
if (item.Type == "MusicArtist") {
return "itembynamedetails.html?id=" + id;
return "itembynamedetails.html?id=" + id + contextSuffix;
}
if (item.IsFolder) {
return id ? "itemlist.html?parentId=" + id : "#";
}
return "itemdetails.html?id=" + id;
return "itemdetails.html?id=" + id + contextSuffix;
},
getImageUrl: function (item, type, index, options) {

View file

@ -115,7 +115,7 @@
var resumePosition = (item.UserData || {}).PlaybackPositionTicks || 0;
html += '<paper-icon-button icon="play-circle-filled" class="btnPlayItem" data-itemid="' + item.Id + '" data-itemtype="' + item.Type + '" data-isfolder="' + item.IsFolder + '" data-mediatype="' + item.MediaType + '" data-resumeposition="' + resumePosition + '"></paper-icon-button>';
html += '<paper-icon-button icon="play-circle-outline" class="btnPlayItem" data-itemid="' + item.Id + '" data-itemtype="' + item.Type + '" data-isfolder="' + item.IsFolder + '" data-mediatype="' + item.MediaType + '" data-resumeposition="' + resumePosition + '"></paper-icon-button>';
buttonCount++;
}
@ -1228,6 +1228,10 @@
$(apiClient).off('websocketmessage', onWebSocketMessage).on('websocketmessage', onWebSocketMessage);
}
function clearRefreshTimes() {
$('.hasrefreshtime').removeClass('hasrefreshtime').removeAttr('data-lastrefresh');
}
Dashboard.ready(function () {
if (window.ApiClient) {
@ -1237,6 +1241,9 @@
$(ConnectionManager).on('apiclientcreated', function (e, apiClient) {
initializeApiClient(apiClient);
});
Events.on(ConnectionManager, 'localusersignedin', clearRefreshTimes);
Events.on(ConnectionManager, 'localusersignedout', clearRefreshTimes);
});
})(jQuery, document, window);

View file

@ -121,6 +121,7 @@
if (LibraryBrowser.needsRefresh(page)) {
query.UserId = Dashboard.getCurrentUserId();
LibraryBrowser.loadSavedQueryValues('movies', query);
query.Limit = query.Limit || LibraryBrowser.getDefaultPageSize();
reloadItems(page);
updateFilterControls(this);
}

View file

@ -89,6 +89,7 @@
renderRecordings($('#latestRecordings', page), result.Items);
LibraryBrowser.setLastRefreshed(page);
});
ApiClient.getLiveTvRecordingGroups({
@ -106,7 +107,9 @@
var page = this;
reload(page);
if (LibraryBrowser.needsRefresh(page)) {
reload(page);
}
});

View file

@ -97,6 +97,7 @@
renderTimers(page, result.Items);
LibraryBrowser.setLastRefreshed(page);
});
}
@ -120,7 +121,9 @@
var page = this;
reload(page);
if (LibraryBrowser.needsRefresh(page)) {
reload(page);
}
}).on('pageinit', "#liveTvSeriesTimersPage", function () {

View file

@ -104,6 +104,7 @@
renderTimers(page, result.Items);
LibraryBrowser.setLastRefreshed(page);
});
}
@ -111,7 +112,9 @@
var page = this;
reload(page);
if (LibraryBrowser.needsRefresh(page)) {
reload(page);
}
});
})(jQuery, document);

View file

@ -1844,6 +1844,7 @@ var AppInfo = {};
}
else if ($.browser.safari) {
Dashboard.importCss('themes/ios.css');
Dashboard.importCss('thirdparty/materialicons/style.css');
}
}