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

update prompt dialog

This commit is contained in:
Luke Pulverenti 2016-09-08 02:15:44 -04:00
parent 1bc42f10d6
commit 719ed8d8bd
60 changed files with 285 additions and 206 deletions

View file

@ -14,12 +14,12 @@
}, },
"devDependencies": {}, "devDependencies": {},
"ignore": [], "ignore": [],
"version": "1.4.229", "version": "1.4.230",
"_release": "1.4.229", "_release": "1.4.230",
"_resolution": { "_resolution": {
"type": "version", "type": "version",
"tag": "1.4.229", "tag": "1.4.230",
"commit": "aaee0b2e654b9007116e9b4eb5b5b86dd39d323b" "commit": "d7cf0c71da21ae2be3cdda68017c0e4c654275a5"
}, },
"_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

@ -32,6 +32,16 @@
max-height: 84%; max-height: 84%;
} }
@media all and (min-width: 800px) and (min-height: 600px) {
.dialog-mini {
top: 20% !important;
bottom: 20% !important;
left: 25% !important;
right: 25% !important;
}
}
@media all and (min-width: 1280px) and (min-height: 720px) { @media all and (min-width: 1280px) and (min-height: 720px) {
.dialog-medium { .dialog-medium {
@ -54,9 +64,13 @@
left: 20% !important; left: 20% !important;
right: 20% !important; right: 20% !important;
} }
}
@media all and (min-width: 1280px) and (min-height: 720px) { .dialog-mini {
top: 20% !important;
bottom: 20% !important;
left: 30% !important;
right: 30% !important;
}
.dialog-fullscreen-border { .dialog-fullscreen-border {
top: 5% !important; top: 5% !important;

View file

@ -22,6 +22,7 @@
border: 0; border: 0;
text-transform: none; text-transform: none;
border-bottom: 1px solid #333; border-bottom: 1px solid #333;
padding-left: .1em;
} }
.emby-collapse-expandIcon { .emby-collapse-expandIcon {

View file

@ -31,43 +31,27 @@
if (!this.id) { if (!this.id) {
this.id = 'embyinput' + inputId; this.id = 'embyinput' + inputId;
inputId++; inputId++;
} } if (this.classList.contains('emby-input')) {
};
EmbyInputPrototype.attachedCallback = function () {
if (this.classList.contains('emby-input')) {
return; return;
} }
this.classList.add('emby-input'); this.classList.add('emby-input');
var parentNode = this.parentNode; var parentNode = this.parentNode;
var label = this.ownerDocument.createElement('label'); var document = this.ownerDocument;
var label = document.createElement('label');
label.innerHTML = this.getAttribute('label') || ''; label.innerHTML = this.getAttribute('label') || '';
label.classList.add('inputLabel'); label.classList.add('inputLabel');
label.classList.add('inputLabelUnfocused'); label.classList.add('inputLabelUnfocused');
var instanceSupportsFloat = supportsFloatingLabel && this.type != 'date' && this.type != 'time';
label.htmlFor = this.id; label.htmlFor = this.id;
parentNode.insertBefore(label, this); parentNode.insertBefore(label, this);
this.labelElement = label;
var div = document.createElement('div'); var div = document.createElement('div');
div.classList.add('emby-input-selectionbar'); div.classList.add('emby-input-selectionbar');
parentNode.insertBefore(div, this.nextSibling); parentNode.insertBefore(div, this.nextSibling);
function onChange() {
if (this.value) {
label.classList.remove('inputLabel-float');
} else {
if (instanceSupportsFloat) {
label.classList.add('inputLabel-float');
}
}
}
dom.addEventListener(this, 'focus', function () { dom.addEventListener(this, 'focus', function () {
onChange.call(this); onChange.call(this);
label.classList.add('inputLabelFocused'); label.classList.add('inputLabelFocused');
@ -93,12 +77,32 @@
dom.addEventListener(this, 'valueset', onChange, { dom.addEventListener(this, 'valueset', onChange, {
passive: true passive: true
}); });
};
function onChange() {
var label = this.labelElement;
if (this.value) {
label.classList.remove('inputLabel-float');
} else {
var instanceSupportsFloat = supportsFloatingLabel && this.type != 'date' && this.type != 'time';
if (instanceSupportsFloat) {
label.classList.add('inputLabel-float');
}
}
}
EmbyInputPrototype.attachedCallback = function () {
this.labelElement.htmlFor = this.id;
onChange.call(this); onChange.call(this);
this.label = function (text) {
label.innerHTML = text;
}; };
EmbyInputPrototype.label = function (text) {
this.labelElement.innerHTML = text;
}; };
document.registerElement('emby-input', { document.registerElement('emby-input', {

View file

@ -17,9 +17,14 @@
for (var i = 0, length = chkIndicators.length; i < length; i++) { for (var i = 0, length = chkIndicators.length; i < length; i++) {
var type = chkIndicators[i].getAttribute('data-type'); var type = chkIndicators[i].getAttribute('data-type');
if (chkIndicators[i].getAttribute('data-default') == 'true') {
chkIndicators[i].checked = userSettings.get('guide-indicator-' + type) != 'false';
} else {
chkIndicators[i].checked = userSettings.get('guide-indicator-' + type) == 'true'; chkIndicators[i].checked = userSettings.get('guide-indicator-' + type) == 'true';
} }
} }
}
function showEditor() { function showEditor() {

View file

@ -14,7 +14,7 @@
<span>${HDPrograms}</span> <span>${HDPrograms}</span>
</label> </label>
<label> <label>
<input type="checkbox" is="emby-checkbox" class="chkIndicator" data-type="live" /> <input type="checkbox" is="emby-checkbox" class="chkIndicator" data-type="live" data-default="true" />
<span>${LiveBroadcasts}</span> <span>${LiveBroadcasts}</span>
</label> </label>
<label> <label>
@ -22,7 +22,7 @@
<span>${NewEpisodes}</span> <span>${NewEpisodes}</span>
</label> </label>
<label> <label>
<input type="checkbox" is="emby-checkbox" class="chkIndicator" data-type="premiere" /> <input type="checkbox" is="emby-checkbox" class="chkIndicator" data-type="premiere" data-default="true" />
<span>${Premieres}</span> <span>${Premieres}</span>
</label> </label>
<label> <label>

View file

@ -432,8 +432,8 @@
var options = { var options = {
showHdIcon: allowIndicators && userSettings.get('guide-indicator-hd') == 'true', showHdIcon: allowIndicators && userSettings.get('guide-indicator-hd') == 'true',
showLiveIndicator: allowIndicators && userSettings.get('guide-indicator-live') == 'true', showLiveIndicator: allowIndicators && userSettings.get('guide-indicator-live') != 'false',
showPremiereIndicator: allowIndicators && userSettings.get('guide-indicator-premiere') == 'true', showPremiereIndicator: allowIndicators && userSettings.get('guide-indicator-premiere') != 'false',
showNewIndicator: allowIndicators && userSettings.get('guide-indicator-new') == 'true', showNewIndicator: allowIndicators && userSettings.get('guide-indicator-new') == 'true',
showRepeatIndicator: allowIndicators && userSettings.get('guide-indicator-repeat') == 'true' showRepeatIndicator: allowIndicators && userSettings.get('guide-indicator-repeat') == 'true'
}; };

View file

@ -1,89 +1,59 @@
define(['dialogHelper', 'layoutManager', 'globalize', 'material-icons', 'css!./style.css', 'emby-button', 'paper-icon-button-light', 'emby-input'], function (dialogHelper, layoutManager, globalize) { define(['dialogHelper', 'layoutManager', 'scrollHelper', 'globalize', 'require', 'material-icons', 'emby-button', 'paper-icon-button-light', 'emby-input', 'emby-input', 'formDialogStyle'], function (dialogHelper, layoutManager, scrollHelper, globalize, require) {
function getIcon(icon, cssClass, canFocus, autoFocus) { function setInputProperties(dlg, options) {
var txtInput = dlg.querySelector('#txtInput');
var tabIndex = canFocus ? '' : ' tabindex="-1"'; txtInput.value = options.value || '';
autoFocus = autoFocus ? ' autofocus' : ''; txtInput.label(options.label || '');
return '<button is="paper-icon-button-light" class="autoSize ' + cssClass + '"' + tabIndex + autoFocus + '><i class="md-icon promptExitIcon">' + icon + '</i></button>';
} }
return function (options) { function showPrompt(options, template) {
if (typeof options === 'string') {
options = {
title: '',
text: options
};
}
var dialogOptions = { var dialogOptions = {
removeOnClose: true removeOnClose: true,
scrollY: false
}; };
var backButton = false;
var raisedButtons = false;
if (layoutManager.tv) { if (layoutManager.tv) {
dialogOptions.size = 'fullscreen'; dialogOptions.size = 'fullscreen';
backButton = true;
raisedButtons = true;
} else { } else {
dialogOptions.size = 'mini';
dialogOptions.modal = false;
dialogOptions.entryAnimationDuration = 160;
dialogOptions.exitAnimationDuration = 200;
} }
var dlg = dialogHelper.createDialog(dialogOptions); var dlg = dialogHelper.createDialog(dialogOptions);
dlg.classList.add('promptDialog'); dlg.classList.add('formDialog');
var html = ''; dlg.innerHTML = globalize.translateHtml(template, 'sharedcomponents');
var submitValue = '';
html += '<div class="promptDialogContent">'; if (layoutManager.tv) {
if (backButton) { scrollHelper.centerFocus.on(dlg.querySelector('.formDialogContent'), false);
html += getIcon('&#xE5C4;', 'btnPromptExit', false);
} }
dlg.querySelector('.btnCancel').addEventListener('click', function (e) {
dialogHelper.close(dlg);
});
if (options.title) { if (options.title) {
html += '<h2>'; dlg.querySelector('.dialogContentTitle').innerHTML = options.title;
html += options.title; } else {
html += '</h2>'; dlg.querySelector('.dialogContentTitle').classList.add('hide');
} }
html += '<form>';
html += '<div class="inputContainer" style="margin-bottom:0;">';
html += '<input is="emby-input" type="text" autoFocus class="txtPromptValue" value="' + (options.value || '') + '" label="' + (options.label || '') + '"/>';
if (options.description) { if (options.description) {
html += '<div class="fieldDescription">'; dlg.querySelector('.fieldDescription').innerHTML = options.description;
html += options.description;
html += '</div>';
}
html += '</div>';
html += '<br/>';
if (raisedButtons) {
html += '<button is="emby-button" type="submit" class="raised btnSubmit"><i class="md-icon">check</i><span>' + globalize.translate('sharedcomponents#ButtonOk') + '</span></button>';
} else { } else {
html += '<div class="buttons">'; dlg.querySelector('.fieldDescription').classList.add('hide');
html += '<button is="emby-button" type="submit" class="btnSubmit">' + globalize.translate('sharedcomponents#ButtonOk') + '</button>';
html += '<button is="emby-button" type="button" class="btnPromptExit">' + globalize.translate('sharedcomponents#ButtonCancel') + '</button>';
html += '</div>';
} }
html += '</form>';
html += '</div>'; setInputProperties(dlg, options);
dlg.innerHTML = html;
document.body.appendChild(dlg); document.body.appendChild(dlg);
var submitValue;
dlg.querySelector('form').addEventListener('submit', function (e) { dlg.querySelector('form').addEventListener('submit', function (e) {
submitValue = dlg.querySelector('.txtPromptValue').value; submitValue = dlg.querySelector('#txtInput').value;
e.preventDefault(); e.preventDefault();
e.stopPropagation(); e.stopPropagation();
@ -95,11 +65,6 @@ define(['dialogHelper', 'layoutManager', 'globalize', 'material-icons', 'css!./s
return false; return false;
}); });
dlg.querySelector('.btnPromptExit').addEventListener('click', function (e) {
dialogHelper.close(dlg);
});
return dialogHelper.open(dlg).then(function () { return dialogHelper.open(dlg).then(function () {
var value = submitValue; var value = submitValue;
@ -109,5 +74,21 @@ define(['dialogHelper', 'layoutManager', 'globalize', 'material-icons', 'css!./s
return Promise.reject(); return Promise.reject();
} }
}); });
}
return function (options) {
return new Promise(function (resolve, reject) {
require(['text!./prompt.template.html'], function (template) {
if (typeof options === 'string') {
options = {
title: '',
text: options
};
}
showPrompt(options, template).then(resolve, reject);
});
});
}; };
}); });

View file

@ -0,0 +1,24 @@
<div class="formDialogHeader">
<button is="paper-icon-button-light" class="btnCancel autoSize" tabindex="-1"><i class="md-icon">&#xE5C4;</i></button>
</div>
<div class="formDialogContent smoothScrollY">
<div class="dialogContentInner dialog-content-centered">
<h1 class="dialogContentTitle"></h1>
<form>
<div class="inputContainer">
<input is="emby-input" type="text" id="txtInput" label="${LabelPrePaddingMinutes}"/>
<div class="fieldDescription"></div>
</div>
<div class="formDialogFooter">
<button is="emby-button" type="submit" class="raised btnSubmit block formDialogFooterItem">
<span>${ButtonOk}</span>
</button>
</div>
</form>
</div>
</div>

View file

@ -1,37 +0,0 @@
.promptDialog {
flex-direction: column;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.promptDialogContent {
text-align: left;
margin: 0 !important;
}
.promptDialog-fullscreen .promptDialogContent {
padding: 0;
width: 50%;
}
.promptDialog-fullscreen .btnSubmit {
display: flex;
width: 100%;
align-items: center;
justify-content: center;
}
.promptDialog-fullscreen .btnPromptExit {
z-index: 1002;
position: absolute;
top: .5em;
left: .5em;
}
.promptDialog-fullscreen .promptExitIcon {
width: 4.4vh;
height: 4.4vh;
font-size: 4.4vh;
}

View file

@ -1,4 +1,4 @@
define(['dialogHelper', 'globalize', 'layoutManager', 'mediaInfo', 'apphost', 'connectionManager', 'require', 'loading', 'scrollHelper', 'emby-checkbox', 'emby-button', 'emby-collapse', 'emby-input', 'paper-icon-button-light', 'css!./../formdialog', 'css!./recordingcreator', 'material-icons'], function (dialogHelper, globalize, layoutManager, mediaInfo, appHost, connectionManager, require, loading, scrollHelper) { define(['dialogHelper', 'globalize', 'layoutManager', 'mediaInfo', 'apphost', 'connectionManager', 'require', 'loading', 'scrollHelper', 'shell', 'emby-checkbox', 'emby-button', 'emby-collapse', 'emby-input', 'paper-icon-button-light', 'css!./../formdialog', 'css!./recordingcreator', 'material-icons'], function (dialogHelper, globalize, layoutManager, mediaInfo, appHost, connectionManager, require, loading, scrollHelper, shell) {
var currentProgramId; var currentProgramId;
var currentServerId; var currentServerId;
@ -99,13 +99,14 @@
return false; return false;
} }
function getRegistration(apiClient) { function getRegistration(apiClient, programId, feature) {
loading.show(); loading.show();
return apiClient.getJSON(apiClient.getUrl('LiveTv/Registration', { return apiClient.getJSON(apiClient.getUrl('LiveTv/Registration', {
Feature: 'seriesrecordings' ProgramId: programId,
Feature: feature
})).then(function (result) { })).then(function (result) {
@ -139,13 +140,34 @@
showSeriesDays(context); showSeriesDays(context);
context.querySelector('.btnSubmit').classList.remove('hide'); context.querySelector('.btnSubmit').classList.remove('hide');
getRegistration(apiClient).then(function (regInfo) { getRegistration(apiClient, currentProgramId, 'seriesrecordings').then(function (regInfo) {
if (regInfo.IsRegistered) { if (regInfo.IsRegistered) {
context.querySelector('.btnSubmit').classList.remove('hide'); context.querySelector('.btnSubmit').classList.remove('hide');
context.querySelector('.supporterContainer').classList.add('hide'); context.querySelector('.supporterContainer').classList.add('hide');
} else { } else {
context.querySelector('.supporterContainerText').innerHTML = globalize.translate('sharedcomponents#MessageActiveSubscriptionRequiredSeriesRecordings');
context.querySelector('.supporterContainer').classList.remove('hide');
context.querySelector('.btnSubmit').classList.add('hide');
}
});
}
function showSingleRecordingFields(context, apiClient) {
context.querySelector('.btnSubmit').classList.remove('hide');
getRegistration(apiClient, currentProgramId, 'dvr').then(function (regInfo) {
if (regInfo.IsRegistered) {
context.querySelector('.btnSubmit').classList.remove('hide');
context.querySelector('.supporterContainer').classList.add('hide');
} else {
context.querySelector('.supporterContainerText').innerHTML = globalize.translate('sharedcomponents#DvrSubscriptionRequired');
context.querySelector('.supporterContainer').classList.remove('hide'); context.querySelector('.supporterContainer').classList.remove('hide');
context.querySelector('.btnSubmit').classList.add('hide'); context.querySelector('.btnSubmit').classList.add('hide');
} }
@ -205,6 +227,7 @@
showSeriesRecordingFields(context, apiClient); showSeriesRecordingFields(context, apiClient);
} else { } else {
hideSeriesRecordingFields(context); hideSeriesRecordingFields(context);
showSingleRecordingFields(context, apiClient);
} }
}); });
@ -299,10 +322,9 @@
function onSupporterButtonClick() { function onSupporterButtonClick() {
if (appHost.supports('externalpremium')) { if (appHost.supports('externalpremium')) {
require(['shell'], function (shell) {
shell.openUrl('https://emby.media/premiere'); shell.openUrl('https://emby.media/premiere');
});
} else { } else {
} }
} }
@ -379,6 +401,7 @@
dlg.querySelector('.btnSupporterForConverting').addEventListener('click', onSupporterButtonClick); dlg.querySelector('.btnSupporterForConverting').addEventListener('click', onSupporterButtonClick);
hideSeriesRecordingFields(dlg); hideSeriesRecordingFields(dlg);
showSingleRecordingFields(dlg, connectionManager.getApiClient(serverId));
init(dlg); init(dlg);
reload(dlg, itemId); reload(dlg, itemId);

View file

@ -99,7 +99,8 @@
<br /> <br />
<div class="formDialogFooter"> <div class="formDialogFooter">
<div class="supporterContainer hide formDialogFooterItem"> <div class="supporterContainer hide formDialogFooterItem">
<p>${MessageActiveSubscriptionRequiredSeriesRecordings}</p> <div class="supporterContainerText"></div>
<br/>
<button is="emby-button" type="button" class="btnSupporter hide raised accent block"> <button is="emby-button" type="button" class="btnSupporter hide raised accent block">
<span>${HeaderBecomeProjectSupporter}</span> <span>${HeaderBecomeProjectSupporter}</span>
</button> </button>

View file

@ -75,11 +75,6 @@
}); });
context.querySelector('form').addEventListener('submit', onSubmit); context.querySelector('form').addEventListener('submit', onSubmit);
context.querySelector('.btnHeaderSave').addEventListener('click', function (e) {
context.querySelector('.btnSubmit').click();
});
} }
function reload(context, id) { function reload(context, id) {

View file

@ -3,12 +3,6 @@
<div class="formDialogHeaderTitle"> <div class="formDialogHeaderTitle">
${Edit} ${Edit}
</div> </div>
<div style="margin-left:auto; display: flex; align-items: center; justify-content: center;">
<button is="emby-button" type="button" class="btnHeaderSave accent" tabindex="-1">
<i class="md-icon">check</i>
<span>${Save}</span>
</button>
</div>
</div> </div>
<div class="formDialogContent smoothScrollY"> <div class="formDialogContent smoothScrollY">

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "Programas en HD", "HDPrograms": "Programas en HD",
"LiveBroadcasts": "Transmisiones en vivo", "LiveBroadcasts": "Transmisiones en vivo",
"Premieres": "Estrenos", "Premieres": "Estrenos",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repetir episodios",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -277,10 +277,11 @@
"ConfirmDeleteImage": "\u0421\u0443\u0440\u0435\u0442\u0442\u0456 \u0436\u043e\u044f\u043c\u044b\u0437 \u0431\u0430?", "ConfirmDeleteImage": "\u0421\u0443\u0440\u0435\u0442\u0442\u0456 \u0436\u043e\u044f\u043c\u044b\u0437 \u0431\u0430?",
"HeaderEditImages": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0434\u0456 \u04e9\u04a3\u0434\u0435\u0443", "HeaderEditImages": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0434\u0456 \u04e9\u04a3\u0434\u0435\u0443",
"Settings": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440", "Settings": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440",
"ShowIndicatorsFor": "\u041c\u044b\u043d\u0430\u0443 \u04af\u0448\u0456\u043d \u0430\u0439\u0493\u0430\u049b\u0442\u0430\u0443\u044b\u0448\u0442\u0430\u0440\u0434\u044b \u043a\u04e9\u0440\u0441\u0435\u0442\u0443:", "ShowIndicatorsFor": "\u041c\u044b\u043d\u0430\u0443 \u04af\u0448\u0456\u043d \u0431\u0435\u043b\u0433\u0456 \u043a\u04e9\u0440\u0441\u0435\u0442\u0443:",
"NewEpisodes": "\u0416\u0430\u04a3\u0430 \u0431\u04e9\u043b\u0456\u043c\u0434\u0435\u0440", "NewEpisodes": "\u0416\u0430\u04a3\u0430 \u0431\u04e9\u043b\u0456\u043c\u0434\u0435\u0440",
"HDPrograms": "HD-\u043a\u04e9\u0440\u0441\u0435\u0442\u0456\u043c\u0434\u0435\u0440", "HDPrograms": "HD-\u043a\u04e9\u0440\u0441\u0435\u0442\u0456\u043c\u0434\u0435\u0440",
"LiveBroadcasts": "\u042d\u0444\u0438\u0440\u043b\u0456\u043a \u0442\u0430\u0440\u0430\u0442\u0443\u043b\u0430\u0440", "LiveBroadcasts": "\u0422\u0456\u043a\u0435\u043b\u0435\u0439 \u0442\u0430\u0440\u0430\u0442\u044b\u043c\u0434\u0430\u0440",
"Premieres": "\u041f\u0440\u0435\u043c\u044c\u0435\u0440\u0430\u043b\u0430\u0440", "Premieres": "\u041f\u0440\u0435\u043c\u044c\u0435\u0440\u0430\u043b\u0430\u0440",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "\u0411\u04e9\u043b\u0456\u043c\u0434\u0435\u0440\u0434\u0456\u04a3 \u049b\u0430\u0439\u0442\u0430\u043b\u0430\u043d\u0443\u044b",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -277,10 +277,11 @@
"ConfirmDeleteImage": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0440\u0438\u0441\u0443\u043d\u043e\u043a?", "ConfirmDeleteImage": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0440\u0438\u0441\u0443\u043d\u043e\u043a?",
"HeaderEditImages": "\u041f\u0440\u0430\u0432\u0438\u0442\u044c \u0440\u0438\u0441\u0443\u043d\u043a\u0438", "HeaderEditImages": "\u041f\u0440\u0430\u0432\u0438\u0442\u044c \u0440\u0438\u0441\u0443\u043d\u043a\u0438",
"Settings": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b", "Settings": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b",
"ShowIndicatorsFor": "\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u0434\u043b\u044f:", "ShowIndicatorsFor": "\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u043a\u0438 \u0434\u043b\u044f:",
"NewEpisodes": "\u041d\u043e\u0432\u044b\u0435 \u044d\u043f\u0438\u0437\u043e\u0434\u044b", "NewEpisodes": "\u041d\u043e\u0432\u044b\u0435 \u044d\u043f\u0438\u0437\u043e\u0434\u044b",
"HDPrograms": "HD-\u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438", "HDPrograms": "HD-\u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438",
"LiveBroadcasts": "\u042d\u0444\u0438\u0440\u043d\u043e\u0435 \u0432\u0435\u0449\u0430\u043d\u0438\u0435", "LiveBroadcasts": "\u041f\u0440\u044f\u043c\u044b\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438",
"Premieres": "\u041f\u0440\u0435\u043c\u044c\u0435\u0440\u044b", "Premieres": "\u041f\u0440\u0435\u043c\u044c\u0435\u0440\u044b",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "\u041f\u043e\u0432\u0442\u043e\u0440\u0435\u043d\u0438\u0435 \u044d\u043f\u0438\u0437\u043e\u0434\u043e\u0432",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -282,5 +282,6 @@
"HDPrograms": "HD programs", "HDPrograms": "HD programs",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres", "Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes" "RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription."
} }

View file

@ -32,14 +32,14 @@
"web-component-tester": "^4.0.0", "web-component-tester": "^4.0.0",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0" "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
}, },
"homepage": "https://github.com/PolymerElements/iron-icon", "homepage": "https://github.com/polymerelements/iron-icon",
"_release": "1.0.10", "_release": "1.0.10",
"_resolution": { "_resolution": {
"type": "version", "type": "version",
"tag": "v1.0.10", "tag": "v1.0.10",
"commit": "f4e146da4982ff96bb25db85290c09e8de4ec734" "commit": "f4e146da4982ff96bb25db85290c09e8de4ec734"
}, },
"_source": "git://github.com/PolymerElements/iron-icon.git", "_source": "git://github.com/polymerelements/iron-icon.git",
"_target": "^1.0.0", "_target": "^1.0.0",
"_originalSource": "PolymerElements/iron-icon" "_originalSource": "polymerelements/iron-icon"
} }

View file

@ -27,14 +27,14 @@
}, },
"main": "iron-meta.html", "main": "iron-meta.html",
"ignore": [], "ignore": [],
"homepage": "https://github.com/PolymerElements/iron-meta", "homepage": "https://github.com/polymerelements/iron-meta",
"_release": "1.1.2", "_release": "1.1.2",
"_resolution": { "_resolution": {
"type": "version", "type": "version",
"tag": "v1.1.2", "tag": "v1.1.2",
"commit": "bae96531b63ea6d4ce982f5592248aea849c0f5a" "commit": "bae96531b63ea6d4ce982f5592248aea849c0f5a"
}, },
"_source": "git://github.com/PolymerElements/iron-meta.git", "_source": "git://github.com/polymerelements/iron-meta.git",
"_target": "^1.0.0", "_target": "^1.0.0",
"_originalSource": "PolymerElements/iron-meta" "_originalSource": "polymerelements/iron-meta"
} }

View file

@ -32,14 +32,14 @@
"iron-component-page": "polymerElements/iron-component-page#^1.1.6" "iron-component-page": "polymerElements/iron-component-page#^1.1.6"
}, },
"private": true, "private": true,
"homepage": "https://github.com/polymer/polymer", "homepage": "https://github.com/Polymer/polymer",
"_release": "1.6.1", "_release": "1.6.1",
"_resolution": { "_resolution": {
"type": "version", "type": "version",
"tag": "v1.6.1", "tag": "v1.6.1",
"commit": "1f197d9d7874b1e5808b2a5c26f34446a7d912fc" "commit": "1f197d9d7874b1e5808b2a5c26f34446a7d912fc"
}, },
"_source": "git://github.com/polymer/polymer.git", "_source": "git://github.com/Polymer/polymer.git",
"_target": "^1.1.0", "_target": "^1.1.0",
"_originalSource": "polymer/polymer" "_originalSource": "Polymer/polymer"
} }

View file

@ -1,5 +1,11 @@
<div id="liveTvSuggestedPage" data-dom-cache="true" data-role="page" class="page libraryPage liveTvPage pageWithAbsoluteTabs" data-title="${HeaderLiveTv}" data-backdroptype="series,movie"> <div id="liveTvSuggestedPage" data-dom-cache="true" data-role="page" class="page libraryPage liveTvPage pageWithAbsoluteTabs" data-title="${HeaderLiveTv}" data-backdroptype="series,movie">
<style>
.guideOptions {
/* Avoid getting covered up by the tabs */
margin-bottom: 55px;
}
</style>
<div is="emby-tabs" class="libraryViewNav"> <div is="emby-tabs" class="libraryViewNav">
<div class="emby-tabs-slider"> <div class="emby-tabs-slider">
<button is="emby-button" class="emby-tab-button emby-tab-button-active" data-index="0"> <button is="emby-button" class="emby-tab-button emby-tab-button-active" data-index="0">

View file

@ -1,4 +1,4 @@
<div id="liveTvItemsPage" data-role="page" class="page libraryPage liveTvPage noSecondaryNavPage" data-title="${HeaderLiveTv}" data-require="scripts/livetvitems,livetvcss" data-menubutton="false"> <div id="liveTvItemsPage" data-role="page" class="page libraryPage liveTvPage noSecondaryNavPage" data-require="scripts/livetvitems,livetvcss" data-backbutton="true">
<div data-role="content"> <div data-role="content">
<div class="viewSettings"> <div class="viewSettings">

View file

@ -134,6 +134,34 @@
query.IsKids = false; query.IsKids = false;
} }
if (params.type == 'Recordings') {
if (params.IsMovie) {
LibraryMenu.setTitle(Globalize.translate('TabMovies'));
} else if (params.IsSports) {
LibraryMenu.setTitle(Globalize.translate('Sports'));
} else if (params.IsKids) {
LibraryMenu.setTitle(Globalize.translate('HeaderForKids'));
} else {
LibraryMenu.setTitle(Globalize.translate('TabRecordings'));
}
} else if (params.type == 'RecordingSeries') {
LibraryMenu.setTitle(Globalize.translate('TabSeries'));
} else {
if (params.IsMovie) {
LibraryMenu.setTitle(Globalize.translate('HeaderUpcomingMovies'));
} else if (params.IsSports) {
LibraryMenu.setTitle(Globalize.translate('HeaderUpcomingSports'));
} else if (params.IsKids) {
LibraryMenu.setTitle(Globalize.translate('HeaderUpcomingForKids'));
} else {
LibraryMenu.setTitle(Globalize.translate('HeaderUpcomingPrograms'));
}
}
var viewkey = getSavedQueryKey(); var viewkey = getSavedQueryKey();
LibraryBrowser.loadSavedQueryValues(viewkey, query); LibraryBrowser.loadSavedQueryValues(viewkey, query);