EmbyCrackedClient/web/modules/common/responsehelper.js

1 line
2.4 KiB
JavaScript
Raw Normal View History

2025-06-25 11:46:04 +08:00
import loading from"./../loading/loading.js";import globalize from"./globalize.js";function ResponseHelper(){}function showAlert(options){return Emby.importModule("./modules/common/dialogs/alert.js").then(function(alert){return alert(options)})}function showAlertAndReject(options,response){function onDone(){return Promise.reject(response)}return showAlert(options).then(onDone,onDone)}function showToast(options){return Emby.importModule("./modules/toast/toast.js").then(function(toast){toast(options)})}function getErrorInfo(response){var errorCode=response.errorCode||response;let errorTitle=response.errorTitle;switch(errorCode){case"noitems":return Promise.resolve({text:globalize.translate("NoSelectedItemsSupportOperation"),response:response});case"nocommands":return Promise.resolve({text:globalize.translate("NoOperationsForSelectedItems"),response:response});case"RateLimitExceeded":return Promise.resolve({title:errorTitle||globalize.translate("HeaderPlaybackError"),text:globalize.translate("RateLimitExceeded"),response:response});case"NoPlayableItems":case"NoCompatibleStream":return Promise.resolve({title:errorTitle||globalize.translate("HeaderPlaybackError"),text:globalize.translate("PlaybackError"+errorCode),response:response})}errorTitle||401===response.status&&(errorTitle=globalize.translate("HeaderSignInError"));let msg=[];return response.errorMessagePreamble&&msg.push(response.errorMessagePreamble),response.text?response.text().then(function(responseText){return responseText&&msg.push(responseText),{title:errorTitle||globalize.translate("Error"),text:msg.join("\n\n")||globalize.translate("DefaultErrorMessage"),html:msg.join("<br/><br/>")||globalize.translate("DefaultErrorMessage"),response:response,centerText:msg.length<2}}):Promise.resolve({title:errorTitle||globalize.translate("Error"),text:msg.join("\n\n")||globalize.translate("DefaultErrorMessage"),html:msg.join("<br/><br/>")||globalize.translate("DefaultErrorMessage"),response:response,centerText:msg.length<2})}ResponseHelper.prototype.handleConfigurationSavedResponse=function(response){return loading.hide(),showToast(globalize.translate("SettingsSaved")),Promise.resolve(response)},ResponseHelper.prototype.getErrorInfo=getErrorInfo,ResponseHelper.prototype.handleErrorResponse=function(response){return loading.hide(),console.log((response||"Error")+" - "+(new Error).stack),getErrorInfo(response).then(function(errorInfo){return showAlertAndReject(errorInfo)})};export default new ResponseHelper;