mirror of
https://github.com/jellyfin/jellyfin-web.git
synced 2024-11-18 03:18:19 -07:00
remove tvos dts hack no longer needed
This commit is contained in:
parent
ef2c5637be
commit
fcdcd1d5f4
@ -14,12 +14,12 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {},
|
"devDependencies": {},
|
||||||
"ignore": [],
|
"ignore": [],
|
||||||
"version": "1.4.384",
|
"version": "1.4.386",
|
||||||
"_release": "1.4.384",
|
"_release": "1.4.386",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "1.4.384",
|
"tag": "1.4.386",
|
||||||
"commit": "33a70ba81ccaff31238d59704b18af9954a3628a"
|
"commit": "d7a42d3e191011d585f29c654d58409b853c5034"
|
||||||
},
|
},
|
||||||
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
|
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
|
||||||
"_target": "^1.2.1",
|
"_target": "^1.2.1",
|
||||||
|
@ -552,25 +552,6 @@ define(['browser'], function (browser) {
|
|||||||
maxLevel = '51';
|
maxLevel = '51';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (browser.iOS) {
|
|
||||||
profile.ContainerProfiles.push({
|
|
||||||
Type: 'Video',
|
|
||||||
Conditions: [
|
|
||||||
{
|
|
||||||
Condition: 'NotEquals',
|
|
||||||
Property: 'HasAudioCodec',
|
|
||||||
Value: 'dca',
|
|
||||||
IsRequired: false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
Condition: 'NotEquals',
|
|
||||||
Property: 'HasAudioCodec',
|
|
||||||
Value: 'dts',
|
|
||||||
IsRequired: false
|
|
||||||
}]
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
profile.CodecProfiles.push({
|
profile.CodecProfiles.push({
|
||||||
Type: 'Video',
|
Type: 'Video',
|
||||||
Codec: 'h264',
|
Codec: 'h264',
|
||||||
|
@ -813,7 +813,9 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'focusMana
|
|||||||
|
|
||||||
if (showMediaTitle) {
|
if (showMediaTitle) {
|
||||||
|
|
||||||
var name = options.showTitle === 'auto' && !item.IsFolder && item.MediaType === 'Photo' ? '' : itemHelper.getDisplayName(item);
|
var name = options.showTitle === 'auto' && !item.IsFolder && item.MediaType === 'Photo' ? '' : itemHelper.getDisplayName(item, {
|
||||||
|
includeParentInfo: options.includeParentInfoInTitle
|
||||||
|
});
|
||||||
|
|
||||||
lines.push(name);
|
lines.push(name);
|
||||||
}
|
}
|
||||||
|
@ -40,6 +40,18 @@
|
|||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.emby-button-focusscale {
|
||||||
|
transition: transform 180ms ease-out !important;
|
||||||
|
-webkit-transform-origin: center center;
|
||||||
|
transform-origin: center center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.emby-button-focusscale:focus {
|
||||||
|
transform: scale(1.16);
|
||||||
|
z-index: 1;
|
||||||
|
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
||||||
|
}
|
||||||
|
|
||||||
.emby-button > i {
|
.emby-button > i {
|
||||||
/* For non-fab buttons that have icons */
|
/* For non-fab buttons that have icons */
|
||||||
font-size: 1.36em;
|
font-size: 1.36em;
|
||||||
@ -220,3 +232,14 @@
|
|||||||
position: relative;
|
position: relative;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.icon-button-focusscale {
|
||||||
|
transition: transform 180ms ease-out !important;
|
||||||
|
-webkit-transform-origin: center center;
|
||||||
|
transform-origin: center center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-button-focusscale:focus {
|
||||||
|
transform: scale(1.3);
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
define(['browser', 'dom', 'css!./emby-button', 'registerElement'], function (browser, dom) {
|
define(['browser', 'dom', 'layoutManager', 'css!./emby-button', 'registerElement'], function (browser, dom, layoutManager) {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var EmbyButtonPrototype = Object.create(HTMLButtonElement.prototype);
|
var EmbyButtonPrototype = Object.create(HTMLButtonElement.prototype);
|
||||||
@ -78,6 +78,10 @@
|
|||||||
this.classList.add('emby-button-noflex');
|
this.classList.add('emby-button-noflex');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (layoutManager.tv) {
|
||||||
|
this.classList.add('emby-button-focusscale');
|
||||||
|
}
|
||||||
|
|
||||||
if (enableAnimation()) {
|
if (enableAnimation()) {
|
||||||
dom.addEventListener(this, 'keydown', onKeyDown, {
|
dom.addEventListener(this, 'keydown', onKeyDown, {
|
||||||
passive: true
|
passive: true
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
define(['browser', 'dom', 'css!./emby-button', 'registerElement'], function (browser, dom) {
|
define(['browser', 'dom', 'layoutManager', 'css!./emby-button', 'registerElement'], function (browser, dom, layoutManager) {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var EmbyButtonPrototype = Object.create(HTMLButtonElement.prototype);
|
var EmbyButtonPrototype = Object.create(HTMLButtonElement.prototype);
|
||||||
@ -61,6 +61,10 @@
|
|||||||
|
|
||||||
this.classList.add('paper-icon-button-light');
|
this.classList.add('paper-icon-button-light');
|
||||||
|
|
||||||
|
if (layoutManager.tv) {
|
||||||
|
this.classList.add('icon-button-focusscale');
|
||||||
|
}
|
||||||
|
|
||||||
if (enableAnimation()) {
|
if (enableAnimation()) {
|
||||||
dom.addEventListener(this, 'keydown', onKeyDown, {
|
dom.addEventListener(this, 'keydown', onKeyDown, {
|
||||||
passive: true
|
passive: true
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
define(['dom', 'scroller', 'browser', 'registerElement', 'css!./emby-tabs', 'scrollStyles'], function (dom, scroller, browser) {
|
define(['dom', 'scroller', 'browser', 'layoutManager', 'focusManager', 'registerElement', 'css!./emby-tabs', 'scrollStyles'], function (dom, scroller, browser, layoutManager, focusManager) {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var EmbyTabs = Object.create(HTMLDivElement.prototype);
|
var EmbyTabs = Object.create(HTMLDivElement.prototype);
|
||||||
@ -97,6 +97,23 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getFocusCallback(tabs, e) {
|
||||||
|
return function () {
|
||||||
|
onClick.call(tabs, e);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
function onFocus(e) {
|
||||||
|
|
||||||
|
if (layoutManager.tv) {
|
||||||
|
|
||||||
|
if (this.focusTimeout) {
|
||||||
|
clearTimeout(this.focusTimeout);
|
||||||
|
}
|
||||||
|
this.focusTimeout = setTimeout(getFocusCallback(this, e), 700);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function onClick(e) {
|
function onClick(e) {
|
||||||
|
|
||||||
var tabs = this;
|
var tabs = this;
|
||||||
@ -204,14 +221,30 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.classList.add('emby-tabs');
|
this.classList.add('emby-tabs');
|
||||||
|
this.classList.add('focusable');
|
||||||
|
|
||||||
dom.addEventListener(this, 'click', onClick, {
|
dom.addEventListener(this, 'click', onClick, {
|
||||||
passive: true
|
passive: true
|
||||||
});
|
});
|
||||||
|
dom.addEventListener(this, 'focus', onFocus, {
|
||||||
|
passive: true,
|
||||||
|
capture: true
|
||||||
|
});
|
||||||
|
|
||||||
initSelectionBar(this);
|
initSelectionBar(this);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
EmbyTabs.focus = function () {
|
||||||
|
|
||||||
|
var selected = this.querySelector('.' + activeButtonClass);
|
||||||
|
|
||||||
|
if (selected) {
|
||||||
|
focusManager.focus(selected);
|
||||||
|
} else {
|
||||||
|
focusManager.autoFocus(this);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
EmbyTabs.refresh = function () {
|
EmbyTabs.refresh = function () {
|
||||||
|
|
||||||
if (this.scroller) {
|
if (this.scroller) {
|
||||||
@ -243,6 +276,10 @@
|
|||||||
dom.removeEventListener(this, 'click', onClick, {
|
dom.removeEventListener(this, 'click', onClick, {
|
||||||
passive: true
|
passive: true
|
||||||
});
|
});
|
||||||
|
dom.removeEventListener(this, 'focus', onFocus, {
|
||||||
|
passive: true,
|
||||||
|
capture: true
|
||||||
|
});
|
||||||
this.selectionBar = null;
|
this.selectionBar = null;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -304,12 +304,14 @@ define(['dom'], function (dom) {
|
|||||||
var nearestElement = nearest[0].node;
|
var nearestElement = nearest[0].node;
|
||||||
|
|
||||||
// See if there's a focusable container, and if so, send the focus command to that
|
// See if there's a focusable container, and if so, send the focus command to that
|
||||||
|
if (activeElement) {
|
||||||
var nearestElementFocusableParent = dom.parentWithClass(nearestElement, 'focusable');
|
var nearestElementFocusableParent = dom.parentWithClass(nearestElement, 'focusable');
|
||||||
if (nearestElementFocusableParent && nearestElementFocusableParent !== nearestElement && activeElement) {
|
if (nearestElementFocusableParent && nearestElementFocusableParent !== nearestElement) {
|
||||||
if (dom.parentWithClass(activeElement, 'focusable') !== nearestElementFocusableParent) {
|
if (focusableContainer !== nearestElementFocusableParent) {
|
||||||
nearestElement = nearestElementFocusableParent;
|
nearestElement = nearestElementFocusableParent;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
focus(nearestElement);
|
focus(nearestElement);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -36,6 +36,18 @@
|
|||||||
restartAutoRefresh();
|
restartAutoRefresh();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
self.pause = function () {
|
||||||
|
stopAutoRefresh();
|
||||||
|
};
|
||||||
|
|
||||||
|
self.resume = function (refreshData) {
|
||||||
|
if (refreshData) {
|
||||||
|
self.refresh();
|
||||||
|
} else {
|
||||||
|
restartAutoRefresh();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
self.destroy = function () {
|
self.destroy = function () {
|
||||||
|
|
||||||
stopAutoRefresh();
|
stopAutoRefresh();
|
||||||
@ -493,7 +505,7 @@
|
|||||||
timerAttributes += ' data-seriestimerid="' + program.SeriesTimerId + '"';
|
timerAttributes += ' data-seriestimerid="' + program.SeriesTimerId + '"';
|
||||||
}
|
}
|
||||||
|
|
||||||
html += '<button data-action="' + clickAction + '"' + timerAttributes + ' data-id="' + program.Id + '" data-serverid="' + program.ServerId + '" data-type="' + program.Type + '" class="' + cssClass + '" style="left:' + startPercent + '%;width:' + endPercent + '%;">';
|
html += '<button data-action="' + clickAction + '"' + timerAttributes + ' data-channelid="' + program.ChannelId + '" data-id="' + program.Id + '" data-serverid="' + program.ServerId + '" data-type="' + program.Type + '" class="' + cssClass + '" style="left:' + startPercent + '%;width:' + endPercent + '%;">';
|
||||||
|
|
||||||
if (displayInnerContent) {
|
if (displayInnerContent) {
|
||||||
var guideProgramNameClass = "guideProgramName";
|
var guideProgramNameClass = "guideProgramName";
|
||||||
@ -793,6 +805,7 @@
|
|||||||
|
|
||||||
start.setDate(start.getDate() + 1);
|
start.setDate(start.getDate() + 1);
|
||||||
start.setHours(0, 0, 0, 0);
|
start.setHours(0, 0, 0, 0);
|
||||||
|
tabIndex++;
|
||||||
}
|
}
|
||||||
|
|
||||||
page.querySelector('.emby-tabs-slider').innerHTML = dateTabsHtml;
|
page.querySelector('.emby-tabs-slider').innerHTML = dateTabsHtml;
|
||||||
@ -959,8 +972,9 @@
|
|||||||
restartAutoRefresh();
|
restartAutoRefresh();
|
||||||
});
|
});
|
||||||
|
|
||||||
context.querySelector('.guideDateTabsSlider').addEventListener('click', function (e) {
|
context.querySelector('.guideDateTabs').addEventListener('tabchange', function (e) {
|
||||||
var tabButton = dom.parentWithClass(e.target, 'guide-date-tab-button');
|
|
||||||
|
var tabButton = e.target.querySelectorAll('.guide-date-tab-button')[parseInt(e.detail.selectedTabIndex)];
|
||||||
if (tabButton) {
|
if (tabButton) {
|
||||||
var date = new Date();
|
var date = new Date();
|
||||||
date.setTime(parseInt(tabButton.getAttribute('data-date')));
|
date.setTime(parseInt(tabButton.getAttribute('data-date')));
|
||||||
|
@ -30,10 +30,10 @@ define(['apphost'], function (appHost) {
|
|||||||
|
|
||||||
var displayIndexNumber = item.IndexNumber;
|
var displayIndexNumber = item.IndexNumber;
|
||||||
|
|
||||||
var number = "E" + displayIndexNumber;
|
var number = displayIndexNumber;
|
||||||
|
|
||||||
if (options.includeParentInfo !== false) {
|
if (options.includeParentInfo !== false) {
|
||||||
number = "S" + item.ParentIndexNumber + ", " + number;
|
number = "S" + item.ParentIndexNumber + ", E" + number;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (item.IndexNumberEnd) {
|
if (item.IndexNumberEnd) {
|
||||||
|
@ -1,7 +1,3 @@
|
|||||||
.visibilityHide {
|
|
||||||
visibility: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.recordingButton {
|
.recordingButton {
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
min-width: 10em;
|
min-width: 10em;
|
||||||
|
@ -106,21 +106,21 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (program.SeriesTimerId) {
|
if (program.SeriesTimerId) {
|
||||||
parent.querySelector('.btnManageSeriesRecording').classList.remove('visibilityHide');
|
parent.querySelector('.btnManageSeriesRecording').classList.remove('hide');
|
||||||
parent.querySelector('.seriesRecordingButton .recordingIcon').classList.add('recordingIcon-active');
|
parent.querySelector('.seriesRecordingButton .recordingIcon').classList.add('recordingIcon-active');
|
||||||
parent.querySelector('.seriesRecordingButton .buttonText').innerHTML = globalize.translate('sharedcomponents#CancelSeries');
|
parent.querySelector('.seriesRecordingButton .buttonText').innerHTML = globalize.translate('sharedcomponents#CancelSeries');
|
||||||
} else {
|
} else {
|
||||||
parent.querySelector('.btnManageSeriesRecording').classList.add('visibilityHide');
|
parent.querySelector('.btnManageSeriesRecording').classList.add('hide');
|
||||||
parent.querySelector('.seriesRecordingButton .recordingIcon').classList.remove('recordingIcon-active');
|
parent.querySelector('.seriesRecordingButton .recordingIcon').classList.remove('recordingIcon-active');
|
||||||
parent.querySelector('.seriesRecordingButton .buttonText').innerHTML = globalize.translate('sharedcomponents#RecordSeries');
|
parent.querySelector('.seriesRecordingButton .buttonText').innerHTML = globalize.translate('sharedcomponents#RecordSeries');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (program.TimerId && program.Status !== 'Cancelled') {
|
if (program.TimerId && program.Status !== 'Cancelled') {
|
||||||
parent.querySelector('.btnManageRecording').classList.remove('visibilityHide');
|
parent.querySelector('.btnManageRecording').classList.remove('hide');
|
||||||
parent.querySelector('.singleRecordingButton .recordingIcon').classList.add('recordingIcon-active');
|
parent.querySelector('.singleRecordingButton .recordingIcon').classList.add('recordingIcon-active');
|
||||||
parent.querySelector('.singleRecordingButton .buttonText').innerHTML = globalize.translate('sharedcomponents#DoNotRecord');
|
parent.querySelector('.singleRecordingButton .buttonText').innerHTML = globalize.translate('sharedcomponents#DoNotRecord');
|
||||||
} else {
|
} else {
|
||||||
parent.querySelector('.btnManageRecording').classList.add('visibilityHide');
|
parent.querySelector('.btnManageRecording').classList.add('hide');
|
||||||
parent.querySelector('.singleRecordingButton .recordingIcon').classList.remove('recordingIcon-active');
|
parent.querySelector('.singleRecordingButton .recordingIcon').classList.remove('recordingIcon-active');
|
||||||
parent.querySelector('.singleRecordingButton .buttonText').innerHTML = globalize.translate('sharedcomponents#Record');
|
parent.querySelector('.singleRecordingButton .buttonText').innerHTML = globalize.translate('sharedcomponents#Record');
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
<span class="buttonText">${RecordSeries}</span>
|
<span class="buttonText">${RecordSeries}</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<button is="emby-button" type="button" class="button-flat secondaryText manageRecordingButton btnManageSeriesRecording visibilityHide">
|
<button is="emby-button" type="button" class="button-flat secondaryText manageRecordingButton btnManageSeriesRecording hide">
|
||||||
<i class="md-icon manageButtonIcon">settings</i>
|
<i class="md-icon manageButtonIcon">settings</i>
|
||||||
<span class="manageButtonText">${SeriesSettings}</span>
|
<span class="manageButtonText">${SeriesSettings}</span>
|
||||||
</button>
|
</button>
|
||||||
@ -35,7 +35,7 @@
|
|||||||
<span class="buttonText">${Record}</span>
|
<span class="buttonText">${Record}</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<button is="emby-button" type="button" class="button-flat secondaryText manageRecordingButton btnManageRecording visibilityHide">
|
<button is="emby-button" type="button" class="button-flat secondaryText manageRecordingButton btnManageRecording hide">
|
||||||
<i class="md-icon manageButtonIcon">settings</i>
|
<i class="md-icon manageButtonIcon">settings</i>
|
||||||
<span class="manageButtonText">${Settings}</span>
|
<span class="manageButtonText">${Settings}</span>
|
||||||
</button>
|
</button>
|
||||||
|
@ -1228,7 +1228,8 @@
|
|||||||
lazy: true,
|
lazy: true,
|
||||||
showDetailsMenu: true,
|
showDetailsMenu: true,
|
||||||
overlayPlayButton: true,
|
overlayPlayButton: true,
|
||||||
allowBottomPadding: !scrollX
|
allowBottomPadding: !scrollX,
|
||||||
|
includeParentInfoInTitle: false
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -76,6 +76,7 @@
|
|||||||
showChannelName: params.type != 'Recordings' && params.type != 'RecordingSeries',
|
showChannelName: params.type != 'Recordings' && params.type != 'RecordingSeries',
|
||||||
overlayMoreButton: !supportsImageAnalysis,
|
overlayMoreButton: !supportsImageAnalysis,
|
||||||
showYear: query.IsMovie && params.type == 'Recordings',
|
showYear: query.IsMovie && params.type == 'Recordings',
|
||||||
|
showSeriesYear: params.type === 'RecordingSeries',
|
||||||
coverImage: true,
|
coverImage: true,
|
||||||
cardLayout: supportsImageAnalysis,
|
cardLayout: supportsImageAnalysis,
|
||||||
vibrant: supportsImageAnalysis
|
vibrant: supportsImageAnalysis
|
||||||
|
Loading…
Reference in New Issue
Block a user