|
Server : Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12 System : Windows NT SERVER-PC 10.0 build 26200 (Windows 11) AMD64 User : ServerPC ( 0) PHP Version : 8.2.12 Disable Function : NONE Directory : C:/Users/ServerPC/AppData/Roaming/Emby-Server/system/dashboard-ui/settings/ |
Upload File : |
define(["exports","./../modules/common/globalize.js","./../modules/emby-elements/emby-input/emby-input.js","./../modules/emby-elements/emby-button/emby-button.js","./../modules/emby-elements/emby-checkbox/emby-checkbox.js","./../modules/emby-elements/emby-select/emby-select.js","./../modules/emby-elements/emby-scroller/emby-scroller.js","./../modules/emby-elements/emby-dialogclosebutton/emby-dialogclosebutton.js","./../modules/layoutmanager.js","./../modules/loading/loading.js","./../modules/dialoghelper/dialoghelper.js","./../modules/common/pluginmanager.js","./../modules/common/responsehelper.js"],function(_exports,_globalize,_embyInput,_embyButton,_embyCheckbox,_embySelect,_embyScroller,_embyDialogclosebutton,_layoutmanager,_loading,_dialoghelper,_pluginmanager,_responsehelper){function onSubmit(e){return _loading.default.show(),this.options.apiClient.saveUserNotification(getEntry(this)).then(function(){_loading.default.hide(),this.submitted=!0,_dialoghelper.default.close(this.dlg)}.bind(this)),e.preventDefault(),!1}function onTestSuccess(){var options;_loading.default.hide(),options=_globalize.default.translate("NotificationSent"),Emby.importModule("./modules/toast/toast.js").then(function(toast){return toast(options)})}function onTestFail(response){_loading.default.hide(),_responsehelper.default.handleErrorResponse(response)}function getEntry(instance){var entry=Object.assign({},instance.options.entry),dlg=instance.dlg;return instance.options.entryFormEditor.setObjectValues(dlg,entry),entry.GroupItems=dlg.querySelector(".chkGroupItems").checked,entry.UserIds=dlg.querySelector(".selectUser").getValues(),entry.LibraryIds=dlg.querySelector(".selectLibrary").getValues(),entry.DeviceIds=dlg.querySelector(".selectDevices").getValues(),entry.EventIds=Array.prototype.map.call(dlg.querySelectorAll(".chkSubEvent:checked"),function(c){return c.getAttribute("data-id")}),entry}function onEventChange(e){var e=e.target,view=this.dlg;if(e.classList.contains("chkEvent"))for(var page=view,eventId=e.getAttribute("data-id"),checked=e.checked,elems=page.querySelectorAll('.chkSubEvent[data-categoryid="'+eventId+'"]'),i=0,length=elems.length;i<length;i++)elems[i].checked=checked;else e.classList.contains("chkSubEvent")&&!function(page,eventId){var elem=page.querySelector('.chkEvent[data-id="'+eventId+'"]');if(elem){var elems=page.querySelectorAll('.chkSubEvent[data-categoryid="'+eventId+'"]');if(elems.length){for(var numChecked=0,numUnchecked=0,i=0,length=elems.length;i<length;i++)elems[i].checked?numChecked++:numUnchecked++;numChecked||numChecked===elems.length?elem.checked=!0:numUnchecked===elems.length&&(elem.checked=!1)}}}(view,e.getAttribute("data-categoryid"))}function EntryEditor(){}function fillData(instance,entry,dlg,apiClient){instance.options.entryFormEditor.setFormValues(dlg,entry),dlg.querySelector(".chkGroupItems").checked=entry.GroupItems||!1,function(entry,dlg,apiClient){dlg=dlg.querySelector(".selectUser");dlg.getItems=function(query){return query=Object.assign({SortBy:"SortName",SortOrder:"Ascending",EnableImages:!1},query),this.getUsersQueryResult(query)}.bind(apiClient),dlg.values=entry.UserIds||[]}(entry,dlg,apiClient),function(entry,dlg,apiClient){dlg=dlg.querySelector(".selectLibrary");dlg.getItems=function(query){return query=Object.assign({SortBy:"SortName",SortOrder:"Ascending",EnableImages:!1},query),this.getVirtualFolders(query)}.bind(apiClient),dlg.setAttribute("data-id-property","Guid"),dlg.values=entry.LibraryIds||[]}(entry,dlg,apiClient),function(entry,dlg,apiClient){dlg=dlg.querySelector(".selectDevices");dlg.getItems=function(query){return query=Object.assign({},query),this.getDevices(query)}.bind(apiClient),dlg.values=entry.DeviceIds||[]}(entry,dlg,apiClient)}function initDialogContent(instance,dlg,options,isNew){dlg.querySelector(".eventList").innerHTML=options.eventTypes.map(function(i){return function(info,entry){for(var isTopEventEnabled,html="",events=(html=(html+='<div class="checkboxList">')+'<div style="margin-bottom:1em;">'+"<label>",info.Events),categoryId=info.Id,i=0,length=events.length;i<length;i++){var eventId=events[i].Id;if(entry.EventIds.includes(eventId)){isTopEventEnabled=!0;break}}html=(html+='<input type="checkbox" is="emby-checkbox" class="chkEvent" data-id="'+categoryId+'"'+(isTopEventEnabled?' checked="checked"':"")+" />")+"<span>"+info.Name+"</span></label>";for(var _i=0,_length=events.length;_i<_length;_i++)var _currentEvent=events[_i],_eventId=_currentEvent.Id,html=(html=(html=(html+='<label style="margin: .35em 2.5em;"><input type="checkbox" is="emby-checkbox" class="chkSubEvent" data-categoryid="'+categoryId+'" data-id="'+_eventId+'" '+(entry.EventIds.includes(_eventId)?' checked="checked"':"")+" />")+'<span class="flex" style="white-space:nowrap;">'+"<div>")+_currentEvent.Name+"</div>")+"</span>"+"</label>";return"library"===categoryId&&(html+='\n <div class="checkboxContainer fldGroupItems hide" style="margin: 1em 2.5em 2em;">\n <label>\n <input type="checkbox" is="emby-checkbox" class="chkGroupItems" />\n <span>'+_globalize.default.translate("GroupNotificationsBySeriesOrAlbum")+"</span>\n </label>\n </div>\n "),html=html+"</div>"+"</div>"}(i,options.entry)}).join("");var onEventChangeHandler=onEventChange.bind(instance),selectEventList=dlg.querySelector(".eventList");selectEventList.addEventListener("change",onEventChangeHandler),dlg.querySelector(".btnSubmit").innerHTML=isNew?_globalize.default.translate("AddNotification"):_globalize.default.translate("Save"),fillData(instance,options.entry,dlg,options.apiClient),onEventChangeHandler({target:selectEventList}),dlg.querySelector("form").addEventListener("submit",onSubmit.bind(instance)),dlg.querySelector(".btnSendTest").addEventListener("click",function(){var apiClient=this.options.apiClient;_loading.default.show(),apiClient.sendTestUserNotification(getEntry(this)).then(onTestSuccess,onTestFail)}.bind(instance)),options.apiClient.isMinServerVersion("4.8.0.45")&&dlg.querySelector(".fldDevices").classList.remove("hide"),options.apiClient.isMinServerVersion("4.8.4")&&dlg.querySelector(".fldGroupItems").classList.remove("hide"),options.apiClient.getUser(options.userId).then(function(user){user.Policy.IsAdministrator?dlg.querySelector(".fldSelectUser").classList.remove("hide"):dlg.querySelector(".fldSelectUser").classList.add("hide")})}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,EntryEditor.prototype.show=function(options){var dialogOptions={removeOnClose:!0,scrollY:!1},dlg=(_layoutmanager.default.tv?dialogOptions.size="fullscreen":dialogOptions.size="small",_dialoghelper.default.createDialog(dialogOptions)),instance=(dlg.classList.add("formDialog"),this.options=options,this.dlg=dlg,this);return require(["text!settings/notificationeditor.template.html"]).then(function(responses){var isNew=null==options.entry.Id,responses=responses[0];return dlg.innerHTML=_globalize.default.translateDocument(responses),dlg.querySelector(".formDialogHeaderTitle").innerHTML=isNew?_globalize.default.translate("AddNotification"):_globalize.default.translate("EditNotification"),(options.entry.PluginId?_pluginmanager.default.loadServerPluginTranslations(options.apiClient,options.entry.PluginId):Promise.resolve()).then(function(){return options.entryFormEditor.loadTemplate(dlg.querySelector(".entryFormElements")).then(function(){return initDialogContent(instance,dlg,options,isNew),_dialoghelper.default.open(dlg).then(function(){var _this$options;return null!=(_this$options=this.options)&&null!=(_this$options=_this$options.entryFormEditor)&&_this$options.destroy&&this.options.entryFormEditor.destroy(),this.options=null,this.dlg=null,this.submitted?Promise.resolve():Promise.reject()}.bind(instance))})})})};_exports.default=EntryEditor});