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
3.8 KiB
2 lines
3.8 KiB
import{_ as D,r as n,K as H,b as U,M as E,o as p,c as y,a as t,n as i,N as I,O as L,Q as P,t as B,u as d,F as V,i as K,v as w,h as A,k as O}from"./index.95e5d9f9.js";import{R as Q}from"./ResearchCom.1587c735.js";import{P as W}from"./PaginationCom.7c0fc825.js";import{i as j}from"./tools.c7b44144.js";const q={class:"search-result clear"},G={class:"nav-search"},J={class:"search-input"},X={class:"result-mun"},Y={class:"result-contnet container"},Z={class:"container pagination"},ee={class:"mask"},ae={class:"mask-content"},se={class:"search-mask"},te={class:"search-input"},le=["onClick"],ne=["innerHTML"],oe={__name:"SearchResultView",emits:["backTop"],setup(ue,{emit:z}){const T=n([]),f=H(),g=n(!1),_=n(!1),m=n(!1),b=n(null),x=n(!1),r=n([]),M=n("");let k=n(0),c=n(1),v=n(10);const o=n([]),a=n(f.state.searchVal);U(()=>{function l(){const e=window.innerWidth;e>=1440?(_.value=!1,g.value=!1):e>430&&e<1440?(_.value=!1,g.value=!0):e<=430&&(_.value=!0,g.value=!1)}l(),window.onresize=l,R(a.value)});const $=()=>{m.value=!0,j(m.value).then(()=>{b.value.focus()})},F=l=>{c.value=l,o.value=o.value.slice((c.value-1)*v.value,c.value*v.value),R(a.value)},R=l=>{m.value=!1,o.value=[];const e=new RegExp(l,"gi");a.value&&E({keyword:a.value}).then(s=>{s.data&&(T.value=s.data,T.value.forEach(u=>{const S=e.exec(u.title);S&&o.value.push({...u,title:u.title.replace(e,`<span style="background-color: rgba(255, 109, 0, 0.2);">${S[0]}</span>`)})}),k.value=o.value.length,o.value=o.value.slice((c.value-1)*v.value,c.value*v.value),z("backTop"))})},C=()=>{x.value=!0,f.commit("changeSearchVal",a.value),new RegExp(a.value,"gi"),a.value&&(r.value=[],N())},h=(l,e)=>{if(l){switch(e){case"search":f.commit("changeSearchVal",a.value);break;case"result":a.value=l.t,f.commit("changeSearchVal",l.t);break}R(a.value)}else alert("Please enter the content")},N=()=>{const l=new RegExp(a.value,"gi");E({keyword:a.value}).then(e=>{e.data.forEach(s=>{const u=l.exec(s.title);if(console.log(u),u){const S=u.input.replace(l,`<span style="color:#ff6d00">${u[0]}</span>`);r.value.push({t:s.title,title:S,id:s.id})}}),r.value.length||(M.value=`There are no results for the search term "${a.value}"`)})};return(l,e)=>(p(),y(V,null,[t("div",q,[t("div",G,[t("div",J,[i(t("input",{class:"search-ipt",ref:"maskSearch1",maxlength:"100",type:"text",placeholder:"Search","onUpdate:modelValue":e[0]||(e[0]=s=>a.value=s),onClick:$,onInput:C,onKeydown:e[1]||(e[1]=L(s=>h(a.value,"search"),["enter"]))},null,544),[[I,a.value]]),t("img",{class:"ipt-search",src:P,alt:"The image cannot be displayed properly",onClick:e[2]||(e[2]=s=>h(a.value,"search"))})])]),t("div",X,B(d(k)?`${d(k)} search results`:`There are no results for the search term "${a.value}"`),1),t("div",Y,[(p(!0),y(V,null,K(o.value,s=>(p(),O(Q,{key:s.id,data:s,type:"searchResult",isMid:g.value,isSma:_.value},null,8,["data","isMid","isSma"]))),128))]),i(t("div",Z,[A(W,{page:d(c),onChangePage:F,total:d(k),per:d(v)},null,8,["page","total","per"])],512),[[w,o.value.length]])]),i(t("div",ee,[t("div",ae,[t("div",se,[t("div",te,[i(t("input",{class:"search-ipt",ref_key:"maskSearch2",ref:b,maxlength:"100",type:"text",placeholder:"Search","onUpdate:modelValue":e[3]||(e[3]=s=>a.value=s),autofocus:"",onInput:C,onFocus:$,onKeydown:e[4]||(e[4]=L(s=>h(a.value,"search"),["enter"]))},null,544),[[I,a.value]]),t("img",{class:"ipt-search",src:P,alt:"The image cannot be displayed properly",onClick:e[5]||(e[5]=s=>h(a.value,"search"))})]),t("div",{class:"tip-msg",onClick:e[6]||(e[6]=s=>x.value=!1)},[i(t("ul",null,[(p(!0),y(V,null,K(r.value,s=>(p(),y("li",{class:"search-result tip-active",key:s,onClick:u=>h(s,"result")},[t("span",{innerHTML:s.title},null,8,ne)],8,le))),128))],512),[[w,r.value.length]]),i(t("div",{class:"no-result"},B(M.value),513),[[w,x.value&&!r.value.length&&a.value]])])])])],512),[[w,m.value]])],64))}},he=D(oe,[["__scopeId","data-v-76f01b1f"]]);export{he as default};
|