mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-19 04:57:52 +00:00
1 line
12 KiB
JavaScript
1 line
12 KiB
JavaScript
|
|
(self.webpackChunkgabinete_digital=self.webpackChunkgabinete_digital||[]).push([[592],{20592:function(e,t,i){"use strict";i.r(t),i.d(t,{ion_select:function(){return d},ion_select_option:function(){return f},ion_select_popover:function(){return y}});var n=i(31667),s=i(36177),o=i(13772),a=i(46331),r=i(61269);const l=(e,t)=>{if(1===e.nodeType)return(e.tagName===t.toUpperCase()?[e]:Array.from(e.querySelectorAll(t))).find(t=>t.value===e.value)},d=class{constructor(e){(0,n.r)(this,e),this.ionChange=(0,n.e)(this,"ionChange",7),this.ionCancel=(0,n.e)(this,"ionCancel",7),this.ionFocus=(0,n.e)(this,"ionFocus",7),this.ionBlur=(0,n.e)(this,"ionBlur",7),this.ionStyle=(0,n.e)(this,"ionStyle",7),this.inputId="ion-sel-"+m++,this.didInit=!1,this.isExpanded=!1,this.disabled=!1,this.cancelText="Cancel",this.okText="OK",this.name=this.inputId,this.multiple=!1,this.interface="alert",this.interfaceOptions={},this.onClick=e=>{this.setFocus(),this.open(e)},this.onFocus=()=>{this.ionFocus.emit()},this.onBlur=()=>{this.ionBlur.emit()}}disabledChanged(){this.emitStyle()}valueChanged(){this.emitStyle(),this.didInit&&this.ionChange.emit({value:this.value})}async connectedCallback(){this.updateOverlayOptions(),this.emitStyle(),this.mutationO=((e,t,i)=>{if("undefined"==typeof MutationObserver)return;const n=new MutationObserver(e=>{i(((e,t)=>{let i;e.forEach(e=>{for(let t=0;t<e.addedNodes.length;t++)i=l(e.addedNodes[t],"ion-select-option")||i})})(e))});return n.observe(e,{childList:!0,subtree:!0}),n})(this.el,0,async()=>{this.updateOverlayOptions()})}disconnectedCallback(){this.mutationO&&(this.mutationO.disconnect(),this.mutationO=void 0)}componentDidLoad(){this.didInit=!0}async open(e){if(this.disabled||this.isExpanded)return;const t=this.overlay=await this.createOverlay(e);return this.isExpanded=!0,t.onDidDismiss().then(()=>{this.overlay=void 0,this.isExpanded=!1,this.setFocus()}),await t.present(),t}createOverlay(e){let t=this.interface;return"action-sheet"!==t&&"popover"!==t||!this.multiple||(console.warn(`Select interface cannot be "${t}" with a multi-value select. Using the "alert" interface instead.`),t="alert"),"popover"!==t||e||(console.warn('Select interface cannot be a "popover" without passing an event. Using the "alert" interface instead.'),t="alert"),"popover"===t?this.openPopover(e):"action-sheet"===t?this.openActionSheet():this.openAlert()}updateOverlayOptions(){const e=this.overlay;if(!e)return;const t=this.childOpts,i=this.value;switch(this.interface){case"action-sheet":e.buttons=this.createActionSheetButtons(t,i);break;case"popover":const n=e.querySelector("ion-select-popover");n&&(n.options=this.createPopoverOptions(t,i));break;case"alert":e.inputs=this.createAlertInputs(t,this.multiple?"checkbox":"radio",i)}}createActionSheetButtons(e,t){const i=e.map(e=>{const i=p(e),n=Array.from(e.classList).filter(e=>"hydrated"!==e).join(" "),s=`${v} ${n}`;return{role:c(i,t,this.compareWith)?"selected":"",text:e.textContent,cssClass:s,handler:()=>{this.value=i}}});return i.push({text:this.cancelText,role:"cancel",handler:()=>{this.ionCancel.emit()}}),i}createAlertInputs(e,t,i){return e.map(e=>{const n=p(e),s=Array.from(e.classList).filter(e=>"hydrated"!==e).join(" ");return{type:t,cssClass:`${v} ${s}`,label:e.textContent||"",value:n,checked:c(n,i,this.compareWith),disabled:e.disabled}})}createPopoverOptions(e,t){return e.map(e=>{const i=p(e),n=Array.from(e.classList).filter(e=>"hydrated"!==e).join(" ");return{text:e.textContent||"",cssClass:`${v} ${n}`,value:i,checked:c(i,t,this.compareWith),disabled:e.disabled,handler:()=>{this.value=i,this.close()}}})}async openPopover(e){const t=this.interfaceOptions,i=(0,s.b)(this),n=this.value,o=Object.assign(Object.assign({mode:i},t),{component:"ion-select-popover",cssClass:["select-popover",t.cssClass],event:e,componentProps:{header:t.header,subHeader:t.subHeader,message:t.message,value:n,options:this.createPopoverOptions(this.childOpts,n)}});return a.c.create(o)}async openActionSheet(){const e=(0,s.b)(this),t=this.interfaceOptions,i=Object.assign(Object.assign({mode:e},t),{buttons:this.createActionShe
|