emby 4.8
This commit is contained in:
59
startup/connectlogin.html
Normal file
59
startup/connectlogin.html
Normal file
@@ -0,0 +1,59 @@
|
||||
<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-right padded-top-page padded-bottom-page">
|
||||
|
||||
<div class="readOnlyContent" style="margin:0 auto;">
|
||||
|
||||
<h1 style="margin-top:0;">${HeaderSignInWithConnect}</h1>
|
||||
|
||||
<p>${ConnectLoginHelp1}</p>
|
||||
|
||||
<div class="pinLogin hide">
|
||||
<p class="pinCodeHeader"></p>
|
||||
<h1 class="pinCodeValue" style="text-align: center;"></h1>
|
||||
<p class="pinMessage hide" style="text-align: center; margin: -1em auto 2em; color: orange; width: 70%;"></p>
|
||||
|
||||
<button is="emby-button" class="raised block btnNewPin"><span>${ButtonGenerateNewPin}</span></button>
|
||||
</div>
|
||||
|
||||
<form class="manualLoginForm hide">
|
||||
|
||||
<div style="height:0; overflow: hidden;"><input type="text" name="fakeusernameremembered" tabindex="-1" /><input type="password" name="fakepasswordremembered" tabindex="-1" /></div>
|
||||
|
||||
<div class="inputContainer">
|
||||
<input is="emby-input" type="text" class="txtUser" required="required" label="${LabelEmail}" />
|
||||
<div class="fieldDescription">${LabelEnterConnectUserNameHelp}</div>
|
||||
</div>
|
||||
<div class="inputContainer">
|
||||
<input is="emby-input" type="password" class="txtPassword" required="required" label="${LabelPassword}" />
|
||||
</div>
|
||||
<button is="emby-button" type="submit" class="raised accent block">
|
||||
<span>${HeaderSignIn}</span>
|
||||
</button>
|
||||
|
||||
<a is="emby-linkbutton" class="raised cancel block btnForgotPassword hide" target="_blank" href="https://emby.media/community/index.php?/lostpassword" data-autohide="true">
|
||||
<span>${HeaderForgotPassword}</span>
|
||||
</a>
|
||||
|
||||
<div class="terms hide fieldDescription" style="margin-top: 2em; color: #ccc;"></div>
|
||||
</form>
|
||||
|
||||
<div class="skip" style="text-align: center;">
|
||||
<button is="emby-button" class="raised block btnSkipConnect">
|
||||
<span>${Skip}</span>
|
||||
</button>
|
||||
<div class="fieldDescription">${ConnectToServerManually}</div>
|
||||
</div>
|
||||
|
||||
<div style="margin-top: 1.5em;">
|
||||
<!-- The new user section is not needed for the pin login because the pin page has a signup link. Keep this around for when manual connect login is added. -->
|
||||
<div class="hide newUsers">
|
||||
<h2 style="margin-bottom:0;">${HeaderNewUsers}</h2>
|
||||
<a is="emby-linkbutton" class="raised cancel block btnSignup" href="https://emby.media/community/index.php?/register" target="_blank">
|
||||
<span>${HeaderSignUp}</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="terms fieldDescription" style="margin-top: .5em;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
1
startup/connectlogin.js
Normal file
1
startup/connectlogin.js
Normal file
File diff suppressed because one or more lines are too long
32
startup/connectsignup.html
Normal file
32
startup/connectsignup.html
Normal file
@@ -0,0 +1,32 @@
|
||||
<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-right padded-top-page padded-bottom-page">
|
||||
|
||||
<form style="margin: 0 auto;">
|
||||
|
||||
<h1 style="margin-top:0;">${HeaderSignUp}</h1>
|
||||
|
||||
<div class="inputContainer">
|
||||
<input is="emby-input" type="email" class="txtSignupEmail" required="required" label="${LabelEmail}" />
|
||||
</div>
|
||||
<div class="inputContainer">
|
||||
<input is="emby-input" type="text" class="txtSignupUsername" required="required" label="${LabelUsername}" />
|
||||
</div>
|
||||
<div class="inputContainer">
|
||||
<input is="emby-input" type="password" class="txtSignupPassword" required="required" label="${LabelPassword}" autocomplete="off" />
|
||||
</div>
|
||||
<div class="inputContainer">
|
||||
<input is="emby-input" type="password" class="txtSignupPasswordConfirm" required="required" label="${LabelPasswordConfirm}" autocomplete="off" />
|
||||
</div>
|
||||
|
||||
<div class="recaptchaContainer"></div>
|
||||
<br />
|
||||
|
||||
<button is="emby-button" type="submit" class="raised accent block">
|
||||
<span>${HeaderSignUp}</span>
|
||||
</button>
|
||||
<button is="emby-button" type="button" class="raised cancel block btnCancelSignup">
|
||||
<span>${Cancel}</span>
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
1
startup/connectsignup.js
Normal file
1
startup/connectsignup.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./../modules/viewmanager/baseview.js","./../modules/loading/loading.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/emby-elements/emby-scroller/emby-scroller.js","./../modules/common/globalize.js","./../modules/emby-apiclient/connectionmanager.js","./../modules/approuter.js"],function(_exports,_baseview,_loading,_embyInput,_embyButton,_embyCheckbox,_embySelect,_embyScroller,_globalize,_connectionmanager,_approuter){function showAlert(options){return Emby.importModule("./modules/common/dialogs/alert.js").then(function(alert){return alert(options)})}function View(view,params){var greWidgetId;_baseview.default.apply(this,arguments),view.querySelector(".btnCancelSignup").addEventListener("click",function(){_approuter.default.back()}),view.querySelector("form").addEventListener("submit",function(e){_loading.default.show();var greResponse=greWidgetId?grecaptcha.getResponse(greWidgetId):null;return function(view,greResponse){view={email:view.querySelector(".txtSignupEmail",view).value,username:view.querySelector(".txtSignupUsername",view).value,password:view.querySelector(".txtSignupPassword",view).value,passwordConfirm:view.querySelector(".txtSignupPasswordConfirm",view).value},greResponse&&(view.grecaptcha=greResponse),_connectionmanager.default.signupForConnect(view).then(function(response){_loading.default.hide();function onAlertDismissed(){_approuter.default.showConnectLogin()}showAlert({text:response.Validated?_globalize.default.translate("MessageThankYouForConnectSignUpNoValidation"):_globalize.default.translate("MessageThankYouForConnectSignUp")}).then(onAlertDismissed,onAlertDismissed)},function(result){_loading.default.hide(),"passwordmatch"===result.errorCode?showAlert({text:_globalize.default.translate("ErrorMessagePasswordNotMatchConfirm")}):"USERNAME_IN_USE"===result.errorCode?showAlert({text:_globalize.default.translate("ErrorMessageUsernameInUse")}):"EMAIL_IN_USE"===result.errorCode?showAlert({text:_globalize.default.translate("ErrorMessageEmailInUse")}):showAlert({text:_globalize.default.translate("DefaultErrorMessage")})})}(view,greResponse),e.preventDefault(),e.stopPropagation(),!1}),0===window.location.href.toLowerCase().indexOf("https://")&&require(["https://www.google.com/recaptcha/api.js?render=explicit"],function(){setTimeout(function(){var recaptchaContainer=view.querySelector(".recaptchaContainer");greWidgetId=grecaptcha.render(recaptchaContainer,{sitekey:"6Le2LAgTAAAAAK06Wvttt_yUnbISTy6q3Azqp9po",theme:"dark"})},100)})}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,require(["material-icons"]),Object.assign(View.prototype,_baseview.default.prototype),_exports.default=View});
|
||||
23
startup/forgotpassword.html
Normal file
23
startup/forgotpassword.html
Normal file
@@ -0,0 +1,23 @@
|
||||
<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-right padded-top-page padded-bottom-page">
|
||||
<form style="margin:0 auto;">
|
||||
|
||||
<h1 style="margin-top:0;">${HeaderForgotPassword}</h1>
|
||||
|
||||
<div class="inputContainer">
|
||||
<input is="emby-input" type="text" id="txtName" label="${LabelUsername}" autocomplete="off" />
|
||||
<div class="fieldDescription">${ForgotPasswordUsernameHelp}</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<button is="emby-button" type="submit" class="raised submit block">
|
||||
<span>${Submit}</span>
|
||||
</button>
|
||||
|
||||
<button is="emby-button" type="button" class="raised cancel block btnCancel">
|
||||
<span>${Cancel}</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
1
startup/forgotpassword.js
Normal file
1
startup/forgotpassword.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./../modules/viewmanager/baseview.js","./../modules/common/globalize.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-scroller/emby-scroller.js","./../modules/emby-apiclient/connectionmanager.js","./../modules/approuter.js","./../modules/common/servicelocator.js"],function(_exports,_baseview,_globalize,_embyInput,_embyButton,_embyCheckbox,_embyScroller,_connectionmanager,_approuter,_servicelocator){function onBackClick(){_approuter.default.back()}function showAlert(options){Emby.importModule("./modules/common/dialogs/alert.js").then(function(alert){return alert(options)})}function processForgotPasswordResult(result){var msg,supportsLinks;"ContactAdmin"===result.Action?showAlert({text:_globalize.default.translate("ContactAdminToResetPassword"),title:_globalize.default.translate("HeaderForgotPassword")}):"InNetworkRequired"===result.Action?showAlert({text:_globalize.default.translate("ForgotPasswordInNetworkRequired"),title:_globalize.default.translate("HeaderForgotPassword")}):"PinCode"===result.Action&&(msg=_globalize.default.translate("ForgotPasswordFileCreated"),msg+="<p>",(supportsLinks=_servicelocator.appHost.supports("targetblank")&&_servicelocator.appHost.supports("externallinks"))&&(msg+='<a href="https://emby.media/support/articles/Server-Data-Folder.html" target="_blank" is="emby-linkbutton" class="button-link">'),msg+=result.PinFile,supportsLinks&&(msg+="</a>"),showAlert({html:msg+="</p>",title:_globalize.default.translate("HeaderForgotPassword"),centerText:!1}))}function View(view,params){_baseview.default.apply(this,arguments),view.querySelector(".btnCancel").addEventListener("click",onBackClick),view.querySelector("form").addEventListener("submit",function(e){var apiClient=_connectionmanager.default.getApiClient(params.serverId);return apiClient.ajax({type:"POST",url:apiClient.getUrl("Users/ForgotPassword"),dataType:"json",data:{EnteredUsername:view.querySelector("#txtName").value}}).then(processForgotPasswordResult),e.preventDefault(),!1})}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,Object.assign(View.prototype,_baseview.default.prototype),_exports.default=View});
|
||||
22
startup/forgotpasswordpin.html
Normal file
22
startup/forgotpasswordpin.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-right padded-top-page padded-bottom-page">
|
||||
<form style="margin:0 auto;">
|
||||
|
||||
<h1 style="margin-top:0;">${HeaderPasswordReset}</h1>
|
||||
|
||||
<div class="inputContainer">
|
||||
<input is="emby-input" type="text" id="txtPin" label="${LabelPinCode}" autocomplete="off" required="required" />
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<button is="emby-button" type="submit" class="raised submit block">
|
||||
<span>${Submit}</span>
|
||||
</button>
|
||||
|
||||
<button is="emby-button" type="button" class="raised cancel block btnCancel">
|
||||
<span>${Cancel}</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
1
startup/forgotpasswordpin.js
Normal file
1
startup/forgotpasswordpin.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./../modules/viewmanager/baseview.js","./../modules/common/globalize.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/emby-elements/emby-scroller/emby-scroller.js","./../modules/emby-apiclient/connectionmanager.js","./../modules/approuter.js"],function(_exports,_baseview,_globalize,_embyInput,_embyButton,_embyCheckbox,_embySelect,_embyScroller,_connectionmanager,_approuter){function onBackClick(){_approuter.default.back()}function showAlert(options){return Emby.importModule("./modules/common/dialogs/alert.js").then(function(alert){return alert(options)})}function onPasswordReset(){_approuter.default.beginConnectionWizard()}function processForgotPasswordResult(result){result.UsersReset.length?result.Success?showAlert({html:_globalize.default.translate("PasswordResetForUsers")+"<br/>"+"<br/>"+result.UsersReset.join("<br/>"),title:_globalize.default.translate("HeaderPasswordReset")}).then(onPasswordReset):showAlert({text:_globalize.default.translate("InvalidForgotPasswordPin"),title:_globalize.default.translate("HeaderPasswordReset")}):showAlert({text:_globalize.default.translate("ForgotPasswordNoUserFound"),title:_globalize.default.translate("HeaderPasswordReset")})}function View(view,params){_baseview.default.apply(this,arguments),view.querySelector(".btnCancel").addEventListener("click",onBackClick),view.querySelector("form").addEventListener("submit",function(e){var apiClient=_connectionmanager.default.currentApiClient();return apiClient.ajax({type:"POST",url:apiClient.getUrl("Users/ForgotPassword/Pin"),dataType:"json",data:{Pin:view.querySelector("#txtPin").value}}).then(processForgotPasswordResult),e.preventDefault(),!1})}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,Object.assign(View.prototype,_baseview.default.prototype),_exports.default=View});
|
||||
1
startup/login.js
Normal file
1
startup/login.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./../list/list.js","./../modules/common/globalize.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-scroller/emby-scroller.js","./../modules/emby-apiclient/connectionmanager.js","./../modules/approuter.js","./../modules/common/servicelocator.js","./startuphelper.js"],function(_exports,_list,_globalize,_embyInput,_embyButton,_embyCheckbox,_embyScroller,_connectionmanager,_approuter,_servicelocator,_startuphelper){function setItemProperies(server){}function addItems(items,serverId){items.push({Name:_globalize.default.translate("HeaderManualLogin"),Type:"ManualLogin",ServerId:serverId}),items.push({Name:_globalize.default.translate("HeaderForgotPassword"),Type:"ForgotPassword",ServerId:serverId}),_servicelocator.appHost.supports("multiserver")&&items.push({Name:_globalize.default.translate("HeaderChangeServer"),Type:"SelectServer"})}function onCardAction(e){e=e.detail.item;"User"!==e.Type?_approuter.default.showItem(e):function(item){item.HasPassword?_approuter.default.showItem({Type:"ManualLogin",ServerId:item.ServerId,Username:item.Name}):_startuphelper.default.authenticateUser(item.ServerId,item.Name)}(e)}function LoginPage(view,params){this.enableAlphaNumericShortcuts=!1,this.enableTotalRecordCountDisplay=!1,this.supportsViewSettings=!1,_list.default.call(this,view,params),view.querySelector(".itemsContainer").addEventListener("action-null",onCardAction.bind(this)),function(view){view.querySelector(".scrollSlider").insertAdjacentHTML("afterbegin",'<h1 style="text-align:center;margin: 0 0 .5em;">'+_globalize.default.translate("HeaderPleaseSignIn")+"</h1>")}(view),function(view,apiClient){_servicelocator.appHost.supports("multiserver")||apiClient.getJSON(apiClient.getUrl("Branding/Configuration")).then(function(options){var elem;options.LoginDisclaimer&&((elem=document.createElement("div")).classList.add("disclaimer"),elem.textContent=options.LoginDisclaimer||"",elem.style.textAlign="center",elem.classList.add("padded-bottom","padded-bottom-page","padded-top"),(options=view.querySelector(".scrollSlider")).insertAdjacentHTML("afterbegin",'<h1 style="text-align:center;margin-top:0;">'+_globalize.default.translate("HeaderPleaseSignIn")+"</h1>"),options.appendChild(elem),view.querySelector(".itemsContainer").classList.remove("padded-bottom-page"))})}(view,_connectionmanager.default.getApiClient(params.serverId))}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,require(["material-icons"]),Object.assign(LoginPage.prototype,_list.default.prototype),LoginPage.prototype.getSortMenuOptions=function(){return[]},LoginPage.prototype.getItemTypes=function(){return["User"]},LoginPage.prototype.getItems=function(query){var serverId=this.params.serverId,apiClient=_connectionmanager.default.getApiClient(serverId),specialItems=[],numSpecialItems=(addItems(specialItems,serverId),specialItems.length);return apiClient.getPublicUsersQueryResult(query).then(function(result){return result.Items.forEach(setItemProperies),result.Items.length<query.Limit&&addItems(result.Items,serverId),!1!==query.EnableTotalRecordCount&&(result.TotalRecordCount+=numSpecialItems),result})},LoginPage.prototype.setTitle=function(){},LoginPage.prototype.getBaseListRendererOptions=function(){var options=_list.default.prototype.getBaseListRendererOptions.apply(this,arguments);return options.draggable=!1,options.multiSelect=!1,options.contextMenu=!1,options.action="custom",options},LoginPage.prototype.getCardOptions=function(items,settings){var options=_list.default.prototype.getCardOptions.apply(this,arguments);return options.defaultBackground=!0,options},_exports.default=LoginPage});
|
||||
39
startup/manuallogin.html
Normal file
39
startup/manuallogin.html
Normal file
@@ -0,0 +1,39 @@
|
||||
<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-right padded-top-page padded-bottom-page">
|
||||
<form style="margin:0 auto;">
|
||||
|
||||
<h1 style="margin-top:0;">${HeaderPleaseSignIn}</h1>
|
||||
|
||||
<div class="inputContainer">
|
||||
<input is="emby-input" class="txtUserName" type="text" id="txtUserName" autocomplete="off" label="${LabelUsername}" required />
|
||||
</div>
|
||||
<div class="inputContainer">
|
||||
<input is="emby-input" class="txtPassword" type="password" id="txtPassword" autocomplete="off" label="${LabelPassword}" />
|
||||
</div>
|
||||
<label class="checkboxContainer">
|
||||
<input is="emby-checkbox" type="checkbox" class="chkRememberLogin" checked />
|
||||
<span>${RememberMe}</span>
|
||||
</label>
|
||||
<button is="emby-button" type="submit" class="raised block paperSubmit">
|
||||
<span>${HeaderSignIn}</span>
|
||||
</button>
|
||||
<button is="emby-button" type="button" class="raised block buttonCancel">
|
||||
<span>${Cancel}</span>
|
||||
</button>
|
||||
|
||||
|
||||
<div style="margin-top:2em;">
|
||||
<button is="emby-button" type="button" class="raised cancel block btnForgotPassword">
|
||||
<span>${HeaderForgotPassword}</span>
|
||||
</button>
|
||||
|
||||
<button is="emby-button" type="button" class="raised hide block btnSelectServer">
|
||||
<span>${HeaderChangeServer}</span>
|
||||
</button>
|
||||
|
||||
<p class="disclaimer" style="text-align: center; margin-top: 2em;"></p>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
1
startup/manuallogin.js
Normal file
1
startup/manuallogin.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./../modules/viewmanager/baseview.js","./../modules/loading/loading.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-scroller/emby-scroller.js","./../modules/emby-apiclient/connectionmanager.js","./../modules/approuter.js","./../modules/focusmanager.js","./../modules/common/appsettings.js","./../modules/common/servicelocator.js","./startuphelper.js"],function(_exports,_baseview,_loading,_embyInput,_embyButton,_embyCheckbox,_embyScroller,_connectionmanager,_approuter,_focusmanager,_appsettings,_servicelocator,_startuphelper){function View(view,params){_baseview.default.apply(this,arguments),view.querySelector(".buttonCancel").addEventListener("click",function(e){_approuter.default.back()}),view.querySelector(".btnForgotPassword").addEventListener("click",function(e){_approuter.default.showItem({Type:"ForgotPassword",ServerId:params.serverId})}),view.querySelector(".btnSelectServer").addEventListener("click",function(e){_approuter.default.showSelectServer()}),view.querySelector("form").addEventListener("submit",function(e){var username=this.querySelector(".txtUserName").value,password=this.querySelector(".txtPassword").value,serverId=(_loading.default.show(),params.serverId);return _appsettings.default.enableAutoLogin(view.querySelector(".chkRememberLogin").checked),_startuphelper.default.authenticateUser(serverId,username,password),e.preventDefault(),!1}),_servicelocator.appHost.supports("multiserver")&&view.querySelector(".btnSelectServer").classList.remove("hide"),function(view,apiClient){_servicelocator.appHost.supports("multiserver")||apiClient.getJSON(apiClient.getUrl("Branding/Configuration")).then(function(options){var elem=view.querySelector(".disclaimer");options.LoginDisclaimer&&elem.classList.remove("hide"),elem.textContent=options.LoginDisclaimer||""})}(view,_connectionmanager.default.getApiClient(params.serverId))}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,require(["material-icons"]),Object.assign(View.prototype,_baseview.default.prototype),View.prototype.onResume=function(options){_baseview.default.prototype.onResume.apply(this,arguments);var view=this.view,params=this.params,txtUserName=(_loading.default.hide(),view.querySelector(".txtUserName"));txtUserName.value=params.user||"",view.querySelector(".txtPassword").value="",view.querySelector(".chkRememberLogin").checked=_appsettings.default.enableAutoLogin(),params.user?_focusmanager.default.focus(view.querySelector(".txtPassword")):_focusmanager.default.focus(txtUserName)},_exports.default=View});
|
||||
24
startup/manualserver.html
Normal file
24
startup/manualserver.html
Normal file
@@ -0,0 +1,24 @@
|
||||
<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-right padded-top-page padded-bottom-page">
|
||||
<form class="manualServerForm" style="margin:0 auto;">
|
||||
<h1 style="margin-top:0;">${HeaderConnectToServer}</h1>
|
||||
|
||||
<div class="inputContainer">
|
||||
<input is="emby-input" class="txtServerHost" type="text" id="txtServerHost" autocomplete="off" label="${LabelHost}" required />
|
||||
<div class="fieldDescription">${LabelHostHelp}</div>
|
||||
</div>
|
||||
|
||||
<div class="inputContainer">
|
||||
<input is="emby-input" class="txtServerPort" type="number" step="1" min="0" value="8096" id="txtServerPort" label="${LabelPort}" autocomplete="off" />
|
||||
</div>
|
||||
|
||||
<button is="emby-button" type="submit" class="raised block paperSubmit">
|
||||
<span>${Connect}</span>
|
||||
</button>
|
||||
|
||||
<button is="emby-button" type="button" class="raised block buttonCancel">
|
||||
<span>${Cancel}</span>
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
1
startup/manualserver.js
Normal file
1
startup/manualserver.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./../modules/viewmanager/baseview.js","./../modules/loading/loading.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-scroller/emby-scroller.js","./../modules/emby-apiclient/connectionmanager.js","./../modules/approuter.js","./../modules/common/appsettings.js"],function(_exports,_baseview,_loading,_embyInput,_embyButton,_embyCheckbox,_embyScroller,_connectionmanager,_approuter,_appsettings){function View(view,params){_baseview.default.apply(this,arguments),view.querySelector("form").addEventListener("submit",function(e){var address=this.querySelector(".txtServerHost").value,port=this.querySelector(".txtServerPort").value;return port&&(address=function(string,charToRemove){for(;string.charAt(string.length-1)===charToRemove;)string=string.substring(0,string.length-1);return string}(address,"/"),address+=":"+port),_loading.default.show(),_connectionmanager.default.connectToAddress(address,{enableAutoLogin:_appsettings.default.enableAutoLogin()}).then(function(result){_loading.default.hide(),_approuter.default.handleConnectionResult(result,view)}),e.preventDefault(),!1}),view.querySelector(".buttonCancel").addEventListener("click",function(e){_approuter.default.back()})}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,require(["material-icons"]),Object.assign(View.prototype,_baseview.default.prototype),View.prototype.onResume=function(options){_baseview.default.prototype.onResume.apply(this,arguments);var view=this.view;view.querySelector(".txtServerHost").value="",view.querySelector(".txtServerPort").value="8096"},_exports.default=View});
|
||||
1
startup/selectserver.js
Normal file
1
startup/selectserver.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./../list/list.js","./../modules/common/globalize.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/emby-elements/emby-scroller/emby-scroller.js","./../modules/emby-apiclient/connectionmanager.js","./../modules/common/servicelocator.js","./../modules/layoutmanager.js"],function(_exports,_list,_globalize,_embyInput,_embyButton,_embyCheckbox,_embySelect,_embyScroller,_connectionmanager,_servicelocator,_layoutmanager){function SelectServerPage(view,params){this.enableAlphaNumericShortcuts=!1,this.enableTotalRecordCountDisplay=!1,this.supportsViewSettings=!1,_list.default.call(this,view,params),this.itemsContainer.setAttribute("data-monitor","Servers"),this.itemsContainer.classList.add("itemsContainer-defaultCardSize")}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,Object.assign(SelectServerPage.prototype,_list.default.prototype),SelectServerPage.prototype.getSortMenuOptions=function(){return[]},SelectServerPage.prototype.getItemTypes=function(){return["Server"]},SelectServerPage.prototype.getItems=function(query){return _connectionmanager.default.getAvailableServers().then(function(items){!function(items){items.push({Name:_globalize.default.translate("HeaderAddServer"),Type:"AddServer"}),items.push({Name:_globalize.default.translate("HeaderSignInWithConnect"),Type:"EmbyConnect"}),_servicelocator.appHost.supports("sync")&&items.push({Name:_globalize.default.translate("Downloads"),Type:"Downloads"})}(items=items.slice(0));var totalRecordCount=items.length;return query&&(query.StartIndex&&(items=items.slice(query.StartIndex)),null!=query.Limit)&&query.Limit<items.length&&(items.length=query.Limit),{Items:items,TotalRecordCount:totalRecordCount}})},SelectServerPage.prototype.setTitle=function(){},SelectServerPage.prototype.getBaseListRendererOptions=function(){var options=_list.default.prototype.getBaseListRendererOptions.apply(this,arguments);return options.draggable=!1,options.multiSelect=!1,options.action=_layoutmanager.default.tv?"menu":"connecttoserver",options},SelectServerPage.prototype.getCardOptions=function(items,settings){var options=_list.default.prototype.getCardOptions.apply(this,arguments);return options.shape="backdrop",options.defaultBackground=!0,options.fields=["Name","LastServerAddress"],options},_exports.default=SelectServerPage});
|
||||
1
startup/startuphelper.js
Normal file
1
startup/startuphelper.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./../modules/emby-apiclient/connectionmanager.js","./../modules/loading/loading.js","./../modules/common/globalize.js","./../modules/approuter.js"],function(_exports,_connectionmanager,_loading,_globalize,_approuter){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,_exports.default={authenticateUser:function(serverId,username,password){_loading.default.show();var apiClient=_connectionmanager.default.getApiClient(serverId);apiClient.authenticateUserByName(username,password).then(function(result){_approuter.default.handleConnectionResult({State:"SignedIn",ApiClient:apiClient})},function(result){var options;_loading.default.hide(),options={text:_globalize.default.translate("MessageInvalidUser"),title:_globalize.default.translate("HeaderSignInError")},Emby.importModule("./modules/common/dialogs/alert.js").then(function(alert){return alert(options)})})}}});
|
||||
16
startup/welcome.html
Normal file
16
startup/welcome.html
Normal file
@@ -0,0 +1,16 @@
|
||||
<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-right padded-top-page padded-bottom-page">
|
||||
<form style="margin:0 auto;">
|
||||
|
||||
<h1 style="margin-top:0;">${HeaderWelcomeToEmby}</h1>
|
||||
|
||||
<p>${EmbyIntroMessage}</p>
|
||||
<p class="embyIntroDownloadMessage"></p>
|
||||
<br />
|
||||
<button is="emby-button" type="submit" class="raised btnWelcomeNext block autofocus">
|
||||
<span>${Next}</span>
|
||||
<i class="md-icon autortl"></i>
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
1
startup/welcome.js
Normal file
1
startup/welcome.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./../modules/viewmanager/baseview.js","./../modules/loading/loading.js","./../modules/common/globalize.js","./../modules/emby-elements/emby-button/emby-button.js","./../modules/emby-elements/emby-checkbox/emby-checkbox.js","./../modules/emby-elements/emby-scroller/emby-scroller.js","./../modules/emby-apiclient/connectionmanager.js","./../modules/common/servicelocator.js","./../modules/approuter.js"],function(_exports,_baseview,_loading,_globalize,_embyButton,_embyCheckbox,_embyScroller,_connectionmanager,_servicelocator,_approuter){function onSubmit(e){return _loading.default.show(),_connectionmanager.default.connect().then(function(result){_loading.default.hide(),_approuter.default.handleConnectionResult(result)}),e.preventDefault(),e.stopPropagation(),!1}function View(view,params){_baseview.default.apply(this,arguments),view.querySelector("form").addEventListener("submit",onSubmit);var downloadMessage=view.querySelector(".embyIntroDownloadMessage");_servicelocator.appHost.supports("externallinks")&&_servicelocator.appHost.supports("externalappinfo")?downloadMessage.innerHTML=_globalize.default.translate("ServerDownloadMessage",'<a is="emby-linkbutton" class="button-link" href="https://emby.media" target="_blank">https://emby.media</a>'):_servicelocator.appHost.supports("externallinkdisplay")?downloadMessage.innerHTML=_globalize.default.translate("ServerDownloadMessage","https://emby.media"):downloadMessage.innerHTML=_globalize.default.translate("ServerDownloadMessageWithoutLink")}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,require(["material-icons"]),Object.assign(View.prototype,_baseview.default.prototype),View.prototype.onResume=function(options){_baseview.default.prototype.onResume.apply(this,arguments),_loading.default.hide()},_exports.default=View});
|
||||
Reference in New Issue
Block a user