import ListPage from"./../list/list.js";import globalize from"./../modules/common/globalize.js";import"./../modules/emby-elements/emby-button/emby-button.js";import"./../modules/emby-elements/emby-button/paper-icon-button-light.js";import"./../modules/emby-elements/emby-scroller/emby-scroller.js";import appRouter from"./../modules/approuter.js";import layoutManager from"./../modules/layoutmanager.js";import{appHost}from"./../modules/common/servicelocator.js";import EntryEditor from"./notificationeditor.js";import pluginManager from"./../modules/common/pluginmanager.js";import"./usernotificationcontroller.js";function showActionSheet(options){return Emby.importModule("./modules/actionsheet/actionsheet.js").then(function(ActionSheet){return ActionSheet.show(options)})}function getConfiguredNotifications(instance){var apiClient=instance.getApiClient();return apiClient.getJSON(apiClient.getUrl("Notifications/Services/Configured",{UserId:instance.getUserId()}))}function getEventTypes(instance){return instance.getApiClient().getNotificationTypes({userId:instance.getUserId()})}function mapService(service){return service.Icon||(service.Icon="notifications"),service}function getService(services,id){return services.filter(function(i){return i.Id===id})[0]}function getSetupModuleUrl(url,apiClient){return pluginManager.getConfigurationResourceUrl(url)}function getDefaultEntry(instance,service){var apiClient=instance.getApiClient();return apiClient.getJSON(apiClient.getUrl("Notifications/Services/Defaults",{UserId:instance.getUserId(),NotifierKey:service.Id}))}function addEntryWithService(instance,service){getEventTypes(instance).then(function(allEventTypes){getDefaultEntry(instance,service).then(function(entry){let apiClient=instance.getApiClient();require([getSetupModuleUrl(entry.SetupModuleUrl,apiClient)],function(EntryFormEditor){EntryFormEditor=EntryFormEditor.setFormValues?EntryFormEditor:new EntryFormEditor({apiClient:apiClient});(new EntryEditor).show({entry:entry,apiClient:apiClient,eventTypes:allEventTypes,entryFormEditor:EntryFormEditor,userId:instance.getUserId()})})})})}function showNewItemDialog(e){let instance=this,apiClient=instance.getApiClient();return apiClient.getJSON(apiClient.getUrl("Notifications/Services",{UserId:instance.getUserId()})).then(function(services){return apiClient.getCurrentUser().then(function(currentUser){currentUser=currentUser.Policy.IsAdministrator&&appHost.supports("serversetup")?globalize.translate("ForAdditionalNotificationOptions",'',""):globalize.translate("ForAdditionalNotificationOptions","","");return showActionSheet({positionTo:e.target.closest("button"),positionY:"bottom",items:services.map(mapService),title:globalize.translate("AddNotification"),bottomText:currentUser,hasItemIcon:!0}).then(function(id){id=getService(services,id);addEntryWithService(instance,id)})})})}function UserNotificationsView(view,params){this.enableAlphaNumericShortcuts=!1,this.enableTotalRecordCountDisplay=!1,this.hasOtherViewButtons=!0,this.supportsViewSettings=!1,ListPage.apply(this,arguments),addNewItemButton(this,view),view.querySelector(".btnAddItem").addEventListener("click",showNewItemDialog.bind(this)),this.itemsContainer.setAttribute("data-monitor","UserNotifications")}function addNewItemButton(instance,view){view.querySelector(".itemsViewSettingsContainer").classList.add("itemsViewSettingsContainer-align-start","readOnlyContent"),view.querySelector(".listTotalRecordCount").insertAdjacentHTML("afterend",'

'+globalize.translate("NotificationsDescription")+'

"),instance.itemsContainer.classList.add("readOnlyContent")}function normalizeItem(instance,item,allEventTypes){item.Type="UserNotification",item.ServerId=instance.getApiClient().serverId();let eventIds=item.EventIds||[];instance=allEventTypes.filter(function(eventInfo){return!!eventInfo.Events.filter(function(subEvent){return eventIds.includes(subEvent.Id)}).length});item.EventNames=instance.map(function(eventInfo){return eventInfo.Name}).join(", ")}function normalizeItems(instance,items,allEventTypes){for(let i=0,length=items.length;i