first commit
This commit is contained in:
1
modules/common/appsettings.js
Normal file
1
modules/common/appsettings.js
Normal file
File diff suppressed because one or more lines are too long
1
modules/common/baseapprouter.js
Normal file
1
modules/common/baseapprouter.js
Normal file
File diff suppressed because one or more lines are too long
1
modules/common/dataformatter.js
Normal file
1
modules/common/dataformatter.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./globalize.js"],function(_exports,_globalize){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var units=[["year",31536e6],["month",2592e6],["week",6048e5],["day",864e5],["hour",36e5],["minute",6e4],["second",1e3]];function numberToString(value,maximumFractionDigits){try{return new Intl.NumberFormat(_globalize.default.getCurrentLocales(),{style:"decimal",maximumFractionDigits:null==maximumFractionDigits?1:maximumFractionDigits}).format(value)}catch(err){return console.log("Error in NumberFormat: "+err),value}}function getRawResolutionText(item){return item.Width&&item.Height?item.Width+"x"+item.Height:null}_exports.default={formatRelativeTime:function(date,isPastEvent){for(var unit,date=(date="string"==typeof date?new Date(Date.parse(date)):date).getTime()-Date.now(),elapsedMsAbs=Math.abs(date),i=0,length=units.length;i<length&&!(elapsedMsAbs>=(unit=units[i])[1]);i++);return date=Math.round(date/unit[1]),!1!==isPastEvent&&-1<(date=Math.min(date,1))&&(date=-1,unit=units[units.length-1]),new Intl.RelativeTimeFormat(_globalize.default.getCurrentLocales(),{numeric:"always",style:"long"}).format(date,unit[0])},bitrateToString:function(value){return 1e3<(value/=1e3)?numberToString(value/=1e3,0)+" mbps":numberToString(parseInt(value))+" kbps"},sizeToString:function(size){var gb=1073741824;return gb<=size?numberToString(size/gb,1)+" GB":numberToString(size/1048576,1)+" MB"},numberToString:numberToString,getResolutionText:function(item){var videoStream,width,height;return"Video"===item.MediaType&&(videoStream=function(item){for(var _,mediaStreams=(null==(_=(item.MediaSources||[])[0])?void 0:_.MediaStreams)||item.MediaStreams||[],i=0,length=mediaStreams.length;i<length;i++){var mediaStream=mediaStreams[i];if("Video"===mediaStream.Type)return mediaStream}return null}(item))?(width=videoStream.Width,height=videoStream.Height,width&&height?3800<=width||2e3<=height?"4K":2500<=width||1400<=height?videoStream.IsInterlaced?"1440i":"1440p":1800<=width||1e3<=height?videoStream.IsInterlaced?"1080i":"1080p":1200<=width||700<=height?videoStream.IsInterlaced?"720i":"720p":700<=width||400<=height?videoStream.IsInterlaced?"480i":"480p":"SD":null):getRawResolutionText(item)}}});
|
||||
1
modules/common/datetime.js
Normal file
1
modules/common/datetime.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./globalize.js"],function(_exports,_globalize){function getDisplayRunningTime(ticks){var duration={},hours=ticks/36e9,hours=((hours=Math.floor(hours))&&(duration.hours=hours),(ticks-=36e9*hours)/6e8),hours=(ticks-=6e8*(hours=Math.floor(hours)),duration.minutes=hours,ticks/1e7),hours=Math.floor(hours);duration.seconds=hours;ticks=getDurationFormatter(_globalize.default.getCurrentLocale(),{style:"digital",fractionalDigits:0,hoursDisplay:"auto",minutesDisplay:"always",secondsDisplay:"always",millisecondsDisplay:"auto",microsecondsDisplay:"auto",nanosecondsDisplay:"auto"}).format(duration);return ticks=ticks.startsWith("0")?ticks.substring(1):ticks}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var toLocaleTimeStringSupportsLocales=function(){try{(new Date).toLocaleTimeString("i")}catch(e){return"RangeError"===e.name}return!1}(),dateTimeFormatters={};function getDateTimeFormatter(locale,options){var key=locale||"und",formatter=(key=(key=(key=(key=(key=(key=(key=(key=(key+=options.weekday||"null")+(options.year||"null"))+(options.month||"null"))+(options.day||"null"))+(options.hour||"null"))+(options.minute||"null"))+(options.second||"null"))+(options.dateStyle||"null"))+(options.timeStyle||"null"),dateTimeFormatters[key]);return formatter||(console.log("creating DateTimeFormat for "+locale+", with options: "+JSON.stringify(options)),formatter=new Intl.DateTimeFormat(locale,options),dateTimeFormatters[key]=formatter),formatter}var durationFormatters={};function getDurationFormatter(locale,options){var key=locale||"und",formatter=(key=(key=(key=(key=(key=(key=(key=(key+=options.style||"style")+(options.fractionalDigits||"fractionalDigits"))+(options.hoursDisplay||"hoursDisplay"))+(options.minutesDisplay||"minutesDisplay"))+(options.secondsDisplay||"secondsDisplay"))+(options.millisecondsDisplay||"millisecondsDisplay"))+(options.microsecondsDisplay||"microsecondsDisplay"))+(options.nanosecondsDisplay||"nanosecondsDisplay"),durationFormatters[key]);return formatter||(console.log("creating DurationFormat for "+locale+", with options: "+JSON.stringify(options)),formatter=new Intl.DurationFormat(locale,options),durationFormatters[key]=formatter),formatter}function toLocaleTimeString(date,options){if(date)return options=options||{},getDateTimeFormatter(_globalize.default.getCurrentDateTimeLocale(),options).format(date);throw new Error("date cannot be null")}_exports.default={parseISO8601Date:function(s){return new Date(Date.parse(s))},getDisplayRunningTime:getDisplayRunningTime,toLocaleDateString:function(date,options){if(date)return options=options||{},getDateTimeFormatter(_globalize.default.getCurrentDateTimeLocale(),options).format(date);throw new Error("date cannot be null")},toLocaleString:function(date,options){if(date)return options=options||{dateStyle:"short",timeStyle:"short"},getDateTimeFormatter(_globalize.default.getCurrentDateTimeLocale(),options).format(date);throw new Error("date cannot be null")},getDisplayTime:function(date){if(!date)throw new Error("date cannot be null");if("string"===(typeof date).toString().toLowerCase())try{date=new Date(Date.parse(date))}catch(err){return date}var time,suffix,timeLower;return toLocaleTimeStringSupportsLocales?toLocaleTimeString(date,{hour:"numeric",minute:"2-digit"}):((timeLower=(time=toLocaleTimeString(date)).toLowerCase()).includes("am")||timeLower.includes("pm")?(time=timeLower,timeLower=date.getHours()%12,suffix=11<date.getHours()?"pm":"am",time=(timeLower=timeLower||12)+(timeLower=":"+(timeLower=(timeLower=date.getMinutes())<10?"0"+timeLower:timeLower))+suffix):2<(date=time.split(":")).length&&(date.length=2,time=date.join(":")),time)},isRelativeDay:function(date,offsetInDays){var yesterday;if(date)return offsetInDays=(yesterday=new Date).getDate()+offsetInDays,yesterday.setDate(offsetInDays),date.getFullYear()===yesterday.getFullYear()&&date.getMonth()===yesterday.getMonth()&&date.getDate()===offsetInDays;throw new Error("date cannot be null")},toLocaleTimeString:toLocaleTimeString,supportsLocalization:function(){return toLocaleTimeStringSupportsLocales},getHumanReadableRuntime:function(ticks){var days=Math.trunc(ticks/864e9),hours=Math.trunc(ticks%864e9/36e9),minutes=Math.trunc(ticks%36e9/6e8),duration={},hasValue=!1;return days&&(duration.days=days,hasValue=!0),hours&&(duration.hours=hours,hasValue=!0),minutes&&(duration.minutes=minutes,hasValue=!0),hasValue?getDurationFormatter(_globalize.default.getCurrentLocale(),{style:"narrow"}).format(duration):getDisplayRunningTime(ticks)}}});
|
||||
1
modules/common/dialogs/alert.js
Normal file
1
modules/common/dialogs/alert.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./../globalize.js","./../../dialog/dialog.js"],function(_exports,_globalize,_dialog){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=function(text,title){title="string"==typeof text?{title:title,text:text}:text;text=[];!1!==title.confirmButton&&text.push({name:title.confirmText||_globalize.default.translate("ButtonGotIt"),id:"ok",href:title.confirmHref});return title.buttons=text,title.dialogType="alert",(0,_dialog.default)(title).then(function(result){return"ok"===result?Promise.resolve():Promise.reject()})}});
|
||||
1
modules/common/dialogs/confirm.js
Normal file
1
modules/common/dialogs/confirm.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./../globalize.js","./../../dialog/dialog.js"],function(_exports,_globalize,_dialog){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=function(text,title){var options;options="string"==typeof text?{title:title,text:text}:text;title=[];title.push({name:options.cancelText||_globalize.default.translate("Cancel"),id:"cancel",type:"cancel"===options.primary?null:"cancel"}),title.push({name:options.confirmText||_globalize.default.translate("ButtonOk"),id:"ok",type:"cancel"===options.primary?"cancel":"submit"}),"cancel"!==options.primary&&title.reverse();return options.buttons=title,options.dialogType="confirm",(0,_dialog.default)(options).then(function(result){return"ok"===result?Promise.resolve():options.cancelResult?Promise.reject(options.cancelResult):Promise.reject()})}});
|
||||
1
modules/common/filesystem.js
Normal file
1
modules/common/filesystem.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports"],function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;_exports.default={fileExists:function(path){return Promise.reject()},directoryExists:function(path){return Promise.reject()}}});
|
||||
1
modules/common/globalize.js
Normal file
1
modules/common/globalize.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./../emby-apiclient/events.js","./../emby-apiclient/connectionmanager.js","./appsettings.js"],function(_exports,_events,_connectionmanager,_appsettings){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var currentCulture,currentDateTimeCulture,currentLocales,cacheParam,allTranslations={},allStrings={},rtlLocales=["ar","he","fa","ur","ug"],arabicLocales=["ar","fa","ur","ug"];function getCurrentLocale(){return currentCulture}function normalizeNavigatorLanguage(lang){return lang=lang&&lang.split("@")[0]}function updateCurrentCulture(){var dir,dateTimeCulture,culture=_appsettings.default.language()||function(){var culture="undefined"==typeof document?null:document.documentElement.getAttribute("data-culture");return culture||(navigator.language?normalizeNavigatorLanguage(navigator.language):navigator.userLanguage?normalizeNavigatorLanguage(navigator.userLanguage):navigator.languages&&navigator.languages.length?normalizeNavigatorLanguage(navigator.languages[0]):"en-us")}();"undefined"!=typeof document&&CSS.supports("text-align","start")&&CSS.supports("inset-inline-start","0")&&(dir=rtlLocales.includes((culture||"").toLowerCase())?"rtl":"ltr","rtl"==(document.dir=dir)?document.documentElement.classList.add("rtl"):document.documentElement.classList.remove("rtl"),arabicLocales.includes((culture||"").toLowerCase())?document.documentElement.classList.add("rtl-arabic"):document.documentElement.classList.remove("rtl-arabic")),currentCulture=normalizeLocaleName(culture),currentLocales=[currentCulture];try{dateTimeCulture=_appsettings.default.dateTimeLocale()}catch(err){}currentDateTimeCulture=dateTimeCulture?normalizeLocaleName(dateTimeCulture):currentCulture,function(culture){for(var i in allTranslations)ensureTranslation(allTranslations[i],culture)}(currentCulture),_connectionmanager.default.setCurrentLocale(currentCulture)}function ensureTranslation(translationInfo,culture){return translationInfo.dictionaries[culture]?Promise.resolve():function(translations,lang){lang=normalizeLocaleName(lang);var filtered=translations.filter(function(t){return normalizeLocaleName(t.lang)===lang});filtered.length||(filtered=translations.filter(function(t){return"en-us"===normalizeLocaleName(t.lang)}));if(!filtered.length)return Promise.resolve();translations=filtered[0].path;cacheParam&&(translations=(translations+=-1===translations.indexOf("?")?"?":"&")+cacheParam);return("undefined"==typeof XMLHttpRequest?function(url){return fetch(url).then(function(response){return response.json()})}:function(url){return new Promise(function(resolve,reject){var xhr=new XMLHttpRequest;xhr.open("GET",url,!0),xhr.onload=function(e){this.status<400?resolve(JSON.parse(this.response)):resolve()},xhr.onerror=function(){resolve()},xhr.send()})})(translations)}(translationInfo.translations,culture).then(function(dictionary){translationInfo.dictionaries[culture]=!0,dictionary&&(allStrings[culture]?allStrings[culture]=Object.assign(dictionary,allStrings[culture]||{}):allStrings[culture]=dictionary)})}function normalizeLocaleName(culture){var parts=(culture=culture.replace("_","-")).split("-"),parts=(culture=2===parts.length&&parts[0].toLowerCase()===parts[1].toLowerCase()?parts[0].toLowerCase():culture).toLowerCase();return"ca-es"===parts?"ca":"sv-se"===parts?"sv":parts}function register(options){allTranslations[options.name]={translations:options.strings||options.translations,dictionaries:{}}}function translateKey(key){var dictionary=allStrings[currentCulture];if(dictionary){dictionary=dictionary[key];if(dictionary)return dictionary}return key}function translate(key){for(var val=translateKey(key),i=1;i<arguments.length;i++)val=val.replaceAll("{"+(i-1)+"}",arguments[i]);return val}function translateHtml(html){var endIndex,startIndex=html.indexOf("${");return-1===startIndex||-1===(endIndex=html.indexOf("}",startIndex+=2))?html:(endIndex=translateKey(startIndex=html.substring(startIndex,endIndex)),translateHtml(html=html.replace("${"+startIndex+"}",endIndex)))}updateCurrentCulture(),_events.default.on(_connectionmanager.default,"localusersignedin",updateCurrentCulture),_events.default.on(_appsettings.default,"change",function(e,name){switch(name){case"language":case"datetimelocale":updateCurrentCulture()}});_exports.default={getString:translate,translate:translate,translateDocument:translateHtml,translateHtml:translateHtml,loadStrings:function(options){var locale=currentCulture;return"string"==typeof options?ensureTranslation(allTranslations[options],locale):(register(options),ensureTranslation(allTranslations[options.name],locale))},getCurrentLocale:getCurrentLocale,getCurrentDateTimeLocale:function(){return currentDateTimeCulture},getCurrentLocales:function(){return currentLocales},register:register,setCacheParam:function(value){cacheParam=value}}});
|
||||
1
modules/common/imagehelper.js
Normal file
1
modules/common/imagehelper.js
Normal file
File diff suppressed because one or more lines are too long
1
modules/common/input/api.js
Normal file
1
modules/common/input/api.js
Normal file
File diff suppressed because one or more lines are too long
1
modules/common/inputmanager.js
Normal file
1
modules/common/inputmanager.js
Normal file
File diff suppressed because one or more lines are too long
1
modules/common/itemhelper.js
Normal file
1
modules/common/itemhelper.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./itemmanager/itemmanager.js"],function(_exports,_itemmanager){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;_exports.default={getDisplayName:function(item,options){return _itemmanager.default.getDisplayName(item,options)},supportsAddingToCollection:function(item,user){return _itemmanager.default.canAddToCollection(item,user)},supportsAddingToPlaylist:function(item){return _itemmanager.default.canAddToPlaylist(item)},canDelete:function(item,user){return _itemmanager.default.canDelete(item,user)},canEdit:function(item,user){return _itemmanager.default.canEdit([item],user)},canEditImages:function(item,user){return _itemmanager.default.canEditImages(item,user)},canMarkPlayed:function(item){return _itemmanager.default.canMarkPlayed(item)},canRate:function(item){return _itemmanager.default.canRate(item)},canConvert:function(item,user){return _itemmanager.default.canConvert(item,user)},canRefreshMetadata:function(item,user){return _itemmanager.default.canRefreshMetadata(item,user)},supportsMediaSourceSelection:function(item){switch(item.Type){case"Movie":case"Trailer":case"Video":case"Episode":case"MusicVideo":case"TvChannel":return!0;default:return!1}},supportsExtras:function(item){if(item.IsFolder)return!1;switch(item.Type){case"TvChannel":case"Program":return!1}return"Video"===item.MediaType},normalizeMediaStreamForDisplay:function(item,mediaSource,stream){return"Subtitle"===(stream=Object.assign({},stream)).Type&&"Audio"===item.MediaType&&(stream.SubtitleType="Lyrics"),"MediaStream"!==stream.Type&&(stream.StreamType=stream.Type,stream.Type="MediaStream"),stream.ServerId=item.ServerId,stream.ItemId=item.Id,stream.MediaSourceId=mediaSource.Id,stream}}});
|
||||
1
modules/common/itemmanager/baseitemcontroller.js
Normal file
1
modules/common/itemmanager/baseitemcontroller.js
Normal file
File diff suppressed because one or more lines are too long
1
modules/common/itemmanager/genericitemcontroller.js
Normal file
1
modules/common/itemmanager/genericitemcontroller.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./baseitemcontroller.js","./../globalize.js"],function(_exports,_baseitemcontroller,_globalize){function GenericItemController(){_baseitemcontroller.default.apply(this,arguments)}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,Object.assign(GenericItemController.prototype,_baseitemcontroller.default.prototype),GenericItemController.prototype.getTypeNames=function(){return["GenericListItem"]},GenericItemController.prototype.getDisplayName=function(item,options){return item.Name},GenericItemController.prototype.isSingleItemFetchRequired=function(typeName){return!1},GenericItemController.prototype.getDefaultIcon=function(item){return item.Icon||"folder"},GenericItemController.prototype.canDelete=function(item,user){return!0===item.CanDelete},GenericItemController.prototype.getDeleteCommand=function(items){var cmd=_baseitemcontroller.default.prototype.getDeleteCommand.apply(this,arguments),item=items[0];return"remove"===(null==item?void 0:item.DeleteType)&&(cmd.name=_globalize.default.translate("Remove"),cmd.icon="remove_circle"),cmd},GenericItemController.prototype.enableLibraryItemDeleteConfirmation=function(){return!1},GenericItemController.prototype.canRefreshMetadata=function(item,user){return!1},GenericItemController.prototype.getNameSortOption=function(itemType){return null},GenericItemController.prototype.canAddToPlaylist=function(item){return!1},GenericItemController.prototype.canAddToCollection=function(item,user){return!1},GenericItemController.prototype.canConvert=function(item,user){return!1},GenericItemController.prototype.canEdit=function(items,user){return 1===items.length&&!0===items[0].CanEdit},GenericItemController.prototype.canRate=function(item){return!1},GenericItemController.prototype.canMarkPlayed=function(item){return!1},GenericItemController.prototype.canEditImages=function(item,user){return!1},GenericItemController.prototype.canEditSubtitles=function(item,user){return!1},GenericItemController.prototype.editItems=function(items,options){return Promise.reject("nocommands")},GenericItemController.prototype.enableDeleteConfirmation=function(options){return!!this.getDeleteMessages(options.items[0])},GenericItemController.prototype.showDeleteConfirmation=function(options){return this.enableDeleteConfirmation(options)?_baseitemcontroller.default.prototype.showDeleteConfirmation.apply(this,arguments):Promise.resolve()},GenericItemController.prototype.isDeletePrimaryCommand=function(itemType){return!0},GenericItemController.prototype.getDeleteMessages=function(item){return"remove"===item.DeleteType?{single:{text:_globalize.default.translate("ConfirmRemoveItem"),title:_globalize.default.translate("Remove"),confirmText:_globalize.default.translate("Remove")},plural:{text:_globalize.default.translate("ConfirmRemoveItem"),title:_globalize.default.translate("Remove"),confirmText:_globalize.default.translate("Remove")}}:{single:{text:_globalize.default.translate("DeleteDeviceConfirmation"),title:_globalize.default.translate("HeaderDeleteItem")},plural:{text:_globalize.default.translate("DeleteDeviceConfirmation"),title:_globalize.default.translate("HeaderDeleteItems")}}},GenericItemController.prototype.deleteItemsInternal=function(options){return Promise.reject("nocommands")},GenericItemController.prototype.getCommands=function(options){return _baseitemcontroller.default.prototype.getCommands.apply(this,arguments)},GenericItemController.prototype.executeCommand=function(command,items,options){return _baseitemcontroller.default.prototype.executeCommand.apply(this,arguments)},GenericItemController.prototype.resolveField=function(item,field){return _baseitemcontroller.default.prototype.resolveField.apply(this,arguments)},GenericItemController.prototype.canReorder=function(item,user){return item.CanReorder},GenericItemController.prototype.canMoveUp=function(item,user){return!!this.canReorder(item,user)&&item.CanMoveUp},GenericItemController.prototype.canMoveDown=function(item,user){return!!this.canReorder(item,user)&&item.CanMoveDown},GenericItemController.prototype.moveInOrder=function(items,options){return Promise.reject()};_exports.default=GenericItemController});
|
||||
1
modules/common/itemmanager/itemmanager.js
Normal file
1
modules/common/itemmanager/itemmanager.js
Normal file
File diff suppressed because one or more lines are too long
1
modules/common/itemsrefresher.js
Normal file
1
modules/common/itemsrefresher.js
Normal file
File diff suppressed because one or more lines are too long
1
modules/common/methodtimer.js
Normal file
1
modules/common/methodtimer.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./servicelocator.js","./../emby-apiclient/events.js"],function(_exports,_servicelocator,_events){function onInterval(){this._lastInterval=Date.now();var options=this.options;options&&options.onInterval()}function MethodTimer(options){this.options=options,this.boundOnAppResume=function(){var options,started=this.isStarted();this.stopInterval(),started&&((started=this._lastInterval)&&(options=this.options)&&started+options.timeoutMs<=Date.now()&&onInterval.call(this),this.startInterval())}.bind(this),this.boundOnInterval=onInterval.bind(this),_events.default.on(_servicelocator.appHost,"resume",this.boundOnAppResume),this.startInterval()}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,MethodTimer.prototype.stopInterval=function(){this._interval&&(("interval"===this._intervalType?clearInterval:clearTimeout)(this._interval),this._interval=null,this._intervalType=null)},MethodTimer.prototype.startInterval=function(){this._lastInterval=Date.now(),"interval"===this.options.type?(this._interval=setInterval(this.boundOnInterval,this.options.timeoutMs),this._intervalType="interval"):this._interval=setTimeout(this.boundOnInterval,this.options.timeoutMs)},MethodTimer.prototype.isStarted=function(){return null!=this._interval},MethodTimer.prototype.destroy=function(){this.options=null,this.boundOnAppResume&&(_events.default.off(_servicelocator.appHost,"resume",this.boundOnAppResume),this.boundOnAppResume=null),this.stopInterval(),this.boundOnInterval=null,this._lastInterval=null};_exports.default=MethodTimer});
|
||||
1
modules/common/playback/experimentalwarnings.js
Normal file
1
modules/common/playback/experimentalwarnings.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./../servicelocator.js","./../usersettings/usersettings.js"],function(_exports,_servicelocator,_usersettings){function getResolvedPromise(){return Promise.resolve()}function showMessage(text,userSettingsKey,appHostFeature){var dayNum,options;return _servicelocator.appHost.supports(appHostFeature)||(userSettingsKey+=(appHostFeature=new Date).getFullYear()+"-w"+(appHostFeature=appHostFeature,dayNum=(appHostFeature=new Date(Date.UTC(appHostFeature.getFullYear(),appHostFeature.getMonth(),appHostFeature.getDate()))).getUTCDay()||7,appHostFeature.setUTCDate(appHostFeature.getUTCDate()+4-dayNum),dayNum=new Date(Date.UTC(appHostFeature.getUTCFullYear(),0,1)),Math.ceil(((appHostFeature-dayNum)/864e5+1)/7)),"1"===_usersettings.default.get(userSettingsKey,!1))?Promise.resolve():(_usersettings.default.set(userSettingsKey,"1",!1),options=text,Emby.importModule("./modules/common/dialogs/alert.js").then(function(alert){return alert(options)}).catch(getResolvedPromise))}function ExpirementalPlaybackWarnings(){this.name="Experimental playback warnings",this.type="preplayintercept",this.id="expirementalplaybackwarnings"}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,ExpirementalPlaybackWarnings.prototype.intercept=function(options){options=options.item;return options?"iso"===options.Container||"blurayiso"===options.Container||"dvdiso"===options.Container?showMessage("Playback of ISO files in this app is experimental. Some titles may not work at all. For a better experience, consider converting to mkv video files, or use an Emby app with native ISO support.","isoexpirementalinfo","nativeisoplayback"):"bluray"===options.Container?showMessage("Playback of Bluray folders in this app is experimental. Some titles may not work at all. For a better experience, consider converting to mkv video files, or use an Emby app with native Bluray folder support.","blurayexpirementalinfo","nativeblurayplayback"):"dvd"===options.Container?showMessage("Playback of Dvd folders in this app is experimental. Some titles may not work at all. For a better experience, consider converting to mkv video files, or use an Emby app with native Dvd folder support.","dvdexpirementalinfo","nativedvdplayback"):Promise.resolve():Promise.resolve()};_exports.default=ExpirementalPlaybackWarnings});
|
||||
1
modules/common/playback/playaccessvalidation.js
Normal file
1
modules/common/playback/playaccessvalidation.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./../globalize.js","./../../emby-apiclient/connectionmanager.js"],function(_exports,_globalize,_connectionmanager){function showErrorMessage(){return options=_globalize.default.translate("MessagePlayAccessRestricted"),Emby.importModule("./modules/common/dialogs/alert.js").then(function(alert){return alert(options)}).then(function(){return Promise.reject()});var options}function PlayAccessValidation(){this.name="Playback validation",this.type="preplayintercept",this.id="playaccessvalidation",this.order=-2}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,PlayAccessValidation.prototype.intercept=function(options){var item=options.item;return(item=item&&item.ServerId)?_connectionmanager.default.getApiClient(item).getCurrentUser().then(function(user){return user.Policy.EnableMediaPlayback?Promise.resolve():options.fullscreen?showErrorMessage():Promise.reject()}):Promise.resolve()};_exports.default=PlayAccessValidation});
|
||||
1
modules/common/playback/playbackactions.js
Normal file
1
modules/common/playback/playbackactions.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./playbackmanager.js","./../globalize.js","./../../emby-apiclient/connectionmanager.js"],function(_exports,_playbackmanager,_globalize,_connectionmanager){function promptUserToPlayActiveRecording(timer,displayItem,options){var items=[];return items.push({name:_globalize.default.translate("PlayFromLivePosition"),id:"playlive",icon:""}),items.push({name:_globalize.default.translate("PlayFromStartOfRecording"),id:"playrecording",icon:""}),function(options){return Emby.importModule("./modules/actionsheet/actionsheet.js").then(function(ActionSheet){return ActionSheet.show(options)})}({items:items,item:displayItem,text:_globalize.default.translate("ThisChannelIsActivelyRecording"),hasItemIcon:!0,longPreview:!0}).then(function(result){return"playrecording"===result?function(timer,options){return _connectionmanager.default.getApiClient(timer).getLiveTvRecordings({TimerId:timer.Id,IsInProgress:!0}).then(function(result){result=result.Items.filter(function(i){return i.TimerId===timer.Id})[0];return result?_playbackmanager.default.play({items:[result]}):_playbackmanager.default.play(options)})}(timer,options):"playlive"===result?_playbackmanager.default.play(options):options.cancelResult?Promise.reject(options.cancelResult):Promise.reject()})}function playChannelWithTimerId(displayItem,timerId,options){return _connectionmanager.default.getApiClient(displayItem).getLiveTvTimer(timerId).then(function(timer){return function(timer,displayItem,options){var now=Date.now();return now>=Date.parse(timer.StartDate)&&now<Date.parse(timer.EndDate)?promptUserToPlayActiveRecording(timer,displayItem,options):_playbackmanager.default.play(options)}(timer,displayItem,options)})}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;_exports.default={play:function(options){var _options$items;if(1===(null==(_options$items=options.items)?void 0:_options$items.length)){var item=options.items[0];switch(item.Type){case"TvChannel":return function(item,options){var _item$CurrentProgram=null==(_item$CurrentProgram=item.CurrentProgram)?void 0:_item$CurrentProgram.TimerId;return _item$CurrentProgram?playChannelWithTimerId(item.CurrentProgram||item,_item$CurrentProgram,options):_playbackmanager.default.play(options)}(item,options);case"Program":return function(item,options){var timerId=item.TimerId;return timerId?playChannelWithTimerId(item,timerId,options):_playbackmanager.default.play(options)}(item,options)}}return _playbackmanager.default.play(options)}}});
|
||||
1
modules/common/playback/playbackmanager.js
Normal file
1
modules/common/playback/playbackmanager.js
Normal file
File diff suppressed because one or more lines are too long
1
modules/common/playback/playbackvalidation.js
Normal file
1
modules/common/playback/playbackvalidation.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./playbackmanager.js","./../../emby-apiclient/apiclient.js"],function(_exports,_playbackmanager,_apiclient){function validatePlayback(options){var feature="playback";if("playback"===(feature=!options.item||"TvChannel"!==options.item.Type&&"Recording"!==options.item.Type?feature:"livetv")){var player=_playbackmanager.default.getCurrentPlayer();if(player&&!player.isLocalPlayer)return Promise.resolve()}return function(feature,options){return Emby.importModule("./modules/registrationservices/registrationservices.js").then(function(registrationServices){return registrationServices.validateFeature(feature,options)})}(feature,options).then(function(result){result&&result.enableTimeLimit&&(stopAutoStopTimer(),autoStopTimeout=setTimeout(onAutoStopTimeout,63e3))})}var autoStopTimeout;function onAutoStopTimeout(){stopAutoStopTimer(),_playbackmanager.default.stop()}function stopAutoStopTimer(){autoStopTimeout&&(clearTimeout(autoStopTimeout),autoStopTimeout=null)}function PlaybackValidation(){this.name="Playback validation",this.type="preplayintercept",this.id="playbackvalidation",this.order=-1}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,PlaybackValidation.prototype.intercept=function(options){return!options.fullscreen||options.item&&_apiclient.default.isLocalItem(options.item)?Promise.resolve():validatePlayback(options)};_exports.default=PlaybackValidation});
|
||||
1
modules/common/playback/playersettingsmenu.js
Normal file
1
modules/common/playback/playersettingsmenu.js
Normal file
File diff suppressed because one or more lines are too long
1
modules/common/playback/playqueueconfirmation.js
Normal file
1
modules/common/playback/playqueueconfirmation.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./../globalize.js","./../../dialog/dialog.js","./playbackmanager.js"],function(_exports,_globalize,_dialog,_playbackmanager){function PlayQueueConfirmation(){this.name="Play Queue Confirmation",this.type="preplayintercept",this.id="playqueueconfirmation"}function showConfirmation(playOptions){var player=_playbackmanager.default.getCurrentPlayer(),options={text:_globalize.default.translate("AfterThisPlaysConfirmation")},items=[];return items.push({name:_globalize.default.translate("Keep"),id:"keep",type:"submit"}),items.push({name:_globalize.default.translate("Clear"),id:"clear"}),items.push({name:_globalize.default.translate("Cancel"),id:"cancel",type:"cancel"}),options.buttons=items,(0,_dialog.default)(options).then(function(result){return"cancel"===result?Promise.reject():"keep"===result?function(options,player){var currentPlaylistIndex=_playbackmanager.default.getCurrentPlaylistIndex(player);return-1===currentPlaylistIndex?Promise.resolve():_playbackmanager.default.getPlaylist({StartIndex:currentPlaylistIndex},player).then(function(result){var items=options.items,result=result.Items;if(!result.length)return Promise.resolve();items.push.apply(items,babelHelpers.toConsumableArray(result))})}(playOptions,player):Promise.resolve()})}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,PlayQueueConfirmation.prototype.intercept=function(options){var item=options.item;if(item&&"play"===options.command&&"Audio"===options.mediaType&&_playbackmanager.default.isPlayingAudio()&&options.fullscreen){item=_playbackmanager.default.getCurrentPlaylistLength();if(1<item)return showConfirmation(options)}return Promise.resolve()};_exports.default=PlayQueueConfirmation});
|
||||
1
modules/common/playback/playqueuemanager.js
Normal file
1
modules/common/playback/playqueuemanager.js
Normal file
File diff suppressed because one or more lines are too long
1
modules/common/playback/sleeptimermenu.js
Normal file
1
modules/common/playback/sleeptimermenu.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./../globalize.js","./../../actionsheet/actionsheet.js","./playbackmanager.js","./../dataformatter.js"],function(_exports,_globalize,_actionsheet,_playbackmanager,_dataformatter){function showToast(options){Emby.importModule("./modules/toast/toast.js").then(function(toast){return toast(options)})}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;_exports.default={show:function(options){for(var player=options.player,menuItems=[],currentMode=_playbackmanager.default.getSleepTimerMode(player),now=(currentMode&&"None"!==currentMode&&menuItems.push({name:_globalize.default.translate("TurnOffTimer"),id:"stoptimer"}),menuItems.push({name:_globalize.default.translate("AfterCurrentItem"),id:"afteritem"}),Date.now()),increments=[3e5,6e5,9e5,12e5,18e5,27e5,36e5,72e5,108e5,144e5],i=0,length=increments.length;i<length;i++){var time=now+increments[i],date=new Date(time);menuItems.push({name:_dataformatter.default.formatRelativeTime(date,!1),id:time})}return _actionsheet.default.show({items:menuItems,positionTo:options.positionTo,positionX:options.positionX,positionY:options.positionY,transformOrigin:options.transformOrigin,noTextWrap:options.noTextWrap,title:_globalize.default.translate("HeaderStopPlayback"),hasItemSelectionState:!1}).then(function(result){switch(result){case"afteritem":_playbackmanager.default.setSleepTimer({sleepTimerMode:"AfterItem"},player),showToast({text:_globalize.default.translate("SleepTimerIsSet"),icon:""});break;case"stoptimer":_playbackmanager.default.setSleepTimer({sleepTimerMode:"None"},player),showToast({text:_globalize.default.translate("SleepTimerIsOff"),icon:""});break;default:var _time=parseInt(result);_time&&!isNaN(_time)&&(_playbackmanager.default.setSleepTimer({sleepTimerMode:"AtTime",sleepTimerEndTime:new Date(_time)},player),showToast({text:_globalize.default.translate("SleepTimerIsSet"),icon:""}))}})}}});
|
||||
1
modules/common/pluginmanager.js
Normal file
1
modules/common/pluginmanager.js
Normal file
File diff suppressed because one or more lines are too long
1
modules/common/qualitydetection.js
Normal file
1
modules/common/qualitydetection.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports"],function(_exports){function supportsConnectionTypeDetection(){if("undefined"!=typeof navigator){var connection=navigator.connection;if(connection){var connectionType=connection.type;if(connectionType||void 0!==connectionType)return!0;connectionType=connection.effectiveType;if("slow-2g"===connectionType||"2g"===connectionType||"3g"===connectionType)return!0}}return!1}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;_exports.default={supportsConnectionTypeDetection:supportsConnectionTypeDetection,getDefaultQuality:function(networkType){switch(networkType){case"wan":return function(){if("undefined"!=typeof navigator){var connection=navigator.connection;if(connection){var downlink=connection.downlink;if(downlink&&0<downlink&&downlink<Number.POSITIVE_INFINITY)return downlink=downlink*1e6*.7,downlink=parseInt(downlink);if((downlink=connection.downlinkMax)&&0<downlink&&downlink<Number.POSITIVE_INFINITY)return downlink=downlink*1e6*.7,downlink=parseInt(downlink)}}return null}()||(supportsConnectionTypeDetection()?12e6:4000002);case"cellular":return 1000001;default:return 2e8}}}});
|
||||
1
modules/common/qualityoptions.js
Normal file
1
modules/common/qualityoptions.js
Normal file
File diff suppressed because one or more lines are too long
1
modules/common/querystring.js
Normal file
1
modules/common/querystring.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports"],function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;_exports.default={paramsToString:function(params){var key,urlSearchParams=new URLSearchParams;for(key in params){var value=params[key];null!=value&&""!==value&&urlSearchParams.set(key,value)}return urlSearchParams.toString()}}});
|
||||
1
modules/common/recordinghelper.js
Normal file
1
modules/common/recordinghelper.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./../emby-apiclient/connectionmanager.js","./../loading/loading.js","./globalize.js","./itemmanager/itemmanager.js"],function(_exports,_connectionmanager,_loading,_globalize,_itemmanager){function showToast(options){Emby.importModule("./modules/toast/toast.js").then(function(toast){return toast(options)})}function changeRecordingToSeries(apiClient,timerId,programId,confirmTimerCancellation){return _loading.default.show(),apiClient.getItem(apiClient.getCurrentUserId(),programId).then(function(item){return item.IsSeries?apiClient.getNewLiveTvTimerDefaults({programId:programId}).then(function(timerDefaults){return apiClient.createLiveTvSeriesTimer(timerDefaults).then(function(){_loading.default.hide(),showToast(_globalize.default.translate("SeriesRecordingScheduled"))})}):cancelTimer(apiClient,timerId,confirmTimerCancellation).then(function(result){return _loading.default.hide(),Promise.resolve(result)})})}function cancelTimer(apiClient,timerId,confirm){return _itemmanager.default.deleteItems({items:[{Id:timerId,ServerId:apiClient.serverId(),Type:"Timer"}],confirm:!0===confirm,navigate:!1})}function createRecording(apiClient,programId,isSeries){return _loading.default.show(),apiClient.getNewLiveTvTimerDefaults({programId:programId}).then(function(item){return(isSeries?apiClient.createLiveTvSeriesTimer(item):apiClient.createLiveTvTimer(item)).then(function(){_loading.default.hide(),showToast(_globalize.default.translate("RecordingScheduled"))})})}function showMultiCancellationPrompt(serverId,programId,timerId,timerStatus,seriesTimerId){var options,items=[];return items.push({name:_globalize.default.translate("HeaderKeepRecording"),id:"cancel",type:"submit"}),items.push("InProgress"===timerStatus?{name:_globalize.default.translate("HeaderStopRecording"),id:"canceltimer",type:"cancel"}:{name:_globalize.default.translate("HeaderCancelRecording"),id:"canceltimer",type:"cancel"}),items.push({name:_globalize.default.translate("HeaderCancelSeries"),id:"cancelseriestimer",type:"cancel"}),options={text:_globalize.default.translate("MessageConfirmRecordingCancellation"),buttons:items},Emby.importModule("./modules/dialog/dialog.js").then(function(dialog){return dialog(options)}).then(function(result){var apiClient=_connectionmanager.default.getApiClient(serverId);return"canceltimer"===result?(_loading.default.show(),cancelTimer(apiClient,timerId,!0)):"cancelseriestimer"===result?(_loading.default.show(),apiClient.cancelLiveTvSeriesTimer(seriesTimerId).then(function(){showToast(_globalize.default.translate("SeriesCancelled")),_loading.default.hide()})):Promise.resolve()})}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;_exports.default={cancelTimer:cancelTimer,createRecording:createRecording,changeRecordingToSeries:changeRecordingToSeries,toggleRecording:function(serverId,programId,timerId,timerStatus,seriesTimerId){var apiClient=_connectionmanager.default.getApiClient(serverId),hasTimer=timerId&&"Cancelled"!==timerStatus;return seriesTimerId&&hasTimer?showMultiCancellationPrompt(serverId,0,timerId,timerStatus,seriesTimerId):hasTimer&&programId?changeRecordingToSeries(apiClient,timerId,programId,!0):programId?createRecording(apiClient,programId):Promise.reject()}}});
|
||||
1
modules/common/responsehelper.js
Normal file
1
modules/common/responsehelper.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./../loading/loading.js","./globalize.js"],function(_exports,_loading,_globalize){function ResponseHelper(){}function showAlertAndReject(options,response){function onDone(){return Promise.reject(response)}return function(options){return Emby.importModule("./modules/common/dialogs/alert.js").then(function(alert){return alert(options)})}(options).then(onDone,onDone)}function getErrorObject(response,msg,errorTitle,options){return errorTitle||!1!==(null==options?void 0:options.enableDefaultTitle)&&(errorTitle=_globalize.default.translate("Error")),"string"==typeof response&&msg.push(response),{title:errorTitle,text:msg.join("\n\n")||_globalize.default.translate("DefaultErrorMessage"),html:msg.join("<br/><br/>")||_globalize.default.translate("DefaultErrorMessage"),response:response,centerText:msg.length<2}}function getErrorInfo(response,options){var _response$headers,errorCode=response.errorCode||response,errorTitle=response.errorTitle;switch(errorCode){case"noitems":return Promise.resolve({text:_globalize.default.translate("NoSelectedItemsSupportOperation"),response:response});case"nocommands":return Promise.resolve({text:_globalize.default.translate("NoOperationsForSelectedItems"),response:response});case"RateLimitExceeded":return Promise.resolve({title:errorTitle||_globalize.default.translate("HeaderPlaybackError"),text:_globalize.default.translate("RateLimitExceeded"),response:response});case"NoPlayableItems":case"NoCompatibleStream":case"PlaceHolder":return Promise.resolve({title:errorTitle||_globalize.default.translate("HeaderPlaybackError"),text:_globalize.default.translate("PlaybackError"+errorCode),response:response})}errorTitle||401===response.status&&(errorTitle=_globalize.default.translate("HeaderSignInError"));var msg=[];return response.json&&"application/json"===(null==(_response$headers=response.headers)?void 0:_response$headers.get("Content-Type"))?response.json().then(function(responseInfo){return responseInfo.Message&&msg.push(responseInfo.Message),responseInfo.Title&&(errorTitle=responseInfo.Title),getErrorObject(response,msg,errorTitle,options)}):response.text?response.text().then(function(responseText){return responseText&&msg.push(responseText),getErrorObject(response,msg,errorTitle,options)}):Promise.resolve(getErrorObject(response,msg,errorTitle,options))}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,ResponseHelper.prototype.handleConfigurationSavedResponse=function(response){var options;return _loading.default.hide(),options=_globalize.default.translate("SettingsSaved"),Emby.importModule("./modules/toast/toast.js").then(function(toast){toast(options)}),Promise.resolve(response)},ResponseHelper.prototype.getErrorInfo=getErrorInfo,ResponseHelper.prototype.handleErrorResponse=function(response){return _loading.default.hide(),console.error(response||"Error",new Error),getErrorInfo(response).then(function(errorInfo){return showAlertAndReject(errorInfo)})};_exports.default=new ResponseHelper});
|
||||
1
modules/common/servershutdown.js
Normal file
1
modules/common/servershutdown.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./dialogs/confirm.js","./globalize.js"],function(_exports,_confirm,_globalize){function formatTextWithDisruptions(text,disruptions){return text=disruptions.length?(text=(text+="\n\n")+_globalize.default.translate("FollowingActivityWillBeDisrupted")+"\n\n")+disruptions.map(function(i){return"- "+i}).join("\n"):text}function formatHtmlWithDisruptions(text,disruptions){return disruptions.length?(text=(text+="<p>")+_globalize.default.translate("FollowingActivityWillBeDisrupted")+"</p><ul>")+disruptions.map(function(i){return"<li>"+i+"</li>"}).join("")+"</ul>":null}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;_exports.default={confirmRestartOrShutdown:function(options){return function(options){return options=[(options=options.apiClient).getSessions({IsPlaying:!0}),options.getLiveTvRecordings({IsInProgress:!0})],Promise.all(options).then(function(responses){var sessions=responses[0],responses=responses[1].Items,list=[];return 1===sessions.length?list.push(_globalize.default.translate("OneActivePlaybackSession")):sessions.length&&list.push(_globalize.default.translate("NumActivePlaybackSessions",sessions.length)),1===responses.length?list.push(_globalize.default.translate("OneActiveRecording")):responses.length&&list.push(_globalize.default.translate("NumActiveRecordings",responses.length)),list})}(options).then(function(disruptions){return("shutdown"===options.type?function(disruptions){return(0,_confirm.default)({title:_globalize.default.translate("Shutdown"),text:formatTextWithDisruptions(_globalize.default.translate("MessageConfirmShutdown"),disruptions),html:formatHtmlWithDisruptions(_globalize.default.translate("MessageConfirmShutdown"),disruptions),confirmText:_globalize.default.translate("Shutdown"),primary:"cancel",centerText:0===disruptions.length})}:function(disruptions){return(0,_confirm.default)({title:_globalize.default.translate("Restart"),text:formatTextWithDisruptions(_globalize.default.translate("MessageConfirmRestart"),disruptions),html:formatHtmlWithDisruptions(_globalize.default.translate("MessageConfirmRestart"),disruptions),confirmText:_globalize.default.translate("Restart"),primary:"cancel",centerText:0===disruptions.length})})(disruptions)})}}});
|
||||
1
modules/common/servicelocator.js
Normal file
1
modules/common/servicelocator.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports"],function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.iapManager=_exports.fullscreenManager=_exports.fileRepository=_exports.cameraUpload=_exports.appStorage=_exports.appLogger=_exports.appHost=_exports.apiClientFactory=void 0,_exports.initialize=function(services){services.appStorage&&(_exports.appStorage=services.appStorage);services.appHost&&(_exports.appHost=services.appHost);services.fullscreenManager&&(_exports.fullscreenManager=services.fullscreenManager);services.shell&&(_exports.shell=services.shell);services.iapManager&&(_exports.iapManager=services.iapManager);services.wakeOnLan&&(_exports.wakeOnLan=services.wakeOnLan);services.serverDiscovery&&(_exports.serverDiscovery=services.serverDiscovery);services.fileRepository&&(_exports.fileRepository=services.fileRepository);services.itemRepository&&(_exports.itemRepository=services.itemRepository);services.transferManager&&(_exports.transferManager=services.transferManager);services.userActionRepository&&(_exports.userActionRepository=services.userActionRepository);services.localSync&&(_exports.localSync=services.localSync);services.cameraUpload&&(_exports.cameraUpload=services.cameraUpload);services.apiClientFactory&&(_exports.apiClientFactory=services.apiClientFactory);services.appLogger&&(_exports.appLogger=services.appLogger)},_exports.wakeOnLan=_exports.userActionRepository=_exports.transferManager=_exports.shell=_exports.serverDiscovery=_exports.localSync=_exports.itemRepository=void 0});
|
||||
1340
modules/common/strings/ar.json
Normal file
1340
modules/common/strings/ar.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/bg.json
Normal file
1340
modules/common/strings/bg.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/ca.json
Normal file
1340
modules/common/strings/ca.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/cs.json
Normal file
1340
modules/common/strings/cs.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/da.json
Normal file
1340
modules/common/strings/da.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/de.json
Normal file
1340
modules/common/strings/de.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/el.json
Normal file
1340
modules/common/strings/el.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/en-GB.json
Normal file
1340
modules/common/strings/en-GB.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/en-US.json
Normal file
1340
modules/common/strings/en-US.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/es-AR.json
Normal file
1340
modules/common/strings/es-AR.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/es-MX.json
Normal file
1340
modules/common/strings/es-MX.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/es-US.json
Normal file
1340
modules/common/strings/es-US.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/es.json
Normal file
1340
modules/common/strings/es.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/et.json
Normal file
1340
modules/common/strings/et.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/fa.json
Normal file
1340
modules/common/strings/fa.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/fi.json
Normal file
1340
modules/common/strings/fi.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/fr-CA.json
Normal file
1340
modules/common/strings/fr-CA.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/fr.json
Normal file
1340
modules/common/strings/fr.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/he.json
Normal file
1340
modules/common/strings/he.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/hi.json
Normal file
1340
modules/common/strings/hi.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/hr.json
Normal file
1340
modules/common/strings/hr.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/hu.json
Normal file
1340
modules/common/strings/hu.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/id.json
Normal file
1340
modules/common/strings/id.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/is.json
Normal file
1340
modules/common/strings/is.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/it.json
Normal file
1340
modules/common/strings/it.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/ja.json
Normal file
1340
modules/common/strings/ja.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/kk.json
Normal file
1340
modules/common/strings/kk.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/ko.json
Normal file
1340
modules/common/strings/ko.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/lt.json
Normal file
1340
modules/common/strings/lt.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/lv.json
Normal file
1340
modules/common/strings/lv.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/mk.json
Normal file
1340
modules/common/strings/mk.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/ms.json
Normal file
1340
modules/common/strings/ms.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/nb.json
Normal file
1340
modules/common/strings/nb.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/nl.json
Normal file
1340
modules/common/strings/nl.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/pl.json
Normal file
1340
modules/common/strings/pl.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/pt-BR.json
Normal file
1340
modules/common/strings/pt-BR.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/pt-PT.json
Normal file
1340
modules/common/strings/pt-PT.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/ro.json
Normal file
1340
modules/common/strings/ro.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/ru.json
Normal file
1340
modules/common/strings/ru.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/sk.json
Normal file
1340
modules/common/strings/sk.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/sl.json
Normal file
1340
modules/common/strings/sl.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/sq.json
Normal file
1340
modules/common/strings/sq.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/sv.json
Normal file
1340
modules/common/strings/sv.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/th.json
Normal file
1340
modules/common/strings/th.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/tr.json
Normal file
1340
modules/common/strings/tr.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/uk.json
Normal file
1340
modules/common/strings/uk.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/vi.json
Normal file
1340
modules/common/strings/vi.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/zh-CN.json
Normal file
1340
modules/common/strings/zh-CN.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/zh-HK.json
Normal file
1340
modules/common/strings/zh-HK.json
Normal file
File diff suppressed because it is too large
Load Diff
1340
modules/common/strings/zh-TW.json
Normal file
1340
modules/common/strings/zh-TW.json
Normal file
File diff suppressed because it is too large
Load Diff
1
modules/common/subtitleappearancehelper.js
Normal file
1
modules/common/subtitleappearancehelper.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports"],function(_exports){function getTextStyles(settings){var list=[],multiplier={smaller:.5,small:.7,medium:1,large:1.3,larger:1.72,extralarge:2}[settings.textSize||"medium"],multiplier=(list.push({name:"font-size",value:multiplier+"em"}),settings.positionBottom||"10"),multiplier=(list.push({name:"positionBottom",value:multiplier}),settings.positionTop||"5");switch(list.push({name:"positionTop",value:multiplier}),settings.dropShadow||""){case"raised":list.push({name:"text-shadow",value:"-1px -1px white, 0px -1px white, -1px 0px white, 1px 1px black, 0px 1px black, 1px 0px black"});break;case"depressed":list.push({name:"text-shadow",value:"1px 1px white, 0px 1px white, 1px 0px white, -1px -1px black, 0px -1px black, -1px 0px black"});break;case"uniform":list.push({name:"text-shadow",value:"-1px 0px #000000, 0px 1px #000000, 1px 0px #000000, 0px -1px #000000"});break;case"none":list.push({name:"text-shadow",value:"none"});break;default:list.push({name:"text-shadow",value:"#000000 0 0 .25em"})}multiplier=function(hex,alpha){if("transparent"===hex)return hex;if(/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex))return hex="0x"+(hex=3===(hex=hex.substring(1).split("")).length?[hex[0],hex[0],hex[1],hex[1],hex[2],hex[2]]:hex).join(""),alpha=Math.min(1,alpha),alpha=Math.max(0,alpha),"rgba("+[hex>>16&255,hex>>8&255,255&hex].join(",")+","+alpha+")";throw new Error("Bad Hex")}(settings.textBackground,parseFloat(settings.textBackgroundOpacity)),multiplier&&list.push({name:"background-color",value:multiplier}),multiplier=settings.textColor||"#ffffff";return multiplier&&list.push({name:"color",value:multiplier}),list.push({name:"font-family",value:"inherit"}),list}function convertStyleListToObject(list){for(var obj={},i=0,length=list.length;i<length;i++)obj[function(name){switch(name){case"background-color":return"backgroundColor";case"text-shadow":return"textShadow";case"font-family":return"fontFamily";case"font-size":return"fontSize";default:return name}}(list[i].name)]=list[i].value;return obj}function getStyles(settings,options){return{text:getTextStyles(settings),window:[]}}function applyStyleList(styles,elem){for(var i=0,length=styles.length;i<length;i++){var style=styles[i];elem.style[style.name]=style.value}}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;_exports.default={getStyles:getStyles,applyStyles:function(elements,appearanceSettings,options){appearanceSettings=getStyles(appearanceSettings),elements.text&&applyStyleList(appearanceSettings.text,elements.text),elements.window&&applyStyleList(appearanceSettings.window,elements.window)},getStyleObjects:function(settings,options){return{text:convertStyleListToObject((settings=getStyles(settings)).text),window:convertStyleListToObject(settings.window)}}}});
|
||||
1
modules/common/textencoding.js
Normal file
1
modules/common/textencoding.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports"],function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var tempDiv,doc="undefined"==typeof document?null:document;_exports.default={htmlEncode:function(value){var div=tempDiv;if(!div){if(!doc)return value;div=doc.createElement("div"),tempDiv=div}return div.textContent=value,div.innerHTML}}});
|
||||
1
modules/common/usersettings/usersettings.js
Normal file
1
modules/common/usersettings/usersettings.js
Normal file
@@ -0,0 +1 @@
|
||||
define(["exports","./usersettingsbuilder.js"],function(_exports,_usersettingsbuilder){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;_exports.default=new _usersettingsbuilder.default});
|
||||
456
modules/common/usersettings/usersettingsbuilder.js
Normal file
456
modules/common/usersettings/usersettingsbuilder.js
Normal file
@@ -0,0 +1,456 @@
|
||||
define([
|
||||
"exports",
|
||||
"./../appsettings.js",
|
||||
"./../../emby-apiclient/events.js",
|
||||
], function (_exports, _appsettings, _events) {
|
||||
function UserSettings() {}
|
||||
function getHomeSection(instance, index) {
|
||||
instance =
|
||||
instance.get("homesection" + index) ||
|
||||
instance.getDefaultHomeScreenSection(index);
|
||||
return (instance =
|
||||
"librarytiles" !== instance &&
|
||||
"smalllibrarytiles-automobile" !== instance &&
|
||||
"librarytiles-automobile" !== instance
|
||||
? instance
|
||||
: "smalllibrarytiles");
|
||||
}
|
||||
(Object.defineProperty(_exports, "__esModule", { value: !0 }),
|
||||
(_exports.default = void 0),
|
||||
(UserSettings.prototype.setUserInfo = function (userId, apiClient) {
|
||||
var self;
|
||||
return (
|
||||
this.saveTimeout && clearTimeout(this.saveTimeout),
|
||||
(this.currentUserId = userId),
|
||||
(this.currentApiClient = apiClient),
|
||||
(this.supportsPartialSave =
|
||||
null == apiClient
|
||||
? void 0v
|
||||
: apiClient.isMinServerVersion("4.9.0.23")),
|
||||
userId
|
||||
? ((self = this),
|
||||
apiClient.getDisplayPreferences(userId).then(function (result) {
|
||||
((self.displayPrefs = result),
|
||||
_events.default.trigger(self, "load"));
|
||||
}))
|
||||
: ((this.displayPrefs = null), Promise.resolve())
|
||||
);
|
||||
}),
|
||||
(UserSettings.prototype.getData = function () {
|
||||
return this.displayPrefs;
|
||||
}),
|
||||
(UserSettings.prototype.importFrom = function (instance) {
|
||||
this.displayPrefs = instance.getData();
|
||||
}),
|
||||
(UserSettings.prototype.set = function (name, value, enableOnServer) {
|
||||
var currentValue,
|
||||
userId = this.currentUserId;
|
||||
if (userId)
|
||||
return (
|
||||
(currentValue = this.get(name, enableOnServer)),
|
||||
(userId = _appsettings.default.set(
|
||||
name,
|
||||
(value = null == value ? null : value),
|
||||
userId,
|
||||
)),
|
||||
!1 !== enableOnServer &&
|
||||
this.displayPrefs &&
|
||||
((enableOnServer = null == value ? value : value.toString()),
|
||||
(this.displayPrefs[name] = enableOnServer),
|
||||
(function (instance, name, value) {
|
||||
var obj;
|
||||
instance.supportsPartialSave
|
||||
? (((obj = {})[name] = value),
|
||||
instance.currentApiClient.updatePartialDisplayPreferences(
|
||||
obj,
|
||||
instance.currentUserId,
|
||||
))
|
||||
: (instance.saveTimeout && clearTimeout(instance.saveTimeout),
|
||||
(instance.saveTimeout = setTimeout(
|
||||
function () {
|
||||
((this.saveTimeout = null),
|
||||
this.currentApiClient.updateDisplayPreferences(
|
||||
this.displayPrefs,
|
||||
this.currentUserId,
|
||||
));
|
||||
}.bind(instance),
|
||||
50,
|
||||
)));
|
||||
})(this, name, enableOnServer)),
|
||||
currentValue !== value &&
|
||||
_events.default.trigger(this, "change", [name, value]),
|
||||
userId
|
||||
);
|
||||
throw new Error("userId cannot be null");
|
||||
}),
|
||||
(UserSettings.prototype.remove = function (name, enableOnServer) {
|
||||
return this.set(name, null, enableOnServer);
|
||||
}),
|
||||
(UserSettings.prototype.get = function (name, enableOnServer) {
|
||||
var userId = this.currentUserId;
|
||||
return userId
|
||||
? !1 !== enableOnServer && this.displayPrefs
|
||||
? this.displayPrefs[name]
|
||||
: _appsettings.default.get(name, userId)
|
||||
: null;
|
||||
}),
|
||||
(UserSettings.prototype.serverConfig = function (config) {
|
||||
var apiClient = this.currentApiClient;
|
||||
return config
|
||||
? apiClient.updateUserConfiguration(this.currentUserId, config)
|
||||
: apiClient.getUser(this.currentUserId).then(function (user) {
|
||||
return user.Configuration;
|
||||
});
|
||||
}),
|
||||
(UserSettings.prototype.enableNextVideoInfoOverlay = function (val) {
|
||||
return null != val
|
||||
? this.set("enableNextVideoInfoOverlay", val.toString())
|
||||
: "false" !== (val = this.get("enableNextVideoInfoOverlay"));
|
||||
}),
|
||||
(UserSettings.prototype.getEnableLogoAsTitle = function (displayLanguage) {
|
||||
var val = this.get("enableLogoAsTitle");
|
||||
return val
|
||||
? "true" === val
|
||||
: displayLanguage && displayLanguage.toLowerCase().startsWith("en");
|
||||
}),
|
||||
(UserSettings.prototype.hideEpisodeSpoilerInfo = function (val) {
|
||||
return null != val
|
||||
? this.set("hideEpisodeSpoilerInfo", val.toString(), !0)
|
||||
: "true" === (val = this.get("hideEpisodeSpoilerInfo", !0));
|
||||
}),
|
||||
(UserSettings.prototype.setEnableLogoAsTitle = function (val) {
|
||||
return this.set("enableLogoAsTitle", val.toString());
|
||||
}),
|
||||
(UserSettings.prototype.groupCollectionItems = function (val) {
|
||||
return null != val
|
||||
? this.set("groupCollectionItems", val.toString(), !0)
|
||||
: "false" !== (val = this.get("groupCollectionItems", !0));
|
||||
}),
|
||||
(UserSettings.prototype.enableAutoFolderJumpThrough = function (val) {
|
||||
return null != val
|
||||
? this.set("enableAutoFolderJumpThrough", val.toString(), !0)
|
||||
: "false" !== (val = this.get("enableAutoFolderJumpThrough", !0));
|
||||
}),
|
||||
(UserSettings.prototype.enableHomescreenFocusPreviews = function (val) {
|
||||
return null != val
|
||||
? this.set("enableHomescreenFocusPreviews", val.toString(), !0)
|
||||
: "true" === (val = this.get("enableHomescreenFocusPreviews", !0));
|
||||
}),
|
||||
(UserSettings.prototype.genreLimitForListsOnDetails = function (val) {
|
||||
return null != val
|
||||
? this.set("genreLimitForListsOnDetails", val.toString(), !0)
|
||||
: parseInt(this.get("genreLimitForListsOnDetails", !0) || "3");
|
||||
}),
|
||||
(UserSettings.prototype.genreLimitOnDetails = function (val) {
|
||||
return null != val
|
||||
? this.set("genreLimitOnDetails", val.toString(), !0)
|
||||
: parseInt(this.get("genreLimitOnDetails", !0) || "1");
|
||||
}),
|
||||
(UserSettings.prototype.showDetailPoster = function (isTvLayout, val) {
|
||||
var key = "showDetailPoster" + (isTvLayout ? "tv" : "");
|
||||
if (null != val) return this.set(key, val.toString(), !0);
|
||||
switch ((val = this.get(key, !0))) {
|
||||
case "true":
|
||||
return !0;
|
||||
case "false":
|
||||
return !1;
|
||||
default:
|
||||
return !isTvLayout;
|
||||
}
|
||||
}),
|
||||
(UserSettings.prototype.showEndsAtOnDetails = function (val) {
|
||||
return null != val
|
||||
? this.set("showEndsAtOnDetails", val.toString(), !0)
|
||||
: "false" !== (val = this.get("showEndsAtOnDetails", !0));
|
||||
}),
|
||||
(UserSettings.prototype.enableRatingInfoOnPlaybackStart = function (val) {
|
||||
return null != val
|
||||
? this.set("enableRatingInfoOnPlaybackStart", val.toString(), !0)
|
||||
: "false" !== (val = this.get("enableRatingInfoOnPlaybackStart", !0));
|
||||
}),
|
||||
(UserSettings.prototype.skipBackLength = function (val) {
|
||||
return null != val
|
||||
? this.set("skipBackLength", val.toString())
|
||||
: parseInt(this.get("skipBackLength") || "10000");
|
||||
}),
|
||||
(UserSettings.prototype.skipForwardLength = function (val) {
|
||||
return null != val
|
||||
? this.set("skipForwardLength", val.toString())
|
||||
: parseInt(this.get("skipForwardLength") || "10000");
|
||||
}),
|
||||
(UserSettings.prototype.settingsTheme = function (val) {
|
||||
return null != val
|
||||
? this.set("settingsTheme", val, !1)
|
||||
: this.get("settingsTheme", !1);
|
||||
}),
|
||||
(UserSettings.prototype.theme = function (val) {
|
||||
return null != val
|
||||
? this.set("appTheme", val, !1)
|
||||
: this.get("appTheme", !1) || null;
|
||||
}),
|
||||
(UserSettings.prototype.accentColor = function (val) {
|
||||
return null != val
|
||||
? this.set("accentColor", val, !0)
|
||||
: this.get("accentColor", !0) || "blue";
|
||||
}),
|
||||
(UserSettings.prototype.useSystemAccentColor = function (val) {
|
||||
return null != val
|
||||
? this.set("useSystemAccentColor", val.toString(), !1)
|
||||
: "true" === this.get("useSystemAccentColor", !1);
|
||||
}),
|
||||
(UserSettings.prototype.osdContentSection = function (type, val) {
|
||||
return null != val
|
||||
? this.set("osdcontentsection-" + type, val, !1)
|
||||
: this.get("osdcontentsection-" + type, !1);
|
||||
}),
|
||||
(UserSettings.prototype.drawerStyle = function (val) {
|
||||
return null != val
|
||||
? this.set("drawerstyle", val, !1)
|
||||
: this.get("drawerstyle", !1) || "closed";
|
||||
}),
|
||||
(UserSettings.prototype.settingsDrawerStyle = function (val) {
|
||||
return null != val
|
||||
? this.set("settingsdrawerstyle", val, !1)
|
||||
: this.get("settingsdrawerstyle", !1) || "closed";
|
||||
}),
|
||||
(UserSettings.prototype.videoScreenUpAction = function (val) {
|
||||
return null != val
|
||||
? this.set("videoScreenUpAction", val, !0)
|
||||
: this.get("videoScreenUpAction", !0);
|
||||
}),
|
||||
(UserSettings.prototype.nowPlayingAudioBackgroundStyle = function (val) {
|
||||
return null != val
|
||||
? this.set("nowPlayingAudioBackgroundStyle", val, !0)
|
||||
: this.get("nowPlayingAudioBackgroundStyle", !0) || "blur";
|
||||
}),
|
||||
(UserSettings.prototype.nowPlayingVideoBackgroundStyle = function (val) {
|
||||
return null != val
|
||||
? this.set("nowPlayingVideoBackgroundStyle", val, !0)
|
||||
: this.get("nowPlayingVideoBackgroundStyle", !0) || "backdrop";
|
||||
}),
|
||||
(UserSettings.prototype.stillWatchingTimeMs = function (val) {
|
||||
return null != val
|
||||
? this.set("stillwatchingms", val, !0)
|
||||
: parseInt(this.get("stillwatchingms", !0) || "14400000");
|
||||
}),
|
||||
(UserSettings.prototype.tvHome = function (val) {
|
||||
return null != val
|
||||
? this.set("tvhome", val, !0)
|
||||
: this.get("tvhome", !0) || "vertical";
|
||||
}),
|
||||
(UserSettings.prototype.tvScrollDirection = function (val) {
|
||||
return null != val
|
||||
? this.set("tvScrollDirection", val, !0)
|
||||
: this.get("tvScrollDirection", !0) || "vertical";
|
||||
}),
|
||||
(UserSettings.prototype.itemSortBy = function (itemId, val) {
|
||||
itemId = "sortitems-" + itemId + "-by";
|
||||
return null != val
|
||||
? this.set(itemId, val, !1)
|
||||
: this.get(itemId, !1) || "";
|
||||
}),
|
||||
(UserSettings.prototype.itemSortOrder = function (itemId, val) {
|
||||
itemId = "sortitems-" + itemId + "-order";
|
||||
return null != val
|
||||
? this.set(itemId, val, !1)
|
||||
: this.get(itemId, !1) || "Ascending";
|
||||
}),
|
||||
(UserSettings.prototype.enableStillWatching = function (val) {
|
||||
return null != val
|
||||
? this.stillWatchingTimeMs(val ? 144e5 : 0)
|
||||
: 0 < this.stillWatchingTimeMs();
|
||||
}),
|
||||
(UserSettings.prototype.getSubtitleAppearanceSettings = function (key) {
|
||||
key = key || "localplayersubtitleappearance3";
|
||||
key = JSON.parse(this.get(key, !1) || "{}");
|
||||
return (
|
||||
key.dropShadow || (key.dropShadow = "dropshadow"),
|
||||
key.textBackground || (key.textBackground = "transparent"),
|
||||
key.textBackgroundOpacity || (key.textBackgroundOpacity = "1"),
|
||||
key.textColor || (key.textColor = "#ffffff"),
|
||||
null == key.positionBottom && (key.positionBottom = "10"),
|
||||
null == key.positionTop && (key.positionTop = "5"),
|
||||
key
|
||||
);
|
||||
}),
|
||||
(UserSettings.prototype.setSubtitleAppearanceSettings = function (
|
||||
value,
|
||||
key,
|
||||
) {
|
||||
return this.set(
|
||||
(key = key || "localplayersubtitleappearance3"),
|
||||
JSON.stringify(value),
|
||||
!1,
|
||||
);
|
||||
}),
|
||||
(UserSettings.prototype.setFilter = function (key, value, enableOnServer) {
|
||||
return this.set(key, value, !0 === enableOnServer);
|
||||
}),
|
||||
(UserSettings.prototype.getFilter = function (key, enableOnServer) {
|
||||
key = this.get(key, !0 === enableOnServer);
|
||||
return "null" === key || "" === key ? null : key;
|
||||
}),
|
||||
(UserSettings.prototype.getDefaultHomeScreenSection = function (index) {
|
||||
switch (index) {
|
||||
case 0:
|
||||
return "smalllibrarytiles";
|
||||
case 1:
|
||||
return "resume";
|
||||
case 2:
|
||||
return "resumeaudio";
|
||||
case 3:
|
||||
return "livetv";
|
||||
case 4:
|
||||
return "none";
|
||||
case 5:
|
||||
return "latestmedia";
|
||||
default:
|
||||
return "none";
|
||||
}
|
||||
}),
|
||||
(UserSettings.prototype.homeSection0 = function (val) {
|
||||
return null != val
|
||||
? this.set("homesection0", val.toString(), !0)
|
||||
: getHomeSection(this, 0);
|
||||
}),
|
||||
(UserSettings.prototype.homeSection1 = function (val) {
|
||||
return null != val
|
||||
? this.set("homesection1", val.toString(), !0)
|
||||
: getHomeSection(this, 1);
|
||||
}),
|
||||
(UserSettings.prototype.homeSection2 = function (val) {
|
||||
return null != val
|
||||
? this.set("homesection2", val.toString(), !0)
|
||||
: getHomeSection(this, 2);
|
||||
}),
|
||||
(UserSettings.prototype.homeSection3 = function (val) {
|
||||
return null != val
|
||||
? this.set("homesection3", val.toString(), !0)
|
||||
: getHomeSection(this, 3);
|
||||
}),
|
||||
(UserSettings.prototype.homeSection4 = function (val) {
|
||||
return null != val
|
||||
? this.set("homesection4", val.toString(), !0)
|
||||
: getHomeSection(this, 4);
|
||||
}),
|
||||
(UserSettings.prototype.homeSection5 = function (val) {
|
||||
return null != val
|
||||
? this.set("homesection5", val.toString(), !0)
|
||||
: getHomeSection(this, 5);
|
||||
}),
|
||||
(UserSettings.prototype.homeSection6 = function (val) {
|
||||
return null != val
|
||||
? this.set("homesection6", val.toString(), !0)
|
||||
: getHomeSection(this, 6);
|
||||
}),
|
||||
(UserSettings.prototype.getHomeScreenSections = function () {
|
||||
for (var sections = [], i = 0; i < 7; i++) {
|
||||
var section = getHomeSection(this, i);
|
||||
"none" !== section && sections.push(section);
|
||||
}
|
||||
return sections;
|
||||
}),
|
||||
(UserSettings.prototype.guideChannelStyle = function (val) {
|
||||
return null != val
|
||||
? this.set("guideChannelStyle", val.toString(), !0)
|
||||
: this.get("guideChannelStyle", !0) || "image";
|
||||
}),
|
||||
(UserSettings.prototype.showChannelNumberInGuide = function (val) {
|
||||
return null != val
|
||||
? this.set("showChannelNumberInGuide", val.toString(), !0)
|
||||
: "false" !== this.get("showChannelNumberInGuide", !0);
|
||||
}),
|
||||
(UserSettings.prototype.showFullMediaInfoOnDetailScreen = function (val) {
|
||||
return null != val
|
||||
? this.set("showFullMediaInfoOnDetailScreen", val.toString(), !0)
|
||||
: "false" !== this.get("showFullMediaInfoOnDetailScreen", !0);
|
||||
}),
|
||||
(UserSettings.prototype.seriesDisplay = function (val) {
|
||||
return null != val
|
||||
? this.set("seriesDisplay", val.toString(), !0)
|
||||
: this.get("seriesDisplay", !0) || "episodes";
|
||||
}),
|
||||
(UserSettings.prototype.getLiveTvChannelSortSettingsKey = function () {
|
||||
return "livetv-channelorder";
|
||||
}),
|
||||
(UserSettings.prototype.getLiveTvChannelSortOrders = function (globalize) {
|
||||
for (
|
||||
var selectedOrder,
|
||||
sortBy = [],
|
||||
currentOrder =
|
||||
(sortBy.push({
|
||||
name: globalize.translate("HeaderDefaultChannelOrder"),
|
||||
value: "DefaultChannelOrder",
|
||||
defaultSortOrder: "Ascending",
|
||||
menuSortKey: "0",
|
||||
}),
|
||||
sortBy.push({
|
||||
name: globalize.translate("ChannelNumber"),
|
||||
value: "ChannelNumber,SortName",
|
||||
defaultSortOrder: "Ascending",
|
||||
}),
|
||||
sortBy.push({
|
||||
name: globalize.translate("DatePlayed"),
|
||||
value: "DatePlayed,ChannelNumber,SortName",
|
||||
defaultSortOrder: "Descending",
|
||||
}),
|
||||
sortBy.push({
|
||||
name: globalize.translate("Title"),
|
||||
value: "SortName",
|
||||
defaultSortOrder: "Ascending",
|
||||
}),
|
||||
sortBy.push({
|
||||
name: globalize.translate("HeaderFavoritesThenByDefault"),
|
||||
value: "IsFavorite,DefaultChannelOrder",
|
||||
defaultSortOrder: "Ascending",
|
||||
}),
|
||||
sortBy.push({
|
||||
name: globalize.translate("HeaderFavoritesThenByChannelNumber"),
|
||||
value: "IsFavorite,ChannelNumber,SortName",
|
||||
defaultSortOrder: "Ascending",
|
||||
}),
|
||||
sortBy.push({
|
||||
name: globalize.translate("HeaderFavoritesThenByTitle"),
|
||||
value: "IsFavorite,SortName",
|
||||
defaultSortOrder: "Ascending",
|
||||
}),
|
||||
this.getFilter(this.getLiveTvChannelSortSettingsKey(), !0)),
|
||||
i = 0,
|
||||
length = sortBy.length;
|
||||
i < length;
|
||||
i++
|
||||
) {
|
||||
var order = sortBy[i];
|
||||
if (order.value === currentOrder) {
|
||||
selectedOrder = order;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return (
|
||||
((selectedOrder = selectedOrder || sortBy[0]).selected = !0),
|
||||
sortBy
|
||||
);
|
||||
}),
|
||||
(UserSettings.prototype.addLiveTvChannelSortingToQuery = function (
|
||||
query,
|
||||
globalize,
|
||||
) {
|
||||
for (
|
||||
var selectedOrder,
|
||||
orders = this.getLiveTvChannelSortOrders(globalize),
|
||||
i = 0,
|
||||
length = orders.length;
|
||||
i < length;
|
||||
i++
|
||||
) {
|
||||
var order = orders[i];
|
||||
if (order.selected) {
|
||||
selectedOrder = order;
|
||||
break;
|
||||
}
|
||||
}
|
||||
((query.SortBy = selectedOrder.value),
|
||||
(query.SortOrder = selectedOrder.defaultSortOrder));
|
||||
}));
|
||||
_exports.default = UserSettings;
|
||||
});
|
||||
Reference in New Issue
Block a user