mirror of
https://github.com/jellyfin/jellyfin-web.git
synced 2024-11-17 19:08:18 -07:00
rework nav drawer
This commit is contained in:
parent
52f247c51a
commit
ff8014a721
@ -3,12 +3,6 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
<div class="readOnlyContent">
|
<div class="readOnlyContent">
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="support.html" data-role="button">${TabGeneral}</a>
|
|
||||||
<a href="log.html" data-role="button">${TabLogs}</a>
|
|
||||||
<a href="supporterkey.html" data-role="button" class="tabSupporterMembership">${TabEmbyPremiere}</a>
|
|
||||||
<a href="about.html" data-role="button" class="ui-btn-active">${TabAbout}</a>
|
|
||||||
</div>
|
|
||||||
<h1>
|
<h1>
|
||||||
<img class="imgLogoIcon" src="css/images/mblogoicon.png" /><span class="logoLibraryMenuButtonText">EMBY</span>
|
<img class="imgLogoIcon" src="css/images/mblogoicon.png" /><span class="logoLibraryMenuButtonText">EMBY</span>
|
||||||
</h1>
|
</h1>
|
||||||
@ -44,7 +38,17 @@
|
|||||||
<a href="http://thetvdb.com" target="_blank">TheTVDB.com</a>
|
<a href="http://thetvdb.com" target="_blank">TheTVDB.com</a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
<br/>
|
||||||
|
<p>${ProjectHasCommunity}</p>
|
||||||
|
<a data-role="button" data-icon="arrow-r" data-iconpos="right" href="http://emby.media/community" target="_blank">${VisitTheCommunity}</a>
|
||||||
|
<br />
|
||||||
|
<p>
|
||||||
|
${CheckoutKnowledgeBase}
|
||||||
|
</p>
|
||||||
|
<a data-role="button" data-icon="search" data-iconpos="right" href="http://emby.media/community/index.php?/forum/23-knowledge-base/" target="_blank">${SearchKnowledgeBase}</a>
|
||||||
|
<br />
|
||||||
|
<p>${VisitProjectWebsiteLong}</p>
|
||||||
|
<a data-role="button" data-icon="home" data-iconpos="right" href="http://emby.media" target="_blank">${VisitProjectWebsite}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -2,22 +2,6 @@
|
|||||||
|
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav pluginTabs" data-mini="true" style="display:none;">
|
|
||||||
<a href="plugins.html" data-role="button">${TabMyPlugins}</a>
|
|
||||||
<a href="plugincatalog.html" data-role="button" class="ui-btn-active">${TabCatalog}</a>
|
|
||||||
<a href="channelsettings.html" data-role="button">${TabChannels}</a>
|
|
||||||
</div>
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav syncTabs" data-mini="true" style="display:none;">
|
|
||||||
<a href="syncactivity.html" data-role="button">${TabActivity}</a>
|
|
||||||
<a href="appservices.html?context=sync" data-role="button" class="ui-btn-active">${TabServices}</a>
|
|
||||||
<a href="syncsettings.html" data-role="button">${TabSettings}</a>
|
|
||||||
</div>
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav livetvTabs" data-mini="true" style="display:none;">
|
|
||||||
<a href="livetvstatus.html" data-role="button">${TabTuners}</a>
|
|
||||||
<a href="livetvsettings.html" data-role="button">${TabSettings}</a>
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabExternalServices}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav notificationsTabs" data-mini="true" style="display:none;">
|
<div data-role="controlgroup" data-type="horizontal" class="localnav notificationsTabs" data-mini="true" style="display:none;">
|
||||||
<a href="notificationsettings.html" data-role="button">${TabNotifications}</a>
|
<a href="notificationsettings.html" data-role="button">${TabNotifications}</a>
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabServices}</a>
|
<a href="#" data-role="button" class="ui-btn-active">${TabServices}</a>
|
||||||
|
@ -3,34 +3,8 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabGeneral}</a>
|
|
||||||
<a href="dashboardhosting.html" data-role="button">${TabHosting}</a>
|
|
||||||
<a href="serversecurity.html" data-role="button">${TabSecurity}</a>
|
|
||||||
</div>
|
|
||||||
<form class="advancedConfigurationForm">
|
<form class="advancedConfigurationForm">
|
||||||
|
|
||||||
<ul data-role="listview" class="ulForm">
|
|
||||||
<li id="fldRunAtStartup" style="display: none;">
|
|
||||||
<paper-checkbox id="chkRunAtStartup">${LabelRunServerAtStartup}</paper-checkbox>
|
|
||||||
<div id="windowsStartupDescription" class="fieldDescription paperCheckboxFieldDescription" style="display: none;">
|
|
||||||
${LabelRunServerAtStartupHelp}
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<paper-checkbox id="chkDebugLog">${LabelEnableDebugLogging}</paper-checkbox>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<paper-checkbox id="chkUsageData">${OptionEnableAnonymousUsageReporting}</paper-checkbox>
|
|
||||||
<div class="fieldDescription paperCheckboxFieldDescription">
|
|
||||||
${OptionEnableAnonymousUsageReportingHelp}
|
|
||||||
<div style="margin-top:.5em;">
|
|
||||||
<a target="_blank" href="https://emby.media/privacy">${ButtonLearnMore}</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<emby-collapsible title="${HeaderAutomaticUpdates}">
|
<emby-collapsible title="${HeaderAutomaticUpdates}">
|
||||||
<br />
|
<br />
|
||||||
<ul data-role="listview" class="ulForm">
|
<ul data-role="listview" class="ulForm">
|
||||||
|
@ -3,29 +3,6 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
<div class="sectionTabs syncSectionTabs" style="display:none;">
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="syncactivity.html" data-role="button">${TabActivity}</a>
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabServices}</a>
|
|
||||||
<a href="syncsettings.html" data-role="button">${TabSettings}</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="sectionTabs livetvSectionTabs" style="display:none;">
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
|
|
||||||
<a href="livetvstatus.html" data-role="button">${TabTuners}</a>
|
|
||||||
<a href="livetvsettings.html" data-role="button">${TabSettings}</a>
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabExternalServices}</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="sectionTabs notificationsSectionTabs" style="display:none;">
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="notificationsettings.html" data-role="button">${TabNotifications}</a>
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabServices}</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="detailSectionHeader">${HeaderInstalledServices}</div>
|
<div class="detailSectionHeader">${HeaderInstalledServices}</div>
|
||||||
<div class="installedPlugins"></div>
|
<div class="installedPlugins"></div>
|
||||||
<br />
|
<br />
|
||||||
|
@ -21,9 +21,18 @@
|
|||||||
padding-left: 16px;
|
padding-left: 16px;
|
||||||
padding-right: 16px;
|
padding-right: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
:host:not([icon]) #titleIcon {
|
||||||
|
display: none!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
:host #titleIcon {
|
||||||
|
margin-right: 1em;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
<div>
|
<div>
|
||||||
<paper-button on-tap="toggleExpand" id="expandButton" class="emby-collapsible-button" style="margin:0;display: flex; align-items: center;">
|
<paper-button on-tap="toggleExpand" id="expandButton" class="emby-collapsible-button" style="margin:0;display: flex; align-items: center;">
|
||||||
|
<iron-icon id="titleIcon" icon="[[icon]]"></iron-icon>
|
||||||
<h3 class="emby-collapsible-title" title="[[title]]">[[title]]</h3>
|
<h3 class="emby-collapsible-title" title="[[title]]">[[title]]</h3>
|
||||||
<iron-icon id="expandIcon" style="margin-left: auto; margin-right: .5em;"></iron-icon>
|
<iron-icon id="expandIcon" style="margin-left: auto; margin-right: .5em;"></iron-icon>
|
||||||
</paper-button>
|
</paper-button>
|
||||||
|
@ -1,37 +0,0 @@
|
|||||||
<div id="channelSettingsPage" data-role="page" class="page type-interior pluginConfigurationPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Channels" data-require="scripts/channelsettings">
|
|
||||||
|
|
||||||
<div data-role="content">
|
|
||||||
<div class="content-primary">
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="plugins.html" data-role="button">${TabMyPlugins}</a>
|
|
||||||
<a href="plugincatalog.html" data-role="button">${TabCatalog}</a>
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabChannels}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form class="channelSettingsForm">
|
|
||||||
<p class="noChannelsHeader" style="display: none;">${ChannelSettingsFormHelp}</p>
|
|
||||||
<br />
|
|
||||||
<ul data-role="listview" class="ulForm">
|
|
||||||
<li>
|
|
||||||
<label for="selectChannelResolution" class="selectLabel">${LabelChannelStreamQuality}</label>
|
|
||||||
<select id="selectChannelResolution" data-mini="true">
|
|
||||||
<option value="">${OptionBestAvailableStreamQuality}</option>
|
|
||||||
<option value="1920">1080p</option>
|
|
||||||
<option value="1280">720p</option>
|
|
||||||
<option value="720">480p</option>
|
|
||||||
</select>
|
|
||||||
<div class="fieldDescription">${LabelChannelStreamQualityHelp}</div>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<ul data-role="listview" class="ulForm">
|
|
||||||
<li>
|
|
||||||
<button type="submit" data-role="none" class="clearButton">
|
|
||||||
<paper-button raised class="submit block"><iron-icon icon="check"></iron-icon><span>${ButtonSave}</span></paper-button>
|
|
||||||
</button>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</form>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
@ -3,13 +3,6 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="playbackconfiguration.html" data-role="button">${TabGeneral}</a>
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabCinemaMode}</a>
|
|
||||||
<a href="streamingsettings.html" data-role="button">${TabStreaming}</a>
|
|
||||||
<a href="encodingsettings.html" data-role="button">${TabTranscoding}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form class="cinemaModeConfigurationForm">
|
<form class="cinemaModeConfigurationForm">
|
||||||
|
|
||||||
<p>${CinemaModeConfigurationHelp}</p>
|
<p>${CinemaModeConfigurationHelp}</p>
|
||||||
|
BIN
dashboard-ui/css/images/logo.png
Normal file
BIN
dashboard-ui/css/images/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.7 KiB |
@ -30,7 +30,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.viewMenuBar paper-icon-button {
|
.viewMenuBar paper-icon-button {
|
||||||
color: #fff;
|
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -53,19 +52,10 @@
|
|||||||
height: auto !important;
|
height: auto !important;
|
||||||
/* Need to reset this because it causes the entire panel to be draggable in safari */
|
/* Need to reset this because it causes the entire panel to be draggable in safari */
|
||||||
box-sizing: initial !important;
|
box-sizing: initial !important;
|
||||||
|
font-size: 108%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.verticalScrollingDrawer {
|
.mainDrawerPanel[narrow] #main {
|
||||||
overflow-y: auto !important;
|
|
||||||
-webkit-overflow-scrolling: touch;
|
|
||||||
overflow-x: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*.mainDrawerPanel #drawer, .mainDrawerPanel #scrim {
|
|
||||||
top: 50px !important;
|
|
||||||
}*/
|
|
||||||
|
|
||||||
.mainDrawerPanel #main {
|
|
||||||
left: 0 !important;
|
left: 0 !important;
|
||||||
position: static !important;
|
position: static !important;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
@ -75,15 +65,18 @@
|
|||||||
/* Give it at least something to make it visible */
|
/* Give it at least something to make it visible */
|
||||||
z-index: 1098;
|
z-index: 1098;
|
||||||
/* It defaults to absolute, not visible after scrolling */
|
/* It defaults to absolute, not visible after scrolling */
|
||||||
position: fixed!important;
|
position: fixed !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mainDrawer {
|
.mainDrawer {
|
||||||
height: auto !important;
|
overflow-y: auto !important;
|
||||||
|
-webkit-overflow-scrolling: touch;
|
||||||
|
overflow-x: hidden;
|
||||||
|
scroll-behavior: smooth;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mainDrawerContent {
|
.drawerContent {
|
||||||
padding-bottom: 40px;
|
padding-bottom: 100px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.headerButton {
|
.headerButton {
|
||||||
@ -120,30 +113,16 @@
|
|||||||
.libraryMenuButtonText {
|
.libraryMenuButtonText {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
font-weight: 400 !important;
|
font-weight: 400 !important;
|
||||||
display: inline-block;
|
display: inline-flex;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
padding-left: 0 !important;
|
padding-left: 0 !important;
|
||||||
cursor: default;
|
cursor: default;
|
||||||
position: relative;
|
position: relative;
|
||||||
top: 1px;
|
top: 1px;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
max-width: 100px;
|
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
}
|
align-items: center;
|
||||||
|
|
||||||
@media all and (min-width: 500px) {
|
|
||||||
|
|
||||||
.libraryMenuButtonText {
|
|
||||||
max-width: 200px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media all and (min-width: 600px) {
|
|
||||||
|
|
||||||
.libraryMenuButtonText {
|
|
||||||
max-width: 300px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.logoLibraryMenuButtonText {
|
.logoLibraryMenuButtonText {
|
||||||
@ -200,11 +179,18 @@
|
|||||||
|
|
||||||
.viewMenuBar, .libraryViewNav {
|
.viewMenuBar, .libraryViewNav {
|
||||||
background-color: #020202;
|
background-color: #020202;
|
||||||
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.viewMenuBar.semiTransparent {
|
.dashboardDocument .viewMenuBar {
|
||||||
background-color: rgba(15, 15, 15, .3);
|
background-color: #43A047;
|
||||||
}
|
box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);
|
||||||
|
height: 64px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.viewMenuBar.semiTransparent {
|
||||||
|
background-color: rgba(15, 15, 15, .3);
|
||||||
|
}
|
||||||
|
|
||||||
.paperLibraryViewNav {
|
.paperLibraryViewNav {
|
||||||
background-color: transparent !important;
|
background-color: transparent !important;
|
||||||
@ -338,20 +324,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media all and (min-width: 800px) {
|
|
||||||
|
|
||||||
.dashboardDocument .dashboardDrawerContent {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media all and (max-width: 800px) {
|
|
||||||
|
|
||||||
.dashboardDocument .libraryDrawerContent {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.drawerUserPanel {
|
.drawerUserPanel {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
padding: 1em 1.2em;
|
padding: 1em 1.2em;
|
||||||
@ -370,10 +342,6 @@
|
|||||||
padding-left: 1em;
|
padding-left: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.libraryDocument .dashboardDrawerContent {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dashboardDocument .lnkMySync {
|
.dashboardDocument .lnkMySync {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
@ -390,36 +358,123 @@
|
|||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.dashboardDocument .btnCast {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dashboardDocument .headerSearchButton {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
body:not(.dashboardDocument) .btnNotifications {
|
body:not(.dashboardDocument) .btnNotifications {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.darkDrawer {
|
.darkDrawerPanel #drawer {
|
||||||
background-color: #212121 !important;
|
background-color: #212121 !important;
|
||||||
box-shadow: none !important;
|
box-shadow: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.darkDrawer .sidebarLinkIcon {
|
.darkDrawerPanel .sidebarLinkIcon {
|
||||||
color: #eee !important;
|
color: #bbb !important;
|
||||||
}
|
margin-left: 1.6em;
|
||||||
|
}
|
||||||
|
|
||||||
.darkDrawer .sidebarLinkText, .darkDrawer .sidebarLink {
|
.darkDrawerPanel .sidebarLinkText, .darkDrawerPanel .sidebarLink {
|
||||||
|
color: #fff !important;
|
||||||
|
font-weight: normal !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.darkDrawerPanel .sidebarHeader {
|
||||||
|
color: #bbb !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.darkDrawerPanel .sidebarDivider {
|
||||||
|
background: #282828 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.darkDrawerPanel .sidebarLink:hover {
|
||||||
|
background: #4d4d4d;
|
||||||
|
}
|
||||||
|
|
||||||
|
.darkDrawerPanel .sidebarLink.selectedSidebarLink, .darkDrawerPanel .selectedMediaFolder {
|
||||||
|
background: #4d4d4d !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.adminDrawerPanel #drawer {
|
||||||
|
background: #fff !important;
|
||||||
|
box-shadow: none !important;
|
||||||
|
border-right: 1px solid #e0e0e0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.adminDrawerPanel .sidebarLink {
|
||||||
|
color: #333 !important;
|
||||||
|
font-weight: 400 !important;
|
||||||
|
padding: .7em 0 .7em 1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.adminDrawerPanel .sidebarHeader {
|
||||||
|
color: #666 !important;
|
||||||
|
font-weight: 500 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.adminDrawerPanel .sidebarDivider {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.adminDrawerPanel .sidebarLinkIcon {
|
||||||
|
color: #666 !important;
|
||||||
|
height: 12px;
|
||||||
|
margin-right: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.adminDrawerPanel .sidebarLink:hover {
|
||||||
|
color: #00897B !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.adminDrawerPanel .sidebarLink.selectedSidebarLink {
|
||||||
|
background: #66BB6A !important;
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.adminDrawerPanel .sidebarLink.selectedSidebarLink .sidebarLinkIcon {
|
||||||
color: #fff !important;
|
color: #fff !important;
|
||||||
font-weight: normal !important;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.darkDrawer .sidebarHeader {
|
.adminDrawerPanel #drawer .emby-collapsible-button {
|
||||||
color: #bbb !important;
|
padding-top: 0;
|
||||||
|
padding-bottom: 0;
|
||||||
|
padding-left: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.adminDrawerPanel #drawer .emby-collapsible-title {
|
||||||
|
font-size: inherit;
|
||||||
|
text-transform: none;
|
||||||
|
color: #333;
|
||||||
|
margin: .7em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.adminDrawerLogo {
|
||||||
|
padding: 15px 1em;
|
||||||
|
border-bottom: 1px solid #e0e0e0;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.adminDrawerLogo img {
|
||||||
|
height: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.darkDrawer .sidebarDivider {
|
.adminDrawerPanel #drawer #titleIcon {
|
||||||
background: #303030 !important;
|
color: #666;
|
||||||
}
|
height: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
.darkDrawer .sidebarLink:hover {
|
.adminDrawerPanel:not([narrow]) .libraryMenuButtonText {
|
||||||
background: #4d4d4d;
|
padding-left: 240px !important;
|
||||||
}
|
font-size: 150%;
|
||||||
|
}
|
||||||
|
|
||||||
.darkDrawer .sidebarLink.selectedSidebarLink, .darkDrawer .selectedMediaFolder {
|
.title-separator {
|
||||||
background: #4d4d4d !important;
|
margin: 0 .5em;
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
position: relative;
|
position: relative;
|
||||||
border-radius: 1000px;
|
border-radius: 1000px;
|
||||||
background: #444;
|
background: #2E7D32;
|
||||||
line-height: 28px;
|
line-height: 28px;
|
||||||
min-width: 30px;
|
min-width: 30px;
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
|
@ -282,9 +282,9 @@ html {
|
|||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
html.smallerDefault {
|
html.smallerDefault {
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
overflow-y: scroll !important;
|
overflow-y: scroll !important;
|
||||||
@ -817,40 +817,25 @@ paper-input + .fieldDescription {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.content-primary {
|
.content-primary {
|
||||||
padding-top: 55px;
|
padding-top: 70px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content-secondary {
|
.mainDrawerPanel:not([narrow]) .content-primary {
|
||||||
z-index: 999;
|
padding: 110px 1.5em 3em 3em;
|
||||||
border: 0;
|
|
||||||
display: none;
|
|
||||||
text-align: left;
|
|
||||||
width: 250px;
|
|
||||||
position: fixed;
|
|
||||||
top: 51px;
|
|
||||||
left: 0;
|
|
||||||
bottom: 0;
|
|
||||||
margin: 0;
|
|
||||||
overflow-x: hidden;
|
|
||||||
overflow-y: auto;
|
|
||||||
border-right: 1px solid #e0e0e0;
|
|
||||||
/*-moz-box-shadow: -3px 0 10px 0 #555;
|
|
||||||
-webkit-box-shadow: -3px 0 10px 0 #555;
|
|
||||||
box-shadow: -3px 0 10px 0 #555;*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.mainDrawerPanel:not([narrow]) .content-primary ul:first-child {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
.background-theme-a, .dialog.background-theme-a {
|
.background-theme-a, .dialog.background-theme-a {
|
||||||
background-color: #f6f6f6;
|
background-color: #f5f5f5;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dialog:not(.background-theme-a):not(.background-theme-b) {
|
.dialog:not(.background-theme-a):not(.background-theme-b) {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-page-theme-a .content-secondary {
|
|
||||||
background: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebarLinks {
|
.sidebarLinks {
|
||||||
margin-top: 1.5em;
|
margin-top: 1.5em;
|
||||||
padding-bottom: 50px;
|
padding-bottom: 50px;
|
||||||
@ -874,10 +859,9 @@ paper-input + .fieldDescription {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.sidebarLinkIcon {
|
.sidebarLinkIcon {
|
||||||
width: 72px !important;
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
color: #7f7f7f;
|
margin-right: 2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sidebarLinkIcon + span {
|
.sidebarLinkIcon + span {
|
||||||
@ -941,7 +925,7 @@ paper-input + .fieldDescription {
|
|||||||
Forms
|
Forms
|
||||||
*/
|
*/
|
||||||
form, .readOnlyContent {
|
form, .readOnlyContent {
|
||||||
max-width: 600px;
|
max-width: 700px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
@ -954,19 +938,6 @@ paper-input + .fieldDescription {
|
|||||||
padding-top: 0;
|
padding-top: 0;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content-secondary {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content-primary {
|
|
||||||
padding: 80px 15px 3em 0;
|
|
||||||
margin: 0 0 0 290px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content-primary ul:first-child {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media all and (min-width: 900px) {
|
@media all and (min-width: 900px) {
|
||||||
|
@ -3,10 +3,6 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabDashboard}</a>
|
|
||||||
<a href="dashboardgeneral.html" data-role="button">${TabSettings}</a>
|
|
||||||
</div>
|
|
||||||
<div class="dashboardContent">
|
<div class="dashboardContent">
|
||||||
<div class="ui-bar-a welcomeMessage" style="display: none; padding: 2em; border-radius: 10px; margin: 2em 0; font-weight: normal; max-width: 800px;">
|
<div class="ui-bar-a welcomeMessage" style="display: none; padding: 2em; border-radius: 10px; margin: 2em 0; font-weight: normal; max-width: 800px;">
|
||||||
<h1 style="margin-top: 0;" class="tourHeader"></h1>
|
<h1 style="margin-top: 0;" class="tourHeader"></h1>
|
||||||
@ -20,12 +16,12 @@
|
|||||||
<div>
|
<div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<h1>${HeaderServerInformation}</h1>
|
<h1 class="serverNameHeader"></h1>
|
||||||
<div class="paperList" style="padding:1em;">
|
<div class="paperList" style="padding:1em;">
|
||||||
<p id="appVersionNumber">
|
<p id="appVersionNumber">
|
||||||
</p>
|
</p>
|
||||||
<p id="pUpToDate" style="display: none;">
|
<p id="pUpToDate" style="display: flex; align-items:center;" class="hide">
|
||||||
<img src="css/images/checkmarkgreen.png" style="height: 20px; margin-right: 3px; position: relative; top: 5px; border-radius: 3px;" />
|
<iron-icon icon="check" style="background-color: #52B54B;border-radius:.25em;color: #fff;margin-right:.5em;"></iron-icon>
|
||||||
${ServerUpToDate}
|
${ServerUpToDate}
|
||||||
</p>
|
</p>
|
||||||
<div id="pUpdateNow" style="display: none;">
|
<div id="pUpdateNow" style="display: none;">
|
||||||
|
@ -1,13 +1,8 @@
|
|||||||
<div id="dashboardGeneralPage" data-role="page" class="page type-interior dashboardHomePage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Server%20Settings" data-require="emby-collapsible,scripts/dashboardgeneral,paper-textarea,paper-input">
|
<div id="dashboardGeneralPage" data-role="page" class="page type-interior dashboardHomePage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Server%20Settings">
|
||||||
|
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="dashboard.html" data-role="button">${TabDashboard}</a>
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabSettings}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form class="dashboardGeneralForm">
|
<form class="dashboardGeneralForm">
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
@ -28,6 +23,25 @@
|
|||||||
</div>
|
</div>
|
||||||
<br /><br />
|
<br /><br />
|
||||||
|
|
||||||
|
<div id="fldRunAtStartup" style="display: none;">
|
||||||
|
<paper-checkbox id="chkRunAtStartup">${LabelRunServerAtStartup}</paper-checkbox>
|
||||||
|
<div id="windowsStartupDescription" class="fieldDescription paperCheckboxFieldDescription" style="display: none;">
|
||||||
|
${LabelRunServerAtStartupHelp}
|
||||||
|
</div>
|
||||||
|
<br /><br />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<paper-checkbox id="chkUsageData">${OptionEnableAnonymousUsageReporting}</paper-checkbox>
|
||||||
|
<div class="fieldDescription paperCheckboxFieldDescription">
|
||||||
|
${OptionEnableAnonymousUsageReportingHelp}
|
||||||
|
<div style="margin-top:.5em;">
|
||||||
|
<a target="_blank" href="https://emby.media/privacy">${ButtonLearnMore}</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<br /><br />
|
||||||
|
</div>
|
||||||
|
|
||||||
<emby-collapsible title="${HeaderAdvanced}">
|
<emby-collapsible title="${HeaderAdvanced}">
|
||||||
<br />
|
<br />
|
||||||
<ul data-role="listview" class="ulForm">
|
<ul data-role="listview" class="ulForm">
|
||||||
|
@ -3,12 +3,6 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="advanced.html" data-role="button">${TabGeneral}</a>
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabHosting}</a>
|
|
||||||
<a href="serversecurity.html" data-role="button">${TabSecurity}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form class="dashboardHostingForm">
|
<form class="dashboardHostingForm">
|
||||||
|
|
||||||
<ul data-role="listview" class="ulForm">
|
<ul data-role="listview" class="ulForm">
|
||||||
|
@ -3,11 +3,6 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabDevices}</a>
|
|
||||||
<a href="devicesupload.html" data-role="button">${TabCameraUpload}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="readOnlyContent">
|
<div class="readOnlyContent">
|
||||||
<div class="devicesList">
|
<div class="devicesList">
|
||||||
|
|
||||||
|
@ -3,12 +3,6 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="devices.html" data-role="button">${TabDevices}</a>
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabCameraUpload}</a>
|
|
||||||
<!--<a href="dashboardsync.html" data-role="button">${TabSync}</a>-->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="readOnlyContent">
|
<div class="readOnlyContent">
|
||||||
|
|
||||||
<p>${HeaderCameraUploadHelp}</p>
|
<p>${HeaderCameraUploadHelp}</p>
|
||||||
|
@ -3,12 +3,6 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="dlnasettings.html" data-role="button">${TabPlayTo}</a>
|
|
||||||
<a href="dlnaserversettings.html" data-role="button">${TabServer}</a>
|
|
||||||
<a href="dlnaprofiles.html" data-role="button" class="ui-btn-active">${TabProfiles}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form class="dlnaProfileForm" style="max-width: 650px;">
|
<form class="dlnaProfileForm" style="max-width: 650px;">
|
||||||
|
|
||||||
<p>${HeaderProfileInformation}</p>
|
<p>${HeaderProfileInformation}</p>
|
||||||
|
@ -3,12 +3,6 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="dlnasettings.html" data-role="button">${TabPlayTo}</a>
|
|
||||||
<a href="dlnaserversettings.html" data-role="button">${TabServer}</a>
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabProfiles}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="readOnlyContent">
|
<div class="readOnlyContent">
|
||||||
|
|
||||||
<div style="position: relative;">
|
<div style="position: relative;">
|
||||||
|
@ -1,48 +0,0 @@
|
|||||||
<div id="dlnaServerSettingsPage" data-role="page" class="page type-interior dlnaPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Dlna%20server" data-require="scripts/dlnaserversettings,paper-input,paper-checkbox">
|
|
||||||
|
|
||||||
<div data-role="content">
|
|
||||||
<div class="content-primary">
|
|
||||||
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="dlnasettings.html" data-role="button">${TabPlayTo}</a>
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabServer}</a>
|
|
||||||
<a href="dlnaprofiles.html" data-role="button">${TabProfiles}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form class="dlnaServerSettingsForm">
|
|
||||||
|
|
||||||
<ul data-role="listview" class="ulForm">
|
|
||||||
<li>
|
|
||||||
<paper-checkbox id="chkEnableServer">${LabelEnableDlnaServer}</paper-checkbox>
|
|
||||||
<div class="fieldDescription paperCheckboxFieldDescription">${LabelEnableDlnaServerHelp}</div>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<paper-checkbox id="chkBlastAliveMessages">${LabelEnableBlastAliveMessages}</paper-checkbox>
|
|
||||||
<div class="fieldDescription paperCheckboxFieldDescription">${LabelEnableBlastAliveMessagesHelp}</div>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<paper-input type="number" id="txtBlastInterval" min="1" max="300" label="${LabelBlastMessageInterval}"></paper-input>
|
|
||||||
<div class="fieldDescription">${LabelBlastMessageIntervalHelp}</div>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<label for="selectUser" class="selectLabel">${LabelDefaultUser}</label>
|
|
||||||
<select id="selectUser" data-mini="true"></select>
|
|
||||||
<div class="fieldDescription">${LabelDefaultUserHelp}</div>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<paper-checkbox id="chkEnableMovieFolders">${LabelEnableEnhancedMovies}</paper-checkbox>
|
|
||||||
<div class="fieldDescription paperCheckboxFieldDescription">${LabelEnableEnhancedMoviesHelp}</div>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<ul data-role="listview" class="ulForm">
|
|
||||||
<li>
|
|
||||||
<button type="submit" data-role="none" class="clearButton">
|
|
||||||
<paper-button raised class="submit block"><iron-icon icon="check"></iron-icon><span>${ButtonSave}</span></paper-button>
|
|
||||||
</button>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</form>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
@ -1,14 +1,8 @@
|
|||||||
<div id="dlnaSettingsPage" data-role="page" class="page type-interior dlnaPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Play%20to" data-require="scripts/dlnasettings,paper-input,paper-checkbox">
|
<div id="dlnaSettingsPage" data-role="page" class="page type-interior" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Play%20to" data-require="scripts/dlnasettings,paper-input,paper-checkbox">
|
||||||
|
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabPlayTo}</a>
|
|
||||||
<a href="dlnaserversettings.html" data-role="button">${TabServer}</a>
|
|
||||||
<a href="dlnaprofiles.html" data-role="button">${TabProfiles}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form class="dlnaSettingsForm">
|
<form class="dlnaSettingsForm">
|
||||||
|
|
||||||
<ul data-role="listview" class="ulForm">
|
<ul data-role="listview" class="ulForm">
|
||||||
@ -25,6 +19,29 @@
|
|||||||
<div class="fieldDescription">${LabelEnableDlnaClientDiscoveryIntervalHelp}</div>
|
<div class="fieldDescription">${LabelEnableDlnaClientDiscoveryIntervalHelp}</div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<ul data-role="listview" class="ulForm">
|
||||||
|
<li>
|
||||||
|
<paper-checkbox id="chkEnableServer">${LabelEnableDlnaServer}</paper-checkbox>
|
||||||
|
<div class="fieldDescription paperCheckboxFieldDescription">${LabelEnableDlnaServerHelp}</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<paper-checkbox id="chkBlastAliveMessages">${LabelEnableBlastAliveMessages}</paper-checkbox>
|
||||||
|
<div class="fieldDescription paperCheckboxFieldDescription">${LabelEnableBlastAliveMessagesHelp}</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<paper-input type="number" id="txtBlastInterval" min="1" max="300" label="${LabelBlastMessageInterval}"></paper-input>
|
||||||
|
<div class="fieldDescription">${LabelBlastMessageIntervalHelp}</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<label for="selectUser" class="selectLabel">${LabelDefaultUser}</label>
|
||||||
|
<select id="selectUser" data-mini="true"></select>
|
||||||
|
<div class="fieldDescription">${LabelDefaultUserHelp}</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<paper-checkbox id="chkEnableMovieFolders">${LabelEnableEnhancedMovies}</paper-checkbox>
|
||||||
|
<div class="fieldDescription paperCheckboxFieldDescription">${LabelEnableEnhancedMoviesHelp}</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
<ul data-role="listview" class="ulForm">
|
<ul data-role="listview" class="ulForm">
|
||||||
<li>
|
<li>
|
||||||
<button type="submit" data-role="none" class="clearButton">
|
<button type="submit" data-role="none" class="clearButton">
|
||||||
|
@ -3,13 +3,6 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="playbackconfiguration.html" data-role="button">${TabGeneral}</a>
|
|
||||||
<a href="cinemamodeconfiguration.html" data-role="button">${TabCinemaMode}</a>
|
|
||||||
<a href="streamingsettings.html" data-role="button">${TabStreaming}</a>
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabTranscoding}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form class="encodingSettingsForm">
|
<form class="encodingSettingsForm">
|
||||||
|
|
||||||
<ul data-role="listview" class="ulForm">
|
<ul data-role="listview" class="ulForm">
|
||||||
|
@ -7,11 +7,11 @@
|
|||||||
<div class="backdropContainer"></div>
|
<div class="backdropContainer"></div>
|
||||||
|
|
||||||
<div class="skinContainer">
|
<div class="skinContainer">
|
||||||
<div class="skinHeader"></div>
|
<paper-drawer-panel class="mainDrawerPanel mainDrawerPanelPreInit">
|
||||||
<paper-drawer-panel class="mainDrawerPanel mainDrawerPanelPreInit" forcenarrow>
|
|
||||||
<div class="mainDrawer" drawer></div>
|
<div class="mainDrawer" drawer></div>
|
||||||
<div class="mainDrawerPanelContent" main>
|
<div class="mainDrawerPanelContent" main>
|
||||||
<div class="pageBackground"></div>
|
<div class="pageBackground"></div>
|
||||||
|
<div class="skinHeader"></div>
|
||||||
<div class="mainAnimatedPages skinBody">
|
<div class="mainAnimatedPages skinBody">
|
||||||
<div class="mainAnimatedPage hide"></div><div class="mainAnimatedPage hide"></div><div class="mainAnimatedPage hide"></div>
|
<div class="mainAnimatedPage hide"></div><div class="mainAnimatedPage hide"></div><div class="mainAnimatedPage hide"></div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabFolders}</a>
|
|
||||||
<a href="librarypathmapping.html" data-role="button">${TabPathSubstitution}</a>
|
|
||||||
<a href="librarysettings.html" data-role="button">${TabAdvanced}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="divVirtualFolders"></div>
|
<div id="divVirtualFolders"></div>
|
||||||
<br />
|
<br />
|
||||||
<div>
|
<div>
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="library.html" data-role="button">${TabFolders}</a>
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabPathSubstitution}</a>
|
|
||||||
<a href="librarysettings.html" data-role="button">${TabAdvanced}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="readOnlyContent">
|
<div class="readOnlyContent">
|
||||||
<p>${PathSubstitutionHelp}</p>
|
<p>${PathSubstitutionHelp}</p>
|
||||||
|
|
||||||
|
@ -2,51 +2,8 @@
|
|||||||
|
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="library.html" data-role="button">${TabFolders}</a>
|
|
||||||
<a href="librarypathmapping.html" data-role="button">${TabPathSubstitution}</a>
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabAdvanced}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form class="librarySettingsForm">
|
<form class="librarySettingsForm">
|
||||||
|
|
||||||
<div data-role="collapsible">
|
|
||||||
<h2>${HeaderAudio}</h2>
|
|
||||||
<div>
|
|
||||||
<br />
|
|
||||||
<div>
|
|
||||||
<paper-checkbox id="chkEnableAudioArchiveFiles">${OptionDetectArchiveFilesAsMedia}</paper-checkbox>
|
|
||||||
<div class="fieldDescription paperCheckboxFieldDescription">${OptionDetectArchiveFilesAsMediaHelp}</div>
|
|
||||||
</div>
|
|
||||||
<br />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-role="collapsible">
|
|
||||||
<h2>${HeaderVideo}</h2>
|
|
||||||
<div>
|
|
||||||
<br />
|
|
||||||
<div>
|
|
||||||
<paper-checkbox id="chkEnableVideoArchiveFiles">${OptionDetectArchiveFilesAsMedia}</paper-checkbox>
|
|
||||||
<div class="fieldDescription paperCheckboxFieldDescription">${OptionDetectArchiveFilesAsMediaHelp}</div>
|
|
||||||
</div>
|
|
||||||
<br />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div data-role="collapsible">
|
|
||||||
<h2>${HeaderTV}</h2>
|
|
||||||
<div>
|
|
||||||
<br />
|
|
||||||
<div>
|
|
||||||
<label for="txtSeasonZeroName">${LabelSeasonZeroDisplayName}</label>
|
|
||||||
<paper-input type="text" id="txtSeasonZeroName" required></paper-input>
|
|
||||||
</div>
|
|
||||||
<br />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<ul data-role="listview" class="ulForm">
|
<ul data-role="listview" class="ulForm">
|
||||||
<li class="fldLibraryMonitor hide">
|
<li class="fldLibraryMonitor hide">
|
||||||
<label for="selectEnableRealtimeMonitor" class="selectLabel">${LabelEnableRealtimeMonitor}</label>
|
<label for="selectEnableRealtimeMonitor" class="selectLabel">${LabelEnableRealtimeMonitor}</label>
|
||||||
@ -60,12 +17,143 @@
|
|||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<button type="submit" data-role="none" class="clearButton">
|
<label for="selectDateAdded" class="selectLabel">${LabelDateAddedBehavior}</label>
|
||||||
<paper-button raised class="submit block"><iron-icon icon="check"></iron-icon><span>${ButtonSave}</span></paper-button>
|
<select id="selectDateAdded" data-mini="true">
|
||||||
</button>
|
<option value="0">${OptionDateAddedImportTime}</option>
|
||||||
|
<option value="1">${OptionDateAddedFileTime}</option>
|
||||||
|
</select>
|
||||||
|
<div class="fieldDescription">${LabelDateAddedBehaviorHelp}</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<paper-input id="txtMetadataPath" label="${LabelMetadataPath}" style="width:85%;display:inline-block;"></paper-input>
|
||||||
|
<paper-icon-button id="btnSelectMetadataPath" icon="search"></paper-icon-button>
|
||||||
|
<div class="fieldDescription">${LabelMetadataPathHelp}</div>
|
||||||
|
<br />
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<paper-checkbox id="chkSaveMetadataHidden">${OptionSaveMetadataAsHidden}</paper-checkbox>
|
||||||
|
<br /><br />
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
<emby-collapsible title="${HeaderAutomaticUpdates}" class="hide">
|
||||||
|
<ul data-role="listview" class="ulForm">
|
||||||
|
<li>
|
||||||
|
<paper-checkbox id="chkEnableTmdbUpdates">${LabelAutomaticUpdatesTmdb}</paper-checkbox>
|
||||||
|
<div class="fieldDescription paperCheckboxFieldDescription">${LabelAutomaticUpdatesTmdbHelp}</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<paper-checkbox id="chkEnableTvdbUpdates">${LabelAutomaticUpdatesTvdb}</paper-checkbox>
|
||||||
|
<div class="fieldDescription paperCheckboxFieldDescription">${LabelAutomaticUpdatesTvdbHelp}</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</emby-collapsible>
|
||||||
|
|
||||||
|
<emby-collapsible title="${HeaderAudio}">
|
||||||
|
<br />
|
||||||
|
<div>
|
||||||
|
<paper-checkbox id="chkEnableAudioArchiveFiles">${OptionDetectArchiveFilesAsMedia}</paper-checkbox>
|
||||||
|
<div class="fieldDescription paperCheckboxFieldDescription">${OptionDetectArchiveFilesAsMediaHelp}</div>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
</emby-collapsible>
|
||||||
|
|
||||||
|
<emby-collapsible title="${HeaderVideo}">
|
||||||
|
<br />
|
||||||
|
<div>
|
||||||
|
<paper-checkbox id="chkEnableVideoArchiveFiles">${OptionDetectArchiveFilesAsMedia}</paper-checkbox>
|
||||||
|
<div class="fieldDescription paperCheckboxFieldDescription">${OptionDetectArchiveFilesAsMediaHelp}</div>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
</emby-collapsible>
|
||||||
|
|
||||||
|
<emby-collapsible title="${HeaderChapters}">
|
||||||
|
<br />
|
||||||
|
<ul data-role="listview" class="ulForm" style="margin-bottom:0!important;">
|
||||||
|
<li>
|
||||||
|
<div class="paperCheckboxListLabel">${HeaderExtractChapterImagesFor}</div>
|
||||||
|
<div class="paperCheckboxList">
|
||||||
|
<paper-checkbox id="chkChaptersMovies">${OptionMovies}</paper-checkbox>
|
||||||
|
|
||||||
|
<paper-checkbox id="chkChaptersEpisodes">${OptionEpisodes}</paper-checkbox>
|
||||||
|
|
||||||
|
<paper-checkbox id="chkChaptersOtherVideos">${OptionOtherVideos}</paper-checkbox>
|
||||||
|
</div>
|
||||||
|
<div class="fieldDescription paperCheckboxFieldDescription">${ExtractChapterImagesHelp}</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<br />
|
||||||
|
<div>
|
||||||
|
<paper-checkbox id="chkExtractChaptersDuringLibraryScan">${LabelExtractChaptersDuringLibraryScan}</paper-checkbox>
|
||||||
|
<div class="fieldDescription paperCheckboxFieldDescription">${LabelExtractChaptersDuringLibraryScanHelp}</div>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
</emby-collapsible>
|
||||||
|
|
||||||
|
<emby-collapsible title="${HeaderImages}">
|
||||||
|
<br />
|
||||||
|
<div>
|
||||||
|
<paper-checkbox id="chkDownloadImagesInAdvance">${OptionDownloadImagesInAdvance}</paper-checkbox>
|
||||||
|
<div class="fieldDescription paperCheckboxFieldDescription">${OptionDownloadImagesInAdvanceHelp}</div>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
</emby-collapsible>
|
||||||
|
|
||||||
|
<emby-collapsible title="${HeaderPeople}">
|
||||||
|
<br />
|
||||||
|
<ul data-role="listview" class="ulForm">
|
||||||
|
<li>
|
||||||
|
<div class="paperCheckboxListLabel">${HeaderDownloadPeopleMetadataFor}</div>
|
||||||
|
<div class="paperCheckboxList">
|
||||||
|
<paper-checkbox id="chkPeopleActors">${OptionActors}</paper-checkbox>
|
||||||
|
|
||||||
|
<paper-checkbox id="chkPeopleComposers">${OptionComposers}</paper-checkbox>
|
||||||
|
|
||||||
|
<paper-checkbox id="chkPeopleDirectors">${OptionDirectors}</paper-checkbox>
|
||||||
|
|
||||||
|
<paper-checkbox id="chkPeopleGuestStars">${OptionGuestStars}</paper-checkbox>
|
||||||
|
|
||||||
|
<paper-checkbox id="chkPeopleProducers">${OptionProducers}</paper-checkbox>
|
||||||
|
|
||||||
|
<paper-checkbox id="chkPeopleWriters">${OptionWriters}</paper-checkbox>
|
||||||
|
|
||||||
|
<paper-checkbox id="chkPeopleOthers">${OptionOthers}</paper-checkbox>
|
||||||
|
</div>
|
||||||
|
<div class="fieldDescription paperCheckboxFieldDescription">${HeaderDownloadPeopleMetadataForHelp}</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</emby-collapsible>
|
||||||
|
|
||||||
|
<emby-collapsible title="${HeaderTV}">
|
||||||
|
<br />
|
||||||
|
<div>
|
||||||
|
<label for="txtSeasonZeroName">${LabelSeasonZeroDisplayName}</label>
|
||||||
|
<paper-input type="text" id="txtSeasonZeroName" required></paper-input>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
</emby-collapsible>
|
||||||
|
|
||||||
|
<emby-collapsible title="Fanart.tv">
|
||||||
|
<ul data-role="listview" class="ulForm">
|
||||||
|
<li>
|
||||||
|
<paper-input type="text" id="txtFanartApiKey" label="${LabelFanartApiKey}"></paper-input>
|
||||||
|
<div class="fieldDescription">${LabelFanartApiKeyHelp}</div>
|
||||||
|
<div class="fieldDescription"><a href="https://fanart.tv/2015/01/personal-api-keys" target="_blank">${ButtonLearnMore}</a></div>
|
||||||
|
</li>
|
||||||
|
<li style="display:none;">
|
||||||
|
<input type="checkbox" id="chkEnableFanartUpdates" data-mini="true" />
|
||||||
|
<label for="chkEnableFanartUpdates">${LabelAutomaticUpdates}</label>
|
||||||
|
<div class="fieldDescription">${LabelAutomaticUpdatesFanartHelp}</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</emby-collapsible>
|
||||||
|
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
<button type="submit" data-role="none" class="clearButton">
|
||||||
|
<paper-button raised class="submit block"><iron-icon icon="check"></iron-icon><span>${ButtonSave}</span></paper-button>
|
||||||
|
</button>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -3,12 +3,6 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="livetvstatus.html" data-role="button" class="ui-btn-active">${TabTuners}</a>
|
|
||||||
<a href="livetvsettings.html" data-role="button">${TabSettings}</a>
|
|
||||||
<a href="appservices.html?context=livetv" data-role="button">${TabExternalServices}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="readOnlyContent providerTemplate" style="margin-top: 2em;">
|
<div class="readOnlyContent providerTemplate" style="margin-top: 2em;">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,14 +1,8 @@
|
|||||||
<div id="liveTvSettingsPage" data-role="page" class="page type-interior liveTvSettingsPage liveTvPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Live%20TV" data-require="scripts/livetvsettings,paper-checkbox,paper-input">
|
<div id="liveTvSettingsPage" data-role="page" class="page type-interior liveTvPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Live%20TV" data-require="scripts/livetvsettings,paper-checkbox,paper-input,emby-collapsible">
|
||||||
|
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="livetvstatus.html" data-role="button">${TabTuners}</a>
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabSettings}</a>
|
|
||||||
<a href="appservices.html?context=livetv" data-role="button">${TabExternalServices}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form class="liveTvSettingsForm">
|
<form class="liveTvSettingsForm">
|
||||||
|
|
||||||
<ul data-role="listview" class="ulForm">
|
<ul data-role="listview" class="ulForm">
|
||||||
|
@ -3,13 +3,7 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
<div class="readOnlyContent">
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabTuners}</a>
|
|
||||||
<a href="livetvsettings.html" data-role="button">${TabSettings}</a>
|
|
||||||
<a href="appservices.html?context=livetv" data-role="button">${TabExternalServices}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="readOnlyContent" style="margin-top: 2em;">
|
|
||||||
|
|
||||||
<div class="liveTvStatusContent" style="display: none;">
|
<div class="liveTvStatusContent" style="display: none;">
|
||||||
|
|
||||||
|
@ -3,12 +3,6 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="livetvstatus.html" data-role="button" class="ui-btn-active">${TabTuners}</a>
|
|
||||||
<a href="livetvsettings.html" data-role="button">${TabSettings}</a>
|
|
||||||
<a href="appservices.html?context=livetv" data-role="button">${TabExternalServices}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="readOnlyContent" style="margin-top: 2em;">
|
<div class="readOnlyContent" style="margin-top: 2em;">
|
||||||
|
|
||||||
<h1>HD Homerun</h1>
|
<h1>HD Homerun</h1>
|
||||||
|
@ -3,12 +3,6 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="livetvstatus.html" data-role="button" class="ui-btn-active">${TabTuners}</a>
|
|
||||||
<a href="livetvsettings.html" data-role="button">${TabSettings}</a>
|
|
||||||
<a href="appservices.html?context=livetv" data-role="button">${TabExternalServices}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="readOnlyContent" style="margin-top: 2em;">
|
<div class="readOnlyContent" style="margin-top: 2em;">
|
||||||
|
|
||||||
<h1>M3U Setup</h1>
|
<h1>M3U Setup</h1>
|
||||||
|
@ -3,12 +3,6 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="livetvstatus.html" data-role="button" class="ui-btn-active">${TabTuners}</a>
|
|
||||||
<a href="livetvsettings.html" data-role="button">${TabSettings}</a>
|
|
||||||
<a href="appservices.html?context=livetv" data-role="button">${TabExternalServices}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="readOnlyContent" style="margin-top: 2em;">
|
<div class="readOnlyContent" style="margin-top: 2em;">
|
||||||
|
|
||||||
<h1>DVB</h1>
|
<h1>DVB</h1>
|
||||||
|
@ -1,16 +1,14 @@
|
|||||||
<div id="logPage" data-role="page" class="page type-interior" data-require="scripts/logpage">
|
<div id="logPage" data-role="page" class="page type-interior">
|
||||||
|
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
<div class="readOnlyContent" style="margin:0 auto;">
|
||||||
<a href="support.html" data-role="button">${TabGeneral}</a>
|
<div style="text-align: right; display: flex; justify-content: flex-end;">
|
||||||
<a href="log.html" data-role="button" class="ui-btn-active">${TabLogs}</a>
|
<paper-toggle-button id="chkDebugLog">${LabelEnableDebugLogging}</paper-toggle-button>
|
||||||
<a href="supporterkey.html" data-role="button" class="tabSupporterMembership">${TabEmbyPremiere}</a>
|
</div>
|
||||||
<a href="about.html" data-role="button">${TabAbout}</a>
|
<br/>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="serverLogs readOnlyContent" style="margin:0 auto;">
|
||||||
<p>${HeaderServerLogFiles}</p>
|
|
||||||
<div class="serverLogs readOnlyContent">
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -3,13 +3,6 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
|
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabBasics}</a>
|
|
||||||
<a href="metadataimages.html" data-role="button">${TabServices}</a>
|
|
||||||
<a href="metadatasubtitles.html" data-role="button">${TabSubtitles}</a>
|
|
||||||
<a href="metadatanfo.html" data-role="button">${TabNfo}</a>
|
|
||||||
<a href="metadataadvanced.html" data-role="button">${TabAdvanced}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form class="metadataConfigurationForm">
|
<form class="metadataConfigurationForm">
|
||||||
|
|
||||||
|
@ -1,134 +0,0 @@
|
|||||||
<div id="advancedMetadataConfigurationPage" data-role="page" class="page type-interior metadataConfigurationPage" data-require="emby-collapsible,scripts/metadataadvanced,paper-checkbox,paper-input">
|
|
||||||
|
|
||||||
<div data-role="content">
|
|
||||||
|
|
||||||
<div class="content-primary">
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="metadata.html" data-role="button">${TabBasics}</a>
|
|
||||||
<a href="metadataimages.html" data-role="button">${TabServices}</a>
|
|
||||||
<a href="metadatasubtitles.html" data-role="button">${TabSubtitles}</a>
|
|
||||||
<a href="metadatanfo.html" data-role="button">${TabNfo}</a>
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabAdvanced}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form class="advancedMetadataConfigurationForm">
|
|
||||||
|
|
||||||
<ul data-role="listview" class="ulForm">
|
|
||||||
<li>
|
|
||||||
<paper-input id="txtMetadataPath" label="${LabelMetadataPath}" style="width:85%;display:inline-block;"></paper-input>
|
|
||||||
<paper-icon-button id="btnSelectMetadataPath" icon="search"></paper-icon-button>
|
|
||||||
<div class="fieldDescription">${LabelMetadataPathHelp}</div>
|
|
||||||
<br />
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<paper-checkbox id="chkSaveMetadataHidden">${OptionSaveMetadataAsHidden}</paper-checkbox>
|
|
||||||
<br /><br />
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<label for="selectDateAdded" class="selectLabel">${LabelDateAddedBehavior}</label>
|
|
||||||
<select id="selectDateAdded" data-mini="true">
|
|
||||||
<option value="0">${OptionDateAddedImportTime}</option>
|
|
||||||
<option value="1">${OptionDateAddedFileTime}</option>
|
|
||||||
</select>
|
|
||||||
<div class="fieldDescription">${LabelDateAddedBehaviorHelp}</div>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<emby-collapsible title="${HeaderAutomaticUpdates}" class="hide">
|
|
||||||
<ul data-role="listview" class="ulForm">
|
|
||||||
<li>
|
|
||||||
<paper-checkbox id="chkEnableTmdbUpdates">${LabelAutomaticUpdatesTmdb}</paper-checkbox>
|
|
||||||
<div class="fieldDescription paperCheckboxFieldDescription">${LabelAutomaticUpdatesTmdbHelp}</div>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<paper-checkbox id="chkEnableTvdbUpdates">${LabelAutomaticUpdatesTvdb}</paper-checkbox>
|
|
||||||
<div class="fieldDescription paperCheckboxFieldDescription">${LabelAutomaticUpdatesTvdbHelp}</div>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</emby-collapsible>
|
|
||||||
|
|
||||||
<emby-collapsible title="${HeaderChapters}">
|
|
||||||
<br />
|
|
||||||
<ul data-role="listview" class="ulForm" style="margin-bottom:0!important;">
|
|
||||||
<li>
|
|
||||||
<div class="paperCheckboxListLabel">${HeaderExtractChapterImagesFor}</div>
|
|
||||||
<div class="paperCheckboxList">
|
|
||||||
<paper-checkbox id="chkChaptersMovies">${OptionMovies}</paper-checkbox>
|
|
||||||
|
|
||||||
<paper-checkbox id="chkChaptersEpisodes">${OptionEpisodes}</paper-checkbox>
|
|
||||||
|
|
||||||
<paper-checkbox id="chkChaptersOtherVideos">${OptionOtherVideos}</paper-checkbox>
|
|
||||||
</div>
|
|
||||||
<div class="fieldDescription paperCheckboxFieldDescription">${ExtractChapterImagesHelp}</div>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<br />
|
|
||||||
<div>
|
|
||||||
<paper-checkbox id="chkExtractChaptersDuringLibraryScan">${LabelExtractChaptersDuringLibraryScan}</paper-checkbox>
|
|
||||||
<div class="fieldDescription paperCheckboxFieldDescription">${LabelExtractChaptersDuringLibraryScanHelp}</div>
|
|
||||||
</div>
|
|
||||||
<br />
|
|
||||||
</emby-collapsible>
|
|
||||||
|
|
||||||
<emby-collapsible title="Fanart.tv">
|
|
||||||
<ul data-role="listview" class="ulForm">
|
|
||||||
<li>
|
|
||||||
<paper-input type="text" id="txtFanartApiKey" label="${LabelFanartApiKey}"></paper-input>
|
|
||||||
<div class="fieldDescription">${LabelFanartApiKeyHelp}</div>
|
|
||||||
<div class="fieldDescription"><a href="https://fanart.tv/2015/01/personal-api-keys" target="_blank">${ButtonLearnMore}</a></div>
|
|
||||||
</li>
|
|
||||||
<li style="display:none;">
|
|
||||||
<input type="checkbox" id="chkEnableFanartUpdates" data-mini="true" />
|
|
||||||
<label for="chkEnableFanartUpdates">${LabelAutomaticUpdates}</label>
|
|
||||||
<div class="fieldDescription">${LabelAutomaticUpdatesFanartHelp}</div>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</emby-collapsible>
|
|
||||||
|
|
||||||
<emby-collapsible title="${HeaderImages}">
|
|
||||||
<br />
|
|
||||||
<div>
|
|
||||||
<paper-checkbox id="chkDownloadImagesInAdvance">${OptionDownloadImagesInAdvance}</paper-checkbox>
|
|
||||||
<div class="fieldDescription paperCheckboxFieldDescription">${OptionDownloadImagesInAdvanceHelp}</div>
|
|
||||||
</div>
|
|
||||||
<br />
|
|
||||||
</emby-collapsible>
|
|
||||||
|
|
||||||
<emby-collapsible title="${HeaderPeople}">
|
|
||||||
<br />
|
|
||||||
<ul data-role="listview" class="ulForm">
|
|
||||||
<li>
|
|
||||||
<div class="paperCheckboxListLabel">${HeaderDownloadPeopleMetadataFor}</div>
|
|
||||||
<div class="paperCheckboxList">
|
|
||||||
<paper-checkbox id="chkPeopleActors">${OptionActors}</paper-checkbox>
|
|
||||||
|
|
||||||
<paper-checkbox id="chkPeopleComposers">${OptionComposers}</paper-checkbox>
|
|
||||||
|
|
||||||
<paper-checkbox id="chkPeopleDirectors">${OptionDirectors}</paper-checkbox>
|
|
||||||
|
|
||||||
<paper-checkbox id="chkPeopleGuestStars">${OptionGuestStars}</paper-checkbox>
|
|
||||||
|
|
||||||
<paper-checkbox id="chkPeopleProducers">${OptionProducers}</paper-checkbox>
|
|
||||||
|
|
||||||
<paper-checkbox id="chkPeopleWriters">${OptionWriters}</paper-checkbox>
|
|
||||||
|
|
||||||
<paper-checkbox id="chkPeopleOthers">${OptionOthers}</paper-checkbox>
|
|
||||||
</div>
|
|
||||||
<div class="fieldDescription paperCheckboxFieldDescription">${HeaderDownloadPeopleMetadataForHelp}</div>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</emby-collapsible>
|
|
||||||
|
|
||||||
<br /><br />
|
|
||||||
<ul data-role="listview" class="ulForm">
|
|
||||||
<li>
|
|
||||||
<button type="submit" data-role="none" class="clearButton">
|
|
||||||
<paper-button raised class="submit block"><iron-icon icon="check"></iron-icon><span>${ButtonSave}</span></paper-button>
|
|
||||||
</button>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
@ -3,17 +3,9 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
|
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true" style="margin-bottom: 20px!important;">
|
|
||||||
<a href="metadata.html" data-role="button">${TabBasics}</a>
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabServices}</a>
|
|
||||||
<a href="metadatasubtitles.html" data-role="button">${TabSubtitles}</a>
|
|
||||||
<a href="metadatanfo.html" data-role="button">${TabNfo}</a>
|
|
||||||
<a href="metadataadvanced.html" data-role="button">${TabAdvanced}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="tabContent">
|
<div class="tabContent">
|
||||||
<form class="metadataImagesConfigurationForm" style="margin-top: 10px; max-width: 800px;">
|
<form class="metadataImagesConfigurationForm" style="max-width: 800px;">
|
||||||
<br />
|
|
||||||
<div style="width: 75%;">
|
<div style="width: 75%;">
|
||||||
<label for="selectItemType" class="selectLabel">${LabelCustomizeOptionsPerMediaType}</label>
|
<label for="selectItemType" class="selectLabel">${LabelCustomizeOptionsPerMediaType}</label>
|
||||||
<select id="selectItemType" data-mini="true"></select>
|
<select id="selectItemType" data-mini="true"></select>
|
||||||
|
@ -3,14 +3,6 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
|
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="metadata.html" data-role="button">${TabBasics}</a>
|
|
||||||
<a href="metadataimages.html" data-role="button">${TabServices}</a>
|
|
||||||
<a href="metadatasubtitles.html" data-role="button">${TabSubtitles}</a>
|
|
||||||
<a href="#" class="ui-btn-active" data-role="button">${TabNfo}</a>
|
|
||||||
<a href="metadataadvanced.html" data-role="button">${TabAdvanced}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form class="metadataNfoForm">
|
<form class="metadataNfoForm">
|
||||||
|
|
||||||
<p>${HeaderKodiMetadataHelp}</p>
|
<p>${HeaderKodiMetadataHelp}</p>
|
||||||
|
@ -3,13 +3,6 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
|
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="metadata.html" data-role="button">${TabBasics}</a>
|
|
||||||
<a href="metadataimages.html" data-role="button">${TabServices}</a>
|
|
||||||
<a href="#" class="ui-btn-active" data-role="button">${TabSubtitles}</a>
|
|
||||||
<a href="metadatanfo.html" data-role="button">${TabNfo}</a>
|
|
||||||
<a href="metadataadvanced.html" data-role="button">${TabAdvanced}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form class="metadataSubtitlesForm">
|
<form class="metadataSubtitlesForm">
|
||||||
|
|
||||||
|
@ -3,11 +3,6 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="notificationsettings.html" data-role="button" class="ui-btn-active">${TabNotifications}</a>
|
|
||||||
<a href="appservices.html?context=notifications" data-role="button">${TabServices}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h2 class="notificationType" style="margin-bottom: 0;"></h2>
|
<h2 class="notificationType" style="margin-bottom: 0;"></h2>
|
||||||
|
|
||||||
<form class="notificationSettingForm">
|
<form class="notificationSettingForm">
|
||||||
|
@ -3,13 +3,6 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabGeneral}</a>
|
|
||||||
<a href="cinemamodeconfiguration.html" data-role="button">${TabCinemaMode}</a>
|
|
||||||
<a href="streamingsettings.html" data-role="button">${TabStreaming}</a>
|
|
||||||
<a href="encodingsettings.html" data-role="button">${TabTranscoding}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form class="playbackConfigurationForm">
|
<form class="playbackConfigurationForm">
|
||||||
<h2>${HeaderResumeSettings}</h2>
|
<h2>${HeaderResumeSettings}</h2>
|
||||||
<div>
|
<div>
|
||||||
|
@ -1,12 +1,6 @@
|
|||||||
<div id="pluginCatalogPage" data-role="page" class="page type-interior pluginConfigurationPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Plugins" data-require="scripts/ratingdialog,scripts/plugincatalogpage,jqmcheckbox">
|
<div id="pluginCatalogPage" data-role="page" class="page type-interior pluginConfigurationPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Plugins" data-require="scripts/ratingdialog,scripts/plugincatalogpage,jqmcheckbox">
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
<div data-role="controlgroup" data-type="horizontal" data-mini="true">
|
|
||||||
<a href="plugins.html" data-role="button">${TabMyPlugins}</a>
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabCatalog}</a>
|
|
||||||
<a href="channelsettings.html" data-role="button">${TabChannels}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
<div>
|
<div>
|
||||||
<div style="display:inline-block;vertical-align:middle;">
|
<div style="display:inline-block;vertical-align:middle;">
|
||||||
|
@ -2,12 +2,6 @@
|
|||||||
|
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabMyPlugins}</a>
|
|
||||||
<a href="plugincatalog.html" data-role="button">${TabCatalog}</a>
|
|
||||||
<a href="channelsettings.html" data-role="button">${TabChannels}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="installedPlugins"></div>
|
<div class="installedPlugins"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -199,21 +199,14 @@
|
|||||||
|
|
||||||
var context = getParameterByName('context');
|
var context = getParameterByName('context');
|
||||||
|
|
||||||
$('.syncTabs', page).hide();
|
|
||||||
$('.pluginTabs', page).hide();
|
|
||||||
$('.livetvTabs', page).hide();
|
|
||||||
$('.notificationsTabs', page).hide();
|
$('.notificationsTabs', page).hide();
|
||||||
|
|
||||||
if (context == 'sync') {
|
if (context == 'sync') {
|
||||||
$('.syncTabs', page).show();
|
|
||||||
|
|
||||||
page.setAttribute('data-helpurl', 'https://github.com/MediaBrowser/Wiki/wiki/Sync');
|
page.setAttribute('data-helpurl', 'https://github.com/MediaBrowser/Wiki/wiki/Sync');
|
||||||
Dashboard.setPageTitle(Globalize.translate('TitleSync'));
|
Dashboard.setPageTitle(Globalize.translate('TitleSync'));
|
||||||
}
|
}
|
||||||
else if (context == 'livetv') {
|
else if (context == 'livetv') {
|
||||||
|
|
||||||
$('.livetvTabs', page).show();
|
|
||||||
|
|
||||||
Dashboard.setPageTitle(Globalize.translate('TitleLiveTV'));
|
Dashboard.setPageTitle(Globalize.translate('TitleLiveTV'));
|
||||||
page.setAttribute('data-helpurl', 'https://github.com/MediaBrowser/Wiki/wiki/Live%20TV');
|
page.setAttribute('data-helpurl', 'https://github.com/MediaBrowser/Wiki/wiki/Live%20TV');
|
||||||
}
|
}
|
||||||
@ -225,8 +218,6 @@
|
|||||||
page.setAttribute('data-helpurl', 'https://github.com/MediaBrowser/Wiki/wiki/Notifications');
|
page.setAttribute('data-helpurl', 'https://github.com/MediaBrowser/Wiki/wiki/Notifications');
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$('.pluginTabs', page).show();
|
|
||||||
|
|
||||||
page.setAttribute('data-helpurl', 'https://github.com/MediaBrowser/Wiki/wiki/Plugins');
|
page.setAttribute('data-helpurl', 'https://github.com/MediaBrowser/Wiki/wiki/Plugins');
|
||||||
Dashboard.setPageTitle(Globalize.translate('TitlePlugins'));
|
Dashboard.setPageTitle(Globalize.translate('TitlePlugins'));
|
||||||
}
|
}
|
||||||
|
@ -2,20 +2,6 @@
|
|||||||
|
|
||||||
function loadPage(page, config, systemInfo) {
|
function loadPage(page, config, systemInfo) {
|
||||||
|
|
||||||
var os = systemInfo.OperatingSystem.toLowerCase();
|
|
||||||
|
|
||||||
if (os.indexOf('windows') != -1) {
|
|
||||||
$('#windowsStartupDescription', page).show();
|
|
||||||
} else {
|
|
||||||
$('#windowsStartupDescription', page).hide();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (systemInfo.SupportsAutoRunAtStartup) {
|
|
||||||
$('#fldRunAtStartup', page).show();
|
|
||||||
} else {
|
|
||||||
$('#fldRunAtStartup', page).hide();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (systemInfo.CanSelfUpdate) {
|
if (systemInfo.CanSelfUpdate) {
|
||||||
$('.fldAutomaticUpdates', page).show();
|
$('.fldAutomaticUpdates', page).show();
|
||||||
$('.lnlAutomaticUpdateLevel', page).html(Globalize.translate('LabelAutomaticUpdateLevel'));
|
$('.lnlAutomaticUpdateLevel', page).html(Globalize.translate('LabelAutomaticUpdateLevel'));
|
||||||
@ -26,7 +12,6 @@
|
|||||||
|
|
||||||
$('#chkEnableAutomaticServerUpdates', page).checked(config.EnableAutoUpdate);
|
$('#chkEnableAutomaticServerUpdates', page).checked(config.EnableAutoUpdate);
|
||||||
$('#chkEnableAutomaticRestart', page).checked(config.EnableAutomaticRestart);
|
$('#chkEnableAutomaticRestart', page).checked(config.EnableAutomaticRestart);
|
||||||
$('#chkUsageData', page).checked(config.EnableAnonymousUsageReporting);
|
|
||||||
|
|
||||||
if (systemInfo.CanSelfRestart) {
|
if (systemInfo.CanSelfRestart) {
|
||||||
$('#fldEnableAutomaticRestart', page).show();
|
$('#fldEnableAutomaticRestart', page).show();
|
||||||
@ -35,9 +20,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
$('#selectAutomaticUpdateLevel', page).val(config.SystemUpdateLevel).trigger('change');
|
$('#selectAutomaticUpdateLevel', page).val(config.SystemUpdateLevel).trigger('change');
|
||||||
$('#chkDebugLog', page).checked(config.EnableDebugLevelLogging);
|
|
||||||
|
|
||||||
$('#chkRunAtStartup', page).checked(config.RunAtStartup);
|
|
||||||
|
|
||||||
$('#chkEnableDashboardResponseCache', page).checked(config.EnableDashboardResponseCaching);
|
$('#chkEnableDashboardResponseCache', page).checked(config.EnableDashboardResponseCaching);
|
||||||
$('#chkEnableMinification', page).checked(config.EnableDashboardResourceMinification);
|
$('#chkEnableMinification', page).checked(config.EnableDashboardResourceMinification);
|
||||||
@ -53,13 +36,9 @@
|
|||||||
|
|
||||||
ApiClient.getServerConfiguration().then(function (config) {
|
ApiClient.getServerConfiguration().then(function (config) {
|
||||||
|
|
||||||
config.EnableDebugLevelLogging = $('#chkDebugLog', form).checked();
|
|
||||||
|
|
||||||
config.RunAtStartup = $('#chkRunAtStartup', form).checked();
|
|
||||||
config.SystemUpdateLevel = $('#selectAutomaticUpdateLevel', form).val();
|
config.SystemUpdateLevel = $('#selectAutomaticUpdateLevel', form).val();
|
||||||
config.EnableAutomaticRestart = $('#chkEnableAutomaticRestart', form).checked();
|
config.EnableAutomaticRestart = $('#chkEnableAutomaticRestart', form).checked();
|
||||||
config.EnableAutoUpdate = $('#chkEnableAutomaticServerUpdates', form).checked();
|
config.EnableAutoUpdate = $('#chkEnableAutomaticServerUpdates', form).checked();
|
||||||
config.EnableAnonymousUsageReporting = $('#chkUsageData', form).checked();
|
|
||||||
|
|
||||||
config.EnableDashboardResourceMinification = $('#chkEnableMinification', form).checked();
|
config.EnableDashboardResourceMinification = $('#chkEnableMinification', form).checked();
|
||||||
config.EnableDashboardResponseCaching = $('#chkEnableDashboardResponseCache', form).checked();
|
config.EnableDashboardResponseCaching = $('#chkEnableDashboardResponseCache', form).checked();
|
||||||
|
@ -80,8 +80,6 @@
|
|||||||
|
|
||||||
var context = getParameterByName('context');
|
var context = getParameterByName('context');
|
||||||
|
|
||||||
$('.sectionTabs', page).hide();
|
|
||||||
|
|
||||||
if (context == 'sync') {
|
if (context == 'sync') {
|
||||||
Dashboard.setPageTitle(Globalize.translate('TitleSync'));
|
Dashboard.setPageTitle(Globalize.translate('TitleSync'));
|
||||||
page.setAttribute('data-helpurl', 'https://github.com/MediaBrowser/Wiki/wiki/Sync');
|
page.setAttribute('data-helpurl', 'https://github.com/MediaBrowser/Wiki/wiki/Sync');
|
||||||
@ -95,9 +93,6 @@
|
|||||||
page.setAttribute('data-helpurl', 'https://github.com/MediaBrowser/Wiki/wiki/Notifications');
|
page.setAttribute('data-helpurl', 'https://github.com/MediaBrowser/Wiki/wiki/Notifications');
|
||||||
}
|
}
|
||||||
|
|
||||||
$('.sectionTabs', page).hide();
|
|
||||||
$('.' + context + 'SectionTabs', page).show();
|
|
||||||
|
|
||||||
}).on('pageshow', "#appServicesPage", function () {
|
}).on('pageshow', "#appServicesPage", function () {
|
||||||
|
|
||||||
var page = this;
|
var page = this;
|
||||||
|
@ -1,48 +0,0 @@
|
|||||||
define(['jQuery'], function ($) {
|
|
||||||
|
|
||||||
function loadPage(page, config) {
|
|
||||||
|
|
||||||
$('#selectChannelResolution', page).val(config.PreferredStreamingWidth || '');
|
|
||||||
|
|
||||||
Dashboard.hideLoadingMsg();
|
|
||||||
}
|
|
||||||
|
|
||||||
function onSubmit() {
|
|
||||||
|
|
||||||
Dashboard.showLoadingMsg();
|
|
||||||
|
|
||||||
var form = this;
|
|
||||||
|
|
||||||
ApiClient.getNamedConfiguration("channels").then(function (config) {
|
|
||||||
|
|
||||||
// This should be null if empty
|
|
||||||
config.PreferredStreamingWidth = $('#selectChannelResolution', form).val() || null;
|
|
||||||
|
|
||||||
ApiClient.updateNamedConfiguration("channels", config).then(Dashboard.processServerConfigurationUpdateResult);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Disable default form submission
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
$(document).on('pageinit', "#channelSettingsPage", function () {
|
|
||||||
|
|
||||||
var page = this;
|
|
||||||
|
|
||||||
$('.channelSettingsForm', page).off('submit', onSubmit).on('submit', onSubmit);
|
|
||||||
|
|
||||||
}).on('pageshow', "#channelSettingsPage", function () {
|
|
||||||
|
|
||||||
Dashboard.showLoadingMsg();
|
|
||||||
|
|
||||||
var page = this;
|
|
||||||
|
|
||||||
ApiClient.getNamedConfiguration("channels").then(function (config) {
|
|
||||||
|
|
||||||
loadPage(page, config);
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
@ -5,13 +5,21 @@
|
|||||||
|
|
||||||
var currentLanguage;
|
var currentLanguage;
|
||||||
|
|
||||||
function loadPage(page, config, languageOptions) {
|
function loadPage(page, config, languageOptions, systemInfo) {
|
||||||
|
|
||||||
if (Dashboard.lastSystemInfo) {
|
var os = systemInfo.OperatingSystem.toLowerCase();
|
||||||
Dashboard.setPageTitle(Dashboard.lastSystemInfo.ServerName);
|
|
||||||
|
if (os.indexOf('windows') != -1) {
|
||||||
|
$('#windowsStartupDescription', page).show();
|
||||||
|
} else {
|
||||||
|
$('#windowsStartupDescription', page).hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
refreshPageTitle(page);
|
if (systemInfo.SupportsAutoRunAtStartup) {
|
||||||
|
$('#fldRunAtStartup', page).show();
|
||||||
|
} else {
|
||||||
|
$('#fldRunAtStartup', page).hide();
|
||||||
|
}
|
||||||
|
|
||||||
page.querySelector('#txtServerName').value = config.ServerName || '';
|
page.querySelector('#txtServerName').value = config.ServerName || '';
|
||||||
page.querySelector('#txtCachePath').value = config.CachePath || '';
|
page.querySelector('#txtCachePath').value = config.CachePath || '';
|
||||||
@ -23,18 +31,12 @@
|
|||||||
})).val(config.UICulture);
|
})).val(config.UICulture);
|
||||||
|
|
||||||
currentLanguage = config.UICulture;
|
currentLanguage = config.UICulture;
|
||||||
|
$('#chkUsageData', page).checked(config.EnableAnonymousUsageReporting);
|
||||||
|
$('#chkRunAtStartup', page).checked(config.RunAtStartup);
|
||||||
|
|
||||||
Dashboard.hideLoadingMsg();
|
Dashboard.hideLoadingMsg();
|
||||||
}
|
}
|
||||||
|
|
||||||
function refreshPageTitle(page) {
|
|
||||||
|
|
||||||
ApiClient.getSystemInfo().then(function (systemInfo) {
|
|
||||||
|
|
||||||
Dashboard.setPageTitle(systemInfo.ServerName);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function onSubmit() {
|
function onSubmit() {
|
||||||
Dashboard.showLoadingMsg();
|
Dashboard.showLoadingMsg();
|
||||||
|
|
||||||
@ -52,9 +54,10 @@
|
|||||||
Dashboard.showDashboardRefreshNotification();
|
Dashboard.showDashboardRefreshNotification();
|
||||||
}
|
}
|
||||||
|
|
||||||
ApiClient.updateServerConfiguration(config).then(function () {
|
config.EnableAnonymousUsageReporting = $('#chkUsageData', form).checked();
|
||||||
|
config.RunAtStartup = $('#chkRunAtStartup', form).checked();
|
||||||
|
|
||||||
refreshPageTitle(page);
|
ApiClient.updateServerConfiguration(config).then(function () {
|
||||||
|
|
||||||
ApiClient.getNamedConfiguration(brandingConfigKey).then(function (brandingConfig) {
|
ApiClient.getNamedConfiguration(brandingConfigKey).then(function (brandingConfig) {
|
||||||
|
|
||||||
@ -77,11 +80,9 @@
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$(document).on('pageinit', "#dashboardGeneralPage", function () {
|
return function (view, params) {
|
||||||
|
|
||||||
var page = this;
|
$('#btnSelectCachePath', view).on("click.selectDirectory", function () {
|
||||||
|
|
||||||
$('#btnSelectCachePath', page).on("click.selectDirectory", function () {
|
|
||||||
|
|
||||||
require(['directorybrowser'], function (directoryBrowser) {
|
require(['directorybrowser'], function (directoryBrowser) {
|
||||||
|
|
||||||
@ -92,7 +93,7 @@
|
|||||||
callback: function (path) {
|
callback: function (path) {
|
||||||
|
|
||||||
if (path) {
|
if (path) {
|
||||||
page.querySelector('#txtCachePath').value = path;
|
view.querySelector('#txtCachePath').value = path;
|
||||||
}
|
}
|
||||||
picker.close();
|
picker.close();
|
||||||
},
|
},
|
||||||
@ -104,32 +105,27 @@
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
$('.dashboardGeneralForm').off('submit', onSubmit).on('submit', onSubmit);
|
$('.dashboardGeneralForm', view).off('submit', onSubmit).on('submit', onSubmit);
|
||||||
|
|
||||||
}).on('pageshow', "#dashboardGeneralPage", function () {
|
view.addEventListener('viewshow', function () {
|
||||||
|
|
||||||
Dashboard.showLoadingMsg();
|
var promise1 = ApiClient.getServerConfiguration();
|
||||||
|
var promise2 = ApiClient.getJSON(ApiClient.getUrl("Localization/Options"));
|
||||||
|
var promise3 = ApiClient.getSystemInfo();
|
||||||
|
|
||||||
var page = this;
|
Promise.all([promise1, promise2, promise3]).then(function (responses) {
|
||||||
|
|
||||||
var promise1 = ApiClient.getServerConfiguration();
|
loadPage(view, responses[0], responses[1], responses[2]);
|
||||||
|
|
||||||
var promise2 = ApiClient.getJSON(ApiClient.getUrl("Localization/Options"));
|
});
|
||||||
|
|
||||||
Promise.all([promise1, promise2]).then(function (responses) {
|
ApiClient.getNamedConfiguration(brandingConfigKey).then(function (config) {
|
||||||
|
|
||||||
loadPage(page, responses[0], responses[1]);
|
currentBrandingOptions = config;
|
||||||
|
|
||||||
|
view.querySelector('#txtLoginDisclaimer').value = config.LoginDisclaimer || '';
|
||||||
|
view.querySelector('#txtCustomCss').value = config.CustomCss || '';
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
};
|
||||||
ApiClient.getNamedConfiguration(brandingConfigKey).then(function (config) {
|
|
||||||
|
|
||||||
currentBrandingOptions = config;
|
|
||||||
|
|
||||||
page.querySelector('#txtLoginDisclaimer').value = config.LoginDisclaimer || '';
|
|
||||||
page.querySelector('#txtCustomCss').value = config.CustomCss || '';
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (Dashboard.lastSystemInfo) {
|
if (Dashboard.lastSystemInfo) {
|
||||||
Dashboard.setPageTitle(Dashboard.lastSystemInfo.ServerName);
|
page.querySelector('.serverNameHeader').innerHTML = Dashboard.lastSystemInfo.ServerName;
|
||||||
}
|
}
|
||||||
|
|
||||||
DashboardPage.newsStartIndex = 0;
|
DashboardPage.newsStartIndex = 0;
|
||||||
@ -84,7 +84,7 @@
|
|||||||
|
|
||||||
ApiClient.getSystemInfo().then(function (systemInfo) {
|
ApiClient.getSystemInfo().then(function (systemInfo) {
|
||||||
|
|
||||||
Dashboard.setPageTitle(systemInfo.ServerName);
|
page.querySelector('.serverNameHeader').innerHTML = systemInfo.ServerName;
|
||||||
Dashboard.updateSystemInfo(systemInfo);
|
Dashboard.updateSystemInfo(systemInfo);
|
||||||
|
|
||||||
$('#appVersionNumber', page).html(Globalize.translate('LabelVersionNumber').replace('{0}', systemInfo.Version));
|
$('#appVersionNumber', page).html(Globalize.translate('LabelVersionNumber').replace('{0}', systemInfo.Version));
|
||||||
@ -835,10 +835,10 @@
|
|||||||
var version = packageInfo[0];
|
var version = packageInfo[0];
|
||||||
|
|
||||||
if (!version) {
|
if (!version) {
|
||||||
$('#pUpToDate', page).show();
|
page.querySelector('#pUpToDate').classList.remove('hide');
|
||||||
$('#pUpdateNow', page).hide();
|
$('#pUpdateNow', page).hide();
|
||||||
} else {
|
} else {
|
||||||
$('#pUpToDate', page).hide();
|
page.querySelector('#pUpToDate').classList.add('hide');
|
||||||
|
|
||||||
$('#pUpdateNow', page).show();
|
$('#pUpdateNow', page).show();
|
||||||
|
|
||||||
@ -849,7 +849,7 @@
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
$('#pUpToDate', page).hide();
|
page.querySelector('#pUpToDate').classList.add('hide');
|
||||||
|
|
||||||
$('#pUpdateNow', page).hide();
|
$('#pUpdateNow', page).hide();
|
||||||
}
|
}
|
||||||
|
@ -1,63 +0,0 @@
|
|||||||
define(['jQuery'], function ($) {
|
|
||||||
|
|
||||||
function loadPage(page, config, users) {
|
|
||||||
|
|
||||||
$('#chkEnableServer', page).checked(config.EnableServer);
|
|
||||||
$('#chkBlastAliveMessages', page).checked(config.BlastAliveMessages);
|
|
||||||
$('#txtBlastInterval', page).val(config.BlastAliveMessageIntervalSeconds);
|
|
||||||
|
|
||||||
$('#chkEnableMovieFolders', page).checked(config.EnableMovieFolders);
|
|
||||||
|
|
||||||
var usersHtml = users.map(function (u) {
|
|
||||||
return '<option value="' + u.Id + '">' + u.Name + '</option>';
|
|
||||||
}).join('');
|
|
||||||
|
|
||||||
$('#selectUser', page).html(usersHtml).val(config.DefaultUserId || '');
|
|
||||||
|
|
||||||
Dashboard.hideLoadingMsg();
|
|
||||||
}
|
|
||||||
|
|
||||||
function onSubmit() {
|
|
||||||
|
|
||||||
Dashboard.showLoadingMsg();
|
|
||||||
|
|
||||||
var form = this;
|
|
||||||
|
|
||||||
ApiClient.getNamedConfiguration("dlna").then(function (config) {
|
|
||||||
|
|
||||||
config.EnableServer = $('#chkEnableServer', form).checked();
|
|
||||||
config.BlastAliveMessages = $('#chkBlastAliveMessages', form).checked();
|
|
||||||
config.BlastAliveMessageIntervalSeconds = $('#txtBlastInterval', form).val();
|
|
||||||
config.DefaultUserId = $('#selectUser', form).val();
|
|
||||||
|
|
||||||
config.EnableMovieFolders = $('#chkEnableMovieFolders', form).checked();
|
|
||||||
|
|
||||||
ApiClient.updateNamedConfiguration("dlna", config).then(Dashboard.processServerConfigurationUpdateResult);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Disable default form submission
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
$(document).on('pageinit', "#dlnaServerSettingsPage", function () {
|
|
||||||
|
|
||||||
$('.dlnaServerSettingsForm').off('submit', onSubmit).on('submit', onSubmit);
|
|
||||||
|
|
||||||
}).on('pageshow', "#dlnaServerSettingsPage", function () {
|
|
||||||
|
|
||||||
Dashboard.showLoadingMsg();
|
|
||||||
|
|
||||||
var page = this;
|
|
||||||
|
|
||||||
var promise1 = ApiClient.getNamedConfiguration("dlna");
|
|
||||||
var promise2 = ApiClient.getUsers();
|
|
||||||
|
|
||||||
Promise.all([promise1, promise2]).then(function (responses) {
|
|
||||||
|
|
||||||
loadPage(page, responses[0], responses[1]);
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
@ -1,12 +1,24 @@
|
|||||||
define(['jQuery'], function ($) {
|
define(['jQuery'], function ($) {
|
||||||
|
|
||||||
function loadPage(page, config) {
|
function loadPage(page, config, users) {
|
||||||
|
|
||||||
page.querySelector('#chkEnablePlayTo').checked = config.EnablePlayTo;
|
page.querySelector('#chkEnablePlayTo').checked = config.EnablePlayTo;
|
||||||
page.querySelector('#chkEnableDlnaDebugLogging').checked = config.EnableDebugLog;
|
page.querySelector('#chkEnableDlnaDebugLogging').checked = config.EnableDebugLog;
|
||||||
|
|
||||||
$('#txtClientDiscoveryInterval', page).val(config.ClientDiscoveryIntervalSeconds);
|
$('#txtClientDiscoveryInterval', page).val(config.ClientDiscoveryIntervalSeconds);
|
||||||
|
|
||||||
|
$('#chkEnableServer', page).checked(config.EnableServer);
|
||||||
|
$('#chkBlastAliveMessages', page).checked(config.BlastAliveMessages);
|
||||||
|
$('#txtBlastInterval', page).val(config.BlastAliveMessageIntervalSeconds);
|
||||||
|
|
||||||
|
$('#chkEnableMovieFolders', page).checked(config.EnableMovieFolders);
|
||||||
|
|
||||||
|
var usersHtml = users.map(function (u) {
|
||||||
|
return '<option value="' + u.Id + '">' + u.Name + '</option>';
|
||||||
|
}).join('');
|
||||||
|
|
||||||
|
$('#selectUser', page).html(usersHtml).val(config.DefaultUserId || '');
|
||||||
|
|
||||||
Dashboard.hideLoadingMsg();
|
Dashboard.hideLoadingMsg();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -23,6 +35,13 @@
|
|||||||
|
|
||||||
config.ClientDiscoveryIntervalSeconds = $('#txtClientDiscoveryInterval', form).val();
|
config.ClientDiscoveryIntervalSeconds = $('#txtClientDiscoveryInterval', form).val();
|
||||||
|
|
||||||
|
config.EnableServer = $('#chkEnableServer', form).checked();
|
||||||
|
config.BlastAliveMessages = $('#chkBlastAliveMessages', form).checked();
|
||||||
|
config.BlastAliveMessageIntervalSeconds = $('#txtBlastInterval', form).val();
|
||||||
|
config.DefaultUserId = $('#selectUser', form).val();
|
||||||
|
|
||||||
|
config.EnableMovieFolders = $('#chkEnableMovieFolders', form).checked();
|
||||||
|
|
||||||
ApiClient.updateNamedConfiguration("dlna", config).then(Dashboard.processServerConfigurationUpdateResult);
|
ApiClient.updateNamedConfiguration("dlna", config).then(Dashboard.processServerConfigurationUpdateResult);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -40,9 +59,12 @@
|
|||||||
|
|
||||||
var page = this;
|
var page = this;
|
||||||
|
|
||||||
ApiClient.getNamedConfiguration("dlna").then(function (config) {
|
var promise1 = ApiClient.getNamedConfiguration("dlna");
|
||||||
|
var promise2 = ApiClient.getUsers();
|
||||||
|
|
||||||
loadPage(page, config);
|
Promise.all([promise1, promise2]).then(function (responses) {
|
||||||
|
|
||||||
|
loadPage(page, responses[0], responses[1]);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
define(['imageLoader', 'jQuery', 'paper-icon-button', 'paper-button', 'emby-icons'], function (imageLoader, $) {
|
define(['imageLoader', 'jQuery', 'paper-icon-button', 'paper-button', 'emby-icons'], function (imageLoader, $) {
|
||||||
|
|
||||||
|
var mainDrawerPanel = document.querySelector('.mainDrawerPanel');
|
||||||
|
|
||||||
function renderHeader() {
|
function renderHeader() {
|
||||||
|
|
||||||
var html = '';
|
var html = '';
|
||||||
@ -43,10 +45,9 @@
|
|||||||
|
|
||||||
var viewMenuBar = document.createElement('div');
|
var viewMenuBar = document.createElement('div');
|
||||||
viewMenuBar.classList.add('viewMenuBar');
|
viewMenuBar.classList.add('viewMenuBar');
|
||||||
viewMenuBar.classList.add('ui-body-b');
|
|
||||||
viewMenuBar.innerHTML = html;
|
viewMenuBar.innerHTML = html;
|
||||||
|
|
||||||
document.body.appendChild(viewMenuBar);
|
document.querySelector('.skinHeader').appendChild(viewMenuBar);
|
||||||
|
|
||||||
imageLoader.lazyChildren(document.querySelector('.viewMenuBar'));
|
imageLoader.lazyChildren(document.querySelector('.viewMenuBar'));
|
||||||
|
|
||||||
@ -216,18 +217,15 @@
|
|||||||
return LibraryBrowser.getHref(item, context);
|
return LibraryBrowser.getHref(item, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
var requiresDrawerRefresh = true;
|
|
||||||
var requiresDashboardDrawerRefresh = true;
|
|
||||||
var requiresUserRefresh = true;
|
var requiresUserRefresh = true;
|
||||||
var lastOpenTime = new Date().getTime();
|
var lastOpenTime = new Date().getTime();
|
||||||
|
|
||||||
function toggleMainDrawer() {
|
function toggleMainDrawer() {
|
||||||
|
|
||||||
var drawerPanel = document.querySelector('.mainDrawerPanel');
|
if (mainDrawerPanel.selected == 'drawer') {
|
||||||
if (drawerPanel.selected == 'drawer') {
|
closeMainDrawer(mainDrawerPanel);
|
||||||
closeMainDrawer(drawerPanel);
|
|
||||||
} else {
|
} else {
|
||||||
openMainDrawer(drawerPanel);
|
openMainDrawer(mainDrawerPanel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -243,38 +241,6 @@
|
|||||||
if (browserInfo.mobile) {
|
if (browserInfo.mobile) {
|
||||||
document.body.classList.add('bodyWithPopupOpen');
|
document.body.classList.add('bodyWithPopupOpen');
|
||||||
}
|
}
|
||||||
|
|
||||||
var pageElem = $.mobile.activePage;
|
|
||||||
|
|
||||||
if (requiresDrawerRefresh || requiresDashboardDrawerRefresh) {
|
|
||||||
|
|
||||||
ConnectionManager.user(window.ApiClient).then(function (user) {
|
|
||||||
|
|
||||||
var drawer = document.querySelector('.mainDrawerPanel .mainDrawer');
|
|
||||||
|
|
||||||
if (requiresDrawerRefresh) {
|
|
||||||
ensureDrawerStructure(drawer);
|
|
||||||
|
|
||||||
refreshUserInfoInDrawer(user, drawer);
|
|
||||||
refreshLibraryInfoInDrawer(user, drawer);
|
|
||||||
refreshBottomUserInfoInDrawer(user, drawer);
|
|
||||||
|
|
||||||
document.dispatchEvent(new CustomEvent("libraryMenuCreated", {}));
|
|
||||||
updateLibraryMenu(user.localUser);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (requiresDrawerRefresh || requiresDashboardDrawerRefresh) {
|
|
||||||
refreshDashboardInfoInDrawer(pageElem, user, drawer);
|
|
||||||
requiresDashboardDrawerRefresh = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
requiresDrawerRefresh = false;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
updateLibraryNavLinks(pageElem);
|
|
||||||
|
|
||||||
document.querySelector('.mainDrawerPanel #drawer').classList.add('verticalScrollingDrawer');
|
|
||||||
}
|
}
|
||||||
function closeMainDrawer(drawerPanel) {
|
function closeMainDrawer(drawerPanel) {
|
||||||
|
|
||||||
@ -287,101 +253,47 @@
|
|||||||
|
|
||||||
if (drawer.selected != 'drawer') {
|
if (drawer.selected != 'drawer') {
|
||||||
document.body.classList.remove('bodyWithPopupOpen');
|
document.body.classList.remove('bodyWithPopupOpen');
|
||||||
document.querySelector('.mainDrawerPanel #drawer').classList.remove('verticalScrollingDrawer');
|
|
||||||
} else {
|
} else {
|
||||||
onMainDrawerOpened();
|
onMainDrawerOpened();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function ensureDrawerStructure(drawer) {
|
|
||||||
|
|
||||||
if (drawer.querySelector('.mainDrawerContent')) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var html = '<div class="mainDrawerContent">';
|
|
||||||
|
|
||||||
html += '<div class="userheader">';
|
|
||||||
html += '</div>';
|
|
||||||
html += '<div class="libraryDrawerContent">';
|
|
||||||
html += '</div>';
|
|
||||||
html += '<div class="dashboardDrawerContent">';
|
|
||||||
html += '</div>';
|
|
||||||
html += '<div class="userFooter">';
|
|
||||||
html += '</div>';
|
|
||||||
|
|
||||||
html += '</div>';
|
|
||||||
|
|
||||||
drawer.innerHTML = html;
|
|
||||||
}
|
|
||||||
|
|
||||||
function refreshUserInfoInDrawer(user, drawer) {
|
|
||||||
|
|
||||||
var html = '';
|
|
||||||
|
|
||||||
var homeHref = window.ApiClient ? 'home.html' : 'selectserver.html?showuser=1';
|
|
||||||
|
|
||||||
html += '<div style="margin-top:5px;"></div>';
|
|
||||||
|
|
||||||
html += '<a class="lnkMediaFolder sidebarLink" href="' + homeHref + '" onclick="return LibraryMenu.onLinkClicked(event, this);">';
|
|
||||||
html += '<div style="background-image:url(\'css/images/mblogoicon.png\');width:' + 28 + 'px;height:' + 28 + 'px;background-size:contain;background-repeat:no-repeat;background-position:center center;border-radius:1000px;vertical-align:middle;margin:0 1.6em 0 1.5em;display:inline-block;"></div>';
|
|
||||||
html += Globalize.translate('ButtonHome');
|
|
||||||
html += '</a>';
|
|
||||||
|
|
||||||
html += '<a class="sidebarLink lnkMediaFolder" data-itemid="remote" href="nowplaying.html" onclick="return LibraryMenu.onLinkClicked(event, this);"><iron-icon icon="tablet-android" class="sidebarLinkIcon" style="color:#673AB7;"></iron-icon><span class="sidebarLinkText">' + Globalize.translate('ButtonRemote') + '</span></a>';
|
|
||||||
|
|
||||||
var userHeader = drawer.querySelector('.userheader');
|
|
||||||
|
|
||||||
userHeader.innerHTML = html;
|
|
||||||
|
|
||||||
require(['imageLoader'], function (imageLoader) {
|
|
||||||
imageLoader.fillImages(userHeader.getElementsByClassName('lazy'));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function refreshLibraryInfoInDrawer(user, drawer) {
|
function refreshLibraryInfoInDrawer(user, drawer) {
|
||||||
|
|
||||||
var html = '';
|
var html = '';
|
||||||
|
|
||||||
|
var homeHref = window.ApiClient ? 'home.html' : 'selectserver.html?showuser=1';
|
||||||
|
|
||||||
|
html += '<a class="lnkMediaFolder sidebarLink" href="' + homeHref + '" onclick="return LibraryMenu.onLinkClicked(event, this);">';
|
||||||
|
html += '<div style="background-image:url(\'css/images/mblogoicon.png\');width:' + 28 + 'px;height:' + 28 + 'px;background-size:contain;background-repeat:no-repeat;background-position:center center;border-radius:1000px;vertical-align:middle;margin:0 1.6em 0 1.5em;display:inline-block;"></div>';
|
||||||
|
html += Globalize.translate('ButtonHome');
|
||||||
|
html += '</a>';
|
||||||
|
|
||||||
|
html += '<a class="sidebarLink lnkMediaFolder" data-itemid="remote" href="nowplaying.html" onclick="return LibraryMenu.onLinkClicked(event, this);"><iron-icon icon="tablet-android" class="sidebarLinkIcon"></iron-icon><span class="sidebarLinkText">' + Globalize.translate('ButtonRemote') + '</span></a>';
|
||||||
|
|
||||||
html += '<div class="sidebarDivider"></div>';
|
html += '<div class="sidebarDivider"></div>';
|
||||||
|
|
||||||
html += '<div class="libraryMenuOptions">';
|
html += '<div class="libraryMenuOptions">';
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
|
|
||||||
drawer.querySelector('.libraryDrawerContent').innerHTML = html;
|
var localUser = user.localUser;
|
||||||
}
|
if (localUser && localUser.Policy.IsAdministrator) {
|
||||||
|
|
||||||
function refreshDashboardInfoInDrawer(page, user, drawer) {
|
html += '<div class="adminMenuOptions">';
|
||||||
|
html += '<div class="sidebarDivider"></div>';
|
||||||
|
|
||||||
var html = '';
|
html += '<div class="sidebarHeader">';
|
||||||
|
html += Globalize.translate('HeaderAdmin');
|
||||||
|
html += '</div>';
|
||||||
|
|
||||||
html += '<div class="sidebarDivider"></div>';
|
html += '<a class="sidebarLink lnkMediaFolder lnkManageServer" data-itemid="dashboard" href="#"><iron-icon icon="dashboard" class="sidebarLinkIcon"></iron-icon><span class="sidebarLinkText">' + Globalize.translate('ButtonManageServer') + '</span></a>';
|
||||||
|
html += '<a class="sidebarLink lnkMediaFolder editorViewMenu" data-itemid="editor" onclick="return LibraryMenu.onLinkClicked(event, this);" href="edititemmetadata.html"><iron-icon icon="mode-edit" class="sidebarLinkIcon"></iron-icon><span class="sidebarLinkText">' + Globalize.translate('ButtonMetadataManager') + '</span></a>';
|
||||||
|
|
||||||
html += Dashboard.getToolsMenuHtml(page);
|
if (!browserInfo.mobile) {
|
||||||
|
html += '<a class="sidebarLink lnkMediaFolder" data-itemid="reports" onclick="return LibraryMenu.onLinkClicked(event, this);" href="reports.html"><iron-icon icon="insert-chart" class="sidebarLinkIcon"></iron-icon><span class="sidebarLinkText">' + Globalize.translate('ButtonReports') + '</span></a>';
|
||||||
html = html.split('href=').join('onclick="return LibraryMenu.onLinkClicked(event, this);" href=');
|
}
|
||||||
|
html += '</div>';
|
||||||
drawer.querySelector('.dashboardDrawerContent').innerHTML = html;
|
|
||||||
}
|
|
||||||
|
|
||||||
function refreshBottomUserInfoInDrawer(user, drawer) {
|
|
||||||
|
|
||||||
var html = '';
|
|
||||||
|
|
||||||
html += '<div class="adminMenuOptions">';
|
|
||||||
html += '<div class="sidebarDivider"></div>';
|
|
||||||
|
|
||||||
html += '<div class="sidebarHeader">';
|
|
||||||
html += Globalize.translate('HeaderAdmin');
|
|
||||||
html += '</div>';
|
|
||||||
|
|
||||||
html += '<a class="sidebarLink lnkMediaFolder lnkManageServer" data-itemid="dashboard" href="#"><iron-icon icon="dashboard" class="sidebarLinkIcon"></iron-icon><span class="sidebarLinkText">' + Globalize.translate('ButtonManageServer') + '</span></a>';
|
|
||||||
html += '<a class="sidebarLink lnkMediaFolder editorViewMenu" data-itemid="editor" onclick="return LibraryMenu.onLinkClicked(event, this);" href="edititemmetadata.html"><iron-icon icon="mode-edit" class="sidebarLinkIcon"></iron-icon><span class="sidebarLinkText">' + Globalize.translate('ButtonMetadataManager') + '</span></a>';
|
|
||||||
|
|
||||||
if (!browserInfo.mobile) {
|
|
||||||
html += '<a class="sidebarLink lnkMediaFolder" data-itemid="reports" onclick="return LibraryMenu.onLinkClicked(event, this);" href="reports.html"><iron-icon icon="insert-chart" class="sidebarLinkIcon"></iron-icon><span class="sidebarLinkText">' + Globalize.translate('ButtonReports') + '</span></a>';
|
|
||||||
}
|
}
|
||||||
html += '</div>';
|
|
||||||
|
|
||||||
html += '<div class="userMenuOptions">';
|
html += '<div class="userMenuOptions">';
|
||||||
|
|
||||||
@ -403,9 +315,101 @@
|
|||||||
|
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
|
|
||||||
drawer.querySelector('.userFooter').innerHTML = html;
|
var drawer = mainDrawerPanel.querySelector('.mainDrawer');
|
||||||
|
|
||||||
drawer.querySelector('.lnkManageServer').addEventListener('click', onManageServerClicked);
|
drawer.innerHTML = html;
|
||||||
|
|
||||||
|
var lnkManageServer = drawer.querySelector('.lnkManageServer');
|
||||||
|
if (lnkManageServer) {
|
||||||
|
lnkManageServer.addEventListener('click', onManageServerClicked);
|
||||||
|
}
|
||||||
|
|
||||||
|
require(['imageLoader'], function (imageLoader) {
|
||||||
|
imageLoader.fillImages(mainDrawerPanel.getElementsByClassName('lazy'));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function refreshDashboardInfoInDrawer(page, user) {
|
||||||
|
|
||||||
|
if (!mainDrawerPanel.querySelector('.adminDrawerLogo')) {
|
||||||
|
createDashboardMenu(page);
|
||||||
|
} else {
|
||||||
|
updateDashboardMenuSelectedItem();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function parentWithTag(elem, tagName) {
|
||||||
|
|
||||||
|
while (elem.tagName != tagName) {
|
||||||
|
elem = elem.parentNode;
|
||||||
|
|
||||||
|
if (!elem) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return elem;
|
||||||
|
}
|
||||||
|
|
||||||
|
function updateDashboardMenuSelectedItem() {
|
||||||
|
|
||||||
|
var links = mainDrawerPanel.querySelectorAll('.sidebarLink');
|
||||||
|
|
||||||
|
for (var i = 0, length = links.length; i < length; i++) {
|
||||||
|
var link = links[i];
|
||||||
|
|
||||||
|
var selected = false;
|
||||||
|
|
||||||
|
var pageIds = link.getAttribute('data-pageids');
|
||||||
|
if (pageIds) {
|
||||||
|
selected = pageIds.split(',').indexOf($.mobile.activePage.id) != -1
|
||||||
|
}
|
||||||
|
|
||||||
|
if (selected) {
|
||||||
|
link.classList.add('selectedSidebarLink');
|
||||||
|
|
||||||
|
var collapsible = parentWithTag(link, 'EMBY-COLLAPSIBLE');
|
||||||
|
if (collapsible) {
|
||||||
|
collapsible.expanded = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
var title = collapsible.title || '';
|
||||||
|
title += '<span class="title-separator">–</span>';
|
||||||
|
title += (link.innerText || link.textContent).trim();
|
||||||
|
|
||||||
|
Dashboard.setPageTitle(title);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
link.classList.remove('selectedSidebarLink');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function createDashboardMenu() {
|
||||||
|
require(['emby-collapsible'], function () {
|
||||||
|
var html = '';
|
||||||
|
|
||||||
|
//html += '<div class="userHeader">';
|
||||||
|
//html += '<div class="userHeaderActionMenu">';
|
||||||
|
//html += '<div>';
|
||||||
|
//html += localUser.Name;
|
||||||
|
//html += '</div>';
|
||||||
|
//html += '<paper-icon-button icon="expand-more"></paper-icon-button>';
|
||||||
|
//html += '</div>';
|
||||||
|
//html += '</div>';
|
||||||
|
|
||||||
|
html += '<a class="adminDrawerLogo clearLink" href="dashboard.html">'
|
||||||
|
html += '<img src="css/images/logo.png" />';
|
||||||
|
html += '</a>'
|
||||||
|
|
||||||
|
html += Dashboard.getToolsMenuHtml();
|
||||||
|
|
||||||
|
html = html.split('href=').join('onclick="return LibraryMenu.onLinkClicked(event, this);" href=');
|
||||||
|
|
||||||
|
mainDrawerPanel.querySelector('.mainDrawer').innerHTML = html;
|
||||||
|
|
||||||
|
updateDashboardMenuSelectedItem();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function onSidebarLinkClick() {
|
function onSidebarLinkClick() {
|
||||||
@ -473,7 +477,6 @@
|
|||||||
|
|
||||||
if (!user) {
|
if (!user) {
|
||||||
|
|
||||||
showBySelector('.adminMenuOptions', false);
|
|
||||||
showBySelector('.lnkMySync', false);
|
showBySelector('.lnkMySync', false);
|
||||||
showBySelector('.userMenuOptions', false);
|
showBySelector('.userMenuOptions', false);
|
||||||
return;
|
return;
|
||||||
@ -560,12 +563,6 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (user.Policy.IsAdministrator) {
|
|
||||||
showBySelector('.adminMenuOptions', true);
|
|
||||||
} else {
|
|
||||||
showBySelector('.adminMenuOptions', false);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (user.Policy.EnableSync) {
|
if (user.Policy.EnableSync) {
|
||||||
showBySelector('.lnkMySync', true);
|
showBySelector('.lnkMySync', true);
|
||||||
} else {
|
} else {
|
||||||
@ -573,8 +570,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var requiresLibraryMenuRefresh = false;
|
|
||||||
|
|
||||||
function onManageServerClicked() {
|
function onManageServerClicked() {
|
||||||
|
|
||||||
closeMainDrawer();
|
closeMainDrawer();
|
||||||
@ -654,7 +649,19 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
setTitle: function (title) {
|
setTitle: function (title) {
|
||||||
document.querySelector('.libraryMenuButtonText').innerHTML = title;
|
|
||||||
|
var html = '<span>' + title + '</span>';
|
||||||
|
|
||||||
|
var page = $.mobile.activePage;
|
||||||
|
if (page) {
|
||||||
|
var helpUrl = page.getAttribute('data-helpurl');
|
||||||
|
|
||||||
|
if (helpUrl) {
|
||||||
|
html += '<a href="' + helpUrl + '" target="_blank" class="clearLink" style="margin-left:1em;" title="' + Globalize.translate('ButtonHelp') + '"><paper-icon-button icon="info"></paper-icon-button></a>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
document.querySelector('.libraryMenuButtonText').innerHTML = html;
|
||||||
},
|
},
|
||||||
|
|
||||||
setBackButtonVisible: function (visible) {
|
setBackButtonVisible: function (visible) {
|
||||||
@ -798,7 +805,7 @@
|
|||||||
|
|
||||||
if (msg.Data.Id == Dashboard.getCurrentUserId()) {
|
if (msg.Data.Id == Dashboard.getCurrentUserId()) {
|
||||||
|
|
||||||
requiresLibraryMenuRefresh = true;
|
// refresh library menu
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -833,22 +840,29 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
pageClassOn('pagebeforeshow', 'page', function () {
|
|
||||||
|
|
||||||
var page = this;
|
|
||||||
|
|
||||||
if (page.classList.contains('type-interior')) {
|
|
||||||
requiresDashboardDrawerRefresh = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
buildViewMenuBar(page);
|
|
||||||
updateTabLinks(page);
|
|
||||||
});
|
|
||||||
|
|
||||||
pageClassOn('pageshow', 'page', function (e) {
|
pageClassOn('pageshow', 'page', function (e) {
|
||||||
|
|
||||||
var page = this;
|
var page = this;
|
||||||
|
|
||||||
|
var isDashboardPage = page.classList.contains('type-interior');
|
||||||
|
|
||||||
|
if (isDashboardPage) {
|
||||||
|
refreshDashboardInfoInDrawer(page);
|
||||||
|
mainDrawerPanel.forceNarrow = false;
|
||||||
|
} else {
|
||||||
|
|
||||||
|
if (mainDrawerPanel.classList.contains('adminDrawerPanel')) {
|
||||||
|
refreshLibraryDrawer();
|
||||||
|
}
|
||||||
|
|
||||||
|
mainDrawerPanel.forceNarrow = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
setDrawerClass(page);
|
||||||
|
|
||||||
|
buildViewMenuBar(page);
|
||||||
|
updateTabLinks(page);
|
||||||
|
|
||||||
if (!e.detail.isRestored) {
|
if (!e.detail.isRestored) {
|
||||||
// Scroll back up so in case vertical scroll was messed with
|
// Scroll back up so in case vertical scroll was messed with
|
||||||
window.scrollTo(0, 0);
|
window.scrollTo(0, 0);
|
||||||
@ -857,15 +871,13 @@
|
|||||||
updateTitle(page);
|
updateTitle(page);
|
||||||
updateBackButton(page);
|
updateBackButton(page);
|
||||||
|
|
||||||
var isLibraryPage = page.classList.contains('libraryPage');
|
if (page.classList.contains('libraryPage')) {
|
||||||
|
|
||||||
if (isLibraryPage) {
|
|
||||||
|
|
||||||
document.body.classList.add('libraryDocument');
|
document.body.classList.add('libraryDocument');
|
||||||
document.body.classList.remove('dashboardDocument');
|
document.body.classList.remove('dashboardDocument');
|
||||||
document.body.classList.remove('hideMainDrawer');
|
document.body.classList.remove('hideMainDrawer');
|
||||||
}
|
}
|
||||||
else if (page.classList.contains('type-interior')) {
|
else if (isDashboardPage) {
|
||||||
|
|
||||||
document.body.classList.remove('libraryDocument');
|
document.body.classList.remove('libraryDocument');
|
||||||
document.body.classList.add('dashboardDocument');
|
document.body.classList.add('dashboardDocument');
|
||||||
@ -877,6 +889,8 @@
|
|||||||
document.body.classList.remove('dashboardDocument');
|
document.body.classList.remove('dashboardDocument');
|
||||||
document.body.classList.add('hideMainDrawer');
|
document.body.classList.add('hideMainDrawer');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
updateLibraryNavLinks(page);
|
||||||
});
|
});
|
||||||
|
|
||||||
function updateTitle(page) {
|
function updateTitle(page) {
|
||||||
@ -890,12 +904,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!title) {
|
|
||||||
if (page.classList.contains('type-interior')) {
|
|
||||||
title = Globalize.translate('ButtonHome');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (title) {
|
if (title) {
|
||||||
LibraryMenu.setTitle(title);
|
LibraryMenu.setTitle(title);
|
||||||
}
|
}
|
||||||
@ -946,7 +954,6 @@
|
|||||||
|
|
||||||
function initializeApiClient(apiClient) {
|
function initializeApiClient(apiClient) {
|
||||||
|
|
||||||
requiresLibraryMenuRefresh = true;
|
|
||||||
Events.off(apiClient, 'websocketmessage', onWebSocketMessage);
|
Events.off(apiClient, 'websocketmessage', onWebSocketMessage);
|
||||||
|
|
||||||
Events.on(apiClient, 'websocketmessage', onWebSocketMessage);
|
Events.on(apiClient, 'websocketmessage', onWebSocketMessage);
|
||||||
@ -956,15 +963,41 @@
|
|||||||
initializeApiClient(window.ApiClient);
|
initializeApiClient(window.ApiClient);
|
||||||
}
|
}
|
||||||
|
|
||||||
function setDrawerClass() {
|
function setDrawerClass(page) {
|
||||||
|
|
||||||
var drawer = document.querySelector('.mainDrawerPanel #drawer');
|
var admin = false;
|
||||||
if (drawer) {
|
|
||||||
drawer.classList.add('darkDrawer');
|
if (!page) {
|
||||||
|
if (window.$ && window.$.mobile) {
|
||||||
|
page = $.mobile.activePage;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (page && page.classList.contains('type-interior')) {
|
||||||
|
admin = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (admin) {
|
||||||
|
mainDrawerPanel.classList.add('adminDrawerPanel');
|
||||||
|
mainDrawerPanel.classList.remove('darkDrawerPanel');
|
||||||
|
} else {
|
||||||
|
mainDrawerPanel.classList.add('darkDrawerPanel');
|
||||||
|
mainDrawerPanel.classList.remove('adminDrawerPanel');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var mainDrawerPanel = document.querySelector('.mainDrawerPanel');
|
function refreshLibraryDrawer(user) {
|
||||||
|
|
||||||
|
var promise = user ? Promise.resolve(user) : ConnectionManager.user(window.ApiClient);
|
||||||
|
|
||||||
|
promise.then(function (user) {
|
||||||
|
refreshLibraryInfoInDrawer(user);
|
||||||
|
|
||||||
|
document.dispatchEvent(new CustomEvent("libraryMenuCreated", {}));
|
||||||
|
updateLibraryMenu(user.localUser);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
mainDrawerPanel.addEventListener('iron-select', onMainDrawerSelect);
|
mainDrawerPanel.addEventListener('iron-select', onMainDrawerSelect);
|
||||||
|
|
||||||
renderHeader();
|
renderHeader();
|
||||||
@ -974,14 +1007,15 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
Events.on(ConnectionManager, 'localusersignedin', function (e, user) {
|
Events.on(ConnectionManager, 'localusersignedin', function (e, user) {
|
||||||
requiresLibraryMenuRefresh = true;
|
|
||||||
requiresDrawerRefresh = true;
|
requiresDrawerRefresh = true;
|
||||||
setDrawerClass();
|
setDrawerClass();
|
||||||
ConnectionManager.user(ConnectionManager.getApiClient(user.ServerId)).then(updateUserInHeader);
|
ConnectionManager.user(ConnectionManager.getApiClient(user.ServerId)).then(function (user) {
|
||||||
|
refreshLibraryDrawer(user);
|
||||||
|
updateUserInHeader(user);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
Events.on(ConnectionManager, 'localusersignedout', function () {
|
Events.on(ConnectionManager, 'localusersignedout', function () {
|
||||||
requiresLibraryMenuRefresh = true;
|
|
||||||
requiresDrawerRefresh = true;
|
requiresDrawerRefresh = true;
|
||||||
updateUserInHeader();
|
updateUserInHeader();
|
||||||
});
|
});
|
||||||
|
@ -15,9 +15,110 @@
|
|||||||
page.querySelector('#chkEnableAudioArchiveFiles').checked = config.EnableAudioArchiveFiles;
|
page.querySelector('#chkEnableAudioArchiveFiles').checked = config.EnableAudioArchiveFiles;
|
||||||
page.querySelector('#chkEnableVideoArchiveFiles').checked = config.EnableVideoArchiveFiles;
|
page.querySelector('#chkEnableVideoArchiveFiles').checked = config.EnableVideoArchiveFiles;
|
||||||
|
|
||||||
|
$('#chkSaveMetadataHidden', page).checked(config.SaveMetadataHidden);
|
||||||
|
|
||||||
|
$('#txtMetadataPath', page).val(config.MetadataPath || '');
|
||||||
|
|
||||||
|
$('#chkPeopleActors', page).checked(config.PeopleMetadataOptions.DownloadActorMetadata);
|
||||||
|
$('#chkPeopleComposers', page).checked(config.PeopleMetadataOptions.DownloadComposerMetadata);
|
||||||
|
$('#chkPeopleDirectors', page).checked(config.PeopleMetadataOptions.DownloadDirectorMetadata);
|
||||||
|
$('#chkPeopleProducers', page).checked(config.PeopleMetadataOptions.DownloadProducerMetadata);
|
||||||
|
$('#chkPeopleWriters', page).checked(config.PeopleMetadataOptions.DownloadWriterMetadata);
|
||||||
|
$('#chkPeopleOthers', page).checked(config.PeopleMetadataOptions.DownloadOtherPeopleMetadata);
|
||||||
|
$('#chkPeopleGuestStars', page).checked(config.PeopleMetadataOptions.DownloadGuestStarMetadata);
|
||||||
|
|
||||||
|
$('#chkDownloadImagesInAdvance', page).checked(config.DownloadImagesInAdvance);
|
||||||
|
|
||||||
Dashboard.hideLoadingMsg();
|
Dashboard.hideLoadingMsg();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function loadMetadataConfig(page, config) {
|
||||||
|
|
||||||
|
$('#selectDateAdded', page).val((config.UseFileCreationTimeForDateAdded ? '1' : '0'));
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadTmdbConfig(page, config) {
|
||||||
|
|
||||||
|
$('#chkEnableTmdbUpdates', page).checked(config.EnableAutomaticUpdates);
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadTvdbConfig(page, config) {
|
||||||
|
|
||||||
|
$('#chkEnableTvdbUpdates', page).checked(config.EnableAutomaticUpdates);
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadFanartConfig(page, config) {
|
||||||
|
|
||||||
|
$('#chkEnableFanartUpdates', page).checked(config.EnableAutomaticUpdates);
|
||||||
|
$('#txtFanartApiKey', page).val(config.UserApiKey || '');
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadChapters(page, config, providers) {
|
||||||
|
|
||||||
|
$('#chkChaptersMovies', page).checked(config.EnableMovieChapterImageExtraction);
|
||||||
|
$('#chkChaptersEpisodes', page).checked(config.EnableEpisodeChapterImageExtraction);
|
||||||
|
$('#chkChaptersOtherVideos', page).checked(config.EnableOtherVideoChapterImageExtraction);
|
||||||
|
|
||||||
|
$('#chkExtractChaptersDuringLibraryScan', page).checked(config.ExtractDuringLibraryScan);
|
||||||
|
|
||||||
|
Dashboard.hideLoadingMsg();
|
||||||
|
}
|
||||||
|
|
||||||
|
function saveFanart(form) {
|
||||||
|
|
||||||
|
ApiClient.getNamedConfiguration("fanart").then(function (config) {
|
||||||
|
|
||||||
|
config.EnableAutomaticUpdates = $('#chkEnableFanartUpdates', form).checked();
|
||||||
|
config.UserApiKey = $('#txtFanartApiKey', form).val();
|
||||||
|
|
||||||
|
ApiClient.updateNamedConfiguration("fanart", config);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function saveTvdb(form) {
|
||||||
|
|
||||||
|
ApiClient.getNamedConfiguration("tvdb").then(function (config) {
|
||||||
|
|
||||||
|
config.EnableAutomaticUpdates = $('#chkEnableTvdbUpdates', form).checked();
|
||||||
|
|
||||||
|
ApiClient.updateNamedConfiguration("tvdb", config);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function saveTmdb(form) {
|
||||||
|
|
||||||
|
ApiClient.getNamedConfiguration("themoviedb").then(function (config) {
|
||||||
|
|
||||||
|
config.EnableAutomaticUpdates = $('#chkEnableTmdbUpdates', form).checked();
|
||||||
|
|
||||||
|
ApiClient.updateNamedConfiguration("themoviedb", config);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function saveMetadata(form) {
|
||||||
|
|
||||||
|
ApiClient.getNamedConfiguration("metadata").then(function (config) {
|
||||||
|
|
||||||
|
config.UseFileCreationTimeForDateAdded = $('#selectDateAdded', form).val() == '1';
|
||||||
|
|
||||||
|
ApiClient.updateNamedConfiguration("metadata", config);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function saveChapters(form) {
|
||||||
|
|
||||||
|
ApiClient.getNamedConfiguration("chapters").then(function (config) {
|
||||||
|
|
||||||
|
config.EnableMovieChapterImageExtraction = $('#chkChaptersMovies', form).checked();
|
||||||
|
config.EnableEpisodeChapterImageExtraction = $('#chkChaptersEpisodes', form).checked();
|
||||||
|
config.EnableOtherVideoChapterImageExtraction = $('#chkChaptersOtherVideos', form).checked();
|
||||||
|
|
||||||
|
config.ExtractDuringLibraryScan = $('#chkExtractChaptersDuringLibraryScan', form).checked();
|
||||||
|
|
||||||
|
ApiClient.updateNamedConfiguration("chapters", config);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function onSubmit() {
|
function onSubmit() {
|
||||||
Dashboard.showLoadingMsg();
|
Dashboard.showLoadingMsg();
|
||||||
|
|
||||||
@ -32,9 +133,33 @@
|
|||||||
config.EnableAudioArchiveFiles = form.querySelector('#chkEnableAudioArchiveFiles').checked;
|
config.EnableAudioArchiveFiles = form.querySelector('#chkEnableAudioArchiveFiles').checked;
|
||||||
config.EnableVideoArchiveFiles = form.querySelector('#chkEnableVideoArchiveFiles').checked;
|
config.EnableVideoArchiveFiles = form.querySelector('#chkEnableVideoArchiveFiles').checked;
|
||||||
|
|
||||||
|
config.SaveMetadataHidden = $('#chkSaveMetadataHidden', form).checked();
|
||||||
|
|
||||||
|
config.EnableTvDbUpdates = $('#chkEnableTvdbUpdates', form).checked();
|
||||||
|
config.EnableTmdbUpdates = $('#chkEnableTmdbUpdates', form).checked();
|
||||||
|
config.EnableFanArtUpdates = $('#chkEnableFanartUpdates', form).checked();
|
||||||
|
config.MetadataPath = $('#txtMetadataPath', form).val();
|
||||||
|
config.FanartApiKey = $('#txtFanartApiKey', form).val();
|
||||||
|
|
||||||
|
config.DownloadImagesInAdvance = $('#chkDownloadImagesInAdvance', form).checked();
|
||||||
|
|
||||||
|
config.PeopleMetadataOptions.DownloadActorMetadata = $('#chkPeopleActors', form).checked();
|
||||||
|
config.PeopleMetadataOptions.DownloadComposerMetadata = $('#chkPeopleComposers', form).checked();
|
||||||
|
config.PeopleMetadataOptions.DownloadDirectorMetadata = $('#chkPeopleDirectors', form).checked();
|
||||||
|
config.PeopleMetadataOptions.DownloadGuestStarMetadata = $('#chkPeopleGuestStars', form).checked();
|
||||||
|
config.PeopleMetadataOptions.DownloadProducerMetadata = $('#chkPeopleProducers', form).checked();
|
||||||
|
config.PeopleMetadataOptions.DownloadWriterMetadata = $('#chkPeopleWriters', form).checked();
|
||||||
|
config.PeopleMetadataOptions.DownloadOtherPeopleMetadata = $('#chkPeopleOthers', form).checked();
|
||||||
|
|
||||||
ApiClient.updateServerConfiguration(config).then(Dashboard.processServerConfigurationUpdateResult);
|
ApiClient.updateServerConfiguration(config).then(Dashboard.processServerConfigurationUpdateResult);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
saveChapters(form);
|
||||||
|
saveMetadata(form);
|
||||||
|
saveTmdb(form);
|
||||||
|
saveTvdb(form);
|
||||||
|
saveFanart(form);
|
||||||
|
|
||||||
// Disable default form submission
|
// Disable default form submission
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -48,13 +173,63 @@
|
|||||||
ApiClient.getServerConfiguration().then(function (config) {
|
ApiClient.getServerConfiguration().then(function (config) {
|
||||||
|
|
||||||
loadPage(page, config);
|
loadPage(page, config);
|
||||||
|
});
|
||||||
|
|
||||||
|
ApiClient.getNamedConfiguration("metadata").then(function (metadata) {
|
||||||
|
|
||||||
|
loadMetadataConfig(page, metadata);
|
||||||
|
});
|
||||||
|
|
||||||
|
ApiClient.getNamedConfiguration("fanart").then(function (metadata) {
|
||||||
|
|
||||||
|
loadFanartConfig(page, metadata);
|
||||||
|
});
|
||||||
|
|
||||||
|
ApiClient.getNamedConfiguration("themoviedb").then(function (metadata) {
|
||||||
|
|
||||||
|
loadTmdbConfig(page, metadata);
|
||||||
|
});
|
||||||
|
|
||||||
|
ApiClient.getNamedConfiguration("tvdb").then(function (metadata) {
|
||||||
|
|
||||||
|
loadTvdbConfig(page, metadata);
|
||||||
|
});
|
||||||
|
|
||||||
|
var promise1 = ApiClient.getNamedConfiguration("chapters");
|
||||||
|
var promise2 = ApiClient.getJSON(ApiClient.getUrl("Providers/Chapters"));
|
||||||
|
|
||||||
|
Promise.all([promise1, promise2]).then(function (responses) {
|
||||||
|
|
||||||
|
loadChapters(page, responses[0], responses[1]);
|
||||||
});
|
});
|
||||||
|
|
||||||
}).on('pageinit', "#librarySettingsPage", function () {
|
}).on('pageinit', "#librarySettingsPage", function () {
|
||||||
|
|
||||||
var page = this;
|
var page = this;
|
||||||
|
|
||||||
|
$('#btnSelectMetadataPath', page).on("click.selectDirectory", function () {
|
||||||
|
|
||||||
|
require(['directorybrowser'], function (directoryBrowser) {
|
||||||
|
|
||||||
|
var picker = new directoryBrowser();
|
||||||
|
|
||||||
|
picker.show({
|
||||||
|
|
||||||
|
callback: function (path) {
|
||||||
|
if (path) {
|
||||||
|
$('#txtMetadataPath', page).val(path);
|
||||||
|
}
|
||||||
|
picker.close();
|
||||||
|
},
|
||||||
|
|
||||||
|
header: Globalize.translate('HeaderSelectMetadataPath'),
|
||||||
|
|
||||||
|
instruction: Globalize.translate('HeaderSelectMetadataPathHelp')
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
$('.librarySettingsForm').off('submit', onSubmit).on('submit', onSubmit);
|
$('.librarySettingsForm').off('submit', onSubmit).on('submit', onSubmit);
|
||||||
|
|
||||||
ApiClient.getSystemInfo().then(function (systemInfo) {
|
ApiClient.getSystemInfo().then(function (systemInfo) {
|
||||||
|
@ -1,11 +1,20 @@
|
|||||||
define(['jQuery'], function ($) {
|
define(['jQuery', 'paper-fab', 'paper-item-body', 'paper-icon-item'], function ($) {
|
||||||
|
|
||||||
$(document).on('pagebeforeshow', "#logPage", function () {
|
return function (view, params) {
|
||||||
|
|
||||||
var page = this;
|
view.querySelector('#chkDebugLog').addEventListener('change', function () {
|
||||||
Dashboard.showLoadingMsg();
|
|
||||||
|
|
||||||
require(['paper-fab', 'paper-item-body', 'paper-icon-item'], function () {
|
ApiClient.getServerConfiguration().then(function (config) {
|
||||||
|
|
||||||
|
config.EnableDebugLevelLogging = view.querySelector('#chkDebugLog').checked;
|
||||||
|
|
||||||
|
ApiClient.updateServerConfiguration(config);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
view.addEventListener('viewbeforeshow', function () {
|
||||||
|
|
||||||
|
Dashboard.showLoadingMsg();
|
||||||
|
|
||||||
var apiClient = ApiClient;
|
var apiClient = ApiClient;
|
||||||
|
|
||||||
@ -55,11 +64,15 @@
|
|||||||
|
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
|
|
||||||
$('.serverLogs', page).html(html);
|
$('.serverLogs', view).html(html);
|
||||||
Dashboard.hideLoadingMsg();
|
Dashboard.hideLoadingMsg();
|
||||||
|
});
|
||||||
|
|
||||||
|
apiClient.getServerConfiguration().then(function (config) {
|
||||||
|
|
||||||
|
view.querySelector('#chkDebugLog').checked = config.EnableDebugLevelLogging;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|
||||||
|
};
|
||||||
});
|
});
|
@ -1,221 +0,0 @@
|
|||||||
define(['jQuery'], function ($) {
|
|
||||||
|
|
||||||
function loadAdvancedConfig(page, config) {
|
|
||||||
|
|
||||||
$('#chkSaveMetadataHidden', page).checked(config.SaveMetadataHidden);
|
|
||||||
|
|
||||||
$('#txtMetadataPath', page).val(config.MetadataPath || '');
|
|
||||||
|
|
||||||
$('#chkPeopleActors', page).checked(config.PeopleMetadataOptions.DownloadActorMetadata);
|
|
||||||
$('#chkPeopleComposers', page).checked(config.PeopleMetadataOptions.DownloadComposerMetadata);
|
|
||||||
$('#chkPeopleDirectors', page).checked(config.PeopleMetadataOptions.DownloadDirectorMetadata);
|
|
||||||
$('#chkPeopleProducers', page).checked(config.PeopleMetadataOptions.DownloadProducerMetadata);
|
|
||||||
$('#chkPeopleWriters', page).checked(config.PeopleMetadataOptions.DownloadWriterMetadata);
|
|
||||||
$('#chkPeopleOthers', page).checked(config.PeopleMetadataOptions.DownloadOtherPeopleMetadata);
|
|
||||||
$('#chkPeopleGuestStars', page).checked(config.PeopleMetadataOptions.DownloadGuestStarMetadata);
|
|
||||||
|
|
||||||
$('#chkDownloadImagesInAdvance', page).checked(config.DownloadImagesInAdvance);
|
|
||||||
|
|
||||||
Dashboard.hideLoadingMsg();
|
|
||||||
}
|
|
||||||
|
|
||||||
function loadMetadataConfig(page, config) {
|
|
||||||
|
|
||||||
$('#selectDateAdded', page).val((config.UseFileCreationTimeForDateAdded ? '1' : '0'));
|
|
||||||
}
|
|
||||||
|
|
||||||
function loadTmdbConfig(page, config) {
|
|
||||||
|
|
||||||
$('#chkEnableTmdbUpdates', page).checked(config.EnableAutomaticUpdates);
|
|
||||||
}
|
|
||||||
|
|
||||||
function loadTvdbConfig(page, config) {
|
|
||||||
|
|
||||||
$('#chkEnableTvdbUpdates', page).checked(config.EnableAutomaticUpdates);
|
|
||||||
}
|
|
||||||
|
|
||||||
function loadFanartConfig(page, config) {
|
|
||||||
|
|
||||||
$('#chkEnableFanartUpdates', page).checked(config.EnableAutomaticUpdates);
|
|
||||||
$('#txtFanartApiKey', page).val(config.UserApiKey || '');
|
|
||||||
}
|
|
||||||
|
|
||||||
function loadChapters(page, config, providers) {
|
|
||||||
|
|
||||||
$('#chkChaptersMovies', page).checked(config.EnableMovieChapterImageExtraction);
|
|
||||||
$('#chkChaptersEpisodes', page).checked(config.EnableEpisodeChapterImageExtraction);
|
|
||||||
$('#chkChaptersOtherVideos', page).checked(config.EnableOtherVideoChapterImageExtraction);
|
|
||||||
|
|
||||||
$('#chkExtractChaptersDuringLibraryScan', page).checked(config.ExtractDuringLibraryScan);
|
|
||||||
|
|
||||||
Dashboard.hideLoadingMsg();
|
|
||||||
}
|
|
||||||
|
|
||||||
function onSubmit() {
|
|
||||||
var form = this;
|
|
||||||
|
|
||||||
Dashboard.showLoadingMsg();
|
|
||||||
|
|
||||||
saveAdvancedConfig(form);
|
|
||||||
saveChapters(form);
|
|
||||||
saveMetadata(form);
|
|
||||||
saveTmdb(form);
|
|
||||||
saveTvdb(form);
|
|
||||||
saveFanart(form);
|
|
||||||
|
|
||||||
// Disable default form submission
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
$(document).on('pageinit', "#advancedMetadataConfigurationPage", function () {
|
|
||||||
|
|
||||||
var page = this;
|
|
||||||
|
|
||||||
$('#btnSelectMetadataPath', page).on("click.selectDirectory", function () {
|
|
||||||
|
|
||||||
require(['directorybrowser'], function (directoryBrowser) {
|
|
||||||
|
|
||||||
var picker = new directoryBrowser();
|
|
||||||
|
|
||||||
picker.show({
|
|
||||||
|
|
||||||
callback: function (path) {
|
|
||||||
if (path) {
|
|
||||||
$('#txtMetadataPath', page).val(path);
|
|
||||||
}
|
|
||||||
picker.close();
|
|
||||||
},
|
|
||||||
|
|
||||||
header: Globalize.translate('HeaderSelectMetadataPath'),
|
|
||||||
|
|
||||||
instruction: Globalize.translate('HeaderSelectMetadataPathHelp')
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.advancedMetadataConfigurationForm').on('submit', onSubmit).on('submit', onSubmit);
|
|
||||||
|
|
||||||
|
|
||||||
}).on('pageshow', "#advancedMetadataConfigurationPage", function () {
|
|
||||||
|
|
||||||
var page = this;
|
|
||||||
|
|
||||||
ApiClient.getServerConfiguration().then(function (configuration) {
|
|
||||||
|
|
||||||
loadAdvancedConfig(page, configuration);
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
ApiClient.getNamedConfiguration("metadata").then(function (metadata) {
|
|
||||||
|
|
||||||
loadMetadataConfig(page, metadata);
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
ApiClient.getNamedConfiguration("fanart").then(function (metadata) {
|
|
||||||
|
|
||||||
loadFanartConfig(page, metadata);
|
|
||||||
});
|
|
||||||
|
|
||||||
ApiClient.getNamedConfiguration("themoviedb").then(function (metadata) {
|
|
||||||
|
|
||||||
loadTmdbConfig(page, metadata);
|
|
||||||
});
|
|
||||||
|
|
||||||
ApiClient.getNamedConfiguration("tvdb").then(function (metadata) {
|
|
||||||
|
|
||||||
loadTvdbConfig(page, metadata);
|
|
||||||
});
|
|
||||||
|
|
||||||
var promise1 = ApiClient.getNamedConfiguration("chapters");
|
|
||||||
var promise2 = ApiClient.getJSON(ApiClient.getUrl("Providers/Chapters"));
|
|
||||||
|
|
||||||
Promise.all([promise1, promise2]).then(function (responses) {
|
|
||||||
|
|
||||||
loadChapters(page, responses[0], responses[1]);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
function saveFanart(form) {
|
|
||||||
|
|
||||||
ApiClient.getNamedConfiguration("fanart").then(function (config) {
|
|
||||||
|
|
||||||
config.EnableAutomaticUpdates = $('#chkEnableFanartUpdates', form).checked();
|
|
||||||
config.UserApiKey = $('#txtFanartApiKey', form).val();
|
|
||||||
|
|
||||||
ApiClient.updateNamedConfiguration("fanart", config);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function saveTvdb(form) {
|
|
||||||
|
|
||||||
ApiClient.getNamedConfiguration("tvdb").then(function (config) {
|
|
||||||
|
|
||||||
config.EnableAutomaticUpdates = $('#chkEnableTvdbUpdates', form).checked();
|
|
||||||
|
|
||||||
ApiClient.updateNamedConfiguration("tvdb", config);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function saveTmdb(form) {
|
|
||||||
|
|
||||||
ApiClient.getNamedConfiguration("themoviedb").then(function (config) {
|
|
||||||
|
|
||||||
config.EnableAutomaticUpdates = $('#chkEnableTmdbUpdates', form).checked();
|
|
||||||
|
|
||||||
ApiClient.updateNamedConfiguration("themoviedb", config);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function saveAdvancedConfig(form) {
|
|
||||||
|
|
||||||
ApiClient.getServerConfiguration().then(function (config) {
|
|
||||||
|
|
||||||
config.SaveMetadataHidden = $('#chkSaveMetadataHidden', form).checked();
|
|
||||||
|
|
||||||
config.EnableTvDbUpdates = $('#chkEnableTvdbUpdates', form).checked();
|
|
||||||
config.EnableTmdbUpdates = $('#chkEnableTmdbUpdates', form).checked();
|
|
||||||
config.EnableFanArtUpdates = $('#chkEnableFanartUpdates', form).checked();
|
|
||||||
config.MetadataPath = $('#txtMetadataPath', form).val();
|
|
||||||
config.FanartApiKey = $('#txtFanartApiKey', form).val();
|
|
||||||
|
|
||||||
config.DownloadImagesInAdvance = $('#chkDownloadImagesInAdvance', form).checked();
|
|
||||||
|
|
||||||
config.PeopleMetadataOptions.DownloadActorMetadata = $('#chkPeopleActors', form).checked();
|
|
||||||
config.PeopleMetadataOptions.DownloadComposerMetadata = $('#chkPeopleComposers', form).checked();
|
|
||||||
config.PeopleMetadataOptions.DownloadDirectorMetadata = $('#chkPeopleDirectors', form).checked();
|
|
||||||
config.PeopleMetadataOptions.DownloadGuestStarMetadata = $('#chkPeopleGuestStars', form).checked();
|
|
||||||
config.PeopleMetadataOptions.DownloadProducerMetadata = $('#chkPeopleProducers', form).checked();
|
|
||||||
config.PeopleMetadataOptions.DownloadWriterMetadata = $('#chkPeopleWriters', form).checked();
|
|
||||||
config.PeopleMetadataOptions.DownloadOtherPeopleMetadata = $('#chkPeopleOthers', form).checked();
|
|
||||||
|
|
||||||
ApiClient.updateServerConfiguration(config).then(Dashboard.processServerConfigurationUpdateResult);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function saveMetadata(form) {
|
|
||||||
|
|
||||||
ApiClient.getNamedConfiguration("metadata").then(function (config) {
|
|
||||||
|
|
||||||
config.UseFileCreationTimeForDateAdded = $('#selectDateAdded', form).val() == '1';
|
|
||||||
|
|
||||||
ApiClient.updateNamedConfiguration("metadata", config);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function saveChapters(form) {
|
|
||||||
|
|
||||||
ApiClient.getNamedConfiguration("chapters").then(function (config) {
|
|
||||||
|
|
||||||
config.EnableMovieChapterImageExtraction = $('#chkChaptersMovies', form).checked();
|
|
||||||
config.EnableEpisodeChapterImageExtraction = $('#chkChaptersEpisodes', form).checked();
|
|
||||||
config.EnableOtherVideoChapterImageExtraction = $('#chkChaptersOtherVideos', form).checked();
|
|
||||||
|
|
||||||
config.ExtractDuringLibraryScan = $('#chkExtractChaptersDuringLibraryScan', form).checked();
|
|
||||||
|
|
||||||
ApiClient.updateNamedConfiguration("chapters", config);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
@ -655,41 +655,50 @@ var Dashboard = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getToolsLinkHtml: function (item) {
|
||||||
|
|
||||||
|
var menuHtml = '';
|
||||||
|
var pageIds = item.pageIds ? item.pageIds.join(',') : '';
|
||||||
|
pageIds = pageIds ? (' data-pageids="' + pageIds + '"') : '';
|
||||||
|
menuHtml += '<a class="sidebarLink" href="' + item.href + '"' + pageIds + '>';
|
||||||
|
|
||||||
|
var icon = item.icon;
|
||||||
|
|
||||||
|
if (icon) {
|
||||||
|
menuHtml += '<iron-icon icon="' + icon + '" class="sidebarLinkIcon"></iron-icon>';
|
||||||
|
}
|
||||||
|
|
||||||
|
menuHtml += '<span class="sidebarLinkText">';
|
||||||
|
menuHtml += item.name;
|
||||||
|
menuHtml += '</span>';
|
||||||
|
menuHtml += '</a>';
|
||||||
|
return menuHtml;
|
||||||
|
},
|
||||||
|
|
||||||
getToolsMenuHtml: function (page) {
|
getToolsMenuHtml: function (page) {
|
||||||
|
|
||||||
var items = Dashboard.getToolsMenuLinks(page);
|
var items = Dashboard.getToolsMenuLinks(page);
|
||||||
|
|
||||||
var i, length, item;
|
var i, length, item;
|
||||||
var menuHtml = '';
|
var menuHtml = '';
|
||||||
|
menuHtml += '<div class="drawerContent">';
|
||||||
for (i = 0, length = items.length; i < length; i++) {
|
for (i = 0, length = items.length; i < length; i++) {
|
||||||
|
|
||||||
item = items[i];
|
item = items[i];
|
||||||
|
|
||||||
if (item.divider) {
|
if (item.items) {
|
||||||
menuHtml += "<div class='sidebarDivider'></div>";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (item.href) {
|
if (item.icon) {
|
||||||
|
menuHtml += '<emby-collapsible icon="' + item.icon + '" title="' + item.name + '">';
|
||||||
var style = item.color ? ' style="color:' + item.color + '"' : '';
|
|
||||||
|
|
||||||
if (item.selected) {
|
|
||||||
menuHtml += '<a class="sidebarLink selectedSidebarLink" href="' + item.href + '">';
|
|
||||||
} else {
|
} else {
|
||||||
menuHtml += '<a class="sidebarLink" href="' + item.href + '">';
|
menuHtml += '<emby-collapsible title="' + item.name + '">';
|
||||||
}
|
}
|
||||||
|
menuHtml += item.items.map(Dashboard.getToolsLinkHtml).join('');
|
||||||
|
menuHtml += '</emby-collapsible>';
|
||||||
|
}
|
||||||
|
else if (item.href) {
|
||||||
|
|
||||||
var icon = item.icon;
|
menuHtml += Dashboard.getToolsLinkHtml(item);
|
||||||
|
|
||||||
if (icon) {
|
|
||||||
menuHtml += '<iron-icon icon="' + icon + '" class="sidebarLinkIcon"' + style + '></iron-icon>';
|
|
||||||
}
|
|
||||||
|
|
||||||
menuHtml += '<span class="sidebarLinkText">';
|
|
||||||
menuHtml += item.name;
|
|
||||||
menuHtml += '</span>';
|
|
||||||
menuHtml += '</a>';
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
menuHtml += '<div class="sidebarHeader">';
|
menuHtml += '<div class="sidebarHeader">';
|
||||||
@ -697,132 +706,258 @@ var Dashboard = {
|
|||||||
menuHtml += '</div>';
|
menuHtml += '</div>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
menuHtml += '</div>';
|
||||||
|
|
||||||
return menuHtml;
|
return menuHtml;
|
||||||
},
|
},
|
||||||
|
|
||||||
ensureToolsMenu: function (page) {
|
getToolsMenuLinks: function () {
|
||||||
|
|
||||||
var sidebar = page.querySelector('.toolsSidebar');
|
|
||||||
|
|
||||||
if (!sidebar) {
|
|
||||||
|
|
||||||
var html = '<div class="content-secondary toolsSidebar">';
|
|
||||||
|
|
||||||
html += '<div class="sidebarLinks">';
|
|
||||||
|
|
||||||
html += Dashboard.getToolsMenuHtml(page);
|
|
||||||
// sidebarLinks
|
|
||||||
html += '</div>';
|
|
||||||
|
|
||||||
// content-secondary
|
|
||||||
html += '</div>';
|
|
||||||
|
|
||||||
$('.content-primary', page).before(html);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
getToolsMenuLinks: function (page) {
|
|
||||||
|
|
||||||
var pageElem = page;
|
|
||||||
|
|
||||||
var isServicesPage = page.classList.contains('appServicesPage');
|
|
||||||
var context = getParameterByName('context');
|
|
||||||
|
|
||||||
return [{
|
return [{
|
||||||
name: Globalize.translate('TabServer'),
|
name: Globalize.translate('TabServer'),
|
||||||
href: "dashboard.html",
|
|
||||||
selected: page.classList.contains("dashboardHomePage"),
|
|
||||||
icon: 'dashboard',
|
icon: 'dashboard',
|
||||||
color: '#38c'
|
items: [
|
||||||
}, {
|
{
|
||||||
name: Globalize.translate('TabDevices'),
|
name: Globalize.translate('TabDashboard'),
|
||||||
href: "devices.html",
|
href: "dashboard.html",
|
||||||
selected: page.classList.contains("devicesPage"),
|
pageIds: ['dashboardPage'],
|
||||||
icon: 'tablet',
|
icon: 'dashboard'
|
||||||
color: '#ECA403'
|
}, {
|
||||||
}, {
|
name: Globalize.translate('TabSettings'),
|
||||||
name: Globalize.translate('TabUsers'),
|
href: "dashboardgeneral.html",
|
||||||
href: "userprofiles.html",
|
pageIds: ['dashboardGeneralPage'],
|
||||||
selected: page.classList.contains("userProfilesPage"),
|
icon: 'settings'
|
||||||
icon: 'people',
|
}, {
|
||||||
color: '#679C34'
|
name: Globalize.translate('TabDevices'),
|
||||||
|
href: "devices.html",
|
||||||
|
pageIds: ['devicesPage'],
|
||||||
|
icon: 'tablet'
|
||||||
|
}, {
|
||||||
|
name: Globalize.translate('TabUsers'),
|
||||||
|
href: "userprofiles.html",
|
||||||
|
pageIds: ['userProfilesPage'],
|
||||||
|
icon: 'people'
|
||||||
|
}
|
||||||
|
]
|
||||||
}, {
|
}, {
|
||||||
name: Globalize.translate('TabLibrary'),
|
name: Globalize.translate('TabLibrary'),
|
||||||
divider: true,
|
|
||||||
href: "library.html",
|
|
||||||
selected: page.classList.contains("librarySectionPage"),
|
|
||||||
icon: 'video-library'
|
|
||||||
}, {
|
|
||||||
name: Globalize.translate('TabMetadata'),
|
|
||||||
href: "metadata.html",
|
|
||||||
selected: page.classList.contains('metadataConfigurationPage'),
|
|
||||||
icon: 'insert-drive-file'
|
|
||||||
}, {
|
|
||||||
name: Globalize.translate('TabPlayback'),
|
|
||||||
href: "playbackconfiguration.html",
|
|
||||||
selected: page.classList.contains('playbackConfigurationPage'),
|
|
||||||
icon: 'play-circle-filled'
|
|
||||||
}, {
|
|
||||||
name: Globalize.translate('TabSync'),
|
|
||||||
href: "syncactivity.html",
|
|
||||||
selected: page.classList.contains('syncConfigurationPage') || (isServicesPage && context == 'sync'),
|
|
||||||
icon: 'sync'
|
|
||||||
}, {
|
|
||||||
divider: true,
|
|
||||||
name: Globalize.translate('TabExtras')
|
|
||||||
}, {
|
|
||||||
name: Globalize.translate('TabAutoOrganize'),
|
|
||||||
href: "autoorganizelog.html",
|
|
||||||
selected: page.classList.contains("organizePage"),
|
|
||||||
icon: 'folder',
|
icon: 'folder',
|
||||||
color: '#01C0DD'
|
items: [
|
||||||
|
{
|
||||||
|
name: Globalize.translate('TabFolders'),
|
||||||
|
href: "library.html",
|
||||||
|
pageIds: ['mediaLibraryPage'],
|
||||||
|
icon: 'folder'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: Globalize.translate('TabMetadata'),
|
||||||
|
href: "metadata.html",
|
||||||
|
pageIds: ['metadataConfigurationPage'],
|
||||||
|
icon: 'insert-drive-file'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: Globalize.translate('TabServices'),
|
||||||
|
href: "metadataimages.html",
|
||||||
|
pageIds: ['metadataImagesConfigurationPage'],
|
||||||
|
icon: 'insert-drive-file'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: Globalize.translate('TabNfoSettings'),
|
||||||
|
href: "metadatanfo.html",
|
||||||
|
pageIds: ['metadataNfoPage'],
|
||||||
|
icon: 'insert-drive-file'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: Globalize.translate('TabPathSubstitution'),
|
||||||
|
href: "librarypathmapping.html",
|
||||||
|
pageIds: ['libraryPathMappingPage'],
|
||||||
|
icon: 'mode-edit'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: Globalize.translate('TabSubtitles'),
|
||||||
|
href: "metadatasubtitles.html",
|
||||||
|
pageIds: ['metadataSubtitlesPage'],
|
||||||
|
icon: 'closed-caption'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: Globalize.translate('TabAdvanced'),
|
||||||
|
href: "librarysettings.html",
|
||||||
|
pageIds: ['librarySettingsPage'],
|
||||||
|
icon: 'settings'
|
||||||
|
}
|
||||||
|
]
|
||||||
}, {
|
}, {
|
||||||
name: Globalize.translate('TabDLNA'),
|
name: Globalize.translate('DLNA'),
|
||||||
href: "dlnasettings.html",
|
icon: 'live-tv',
|
||||||
selected: page.classList.contains("dlnaPage"),
|
items: [
|
||||||
icon: 'tv',
|
{
|
||||||
color: '#E5342E'
|
name: Globalize.translate('TabSettings'),
|
||||||
|
href: "dlnasettings.html",
|
||||||
|
pageIds: ['dlnaSettingsPage'],
|
||||||
|
icon: 'settings'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: Globalize.translate('TabProfiles'),
|
||||||
|
href: "dlnaprofiles.html",
|
||||||
|
pageIds: ['dlnaProfilesPage', 'dlnaProfilePage'],
|
||||||
|
icon: 'live-tv'
|
||||||
|
}
|
||||||
|
]
|
||||||
}, {
|
}, {
|
||||||
name: Globalize.translate('TabLiveTV'),
|
name: Globalize.translate('TabLiveTV'),
|
||||||
href: "livetvstatus.html",
|
icon: 'dvr',
|
||||||
selected: page.classList.contains("liveTvSettingsPage") || (isServicesPage && context == 'livetv'),
|
items: [
|
||||||
icon: 'live-tv',
|
{
|
||||||
color: '#293AAE'
|
name: Globalize.translate('TabSettings'),
|
||||||
|
href: "livetvstatus.html",
|
||||||
|
pageIds: ['liveTvStatusPage'],
|
||||||
|
icon: 'settings'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: Globalize.translate('TabAdvanced'),
|
||||||
|
href: "livetvsettings.html",
|
||||||
|
pageIds: ['liveTvSettingsPage'],
|
||||||
|
icon: 'settings'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: Globalize.translate('TabServices'),
|
||||||
|
href: "appservices.html?context=livetv",
|
||||||
|
//selected: (isServicesPage && context == 'livetv'),
|
||||||
|
icon: 'add-shopping-cart'
|
||||||
|
}
|
||||||
|
]
|
||||||
}, {
|
}, {
|
||||||
name: Globalize.translate('TabNotifications'),
|
name: Globalize.translate('TabPlayback'),
|
||||||
href: "notificationsettings.html",
|
icon: 'play-circle-filled',
|
||||||
selected: page.classList.contains("notificationConfigurationPage"),
|
items: [
|
||||||
icon: 'notifications',
|
{
|
||||||
color: 'brown'
|
name: Globalize.translate('TabCinemaMode'),
|
||||||
|
href: "cinemamodeconfiguration.html",
|
||||||
|
pageIds: ['cinemaModeConfigurationPage'],
|
||||||
|
icon: 'local-movies'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: Globalize.translate('TabResumeSettings'),
|
||||||
|
href: "playbackconfiguration.html",
|
||||||
|
pageIds: ['playbackConfigurationPage'],
|
||||||
|
icon: 'play-circle-filled'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: Globalize.translate('TabStreaming'),
|
||||||
|
href: "streamingsettings.html",
|
||||||
|
pageIds: ['streamingSettingsPage'],
|
||||||
|
icon: 'wifi'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: Globalize.translate('TabTranscoding'),
|
||||||
|
href: "encodingsettings.html",
|
||||||
|
pageIds: ['encodingSettingsPage'],
|
||||||
|
icon: 'play-circle-filled'
|
||||||
|
}
|
||||||
|
]
|
||||||
}, {
|
}, {
|
||||||
name: Globalize.translate('TabPlugins'),
|
name: Globalize.translate('TabPlugins'),
|
||||||
href: "plugins.html",
|
|
||||||
selected: page.classList.contains("pluginConfigurationPage"),
|
|
||||||
icon: 'add-shopping-cart',
|
icon: 'add-shopping-cart',
|
||||||
color: '#9D22B1'
|
items: [
|
||||||
|
{
|
||||||
|
name: Globalize.translate('TabMyPlugins'),
|
||||||
|
href: "plugins.html",
|
||||||
|
pageIds: ['pluginsPage'],
|
||||||
|
icon: 'file-download'
|
||||||
|
}, {
|
||||||
|
name: Globalize.translate('TabCatalog'),
|
||||||
|
href: "plugincatalog.html",
|
||||||
|
pageIds: ['pluginCatalogPage'],
|
||||||
|
icon: 'add-shopping-cart'
|
||||||
|
}
|
||||||
|
]
|
||||||
}, {
|
}, {
|
||||||
divider: true,
|
name: Globalize.translate('TabSync'),
|
||||||
name: Globalize.translate('TabExpert')
|
icon: 'sync',
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
name: Globalize.translate('TabSyncJobs'),
|
||||||
|
href: "syncactivity.html",
|
||||||
|
pageIds: ['syncActivityPage', 'syncJobPage'],
|
||||||
|
icon: 'menu'
|
||||||
|
}, {
|
||||||
|
name: Globalize.translate('TabCameraUpload'),
|
||||||
|
href: "devicesupload.html",
|
||||||
|
pageIds: ['devicesUploadPage'],
|
||||||
|
icon: 'photo'
|
||||||
|
}, {
|
||||||
|
name: Globalize.translate('TabServices'),
|
||||||
|
href: "appservices.html?context=sync",
|
||||||
|
//selected: (isServicesPage && context == 'sync'),
|
||||||
|
icon: 'add-shopping-cart'
|
||||||
|
}, {
|
||||||
|
name: Globalize.translate('TabSettings'),
|
||||||
|
href: "syncsettings.html",
|
||||||
|
pageIds: ['syncSettingsPage'],
|
||||||
|
icon: 'settings'
|
||||||
|
}
|
||||||
|
]
|
||||||
}, {
|
}, {
|
||||||
name: Globalize.translate('TabAdvanced'),
|
name: Globalize.translate('TabAdvanced'),
|
||||||
href: "advanced.html",
|
|
||||||
selected: page.classList.contains("advancedConfigurationPage"),
|
|
||||||
icon: 'settings',
|
icon: 'settings',
|
||||||
color: '#F16834'
|
items: [
|
||||||
}, {
|
{
|
||||||
name: Globalize.translate('TabScheduledTasks'),
|
name: Globalize.translate('TabAutoOrganize'),
|
||||||
href: "scheduledtasks.html",
|
href: "autoorganizelog.html",
|
||||||
selected: page.classList.contains("scheduledTasksConfigurationPage"),
|
pageIds: ['libraryFileOrganizerPage', 'libraryFileOrganizerSmartMatchPage', 'libraryFileOrganizerLogPage'],
|
||||||
icon: 'schedule',
|
icon: 'folder'
|
||||||
color: '#38c'
|
}, {
|
||||||
|
name: Globalize.translate('TabGeneral'),
|
||||||
|
href: "advanced.html",
|
||||||
|
pageIds: ['advancedConfigurationPage'],
|
||||||
|
icon: 'mode-edit'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: Globalize.translate('TabHosting'),
|
||||||
|
href: "dashboardhosting.html",
|
||||||
|
pageIds: ['dashboardHostingPage'],
|
||||||
|
icon: 'wifi'
|
||||||
|
}, {
|
||||||
|
name: Globalize.translate('TabNotifications'),
|
||||||
|
href: "notificationsettings.html",
|
||||||
|
pageIds: ['notificationSettingsPage', 'notificationSettingPage'],
|
||||||
|
icon: 'notifications'
|
||||||
|
}, {
|
||||||
|
name: Globalize.translate('TabScheduledTasks'),
|
||||||
|
href: "scheduledtasks.html",
|
||||||
|
pageIds: ['scheduledTasksPage', 'scheduledTaskPage'],
|
||||||
|
icon: 'schedule'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: Globalize.translate('TabSecurity'),
|
||||||
|
href: "serversecurity.html",
|
||||||
|
pageIds: ['serverSecurityPage'],
|
||||||
|
icon: 'lock'
|
||||||
|
}
|
||||||
|
]
|
||||||
}, {
|
}, {
|
||||||
name: Globalize.translate('TabHelp'),
|
name: Globalize.translate('TabHelp'),
|
||||||
divider: true,
|
icon: 'info',
|
||||||
href: "support.html",
|
items: [
|
||||||
selected: pageElem.id == "supportPage" || pageElem.id == "logPage" || pageElem.id == "supporterPage" || pageElem.id == "supporterKeyPage" || pageElem.id == "aboutPage",
|
{
|
||||||
icon: 'help',
|
name: Globalize.translate('TabAbout'),
|
||||||
color: '#679C34'
|
href: "about.html",
|
||||||
|
pageIds: ['aboutPage'],
|
||||||
|
icon: 'info'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: Globalize.translate('TabLogs'),
|
||||||
|
href: "log.html",
|
||||||
|
pageIds: ['logPage'],
|
||||||
|
icon: 'menu'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: Globalize.translate('TabEmbyPremiere'),
|
||||||
|
href: "supporterkey.html",
|
||||||
|
pageIds: ['supporterKeyPage'],
|
||||||
|
icon: 'add-circle'
|
||||||
|
}
|
||||||
|
]
|
||||||
}];
|
}];
|
||||||
|
|
||||||
},
|
},
|
||||||
@ -1148,49 +1283,9 @@ var Dashboard = {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
ensurePageTitle: function (page) {
|
|
||||||
|
|
||||||
if (!page.classList.contains('type-interior')) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var pageElem = page;
|
|
||||||
|
|
||||||
if (pageElem.querySelector('.pageTitle')) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var parent = pageElem.querySelector('.content-primary');
|
|
||||||
|
|
||||||
if (!parent) {
|
|
||||||
parent = pageElem.getElementsByClassName('ui-content')[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
var helpUrl = pageElem.getAttribute('data-helpurl');
|
|
||||||
|
|
||||||
var html = '<div>';
|
|
||||||
html += '<h1 class="pageTitle" style="display:inline-block;">' + (document.title || ' ') + '</h1>';
|
|
||||||
|
|
||||||
if (helpUrl) {
|
|
||||||
html += '<a href="' + helpUrl + '" target="_blank" class="clearLink" style="margin-top:-10px;display:inline-block;vertical-align:middle;margin-left:1em;"><paper-button raised class="secondary mini"><iron-icon icon="info"></iron-icon><span>' + Globalize.translate('ButtonHelp') + '</span></paper-button></a>';
|
|
||||||
}
|
|
||||||
|
|
||||||
html += '</div>';
|
|
||||||
|
|
||||||
$(parent).prepend(html);
|
|
||||||
},
|
|
||||||
|
|
||||||
setPageTitle: function (title) {
|
setPageTitle: function (title) {
|
||||||
|
|
||||||
var page = $.mobile.activePage;
|
LibraryMenu.setTitle(title || 'Emby');
|
||||||
|
|
||||||
if (page) {
|
|
||||||
var elem = $(page)[0].querySelector('.pageTitle');
|
|
||||||
|
|
||||||
if (elem) {
|
|
||||||
elem.innerHTML = title;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (title) {
|
if (title) {
|
||||||
document.title = title;
|
document.title = title;
|
||||||
@ -2110,11 +2205,12 @@ var AppInfo = {};
|
|||||||
var drawer = document.querySelector('.mainDrawerPanel');
|
var drawer = document.querySelector('.mainDrawerPanel');
|
||||||
drawer.classList.remove('mainDrawerPanelPreInit');
|
drawer.classList.remove('mainDrawerPanelPreInit');
|
||||||
drawer.forceNarrow = true;
|
drawer.forceNarrow = true;
|
||||||
|
|
||||||
var drawerWidth = screen.availWidth - 50;
|
var drawerWidth = screen.availWidth - 50;
|
||||||
// At least 240
|
// At least 240
|
||||||
drawerWidth = Math.max(drawerWidth, 240);
|
drawerWidth = Math.max(drawerWidth, 240);
|
||||||
// But not exceeding 310
|
// But not exceeding 270
|
||||||
drawerWidth = Math.min(drawerWidth, 310);
|
drawerWidth = Math.min(drawerWidth, 270);
|
||||||
|
|
||||||
drawer.drawerWidth = drawerWidth + "px";
|
drawer.drawerWidth = drawerWidth + "px";
|
||||||
|
|
||||||
@ -2301,7 +2397,8 @@ var AppInfo = {};
|
|||||||
|
|
||||||
defineRoute({
|
defineRoute({
|
||||||
path: '/dashboardgeneral.html',
|
path: '/dashboardgeneral.html',
|
||||||
dependencies: [],
|
dependencies: ['emby-collapsible', 'paper-textarea', 'paper-input', 'paper-checkbox'],
|
||||||
|
controller: 'scripts/dashboardgeneral',
|
||||||
autoFocus: false,
|
autoFocus: false,
|
||||||
roles: 'admin'
|
roles: 'admin'
|
||||||
});
|
});
|
||||||
@ -2552,9 +2649,9 @@ var AppInfo = {};
|
|||||||
|
|
||||||
defineRoute({
|
defineRoute({
|
||||||
path: '/log.html',
|
path: '/log.html',
|
||||||
dependencies: [],
|
dependencies: ['paper-toggle-button'],
|
||||||
autoFocus: false,
|
roles: 'admin',
|
||||||
roles: 'admin'
|
controller: 'scripts/logpage'
|
||||||
});
|
});
|
||||||
|
|
||||||
defineRoute({
|
defineRoute({
|
||||||
@ -3288,18 +3385,8 @@ pageClassOn('viewshow', "page", function () {
|
|||||||
document.documentElement.classList.remove('darkScrollbars');
|
document.documentElement.classList.remove('darkScrollbars');
|
||||||
}
|
}
|
||||||
|
|
||||||
Dashboard.ensurePageTitle(page);
|
|
||||||
|
|
||||||
var apiClient = window.ApiClient;
|
var apiClient = window.ApiClient;
|
||||||
|
|
||||||
if (apiClient && apiClient.isLoggedIn()) {
|
|
||||||
|
|
||||||
if (page.classList.contains('type-interior')) {
|
|
||||||
|
|
||||||
Dashboard.ensureToolsMenu(page);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Dashboard.ensureHeader(page);
|
Dashboard.ensureHeader(page);
|
||||||
|
|
||||||
if (apiClient && apiClient.isLoggedIn() && !apiClient.isWebSocketOpen()) {
|
if (apiClient && apiClient.isLoggedIn() && !apiClient.isWebSocketOpen()) {
|
||||||
|
@ -4,6 +4,12 @@
|
|||||||
|
|
||||||
$('#txtRemoteClientBitrateLimit', page).val((config.RemoteClientBitrateLimit / 1000000) || '');
|
$('#txtRemoteClientBitrateLimit', page).val((config.RemoteClientBitrateLimit / 1000000) || '');
|
||||||
|
|
||||||
|
ApiClient.getNamedConfiguration("channels").then(function (channelConfig) {
|
||||||
|
|
||||||
|
$('#selectChannelResolution', page).val(channelConfig.PreferredStreamingWidth || '');
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
Dashboard.hideLoadingMsg();
|
Dashboard.hideLoadingMsg();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -19,6 +25,14 @@
|
|||||||
ApiClient.updateServerConfiguration(config).then(Dashboard.processServerConfigurationUpdateResult);
|
ApiClient.updateServerConfiguration(config).then(Dashboard.processServerConfigurationUpdateResult);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
ApiClient.getNamedConfiguration("channels").then(function (config) {
|
||||||
|
|
||||||
|
// This should be null if empty
|
||||||
|
config.PreferredStreamingWidth = $('#selectChannelResolution', form).val() || null;
|
||||||
|
|
||||||
|
ApiClient.updateNamedConfiguration("channels", config).then(Dashboard.processServerConfigurationUpdateResult);
|
||||||
|
});
|
||||||
|
|
||||||
// Disable default form submission
|
// Disable default form submission
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -2,34 +2,31 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
||||||
<a href="advanced.html" data-role="button">${TabGeneral}</a>
|
<div class="detailSectionHeader" style="margin-top:2.5em;">
|
||||||
<a href="dashboardhosting.html" data-role="button">${TabHosting}</a>
|
<h3 style="margin:.6em 0;vertical-align:middle;display:inline-block;">
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabSecurity}</a>
|
${HeaderApiKeys}
|
||||||
|
</h3>
|
||||||
|
<paper-button raised class="btnNewKey submit mini" style="margin-left:1em;" title="${ButtonNew}">
|
||||||
|
<iron-icon icon="add"></iron-icon>
|
||||||
|
<span>${ButtonAdd}</span>
|
||||||
|
</paper-button>
|
||||||
|
</div>
|
||||||
|
<p>${HeaderApiKeysHelp}</p>
|
||||||
|
<br />
|
||||||
|
<table data-role="table" data-mode="reflow" class="tblApiKeys stripedTable ui-responsive table-stroke" style="display: table;">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th></th>
|
||||||
|
<th>${HeaderApiKey}</th>
|
||||||
|
<th>${HeaderApp}</th>
|
||||||
|
<th>${HeaderDevice}</th>
|
||||||
|
<th>${HeaderUser}</th>
|
||||||
|
<th>${HeaderDateIssued}</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody class="resultBody"></tbody>
|
||||||
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<div class="detailSectionHeader" style="margin-top:2.5em;">
|
|
||||||
<h3 style="margin:.6em 0;vertical-align:middle;display:inline-block;">
|
|
||||||
${HeaderApiKeys}
|
|
||||||
</h3>
|
|
||||||
<paper-button raised class="btnNewKey submit mini" style="margin-left:1em;" title="${ButtonNew}">
|
|
||||||
<iron-icon icon="add"></iron-icon>
|
|
||||||
<span>${ButtonAdd}</span>
|
|
||||||
</paper-button>
|
|
||||||
</div>
|
|
||||||
<p>${HeaderApiKeysHelp}</p>
|
|
||||||
<br />
|
|
||||||
<table data-role="table" data-mode="reflow" class="tblApiKeys stripedTable ui-responsive table-stroke" style="display: table;">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th></th>
|
|
||||||
<th>${HeaderApiKey}</th>
|
|
||||||
<th>${HeaderApp}</th>
|
|
||||||
<th>${HeaderDevice}</th>
|
|
||||||
<th>${HeaderUser}</th>
|
|
||||||
<th>${HeaderDateIssued}</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody class="resultBody"></tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
@ -3,20 +3,24 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="playbackconfiguration.html" data-role="button">${TabGeneral}</a>
|
|
||||||
<a href="cinemamodeconfiguration.html" data-role="button">${TabCinemaMode}</a>
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabStreaming}</a>
|
|
||||||
<a href="encodingsettings.html" data-role="button">${TabTranscoding}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form class="streamingSettingsForm">
|
<form class="streamingSettingsForm">
|
||||||
|
|
||||||
<ul data-role="listview" class="ulForm">
|
<ul data-role="listview" class="ulForm">
|
||||||
<li>
|
<li>
|
||||||
<paper-input type="number" id="txtRemoteClientBitrateLimit" pattern="[0-9]*" required min="0" step=".25" label="${LabelRemoteClientBitrateLimit}"></paper-input>
|
<paper-input type="number" id="txtRemoteClientBitrateLimit" pattern="[0-9]*" min="0" step=".25" label="${LabelRemoteClientBitrateLimit}"></paper-input>
|
||||||
<div class="fieldDescription">${LabelRemoteClientBitrateLimitHelp}</div>
|
<div class="fieldDescription">${LabelRemoteClientBitrateLimitHelp}</div>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<br/>
|
||||||
|
<label for="selectChannelResolution" class="selectLabel">${LabelChannelStreamQuality}</label>
|
||||||
|
<select id="selectChannelResolution" data-mini="true">
|
||||||
|
<option value="">${OptionBestAvailableStreamQuality}</option>
|
||||||
|
<option value="1920">1080p</option>
|
||||||
|
<option value="1280">720p</option>
|
||||||
|
<option value="720">480p</option>
|
||||||
|
</select>
|
||||||
|
<div class="fieldDescription">${LabelChannelStreamQualityHelp}</div>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<button type="submit" data-role="none" class="clearButton">
|
<button type="submit" data-role="none" class="clearButton">
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,25 +0,0 @@
|
|||||||
<div id="supportPage" data-role="page" class="page type-interior">
|
|
||||||
|
|
||||||
<div data-role="content">
|
|
||||||
<div class="content-primary">
|
|
||||||
<div class="readOnlyContent">
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="support.html" data-role="button" class="ui-btn-active">${TabGeneral}</a>
|
|
||||||
<a href="log.html" data-role="button">${TabLogs}</a>
|
|
||||||
<a href="supporterkey.html" data-role="button" class="tabSupporterMembership">${TabEmbyPremiere}</a>
|
|
||||||
<a href="about.html" data-role="button">${TabAbout}</a>
|
|
||||||
</div>
|
|
||||||
<p>${ProjectHasCommunity}</p>
|
|
||||||
<a data-role="button" data-icon="arrow-r" data-iconpos="right" href="http://emby.media/community" target="_blank">${VisitTheCommunity}</a>
|
|
||||||
<br />
|
|
||||||
<p>
|
|
||||||
${CheckoutKnowledgeBase}
|
|
||||||
</p>
|
|
||||||
<a data-role="button" data-icon="search" data-iconpos="right" href="http://emby.media/community/index.php?/forum/23-knowledge-base/" target="_blank">${SearchKnowledgeBase}</a>
|
|
||||||
<br />
|
|
||||||
<p>${VisitProjectWebsiteLong}</p>
|
|
||||||
<a data-role="button" data-icon="home" data-iconpos="right" href="http://emby.media" target="_blank">${VisitProjectWebsite}</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
@ -3,12 +3,6 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
<div class="readOnlyContent">
|
<div class="readOnlyContent">
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="support.html" data-role="button">${TabGeneral}</a>
|
|
||||||
<a href="log.html" data-role="button">${TabLogs}</a>
|
|
||||||
<a href="supporterkey.html" data-role="button" class="ui-btn-active tabSupporterMembership">${TabEmbyPremiere}</a>
|
|
||||||
<a href="about.html" data-role="button">${TabAbout}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<h1>${HeaderSupportTheTeam}</h1>
|
<h1>${HeaderSupportTheTeam}</h1>
|
||||||
|
@ -3,12 +3,6 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabActivity}</a>
|
|
||||||
<a href="appservices.html?context=sync" data-role="button">${TabServices}</a>
|
|
||||||
<a href="syncsettings.html" data-role="button">${TabSettings}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div style="text-align:right;margin-top:-10px;">
|
<div style="text-align:right;margin-top:-10px;">
|
||||||
<paper-button raised class="btnSync"><iron-icon icon="sync"></iron-icon><span>${ButtonConvertMedia}</span></paper-button>
|
<paper-button raised class="btnSync"><iron-icon icon="sync"></iron-icon><span>${ButtonConvertMedia}</span></paper-button>
|
||||||
<progress max="100" min="0" style="width:100px;display:none;" class="syncProgress"></progress>
|
<progress max="100" min="0" style="width:100px;display:none;" class="syncProgress"></progress>
|
||||||
|
@ -3,12 +3,6 @@
|
|||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="syncactivity.html" data-role="button" class="ui-btn-active">${TabActivity}</a>
|
|
||||||
<a href="appservices.html?context=sync" data-role="button">${TabServices}</a>
|
|
||||||
<a href="syncsettings.html" data-role="button">${TabSettings}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="readOnlyContent">
|
<div class="readOnlyContent">
|
||||||
<form class="syncJobForm"></form>
|
<form class="syncJobForm"></form>
|
||||||
<br />
|
<br />
|
||||||
|
@ -1,14 +1,8 @@
|
|||||||
<div id="syncSettingsPage" data-role="page" class="page type-interior syncConfigurationPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Sync" data-require="scripts/syncsettings,paper-checkbox,paper-input">
|
<div id="syncSettingsPage" data-role="page" class="page type-interior" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Sync" data-require="scripts/syncsettings,paper-checkbox,paper-input">
|
||||||
|
|
||||||
<div data-role="content">
|
<div data-role="content">
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
|
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
||||||
<a href="syncactivity.html" data-role="button">${TabActivity}</a>
|
|
||||||
<a href="appservices.html?context=sync" data-role="button">${TabServices}</a>
|
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabSettings}</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<form class="syncSettingsForm">
|
<form class="syncSettingsForm">
|
||||||
|
|
||||||
<ul data-role="listview" class="ulForm">
|
<ul data-role="listview" class="ulForm">
|
||||||
|
@ -198,10 +198,9 @@ body.ui-mobile-viewport,
|
|||||||
div.ui-mobile-viewport {
|
div.ui-mobile-viewport {
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* "page" containers - full-screen views, one should always be in view post-pageload */
|
/* "page" containers - full-screen views, one should always be in view post-pageload */
|
||||||
.ui-mobile [data-role=page],
|
.ui-mobile [data-role=dialog] {
|
||||||
.ui-mobile [data-role=dialog],
|
|
||||||
.ui-page {
|
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@ -210,11 +209,6 @@ div.ui-mobile-viewport {
|
|||||||
border: 0;
|
border: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* "page" containers - full-screen views, one should always be in view post-pageload */
|
|
||||||
.ui-mobile [data-role=dialog] {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* On ios4, setting focus on the page element causes flashing during transitions when there is an outline, so we turn off outlines */
|
/* On ios4, setting focus on the page element causes flashing during transitions when there is an outline, so we turn off outlines */
|
||||||
.ui-page {
|
.ui-page {
|
||||||
outline: none;
|
outline: none;
|
||||||
|
@ -184,10 +184,6 @@ paper-button.notext {
|
|||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.promptDialogContent paper-button {
|
|
||||||
color: #43A047;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*paper-toast {
|
/*paper-toast {
|
||||||
background-color: #eee;
|
background-color: #eee;
|
||||||
color: #000;
|
color: #000;
|
||||||
|
Loading…
Reference in New Issue
Block a user