1import{d as S,aA as J,l as m,o as a,c as f,F as O,E as B,a as c,e as x,m as $,w as U,_ as E,A as T,ax as R,h as I,C as M,D,R as N,aB as K,aC as P,g as j}from"./index-91957c83.js";import{_ as L}from"./CfCollapse.vue_vue_type_script_setup_true_lang-e6c25808.js";import{_ as W}from"./CfToggle.vue_vue_type_script_setup_true_lang-b6716067.js";import{T as F}from"./Tag-ef399404.js";import{s as q}from"./format-fefd2ba7.js";const z={class:"d-flex flex-column justify-content-between"},G={class:"d-flex align-items-center"},H=["onClick"],Q={key:1,class:"mr-2"},X={key:0,class:"ml-4"},Y=S({__name:"CategoryTreeInner",props:{filter:{},filterFn:{type:Function},categories:{},selected:{},nested:{type:Boolean},initialVisibility:{type:Boolean}},emits:["toggle-category"],setup(_,{emit:y}){const l=_,d=y,i=J({}),o=m(()=>l.filter!==void 0?t=>t.tag.indexOf(l.filter)!==-1:l.filterFn),r=m(()=>l.categories.filter(o.value)),s=m(()=>l.selected?l.selected.map(t=>t.id):[]),p=m(()=>{const t=(g,e)=>g||h(e).length>0;return r.value.reduce(t,!1)});function V(t){return s.value.indexOf(t.id)>-1}function v(t){d("toggle-category",t)}function C(t){return h(t).length>0}function h(t){return t.children.filter(o.value)}function k(t){i[t.id]=!i[t.id]}function b(t){d("toggle-category",t)}return l.categories.forEach(t=>{t.children.filter(e=>s.value.includes(e.id)).length>0?i[t.id]=!0:i[t.id]=l.initialVisibility}),(t,g)=>(a(),f("div",z,[(a(!0),f(O,null,B(r.value,e=>(a(),f("div",{key:e.id},[c("div",G,[C(e)?(a(),f("div",{key:0,onClick:n=>k(e)},[x(W,{class:"mr-2 cursor-pointer text-secondary",open:i[e.id]},null,8,["open"])],8,H)):$("",!0),t.nested&&!C(e)||!t.nested&&!C(e)&&p.value?(a(),f("div",Q,g[0]||(g[0]=[c("div",{class:"placeholder"},null,-1)]))):$("",!0),x(F,{class:"cursor-pointer my-pt5",selected:V(e),value:e.name,onClick:n=>v(e)},null,8,["selected","value","onClick"])]),x(L,{modelValue:i[e.id],"onUpdate:modelValue":n=>i[e.id]=n},{default:U(()=>[h(e).length>0?(a(),f("div",X,[x(A,{categories:h(e),filter:t.filter,"filter-fn":t.filterFn,selected:t.selected,nested:!0,"initial-visibility":l.initialVisibility,onToggleCategory:b},null,8,["categories","filter","filter-fn","selected","initial-visibility"])])):$("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue"])]))),128))]))}});const A=E(Y,[["__scopeId","data-v-02211d09"]]),me=S({__name:"CategoryTree",props:{filter:{},filterFn:{type:Function},categories:{},modelValue:{},selectParent:{type:Boolean},selectMulti:{type:Boolean},initialVisibility:{type:Boolean}},emits:["update:modelValue","change"],setup(_,{emit:y}){const l=_,d=y,i=m(()=>l.modelValue?l.modelValue.map(s=>s.id):[]);function o(s){return i.value.indexOf(s.id)>-1}function r(s){let p=l.modelValue;const V=i.value.indexOf(s.id);V>-1?p.splice(V,1):l.selectMulti?p.push(s):p=[s],V===-1&&l.selectParent&&R(l.categories,v=>{const C=o(v),h=v.children.find(k=>p.find(b=>b.id===k.id)!==void 0)!==void 0;!C&&h&&p.push(v)}),d("update:modelValue",p),d("change")}return(s,p)=>(a(),T(A,{categories:s.categories,filter:s.filter,"filter-fn":s.filterFn,selected:s.modelValue,nested:!1,"initial-visibility":l.initialVisibility,onToggleCategory:r},null,8,["categories","filter","filter-fn","selected","initial-visibility"]))}}),Z={class:"d-flex flex-wrap"},ee={key:0,class:"mt-2 border-top pt-2 d-flex flex-wrap"},te={key:1,class:"bg-light p-2 mt-3"},le={class:"form-row"},ne={class:"form-group col-12"},se={class:"input-group"},ve=S({__name:"MultiTag",props:{modelValue:{},facet:{},onlySelected:{type:Boolean,default:!1},close:{type:Boolean,default:!1},showTag:{type:Boolean,default:!1},allowOther:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(_,{emit:y}){const l=_,d=y,i=I(!1),o=I(""),r=m(()=>l.modelValue||[]),s=m(()=>p.value.filter(e=>l.onlySelected?b(e):!0)),p=m(()=>l.facet.items),V=m(()=>v.value.length>0),v=m(()=>r.value.filter(e=>e.other));function C(e,n){return q(e.name)+"-"+n}function h(e){let n="";return l.showTag&&(n=n+l.facet.tag+": "),n=n+e.name,n}function k(e){return e.other?r.value.findIndex(n=>n===e):r.value.findIndex(n=>n.id===e.id)}function b(e){return k(e)!==-1}function t(e){let n=JSON.parse(JSON.stringify(r.value));const u=k(e);u!==-1?n.splice(u,1):n.push(e),e.isOtherToggle&&l.facet.hasOther&&(u!==-1?(i.value=!1,n=n.filter(w=>!w.other)):i.value=l.allowOther),d("update:modelValue",n),d("change")}function g(){o.value.endsWith(",")&&(o.value=o.value.replace(",",""));const e=JSON.parse(JSON.stringify(r.value));e.push(new K({id:-1,other:!0,name:o.value})),d("update:modelValue",e),d("change"),o.value=""}return v.value.length>0&&(i.value=!0),(e,n)=>(a(),f("div",null,[c("div",Z,[(a(!0),f(O,null,B(s.value,u=>(a(),T(F,{key:u.id,value:h(u),selected:b(u),close:e.close,class:"mr-1 my-pt5 cursor-pointer",onClick:w=>t(u)},null,8,["value","selected","close","onClick"]))),128))]),V.value?(a(),f("div",ee,[(a(!0),f(O,null,B(v.value,(u,w)=>(a(),T(F,{key:C(u,w),value:h(u),selected:!0,close:!0,class:"mr-1 my-pt5 cursor-pointer",onClick:ae=>t(u)},null,8,["value","onClick"]))),128))])):$("",!0),i.value?(a(),f("div",te,[c("div",le,[c("div",ne,[n[1]||(n[1]=c("label",null,"Add others",-1)),c("div",se,[M(c("input",{"onUpdate:modelValue":n[0]||(n[0]=u=>o.value=u),type:"text",class:"form-control",onKeyup:[N(g,["enter"]),N(g,[","])]},null,544),[[D,o.value]]),c("div",{class:"input-group-append"},[c("button",{class:"btn btn-success",onClick:g}," Add ")])]),n[2]||(n[2]=c("small",{class:"form-text muted"},"Add as many more as you need.",-1))])])])):$("",!0)]))}}),ie={class:"form-check"},oe=["value"],re={class:"form-check-label"},he=S({__name:"CfRadio",props:{modelValue:{},value:{}},emits:["update:modelValue","change"],setup(_,{emit:y}){const l=_,d=y,i=m({get(){return l.modelValue},set(o){d("update:modelValue",o)}});return(o,r)=>(a(),f("div",ie,[M(c("input",{class:"form-check-input border-success rounded",type:"radio","onUpdate:modelValue":r[0]||(r[0]=s=>i.value=s),value:l.value,onChange:r[1]||(r[1]=s=>d("change"))},null,40,oe),[[P,i.value]]),c("label",re,[j(o.$slots,"default")])]))}});
1export{me as _,ve as a,he as b};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.