You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2 lines
1.3 KiB
2 lines
1.3 KiB
import{d as v,bl as h,cb as b,r as C,ck as F,P as g,a3 as y,o as s,g as E,a as u,u as m,bF as k,dW as W,_ as w,bp as P}from"./index-f4658ae7.js";import{MessageTypeEnum as T}from"./messageTypeEnum-5cbcc471.js";import B from"./Events-141c34ea.js";const M={class:"tab-container"},I=v({__name:"TabWrapper",setup(R){const o=h(),n=b(),t=C(o.query.url||""),l=o.query.title||"new Tab";t.value=decodeURIComponent(t.value);const{loadComponent:p,getComponentParamsByUrl:d}=P(),f=e=>e.startsWith("http://")||e.startsWith("https://")||e.startsWith("/#/"),i=F(),a=i.getTabList.find(e=>e.fullPath===n.currentRoute.value.fullPath),_=e=>{var r;(r=a==null?void 0:a.meta)!=null&&r.title&&(a.meta.title=e,document.title=e)},c=({data:e})=>{switch(e.type){case T.ReloadPage:{if(o.path.startsWith("/Middle/")){B.emit("middle_close_current_tab");return}a&&i.closeTab(a,n)}}};return g(()=>{l&&_(l),window.addEventListener("message",c,!0)}),y(()=>{window.removeEventListener("message",c,!0)}),(e,r)=>(s(),E("div",M,[t.value.startsWith("/src/")?(s(),u(k(m(p)(t.value)),{key:0,params:m(d)(t.value)},null,8,["params"])):f(t.value)?(s(),u(W,{key:1,"frame-src":t.value},null,8,["frame-src"])):(s(),u(w,{key:2,status:404,title:"\u672A\u80FD\u52A0\u8F7D\u9875\u9762\uFF0C\u8BF7\u68C0\u67E5\u914D\u7F6E\uFF0C\u652F\u6301\u7EC4\u4EF6\u53CAiframe"}))]))}});export{I as default};
|