index.ed5fc819.js 1.5 KB

1
  1. import{d as l,be as o,c as h,P as n}from"./index.332c7f08.js";var d=l({name:"col-popup",props:{height:{type:String,default:"100%"},width:{type:String,default:"100%"},teleport:{type:String,default:""},destroy:{type:Boolean,default:!1},modelValue:{type:Boolean,default:!1},position:{type:String,default:"bottom"},zIndex:{type:Number,default:2018},onClose:{type:Function,default:()=>{}}},data(){return{popupShow:!1,isDestroy:!1}},watch:{modelValue(){this.hashState()}},mounted(){this.destroy&&(this.isDestroy=!1),window.addEventListener("hashchange",this.onHash,!1)},unmounted(){window.removeEventListener("hashchange",this.onHash,!1)},methods:{onHash(){this.$emit("update:modelValue",!1),this.isDestroy=!1,this.onClose&&this.onClose()},onPopupClose(t){this.$emit("update:modelValue",t),this.hashState()},hashState(){if(this.modelValue){this.isDestroy=!1;const t=window.location.hash.slice(1).split("?"),e=o.parse(t[1]);let s=0;for(const r in e)s++;const i=window.location.href,a=s>0?"&cPop="+ +new Date:"?cPop="+ +new Date;history.pushState("","",`${i}${a}`)}else{const t=window.location.hash.slice(1).split("?");o.parse(t[1]).cPop&&window.history.go(-1)}this.$refs.protocolPopup&&(this.$refs.protocolPopup.scrollTop=0)}},render(){return h(n,{ref:"protocolPopup",show:this.modelValue,transitionAppear:!0,position:this.position,teleport:this.teleport,style:{height:this.height,width:this.width},zIndex:this.zIndex,onClosed:()=>{this.destroy&&(this.isDestroy=!0)}},{default:()=>[this.$slots.default&&!this.isDestroy&&this.$slots.default()]})}});export{d as O};