emby 4.8
This commit is contained in:
105
livetvsetup/advancedtab.html
Normal file
105
livetvsetup/advancedtab.html
Normal file
@@ -0,0 +1,105 @@
|
||||
<div is="emby-scroller" data-horizontal="false" data-focusscroll="true" data-navcommands="card" data-forcescrollbar="true" class="scrollFrameY flex flex-grow" data-bindheader="true">
|
||||
<div class="scrollSlider flex-grow padded-top-page padded-left padded-right">
|
||||
<div class="readOnlyContent auto-center padded-top">
|
||||
|
||||
<form class="liveTvSettingsForm">
|
||||
<div class="selectContainer">
|
||||
<select is="emby-select" class="selectGuideDays" label="${LabelNumberOfGuideDays}">
|
||||
<option value="">${Auto}</option>
|
||||
<option value="1">1</option>
|
||||
<option value="2">2</option>
|
||||
<option value="3">3</option>
|
||||
<option value="4">4</option>
|
||||
<option value="5">5</option>
|
||||
<option value="6">6</option>
|
||||
<option value="7">7</option>
|
||||
<option value="8">8</option>
|
||||
<option value="9">9</option>
|
||||
<option value="10">10</option>
|
||||
<option value="11">11</option>
|
||||
<option value="12">12</option>
|
||||
<option value="13">13</option>
|
||||
<option value="14">14</option>
|
||||
</select>
|
||||
<div class="fieldDescription">${LabelNumberOfGuideDaysHelp}</div>
|
||||
</div>
|
||||
<div class="checkboxContainer checkboxContainer-withDescription fldWakeServer hide">
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkWakeServer" />
|
||||
<span>${LabelAutomaticallyWakeServerForRecordings}</span>
|
||||
</label>
|
||||
<div class="fieldDescription checkboxFieldDescription">${LabelAutomaticallyWakeServerForRecordingsHelp}</div>
|
||||
</div>
|
||||
<div class="inputContainer">
|
||||
<div class="flex align-items-center">
|
||||
<div class="flex-grow">
|
||||
<input is="emby-input" class="txtRecordingPath" label="${LabelRecordingPath}" autocomplete="off" />
|
||||
</div>
|
||||
<button type="button" is="paper-icon-button-light" title="${ButtonSelectDirectory}" aria-label="${ButtonSelectDirectory}" class="btnSelectRecordingPath emby-input-iconbutton"><i class="md-icon">search</i></button>
|
||||
</div>
|
||||
<div class="fieldDescription">${LabelRecordingPathHelp}</div>
|
||||
</div>
|
||||
<div class="inputContainer">
|
||||
<div class="flex align-items-center">
|
||||
<div class="flex-grow">
|
||||
<input is="emby-input" class="txtMovieRecordingPath" label="${LabelMovieRecordingPath}" autocomplete="off" />
|
||||
</div>
|
||||
<button type="button" is="paper-icon-button-light" title="${ButtonSelectDirectory}" aria-label="${ButtonSelectDirectory}" class="btnSelectMovieRecordingPath emby-input-iconbutton"><i class="md-icon">search</i></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inputContainer">
|
||||
<div class="flex align-items-center">
|
||||
<div class="flex-grow">
|
||||
<input is="emby-input" class="txtSeriesRecordingPath" label="${LabelSeriesRecordingPath}" autocomplete="off" />
|
||||
</div>
|
||||
<button type="button" is="paper-icon-button-light" title="${ButtonSelectDirectory}" aria-label="${ButtonSelectDirectory}" class="btnSelectSeriesRecordingPath emby-input-iconbutton"><i class="md-icon">search</i></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="verticalSection">
|
||||
<h2 class="sectionTitle">${HeaderDefaultRecordingSettings}</h2>
|
||||
<div class="inputContainer">
|
||||
<div class="flex align-items-center">
|
||||
<div class="flex-grow">
|
||||
<input is="emby-input" type="number" class="txtPrePaddingMinutes" pattern="[0-9]*" required="required" min="-15" step="1" label="${LabelStartWhenPossible}" />
|
||||
</div>
|
||||
<div class="fieldDescription" style="margin:1.7em .25em 0;font-size:90%;">
|
||||
${MinutesBefore}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inputContainer">
|
||||
<div class="flex align-items-center">
|
||||
<div class="flex-grow">
|
||||
<input is="emby-input" type="number" class="txtPostPaddingMinutes" pattern="[0-9]*" required="required" min="-15" step="1" label="${LabelStopWhenPossible}" />
|
||||
</div>
|
||||
<div class="fieldDescription" style="margin:1.7em .25em 0;font-size:90%;">
|
||||
${MinutesAfter}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="verticalSection">
|
||||
<h2 class="sectionTitle">${HeaderRecordingPostProcessing}</h2>
|
||||
<div class="inputContainer">
|
||||
<div class="flex align-items-center">
|
||||
<div class="flex-grow">
|
||||
<input is="emby-input" type="text" class="txtPostProcessor" label="${LabelPostProcessor}" />
|
||||
</div>
|
||||
<button type="button" is="paper-icon-button-light" class="btnSelectPostProcessorPath emby-input-iconbutton"><i class="md-icon">search</i></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inputContainer">
|
||||
<input is="emby-input" type="text" class="txtPostProcessorArguments" label="${LabelPostProcessorArguments}" />
|
||||
<div class="fieldDescription">${PostProcessorArgumentsHelp}</div>
|
||||
<div class="fieldDescription postProcessorArgument">${DvrPostProcessorPathArgument}</div>
|
||||
<div class="fieldDescription extraPostProcessingArgs hide"></div>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div>
|
||||
<button is="emby-button" type="submit" class="raised button-submit block"><span>${Save}</span></button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
1
livetvsetup/advancedtab.js
Normal file
1
livetvsetup/advancedtab.js
Normal file
File diff suppressed because one or more lines are too long
1
livetvsetup/channelstab.js
Normal file
1
livetvsetup/channelstab.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./../modules/tabbedview/itemstab.js","./../modules/emby-elements/emby-input/emby-input.js","./../modules/emby-elements/emby-button/emby-button.js","./../modules/emby-elements/emby-checkbox/emby-checkbox.js","./../modules/emby-elements/emby-select/emby-select.js","./../modules/layoutmanager.js","./../modules/commandprocessor.js"],function(_exports,_itemstab,_embyInput,_embyButton,_embyCheckbox,_embySelect,_layoutmanager,_commandprocessor){function LiveTVSetupView(view,params){params.serverId=ApiClient.serverId(),this.supportsViewSettings=!1,this.enableTotalRecordCountDisplay=!1,_itemstab.default.apply(this,arguments)}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,Object.assign(LiveTVSetupView.prototype,_itemstab.default.prototype),LiveTVSetupView.prototype.onResume=function(options){_itemstab.default.prototype.onResume.apply(this,arguments)},LiveTVSetupView.prototype.onPause=function(){_itemstab.default.prototype.onPause.apply(this,arguments)},LiveTVSetupView.prototype.getApiClientQueryMethodName=function(){return"getLiveTvChannelsForManagement"},LiveTVSetupView.prototype.getBaseListRendererOptions=function(){var options=_itemstab.default.prototype.getBaseListRendererOptions.apply(this,arguments);return options.multiSelect=!1,options},LiveTVSetupView.prototype.getBaseListRendererOptions=function(){var options=_itemstab.default.prototype.getBaseListRendererOptions.apply(this,arguments);return options.action=_layoutmanager.default.tv?"menu":"custom",options},LiveTVSetupView.prototype.getListViewOptions=function(items,settings){var options=_itemstab.default.prototype.getListViewOptions.apply(this,arguments),enableDragReordering=!this.getQueryInfo().hasFilters;return Object.assign(options,{fields:["Name","ItemCheckbox","MappedChannelInfo"],draggable:enableDragReordering,dragHandle:enableDragReordering,image:!0,roundCheckbox:!0,checkboxAction:"togglechanneldisabled"})},LiveTVSetupView.prototype.getCardOptions=function(items,settings){var options=_itemstab.default.prototype.getCardOptions.apply(this,arguments);return Object.assign(options,{draggable:!1,fields:["Name"]})},LiveTVSetupView.prototype.getSettingsKey=function(){return"managechannels"},LiveTVSetupView.prototype.getSortMenuOptions=function(){return[]},LiveTVSetupView.prototype.getDefaultSorting=function(){return{sortBy:"DefaultChannelOrder",sortOrder:"Ascending"}},LiveTVSetupView.prototype.getVisibleFilters=function(){return["ChannelMappingStatus"]},LiveTVSetupView.prototype.getItemTypes=function(){return["ChannelManagementInfo"]},LiveTVSetupView.prototype.setTitle=function(){},LiveTVSetupView.prototype.getViewSettingDefaults=function(){var viewSettings=_itemstab.default.prototype.getViewSettingDefaults.apply(this,arguments);return viewSettings.imageType="list",viewSettings},LiveTVSetupView.prototype.loadTemplate=function(){return this.loadItemsTemplate()},LiveTVSetupView.prototype.onTemplateLoaded=function(){_itemstab.default.prototype.onTemplateLoaded.apply(this,arguments);var itemsContainer=this.itemsContainer;itemsContainer.setAttribute("data-monitor","ChannelManagementInfoUpdated"),itemsContainer.addEventListener("action-null",function(e){var item=e.detail.item;item.Disabled||_commandprocessor.default.executeCommand("edit",[item],{}).then(function(){e.target.closest(".itemsContainer").notifyRefreshNeeded(!0)})}.bind(this))},_exports.default=LiveTVSetupView});
|
||||
22
livetvsetup/guideprovider.html
Normal file
22
livetvsetup/guideprovider.html
Normal file
@@ -0,0 +1,22 @@
|
||||
<div is="emby-scroller" class="view flex flex-direction-column scrollFrameY flex-grow" data-mousewheel="true" data-horizontal="false" data-forcescrollbar="true" data-focusscroll="true" data-bindheader="true">
|
||||
<div class="scrollSlider flex-grow flex-direction-column padded-left padded-left-page padded-right padded-top-page padded-bottom-page settingsContainer">
|
||||
<form class="auto-center">
|
||||
|
||||
<h2>
|
||||
${HeaderGuideDataSetup}
|
||||
</h2>
|
||||
|
||||
<div class="selectContainer">
|
||||
<select is="emby-select" class="selectCountry" data-mini="true" required="required" label="${LabelCountry}"></select>
|
||||
</div>
|
||||
<div class="selectContainer fldGuideProvider hide">
|
||||
<select is="emby-select" class="selectProvider" data-mini="true" required="required" label="${LabelGuideSource}"></select>
|
||||
</div>
|
||||
|
||||
<div class="flex justify-content-flex-end">
|
||||
<button is="emby-button" type="submit" class="raised button-submit btnSubmit"><span>${Next}</span><i class="md-icon button-icon button-icon-right autortl"></i></button>
|
||||
<button is="emby-button" type="button" class="raised button-cancel btnCancel"><span>${Cancel}</span></button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
1
livetvsetup/guideprovider.js
Normal file
1
livetvsetup/guideprovider.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./../modules/viewmanager/basesettingsview.js","./../modules/loading/loading.js","./../modules/emby-elements/emby-select/emby-select.js","./../modules/approuter.js"],function(_exports,_basesettingsview,_loading,_embySelect,_approuter){function onCountryChange(){var country=this.value,fldGuideProvider=this.closest("FORM").querySelector(".fldGuideProvider"),selectProvider=(country?fldGuideProvider.classList.remove("hide"):(fldGuideProvider.classList.add("hide"),_loading.default.hide()),fldGuideProvider.querySelector(".selectProvider"));selectProvider.innerHTML="",country&&(_loading.default.show(),ApiClient.getJSON(ApiClient.getUrl("LiveTv/ListingProviders/Available",{Country:country})).then(function(options){!function(select,options){select.innerHTML='<option value=""></option>'+options.map(function(o){return'<option data-url="'+o.SetupUrl+'" value="'+o.Id+'">'+o.Name+"</option>"}).join("")}(selectProvider,options),_loading.default.hide()}))}function cancel(){_approuter.default.back()}function onSubmit(e){var selectProvider=this.querySelector(".selectProvider"),country=this.querySelector(".selectCountry").value,selectProvider=selectProvider.options[selectProvider.selectedIndex].getAttribute("data-url");selectProvider.includes("?")?selectProvider+="&":selectProvider+="?",_approuter.default.show(selectProvider+="country="+country),e.preventDefault(),e.stopPropagation()}function View(view,params){_basesettingsview.default.apply(this,arguments),view.querySelector("form").addEventListener("submit",onSubmit),view.querySelector(".btnCancel").addEventListener("click",cancel),view.querySelector(".selectCountry").addEventListener("change",onCountryChange)}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,Object.assign(View.prototype,_basesettingsview.default.prototype),View.prototype.loadSettingsInternal=function(){var select,selectCountry=this.view.querySelector(".selectCountry");return select=selectCountry,ApiClient.getCountries().then(function(allCountries){var html="";html+="<option value=''></option>";for(var i=0,length=allCountries.length;i<length;i++){var culture=allCountries[i];html+="<option value='"+culture.ThreeLetterISORegionName+"'>"+culture.DisplayName+"</option>"}select.innerHTML=html})},_exports.default=View});
|
||||
12
livetvsetup/livetvsetup.html
Normal file
12
livetvsetup/livetvsetup.html
Normal file
@@ -0,0 +1,12 @@
|
||||
<div class="view flex flex-direction-column withTabs">
|
||||
|
||||
<div class="tabContent tabContent-positioned flex flex-grow" data-index="0">
|
||||
</div>
|
||||
|
||||
<div class="tabContent tabContent-positioned flex flex-grow" data-index="1">
|
||||
</div>
|
||||
|
||||
<div class="tabContent tabContent-positioned flex flex-grow" data-index="2">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
1
livetvsetup/livetvsetup.js
Normal file
1
livetvsetup/livetvsetup.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./../modules/common/globalize.js","./../modules/tabbedview/tabbedview.js"],function(_exports,_globalize,_tabbedview){function LiveTVSetupView(view,params){_tabbedview.default.call(this,view,params),this.apiClient=ApiClient}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,Object.assign(LiveTVSetupView.prototype,_tabbedview.default.prototype),LiveTVSetupView.prototype.getTabs=function(){return[{name:_globalize.default.translate("Setup"),id:"setup"},{name:_globalize.default.translate("Channels"),id:"channels"},{name:_globalize.default.translate("Advanced"),id:"advanced"}]},LiveTVSetupView.prototype.loadTabController=function(id){return Emby.importModule("./livetvsetup/"+id+"tab.js")},LiveTVSetupView.prototype.destroy=function(){_tabbedview.default.prototype.destroy.apply(this,arguments),this.apiClient=null},_exports.default=LiveTVSetupView});
|
||||
69
livetvsetup/livetvtuner.html
Normal file
69
livetvsetup/livetvtuner.html
Normal file
@@ -0,0 +1,69 @@
|
||||
<div is="emby-scroller" class="view flex flex-direction-column scrollFrameY flex-grow" data-mousewheel="true" data-horizontal="false" data-forcescrollbar="true" data-focusscroll="true" data-bindheader="true">
|
||||
<div class="scrollSlider flex-grow flex-direction-column padded-left padded-left-page padded-right padded-top-page padded-bottom-page settingsContainer">
|
||||
<form class="auto-center">
|
||||
<div class="verticalSection">
|
||||
|
||||
<div class="padded-bottom">
|
||||
<h3 class="typeName" style="margin-bottom:0;"></h3>
|
||||
</div>
|
||||
|
||||
<button is="emby-button" type="button" class="raised button-cancel block btnDetect hide" style="margin-bottom:2em;">${HeaderDetectMyDevices}</button>
|
||||
|
||||
<div class="inputContainer fldFriendlyName hide">
|
||||
<input is="emby-input" type="text" class="txtFriendlyName" label="${LabelFriendlyName}" autocomplete="off" />
|
||||
</div>
|
||||
|
||||
<div class="inputContainer fldPath hide">
|
||||
<div class="flex align-items-center">
|
||||
<div class="flex-grow">
|
||||
<input is="emby-input" type="text" class="txtDevicePath" label="${LabelFileOrUrl}" required="required" autocomplete="off" />
|
||||
</div>
|
||||
<button type="button" is="paper-icon-button-light" class="btnSelectPath hide emby-input-iconbutton"><i class="md-icon">search</i></button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="inputContainer fldUserAgent">
|
||||
<input is="emby-input" type="text" class="txtUserAgent" label="${LabelUserAgentHeader}" autocomplete="off" />
|
||||
<div class="fieldDescription">${SupplyCustomValueIfNeeded}</div>
|
||||
</div>
|
||||
|
||||
<div class="inputContainer fldReferrer">
|
||||
<input is="emby-input" type="text" class="txtReferrer" label="${LabelReferrerHeader}" autocomplete="off" />
|
||||
<div class="fieldDescription">${SupplyCustomValueIfNeeded}</div>
|
||||
</div>
|
||||
|
||||
<div class="inputContainer fldTunerCount hide">
|
||||
<input is="emby-input" type="number" pattern="[0-9]*" required="required" min="0" step="1" class="txtTunerCount" label="${LabelSimultaneousConnectionLimit}" autocomplete="off" value="0" />
|
||||
<div class="fieldDescription">${SimultaneousConnectionLimitHelp}</div>
|
||||
</div>
|
||||
|
||||
<div class="checkboxContainer checkboxContainer-withDescription fldFavorites hide">
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkFavorite" />
|
||||
<span>${LabelImportOnlyFavoriteChannels}</span>
|
||||
</label>
|
||||
<div class="fieldDescription checkboxFieldDescription">${ImportFavoriteChannelsHelp}</div>
|
||||
</div>
|
||||
<div class="checkboxContainer checkboxContainer-withDescription fldTranscode hide">
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkTranscode" />
|
||||
<span>${LabelAllowHWTranscoding}</span>
|
||||
</label>
|
||||
<div class="fieldDescription checkboxFieldDescription">${AllowHWTranscodingHelp}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p class="drmMessage hide">${DrmChannelsNotImported}</p>
|
||||
|
||||
<div>
|
||||
<input type="hidden" class="fldDeviceId" />
|
||||
<button is="emby-button" type="submit" class="raised button-submit block">
|
||||
<span class="saveButtonText"></span>
|
||||
</button>
|
||||
<button is="emby-button" type="button" class="raised button-cancel block btnCancel">
|
||||
<span>${Cancel}</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
1
livetvsetup/livetvtuner.js
Normal file
1
livetvsetup/livetvtuner.js
Normal file
File diff suppressed because one or more lines are too long
41
livetvsetup/setuptab.html
Normal file
41
livetvsetup/setuptab.html
Normal file
@@ -0,0 +1,41 @@
|
||||
<div is="emby-scroller" data-horizontal="false" data-focusscroll="true" data-navcommands="card" data-forcescrollbar="true" class="scrollFrameY flex flex-grow" data-bindheader="true">
|
||||
<div class="scrollSlider flex-grow padded-top-page padded-left padded-right">
|
||||
|
||||
<div class="verticalSection padded-bottom padded-top premiereInfo sectionTitle-cards" style="margin-top:0;">
|
||||
|
||||
</div>
|
||||
|
||||
<div class="verticalSection">
|
||||
<div class="sectionTitleContainer sectionTitleContainer-cards">
|
||||
<h2 class="sectionTitle sectionTitle-cards">
|
||||
<span>${HeaderTVSources}</span>
|
||||
</h2>
|
||||
<button is="emby-button" type="button" class="raised raised-mini btnAddDevice submit sectionTitleButton">
|
||||
<i class="md-icon button-icon button-icon button-icon-left"></i>
|
||||
<span>${HeaderAddTvSource}</span>
|
||||
</button>
|
||||
|
||||
<button is="emby-button" type="button" class="raised raised-mini btnRefresh button-cancel sectionTitleButton">
|
||||
<i class="md-icon button-icon button-icon-left">refresh</i>
|
||||
<span>${ButtonRefreshGuideData}</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="devicesList itemsContainer vertical-wrap itemsContainer-defaultCardSize" is="emby-itemscontainer" style="margin-top: .5em;" data-monitor="LiveTVTunerDevices"></div>
|
||||
</div>
|
||||
|
||||
<div class="verticalSection">
|
||||
<div class="sectionTitleContainer sectionTitleContainer-cards flex align-items-center flex-wrap-wrap">
|
||||
<h2 class="sectionTitle sectionTitle-cards">${HeaderGuideProviders}</h2>
|
||||
<button is="emby-button" type="button" class="raised raised-mini btnAddProvider submit sectionTitleButton">
|
||||
<i class="md-icon button-icon button-icon button-icon-left"></i>
|
||||
<span>${HeaderAddGuideSource}</span>
|
||||
</button>
|
||||
|
||||
|
||||
<div class="refreshGuideProgress itemProgressBar itemProgressBarRound hide sectionTitleButton" style="width:10em;height:.4em;"></div>
|
||||
</div>
|
||||
|
||||
<div class="providerList itemsContainer vertical-wrap" is="emby-itemscontainer" style="margin-top: .5em;" data-monitor="LiveTVGuideSources"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
1
livetvsetup/setuptab.js
Normal file
1
livetvsetup/setuptab.js
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user