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

update recording fields

This commit is contained in:
Luke Pulverenti 2016-12-05 13:46:38 -05:00
parent 6435d047f6
commit b162cf30c5
12 changed files with 211 additions and 82 deletions

View file

@ -14,12 +14,12 @@
}, },
"devDependencies": {}, "devDependencies": {},
"ignore": [], "ignore": [],
"version": "1.4.369", "version": "1.4.370",
"_release": "1.4.369", "_release": "1.4.370",
"_resolution": { "_resolution": {
"type": "version", "type": "version",
"tag": "1.4.369", "tag": "1.4.370",
"commit": "ffc05de380954c16b3621824d3034dc2c1a5a1ee" "commit": "13cf9a90d0c2a763e6d453e004f528136456062f"
}, },
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git", "_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
"_target": "^1.2.1", "_target": "^1.2.1",

View file

@ -441,25 +441,6 @@
opacity: .7; opacity: .7;
} }
.visibleGuideScroller::-webkit-scrollbar {
width: 10px;
height: 10px;
}
.visibleGuideScroller::-webkit-scrollbar-button:start:decrement,
.visibleGuideScroller::-webkit-scrollbar-button:end:increment {
display: none;
}
.visibleGuideScroller::-webkit-scrollbar-track-piece {
background-color: #3b3b3b;
}
.visibleGuideScroller::-webkit-scrollbar-thumb:vertical, .visibleGuideScroller::-webkit-scrollbar-thumb:horizontal {
-webkit-border-radius: 2px;
background: #888 no-repeat center;
}
.guideOptions { .guideOptions {
color: #eee; color: #eee;
flex-shrink: 0; flex-shrink: 0;

View file

@ -903,9 +903,9 @@
context.innerHTML = globalize.translateDocument(template, 'sharedcomponents'); context.innerHTML = globalize.translateDocument(template, 'sharedcomponents');
if (layoutManager.desktop) { if (layoutManager.desktop) {
var visibleGuideScrollers = context.querySelectorAll('.guideScroller'); var guideScrollers = context.querySelectorAll('.guideScroller');
for (var i = 0, length = visibleGuideScrollers.length; i < length; i++) { for (var i = 0, length = guideScrollers.length; i < length; i++) {
visibleGuideScrollers[i].classList.add('visibleGuideScroller'); guideScrollers[i].classList.add('darkScroller');
} }
} }

View file

@ -51,7 +51,7 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter',
}); });
} }
if (item.CanDelete) { if (item.CanDelete && options.deleteItem !== false) {
if (item.Type === 'Playlist' || item.Type === 'BoxSet') { if (item.Type === 'Playlist' || item.Type === 'BoxSet') {
commands.push({ commands.push({

View file

@ -5,7 +5,6 @@
.recordingButton { .recordingButton {
margin-left: 0; margin-left: 0;
min-width: 10em; min-width: 10em;
font-size: 92%;
} }
.recordingIcon { .recordingIcon {

View file

@ -33,3 +33,22 @@
width: 0 !important; width: 0 !important;
display: none; display: none;
} }
.darkScroller::-webkit-scrollbar {
width: 10px;
height: 10px;
}
.darkScroller::-webkit-scrollbar-button:start:decrement,
.darkScroller::-webkit-scrollbar-button:end:increment {
display: none;
}
.darkScroller::-webkit-scrollbar-track-piece {
background-color: #3b3b3b;
}
.darkScroller::-webkit-scrollbar-thumb:vertical, .darkScroller::-webkit-scrollbar-thumb:horizontal {
-webkit-border-radius: 2px;
background: #888 no-repeat center;
}

View file

@ -135,6 +135,8 @@
var selectQuality = form.querySelector('#selectQuality'); var selectQuality = form.querySelector('#selectQuality');
if (selectQuality) { if (selectQuality) {
job.Quality = selectQuality.value; job.Quality = selectQuality.value;
appSettings.set('sync-lastquality', job.Quality || '');
} }
var selectProfile = form.querySelector('#selectProfile'); var selectProfile = form.querySelector('#selectProfile');
@ -590,6 +592,15 @@
}).join(''); }).join('');
var lastQuality = appSettings.get('sync-lastquality');
if (lastQuality && options.QualityOptions.filter(function (i) {
return i.Id === lastQuality;
}).length) {
selectQuality.value = lastQuality;
}
selectQuality.dispatchEvent(new CustomEvent('change', { selectQuality.dispatchEvent(new CustomEvent('change', {
bubbles: true bubbles: true
})); }));

View file

@ -616,3 +616,26 @@ div[data-role="controlgroup"] a.ui-btn-active {
.supporterMembershipDisabled .tabSupporterMembership { .supporterMembershipDisabled .tabSupporterMembership {
display: none; display: none;
} }
a[data-role='button'] {
-webkit-font-smoothing: antialiased;
-webkit-user-select: none;
background-clip: padding-box;
border-radius: .3125em;
border: 1px solid #ddd !important;
color: rgb(51, 51, 51) !important;
cursor: pointer !important;
font-family: inherit !important;
font-size: inherit !important;
font-weight: 500 !important;
margin: 0 .25em !important;
display: inline-block;
padding: .8em 1em;
text-align: center;
text-decoration: none !important;
background: #f6f6f6 !important;
font-size: 16px;
-webkit-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/;
-moz-box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/;
box-shadow: 0 1px 3px /*{global-box-shadow-size}*/ rgba(0,0,0,.15) /*{global-box-shadow-color}*/;
}

View file

@ -12,7 +12,7 @@
} }
.background-theme-b .backgroundContainer.withBackdrop { .background-theme-b .backgroundContainer.withBackdrop {
background-color: rgba(6, 6,6, .76); background-color: rgba(6, 6,6, .72);
} }
.ui-body-b { .ui-body-b {
@ -158,8 +158,6 @@
} }
.detailPageContent { .detailPageContent {
margin: 3em auto 0;
padding: 0;
border-spacing: 0; border-spacing: 0;
border-collapse: collapse; border-collapse: collapse;
} }
@ -355,8 +353,8 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
.detailImageContainer { .detailImageContainer {
position: absolute; position: absolute;
top: -130px; top: -90px;
left: 3%; left: 5%;
} }
.itemDetailImage { .itemDetailImage {
@ -400,6 +398,7 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
position: absolute; position: absolute;
right: 5%; right: 5%;
background-color: #52B54B !important; background-color: #52B54B !important;
z-index: 1;
} }
.emby-button.btnFloatingRecord { .emby-button.btnFloatingRecord {
@ -500,6 +499,10 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
margin-right: .5em; margin-right: .5em;
} }
.mainDetailButtons.hide + .recordingFields {
margin-top: 1.5em !important;
}
.detailImageProgressContainer { .detailImageProgressContainer {
position: absolute; position: absolute;
bottom: 4px; bottom: 4px;
@ -575,18 +578,18 @@ span.itemCommunityRating:not(:empty) + .userDataIcons {
} }
.detailPageContent { .detailPageContent {
max-width: 94%; padding: 3em 3% 0;
} }
@media all and (min-width: 750px) { @media all and (min-width: 750px) {
.detailPageContent { .detailPageContent {
max-width: 94%; padding: 3em 3% 0;
} }
} }
@media all and (min-width: 1200px) { @media all and (min-width: 1200px) {
.detailPageContent { .detailPageContent {
max-width: 90%; padding: 3em 5% 0;
} }
} }

View file

@ -17,7 +17,7 @@
<div class="syncLocalContainer hide" style="margin-top: 1em; display: inline-flex; padding: 0 .5em;"> <div class="syncLocalContainer hide" style="margin-top: 1em; display: inline-flex; padding: 0 .5em;">
<label class="checkboxContainer" style="margin: 0;"> <label class="checkboxContainer" style="margin: 0;">
<input type="checkbox" is="emby-checkbox" class="chkOffline"/> <input type="checkbox" is="emby-checkbox" class="chkOffline" />
<span>${MakeAvailableOffline}</span> <span>${MakeAvailableOffline}</span>
</label> </label>
</div> </div>
@ -52,6 +52,7 @@
&nbsp; &nbsp;
</button> </button>
<div class="detailUserDataIcons userDataIcons"></div> <div class="detailUserDataIcons userDataIcons"></div>
<button is="emby-button" type="button" class="btnDeleteItem fab mini hide" title="${DeleteMedia}"><i class="md-icon">delete</i></button>
</div> </div>
<div class="recordingFields hide" style="margin: .5em 0 1.5em;"> <div class="recordingFields hide" style="margin: .5em 0 1.5em;">

View file

@ -75,7 +75,8 @@
positionTo: button, positionTo: button,
cancelTimer: false, cancelTimer: false,
record: false, record: false,
editImages: false editImages: false,
deleteItem: item.IsFolder === true
}; };
if (appHost.supports('sync')) { if (appHost.supports('sync')) {
@ -116,9 +117,13 @@
setInitialCollapsibleState(page, item, context, user); setInitialCollapsibleState(page, item, context, user);
renderDetails(page, item, context); renderDetails(page, item, context);
if (dom.getWindowSize().innerWidth >= 800) {
backdrop.setBackdrops([item], { backdrop.setBackdrops([item], {
blur: 32 blur: 30
}, false); }, false);
} else {
backdrop.clear();
}
LibraryBrowser.renderDetailPageBackdrop(page, item, imageLoader); LibraryBrowser.renderDetailPageBackdrop(page, item, imageLoader);
@ -145,12 +150,22 @@
hideAll(page, 'btnPlay'); hideAll(page, 'btnPlay');
} }
var hasAnyButton = canPlay;
if ((item.LocalTrailerCount || (item.RemoteTrailers && item.RemoteTrailers.length)) && item.PlayAccess == 'Full') { if ((item.LocalTrailerCount || (item.RemoteTrailers && item.RemoteTrailers.length)) && item.PlayAccess == 'Full') {
hideAll(page, 'btnPlayTrailer', true); hideAll(page, 'btnPlayTrailer', true);
hasAnyButton = true;
} else { } else {
hideAll(page, 'btnPlayTrailer'); hideAll(page, 'btnPlayTrailer');
} }
if (item.CanDelete && !item.IsFolder) {
hideAll(page, 'btnDeleteItem', true);
hasAnyButton = true;
} else {
hideAll(page, 'btnDeleteItem');
}
if (itemHelper.canSync(user, item)) { if (itemHelper.canSync(user, item)) {
if (appHost.supports('sync')) { if (appHost.supports('sync')) {
hideAll(page, 'syncLocalContainer', true); hideAll(page, 'syncLocalContainer', true);
@ -165,6 +180,12 @@
hideAll(page, 'syncLocalContainer'); hideAll(page, 'syncLocalContainer');
} }
if (hasAnyButton || item.Type !== 'Program') {
hideAll(page, 'mainDetailButtons', true);
} else {
hideAll(page, 'mainDetailButtons');
}
showRecordingFields(page, item, user); showRecordingFields(page, item, user);
var groupedVersions = (item.MediaSources || []).filter(function (g) { var groupedVersions = (item.MediaSources || []).filter(function (g) {
@ -228,34 +249,6 @@
} }
}); });
//if (item.LocationType == "Offline") {
// page.querySelector('.offlineIndicator').classList.remove('hide');
//}
//else {
// page.querySelector('.offlineIndicator').classList.add('hide');
//}
var isMissingEpisode = false;
if (item.LocationType == "Virtual" && item.Type == "Episode") {
try {
if (item.PremiereDate && (new Date().getTime() >= datetime.parseISO8601Date(item.PremiereDate, true).getTime())) {
isMissingEpisode = true;
}
} catch (err) {
}
}
//if (isMissingEpisode) {
// page.querySelector('.missingIndicator').classList.remove('hide');
//}
//else {
// page.querySelector('.missingIndicator').classList.add('hide');
//}
setPeopleHeader(page, item); setPeopleHeader(page, item);
page.dispatchEvent(new CustomEvent("displayingitem", { page.dispatchEvent(new CustomEvent("displayingitem", {
@ -402,11 +395,64 @@
else return "#" + (0x100000000 + (f[3] > -1 && t[3] > -1 ? r(((t[3] - f[3]) * p + f[3]) * 255) : t[3] > -1 ? r(t[3] * 255) : f[3] > -1 ? r(f[3] * 255) : 255) * 0x1000000 + r((t[0] - f[0]) * p + f[0]) * 0x10000 + r((t[1] - f[1]) * p + f[1]) * 0x100 + r((t[2] - f[2]) * p + f[2])).toString(16).slice(f[3] > -1 || t[3] > -1 ? 1 : 3); else return "#" + (0x100000000 + (f[3] > -1 && t[3] > -1 ? r(((t[3] - f[3]) * p + f[3]) * 255) : t[3] > -1 ? r(t[3] * 255) : f[3] > -1 ? r(f[3] * 255) : 255) * 0x1000000 + r((t[0] - f[0]) * p + f[0]) * 0x10000 + r((t[1] - f[1]) * p + f[1]) * 0x100 + r((t[2] - f[2]) * p + f[2])).toString(16).slice(f[3] > -1 || t[3] > -1 ? 1 : 3);
} }
function loadSwatch(page, item) {
var imageTags = item.ImageTags || {};
if (item.PrimaryImageTag) {
imageTags.Primary = item.PrimaryImageTag;
}
var url;
var imageHeight = 300;
if (item.SeriesId && item.SeriesPrimaryImageTag) {
url = ApiClient.getScaledImageUrl(item.SeriesId, {
type: "Primary",
maxHeight: imageHeight,
tag: item.SeriesPrimaryImageTag
});
}
else if (imageTags.Primary) {
url = ApiClient.getScaledImageUrl(item.Id, {
type: "Primary",
maxHeight: imageHeight,
tag: item.ImageTags.Primary
});
}
if (!url) {
return;
}
var img = new Image();
img.onload = function () {
imageLoader.getVibrantInfoFromElement(img, url).then(function (vibrantInfo) {
vibrantInfo = vibrantInfo.split('|');
var detailPageContent = page.querySelector('.detailPageContent');
var detailPagePrimaryContainer = page.querySelector('.detailPagePrimaryContainer');
detailPageContent.style.color = vibrantInfo[1];
detailPagePrimaryContainer.style.backgroundColor = vibrantInfo[0];
});
};
img.src = url;
}
function renderImage(page, item, user) { function renderImage(page, item, user) {
var container = page.querySelector('.detailImageContainer'); var container = page.querySelector('.detailImageContainer');
LibraryBrowser.renderDetailImage(container, item, user.Policy.IsAdministrator && item.MediaType != 'Photo', null, imageLoader, indicators); LibraryBrowser.renderDetailImage(container, item, user.Policy.IsAdministrator && item.MediaType != 'Photo', null, imageLoader, indicators);
//loadSwatch(page, item);
} }
function refreshDetailImageUserData(elem, item) { function refreshDetailImageUserData(elem, item) {
@ -1105,6 +1151,7 @@
var isList = false; var isList = false;
var scrollClass = 'hiddenScrollX'; var scrollClass = 'hiddenScrollX';
var childrenItemsContainer = page.querySelector('.childrenItemsContainer');
if (item.Type == "MusicAlbum") { if (item.Type == "MusicAlbum") {
@ -1137,6 +1184,10 @@
} }
else if (item.Type == "Season" || item.Type == "Episode") { else if (item.Type == "Season" || item.Type == "Episode") {
if (item.Type === 'Episode') {
childrenItemsContainer.classList.add('darkScroller');
}
scrollX = item.Type == "Episode"; scrollX = item.Type == "Episode";
scrollClass = 'smoothScrollX'; scrollClass = 'smoothScrollX';
@ -1164,26 +1215,25 @@
}); });
} }
var elem = page.querySelector('.childrenItemsContainer');
if (scrollX) { if (scrollX) {
elem.classList.add(scrollClass); childrenItemsContainer.classList.add(scrollClass);
elem.classList.remove('vertical-wrap'); childrenItemsContainer.classList.remove('vertical-wrap');
elem.classList.remove('vertical-list'); childrenItemsContainer.classList.remove('vertical-list');
} else { } else {
elem.classList.remove('hiddenScrollX'); childrenItemsContainer.classList.remove('hiddenScrollX');
elem.classList.remove('smoothScrollX'); childrenItemsContainer.classList.remove('smoothScrollX');
if (isList) { if (isList) {
elem.classList.add('vertical-list'); childrenItemsContainer.classList.add('vertical-list');
elem.classList.remove('vertical-wrap'); childrenItemsContainer.classList.remove('vertical-wrap');
} else { } else {
elem.classList.add('vertical-wrap'); childrenItemsContainer.classList.add('vertical-wrap');
elem.classList.remove('vertical-list'); childrenItemsContainer.classList.remove('vertical-list');
} }
} }
elem.innerHTML = html; childrenItemsContainer.innerHTML = html;
imageLoader.lazyChildren(elem); imageLoader.lazyChildren(childrenItemsContainer);
if (item.Type == "BoxSet") { if (item.Type == "BoxSet") {
@ -2087,6 +2137,42 @@
playCurrentItem(this); playCurrentItem(this);
} }
function onDeleteClick() {
var item = currentItem;
var itemId = item.Id;
var parentId = item.ParentId;
var serverId = item.ServerId;
var msg = globalize.translate('sharedcomponents#ConfirmDeleteItem');
var title = globalize.translate('sharedcomponents#HeaderDeleteItem');
var apiClient = ApiClient;
require(['confirm'], function (confirm) {
confirm({
title: title,
text: msg,
confirmText: globalize.translate('sharedcomponents#Delete'),
primary: 'cancel'
}).then(function () {
apiClient.deleteItem(itemId).then(function () {
if (parentId) {
Emby.Page.showItem(parentId, serverId);
} else {
Emby.Page.goHome();
}
});
});
});
}
return function (view, params) { return function (view, params) {
function resetSyncStatus() { function resetSyncStatus() {
@ -2161,6 +2247,11 @@
elems[i].addEventListener('click', onPlayTrailerClick); elems[i].addEventListener('click', onPlayTrailerClick);
} }
elems = view.querySelectorAll('.btnDeleteItem');
for (i = 0, length = elems.length; i < length; i++) {
elems[i].addEventListener('click', onDeleteClick);
}
view.querySelector('.btnSplitVersions').addEventListener('click', function () { view.querySelector('.btnSplitVersions').addEventListener('click', function () {
splitVersions(view, params); splitVersions(view, params);

View file

@ -24,6 +24,7 @@
"LabelAddConnectSupporterHelp": "To add a user who isn't listed, you'll need to first link their account to Emby Connect from their user profile page.", "LabelAddConnectSupporterHelp": "To add a user who isn't listed, you'll need to first link their account to Emby Connect from their user profile page.",
"LabelPinCode": "Pin code:", "LabelPinCode": "Pin code:",
"OptionHideWatchedContentFromLatestMedia": "Hide watched content from latest media", "OptionHideWatchedContentFromLatestMedia": "Hide watched content from latest media",
"DeleteMedia": "Delete media",
"HeaderSync": "Sync", "HeaderSync": "Sync",
"ButtonOk": "Ok", "ButtonOk": "Ok",
"ButtonCancel": "Cancel", "ButtonCancel": "Cancel",