update metadata manager

This commit is contained in:
Luke Pulverenti 2016-07-24 17:28:47 -04:00
parent 9ecfdc4e7c
commit c3875ebe73
7 changed files with 390 additions and 362 deletions

View file

@ -1,4 +1,4 @@
define(['itemHelper', 'dialogHelper', 'datetime', 'loading', 'focusManager', 'connectionManager', 'globalize', 'require', 'emby-checkbox', 'emby-input', 'emby-select', 'listViewStyle', 'emby-textarea', 'emby-button', 'paper-icon-button-light'], function (itemHelper, dialogHelper, datetime, loading, focusManager, connectionManager, globalize, require) {
define(['itemHelper', 'layoutManager', 'scrollHelper', 'dialogHelper', 'datetime', 'loading', 'focusManager', 'connectionManager', 'globalize', 'require', 'emby-checkbox', 'emby-input', 'emby-select', 'listViewStyle', 'emby-textarea', 'emby-button', 'paper-icon-button-light', 'css!./../formdialog'], function (itemHelper, layoutManager, scrollHelper, dialogHelper, datetime, loading, focusManager, connectionManager, globalize, require) {
var currentContext;
var metadataEditorInfo;
@ -1171,10 +1171,17 @@
require(['text!./metadataeditor.template.html'], function (template) {
var dlg = dialogHelper.createDialog({
removeOnClose: true,
size: 'medium'
});
var dialogOptions = {
removeOnClose: true
};
if (layoutManager.tv) {
dialogOptions.size = 'fullscreen';
} else {
dialogOptions.size = 'medium';
}
var dlg = dialogHelper.createDialog(dialogOptions);
dlg.classList.add('ui-body-b');
dlg.classList.add('background-theme-b');
@ -1188,6 +1195,10 @@
dlg.innerHTML = html;
document.body.appendChild(dlg);
if (layoutManager.tv) {
scrollHelper.centerFocus.on(dlg.querySelector('.dialogContent'), false);
}
dialogHelper.open(dlg);
dlg.addEventListener('close', function () {

View file

@ -1,11 +1,9 @@
<div class="dialogHeader" style="margin:0 0 2em;">
<button is="paper-icon-button-light" class="btnCancel autoSize" tabindex="-1">
<i class="md-icon">&#xE5C4;</i>
</button>
<div class="dialogHeader">
<button is="paper-icon-button-light" class="btnCancel autoSize" tabindex="-1"><i class="md-icon">&#xE5C4;</i></button>
<div class="dialogHeaderTitle">
${ButtonEdit}
</div>
<div style="margin-left:auto; display: flex; align-items: center; justify-content: center;">
<div style="margin-left: auto; display: flex; align-items: center; justify-content: center;">
<button is="emby-button" type="button" class="btnHeaderSave accent autoSize" tabindex="-1">
<i class="md-icon">check</i>
<span>${ButtonSave}</span>
@ -16,303 +14,307 @@
</div>
</div>
<form class="editItemMetadataForm editMetadataForm" style="margin:0;max-width:100%;">
<div class="metadataFormFields">
<div class="dialogContent smoothScrollY" style="padding-top:2em;">
<div style="padding: 0 0 10px;">
<div id="fldContentType" class="selectContainer hide">
<select is="emby-select" id="selectContentType" label="${LabelContentType}"></select>
</div>
<div id="fldPath" class="inputContainer">
<input is="emby-input" id="txtPath" type="text" label="${LabelPath}" readonly />
</div>
<div class="inputContainer">
<input is="emby-input" id="txtName" type="text" label="${LabelTitle}" required="required" />
</div>
<div id="fldOriginalName" class="inputContainer">
<input is="emby-input" id="txtOriginalName" type="text" label="${LabelOriginalTitle}" />
</div>
<div class="inputContainer">
<input is="emby-input" id="txtSortName" type="text" label="${LabelSortTitle}" />
</div>
<div id="fldDateAdded" class="hide inputContainer">
<input is="emby-input" id="txtDateAdded" type="date" label="${LabelDateAdded}" />
<div class="fieldDescription">${ConfigureDateAdded}</div>
</div>
<div id="fldStatus" class="hide selectContainer">
<select is="emby-select" id="selectStatus" label="${LabelStatus}"></select>
</div>
<div id="fldArtist" class="hide inputContainer">
<input is="emby-input" id="txtArtist" type="text" label="${LabelArtists}" />
<div class="fieldDescription">${LabelArtistsHelp}</div>
</div>
<div id="fldAlbumArtist" class="hide inputContainer">
<input is="emby-input" id="txtAlbumArtist" type="text" label="${LabelAlbumArtists}" />
<div class="fieldDescription">${LabelArtistsHelp}</div>
</div>
<div id="fldAlbum" class="hide inputContainer">
<input is="emby-input" id="txtAlbum" type="text" label="${LabelAlbum}" />
</div>
<div id="fldParentIndexNumber" class="hide inputContainer">
<input is="emby-input" id="txtParentIndexNumber" type="number" />
</div>
<div id="fldIndexNumber" class="hide inputContainer">
<input is="emby-input" id="txtIndexNumber" type="number" pattern="[0-9]*" />
</div>
<div id="fldCommunityRating" class="hide inputContainer">
<input is="emby-input" id="txtCommunityRating" type="number" step=".1" min="0" max="10" label="${LabelCommunityRating}" />
</div>
<div id="fldCommunityVoteCount" class="hide inputContainer">
<input is="emby-input" id="txtCommunityVoteCount" type="number" step="1" label="${LabelVoteCount}" />
</div>
<div id="fldMetascore" class="hide inputContainer">
<input is="emby-input" id="txtMetascore" type="number" step="1" min="0" max="100" label="${LabelMetascore}" />
</div>
<div id="fldCriticRating" class="hide inputContainer">
<input is="emby-input" id="txtCriticRating" type="number" step=".1" label="${LabelCriticRating}" />
</div>
<div id="fldCriticRatingSummary" class="hide inputContainer">
<input is="emby-input" id="txtCriticRatingSummary" type="text" label="${LabelCriticRatingSummary}" />
</div>
<div id="fldAwardSummary" class="hide inputContainer">
<input is="emby-input" id="txtAwardSummary" type="text" label="${LabelAwardSummary}" />
</div>
<div class="inputContainer">
<input is="emby-input" id="txtHomePageUrl" type="text" label="${LabelWebsite}" />
</div>
<div id="fldTagline" class="hide inputContainer">
<input is="emby-input" id="txtTagline" type="text" label="${LabelTagline}" />
</div>
<div class="inputContainer">
<textarea is="emby-textarea" id="txtOverview" label="${LabelOverview}"></textarea>
</div>
<div id="fldShortOverview" class="hide inputContainer">
<input is="emby-input" id="txtShortOverview" type="text" label="${LabelShortOverview}" />
</div>
<div id="fldPremiereDate" class="inputContainer">
<input is="emby-input" id="txtPremiereDate" label="${LabelReleaseDate}" type="date" />
</div>
<div id="fldYear" class="hide inputContainer">
<input is="emby-input" id="txtProductionYear" type="number" label="${LabelYear}" />
</div>
<div id="fldPlaceOfBirth" class="hide inputContainer">
<input is="emby-input" id="txtPlaceOfBirth" type="text" label="${LabelPlaceOfBirth}" />
</div>
<div id="fldEndDate" class="inputContainer">
<input is="emby-input" id="txtEndDate" label="${LabelEndDate}" type="date" />
</div>
<div id="fldAirDays" class="hide">
<p>${LabelAirDays}</p>
<form class="editItemMetadataForm editMetadataForm dialogContentInner centeredContent">
<div class="metadataFormFields">
<div class="checkboxList">
<label>
<input type="checkbox" is="emby-checkbox" class="chkAirDay" data-day="Sunday" />
<span>${OptionSunday}</span>
</label>
<label>
<input type="checkbox" is="emby-checkbox" class="chkAirDay" data-day="Monday" />
<span>${OptionMonday}</span>
</label>
<label>
<input type="checkbox" is="emby-checkbox" class="chkAirDay" data-day="Tuesday" />
<span>${OptionTuesday}</span>
</label>
<label>
<input type="checkbox" is="emby-checkbox" class="chkAirDay" data-day="Wednesday" />
<span>${OptionWednesday}</span>
</label>
<label>
<input type="checkbox" is="emby-checkbox" class="chkAirDay" data-day="Thursday" />
<span>${OptionThursday}</span>
</label>
<label>
<input type="checkbox" is="emby-checkbox" class="chkAirDay" data-day="Friday" />
<span>${OptionFriday}</span>
</label>
<label>
<input type="checkbox" is="emby-checkbox" class="chkAirDay" data-day="Saturday" />
<span>${OptionSaturday}</span>
</label>
<div style="padding: 0 0 10px;">
<div id="fldContentType" class="selectContainer hide">
<select is="emby-select" id="selectContentType" label="${LabelContentType}"></select>
</div>
<br />
<div id="fldPath" class="inputContainer">
<input is="emby-input" id="txtPath" type="text" label="${LabelPath}" readonly />
</div>
<div class="inputContainer">
<input is="emby-input" id="txtName" type="text" label="${LabelTitle}" required="required" />
</div>
<div id="fldOriginalName" class="inputContainer">
<input is="emby-input" id="txtOriginalName" type="text" label="${LabelOriginalTitle}" />
</div>
<div class="inputContainer">
<input is="emby-input" id="txtSortName" type="text" label="${LabelSortTitle}" />
</div>
<div id="fldDateAdded" class="hide inputContainer">
<input is="emby-input" id="txtDateAdded" type="date" label="${LabelDateAdded}" />
<div class="fieldDescription">${ConfigureDateAdded}</div>
</div>
<div id="fldStatus" class="hide selectContainer">
<select is="emby-select" id="selectStatus" label="${LabelStatus}"></select>
</div>
<div id="fldArtist" class="hide inputContainer">
<input is="emby-input" id="txtArtist" type="text" label="${LabelArtists}" />
<div class="fieldDescription">${LabelArtistsHelp}</div>
</div>
<div id="fldAlbumArtist" class="hide inputContainer">
<input is="emby-input" id="txtAlbumArtist" type="text" label="${LabelAlbumArtists}" />
<div class="fieldDescription">${LabelArtistsHelp}</div>
</div>
<div id="fldAlbum" class="hide inputContainer">
<input is="emby-input" id="txtAlbum" type="text" label="${LabelAlbum}" />
</div>
<div id="fldParentIndexNumber" class="hide inputContainer">
<input is="emby-input" id="txtParentIndexNumber" type="number" />
</div>
<div id="fldIndexNumber" class="hide inputContainer">
<input is="emby-input" id="txtIndexNumber" type="number" pattern="[0-9]*" />
</div>
<div id="fldCommunityRating" class="hide inputContainer">
<input is="emby-input" id="txtCommunityRating" type="number" step=".1" min="0" max="10" label="${LabelCommunityRating}" />
</div>
<div id="fldCommunityVoteCount" class="hide inputContainer">
<input is="emby-input" id="txtCommunityVoteCount" type="number" step="1" label="${LabelVoteCount}" />
</div>
<div id="fldMetascore" class="hide inputContainer">
<input is="emby-input" id="txtMetascore" type="number" step="1" min="0" max="100" label="${LabelMetascore}" />
</div>
<div id="fldCriticRating" class="hide inputContainer">
<input is="emby-input" id="txtCriticRating" type="number" step=".1" label="${LabelCriticRating}" />
</div>
<div id="fldCriticRatingSummary" class="hide inputContainer">
<input is="emby-input" id="txtCriticRatingSummary" type="text" label="${LabelCriticRatingSummary}" />
</div>
<div id="fldAwardSummary" class="hide inputContainer">
<input is="emby-input" id="txtAwardSummary" type="text" label="${LabelAwardSummary}" />
</div>
<div class="inputContainer">
<input is="emby-input" id="txtHomePageUrl" type="text" label="${LabelWebsite}" />
</div>
<div id="fldTagline" class="hide inputContainer">
<input is="emby-input" id="txtTagline" type="text" label="${LabelTagline}" />
</div>
<div class="inputContainer">
<textarea is="emby-textarea" id="txtOverview" label="${LabelOverview}"></textarea>
</div>
<div id="fldShortOverview" class="hide inputContainer">
<input is="emby-input" id="txtShortOverview" type="text" label="${LabelShortOverview}" />
</div>
<div id="fldPremiereDate" class="inputContainer">
<input is="emby-input" id="txtPremiereDate" label="${LabelReleaseDate}" type="date" />
</div>
<div id="fldYear" class="hide inputContainer">
<input is="emby-input" id="txtProductionYear" type="number" label="${LabelYear}" />
</div>
<div id="fldPlaceOfBirth" class="hide inputContainer">
<input is="emby-input" id="txtPlaceOfBirth" type="text" label="${LabelPlaceOfBirth}" />
</div>
<div id="fldEndDate" class="inputContainer">
<input is="emby-input" id="txtEndDate" label="${LabelEndDate}" type="date" />
</div>
<div id="fldAirDays" class="hide">
<p>${LabelAirDays}</p>
</div>
<div id="fldAirTime" class="inputContainer hide">
<input is="emby-input" id="txtAirTime" type="text" label="${LabelAirTime}" />
</div>
<div id="fldSeriesRuntime" class="inputContainer hide">
<input is="emby-input" id="txtSeriesRuntime" type="number" label="${LabelRuntimeMinutes}" />
</div>
<div id="fldOfficialRating" class="selectContainer hide">
<select is="emby-select" id="selectOfficialRating" label="${LabelParentalRating}"></select>
</div>
<div id="fldCustomRating" class="selectContainer hide">
<select is="emby-select" id="selectCustomRating" label="${LabelCustomRating}"></select>
</div>
<div id="fldBudget" class="inputContainer hide">
<input is="emby-input" id="txtBudget" type="number" label="${LabelBudget}" />
</div>
<div id="fldRevenue" class="inputContainer hide">
<input is="emby-input" id="txtRevenue" type="number" label="${LabelRevenue}" />
</div>
<div id="fldOriginalAspectRatio" class="inputContainer hide">
<input is="emby-input" id="txtOriginalAspectRatio" type="text" label="${LabelOriginalAspectRatio}" />
</div>
<div id="fldPlayers" class="inputContainer hide">
<input is="emby-input" id="txtPlayers" type="number" pattern="[0-9]*" label="${LabelPlayers}" />
</div>
<div id="fld3dFormat" class="selectContainer hide">
<select is="emby-select" id="select3dFormat" label="${Label3DFormat}">
<option value=""></option>
<option value="HalfSideBySide">HSBS</option>
<option value="HalfTopAndBottom">HTAB</option>
<option value="FullSideBySide">FSBS</option>
<option value="FullTopAndBottom">FTAB</option>
<option value="MVC">MVC</option>
</select>
</div>
</div>
<br />
<div class="checkboxList">
<label>
<input type="checkbox" is="emby-checkbox" class="chkAirDay" data-day="Sunday" />
<span>${OptionSunday}</span>
</label>
<label>
<input type="checkbox" is="emby-checkbox" class="chkAirDay" data-day="Monday" />
<span>${OptionMonday}</span>
</label>
<label>
<input type="checkbox" is="emby-checkbox" class="chkAirDay" data-day="Tuesday" />
<span>${OptionTuesday}</span>
</label>
<label>
<input type="checkbox" is="emby-checkbox" class="chkAirDay" data-day="Wednesday" />
<span>${OptionWednesday}</span>
</label>
<label>
<input type="checkbox" is="emby-checkbox" class="chkAirDay" data-day="Thursday" />
<span>${OptionThursday}</span>
</label>
<label>
<input type="checkbox" is="emby-checkbox" class="chkAirDay" data-day="Friday" />
<span>${OptionFriday}</span>
</label>
<label>
<input type="checkbox" is="emby-checkbox" class="chkAirDay" data-day="Saturday" />
<span>${OptionSaturday}</span>
</label>
</div>
<br />
<div class="detailSection hide" id="collapsibleDvdEpisodeInfo">
<h1>
${HeaderAlternateEpisodeNumbers}
</h1>
<div class="inputContainer">
<input is="emby-input" id="txtDvdSeasonNumber" type="number" pattern="[0-9]*" label="${LabelDvdSeasonNumber}" />
</div>
<div id="fldAirTime" class="inputContainer hide">
<input is="emby-input" id="txtAirTime" type="text" label="${LabelAirTime}" />
</div>
<div id="fldSeriesRuntime" class="inputContainer hide">
<input is="emby-input" id="txtSeriesRuntime" type="number" label="${LabelRuntimeMinutes}" />
</div>
<div id="fldOfficialRating" class="selectContainer hide">
<select is="emby-select" id="selectOfficialRating" label="${LabelParentalRating}"></select>
</div>
<div id="fldCustomRating" class="selectContainer hide">
<select is="emby-select" id="selectCustomRating" label="${LabelCustomRating}"></select>
</div>
<div id="fldBudget" class="inputContainer hide">
<input is="emby-input" id="txtBudget" type="number" label="${LabelBudget}" />
</div>
<div id="fldRevenue" class="inputContainer hide">
<input is="emby-input" id="txtRevenue" type="number" label="${LabelRevenue}" />
</div>
<div id="fldOriginalAspectRatio" class="inputContainer hide">
<input is="emby-input" id="txtOriginalAspectRatio" type="text" label="${LabelOriginalAspectRatio}" />
</div>
<div id="fldPlayers" class="inputContainer hide">
<input is="emby-input" id="txtPlayers" type="number" pattern="[0-9]*" label="${LabelPlayers}" />
</div>
<div id="fld3dFormat" class="selectContainer hide">
<select is="emby-select" id="select3dFormat" label="${Label3DFormat}">
<option value=""></option>
<option value="HalfSideBySide">HSBS</option>
<option value="HalfTopAndBottom">HTAB</option>
<option value="FullSideBySide">FSBS</option>
<option value="FullTopAndBottom">FTAB</option>
<option value="MVC">MVC</option>
</select>
</div>
</div>
<div class="inputContainer">
<input is="emby-input" id="txtDvdEpisodeNumber" type="number" pattern="[0-9]*" label="${LabelDvdEpisodeNumber}" />
</div>
<div class="inputContainer">
<input is="emby-input" id="txtAbsoluteEpisodeNumber" type="number" pattern="[0-9]*" label="${LabelAbsoluteEpisodeNumber}" />
</div>
</div>
<br />
<div class="detailSection hide" id="collapsibleSpecialEpisodeInfo">
<h1>
${HeaderSpecialEpisodeInfo}
</h1>
<div class="inputContainer">
<input is="emby-input" id="txtAirsBeforeSeason" type="number" pattern="[0-9]*" label="${LabelAirsBeforeSeason}" />
<div class="detailSection hide" id="collapsibleDvdEpisodeInfo">
<h1>
${HeaderAlternateEpisodeNumbers}
</h1>
<div class="inputContainer">
<input is="emby-input" id="txtDvdSeasonNumber" type="number" pattern="[0-9]*" label="${LabelDvdSeasonNumber}" />
</div>
<div class="inputContainer">
<input is="emby-input" id="txtDvdEpisodeNumber" type="number" pattern="[0-9]*" label="${LabelDvdEpisodeNumber}" />
</div>
<div class="inputContainer">
<input is="emby-input" id="txtAbsoluteEpisodeNumber" type="number" pattern="[0-9]*" label="${LabelAbsoluteEpisodeNumber}" />
</div>
</div>
<div class="inputContainer">
<input is="emby-input" id="txtAirsAfterSeason" type="number" pattern="[0-9]*" label="${LabelAirsAfterSeason}" />
</div>
<div class="inputContainer">
<input is="emby-input" id="txtAirsBeforeEpisode" type="number" pattern="[0-9]*" label="${LabelAirsBeforeEpisode}" />
</div>
</div>
<div class="detailSection">
<h1>
${HeaderExternalIds}
</h1>
<div class="externalIds editorFieldset">
<div class="detailSection hide" id="collapsibleSpecialEpisodeInfo">
<h1>
${HeaderSpecialEpisodeInfo}
</h1>
<div class="inputContainer">
<input is="emby-input" id="txtAirsBeforeSeason" type="number" pattern="[0-9]*" label="${LabelAirsBeforeSeason}" />
</div>
<div class="inputContainer">
<input is="emby-input" id="txtAirsAfterSeason" type="number" pattern="[0-9]*" label="${LabelAirsAfterSeason}" />
</div>
<div class="inputContainer">
<input is="emby-input" id="txtAirsBeforeEpisode" type="number" pattern="[0-9]*" label="${LabelAirsBeforeEpisode}" />
</div>
</div>
</div>
<div class="detailSection hide" id="collapsibleDisplaySettings">
<h1>
${HeaderDisplaySettings}
</h1>
<div id="fldSourceType" class="hide fldDisplaySetting inputContainer">
<input is="emby-input" id="txtDisplayMediaType" type="text" label="${LabelTreatImageAs}" />
<div class="detailSection">
<h1>
${HeaderExternalIds}
</h1>
<div class="externalIds editorFieldset">
</div>
</div>
<div id="fldDisplayOrder" class="fldDisplaySetting selectContainer">
<select is="emby-select" id="selectDisplayOrder" label="${LabelDisplayOrder}"></select>
</div>
</div>
<div id="countriesCollapsible" class="editableListviewContainer hide" style="margin-top: 3em;">
<h1 style="margin:.6em 0;vertical-align:middle;display:inline-block;">
${HeaderCountries}
</h1>
<button is="emby-button" type="button" class="raised btnAddTextItem submit mini" style="margin-left:1em;" title="${ButtonAdd}">
<i class="md-icon">add</i>
<span>${ButtonAdd}</span>
</button>
<div class="paperList" id="listCountries"></div>
</div>
<div id="genresCollapsible" class="editableListviewContainer hide" style="margin-top: 3em;">
<h1 style="margin:.6em 0;vertical-align:middle;display:inline-block;">
${HeaderGenres}
</h1>
<button is="emby-button" type="button" class="raised btnAddTextItem submit mini" style="margin-left:1em;" title="${ButtonAdd}">
<i class="md-icon">add</i>
<span>${ButtonAdd}</span>
</button>
<div class="paperList" id="listGenres"></div>
</div>
<div id="peopleCollapsible" style="margin-top: 3em;" class="hide">
<h1 style="margin:.6em 0;vertical-align:middle;display:inline-block;">
${HeaderPeople}
</h1>
<button is="emby-button" type="button" id="btnAddPerson" class="raised btnAddPerson submit mini" style="margin-left:1em;" title="${ButtonAdd}">
<i class="md-icon">add</i>
<span>${ButtonAdd}</span>
</button>
<div id="peopleList" class="paperList">
<div class="detailSection hide" id="collapsibleDisplaySettings">
<h1>
${HeaderDisplaySettings}
</h1>
<div id="fldSourceType" class="hide fldDisplaySetting inputContainer">
<input is="emby-input" id="txtDisplayMediaType" type="text" label="${LabelTreatImageAs}" />
</div>
<div id="fldDisplayOrder" class="fldDisplaySetting selectContainer">
<select is="emby-select" id="selectDisplayOrder" label="${LabelDisplayOrder}"></select>
</div>
</div>
</div>
<div id="keywordsCollapsible" class="editableListviewContainer hide" style="margin-top: 3em;">
<h1 style="margin:.6em 0;vertical-align:middle;display:inline-block;">
${HeaderPlotKeywords}
</h1>
<button is="emby-button" type="button" class="raised btnAddTextItem submit mini" style="margin-left:1em;" title="${ButtonAdd}">
<i class="md-icon">add</i>
<span>${ButtonAdd}</span>
</button>
<div class="paperList" id="listKeywords"></div>
</div>
<div id="studiosCollapsible" class="editableListviewContainer hide" style="margin-top: 3em;">
<h1 style="margin:.6em 0;vertical-align:middle;display:inline-block;">
${HeaderStudios}
</h1>
<button is="emby-button" type="button" class="raised btnAddTextItem submit mini" style="margin-left:1em;" title="${ButtonAdd}">
<i class="md-icon">add</i>
<span>${ButtonAdd}</span>
</button>
<div class="paperList" id="listStudios"></div>
</div>
<div id="tagsCollapsible" class="editableListviewContainer hide" style="margin-top: 3em;">
<h1 style="margin:.6em 0;vertical-align:middle;display:inline-block;">
${HeaderTags}
</h1>
<button is="emby-button" type="button" class="raised btnAddTextItem submit mini" style="margin-left:1em;" title="${ButtonAdd}">
<i class="md-icon">add</i>
<span>${ButtonAdd}</span>
</button>
<div class="paperList" id="listTags"></div>
</div>
<div id="metadataSettingsCollapsible" style="margin-top: 3em;" class="hide">
<h1>${HeaderMetadataSettings}</h1>
<div>
<div class="selectContainer">
<select is="emby-select" id="selectLanguage" label="${LabelMetadataDownloadLanguage}"></select>
<div id="countriesCollapsible" class="editableListviewContainer hide" style="margin-top: 3em;">
<h1 style="margin:.6em 0;vertical-align:middle;display:inline-block;">
${HeaderCountries}
</h1>
<button is="emby-button" type="button" class="raised btnAddTextItem submit mini" style="margin-left:1em;" title="${ButtonAdd}">
<i class="md-icon">add</i>
<span>${ButtonAdd}</span>
</button>
<div class="paperList" id="listCountries"></div>
</div>
<div id="genresCollapsible" class="editableListviewContainer hide" style="margin-top: 3em;">
<h1 style="margin:.6em 0;vertical-align:middle;display:inline-block;">
${HeaderGenres}
</h1>
<button is="emby-button" type="button" class="raised btnAddTextItem submit mini" style="margin-left:1em;" title="${ButtonAdd}">
<i class="md-icon">add</i>
<span>${ButtonAdd}</span>
</button>
<div class="paperList" id="listGenres"></div>
</div>
<div id="peopleCollapsible" style="margin-top: 3em;" class="hide">
<h1 style="margin:.6em 0;vertical-align:middle;display:inline-block;">
${HeaderPeople}
</h1>
<button is="emby-button" type="button" id="btnAddPerson" class="raised btnAddPerson submit mini" style="margin-left:1em;" title="${ButtonAdd}">
<i class="md-icon">add</i>
<span>${ButtonAdd}</span>
</button>
<div id="peopleList" class="paperList">
</div>
</div>
<div id="keywordsCollapsible" class="editableListviewContainer hide" style="margin-top: 3em;">
<h1 style="margin:.6em 0;vertical-align:middle;display:inline-block;">
${HeaderPlotKeywords}
</h1>
<button is="emby-button" type="button" class="raised btnAddTextItem submit mini" style="margin-left:1em;" title="${ButtonAdd}">
<i class="md-icon">add</i>
<span>${ButtonAdd}</span>
</button>
<div class="paperList" id="listKeywords"></div>
</div>
<div id="studiosCollapsible" class="editableListviewContainer hide" style="margin-top: 3em;">
<h1 style="margin:.6em 0;vertical-align:middle;display:inline-block;">
${HeaderStudios}
</h1>
<button is="emby-button" type="button" class="raised btnAddTextItem submit mini" style="margin-left:1em;" title="${ButtonAdd}">
<i class="md-icon">add</i>
<span>${ButtonAdd}</span>
</button>
<div class="paperList" id="listStudios"></div>
</div>
<div id="tagsCollapsible" class="editableListviewContainer hide" style="margin-top: 3em;">
<h1 style="margin:.6em 0;vertical-align:middle;display:inline-block;">
${HeaderTags}
</h1>
<button is="emby-button" type="button" class="raised btnAddTextItem submit mini" style="margin-left:1em;" title="${ButtonAdd}">
<i class="md-icon">add</i>
<span>${ButtonAdd}</span>
</button>
<div class="paperList" id="listTags"></div>
</div>
<div id="metadataSettingsCollapsible" style="margin-top: 3em;" class="hide">
<h1>${HeaderMetadataSettings}</h1>
<div>
<div class="selectContainer">
<select is="emby-select" id="selectLanguage" label="${LabelMetadataDownloadLanguage}"></select>
<div class="fieldDescription editorfieldDescription">${MessageLeaveEmptyToInherit}</div>
</div>
<div class="selectContainer">
<select is="emby-select" id="selectCountry" label="${LabelCountry}"></select>
</div>
<div class="fieldDescription editorfieldDescription">${MessageLeaveEmptyToInherit}</div>
</div>
<div class="selectContainer">
<select is="emby-select" id="selectCountry" label="${LabelCountry}"></select>
</div>
<div class="fieldDescription editorfieldDescription">${MessageLeaveEmptyToInherit}</div>
<br /><br />
<label class="checkboxContainer">
<input type="checkbox" is="emby-checkbox" id="chkLockData" />
<span>${LabelLockItemToPreventChanges}</span>
</label>
<br /><br />
<label class="checkboxContainer">
<input type="checkbox" is="emby-checkbox" id="chkLockData" />
<span>${LabelLockItemToPreventChanges}</span>
</label>
<div class="providerSettingsContainer checkboxList hide">
<div class="providerSettingsContainer checkboxList hide">
</div>
</div>
</div>
<br />
<button is="emby-button" type="submit" class="raised submit block btnSave">
<i class="md-icon">check</i>
<span>${ButtonSave}</span>
</button>
</div>
<br />
<button is="emby-button" type="submit" class="raised submit block btnSave">
<i class="md-icon">check</i>
<span>${ButtonSave}</span>
</button>
</div>
<br />
<br />
</form>
<br />
</form>
</div>

View file

@ -1,14 +1,21 @@
define(['dialogHelper', 'globalize', 'require', 'paper-icon-button-light', 'emby-input', 'emby-select'], function (dialogHelper, globalize, require) {
define(['dialogHelper', 'layoutManager', 'scrollHelper', 'globalize', 'require', 'paper-icon-button-light', 'emby-input', 'emby-select', 'css!./../formdialog'], function (dialogHelper, layoutManager, scrollHelper, globalize, require) {
function show(person) {
return new Promise(function (resolve, reject) {
require(['text!./personeditor.template.html'], function (template) {
var dlg = dialogHelper.createDialog({
removeOnClose: true,
size: 'medium'
});
var dialogOptions = {
removeOnClose: true
};
if (layoutManager.tv) {
dialogOptions.size = 'fullscreen';
} else {
dialogOptions.size = 'medium';
}
var dlg = dialogHelper.createDialog(dialogOptions);
dlg.classList.add('ui-body-b');
dlg.classList.add('background-theme-b');
@ -27,6 +34,10 @@
dlg.querySelector('.selectPersonType', dlg).value = person.Type || '';
dlg.querySelector('.txtPersonRole', dlg).value = person.Role || '';
if (layoutManager.tv) {
scrollHelper.centerFocus.on(dlg.querySelector('.dialogContent'), false);
}
dialogHelper.open(dlg);
dlg.addEventListener('close', function () {

View file

@ -1,35 +1,35 @@
<div class="dialogHeader" style="margin:0 0 2em;">
<button is="paper-icon-button-light" class="btnCancel autoSize" tabindex="-1">
<i class="md-icon">&#xE5C4;</i>
</button>
<div class="dialogHeader">
<button is="paper-icon-button-light" class="btnCancel autoSize" tabindex="-1"><i class="md-icon">&#xE5C4;</i></button>
<div class="dialogHeaderTitle">
${ButtonEdit}
</div>
</div>
<form class="popupEditPersonForm" style="max-width: none;margin:0;">
<div class="dialogContent smoothScrollY" style="padding-top:2em;">
<form class="popupEditPersonForm dialogContentInner centeredContent">
<div class="inputContainer">
<input type="text" is="emby-input" class="txtPersonName" required="required" label="${LabelName}" />
</div>
<div class="inputContainer">
<input type="text" is="emby-input" class="txtPersonName" required="required" label="${LabelName}" />
</div>
<div class="selectContainer">
<select is="emby-select" id="selectPersonType" class="selectPersonType" label="${LabelType}">
<option value=""></option>
<option value="Actor">${OptionActor}</option>
<option value="Composer">${OptionComposer}</option>
<option value="Director">${OptionDirector}</option>
<option value="GuestStar">${OptionGuestStar}</option>
<option value="Producer">${OptionProducer}</option>
<option value="Writer">${OptionWriter}</option>
</select>
</div>
<div class="inputContainer">
<input is="emby-input" type="text" class="txtPersonRole" label="${LabelPersonRole}" />
<div class="fieldDescription">${LabelPersonRoleHelp}</div>
</div>
<button is="emby-button" type="submit" class="raised submit block">
<i class="md-icon">check</i>
<span>${ButtonOk}</span>
</button>
</form>
<div class="selectContainer">
<select is="emby-select" id="selectPersonType" class="selectPersonType" label="${LabelType}">
<option value=""></option>
<option value="Actor">${OptionActor}</option>
<option value="Composer">${OptionComposer}</option>
<option value="Director">${OptionDirector}</option>
<option value="GuestStar">${OptionGuestStar}</option>
<option value="Producer">${OptionProducer}</option>
<option value="Writer">${OptionWriter}</option>
</select>
</div>
<div class="inputContainer">
<input is="emby-input" type="text" class="txtPersonRole" label="${LabelPersonRole}" />
<div class="fieldDescription">${LabelPersonRoleHelp}</div>
</div>
<button is="emby-button" type="submit" class="raised submit block">
<i class="md-icon">check</i>
<span>${ButtonOk}</span>
</button>
</form>
</div>

View file

@ -8,15 +8,6 @@ iron-icon {
min-height: 24px;
}
.ui-body-a select {
background: none;
border-color: #757575;
}
.ui-body-a select option {
color: #000;
}
.paperCheckboxFieldDescription {
padding-left: 31px;
padding-top: 5px;
@ -42,25 +33,6 @@ paper-input + .fieldDescription {
}
}
.ui-body-a .emby-collapsible-button {
border: 0;
background-color: #e8e8e8;
text-transform: none;
}
.ui-body-a .emby-collapsible-title {
margin: .25em 0;
color: #000;
padding: 0 0 0 .5em;
font-weight: 500;
}
.ui-body-a .emby-collapsible-content, .ui-body-a .collapseContent {
border-width: 0;
padding: 1em 1.25em;
background-color: #fff;
}
.dashboardDocument .lnkMySync {
display: none !important;
}
@ -279,15 +251,7 @@ paper-textarea.mono textarea {
border-color: #52B54B;
}
.ui-body-a .inputLabel, .ui-body-a .textareaLabel {
color: #555;
}
.ui-body-a .inputLabel.focused:not(.blank), .ui-body-a .textareaLabel.focused:not(.blank) {
color: green;
}
.ui-body-a .paper-input-container-0 .input-content.paper-input-container label, .ui-body-a .paper-input-container-0 .input-content.paper-input-container .paper-input-label, .ui-body-a paper-textarea label, .ui-body-a .selectLabel, .ui-body-a .paperListLabel, .ui-body-a .fieldDescription {
.ui-body-a .paper-input-container-0 .input-content.paper-input-container label, .ui-body-a .paper-input-container-0 .input-content.paper-input-container .paper-input-label, .ui-body-a paper-textarea label {
color: #555;
}

View file

@ -529,7 +529,7 @@ progress {
}
.fullWidthContent .supporterPromotionContainer {
position: static!important;
position: static !important;
}
@media all and (min-width: 800px) {
@ -616,4 +616,44 @@ progress {
border-width: 0;
padding: 1em 1.25em;
background-color: #222;
}
}
.ui-body-a select {
background: none;
border-color: #757575;
}
.ui-body-a select option {
color: #000;
}
.ui-body-a .emby-collapsible-button {
border: 0;
background-color: #e8e8e8;
text-transform: none;
}
.ui-body-a .emby-collapsible-title {
margin: .25em 0;
color: #000;
padding: 0 0 0 .5em;
font-weight: 500;
}
.ui-body-a .emby-collapsible-content, .ui-body-a .collapseContent {
border-width: 0;
padding: 1em 1.25em;
background-color: #fff;
}
.ui-body-a .inputLabel, .ui-body-a .textareaLabel {
color: #555;
}
.ui-body-a .inputLabel.focused:not(.blank), .ui-body-a .textareaLabel.focused:not(.blank) {
color: green;
}
.ui-body-a .selectLabel, .ui-body-a .paperListLabel, .ui-body-a .fieldDescription {
color: #555;
}

View file

@ -16,7 +16,7 @@
StartIndex: 0,
Limit: LibraryBrowser.getDefaultPageSize()
},
view: LibraryBrowser.getSavedView(key) || LibraryBrowser.getDefaultItemsView('Poster', 'Poster')
view: LibraryBrowser.getSavedView(key) || LibraryBrowser.getDefaultItemsView('PosterCard', 'PosterCard')
};
pageData.query.ParentId = LibraryMenu.getTopParentId();