Files
jiapu/dist/public/js/lay-module/ipicker/iPicker.js
T

42 lines
25 KiB
JavaScript

layui.define(["laypage","form"],function(O){"use strict";const h={type:s=>Object.prototype.toString.call(s).slice(8,-1).toLowerCase(),isNotEmptyPlainObject:s=>!!(h.type(s)==="object"&&Object.keys(s).length),isCorrectNumber:(s,e)=>!!(Number.isSafeInteger(s)&&(e?s>=0:s>0)),isFunction:s=>h.type(s)==="function",isPromise:s=>h.type(s)==="promise",uid(s){const e=Math.random().toString(36).slice(2,10);return s?Symbol(e):e},delay(s=0){return new Promise(e=>{let i=window.setTimeout(()=>{window.clearTimeout(i),i=null,e()},s)})},mergeParam(s={},e){const i={};for(const r in e){const t=s[r];h.type(t)==="object"?i[r]=h.mergeParam(t,e[r]):i[r]=t===0?t:t||e[r]}return i}},d=(()=>{function s(e){const i=e[0]?e.length:0;this.length=i;for(let r=0;r<i;r++)this[r]=e[r];return this}return s.prototype={each(e){for(let i=0,r=this.length;i<r;i++)e.call(this[i],i,this[i]);return this},get(e=0){return this[e]},click(e){return this.each(function(){this.addEventListener("click",function(i){e.call(this,i)})})},hasClass(e){return this[0].classList.contains(e)},addClass(e){return this.each(function(){for(const i of e.split(" "))this.classList.add(i)})},removeClass(e){return this.each(function(){for(const i of e.split(" "))this.classList.remove(i)})},toggleClass(e){return this.each(function(){for(const i of e.split(" "))this.classList.toggle(i)})},css(e,i){function r(n,l){return document.defaultView.getComputedStyle(n,null).getPropertyValue(l)}function t(n,l,o){n.style[l]=o}return typeof e=="string"&&!i?r(this[0],e):this.each(function(){if(e&&i&&t(this,e,i),h.isNotEmptyPlainObject(e)&&!i)for(const n in e)t(this,n,e[n])})},html(e){return this.each(function(){this.innerHTML=e})},text(){return this[0].textContent},val(e){return this.each(function(){this.value=e})},eq(e){if(typeof e=="number"){const i=[];return e<this.length&&i.push(this[e]),d(i)}},index(){if(this[0]){let e=this[0],i=0;for(;(e=e.previousSibling)!==null;)e.nodeType===1&&i++;return i}},prev(){const e=[];return this.each(function(){const i=this.previousElementSibling;i&&e.push(i)}),d(e)},next(){const e=[];return this.each(function(){const i=this.nextElementSibling;i&&e.push(i)}),d(e)},nextAll(){const e=[];return this.each(function(){let i=this.nextElementSibling;function r(){i&&(e.push(i),i=d(i).get().nextElementSibling,r())}r()}),d(e)},parent(){const e=[];return this.each(function(){e.push(this.parentNode)}),d(e)},find(e){const i=[];return this.each(function(){const r=this.querySelectorAll(e);for(let t=0,n=r.length;t<n;t++)r[t].nodeType===1&&i.push(r[t])}),d(i)},siblings:function(){const e=[];return this.each(function(){const i=this.parentNode.children;for(let r=0,t=i.length;r<t;r++)i[r]!==this&&e.push(i[r])}),d(e)},add(e){let i=this;const r=d(e);for(let t=0,n=r.length;t<n;t++)i[i.length]=r[t],i.length++;return i},data(e,i){return typeof e=="string"&&!i?this[0].dataset[e]:this.each(function(){if(e&&i)this.dataset[e]=i;else for(const r in e)this.dataset[r]=e[r]})},remove(){return this.each(function(){this.parentNode&&this.parentNode.removeChild(this)})},show(){return this.each(function(){this.style.display="block"})},hide(){return this.each(function(){this.style.display="",d(this).css("display")!=="none"&&(this.style.display="none")})}},function(e){let i=[];if(typeof e=="string"&&(i=document.querySelectorAll(e)),e.nodeType||e===document)i.push(e);else if(e.length>0&&e[0]&&e[0].nodeType)for(let r=0,t=e.length;r<t;r++)i.push(e[r]);return new s(i)}})(),A={theme:"select",data:{props:{code:"code",name:"name"},source:null,when:null},level:6,radius:2,width:200,height:34,maxHeight:300,disabled:[],disabledItem:[],tips:"请选择",selected:[],selectedCallback:()=>{},placeholder:["省","市","区"],placeholder1:["省份","城市","区县"],separator:"/",clearable:!1,strict:!1,onlyShowLastLevel:!1,icon:"arrow",onClear:()=>{},onSelect:()=>{}},u={originalElem:new WeakMap,options:new WeakMap,value:new WeakMap,id:new WeakMap,target:new Map},S=new Map,C="iPicker-default-style",I={createFrame(s,{placeholder1:e,theme:i,level:r,icon:t,clearable:n},l){let o=`
<div class="iPicker-container">
<div class="iPicker-result">
<input
type="text"
autocomplete="off"
spellcheck="false"
class="iPicker-input"
readonly
>
<i class="arrow-icon ${t==="arrow-outline"?"arrow-outline":"arrow-triangle"}"></i>
${n?'<i class="clear-icon"></i>':""}
</div>
<div class="iPicker-list iPicker-${i}">___</div>
</div>
`;switch(i){case"select":o=o.replace("___","<ul></ul>").repeat(r);break;case"cascader":o=o.replace("___","<ul></ul>".repeat(r));break;case"panel":o=o.replace("___",`
<div class="iPicker-panel-tab">
<div class="iPicker-panel-tab-active">
${e[0]}
</div>
${r>1?"<div>"+e[1]+"</div>":""}
${r>2?"<div>"+e[2]+"</div>":""}
${r>3?"<div>"+e[3]+"</div>":""}
${r>4?"<div>"+e[4]+"</div>":""}
${r>5?"<div>"+e[5]+"</div>":""}
${r>6?"<div>"+e[6]+"</div>":""}
</div>
<div class="iPicker-panel-content">${"<ul></ul>".repeat(r)}</div>
`);break}s.addClass("iPicker-target").html(o).data({theme:i,id:l.toString().replace(/(\(|\))/g,"")})},createList(s,e,i,r){return new Promise(t=>{let n="";const l=e.theme==="cascader";if(i)for(const o in s)n+=`
<li data-code2="${r}_${o}" data-code="${o}" data-name="${s[o]}">
<span>${s[o]}</span>
${l?"<i></i>":""}
</li>
`;else{const{code:o,name:k}=e.data.props||{};s.forEach(y=>{n+=`
<li data-code2="${r}_${y[o]}" data-code="${y[o]}" data-name="${y[k]}">
<span>${y[k]}</span>
${l?"<i></i>":""}
</li>
`})}t(n)})},getData(s,e,i,r){return new Promise(t=>{function n(l,o){return h.isFunction(i.data.when)?i.data.when(l,o):l}if(r)i.data.source.then(l=>{t(n(l[s],e))});else{const l=S.get(s);if(l)t(n(l,e));else{const o=i.data.source(s,e);h.type(o)==="object"&&h.isFunction(o.then)&&o.then(k=>{S.set(s,k),t(n(k,e))})}}})},getSelected(s){const e=s.find(".iPicker-list-active"),i=e.length,[r,t,n]=[[],[],[]];return i&&e.each(function(){const l=d(this).data("code"),o=d(this).data("name");r.push(l),t.push(o),n.push({code:l,name:o})}),[r,t,n]},cacheSelected(s,e){u.value.set(s,e)}},g=(s,e)=>{if(!s||!e||typeof s!="string"||!s.trim()||!h.isNotEmptyPlainObject(e)||!h.isNotEmptyPlainObject(e.data)||!e.data.source||!h.isFunction(e.data.source)&&!h.isPromise(e.data.source))return;const i=d(s),r=i.get();if(!r)return;const t=h.mergeParam(e,A);(!h.isCorrectNumber(t.level)||t.level<1||t.level>6)&&(t.level=6);const n=t.theme==="select",l=t.theme==="cascader",o=t.theme==="panel",k=h.isPromise(t.data.source),y=h.isFunction(t.onClear),H=h.isFunction(t.onSelect),v=r.iPickerID||h.uid(!0),Y=t.width;u.originalElem.set(r,s),u.options.set(r,t),u.target.set(v,r),u.id.set(r,v),r.iPickerID=v,document.getElementById(C)||document.head.insertAdjacentHTML("afterbegin",`
<style id="${C}">.iPicker-target{position:relative;height:34px}.iPicker-container,.iPicker-target *{box-sizing:border-box;font-size:14px;margin:0;padding:0}.iPicker-container{height:34px;float:left;position:relative}.iPicker-container:not(:first-of-type){margin-left:10px}.iPicker-result{display:flex;align-items:center;position:relative;background:#fff;border:#d6d6d6 solid 1px;min-width:100px;height:34px;border-radius:2px;cursor:pointer;user-select:none}.iPicker-result.iPicker-result-active:not(.iPicker-disabled),.iPicker-result.iPicker-result-active:not(.iPicker-disabled):hover{border:#00b8ff solid 1px}.iPicker-result.iPicker-result-active i::before{transform:scale(.55) rotate(180deg)}.iPicker-result.iPicker-result-active i.arrow-outline::before{transform:scale(.72) rotate(180deg)}.iPicker-result i{position:absolute;top:0;right:0;display:block;width:30px;height:34px}.iPicker-result i::before{position:absolute;top:0;right:2px;display:block;width:28px;height:100%;background-position:center;background-repeat:no-repeat;content:"";opacity:.5;transition:transform .2s;transform:scale(.55)}.iPicker-result i.arrow-icon::before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTc2OTk1MjQ3Njc4IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2NTAiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48L2RlZnM+PHBhdGggZD0iTTUzNS40NjY2NjcgODEyLjhsNDUwLjEzMzMzMy01NjMuMmMxNC45MzMzMzMtMTkuMiAyLjEzMzMzMy00OS4wNjY2NjctMjMuNDY2NjY3LTQ5LjA2NjY2N0g2MS44NjY2NjdjLTI1LjYgMC0zOC40IDI5Ljg2NjY2Ny0yMy40NjY2NjcgNDkuMDY2NjY3bDQ1MC4xMzMzMzMgNTYzLjJjMTIuOCAxNC45MzMzMzMgMzQuMTMzMzMzIDE0LjkzMzMzMyA0Ni45MzMzMzQgMHoiIHAtaWQ9IjI2NTEiIGZpbGw9IiMwMDAwMDAiPjwvcGF0aD48L3N2Zz4=)}.iPicker-result i.clear-icon::before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjA3Njc2MTg3NDk0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMzNDIiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48L2RlZnM+PHBhdGggZD0iTTUxMS45MTg2NDcgMTYzLjE1NDkxN2MtMTkzLjQzODY0MSAwLTM1MS42OTcwMzcgMTU4LjI1NDMwNC0zNTEuNjk3MDM3IDM1MS42OTkwODQgMCAxOTMuNDM5NjY0IDE1OC4yNTczNzQgMzUxLjY5NzAzNyAzNTEuNjk3MDM3IDM1MS42OTcwMzcgMTkzLjM5NDYzOCAwIDM1MS42NTMwMzUtMTU4LjI1NjM1IDM1MS42NTMwMzUtMzUxLjY5NzAzN0M4NjMuNTcwNjU5IDMyMS40MDkyMjEgNzA1LjMxMzI4NiAxNjMuMTU0OTE3IDUxMS45MTg2NDcgMTYzLjE1NDkxN002ODcuNzM2OTc4IDY0MS40NTIzMjdsLTQ5LjE5ODUxNSA0OS4yMjQwOTgtMTI2LjYxOTgxNi0xMjYuNjAwMzczLTEyNi41NzM3NjcgMTI2LjYwMDM3My00OS4zMDQ5MzktNDkuMjI0MDk4IDEyNi42MzYxODktMTI2LjU5ODMyNi0xMjYuNjM2MTg5LTEyNi42MDAzNzMgNDkuMzA0OTM5LTQ5LjIyNDA5OCAxMjYuNTczNzY3IDEyNi42MDAzNzMgMTI2LjYxOTgxNi0xMjYuNjAwMzczIDQ5LjE5ODUxNSA0OS4yMjQwOTgtMTI2LjU3Mzc2NyAxMjYuNjAwMzczTDY4Ny43MzY5NzggNjQxLjQ1MjMyN3oiIHAtaWQ9IjMzNDMiIGZpbGw9IiMwMDAwMDAiPjwvcGF0aD48L3N2Zz4=);transform:scale(1);z-index:10}.iPicker-result i.arrow-outline::before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjA1MDYzNzA0MzAzIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjM0NDMiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48L2RlZnM+PHBhdGggZD0iTTUxMiA3MzBjLTYuNCAwLTEyLjgtMi40LTE3LjctNy4zbC0zODYtMzg2Yy05LjgtOS44LTkuOC0yNS42IDAtMzUuNCA5LjgtOS44IDI1LjYtOS44IDM1LjQgMEw1MTIgNjY5LjZsMzY4LjMtMzY4LjNjOS44LTkuOCAyNS42LTkuOCAzNS40IDAgOS44IDkuOCA5LjggMjUuNiAwIDM1LjRsLTM4NiAzODZjLTQuOSA0LjktMTEuMyA3LjMtMTcuNyA3LjN6IiBmaWxsPSIjMzMzMzMzIiBwLWlkPSIzNDQ0Ij48L3BhdGg+PC9zdmc+);transform:scale(.72);opacity:.9}.iPicker-result.iPicker-disabled{cursor:not-allowed;background:#f2f5fa;color:#898989;border-color:#dfdfdf}.iPicker-result.iPicker-disabled input{cursor:not-allowed;background:#f2f5fa;color:#898989}.iPicker-input{display:block;width:100%;width:calc(100% - 23px);height:32px;padding:0 10px;outline:0;border:0;cursor:pointer;user-select:none}.iPicker-result input::selection{background:#fff}.iPicker-list.iPicker-list-ontop{transform-origin:center bottom}.iPicker-list-show-temporary{display:block!important;opacity:0!important;pointer-events:none!important}.iPicker-input::-webkit-input-placeholder{color:#aaa}.iPicker-input::-moz-placeholder{color:#aaa}.iPicker-target[data-theme=panel] .iPicker-list{width:${Y}px}.iPicker-list{position:relative;z-index:10;display:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;user-select:none;background:#fff;border:#ddd solid 1px;box-shadow:rgba(0,0,0,.12) 0 2px 6px;transform-origin:center top;transform:scaleY(0);transition-property:transform,opacity;transition-duration:.2s}.iPicker-list ul{display:block;overflow:hidden}.iPicker-list li{cursor:pointer;transition:.2s}.iPicker-list li span{pointer-events:none}.iPicker-list li.iPicker-list-active,.iPicker-list li:hover{color:#00b8ff;background:rgba(0,184,255,.1)}.iPicker-list li.iPicker-list-disabled{cursor:not-allowed;background:#f2f5fa;color:#b6b6b6}.iPicker-panel-tab{display:flex;align-items:center;justify-content:flex-start;height:36px;background-color:#f5f5f5;border-bottom:#ddd solid 1px}.iPicker-panel-tab>div{cursor:pointer;padding:0 20px;height:36px;line-height:36px}.iPicker-panel-tab>div:last-child.iPicker-panel-tab-active,.iPicker-panel-tab>div:not(:last-child){border-right:#d3d3d3 solid 1px}.iPicker-panel-tab>div.iPicker-panel-tab-active{background:#fff;cursor:default;position:relative;height:37px;border-bottom:#fff solid 1px;color:#00b8ff}.iPicker-panel-content{padding:10px 0;min-height:50px;overflow-x:hidden;overflow-y:auto}.iPicker-panel-content ul{display:none}.iPicker-panel li{float:left;display:block;margin:2px 4px;padding:4px 10px;border-radius:2px}.iPicker-panel li span{font-size:13px}.iPicker-cascader li,.iPicker-select li{position:relative;display:block;padding:6px 12px;list-style:none;transition:.25s;overflow:hidden;clear:both;word-break:break-all}.iPicker-cascader li:first-child,.iPicker-select li:first-child{margin-top:8px}.iPicker-cascader li:last-child,.iPicker-select li:last-child{margin-bottom:8px}.iPicker-list.iPicker-cascader{overflow:hidden}.iPicker-cascader ul{position:relative;z-index:4;display:none;width:200px;float:left;overflow-y:auto;overscroll-behavior:contain}.iPicker-cascader ul:nth-child(2){z-index:3;margin-left:-2px}.iPicker-cascader ul:nth-child(3){z-index:2;margin-left:0}.iPicker-cascader ul:nth-child(4){z-index:1}.iPicker-cascader ul:not(:last-child){border-right:#dfdfdf solid 1px}.iPicker-cascader li i{display:block;position:absolute;top:50%;right:10px;width:8px;height:8px;margin-top:-4px;border-top:#6f6f6f solid 1px;border-right:#6f6f6f solid 1px;transform:scale(.8) rotate(45deg)}.iPicker-cascader li.iPicker-list-disabled i{opacity:.4}.iPicker-cascader li.iPicker-list-active i{border-top-color:#00b8ff;border-right-color:#00b8ff}.iPicker-cascader ul:last-child li i{display:none}.iPicker-list.iPicker-list-show{display:block;transform:scaleY(1)}.iPicker-list.iPicker-list-hide{transform:scaleY(0);opacity:0}</style>
`),I.createFrame(i,t,v);const $=i.find(".iPicker-container"),m=i.find(".iPicker-result"),x=i.find(".iPicker-input"),w=i.find(".iPicker-list"),M=w.find("ul");if(M.each(function(c){d(this).data("level",++c)}),h.isCorrectNumber(t.maxHeight)&&t.maxHeight>=100&&(w.css("maxHeight",`${t.maxHeight}px`),l&&M.css("maxHeight",`${t.maxHeight}px`),o&&w.find(".iPicker-panel-content").css("height",`${t.maxHeight-38}px`)),h.isCorrectNumber(t.width)&&t.width>=100&&(m.css("width",`${t.width}px`),n&&w.css("width",`${t.width}px`)),typeof t.width=="string"&&t.width.trim().endsWith("%")&&(m.css("width",t.width),n?w.css("width",t.width):$.css("width",t.width)),h.isCorrectNumber(t.height)&&t.height>=20&&(m.css("height",`${t.height}px`),x.css("height",`${t.height-2}px`),x.next().css("height",`${t.height-2}px`)),t.disabledItem===!0&&new MutationObserver(()=>{i.find("li").addClass("iPicker-list-disabled")}).observe(r,{childList:!0,subtree:!0}),Array.isArray(t.disabledItem)&&t.disabledItem.length)for(const c of[...new Set(t.disabledItem)])new MutationObserver(()=>{const a=r.querySelector(`[data-code="${c}"]:not(.iPicker-list-disabled)`);a&&a.classList.add("iPicker-list-disabled")}).observe(r,{childList:!0,subtree:!0});if(t.disabled===!0&&(t.disabled=[1,2,3,4].slice(0,t.level)),h.isCorrectNumber(t.disabled)&&(t.disabled=[t.disabled]),Array.isArray(t.disabled)&&t.disabled.length)for(const c of[...new Set(t.disabled)])h.isCorrectNumber(c)&&c>=1&&c<=6&&m.eq(c-1).addClass("iPicker-disabled");n&&Array.isArray(t.placeholder)&&t.placeholder.forEach((c,a)=>{const f=x.eq(a).get();f&&f.setAttribute("placeholder",t.placeholder[a]||A.placeholder[a])}),(l||o)&&((typeof t.placeholder!="string"||!t.placeholder.trim())&&(t.placeholder="请选择地区"),x.eq(0).get().setAttribute("placeholder",t.tips)),h.isCorrectNumber(t.radius,!0)&&m.add(x).css("borderRadius",`${t.radius}px`),m.find(".clear-icon").hide(),m.each(function(){const c=d(this).get();c.addEventListener("mouseenter",()=>{const a=c.querySelector("input");a&&a.value&&!c.classList.contains("iPicker-disabled")&&d(this).find(".clear-icon").show().prev().hide()}),c.addEventListener("mouseleave",()=>{d(this).find(".clear-icon").hide().prev().show()})});const T=i.find(".clear-icon");n?T.each(function(){const c=d(this);c.click(function(){c.hide().prev().show();const a=c.parent(),f=a.next().find("ul"),p=+f.data("index");a.find("input").val(""),f.find(".iPicker-list-active").removeClass("iPicker-list-active"),a.parent().nextAll().find("input").val("").parent().next().find("ul").html(""),z(),N(a.next()),y&&t.onClear()})}):T.click(()=>{T.hide().prev().show(),g.clear(v),y&&t.onClear()}),m.each(function(){d(this).find("input, .arrow-icon").click(function(){const c=d(this).parent(),a=c.next(),f=c.parent().parent().data("id"),p=d(`.iPicker-target:not([data-id="${f}"]) .iPicker-list`);if(p.length&&N(p),!c.hasClass("iPicker-disabled")){if(!a.find("li").length)return;if(c.toggleClass("iPicker-result-active"),a.hasClass("iPicker-list-show"))N(a);else{o&&(i.find(".iPicker-panel-tab > div:first-child").addClass("iPicker-panel-tab-active").siblings().removeClass("iPicker-panel-tab-active"),i.find(".iPicker-panel-content > ul:first-child").show().siblings().hide());let b=!1;const P=parseInt(c.css("height")),L=()=>{if(b)return;b=!0,a.addClass("iPicker-list-show-temporary");const Z=document.documentElement.clientHeight-c.get().getBoundingClientRect().bottom,E=parseInt(a.css("height"));Z<E?a.css("marginTop",`-${E+P}px`).addClass("iPicker-list-ontop"):a.css("marginTop","0px").removeClass("iPicker-list-ontop"),b=!1,a.removeClass("iPicker-list-show-temporary")};L(),window.addEventListener("scroll",L),window.addEventListener("resize",L),a.addClass("iPicker-list-show").removeClass("iPicker-list-hide")}}})});function N(c){if(c.hasClass("iPicker-list-show")){c.addClass("iPicker-list-hide").removeClass("iPicker-list-show").prev().removeClass("iPicker-result-active"),c.show(),h.delay(200).then(()=>{c.get().style.removeProperty("display")}),n||z();const a=c.parent().parent(),f=u.options.get(a.get());f.strict&&h.delay(200).then(()=>{const[p]=u.value.get(a.get()),b=p.length;b&&b!==f.level&&new Promise(P=>{b===1?f.level<=6?P():j(M.eq(1).find("li:first-child").data("code"),6).then(()=>{P()}):P()}).then(()=>{M.each(function(){d(this).find(".iPicker-list-active").length||d(this).find("li:first-child").addClass("iPicker-list-active")}),z()})})}}function j(c,a){return new Promise(f=>{I.getData(c,n&&a>6?6:a,t,k).then(p=>{I.createList(p,t,k,a).then(b=>{const P=M.eq(a-1);if(P.html(b).nextAll().html(""),n&&P.parent().parent().nextAll().find("ul").html(""),l){let L=0;M.each(function(){this.innerHTML&&L++}),w.css("width",`${200*L}px`),M.eq(a-1).show().nextAll().hide()}o&&(M.eq(a-1).show().siblings().hide(),i.find(`.iPicker-panel-tab > div:nth-child(${a})`).addClass("iPicker-panel-tab-active").siblings().removeClass("iPicker-panel-tab-active")),(n||a<=t.level)&&z(),f()})})})}function z(){h.delay(10).then(()=>{const c=I.getSelected(i);I.cacheSelected(r,c);const a=t.separator.trim().charAt(0);function f(p){return p&&(l||o)&&t.onlyShowLastLevel&&(p=p.split(a).slice(-1)[0].trim()),p}if(n)c[1].forEach((p,b)=>{x.eq(b).val(f(p))});else{const p=c[1].join(` ${a} `);x.eq(0).val(f(p))}H&&c[1].length&&t.onSelect(...u.value.get(r))})}return j(k?"a86":null,1).then(()=>{if(r.dataset.promise="true",Array.isArray(t.selected)&&t.selected.length){t.selected=[...new Set(t.selected)];for(const c of t.selected)if(t.disabledItem.includes(c))return;(function c(a){j(t.selected[a-1],a+1).then(()=>{a++,a<t.level?c(a):(t.selected.forEach((f,p)=>{i.find(`li[data-code2="${p+1}_${f}"]`).addClass("iPicker-list-active")}),z(),h.isFunction(t.selectedCallback)&&t.selectedCallback())})})(1)}}),i.click(c=>{if(c.target.nodeName.toLowerCase()!=="li")return;const a=d(c.target),f=a.parent();a.hasClass("iPicker-list-disabled")||(a.addClass("iPicker-list-active").siblings().removeClass("iPicker-list-active"),j(a.data("code"),+f.data("level")+1),n&&(N(f.parent()),f.parent().parent().nextAll().find(".iPicker-result input").val("")),f.index()===t.level-1&&(l&&N(f.parent()),o&&N(f.parent().parent())))}),l&&M.css({minHeight:`${t.maxHeight}px`,maxHeight:`${t.maxHeight}px`}),o&&i.find(".iPicker-panel-tab > div").click(function(){const c=d(this).index();d(this).parent().next().find("ul").eq(c).find("li").length&&(d(this).addClass("iPicker-panel-tab-active").siblings().removeClass("iPicker-panel-tab-active"),i.find(".iPicker-panel-content ul").eq(d(this).index()).show().siblings().hide())}),d(document).click(function(c){$.each(function(a){c.target!==this&&!this.contains(c.target)&&N(w.eq(a))})}),v};g.create=(s,e)=>g(s,e),g.set=(s,e)=>{const i=u.target.get(s);if(!s||!i||!e||!Array.isArray(e)||!e.length)return;g.clear(s),i.dataset.promise?r():new MutationObserver(()=>{r()}).observe(i,{attributes:!0});function r(){const t=i.querySelectorAll("ul");(function n(l){const o=i.querySelector(`[data-code="${e[l]}"]`);t[l+1]?(new MutationObserver(()=>{++l,l<e.length&&n(l)}).observe(t[l+1],{childList:!0}),o.click()):o&&o.click()})(0)}},g.get=(s,e)=>{const i=u.target.get(s);if(!s||!i)return;const r=u.value.get(i);if(e==="code"||e===void 0)return r[0];if(e==="name")return r[1];if(e==="all")return r[2]},g.clear=s=>{const e=u.target.get(s);if(!s||!e)return;const i=d(e),r=u.options.get(e);return u.value.set(e,[[],[],[]]),i.find("input").val(""),i.find("li").removeClass("iPicker-list-active"),i.find("ul").each(function(t){const n=d(this);t&&(n.html(""),r.theme==="cascader"&&(n.parent().css("width","200px"),n.get().style.removeProperty("display")))}),r.theme==="panel"&&(i.find(".iPicker-panel-tab > div").eq(0).addClass("iPicker-panel-tab-active").siblings().removeClass("iPicker-panel-tab-active"),i.find(".iPicker-panel-content > ul").eq(0).show().siblings().hide()),i.find(".iPicker-list").get().scrollTop=0,i.find("ul").get().scrollTop=0,s},g.reset=s=>{const e=u.target.get(s);if(!(!s||!e))return g(u.originalElem.get(e),u.options.get(e))},g.destroy=s=>{const e=u.target.get(s);!s||!e||(u.originalElem.delete(e),u.value.delete(e),u.options.delete(e),u.id.delete(e),u.target.delete(e.iPickerID),delete e.iPickerID,e.innerHTML="",document.querySelector(".iPicker-container")||d(`#${C}`).remove())},g.enabled=(s,e)=>{const i=u.target.get(s);if(!s||!i||!e)return;const t=d(i).find(".iPicker-result");return e===!0&&t.removeClass("iPicker-disabled"),h.isCorrectNumber(e)&&(e=[e]),Array.isArray(e)&&e.length&&e.forEach(n=>{h.isCorrectNumber(n)&&n>=1&&n<=6&&t.eq(n-1).removeClass("iPicker-disabled")}),s},g.disabled=(s,e)=>{const i=u.target.get(s);if(!s||!i||!e)return;const t=d(i).find(".iPicker-result");return e===!0&&t.addClass("iPicker-disabled"),h.isCorrectNumber(e)&&(e=[e]),Array.isArray(e)&&e.length&&e.forEach(n=>{h.isCorrectNumber(n)&&n>=1&&n<=6&&t.eq(n-1).addClass("iPicker-disabled")}),s};const D=s=>s.filter(e=>typeof e=="string"&&e.match(/^\d{6,12}$/));g.enabledItem=(s,e)=>{const i=u.target.get(s);if(!s||!i||!e)return;const r={childList:!0,subtree:!0};if(e===!0&&new MutationObserver(()=>{d(i).find("li").removeClass("iPicker-list-disabled")}).observe(i,r),Array.isArray(e)&&e.length){e=D([...new Set(e)]);const t=e.length;new MutationObserver(()=>{for(let n=0;n<t;n++){const l=i.querySelector(`[data-code="${e[n]}"]`);l&&l.classList.remove("iPicker-list-disabled")}}).observe(i,r)}return s},g.disabledItem=(s,e)=>{const i=u.target.get(s);if(!s||!i||!e)return;const r={childList:!0,subtree:!0};if(e===!0&&new MutationObserver(()=>{d(i).find("li").addClass("iPicker-list-disabled")}).observe(i,r),Array.isArray(e)&&e.length){e=D([...new Set(e)]);const t=e.length;new MutationObserver(()=>{for(let n=0;n<t;n++){const l=i.querySelector(`[data-code="${e[n]}"]`);l&&l.classList.add("iPicker-list-disabled")}}).observe(i,r)}return s},O("iPicker",g)});