define(["exports","./../../common/globalize.js","./../../layoutmanager.js","./../../focusmanager.js","./../../dom.js","./../../input/keyboard.js","./../../common/textencoding.js","./../../skinviewmanager.js"],function(_exports,_globalize,_layoutmanager,_focusmanager,_dom,_keyboard,_textencoding,_skinviewmanager){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;var ActionSheet,EnableFocusTransfrom=_dom.default.allowFocusScaling();function showActionSheet(options){return ActionSheet?ActionSheet.show(options):function(options){return Emby.importModule("./modules/actionsheet/actionsheet.js").then(function(response){return(ActionSheet=response).show(options)})}(options)}function enableNativeMenu(elem){return!(_layoutmanager.default.tv||elem.getItems||elem.hasAttribute("multiple")||_skinviewmanager.default.getSkinOptions().dontUseNativeDropDowns||"custom"===elem.getAttribute("data-menu"))}function emptyValueSetEqualsAll(select){return"false"!==select.getAttribute("data-empty-is-all")}function showActionSheetFlyout(select){var fields=[];if(fields.push("Name"),"true"===select.getAttribute("data-overview")&&fields.push("Overview"),!select.getItemSecondaryText&&"true"!==select.getAttribute("data-itemsecondarytext")||fields.push("ShortOverview"),!fields.includes("ShortOverview"))for(var items=getItemsFromSelectElement(select),i=0,length=items.length;ilabelLimit&&(suffix="...",items=items.slice(0,labelLimit)),ensureSelectNameLabel(select).innerHTML=items.map(getItemDisplayHtml.bind(select)).join(" / ")+suffix}function getItemId(item){var idProp;return this.getItemId?this.getItemId(item):(idProp=this.getAttribute("data-id-property"))?item[idProp]:null!=item.Id?item.Id:null!=item.id&&""!==item.id?item.id:null!=item.value?item.value:item.Name||item.name}function setLabelFromNamesOfValues(select,values){var suffix="";return values.length>labelLimit&&(suffix="...",values=values.slice(0,labelLimit)),getItems(select,{Ids:values}).then(function(result){result=result.Items;result.length>values.length&&(result=result.filter(function(i){i=getItemId.call(select,i);return null!=i&&values.includes(i)})),ensureSelectNameLabel(select).innerHTML=result.map(getItemDisplayHtml.bind(select)).join(" / ")+suffix})}function setLabelFromValues(select,values){values.length||select.parentContainer?(values.length?Promise.resolve(!0):hasAnyItems(select)).then(function(any){if(select.parentContainer&&(any?select.parentContainer.classList.remove("hide"):select.parentContainer.classList.add("hide")),values.length)return!select.hasAttribute("multiple")||!emptyValueSetEqualsAll(select)||"false"===select.getAttribute("data-autoallany")?setLabelFromNamesOfValues(select,values):getTotalRecordCount(select).then(function(totalRecordCount){if(values.length!==totalRecordCount)return setLabelFromNamesOfValues(select,values);ensureSelectNameLabel(select).innerHTML=getAllSelectedLabel(select)});setLabelWhenNoValuesSelected(select)}):setLabelWhenNoValuesSelected(select)}function getItemsFromSelectElement(elem){for(var selectOptions=elem.options,items=[],i=0,length=selectOptions.length;i
'),select.nameLabel=nameLabel=wrapper.querySelector(".emby-select-selectedName")),nameLabel}function setValuesFromActionsheet(select,values){return!(values.length&&emptyValueSetEqualsAll(select)&&select.hasAttribute("multiple"))||"false"===select.getAttribute("data-autoallany")?(select.setValues(values,!0),Promise.resolve()):getTotalRecordCount(select).then(function(totalRecordCount){values.length>=totalRecordCount&&(values=[]),select.setValues(values,!0)})}function setDynamicFieldDescription(select){var _select$closest;select.classList.contains("emby-select-dynamicfielddescription")&&(_select$closest=null==(_select$closest=select.closest(".selectContainer"))?void 0:_select$closest.querySelector(".dynamicFieldDescription"))&&(select=(null==(select=getItemsFromSelectElement(select).filter(function(s){return s.Selected})[0])?void 0:select.secondaryText)||"",_select$closest.innerHTML=_textencoding.default.htmlEncode(select),select?_select$closest.classList.remove("hide"):_select$closest.classList.add("hide"))}SupportsTouchEvent=function(_HTMLSelectElement){function EmbySelect(){var _this,self=_this=_HTMLSelectElement.call(this)||this;return onInit.call(self),babelHelpers.possibleConstructorReturn(_this,self)}return babelHelpers.inherits(EmbySelect,_HTMLSelectElement),babelHelpers.createClass(EmbySelect,[{key:"getValues",value:function(){return this._multipleValues}},{key:"setValues",value:function(values,triggerChangeEvent,selectedItems){this.hasAttribute("multiple")||this.getItems?(this._multipleValues=values,this.getItems&&this.getItems!==genericElemGetItems&&(this.innerHTML=''),selectedItems?function(select,selectedItems){selectedItems.length||select.parentContainer?(selectedItems.length?Promise.resolve(!0):hasAnyItems(select)).then(function(any){if(select.parentContainer&&(any?select.parentContainer.classList.remove("hide"):select.parentContainer.classList.add("hide")),selectedItems.length)return!select.hasAttribute("multiple")||!emptyValueSetEqualsAll(select)||"false"===select.getAttribute("data-autoallany")?setLabelFromItems(select,selectedItems):getTotalRecordCount(select).then(function(totalRecordCount){if(selectedItems.length!==totalRecordCount)return setLabelFromItems(select,selectedItems);ensureSelectNameLabel(select).innerHTML=getAllSelectedLabel(select)});setLabelWhenNoValuesSelected(select)}):setLabelWhenNoValuesSelected(select)}(this,selectedItems):setLabelFromValues(this,values)):this.value=Array.isArray(values)?values[0]||"":values||"",triggerChangeEvent&&(selectedItems=this,(values=document.createEvent("HTMLEvents")).initEvent("change",!0,!0),selectedItems.dispatchEvent(values)),setDynamicFieldDescription(this)}},{key:"values",get:function(){return this.getValues()},set:function(values){this.setValues(values)}},{key:"singleValue",get:function(){return this.getItems?this._multipleValues[0]||"":this.value},set:function(val){var newValues;this.getItems?(setLabelFromValues(this,newValues=null!=val&&""!==val?[val]:[]),this._multipleValues=newValues,this.getItems!==genericElemGetItems&&(this.innerHTML='')):this.value=val,setDynamicFieldDescription(this)}},{key:"connectedCallback",value:function(){var wrapper,label,multiple,labelText,labelFormatArgs,arrowContainerClass;onInit.call(this),this.classList.contains("emby-select")||((wrapper=this.closest(".emby-select-wrapper"))?(label=this.closest("label"),(multiple=this.hasAttribute("multiple"))&&(this.size=1,this.classList.add("hiddenScrollY")),this.classList.add("emby-select"),labelText=this.getAttribute("label")||"",(labelFormatArgs=this.getAttribute("data-labelformatargs"))&&((labelFormatArgs=labelFormatArgs.split("|")).unshift(labelText),labelText=_globalize.default.translate.apply(this,labelFormatArgs)),labelFormatArgs="selectLabelText",arrowContainerClass="selectArrowContainer",this.classList.contains("emby-select-inline")&&(label.classList.add("selectLabel-inline"),labelFormatArgs+=" selectLabelText-inline","true"===this.getAttribute("data-hidelabeltext")&&(labelFormatArgs+=" hide"),arrowContainerClass+=" selectArrowContainer-inline"),label.classList.add("selectLabel"),label.insertAdjacentHTML("afterbegin",'
'+labelText+"
"),label.removeEventListener("click",onLabelClick),label.addEventListener("click",onLabelClick),(multiple||this.getItems)&&ensureSelectNameLabel(this),wrapper.insertAdjacentHTML("beforeend",'
'),enableNativeMenu(this)||this.classList.add("emby-select-nopointer")):wrapper=ensureWrapper(this))}},{key:"disconnectedCallback",value:function(){}},{key:"setLabel",value:function(text){this.closest("label").querySelector(".selectLabelText").innerHTML=text}}])}(babelHelpers.wrapNativeSuper(HTMLSelectElement));customElements.define("emby-select",SupportsTouchEvent,{extends:"select"}),_exports.default=SupportsTouchEvent});