1 line
No EOL
2.4 KiB
JavaScript
1 line
No EOL
2.4 KiB
JavaScript
import ItemManager from"./../modules/common/itemmanager/itemmanager.js";import BaseItemController from"./../modules/common/itemmanager/genericitemcontroller.js";import connectionManager from"./../modules/emby-apiclient/connectionmanager.js";import globalize from"./../modules/common/globalize.js";import EntryEditor from"./notificationeditor.js";import pluginManager from"./../modules/common/pluginmanager.js";function getSetupModuleUrl(url,apiClient){return pluginManager.getConfigurationResourceUrl(url)}function UserNotificationController(){BaseItemController.apply(this,arguments)}Object.assign(UserNotificationController.prototype,BaseItemController.prototype),UserNotificationController.prototype.getTypeNames=function(){return["UserNotification"]},UserNotificationController.prototype.getDisplayName=function(item,options){return item.FriendlyName||item.ServiceName},UserNotificationController.prototype.getDefaultIcon=function(item){return""},UserNotificationController.prototype.canDelete=function(item,user){return!0},UserNotificationController.prototype.canEdit=function(items,user){return 1===items.length},UserNotificationController.prototype.isDeletePrimaryCommand=function(itemType){return!0},UserNotificationController.prototype.getDeleteMessages=function(){return{single:{text:"DeleteNotificationConfirmation",title:globalize.translate("DeleteNotification"),confirmText:globalize.translate("Delete")},plural:{text:"DeleteNotificationConfirmation",title:globalize.translate("DeleteNotification"),confirmText:globalize.translate("Delete")}}},UserNotificationController.prototype.deleteItemsInternal=function(options){var item=options.items[0];return connectionManager.getApiClient(item).deleteUserNotifications(options.items)},UserNotificationController.prototype.editItems=function(items,options){let item=items[0],apiClient=connectionManager.getApiClient(item);return apiClient.getNotificationTypes({userId:item.UserId}).then(function(allEventTypes){return require([getSetupModuleUrl(item.SetupModuleUrl,apiClient)]).then(function(responses){responses=responses[0],responses=responses.setFormValues?responses:new responses({apiClient:apiClient});return(new EntryEditor).show({entry:item,apiClient:apiClient,eventTypes:allEventTypes,entryFormEditor:responses,userId:item.UserId})})})};let instance=new UserNotificationController;ItemManager.registerItemController(instance);export default instance; |