remove tvos dts hack no longer needed

This commit is contained in:
Luke Pulverenti 2016-12-14 15:58:55 -05:00
parent ef2c5637be
commit fcdcd1d5f4
15 changed files with 112 additions and 47 deletions

View File

@ -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",

View File

@ -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',

View File

@ -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);
} }

View File

@ -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;
}

View File

@ -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

View File

@ -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

View File

@ -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;
}; };

View File

@ -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);
} }
} }

View File

@ -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')));

View File

@ -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) {

View File

@ -1,7 +1,3 @@
.visibilityHide {
visibility: hidden;
}
.recordingButton { .recordingButton {
margin-left: 0; margin-left: 0;
min-width: 10em; min-width: 10em;

View File

@ -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');
} }

View File

@ -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>

View File

@ -1228,7 +1228,8 @@
lazy: true, lazy: true,
showDetailsMenu: true, showDetailsMenu: true,
overlayPlayButton: true, overlayPlayButton: true,
allowBottomPadding: !scrollX allowBottomPadding: !scrollX,
includeParentInfoInTitle: false
}); });
} }
} }

View File

@ -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