emby 4.8
This commit is contained in:
1
users/accesstab.js
Normal file
1
users/accesstab.js
Normal file
File diff suppressed because one or more lines are too long
1
users/parentalcontroltab.js
Normal file
1
users/parentalcontroltab.js
Normal file
File diff suppressed because one or more lines are too long
1
users/passwordtab.js
Normal file
1
users/passwordtab.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./../modules/tabbedview/basetab.js","./../settings/userpasswordcontroller.js","./../modules/emby-apiclient/connectionmanager.js"],function(_exports,_basetab,_userpasswordcontroller,_connectionmanager){function PasswordTab(view,params,options){_basetab.default.apply(this,arguments);var apiClient=_connectionmanager.default.currentApiClient();this.userPasswordController=new _userpasswordcontroller.default(view,params,apiClient)}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,Object.assign(PasswordTab.prototype,_basetab.default.prototype),PasswordTab.prototype.onResume=function(options){_basetab.default.prototype.onResume.apply(this,arguments),this.userPasswordController&&this.userPasswordController.resume(options)},PasswordTab.prototype.onPause=function(){_basetab.default.prototype.onPause.apply(this,arguments),this.userPasswordController&&this.userPasswordController.pause()},PasswordTab.prototype.destroy=function(){_basetab.default.prototype.destroy.apply(this,arguments),this.userPasswordController.destroy(),this.userPasswordController=null},_exports.default=PasswordTab});
|
||||
1
users/profiletab.js
Normal file
1
users/profiletab.js
Normal file
File diff suppressed because one or more lines are too long
395
users/user.html
Normal file
395
users/user.html
Normal file
@@ -0,0 +1,395 @@
|
||||
<div class="view flex flex-direction-column withTabs">
|
||||
|
||||
<div class="tabContent tabContent-positioned flex flex-grow" data-index="0">
|
||||
<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-bottom-page">
|
||||
|
||||
<form class="editUserProfileForm">
|
||||
|
||||
<div class="disabledUserBanner infoBanner hide" style="margin-bottom:2em;">
|
||||
<div class="btn btnDarkAccent btnStatic">
|
||||
<div>
|
||||
${HeaderThisUserIsCurrentlyDisabled}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<p class="lnkEditUserPreferencesContainer">
|
||||
<a class="lnkEditUserPreferences button-link" href="#" is="emby-linkbutton">${ButtonEditOtherUserPreferences}</a>
|
||||
</p>
|
||||
<div class="fldUserName inputContainer">
|
||||
<input is="emby-input" class="txtUserName" required type="text" label="${LabelName}" />
|
||||
<div class="fieldDescription">${NewUserNameHelp}</div>
|
||||
</div>
|
||||
<div class="fldConnectInfo">
|
||||
<div class="inputContainer">
|
||||
<input is="emby-input" class="txtConnectUserName" type="text" label="${LabelConnectEmail}" />
|
||||
<div class="fieldDescription">
|
||||
<div>${LabelConnectEmailHelp}</div>
|
||||
<div style="margin-top: .75em;">
|
||||
<a is="emby-linkbutton" class="button-link" href="https://emby.media/connect" target="_blank">${ButtonLearnMoreAboutEmbyConnect}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="selectContainer fldSelectLoginProvider hide">
|
||||
<select class="selectLoginProvider" is="emby-select" label="${LabelAuthProvider}"></select>
|
||||
<div class="fieldDescription">${AuthProviderHelp}</div>
|
||||
</div>
|
||||
<div class="checkboxContainer checkboxContainer-withDescription fldRemoteAccess hide">
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkRemoteAccess" />
|
||||
<span>${AllowRemoteAccess}</span>
|
||||
</label>
|
||||
<div class="fieldDescription checkboxFieldDescription">${AllowRemoteAccessHelp}</div>
|
||||
</div>
|
||||
<label class="checkboxContainer">
|
||||
<input type="checkbox" is="emby-checkbox" class="chkIsAdmin" />
|
||||
<span>${OptionAllowUserToManageServer}</span>
|
||||
</label>
|
||||
<div class="verticalSection">
|
||||
<h2 class="checkboxListLabel">${Playback}</h2>
|
||||
<div class="checkboxList">
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkEnableMediaPlayback" />
|
||||
<span>${OptionAllowMediaPlayback}</span>
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkEnableAudioPlaybackTranscoding" />
|
||||
<span>${OptionAllowAudioPlaybackTranscoding}</span>
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkEnableVideoPlaybackTranscoding" />
|
||||
<span>${OptionAllowVideoPlaybackTranscoding}</span>
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkEnableVideoPlaybackRemuxing" />
|
||||
<span>${OptionAllowVideoPlaybackRemuxing}</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="fieldDescription">${OptionAllowMediaPlaybackTranscodingHelp}</div>
|
||||
</div>
|
||||
<div class="featureAccessFields verticalSection">
|
||||
<h2 class="checkboxListLabel">${HeaderFeatureAccess}</h2>
|
||||
<div class="checkboxList featureList">
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="verticalSection">
|
||||
|
||||
<div class="selectContainer fldStreamLimit">
|
||||
<select is="emby-select" class="selectStreamLimit" label="${LabelSimultaneousStreamLimit}">
|
||||
</select>
|
||||
<div class="fieldDescription">${SimultaneousStreamLimitHelp}</div>
|
||||
<div class="fieldDescription streamLimitPremiereInfo"></div>
|
||||
</div>
|
||||
|
||||
<div class="inputContainer">
|
||||
<input is="emby-input" type="number" class="txtRemoteClientBitrateLimit" pattern="[0-9]*" min="0" step=".25" label="${LabelRemoteClientBitrateLimit}" />
|
||||
<div class="fieldDescription">${LabelRemoteClientBitrateLimitHelp}</div>
|
||||
<div class="fieldDescription">${LabelUserRemoteClientBitrateLimitHelp}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="verticalSection">
|
||||
<h2 class="checkboxListLabel">${HeaderAllowMediaDeletionFrom}</h2>
|
||||
<div class="checkboxList">
|
||||
<label class="checkboxContainer">
|
||||
<input type="checkbox" is="emby-checkbox" class="chkEnableDeleteAllFolders" />
|
||||
<span>${AllLibraries}</span>
|
||||
</label>
|
||||
<div class="deleteAccess">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="verticalSection">
|
||||
<h2 class="checkboxListLabel">${HeaderRemoteControl}</h2>
|
||||
<div class="checkboxList">
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkEnableRemoteControlOtherUsers" />
|
||||
<span>${OptionAllowRemoteControlOthers}</span>
|
||||
</label>
|
||||
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkRemoteControlSharedDevices" />
|
||||
<span>${OptionAllowRemoteSharedDevices}</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="fieldDescription">${OptionAllowRemoteSharedDevicesHelp}</div>
|
||||
</div>
|
||||
<div class="verticalSection">
|
||||
<h2 class="checkboxListLabel">${Downloads}</h2>
|
||||
<div class="checkboxList">
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkEnableDownloading" />
|
||||
<span>${OptionAllowContentDownloading}</span>
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkEnableSyncTranscoding" />
|
||||
<span>${OptionAllowSyncTranscoding}</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="verticalSection">
|
||||
<h2 class="checkboxListLabel">${Subtitles}</h2>
|
||||
<div class="checkboxList">
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkEnableSubtitleDownloading" />
|
||||
<span>${AllowSubtitleDownloading}</span>
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkEnableSubtitleManagement" />
|
||||
<span>${AllowSubtitleManagement}</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="checkboxContainer checkboxContainer-withDescription">
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkEnableConversion" />
|
||||
<span>${AllowMediaConversion}</span>
|
||||
</label>
|
||||
<div class="fieldDescription checkboxFieldDescription">${AllowMediaConversionHelp}</div>
|
||||
</div>
|
||||
<div class="checkboxContainer checkboxContainer-withDescription">
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkEnableSharing" />
|
||||
<span>${OptionAllowLinkSharing}</span>
|
||||
</label>
|
||||
<div class="fieldDescription checkboxFieldDescription sharingHelp"></div>
|
||||
</div>
|
||||
<div class="checkboxContainer checkboxContainer-withDescription">
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkAllowChangeProfile" />
|
||||
<span>${AllowChangingImageAndPassword}</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkboxContainer checkboxContainer-withDescription fldIsEnabled hide">
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkDisabled" />
|
||||
<span>${OptionDisableUser}</span>
|
||||
</label>
|
||||
<div class="fieldDescription checkboxFieldDescription">${OptionDisableUserHelp}</div>
|
||||
</div>
|
||||
<label class="checkboxContainer">
|
||||
<input type="checkbox" is="emby-checkbox" class="chkIsHidden" />
|
||||
<span>${OptionHideUserLocal}</span>
|
||||
</label>
|
||||
<div class="checkboxContainer checkboxContainer-withDescription">
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkIsHiddenRemotely" />
|
||||
<span>${OptionHideUserRemote}</span>
|
||||
</label>
|
||||
<div class="fieldDescription checkboxFieldDescription">${OptionHideUserFromLoginHelp}</div>
|
||||
</div>
|
||||
<div class="checkboxContainer checkboxContainer-withDescription fldHideFromUnusedDevices">
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkHideFromUnusedDevices" />
|
||||
<span>${HideFromUnusedDevices}</span>
|
||||
</label>
|
||||
</div>
|
||||
<br />
|
||||
<div>
|
||||
<button is="emby-button" type="submit" class="raised button-submit block">
|
||||
<span>${Save}</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tabContent tabContent-positioned flex flex-grow" data-index="1">
|
||||
<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-bottom-page">
|
||||
|
||||
<form class="userLibraryAccessForm">
|
||||
|
||||
<div class="folderAccessContainer">
|
||||
<h2>${HeaderLibraryAccess}</h2>
|
||||
<label class="checkboxContainer">
|
||||
<input type="checkbox" is="emby-checkbox" class="chkEnableAllFolders" />
|
||||
<span>${OptionEnableAccessToAllLibraries}</span>
|
||||
</label>
|
||||
<div class="folderAccessListContainer">
|
||||
<div class="folderAccess">
|
||||
</div>
|
||||
</div>
|
||||
<div class="fieldDescription">${LibraryAccessHelp}</div>
|
||||
</div>
|
||||
<div class="channelAccessContainer hide">
|
||||
<h2 class="sectionTitle">${HeaderChannelAccess}</h2>
|
||||
<div class="checkboxList">
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkEnableAllChannels" />
|
||||
<span>${All}</span>
|
||||
</label>
|
||||
<div class="channelAccess checkboxList">
|
||||
</div>
|
||||
</div>
|
||||
<div class="fieldDescription">${ChannelAccessHelp}</div>
|
||||
</div>
|
||||
<div class="deviceAccessContainer hide">
|
||||
<h2 class="sectionTitle">${HeaderDeviceAccess}</h2>
|
||||
<div class="checkboxList">
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkEnableAllDevices" />
|
||||
<span>${All}</span>
|
||||
</label>
|
||||
<div class="deviceAccess checkboxList">
|
||||
</div>
|
||||
</div>
|
||||
<div class="fieldDescription">${DeviceAccessHelp}</div>
|
||||
</div>
|
||||
<br />
|
||||
<div>
|
||||
<button is="emby-button" type="submit" class="raised button-submit block">
|
||||
<span>${Save}</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tabContent tabContent-positioned flex flex-grow" data-index="2">
|
||||
<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-bottom-page">
|
||||
|
||||
<form class="userParentalControlForm padded-top">
|
||||
|
||||
<div class="selectContainer">
|
||||
<select is="emby-select" class="selectMaxParentalRating" label="${LabelMaxParentalRating}"></select>
|
||||
<div class="fieldDescription">${MaxParentalRatingHelp}</div>
|
||||
</div>
|
||||
|
||||
<div class="blockUnratedItems hide">
|
||||
</div>
|
||||
|
||||
<div class="verticalSection">
|
||||
<div class="detailSectionHeader sectionTitleContainer">
|
||||
<h2 class="sectionTitle">${LabelBlockContentWithTags}</h2>
|
||||
<button is="emby-button" type="button" class="raised raised-mini btnAddBlockedTag submit sectionTitleButton">
|
||||
<i class="md-icon button-icon button-icon button-icon-left"></i>
|
||||
<span>${Add}</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="blockedTags" style="margin: .5em 0 2em;">
|
||||
|
||||
</div>
|
||||
|
||||
<div class="selectContainer">
|
||||
<select is="emby-select" class="selectTagMode" label="${LabelTagRestrictionMode}">
|
||||
<option value="" selected>${BlockItemsWithTheseTags}</option>
|
||||
<option value="include">${AllowItemsWithTheseTags}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="selectContainer fldMultiRestrictionMode hide">
|
||||
<select is="emby-select" class="selectMultiRestrictionMode" label="${LabelMultiRestrictionMode}">
|
||||
<option value="all">${MultiRestrictionModeAll}</option>
|
||||
<option value="any">${MultiRestrictionModeAny}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="accessScheduleSection verticalSection">
|
||||
<div class="sectionTitleContainer">
|
||||
<h2 class="sectionTitle">${HeaderAccessSchedule}</h2>
|
||||
<button is="emby-button" type="button" class="raised raised-mini btnAddSchedule submit sectionTitleButton">
|
||||
<i class="md-icon button-icon button-icon button-icon-left"></i>
|
||||
<span>${Add}</span>
|
||||
</button>
|
||||
</div>
|
||||
<p>${HeaderAccessScheduleHelp}</p>
|
||||
<div class="accessScheduleList">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div>
|
||||
<button is="emby-button" type="submit" class="raised button-submit block">
|
||||
<span>${Save}</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tabContent tabContent-positioned flex flex-grow" data-index="3">
|
||||
<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-bottom-page">
|
||||
|
||||
<div class="connectMessage readOnlyContent hide">
|
||||
<p>${MessageProfileInfoSynced}</p>
|
||||
<div style="margin-top: .75em;"><a href="https://emby.media/connect" target="_blank">${ButtonLearnMoreAboutEmbyConnect}</a></div>
|
||||
</div>
|
||||
|
||||
<form class="updatePasswordForm passwordSection hide padded-top" style="margin: 0 auto 2em;">
|
||||
|
||||
<div class="detailSection">
|
||||
<div class="fldCurrentPassword inputContainer hide">
|
||||
<input is="emby-input" type="password" class="txtCurrentPassword" label="${LabelCurrentPassword}" autocomplete="off" />
|
||||
</div>
|
||||
<div class="inputContainer">
|
||||
<input is="emby-input" type="password" class="txtNewPassword" label="${LabelNewPassword}" autocomplete="off" required />
|
||||
</div>
|
||||
<div class="inputContainer">
|
||||
<input is="emby-input" type="password" class="txtNewPasswordConfirm" label="${LabelNewPasswordConfirm}" autocomplete="off" required />
|
||||
</div>
|
||||
<div>
|
||||
<button is="emby-button" type="submit" class="raised button-submit block"><span>${ChangePassword}</span></button>
|
||||
</div>
|
||||
<button is="emby-button" type="button" class="btnResetPassword raised button-cancel block hide">
|
||||
<span>${HeaderRemovePassword}</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
<form class="localAccessForm localAccessSection" style="margin: 0 auto;">
|
||||
<div class="detailSection">
|
||||
<h2 class="detailSectionHeader">
|
||||
${HeaderLocalNetworkAccess}
|
||||
</h2>
|
||||
<div class="selectContainer fldInNetworkPasswordMode">
|
||||
<select is="emby-select" class="selectInNetworkPasswordMode" label="${LabelLocalNetworkPasswordMode}">
|
||||
<option value="password">${RequirePasswordInLocalNetwork}</option>
|
||||
<option value="nopassword">${NoPasswordInLocalNetwork}</option>
|
||||
<option value="pin">${PinCodeInLocalNetwork}</option>
|
||||
</select>
|
||||
<div class="fieldDescription">${LocalNetworkPasswordModeHelp}</div>
|
||||
</div>
|
||||
<div class="inputContainer fldInNetworkPassword hide">
|
||||
<input placeholder="*****" is="emby-input" type="number" class="txtInNetworkPassword" label="${LabelLocalNetworkPinCode}" autocomplete="off" pattern="[0-9]*" step="1" maxlength="5" />
|
||||
</div>
|
||||
<div>
|
||||
<button is="emby-button" type="submit" class="raised button-submit block">
|
||||
<span>${Save}</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
1
users/user.js
Normal file
1
users/user.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./../modules/common/globalize.js","./../modules/tabbedview/tabbedview.js"],function(_exports,_globalize,_tabbedview){function UserView(view,params){_tabbedview.default.call(this,view,params),this.apiClient=ApiClient}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,Object.assign(UserView.prototype,_tabbedview.default.prototype),UserView.prototype.getTabs=function(){return[{name:_globalize.default.translate("Profile"),id:"profile"},{name:_globalize.default.translate("TabAccess"),id:"access"},{name:_globalize.default.translate("TabParentalControl"),id:"parentalcontrol"},{name:_globalize.default.translate("TabPassword"),id:"password"}]},UserView.prototype.getItem=function(){var params=this.params;return this.apiClient.getUser(params.userId,!1)},UserView.prototype.getTitle=function(){return this.item.Name},UserView.prototype.loadTabController=function(id){return Emby.importModule("./users/"+id+"tab.js")},UserView.prototype.destroy=function(){_tabbedview.default.prototype.destroy.apply(this,arguments),this.apiClient=null},_exports.default=UserView});
|
||||
78
users/usernew.html
Normal file
78
users/usernew.html
Normal file
@@ -0,0 +1,78 @@
|
||||
<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="newUserProfileForm auto-center padded-top">
|
||||
|
||||
<div class="verticalSection">
|
||||
|
||||
<div class="inputContainer">
|
||||
<input is="emby-input" class="txtUserName" required type="text" label="${LabelName}" />
|
||||
<div class="fieldDescription">${NewUserNameHelp}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="selectContainer fldCopyFromUser hide">
|
||||
<label>
|
||||
<select is="emby-select" label="${LabelCopyFromUser}" class="selectCopyFromUser">
|
||||
</select>
|
||||
</label>
|
||||
<div class="fieldDescription">${CopyFromUserHelp}</div>
|
||||
</div>
|
||||
|
||||
<div class="copyOptionsContainer checkboxListContainer hide">
|
||||
|
||||
<h3 class="sectionTitle">${HeaderCopyOptions}</h3>
|
||||
<div class="checkboxList">
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkCopyUserPolicy" checked />
|
||||
<span>${UserPolicy}</span>
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkCopyUserConfiguration" checked />
|
||||
<span>${UserConfiguration}</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<label class="checkboxContainer">
|
||||
<input type="checkbox" is="emby-checkbox" class="chkIsAdmin" />
|
||||
<span>${OptionAllowUserToManageServer}</span>
|
||||
</label>
|
||||
|
||||
<div class="folderAccessContainer checkboxListContainer hide verticalSection">
|
||||
<h3 class="sectionTitle">${HeaderLibraryAccess}</h3>
|
||||
<div class="checkboxList">
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkEnableAllFolders" />
|
||||
<span>${All}</span>
|
||||
</label>
|
||||
<div class="folderAccess checkboxList">
|
||||
</div>
|
||||
</div>
|
||||
<div class="fieldDescription">${LibraryAccessHelp}</div>
|
||||
</div>
|
||||
|
||||
<div class="channelAccessContainer checkboxListContainer hide verticalSection hide">
|
||||
<h3 class="sectionTitle">${HeaderChannelAccess}</h3>
|
||||
<div class="checkboxList">
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkEnableAllChannels" />
|
||||
<span>${All}</span>
|
||||
</label>
|
||||
<div class="channelAccess checkboxList">
|
||||
</div>
|
||||
</div>
|
||||
<div class="fieldDescription">${ChannelAccessHelp}</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<button is="emby-button" type="submit" class="raised button-submit block">
|
||||
<span>${Save}</span>
|
||||
</button>
|
||||
|
||||
<button is="emby-button" type="button" class="raised button-cancel block btnCancel">
|
||||
<span>${Cancel}</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
1
users/usernew.js
Normal file
1
users/usernew.js
Normal file
File diff suppressed because one or more lines are too long
1
users/users.js
Normal file
1
users/users.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./../list/list.js","./../modules/common/globalize.js","./../modules/approuter.js","./../modules/emby-elements/emby-button/emby-button.js","./../modules/emby-elements/emby-button/paper-icon-button-light.js","./../modules/emby-elements/emby-scroller/emby-scroller.js"],function(_exports,_list,_globalize,_approuter,_embyButton,_paperIconButtonLight,_embyScroller){function showNewUserDialog(e){_approuter.default.show("users/new")}function setUserProperies(user){user.ServerId=ApiClient.serverId()}function UsersPage(view,params){params.serverId=ApiClient.serverId(),_list.default.call(this,view,params),function(view){view.querySelector(".listTotalRecordCount").insertAdjacentHTML("afterend",'<button is="emby-button" type="button" class="raised raised-mini btnAddUser submit" title="'+_globalize.default.translate("HeaderNewUser")+'" aria-label="'+_globalize.default.translate("HeaderNewUser")+'"><i class="md-icon button-icon button-icon-left"></i><span>'+_globalize.default.translate("HeaderNewUser")+"</span></button>")}(view),view.querySelector(".btnAddUser").addEventListener("click",showNewUserDialog),this.itemsContainer.setAttribute("data-monitor","Users")}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,require(["flexStyles"]),Object.assign(UsersPage.prototype,_list.default.prototype),UsersPage.prototype.getItemTypes=function(){return["User"]},UsersPage.prototype.supportsAlphaPicker=function(){return!0},UsersPage.prototype.getItems=function(query){return ApiClient.getUsersQueryResult(query).then(function(result){return result.Items.forEach(setUserProperies),result})},UsersPage.prototype.getPrefixesApiClientMethodName=function(){return"getUserPrefixes"},UsersPage.prototype.getItemCountText=function(numItems){return 1===numItems?_globalize.default.translate("OneUser"):_globalize.default.translate("UserCountValue",numItems)},UsersPage.prototype.getSettingsKey=function(){return"users"},UsersPage.prototype.setTitle=function(){},UsersPage.prototype.getBaseListRendererOptions=function(){var options=_list.default.prototype.getBaseListRendererOptions.apply(this,arguments);return options.draggable=!1,options},_exports.default=UsersPage});
|
||||
Reference in New Issue
Block a user