import dom from"./../dom.js";import playbackManager from"./../common/playback/playbackmanager.js";import connectionManager from"./../emby-apiclient/connectionmanager.js";import itemManager from"./../common/itemmanager/itemmanager.js";import itemShortcuts from"./../shortcuts.js";import commandProcessor from"./../commandprocessor.js";import textEncoding from"./../common/textencoding.js";require(["css!modules/multiselect/multiselect.css"]);let rangeSelectionInfo,selectedItems=[],selectedItemsMap={},currentSelectionCommandsPanel,appHeader=document.querySelector(".skinHeader"),currentHeader;function getSelectedItemsMap(serverId){return serverId=serverId||"0",selectedItemsMap[serverId]||(selectedItemsMap[serverId]={})}function hideSelections(){dom.removeEventListener(window,"keydown",onKeyDown,{});var selectionCommandsPanel=currentSelectionCommandsPanel;if(selectionCommandsPanel){selectionCommandsPanel.remove(),currentSelectionCommandsPanel=null,selectedItems=[],selectedItemsMap={},rangeSelectionInfo=null;let elems=document.querySelectorAll(".multi-select-active"),i,length;for(i=0,length=elems.length;iclose

',selectionCommandsPanel.querySelector(".btnCloseSelectionPanel").addEventListener("click",hideSelections),selectionCommandsPanel.querySelector(".multiSelectPrimaryButtons").addEventListener("click",onCommandButtonClick),header=selectionCommandsPanel.querySelector(".btnSelectionPanelOptions"),dom.addEventListener(header,"click",showMenuForSelectedItems,{passive:!0}))}function mapApiClientArrayToObject(responses){var map={};for(let i=0,length=responses.length;i'+icon+"",buttonCount++}panel.innerHTML=html}else panel.innerHTML=""}}function addOrRemoveSelectedItem(item,itemElement,add){let 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=itemShortcuts.getItemElementFromChildNode(chkItemSelect,!0,itemsContainer);addOrRemoveSelectedItem(itemShortcuts.getItemFromChildNode(itemElement,null,itemsContainer),itemElement,selected),selectedItems.length?(dom.removeEventListener(window,"keydown",onKeyDown,{}),dom.addEventListener(window,"keydown",onKeyDown,{}),itemsContainer.classList.contains("multi-select-active")||dom.addEventListener(itemsContainer,"pointerenter",onPointerEnter,{passive:!0,capture:!0}),itemsContainer.classList.add("multi-select-active"),itemsContainer.dispatchEvent(new CustomEvent("multiselectactive",{bubbles:!0,cancelable:!1,detail:{}})),showSelectionCommands(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(itemShortcuts.getItemElementFromChildNode(target,!0,this))return showSelections(chkItemSelect,chkItemSelect.checked),e.preventDefault(),e.stopPropagation(),!1}function changeSelectionRange(rangeInfo,endIndex,isHintOnly){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),[]);for(let i=minIndexForUpdates;i<=maxIndexForUpdates;i++){var chkItemSelect,isChecked,newChecked,item=itemsContainer.getItem(i);item&&(isChecked=(chkItemSelect=itemsContainer.getElement(i)?.querySelector(".chkItemSelect"))?chkItemSelect.checked:isSelected(item),newChecked=i>=newRangeMin&&i<=newRangeMax,isHintOnly?chkItemSelect&&(newChecked&&!isChecked?(chkItemSelect.classList.add("chkItemSelect-selecthint"),hinted.push(chkItemSelect)):chkItemSelect.classList.remove("chkItemSelect-selecthint")):isChecked!==newChecked&&(chkItemSelect?(chkItemSelect.checked=newChecked,chkItemSelect.dispatchEvent(new CustomEvent("change",{bubbles:!0,cancelable:!1}))):addOrRemoveSelectedItem(item,null,newChecked)))}if(isHintOnly){var hintedElems=itemsContainer.querySelectorAll(".chkItemSelect-selecthint");for(let i=0,length=hintedElems.length;i