define(["exports","./../dom.js","./../common/playback/playbackmanager.js","./../emby-apiclient/connectionmanager.js","./../common/itemmanager/itemmanager.js","./../shortcuts.js","./../commandprocessor.js","./../common/textencoding.js"],function(_exports,_dom,_playbackmanager,_connectionmanager,_itemmanager,_shortcuts,_commandprocessor,_textencoding){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,require(["css!modules/multiselect/multiselect.css"]);var rangeSelectionInfo,currentSelectionCommandsPanel,currentHeader,selectedItems=[],selectedItemsMap={},appHeader=document.querySelector(".skinHeader");function getSelectedItemsMap(serverId){return selectedItemsMap[serverId=serverId||"0"]||(selectedItemsMap[serverId]={})}function hideSelections(){_dom.default.removeEventListener(window,"keydown",onKeyDown,{});var selectionCommandsPanel=currentSelectionCommandsPanel;if(selectionCommandsPanel){selectionCommandsPanel.parentNode.removeChild(selectionCommandsPanel),selectedItems=[],selectedItemsMap={},rangeSelectionInfo=currentSelectionCommandsPanel=null;for(var elems=document.querySelectorAll(".multi-select-active"),i=0,length=elems.length;i'+command.icon+"",buttonCount++}panel.innerHTML=html}else panel.innerHTML=""}else panel.innerHTML=""}}function addOrRemoveSelectedItem(item,itemElement,add){var serverId=item.ServerId,id=getSelectedItemIdentifier(item);add?(itemElement&&itemElement.classList.add("item-multiselected"),selectedItems.filter(function(i){return getSelectedItemIdentifier(i)===id&&i.ServerId===serverId}).length||(selectedItems.push(item),getSelectedItemsMap(serverId)[id]=!0)):(itemElement&&itemElement.classList.remove("item-multiselected"),selectedItems=selectedItems.filter(function(i){return getSelectedItemIdentifier(i)!==id||i.ServerId!==serverId}),getSelectedItemsMap(serverId)[id]=null)}function onPointerEnter(e){var target;rangeSelectionInfo&&(target=e.target).matches(this.getItemSelector())&&setRangeSelectionInfo(e,this,target,!0)}function showSelections(chkItemSelect,selected){chkItemSelect.classList.contains("chkItemSelect")||(chkItemSelect=chkItemSelect.querySelector(".chkItemSelect")),null==selected?selected=chkItemSelect.checked:chkItemSelect.checked=selected;var itemsContainer=chkItemSelect.closest("[is=emby-itemscontainer]"),itemElement=_shortcuts.default.getItemElementFromChildNode(chkItemSelect,!0,itemsContainer);addOrRemoveSelectedItem(_shortcuts.default.getItemFromChildNode(itemElement,null,itemsContainer),itemElement,selected),selectedItems.length?(_dom.default.removeEventListener(window,"keydown",onKeyDown,{}),_dom.default.addEventListener(window,"keydown",onKeyDown,{}),itemsContainer.classList.contains("multi-select-active")||_dom.default.addEventListener(itemsContainer,"pointerenter",onPointerEnter,{passive:!0,capture:!0}),itemsContainer.classList.add("multi-select-active"),itemsContainer.dispatchEvent(new CustomEvent("multiselectactive",{bubbles:!0,cancelable:!1,detail:{}})),function(chkItemSelect){var header,selectionCommandsPanel=currentSelectionCommandsPanel;selectionCommandsPanel||((selectionCommandsPanel=document.createElement("div")).classList.add("selectionCommandsPanel"),header=(null==(chkItemSelect=chkItemSelect.closest(".dialog"))?void 0:chkItemSelect.querySelector(".formDialogHeader"))||appHeader,(currentHeader=header).appendChild(selectionCommandsPanel),header.classList.add("headroomDisabled"),chkItemSelect&&(chkItemSelect.removeEventListener("close",hideSelections),chkItemSelect.addEventListener("close",hideSelections)),(currentSelectionCommandsPanel=selectionCommandsPanel).innerHTML='

',selectionCommandsPanel.querySelector(".btnCloseSelectionPanel").addEventListener("click",hideSelections),selectionCommandsPanel.querySelector(".multiSelectPrimaryButtons").addEventListener("click",onCommandButtonClick),header=selectionCommandsPanel.querySelector(".btnSelectionPanelOptions"),_dom.default.addEventListener(header,"click",showMenuForSelectedItems,{passive:!0}))}(chkItemSelect),(itemElement=document.querySelector(".itemSelectionCount"))&&(itemElement.innerHTML=selectedItems.length)):hideSelections(),showHideQuickButtons()}function onChange(e){var target=e.target,chkItemSelect=target.closest(".chkItemSelect");if(chkItemSelect)if(_shortcuts.default.getItemElementFromChildNode(target,!0,this))return showSelections(chkItemSelect,chkItemSelect.checked),e.preventDefault(),e.stopPropagation(),!1}var supportsTouchEvent="ontouchstart"in document.documentElement;function setRangeSelectionInfo(e,itemsContainer,target,isHintOnly){var pointerType=(pointerType=e.pointerType)||(supportsTouchEvent?"touch":"mouse");if("touch"!==pointerType){pointerType=_shortcuts.default.getItemElementFromChildNode(target,!0,itemsContainer);if(pointerType){target=itemsContainer.indexOfElement(pointerType),pointerType=rangeSelectionInfo;if(e.shiftKey&&pointerType)pointerType.itemsContainer===itemsContainer&&!function(rangeInfo,endIndex,isHintOnly){for(var previousEndIndex=rangeInfo.endIndex,startIndex=(isHintOnly||(rangeInfo.endIndex=endIndex),rangeInfo.startIndex),newRangeMin=Math.min(startIndex,endIndex),newRangeMax=Math.max(startIndex,endIndex),minIndexForUpdates=null==previousEndIndex?newRangeMin:Math.min(startIndex,Math.min(endIndex,previousEndIndex)),maxIndexForUpdates=null==previousEndIndex?newRangeMax:Math.max(startIndex,Math.max(endIndex,previousEndIndex)),itemsContainer=rangeInfo.itemsContainer,hinted=(console.log("changeSelectionRange: minIndexForUpdates: "+minIndexForUpdates+", maxIndexForUpdates: "+maxIndexForUpdates+", newRangeMin: "+newRangeMin+", newRangeMax: "+newRangeMax),[]),i=minIndexForUpdates;i<=maxIndexForUpdates;i++){var itemElement,isChecked,newChecked,item=itemsContainer.getItem(i);item&&(isChecked=(itemElement=null==(itemElement=itemsContainer.getElement(i))?void 0:itemElement.querySelector(".chkItemSelect"))?itemElement.checked:isSelected(item),newChecked=newRangeMin<=i&&i<=newRangeMax,isHintOnly?itemElement&&(newChecked&&!isChecked?(itemElement.classList.add("chkItemSelect-selecthint"),hinted.push(itemElement)):itemElement.classList.remove("chkItemSelect-selecthint")):isChecked!==newChecked&&(itemElement?(itemElement.checked=newChecked,itemElement.dispatchEvent(new CustomEvent("change",{bubbles:!0,cancelable:!1}))):addOrRemoveSelectedItem(item,null,newChecked)))}if(isHintOnly)for(var hintedElems=itemsContainer.querySelectorAll(".chkItemSelect-selecthint"),_i=0,length=hintedElems.length;_i